Serial Attached SCSI

НЖМД с интерфейсом SAS: слева - НЖМД типоразмера 2,5 дюйма, справа — типоразмера 3,5 дюйма, в самом низу — конфета для сравнения

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

SAS обратно совместим с интерфейсом SATA: устройства 3 Гбит/с и 6 Гбит/с SATA могут быть подключены к контроллеру SAS, но не наоборот.

Последняя реализация SAS обеспечивает передачу данных со скоростью до 24 Гбит/с на одну линию, и на момент начала 2021 года встречается только в линейках Kioxia.

Протокол SAS разработан и поддерживается комитетом T10[1]. Консорциум производителей различного оборудования под названием SCSI Trade Association (SCSITA) занимается продвижением различных технологий, связанных с SCSI, в том числе SAS.

Введение

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

Инициаторы (англ. Initiators)
Инициатор — устройство, которое порождает запросы на обслуживание для целевых устройств и получает подтверждения по мере исполнения запросов. Чаще всего инициатор выполняется в виде СБИС.
Целевые устройства (англ. Targets)
Целевое устройство содержит логические блоки и целевые порты, которые осуществляют приём запросов на обслуживание, исполняет их; после того, как закончена обработка запроса, инициатору запроса отсылается подтверждение выполнения запроса. Целевое устройство может быть как отдельным жёстким диском, так и целым дисковым массивом.
Подсистема доставки данных (англ. Service Delivery Subsystem)
Является частью системы ввода-вывода, которая осуществляет передачу данных между инициаторами и целевыми устройствами. Обычно подсистема доставки данных состоит из кабелей, которые соединяют инициатор и целевое устройство. Дополнительно, кроме кабелей, в состав подсистемы доставки данных могут входить расширители SAS.
Расширители (экспандеры) (англ. Expanders)
Расширители (экспандеры) SAS — устройства, входящие в состав подсистемы доставки данных и позволяющие облегчить передачу данных между устройствами SAS; например, расширитель позволяет подключить несколько целевых устройств SAS к одному порту инициатора. Подключение через расширитель является абсолютно прозрачным для целевых устройств.

Терминология

  • Одиночная дифференциальная пара, ведущая от одного устройства к другому (в одном направлении), называется PHY (от physical).
  • Пара PHY, образующая дуплексный канал, называется «physical link».
  • Один или несколько physical link образуют port. Если порт содержит более одного physical link, то такой порт называется «wide port».
  • Каждый port имеет sas_address. Все physical link, анонсирующие один и тот же sas_address, автоматически объединяются в один wide port (например, если у HBA есть 2 4x SAS-интерфейса, то, подключив их все вместе к enclosure, можно получить wide port 8x).

Сравнение SAS и параллельного SCSI

  • SAS использует последовательный протокол передачи данных между несколькими устройствами и, таким образом, использует меньшее количество сигнальных линий.
  • Интерфейс SCSI использует общую шину. Таким образом, все устройства подключены к одной шине, и с контроллером одновременно может работать только одно устройство. Интерфейс SAS использует соединения точка-точка — каждое устройство соединено с контроллером выделенным каналом.
  • В отличие от SCSI, SAS не нуждается в терминации шины пользователем.
  • В SCSI имеется проблема, связанная с тем, что время распространения сигнала по разным линиям, составляющим параллельный интерфейс, может различаться. Интерфейс SAS лишён этого недостатка.
  • SAS поддерживает большое количество устройств (> 16384), в то время как интерфейс SCSI поддерживает 8, 16, или 32 устройства на шине.
  • SAS обеспечивает более высокую пропускную способность (1,5, 3, 6,12 или 24 Гбит/с). Такая пропускная способность может быть обеспечена на каждом соединении инициатор-целевое устройство, в то время как на шине SCSI пропускная способность шины разделена между всеми подключёнными к ней устройствами.
  • контроллеры SAS могут поддерживать подключение устройств с интерфейсом SATA, при прямом подключении — с использованием протокола SATA, при подключении через SAS-экспандеры — с использованием туннелирования через протокол STP (SATA Tunneled Protocol).
  • SAS, так же, как и параллельный SCSI, использует команды SCSI для управления и обмена данными с целевыми устройствами.

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

Различия SAS- и SATA-разъёмов жёстких дисков[2]
  • SAS имеет частичную совместимость с SATA-устройствами лишь на уровне разъёмов и кабелей для подключения отдельных дисков. Устройства SATA используют другой физический уровень (в том числе разный уровень напряжений[3]) и другой набор команд (ATA). Для подключения SATA-устройства к домену SAS (то есть к SAS-экспандеру) используется специальный протокол STP (англ. Serial ATA Tunneling Protocol), описывающий согласование идентификаторов SAS и SATA[4].
  • Устройства SATA 1 и SAS поддерживают тегированные очереди команд TCQ (англ. Tagged Command Queuing). В то же время устройства SATA версии 2 поддерживают как TCQ, так и NCQ (англ. Native Command Queuing). В современных дисках SAS максимальная глубина очереди равна 256, для дисков SATA — 32.
  • Современные диски SAS имеют два физических порта. Это позволяет использовать такие диски в схемах с повышенной отказоустойчивостью, например, в 2-контроллерных системах хранения данных. Для некоторых СХД возможно применение дисков SATA в сочетании с дополнительными SATA-интерпозерами, обеспечивающими двухпортовое подключение[5].
  • Протокол SAS обеспечивает полнодуплексную передачу данных, в то время как SATA работает в полудуплексном режиме[6][7].
  • С дисками SAS может быть реализована сквозная проверка целостности данных (англ. End-to-end Data Protection)[8].

Инфраструктура SAS

Разъёмы

Как правило, разъёмы SAS значительно меньше разъёмов традиционного интерфейса SCSI, что позволяет использовать разъёмы SAS для подключения компактных накопителей размером 2,5 дюйма.

Существует несколько вариантов разъёмов SAS[9]:

Изображение Кодовое название Также известен как Внешн./внутр. К-во контактов К-во линков Комментарий
SFF-8482 SAS-разъём Внутренний 1 Форм-фактор, совместимый с SATA-устройствами. Позволяет подключить SATA-диск к SAS-контроллеру или бэкплейну SAS. Однако диски с интерфейсом SAS не могут быть подключены к контроллеру SATA, так как разъём SFF-8482 имеет «ключ», не позволяющий подключить обычный SATA-кабель. На рисунке изображён разъём кабеля.

Для обеспечения совместимости бэкплейнов SAS как с дисками, так и контроллерами SATA используется разъём SFF-8482 со стороны дисков и SATA-разъёмы для подключения контроллера. Кабели с разъёмом SFF-8482 используются для подключения SAS и SATA дисков напрямую к контроллеру.

SFF-8484 SAS 4x 32-pin Внутренний 32 (19) 4 (2) Разъём с высокой плотностью контактов; в стандарте SFF определены разъёмы для подключения 2 или 4 устройств. В настоящее время считается устаревшим. Вместо SFF-8484 используются разъёмы SFF-8087 (мини-SAS) и SFF-8643 (мини-SAS HD).
SFF-8485 Определяет en:SGPIO (расширение стандарта SFF 8484) — последовательное соединение, обычно используемое для управления светодиодной индикацией в бэкплейнах SAS.
SFF-8470 Разъём типа Infiniband CX4 Внешний 32 4 Внешний разъём с высокой плотностью контактов. В настоящее время считается устаревшим. Вместо SFF-8470 используются разъёмы SFF-8088 (внешний мини-SAS) и SFF-8644 (внешний мини-SAS HD).
SFF-8087 Внутренний мини-SAS, iPASS Внутренний 36 4 Внутренний разъём с высокой плотностью контактов.
SFF-8088 Внешний мини-SAS Внешний 26 4 Внешний разъём с высокой плотностью контактов. Разработан для SAS-2 (SAS-2) (6 Гбит/с на каждый линк)
SFF-8643 Внутренний мини-SAS HD Внутренний 36 4 Внутренний разъём с высокой плотностью контактов. Разработан для SAS-3 (12 Гбит/с на каждый линк)
SFF-8644 Внешний мини-SAS HD Внешний 36 4 Внешний разъём с высокой плотностью контактов. Разработан для SAS-3 (12 Гбит/с на каждый линк)

Кабели

Спецификациями SAS 2.1 и 3.0 предусмотрена максимальная длина кабелей для внешних подключений[10]:

  • 10 метров для пассивных медных кабелей;
  • 25 метров для активных медных кабелей;
  • 100 метров для оптических кабелей[11].

Примечания

Литература

Ссылки