Ещё сравнительно недавно единственным интерфейсом для твердотельных накопителей потребительского класса был Serial ATA — сначала вторая ревизия со скоростью передачи данных 3 Гбит/с, затем более современная третья с удвоенной скоростью, составляющей 6 Гбит/с. Более быстрый протокол SAS 3, обеспечивающий 12 Гбит/с, применялся только в дорогих серверных моделях. Но в наши дни интерфейс NVM Express (NVMe) завоевал не только сегмент дорогих и мощных накопителей, вроде Samsung 960 Pro, но и активно проникает в остальные сегменты — на его основе выпущены такие модели, как Intel SSD 600p или Smartbuy Enterprise Line 5007 PRO. Но сами стандарты уже немолоды — так, спецификации NVMe 1.1 были приняты 11 октября 2012 года. Впрочем, это не значит, что стандарт не развивается: на днях группа разработчиков NVM Express объявила о принятии нового стандарта NVMe 1.3.
В нём содержится ряд улучшений и нововведений: к примеру, в версии 1.3 в дополнение к стандартным средствам диагностики SMART введён новый механизм самотестирования накопителя. Он позволяет хост-системе проводить полную диагностику SSD без необходимости монтирования находящихся на нём томов. Набор тестов оставлен на усмотрение разработчиков контроллеров и прошивок к ним, но, скорее всего, через некоторое время определится два основных набора: базовый сокращённый (максимум 2 минуты) и расширенный. На пользовательские данные этот механизм оказывать влияния не будет. Другой интересной возможностью NVMe 1.3 является поддержка загрузочных разделов, к которым можно получить доступ на самом базовом уровне, не требующем наличия в системе дополнительных флеш-устройств, таких, как чипы, содержащие прошивку UEFI. Для безопасности предусматривается наличие сразу двух таких разделов: при обновлении прошивки накопителя запись будет производиться во вторичный раздел, а после проверки на целостность и корректность SSD произведёт рокировку разделов. Эта возможность, скорее всего, найдёт основное применение в компактных накопителях в корпусах типа BGA, которые используются во встраиваемых системах, планшетах, смартфонах и тому подобной технике.
Загрузочные разделы могут быть защищены при помощи механизма Replay Protected Memory Block, но это было реализовано ещё в NVMe 1.2. Среди прочего надо отметить аппаратную поддержку функции Sanitize, которая служит для безопасной очистки диска перед продажей или заменой. Вряд ли это интересно рядовому пользователю, но в корпоративном и государственном сегменте такие возможности играют очень важную роль, поскольку на старом накопителе могут оказаться секретные данные, представляющие огромную ценность. Поддерживается как обычная очистка блоков (а также кешей), так и перезапись. Предусмотрено также удаление ключа шифрования. Также новая версия NVMe получила стандартизированную поддержку средств виртуализации SR-IOV. Размер логического сектора теперь может составлять не только стандартные 512 байт или 4 Кбайт, но также и другие значения, кратные этим величинам, например, 1 Кбайт или 16 Кбайт. Соответствие размера логического блока объёму страницы флеш-памяти поможет сделать новые накопители ещё быстрее. Называется эта функция Namespace Optimal IO Boundary.
Отдельно хочется отметить такую возможность, как поддержку директив NVMe и разделение потоков. Работает это только при записи, и лучше любых слов иллюстрирует суть данной технологии вышеприведённая схема. Такая оптимизация процесса записи тоже должна привести к существенному приросту производительности накопителей с поддержкой нового стандарта. Наконец, в NVMe 1.3 появились новые режимы энергосбережения, а накопитель теперь имеет возможность сообщать хост-системе о своём уровне потребления в каждом из режимов. При наличии соответствующей поддержки со стороны ОС это сделает новые SSD ещё более экономичными не в ущерб их производительности и функциональности. К этой же сфере можно отнести более развитые средства защиты накопителя от перегрева. Вместо обычного троттлинга в NVMe 1.3 предусматривается два уровня — лёгкий и глубокий, ведь в ряде случаев для удержания температуры контроллера достаточно лишь небольшого троттлинга, который не будет приводить к чудовищному падению производительности. Этим страдают все современные NVMe-накопители, но особенно почему-то решения на базе контроллеров Marvell, поэтому настоятельно рекомендуется использовать дополнительные средства охлаждения — но это сложно сделать, если речь идёт о смартфонах и планшетах. Внедрение более гибких механизмов троттлинга в этом случае выглядит спасением.
О доступности новых SSD с поддержкой NVMe 1.3 пока ничего неизвестно; вряд ли новый протокол будет доступен простым обновлением прошивки, так что некоторое время, определённо, придётся подождать. А более полно ознакомиться с новейшим стандартом можно на сайте группы разработчиков NVM Express, в соответствующем документе в формате PDF.