Устройства прямого доступа (0)

в начало

Устройства прямого доступапозволяют сохранять блоки данных. Каждый блок хранится по уникальному логическому адресу LBA - Logical Block Address. Взаимное расположение логических блоков на носителе не регламентируется. Адрес первого логического блока - нулевой, последнего - (n-1), где n - общее число блоков. В цепочках команд устройствами может поддерживаться относительная адресация, когда исполнительный адрес в команде определяется смещением относительно адреса, действовавшего в предыдущей команде.

Блоки данных хранятся на носителе вместе с дополнительной информацией, используемой контроллером для управления чтением и записью, а также обеспечения надежности хранения данных (ЕСС или CRC-коды). Формат дополнительных данных не регламентируется, ЦУ скрывает эти данные от ИУ.

Для каждого блока может быть установлена своя длина, но чаще используют единую длину блока для всего носителя. Группа смежных блоков одинаковой длины называется экстентом (extent), экстенты определяются командой MODE SELECT, длину блока можно узнать по команде MODE SENSE. После изменения длины блока для активизации экстента обычно требуется форматирование.

Носитель может быть разделен на области, одна из которых используется для хранения блоков данных, другая резервируется для замены дефектных блоков, часть носителя может использоваться контроллером для обслуживания устройства. Дефектные блоки области данных могут быть переназначены на другую область носителя, что позволяет их скрыть.

Носитель может быть фиксированным и сменяемым (Removable). Сменяемый носитель в картридже (или чехле) называют томом (Volume). Для чтения/записи том должен быть смонтирован.

Устройство может быть зарезервировано ИУ, при этом доступ к нему других ИУ ограничивается.Ограничения распространяются на ЛУ или экстент.

Устройства, имеющие кэш данных, могут поддерживать политику обратной записи (Write Back). При этом появляются интервалы времени, в течение которых внезапное отключение питания устройства приведет к потере данных, поскольку сообщение о завершении команды посылается после записи в кэш, а не на носитель. Сообщения об ошибках при WB поступают к ИУ с опозданием. Чтобы избежать этих неудобств, ИУ может запретить устройству использовать WB. Отдельные блоки в кэше можно фиксировать, не допуская их замещения при последующих операциях обмена.

Типичный пример устройств прямого доступа - накопитель на магнитном диске. Есть устройства прямого доступа на ленточном носителе - Floppy Таре. Именно для них эффективна команда SEEK. Устройства прямого доступа могут не иметь подвижных носителей, а быть основаны на памяти разной природы: SRAM, DRAM, PRAM, EEPROM, флэш-память.