Последовательный интерфейс

       

IDE Multiple Sector Mode


- если опция "IDE DMA Transfer Mode" включена, то предоставляется возможность установить количество секторов, передаваемых в едином блоке (в поточном режиме). Максимальное количество секторов ограничено 64-мя. Поскольку речь идет о "блочном" режиме передачи, то эта опция аналогична вышеприведенной.

 

Блок данных. Этот термин используется для обозначения фрагмента данных, передаваемого с помощью одного из режимов PIO. Блок данных передается между контроллером и устройством как единое целое. В большинстве случаев (за исключением команд "READ MULTIPLE", "WRITE MULTIPLE", "READ LONG" и "WRITE LONG" - реализуются также в PIO-режимах) блок данных представляет собой один сектор (512 байт).

Несколько дополнительных слов о командах IDE-интерфейса.

Identify Device - команда идентификации позволяет считать из контроллера блок из 256 слов, характеризующих устройство.

Write DMA, Read DMA - команды, реализующие DMA-режимы.

Read Multiple - команда чтения в блочном режиме. Блочный режим отличается от обычного (со стандартным обменом по PIO) тем, что запросы прерывания вырабатываются не на каждый сектор, а на блок секторов, размер которого задается командой Set Multiple Mode.

Блочный режим за счет сокращения числа прерываний, обслуживаемых процессором, в многозадачной системе позволяет повысить производительность работы жестких дисков на 30%. В однозадачной системе существенного выигрыша от блочного режима нет.

Read Long - команда "длинного" чтения считывает сектор данных (512 байт) вместе с контрольными байтами (их количество задается производителем диска и обычно составляет 4 байта). Данные считываются словами (16 бит), а контрольные байты - 8-битными, т.е. побайтно. Некоторые ATA-диски неспособны быстро передавать байты ECC вслед за данными. Для их считывания необходимо использовать низкоскоростной и 8-битный обмен по PIO Mode 0 и DMA 0 (режим "Single word").

Команды управления энергопотреблением:

Idle - команда переводит устройство в состояние ожидания,

Standby - команда перевода устройства в дежурный режим. Контроллер способен принимать команды, но доступ к носителю потребует определенного времени,

Sleep - перевод в режим "сна". Время "пробуждения" может доходить до 30 сек.

 



Содержание раздела