Nvme ssd что это


Что такое NVMe SSD

Уже на протяжении почти 15 лет мы подключаем накопители к ПК через SATA — небольшой универсальный 7-контактный разъем, который есть и в ноутбуках, и в десктопных компьютерах. Первая ревизия, SATA 1, появилась в 2003 году и обеспечивала скорости до 150 МБ/с — этого более чем хватало для подключения жестких дисков (да и сейчас хватает), про SSD тогда никто еще не слышал. В середине нулевых стали появляться первые пользовательские SSD. Они были дорогими и малоемкими (16-64 ГБ), но уже имели скорости выше 150 МБ/с, так что появилась вторая ревизия SATA, которая могла работать со скоростями до 300 МБ/с. Однако и этого вскоре стало мало, и в 2008 году появилась третья ревизия SATA со скоростями уже до 600 МБ/с. При этом мы живем в то время, когда производительность даже самых дешевых SSD упирается уже не в скорость чипов, а в пропускную способность интерфейса: почти все современные SSD имеют скорости чтения больше 500 МБ/с, то есть проблема уже в самом интерфейсе. И в последнее время все большее число SSD стали выходить с поддержкой протокола NVMe, который пока еще не сдерживает скорости даже лучших SSD — а они составляют до 3 ГБ/с!

История появления NVMe

Идея подключения SSD через шину PCI Express появилась и до NVMe, но проблема была в том, что это были закрытые протоколы — а они зачастую имели недоработки, приводившие к потере скорости. К тому же цена таких решений была баснословной, и многие не понимали, зачем за них переплачивать, если и обычных жестких дисков хватало с лихвой. Но в крупных корпорациях понимали, что за SSD — будущее, и вот, в 2007 году, при поддержке Intel был представлен новый интерфейс — NVMCHI (Non-Volatile Memory Host Controller Interface). Его доработкой занимались целых 4 года, и первая версия NVMe вышла только в 2011 году, однако серьезного распространения не получила: во-первых, тогда SSD все еще были уделом или MacBook, или 2.5 ультрабуков, или топовых игровых компьютеров. Большинство пользователей сидели на Windows 7 с жесткими дисками и радовались жизни — то есть SSD были в принципе не нужны, и главное — крайне дороги. Во-вторых, даже то небольшое число пользовательских моделей SSD имело скорости ощутимо меньше 600 МБ/с, то есть NVMe с его несколькими гигабайтами в секунду был не нужен. И в-третьих — у интерфейса было множество детских болезней: так, нельзя было обновить прошивку такого SSD с него самого, не было расширенного управления питанием, были проблемы при подключении сразу нескольких таких SSD. Разумеется, все это было исправлено в новых ревизиях, и NVMe 1.2 от 2014 года был уже вполне работоспособен. Плюс к тому времени уже были SSD, которым 600 МБ/с было маловато, так что новый интерфейс стал достаточно активно развиваться.

Технические характеристики и отличие от AHCI

SATA был лишь физическим интерфейсом, за логическую часть отвечал AHCI (Advanced Host Controller Interface), который как появился вместе с SATA 1 в 2003 году, так и не менялся. Разрабатывался он для жестких дисков, и поэтому с SSD работал не очень хорошо — на одном канале (а на одно SATA-устройство и был один канал) могла исполняться лишь одна команда. В случае с жесткими дисками проблем не было — головка диска в один момент времени физически могла получить доступ к одной ячейке. Но вот с SSD это не так, и поэтому такая работа вызывала существенные простои. NVMe же изначально разрабатывался для именно для твердотельных накопителей, и тут делался упор на наименьшие задержки и на параллельный доступ. Общая сравнительная таблица выглядит так:
Параметр

AHCI

NVMe

Максимальная глубина очереди запросов Одна очередь, до 32 команд в очереди 65 536 очередей до 65 536 команд в каждой очереди
Некэшируемые доступы к регистрам (2 000 циклов каждый) Шесть на команды вне очереди; девять на команды очереди Два на команду
MSI-X и управление прерываниями Одно прерывание, управление отсутствует 2 048 прерываний, передаваемых сообщениями или MSI-X (Message Signaled Interrupt Extended)
Многопоточность и параллелизм Требуется фиксация синхронизации для выдачи команды Не требуется
Эффективность для команд 4 Кбайт Параметры команды требуют два серийных запроса DRAM Все параметры получаются в одном 64-байтном запросе
Как видно, NVMe лучше во всем — до 64К очередей, то есть нагрузка распараллеливается. Так же есть возможность управления прерываниями, то есть при наступлении приоритетной задачи NVMe SSD начнет ее выполнять быстрее. Также серьезно ниже задержка при выполнении команд: в случае с AHCI это 2 запроса DRAM, то есть даже с DDR4 это порядка 100-150 нс — меньше время ответа у SATA SSD быть не может. В случае же с NVMe запрос только один, что позволяет уменьшить задержки вдвое. Ну и самое главное — скорости: NVMe SSD подключаются через PCI Express 3.0 x4, что в теории обеспечивает скорость до 3.2 ГБ/с — до 5 раз быстрее, чем SATA SSD.

Форм-факторы NVMe SSD

Традиционно эти SSD подключаются как платы расширения PCI Express — то есть используются те же слоты, что и для видеокарт. Однако такой тип подключения все больше сходит на нет: во-первых, все больше пользователей переходит на ноутбуки, где полноценного PCIe быть не может. Во-вторых, на рынке все больше компактных материнских плат, где слотов PCIe или 1, или 2, но из-за «толстых» видеокарт второй зачастую бывает перекрыт, а первый почти всегда занят видеокартой:

Второй форм-фактор это U.2. Обычному пользователю он мало интересен, так как используется на серверах, имеет возможность «горячей» замены и меньшие (в сравнении с платами расширения PCIe) размеры:

Ну и самый компактный и наиболее развивающийся форм-фактор это M.2 — его активно используют в ноутбуках, а начиная с 100ой линейки чипсетов от Intel он стал появляться уже и на материнских платах. Однако нужно быть осторожным: в этом форм-факторе есть и SATA SSD, и как их отличить — можно почитать в этой статье:

Целесообразность покупки NVMe SSD.

На данный момент цены на NVMe SSD достаточно сильно упали, и уже близки к ценам на обычные SSD. Поэтому, разумеется, возникает вопрос — а есть ли смысл их брать? Для того, чтобы ответить на этот вопрос, нужно посмотреть на установленное в вашем устройстве «железо»:
  • На устройстве нет M.2 слотов или они поддерживают только SATA. Если у вас ноутбук — то ничего сделать нельзя, пользуйтесь SATA. И, вообще говоря, раз производитель не стал делать M.2 слот, то это банально не нужно — все упрется в производительность процессора, и выигрыш от быстрого SSD не ощущался бы. Если же у вас ПК, и есть свободный слот PCIe — все уже зависит от вас: если у вас стоит мощный процессор (Core i5, i7), материнская плата поддерживает NMVe, и вы часто работаете с массивами данных — стоит задуматься о покупке NVMe SSD, он может серьезно ускорить работу. Ну а если у вас слабый процессор (Core i3, Pentium), или материнская плата вышла до 2011 года — никакого смысла в покупке NVMe нет, совет тот же, что и с ноутбуком — пользуйтесь SATA SSD, вам его заглаза хватит.
  • На устройстве есть M.2 слот, поддерживающий NVMe. Если у вас ноутбук — то, скорее всего, он относится к верхнему ценовому сегменту, и в этом разъеме уже стоит SSD (и, возможно, есть второй диск — HDD). Более того — у вас скорее всего и выбора-то нет: в дорогих ноутбуках обычно один-два слота M.2 и один полноразмерный SATA, но он уже занят HDD, так что вам придется брать NVMe SSD. Если же вы собираете ПК, и на материнской плате есть M.2 слот — все зависит от процессора: если у вас топовый i5 или i7, то стоит переплатить и взять NVMe SSD. Если же у вас Pentium или i3 — смысла в этом нет, скорее всего у вас и так сборка бюджетная, и лишнюю тысячу рублей лучше потратить на больший объем ОЗУ или более мощную видеокарту, чем на более быстрый SSD, который в лучшем случае ускорит загрузку системы на полсекунды.
В итоге все возвращается на круги своя: старый AHCI как был рассчитан для SATA HDD, так с ним теперь в основном и используется. Ну а рассчитанный для SSD NVMe все больше набирает обороты, и, скорее всего, скоро уже все SSD будут поддерживать только его.

www.iguides.ru

NVMe - что это такое и в чем отличие от SSD | как выбрать

Устройства хранениях данных постоянно совершенствуются. Их производительность увеличивается. И мало кто знает, что существуют накопители NVMe.

Что это за зверь и чем он лучше обычных SSD и M.2? Об этом мы поговорим в данной статье. Но для начала стоит уделить вниманию форм-фактору каждого типа дисков. Каждый форм-фактор SSD дисков подключается по-разному к системной плате.

Что такое NVMe и куда он подключается

Думаю, этого объяснения будет вполне достаточно о том, что такое NVMe. Другими словами, есть несколько разновидностей твердотельных накопителей – SSD 2.5, mSATA SSD, M.2, NVMe. При этом NVMe это еще и разновидность форм-фактора M.2.

Итак, перед тем как принять решение о покупке накопителя стоит выяснить, поддерживает ли его ваша системная плата. Понятное дело, что обычный SSD 2.5 и mSATA он поддерживать будет, но с форм-фактором M.2 немного сложнее.

В современных платах ноутбуков и обычных компьютеров стал появляться разъем M.2. Стоит проверить свою системную плату на наличие этого разъема. Он выглядит так, как показано на скриншоте.

Но и этого мало, ведь помимо наличия самого разъема он делится на несколько типов.

Какие существуют типы SSD M.2 и разъемов

SSD M.2 имеет четыре спецификации: 2230, 2242, 2260, 2280. Последний является самым используемым. Каждые две цифры типа указывают на ширину и длину модуля. Как видим, с шириной ошибиться нереально.

Итак, допустим вы нашли на системной плате разъем и выяснили, какой модуль SSD ей поддерживается нужно выяснить тип слота.

Диски M.2 работают в режиме SATA и PCI Express. Слоты имеют два ключа M и B.

Если дисковый модуль у вас работает в режиме SATA, то он будет поддерживать два ключа M и B.

Дисковый накопитель NVMe, который работает по интерфейсу PCIe имеет только один ключ – M.

На скриншоте ниже видно, что SATA SSD можно подключать практически к любому разъему, а вот M.2 NVMe при наличии на разъеме ключа «B» установить невозможно.

Отличие накопителей NVMe и M2

Отличать или сравнивать здесь нечего, поскольку M2 – это форм-фактор SSD дисков. M.2 может подключаться как к SATA интерфейсу, так и к PCI Express (что относится к NVMe типу).

Отличия таких плат заключается лишь в поддерживаемых ключах, по которым диск будет подключаться к интерфейсу. Также отметим, что 2.5 дюймовые SSD, SATA M.2 по характеристикам практически одинаковые, потому что работают на шине SATA. Модули NVMe – работают с интерфейсом PCIe, который гораздо быстрее SATA шины.

История накопителей и их совместимость

Скоростные накопители памяти появились в марте 2011 года. Разработка же велась с 2009 года. Сейчас имеются несколько версий спецификации NVMe:

  1. В 2014 году — NVMe 1.1b и NVMe 1.2.
  2. С 2015 года — NVMe 1.2a.
  3. В 2018 году — NVMe 1.3c.

Помимо M2 форм-факторов были и другие:

  • U.2 (SFF-8639) – диски с форм фактором 2.5 дюйма, которые предназначены в основном для серверов. Имеют поддержку горячей замены, интерфейсов SATA и SAS.
  • M.2 (NGFF) – компактный форм-фактор преимущественно для ноутбуков, а также стационарных компьютеров. Накопитель может быть установлен в разъем на системной плате или непосредственно в слот PCIe с помощью переходника.
  • Intel Ruler SSD (EDSFF) – используется в основном на серверах и имеет поддержку горячей замены. Анонсирован в 2017 году компанией
  • Samsung NGSFF – очередной форм-фактор для серверных накопителей. Используется, как альтернатива дискам 2.

Говоря о совместимости, стоит обратить внимание на одну немаловажную вещь. Производители системных плат могут, например, установить слот M2, поддерживающий ключ «M». Естественно, любой накопитель будет работать.

Но бывают такие моменты, когда системная плата поддерживает только один режим SATA или NVMe. Это тоже необходимо знать при покупке дисков нового поколения.

Необходимо с вашего компьютера зайти в BIOS и найти настройки, отвечающие за режим работы дисков данного формата. Обычно настройка называется «M.2 Configuration». Если вы откроете режимы работы этой опции и там будет SATA и PCIE mode, тогда устройство будет работать с любыми дисками формата M2.

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

Пока что лидирующие позиции занимают HDD диски. Да, они медленные, но у многих объемы данных превышают даже 500 Гб, а значит для хранения вполне подойдет и обычный жесткий диск на пару ТБ.

Говоря о NVMe – это накопители, которые примерно в 2-3 раза быстрее обычных SSD, но даже твердотельные накопители не каждый может себе позволить. Что тут говорить о гиперсупер быстрых дисках. В любом случае цена как на SSD, так и на NVMe постепенно снижается. Выбор диска зависит от того для каких целей вы будете его применять. В целом можно выбивать из линеек Samsung, Intel, ADATA, Kingston и других.

Давайте посмотрим результаты поиска в интернете через Google и посмотрим, какие же цены нам предлагают за такие накопители.

SAMSUNG 970 EVO MZ-V7E250BW 250Гб

Основные характеристики вы можете найти в интернете. Диск имеет максимальные скорость чтения – 3400 Мб/с и скорость записи 1500 Мб/с. Впечатляет неправда ли? Диск на 250 Гб и стоит 5560 рублей. В принципе для системы такой себе позволить можно.

INTEL Optane 900P SSDPED1D480GASX 480Гб

Этот накопитель на 480 Гб подключается уже в слот PCIe. Скорости чтения и записи у него 2500 / 2000 Мб/с. Стоит все это добро 41000 рублей. Для обычного пользователя, которые работает за ПК дома вряд ли понадобится такой диск. Если только он не запускает свой мини-сервер.

GIGABYTE PCl Express 512 Гб PCI-Express 3.0

А вот здесь уже диск на 512 Гб, с более высокими показателями скорости чтения и записи. Но самое интересное, что стоит он намного дешевле предыдущего варианта. Всего за 10900 вы получите этого красавца.

В интернет-магазинах техники вы можете найти разные варианты накопителей с разными ценами. Есть варианты 128 и 120 Гб за 2 тысячи и выше. Ищите лучшие варианты под свои нужды, изучайте внимательно характеристики, попробуйте найти обзоры, чтобы убедится в реальных показателях накопителя, либо проведите тесты сами.

Теперь вы знаете, что такое NVMe накопители SSD и какие их разновидности существуют.

computerinfo.ru

SATA SSD, NVMe SSD и HDD: изучаем разницу в реальных приложениях

Агитировать в 2018 году за установку SSD в настольные компьютеры и ноутбуки – это как рекомендовать сменить наконец старый кнопочный Ericsson на современный смартфон. Потому что SSD (как и смартфоны) сейчас можно игнорировать только по двум причинам: вы принципиально не хотите связываться с флэш-памятью или последние 10 лет вы провели на урановых рудниках Марса, не получая вестей с Земли.

Установка SSD в старый компьютер даст ему вторую жизнь, даже если процессор разменял первый десяток, а оперативной памяти едва набралось на минимальные системные требования операционной системы. Возвращение к ПК, где ОС установлена на обычный HDD поначалу вызывает шок – кажется, что компьютер заражен вирусней и вообще работает не так, как должен. Загрузка Windows за семь секунд, мгновенная реакция на действия пользователя – это всё про SSD.

Окей, с необходимостью присутствия в системе твердотельного накопителя всё понятно, и хорошо, если в ноутбуке или ПК он был еще при покупке. А если вы только готовитесь с опозданием купить свой первый SSD, то какой накопитель выбрать? Если с магнитными жесткими дисками всё было относительно просто и понятно, то SSD за последние пять лет успели поменять и форм-факторы, и интерфейсы, а уж сколько развелось контроллеров – подумать страшно. Причем в зависимости от используемых компонентов цена на SSD с одинаковым объемом памяти может запросто отличаться в два, а то и три раза.

В этой статье мы попробуем быстро и максимально просто разобраться, стоит ли переплачивать за самые современные технологии в SSD, имеет ли смысл покупать самые скоростные диски и какой прирост производительности в реальных задачах можно получить от SSD относительно традиционных жестких дисков.

AHCI или NVMe?

Для жестких дисков был и остается актуальным интерфейс SATA 3.0 с пропускной способностью до 600 Мбайт/с – HDD до этого предела едва ли вообще когда-нибудь доберутся. SSD же не просто уткнулись в эту планку, но и благополучно ее миновали, перейдя на форм-фактор M.2 и прямое подключение к скоростной шине PCI Express. SSD в размере 2,5’’ и интерфейсом SATA выпускаются до сих пор, но исключительно в низком ценовом сегменте. Конечно, даже такой накопитель даст чумовой прирост скорости реакции компьютера после обычного HDD, но если деньги на новый диск вы собирали не по рублю с завтраков, то можно выбрать что-нибудь поновее и побыстрее. А именно, SSD в форм-факторе M.2.

Вот тут и начинается разлюли-балалайка. Дело в том, что M.2 – это типоразмер компактных накопителей, которые устанавливают в ноутбуки или монтируют прямо на материнскую плату компьютера. M.2 сам по себе не является интерфейсом, это лишь слот. Поэтому дешевый SSD в размере M.2 вполне может гонять данные через шину SATA с соответствующим скоростным ограничением в 600 Мбайт/с – этот момент лучше уточнить в характеристиках устройства перед его покупкой.

Как понять, что перед нами суперскоростный накопитель? Удостовериться, что это NVMe-диск. В отличие от AHCI-контроллеров, которыми управляются SATA-накопители, NVMe-контроллер подключает хранилище прямо к шине PCI Express. Поэтому пределом пропускной способности для NVMe-диска будут не жалкие 600 Мбайт/с, как у SATA, а в шесть раз больше – 3,94 Гбайт/с (по факту, конечно, меньше). Скорость современных NVMe-SSD уже перешагнула за 2000 Мбайт/с, поэтому эффект от перехода на новый интерфейс на лицо. Помимо этого, протокол NVMe принес ряд оптимизаций для работы с SSD, например, расширенную очередь команд.

Разъем M.2 начал появляться на материнских платах, но пока еще остается атрибутом дорогих моделей, поэтому NVMe-диски часто имеют версии с дополнительной платой-переходником в комплекте, которая вставляется в обычный слот PCI Express.

Пруфы будут?

Будут. Для этого возьмем три SSD от одного производителя, отличающихся друг от друга интерфейсом, контроллерами и, соответственно, ценой. Но прогоним их через тестирование в рабочих приложениях, а не синтетических бенчмарках. Синтетика, вроде CrystalDiskMark, позволяет узнать абсолютные скоростные показатели дисков в идеальных условиях, однако в реальности нагрузка и, как следствие, скорости, бывают совсем иными. Ну а чтобы не осталось сомнений в целесообразности покупки даже самого бюджетного SSD, присовокупим к тестам один из самых быстрых HDD.

Места подопытных кроликов великодушно согласились занять три модуля производства Kingston и один жесткий диск WD. А конкретно: Kingston SM2280S3G2/240G, Kingston SA1000M8/480G, Kingston SKC1000/480G и WD Black WD10003FZEX.

SM2280S3G2/240G, несмотря на достойный для системного диска объем 240 Гбайт, является самым бюджетным решением – всего 6750 рублей в среднем. Учитывая курс валют, это и правда ВСЕГО, зато 240 гигов гарантированно хватит и для операционной системы, и для многих необходимых программ, и даже пары-тройки игр с долгой загрузкой. Еще есть варианты на 120 и 480 Гбайт. Этот SSD – как раз тот случай, когда в современном компактном форм-факторе M.2 мы получаем накопитель, работающий по шине SATA. То есть выше теоретических 600 Мбайт/с скорости мы не увидим. Заявленная скорость чтения 550 Мбайт/с и записи 330 Мбайт/с уже намекает, что здесь не пахнет NVMe.

Модель SA1000M8/480G уже насчитывает 480 Гбайт, что даже избыточно для диска C:. Грамотно распоряжаться таким объемом помогает протокол NVMe, контроллер Phison PS5008-E8 и поддержка двух линий PCI Express. То есть, это не полноценный четырехлинейный NVMe, но все равно значительно превосходящий SATA интерфейс. Даже заявленные скоростные показатели составляют 1500 Мбайт/с на чтение и 900 Мбайт/с на запись, что несравнимо выше, чем у предыдущего SSD. Kingston позиционирует эту модификацию как универсальное решение ввиду наличия сразу двух вырезов (ключей) слотов M.2 – универсального B и скоростного M.

SKC1000/480G является самым производительным SSD компании. Он построен на мощнейшем четырехъядерном контроллере Phison PS5007-E7. Вообще Phison до недавних пор считались мэйнстримовыми контроллерами с весьма средненькой производительностью, уступавшей изделиям Marvell, но внезапно компания буквально выстрелила новыми контроллерами, уложившими конкурентов на лопатки.

Kingston обещают скорость чтения до 2700 Мбайт/с и записи до 1600 Мбайт/с. А теперь поднимитесь на несколько абзацев выше и посмотрите характеристики первого в тесте SSD. Трудно представить, зачем такая скорость может вообще потребоваться – чтобы быстро перегонять данные с диска на диск, потребуется второй такой же быстрый SSD, а при обработке данных (сжатие, кодирование) уже процессор не будет успевать справляться с ними.

Примечательное, что накопители серии SKC1000 опционально поставляются с HHHL-переходником на полноразмерный PCI Express на тот случай, если в настольном компьютере не обнаружится слота M.2.

Что же до жесткого диска, то WD Black WD10003FZEX на 1 Тбайт, то он принадлежит к самой быстрой серии WD Black, отличается отличными скоростными показателями и внушительной для малого объема ценой – около 5500 рублей.

Ожидания и реальность

Именно так можно назвать результаты синтетических и более реальных тестов. Бенчи, искусственно моделирующие нагрузку, могут показывать впечатляющие цифры, тогда как при повседневном использовании накопитель поведет себя гораздо скромнее. Тем не менее, синтетика помогает оценить весь потенциал диска – если цифры хилые, то в жизни всё будет еще хуже.

Сперва прогоним стандартные бенчмарки.

Kingston SM2280S3G2/240G.

Kingston SA1000M8/480G

Kingston SKC1000/480G

WD Black WD10003FZEX

Между первым и вторым скриншотом буквально пропасть, отлично характеризующая разницу между SATA и NVMe-дисками. Что же HDD, то в тесте на чтение и запись маленьких блоков по 4 Кбайта всё совсем тоскливо. Особенно хорошо видно, как NVMe-накопители хорошо работают с очередью команд (CrystalDiskMark, строки Q32T1), обеспечивая двойной и больший отрыв от SATA-модификации. К тому же все SSD превзошли заявленные скоростные характеристики. Честность Kingston достойна уважения.

А теперь проверим диски в реальных сценариях в самых популярных отраслевых приложениях. Далеко не все из них завязаны на скорость хранилища, но всё же они демонстрируют влияние SSD на повседневную производительность.

До странного равные столбики? Отнюдь, как раз-таки очень предсказуемый финал. Дело в том, что приложения для рендеринга, кодирования или шифрования, такие как Blender, CINEBENCH, True Crypt, прежде всего утилизируют процессорную мощь, лишь понемногу загружая накопитель своими запросами. Получается, что на ту же скорость рендеринга 3D-модели быстрый SSD никак не влияет – подгруженные данные уходят в оперативную память, да там и крутятся, пока процессор трудится над визуализацией. Даже в играх установка SSD практически никак бы не повлияла на частоту кадров. Зато скорость загрузки сократилась бы в разы, если не на порядок.

Совсем другая картина наблюдается в приложениях, ведущих активное одновременное чтение и запись на диск. Это фото- и видеорендены (Premiere Pro, After Effects, Lightroom) и архиватор WinRAR. Жесткий диск явно проигрывает, не успевая одновременно вести запись и чтения ввиду особенностей работы HDD. А вот SSD совершенно побоку, что от него требуют одновременно считать и записать сразу несколько файлов – нет магнитных дисков, нет дорожек на них, нет магнитных движущихся головок, нет огромных задержек доступа к разным частям диска.

Реальные тесты выглядят не так эффектно, как дисковая синтетика, именно потому, что в жизни приложения нагружают и процессор, и накопитель, и оперативную память, и видеокарту. На загрузке Windows или тяжелых игр NVMe-SSD сказался бы крайне позитивно, а в деле 3D-моделинга пользы от него с гулькин клюв.

И как с этим жить?

Спокойно, потому что вы узнали правду, которую от вас скрывали: супербыстрые и супердорогие SSD щеголяют фантастическими скоростными показателями, но в ежедневном использовании разница с моделями попроще не так заметна. Конечно, это не значит, что SSD можно спокойно променять на емкий HDD – нельзя, потому что в первую очередь пострадает скорость случайного доступа, а вместе с ней скорость загрузки системы, приложений и реакции на действия пользователя.

Если при выборе SSD вы не руководствуетесь в первую очередь ценой, то лучше отдать предпочтение NVMe-модели с колоссальным запасом производительности, чем сэкономить тысячу рублей и получить устаревший еще несколько лет назад SATA-диск. 1500 или 2500 Мбайт/с на чтение показывает SSD – не важно, выбирайте согласно своему кошельку и предпочтениям.

Гораздо важнее стоит вопрос надежности SSD, которые имеют свойство «умирать» внезапно и без предварительных симптомов. Это одна из причин, почему лучше отдавать предпочтение брендовым накопителям с длительной гарантией и высоким временем наработки на отказ (или объемом записываемых данных). Kingston – бесспорный гранд мира флэш-памяти, который очень вовремя адаптировал для своих SSD контроллеры Phison.

club.dns-shop.ru

Разные SSD: а есть ли разница? Страсти по NVMe

Оглавление

Вступление

Неделю назад мы протестировали несколько различных твердотельных накопителей с целью выяснить, а существуют ли на практике какие-то отличия между ними. Ведь одно дело – различные синтетические тесты, которые специально создаются и настраиваются так, чтобы зависимость их от иных компонентов системы была минимальна. И совсем другое – реальные приложения, которые взаимодействуют со всей системой. Получилось так, что всего через два дня у меня на руках очутился накопитель Samsung SM951 в версии NVMe. Заурядно? И да, и нет одновременно. Твердотельный накопитель Samsung SM951 на данный момент является единственным решением, доступным рядовому пользователю (де-факто, де-юре – это продукт для сборщиков компьютеров), которое выпускается в двух версиях – AHCI и NVMe. При этом их аппаратная база абсолютно идентична, а необходимый логический протокол включается на последнем этапе производства – в момент записи в накопитель его микрокода. Таким образом, у меня оказались оба этих SSD и появилась возможность без всяких теорий и допущений выяснить практическую пользу от нового протокола NVMe.

Ну а попутно согласно пожеланиям читателей был расширен набор тестов. Благодаря нашим постоянным партнерам – магазину Регард и компаниям-производителям, мы вновь проясним ситуацию, сравнив разные модели накопителей между собой.

Обзор и тестирование пяти модулей оперативной памяти DDR4-2133 SK Hynix HMA451U6MFR8N0-TF объемом 4 Гбайт

Различные комплекты оперативной памяти – не такое уж редкое явление. Но, как правило, речь обычно идет о так называемых «брендовых» решениях. А вот многочисленные OEM-продукты, широко представленные в отечественных магазинах, различными изданиями изучаются довольно редко. И SK Hynix HMA451U6MFR8N0-TF, взятые в этот раз, как раз из этого игнорируемого меньшинства.

Маркетинговая теория: NVMe – шаг к светлому будущему

Для связи устройств в системе нужен не только физический интерфейс, но и логический (программный). С середины двухтысячных для накопителей служила связка из физического SATA и логического AHCI, и если SATA поступательно развивался, пройдя через первую, вторую и третью ревизию с заметным ростом пропускной способности, то AHCI – с точки зрения производительности оставался практически неизменным. На данный момент AHCI (Advanced Host Controller Interface) уже 12 лет и он является преобладающим в отрасли.

Plextor M6e, Samsung XP941, Kingston HyperX Predator, Plextor M6e Black Edition – всеми этими первыми PCIe SSD в форм-факторе M.2 (ранее известном как NGFF) использовался протокол AHCI. Но он – лишь дань совместимости со старыми системами и в полной мере раскрыть потенциал таких SSD просто не в состоянии. Но это значит, что нет альтернативы, она есть – еще в 2011 году был представлен протокол NVM Express (он же NVMe, он же NVMHCI – Non-Volatile Memory Host Controller Interface).

Уже из расшифровки аббревиатуры видно, что этот протокол предназначен именно для твердотельных накопителей на энергонезависимой памяти и разрабатывался исходя из их особенностей. При его создании разработчиками делался упор на сокращение «накладных расходов» при передаче данных, уменьшение задержек и улучшение работы с многопоточными нагрузками. Корпоративным потребителям понравятся развитые системы обнаружения ошибок, управления и самошифрования.

ПараметрAHCINVMe
Максимальная глубина очереди запросовОдна очередь, до 32 команд в очереди65 536 очередей до 65 536 команд в каждой очереди
Некэшируемые доступы к регистрам (2 000 циклов каждый)Шесть на команды вне очереди; девять на команды очередиДва на команду
MSI-X и управление прерываниямиОдно прерывание, управление отсутствует2 048 прерываний, передаваемых сообщениями или MSI-X (Message Signaled Interrupt Extended)
Многопоточность и параллелизмТребуется фиксация синхронизации для выдачи командыНе требуется
Эффективность для команд 4 КбайтПараметры команды требуют два серийных запроса DRAMВсе параметры получаются в одном 64-байтном запросе

Иначе говоря, перед нами высококлассное решение, а, зная цели и задачи обычных потребительских ПК, а также характер возникающих в них нагрузок, мы можем понять, что NVMe обладает огромным запасом возможностей, которые на сегодняшний день больше интересны корпоративному классу для эксплуатации в серверах, нежели обычным потребителям.

Но что есть, то есть: протокол NVMe в последние несколько лет активно продвигается маркетологами на потребительский рынок. Одна проблема: хоть с момента дебюта NVMe прошло уже немало времени, инфраструктуры под этот протокол не так уж и много.

Суровая действительность: NVMe – много головной боли

Даже сегодня абсолютно совместимым с протоколом NVMe является только совсем небольшой процент домашних ПК. Все остальное – от тех или иных ограничений до полной несовместимости. Причем речь идет не о каких-то совсем старых «печатных машинках» на базе, например, Intel Celeron Socket 478, мы говорим о вполне современных системах.

Наиболее сложно обстоят дела у AMD. Даже материнские платы под актуальные Socket FM2+ и Socket AM3+ отнюдь не всегда могут в совершенстве работать с NVMe SSD. Фактически полноценная поддержка реализована только для тех немногочисленных материнских плат нового поколения, где посадочное место M.2 есть изначально (вроде ASRock Fatal1ty 990FX Killer, ASRock A88M-G/3.1, ASUS 970 PRO Gaming/Aura (обзор которой сейчас готовится) или Gigabyte GA-990FX-Gaming). Впрочем, наличие M.2 не является обязательным внешним атрибутом: загрузка с NVMe SSD возможна на материнской плате MSI AMD 990FXA Gaming, на которой посадочное место M.2 отсутствует.

И есть небольшое количество моделей, где поддержка была внедрена много позднее их выпуска. Например, мне известно только две таких материнских платы: ASUS Sabertooth 990FX R2.0 (которой владею я сам), где в выпущенной два месяца назад версии BIOS 2901 даже появились дополнительные настройки NVMe, и ASUS A88X-PRO (если не ошибаюсь, начиная с версии BIOS 1803, датированной мартом прошлого года). Других подтвержденных случаев удачной загрузки с NVMe PCIe SSD на платформе AMD мне пока неизвестно, причём проблема усугубляется ещё необходимостью наличия OpROM. Дефицит отзывов во многом объясняется тем, что подобные SSD приобретают чаще с прицелом на эксплуатацию в Intel-системах, всё же Socket AM3+ предлагает только PCI-E 2.0, а у меня самого такие материнские платы редко бывают на тестировании - устаревшая платформа.

С платформой Intel немного проще, хотя и на ней хаоса предостаточно: протокол NVMe поддерживается почти всеми материнскими платами LGA1151 и LGA2011v3, значительным числом материнских плат на наборах системной логики Intel Z97/H97 и некоторым количеством – на Intel Z87. С более старыми платами на Intel X79, Intel Z77 и т.д. всё ещё сложнее и запутаннее. Но даже с новыми моделями материнских плат все равно надо быть осторожным. Например, материнская плата EVGA X99 Micro (не путать с EVGA X99 Micro2), по отзывам, с NVMe SSD загружаться не умеет.

Небольшая ремарка. Samsung SM951 в версии с протоколом AHCI отнюдь не является универсальным и полностью совместимым с всеми материнскими платами со слотами PCI-Express, в которые можно установить переходник M.2>PCIe. Тут возникает еще один фактор: в микрокоде контроллера Samsung SM951 (обеих версий) отсутствует модуль OpROM (как и у его предшественника Samsung XP941), поэтому материнская плата должна уметь грузиться с PCIe SSD самостоятельно. OpROM есть у Samsung 950 Pro, а также (по крайней мере, присутствовал на момент тестирования) в более старых Plextor M6e, Plextor M6e Black Edition и Kingston HyperX Predator. Относительно Plextor M8e, Patriot Hellfire, ADATA XPG SX8000 и ряда других SSD информации у меня пока нет. А проблему поддержки именно NVMe в ряде систем все-таки можно решить нестандартным способом. Для этого материнская плата должна отвечать трём условиям: должна иметь UEFI BIOS (напомню, что некоторые материнские платы Gigabyte на базе Intel P67/Z68 были выпущены сначала с AWARD BIOS, а потом получили обновление на UEFI BIOS), уметь загружаться с SSD без OpROM (если выбранная модель SSD его лишена), а владелец оной материнской платы должен обладать, выражаясь простонародным языком, «правильными версиями brain.dll и hands.dll». Точнее, суметь по общедоступной инструкции пересобрать BIOS, добавив необходимый модуль NVMe, и затем записать полученный микрокод во флеш-память материнской платы. Таким образом можно «привить» поддержку NVMe даже Intel P67.

В том случае, если материнская плата не умеет загружаться с NVMe SSD и не опознает таковые, а желания или возможности вмешиваться в микрокод BIOS нет, то остается вариант использования NVMe PCIe SSD только в качестве дополнительного накопителя. Для этого в операционной системе необходимо иметь соответствующий драйвер.

Но с программной частью у пользователя также будет немало проблем. Для операционных систем Linux первый драйвер был включен в состав ядра 3.3 (январь 2012 года), но он обладал некоторыми недостатками, а более продвинутая и производительная реализация была осуществлена лишь в ядре 3.13 (январь 2014 года). Для OpenBSD поддержка была реализована и вовсе только в версии 6.0, выпущенной меньше двух месяцев назад (1 сентября 2016 года).

С творениями софтверного гиганта из Редмонда ситуация чуть проще. Соответствующий драйвер в операционные системы Windows был встроен, начиная с версии 8.1 (октябрь 2013 года). Для Windows 7 был выпущен отдельный пакет-обновление. Более ранние версии Windows драйвер NVMe не получили. Но простота ориентирования в Windows осложняется тем, что драйвер, созданный специалистами Microsoft, не настроен на максимальную производительность.

Драйвер «nvme» за авторством Microsoft оснащен дополнительной защитой данных от потери питания, а потому для накопителей, лишенных полной защиты от внезапного обесточивания, операции записи данных производятся с флагом запрета на буферизацию в оперативной памяти NAND-контроллера через команды FUA (Force Unit Access). В итоге все трансферы данных производятся в флеш-память напрямую, не позволяя микрокоду контроллера производить упорядочивание операций записи, что приводит к дополнительным издержкам и частичной потери производительности.

Отчасти проблему можно обойти, установив настройки как на скриншоте выше. Но для достижения максимальной производительности и полноценной работы необходима установка специального драйвера, который перенастроен надлежащим образом. На момент написания этих строк только три компании предлагали для своих накопителей такой драйвер: Samsung, Toshiba OCZ и Plextor. Причем для накопителей Plextor драйвер был опубликован только что. А вот Phison (например, Patriot Hellfire) и Silicon Motion (например, ADATA XPG SX8000) специальных драйверов пока не публиковали.

Суммируя все вышесказанное, при наличии желания обновить достаточно актуальную и производительную по современным меркам систему нужно крайне аккуратно подходить к реализации этого желания.

overclockers.ru

Сравнение: NVMe против SSD

Скоростные NVMe-диски появились в 2013 году, но использовать их в своей инфраструктуре мы решились только сейчас, когда не осталось сомнений в надежности технологии.

До сих пор SSD-диски были самым быстрым хранилищем, доступным на виртуальных серверах. Теперь NVMe могут оспорить это звание. В этой статье разберемся, как работает технология NVMe, и сравним производительность разных технологий.

Что такое NVMe

NVMe — это новый стандарт SSD-накопителей. Обычные SSD работают по интерфейсу SATA, который передает информацию медленнее, чем на это способен сам накопитель. NVMe работает по интерфейсу PCI Express, производительности которого хватает с головой. Диск NVMe выдает бо́льшую скорость чтения-записи данных.

Другая особенность — протокол по которому происходит взаимодействие диска с остальным компьютером. SSD используют устаревший протокол AHCI, который изначально разрабатывался для жёстких магнитных дисков. Он абсолютно не учитывает особенности работы твердотельного накопителя, ограничивает его. Для NVMe компания Intel разработала собственный интерфейс — диски стали эффективнее работать с большим количеством одновременных запросов, быстрее обращаться в оперативную память за данными. Диск NVMe обеспечивает обработку бо́льшего количества запросов в единицу времени (IOPS).

Дружественный проект 1DEDIC разместил чуть больше технических подробностей.

Тестируем скорость

Диски NVMe опережают SSD по скорости работы примерно в 2-3 раза, однако в различных режимах работы разница может быть как более, так и менее ощутимой.

Постарались оценить производительность виртуального сервера с разных сторон — не только скорость чтения-записи, но и то, как эта скорость влияет на прикладные задачи.

Тестировать и сравнивать между собой будем SSD-накопители на интерфейсе SATA3 и NVMe-накопители на интерфейсе U.2.

Тактико-технические характеристики платформы: 

  • Платформа: Intel S2600WFT
  • Процессор: Intel(R) Xeon(R) Gold 5115 CPU @ 2.40GHz - 2шт.
  • ОЗУ: 64 ГБ DDR4 2666Mhz
  • Накопители: 

— INTEL SSD DC P4510 (SSDPE2KX010T8) на 1 Тб

— INTEL SSD D3-S4510 (SSDSC2KB019T8) на 1920 Гб по 2 шт

— система установлена на отдельный накопитель Micron 5100 PRO (MTFDDAK480TCB) на 480 Гб

  • Операционная система: CentOS Linux 7 со штатным ядром - 3.10 (на момент тестирования версия ядра 3.10.0-862.14.4.el7.x86_64). Планировщик ввода-вывода - none.

Тактико-технические характеристики накопителей

Битрикс

Развернем стандартную редакцию CMS Битрикс Старт на двух VDS и запустим встроенный тест производительности.

Производительность движка Битрикс:

  • 36 попугаев на SSD
  • 79 попугаев на NVMe (больше — лучше)

Резервные копии

Владельцы крупных сайтов сталкиваются с ситуацией, когда долго создается резервная копия. Важно, чтобы нагрузка на дисковую подсистему и время выполнения дисковых операций были минимальными. Это напрямую влияет на скорость работы сервера и время открытия самих сайтов.

Попробуем создать бэкап всё того же сайта на Битрикс.

Скорость создания бэкапа в Битрикс:

  • 27 секунд на SSD
  • 18 секунд на NVMe (меньше — лучше)

Скорость открытия сайта

Так ли влияет наличие быстрого NVMe-диска на скорость открытия сайта? Проверим скорость открытия сайта на Битрикс — насколько быстро он загружается из разных точек.

Скорость открытия страницы:

  • 1,2 секунды на SSD
  • 0,6 секунды на NVMe (меньше — лучше)

Скорость чтения/записи и количество запросов в секунду (IOPS)

Напоследок выполним основные тесты для проверки производительности диска — измерим и сравним:

  • линейное чтение
  • случайное чтение
  • линейную запись
  • случайную запись
  • IOPS

 Буду измерять показания утилитой fio при глубине очереди 16, блоками по 4K, 8K, 16K, 32K, 64K, 128K, 1M, 4M (4М не является обязательным вариантом). Условия теста исключительно синтетические, позволяют выжать из накопителей максимальные показатели.

Если хотите посмотреть все цифры — по ссылке pdf с данным в таблицах.

NVMe выходит на пиковую скорость линейного чтения на блоках с 1М до 4М. А SSD выходит на свой «потолок» на блоках размером в 128К и зажимается пропускной способностью шины SATA. 

В операциях же со случайным чтением SSD выходит на максимальную скорость на блоках в 128К, в то время как у NVMe картина не меняется.

В операциях линейной записи NVMe выходит на максимальную скорость уже на блоках в 8К, SSD — с 16к-32к. В операциях случайной записи картина схожая.

Примечательно, что результаты тестов подтверждают обещания производителя. А IOPS’ов получилось даже больше.

Заключение

По всем тестам NVMe демонстрирует уверенное преимущество над SSD. Конечно, тесты получились не очень чистыми — виртуалки с NVMe открываются на новых платформах Xeon Scalable. Они производительнее серверов Xeon E5, которые мы использовали до этого.

Опробовать мощь новой технологии можете на стандартных тарифах с диском NVMe или на Форсаже 2.0. В кластерах с этими услугами используем точно такую же платформу, как и в тестировании.

firstvds.ru

Протокол Non-Volatile Memory Express (NVMe)

как шаг к светлому будущему SSD с интерфейсом PCIe

Мы протестировали уже далеко не один твердотельный накопитель с интерфейсом PCIe, но все попадавшие к нам в руки SSD старательно эмулировали «традиционные» дисковые устройства. Что, впрочем, не мешало им демонстрировать высокую производительность, потому что, во-первых, SSD по определению быстрее «механики», а во-вторых (как следствие), для них уже актуален вопрос пропускной способности интерфейса подключения, в чем несколько линий PCIe однозначно превосходят SATA. Однако нужна ли массиву ячеек памяти способность «прикидываться» априори медлительным блочным устройством, типа винчестера или даже накопителя на оптических дисках? Очевидно, что производительности промежуточные уровни иерархии не добавляют: чем прямее путь, тем выше скорости. Конечно, с точки зрения совместимости «стандартные» интерфейсы предпочтительнее, но ведь PCIe эту самую совместимость ограничивает изначально. Поэтому как только речь зашла об использовании этого интерфейса, производители сразу же задумались и о соответствующей программной прослойке: чтоб в ней не было ничего лишнего для SSD, зато учитывались все их особенности. Так появился интерфейс NVMe: Non-Volatile Memory Express.

Сейчас постепенно начинается и его продвижение в массовый сектор — по причинам, указанным нами в предыдущей статье цикла: PCIe-накопители наконец-то получили стандарт универсального воплощения, пригодного для широкого класса компьютеров, в виде М.2. Однако есть сомнения, что на этом пути все будет гладко, о чем мы сегодня и поговорим. А также оценим плюсы и минусы NVMe на примере пары устройств корпоративного класса, где эта технология применяется уже почти год, благо там и проблем с внедрением меньше.

От дискет к AHCI

Для начала устроим небольшой экскурс в историю — лет этак на 30 назад, во времена появления первых персональных компьютеров. Несмотря на то, что и сегодняшние «монстры» в определенной степени совместимы с тогдашними «мастодонтами», подход к конструкции последних был совсем иным, нежели принят сейчас. Например, оригинальная IBM PC не только не снабжалась винчестером, но и могла работать даже без дисковода — с бытовым магнитофоном. Естественно, стандартизовать тогда интерфейс для подключения быстрых накопителей не было нужды, да и накопителей таких в массовом исполнении особо не водилось, ибо стоили они слишком дорого (это сейчас флэш-память продается по цене менее доллара за гигабайт, а когда-то килобайт на жестком диске стоил дороже). Впрочем, уже в РС ХТ винчестер появился, а необходимый для него контроллер, как и следовало ожидать, устанавливался в разъем шины расширения на системной плате. Время было такое — все контроллеры именно так и подключались :)

Некоторое время жесткие диски в персональных компьютерах использовали интерфейс ST-506/412, где вся управляющая логика была вынесена в контроллер компьютера, а плата электроники самого винчестера содержала только модули аналоговой обработки и управления шпиндельным двигателем, позиционером и коммутатором головок. Опять же, время было такое — торопиться было особо некуда, и много дисков подключать тоже, так что всех устраивало подключение не более двух винчестеров, для чего приходилось использовать аж три кабеля (два в случае одного накопителя). Скорость передачи данных от винчестера к компьютеру по интерфейсу была даже ниже способностей тогдашних тихоходов. В общем, такое вот странноватое решение, тем не менее работавшее и относительно недорогое.

Однако производительность компьютеров росла, что давало им возможность решать все более широкий круг задач, а это, в свою очередь, не могло не сказаться на периферийном оборудовании: хотелось подключать большее число более разнообразных устройств, работающих с более высокой скоростью. ST-506/412 такие потребности «не тянул». Результатом чего были попытки разработать улучшенный интерфейс жестких дисков (ESDI) или портировать на персоналки привычный по рабочим станциям интерфейс SCSI, но все кончилось тем, что стандартом стал интерфейс IDE (он же ATA). Общим между всеми перечисленными являлось то, что немалое количество электроники «переехало» на плату винчестера, что позволило последнему полностью инкапсулировать в себе все свои особенности, обмениваясь с компьютером стандартными командами и блоками информации. Различия, как всегда, крылись в деталях реализации, сложности и цене. Так, например, при создании ESDI производители постарались сделать нечто максимально похожее на ST-506/412 внешне, но более быстрое и не слишком сложное. SCSI изначально поражал своей гибкостью и универсальностью, но стоил слишком дорого (а так оно всегда и бывает). Создатели же АТА делали дешевый и простой интерфейс. Именно поэтому он был очень похож на ST-506/412 программно, но обходился одним кабелем, не был, в отличие от SCSI, рассчитан на внешние устройства (что сильно упрощало работу и снижало стоимость), а первое время вообще ориентировался только на винчестеры. Позднее появилось расширение ATAPI, представлявшее собой, по сути, реализацию SCSI-команд поверх физического интерфейса АТА, и... Он надолго стал стандартом для персональных компьютеров, со временем «встроившись» непосредственно в чипсеты.

Спустя несколько лет, впрочем, выяснилось, что АТА «выбрал» все возможности модернизации. За это время пропускная способность интерфейса выросла до 133 МБ/с, однако дальнейшее ее увеличение на параллельном интерфейсе было затруднительным. Кроме того, недостатком АТА можно было считать устаревшую схему подключения двух дисковых устройств на один канал, фактически унаследованную еще от ST-506/412. Справиться с подключением нескольких устройств можно было увеличением числа каналов (что к тому моменту уже было сделано — большинство «чипсетных» АТА-контролеров поддерживало два канала, т. е. до четырех устройств), а вот их взаимное влияние друг на друга и «дележка» пропускной способности оказывались неустранимыми особенностями — неустранимыми, во всяком случае, без изменения концепции. Поэтому пришлось заняться концепцией и перейти с параллельного АТА на последовательный SATA. Попутно перешли и к звездообразной топологии, когда каждый канал стал независимым от других за пределами контроллера, а также увеличилась пропускная способность интерфейса до 150 МБ/с с возможностью дальнейшего роста.

В принципе, еще во времена параллельного АТА пропускная способность стала несколько избыточной для тогдашних устройств, основными из которых продолжали оставаться винчестеры и оптические накопители. Собственно, немудрено, что разработчики озадачились и другими вопросами. В частности, реальную производительность дисковых устройств можно повысить путем грамотной оптимизации запросов — чтобы минимизировать перемещение головок. Но для того, чтобы оптимизировать обращения к диску, надо не спешить их выполнять, а создавать очередь команд, которую потом и переупорядочивать. Такие механизмы появились еще до внедрения SATA, но TCQ стандартом не стала, а вот NCQ — давно уже стандартная функция для всех SATA-контроллеров. Очередь команд обычно имеет небольшую глубину, поскольку все, что нам нужно в случае винчестера — оптимизировать последовательность «перебора» цилиндров, и очередь эта одна, поскольку никакого внутреннего параллелизма в массовых «механических» накопителях просто нет. Он может появиться только при использовании нескольких дисковых устройств и объединении их в RAID-массив, чем и пользуются соответствующие контроллеры — причем чипсетные это делают редко: хотя производительность чтения данных в двухдисковом массиве RAID1, например, можно удвоить, используя чередование запросов к дискам, чипсеты Intel это не используют. И даже задействование RAID-функциональности в чипсетных дисковых контроллерах не является массовым, а уж более сложные RAID-контроллеры и вовсе встречаются лишь в специфических нишах. Собственно, именно по этой причине (большинство компьютеров снабжаются лишь одним-двумя «последовательными однозадачными» накопителями) никакой параллелизм стандартам подключения дисковых устройств был не нужен. А большие «внутренние» задержки при доступе к информации, вызванные работой механики, позволяли не слишком заботиться и о накладных расходах на обеспечение работы интерфейса.

Так AHCI и работает. И, в общем-то, долгое время протокол устраивал всех. Однако приход твердотельных накопителей в массовый сегмент заставил производителей задуматься...

Non-Volatile Memory Express: что нового

Причина этой глубокой задумчивости хорошо видна на картинке. В общем-то, как давал наибольший вклад в задержки собственно «носитель данных», так ничего и не изменилось, но... Но для механических накопителей средние задержки при выполнении команд составляли порядка 2 мс, а использование флэш-памяти позволяет сократить это время примерно в 20 раз — до 100 мкс. 25-30 мкс по вине драйверов и контроллеров просто теряются на фоне первого значения, но на фоне второго они уже очень заметны. «Устранение» из цепочки SATA-контроллера путем эмуляции его функций собственно контроллером твердотельного накопителя в «AHCI PCIe SSD» экономит более 10 мкс, а прекращение эмуляции AHCI и переход на специализированный программный интерфейс и вовсе сокращают накладные расходы до пяти микросекунд. Повторимся: основным виновником задержек продолжает оставаться собственно флэш-память, но суммарно задержки сокращаются в полтора раза. Соответственно, ожидать такого же взрывного эффекта, как при отказе от механики, не стоит (все-таки 20 раз — это не 1,5 раза, но и получить «на пустом месте» полуторакратное уменьшение задержек тоже хорошо. Тем более что суммарный эффект оказывается кумулятивным — к нему добавляется и общее увеличение пропускной способности интерфейса, присущее SSD с подключением к PCIe.

На чем еще можно выгадать? На увеличении параллелизма при обработке команд. Как уже было сказано выше, винчестеры обрабатывают команды последовательно, поскольку блок головок в каждый момент времени может находиться только над одним конкретным цилиндром. Все, что дает очередь команд — возможность оптимизировать перемещения головок чтения/записи, что тоже немало, однако слабо применимо к SSD, которые, по сути своей, являются параллельными устройствами. Даже самые простые контроллеры поддерживают четыре канала флэш-памяти, при «традиционном» подходе объединяющиеся в один для полной эмуляции AHCI. Но если эмуляция AHCI нам не нужна, то все каналы можно считать независимыми накопителями. Соответственно, задачей драйвера и контроллера является «раскидывание» запросов по каналам, а дальше каждый из них будет обрабатывать свои команды наиболее эффективным образом. То есть очередей должно быть несколько и, желательно, максимально глубоких — это позволит выжать из флэш-памяти всё (например, пока одни блоки будут перезаписываться, в идеале из других можно читать данные, не дожидаясь окончания длительных операций). Но AHCI, где очередь команд всего одна на каждое устройство, да еще и глубиной в 32 команды, нам здесь ничем не поможет. «Родные» же для NVMe возможности куда серьезнее: до 64К (65536 в «некомпьютерных единицах») очередей и до 64К команд в каждой. Разумеется, сегодня такой простор пока не используется, но запас на будущее внушает оптимизм :)

Конечно, есть в стандарте и другие оптимизации, но главное уже понятно: в отличие от AHCI, который разрабатывался для максимальной совместимости с разными устройствами, уже существовавшими на тот момент, NVMe является специализированной разработкой, во многом нацеленной в будущее. И не стоит зацикливаться только на флэш-памяти: есть подозрения, что некоторые возможности протокола раскроются при освоении новых стандартов энергонезависимой памяти, в особенности — с низкими собственными задержками. Но пока многообразия твердотельных накопителей на рынке нет, так что NVMe используется именно с устройствами на флэше. Для механических накопителей интерфейс NVMe, очевидно, не нужен. А есть ли смысл переводить на него хотя бы все SSD? В перспективе — возможно. Прямо сейчас — есть...

Подводные камни совместимости

Вернемся к протоколу AHCI и вспомним, что́ мы о нем знаем. Во-первых, появился он очень давно, так что непосредственно поддерживается не только современными, но и устаревшими операционными системами. Во-вторых, собственно «поддержка» в его случае достаточно проста: в идеале системе вообще не нужно вдаваться в особенности функционирования конкретного устройства, поскольку все инкапсулируется на уровне контроллера. Для компьютера такой твердотельный накопитель с интерфейсом PCIe — это всего лишь очередной дисковый контроллер, работать с которыми «учили» еще DOS и BIOS. Соответственно, даже очень старая система должна легко «переваривать» его добавление, благо и на аппаратном уровне никаких особенностей нет.

Что в этом плане меняет NVMe? Да практически всё: ведь основной целью его разработки является упразднение промежуточных уровней — как раз привычных и проверенных временем. В частности, придется забыть о загрузке в Legacy-режиме — только UEFI. Также возможны проблемы с прошивками некоторых системных плат, на которые мы наткнулись, и даже с чипсетами — Intel, например, гарантирует поддержку NVMe для чипсетов «девятого» семейства, а вот с предыдущими возможны варианты. Кроме того, потребуется специальный драйвер. Поддержка NVMe, впрочем, уже встроена в Windows 8.1, Windows Server 2012 R2 и Linux начиная с версии ядра 3.10, но этими системами список используемых потребителями не ограничивается. А драйверная поддержка более старых систем остается на усмотрение производителя и может быть ограниченной: к примеру, только х64-версии Windows 7, но не х86. В частности, с этим мы столкнулись, получив два SSD корпоративной серии Intel — в итоге оказалось невозможно протестировать их по «стандартной методике» для накопителей, так как на обычно используемом стенде с платой на базе чипсета Z77 они вообще не заработали (а если бы даже и определились, легче бы от этого не стало: мы используем Windows 7 x86, а она на тот момент Intel не поддерживалась). Кстати, есть и еще одна проблема с внедрением стандарта: во-первых, контроллеры с поддержкой NVMe рассчитаны в основном на PCIe 3.0, а во-вторых, раз уж речь заходит о минимизации задержек, максимальная производительность достигается при подключении устройства непосредственно к процессору без промежуточных хопов в виде чипсета. Что из этого следует? То, что весь потенциал технологии NVMe без проблем может быть раскрыт только на системах с LGA2011-3 (или, в крайнем случае, предыдущей версией этого сокета), поскольку процессоры для этой платформы в избытке снабжены линиями PCIe 3.0. Что же касается массовой LGA1150, то там придется «урезать» по пропускной способности шины видеокарту: в наличии всего 16 линий PCIe 3.0, а использование SSD в «чипсетных» слотах вообще противопоказано.

Разъем SFF-8639: новый путь к многодисковым конфигурациям

Проблемы совместимости на этом не заканчиваются. То есть при желании установить в систему один накопитель — все просто: достаточно найти соответствующий слот PCIe (что, впрочем, как уже было сказано, не всегда просто), и всё. Но ведь степень параллелизма можно увеличить одновременным использованием нескольких устройств. Это делалось даже с «обычными» дисками, а уж объединение в один массив NVMe-устройств средствами, учитывающими их специфику, вообще открывает безграничные возможности (по крайней мере, в теории). Вопрос только, как этого добиться в условиях обычных для компьютерных шасси ограничений?

Очевидно, вариант с установкой нескольких накопителей непосредственно в слоты PCIe на системной плате не является оптимальным: их мало. Тем более, они будут использоваться неэффективно — сегодняшним SSD достаточно четырех линий PCIe, а в серверах, к примеру, более массово встречается PCIe x8. Подходящим, на первый взгляд, кажется формат М.2, благо там как раз есть нужный нам PCIe x4, однако установка нескольких таких разъемов на плату — явление редкое. К тому же топовые накопители высокой емкости вообще очень плохо упаковываются в формат компактных карт. Да еще и ни PCIe, ни M.2 не поддерживают горячую замену, что сильно ограничивает привлекательность RAID-массивов на такой «физической основе».

Таким образом, идеальным вариантом является возврат к форм-фактору винчестеров с пластинами диаметром 2,5 дюйма, благо таковые активно используются в серверах и корзины для них есть, а размеры корпуса толщиной 15 мм (как раз таковы серверные «двухсполовинойдюймовочки») позволяют установить в него несколько терабайт флэш-памяти. Остается только один вопрос: как соединять устройство с собственно шиной PCIe? Ближе всех к решению задачи интерфейс SATA Express, однако при создании последнего никто не подумал о том, что устройству может понадобиться не две, а четыре линии PCIe. Но ничего страшного: разъемы SATA Express, по сути, представляют собой известный еще по SAS разъем типа SFF-8680. Если не «закладываться» на устройства высотой 7 мм (что SATA Express в теории может понадобиться, а «2,5-дюймовым» NVMe SSD — нет), то можно добавить еще рядок контактов (увеличив их количество с 29 до 68) и экранирование, как раз реализовав «недостающие» линии PCIe. Так и получился SFF-8639. Заметим, что этот разъем по-прежнему поддерживает и SAS/SATA-устройства, но есть серьезное отличие от того же SATA Express: последний умеет автоматически определять тип подключенного устройства и выбирать соответствующий режим работы (SATA или PCIe), а вот в случае SFF-8639 вся ответственность за правильность подключения возлагается на сборщика.

А коль скоро разъем на устройстве у нас есть, и кабели тоже, дальше все просто: другой конец кабеля втыкается во вполне обычную низкопрофильную плату PCIe. Обычным делом является использование одного кабеля на пару портов, так что платы могут быть разные: слот PCIe х8 позволит подключить как раз пару накопителей одним кабелем, слот х16 — соответственно, два кабеля и четыре устройства. В принципе, можно ожидать скорого появления соответствующих разъемов непосредственно на серверных материнских платах, что сделает карты-райзеры ненужными и позволит использовать накопители и в компактных серверах.

Преимущества перед непосредственным использованием PCIe-слотов (свойственным «бытовым» устройствам) очевидны: компактность (особенно при отказе от райзеров), более экономное использование линий PCIe (если есть только один слот х16, можно либо установить в него один SSD «на карте», либо подключить к нему четыре накопителя), возможность использования стандартных корзин с горячей заменой устройств. Но, повторимся, применение SFF-8639 «в быту» разработчиками не планируется — ориентация взята на серверы и многодисковые конфигурации. Там, где нужен одиночный накопитель, стандартным по-прежнему будет оставаться использование «обычных» карт расширения либо (в перспективе) M.2.

Intel DC P3600 и P3700

Как известно, любая теория суха, если ее не закрепить практикой :) В качестве последней мы познакомимся с парой накопителей Intel, поддерживающих NVMe.

Первым из них является DC P3600 емкостью 800 ГБ. Выполнен он в уже привычном форм-факторе — низкопрофильная карта расширения PCIe x4. В отличие от многих других накопителей с интерфейсом PCIe, изученных нами ранее и представляющих собой карту формата M.2 в комплекте с адаптером-переходником, выглядит он как законченное решение и снабжен весьма внушительным радиатором (о чем пару слов скажем ниже).

А вот DC P3700 на 400 ГБ как раз имеет исполнение в «винчестерном» стиле, о котором говорилось выше. Надо заметить, с его подключением нам пришлось попотеть: пока на рынке избытка корзин и кабелей, требуемых для подключения этих устройств, не наблюдается.

На что стоит обратить внимание? Цифры потребляемого тока по линии +12 В внушают уважение: как видите, накопитель требует почти 30 Вт. На самом деле, не все так страшно: на наклейке приведена общая информация для всей линейки, и даже старшая модель (емкостью 2 ТБ) потребляет 25/11 Вт при записи/чтении данных, а нашим героям достаточно 12/9 Вт. Впрочем, и это немало. Для сравнения — многие винчестеры для ноутбуков вполне ограничиваются пятью ваттами, т. е. такой твердотельный накопитель в разы прожорливее. Массовые же SSD в настоящее время нередко укладываются в десятые доли ватта, так что разрыв с ними еще больше. Это и объясняет наличие массивных радиаторов у всего семейства, а также сразу дает понять, что в портативных компьютерах подобным устройствам делать нечего.

Что же касается внутреннего устройства, то оно во всех трех линейках (есть еще и Р3500) примерно одинаковое — отличаются только микросхемы флэш-памяти, что дает немного разные скоростные показатели и весьма заметно различающуюся выносливость: для наших героев это 4,38 и 7,3 PBW соответственно. Ценой же устройства не только различаются между собой, но и сильно отличаются от накопителей потребительского сегмента — речь идет о 1,5-2 долларах за гигабайт, т. е. в пару раз больше, чем для самых быстрых «пользовательских» SSD, что, впрочем, для знакомых с корпоративным сегментом не ново — за более высокую надежность принято платить.

А основой всех трех упомянутых «корпоративных» линеек и более дешевого Intel 750 (нацеленного на рынок персональных компьютеров и рабочих станций) является собственный контроллер Intel Ch39AE41AB0. Он поддерживает восемнадцать каналов для подключения флэша, в то время как «бытовые» контроллеры ограничиваются восемью, а то и четырьмя. Высокий параллелизм (которым, как уже было сказано выше, именно NVMe-устройства способны распорядиться наилучшим образом) является залогом высокой производительности, но есть у него и побочный эффект: максимального быстродействия можно ожидать лишь от старших (и самых дорогих!) модификаций. А вот 400 и даже 800 ГБ, столь внушительных на фоне наиболее продаваемых в розницу SSD — маловато, что мы ниже и увидим.

Практическое экспресс-тестирование

Столкнувшись с определенными проблемами совместимости, о чем было сказано выше, мы пришли к выводу, что протестировать эти модели по нашей стандартной методике не получится. Впрочем, мы не слишком расстроились: в ближайшее время будут готовы результаты «бытовой» модели Intel 750, с которой проблем оказалось существенно меньше. Поэтому (раз уж у нас материал сегодня более теоретический) мы решили вкратце посмотреть, чего можно и чего нельзя ожидать от внедрения NVMe.

Для тестирования P3600 и P3700 нами был собран стенд на базе платформы LGA2011-3, поскольку для данного сегмента такие накопители в основном и рекомендуются. Соответственно, нам пришлось использовать довольно мощный процессор Core i7-5960X, но на результаты дисковых тестов (особенно тех, которые мы используем сегодня) это не влияет. Объем памяти на всякий случай постарались ограничить, взяв всего один модуль DDR4-2133 емкостью 4 ГБ. А для сравнения мы приведем результаты Kingston HyperX Predator и OCZ RevoDrive 350, как раз недавно протестированных в «стандартных» условиях.

Итак, что касается последовательного чтения, то тут мы сразу столкнулись с тем, что при таком количестве каналов контроллера «медленными» оказываются даже модели емкостью 400 ГБ! При 800 ГБ потенциальные возможности PCIe 3.0 раскрываются более полно. А при записи мы опять сильно упираемся не в интерфейс, а в сам флэш со всеми вытекающими: производительность обеих моделей Intel оказалась более низкой, нежели у банального Kingston Predator, не поддерживающего NVMe и работающего всего лишь с PCIe 2.0. Впрочем, удивления это у нас не вызвало — понятно, что собственно NVMe при таких типах нагрузки ничего дать не может, а потенциальные возможности скоростных шин надо еще суметь утилизировать.

А что со случайным чтением блоками по 4К, которое как раз обещали ускорить? Вот здесь — показательно: действительно стало заметно быстрее, даже если сравнивать наших героев с OCZ RevoDrive, по сути своей являющимся массивом RAID0 из четырех SSD. Predator же еще медленнее — в его случае отставание от DC P3600 более чем двукратное (формально более быстрому Р3700 продолжает мешать низкая емкость флэш-памяти).

На записи RevoDrive пытался не отстать, но и у него это не вышло. Что еще более интересно — результаты «однопоточной» записи: ускорить ее при помощи RAID-массивов и подобных ухищрений невозможно, а вот NVMe радикально меняет положение дел. Фактически, эти два устройства Intel оказались первыми из попавших к нам в руки, демонстрирующими скорости «однопоточной» записи выше 100 МБ/с. Забегая вперед, сообщим, что Intel 750 в этом плане не хуже — и даже лучше: на нем удалось получить почти 300 МБ/с. Ну а все AHCI SSD (не только представленные на диаграмме, но и прочие модели) по этому показателю «болтаются» в районе 50-60 МБ/с, так что можно говорить о революционном изменении ситуации.

Впрочем, сама по себе революция — лишь в достаточно узкой области. С точки зрения простого пользователя, работающего за компьютером, разницы между различными современными SSD нет, независимо от интерфейсов или протоколов работы. Это нам в очередной раз подтверждает PCMark :)

Итого

Как видим, NVMe не панацея, что было понятно априори — пропускную способность шины эта технология не увеличивает, а уменьшение задержек по масштабу не идет ни в какое сравнение с тем, что было получено при переходе от механики к флэш-памяти. С другой стороны, технология не тянет за собой «груз совместимости» с той самой механикой и вообще ориентирована как раз на полупроводниковые носители информации, причем не обязательно на флэш-память — просто другие технологии пока еще не вышли за стены лабораторий. Однако подготовиться к их появлению можно и заранее — главное, что потенциально NVMe подойдет и для них. А если при этом будут снижены собственные задержки памяти, значит, применение подобных технологий более чем оправданно, поскольку они лучше традиционного SATA.

Некоторый эффект есть и сейчас. Стоит ли за ним гоняться? На наш взгляд, пока рановато делать это массово, поскольку он не слишком значителен. Большинству пользователей по-прежнему прекрасно подойдут обычные SATA-накопители, благо они имеют и лучшую в классе совместимость. А вот тем, кто желает получить самое-самое лучшее, без интерфейса PCIe все равно не обойтись, компьютер у них уже, как правило, «самый-самый лучший» и современный, так что проблем с совместимостью быть не должно, и тогда покупка топового накопителя с поддержкой NVMe может оказаться вполне оправданной. Главное — не рассчитывать на то, что это принципиально изменит «качество» работы компьютера, конечно. А что можно получить на практике — оценим в следующей статье.

www.ixbt.com


Смотрите также