It’s hard to believe that all your photos, videos, music, messages, and apps can be stored in the palm of your hand, and to most of us, it’s a mystery how so much information can fit in such a small space. But it might not seem so surprising when you see the complexity inside your smartphone, or the inside of this one terabyte solid-state drive commonly found in laptops or computers.
However, as seeing the outside of this memory storage microchip tells us little about how these smartphones and solid-state drives can store tens of thousands of photos and files.
Let’s explore deeper and zoom in until we get to a nanoscopic view, and it’s here that we can see the structures called VNAND that hold all the data on your smartphone and computer. Here is where the real magic happens. Every picture, message, and bit of information gets saved as quantities of electrons inside these memory cells which are called charge trap flash and, in this article, we’ll get to know how smartphone memory and solid-state drives work.
Now, hold on, these insanely small and intricate structures seem very complex, and yeah they are. I’m not going to say this marvel of engineering is simple. But you have to trust me, stick around, and by the end of it, this technology will amaze you. It will blow your mind at least twice over, and yeah, you’ll have a thorough understanding as to how such a small device, can store weeks of high-quality video, tens of thousands of pictures, or hundreds of thousands of songs in such an itty bitty little space.
So, let’s get started.
We’re going to use a real-life example and explore how it works when you save a picture to your smartphone or computer. First, this picture is made up of pixels and each pixel has a color. So let’s zoom in so that we can see the individual pixels. The color of every pixel is defined by a combination of 3 numbers, ranging from 0 to 255. Each representing red, green, or blue.
For example, the numbers would be 55-53-55 for this pixel’s color right here, and then 124-121-119 for this pixel. Each of these 3 numbers from 0 to 255 is represented by 8 bits in binary, or eight ones and zeros you know because computers work in binary. So, 3 colors, red, green and blue, and 8 bits each, means each pixel takes 24 bits to define its color. This picture is a grid of colored pixels, so let’s turn it into a grid of values, kind of like a spreadsheet in excel, but called an array instead of a spreadsheet.
This array of bits is what your computer cares about and non coincidentally, it’s also the information that the camera on my smartphone recorded when I took the picture. One quick note: if you want to see the pixels in any picture, just open it in an image editing program like paint or 3D paint in this case, and zoom in. And then if you want to see the red, green, and blue or RGB values, just use the eyedropper, click on a pixel, and then click on the edit color option.
Right here you can see the 3 values for red, green, and blue, and the resulting color. Ok, with that covered, let’s get back to the point, first, we’re gonna zoom out to see the full picture, which is 3024 pixels wide and 4032 pixels tall, which is a total of around 12 million pixels, or, 12 megapixels which relate to the resolution of the 12-megapixel camera on my smartphone.
Next, by doing some multiplication we calculate that an array of this size, where each pixel is defined by 24 bits, or 24 0s or 1s only requires 293 million bits or a unique set of 293 million 0s or 1s. That’s a ton of bits. So let’s figure out how your smartphone or this solid-state drive seamlessly stores every single one of them.
Okay, so let’s open up that solid-state drive again and zoom into a simplified nanoscopic view kind of like the one we had earlier. It’s here that we can see the memory cells that are used in every single one of your smartphones or tablets, as well as inside the solid-state drive in your computer. This is the basic unit of a computer’s long term memory storage and it’s called Charge Trap Flash Memory.
An older technology could only store two different levels of electrons. A lot of electrons or very few electrons, which were used to store a single bit as a 1 or as a 0. However, engineers have been developing more finely tuned capabilities for trapping and measuring different amounts of electrons or charges onto the charge trap. Most memory cells in 2020 can hold 8 different levels, but newer technology can have 16 different levels of electrons.
This means that a single cell, instead of holding only one bit as a lot of electrons or no electrons, can now hold 3 or more bits but, for this example, let’s stick with 3 bits. So in this cell, if we were to have very few electrons on it, it would be 1-1-1, while some electrons get designated as 1-0-0 and a lot of electrons are 0-0-0 There are 8 different levels for all the various amounts of electron charges that our charge trap can be set or written to.
The key to the charge trap is that it is specially designed so that after it gets charged with electrons, it can hold onto those electrons for decades, which is how information is saved or written to the solid-state drive. I mean- it’s called a charge trap for a reason. It traps electrons or charges for years on end, and in order to read the information, the electron charge level is measured, and the amount of charge on the charge trap is unchanged.
However, in order to erase the contents of a memory cell, all the electron charges are forcibly removed from the charge trap returning it to its lowest level, which is 1-1-1 and leaving no excess electron charges behind. Let’s move on and explore how these memory cells are organized so that we can store more than just 3 bits of information.
After we zoom out a little, you can see that the memory cells are stacked vertically. This is where the vertical part in Vertical NAND or VNAND comes from. This stack of memory cells, what is technically called a string is composed of 10 charge trap flash cells layered one on top of another. When information is written to or read from a string, only one cell can be activated at any given time, and to do that we use separate control gates attached to every layer in the string. It works like this: the bottom control gate first says “Hey you, charge trap 1 what’s your electron charge level at?” Then the bottom cell sends that information through the center of the string up to the information highway at the top, which is technically called a bit line. Then the next control gate for the 2nd layer asks for the charge level in the 2nd cell, and so on, up the string, each cell sending their information up to the highway or bit line.
The same kinda sequence happens when charges are being added to a charge trap which is how information is written to a memory cell. The main thing is that only one layer in the string is either written to or read from at any given time.
Let’s move on in complexity, next we duplicate this string 32 times, and this gets us a page of strings. Let’s review some terminology: this a memory cell and this is a string. And now here we have a page, and we are going to call this entire page of strings a row. When we duplicate the string, we also duplicate the bit line 32 times.
However rather than duplicate the control gates, we are going to have every cell on the same page share a common control gate. This makes it such that when information is written to or read from a row, an entire page composed of 32 adjacent cells, all in the same layer, are activated at the same time.
Let’s step up in complexity again: Next, we duplicate these rows 6 times until we get a block, but we are going to do it 12 times so we can see 2 blocks. Okay, so again, here we have a column, here is a row, this is a layer. And nowhere is a cell and here is a string. Next, we have a page, and finally, we have a block. We are going to connect the tops of each string in a column together, so they all share the same bit line and our bit line is looking more like a highway now. In addition, we have to add a control gate that selects between rows, so that only one row is using the bit line at a time. These are called bit line selectors.
As discussed these bit lines are like highways, and the selectors at the top act as traffic lights that mediate the flow of information so that only a single row can use the highway, or is active at a time. Similarly, the control gates attached to each layer act as traffic lights for the layers. With bit line selectors along the tops of each row and control gate selectors along with each layer, the solid-state drive can read from or write to a single page at any given time. Additionally, in order to connect to the bit line selectors and control gate selectors, there are wires that drop down from above and run perpendicular to the bit lines.