Интерфейсы подключения жестких дисков: SCSI, SAS, Firewire, IDE, SATA. Беспрецедентная совместимость последовательных интерфейсов Версии sas

29.06.2020

На протяжении более 20 лет параллельный шинный интерфейс был самым распространенным протоколом обмена данных для большинства систем хранения цифровых данных. Но с ростом потребности в пропускной способности и гибкости систем стали очевидными недостатки двух самых распространенных технологий параллельного интерфейса: SCSI и ATA. Отсутствие совместимости между параллельными интерфейсами SCSI и ATA - разные разъемы, кабели и используемые наборы команд - повышает стоимость содержания систем, научных исследований и разработок, обучения и квалификации новых продуктов.

На сегодняшний день параллельные технологии пока еще устраивают пользователей современных корпоративных систем с точки зрения производительности, но растущие потребности в более высоких скоростях, более высокой сохранности данных при передаче, уменьшении физических размеров, а также в более широкой стандартизации ставят под сомнение способность параллельного интерфейса без излишних затрат поспевать за быстро растущей производительностью ЦПУ и скоростью накопителей на жестких дисках. Кроме того, в условиях жесткой экономии, предприятиям становится все труднее изыскивать средства на разработку и содержание разнотипных разъемов задних панелей серверных корпусов и внешних дисковых массивов, проверку на совместимость разнородных интерфейсов и инвентаризацию разнородных соединений для выполнения операций «ввод/вывод».

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

Представляем SAS и SATA

Последовательные технологии, такие как Serial ATA (SATA) и Serial Attached SCSI (SAS), позволяют преодолеть архитектурные ограничения, присущие традиционным параллельным интерфейсам. Свое название эти новые технологии получили от способа передачи сигнала, когда вся информация передается последовательно (англ. serial), единым потоком, в отличие от множественных потоков, которые используются в параллельных технологиях. Главное преимущество последовательного интерфейса заключается в том, что, когда данные передаются единым потоком, они движутся гораздо быстрее, чем при использовании параллельного интерфейса.

Последовательные технологии объединяют многие биты данных в пакеты и затем передают их по кабелю со скоростью, в 30 раз превышающей скорость параллельных интерфейсов.

SATA расширяет возможности традиционной технологии ATA, обеспечивая передачу данных между дисковыми накопителями со скоростью 1,5 Гбайт в секунду и выше. Благодаря низкой стоимости в пересчете на гигабайт емкости диска SATA будет оставаться господствующим дисковым интерфейсом в настольных ПК, серверах начального уровня и сетевых системах хранения информации, где стоимость является одним из главных соображений.

Технология SAS, преемница параллельного интерфейса SCSI, опирается на проверенную временем высокую функциональность своего предшественника и обещает значительно расширить возможности современных систем хранения данных масштаба предприятия. SAS обладает целым рядом преимуществ, не доступных традиционным решениям в области хранения данных. В частности, SAS позволяет подключать к одному порту до 16 256 устройств и обеспечивает надёжное последовательное соединение «точка-точка» со скоростью до 3 Гб/с.

Кроме того, благодаря уменьшенному разъему SAS обеспечивает полное двухпортовое подключение как для 3,5-дюймовых, так и для 2,5-дюймовых дисковых накопителей (раньше эта функция была доступна только для 3,5-дюймовых дисковых накопителей с интерфейсом Fibre Channel). Это очень полезная функция в тех случаях, когда требуется разместить большое количество избыточных накопителей в компактной системе, например, в низкопрофильном блэйд-сервере.

SAS улучшает адресацию и подключение накопителей благодаря аппаратным расширителям, которые позволяют подключить большое количество накопителей к одному или нескольким хост контроллерам. Каждый расширитель обеспечивает подключение до 128 физических устройств, каковыми могут являться другие хост контроллеры, другие SAS расширители или дисковые накопители. Подобная схема хорошо масштабируется и позволяет создавать топологии масштаба предприятия, с лёгкостью поддерживающие многоузловую кластеризацию для автоматического восстановления системы в случае сбоя и для равномерного распределения нагрузки.

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

Несколько уровней совместимости

Физическая совместимость

Разъем SAS является универсальным и по форм-фактору совместим с SATA. Это позволяет напрямую подключать к системе SAS как накопители SAS, так и накопители SATA и таким образом использовать систему либо для жизненно важных приложений, требующих высокой производительности и оперативного доступа к данным, либо для более экономичных приложений с более низкой стоимостью в пересчете на гигабайт.

Набор команд SATA является подмножеством набора команд SAS, что обеспечивает совместимость устройств SATA и контроллеров SAS. Однако SAS накопители не могут работать с контроллером SATA, поэтому они снабжены специальными ключами на разъёмах, чтобы исключить вероятность неверного подключения.

Кроме того, сходные физические параметры интерфейсов SAS и SATA позволяют использовать новую универсальную заднюю панель SAS, которая обеспечивает подключение как накопителей SAS, так и накопителей SATA. В результате отпадает необходимость в использовании двух разных задних панелей для накопителей SCSI и ATA. Подобная конструктивная совместимость выгодна как производителям задних панелей, так и конечным пользователям, ведь при этом снижаются затраты на оборудование и проектирование.

Совместимость на уровне протоколов

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

Такая мультипротокольная архитектура, в сочетании с физической совместимостью разъемов SAS и SATA, делает технологию SAS универсальным связующим звеном между устройствами SAS и SATA.

Выгоды совместимости

Совместимость SAS и SATA дает целый ряд преимуществ проектировщикам систем, сборщикам и конечным пользователям.

Проектировщики систем могут благодаря совместимости SAS и SATA использовать одни и те же задние панели, разъемы и кабельные соединения. Модернизация системы с переходом от SATA к SAS фактически сводится замене дисковых накопителей. Напротив, для пользователей традиционных параллельных интерфейсов переход от ATA к SCSI означает замену задних панелей, разъемов, кабелей и накопителей. К числу других экономичных преимуществ совместимости последовательных технологий следует отнести упрощенную процедуру сертификации и управление материальной частью.

VAR реселлеры и сборщики систем получают возможность легко и быстро изменять конфигурацию заказных систем, просто устанавливая в систему соответствующий дисковый накопитель. Отпадает необходимость работать с несовместимыми технологиями и использовать специальные разъемы и разные кабельные соединения. Более того, дополнительная гибкость в том, что касается выбора оптимального соотношения цены и производительности, позволит VAR реселлерам и сборщикам систем лучше дифференцировать свои продукты.

Для конечных пользователей совместимость SATA и SAS означает новый уровень гибкости в том, что касается выбора оптимального соотношения цены и производительности. Накопители SATA станут наилучшим решением для недорогих серверов и систем хранения данных, в то время как накопители SAS обеспечат максимальную производительность, надежность и совместимость с управляющим ПО. Возможность модернизации с переходом от накопителей SATA к накопителям SAS без необходимости приобретать для этого новую систему значительно упрощает процесс принятия решения о покупке, защищает инвестиции в систему и снижает общую стоимость владения.

Совместная разработка протоколов SAS и SATA

20 января 2003 года Ассоциация производителей SCSI Trade Association (STA) и Рабочая группа Serial ATA (SATA) II Working Group объявили о сотрудничестве в целях обеспечения совместимости технологии SAS с дисковыми накопителями SATA на системном уровне.

Сотрудничество этих двух организаций, а также совместные усилия поставщиков систем хранения данных и комитетов по стандартам направлены на выработку еще более точных директив в области совместимости, что поможет проектировщикам систем, ИТ специалистам и конечным пользователям осуществлять еще более тонкую настройку своих систем с целью достижения оптимальной производительности и надёжности и снижения общей стоимости владения.

Спецификация SATA 1.0 была утверждена в 2001 году, и сегодня на рынке представлены продукты SATA от различных производителей. Спецификация SAS 1.0 была утверждена в начале 2003 года, а первые продукты должны появиться на рынке в первой половине 2004 года.

Второй интерфейс внешней памяти – SCSI (Small Computer System Interface – системный интерфейс малых компьютеров) был разработан и принят ANSI в 1986 г. (он получил позднее название SCSI-1). Скорость передачи данных при использовании этого 8-разрядного параллельного интерфейса составляла (при тактовой частоте шины 5 МГц) 4 Мбайта/с в асинхронном режиме и 5 Мбайт/с в синхронном режиме. В отличие от интерфейса IDE/ATA, к интерфейсу SCSI можно подключать не только внутренние, но и внешние устройства: принтеры, сканеры и т.д. Максимальное количество подключаемых к шине SCSI устройств было равно 8, а максимальная длина кабеля – 6 м.

Разработкой стандартов и поддержкой интерфейса SCSI занимается комитет T10 INCITS, т.е. той же организации, которая разрабатывает стандарты IDE (ATA). В 1996 г. для продвижения стандарта SCSI была создана Торговая ассоциация SCSI – STA (SCSI Trade Association). В эту ассоциацию входят около тридцати фирм-производителей компьютерной техники.

В следующих стандартах SCSI – SCSI-2 (1994 г.) и SCSI-3 (1995 г.) введен общий набор команд CCS (Common Command Set) – 18 базовых команд, необходимых для поддержки любого устройства SCSI, добавлена возможность хранения в устройстве очередей команд, полученных с компьютера и их обработка в соответствии с заданными приоритетами. Кроме этого, в этих стандартах, наряду с 8-разрядной, определена и 16-разрядная шина, тактовая частота увеличена до 20 МГц и скорость передачи данных – до 20 Мбайт/с.

Развитием стандарта SCSI-3 являются используемые в настоящее время стандарты Ultra3 SCSI (1999 г.), для которого определена частота шины 40 МГц и скорость передачи 160 Мбайт/с и Ultra320 SCSI (2002 г.) – частота шины 80 МГц и скорость передачи 320 Мбайт/с.

Обмен данными по этим стандартам реализуется с помощью метода LDVS (так же, как в шине PCI Express). Максимальное количество подключаемых устройств для Ultra3 SCSI и Ultra320 SCSI равно 16, а максимальная длина кабеля – 12 м.

Разработан также стандарт Ultra640 SCSI (2003 г.) с частотой шины 160 МГц и со скоростью 640 Мбайт/с, но этот стандарт не получил широкого распространения, в связи с тем, что из-за малой длины кабеля к нему нельзя подключить более двух устройств.

Связь между устройством SCSI и шиной ввода/вывода выполняется с помощью специального адаптера (контроллера) SCSI, вставляемого в разъем PCI, или встроенного в материнскую плату. Кроме адаптера SCSI (рис. 1.3.8а), называемого хост-адаптером (host adapter) каждое устройство имеет свой встроенный адаптер, который позволяет ему взаимодействовать с шиной SCSI. Если устройство – последнее в цепочке устройств шины SCSI, после него подключается специальное устройство – терминатор (terminator) для того чтобы исключить отражение сигналов, передающихся по шине (рис. 1.3.8б).


В Ultra3 SCSI и Ultra320 SCSI используются два типа разъемов: 68-контактный (рис. 1.3.8в) и 80-контактный (рис. 1.3.8г). Второй тип разъема, помимо линий передачи данных и команд, содержит также линии электропитания устройств и обеспечивает возможность «горячего» подключения устройства к компьютеру.

Рис. 1.3.8. Устройства SCSI: а) адаптер SCSI: 1 – разъемы для подключения внешних устройств; 2 – разъем для подключения внутреннего устройства; 3 – контроллер SCSI;

б) шина SCSI: 1 – разъем для подключения адаптера; 2 – разъемы для подключения устройств; 3 – терминатор; в) 68-контактный разъем SCSI; г) 80-контактный разъем SCSI

Данные при использовании SCSI передаются параллельно, так же, как и в IDE (ATA). По тем же причинам, что и в IDE (ATA), была начата разработка последовательно подключаемого SCSI – SAS (Serial Attached SCSI). Интерфейс SAS является совместимым с интерфейсом SATA и в тоже время использует команды SCSI, возможность «горячего» подключения внешних устройств, а также возможность подключения, помимо жестких и оптических дисководов, других периферийных устройств, например, принтера или сканера. В настоящее время интерфейс SAS постепенно заменяет интерфейс SCSI в компьютерах и периферийных устройствах.

Первая спецификация SAS – SAS 1.0 была выпущена Комитетом T10 в 2003 году. В ней была определена скорости передачи данных 1,5 и 3 Гбита/с для подключения устройств внутри системного блока компьютера с максимальной длиной кабеля 1 м и внешнего подключения устройств с максимальной длиной кабеля 8 м.

В 2005 году была выпущена спецификация SAS 1.1, в которой были исправлены ошибки спецификации SAS 1.0.

В спецификации SAS 2.0 (2009 г.) добавлена скорость 6 Гбит/с и максимальная длина кабеля увеличена до 10 м.

Обмен данными в SAS, так же, как и в SCSI, реализуется с помощью метода LDVS.

Две дифференциальные сигнальные пары (приемная и передающая) образуют в SAS физический канал. Один или несколько физических каналов, в свою очередь, образуют порт. Количество физических каналов в порту обозначается с помощью цифры, за которой следует символ «x». Так, обозначение 4x означает, что порт содержит 4 канала (8 сигнальных пар). Каждый порт имеет уникальный 64-битовый адрес, присваиваемый производителем оборудования SAS. Устройство с интерфейсом SAS может иметь один или несколько портов. Порт, имеющий только один канал, называется узким портом (narrow port), а порт, имеющий два и более каналов, называется широким портом (wide port).

Так два порта со скоростью по 3 Гбит/с можно использовать либо как два отдельных каналов связи с разными устройствами, либо как единый канал связи со скоростью 6 Гбит/с. Кроме того, в спецификации SAS 2.0 добавлена возможность разбиения порта со скоростью 6 Гбит/с на два канала со скоростью по 3 Гбит/с.

При подключении устройств в SAS используются разъемы, стандартизированные Комитетом по малым форм-факторам – Small Form Factor (SFF) Committee. Этот комитет разрабатывает и готовит спецификации по разъемам, используемым в различных устройствах. Каждый разъем идентифицируется префиксом «SFF-», за которым следует четырехзначный номер разъема, начинающийся с цифры 8.

Основными разъемами, используемыми в SATA являются:

· разъем SFF-8482 для подключения внутреннего устройства (рис. 1.3.9а);

· разъем SFF-8484 – разъем 4x для подключения внутренних устройств (рис. 1.3.9б);

· разъем SFF-8087 – разъем 4x (miniSAS) для подключения внутренних устройств (рис. 1.3.9в);

· разъем SFF-8470 – разъем 4x для подключения внешних устройств (рис. 1.3.9г);

· разъем SFF-8088 – разъем 4x (miniSAS) для подключения внешних устройств (рис. 1.3.9д).

Интерфейс SAS поддерживает набор команд, совместимый с набором команд SATA, поэтому к расширителю SAS можно подключать устройства SATA (для этого обычно используется разъем SFF-8482).

Наиболее распространенный кабель для подключения внешних устройств SAS с разъемами SFF-8088 на концах кабеля приведен на рис. 1.3.9е. Для подключения внешних устройств по интерфейсу eSATA можно использовать кабель, на одном конце которого разъем SFF-8088, а на другом – 4 разъема eSATA (рис. 1.3.9ж).

Рис. 1.3.9. Разъемы SAS: а) 29-контактный штекер разъема SAS для внутреннего устройства (SFF-8482) б) 32-контактный 4x штекер разъема SAS для подключения внутренних устройств (SFF-8484); в) 26-контактный 4x штекер разъема mini-SAS для внутренних устройств (SFF-8087); г) 26-контактный 4x штекер разъема SAS для внешнего устройства (SFF-8470); д) 26-контакный 4x штекер разъема mini-SAS для внешнего устройства (SFF-8088); е) кабель SFF-8088 – SFF-8088; ж) кабель SFF-8088 – 4 eSATA

Система с интерфейсом SAS состоит из следующих компонент:

· инициатор (Initiator) – порождает запросы на обслуживание для целевых устройств и получает подтверждения об исполнении запросов (реализуется в виде микросхемы на материнской плате или на карте, подключенной к шине материнской платы);

· целевое устройство (Target Device) – содержит логические блоки и целевые порты, которые осуществляют приём запросов на обслуживание, исполняет их; после того, как закончена обработка запроса, инициатору запроса отсылается подтверждение выполнения запроса (может быть как отдельным жёстким диском, так и целым набором дисков).

· подсистема доставки данных (Service Delivery Subsystem) – осуществляет передачу данных между инициаторами и целевыми устройствами (состоит из кабелей и расширителей SAS).

· расширитель SAS (SAS Expander) – подключает несколько устройств SAS к одному порту инициатора.

В настольных компьютерах расширитель SAS выполняется в виде карты, которая подключается к шине PCI Express, и содержит контроллер SAS, выполняющий функции инициатора, а также один или несколько внутренних и/или внешних гнезд разъемов SAS, к которым подключаются устройства с интерфейсом SAS или SATA (eSATA) (рис. ?????а и рис. ?????б).

Дисководы SAS (eSATA) могут быть помещены в корпус (рис. ?????в). Такое устройство называется дисковым массивом. Помимо дисководов, дисковый массив содержит встроенную плату расширителя SAS (рис. ?????г), разъем электропитания, а также гнездо для подключения к управляющему компьютеру (входного гнезда) и 1 или 2 гнезда для подключения к другим компьютером (входные гнезда). Наличие этих гнезд позволяет нескольким компьютером совместно использовать данные на дисководах дискового массива.

Пример подключения дисководов eSATA к компьютеру с использованием кабеля, изображенного на рис. 1.3.9ж, и компьютеров к дисковому массиву с использованием кабеля, изображенного на рис. 1.3.9е, приведен на рис. рис. ?????д.

Рис. ??????. Средства SAS: а) карта для подключения двух внутренних устройств:

1 – контроллер (инициатор) SAS; 2 – гнезда SF-8087; б) карта для подключения двух внешних устройств: 2 – гнезда SF-8088; 1 – контроллер (инициатор) SAS; в) дисковый массив на 15 дисководов SAS (eSATA); г) расширитель SAS дискового массива;

д) пример использования SAS для подключения внешних дисководов: 1 – дисководы eSATA; 2 – дисковый массив, подключенный к двум компьютерам

Аппаратная реализация SAS, как и ранее SCSI, на компьютере обходится дороже, чем реализация ATA и SATA (eSATA). Это связано, во-первых, с тем, что контроллер ATA и SATA, как правило, встроен в материнскую плату, а материнские платы для настольных компьютеров с встроенным интерфейсом SCSI и SAS практически не выпускаются, поэтому необходимо приобретение карты контроллера SCSI или SAS. Во-вторых, устройства с интерфейсом SAS имеют большие возможности, чем устройства ATA и SATA (eSATA). Например, дисководы SAS могут быть двухпортовыми, т.е. их можно либо подключить к двум компьютерам, либо выполнять обмен данными с компьютером на вдвое болей скорости по сравнению с использованием одного порта. Однако это приводит к более высокой стоимости дисководов SAS.

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

За счет использования расширителей, подсистема доставки данных SAS предлагает больше возможностей, чем система SATA (eSATA). Кроме того, в этой подсистеме можно использовать и более дешевые устройства SATA (eSATA).

Отдельная система, состоящая из связанных между собой компьютеров, периферийных устройств, расширителей SAS и кабелей SAS, SATA и eSATA, называется доменом. Максимальное количество расширителей и устройств в домене равно 16256. Система SAS может состоять из нескольких доменов, причем отдельные инициаторы и устройства могут входить в два соседних домена.

В домене могут использоваться два типа расширителей: расширитель-коммутатор и оконечный расширитель.

Расширитель-коммутатор (fanout expander) (рис. ?????а) выполняет в домене SAS маршрутизацию потоков данных от инициаторов к целевым устройствам домена. В домене должен быть только один расширитель-коммутатор.

Оконечный расширитель (edge expander) (рис. ?????б) подключается либо к расширителю-коммутатору, либо к другому оконечному расширителю и используется для маршрутизации потоков данных подключенных к нему устройств и расширителей. Максимальное количество обслуживаемых оконечным расширителем устройств равно 128.

Устройства могут подключаться как к расширителю-коммутатору, так и к оконечному расширителю. Если в домене не задействован расширитель-коммутатор, то количество оконечных расширителей должно быть не более 2.

При включении электропитания все устройства системы SAS обмениваются друг с другом своими адресами, и система переходит в активное состояние, при котором выполняется обмен командами, пакетами данных и управляющими сообщениями. Добавление в систему нового устройства («горячее» подключение) или отключение устройства приводит к генерации управляющего сообщения, при получении которого все расширители перестраивают свою схему маршрутизации и оповещают инициаторы об изменении конфигурации системы.

Пример конфигурации доменов SAS приведен на рис. рис. ?????в.

Рис. ?????. Использование SAS в серверах: а) 12-портовый расширитель-коммутатор с гнездами SFF-8470 (вид спереди и сзади); б) 12-портовый оконечный расширитель с гнездами SFF-8470 (вид спереди и сзади); в) пример доменов SAS:

1 – серверы-инициаторы с картами расширения SAS; 2 - оконечные расширители SAS;

3 – однопортовые дисководы с интерфейсом SAS; 4 – расширитель-коммутатор SAS;

5 – дисководы с интерфейсом eSATA; 6 – двухпортовые дисководы с интерфейсом SAS;

7 – дисковый массив с встроенным расширителем SAS

В этой статье мы заглянем в будущее интерфейса SCSI и рассмотрим некоторые преимущества и недостатки интерфейсов SCSI, SAS и SATA.

На самом деле, вопрос является немного более сложным, чем простая замена SCSI на SATA и SAS. Традиционный параллельный SCSI является испытанным и проверенным интерфейсом, используемым давно. В настоящее время, SCSI предлагает очень быструю скорость передачи данных в 320 Мегабайт в секунду (Mб/сек), используя современный интерфейс Ultra320 SCSI. Кроме того, SCSI предлагает большой выбор возможностей, среди которых Command-Tag Queuing (метод оптимизирования I/O команд для увеличения производительности). Жесткие диски SCSI отличаются надежностью; на коротком расстоянии можно создать последовательную цепь из 15 устройств, подключенную к каналу SCSI. Эти особенности делают SCSI замечательным выбором для производительных десктопов и рабочих станций, вплоть до серверов предприятий, по настоящее время.

Жесткие диски SAS используют набор команд SCSI и обладают схожей надежностью и производительностью, как и SCSI диски, однако используют последовательную версию интерфейса SCSI, со скоростью 300 Mб/сек. И хотя это немного медленнее, чем SCSI с 320 Mб/сек, интерфейс SAS способен поддерживать до 128 устройств на бОльших расстояниях, чем Ultra320, и может расширяться до 16000 устройств на канал. Жесткие диски SAS предлагают такую же надежность и скорости вращения (10000-15000), как и диски SCSI.

Диски SATA являются немного другими. Там, где SCSI и SAS диски уделяют внимание производительности и надежности, диски SATA жертвуют ими в пользу существенного увеличения емкости и снижения стоимости. К примеру, диск SATA в настоящий момент достиг емкости в 1 терабайт (ТБ). SATA используется там, где нужна максимальная емкость, например, для резервного копирования данных или архивирования. Сейчас SATA предлагает соединения точка-точка со скоростью до 300 Mб/сек, и легко опережает традиционный параллельный интерфейс АТА, со скоростью 150 Mб/сек.

Итак, что же случится с SCSI? Работает он прекрасно. Проблема с традиционным SCSI заключается в том, что просто подходит к окончанию его срок эксплуатации. Параллельный интерфейс SCSI, обладающий скоростью в 320 Mб/сек, не сможет работать значительно быстрее на существующих в настоящий момент длинах SCSI кабелей. Для сравнения, диски SАТА достигнут скорости в 600 Mб/сек в ближайшем будущем, SAS имеют планы для достижению 1200 Mб/сек. Диски SАТА могут, кроме того, работать с интерфейсом SAS, таким образом эти диски могут использоваться одновременно в некоторых системах хранения. Потенциал к увеличению расширяемости и производительности передачи данных гораздо превышает имеющийся у SCSI. Но SCSI не уйдет со сцены в ближайшее время. Мы будем видеть SCSI в малых и средних серверах еще несколько лет. Так как аппаратные средства обновляются, SCSI будет систематически заменяться дисками SAS/SATA, для получения большей скорости и удобства соединения.

В современных компьютерных системах для подключения основных жестких дисков используются интерфейсы SATA и SAS. Как правило, первый вариант устраивает домашние рабочие станции, второй – серверные, поэтому технологии между собой не конкурируют, отвечая разным требованиям. Значительная разница в стоимости и объеме памяти заставляет пользователей задаваться вопросом, чем отличается SAS от SATA, и искать компромиссные варианты. Посмотрим, так ли это целесообразно.

SAS (Serial Attached SCSI) – последовательный интерфейс подключения устройств хранения данных, разработанный на основе параллельного SCSI для исполнения того же набора команд. Используется преимущественно в серверных системах.

SATA (Serial ATA) – последовательный интерфейс обмена данными, базирующийся на основе параллельного PATA (IDE). Применяется в домашних, офисных, мультимедийных ПК и ноутбуках.

Если говорить о HDD, то, несмотря на различающиеся технические характеристики и разъемы, кардинальных расхождений между устройствами нет. Обратная односторонняя совместимость дает возможность подключать к серверной плате диски и по одному, и по второму интерфейсу.

Стоит заметить, что оба варианта подключения реальны и для SSD, но весомое отличие SAS от SATA в этом случае будет в стоимости накопителя: первый может быть дороже в десятки раз при сопоставимом объеме. Поэтому сегодня такое решение если уже и не редкое, то в достаточной мере взвешенное, и предназначено для быстрых центров обработки данных корпоративного уровня.

Сравнение

Как мы уже знаем, SAS находит применение в серверах, SATA – в домашних системах. На практике это означает, что к первым одновременно обращается много пользователей и решается множество задач, со вторыми же имеет дело один человек. Соответственно, серверная нагрузка намного выше, поэтому диски должны быть достаточно отказоустойчивыми и быстрыми. Протоколы SCSI (SSP, SMP, STP), реализованные в SAS, позволяют обрабатывать больше операций ввода/вывода одновременно.

Непосредственно для HDD скорость обращения определяется в первую очередь скоростью вращения шпинделя. Для desktop-систем и ноутбуков необходимо и достаточно 5400 – 7200 RPM. Соответственно, найти SATA-диск с 10000 RPM почти невозможно (разве что посмотреть серию WD VelociRaptor, предназначенную, опять же, для рабочих станций), а все, что выше, – абсолютно недостижимо. SAS HDD раскручивает минимум 7200 RPM, стандартом можно считать 10000 RPM, а достаточным максимумом – 15000 RPM.

Считается, что диски с последовательным SCSI надежнее, у них выше показатели наработки на отказ. На практике стабильность достигается больше за счет функции проверки контрольных сумм. Накопители SATA же страдают от «тихих ошибок», когда данные записываются частично либо повреждены, что приводит к появлению bad-секторов.

На отказоустойчивость системы работает и главное достоинство SAS – два дуплексных порта, позволяющих подключить одно устройство по двум каналам. Обмен информацией в этом случае будет вестись одновременно в обоих направлениях, а надежность обеспечивается технологией Multipath I/O (два контроллера страхуют друг друга и разделяют нагрузку). Очередь помеченных команд выстраивается глубиной до 256. У большинства дисков SATA один полудуплексный порт, а глубина очереди по технологии NCQ – не более 32.

Интерфейс SAS предполагает использование кабелей длиной до 10 м. К одному порту через расширители можно подключить до 255 устройств. SATA ограничивается 1 м (2 м для eSATA), и поддерживает подключение только одного устройства по типу «точка – точка».

Перспективы дальнейшего развития – то, в чем разница между SAS и SATA тоже ощущается достаточно остро. Пропускная способность интерфейса SAS достигает 12 Гбит/с, а производители анонсируют поддержку скорости обмена данными 24 Гбит/с. Последняя ревизия SATA остановилась на 6 Гбит/с и эволюционировать в этом отношении не будет.

Накопители SATA в пересчете на стоимость 1 Гб обладают очень привлекательным ценником. В системах, где скорость доступа к данным не имеет решающего значения, а объем хранимой информации велик, целесообразно использовать именно их.

Таблица

SAS SATA
Для серверных систем Преимущественно для настольных и мобильных систем
Использует набор команд SCSI Использует набор команд ATA
Минимальная скорость вращения шпинделя HDD 7200 RPM, максимальная – 15000 RPM Минимум 5400 RPM, максимум 7200 RPM
Поддерживается технология проверки контрольных сумм при записи данных Большой процент ошибок и bad-секторов
Два дуплексных порта Один полудуплексный порт
Поддерживается Multipath I/O Подключение по типу «точка – точка»
Очередь команд до 256 Очередь команд до 32
Можно использовать кабели до 10 м Длина кабелей не более 1 м
Пропускная способность шины до 12 Гбит/с (в перспективе – 24 Гбит/с) Пропускная способность 6 Гбит/с (SATA III)
Стоимость накопителей выше, иногда значительно Дешевле в пересчете на цену за 1 Гб

Что такое SAS, предысторияПришло время признать очевидный факт: стандарт SCSI, даже в виде самых современных реализаций вроде Ultra320 SCSI, исчерпал свои возможности. По крайней мере, дальнейшее масштабирование его производительности если теоретически и возможно, то будет обходиться весьма недешево. Ситуация, сложившаяся с этим весьма почитаемым стандартом, особенно удручающе выглядит на фоне бурного развития всей компьютерной техники и архитектуры и топологии систем хранения данных в частности.

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

Вот такие предпосылки сложились к моменту зарождения нового индустриального стандарта, названного последовательно-подключенный SCSI - Serial-Attached SCSI , или просто SAS .


Ради справедливости стоит отметить, что новый стандарт появился не вдруг и не сразу: официальному анонсу технологии SAS, состоявшейся 28 января 2004 года предшествовала серьезная работа команды разработчиков из разных компаний и промышленных групп - SCSI Trade Association (STA) и International Committee for Information Technology Standards (INCITS), под эгидой American National Standards Institute (ANSI). Впервые о новом стандарте заговорили в декабре 2001 года, когда совет директоров SCSI Trade Association (STA) проголосовал за определение спецификаций Serial Attached SCSI. Далее 2 мая 2002 года разработка стандарта была передана созданному специально для поддержки, развития и продвижения SAS комитету T10 при INCITS (InterNational Committee for Information Technology Standards), а первые черновые спецификации SAS были опубликованы в середине 2003 года.

Итак, самое главное, на что стоит опираться при попытке сформулировать определение стандарта SAS: Serial-Attached SCSI является логичным и естественным последовательным расширением технологии параллельного интерфейса SCSI, используемого для подключения периферии к компьютерам .
От этого, для начала, и оттолкнемся.

Назначение SAS

Для определения назначения стандарта SAS и его места среди современных периферийных интерфейсов обратимся к формулировкам, изложенным в "FAQ по Serial Attached SCSI" на сайте T10.

Интерфейс Serial Attached SCSI является продуктом логической эволюции современных интерфейсов и разработан для применения в промышленных центрах сбора и хранения данных. Стандарт SAS опирается на электрические и физические характеристики интерфейса Serial ATA, обеспечивает масштабируемость, производительность, надежность и управляемость данных в серверах и подсистемах хранения данных. Архитектурная схожесть с SATA не мешает SAS обладать наиболее востребованными чертами SCSI, в то же время избавляясь от его недостатков: крупных разъемов, малой длины соединительных кабелей, ограниченной производительности и адресации.

В широком смысле понимания SAS - это своеобразный полнодуплексный SATA с поддержкой двух портов, больших возможностей адресации, расширенной надежностью, производительностью и логической совместимостью со SCSI. Интерфейс Serial ATA, с другой стороны, можно рассматривать как упрощенное подмножество Serial Attached SCSI для работы в простых системах без критических требований к надежности и производительности. Это совсем не значит, что устройства Serial Attached SCSI не могут использоваться в обычных рабочих станциях и настольных ПК, необходимо лишь наличие соответствующего хост-адаптера.

По сути, Serial Attached SCSI - это SCSI, но не с привычной параллельной, а с point-to-point (точка-точка) последовательной архитектурой, с непосредственным подключением контроллера к накопителям. SAS поддерживает до 128 накопителей различных типов и размеров, совместно подключенных более тонкими и длинными (нежели в случае SCSI) кабелями. В то время как интерфейс SCSI "проталкивает" по своим проводам данные со скоростью порядка 20 МБ/с, а полудуплексный SATA первого поколения - 1.5 ГБ/с в одном направлении в единицу времени, полнодуплексный сигнальный последовательный интерфейс SAS с поддержкой "горячего" подключения в нынешней реализации обеспечивает обмен данными на скорости до 3.0 Гб/с на порт.

Ключевым отличием SAS от SCSI является возможность подключения SAS-накопителей одновременно к двум различным портам, каждый из которых представляет различные домены SAS. Можете себе представить, насколько значительным образом это отражается на надежности хранения данных и отказоустойчивости системы. К тому же, "коммутаторная" природа архитектуры SAS позволяет в теории подключать "покаскадно" тысячи накопителей (до 16384 приводов без снижения производительности!), что делает масштабируемость таких систем теоретически неограниченной. Основные отличия технологий SCSI и SAS приведены в таблице ниже.

Спецификации разъемов и кабелей SAS

Одной из ключевых особенностей интерфейса SAS при его разработке была определена возможность значительного наращивания скорости обмена данными. Разрабатываемые сейчас спецификации следующего поколения SAS подразумевают обмен данными со скоростью до 6.0 ГБ/с при полной совместимости с первым поколением SAS-устройств. Следующее за этим поколение всерьез пока не рассматривалось, но поговаривают о возможности достижения скорости обмена данными до 12 ГБ/с.


При разработке разъемов под устройства SAS был заложен перспективный рост скорости обмена данными, и одновременно с этим учтен опыт миниатюризации, просматриваемый в спецификациях SATA. Специфика разъема заключается в размещении второго порта данных, ибо каждый из портов SAS-устройства размещается в различных доменах и служит для организации независимых путей от одного SAS-устройства к другому для обеспечения безаварийной работы. В случае, если один из накопителей в цепочке выходит из строя, это никоим образом не отражается на работе других устройств. Таким образом на свет появился дизайн разъема для периферии с интерфейсом SAS, по сути имеющий архитектурное сходство с 68-контактными разъемами для накопителей с классическим параллельным интерфейсом SCSI или SCA-2, но в то же время, по аналогии с SATA, поддерживающей "горячее подключение" и надежный контакт.

Кабельная система SAS имеет гораздо более компактные размеры, нежели аналогичная для параллельных интерфейсов ATA и SCSI, что обеспечивает меньшую путаницу и лучший обдув воздухом компонентов внутри системного корпуса. Типичная длина интерфейсных кабелей SAS для применения, например, в рабочих станциях, не превышает 1 м, максимальная длина такого кабеля может достигать 8 м. Теоретически это сравнимо с длиной кабеля для интерфейса SCSI, поскольку некоторые современные устройства допускают соединение между хост-контроллером и SCSI-периферией на расстоянии более 8 м. Однако, в случае нужды расстояние между SAS-устройствами может быть значительно увеличено за счет так называемых SAS-экспандеров - своеобразных "станций подкачки трубопровода".


Интересно отметить, что при разработке спецификаций SAS рабочая группа сразу же приняла во внимание необходимость определения параметров разъемов и кабелей не только для внутренних, но и для внешних подключений, аналогичных современным SCSI-вариантам вроде "сервер - JBOD система". Для интерфейса SATA принятие таких спецификаций было отложено "на потом", и, как результат, разработка External SATA до сих пор еще не закончена.

Что касается внешних SAS-подключений, за основу было принято предложение компании Infiniband, где внешние разъемы и кабельная система рассчитаны на 4 устройства и в то же время обеспечивают производительность первого поколения внешних SAS-соединений на уровне 1.2 ГБ/с в каждом направлении, то есть до 2400 МБ/с в полнодуплексном режиме! Согласитесь, более чем впечатляюще для внешнего интерфейса.

Системная топология SAS

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

Еще одна важная цель, которую ставили перед собой разработчики нового стандарта - уйти от ограничения классического SCSI, подразумевающего не более 16 устройств в одной цепочке. В результате каждая SAS-система при применении соответствующего количества экспандеров способна поддерживать адресацию до 16256 устройств в едином SAS-домене. Обязательно стоит отметить гибкость конфигурации SAS-экспандеров: их спецификации подразумевают создание гетерогенных систем, где в качестве периферийных накопителей могут уживаться как SAS, так и SATA устройства. Согласитесь, очень удобно, особенно, при формировании бюджетных систем хранения данных или устройств с закладываемым на перспективу масштабированием.



Иллюстрация к принципу организации SAS домена
максимальной емкости


Обратите внимание на иллюстрацию выше: темно-зеленый модуль в центре представляет собой тот самый экспандер-коммутатор (fanout expander). Такой "коммутационный" экспандер может присутствовать в одном SAS-домене в единичном количестве и объединять собой до 128 SAS-устройств. Однако, не стоит под SAS-устройствами понимать исключительно жесткие диски, поскольку здесь подразумевается любая возможная комбинация из так называемых "периферийных экспандеров" (edge expanders, светло-зеленые модули), инициирующих устройств и собственно накопителей. Периферийные экспандеры, в свою очередь, могут также поддерживать до 128 SAS-устройств, однако, к ним можно подключить уже не более одного дополнительного экспандера. Голубыми модулями на схеме отмечены инициаторы (хосты), а коричневыми цилиндрами - SAS или SATA приводы.

Протоколы SAS

Создание новой топологии и новых интерфейсов привело к созданию совершенно нового определения методики адресации всех возможных портов в SAS-домене. С параллельным SCSI, конечно же, все проще, поскольку адресация всех устройств домена предопределена на аппаратном уровне.

В результате рабочей группой по развитию протокола SAS было принято решение выбрать в качестве идентификаторов уникальные в глобальном плане 64-битные имена - WWN (WorldWide Name) для всех типов SAS-устройств. Опять же, ничего нового под Луной, именно такая адресация давно используется при наименовании Fibre Channel устройств.


Таким образом, в момент включения питания все устройства, объединенные в единое SAS-пространство, обмениваются друг с другом своими WWN, и только после этого комплект SAS-устройств становится "осмысленной" SAS-системой. Добавление в SAS-систему нового устройства (под добавлением в этом случае подразумевается как раз "горячее подключение") или его изъятие из системы приводит к появлению извещения, которое оповещает о событии все инициаторы и позволяет подстроить систему под новую конфигурацию. На экспандеры, в свою очередь, ложится обязанность "выдачи" WWN всем SATA-устройствам системы, как в случае ее включения, так и в случае "горячего" подключения нового устройства. По завершению процесса инициализации системы, SATA устройства взаимодействуют с помощью SATA протоколов, для SAS-устройств используется SAS-протокол, описанный в других SCSI-стандартах типа SPI (SCSI Parallel Interface).

Дальше все проще: обмен командами, данными, статусами и другой информацией между SAS-устройствами производится пакетами, спецификации которых очень схожи на характеристики пакетов для обмена информацией при работе с параллельными SCSI или Fibre Channel устройствами. Формат пакетов данных SAS, называемых "фреймами", особенно схож со спецификациями Fibre Channel: каждый из них состоит из блоков командных дескрипторов - CDB (command descriptor block) и других SCSI-конструкций, определяемых другими стандартами SCSI, вроде SCSI Primary Command Set или SCSI Block Command. Вот Вам еще одна выгода от стандарта SAS: использование SCSI-подобного протокола и архитектуры позволяет объединять SAS-конструкции с другими системами хранения и обработки данных с архитектурой Infiniband, iSCSI или Fibre Channel, которые, по сути, также являются SCSI-объектами.

Протокол SAS содержит четыре традиционных уровня: физический (phy layer), коммуникационный (link layer), уровень портов (port layer) и транспортный уровень (transport layer). Объединение четырех уровней в каждом порте SAS означает, что программы и драйверы, используемые для работы с параллельными портами SCSI, могут с равным успехом использоваться и для обслуживания портов SAS, лишь с незначительной модификацией.



Архитектура SAS


Уровни приложений, включающие драйверы и собственно приложения, создают специфические задания для транспортного уровня, который, в свою очередь, инкапсулирует команды, данные, статусы и пр. в SAS-фреймы и перепоручает их передачу уровню портов. Разумеется, транспортный уровень также отвечает за прием SAS-фреймов и с уровря портов, дизассемблирование принятых фреймов и передачу контента уровню приложений.

Уровень портов SAS отвечает за обмен пакетами данных с коммуникационным уровнем (link layer) в порядке установления соединений, а также за выбор физического уровня, с помощью которого будет осуществляться передача пакетов одновременно на несколько устройств. Под физическим уровнем SAS подразумевается соответствующее аппаратное окружение - трансиверы и модули кодирования, которые подключаются к физическому интерфейсу SAS и отправляют сигналы по проводным цепям.





Кстати, напомню, на физическом уровне соединения в случае последовательного интерфейса SAS представляют собой полнодуплексные дифференциальные пары цепей, которые также могут объединяться для увеличения производительности (ну прямо как PCI Express) в "широкие" порты. Соответственно, каждое устройство может иметь более одного порта, и каждый из них может быть сконфигурирован как "узкий" или "широкий". Интерфейсы хостов и экспандеров могут быть составлены из нескольких портов, при этом адрес каждого хоста доступен каждому периферийному устройству, а пропускная способность при этом суммируется. Организация множества путей прохождения данных за счет наличия "широких" портов подразумевает параллельное исполнение команд и соответствующее снижение потерь времени на ожидание очереди.

Заключение

Изложенный материал представляет собой лишь краткое введение в принципы построения архитектуры интерфейса SAS и особенности реализации этого стандарта. Более детальное рассмотрение спецификаций интерфейса потребует, по всей видимости, выпуска целого цикла статей на эту тему. Не исключено, что именно так оно и будет, благо, начало массового внедрения интерфейса уже не за горами, и количество прикладных вопросов по реализации SAS-систем со временем только вырастет.

Главное определение SAS, которое, по-моему, не стоит забывать - новый последовательный интерфейс Serial Attached SCSI был разработан для нужд широкого списка систем хранения данных корпоративного уровня, однако, все же он представляет собой интерфейс "близкого действия" и ни в коем случае не призван заменить собой какие-либо сетевые интерфейсы, не надо "покупаться" на схожую реализацию архитектуры "точка-точка".

При всей своей "заточенности" для работы в крупных и чуть ли не бесконечно масштабируемых системах хранения данных, интерфейс Serial Attached SCSI подразумевает полную совместимость с относительно недорогими накопителями Serial ATA, что позволяет конструировать вполне доступные системы даже в масштабе малых предприятий. В то же время поддержка 2-портовых Serial Attached SCSI приводов позволяет обеспечить производительность уровня, который и не снился нынешним системам на SCSI-приводах.

Для тех, кто готов самостоятельно окунуться в изучение особенностей Serial Attached SCSI, мы приводим в заключение список сайтов, где расположены учебные и стандартообразующие документы.

ресурсы сайта компании Adaptec
ресурсы сайта компании Maxtor
ресурсы сайта компании Seagate

T10 :

Serial Attached SCSI –
SCSI Architecture Model – 3 (SAM-3)
SCSI Primary Commands – 3 (SPC-3)
SCSI Block Commands – 2 (SBC-2)
SCSI Stream Commands – 2 (SSC-2)
SCSI Enclosure Services – 2 (SES-2)

Спецификации разъемов SAS :

SFF 8482 (internal backplane/drive)
SFF 8470 (external 4-wide)
SFF 8223, 8224, 8225 (2.5", 3.5", 5.25" form factors)
SFF 8484 (internal 4-wide)

Спецификации Serial ATA :

Serial ATA II: Extensions to Serial ATA 1.0
Serial ATA II: Port Multiplier
Serial ATA II: Port Selector
Serial ATA II: Cables and Connectors Volume 1

Дополнительные ресурсы:

International Committee for Information Technology Standards
T11 (стандарты Fibre Channel)
SCSI Trade Association
SNIA (Storage Networking Industry Association)
Похожие статьи