Как HDD определяет, какую пластину/сектор использовать? Есть ли контроллер, встроенный в сам диск? Или это материнская плата? Операционная система?
Какой алгоритм это выбирает? Конечно, он не может быть случайным и не может быть последовательным.
Аналогично, как те же вопросы применимы к SSD?
решение1
Как жесткий диск определяет, какую пластину/сектор использовать?
Какой алгоритм это выбирает? Конечно, он не может быть случайным и не может быть последовательным.
Это конфиденциальная информация, которую вы вряд ли найдете. "Коммерческая тайна" или "секретный соус" если вы будете...
Здесь нет "мелкий" причина, по которой это не может быть случайным или последовательным... но я подозреваю, что производители дисков оптимизируют пропускную способность данных, размещая данные на всех пластинах. Весьма вероятно, что будет "глубокий"причина размещения данных там, где они находятся (современные жесткие диски приближаются к сфере магии, требующей огромных технических знаний для понимания большинства происходящих процессов).
Исторически он был открытым и хорошо понятым (см.ЧС, ниже).
Встроен ли контроллер в сам привод?
Да - современный жесткий диск будет представлять собойСАТАилиСАСинтерфейс к хост-компьютеру... Этот канал связи работает между материнской платой и встроенным контроллером жесткого диска.
Контроллер впоследствии отвечает за управление скоростью шпинделя, положением головки, обработку между инструкциями чтения/записи и точно синхронизированными аналоговыми сигналами к/от головок чтения/записи и т. д.
Или это материнская плата? Операционная система?
Исторически жесткий диск представлял собой весьма примитивное устройство — шаговый двигатель или звуковая катушка управлялись непосредственно материнской платой для управления положением головок, а аналоговые сигналы грубо очищались перед передачей на материнскую плату.
Видеть этоВидеоразборка жесткого диска Fujitsu 337 МБ 8 дюймовдля кровавых подробностей. Перейдите к ~2:04 для обзора интерфейсов (Модуль хранения данных). Тем не менее, как вы можете видеть, имеется значительная поддержка схем для сопряжения.
Жесткие диски были адресованы с использованиемЦГС (Цилиндр - Головка - Сектор), но в последнее время они решаются с помощьюLBA (логическая адресация блоков).
ядуматьчто с введением LBA мы также начали видеть диски, которые управляли своими собственными плохими секторами, перемещая их в подготовленные "запасной" пространства, когда они были обнаружены как плохие. Таким образом, у нас больше нет прямого контроля над тем, где расположены головки, какая головка используется и к какому сектору осуществляется доступ.
До того, как диски стали управлять своими собственными плохими секторами, вы бы увидели этикетки со списком плохих секторов с завода, которые вы должны были ввести в систему при создании файловой системы. В качестве альтернативы вы бы использовали такой инструмент, какbadblocks
для сканирования на предмет проблем. Например:
Аналогично, как те же вопросы применимы к SSD?
С SSD все флэш-хранилище отображается из физического в виртуальное адресное пространство. Это позволяетвыравнивание износабыть реализовано прозрачно, безлюбойзнания от хост-машины.
решение2
Что определяет, на какую пластину/сектор жесткого диска будет производиться запись?
Отдельные алгоритмы и инструкции, содержащиеся в жестком диске, определяют местоположение большинства данных, отправляемых на жесткие диски.
При использовании вращающихся жестких дисков операционная система может получить доступ ко всем возможным адресам на диске и может указать конкретное место для чтения или записи.
В SSD-накопителях контроллер виртуализирует фактические адреса для поддержки некоторых расширенных функций, предлагаемых SSD-накопителями, таких как избыточное выделение памяти, возможность находить и отмечать плохие биты и заносить их в черный список без фактического сжатия, а также кэширование и другие функции, поэтому ОС обычно не знает реальных возможных адресов в SSD-накопителе.