
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-устройствами лишь на уровне разъёмов и кабелей для подключения отдельных дисков. Устройства 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]:
Кабели
Спецификациями 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.