SSD 4k random read/write QD1...32 and IOPS values

6

2

I'm a video designer and have a lot of rendering programs. I decided to buy a 120GB SSD in my PC, and I'm searching for the best performance. The important thing for best performance in SSD must be high IOPS, high 4k read/write value, MLC NAND flash, OK so far it's clear.

But what is queue depth (QD) 1,2,3...32? For example random read 4k-QD1, random read 4k-QD2, random write 4k-QD1, random read 4k-QD2... Which values of QD are important for me, because I do not have a server and I'm not a standard home user. And the important QD-X value must be at least how much for me?

ATES

Posted 2016-03-06T14:13:37.970

Reputation: 63

Answers

4

QD is basically a measurement of how many threads are working on the SSD.

Most users will only hit a QD of 1 however in a server environment under intense IO load you can hit up to 64 or 128.

I would get something like this in whatever size you want. http://www.amazon.com/Samsung-2-5-Inch-Internal-MZ-75E250B-AM/dp/B00OAJ412U/ref=sr_1_1?s=pc&ie=UTF8&qid=1457283469&sr=1-1&keywords=ssd

Here is a paper that talks about QD in length: http://www.samsung.com/global/business/semiconductor/minisite/SSD/global/html/whitepaper/whitepaper08.html

LethalRose

Posted 2016-03-06T14:13:37.970

Reputation: 56

Thanks, samsung 850 pro 250gb has values of 10.000 IOPS random read 4K and 36.000 IOPS random write 4K. Is there a better SSD than this values? And my system disk takes up 50gb place so 240gb ssd is it necessary? 120gb is not it enough? – ATES – 2016-03-06T17:09:50.837

I don't think queue depth is the same thing as thread. For example in CrystalDiskMark these two can be adjusted independently. – Tom Yan – 2016-03-07T01:37:08.257

7

QD means "Queue Depth". In practice, it means how many IO-operations the operating system is able to give to said device before waiting for a response to any of those operations.

Normal applications usually read something, wait for the result and then proceed to read something else after the first result has been processed. This is QD1 because only one read operation is executed in parallel and the results are needed before another request can be done. Pretty much all non-database applications belong to this class. (All video works usually belong to this class except that the IO size is much bigger/easier than 4K.)

A server system usually runs multiple QD1-processes in parallel and if the server is running say 32-64 parallel QD1-processes the overall load for the device could be around QD32.

If some SSD device spec says "Random 4K Read" or "Random 4K Write" you can be absolutely sure that it means QD32 because QD1 spec is always much lower and manufactures do not like low numbers in the spec sheets.

If you're not sure that your system is able to continuously operate real QD32-level you should look at QD1 numbers only. If you're interested in latency of any given operation, you should look at QD1 numbers only even in case the system is running QD32 overall.

TL;DR: QD32 = best case behavior, QD1 = worst case behavior.

For example, Toshiba Hawk HK4E SSD drive claims to have "Random 4K Read: 75K IOPS" and "Random 4K Write: 30K IOPS". Those are QD32 numbers. Real world QD1 performance is around 6.5K IOPS for read and 6.5K IOPS for write. And if you sync the drive after each operation (wait for data to be on disk before continuing) for 4K random write QD1 you get around 0.7K IOPS.

If you're running Linux, you can compare to your current disk with following test (this tests disk storing the current working directory):

fio --name TEST --eta-newline=5s --filename=test.img --rw=randwrite --size=500m \
     --io_size=10g --blocksize=4k --ioengine=libaio --fsync=1 --iodepth=1 \
     --direct=1 --numjobs=1 --runtime=60 --group_reporting

Use --fsync=0 for testing without sync to permanent storage (if getting data to drive internal cache is enough) and set --iodepth=32 for QD32 testing. Finally, set --blocksize=2048kto get some idea about usable bandwidth for video editing (but remember that video software usually has QD1 or QD2).

(In addition, I'd expect enough RAM to be much much better investment for video editing/creating work. Video work should not require random 4K performance. I'd recommend at least 32 GB RAM for any video related work unless your video clips are really, really short. If your system seems unstable, get a high quality power source - I'd suggest Corsair or Silverstone). If the system still seems unstable, get UPS. If the system still is not stable enough for you, get ECC RAM - this often requires upgrading the motherboard and CPU, too.)

Mikko Rantalainen

Posted 2016-03-06T14:13:37.970

Reputation: 375

2This should be the accepted answer. – FarO – 2017-09-06T12:20:12.133

See also: https://askubuntu.com/a/991311/50254

– Mikko Rantalainen – 2018-01-25T13:24:16.387