Из этой статьи вы узнаете о NVMe, его характеристиках и инструменте NVMe-CLI.
Введение
NVMe (Non-Volatile Memory Express) — спецификация для доступа к накопителям через интерфейс PCI Express, созданная специально для работы с неизменной памятью. Соединение через PCIe Gen3 x4 (32 GBit/s), например, предлагает до пяти раз более быстрый доступ и меньшую задержку, чем у обычных интерфейсов SATA 3 (6GBit/s). Благодаря высокой степени параллелизма и низкому энергопотреблению они позволяют пользователям удовлетворить текущие и будущие потребности в памяти.
Характеристики
NVMe SSD обращаются по-другому, чем SATA-накопители. В UNIX-системе (Linux/BSD), первый NVMe-SSD называется /dev/nvme0n1
, а не /dev/sda
. n
после nvme0
означает “Namespace”. Первый раздел на этом SSD называется /dev/nvme0n1p1
, а не /dev/sda1
.
Схема такая:
/dev/nvme<НОМЕР_КОНТРОЛЛЕРА>n<Namespace>p<НОМЕР_РАЗДЕЛА>
NVMe-CLI
Для управления NVMe SSD можно использовать инструмент nvme-cli в UNIX-системах.
Показать список всех обнаруженных NVMe SSD
nvme list
Node SN Model Version Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- -------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 S1XXNYAGAXXXXX SAMSUNG MZVPV512HDGL-00000 1.1 1 102.40 GB / 512.11 GB 512 B + 0 B BXW7300Q
/dev/nvme1n1 S1XXNYAGAYYYYY SAMSUNG MZVPV512HDGL-00000 1.1 1 102.40 GB / 512.11 GB 512 B + 0 B BXW7300Q
Показать серийный номер определенного NVMe SSD
nvme id-ctrl /dev/nvme0n1|egrep "sn |mn "
sn : S1XXNYAGAXXXXX
mn : SAMSUNG MZVPV512HDGL-00000
Показать журнал SMART
SMART расшифровывается как Self-Monitoring, Analysis and Reporting Technology. Некоторые модели NVMe SSD поддерживают чтение журнала SMART с помощью инструмента smartctl
. Он также используется для SATA-накопителей и может предоставить больше информации, чем nvme
.
Использование Smartctl
smartctl -a /dev/nvme0n1
smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.19.101] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
[...]
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02, NSID 0x1)
Critical Warning: 0x00
Temperature: 29 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 0%
Data Units Read: 113,446 [58.0 GB]
Data Units Written: 48,760 [24.9 GB]
Host Read Commands: 111,504,973
Host Write Commands: 41,507,430
Controller Busy Time: 1,395
Power Cycles: 7
Power On Hours: 395
Unsafe Shutdowns: 0
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
Temperature Sensor 1: 29 Celsius
Temperature Sensor 2: 30 Celsius
Error Information (NVMe Log 0x01, max 64 entries)
No Errors Logged
Использование NVMe-CLI
nvme smart-log /dev/nvme0n1
Smart Log для устройства NVME:nvme0n1 идентификатор пространства:ffffffff
critical_warning : 0
temperature : 29 C
available_spare : 100%
available_spare_threshold : 10%
percentage_used : 0%
data_units_read : 113,446
data_units_written : 48,760
host_read_commands : 111,504,973
host_write_commands : 41,507,430
controller_busy_time : 1,395
power_cycles : 7
power_on_hours : 395
unsafe_shutdowns : 0
media_errors : 0
num_err_log_entries : 0
Warning Temperature Time : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1 : 29 C
Temperature Sensor 2 : 30 C
Показать журнал ошибок
nvme error-log /dev/nvme0n1
Записи журнала ошибок для устройства:nvme0n1 записи:1
.................
Запись[ 0]
.................
error_count : 0
sqid : 0
cmdid : 0
status_field : 0 (SUCCESS: Команда успешно завершена)
parm_err_loc : 0
lba : 0
nsid : 0
vs : 0
cs : 0
.................
Выполнить самодиагностику
Вы можете запустить короткую самодиагностику (продолжительность: до 1 часа) для проверки состояния здоровья NVMe SSD с помощью следующей команды:
nvme device-self-test /dev/nvme0n1 -s 1
После запуска самодиагностики вы можете использовать эту команду, чтобы проверить текущее состояние:
nvme self-test-log /dev/nvme0n1
- Вывод во время выполнения теста:
Тест завершен на 21% и все еще выполняется.
- Если вывод названной команды указывает на
0%
, тест либо не выполняется, либо не поддерживается установленным NVMe SSD:Тест завершен на 0% и все еще выполняется.
- После завершения теста перепроверьте данные о состоянии здоровья SMART (см. соответствующий раздел в этой статье).