List of NVMe Drives' Format/Sanitize Support

This is a comparison list of NVMe drives and their controller support for NVMe format and sanitize commands. To contribute, install nvme-cli, list the attached NVMe drive(s) (without their serial numbers), list their controller format/sanitize support, then post their output(s) in this thread.

sudo apt install nvme-cli
sudo nvme list
sudo nvme id-ctrl /dev/nvme0 -H | grep -E 'Format |Crypto Erase|Sanitize'
Model Name Format NVM Format Namespaces Secure Erase with Crypto Erase Crypto Erase Namespaces Overwrite Sanitize Block Erase Sanitize Crypto Erase Sanitize Source(s)
Crucial P5 Plus :white_check_mark: Single :white_check_mark: Single :negative_squared_cross_mark: :white_check_mark: :white_check_mark: [1]
Samsung 950 PRO :white_check_mark: Single :white_check_mark: Single :negative_squared_cross_mark: :negative_squared_cross_mark: :negative_squared_cross_mark: [1]
Samsung 970 PRO :white_check_mark: All :white_check_mark: Single :negative_squared_cross_mark: :negative_squared_cross_mark: :negative_squared_cross_mark: [1]
Samsung 970 EVO Plus :white_check_mark: All :white_check_mark: Single :negative_squared_cross_mark: :negative_squared_cross_mark: :negative_squared_cross_mark: [1][2]
Solidigm P44 Pro :white_check_mark: Single :white_check_mark: Single :negative_squared_cross_mark: :white_check_mark: :white_check_mark: [1]
3 Likes

Is there similar check and erasure commands for eMMC and/or SD-cards (for L5)? Isn’t the memory technology similar - I seem to remember that SSDs had this kind of challenge too when they came. Or are they already covered in some older thread?

1 Like

Not that I am aware of.

Yes, all NAND.

No, keywords are SECURITY ERASE UNIT and ENHANCED SECURITY ERASE UNIT, or --security-erase and --security-erase-enhanced for ATA commands.

1 Like
Samsung SSD 950 PRO
  [1:1] : 0x1	Format NVM Supported
  [29:29] : 0	No-Deallocate After Sanitize bit in Sanitize command Supported
    [2:2] : 0	Overwrite Sanitize Operation Not Supported
    [1:1] : 0	Block Erase Sanitize Operation Not Supported
    [0:0] : 0	Crypto Erase Sanitize Operation Not Supported
  [2:2] : 0x1	Crypto Erase Supported as part of Secure Erase
  [1:1] : 0	Crypto Erase Applies to Single Namespace(s)
  [0:0] : 0	Format Applies to Single Namespace(s)
  [1:1] : 0	Controller Copy Format 1h Not Supported
  [0:0] : 0	Controller Copy Format 0h Not Supported
1 Like

Added, thank you for your contribution.

Crucial P5 Plus 1TB PCIe M.2 2280SS CT1000P5PSSD8

[1:1] : 0x1   Format NVM Supported
  [29:29] : 0x1 No-Deallocate After Sanitize bit in Sanitize command Not 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
  [3:3] : 0     Format NVM Broadcast NSID (FFFFFFFFh) Supported
  [2:2] : 0x1   Crypto Erase Supported as part of Secure Erase
  [1:1] : 0     Crypto Erase Applies to Single Namespace(s)
  [0:0] : 0     Format Applies to Single Namespace(s)
  [1:1] : 0     Controller Copy Format 1h Not Supported
  [0:0] : 0     Controller Copy Format 0h Not Supported
1 Like

Added, thank you for your contribution.

It seems that eMMC is a different beast. I didn’t find a solution but I did find a good read about the challenge (because there isn’t similar app that nvmes have): Wiping an eMMC

2 Likes