Широкое применение винчестеров в качестве устройств
долговременного хранения информации началось после выпуска фирмой 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 поддерживают
многозадачный ввод-вывод] |
Автоматическая коррекция ошибок |
- |
- |
+ |
+ |
+ |
Низкоуровневое форматирование |
+ |
+ |
+ |
- |
- |
|