2

I will be running Proxmox guests on a ZFS volume consisting of Samsungs PM9A3 NVME drives. I read here for ex. it might be an advantage in performance to keep the cache of those drives active.

So I just wanted to check if that is the case but I seem to lack some skills here. I tried nvme get-feature -f 0x06 /dev/nvme0n1 - checking feature No. 6 - which should with most drives return the value of disk cache present or not. Not with my drives, it returns NVMe status: Invalid Field in Command: A reserved coded value or an unsupported value in a defined field(0x2) Features like 0x05 return values as expected. In total, there are only 15 features present here.

So I checked with nvme id-ctrl /dev/nvme0n1 -H which returns the full set of features the drive supports. Here you go with an excerpt that shows besides a few others the section of "Volatile Write Cache" which is Samsung's expression for the disk cache.

  [2:1] : 0x3   The Flush command supports NSID set to FFFFFFFFh
  [0:0] : 0     Volatile Write Cache Not Present

fna : 0x4 [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)

awun : 1023 awupf : 7 icsvscc : 1 [0:0] : 0x1 NVM Vendor Specific Commands uses NVMe Format

nwpc : 0 [2:2] : 0 Permanent Write Protect Not Supported [1:1] : 0 Write Protect Until Power Supply Not Supported [0:0] : 0 No Write Protect and Write Protect Namespace Not Supported

Unfortunately I fail in interpreting this properly so I am not sure if I could adress any of this with the get-feature / set-feature command .. Last try using the identifiers as subcommands like nvme samsung vwc /dev/nvme1 also does not seem to work with the drives.

AND it reads like cache is NOT active.

Any ideas?

1 Answers1

2

Samsung PM9A3 SSDs provide a powerloss-protected write back cache via dedicated capacitors.

This means these disks have no volatile write cache. Rather, they provide data persistency for cached data (ie: they have a non-volatile cache).

The line

[0:0] : 0 Volatile Write Cache Not Present

confirms the above.

shodanshok
  • 52,255