nvme controller and drive information что это
Что такое технология твердотельных накопителей NVMe?
Технология NVMe обеспечивает превосходное хранение данных, превосходную скорость и превосходную совместимость. Поскольку в технологии NVMe используются разъемы PCIe, она обеспечивает передачу в 25 раз большего объема данных по сравнению с аналогичными устройствами SATA. Наряду с большим объемом данных команды NVMe выполняются в 2 раза быстрее, чем в накопителях AHCI. Кроме того, количество операций ввода-вывода в секунду (IOPS) в устройствах NVMe превышает 1 миллион, и операции выполняются до 900% быстрее по сравнению с накопителями AHCI. NVMe также напрямую связывается с ЦП системы, обеспечивая невероятную скорость благодаря своей совместимости. Накопители NVMe работают со всеми основными операционными системами независимо от форм-фактора.
NVMe (Non-Volatile Memory Express) — это интерфейс связи и драйвер, который использует преимущества увеличенной полосы пропускания, обеспечиваемой PCIe. Он разработан для повышения производительности и эффективности, обеспечивая при этом совместимость с широким спектром корпоративных и клиентских систем. Технология NVMe была разработан для твердотельных накопителей и обменивается данными между интерфейсом хранилища и процессором системы, используя высокоскоростные разъемы PCIe без ограничений форм-фактора.
Протокол NVMe использует параллельные пути передачи данных с малой задержкой к базовому носителю, подобно архитектурам высокопроизводительных процессоров. Это обеспечивает значительно более высокую производительность и меньшие задержки по сравнению с протоколами SAS и SATA. NVMe может поддерживать множество очередей ввода-вывода — до 64 тыс. очередей глубиной 64 тыс. записей каждая. В результате задачи ввода/вывода могут передавать больший объем данных быстрее, чем старые модели хранения данных с использованием устаревших драйверов, таких как AHCI (Advanced Host Controller Interface). Поскольку протокол NVMe разработан специально для твердотельных накопителей, он неизбежно станет новым отраслевым стандартом.
Твердотельные накопители: тогда и сейчас
Шины данных передают данные внутри системы, и когда впервые появились твердотельные накопители на базе технологии NAND, для отрасли стало очевидно, что необходимы новая шина и новый протокол.
Решение использовать имеющуюся технологию шины с более высокой пропускной способностью привело к замене протоколов SATA на технологию PCIe. Технология PCIe появилась за несколько лет до NVMe, но поскольку предыдущие решения были ограничены старыми протоколами передачи данных, такими как SATA и AHCI, они не могли быть использованы в полной мере до последнего времени. Технология NVMe устранила узкие места и сняла ограничения, обеспечивая выполнение команд с малой задержкой и очереди глубиной 64 тыс. записей. Большое количество очередей обеспечивает более быструю передачу данных, поскольку данные записываются на твердотельные накопители рассредоточенно с использованием ячеек и блоков, а не на вращающихся дисках, таких как жесткие диски.
Коммуникационные драйверы AHCI и NVMe
Коммуникационные драйверы используются операционными системами для обмена данными с устройствами хранения. Драйверы NVMe работают быстрее, чем драйверы AHCI, которые обычно используются в интерфейсах SATA.
Драйвер NVMe напрямую взаимодействует с системным процессором, а AHCI должен связываться с контроллером SATA. AHCI имеет показатель IOPS (число операций ввода/вывода в секунду) до 100 тыс., в то время как для NVMe IOPS составляет более 1 миллиона. IOPS (число операций ввода-вывода в секунду, произносится «ай-опс») — это стандартный показатель производительности, используемый для тестирования компьютерных запоминающих устройств.
Что такое NVMe у твердотельных накопителей?
Содержание
Содержание
Аббревиатура NVMe сейчас на слуху. То тут, то там можно услышать или прочитать, что-то вроде «Не хочу SATA, это старье. Хочу NVMe!» А что же это вообще такое? Давайте разбираться.
Что же такое NVMe?
NVM Express или NVMe (от англ. Non-Volatile Memory Express) — это спецификация протокола (упрощенно — протокол) обмена данными через линии PCI Express. Создавалась специально для твердотельных накопителей и ориентировалась на достижение максимальной производительности и масштабируемости в дальнейшем.
Следует отметить, что NVMe — это именно протокол, поэтому распространенное выражение «NVME накопитель/SSD» применяется не совсем корректно. Ведь под этим пользователи практически всегда понимают устройство в формате M.2, тем самым объединяя под одним названием и протокол, и форм-фактор накопителя.
Какие преимущества дает использование NVMe в накопителях?
Использованием линий PCIe означает высокий максимальный предел теоретических скоростных характеристик дисков, что было показано еще накопителями, не поддерживающими NVMe. Тогда зачем нужна была вся затея с ее разработкой?
Увеличение глубины очереди команд и количества очередей
Первые диски хоть и показывали высокие скорости, используя преимущества шины PCIe, но использовали эмуляцию AHCI, где была лишь одна очередь на 32 команды. Использование одной очереди обусловлено тем, что AHCI создавался для жестких дисков, а у них ни о каком параллелизме при работе думать не приходилось. С появлением SSD все изменилось. В спецификации NVMe заложено использование до 65535 очередей и до 65535 команд в каждой очереди с указанием приоритета очередей и четким арбитражем последних. Эти огромные показатели хоть и не нужны сейчас, но задел на будущее оставляют приличный.
Представьте бригадира и некоторое количество рабочих, очень быстрых рабочих. Если бригадир один и выдает по небольшому количеству поручений одному рабочему сразу, то пока он раздает указания остальным, предыдущие уже могут всю работу выполнить и простаивать. А если бригадиров столько же, сколько рабочих и они выдают поручения сразу на полдня, то утилизация ресурсов будет гораздо выше.
Работа с многоядерными/многопроцессорными системами, внедрение механизма прерываний и поддержка виртуализации
Совместно с первым пунктом это нацелено на увеличение параллелизма в работе, что в результате приводит к улучшение скоростных характеристик. Каждое ядро процессора может управлять несколькими очередями (отправка/завершение). Управление прерываниями (MSI-X — Message Signaled Interrupt Extended) позволяет при поступлении приоритетной задачи быстрее поставить ее на выполнение. Также была произведена оптимизация по поддержке работы с технологиями виртуализации, которая обязательна для серверов, куда NVMe в первую очередь и были нужны.
Проведем параллель с дорогой. Ясно, что пропускная способность однополосной дороги существенно меньше, чем у четырехполосной. Если только у нее не одна полоса (ядро) для въезда, иначе это колосс на глиняных ногах. А если по дороге будет ехать пожарная машина, то все расступятся и она проедет первой (спасибо прерываниям и приоритизации).
Сокращение задержек при работе
Чтобы убрать задержки при выполнении команд накопителем нужен простой и короткий путь. Поэтому посредники в лице SATA-контроллера были исключены. Также был написан более простой и эффективный набор команд для работы протокола, использующий меньше процессорного времени.
Примерной аналогией будет ситуация, когда вам нужно пробежать обычную стометровку и с препятствиями. Первую, конечно, пробежать проще и быстрее, особенно если у вас ноги длиннее (проще команды) и быстрее двигаются (меньше расходуют ресурсов).
Ускорение работы с оперативной памятью
Если AHCI требовалось два запроса в DRAM, то NVMe использует один запрос на чтение 4 Кб, обеспечивая эффективную работу небольших операций ввода/вывода. Опять же сокращает накладные расходы, позволяя увеличить эффективность в единицу времени в сравнении с AHCI. Ведь быстрее оплатить покупку просто приложив карту, чем еще дополнительно вводить пин-код.
Это лишь несколько основных важных отличий NVMe, по которым виден основной вектор при работе над протоколом. SSD, в отличие от HDD, обладает некоторой степенью параллелизма — контроллер поддерживает несколько каналов для подключения микросхем памяти. В итоге большой пласт работы направлен на максимальную возможность распараллеливания операций. Несколько очередей с большой очередью команд — сценарий, в котором накопители показывают лучшие результаты. Работа с многоядерными процессорами также позволяет максимально загрузить работой диск.
Другой целью разработки было исключение промежуточных звеньев. Так удаление контроллера SATA из цепочки «процессор — накопитель», новые команды и драйвер позволили снизить задержки в обработке команд так, что основным фактором, влияющим на латентность, стали сами микросхемы NAND. Они же и остаются лимитирующим фактором в скорости записи. 3DXpoint от Intel сделала первый шаг в направлении уменьшения латентности памяти. Будем ждать, что смогут преподнести будущие типы микросхем.
Все внесенные изменения обеспечили не только и не столько скачок в скоростных показателях (это сделал еще переход на PCIe в SSD, эмулировавших AHCI), а существенное увеличение числа операций ввода-вывода (IOPS), что особенно важно в высоконагруженных сценариях/режимах работы.
Опять же если вернуться к AHCI, то ее разработка зиждилась на максимальном сохранении совместимости с разными устройствами. NVMe же возводили практически с нуля, основываясь лишь на использовании линий PCI-Express. И это наложило некоторые особенности реализации в конечном итоге.
Так для работы NVMe необходима поддержка со стороны операционной системы (ОС). Впрочем, сейчас драйвер есть во всех современных ОС: Windows, Mac OS и ядрах Linux/BSD. А для использования в качестве загрузочного накопителя, потребуется наличие драйвера в UEFI материнской платы. Как его добавить в старые модели плат, можно прочитать здесь.
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Как правильно выбрать NVMe SSD диск
Твердотельные накопители (SSD) за последние годы стремительно улучшают свои показатели, выходя на рубежи производительности, которые еще недавно казались недостижимыми. Это сделалось возможным при переходе на шину PCI Express и протокол NVMe, такие диски не имеют ничего общего с SATA и являются новым типом накопителей, изначально рассчитанных на использование твердотельной памяти. При этом вокруг них до сих пор гуляет множество мифов и заблуждений, что порой очень мешает сделать правильный выбор, поэтому сегодня мы постараемся отделить зерна от плевел и рассказать о том, что действительно важно при выборе такого диска.
Основным поводом к написанию данной статьи стал не уменьшающийся поток вопросов по поводу приобретения и работы NVMe накопителей, начиная с того, какой диск выбрать для приобретаемой системы, и заканчивая тем, что купленный диск не развивает заявленных в описании скоростей.
Чтобы лучше понимать, о чем пойдет речь дальше мы рекомендуем ознакомиться с нашей статьей: Твердотельные накопители: что такое SLC, MLC, TLC, QLC, NVMe и прочие аббревиатуры? Мы не будем подробно останавливаться на рассмотренных в ней вопросах.
Основные понятия
Путаница с твердотельными дисками начинается уже с основных понятий. Поэтому сразу внесем ясность. Рекомендуем внимательно ознакомиться с приведенной ниже информацией и никогда не путать одно с другим.
Поэтому говоря о современных NVMе дисках следует понимать, что это прежде всего накопитель с подключением по шине PCI Express и с поддержкой протокола NVM Express, для подключения к компьютеру такой диск может использовать разъем M.2. Именно в этом порядке, потому как форм-фактор M.2 вовсе не говорит о том, что перед нами именно NVMe диск, так как с данным разъемом выпускается большое количество SATA-моделей. Точно также NVMe диски могут использовать иные разъемы для подключения к ПК, например, U.2.
Что нужно знать про шину PCI Express
Так как NVMe накопители подключаются к шине PCI Express, то начнем разбираться с нее. Первая спецификация шины PCI Express представлена в 2002 году и это означает, что нет принципиальных препятствий для подключения NVMe дисков даже к достаточно старым устройствам и они даже будут работать. Но следует учитывать, что пропускная способность одной линии различных версий PCIe имеет разные значения. На сегодняшний день массовое применение имеет третья версия PCIe и только начинают появляться устройства с поддержкой четвертой. Ниже в таблице представлена пропускная способность одной, двух и четырех линий разных поколений PCIe.
Версия PCIe | Пропускная способность МБ/с | ||
---|---|---|---|
x1 | x2 | x4 | |
1.0 | 250 | 500 | 1000 |
2.0 | 500 | 1000 | 2000 |
3.0 | 985 | 1969 | 3938 |
4.0 | 1969 | 3938 | 7877 |
Существующие модели NVMe дисков поддерживают две или четыре линии PCI-е. Как видим, несмотря на то что скорость одной линии PCI Express с каждым поколением практически удваивалась, но только к третьей версии достигла значений, дающих серьезное преимущество над SATA даже в недорогом варианте с двумя линиями.
Все современные модели, если не сказано иного, поддерживают третье поколение PCIe, ряд дорогих моделей поддерживает спецификацию 4.0. Если же мы возьмем материнские платы, то там не все так радужно, поддержку PCIe 4.0 можно найти только в топовых моделях, а гораздо чаще можно столкнуться с использованием второго поколения шины, даже во вполне современных системах. Кроме того, нельзя говорить о PCI Express только в разрезе материнской платы, обязательно нужно брать во внимание используемый процессор, так как контроллер шины находится в нем и именно от него будет зависеть доступное количество линий и их поколение.
Чтобы не быть голословными, давайте разберем несколько примеров. Проще всего с Intel, так как там практически каждое поколение процессоров имеет собственный сокет и вариативность не так велика. Кроме того, последние поколения процессоров имеют одинаковую конфигурацию PCIe вне зависимости от модели, так все процессоры 10-го поколения, от Celeron G до Core i9 имеют 16 линий PCIe 3.0 с возможными конфигурациями 1×16, 2×8, 1×8+2×4.
Как ни странно, проще всего с недорогими моделями. Возьмем, к примеру Gigabyte H410M S2H V3, данная материнская плата имеет единственный разъем M.2 M-key c PCIe Gen3 x4, а так как кроме процессоров 10-го поколения установить туда больше ничего нельзя, то вы при любом раскладе получаете 4 линии PCIe третьего поколения с пропускной способностью до 3,9 ГБ/с.
Берем более дорогую ASRock B460 Pro4, эта плата имеет два разъема M.2, каждый из которых поддерживает PCIe до уровня Gen3 x4, кроме того, в один из разъемов можно установить SATA-устройство. Опять-таки процессоры только 10-го поколения, что гарантирует отсутствие неприятных сюрпризов.
Итак, самый верхний разъем M.2, предоставляющий четыре линии PCIe 4.0 доступен только при установке процессора 11-го поколения, если вы купите процессор 10-го поколения данный разъем «превратится в тыкву», т.е. не будет работать вообще. Оставшиеся разъемы предоставляют линии третьего поколения в количестве x4 и x2, таким образом подсистема хранения B560 Pro4 оказывается даже более ограниченной, чем у более дешевой B460 Pro4 и раскрывается только при использовании процессоров 11-го поколения.
С переходом в стан AMD все становится гораздо интереснее, потому как платформа AM4 не менялась уже достаточно долго и предусматривает поэтому большую вариативность, кроме того, разные модели процессоров AMD имеют разную конфигурацию PCIe.
И снова проще всего с недорогими платами, скажем ASRock AB350M Pro4-F имеет два разъема M.2, один из них поддерживает только SATA3 и нас не интересует, а вот второй предоставляет 4 линии PCIe 3.0 при использовании старших моделей процессоров и всего две линии при установке Athlon или процессоров A-Series APU. При этом несмотря на то, что плата поддерживает процессоры третьего поколения (Zen2) линий PCIe 4.0 на слотах хранения вы не получите.
Внимательный читатель может заметить, что наиболее причудливые конфигурации PCIe встречаются именно на платах верхнего ценового сегмента. Действительно это так. Объяснение этому факту тоже достаточно простое: количество доступных линий PCIe конечно и если в недорогих платах их в принципе хватает на всех потребителей, то в более высоком сегменте приходится идти на компромиссы, так как количество подключаемых к шине устройств только растет.
Несколько слов о разъемах М.2
К выбору нового форм-фактора для накопителей NVMe имеет опосредованное отношение, любой, кто заглядывал внутрь 2,5″ SSD диска знает сколько там неиспользуемого пустого места. Добавьте к этому корпус и разъем. Переход на M.2 позволил еще раз удешевить производство, а также, за счет меньших размеров, упростить проектирование компактных устройств. Пользователи тоже не остались в накладе, компактный накопитель устанавливается непосредственно на плату устройства и позволяет обойтись без кабелей, что улучшает внешний вид и вентиляцию собранного компьютера.
Изначально для SSD выбрали форм-фактор M.2 с разъемом B key, данный разъем предусматривал вывод на свои контакты интерфейса SATA и двух линий PCIe. На первых порах этого было достаточно, но с развитием быстрых NVMe дисков пропускной способности двух линий PCIe стало не хватать. При этом возможности разъема B key не позволяли увеличить количество линий PCIe, потому что стандартом также предусмотрен вывод на него интерфейсов USB 2.0 / 3.0, HSIC, SSIC, Audio, UIM, I2C. Они могут быть разведены или не разведены на каждый конкретный разъем, но разъем должен оставаться электрически совместимым с любым типом устройств, которые могут быть подключены к нему. Проще говоря, устройство может там обнаружить или не обнаружить требуемые линии, но ничего неожиданного там оказаться не должно.
Поэтому был разработан новый тип разъема с ключом M key, который предусматривает вывод на него только интерфейсов PCIe x4 и SATA, при этом в части двух линий PCIe и SATA разъем сохраняет совместимость с B key. Таким образом разработанные для разъема B key накопители могут успешно работать в разъеме M key, но не наоборот.
Практически все современные материнские платы выпускаются с разъемом M key, с ним же идут все PCIe x4 NVMe диски, в то время как SATA и PCIe x2 модели оснащаются комбинированным разъемом B&M keу и могут быть установлены как на старые, так и на новые платы.
Иногда здесь возникает непонимание, ведь раньше мы говорили, что PCIe x4 диски совместимы с интерфейсом PCIe x2, а теперь оказывается, что подключить рассчитанный на четыре линии накопитель к разъему с двумя линиями PCI Express нельзя. Однако противоречия тут нет. Спецификация PCIe требует от устройств поддержки работы с любым количеством линий, начиная от одной, максимальное количество ограничивается возможностями устройства, также все новые версии PCIe обязаны сохранять обратную совместимость со старыми устройствами (и наоборот). Но, оставаясь совместимыми по интерфейсу, диски PCI x4 электрически несовместимы со старым разъемом.
Загрузка с NVMe
Для загрузки с NVMe устройств низкоуровневое ПО материнской платы должно уметь работать с такими дисками и именно это подразумевается, когда на коробках пишут «поддерживает NVMe». Без поддержки со стороны материнской платы вы также сможете использовать NVMe диски, но не сможете загрузитьcя с них. Для плат с UEFI такую поддержку во многих случаях можно добавить, просто обновив прошивку (существуют также прошивки от энтузиастов для старых плат), для устройств с BIOS такая возможность обычно недоступна. Есть, конечно, вариант с самостоятельной ручной модификацией для некоторых моделей, но это сугубо на свой страх и риск.
Если же вы не готовы взять на себя такую ответственность, то можно пойти обходным путем и использовать Clover EFI bootloader. Работа с данным инструментом выходит за рамки этой статьи, однако в сети можно найти достаточно инструкций.
Возвращаемся к выбору диска
Теперь, вооружившись необходимым объемом знаний, можно приступать к выбору NVMe диска. Прежде всего следует определиться с выбором материнской платы и процессора, а затем, при помощи спецификаций на них, уточнить количество линий PCIe на разъемах M.2 и поколение интерфейса.
И если вы внимательно читали эту статью, то в ряде случаев вам даже не придется заглядывать в спецификации, так, например, увидев заявленную для SAMSUNG 980 PRO максимальную скорость чтения в 6900 МБ/с сразу можно понять, что речь идет о PCIe 4.0 и без поддержки этого интерфейса со стороны материнской платы и процессора такой диск покупать не имеет смысла.
Если у вас в наличии 4 линии PCIe 3.0 то можете смело выбирать диски со скоростями 3900 МБ/с, т.е. практически любой производительный диск, кроме топов, с поддержкой четвертой версии интерфейса. При этом часто на плате остается еще один разъем M.2 с меньшим количеством линии или более старой версией интерфейса. Поэтому вполне разумно желание установить туда еще один накопитель, все равно производительность даже двух линий PCIe 3.0 существенно превосходит пропускную способность SATA. Как быть в этом случае? Очень просто, из таблицы выше получаем значение пропускной способности двух линий третьего поколения (или четырех линий второго) как 2000 МБ/с, если грубо округлить в большую сторону, вот на эту цифру и будем ориентироваться.
В любом случае принцип прост: выясняем пропускную способность разъема и согласно нее подбираем подходящий диск. Также не забываем обратить внимание на тип ключа, если для современных плат это несущественно, практически везде стоит M key и вы сможете установить любой накопитель, то на более старых платах вы можете встретить B key и диски PCIe x4 подключить туда не получится чисто физически.
Еще один неочевидный фактор: на многих платах разъемы M.2 делят линии PCIe с каким-либо слотом и при подключении накопителя определенный слот перестанет работать. Обязательно учитывайте это, если используете дополнительные PCIe устройства помимо видеокарты.
Надеемся, данная статья поможет вам внести ясность в вопрос выбора накопителя NVMe и позволит избежать грубых ошибок и необоснованных материальных затрат.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Разные SSD: а есть ли разница? Страсти по NVMe
Оглавление
Вступление
Неделю назад мы протестировали несколько различных твердотельных накопителей с целью выяснить, а существуют ли на практике какие-то отличия между ними. Ведь одно дело – различные синтетические тесты, которые специально создаются и настраиваются так, чтобы зависимость их от иных компонентов системы была минимальна. И совсем другое – реальные приложения, которые взаимодействуют со всей системой. Получилось так, что всего через два дня у меня на руках очутился накопитель Samsung SM951 в версии NVMe. Заурядно? И да, и нет одновременно. Твердотельный накопитель Samsung SM951 на данный момент является единственным решением, доступным рядовому пользователю (де-факто, де-юре – это продукт для сборщиков компьютеров), которое выпускается в двух версиях – AHCI и NVMe. При этом их аппаратная база абсолютно идентична, а необходимый логический протокол включается на последнем этапе производства – в момент записи в накопитель его микрокода. Таким образом, у меня оказались оба этих SSD и появилась возможность без всяких теорий и допущений выяснить практическую пользу от нового протокола NVMe. Ну а попутно согласно пожеланиям читателей был расширен набор тестов. Благодаря нашим постоянным партнерам – магазину Регард и компаниям-производителям, мы вновь проясним ситуацию, сравнив разные модели накопителей между собой. | Обзор и тестирование пяти модулей оперативной памяти DDR4-2133 SK Hynix HMA451U6MFR8N0-TF объемом 4 Гбайт рекламаМаркетинговая теория: 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). Уже из расшифровки аббревиатуры видно, что этот протокол предназначен именно для твердотельных накопителей на энергонезависимой памяти и разрабатывался исходя из их особенностей. При его создании разработчиками делался упор на сокращение «накладных расходов» при передаче данных, уменьшение задержек и улучшение работы с многопоточными нагрузками. Корпоративным потребителям понравятся развитые системы обнаружения ошибок, управления и самошифрования. реклама
Иначе говоря, перед нами высококлассное решение, а, зная цели и задачи обычных потребительских ПК, а также характер возникающих в них нагрузок, мы можем понять, что 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 отсутствует. С платформой 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) специальных драйверов пока не публиковали. рекламаСуммируя все вышесказанное, при наличии желания обновить достаточно актуальную и производительную по современным меркам систему нужно крайне аккуратно подходить к реализации этого желания.
|