SAS

SAS (Serial Attached SCSI) - интерфейс для подключения HDD дисков. Своим появлением "серийный" интерфейс сменил устаревший параллельный SCSI-интерфейс. Жесткие диски, построенные на интерфейсе SAS, используются в серверных системах.

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

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

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

SAS позволяет подключать до 128 устройств на один порт, и до 16256 устройств - на один контроллер.

Современные SAS-контроллеры и HDD диски поддерживают скорость передачи данных до 600Мбайт/с. Ожидается, что в 2012 году скорость передачи достигнет 12 Гбит/с.

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

История

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

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

Усугубляло положение дел Parallel SCSI и низкое максимальное число подключаемых устройств (16 в одной цепочке), а также длина кабеля (в сумме, не более 12 м). Также существовала необходимость терминирования и ручной установки ID-накопителей, разделение полосы пропускания между всеми подключенными приводами.

Ну и наконец, огромных размеров кабели и разъемы параллельных интерфейсов делали эти технологии малопригодными для новых компактных систем.

В 2002 году комитетом T10 было предложено ввести новый протокол SAS. В нем были устранены все вышеописанные недостатки. Соединение типа "точка-точка" позволило ввести выделенную полосу пропускания под каждый диск, предельная длина кабеля составляла до 8 метров на один порт, число адресуемых устройств в одном домене возросло до 16 256, ручная установка ID сменилась уникальными номерами (WWN - World Wide Number), присваиваемыми на этапе производства. Разъемы для внешних SAS-устройств могли вместить до четырех накопителей и обеспечить полосу пропускания 1,2Гбит/с в одном направлении. Кроме того, в новом интерфейсе была обеспечена полная поддержка "горячего" подключения, а также сортировка очереди команд.

Технический комитет T10 входит в состав Международного Комитета по Стандартам в Области Информационных Технологий (InterNational Committee on Information Technology Standarts - INCITS). Он занимается разработкой и поддержкой интерфейса SAS. Также новому стандарту оказывают поддержку отраслевые группы SCSI Trade Association и Serial ATA Working Group. В них входят такие компании, как Intel, HP, LSI, Seagate, IBM и прочие.

Стандарт SAS состоит из:

  • уровня приложений: SCSI, ATA, SMP (Serial Management Protocol);
  • транспортного уровня: SSP (Serial SCSI Protocol), STP (Serial ATA Tunneling Protocol, подключения SATA устройств к SAS HBA через расширитель (expander)), SMP (Serial Management Protocol, поддержка расширителей SAS);
  • SAS port layer;
  • уровня соединения: общая часть и SSP, STP, SMP;
  • SAS phy: согласование скорости (замедление вставкой наполнителей); кодировка (8b10b как в FC и Ethernet); можно объединять в "широкий" (2x, 3x, 4x) порт в HBA/RAID или расширителе; скорость: SAS-1 - 3Гбит/с (300Мбайт/с), SAS-2 - 6Гбит/с (600Мбайт/с) ;
  • физического уровня: обеспечивается полный дуплекс; кабели и разъёмы; одиночный внутренний разъём совместим с SATA устройствами, но не наоборот (SAS устройства нельзя подключать к SATA контроллеру); внешние и групповые разъёмы (wide port, несколько phy); в SAS-2 введён период адаптации при подключении устройства (training, позволяет увеличить длину кабеля до 6м); в SAS-2.1 введены активные кабели (встроенная микросхема позволяет уменьшить толщину кабеля и увеличить длину кабеля до 30м); оптический кабель - до 100м; разъём miniSAS x4 обеспечивает питание активного кабеля; внешние miniSAS x4 кабели имеют различные разъёмы для входных и выходных портов; в SAS-2.1 добавлены внешние miniSAS 8x и внутренние miniSAS 8x разъемы.

Компоненты интерфейса SAS

Инициаторы (Initiators)

Инициатор — устройство, которое порождает запросы на обслуживание для целевых устройств и получает подтверждения по мере исполнения запросов. Зачастую инициатор выполнен в виде СБИС.

Целевые устройства (Targets)

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

Подсистема доставки данных (Service Delivery Subsystem)

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

Расширители (экспандеры) (Expanders)

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

Протоколы передачи данных SAS

Благодаря этим трем протоколам интерфейс SAS полностью совместим с уже существующими SCSI приложениями:

  • Последовательный SCSI протокол (Serial SCSI Protocol SSP). Он передает команды SCSI;
  • Управляющий протокол SCSI (SCSI Management Protocol SMP). Он передает управляющую информацию на расширители;
  • Туннельный протокол SATA (SATA Tunneled Protocol STP). Он устанавливает соединение, позволяющее передавать команды SATA.

Эта мультипротокольная архитектура делает технологию SAS универсальным гибридом устройств SAS и SATA.

Разъемы SAS

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

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

  • Разъем SFF-8482. Это внутренний разъем для подключения стандартного жесткого диска горячей замены с SAS интерфейсом. Он также позволяет подключить диск с интерфейсом SATA, с которым полностью совместим. А вот подключить SAS-устройство к интерфейсу SATA не получится, в SAS посередине разъема отсутствует специальный вырез-ключ. Помимо данных через разъем подается питание для HDD;
  • Разъем SFF-8484. Это переходник, который позволяет подключать объединительную панель или корзину с разъемом SFF-8484 к контроллеру. Он рассчитан на 2/4 устройства. Является внутренним разъемом, оснащенным плотной упаковкой контактов;
  • Разъем SFF-8470. Это внешний разъем, обладающий высокой плотностью контактов. Максимальная пропускная способность - 4 устройства. Относится к типу Infiniband, используется также для подключения внутренних устройств;
  • Разъем SFF-8087. Это внутренний разъем mini-SAS, позволяющий подключить до 4 устройств. Представляет собой уменьшенный разъем Molex iPASS;
  • Разъем SFF-8088. Это внешний разъем mini-SAS, позволяющий подключить до 4 устройств. Представляет собой уменьшенный разъем Molex iPASS.

Разъемы SAS по габаритам существено меньше традиционных разъемов SCSI. Это позволяет использовать их в качестве разъемов для подключения компактных накопителей, размером 2,5 дюйма. Благодаря уменьшенному разъему SAS обеспечивается полное двухпортовое подключение как для 3,5-дюймовых, так и для 2,5-дюймовых дисковых накопителей.

Примечательно, что раньше эта функция была доступна лишь для 3,5-дюймовых дисковых накопителей с интерфейсом Fibre Channel.

Сравнение SAS и SCSI

  • В SAS используется последовательный протокол передачи данных между несколькими устройствами, что означает использование меньшего количества сигнальных линий;
  • SCSI использует общую шину, а это значит, что все устройства подключены к одной шине. С контроллером одновременно может работать только одно устройство. SAS же использует соединения «точка-точка», в котором каждое устройство соединено с контроллером посредством выделенного канала, что позволяет подключать к одному контроллеру множество устройств;
  • SAS не нуждается в терминации шины пользователем, в отличие от SCSI;
  • SCSI имеет проблему времени распространения сигнала по разным линиям параллельного интерфейса, оно может отличаться. SAS же лишен такого недостатка;
  • В SAS имеется поддержка большого количества устройств (> 16384). В SCSI поддерживается 8, 16, или 32 устройства на шине;
  • SAS обеспечивает более высокую пропускную способность (1.5, 3.0 или 6.0 Гбит/с). На шине SCSI пропускная способность шины разделена между всеми подключенными к ней устройствами;
  • Контроллеры SAS поддерживают подключение устройств с интерфейсом SATA;
  • SAS использует команды SCSI для управления и обмена данными с целевыми устройствами.

Сравнение SAS и SATA

  • SATA-устройства идентифицируются номером порта контроллера интерфейса SATA. SAS-устройства идентифицируются WWN-идентификаторами (World Wide Name). Для подключении SATA-устройства к домену SAS используется специальный протокол STP (Serial ATA Tunneled Protocol), описывающий согласование идентификаторов SAS и SATA; 
  • В устройствах SATA 1 и SAS имеется поддержка тегированных очередей команд TCQ (Tagged Command Queuing). При этом, устройства SATA в версии 2 имеют поддержку как TCQ, так и NCQ (Native Command Queuing);
  • SATA применяет набор команд ATA, который позволяет работать с HDD дисками. SAS поддерживает более широкий набор устройств (в том числе и HDD диски, сканеры, принтеры и др.);
  • SAS поддерживает связь инициатора с целевыми устройствами по нескольким независимым линиям (в зависимости от потребности можно повысить отказоустойчивость системы и/или увеличить скорость передачи данных). SATA в версии 1 такой возможности не имеет. SATA в версии 2 использует дубликаторы портов для повышения отказоустойчивости;
  • Преимущество SATA — низкое энергопотребление и доступность, преимущества SAS — большая надежность.
#