How SSDs Work - SSD Architecture, MLC vs. TLC

**Understanding NAND Flash Memory and its Life Cycles**

When it comes to NAND flash memory, which is used in solid-state drives (SSDs), there are several key concepts that are essential to understanding how these devices work. One of the most important concepts is the life cycle of a NAND flash memory cell. As you use your SSD, the cells will go through various states of charge, known as charge levels or state of charge (SOC). The SOC can be thought of as a percentage of the maximum capacity of the cell.

The four levels of charge are:

* Level 1: 0% charge

* Level 2: 25% charge

* Level 3: 50% charge

* Level 4: 75% charge

As you cycle the SSD, these charges will tend to migrate towards each other. For example, as you write data to a cell that is already at Level 1 (0% charge), it may start to take on characteristics of Level 2 (25% charge) cells. This can make it difficult to distinguish between the two levels. The error-correcting code (ECC) on the SSD helps to mitigate this problem by correcting errors in the data.

However, if there are too many errors in a single area, the ECC may not be able to correct them all, and the cell will become unrecoverable. This is known as the "error margin" of the NAND flash memory. The error margin is a measure of how many errors can occur before the cell becomes unrecoverable.

The number of cycles that a NAND flash memory cell can withstand is known as its "cycle count." A typical consumer-grade SSD has a cycle count of around 3,000 to 4,000. This means that if you write data to a cell 3,000 times, it will have reached the end of its lifespan and may start to show signs of wear.

The cycle count is an important consideration when purchasing an SSD, especially for laptops and other devices that are used extensively. If you forget about your laptop or leave it on for extended periods, the battery may drain faster than expected due to S Decay, which is a phenomenon where the capacity of the battery decreases over time.

**Preconditioning: Understanding the Importance of Preparation**

When testing an SSD, it's essential to precondition the drive before running any tests. Preconditioning involves writing data to the SSD under various conditions to stress its performance and help simulate real-world usage patterns.

There are several ways to precondition an SSD, but one common approach is to use Iometer, a benchmarking tool that simulates a mix of sequential and random workloads. The goal of preconditioning is to ensure that the ECC is operating correctly and that the drive can handle different types of data without experiencing performance degradation due to garbage collection.

Garbage collection is a process by which the SSD clears out old or unused data from its flash memory. While it's essential for maintaining the health of the drive, it can also slow down the device temporarily. When you write new data to an SSD, it may experience a temporary decrease in performance as the system waits for the garbage collector to clear out old data.

To understand how preconditioning affects performance, it's essential to see real-world results. One way to do this is to test an SSD straight out of the box or by securely erasing its contents and then preconditioning it before running a benchmarking test. This will help you understand how the drive performs under different conditions and how well it can handle various types of data.

**Best Practices for Preconditioning and Testing**

When it comes to testing an SSD, there are several best practices to keep in mind. One essential step is to precondition the drive before running any tests. The way you precondition your drive will depend on its intended use case, but a common approach is to use Iometer to simulate a mix of sequential and random workloads.

Another important consideration is to understand how the ECC works and how it can be affected by garbage collection. By understanding these processes and how they impact performance, you can optimize your test results and get a more accurate picture of an SSD's capabilities.

For gamers, who are particularly interested in testing high-performance SSDs, 4K random preconditioning is essential. This type of workload simulates the kind of data-intensive tasks that are common in gaming, such as loading game levels and storing player data. By using Iometer to perform a 4K random write test, you can get a real-world understanding of an SSD's performance under these types of workloads.

Overall, preconditioning is an essential step in testing an SSD, and it's crucial to understand the best practices for doing so. By following these guidelines, you can get accurate results and make informed decisions about your next solid-state drive purchase.

"WEBVTTKind: captionsLanguage: enhey everyone this is Steve from Gamers nexus.net and I am joined once again by Kent Smith from LSI and today we're talking some more about the uh about evolving flash types and a couple of other topics so you know you've all seen mlc and TLC nand and things of that nature When selecting a solid state driver when reading reviews and uh it's beyond the spec sheet on new EG or wherever you look you're looking there's not a whole lot of technical depth so that's where we're going today um and starting with the flash types the nand types uh mlc as an acronym means multile multi-level cell TLC is triple level cell uh and that's sort of where a lot of it stops so can I get you to tell us some more about how uh how that actually works what it actually means sure and uh just uh to to clear everybody we we skipped over SLC of course which today you really only see in the highend Enterprise uh SLC meaning single level cell but what that's talking about is the uh actual voltage levels that are kept uh within a cell so single level cell meaning there's really two voltage levels effectively on and off it's storing for one bit when you go to mlc or two levels you actually store four bits or four levels so that means there's there's four voltage levels that are being stored in an individual cell and versus just two levels uh so it's a lot harder to differentiate so if this particular level here suddenly has a reduced voltage if something drops it now looks like the second of those four levels and so that's a bit air and it's only because of the ECC that you'll be able to correct that the problem is ECC has to cover a number of bits uh a number of cells all at once and if too many of them are wrong you've got an error so TLC then uh is 2 ^ 3 or 8 uh I won't bother putting eight fingers up here but it it just gets that much harder in that same cell in that same range you're trying to put eight different voltage levels so it's really tough and that impacts performance pretty heavily um so is there anything we can do on the controller level to mitigate the impact yeah in fact one of the biggest drawbacks of that of course we were kind of talking about that error rate uh because uh those will those bits will shift over time so your controller is going to try to take care of that with higher powerered error correction schemes uh like we we uh we announced the shield technology on the latest generation of sandforce controllers and so that'll be able to to do a lot more uh air correction for future Nan flash as as it continues to evolve um the the speed uh is also an issue as you mentioned uh TLC is going to be a bit slower than mlc um and so you know the the the pro of TL LC is it's it's cheaper to make CU you get more bits in the same silicon but the drawback is it gets a little sore so the controller has to do other things to mitigate that um you look at uh potentially having more D so then you want a bigger drive you know and today you know the 240 uh gig capacity is pretty typical 256 you know that's a pretty common sweet spot and that for the most part is is accessing as many Dy as you can to keep it going as quickly as possible now what do we have uh TLC just sort of got introduced to the consumer Market not long ago right what happens next is there a next step after TLC the announcements that have uh Gone on from uh the flash manufacturers are talking about uh 3D nand and vand uh this is a category of uh of flash memory if you think about SLC and mlc and TLC as single family homes you know in a city and then uh in order to take advant of that same real estate we want to build vertically right and so there's a a couple of different processes that have been announced that essentially make it sort of like high-rise Apartments so you can get you know 10 or 20 additional levels for that same footprint of silicon and so it has the advantage of you can now increase that geometry you can go to a higher process node so that lowers your error rate um it it has the disadvantage of a little bit higher cost but you then divide that by having you know 10 or 20 or 30 different levels in the same footprint and you get to go past that cost curve today you know it's really not cost effective a lot of manufacturing steps have to be worked through but you know mlc was not possible you know 5 10 years ago so it'll happen it'll come for programming race Cycles can you give us an overview of of what it actually means um you know the basics are it's how many times you can write to the Flash and erase it before it starts decaying heavily and eventually dies right right so how does that all work okay so within flash memory you can write to uh individual Pages at a time but you have to erase whole blocks at a time each time you do that erase process you effectively deay uh the the cells now you you could also argue it's the program step that does the dek and that's probably more appropriate but either way you can't do a new program until you do an erase so it doesn't matter which side you're counting the count will incre uh increment and you will have a a DEC in the cell so what happens is as a DEC the cells have less ability to hold a charge so at the beginning of Life you know remember we were talking about on uh mlc you have those four levels uh it's really easy to keep those charges uh as you cycle it more and more those charges tend to start you know migrating and pretty soon charge three and four look like charge four and maybe charge one and two look like charge one and so then it's harder and harder to differentiate so again the ECC does the job of correcting that but if there's too many errors in a in a single area the ECC can't can't recover from it so that's where the the cycle count comes in if I if I have a flash that has 3,000 cycles that essentially means the flash is able to go through 3,000 different times in that cell uh doing a program and a race cycle and after you do the 3,000 the cell according to the factory says it can still hold those charges for whatever the spec is if it's consumer class it's typically about a year so so we actually have S Decay exactly yeah so you could potentially set your laptop computer on a shelf uh and uh you know just forget about it you're using your desktop all year long you finally go out for the next show and suddenly your laptop's empty right because it's been a year since you've turned it on so zap sort of like your car battery if you leave your car long enough the battery will drain it's that same idea okay and uh uh another topic is preconditioning so I've mentioned this when talking about our test methodology on the website uh we we do precondition the drive before each type of test and uh you guys kind of have the basics of it um but at a can you give us a top level look at preconditioning why it's important and then um and then maybe explore why our readers would see lower performance or higher performance given uh different intervals of use sure uh often times when uh you see a review or discussion around uh an SSD you'll see that it has a certain spec you know I can write so many megabytes per second a lot of times you'll see it's an up to number and in many cases that'll be a uh a fresh out of box number and the problem with that is the drive will only live in that lifespan uh within its lifespan it'll only live in that time period for uh less than 1% of its life you know maybe even 0.01% of its life so it's not really helpful because as soon as you start writing data to it it has to garbage collect all ssds have to garbage collect now some will be faster than others at garbage collecting but they all have to garbage collect it's during that process that the performance will drop down because during garbage collection if you're processing moving data you can't take any new data in and so it's that uh that uh um that fight that internal fight if you will over the bandwidth to the flash between the host and the controller trying to move data around that will actually slow the the the drive down so when uh when you look at uh benchmarks you want to make sure you understand whoever did that analysis you know did they do the proper preconditioning and there's various ways of doing it uh there's many theories on it but at a minimum you have to do some kind of preconditioning now we generally recommend if you really want to look at real world you want to sequentially precondition uh before you do a sequential test and you want to randomly precondition before you do a random test now if you believe your environment is a mix that's fine if you're testing can have a mix of sequential and random then essentially you just need to run that test long enough to ensure garbage collection is operating with that particular configuration and you will see the performance of what the real world would look like with that same condition right and so for any of you who want to do testing on your own drive at home to make sure you're getting the the specs that you've seen online generally what we do when when testing ssds is use iometer and I can put all the links in the description below uh and as Gamers you'll want to do 4K random preconditioning and testing because you're going to be using mostly very small files whereas sequential is more for the heavy users who are writing very large files frequently um so I'll I'll put some basic instructions on how to precondition your drive and and do a real actual test that way you get a actually the the best thing to do would be test it straight out of the box or secur erase it uh and then do your your precondition test so you can see the real difference between you can see that difference really understand yes you have hit that garbage collection period cuz you will see it drop especially on random writing right so all that again in the link in the description below and thanks again Kent and we will see you all next time thank youhey everyone this is Steve from Gamers nexus.net and I am joined once again by Kent Smith from LSI and today we're talking some more about the uh about evolving flash types and a couple of other topics so you know you've all seen mlc and TLC nand and things of that nature When selecting a solid state driver when reading reviews and uh it's beyond the spec sheet on new EG or wherever you look you're looking there's not a whole lot of technical depth so that's where we're going today um and starting with the flash types the nand types uh mlc as an acronym means multile multi-level cell TLC is triple level cell uh and that's sort of where a lot of it stops so can I get you to tell us some more about how uh how that actually works what it actually means sure and uh just uh to to clear everybody we we skipped over SLC of course which today you really only see in the highend Enterprise uh SLC meaning single level cell but what that's talking about is the uh actual voltage levels that are kept uh within a cell so single level cell meaning there's really two voltage levels effectively on and off it's storing for one bit when you go to mlc or two levels you actually store four bits or four levels so that means there's there's four voltage levels that are being stored in an individual cell and versus just two levels uh so it's a lot harder to differentiate so if this particular level here suddenly has a reduced voltage if something drops it now looks like the second of those four levels and so that's a bit air and it's only because of the ECC that you'll be able to correct that the problem is ECC has to cover a number of bits uh a number of cells all at once and if too many of them are wrong you've got an error so TLC then uh is 2 ^ 3 or 8 uh I won't bother putting eight fingers up here but it it just gets that much harder in that same cell in that same range you're trying to put eight different voltage levels so it's really tough and that impacts performance pretty heavily um so is there anything we can do on the controller level to mitigate the impact yeah in fact one of the biggest drawbacks of that of course we were kind of talking about that error rate uh because uh those will those bits will shift over time so your controller is going to try to take care of that with higher powerered error correction schemes uh like we we uh we announced the shield technology on the latest generation of sandforce controllers and so that'll be able to to do a lot more uh air correction for future Nan flash as as it continues to evolve um the the speed uh is also an issue as you mentioned uh TLC is going to be a bit slower than mlc um and so you know the the the pro of TL LC is it's it's cheaper to make CU you get more bits in the same silicon but the drawback is it gets a little sore so the controller has to do other things to mitigate that um you look at uh potentially having more D so then you want a bigger drive you know and today you know the 240 uh gig capacity is pretty typical 256 you know that's a pretty common sweet spot and that for the most part is is accessing as many Dy as you can to keep it going as quickly as possible now what do we have uh TLC just sort of got introduced to the consumer Market not long ago right what happens next is there a next step after TLC the announcements that have uh Gone on from uh the flash manufacturers are talking about uh 3D nand and vand uh this is a category of uh of flash memory if you think about SLC and mlc and TLC as single family homes you know in a city and then uh in order to take advant of that same real estate we want to build vertically right and so there's a a couple of different processes that have been announced that essentially make it sort of like high-rise Apartments so you can get you know 10 or 20 additional levels for that same footprint of silicon and so it has the advantage of you can now increase that geometry you can go to a higher process node so that lowers your error rate um it it has the disadvantage of a little bit higher cost but you then divide that by having you know 10 or 20 or 30 different levels in the same footprint and you get to go past that cost curve today you know it's really not cost effective a lot of manufacturing steps have to be worked through but you know mlc was not possible you know 5 10 years ago so it'll happen it'll come for programming race Cycles can you give us an overview of of what it actually means um you know the basics are it's how many times you can write to the Flash and erase it before it starts decaying heavily and eventually dies right right so how does that all work okay so within flash memory you can write to uh individual Pages at a time but you have to erase whole blocks at a time each time you do that erase process you effectively deay uh the the cells now you you could also argue it's the program step that does the dek and that's probably more appropriate but either way you can't do a new program until you do an erase so it doesn't matter which side you're counting the count will incre uh increment and you will have a a DEC in the cell so what happens is as a DEC the cells have less ability to hold a charge so at the beginning of Life you know remember we were talking about on uh mlc you have those four levels uh it's really easy to keep those charges uh as you cycle it more and more those charges tend to start you know migrating and pretty soon charge three and four look like charge four and maybe charge one and two look like charge one and so then it's harder and harder to differentiate so again the ECC does the job of correcting that but if there's too many errors in a in a single area the ECC can't can't recover from it so that's where the the cycle count comes in if I if I have a flash that has 3,000 cycles that essentially means the flash is able to go through 3,000 different times in that cell uh doing a program and a race cycle and after you do the 3,000 the cell according to the factory says it can still hold those charges for whatever the spec is if it's consumer class it's typically about a year so so we actually have S Decay exactly yeah so you could potentially set your laptop computer on a shelf uh and uh you know just forget about it you're using your desktop all year long you finally go out for the next show and suddenly your laptop's empty right because it's been a year since you've turned it on so zap sort of like your car battery if you leave your car long enough the battery will drain it's that same idea okay and uh uh another topic is preconditioning so I've mentioned this when talking about our test methodology on the website uh we we do precondition the drive before each type of test and uh you guys kind of have the basics of it um but at a can you give us a top level look at preconditioning why it's important and then um and then maybe explore why our readers would see lower performance or higher performance given uh different intervals of use sure uh often times when uh you see a review or discussion around uh an SSD you'll see that it has a certain spec you know I can write so many megabytes per second a lot of times you'll see it's an up to number and in many cases that'll be a uh a fresh out of box number and the problem with that is the drive will only live in that lifespan uh within its lifespan it'll only live in that time period for uh less than 1% of its life you know maybe even 0.01% of its life so it's not really helpful because as soon as you start writing data to it it has to garbage collect all ssds have to garbage collect now some will be faster than others at garbage collecting but they all have to garbage collect it's during that process that the performance will drop down because during garbage collection if you're processing moving data you can't take any new data in and so it's that uh that uh um that fight that internal fight if you will over the bandwidth to the flash between the host and the controller trying to move data around that will actually slow the the the drive down so when uh when you look at uh benchmarks you want to make sure you understand whoever did that analysis you know did they do the proper preconditioning and there's various ways of doing it uh there's many theories on it but at a minimum you have to do some kind of preconditioning now we generally recommend if you really want to look at real world you want to sequentially precondition uh before you do a sequential test and you want to randomly precondition before you do a random test now if you believe your environment is a mix that's fine if you're testing can have a mix of sequential and random then essentially you just need to run that test long enough to ensure garbage collection is operating with that particular configuration and you will see the performance of what the real world would look like with that same condition right and so for any of you who want to do testing on your own drive at home to make sure you're getting the the specs that you've seen online generally what we do when when testing ssds is use iometer and I can put all the links in the description below uh and as Gamers you'll want to do 4K random preconditioning and testing because you're going to be using mostly very small files whereas sequential is more for the heavy users who are writing very large files frequently um so I'll I'll put some basic instructions on how to precondition your drive and and do a real actual test that way you get a actually the the best thing to do would be test it straight out of the box or secur erase it uh and then do your your precondition test so you can see the real difference between you can see that difference really understand yes you have hit that garbage collection period cuz you will see it drop especially on random writing right so all that again in the link in the description below and thanks again Kent and we will see you all next time thank you\n"