Jump to content

Why do QLC drives have terrible random read and write speeds?

TheBiggestOfBuschemis

I've always wondered why exactly QLC SSDs have terrible random read and write speeds. I'm asking on the level of the layers or whatever that each store a bit. Basically, what exactly is the correlation of the number of layers to random read and write speeds? 

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, TheBiggestOfBuschemis said:

I've always wondered why exactly QLC SSDs have terrible random read and write speeds. I'm asking on the level of the layers or whatever that each store a bit. Basically, what exactly is the correlation of the number of layers to random read and write speeds? 

There is simply more to read in every cell, thus the random performance will take a hit. It takes longer to read a singular cell.

Random performance on something like a 660p or P1 is comparable to a good SATA SSD (using TLC).

"We're all in this together, might as well be friends" Tom, Toonami.

 

mini eLiXiVy: my open source 65% mechanical PCB, a build log, PCB anatomy and discussing open source licenses: https://linustechtips.com/topic/1366493-elixivy-a-65-mechanical-keyboard-build-log-pcb-anatomy-and-how-i-open-sourced-this-project/

 

mini_cardboard: a 4% keyboard build log and how keyboards workhttps://linustechtips.com/topic/1328547-mini_cardboard-a-4-keyboard-build-log-and-how-keyboards-work/

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, minibois said:

There is simply more to read in every cell, thus the random performance will take a hit. It takes longer to read a singular cell.

Random performance on something like a 660p or P1 is comparable to a good SATA SSD (using TLC).

Not trying to start an argument or anything, but doesn't the 660p have really bad random read and write speeds? Linus even made a video on it. Also, what about the terrible write speed? Why do QLC SSDs have terrible write speeds?

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, TheBiggestOfBuschemis said:

Also, what about the terrible write speed? Why do QLC SSDs have terrible write speeds?

Same reason as reads, there are more to write per cell but every cell can only take in that much data at a time.

CPU: i7-2600K 4751MHz 1.44V (software) --> 1.47V at the back of the socket Motherboard: Asrock Z77 Extreme4 (BCLK: 103.3MHz) CPU Cooler: Noctua NH-D15 RAM: Adata XPG 2x8GB DDR3 (XMP: 2133MHz 10-11-11-30 CR2, custom: 2203MHz 10-11-10-26 CR1 tRFC:230 tREFI:14000) GPU: Asus GTX 1070 Dual (Super Jetstream vbios, +70(2025-2088MHz)/+400(8.8Gbps)) SSD: Samsung 840 Pro 256GB (main boot drive), Transcend SSD370 128GB PSU: Seasonic X-660 80+ Gold Case: Antec P110 Silent, 5 intakes 1 exhaust Monitor: AOC G2460PF 1080p 144Hz (150Hz max w/ DP, 121Hz max w/ HDMI) TN panel Keyboard: Logitech G610 Orion (Cherry MX Blue) with SteelSeries Apex M260 keycaps Mouse: BenQ Zowie FK1

 

Model: HP Omen 17 17-an110ca CPU: i7-8750H (0.125V core & cache, 50mV SA undervolt) GPU: GTX 1060 6GB Mobile (+80/+450, 1650MHz~1750MHz 0.78V~0.85V) RAM: 8+8GB DDR4-2400 18-17-17-39 2T Storage: HP EX920 1TB PCIe x4 M.2 SSD + Crucial MX500 1TB 2.5" SATA SSD, 128GB Toshiba PCIe x2 M.2 SSD (KBG30ZMV128G) gone cooking externally, 1TB Seagate 7200RPM 2.5" HDD (ST1000LM049-2GH172) left outside Monitor: 1080p 126Hz IPS G-sync

 

Desktop benching:

Cinebench R15 Single thread:168 Multi-thread: 833 

SuperPi (v1.5 from Techpowerup, PI value output) 16K: 0.100s 1M: 8.255s 32M: 7m 45.93s

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, TheBiggestOfBuschemis said:

Not trying to start an argument or anything, but doesn't the 660p have really bad random read and write speeds? Linus even made a video on it.

It depends on how full the SSD is. If you saw the video Linus made on it, you would have seen the graph he shows in the video, comparing the amount of SLC cache to how full the drive is.

 

Basically if the drive is less than 70% full, the drive can afford to 42GB of space on the drive as SLC cache. Long story short, SLC means a cell can have two states. MLC = 4 states. TLC = 8 states. QLC = 16 states.

In that way, SLC is much faster than QLC. So if you don't have a ton of data on the drive, the random performance won't be terrible (as I said, comparable to a TLC SATA SSD).

"We're all in this together, might as well be friends" Tom, Toonami.

 

mini eLiXiVy: my open source 65% mechanical PCB, a build log, PCB anatomy and discussing open source licenses: https://linustechtips.com/topic/1366493-elixivy-a-65-mechanical-keyboard-build-log-pcb-anatomy-and-how-i-open-sourced-this-project/

 

mini_cardboard: a 4% keyboard build log and how keyboards workhttps://linustechtips.com/topic/1328547-mini_cardboard-a-4-keyboard-build-log-and-how-keyboards-work/

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, TheBiggestOfBuschemis said:

I've always wondered why exactly QLC SSDs have terrible random read and write speeds. I'm asking on the level of the layers or whatever that each store a bit. Basically, what exactly is the correlation of the number of layers to random read and write speeds? 

With reads: because there's more reference voltages. With just one bit you need just one, with two you need two, with three you need four, with four your need eight. Higher latency, and latency is directly related to bandwidth. With writes it's because of voltage sensitivity. The first (least significant) bit is easy to write with large voltage pulses, each subsequent bit requires finer voltage pulses/correction which takes longer in procedure. When writing pages you are writing only one bit of a cell, but it randomly selects the bits such that the average speed of the four bits is the actual speed, therefore four bits is slower on average. Beyond this reading the values requires higher sensitivity over time (due to voltage drift, read disturb, etc) which means soft-sensing error correction which can increase read latency. Also, SLC mode takes four blocks of QLC per block of SLC which means you have to convert sooner and data in transition - that is, being folded or compressed back into QLC - suffers a read latency penalty (and also the additional reliance on background management, which also folds, means more latency both in reads with buffering the pages and again when writing the new block). Latency is directly related in random performance, of course. Also, layers in the sense of 3D flash - as opposed to levels (e.g. triple-level cell = TLC) - is a different subject. But assuming you mean levels, each subsequent level improves capacity less while endurance and performance is reduced more greatly.

 

For more information, please refer to pgs. 14-18 of this document and also pg. 3 of this document.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×