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 лишён этого недостатка.
- 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-устройствами лишь на уровне разъёмов и кабелей для подключения отдельных дисков. Устройства 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].
Примечания
править- ↑ T10.
- ↑ Demartek Storage Networking Interface Comparison Архивная копия от 11 августа 2019 на Wayback Machine // Статья от 31.07.2019 г. на сайте demartek.principledtechnologies.com.
- ↑ Bill Bissonette.
- ↑ Robert Elliott.
- ↑ Willis Whittington.
- ↑ Anthony Vandewerdt.
- ↑ SanDisk.
- ↑ Jim Williams, Martin Petersen.
- ↑ Seagate: SFF specs.
- ↑ SNIA.
- ↑ FCI.
Литература
править- Serial Attached SCSI Master Roadmap . Дата обращения: 31 марта 2015. Архивировано из оригинала 24 марта 2015 года.
- Сайт комитета T10 .
- Bill Bissonette. Summary of SAS-SATA OOB Algorithm, Rev. 0 (англ.) (PDF). T10 (2005). Дата обращения: 9 апреля 2015. (недоступная ссылка)
- Robert Elliott. Serial Attached SCSI (SAS) Interface Manual, Rev. B (англ.) (PDF). Seagate Technology LLC (2006). Дата обращения: 9 апреля 2015.
- Willis Whittington. Desktop, Nearline & Enterprise Disk Drives (англ.) (PDF) 17. SNIA (2007). Дата обращения: 8 апреля 2015.
- Anthony Vandewerdt. Riddle me this: When is a SAS drive not a SAS drive? (англ.). IBM (21 февраля 2012). Дата обращения: 18 ноября 2015.
- Jim Williams, Martin Petersen. Data Integrity in the Storage Stack (англ.) (PDF). SNIA (2008). Дата обращения: 8 апреля 2015.
- Спецификации комитета SFF . Дата обращения: 31 марта 2015.
- Bob Hansen. Extending SAS connectivity in the datacenter (англ.) (PDF). SNIA (2013). Дата обращения: 9 апреля 2015. Архивировано из оригинала 14 апреля 2015 года.
- Mini-SAS HD Active Optical Cable (англ.). FCI. Дата обращения: 18 ноября 2015. Архивировано из оригинала 19 ноября 2015 года.
- Differences between SAS and SATA (англ.). SanDisk. Дата обращения: 18 ноября 2015.