Menu Home

Investigating NVME LBA sizes and formatting for performance

I grabbed 4 1TB Kingston KC3000 NVME disks, and as I plan on using them in a proxmox server. I’ve investigated their LBA (Logical block addressing) format support to gain better performance by using the larger native block size.

Bonus fact: Some NVME drives also have LBA formats that support on-disk metadata, and this can be bypassed for ZFS or similar filesystems that maintain metadata.

Prerequisite

Install nvme cli for debian/ubuntu (Optional)

apt install nvme-cli

nvme-cli (with human readable output)

nvme id-ns -H /dev/nvme0n1

The LBA part is the important part for now.

Notice: There are 2 LBA Formats (512 and 4096). 512 is the current in use format, but 4096 is marked as giving better relative performance.

smartctl (with all information)

smartctl -a /dev/nvme0

Again, the support LBA size is the important part.

Format the NVME disk to use a different LBA

nvme format --lbaf=1 /dev/nvme0n1

After that. test the result from the previous

Additional Resources

https://wiki.archlinux.org/title/Advanced_Format

Categories: TECHNICAL

shlee

Leave a Reply

Your email address will not be published. Required fields are marked *

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)