NVMe Command Line Interface (NVMe-CLI) — инструмент для управления твердотельными накопителями NVMe в Linux.
Центрам обработки данных требуется множество функций управления для контроля состояния твердотельных накопителей, отслеживания срока службы, обновления прошивки, безопасного стирания памяти и чтения различных журналов. NVMe-CLI — это мощный набор функций с открытым исходным кодом, соответствующий спецификации NVMe и поддерживаемый всеми основными дистрибутивами. Он поддерживает твердотельные накопители NVMe, а также архитектуру NVMe over Fabrics (NVMe-oF) и предлагает дополнительные подключаемые модули поставщиков для получения дополнительной информации помимо спецификации.
Страницы man или -help может быть недостаточно для понимания всех возможностей NVMe-CLI, но есть хорошая новость: все команды написаны непосредственно в соответствии со спецификацией! Все, что вам нужно сделать, это загрузить последнюю версию спецификации NVMe 1.4, тогда вы сможете интерпретировать сокращения для различных команд. Дополнительно есть справочная страница для получения информации о структуре команд NVMe-CLI.
Пакет NVMe-CLI существует для различных дистрибутивов Linux.
Установка nvme-cli в Ubuntu:
sudo apt-get install -y nvme-cli
Установка nvme-cli в CentOS/RHEL 7.x или 8.x:
sudo yum install nvme-cli
Вызов справки:
nvme help
Список команд довольно большой, возможностей много.
Шпаргалка по часто используемым командам:
Команда | Описание |
nvme-list | Список всех подключенных твердотельных накопителей NVMe: имя, серийный номер, размер, формат LBA и серийный номер. |
nvme-id-ctrl | Информация о контроллере NVMe и функциях, которые он поддерживает. |
nvme-id-ns | Информация о пространствах имён NVMe, оптимизациях, функциях и поддержке. |
nvme-format | Безопасное удаление данных с SSD, форматирование размера LBA или информации о защите для комплексной защиты данных. |
nvme-sanitize | Надёжно удаляет все пользовательские данные с SSD. |
nvme-smart-log | Выводит страницу журнала NVMe SMART с данными о состояни, температурой, степенью износа, и т.д. |
nvme-fw-log | Выводит страницу журнала прошивки. |
nvme-error-log | Выводит страницу журнала ошибок NVMe. |
nvme-reset | Перезагружает NVMe контроллер / NVMe SSD |
nvme-help | Справка. Например, команда nvme intel help отобразит дополнительные команды для дисков Intel, это плагин вендора для nvme-cli. |
nvme-delete-ns | Удалить пространство имён. |
nvme-create-ns | Создать пространство имён, например создать пространство имён меньшего размера для запаса SSD. Overprovision повышает надёжность, производительность и уменьшает задержку. |
nvme-fw-download | Загрузить новую прошивку на устройство NVMe. |
nvme-fw-commit | Применить (активировать) запуск прошивки сразу или после следующего сброса. |
Список накопителей NVMe
Список подключенных NVMe SSD:
nvme list
Информация о контроллерах NVMe/SSD
Команда идентификации контроллера используется, чтобы узнать о возможностях контроллеров NVMe (в большинстве случаев это возможности NVMe SSD). Вместо того, чтобы гадать, какие функции поддерживает поставщик, все они аккуратно расположены в списке. Вы можете определить модель накопителя, поставщика, версию прошивки и т. д. Все они имеют сокращения, указанные в спецификации NVMe.
Вот первые несколько байт структуры данных идентифицируемого контроллера, которую считывает команда.
nvme id-ctrl /dev/nvme0
Видно, что первые несколько строк в выходных данных совпадают со структурой идентификационных данных в спецификации: vid = идентификатор поставщика PCIe, sn = серийный номер, fr = версия микропрограммы и т. д.
Пространства имён
Пространства имен — это конструкция в технологии NVMe, в которой хранятся пользовательские данные. К контроллеру NVMe может быть подключено несколько пространств имен. Большинство NVMe SSD сегодня используют только одно пространство имен, но мультитенантные приложения, виртуализация и безопасность имеют варианты использования для нескольких пространств имен.
Вы можете узнать размер пространства имен и его утилизацию (NUSE), это полезно для создания отчетов о проценте использования LBA. В команде идентификации пространства имен содержится много полезных данных, которые могут использоваться программным обеспечением хоста для оптимизации производительности, целостности данных, TRIM (deallocate), размера LBA (например, 512 байт, 4 КБ) и многого другого. См. спецификацию NVMe 1.4 для пространств имен и определения пространств имен, чтобы подробно узнать обо всех возможностях.
nvme id-ns /dev/nvme0
SMART Log
Наиболее часто используемой командой в NVMe-CLI, вероятно, является команда smart-log, которая применяется для мониторинга работоспособности, температуры, состояния и т. д. накопителей через NVMe SMART.
nvme smart-log /dev/nvme0
Пример SMART Log поюзанного Intel DC P4510 SSD.
Страница Error Log
nvme error-log /dev/nvme0
Если какой-либо из счётчиков больше нуля, то есть ошибки.
Обновление прошивки NVMe
Производитель SSD часто выпускают новые версии прошивок для своих устройств, пока устройства производятся и находятся на поддержке. За пять лет гарантийного обслуживания может выйти четыре-пять обновлений. Обновления встроенного ПО обеспечивают самые последние исправления безопасности, исправления ошибок и улучшения надежности. OEM-производители обычно выпускают свои версии прошивок. Но SSD, полученные с общим встроенным программным обеспечением от торгового партнера или дистрибьютора, могут быть обновлены прошивкой производителя. Обратитесь к поставщику SSD за последней версией прошивки.
Процесс прошивки здесь описан не будет, почитайте раздел 8.1 Firmware Update Process спецификации NVMe 1.4. Там пишут в каких случаях требуется reset, описывают концепцию слотов прошивки — некоторые NVMe SSD могут иметь одновременно несколько версий прошивок, вы можете выбрать активную версию. Более того, большинство твердотельных накопителей имеют избыточные копии одного и того же образа прошивки для повышение надёжности и безопасности.
Текущая версия прошивки:
nvme id-ctrl /dev/nvme0 |grep "fr "
Загрузить прошивку на устройство:
nvme fw-download /dev/nvme0 -
nvme fw-commit /dev/nvme0 -a 0
В этом примере показан способ выбора разных операций коммита с помощью атрибута -a, согласно спецификации.
- Загружаемый образ замещает образ в лоте, без активации.
- Загружаемый образ замещает образ в лоте, активируется при следующем reset.
- Образ в указанном слоте активируется при следующем reset.
- Образ в указанном слоте активируется незамедлительно без reset.
Атрибут -s указывает слот.
После загрузки прошивки может понадобиться выполнить reset.
nvme reset /dev/nvme0
Secure Erase: Format и Sanitize
Эти команды используются для безопасного удаления данных с устройства. Это можно использовать при развертывании нового устройства, его выводе из эксплуатации или по окончании срока службы устройства, использовании SSD для нового приложения и т. д. Есть несколько вариантов, которые мы рассмотрим. Sanitize был представлен в спецификации NVMe 1.3, поэтому для выполнения безопасного стирания до этого использовался исключительно NVMe Format. Хотя оба варианта работают, Sanitize более надежен для обеспечения надлежащей очистки данных, а формат хорош для повседневного использования и тестирования.
Format
- Операция Secure Erase не выполняется, это просто Trim / освобождение всех LBA.
- User Data Erase — физически стирает данные на диске. В обычном NAND NVMe SSD это вызовет стирание всех блоков, а также изменение криптографического ключа. Из-за физических свойств стирания NAND это может занять некоторое время (для больших дисков — минуты).
- Crypto Erase выполняется намного быстрее, меньше секунды. Операция заменяет криптографический ключ, данные без старого ключа невозможно расшифровать. Во всех трёх случаях это приводит к освобождению LBA, некоторые диски после операции Trim поддерживают детерминированное чтение нуля для последовательного чтения.
Помните, мы узнавали об идентификации контроллера (id-ctrl)? Это пригодится, чтобы узнать, какой тип безопасного стирания поддерживает твердотельный накопитель NVMe. Проверьте Optional Admin Command Support (OACS) Bit 1 и узнаете поддерживаемый тип безопасного стирания.
nvme id-ctrl /dev/nvme0 -H | grep oacs -A 10
oacs : 0x3f [9:9] : 0 Get LBA Status Capability Not Supported [8:8] : 0 Doorbell Buffer Config Not Supported [7:7] : 0 Virtualization Management Not Supported [6:6] : 0 NVMe-MI Send and Receive Not Supported [5:5] : 0x1 Directives Supported [4:4] : 0x1 Device Self-test Supported [3:3] : 0x1 NS Management and Attachment Supported [2:2] : 0x1 FW Commit and Download Supported [1:1] : 0x1 Format NVM Supported [0:0] : 0x1 Security Send and Receive Supported
Форматируем NVMe SSD с Crypto Erase в namespace 1:
nvme format /dev/nvme0 -n 1 -ses 2
Изменение LBA Format выполняется с помощью команды NVMe-format. Форматы и размеры LBA, поддерживаемые и рекомендованные диском, можно узнать с помощью идентификации пространства имён.
Проверка Formatted LBA Size (FLBAS):
nvme id-ns /dev/nvme0 -n 1 -H | grep "LBA Format"
LBA Format 0 : Metadata Size: 0 bytes - Data Size: 512 bytes - Relative Performance: 0x2 Good LBA Format 1 : Metadata Size: 8 bytes - Data Size: 512 bytes - Relative Performance: 0x2 Good (in use) LBA Format 2 : Metadata Size: 0 bytes - Data Size: 4096 bytes - Relative Performance: 0 Best LBA Format 3 : Metadata Size: 8 bytes - Data Size: 4096 bytes - Relative Performance: 0 Best LBA Format 4 : Metadata Size: 64 bytes - Data Size: 4096 bytes - Relative Performance: 0 Best
Sanitize
Обратитесь к разделу 8.15 Sanitize Operations (Optional) спецификации NVMe 1.4.
Согласно спецификации NVMe 1.4, "операция очистки изменяет все пользовательские данные в подсистеме NVM таким образом, что восстановление любых предыдущих пользовательских данных из любого кэша, энергонезависимого носителя или любого буфера памяти контроллера невозможно".
Большая разница между Sanitize и Format заключается в том, что sanitize обеспечивает удаление кешей, причём процесс начинается снова после неожиданного отключения питания. Sanitize также поддерживает перезапись шаблона для операции безопасного стирания, что ужасно для долговечности NAND, но может использоваться с другими типами хранения и классами памяти. Или для большей уверенности в том, что пользовательские данные не могут быть восстановлены.
Все функции команды Sanitize можно найти в спецификации NVMe 1.4.
Проверьте Sanitize Capabilities (SANICAP) при идентификации контроллера. Поскольку это функция спецификации NVMe 1.3, старые диски могут её еще не поддерживать.
nvme id-ctrl /dev/nvme0 -H | grep sanicap -A 5
sanicap : 0x3 [31:30] : 0 Additional media modification after sanitize operation completes successfully is not defined [29:29] : 0 No-Deallocate After Sanitize bit in Sanitize command Supported [2:2] : 0 Overwrite Sanitize Operation Not Supported [1:1] : 0x1 Block Erase Sanitize Operation Supported [0:0] : 0x1 Crypto Erase Sanitize Operation Supported
Отлично! Этот диск поддерживает Block Erase Sanitize. Запустим очистку.
nvme sanitize /dev/nvme0 -a 2
После каждой операции прочитайте информацию Sanitize Command Dword 10 (SCDW10).
nvme sanitize-log /dev/nvme0 | grep 'SCDW10'
NVMe Reset
Сброс (паразагрузка) NVMe контроллера. Это мягкий сбор (soft reset), жёсткий сброс (hard reset) требует сброс питания, горячее подключение или перезагрузку системы. Мы видели как команда применялась при обновлении прошивки, но её можно выполнять и отдельно.
nvme reset /dev/nvme0
NVMe-CLI — очень мощный инструмент для управления NVMe SSD в Linux. Вся информация, необходимая для понимания особенностей и функциональности, содержится в спецификациях NVMe — не бойтесь скачать и открыть! Мы описали самые распространённые команды для управления NVMe SSD, но функционал гораздо богаче. К примеру, утилиту можно использовать для архитектуры NVMe-oF. Технология NVMe имеет надежный набор возможностей управления, ведения журналов и отчетов об ошибках, а NVMe-CLI — это способ использования этих возможностей в Linux. NVMe-CLI также является отличным способом начать изучение возможностей NVMe на практике — так что загрузите его и попробуйте сами! Далее ещё больше команд.
Команды версии 2.2.1:
Команда | Описание |
nvme | the NVMe storage command line interface utility (nvme-cli) |
nvme-admin-passthru | Submit an arbitrary admin command, return results |
nvme-ana-log | Send NVMe ANA log page request, returns result and log |
nvme-attach-ns | Send NVMe attach namespace, return result. |
nvme-boot-part-log | Retrieves a Boot Partition log page from an NVMe device |
nvme-capacity-mgmt | Send capacity management command to configure/create/delete Endurance Groups or NVM Sets, returns results. |
nvme-changed-ns-list-log | Send NVMe Changed Namespace List log page request, returns result and log. |
nvme-cmdset-ind-id-ns | Send NVMe I/O Command Set Independent Identify Namespace, return result and structure. |
nvme-compare | Send an NVMe Compare command, provide results |
nvme-connect | Connect to a Fabrics controller. |
nvme-connect-all | Discover and Connect to Fabrics controllers. |
nvme-copy | Send an NVMe Simple Copy command, provide results |
nvme-create-ns | Send NVMe Namespace management command to create namespace, returns results. |
nvme-delete-ns | Send NVMe Namespace Management delete namespace command, return result. |
nvme-dera-stat | Send NVMe Dera Device status and Additional SMART log page request, returns result and log |
nvme-detach-ns | Send NVMe detach namespace, return result. |
nvme-device-self-test | Perform the necessary tests to observe the performance and the parameters |
nvme-dim | Send Discovery Information Management command to one or more Discovery Controllers. |
nvme-dir-receive | Send a directive receive command, returns applicable results |
nvme-dir-send | Issue a directive send command, returns applicable results |
nvme-disconnect | Disconnect one or more Fabrics controller(s). |
nvme-disconnect-all | Disconnect from all connected Fabrics controllers. |
nvme-discover | Send Get Log Page request to Discovery Controller. |
nvme-dsm | Send NVMe Data Set Management, return results |
nvme-effects-log | Send NVMe Command Effects log page request, returns result and log |
nvme-endurance-event-agg-log | Send NVMe Endurance log page request, returns result and log |
nvme-endurance-log | Send NVMe Endurance log page request, returns result and log |
nvme-error-log | Send NVME Error log page request, return result and log |
nvme-fid-support-effects-log | Send NVMe FID Support and Effects log, return result and structure |
nvme-flush | Flush command. |
nvme-format | Format an NVMe device |
nvme-fw-commit | Used to verify and commit a firmware image. |
nvme-fw-download | Download all or a portion of an nvme firmware image. |
nvme-fw-log | Send NVMe Firmware log page request, returns result and log |
nvme-gen-hostnqn | Generate a host NVMe Qualified Name |
nvme-get-feature | Gets an NVMe feature, returns applicable results |
nvme-get-lba-status | Get LBA Status from NVMe device |
nvme-get-log | Retrieves a log page from an NVMe device |
nvme-get-ns-id | Retrieves the namespace ID for an NVMe block device |
nvme-get-property | Reads and shows the defined NVMe controller property for NVMe over Fabric |
nvme-help | Help information. |
nvme-huawei-id-ctrl | Send NVMe Identify Controller, return result and structure |
nvme-huawei-list | List all recognized Huawei NVMe devices |
nvme-id-ctrl | Send NVMe Identify Controller, return result and structure |
nvme-id-domain | Send NVMe Identify Domain List, return result and structure |
nvme-id-iocs | Send NVMe Identify I/O Command Set, return result and structure |
nvme-id-ns | Send NVMe Identify Namespace, return result and structure |
nvme-id-nvmset | Send NVMe Identify NVM Set List, return result and structure |
nvme-intel-id-ctrl | Send NVMe Identify Controller, return result and structure |
nvme-intel-internal-log | Retrieve Intel device's internal log and save to file. |
nvme-intel-lat-stats | Send NVMe Identify Controller, return result and structure |
nvme-intel-market-name | Send NVMe Identify Controller, return result and structure |
nvme-intel-smart-log-add | Send NVMe Intel Additional SMART log page request, returns result and log |
nvme-intel-temp-stats | Send NVMe SMART log page request, returns result and log |
nvme-io-passthru | Submit an arbitrary io command, return results |
nvme-lba-status-log | Send LBA Status Log Page request returns result and log |
nvme-list | List all recognized NVMe devices |
nvme-list-ctrl | Send NVMe Identify List Controllers, return result and structure |
nvme-list-endgrp | Send NVMe Identify Endurance Group List, return result and structure |
nvme-list-ns | Send NVMe Identify List Namespaces, return result and structure |
nvme-list-subsys | List all NVMe subsystems |
nvme-lockdown | Send an NVMe Lockdown command to prohibit or allow the execution of command |
nvme-mi-cmd-support-effects-log | Send NVMe MI Command Support and Effects log, returns results and structure |
nvme-micron-clear-pcie-errors | Clears correctable PCIe correctable errors of given Micron device |
nvme-micron-internal-log | Retrieve Micron device's internal logs and save to given zip file. |
nvme-micron-nand-stats | Retrieves NAND statistics of given micron device |
nvme-micron-pcie-stats | Retrieves pcie error statistics for given micron device |
nvme-micron-selective-download | Performs selective firmware download that allows user to select which firmware binary to update for 9200 devices. This requires power cycle once the update… |
nvme-micron-smart-add-log | Retrieves NAND statistics (2200 model drives) or Extended SMART information (OCP complaint models) of given micron device |
nvme-micron-temperature-stats | Retrieves temperature information of given micron device |
nvme-netapp-ontapdevices | Display information about ONTAP devices |
nvme-netapp-smdevices | Display information for each NVMe path to an E-Series volume |
nvme-ns-descs | Send NVMe Identify for a list of Namespace Identification Descriptor structure, return result and structure |
nvme-ns-rescan | Rescans the nvme namespaces. |
nvme-nvm-id-ctrl | Send NVMe Identify Controller, return NVM command set structure |
nvme-ocp-latency-monitor-log | Display latency monitor log page data in human readable format |
nvme-ocp-smart-add-log | Retrieves Extended SMART information of given OCP compliant device |
nvme-persistent-event-log | Send NVMe persistent event log page request, returns result and log |
nvme-pred-lat-event-agg-log | Send Predictable Latency Event Aggregate Log Page request, returns result and log |
nvme-predictable-lat-log | Send Predictable latency per NVM set log page request, returns result and log |
nvme-primary-ctrl-caps | Send identify Primary Controller Caps, return result and structure |
nvme-read | Send an NVMe Read command, provide results |
nvme-reset | Reset the nvme controller. |
nvme-resv-acquire | Acquire an nvme reservation |
nvme-resv-notif-log | Send NVMe Reservation Notification log page request, return result and log |
nvme-resv-register | Register an nvme reservation |
nvme-resv-release | Release an nvme reservation |
nvme-resv-report | Send NVMe Reservation Report, parse the result |
nvme-rpmb | Send RPMB commands to an NVMe device |
nvme-sanitize | Send NVMe Sanitize Command, return result |
nvme-sanitize-log | Send NVMe sanitize-log Command, return result |
nvme-seagate-clear-fw-activate-history | Clear the firmware activation history for a given Seagate device. |
nvme-seagate-clear-pcie-correctable-errors | Clear Seagate PCIe error statistics |
nvme-seagate-cloud-SSD-plugin-version | Shows OCP Seagate plugin's version information |
nvme-seagate-get-ctrl-tele | Retrieve Seagate Controller-Initiated Telemetry in either hex-dump (default) or binary format |
nvme-seagate-get-host-tele | Retrieve Seagate Host-Initiated Telemetry in either hex-dump (default) or binary format |
nvme-seagate-help | Shows the Seagate plugin's help information |
nvme-seagate-plugin-version | Shows Seagate plugin's version information |
nvme-seagate-version | Shows the Seagate version information for nvme-cli |
nvme-seagate-vs-fw-activate-history | Retrieve Seagate vendor specific Controller-Initiated Telemetry in binary |
nvme-seagate-vs-internal-log | Retrieve Seagate vendor specific Controller-Initiated Telemetry in binary |
nvme-seagate-vs-log-page-sup | Retrieve Seagate vendor specific Supported Log-pages Information |
nvme-seagate-vs-pcie-stats | Retrieve Seagate vendor specific PCIe error statistics |
nvme-seagate-vs-smart-add-log | Retrieve Seagate vendor specific extended-SMART Information |
nvme-seagate-vs-temperature-stats | Retrieve Seagate vendor specific temperature statistics |
nvme-security-recv | Security Recv command |
nvme-security-send | Security Send command |
nvme-self-test-log | Retrieve the log information initiated by device-self-test and display it |
nvme-set-feature | Sets an NVMe feature, returns applicable results |
nvme-set-property | Writes and shows the defined NVMe controller property for NVMe over Fabric |
nvme-show-hostnqn | Generate a host NVMe Qualified Name |
nvme-show-regs | Reads and shows the defined NVMe controller registers for NVMe over PCIe or the controller properties for NVMe over Fabrics. |
nvme-show-topology | Show topology of all NVMe subsystems |
nvme-smart-log | Send NVMe SMART log page request, returns result and log |
nvme-subsystem-reset | Reset the nvme subsystem. |
nvme-supported-log-pages | Send NVMe Supported Log pages request, returns result and log |
nvme-telemetry-log | Retrieves a Telemetry Host-Initiated log page from an NVMe device |
nvme-toshiba-clear-pcie-correctable-errors | Reset the PCIe correctable errors count to zero. |
nvme-toshiba-vs-internal-log | Retrieve a Toshiba device's vendor specific internal log and either save to file or dump the contents. |
nvme-toshiba-vs-smart-add-log | Retrieve a Toshiba device's vendor specific extended SMART log page contents and either save to file or dump the contents. |
nvme-transcend-badblock | Retrieve Transcend NVMe device's bad blocks. |
nvme-transcend-healthvalue | Use NVMe SMART table to analyze the health value of Transcend device. |
nvme-verify | Send an NVMe Verify command, return results |
nvme-virtium-save-smart-to-vtview-log | Periodically save smart attributes into a log file (csv format). |
nvme-virtium-show-identify | Show a complete detail of identify device information in json format. |
nvme-wdc-cap-diag | Retrieve WDC device's diagnostic log and save to file. |
nvme-wdc-capabilities | Display WDC plugin command capabilities |
nvme-wdc-clear-assert-dump | Clears the assert dump (if present). |
nvme-wdc-clear-fw-activate-history | Clears the firmware activate history table. |
nvme-wdc-clear-pcie-correctable-errors | Clears the pcie correctable errors field returned in the smart-log-add command. |
nvme-wdc-cloud-SSD-plugin-version | Display WDC plugin Cloud SSD Plugin Version |
nvme-wdc-cloud-boot-SSD-version | Display WDC plugin Cloud Boot SSD Version |
nvme-wdc-drive-essentials | Retrieve WDC device's drive essentials bin files and save to a tar file. |
nvme-wdc-drive-log | Retrieve WDC device's drive log and save to file. |
nvme-wdc-drive-resize | Send NVMe WDC Resize Vendor Unique Command, return result. |
nvme-wdc-enc-get-log | Send NVMe WDC enc-get-log Vendor Unique Command, return result. |
nvme-wdc-get-crash-dump | Retrieve WDC device's crash dump. |
nvme-wdc-get-dev-capabilities-log | Send NVMe WDC get-dev-capabilities-log plugin command, return parsed log output |
nvme-wdc-get-drive-status | Send the NVMe WDC get-drive-status command, return result |
nvme-wdc-get-error-recovery-log | Send NVMe WDC get-error-recovery-log plugin command, return parsed log output |
nvme-wdc-get-latency-monitor-log | Display latency monitor log page data in human readable format |
nvme-wdc-get-pfail-dump | Retrieve WDC device's pfail crash dump. |
nvme-wdc-get-unsupported-reqs-log | Send NVMe WDC get-unsupported-reqs-log plugin command, return parsed log output |
nvme-wdc-id-ctrl | Send NVMe Identify Controller, return result and structure |
nvme-wdc-log-page-directory | Retrieves the list of Log IDs supported by the drive |
nvme-wdc-namespace-resize | Resizes the device's namespace. |
nvme-wdc-purge | Send NVMe WDC Purge Vendor Unique Command, return result |
nvme-wdc-purge-monitor | Send NVMe WDC Purge-Monitor Vendor Unique Command, return result |
nvme-wdc-vs-cloud-log | Send NVMe WDC vs-cloud-log Vendor Unique Command, return result |
nvme-wdc-vs-device-waf | Calculates the device write amplification factor and prints both TLC and SLC results |
nvme-wdc-vs-drive-info | Send the NVMe WDC vs-drive-info command, return result |
nvme-wdc-vs-error-reason-identifier | Retrieve WDC device's telemetry log error reason identifier field |
nvme-wdc-vs-fw-activate-history | Execute NVMe WDC vs-fw-activate-history Vendor Unique Command, return result |
nvme-wdc-vs-hw-rev-log | Send NVMe WDC vs-hw-rev-log Vendor Unique Command, return result |
nvme-wdc-vs-internal-log | Retrieve WDC device's internal firmware log and save to file. |
nvme-wdc-vs-nand-stats | Send NVMe WDC vs-nand-stats Vendor Unique Command, return result |
nvme-wdc-vs-smart-add-log | Send NVMe WDC vs-smart-add-log Vendor Unique Command, return result |
nvme-wdc-vs-telemetry-controller-option | Disable/Enable the controller initiated option of the telemetry log page. |
nvme-wdc-vs-temperature-stats | Display temperature-related statistics |
nvme-write | Send an NVMe write command, provide results |
nvme-write-uncor | Send an NVMe write uncorrectable command, return results |
nvme-write-zeroes | Send an NVMe write zeroes command, return results |
nvme-zns-changed-zone-list | Retrieve Changed Zone log for the given device |
nvme-zns-close-zone | Closes one or all zones |
nvme-zns-finish-zone | Finishes one or all zones |
nvme-zns-id-ctrl | Send NVMe Zoned Command Set Identify Controller, return result and structure |
nvme-zns-id-ns | Send NVMe Zoned Command Set Identify namespace, return result and structure |
nvme-zns-offline-zone | Offlines one or all zones |
nvme-zns-open-zone | Opens one or all zones |
nvme-zns-report-zones | Retrieve and display the Report Zones data structure |
nvme-zns-reset-zone | Resets one or all zones |
nvme-zns-set-zone-desc | Set extended descriptor data for a zone |
nvme-zns-zone-append | Send an NVMe write command, provide results |
nvme-zns-zone-mgmt-recv | Zone Management Receive command |
nvme-zns-zone-mgmt-send | Zone Management Send command |
Ссылки
https://nvmexpress.org/open-source-nvme-management-utility-nvme-command-line-interface-nvme-cli
А я достаю NVMe диск и готовлюсь к освоению NVMe-CLI...