Первые твердотельные накопители использовали устаревшие физические интерфейсы SATA/SAS и протоколы. Это объяснялось просто: производителям нужно было сократить издержки людей и компаний, собирающихся перейти с жестких дисков на SSD.
Но ни один из этих интерфейсов и протоколов не был рассчитан на высокоскоростные накопители, откровенно тормозя их работу.После появления PCIe ситуация немного улучшилась, но первые PCIe SSD не использовали никаких корпоративных стандартов, не имели единых функций и, в целом, затрудняли актуальное как для корпоративного, так и потребительского рынка масштабирование системы.
Потребность в едином протоколе, способном работать с быстрыми SSD, нарастала.
Поэтому неудивительно, что после появления NVMe, этот интерфейс быстро вошел в обиход и теперь используется практически во всех современных SSD.
NVMe или Non-Volatile Memory Express – это свежий протокол, разработанный специально для твердотельных накопителей, подключаемых по шине PCIe.
Он обеспечивает намного более высокую скорость обмена данными по сравнению с SATA SSD, использующими AHCI, что объясняется сразу несколькими причинами.
Параллелизм и глубина очередиЕсли устаревший SATA SSD может работать только с одной очередью, глубина которой ограничена 32 командами, то протокол NVMe добавляет твердотельным накопителям возможность одновременного обслуживания до 65 тысяч очередей с таким же числом команд в каждой.
Если проводить параллель с обычной жизнью, представьте себе забитый народом огромный торговый центр только с одной работающей кассой.
Сколько времени вам придется провести в Центре, пока вы не сможете выйти из него с покупками? Это и есть SATA SSD. А теперь представьте тот же торговый центр с 65 тысячами касс, скорость обслуживания вырастет просто многократно.
Конечно, на деле столько касс вам не понадобится, но в этом случае NVMe обеспечивает необходимый задел на будущее.
Ведь прогресс не стоит на месте.Механизм прерыванийПротокол NVMe не только увеличивает пропускную способность за счет введения параллелизма и увеличения глубины очереди, но и использует прерывания, позволяя приоритизировать команды, ускоряя прохождение очереди наиболее важными из них.
Опять же, представьте ситуацию из реальной жизни. Вечер вторника, все едут с работы и на улицах стоят огромные пробки.
Внезапно сзади подъезжает скорая помощь со включенными спецсигналами. Все участники движения расступаются перед ней, и автомобиль уносится к своей цели.
Так происходит и с приоритетными командами, которые автоматически встают вперед очереди.Оптимизация под многоядерные процессорыПротокол NVMe позволяет нескольким ядрами процессора совместно владеть несколькими очередями, управлять приоритизацией и механизмом арбитража.
Благодаря этому NVMe SSD могут распределять команды и обрабатывать их вне очереди. Вспоминаем аналогию с машиной скорой помощи.
Помимо этого NVMe исключил из цепочки контроллер SATA, с которым вынуждены работать накопители с протоколом AHCI. Вместо этого NVMe напрямую взаимодействует с системным процессором, резко увеличивая число операций ввода/вывода в секунду (IOPS).
У NVMe этот показатель уже зачастую превышает 1 млн, тогда как возможности AHCI ограничены 100 тысячами IOPS.
Быстрый доступ к оперативной памятиNVMe заметно ускоряет работу с оперативной памятью, когда речь идет о небольших объемах сохраняемой/считываемой информации. Все дело в том, что если предшественнику этого протокола требовалось инициировать две операции в оперативную память, то для NVMe достаточно одного запроса при чтении блоками по 4 Кбайт.
ВыводыПереход на интерфейс PCIe и появление протокола NVMe привели к резкому росту скорости работы твердотельных накопителей.
И если обычный SATA SSD ограничен скоростью последовательного доступа к памяти в 560 Мбайт/с, то средний NVMe SSD предлагает в несколько раз более высокую скорость работы.
К примеру, далеко не самый быстрый WD Black WDS100T3X0C имеет скорость последовательного чтения до 3470 Мбайт/с и скорость записи до 3000 Мбайт/с.
Произошел резкий скачок производительности SSD и в операциях с произвольным доступом. Скорость случайной записи того же WD Black WDS100T3X0C достигает 560000 IOPS против скромных 90К IOPS у обычного твердотельного накопителя с интерфейсом SATA.
По сути, NVMe удалось устранить узкие места и снять ограничения устаревших протоколов, обеспечив параллельное выполнение 65 тысяч команд с малой задержкой и большой глубиной очереди.
Читайте такжеНакопители SSD на 512 Гбайт: лучшие модели на рынкеТоп-5 NVMe-накопителей, которые превратят ваш игровой ПК в ракету.