Шрифт:
Электрически интерфейс SCSI представляет собой либо обыкновенный многожильный кабель, либо оптоволокно. Вообще говоря, существует множество конкурирующих стандартов, подробное рассмотрение которых выходит далеко за рамки данной книги. Достаточно лишь сказать, что физическая скорость передачи данных в последних версиях стандарта SCSI полностью удовлетворяет потребности реально существующих устройств, оставляя солидный задел на будущее. Некоторые из электрических интерфейсов поддерживают длину кабеля до 25 метров и горячую замену устройств без выключения питания. Тем не менее, утверждение о том, что все диски SCSI можно заменять и переключать на лету, неверно. Более того, оно чревато смертельными для диска последствиями. Максимальное количество устройств на шине SCSI различно и варьируется от одного электрического интерфейса к другому. В среднем, к одной шине можно подключить от 7 до 15 устройств, не сильно проигрывая в скорости передачи данных.
Для подключения контроллера SCSI к центральному процессору необходимо установить весьма сложный и дорогостоящий host-контроллер SCSI, что несколько ограничивает сферу применения данного стандарта.
Аббревиатура ATA расшифровывается как Advanced Technology Attachment (интерфейс подключения накопителей), и история его возникновения тесно связна с фирмой IBM и компьютерами типа IBM AT. Для преодоления ограничений, свойственных интерфейсу подключения накопителей, использовавшему модифицированную частотную модуляцию (Modified Frequency Modulation, MFM), применявшемуся в IBM XT, компания поручила комитету T10 (http://www.t10.org) разработку нового индустриального стандарта. С этой задачей комитет справился на славу, отголоски которой дошли до наших дней, пускай и в сильно измененном виде. Впрочем, никаких революционных идей комитет не предложил, ограничившись интеграцией стандартного контроллера жесткого диска непосредственно с самим устройством, соединенным параллельным шлейфом с не менее стандартной шиной ISA. Так вот почему контроллеры ATA такие дешевые и простые! Фактически они состоят из микросхемы буферной памяти и дешифратора адреса. Разумеется, современные контроллеры ATA существенно усложнились. Однако эти усложнения не настолько существенны, чтобы вызвать сильное подорожание.
Тем не менее, даже первая версия стандарта обнаруживает много общих черт со SCSI. Это и интегрированный контроллер, и унифицированный набор команд (пусть и не такой богатый, как в SCSI), и возможность совместной работы нескольких устройств на шине. Но здесь нет ни "прозрачной" схемы адресации, ни механизма отложенного выполнения команд, ни, тем более, очереди запросов. При этом количество устройств на шине не превышает двух, причем в каждый момент времени может работать только одно устройство, а другое вынуждено ожидать освобождения шины, происходящего только после завершения цикла обмена. Передав команду на чтение сектора, процессор непрерывно опрашивает специальный порт, в котором устройство выставляет флаг готовности данных, пословно считываемый процессором через порт ввода/вывода. Впрочем, в однозадачных системах тех дней это не казалось дикостью, ведь переключиться на выполнение другой задачи процессор все равно не мог, поскольку задача была всего одна.
Между тем, аппаратные мощности процессоров непрерывно росли, и на IBM PC начали возникать первые многозадачные системы. Как следствие, во второй ревизии стандарта, получившей кодовое наименование ATA-2, появилась поддержка режима DMA. Теперь, передав команду на чтение сектора, процессор мог спокойно переключаться на другую задачу, перекладывая заботу о дисковой подсистеме на контроллер ATA. В последующих ревизиях скорость передачи по физическому интерфейсу увеличилась до 100 Мбайт/с. Кроме того, появилась прозрачная логическая адресация (а вместе с ней — и поддержка жестких дисков большого объема). Наконец, было введено расширение ATA, получившее называние ATAPI (ATA Packet Interface — пакетный интерфейс ATA), реализующее ту же самую схему обмена командными пакетами, что и SCSI.
Кстати говоря, операционные системы семейства Windows абстрагируются от особенностей конкретного интерфейса, всегда работая с устройствами ATA как со SCSI. Специальный компонент системы, называемый SCSIlizer, автоматически транслирует запросы SCSI в команды накопителя ATA, что значительно упрощает его программирование. К сожалению, всеми преимуществами истинного SCSI воспользоваться так и не удается, в частности, отсутствует возможность прямого обмена данными между накопителями ATA, и приходится гонять их через центральный процессор.
Последние версии ATA обеспечивают контроль целостности передачи по интерфейсному кабелю, значительно увеличивая его пропускную способность, и содержат некоторое подобие планировщика. Однако воспользоваться им все равно не удается, поскольку наличие второго устройства на шине многократно уменьшает скорость передачи данных. Для достижения адекватной производительности каждое устройство должно быть подключено к своему контроллеру, а таких контроллеров на подавляющем большинстве материнских плат всего два.
Интерфейс SATA (Serial ATA — последовательный ATA) представляет собой дальнейшее развитие интерфейса ATA (IDE), который после появления SATA был переименован в PATA (Parallel ATA). Теперь вместо широкого шлейфа используется тонкий кабель, соединяющий единственное устройство со своим портом. Максимальная длина кабеля и скорость передачи существенно увеличены, однако на жизни большинства пользователей это никак не отражается, поскольку и прежняя длина кабеля в большинстве случаев была вполне достаточной. Что касается скорости передачи данных, то винчестеры не в полной мере использовали даже ту пропускную способность, которая была предусмотрена предыдущей ревизией ATA. Количество подключаемых устройств по-прежнему невелико (один SATA-порт — одно SATA-устройство, а таких портов на материнских платах раз-два и обчелся). В общем, со SCSI этому интерфейсу не тягаться. Правда, появилась возможность горячей замены дисков, но для домашних компьютеров она не столь уж критична.
Если же оставить технические подробности в стороне и взглянуть на SATA с этической точки зрения, то худшего интерфейса, вероятно, не существует в природе. Разработка SATA велась и ведется закрытым сообществом SATA-IO (Serial ATA International Organization — Международная организация Serial ATA). По этой причине и сам стандарт SATA является закрытым (см. https://www.sata-io.org/secure/spec_download.asp). Таким образом, подробная техническая документация доступна только членам данного сообщества. В открытом доступе находится лишь устаревшая информация, а современные и актуальные ревизии доступны для бесплатного скачивания лишь членам SATA-IO. Тем не менее, никто не сомневается, что будущее принадлежит SATA. Как утверждает Хэйл Лэндис (Hale Landis), "секретное общество" вынашивает планы по замене SCSI. Иначе говоря, впереди нас ждет сплошной мрак. Заинтересованным читателям можно порекомендовать следующую ссылку: http://www.ata-atapi.com/sata.htm.