Tuesday, April 30th 2024

Enthusiast Transforms QLC SSD Into SLC With Drastic Endurance and Performance Increase

A few months ago, we covered proof of overclocking an off-the-shelf 2.5-inch SATA III NAND Flash SSD thanks to Gabriel Ferraz, Computer Engineer and TechPowerUp's SSD database maintainer. Now, he is back with another equally interesting project of modifying a Quad-Level Cell (QLC) SATA III SSD into a Single-Level Cell (SLC) SATA III SSD. Using the Crucial BX500 512 GB SSD, he aimed at transforming the QLC drive into a more endurant and higher-performance SLC. Silicon Motion SM2259XT2 powers the drive of choice with a single-core ARC 32-bit CPU clocked at 550 MHz and two channels running at 800 MT/s (400 MHz) without a DRAM cache. This particular SSD uses four NAND Flash dies from Micron with NY240 part numbers. Two dies are controlled per channel. These NAND Flash dies were designed to operate at 1,600 MT/s (800 MHz) but are limited to only 525 MT/s in this drive in the real world.

The average endurance of these dies is 1,500 P/E cycles in NANDs FortisFlash and about 900 P/E cycles in Mediagrade. Transforming the same drive in the pSLC is bumping those numbers to 100,000 and 60,000, respectively. However, getting that to work is the tricky part. To achieve this, you have to download MPtools for the Silicon Motion SM2259XT2 controller from the USBdev.ru website and find the correct die used in the SSD. Then, the software is modified carefully, and a case-sensitive configuration file is modified to allow for SLC mode, which forces the die to run as a SLC NAND Flash die. Finally, firmware folder must be reached and files need to be moved arround in a way seen in the video.
As the drive powers on, capacity decreases from 512 GB to 114-120 GB. However, the SSD endurance jumps to 4000 TBW (write cycles), which is about a 3000% increase. Additionally, performance increased as well, which you can check out below, and in the original video for more details.
Check out the video for more details.
Add your own comment

93 Comments on Enthusiast Transforms QLC SSD Into SLC With Drastic Endurance and Performance Increase

#1
john_
The average endurance of these drives is 1,500 P/E cycles in NANDs FortisFlash and about 900 P/E cycles in Mediagrade. Transforming the same drive in the pSLC is bumping those numbers to 100,000 and 60,000, respectively.
If I am understanding these numbers correctly, one more reason I am not touching a QLC drive.
Posted on Reply
#2
Pepamami
now change it to MLC some how, by keeping each 4th state (probably), like 0 4 8 12, and get a decent 250GB drive, instead of 500GB junk.
Posted on Reply
#3
Firedrops
What's with the USA flag? Only MURICAN QLCs can be modified?
Posted on Reply
#4
b1k3rdude
john_If I am understanding these numbers correctly, one more reason I am not touching a QLC drive.
you/we dont have a choice beyond voting with our wallet. The primary issue is that QLC is horribly slow and in some cases has hurrendously crap endurance before the speed drops off a cliff.
Posted on Reply
#5
ExcuseMeWtf
So they're basically quartering capacity to get endurance that could be had by having SLC inherent in the first place? That's not exactly a breakthrough, is it?
Posted on Reply
#6
londiste
How exactly does 512GB QLC drive end up being 128GB SLC drive?
QLC holds 4 bits per cell, SLC holds 1 bit per cell. 2^4/2^1=8.

The newsworthy bit is the way of actually doing this by an enthusiast end-user. SLC mode is an intended and specced thing. SSDs commonly have an SLC cache that works by (usually) dynamically allowing part of drive's Flash dies to work as SLC.
Posted on Reply
#7
Wirko
londisteQLC holds 4 bits per cell, SLC holds 1 bit per cell.
That's important.
londiste2^4/2^1=8.
That's not important.

One quarter bits per cell, while the number of cells remains the same, amounts to one quarter bits in total.
Posted on Reply
#8
GabrielLP14
SSD DB Maintainer
Pepamaminow change it to MLC some how, by keeping each 4th state (probably), like 0 4 8 12, and get a decent 250GB drive, instead of 500GB junk.
The software, as far as i know, doesn't allow that. I've only managed to make it work in pSLC Mode.
Posted on Reply
#9
Wirko
AleksandarKThe average endurance of these drives is 1,500 P/E cycles in NANDs FortisFlash and about 900 P/E cycles in Mediagrade.
Dies, not drives!
Posted on Reply
#10
GabrielLP14
SSD DB Maintainer
FiredropsWhat's with the USA flag? Only MURICAN QLCs can be modified?
Since my videos are mostly in Portuguese since i'm from Brazil, the english videos i usually leave a Flag just so people understand that it's in English ahahah
londisteHow exactly does 512GB QLC drive end up being 128GB SLC drive?
QLC holds 4 bits per cell, SLC holds 1 bit per cell. 2^4/2^1=8.

The newsworthy bit is the way of actually doing this by an enthusiast end-user. SLC mode is an intended and specced thing. SSDs commonly have an SLC cache that works by (usually) dynamically allowing part of drive's Flash dies to work as SLC.
Indeed, this was a project to demonstrate only that it is possible as well.
I have other cool upcoming projects, such as disabling a DRAM Cache to show the real world impact in performance.
And one about over-provisioning showing how much it can affect performance.
Posted on Reply
#11
Wirko
john_If I am understanding these numbers correctly, one more reason I am not touching a QLC drive.
That data is for dies alone, and with WA taken into accout, it usually results in 300-400 cycles declared by the SSD manufacturer.
Which would still be fine if those numbers were believable and reliable, and the SSD switched to read-only mode when it's worn out. But all to often it just dies without warning.
Posted on Reply
#12
GabrielLP14
SSD DB Maintainer
WirkoThat data is for dies alone, and with WA taken into accout, it usually results in 300-400 cycles declared by the SSD manufacturer.
Which would still be fine if those numbers were believable and reliable, and the SSD switched to read-only mode when it's worn out. But all to often it just dies without warning.
yes exactly. Usually these mediagrade dies can get about 30K or 40K in pSLC mode, 60K isn't guarenteed, just as a metric to show people how much it can improve in endurance.
Posted on Reply
#13
Frick
Fishfaced Nincompoop
john_If I am understanding these numbers correctly, one more reason I am not touching a QLC drive.
You'd have to do a weird amount of writes for that to become an issue. You probably don't want one as like a server drive with lots of activity, but general use it's fine.
Posted on Reply
#14
Denver
All SSDs should allow you to switch from QLC/TLC to MLC or SLC. It would be a welcome change.
Posted on Reply
#15
GabrielLP14
SSD DB Maintainer
DenverAll SSDs should allow you to switch from QLC/TLC to MLC or SLC. It would be a welcome change.
agreed :D
Posted on Reply
#16
LabRat 891
NGL, been waiting for someone to figure out how to do this. Seemed inevitable, given how pSLC is assigned to on-drive cache.

Now, I'm imagining 4+ cheapie QLC SATA drives in pSLC mode, ran in RAID0. :D


If this is applicable to NVME as well, suddenly Optane isn't looking as 'needed' for a fast and enduring boot(/cache) drive. I'd probably be up for swapping out my 118GB P1600X for a Gen4 DRAM'd 1-2TB QLC drive in pSLC mode.
I'd imagine controller used, channels in-use, and even NAND modules, would influence performance, heavily.
Note: It's common for larger advertised-capacity SSDs to have more DRAM cache than their same-model smaller capacities.
1TB(pSLC)/4TB(QLC) might have double the DRAM on-drive vs. a 1 or 2 TB variant.
DenverAll SSDs should allow you to switch from QLC/TLC to MLC or SLC. It would be a welcome change.
If TPUs database (or another db) starts including pSLC mode stats/specs, it would force the SSD manufacturers to address this. Ideally, in a fully configurable SSD: Set our own pSLC cache size, caching policies, custom overprovisioning, etc.

However, (today) don't be surprised if they lock down the firmware harder, instead of offering 256GB/1TB, 512GB/2TB, etc. drives. To my knowledge, a lot of drives across brands are differentiated entirely by those 'little tweaks'.
Allowing end-users full-configurability would 'eat into' those drives market(s).
Posted on Reply
#17
AnarchoPrimitiv
I still think SSD manufacturers should make an all SLC performance drive in 128GB - 1TB range (though 256-512GB would be fine too) as an OS drive (and maybe a couple important apps/games) for enthusiasts. They make these drives for the enterprise market and they definitely have markedly better low queue depth random read and write performance than the top consumer drives....imagine it as a midpoint between your typical TLC NVMe SSD and 3DXPoint/Optane, something like the Kioxia FL6 with their XL-Flash or the Solidigm P5810....obviously cost would be an issue for large capacity drives, so that why they'd hypothetically be 128GB to 1TB and they could be used as a dedicated OS drive or a caching drive (like in a NAS)....I think enthusiasts would buy them, they buy PCIe 5.0 drives and they offer no tangible benefits to daily user experience.
Posted on Reply
#18
GabrielLP14
SSD DB Maintainer
LabRat 891NGL, been waiting for someone to figure out how to do this. Seemed inevitable, given how pSLC is assigned to on-drive cache.

Now, I'm imagining 4+ cheapie QLC SATA drives in pSLC mode, ran in RAID0. :D


If this is applicable to NVME as well, suddenly Optane isn't looking as 'needed' for a fast and enduring boot(/cache) drive. I'd probably be up for swapping out my 118GB P1600X for a Gen4 DRAM'd 1-2TB QLC drive in pSLC mode.
I'd imagine controller used, channels in-use, and even NAND modules, would influence performance, heavily.
Note: It's common for larger advertised-capacity SSDs to have more DRAM cache than their same-model smaller capacities.
1TB(pSLC)/4TB(QLC) might have double the DRAM on-drive vs. a 1 or 2 TB variant.


If TPUs database (or another db) starts including pSLC mode stats/specs, it would force the SSD manufacturers to address this. Ideally, in a fully configurable SSD: Set our own pSLC cache size, caching policies, custom overprovisioning, etc.

However, (today) don't be surprised if they lock down the firmware harder, instead of offering 256GB/1TB, 512GB/2TB, etc. drives. To my knowledge, a lot of drives across brands are differentiated entirely by those 'little tweaks'.
Allowing end-users full-configurability would 'eat into' those drives market(s).
Hmm i already have stats like that, but what else would you like it to have?
Posted on Reply
#19
Count von Schwalbe
Nocturnus Moderatus
FrickYou'd have to do a weird amount of writes for that to become an issue. You probably don't want one as like a server drive with lots of activity, but general use it's fine.
Hiberfil.sys and Pagefile.sys say hi. If I hibernate my computer every night (like a lot of people do) and don't have a lot of RAM this will get eaten up very quickly.
Posted on Reply
#20
Tomorrow
Count von SchwalbeHiberfil.sys and Pagefile.sys say hi. If I hibernate my computer every night (like a lot of people do) and don't have a lot of RAM this will get eaten up very quickly.
Hibernation is unnecessary unless you absolutely need your data to survive a power outage.
Generally it's better to use UPS and sleep (S3 etc) as it's much faster than writing a big file to the drive every time you put you computer to standby mode.

As for page file - well unfortunately that's a necessary evil even today. There's no real reason for it to exist but unfortunately some software still expects it and either crashes or behaves weirdly if it's disabled.
Posted on Reply
#21
Count von Schwalbe
Nocturnus Moderatus
TomorrowHibernation is unnecessary unless you absolutely need your data to survive a power outage.
Generally it's better to use UPS and sleep (S3 etc) as it's much faster than writing a big file to the drive every time you put you computer to standby mode.

As for page file - well unfortunately that's a necessary evil even today. There's no real reason for it to exist but unfortunately some software still expects it and either crashes or behaves weirdly if it's disabled.
I was more thinking laptop users. Desktops, I agree. When I ran a laptop I used hibernate a lot, as even sleep modes consume a fair amount of power and modern laptop batteries are absurdly small.

Also, anyone buying QLC for a system drive is more likely to be RAM-starved as budget constraints will affect both SSD and RAM.
Posted on Reply
#22
Tomorrow
Count von SchwalbeI was more thinking laptop users. Desktops, I agree. When I ran a laptop I used hibernate a lot, as even sleep modes consume a fair amount of power and modern laptop batteries are absurdly small.
Hard to believe these low power sleep states consuming so much power. Then again i don't really deal with laptops so i can't speak from experience.
Posted on Reply
#23
SOAREVERSOR
FiredropsWhat's with the USA flag? Only MURICAN QLCs can be modified?
Guessing an American did it?
Posted on Reply
#24
GabrielLP14
SSD DB Maintainer
SOAREVERSORGuessing an American did it?
I'm from brazil hahaa, it was meant to be a message saying the video was in english since most of my videos are in portuguese haahha
Posted on Reply
#25
NightOfChrist
GabrielLP14I'm from brazil hahaa, it was meant to be a message saying the video was in english since most of my videos are in portuguese haahha
As a Japanese, I am used to the flag of England as a sign of English language (audio, text) so when I saw that flag, I thought it was something that can only be legally performed in America or maybe something that is only available in America.

Regardless, thanks for the time and effor put into the research, engineering and recording. It's really interesting.
Posted on Reply
Add your own comment
Dec 18th, 2024 01:51 EST change timezone

New Forum Posts

Popular Reviews

Controversial News Posts