Интерфейсы жестких дисков

Интерфейсы жестких дисков

В настоящее время, наиболее распространены два стандарта на подключение винчестера к компьютеру. Первый, наиболее распространенный среди домашних и офисных ПК - IDE (Integrated Device Electronics - устройство со встроенным контроллером), также именуемый как ATA (AT Attachment - подключаемый к АТ). Второй чаще всего можно встретить в серверах и высокопроизводительных рабочих станциях - SCSI (Small Computer System Interface, произносится как \\\"скази\\\"). Стоит отметить, что этот интерфейс не является специализированным для дисковых устройств. Помимо жестких дисков и CD-ROM приводов, существует огромная масса устройств, работающих по этому стандарту.

Стандарт интерфейса IDE был разработан по некоторым причинам. Наиболее существенными являются:

Более простой способ подключения винчестера к шине компьютера. Жесткий диск стандарта IDE с одинаковой легкостью можно подключить к высокопроизводительной системной шине компьютера и медленному LPT-порту. Конечно, в последнем случае обмен данными будет гораздо ниже, но такая возможность есть.

Повышение быстродействия. Контроллер диска расположен непосредственно на устройстве, что позволяет передавать минуя длинные интерфейсные провода. 

Подключить IDE-устройство к компьютеру можно несколькими способами. Наиболее распространенный - подключение с помощью 40-проводного кабеля (тип интерфейса AT-BUS). Интерфейс 16-битный. Второй тип - PC Card ATA - с помощью PC Card (PCMCIA), также имеющий 16-битный интерфейс. Этот тип используется в основном в переносных компьютерах. Существуют также и XT IDE и MCA IDE, но рассматривать мы их здесь не будем, так как XT уже достаточно стар и встретить его можно очень редко, а MCA используется только для PS/2 машин, которые в нашей стране практически не встречаются.

Кроме подключения, типы интерфейса ATA различаются также и по скорости передачи данных. Основной - CАM ATA (Common Access Method) - стандарт определенный ANSI. Обеспечивает совместимость IDE-устройств на уровне сигналов и команд. Также позволяет подключать до двух устройств на один кабель. Длина кабеля составляет не более 46см.

ATA-2 является расширением спецификации ATA. Имеет два канала, что позволяет подключать до 4-х устройств, поддержка дисков объемом до 8Гб. Поддерживает режимы работы PIO Mode 3, DMA Mode 1, Block mode. Об этих терминах мы поговорим чуть ниже.

Следующим расширением является Fast ATA-2. Отличается только поддержкой DMA Mode 2, что позволяет достичь скорости передачи данных до 13.3 Мбайт/сек и наличием PIO Mode 4. Этот тип наиболее часто встречается в моделях компьютеров на основе 486-x и Pentium процессоров.

ATA-3. Это расширение больше направленно на повышение надежности. Включается в себя улучшенное средство управлением питания и технологию SMART (Self Monitoring Analysis and Report Technology - технология слежения, анализа и предупреждения).

Ultra DMA/33 - скорость обмена данными по шине составляет 33 Мбайт/сек. Кроме этого добавлен контроль передаваемых данных. Относительно недавно появился стандарт UDMA/66, в котором скорость увеличена до 66 Мбайт/сек, и уж совсем недавно объявлен UDMA/100.

Следует отметить, что указанные цифры, являются лишь максимально возможными значениями. Реально скорость передачи данных может быть существенно ниже. Это зависит от частоты вращения дисков, скорости работы электроники, работы памяти и процессора.

Помимо вышеперечисленных типов, существует еще расширение ATAPI (ATA Package Interface). Это расширение предназначено для подключения к интерфейсу ATA накопителей CD-ROM, CDRW, стримеров (накопителей на магнитных лентах), ZIP дисководов и других устройств.

Все вышеперечисленные стандарты между собой электрически совместимы.

Теперь немного поговорим о тех терминах, которые используют при описании режимов работы винчестера. PIO (Programmed Input/Output - программный ввод-вывод) - при работе в этом режиме, процессом обмена информацией с буфером жесткого диска занимается центральный процессор системы. Это, соответственно, отнимает какую-то часть процессорного времени. Существует шесть режимов работы PIO, отличающихся скоростью передачи данных. При PIO Mode 0 скорость составляет всего 3,3 Мбайт/сек. А в случае с PIO Mode 5 уже 20 Мбайт/сек. Режимы с 0 по 2 относятся к обычному ATA, 3 и 4 - к ATA-2, а 5 к ATA-3.

DMA (Direct Memory Access - прямой доступ к памяти). При работе в этом режиме, обмен данными между буфером винчестера и памятью компьютера осуществляется непосредственно контроллером винчестера. Режимы DMA подразделяются на однословные (single word) и многословные (multi word), в зависимости от количества слов передаваемых за один сеанс работы с шиной. В случае однословного режима, максимальная скорость обмена составляет до 8.3 Мбайт/сек. При использовании многословного режима - до 20 Мбайт/сек. Обращения производятся в паузах между обращениями центрального процессора к памяти. Такой режим экономит процессорное время, но несколько снижает скорость обмена.

При использовании однозадачной операционной системы, например MS-DOS более предпочтителен режим PIO, в случае использования многозадачных систем лучше использовать режим DMA. Но в этом случае поддержка этого режима должна осуществляться на уровне драйверов и специальных котроллеров.

LBA (Logical Block Addressing) - адресация логических блоков. Стандарт ATA адресует сектор по классической схеме - номер цилиндра, головки и сектора. Однако, из-за исторически сложившихся причин, BIOS компьютера и операционная система DOS ограничивали количество секторов (63) и цилиндров (1024). В результате этого и появилось ограничение на объем жесткого диска в 540Мб. При режиме LBA, адрес передается в виде линейного абсолютного номера сектора. Винчестер в этом случае сам преобразует его в нужные ему номера цилиндров, головок и секторов. Это позволило обойти ограничения на объем жесткого диска, однако для DOS оно по прежнему составляет 8Гб. Работа устройства возможна только в случае поддержки этого режима драйвером (BIOS) и самим устройством.

Существует также и режим Large - этот режим используется Award BIOS для работы с жесткими дисками до 1Гб, не поддерживающими режим LBA. Использовать этот режим с дисками более 1Гб не рекомендуется.

Block Mode - режим блочного обмена. При использовании обычного режима, винчестер, получив команду на считывание сектора, помещает его в свой буфер, откуда он перемещается в память и ожидает команды на чтение следующего. В случае блочного обмена, винчестер сначала получает количество считываемых сектором, после чего он их считывает в буфер, откуда они перемещаются в память. Разные модели винчестеров имеют разный объем буфера, и соответственно могут считывать разное количество секторов за раз. Максимальный выигрыш от работы в этом режиме возможен только если основная работа идет с объемами данных не меньшим чем количество считываемых секторов. В случае, если фрагменты данных минимальны (например не более одного сектора), использование этого режима сходит на нет.

Напоследок несколько слов о том, как подключаются IDE устройства. На один IDE-кабель можно подключить не более двух устройств. Одно из устройств должно быть выставлено в режим Master (ведущий), а второе - Slave (ведомый). Установка режимов осуществляется с помощью выставления перемычек на самих устройствах. Все современные IDE-устройства, как правило, имеют таблицу установки перемычек. Если у вас два жестких диска, то система будет грузится только с Master устройства. Обычно работа устройства в slave режиме не допускается при отсутствии master устройства. Однако, современные накопители и BIOS позволяют такую работу.

Существует еще один режим - Cable Select. В этом случае, определение master и slave устройства производится автоматически исходя из очередности подключенных разъемов. Для использования этого режима необходим специальный кабель и оба устройства должны быть установлены в CS.

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