При механическом хранении работа диска низкого уровня seek()
заставляет головки жесткого диска перемещаться в такое место, чтобы они были готовы к чтению из заданной области диска.
С твердотельным хранилищем, таким как SD-карты, флэш-накопители и твердотельные накопители, нет движущихся частей оборудования, только электрические сигналы.
Предполагая, что технология энергонезависимого ОЗУ NAND является основой аппаратного обеспечения, какую функцию он seek()
фактически выполняет на аппаратном уровне для такого устройства?
Просто чтобы прояснить, я уже знаю, что происходит следующее:
Пользовательская программа вызывает
seek()
системный вызов или специфичный для ОС эквивалентЯдро интерпретирует системный вызов и отправляет сообщение на контроллер SATA для поиска
Контроллер SATA интерпретирует команду и сообщает подключенному дисковому устройству, которое находится в твердотельном состоянии, искать (или, может быть, оно достаточно умное, чтобы распознать, что оно твердотельное и даже не сообщает об этом ??)
То, что я не знаю, твердотельное устройство делает ??? с командой «искать».
Если есть детали, которые будут зависеть от операционной системы, предположим, что относительно стандартная настольная версия GNU / Linux с версией ядра 3.2.
Ответы:
Если вы имеете в виду Linux, поиск по-прежнему продвигается на необходимое количество байтов. Например:
Начнет копировать нули 1024 байта в начало диска, не имеет значения, является ли sdb sd-картой или ssd-диском, из-за небольшой вещи, называемой абстракцией, фактическая механика этого рассматривается на более низком уровне.
Обновить
Теперь я понимаю, что вы говорите. Следуя моему примеру с SD-картой, флэш-память использует то, что называется страницами , и страницы имеют определенный размер. когда происходит поиск, ОС отправляет команду контроллеру SD-карты / карты для перехода на определенную страницу для чтения и записи.
источник
lseek()
системный вызов как на конкретный пример. Я знаю, что этот системный вызов не только выполняет логический поиск, но и заставляет головки HDD двигаться при работе с механическим диском, так что же делает SSD?