• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

Switching between SLC and TLC

Joined
Mar 21, 2021
Messages
5,540 (3.63/day)
Location
Colorado, U.S.A.
System Name CyberPowerPC ET8070
Processor Intel Core i5-10400F
Motherboard Gigabyte B460M DS3H AC-Y1
Memory 2 x Crucial Ballistix 8GB DDR4-3000
Video Card(s) MSI Nvidia GeForce GTX 1660 Super
Storage Boot: Intel OPTANE SSD P1600X Series 118GB M.2 PCIE
Display(s) Dell P2416D (2560 x 1440)
Power Supply EVGA 500W1 (modified to have two bridge rectifiers)
Software Windows 11 Home
I was reading the manual of my Micron 1100 SSD and was surprised to read (P9):
"Recent advances in Micron NAND technology enable the SSD firmware to achieve acceleration through on-the-fly mode switching between SLC and TLC modes to create a high-speed SLC pool that changes in size and location with usage conditions."

I wonder if one can take a worn TLC drive and turn it to SLC to yield a smaller drive with lots more life.
 

Attachments

Last edited:
Hmm. I always thought it was built with x-cells for bits. Can't see how you can turn 3-bits into one without still using whole cell.

I think crucial marketing is saying it has a SLC cache instead of DRAM.
 
I actually feel an SLC cache is safer than DRAM, even if it is not as fast.
 
I actually feel an SLC cache is safer than DRAM, even if it is not as fast.
Nope. DRAM is certainly faster than NAND. In fact, even some old DDR2 DRAM modules could be faster than NAND where it matters the most, which is latency/access times.
SLC cache is not a substitute for DRAM, as they serve different purposes.

I was reading the manual of my Micron 1100 SSD and was surprised to read (P9):
"Recent advances in Micron NAND technology enable the SSD firmware to achieve acceleration through on-the-fly mode switching between SLC and TLC modes to create a high-speed SLC pool that changes in size and location with usage conditions."

I wonder if one can take a worn TLC drive and turn it to SLC to yield a smaller drive with lots more life.
Micron is talking about their SLC cache implementation. It's just the usual dynamic pSLC cache, where the native TLC flash can be programmed in SLC mode, and the cache size may shrink as the drive fills up.

Remember, the Micron 1100 is an old drive, announced in 2016 (according to my search on Google). Back then, we were still moving away from MLC drives to TLC, so more drives with SLC cache were beginning to appear.
 
Nope. DRAM is certainly faster than NAND.

I thought that is what I said
"I actually feel an SLC cache is safer than DRAM, even if it is not as fast."


the native TLC flash can be programmed in SLC mode

I didn't realise this was not only possible, but actually used.
 
Last edited:
I actually feel an SLC cache is safer than DRAM, even if it is not as fast.
How is dram on ssds, not safe? I thought its purpose was to index files for faster access time. I know people call it a dram cache but my understanding was that it isn't really a cache.

I didn't realise this was not only possible, but actually used.
Yeah my understanding is that some amount of tlc cells can act like slc cells for fast initial transfer (pseudo slc), then later get folded into the actual tlc... And that amount can be static or dynamic depending on the drive ( and how full it is). Though, I'm not an expert. So I'm sure somebody else could explain it better.
 
Last edited:
I think your understanding is reasonable, the only thing I would add is pSLC also has an endurance advantage not just performance.

If the controller is intelligent enough as an example it might ensure write heavy data like logs and system registry are always on pSLC cells as those can sustain multiple erase cycles the equivalent of one native TLC cycle.
 
Last edited:
Whatever was in it? which I assume had some significance.
 
Whatever was in it? which I assume had some significance.
Well it wouldn't have been your files. If its just mapping data, then it would either be copied from a synchronized table stored in the nand or be rebuilt. But it doesn't risk you losing your files so??? Yeah I'm not getting why this is a risk or not safe.

Windows does have a feature to use ram as a cache, write caching its called, and its usually turned on by default asfaik. In that case, there is some risk. But that can be turned on for any drive, a ssd with dram, an ssd without dram, or an hdd. And its done in very small chunks so even then I don't think there's much risk. But thats a different topic altogether.
 
Last edited:
You actually can make a "pseudo-SLC" drive, like for example, turning a 2TB QLC into a 512GB SLC, but you need proprietary tools usually called MPTools, o Mass production Tools, i use them a lot for a number of reasons such as finding information on the drives to put on my database, run diagnostics, overclock SSDs, yes its possible, mess with SLC Cache as well hahaha
 
As you can see in the image below
1694031887117.png


This one is for Innogrit's Shasha controller, A.K.A. IG5216, each controller has it's own tool
 
Yep. This is why enterprise drives have capacitors for exactly that. Enough juice to dump the contents.
And that's why I have a UPS :) However it's more expensive than a cap though.............
 
Pseudo endurance advantage? Sorry but I'm missing logic. Cells are physically triple level(or quad level in QLC nand).
It doesnt need as high voltage to change the state of the cell which reduces wear.
 
Drives with a dynamic pSLC cache will use all the drive in pSLC mode up to the point where the drive is 1/4 (QLC) to 1/3 (TLC) full.
So if you want to turn one into a pSLC drive simply overprovision the hell out of it.

The simple way is just to create a partition that is 1/4 (QLC) or 1/3 (TLC) the size of the drive.
(This is what I have done)

If you want to do it properly you want to enable the Host Protected Area (HPA) and set it's size.
Easiest way is with a linux bootable USB and use HDParm and one of the guides on the net.

Dont forget to add the stock overprovisioned space before doing your maths.
ie: A 1 TB drive is usually a 1024 GB drive with 24 GB of overprovisioning. So you want to divide 1024 GB by 4 or 3...
 
Excellent; my 2TB drive is 12% full
 
Pseudo endurance advantage? Sorry but I'm missing logic. Cells are physically triple level(or quad level in QLC nand).
TLC/QLC flash are typically rated for 30000 ~ 40000 PEC in SLC mode. Not as high as real SLC (~ 100k PEC) but better than native TLC, which is usually at 3000 PEC.

Drives with a dynamic pSLC cache will use all the drive in pSLC mode up to the point where the drive is 1/4 (QLC) to 1/3 (TLC) full.

1/4 (QLC) or 1/3 (TLC) is the maximum cache size that is physically possible to implement. Not every SSD uses the full size for SLC cache. Look at the reviews from TechPowerUp. You'll find many drives that don't follow this "rule".

cache-size.png


So if you want to turn one into a pSLC drive simply overprovision the hell out of it.

The simple way is just to create a partition that is 1/4 (QLC) or 1/3 (TLC) the size of the drive.

The drive would still move data back to native (TLC/QLC) flash to recover free space and empty the cache.

Let's say you had an empty 1TB TLC drive. And that drive had a ~330 GB SLC cache and you formatted it to a 330 GB partition. Then you copy 40GB of data. That 40GB will not stay in SLC permanently. It will be moved to TLC/QLC eventually.

Modern drives are capable of using any free space as overprovisioning (dynamic OP). There's not much difference between unallocated (unpartitioned) space and free space in a formatted partition, or at least it's not going to affect the SLC cache AFAIK.

Ok, I get that by doing this, it's almost guaranteed that you'll never hit TLC/QLC during writes, but it's overkill. For large file transfers, just don't move more than 1/3 or a 1/4 of the available free space at once. So if you have an empty 1TB TLC drive, don't move more than 330 GB (or whatever size the cache is) at once. Wait some time for the drive to recover the cache. You could fill a drive to 60% ~ 70% and if you have 300GB of free space, maybe write less than 100GB.

If you want to do it properly then you should modify the firmware setting like @GabrielLP14 demonstrated and then you'll have a pseudo-SLC drive.
 
Last edited:
TLC/QLC flash are typically rated for 30000 ~ 40000 PEC in SLC mode. Not as high as real SLC (~ 100k PEC) but better than native TLC, which is usually at 3000 PEC.



1/4 (QLC) or 1/3 (TLC) is the maximum cache size that is physically possible to implement. Not every SSD uses the full size for SLC cache. Look at the reviews from TechPowerUp. You'll find many drives that don't follow this "rule".

cache-size.png




The drive would still move data back to native (TLC/QLC) flash to recover free space and empty the cache.

Let's say you had an empty 1TB TLC drive. And that drive had a ~330 GB SLC cache and you formatted it to a 330 GB partition. Then you copy 40GB of data. That 40GB will not stay in SLC permanently. It will be moved to TLC/QLC eventually.

Modern drives are capable of using any free space as overprovisioning (dynamic OP). There's not much difference between unallocated (unpartitioned) space and free space in a formatted partition, or at least it's not going to affect the SLC cache AFAIK.

Ok, I get that by doing this, it's almost guaranteed that you'll never hit TLC/QLC during writes, but it's overkill. For large file transfers, just don't move more than 1/3 or a 1/4 of the available free space at once. So if you have an empty 1TB TLC drive, don't move more than 330 GB (or whatever size the cache is) at once. Wait some time for the drive to recover the cache. You could fill a drive to 60% ~ 70% and if you have 300GB of free space, maybe write less than 100GB.

If you want to do it properly then you should modify the firmware setting like @GabrielLP14 demonstrated and then you'll have a pseudo-SLC drive.
Exactly
 
TLC/QLC flash are typically rated for 30000 ~ 40000 PEC in SLC mode. Not as high as real SLC (~ 100k PEC) but better than native TLC, which is usually at 3000 PEC.

A factor of 10 is a big, big deal for me.
 
I probably should know, but what is the rank/durability of the different types, TLC,SLC etc?
 
TLC/QLC flash are typically rated for 30000 ~ 40000 PEC in SLC mode. Not as high as real SLC (~ 100k PEC) but better than native TLC, which is usually at 3000 PEC.
Also not necessarily
There are QLC NAND Dies that in pSLC Mode can reach 100.000 P/E Cycles, for example i have both Micron N48R FortisFlash and N48R Media Grade Datasheets (Which i shouldn't even be mentioning that but fuck it LOL)
The FortisFlash has 1500 P/E Cycles in QLC Mode and 100.000 P/E Cycles in pseudo-SLC mode, while the less enduranced Media Grade has 900 P/E Cycles in QLC Mode and 60.000 in pseudo-SLC Mode
 
Back
Top