ssd-flash-id 0.2.2

Identify NAND flash chips on NVMe and SATA SSDs via vendor-specific commands
ssd-flash-id-0.2.2 is not a library.

ssd-flash-id

Linux open-source equivalent of VLO's SSD Flash ID tools. Identifies NAND flash chips on NVMe and SATA SSDs via vendor-specific commands, reporting flash type (QLC/TLC/MLC/SLC), manufacturer, and technology node for each NAND bank on the drive.

$ sudo ssd-flash-id /dev/nvme0
Model      : KINGSTON SNV2S1000G
Firmware   : SBM02106
Controller : SM2267XT (Silicon Motion)

Bank00: 0x89,0xd3,0xac,0x32,0xc6,0x00,0x00,0x00 - Intel 144L(N38A) QLC
Bank01: 0x89,0xd3,0xac,0x32,0xc6,0x00,0x00,0x00 - Intel 144L(N38A) QLC
Bank02: 0x89,0xd3,0xac,0x32,0xc6,0x00,0x00,0x00 - Intel 144L(N38A) QLC
Bank03: 0x89,0xd3,0xac,0x32,0xc6,0x00,0x00,0x00 - Intel 144L(N38A) QLC

Install

cargo install ssd-flash-id

Or build from source:

cargo build --release
sudo ./target/release/ssd-flash-id

Supported Controllers

NVMe

Family Controllers
Silicon Motion SM2260, SM2262, SM2263, SM2264, SM2265, SM2267, SM2268, SM2269, SM2270, SM2508, SM8366
Realtek RTS5762, RTS5763, RTS5765, RTS5766, RTS5772
Phison PS5012 (E12), PS5016 (E16), PS5018 (E18), PS5019 (E19T), PS5021 (E21T), PS5026 (E26), PS5027 (E27T)
Maxio MAP1001, MAP1002, MAP1003, MAP1201, MAP1202, MAP1601, MAP1602
Marvell 88NV1160, 88NV1140
Innogrit IG5208, IG5216, IG5220, IG5236, IG5266
Tenafe TC2200, TC2201

SATA

Family Controllers
JMicron/Maxio MAS1102, MAS0902, MK8115, JMF605-JMF670
Silicon Motion SM2246, SM2256, SM2258, SM2259
SandForce SF-2281, SF-2282
Yeestor/SiliconGo YS9082, YS9085
Realtek RTS5732, RTS5733, RTS5735

NAND Identification

Recognizes flash from Micron, Intel, Spectek, Samsung, SK Hynix, Toshiba/Kioxia, YMTC, SanDisk, and others. Reports technology node (e.g. 176L, 232L, BiCS5, 3dv7-176L), cell type (SLC/MLC/TLC/QLC), and page size where available.

Usage

ssd-flash-id [options] [device]

options:
    -l, --list          list NVMe and SATA devices
    -c, --controller    force controller type:
                        nvme: smi, rtl, phison, maxio, marvell, innogrit, tenafe
                        sata: jm, smi-sata, yeestor, sandforce, rtl-sata
    --rtl-variant       force Realtek NVMe variant: v1 or v2
    --raw               dump raw flash ID bytes without decoding

Auto-detects the controller type. NVMe devices are found automatically; SATA devices require an explicit path (e.g. ssd-flash-id /dev/sda).

Requirements

  • Linux (uses NVMe ioctl and ATA PASS-THROUGH via SG_IO directly, no external dependencies)
  • Root privileges (sudo)

Credits

Based on the vendor-specific command research from VLO's SSD tools (Windows).

License

MIT