NVMe и SATA: чем отличаются и что быстрее?

03Июн

Итак, что такое NVMe и какие преимущества имеет перед общеизвестным интерфейсом SATA.

NVMe (Non-Volatile Memory Express) - это интерфейсный протокол, созданный специально для твердотельных накопителей (SSD). SSD не имеют движущихся частей и во многих отношениях более прочные, чем HDD. На данный момент, SSD уже являются основным источником хранения для смартфонов и планшетов. При этом твердотельные накопители стоят дороже, чем жесткие диски, и часто используются в качестве кэш-памяти в сочетании с жесткими дисками для ускорения работы компьютерных систем.

Поскольку твердотельные накопители все чаще стали заменять медленные жесткие диски (HDD) на компьютерах, потребовался новый интерфейс, способный использовать возможности более высокой скорости накопителей. До появления данного интерфейса, при установке SSD доступ к нему осуществлялся через такие интерфейсы, как Serial Attached SCSI (SAS) и Serial ATA (SATA), которые исторически использовались с не такими быстрыми жесткими дисками, как SSD. При этом SSD имеют явное преимущество благодаря более быстрому доступу через стандарт последовательной шины PCI Express (PCIe). NVMe был создан с нуля как новый способ эффективного доступа к устройствам хранения, которые специально созданы с энергонезависимой (флэш) памятью - SSD. NVMe обеспечивает более быстрый интерфейс для использования скоростей, на которые способны SSD.

Фактически, NVMe представляет собой оптимизированный масштабируемый интерфейс хост-контроллера, разработанный для удовлетворения потребностей корпоративных систем, центров обработки данных и клиентских систем, использующих твердотельные накопители на основе PCI Express (PCIe). Спецификация для стандарта NVMe доступна на nvmexpress.org.

Альтернативными интерфейсами SSD (для замены жестких дисков на ПК) являются Serial ATA (SATA), mSATA или PCIe. Для PCIe внутренний интерфейс может использоваться, если SSD находится на плате, которую можно подключить к разъему PCIe на материнской плате. Современные серверы могут получать доступ к SSD через последовательный SCSI (SAS), SATA, PCIe или оптоволоконный канал.

Твердотельные накопители на базе NVMe используют PCIe для создания уменьшенной задержки. Форм-факторы, которые использует протокол NVMe, должны подключаться к PCIe на компьютере. Подключения для NVMe могут быть выполнены через карту расширения PCIe, 2,5-дюймовый разъем U.2 или малый форм-фактор M.2. Производители твердотельных накопителей, похоже, переходят на PCIe, причем большинство используют разъем M.2, известный как «Форм-фактор следующего поколения».

Как работает NVMe?

Для NVMe система «Submission and Completion Queue» (очереди на исполнение и завершенная очередь) - это один из механизмов, использующих преимущества технологии SSD. Программное обеспечение хоста очереди управляет потоком данных SSD, создает и удаляет отдельные очереди, отменяет команды и т.д. Компьютер с четырьмя ядрами может иметь четыре пары очередей, чтобы гарантировать, что структуры данных хранятся в кэше соответствующего ядра (см. Рисунок). NVMe поддерживает несколько глубоких независимых очередей.

Рисунок. Для NVMe система «Submission and Completion Queue» (очереди на исполнение и завершенная очередь) - это один из механизмов, использующих преимущества технологии SSD (Изображение: nvmexpress.org)

NVMe SSD на рынке

Изначально NVMe создавалось для корпоративных систем и центров обработки данных. Сейчас NVMe постепенно выходит на потребительский рынок.

Предел пропускной способности SATA составляет 6,0 гигабит в секунду (Гбит/с), в то время как SAS - 12 Гбит/с. NVMe - это интерфейсный протокол, который использует технологию PCIe для передачи данных между процессором и твердотельным накопителем. PCIe 3.0 был выпущен в 2010 году и обеспечивает ~ 1 ГБ/с на линию (двунаправленный). При 4 линиях пропускная способность PCIe 3.0 составит 8 Гбит/с в обоих направлениях одновременно (дуплекс), что в сумме составит 16 Гбит/с. PCIe также масштабируемый. На 16 линиях PCIe 3.0 дает дуплекс 16 Гбит/с. Спецификация PCIe 4.0 была опубликована в конце 2017г. По сравнению с PCIe 3.0 удвоилась пропускная способность, уменьшены задержки, улучшена масштабируемость и поддержка виртуализации. Появление спецификации стандарта PCI Express 5.0 запланировано на 2019г. Ожидается, что скорость передачи данных по шине PCI Express 5.0 составит уже 32 GT/s (Гигатранзакций/с).