Интерфейсы винчестеров
Широкое применение винчестеров в
качестве устройств долговременного
хранения информации началось после выпуска
фирмой Shugart Technology (ныне эта компания
именуется Seagate Technology, Inc.) диска ST506 размером
5.25 дюйма. Устройство емкостью 5Мбайт
использовало для подключения к компьютеру
интерфейсную плату ST506, разработанную в
конце 70-х годов компанией Western Digital. Для
соединения винчестера с интерфейсной
платой использовался 34-проводный плоский
кабель, к которому можно было подключить
два устройства. Для того, чтобы диски можно
было адресовать, часть кабеля
перекручивалась (подобно кабелю для
подключения дисководов). Кроме того, для
обмена данными с каждым из дисков
использовался отдельный 20-проводный
плоский кабель. Крупным недостатком
интерфейса ST506 являлось пошаговое
перемещение головок (один шаг на каждую
команду перемещения), как это до сих пор
происходит в дисководах для работы с
гибкими дисками. Более новая модель - ST412 -
обеспечивала возможность буферизованного
поиска (buffered seek), позволяющего одной
командой перемещать головки на несколько
шагов (например, через весь диск).
Основным преимуществом
винчестеров с интерфейсом ST506/ST412 является
их низкая стоимость. Почти вся электроника,
ответственная за работу диска,
располагалась на интерфейсной плате.
Управляющие приводом головок сигналы
передавались по общему для двух
подключаемых к контроллеру устройств 34-проводному
кабелю, а обмен данными с контроллером
осуществлялся по 20-проводным плоским
кабелям прямо в виде последовательности
импульсов, считанных с диска или
записываемых на него. Разъемы, используемые
для подключения, описаны в Приложении 3.
Небольшой набор команд
интерфейса ST506/412 затруднял создание дисков
с большой емкостью. Почти все диски с таким
интерфейсом имели скорость вращения 3600
оборотов в минуту.
Интерфейс ST506 поддерживает два
способа модуляции при записи-воспроизведении
данных: MFM (Modified Frequency Modulation -
модифицированная частотная модуляция) и RLL (Run
Length Limited - кодирование с ограничением длины
поля записи).
Модуляция MFM
Метод MFM является разновидностью обычной
частотной модуляции, широко используемой в
радиовещании и связи. Отличие заключается в
том, что модифицированная модуляция
позволяет обеспечить двухкратное
повышение плотности записи данных за счет
того, что на диск записываются не все
сигналы синхронизации и при записи каждого
бита учитывается значение предшествующего
бита. За один переход (смену направления)
намагниченности можно записать от одного
до трех бит данных). Сигналы с головки
передаются по кабелю данных в аналоговой
форме; данные отделяются от сигналов
синхронизации с помощью специального
устройства - сепаратора, устанавливаемого
на плате контроллера.
Основным преимуществом MFM-модуляции
является простая бинарная форма
записываемого на диск сигнала. При записи
на дорожку использовались 17 секторов по 512
байт каждый. Теоретический предел скорости
обмена с дисками, использующими MFM,
составляет около 4Мбит/сек
(17секторов*512байт/сектор*8бит*3600об/мин):60сек = 4177920 бит/сек.
Однако реальная скорость обмена
в несколько раз меньше, поскольку для таких
дисков фактор чередования (Interleave factor) не
равен 1. Это было связано с тем, что
контроллер не успевал обработать
прочитанные данные до того, как головка
перемещалась к следующему сектору. При
факторе чередования 1:1 порядок следования
секторов на дорожке естественный: 1, 2, 3,...16,
17. При факторе чередования 3:1 секторы на
диске имеют следующий порядок: 1, 7, 13, 2,..., 11,
17. Первое число в обозначении коэффициента
чередования указывает количество оборотов
диска, требуемых для полного прочтения или
записи одной дорожки. За счет кэширования
записи можно было установить для дисков ST506
фактор чередования 1:1.
Многие еще наверное не забыли
программу Calibrate из комплекта Norton Utilities,
которая оптимизировала работу дисков путем
подбора фактора чередования, наиболее
соответствующего скорости вашего диска и
контроллера.
Модуляция RLL
Другой способ модуляции (2,7 RLL или просто RLL),
предложенный компанией IBM в 1986 году,
использует перекодирование исходной
информации с введением избыточности. Метод
RLL преобразует данные в шестнадцатибитовые
слова, позволяющие записывать за один
переход состояния намагниченности диска от
2 до 7 бит (эти цифры и включены в название
метода). Использование RLL-модуляции
предъявляет более высокие требования к
качеству поверхности диска и равномерности
его вращения. Кроме того, усилители каналов
считывания-записи должны иметь несколько
иные характеристики, по сравнению с MFM-модуляцией.
Винчестеры с интерфейсом ST506/412,
использующие метод RLL, как правило, имеют в
своем обозначении суффикс R (например, ST157R).
На одну дорожку диска можно записать 26
секторов по 512 байт, что дает теоретическую
возможность обмена со скоростью
(512*26*8*3600):60=6489760бит/сек.
Метод RLL был развит впоследствии
до возможности записи от 3 до 9 бит за один
переход намагниченности (3,9 RLL, ARLL, ERLL), что
позволило записывать на дорожку 31 сектор и
обеспечило теоретический предел скорости
обмена с диском 7618560бит/сек.
Диски RLL можно без опаски
подключать к контроллерам MFM (правда с
потерей емкости), обратная же операция в
общем случае некорректна. Многие, наверное,
помнят такой метод "увеличения"
размера диска, практиковавшийся несколько
лет назад, - однако он не позволяет
обеспечить достаточную надежность
хранения данных.
Сегодня диски с интерфейсом ST506/412
можно встретить только в очень старых
компьютерах.
По мере роста скорости работы
компьютеров интерфейс ST506 перестал
удовлетворять всем требованиям и в 1985 году
был разработан новый стандарт - ESDI, который,
по сути, являлся простым разширением
возможностей своего предшественника.
Кабели, используемые в спецификации ESDI,
внешне не отличаются от кабелей ST506, однако
сигналы по ним передаются другие (см.
Приложение 3). Если вы, пользуясь сходством
кабелей, подключите (по ошибке или
специально) винчестер ST506/412 к контроллеру
ESDI (или наоборот), результаты могут быть
самыми плачевными. Длина используемых в
интерфейсе ESDI кабелей могла достигать 9
футов (3 метра), сигналы передавались
главным образом как синфазные (с общей
землей), за исключением данных и
синхронизации, для передачи которых
использовался дифференциальный метод.
Данные передавались через
последовательную линию порциями по 16 бит,
сопровождаемых битом четности.
Обеспечивалась также возможность
подтверждения передачи данных.
Сепаратор в соответствии с новой
спецификацией устанавливался
непосредственно на плате винчестера и по
кабелю данных передавались уже не
аналоговые сигналы, а реальные данные в
цифровой форме, что позволяло подобрать
параметры сепаратора к конкретному типу
устройства, поскольку искажения сигналов в
кабеле уже не имели значения. Такой метод
повышал надежность передачи данных и
увеличивал скорость обмена с контроллером
до 10Мбит/сек за счет передачи по кабелю
цифровых сигналов. Кроме того, интерфейс ESDI
обеспечивал возможность использования
винчестеров большой емкости и оптических
накопителей.
Интерфейс ESDI обеспечивал три
сигнала выбора устройства, что позволяло
подключать к нему до 7 накопителей. Сигналы
выбора головки позволяли напрямую
адресовать до 16 головок, однако специальная
команда Select Head Group позволяла использовать
до 256 головок (16 групп по 16 головок в каждой).
Первоначальный вариант
интерфейса SCSI (Small Computer System Interface) был
предложен в конце 70-х годов Shugart Associates под
названием SASI (Shugart Associates System Interface) взамен
разработанной компанией IBM системной шины
IPI (интеллектуальный периферийный
интерфейс). После неудачи в конкурентной
борьбе с фирмой IBM этот интерфейс был
предложен комитету ANSI X3T9.2 как интерфейс
нижнего уровня под названием SCSI. В 1984 году
этот комитет закончил разработку
спецификации SCSI-1 и в 1986 году она была
опубликована в окончательном виде. Этот
интерфейс обеспечивал подключение
широкого класса периферийных устройств,
таких как винчестеры, принтеры, сканеры,
стриммеры, приводы CD-ROM и др. SCSI является
интерфейсом системного, а не приборного
уровня. В отличие от ST506/412 и других
приборных интерфейсов с последовательной
передачей информации, SCSI передает биты
данных параллельно, что обеспечивает
существенное повышение скорости обмена
данными между устройством и хост-адаптером.
Интерфейс SCSI используется не
только в IBM-совместимых компьютерах, но и
семействах Macintosh, SPARC, VAX и др. Одна из причин
такого широкого распространения
интерфейса SCSI заключается в том, что он не
накладывает никаких ограничений на связь
между контроллером и периферийным
устройством. Шину SCSI можно использовать для
связи компьютера с несколькими
периферийными устройствами (как внешними,
так и внутренними). Более того, допускается
совместное использование одного
периферийного устройства несколькими
компьютерами, подключенными к общей шине SCSI
(правда это значительно сложнее сделать,
чем написать, но об этом разговор особый).
Подключаемые к шине SCSI устройства могут
играть роль ведущих (Initiator) или ведомых (Target),
при этом одно и то же устройство может быть
ведомым в одних случаях и ведущим - в других.
Такое разделение функций устройств
позволяет организовать передачу данных с
одного периферийного устройства на другое (например,
резервное копирование данных с винчестера
на стриммерную кассету). Обмен между
устройствами по магистрали SCSI происходит в
соответствии с протоколом высокого уровня
и адресация осуществляется на уровне
логических, а не физических (как в ESDI) блоков.
Программы для работы со SCSI-устройствами не
используют физические характеристики
конкретного устройства (число головок,
цилиндров и т.п.), а имеют дело с логическими
блоками, что дает возможность работы
фактически со всеми блочными устройствами.
Для подключения устройств SCSI
используется кабель (как правило плоский) с
50-контактными разъемами (Приложение 3).
Возможны как синфазная, так и
дифференциальная (с помощью "токовой
петли") передача данных по кабелю; при
синфазной передаче длина кабеля может
достигать 6м, при дифференциальной - 25м. Для
гарантированной передачи сигналов по
магистрали SCSI линию требуется
согласовывать с помощью терминаторов (набора
резисторов), устанавливаемых по обоим
концам шины SCSI.
Спецификация SCSI предусматривает
подключение к шине до восьми устройств,
однако с учетом того, что каждое устройство
может содержать 8 логических блоков, а
каждый блок - 256 подблоков, возможности
расширения являются фактически
неограниченными. Каждое подключаемое к
шине SCSI устройство имеет свой
идентификатор, устанавливаемый с помощью
перемычек или переключателей
непосредственно в устройстве.
Идентификаторы позволяют адресовать
устройства и задают их приоритет (чем
больше значение идентификатора, тем выше
приоритет устройства).
На протяжении последних лет
интерфейс SCSI был существенно расширен -
появились спецификации Fast-SCSI и Wide-SCSI,
обеспечивающие более высокую скорость
обмена данными с устройствами SCSI. В
настоящее время интерфейс SCSI используется
в основном в высокопроизводительных
системах, предназначенных для
коллективного использования (диски
файловых серверов, сканеры и т.д.).
Спецификация IDE/ATA была
предложена в качестве недорогой
альтернативы интерфейсам ESDI и SCSI для
персональных компьютеров семейств IBM PC XT/AT.
В результате сотрудничества компании Western
Digital с Compaq Computer Corporation был разработан
интерфейс IDE (Integrated Drive Electronics), называемый
также АТА (AT attachment). Первые промышленные
устройства на базе IDE/ATA были выпущены в 1986
году. Интерфейс был стандартизован (ANSI
X3T9.2/90-143) в 1990г. как ATA (AT Attachment). Основным
отличием нового интерфейса была реализация
большинства функций контроллера
непосредственно на плате дискового
накопителя. Такой подход упростил и
удешевил хост-адаптеры, используемые для
подключения винчестеров к компьютеру, и
позволил обеспечить высокий уровень
совместимости устройств разных фирм.
Используемые устройствами IDE
адреса ввода/вывода совпадают с адресами
ST506/412, но функции контроллера перенесены на
плату управления приводом диска и головок
винчестера. Информация о геометрии диска (число
головок, цилиндров и секторов) хранится в
самом устройстве. Зачастую в BIOS передаются
логические параметры диска, не совпадающие
с его физическими параметрами, т.е.
используется трансляция, что позволяет
устанавливать винчестеры в компьютеры со
старыми BIOS, не обеспечивающими возможность
произвольной установки параметров
устройства (в большинстве современных
реализаций BIOS такая возможность
поддерживается как тип 47 - User Defined).
Базовый набор команд интерфейса
IDE полностью соответствовал набору команд
контроллера WD1002/1003 компании Western Digital,
который был использован в компьютере IBM PC AT.
При стандартизации интерфейса IDE к 12
базовым командам было добавлено еще
столько же. Перенос большинства функций
контроллера на плату управления позволяет
несколько повысить скорость обмена данными
с диском. Как правило диски IDE имеют
небольшую встроенную кэш-память (до 256Кб) и
позволяют работать с фактором чередования
1:1 (дорожка может быть прочитана целиком за
один оборот диска).
Хост-адаптер для подключения
дисков IDE зачастую устанавливается на
системной плате (Mother board) или совмещается с
контроллером дисководов и портами ввода-вывода
(последовательными и параллельным) на
специальной, вставляемой в гнездо
расширения, плате (мультикарте, как ее
зачастую называют). Подключение устройств к
хост-адаптеру осуществляется с помощью 40-проводного
плоского кабеля (см. Приложение 3), к
которому можно присоединить два винчестера.
Для корректной адресации устройств один из
винчестеров должен быть установлен в режим
Master (ведущий), другой - в режим Slave (ведомый).
Режим работы диска задается с помощью
перемычек, расположенных как правило около
сигнального разъема винчестера.
Рисунок 2. Перемычки для установки режима Master/Slave
В таблице приведены
сравнительные характеристики различных
интерфейсов, используемых для подключения
дисковых устройств. Интерфейсы ST506/412 и ESDI в
современных компьютерах уже практически не
используются; информация о них приведена
лишь для сравнения их возможностей со SCSI и IDE.
Таблица 1.
Параметр |
ST506/412 MFM |
ST506/412 RLL |
ESDI |
SCSI |
IDE/ATA |
Максимальная скорость обмена |
5Мбит/сек |
7.5Мбит/сек |
10/24Мбит/сек |
24/40МБайт/сек |
10МБайт/сек |
Максимальное количество
устройств |
4 |
4 |
7 |
56 |
2 |
Максимальное количество
устройств в DOS |
2 |
2 |
2 |
36 |
2 |
Подключение других устройств |
- |
- |
- |
+ |
- |
Число секторов на дорожке |
17 |
26 |
32-36 |
Не определено |
Не определено |
Загрузка процессора |
Все операции ввода-вывода
осуществляются с использованием
процессора |
Частичное
использование |
Многозадачный ввод-вывод |
- |
+ |
+ - [Современные
расширения IDE/ATA поддерживают
многозадачный ввод-вывод] |
Автоматическая коррекция
ошибок |
- |
- |
+ |
+ |
+ |
Низкоуровневое форматирование |
+ |
+ |
+ |
- |
- |
|