Протокол 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 CH29AE41AB0. Он поддерживает восемнадцать каналов для подключения флэша, в то время как «бытовые» контроллеры ограничиваются восемью, а то и четырьмя. Высокий параллелизм (которым, как уже было сказано выше, именно 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 может оказаться вполне оправданной. Главное — не рассчитывать на то, что это принципиально изменит «качество» работы компьютера, конечно. А что можно получить на практике — оценим в следующей статье.




18 августа 2015 Г.

Non-Volatile Memory Express (NVMe) SSD PCIe

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 CH29AE41AB0. , «» , . (, , 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 . — , «» , . — .