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