SSDs retain data without power because of a very special phenomenon of electronics called charge trapping. The most basic storage element inside an SSD is a floating gate MOSFET which is also called a Cell. With the help of micro-fabrication, millions of these floating gate MOSFETs or charge trap flash cells are embedded inside tiny NAND Flash chips.
Normal transistors do not hold the charge but floating gate transistors can do so. Depending on their state, we can interpret it into the form of data.
When we combine millions and billions of these cells or transistors, we create NAND Flash memory. Now, because one floating gate transistor or cells can hold the data, the whole NAND Flash chip can hold all its data. In this way, the data is retained in the form of electric charge bit by bit inside tiny cells.
Computers work with the help of digital data which means the information must be in logic “0” and “1”. More precisely, the data must be stored with the help of a series of high and low levels of voltage. You can imagine the SSDs as huge circuitry that can be programmed or erased per our requirements.
So, storing the data inside an SSD is like programming this circuit with different voltages and then using them for the interpretation of information. Each cell can hold 1, 2, 3, or 4 bits of information. So, it is a big but microscopic group of cells that always have some current even if you have your drive plugged off from the computer.
How is data stored inside an SSD?
There are many different parts in an SSD. Controller, DRAM, Capacitors, Resistors, PCB, and NAND Flash are some of the main components. The Controller is like the processor that takes the commands from the computer. RAM is there for keeping the fast incoming flow of data in check and also create tables of the data location on the NAND Flash. The real magic of permanent storage happens inside the NAND Flash (which is made up of Floating gate MOSFETs).
Now, to understand how this data retention happens, you’ll have to know a little about the workings of these floating gate transistors. Normal transistors can’t store current because there is no space for that. Floating Gate Transistors have an extra layer of metal insulated by a di-electric material. Electric charge can be stored inside this layer. The di-electric keeps the data from leaking out from this conductive layer, hence enabling the data to stay there for very long periods of time.
The controller takes the incoming data and programs each cell with either 0 or 1 i.e. high voltage or low voltage. When there is a high voltage at the floating gate, the threshold voltage of the transistor changes. This threshold voltage can then be used to read the data.
All this happens at a very tiny scale and in order to understand it in complete detail, you’ll have to dig a little deeper into the concepts of semiconductors and quantum physics.
But, in simple words, we combine millions and billions of these transistors inside semiconductor chips. If we store one bit per cell, we call it an SLC SSD. For 2 bits per cell, we have MLC SSD, and so on. But, the fundamental thing is that we combine these cells in order to create a big space for storing these bits.
We work with numbers, alphabets, images, videos, etc on our computers but computers just understand 0’s and 1’s. So, even the very complex software and huge videos are working with 0’s and 1’s. This all needs storage and because the scale of these numbers become so huge, we need very dense storage mediums. SSDs fulfill this demand because we are capable of fabricating billions of transistors inside tiny chips.
Floating Gate Transistor and its role in storing data without power requirements
Normal transistors can be utilized as switches or amplifiers in electronics. But, various other types of transistors are there with different applications. A floating gate transistor is one of those. A normal transistor looks like this.
Now, in a floating gate transistor, there are three extra layers i.e. one floating gate and two insulating layers. This floating gate is where all the data storage happens. It can keep a minimal amount of charge stored in it for years. In SSDs, this charge is utilized to store the information. A floating gate transistor looks like this.
Once a cell is charged with an appropriate charge level, the insulation layers around the floating gate prevent the charge from leaking. When we have to read the data, we just check the threshold voltage of the transistor. If it is higher than normal, then there is a charge on the floating gate that has increased this voltage. The controller interprets it
Charge trapping and data retention
Just look at a single cell. We have a cell that can be used to store a bit of data. It could be either 0 or 1. Just combine many of these cells and you can store a series of bits that can be interpreted into the information the computer can utilize for doing things.
A lot of power is required while writing the data on any SSD. The peak power consumption in high-speed Gen 5.0 drives can reach around 20 Watts sometimes. But, once the charge is stored inside the NAND Flash, it is going to stay there even if you plug your drive out of the computer.
Charge Leakage and its impact of data retention
Charge leakage is a real phenomenon in electronics. The insulating material that holds the charge to stay inside the floating gate is pretty thin (in nanometers). So, over time, this charge is going to leak to achieve an equilibrium. This is where the hard drives tend to win because they store the data with the help of magnetism.
The amount of charge leakage from the floating gate transistors increases as the SSDs age. Writing the data requires the charge to pass through this insulating material which results in wear over time. So, if your drive is older, the chances of losing your data increase a lot more.
Writing the data (in SLC SSD)
Imagine the host (CPU) gave the command for writing a chunk of data with this sequence of bits (1,0,1,1) of data for permanent storage inside the SSD. The controller would take the request and find the appropriate location i.e. a page of cells usually 4KB (around 32,000 cells) in size. It will first erase a block (made up of several pages) which will set all the cells to logic 1.
To write “1010”, the SSD will:
- Leave the first cell as “1” (no charge).
- Program the second cell to “0” (add charge).
- Leave the third cell as “1” (no charge).
- Leave the fourth cell to “1” (n charge).
The resulting state will be 1010.
For other types of SSDs like MLC, TLC, and QLC, multiple levels of voltages are utilized as threshold and charge trapping to represent different bit levels. For example, a voltage 0 can used to store bit value 0-0-0 and voltage 0.1 as 0-0-1 and so on.
Reading the data (in SLC SSD)
Reading the data mainly involves locating the individual cells from the mapping table created when writing the data. The controller sends the read voltage to the cells and checks the resulting current flow.
Consider reading the previously written binary data “1010” from a 4-cell page:
- Locate the Page: The controller identifies the specific page and accesses it.
- Apply Read Voltage: A read voltage is applied to the word line.
- Sense the State:
- Cell 1 (discharged, logical “1”): Current passes through easily.
- Cell 2 (charged, logical “0”): Current does not pass through easily.
- Cell 3 (discharged, logical “1”): Current passes through easily.
- Cell 4 (discharged, logical “1”): Current passes through easily.
The sense amplifiers detect the current flow and convert it to binary data: 1010. This all is done by the controller and at a very fast pace usually billions of operations per second.
How does SSD keep track of the data location?
We discussed that there could be billions of individual cells inside a single NAND Flash chip. So, as you can imagine, keeping track of the location of stored data is really important. While working on the data in real time, SSDs generally come with their own DRAM chips for creating the mapping tables. Even if it is a DRAM-Less SSD, it would use the system’s RAM for creating these mapping tables.
These tables are then stored inside the NAND Flash itself for permanent storage. So, the data and its location itself are stored on the SSD itself.
The mapping tables basically do logical-to-physical address mappings. These tables ensure that the SSD controller knows where data is physically located on the NAND flash memory. The mapping could be done on the block level or page level, or sometimes, the OS can handle these operations as well.
Data retention periods in SSDs
In electronics, the simpler the design of a circuit or a component, the longer it tends to last. This is true in the case of SSDs as well. There are three main types of NAND Flash memory cells used inside SSDs: SLC, MLC, TLC, and QLC.
SLC (Single Level Cell) Flash Memory uses a single cell to store a single bit of data. It would either be 0 or 1. This makes the design simpler and easy for the whole environment inside the drive. So, generally, the SLC has the most data retention period without power i.e. 10 years and more.
MLC (Multi-Level Cell) Flash Memory uses a single cell to store two bits of data. The average data retention period without power is between 3 to 5 years.
TLC (Triple Level Cell) Flash memory uses a single cell to store three bits of data. The average data retention period without power is between 1 to 3 years.
QLC (Quad Level Cell) Flash memory uses a single cell to store four bits of data. This is a very complex system with huge damage to the cells within pretty short time frames. The average data retention period without power is between 1 to 2 years without power.