Не только размер имеет значение или что нам принес новый протокол NVMe

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



    Одним из таких решений стал протокол NVM-express, который, как говорят специалисты, совершил революцию в использовании твердотельной энергонезависимой памяти. Что же такое NVMe и какие преимущества он принес с собой?


    Скорость работы компьютера во многом зависит от быстроты считывания данных с носителей и скорости обработки команд. Какой бы высокопроизводительной не была операционная система в целом, всё может свести на нет обычный жесткий диск, который заставляет программы подтормаживать при открытии или «задумываться» при выполнении объемных задач. Не говоря уже о том, что HDD практически исчерпал свой потенциал по наращиванию объемов хранения информации и потому стал бесперспективным. А механический привод и подавно устарел и замедлял развитие компьютерных технологий.

    И вот на смену HDD пришли SSD — твердотельные накопители, энергонезависимые немеханические запоминающие устройства. Первые накопители SSD появились на рынке во второй половине 2000-х. Довольно скоро они уже стали соперничать с жесткими дисками по объему. Но вот полностью раскрыть свой потенциал и преимущества в скорости, параллельности обращений к ячейкам долгое время не могли, потому что существующие интерфейсы и протоколы были построены по старым стандартам, призванным поддерживать накопители HDD через интерфейсы SATA и еще более древними SCSI (SAS). 

    Следующим шагом в раскрытии потенциала энергонезависимой памяти стал переход на шины PCI-express. Но для них к тому времени еще не были разработаны новые промышленные стандарты. И вот в 2012 году выпускаются первые компьютеры, в которых реализован протокол NVM-express.

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

    Поэтому словосочетание «накопитель NVMe» не совсем корректное, а сравнение типа «HDD — SSD — NVMe» абсолютно ошибочное и вводит в заблуждение пользователя, который только знакомится с темой. Правильно сравнивать HDD с SSD с одной стороны, SSD, подключенный через интерфейс SATA (по протоколу AHCI) и SSD, подключенный через шину PCI-express с использованием протокола NVM-express, с другой. Сравнивать HDD с SSD, вероятно, уже мало кому интересно. Все понимают разницу, и всем хорошо известны преимущества последнего. Разве что отметить некоторые (весьма разительные) преимущества. По сравнению с жёсткими дисками твердотельные накопители имеют меньший размер и вес, являются беззвучными, а полное отсутствие механических приводов делает их многократно более устойчивыми к повреждениям (например, при падении) да и просто увеличивает срок службы.

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

    Интерфейс SATA, как уже говорилось, создавался для жестких дисков, головка которых одновременно физически может получить доступ только к одной ячейке. Ничего удивительного, что в SATA-устройствах всего один канал. Для SSD этого плачевно мало, ведь одно из их преимуществ — поддержка параллельных потоков. Контроллер SSD также управляет начальным позиционированием, что является еще одним существенным преимуществом. Шина PCI-express обеспечивает многоканальную работу, а протокол NVMe реализовывает это преимущество. В результате данные, хранящиеся на твердотельных накопителях, передаются через 65 536 параллельных очередей управления, каждая из которых может содержать одновременно более 65 536 команд. Сравните: SATA и SCSI могут использовать только одну очередь, поддерживающую до 32 и до 254 команд соответственно. 

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

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

    Многочисленные тесты, проведенные различными организациями и экспертами доказывают, что скорость работы SSD NVMe в среднем в 5 раз выше, чем при подключении SSD по старым интерфейсам.

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

    Речь идет о конструктивных решениях, о том, что на профессиональном языке принято называть «форм-фактором». Иначе говоря, в каком виде данные комплектующие выпускаются производителями. В настоящий момент на рынке существует три форм-фактора.



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



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



    Третий — M2. Это наиболее развивающийся форм-фактор. Его активно используют в ноутбуках, а с недавнего времени он уже реализован и на некоторых материнских платах для стационарных ПК. Однако, приобретая себе M2 стоит быть очень внимательным, потому что в таком форм-факторе до сих пор выпускаются и SATA SSD.

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



    На правах рекламы


    VDS с NVMe SSD — это именно про виртуальные серверы от нашей компании.
    Уже давно используем исключительно быстрые серверные накопители от Intel, мы не экономим на железе, только брендовое оборудование и одни из лучших дата-центров в России и ЕС. Поспешите проверить ;)

    VDSina.ru — хостинг серверов
    Серверы в Москве и Амстердаме

    Комментарии 47

      +1
      достаточно ли мощный процессор у вашего компьютера
      Каковы характеристики достаточной мощности?
        +13
        100 Ватт как минимум.
          +6
          Йюху! Моего Pentium-D хватит!
          0
          Вот кстати да, эта часть в статье не раскрыта, в том плане что — а не влияет ли переход с sata на nvme на загрузку процессора при операциях чтения/записи. То есть есть ли ездержки при использовании нового протокола с длинными очередями, и вообще влияет ли он на нагрузку (именно не за счет обработки данных, а за счет получения). Понятно, что в рамках современных процессоров это наверное прям копейки — но ведь не бесплатно мы поулчаем все эти новые фишки? или бесплатно и контроллер диска всем рулит?
            0
            Самое слабое место у NVMe — нагрев контроллера. Копировал на «народный» Adata XPG S11 Pro терабайт данных — к концу процесса температура контроллера была 72 градуса (при том, что по спецификациям допускается до 70, потом чип уходит в троттлинг и скорости сильно снижаются). При этом радиатор в комплекте «как бы» есть — приклеен на двух узких «терможвачках» по краям платы, неплотно прилегает и несёт скорее декоративную функцию. В итоге охлаждение пришлось поменять на широко распространённый вариант, крепящийся силиконовыми кольцами — нагрева выше 55 с этого момента не видел.
              0
              Сейчас, наверное, это не очень актуальная проблема — производители материнских плат этим озаботились, и множество моделей материнок уже имеют нашлёпки-радиаторы над разъемами M.2
                0

                Бюджетные в лучшем случае на 1 слоте и то не всегда.

                  0
                  Ну так в бюджетном компьютере и NVMe-накопители, как правило, гроздями не вешают.
                0
                нагрева выше 55 с этого момента не видел
                Падение скорости исчезло?
                Может оно было не из-за троттлинга, а элементарно буфер переполнялся?
                  0
                  На скорость внимания уже не обращал, когда температура зашкаливать стала.
                    0
                    Может оно было не из-за троттлинга, а элементарно буфер переполнялся?

                    Это ведь само собой разумеющееся, TLC-накопитель с SLC-кешем, если на него лить терабайт, по-любому затормозится после того, как кеш заполнится, не суть важно, какая там у него была температура. Но 55 в любом случае лучше, чем 72.
                  0

                  Операции чтения и записи обычно происходят через DMA, минуя процессор

                  0

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

                  +9
                  Однако, приобретая себе M2 стоит быть очень внимательным, потому что в таком форм-факторе до сих пор выпускаются и SATA SSD.


                  Gotcha! На картинке именно SATA, у NVMe один ключ.
                    0

                    Вот буквально вчера точно так же попался IRL, правда наоборот — пытался впихнуть в mSATA M2-винт. Хорошо хоть переходник в PCIe-M2 стоит копейки.

                      +1
                      mSATA — это отдельная история…
                      Я именно про M2.
                      Если смотреть на M2-диск — если ключей два, то это SATA, если один, то это NVMe.
                      Если смотреть на M2-разъём со стороны контактов — то если ключ с правой стороны, то поддерживается только SATA-диски, если с левой — поддерживаются и SATA, и NVMe-диски. Главное — не перепутать с mini PCI-e, куда wifi-карты вставляются, туда диск не поставить.

                      К тому же, для того, чтобы NVMe опознался, нужны модули в UEFI. Таковые появились в линейках матплат под Intel c девяностой серии (но лучше свериться с документацией), а с сотой — уже стандарт.

                      На более ранних чипсетах можно подколхозить UEFI самому, добавив нужные модули, но это на свой страх и риск. А потом поставить адаптер PCI-E->M2, и адаптеров и инструкций полно.
                        0
                        К тому же, для того, чтобы NVMe опознался, нужны модули в UEFI.

                        У меня есть уже достаточно старенький Samsung 950 Pro, так вот, он работает с переходником M.2 даже на очень старых платах. У него на борту есть ПЗУ с собственным драйвером, который добавляет поддержку этого накопителя тем материнкам, которые не умеют в NVMe. Но это, скорее, исключение.
                          0
                          У ключей есть названия: A, E, B, M. Первые два для всяких wifi карточек и прочих плат расширений. А вот вторые могут быть как по отдельности, так и вместе: только B (PCI-e x2 и SATA), только M (PCI-e x4 и SATA), B + M. Так что наличие одного ключа ещё не говорит о том, что он NVMe.
                            0
                            Да, верно, с одним M-ключом ещё AHCI-ssd могут быть. Вот SATA только с одним B-ключом не попадались.
                              +2
                              По моему, хоть и не большому, опыту — ключи это всё фигня, смотреть надо в документацию на материнку и на документацию к устройству. Бывает, например, вариант «у нас тут слот M2 PCI-E + SATA, но если вы вставите что-то в этот обычный слот PCI-E, то линии PCI-E „уходят“ туда, и у вас остаётся M2 SATA». По ключам даже и не помню какой там вариант был.
                        0

                        На самом деле бывают и SSD с интерфейсом NVMe с ключами M2 B+M — например, серия Apacer AS2280P2. Только у таких SSD урезанный интерфейс PCIe x2, а не x4.


                        Но спецификации действительно нужно читать внимательно — механическое совпадение ключа не гарантирует наличия всех возможных для такого ключа интерфейсов.

                        +3
                        M2.… а с недавнего времени он уже реализован и на некоторых материнских платах для стационарных ПК.
                        Какого года эта статья? Если верить Я.Маркету, из ~900 моделей мат. плат, имеющихся в продаже, слот M.2 есть у ~600, большая часть из которых поддерживает NVMe. В новых сериях так и вообще модель без M.2 нужно искать чуть ли не специально.
                          +5
                          Думал увидеть описание последних изменений в стандарте, а тут обзор 5 летней давности.
                            +2
                            С журфаком за спиной (а статью наверняка писали обычные литературные нигры) трудно разбираться в деталях и протоколах
                              +1
                              Ну таки да. Корпоративный блог с постингом на хабре стоит денег, отбивать бюджет как-то надо, а генерировать реально качественный контент формата хабра — для этого нужно собрать кучу высококлассных спецов, и платить им много.

                              А тут на двачах набирают недокопирайтеров из дзена, и за дошики буквально заставляют писать всякий шлак.
                              0
                              Всё чаще замечаю, что у компаний вроде дата-центов переводы не блещут качеством.
                              Чего только стоит «size имеет тип u16 (неподписанный шестнадцатибитный int) и хранит размер пакета» в одной из статей
                            0
                            Какая то статья-презентация «новой» технологии. Надеялся увидеть больше технических деталей, исторических экскурсов или подковёрных интриг в процессе становления протокола.
                              0
                              Сразу хочется заметить, что на картиночке с PCIe картой представлена карта с куллером, что выводит на новый уровень аргумент о тишине и отсутствии движущихся частей;)
                                0
                                А ещё вентиляторы рано или поздно заклиниваются и превращаются в генератор тепла. Но производительным ssd без активного охлаждения сейчас, похоже, никак.
                                  0

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

                                  0
                                  Ну, существуют ssd с интерфейсом pcie без кулера.
                                    0
                                    Да я-то в курсе, что есть. Вопрос скорее к автору о том, как именно выбирались картинки.
                                  +2
                                  Не говоря уже о том, что HDD практически исчерпал свой потенциал по наращиванию объемов хранения информации и потому стал бесперспективным. А механический привод и подавно устарел и замедлял развитие компьютерных технологий.

                                  Весьма спорно. Объёмы накопителей пока растут. Если выбирать между HDD и SSD для надежного хранения архивов хотя бы в пару терабайт, то выбор в пользу старого и бесперспективного HDD как бы очевиден)
                                    0

                                    Очередная лакмусовая бумажка.
                                    Если it-шник говорит что hdd пропадут, то он фиговый it-шник. Вспомните про летночные стримеры, кот. до сих пор используют. Я знаю одну шикарную утилиту, кот. на ssd тупо не работает. В ближайшем будещем посмотрим, как будут внезапно дохнуть ssd-шки. А hdd тормозят и обращяют на себя внимание, даря шанс не потерять инфу.

                                      +1
                                      А hdd тормозят и обращяют на себя внимание, даря шанс не потерять инфу.

                                      В HDD есть много всяких разных точек отказа, и далеко не все они обращают на себя внимание до того, как убьют диск. В SSD, к слову, этих самых точек отказа даже меньше, а в кассете ленточного стримера вообще практически нет, чем она и прекрасна как средство резервного хранения. Но в любом случае, резервное хранилище на SSD должно быть более надёжным и удобным, нежели HDD, при прочих равных. И минус его исключительно в стоимости.
                                        0
                                        Тут только штука в том, что с развитием всех этих устройств хранения мы получили такую штуку, что все эти устройства имеют слишком притёртые комплектующие. Если лет 10 назад можно было просто переставить сгоревший контроллер HDD с аналогичного диска или засунуть кассету в другой стриммер, то сейчас всё не так. ПЗУ контроллера содержит кучу служебных и калибровочных параметров о приводе и пластинах. А плотность записи в LTO стала такой, что когда привод выходит из строя начинается увлекательный квест где бы найти привод, который бы смог нормально прочитать данные с кассеты. И получается такая ситуация, что вроде бы данные-то есть и никуда не делить — что на диске они записаны, что на магнитной ленте, а с доступом к ним начинаются проблемы. И всё это — в результате погоне за ёмкостью.

                                        И минус его исключительно в стоимости.

                                        1) Для долгосрочного пассивного хранения данных SSD не подходят — памяти нужно питание для обновления заряда в ячейках. В то время как на ленте и дисках они могут храниться десятилетиями.
                                        2) Для нормальной работы ряда NVMe накопителей требуется иметь 30% свободной ёмкости, в противном случае IOPS накопителя падает, причем иногда значительно.
                                        3) С энергопотреблением SSD не всё так гладко как хотелось бы. В простое они имеют неоспоримое преимущество перед HDD. Но при активной работе становится всё не так очевидно — потребление может быть даже выше HDD.
                                          +1
                                          Если лет 10 назад можно было просто переставить сгоревший контроллер HDD

                                          Хех, отмотайте ещё на пару десятилетий. Адаптивные настройки под конкретную банку у контроллеров появились ещё в 1990-е. Впрочем, эта проблема не так страшна, как её рисуют. Понятное дело, что средний админ этим сам не будет заниматься, но СЦ, где есть парень с паяльной станцией, вопрос пересадки ПЗУ с адаптивами вполне себе решит за вменяемые деньги.
                                          1) Для долгосрочного пассивного хранения данных SSD не подходят — памяти нужно питание для обновления заряда в ячейках. В то время как на ленте и дисках они могут храниться десятилетиями.

                                          Я не имею в виду кейс «записать и положить на полку на годы». Это специфический случай, и тут накопители вообще использовать нелогично, здесь нужны собственно пассивные носители — кассеты, оптические диски. В остальном да, вы правы.
                                          По п.2 и 3, для резервного хранения это ведь несущественно, оно всё ярко проявляется при рандомной записи. Для бэкапа же характерна линейная последовательная крупными блоками. Это нормально переварит практически любой контроллер флеш-памяти, кроме самых уж дешманских.
                                          –1
                                          > Но в любом случае, резервное хранилище на SSD должно быть более надёжным и удобным

                                          Резервное хранилище на SSD вообще недопустимо, с учётом того, что он в выключенном состоянии просто теряет данные: 1, 2 и так далее (тысячи их).
                                          Увы, HDD, DVD//BD и ленты.

                                          PS: Увидел соседнее сообщение. Я автоматом понял резервное хранение как выключенное, чем включенное, но неактивное — и, думаю, так у многих. Так что лучше уточнять. И, увы, годы не нужны — единиц месяцев достаточно для деградации, а это существенная часть типовых сценариев.
                                        +1

                                        Пару терабайт write-only архивов уже можно хранить за $2.5/мес в облаках большой тройки.

                                          0
                                          Облака-облака, улетели без оглядки…
                                          Бэкапы надо иметь и на своём собственном железе тоже, иначе это не бэкапы.
                                            0
                                            Хранить-то можно. Но эти терабайты туда для начала нужно отправить. А потом их оттуда нужно будет получить. При нынешних типичных скоростях доступа получается никак не оперативно.

                                            Это уж я молчу, что я не хотел бы, чтобы какая-то моя личная или, например, рабоче-корпоративная информация индексировалась третьей стороной, ответственность которой при утечках как правило практически нулевая.
                                          +3
                                          Автор фигню пишет.
                                          Скриншоты хорошо, характеристики, описание.
                                          Но в начале статьи должно быть понятно о чем вся статья.
                                          Тупо мыло до середины статьи.
                                          • НЛО прилетело и опубликовало эту надпись здесь
                                              0
                                              Почему-то ничего не сказано про важный и далеко не очевидный факт что энергопотребление будет в разы выше чем у жестких дисков.
                                                0
                                                Только почему то при переходе с обычного Sata-SSD(500Мб/Сек) на NVMe-SSD(2700Мб/сек) скорость загрузки приложений/ОС/ИГР выросла не более чем на 10-20%.
                                                Например время загрузки Eclipse с большим Java проектом упала примерно с 12 до 10 секунд.
                                                При этом во время загрузки диспетчер задач показывает что и процессор и накопитель практически простаивают.
                                                Узкое звено теперь какие то системные вызовы OS Windows?
                                                  0
                                                  После пары абзацев посмотрел на дату публикации, нет, все верно, свежая статья.
                                                    0
                                                    Эм… А где про действительно современные NVMe (EDSFF, NF1, U.3)? И про причины желания отказаться от устаревшего стандарта U.2? И причины того, что M.2 накопители изрядно ограничены в объеме относительно всех остальных?
                                                    Странно как-то читать явно устаревшую информацию в 2020 году.

                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                    Самое читаемое