nvme

 

目錄

 


nvme driver

 

nvme ssd 在 linux 上係有自己的 driver

# -p --parameters

modinfo -p nvme

 


nvme CLI

 

version

nvme version

nvme version 1.12

list m2

nvme list

Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     ...............      Samsung SSD 980 PRO 1TB                  1         998.89  GB /   1.00  TB    512   B +  0 B   2B2QGXA7

get-feature

 

log

error-log

nvme error-log /dev/nvme1n1

smart-log

nvme smart-log /dev/nvme1n1

self-test

nvme device-self-test /dev/nvme1n1 -s 1h

Device self-test started

-s <NUM>, --self-test-code=<NUM>

This field specifies the action taken by the device self-test command

  • 1h: Start a short device self-test operation
  • 2h: Start a extended device self-test operation
  • eh: Start a vendor specific device self-test operation
  • fh: abort the device self-test operation

nvme self-test-log /dev/nvme1n1

Device Self Test Log for NVME device:nvme1n1
Current operation  : 0x1
Current Completion : 90%
Self Test Result[0]:
  Operation Result             : 0xf
Self Test Result[1]:
  Operation Result             : 0xf
...

一段時間後

Device Self Test Log for NVME device:nvme1n1
Current operation  : 0
Current Completion : 0%
Self Test Result[0]:
  Operation Result             : 0
  Self Test Code               : 1
  Valid Diagnostic Information : 0
  Power on hours (POH)         : 0x767
  Vendor Specific              : 0 0
Self Test Result[1]:
  Operation Result             : 0xf
...

Sector size

Most SSDs report their sector size as 512 bytes, even though they use larger sectors - typically 4 kB, 8 kB, or sometimes larger.

nvme id-ns /dev/nvme0n1 | grep -e lbaf

nlbaf   : 0
lbaf  0 : ms:0   lbads:9  rp:0 (in use)

"nlbaf" is the number of LBA formats minus 1, so here there is only one format supported.

"lbaf" 0 means LBA format #0. It has an lbads (LBA data size) of 9

"lbads" means sectors are 2^9 or 512 bytes

"rp" (Relative Performance) value indicates which format will provide the best performance, with 0 being the best.

 


Upgrade NVME

 

apt-get -y install gzip unzip wget cpio

wget https://semiconductor.samsung.com/resources/software-resources/Samsung_S...

mkdir /mnt/iso

mount -o loop ./Samsung_SSD_980_PRO_5B2QGXA7.iso /mnt/iso/

mkdir /tmp/fwupdate

cd /tmp/fwupdate

gzip -dc /mnt/iso/initrd | cpio -idv --no-absolute-filenames

cd root/fumagician/

nvme list                            # FW Rev

umount /dev/nvme0n1

./fumagician                       # 不是 .sh

reboot