Что такое NVMe SSD: чем он лучше SATA
Аббревиатура NVMe уже давно вошла в повседневную жизнь, но что это такое? Чем NVMe SSD лучше SATA? Давайте разбираться.
Первые твердотельные накопители использовали устаревшие физические интерфейсы 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 тысяч команд с малой задержкой и большой глубиной очереди.
Читайте также