Что такое NVMe у твердотельных накопителей
NVM Express или NVMe (от англ. Non-Volatile Memory Express) — это спецификация протокола (упрощенно — протокол) обмена данными через линии PCI Express. Создавалась специально для твердотельных накопителей и ориентировалась на достижение максимальной производительности и масштабируемости в дальнейшем.
Следует отметить, что NVMe — это именно протокол, поэтому распространенное выражение «NVME накопитель/SSD» применяется не совсем корректно. Ведь под этим пользователи практически всегда понимают устройство в формате M.2, тем самым объединяя под одним названием и протокол, и форм-фактор накопителя.
Что такое NVMe
Аббревиатура NVM Express (NVMe, NVMHCIS) расшифровывается как «спецификация интерфейса хост-контроллера энергонезависимой памяти». Эта технология позволяет задействовать особые преимущества накопителей, основанных на флеш-памяти типа NAND и 3D XPoint (Intel Optane).
Предпосылки создания
До NVM Express SSD-устройства подключались к компьютерам с помощью интерфейсов Serial ATA (SATA) или SAS, которые использовали режим работы AHCI для передачи данных. Эта технология разрабатывалась для традиционных механических жёстких дисков и имела существенные физические ограничения на скорость одновременной передачи данных, а также на время, необходимое для произвольного доступа к памяти.
К концу 2010-х технологическое развитие SSD-дисков упёрлось в лимиты пропускной способности интерфейса SATA. Максимальная скорость передачи данных шины составляла 6 Гбит/с или 750 Мбайт/с. А, с учётом системных издержек — не более 550 Мбайт/с.
Производители устройств для профессиональных и продвинутых пользователей смогли обойти ограничение, путём подключения SSD через интерфейс PCI Express. Однако эта стратегия позволила решить проблему со скоростью лишь частично.
Как появилась технология NVMe
Изначально спецификация NVMe была призвана упростить процесс тестирования того, как аппаратное ПО взаимодействует с энергонезависимой памятью по шине PCI Express. Позже технология стала промышленным стандартом для основных форм-факторов (U.2, M.2, AIC, EDSFF), в которых выпускаются SSD-диски.
Дорожная карта развития спецификаций NVM Express / Источник: nvmexpress.org
Протокол NVMe был анонсирован общественности в 2007 году на форуме разработчиков компании Intel. Первая рабочая версия спецификации (1.0) вышла в марте 2011 года, а текущая (2.0a) датируется июлем 2021.
Сегодня развитием технологии занимается большое международное сообщество компаний и разработчиков, которое было основано в 2014 году.
Поддерживаемые ОС
NVM Express поддерживают все основные операционные системы. Microsoft добавила встроенную поддержку NVMe в Windows 8.1 и Server 2012 R2 в октябре 2013 года. Также были выпущены модификации для Windows 7 и Server 2008 R2, доступные через Центр обновления Windows (Windows Update).
Apple добавила совместимость с OS X Yosemite версии 10.10.3 в апреле 2015 года. Поддержка NVMe в Linux реализована в марте 2012 года, начиная с ядра 3.3. С февраля 2015 года она доступна в дистрибутиве Chrome OS.
Поддержка NVMe накопителей есть в OpenBSD 6.0, NetBSD-current, FreeBSD 10.2, DragonFly BSD 4.6, а также в Oracle Solaris 11.2 и в таком ответвлении OpenSolaris как illumos. Совместимость VMware появилась в vSphere 6.0. Естественно, следующие версии этих продуктов (Windows 10, OS X 10.4 Mojave и т. д.) сохраняют поддержку NVM Express.
Разные SSD: а есть ли разница? Страсти по NVMe
Оглавление
- Вступление
- Маркетинговая теория: NVMe – шаг к светлому будущему
- Суровая действительность: NVMe – много головной боли
- Samsung SM951
- Участники тестирования
- Конфигурация тестового стенда
- Тестовый стенд и ПО
- Тестирование производительности
- Установка игр
- Запуск игр
- Операции копирования с различными типами файлов внутри накопителя
- Обработка мультимедиа
- Микширование
- Разложение DTS на WAV
- Антивирусная проверка
- Заключение
Вступление
Получилось так, что всего через два дня у меня на руках очутился накопитель Samsung SM951 в версии NVMe. Заурядно? И да, и нет одновременно.
Твердотельный накопитель Samsung SM951 на данный момент является единственным решением, доступным рядовому пользователю (де-факто, де-юре – это продукт для сборщиков компьютеров), которое выпускается в двух версиях – AHCI и NVMe. При этом их аппаратная база абсолютно идентична, а необходимый логический протокол включается на последнем этапе производства – в момент записи в накопитель его микрокода. Таким образом, у меня оказались оба этих SSD и появилась возможность без всяких теорий и допущений выяснить практическую пользу от нового протокола NVMe.
реклама
Маркетинговая теория: 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).
Уже из расшифровки аббревиатуры видно, что этот протокол предназначен именно для твердотельных накопителей на энергонезависимой памяти и разрабатывался исходя из их особенностей. При его создании разработчиками делался упор на сокращение «накладных расходов» при передаче данных, уменьшение задержек и улучшение работы с многопоточными нагрузками. Корпоративным потребителям понравятся развитые системы обнаружения ошибок, управления и самошифрования.
реклама
Параметр | AHCI | NVMe |
Максимальная глубина очереди запросов | Одна очередь, до 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) специальных драйверов пока не публиковали.
реклама
Суммируя все вышесказанное, при наличии желания обновить достаточно актуальную и производительную по современным меркам систему нужно крайне аккуратно подходить к реализации этого желания.
Управление версиями Node.js и NPM с помощью NVM
Наш прошлый перевод про новые функции 15-й версии Node.js был очень хорошо принят читателями «Хабра», поэтому сегодня мы решили продолжить тему и рассказать, как настроить NVM с версией Node.js 15 и NPM 7.
Версия Node.js 15 была выпущена 20 октября 2020 года. Она поставляется с npm 7 и множеством новых функций. Вы уже успели опробовать новую версию?
Но подождите минутку! Node.js 15 и npm 7 содержат критические изменения. Не повредит ли тогда обновление существующим проектам?
Теоретически может повредить!
К счастью, у нас есть NVM (Node Version Manager), который избавит нас от этой опасности. Давайте детально рассмотрим данный инструмент, чтобы без проблем обновить версии node.js и npm.
Установка NVM
nvm управляет версиями node.js и npm. Он устанавливается для конкретного пользователя и может быть вызван отдельно для каждой оболочки. nvm работает с любой POSIX-совместимой оболочкой (sh, dash, ksh, zsh, bash), в том числе на платформах: unix, macOS и windows WSL.
nvm можно установить с помощью команд curl или wget:
Скрипт install.sh клонирует репозиторий nvm в
/.nvm и пытается добавить исходные строки из приведенного ниже фрагмента в нужный файл профиля (
/.bash_profile мы видим, что строки добавлены:
Использование NVM
Итак, мы установили nvm. Теперь используем данную команду для установки последней версии node.js:
В выходных данных из примера выше указано, что npm 7.0.15 используется вместе с node.js 15.4.0 . Проверим:
Также мы можем указать нужную версию для установки. Семантический формат версии определяется SemVer:
Если указанная версия уже была установлена, она не переустанавливается:
Мы можем вывести на экран все установленные версии:
В приведенных выше примерах вывода символ -> указывает, что текущая версия node.js — 10.14.0 . Стрелка также представляет значения для default ( 12.16.0 ), node ( 15.4.0 ) и stable ( 15.4.0 ).
nvm use заменяет текущую версию:
Возможно, вы спросите, как так получилось, что v10.16.0 использует более позднюю версию npm, чем v13.9.0 . Эту задачу можно решить с помощью следующих команд:
Данная команда позволяет получить последнюю поддерживаемую версию npm для текущей версии Node.js:
nvm use устанавливает нужную версию только для текущей оболочки. Если вы измените оболочку, только что обновленная версия node.js будет потеряна.
Как сделать определенную версию Node.js постоянной?
Версия по умолчанию — такая версия, которая распространяется на все оболочки.
Команда nvm alias позволяет установить версию по умолчанию.
Для удобства можно создать файл .nvmrc , который принимает формат SemVer, node или default . После этого nvm use , nvm install , nvm exec , nvm run и nvm which будут использовать версию, указанную в файле .nvmrc , если в командной строке не указана другая.
Мы можем проверить текущую версию с помощью следующей команды:
ls-remote выводит на экран все доступные версии, но будьте готовы к очень длинному списку.
Обратим внимание, что название версии в сокращенной форме значительно сокращает весь список.
nvm which указывает путь к исполняемому файлу, где nvm был установлен. Мы установили такие версии node.js, как 10.14.0 , 10.15.0 и 10.16.0 . Вот результаты nvm which :
Указанную версию Node.js можно использовать непосредственно для запуска приложений:
Как вариант, данная команда запускает node app.js с переменной PATH, указывающей на версию 10.15.0 .
Если вам нужно больше nvm-команд, запустите команду help :
Обновление NVM
Мы можем использовать nvm для обновления node.js и npm. Но как обновить сам nvm ?
Перед обновлением у нас установлен nvm 0.34.0 .
Обновляем до версии 0.37.2.
Как указано в выводе, нам нужно закрыть и снова открыть терминал, чтобы использовать новую версию:
По сравнению с версией 0.34.0 , в версии 0.37.2 добавлена функция nvm set-colors для вывода на консоль.
По умолчанию nvm ls показывает следующие цвета:
Установим новые цвета:
nvm ls отображает вывод с новыми цветами:
Какие существуют типы 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:
- В 2014 году – NVMe 1.1b и NVMe 1.2.
- С 2015 года – NVMe 1.2a.
- В 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.
Что означает NVM на английском?
Аббревиатура NVM на английском в общении чаще иных вариаций подразумевает слово «неважно», что в русском по смыслу ближе к «проехали», «забудь» или «забей». Нередко в англоязычных соцсетях сокращение используют в качестве хэштега. Пример — «Я думал, что @ gucci1012 был человеком… #nvm».
Акроним является часто упторебляемым атрибутом при общении в онлайн-чатах и обмене текстовыми сообщениями. Когда пишут на английском NVM сокращение, подразумевается, что Вы должны игнорировать предыдущее утверждение или вопрос, которые были ясны в контексте их использования.
Сокращенную версию слова «Nevermind» шлют при переписке собеседнику преимущественно в случаях после того, как отправитель пишет что-то неуместное, либо выражает желание проигнорировать тему.
Когда кто-то употребляет в диалоге сокращение NVM на английском, что означает «неважно», Вам дают понять, что не стоит тратить время и умственную энергию на размышления в плоскости ранее затронутого вопроса. Они отказались от сообщения и просят забыть написанное. Например, если после прочтения отправленного месседжа его содержание показалось оскорбительным и неудобным, Вы можете написать сокращение NVM на английском. Также будет уместным использовать данное сокращение, если чувствуете, что ошибаетесь, не правы или стоит сменить тему не излагая объяснение причин.
Если все еще возникают трудности с пониманием, что значит NVM в английском языке, проведите аналогию с русскоязычным «проехали» и в последующем трактование таких сообщений для Вас упростится.
Начните зарабатывать прямо сейчас
Выбирайте проверенных каперов
Необычное использование NVM
NVM также иногда используется пассивно-агрессивно или саркастично. Когда кто-то не открывает ваши сообщения, вы можете сказать «nvm», чтобы привлечь их внимание или заставить их чувствовать себя виноватыми за то, что они не отвечают.
Вы также можете использовать NVM, если случайно отправили сообщение не тому человеку. Хотя это может быть неудобно (особенно если это было прочитано), простое «nvm, неправильный номер» или «nvm, предназначенное для отправки кому-то другому» должно исправить это.
Многие люди также будут использовать NVM, когда человек, с которым они разговаривают, не понимает их вопроса. Вот пример:
- Человек А: Вы уже смотрели новую серию?
- Человек Б: Что? Вышла новая серия?
- Человек A: LOL, nvm.
Еще одно применение NVM — это когда вы задаете вопросы или делаете запросы в социальных сетях. Например, вы просите своих подписчиков посоветовать, какой фильм посмотреть. Затем у вас внезапно меняются планы и вы решаете все-таки не смотреть фильм. Вы можете написать что-то вроде: «NVM, похоже, я все-таки не буду смотреть фильм».
СВЯЗАННЫЕ: Вот как отменить отправку сообщений в Facebook Messenger
Истоки NVM
NVM используется с самых первых онлайн-чатов. Его часто использовали, потому что людям часто приходилось печатать быстро и эффективно. Многие платформы обмена сообщениями, такие как SMS, также имели строгие ограничения на количество символов, поэтому необходимо было сокращать более длинные фразы.
Лучшая запись для NVM на Современный словарь восходит к 2003 году (хотя он намного старше) и просто определяется как «неважно». С тех пор он получил широкое распространение в Интернете, в социальных сетях и в приложениях для обмена сообщениями.
Поскольку большинство текстовых сообщений и онлайн-разговоров носят случайный характер, обычно целесообразно использовать NVM, особенно с людьми, которых вы знаете. Если какое-либо из ваших текстовых сообщений относится к бизнес-клиентам, в целях ясности избегайте аббревиатур.
Вы также можете использовать NVM в нижнем регистре, как «nvm». Как и большинство веб-жаргонов, прописные и строчные версии являются взаимозаменяемыми, поэтому их легко набирать на смартфоне. Не беспокойтесь о таких сокращениях, подобных «NVM», они будут использоваться всё чаще и чаще.
Выражение «NVM», как и многие культурные курьезы в Интернете, является частью современного английского общения. Из-за подразумеваемой непосредственности «NVM» менее вероятно появится в речевых или формальных коммуникациях, чем другие аббревиатуры.
Прочтя эту небольшую, но смею надеяться нужную для вас публикацию, вы узнали, что значит NVM на сленге, и теперь не попадёте впросак, если вдруг снова увидите в интернете подобное сокращение.