Чем отличается NVMe от SATA в SSD и что лучше?

Чeм NVMe лучшe SATA и пoчeму вaм пoрa пeрexoдить нa эти SSD

Чeм NVMe лучше SATA и почему вам пора переходить на эти SSD

Когда-нибудь рынок сделает это за вас. То есть, переведёт ваши компьютеры на NVMe. Старые SATA-накопители можно будет найти только на барахолках, в музеях или военных бункерах, где десятилетиями ничего не обновляется. Если вы не хотите ждать милости от прогресса и хотите увидеть реальные доводы в пользу NVMe прямо сейчас, то этот текст для вас. Внимание: в нём будет много непонятных слов и аббревиатур, так что наберитесь храбрости.

О чём вообще речь?

Мы говорим об отличиях между SSD-накопителями SATA и NVMe. Хотя, строго говоря, эти два понятия нельзя сравнивать напрямую. Дело в том, что NVMe   — это протокол связи, который может использоваться в накопителях разных форм-факторов, а SATA   — интерфейс со вполне   конкретными характеристиками и определенным разъёмом для подключения. То есть, упрощая, мы, конечно, расскажем, почему NVMe лучше SATA, но в голове держим понимание этой особенности.

NVMe   — это же новый стандарт, верно?

Относительно. С 2009 по 2011 год рабочая группа трудилась над первой версией стандарта, а с тех пор он уже был несколько раз обновлён. Что касается устройств, использующих его в работе, то первые коммерческие продукты появились в 2013 году. Глядя на то, как быстро развиваются технологии, в 2021 году как-то не назовешь NVMe новинкой, это, скорее, уже мейнстрим.


А что было до него? Как работала связь с SSD-накопителями?

Сейчас расскажу, но начать придётся с самого начала.  

Античность: Parallel ATA (IDE)

Ни о каких массовых SSD-накопителях в далеких 80-х речь, конечно, не шла, но инженерная задача уже появилась. Она заключалась в обмене данными между компьютерами типа PC и накопителями, роль которых выполняли традиционные магнитные жёсткие диски и съёмные носители. С легкой руки компании IBM в обиход вошла 16-битная шина ISA, под которую первоначально и разработали интерфейс IDE (Integrated Drive Electronics). В этом, ныне устаревшем, решении использовалось несколько тогдашних «киллер-фич»: интеграция в накопитель, стандартизация команд, поддержка двух устройств на каждом канале. Старожилы наверняка помнят джамперы «master/slave» на жестких дисках (для определения ролей этих самых двух устройств), но, возможно, забыли, что изначально объем IDE-накопителей был ограничен 528 мегабайтами. Конечно, с развитием стандарта это ограничение ушло в историю, как и отдельные интерфейсы для оптических приводов. Увеличилась и скорость работы: появился прямой доступ к памяти (DMA), и знающие люди стали сочувственно качать головой, услышав, как у товарища «диск свалился в PIO» (т. е. из-за неполадок перешел в старый режим Programmed input/output, из-за чего стал дико тормозить   и грузить процессор при работе). Но для качественного скачка нужна была совсем новая технология, и ей стал более практичный и быстрый интерфейс SATA.

Новое время: Serial ATA и AHCI

Характерные красные (как правило) кабели с 7-контактными разъемами можно встретить   и в современных системных блоках. Первой версии этого интерфейса уже 18 лет в обед, с тех пор SATA-накопители нарастили максимальную скорость передачи данных с 1,5 до 6 Гбит/с. С логической точки зрения SATA тоже сильно отличается от IDE. В основе работы SATA-накопителей лежит механизм AHCI (Advanced Host Controller Interface). Интересно, что одно из его важнейших нововведений   — технология NCQ   (Native Command Queuing)   — изначально рассчитана на работу с жесткими дисками. Она сортирует   команды таким образом, чтобы магнитная головка выполняла меньше движений для доступа к разным участкам вращающихся пластин. Представляете себе эту палеонтологию: где магнитные пластины, и где современные   быстрые SSD? Однако не все SSD одинаково быстры. Первые версии твердотельных накопителей вынуждены были использовать существовавшую на тот момент экосистему. С точки зрения системной архитектуры это выглядит примерно так: процессор и память через шину (разумеется, уже давно не ISA, а актуальную PCIe) связываются с хост-адаптером AHCI, работающем с устройствами SATA. Твердотельная память может работать гораздо быстрее, поэтому нужно было максимально упростить работу с ней, убрав всех посредников. Так появилась технология NVMHCI (Non-Volatile Memory Host Controller Interface), более известная как NVMe, работающая напрямую с шиной PCI Express.

Получается, NVMe накопитель можно подключить напрямую в PCIe, как видеокарту?

Да, но на практике всё зависит от конструкции конкретного накопителя. Модели, предназначенные для установки в слот PCI Express и конструктивно изготовленные в виде классических плат расширения   — сравнительно редкое явление на массовом рынке. В серверах применение нашли несколько разных форматов, от классических 2,5-дюймовых U.2 до более специфических Intel EDSFF   и компактных Samsung NGSFF. В обыкновенных компьютерах современные NVMe-накопители по старинке могут упаковываться в 2,5-дюймовый корпус, но все чаще используют компактный разъём M.2. И с ним связана некоторая путаница, которой важно избежать при подборе компонентов. Дело в том, что физически разъём М.2 используется для подключения как NVMe, так и SATA-накопителей. Да, есть SSD, поныне использующие   медленное SATA-подключение. Визуально разницу можно понять благодаря двум характерным прорезям на коннекторе, по скорости же SATA ограничивает накопитель планкой в 600 МБ/с.   



SSD-накопитель М.2 с SATA


SSD-накопитель М.2 с   NVMe
Интерфейс PCIe SATA III
Протокол NVMe AHCI
Шина PCIe x2 x4 PCIe x2 x4 SATA III
Форм-фактор M.2, U.2, PCIe M.2, PCIe M.2, 2,5″
Макс. скорость чтения >3000 МБ/с >2000 МБ/с >500 МБ/с
Макс. скорость записи >2000 МБ/с >1500 МБ/с >500 МБ/с

О, давайте про скорость. Насколько быстро работает   NVMe?

Как мы уже знаем, NVMe работает напрямую с шиной PCI Express и теоретически ограничен её пропускной способностью. Напомню, что спецификация самого свежего PCI Express 4.0 определяет потолок скорости в 8 ГБ/с для четырех линий (а именно в таком режиме, как правило, работают SSD-накопители). В грядущем PCI Express 4.0 этот порог вырастет ещё вдвое. Разница впечатляет, правда?



Да, но реальная скорость ведь меньше? За счет чего она увеличивается?

Разумеется, есть нюансы. Не зря ведь в AHCI внедрили очередь команд NCQ   в стремлении повысить производительность накопителей. У NVMe по сравнению с SATA планка возможностей гораздо выше, поэтому арсенал для её   освоения тоже серьёзный. Прежде всего   — это радикальным образом измененная работа с очередями команд. Для иллюстрации изменений лучше всего подойдет таблица.

AHCI NVMe
Максимальная глубина команд одна очередь команд, 32 команды в очереди 65536 очередей, 65536 команд в очереди
Некешируемые запросы регистра (каждый по 2К циклов) 6 на команду без очереди, 9 на команду в очереди 2 на команду
MSI-X и управление прерываниями одно прерывание, без управления 2048 MSI-X прерываний
Параллелизм и многопоточность с блокировкой синхронизации без блокировки
Эффективность для 4КБ команд параметры команды требуют двух выборок от хоста DRAM   параметры команды передаются в одной 64-байтной выборке

В самих командах тоже навели порядок, их стало меньше (всего 13, если не считать управляющих и резервных), работать с ними стало проще. Особенно с учетом того, что NVMe-контроллер является частью накопителя и обмен данными происходит без лишних посредников.

Круто, но как правильно выбрать NVMe-накопитель?

Во-первых, вас уже можно поздравить с правильным выбором технологии. SATA-диски в 2021 году есть смысл покупать только для решения специфических задач, поэтому NVMe   — вариант по умолчанию.

Во-вторых, давайте посмотрим на конкретные типы   NVMe-устройств, которые можно рекомендовать к выбору, и их характеристики.

Смотрите на форм-фактор. В подавляющем большинстве случаев ваш выбор   — компактный M.2. Формат 2,5 дюймовых накопителей обычно используется для моделей работающих по SATA, они нам неинтересны. Если у вас почему-то нет разъема M.2, но есть бюджет на дорогой и производительный накопитель, то   обратите внимание на SSD, реализованные в виде карты PCI Express. Есть и другие, менее распространенные форматы, но, скорее всего, вам они не понадобятся, потому что используются в основном в серверах и системах хранения данных, мы упоминали их выше.

Габариты. Да, они зависят от форм-фактора, но обратите особое внимание на них, если выбираете накопитель для ноутбука, неттопа или домашнего медиацентра в компактном корпусе. В некоторых случаях нужно буквально измерить свободное место линейкой, а затем сравнить с характеристиками выбранного устройства перед покупкой. Обработать напильником не влезающую в корпус плату накопителя не получится, так что будьте внимательны.  

Не забудьте про версию PCI Express. В данный момент вы можете встретить SSD, работающие как с третьей, так и с четвертой версией этого стандарта. PCI Express 4.0 быстрее, но его поддержка должна быть заложена на уровне материнской платы.

Тип памяти. Этот вопрос выходит за рамки обсуждения NVMe и относится к самому флеш-накопителю. Разница между типами заключается в плотности хранения данных. Чем плотнее, тем оптимальнее по цене, но потенциально медленнее. Самой быстрой, но и не массовой, можно считать память типа SLC, далее по возрастанию плотности идут MLC, TLC и QLC. Однозначно сказать, что память какого-то одного типа заведомо лучше, чем память другого, было бы неправильно. Производители постоянно оптимизируют технологии создания чипов, поэтому тип памяти не должен быть ключевым фактором.  

SSD-накопители Samsung с NVMe

Редакция   благодарит компанию   Samsung за помощь в подготовке этого материала.

You can skip to the end and leave a response. Pinging is currently not allowed.

Leave a Reply

You must be logged in to post a comment.