SCSI vs SATA

Крис Касперски aka мыщъх

Спецвыпуск Xakep, номер #046, стр. 046-030-1

Выбор оптимального интерфейса

Часть рынка жестких дисков и оптических накопителей принадлежит интерфейсу ATA/ATAPI (он же IDE), часть - SCSI. Изменит ли появление SATA расстановку сил?

Соперничество между SCSI- и ATA-интерфейсами идет уже давно. Последние ревизии ATA-стандарта показывают, что по своим функциональным возможностям он вплотную приближается к SCSI, но до полной победы еще далеко. SCSI, изначально создававшийся в соответствии с правилом «правой руки» (закрываем рукой цены и смотрим на товары), прочно обосновался на серверном рынке и уходить с него не собирается. ATA, напротив, задумывался как максимально дешевое решение для однопользовательских маломощных машин и несмотря на все усовершенствования и нововведения последних лет остается идеологически ущербным интерфейсом. Это похоже на попытку переделать Запорожец в Мерседес! С другой стороны, если возможности ATA покрывают твои потребности с головой, зачем платить больше?

SCSI, ATA, ATAPI, IDE, EIDE... В этом ворохе аббревиатур даже матерому специалисту не просто разобраться. Но мы попробуем :).

SCSI

SCSI-устройства имеют единую схему логической адресации, независящую от физической геометрии устройства, и высокоуровневую систему команд (прочитать сектор или группу секторов, начать воспроизведение аудиодиска и т.п.). Получив команду, устройство ставит ее в очередь и освобождает шину, а инициатор запроса (которым может быть как центральный процессор, так и другое SCSI-устройство) переключается на решение другой задачи. Обработав запрос, устройство вновь повторяет захват шины и пересылает данные инициатору, уведомляя его об этом через механизм прерываний. Таким образом, шина эффективно используется несколькими устройствами и время простоя центрального процессора сводится к минимуму.

Электрически SCSI-интерфейс представляет собой либо обыкновенный многожильный кабель, либо оптоволокно. На этот счет существует множество конкурирующих стандартов, подробно рассматривать которые не имеет смысла. Достаточно сказать, что физическая скорость передачи в последних версиях SCSI-стандарта полностью удовлетворяет потребности реально существующих устройств, оставляя солидный задел на будущее. Некоторые из электрических интерфейсов поддерживают длину кабеля до 25 метров и горячую замену устройств без выключения питания. Но утверждение, что все SCSI-диски можно перетыкать «на лету», неверно и чревато смертельными (для дисков) последствиями. Максимальное количество устройств на шине также различно и варьируется от одного электрического интерфейса к другому. В среднем на шину можно повестить 7 или 15 устройств, не сильно теряя в скорости передачи данных.

Для подключения SCSI-устройства к центральному процессору необходимо установить достаточно сложный (и поэтому весьма дорогостоящий) SCSI-контроллер, что несколько ограничивает сферу его применения.

ATA

Уже первая версия стандарта обнаруживает много общих черт со SCSI. Это и интегрированный контроллер, и унифицированный набор команд (пускай не такой богатый, как в SCSI), и возможность совместной работы нескольких устройств на шине. Но здесь нет ни "прозрачной" схемы адресации, ни механизма отложенного выполнения команд, ни, тем более, очереди запросов. И максимальное количество устройств на шине равняется всего двум, причем в каждый момент времени может работать только одно устройство, а другое вынуждено простаивать, ожидая завершения цикла обмена. Передав команду на чтение сектора, процессор непрерывно опрашивает специальный порт, в котором устройство выставляет флаг готовности данных, пословно (!) считываемых процессором через порт ввода/вывода. Впрочем, в однозадачных системах прошлого это не казалось дикостью, ведь переключиться на выполнение другой задачи процессор все равно не мог, поскольку задача была всего одна :).

Содержание  Вперед на стр. 046-030-2
Выпуски журнала "СПЕЦ Xakep"
Cпец Хакер #01Cпец Хакер #02Cпец Хакер #03Cпец Хакер #04Cпец Хакер #05Cпец Хакер #06Cпец Хакер #07Cпец Хакер #08Cпец Хакер #09Cпец Хакер #10Cпец Хакер #11Cпец Хакер #12Cпец Хакер #13Cпец Хакер #14Cпец Хакер #15Cпец Хакер #16Cпец Хакер #17Cпец Хакер #18Cпец Хакер #19Cпец Хакер #20Cпец Хакер #21Cпец Хакер #22Cпец Хакер #23Cпец Хакер #24Cпец Хакер #25Cпец Хакер #26Cпец Хакер #27Cпец Хакер #28Cпец Хакер #29Cпец Хакер #30Cпец Хакер #31Cпец Хакер #32Cпец Хакер #33Cпец Хакер #34Cпец Хакер #35Cпец Хакер #36Cпец Хакер #37Cпец Хакер #38Cпец Хакер #39Cпец Хакер #40Cпец Хакер #41Cпец Хакер #42Cпец Хакер #43Cпец Хакер #44Cпец Хакер #45Cпец Хакер #46Cпец Хакер #47Cпец Хакер #48Cпец Хакер #49Cпец Хакер #50Cпец Хакер #51Cпец Хакер #52Cпец Хакер #53Cпец Хакер #54Cпец Хакер #55Cпец Хакер #56Cпец Хакер #57Cпец Хакер #58Cпец Хакер #59Cпец Хакер #60Cпец Хакер #61Cпец Хакер #62Cпец Хакер #63Cпец Хакер #64Cпец Хакер #65Cпец Хакер #66Cпец Хакер #67Cпец Хакер #68Cпец Хакер #69Cпец Хакер #70Cпец Хакер #71Cпец Хакер #72Cпец Хакер #73Cпец Хакер #74Cпец Хакер #75