SSD от Hynix как зеркало 4К-революции

20 Июн 2016

SSD от Hynix как зеркало 4К-революции

Мотивацией для появления технологии Advanced Format (увеличение раз­мера сектора на диске до 4 килобайт) является повышение произво­ди­тель­ности накопителей и рост плотности записи. Мне­ния по этому поводу, как часто бывает, разделились. С одной стороны, отказ от секторов в 512 байт, ставших «каноническими» за время развития PC-платформ, неизбежно принесет неожиданности в области совмести­мос­ти. А вот «технические эстеты», считают, что приведение в соответ­ствие размеров страницы виртуальной памяти и сектора на­ко­пи­те­ля, мож­но рассматривать как главный позитив десятилетия…

Ретроспектива вопроса

Здесь уместно вспомнить, что на заре эры твердотельных накопителей один из стратапов, специализирующихся на разработке SSD-контроллеров, провел PR-компанию, целью которой стало разъяснение преимуществ нового формата. Возмутителем спокойствия стала компания Link-A-Media Devices (LAMD), вступившая в состязание с LSI, одним из ведущих поставщиков решений для SSD. Конкурент к тому времени поглотил другой стартап – SandForce и выпускал SSD-контроллеры, которыми оснащалось большинство моделей твердотельных накопителей.

Твердотельный накопитель SL308 из семейства Canvas, разработанный компанией SK Hynix
Рис 1. Твердотельный накопитель SL308 из семейства Canvas, разработанный компанией SK Hynix

SK Hynix в те годы также комплектовался контроллером SandForce SF2281, выведя на рынок линейку драйвов SH910. Далее события разворачивались так: корейцы купили LAMD, что дало возможность перейти к «натуральному хозяйству». Обновленное семейство SH910A уже работало на базе контроллера LM87800AA. После ряда модификаций цифры в индексе сменились, и сегодня новое семейство Canvas SL308 комплектуется SSD-контроллером SH87820BB.

Преимущества 4К-формата, как их видел основатель LAMD Хемант Тапар (Hemant Thapar)
Рис 2. Преимущества 4К-формата, как их видел основатель LAMD Хемант Тапар (Hemant Thapar)

Advanced Format играл во всей истории не последнюю роль. Его использование сулило до 11% прироста производительности, а с учетом применения технологии Low Density Parity Check – и все 25%. Видимо, это стало весомым аргументом для того, чтобы SK Hynix в августе 2012 года поглотил Link-A-Media Devices.

Сегодня у нас есть возможность исследовать твердотельный диск Canvas SL308 производства SK Hynix на предмет того, как именно реализовано новшество, о котором уже пять лет столько разговоров.

Паспорт накопителя Canvas SL308 глазами UEFI

Согласно спецификации ATA Command Set (ACS), поддержка размеров секторов, отличных от классического варианта в 512 байт, индицируется полем Word 106 в паспорте твердотельного диска. Представляем результаты небольшого низкоуровневого эксперимента, выполненного с помощью утилиты RU.EFI.

Поддержка размеров секторов индицируется полем Word 106 в паспорте SSD-диска
Рис 3. Поддержка размеров секторов индицируется полем Word 106 в паспорте SSD-диска

Номер 16-битного слова 106 соответствует номеру байта: 106*2 = 212 = D4h. В дампе паспорта диска, 16-битное слово по смещению 0D4h, которое именовано как Physical sector size/Logical Sector Size, равно 6003h = 0110.0000.0000.0011b, биты [15-0].

Биты, имеющие отношение к размеру логических и физических секторов, расшифруем согласно следующей таблице.

  • Бит D13=1 (Device has multiple logical sectors per physical sector), означает, что физический сектор может содержать несколько логических секторов.
  • Биты D[3-0] = 0011b = 3, это степень, в которую надо возвести двойку, чтобы получить количество логических секторов в физическом секторе. 2 в степени 3 = 8, таким образом размер физического сектора равен: 512 * 8 = 4096 байт = 4 Килобайта.

Поскольку эта ситуация является типовой, именно это значение Word[106] = 6003h особо прокомментировано в спецификации ATA Command Set:

Надо сказать, что термин «размер физического сектора» здесь условен, и отражает разбиение одного большого блока на несколько меньших при передаче данных между накопителем и хостом. Несмотря на то, что он назван «физическим», не обязательно, что сектор Flash-памяти или сектор на поверхности HDD будет иметь такой же размер.

Для улучшения производительности таких дисков, применяется специальное форматирование, при котором размер и базовый адрес кластера файловой системы кратен размеру сектора 4096 байт, чтобы ОС генерировала только выровненные запросы при доступе к диску.

Иначе может катастрофически упасть скорость записи данных, так как если хост, например, потребует записать 512 байт данных, накопителю придется прочитать сектор = 4096 байт в память, модифицировать в памяти целевые 512 байт, и записать 4096 байт обратно, такой режим записи называется RMW (Read-Modify-Write). Современные ОС учитывают это обстоятельство автоматически, в то время как несколько лет назад, при появлении таких дисков, данный фактор являлся проблемой.

Итоги: какой из 4К-форматов поддерживают SSD-диски Canvas?

Вернемся к нашему устройству. Согласно спецификации ACS, существует два варианта поддержки 4KB секторов.

  1. Если параметр Word[106]=6003h, размер логического сектора остается равным 512 байт, а физический (вернее, псевдо физический, с учетом ранее сделанных примечаний) сектор имеет размер 4096 байт. В этом случае, адресуемым квантом при чтении и записи данных является классический сектор, размером 512 байт (в таких единицах указывается размер блока данных для чтения и записи), но при этом, для достижения оптимальной производительности, базовый адрес и размер блока должны быть кратны 4096.
  2. Если параметр Word[106]=6000h, размер логического сектора равен размеру (псевдо)физического, увеличению до 4096 байт подвергаются оба параметра. Здесь адресуемым квантом при чтении и записи данных является сектор, размером 4096 байт (в таких единицах указывается размер блока данных для чтения и записи), при этом требование кратности базового адреса и размера блока величине 4096 байт, выполняется по определению.

Согласно дампу, в SSD-диске Canvas SL308 имеет место первый, более консервативный случай: Word[106]=6003h, побитная расшифровка приведена выше. Таким образом, адресуемым квантом данных в исследуемом накопителе является 512 байт (а не 4096, как было бы во втором случае), но для увеличения производительности требуется выравнивание адресов и размеров передаваемых данных по границам 4K-секторов.

Это означает, что способ реализации Advanced Format в твердотельных дисках от SK Hynix, является оптимальным компромиссом между совместимостью и эффективностью. Программное обеспечение по-прежнему оперирует секторами размером 512 байт, а обмен данными с устройством выполняется с минимальными накладными расходами блоками по 4 килобайта — теперь это единый стандарт и для оперативной памяти, и для Mass Storage устройств.