Дисковые накопители: снова революция?

Соревнование магнитных приводов с твер­до­тель­ны­ми дисками проходит на фоне ре­во­лю­ци­он­ных из­ме­не­ний ин­тер­фе­й­сов самих на­ко­пи­те­лей. По­су­ди­те сами: прак­ти­че­ски каждые десять лет один стан­дарт передачи дан­ных бес­по­во­рот­но сменяет другой. Чего ожидать от SATA Express ­– последней ини­ци­а­ти­вы раз­ра­бот­чи­ков жестких дисков?

NGFF

Экспресс-анализ новинки

Как следует из выше сказанного, далее речь пойдет о замене SATA-устройств на аналогичные, но под­клю­ча­е­мые не­по­сред­ст­вен­но к шине PCI Express. Фактически, есть два подхода к такой реализации, каждый из ко­то­рых об­ус­лов­лен своей спецификацией:

  • SATA Express предусматривает подключение накопителя к PCIe-разъему с помощью гибкого кабеля;
  • M.2 предусматривает конструктивное исполнение накопителя в виде платы расширения, устанавливаемой в разъем на системной платформе.

Если отвлечься от типа разъема, обе спецификации идейно близки друг к другу, так как описывают ме­тод и способ передачи данных непосредственно через PCIe-шину в уст­рой­ст­во хра­не­ния ин­фор­ма­ции. Это подразумевает интеграцию хост-контроллера в состав жесткого диска (вернее, SSD-на­ко­пи­те­ля). При этом сам накопитель становится PCI Express устройством, даже бу­ду­чи под­клю­чен­ным по­сред­ст­вом при­выч­но­го SATA-кабеля. Контроллер Serial ATA, как про­ме­жу­точ­ное зве­но меж­ду сис­те­мой и на­ко­пи­те­лем, уп­разд­ня­ет­ся.

Отметим, что такая модернизация не потребует серьезных конструктивных изменений, ведь интерфейс PCI Express, также как и SATA основан на использовании дифференциальных пар для передачи сигналов. Конечно, во время пе­ре­ход­но­го пе­ри­о­да накопители и пер­со­наль­ные плат­фор­мы должны будут под­дер­жи­вать как новые, так и старые ин­тер­фей­сы. Поэтому фун­к­ци­о­наль­ная избыточность неизбежна…

На пути к реализации

Поддержка интерфейсов SATA Express и M.2 анонсирована в чипсетах Intel 9 серии. Теоретически, для связи с на­ко­пи­те­лем можно использовать различные конфигурации PCI Express, отличающиеся количеством линков и по­ло­сой про­пус­ка­ния. Например, два линка PCI Express 3.0 обеспечат пропускную способность около 2 Гигабайт в се­кун­ду. Для срав­не­ния, SATA 3.0 обес­пе­чи­ва­ет пропускную способность около 0.6 Гигабайт в секунду.

Сравнение производительности SATA интерфейсов с возможностями PCI Express шины в контексте потребляемой мощности


Рис 1Сравнение производительности SATA интерфейсов с возможностями PCI Express шины в контексте потребляемой мощности

В результате, при упрощении архитектуры дисковой подсистемы и удалении промежуточного звена (SATA-кон­т­рол­ле­ра) мы получаем увеличение производительности. Причем, без потери программной со­вмес­ти­мо­с­ти со стандартом AHCI (Advanced Host Controller Interface), принятым в индустрии. Подозрительно хо­ро­шо, не правда ли? Только вот, яв­ля­ет­ся ли модная инициатива «расшивкой узких мест»?

Наброски к истории вопроса

Очередные революционные изменения в архитектуре дисковых подсистем мы сравним с событиями более чем двад­ца­ти­лет­ней дав­но­сти (см., например, «Размер имеет значение»), когда жесткие диски с ин­тер­фей­сом IDE (In­te­g­ra­ted Drive Electronics) пришли на смену устройствам MFM (Modified Frequency Modulation). Логика управления накопителем, схе­мы формирования импульсов позиционирования, каналы чтения-записи данных и ряд других узлов пе­ре­мес­ти­лись из кон­т­рол­ле­ра в накопитель. Предельно упростившийся контроллер представлял собой со­во­куп­ность бу­фе­ра дан­ных и ад­рес­но­го се­лек­то­ра. Сложной ло­ги­ки для сопряжения не требовалось, ведь многие сигналы IDE-ин­тер­фей­са ло­ги­че­ски эк­ви­ва­лен­т­ны сиг­на­лам ис­поль­зу­е­мой в те времена ISA-шины.

Шло время, контроллер IDE стал эволюционировать и усложняться, появилась возможность про­грам­ми­ро­ва­ния тай­мин­гов интерфейса и поддержки различных режимов PIO Mode. Контроллер постепенно при­об­ре­тал чер­ты про­с­тей­ше­го про­цес­со­ра ввода-вывода и способность вза­и­мо­дей­ст­во­вать с оперативной памятью без участия CPU для чте­ния и записи дисковых данных, а впос­лед­ст­вии, даже изменять порядок выполнения команд с целью ми­ни­ми­за­ции ме­ха­ни­че­ских пе­ре­ме­ще­ний блока магнитных головок.