Use the -H
option with the command to get the results in a human-readable format. It should look about like this:
# nvme id-ns -H /dev/nvme0n1
...
LBA Format 0 : Metadata Size: 0 bytes - Data Size: 512 bytes - Relative Performance: 2 Good (in use)
LBA Format 1 : Metadata Size: 0 bytes - Data Size: 4096 bytes - Relative Performance: 1 Better
The prefix 0x
is a common indicator that the following number is in hexadecimal, so the actual numbers after the rp are simply 2 and 1 respectively.
The SSD performance is affected by so-called write amplification as a SSD erase block is usually larger than a common filesystem 512-byte block, so in order to re-write one block, the SSD must erase and re-write the entire erase block (encompassing multiple filesystem blocks) each time. If the block size seen by the filesystem matches the erase block size of the SSD, this can be avoided. (It can also be minimized but perhaps not fully eliminated if the operating system is aware of the erase block size and will use a write caching strategy that groups writes to larger contiguous chunks to compensate.)
So with SSDs, configuring them for a larger-than-classic block size will usually improve performance. However, there are a lot of (old) operating systems and software that cannot yet take advantage of the possibility to use larger block sizes, so some SSDs are just optimized to deal with the 512-byte block size with internal buffering as best as they can.
However, there are a lot of other factors that can affect the performance of a disk or SSD, so some manufactures apparently want to avoid claiming that a particular block size would surely be the "best" for all possible situations. And so, the rp value of 0 might not be used at all by some SSDs.