NVME ashift and performance.

Jadan1213

Dabbler
Joined
Apr 18, 2018
Messages
17
Thank you for seeing reason here. I'm curious to know if you have any A-B comparisons between ashift values.
I haven't really done any definitive testing, I set it to ashift=14 and left it, and I'm getting the performance I expected. From what little testing I *did* do, both ashift=12 and asift=14 seemed to yield about the same performance. Likely the controller is optimized to handle 4k block sizes. To be sure i'd have to set up several tests and write it all down, and I just don't have the desire to do that right now as I've already put data on the drive and started to use it.

If you know of a script or utility that I can use that would automate the testing, I'd be happy to find some time to run it and do some tests between the two, but I'm not going to do that by hand at this time.
 

perflosopher

Cadet
Joined
Sep 6, 2023
Messages
2
Couple things:
1. Everything except a few QLC drives let you read or write in 4k
2. For drives where minimum write size is bigger than 4k, you'll only see a performance hit after all LBAs have been written.

The Read-Modify-Write operation in the SSD is only going to be triggered with garbage collection. If the system writes 4k to a 16k page, then later writes another 4k to the same page, the drive will use a new 16k page and mark the first one as garbage. The performance hit will only come when that page needs to be garbage collected.

So if you want to test to see the performance impact you need to either fill the pool to near full or do many writes to the same blocks such that the volume of writes would fill the available NAND
 
Top