Ликбез: Serial ATA II
АрхивНакопителиРасширения Serial ATA II, по большей части, направлены на повышение надежности этой системы и оптимизацию обработки запросов. При этом подавляющая часть нововведений найдет применение, скорее, в серверах, чем в настольных компьютерах.
Недавно мы познакомили вас с основными особенностями и преимуществами нового перспективного интерфейса для подключения накопителей - Serial ATA. Внедрение этого стандарта пока идет не слишком быстро: даже самые последние модели жестких дисков выпускаются в двух модификациях - для привычного параллельного интерфейса E-IDE и для SATA. Что касается оптических накопителей, то о серийном производстве таких устройств пока во всеуслышание объявляла лишь японская компания Plextor.
Впрочем, ситуация должна измениться с распространением новых наборов системной логики Intel семейств 915 Express и 925 Express. Современные чипсеты для процессоров AMD, в частности, nVidia nForce 3 и 4, VIA K8T800 и его модификации, а также ATI Xpress 200 и 200P также имеют встроенные контроллеры SATA. Единственное, что ограничивает вхождение новой технологии в личные компьютеры - избыточность пропускной способности шины: реальная производительность дисков SATA не отличается от производительности "обычных" ATA-винчестеров, поскольку среднестатистическая скорость обмена данными у современных дисков не превышает 60 Мбайт в секунду. Иными словами, Ultra ATA 133 с запасом покрывает возможности винчестеров, а SATA с ее 150 Мбайтами/c представляется явно избыточной. Тем самым, распространение SATA зависит исключительно от скорости обновления парка настольных компьютеров, что сегодня происходит чрезвычайно медленно.
Однако существует и другой стимул к переходу на SATA - новые возможности, которые не может предложить традиционный параллельный интерфейс. Эти возможности описаны в расширенной спецификации на последовательный интерфейс SATA - Serial ATA II. Реализация этих расширений уже началась: они поддерживаются, к примеру, в винчестерах Barracuda 7200.7 Plus компании Seagate, в дисках Maxtor MaXLine III и Hitachi Deskstar 7K80, в некоторых дискретных SATA-контроллерах и, частично, - в южных мостах Intel ICH6.
В чем же новизна расширений Serial ATA II и какие преимущества обеспечивает поддержка этих расширений? Прежде всего, новая спецификация предусматривает увеличение пропускной способности интерфейса с 150 до 300 Мбайт/c. Впрочем, на первом этапе реализации спецификаций было решено отказаться от установки максимальной скорости. О том, как разработчики интерфейса рассчитывают воспользоваться повышением пропускной способности - немного ниже.
За счет чего удалось удвоить скорость обмена данных? Во многом, за счет новой технологии конвейеризации команд Native Command Queing. Параллельный интерфейс ATA, который в течение долгих лет использовался для подключения жестких дисков в настольных компьютерах, в силу конструктивных особенностей обеспечивал строгую очередность исполнения запросов к жесткому диску, что не позволяло оптимизировать процесс считывания и записи данных. В системах, где использовался интерфейс SCSI (спецификация SCSI-2 от 1994 года), а это рабочие станции и серверы, удалось реализовать технологии упорядочения выполнения команд, что позволило ускорить исполнение запросов за счет оптимизации доступа к данным. Иными словами, все запросы выстраивались в очередь из 256 команд, а очередность их исполнения вычислялась контроллером в зависимости от физического размещения данных на диске. При этом сводились к минимуму необходимые перемещения и позиционирование головок винчестера и число оборотов пластин. Спецификация Serial ATA II предусматривает аналогичную систему конвейеризации команд, в которой контроллером обрабатывается очередь из 32 запросов контроллером и используются команды чтения/записи FPDMA (First Party Direct Memory Access), т.е. команды прямого доступа к памяти. Как отмечают сами разработчики, производительность такой системы все же ограничена скоростью обмена данных самих винчестеров, однако новый протокол позволит закрыть брешь между пропускной способностью таких интерфейсов, как SCSI и Fibre Channel.
Вернемся к вопросу о том, зачем потребовалось увеличивать скорость интерфейса в условиях, когда современный винчестер способен использовать не более 60-70 процентов его пропускной способности? Дело в том, что спецификация Serial ATA II предусматривает возможность подключения к одному порту нескольких дисков при помощи так называемого концентратора (или умножителя) портов (port multiplier). Теоретические к каждому порту можно подключить до пятнадцати дисков, однако, разработчики справедливо отмечают, что вряд ли имеет смысл подключать такое большое число дисков. По оценкам специалистов, экономически оправданным можно считать решение, когда к одному порту SATA подключены от четырех до восьми дисков. При этом уменьшается число кабельных соединений, экономится место и достигается возможность гибкого масштабирования системы.
Очевидно, что использование концентратора портов пока имеет смысл лишь в серверах: в условиях относительной дешевизны дисков SATA по сравнению со SCSI-винчестерами появляется возможность сборки надежной и весьма скоростной системы за куда меньшие деньги. Кстати, о надежности. Как правило, в серверах за редким исключением используются RAID-массивы, обеспечивающие сохранность данных. В системах с интерфейсами SCSI, Fibre Channel и Serial Attached SCSI (SAS) существует основанная на спецификации SAF-TE (SCSI Accessed Fault-Tolerant Enclosures) система, позволяющая при помощи индикаторов активности с легкостью распознать вышедший из строя винчестер. Эта система реализуется при помощи специального микроконтроллера, устанавливаемого в дисковую корзину, а также целого ряда датчиков, включая датчики температуры, датчики вращения кулеров и датчики блоков питания. Микроконтроллер с определенной периодичностью опрашивает эти датчики и сигнализирует о сбоях.
В первоначальной спецификации Serial ATA возможность отследить состояние диска отсутствовала, однако в новых расширениях предусматривается передача таких сигналов. Собственно говоря, протоколы, использовавшиеся в системах с интерфейсами SCSI и Fibre Channel, были просто портированы в спецификации SATA. В результате привлекательность последовательного ATA-интерфейса для конструкторов серверов существенно выросла.
Как видим, расширения Serial ATA II пока рассчитаны исключительно на серверный рынок. Об этом свидетельствует и тот факт, что первый серийный контроллер с поддержкой этих расширений, MegaRAID SATA 300-8x компании LSI Logic, рассчитан на серверное использование. Реальную пользу в домашних компьютерах может принести, пожалуй, лишь реализация протокола Native Command Queuing (NCQ): помимо увеличения производительности дисковой подсистемы, этот протокол способен увеличить срок службы винчестеров за счет меньшего износа механики. В новых южных мостах Intel ICH6, входящих в состав наборов системной логики 915 Express и 925 Express уже реализована поддержка NCQ, так что этим преимуществом Serial ATA II уже сегодня могут воспользоваться покупатели настольных компьютеров на платформе Intel.
Впрочем, не стоит торопиться с выводами. Тестирования дисковой подсистемы с протоколом NCQ, которые проводили некоторые специалисты, показали не только отсутствие прироста производительности, но и ее снижение. По всей видимости, это связано с тем, что подавляющее большинство приложений "общаются" с SATA-дисками так же, как с привычными ATA-винчестера, то есть не дают накапливать "очередь" запросов, а требуют подтверждения исполнения каждой отправленной операции. В результате в очереди не может накопиться достаточное количество запросов для реальной оптимизации из исполнения, а время на обработку этой очереди все равно будет потрачено. Выход здесь видится только один - разработчики программного обеспечения должны отказаться от синхронной организации запросов на ввод и вывод к жесткому диску и перейти к асинхронному, при котором действительно будет работать оптимизация доступа к винчестеру, предусмотренная системой NCQ.
Сложные чувства вызывает и появление концентратора портов. Многим помнится, что Serial ATA 150 изначально рекламировался как простой в использовании интерфейс: к каждому порту можно подключить только одно устройство, что снимает всяческие проблемы с установкой перемычек, ибо исчезают такие понятия как Master и Slave применительно к накопителям. Заведомо избыточную полосу пропускания решено удвоить, и использовать ее для подключения одним SATA-кабелем нескольких винчестеров. Понятно, что это попытка воспользоваться уже готовой и отработанной технологией для удешевления серверов, однако с точки зрения потребителя такое решение выглядит несколько странно.
Подведем итоги. Винчестер, к сожалению, остается самым медленным компонентом современного компьютера, и даже самые быстрые и перспективные интерфейсы, хитрые протоколы оптимизации и прочие ухищрения неспособны изменить это положение. Существующая технология производства жестких дисков в качестве основных накопителей в современном компьютере, похоже, полностью исчерпала себя. Производители винчестеров, по сути, заняты сейчас лишь увеличением плотности записи на пластину, а реальная производительность остается практически неизменной уже года два-три. Расширения Serial ATA II, в принципе, направлены на повышение надежности этой системы и оптимизацию обработки запросов. Подавляющая часть нововведений рассчитана на применение не в настольных компьютерах, а в серверах. Более того, даже единственная полезная для обычных ПК технология, Native Command Queuing, по оценкам специалистов, работает некорректно из-за отсутствия ее поддержки со стороны программного обеспечения и даже операционных систем.
Впрочем, можно оценить Serial ATA II и с другой стороны. Прежде всего, это плавное развитие, эволюция уже существующего промышленного стандарта. SATA-накопители и наборы системной логики с поддержкой этого интерфейса уже давно перестали быть экзотикой. Разработчикам нужно лишь избавить Serial ATA от "детских болезней" и обеспечить лучшее взаимодействие как с проектировщиками накопителей, так и с разработчиками программного обеспечения.