So in the last article, the stage was set for the entrance of the mighty SSD after we found out how HDDs work and why they’re so slow. Let’s get into how an SSD actually stores its memory then shall we?
Solid State Drive
As the name might suggest, Solid State Drives are unlike HDDs in that they don’t have any moving parts, they (at the moment) store their data on NAND flash, something that requires no actuator arm and no magnetic platter. Make sure you're up to speed (no HDD pun intended) with our first article if this isn’t making sense. If you are in fact up to speed let’s first get into what NAND flash memory actually is, and how it works.
So, do you remember our nail analogy from before? Nand Flash isn’t quite so easy to get your head around. So to try and explain this, we’re going to start from the ground up so we know where this explanation is heading.
Ok, so for this to work as a storage device we need somewhere for this device to store our ones and our zeroes for our word documents, text files and The Witcher 3: Blood & Wine. What NAND has is cells. For a technical term these are called Floating Gate Metal-Oxide Surface Effect Transistors but I’m just going to stick with cells for now as I’m sure you can understand. So SSDs use NAND Flash memory, and NAND flash memory uses cells to make ones and zeroes.
How Do these Cells get Marked as One Or Zero?
This bit took a while to get our heads around but bare with us. First off look at the diagram below:
Looks pretty daunting doesn’t it? That’s ok let’s break down the process. So in order for this cell to be marked as either a one of a zero all comes down to the floating gate, hence that long name from before. Depending on the charge of the floating gate, ie how many electrons it has on it, dictates the cell’s “threshold voltage” (we don’t like this word either but just go with it). This is measured to determine it’s value.
So how is that value changed?
To do this we’re going to bullet point the steps to slightly simplify the process so you can check back if a step doesn’t make sense, good luck!:
- Ok, the Drain and The Source are given different voltages in order to make electrons want to flow from one to the other (from The Source to The Drain)
- When the difference becomes enough and the electricity/electrons want to get over to the drain so bad it hurts, the substrate they’re in becomes conductive allowing the electricity to flow through it, as shown in the diagram.
- However the electrons will not have enough energy to get through the semi-conductive Silicon Oxide and get to the floating gate just yet, so most keep going by without a care in the world
- BUT some electrons will collide with the Silicon (maybe they’re drunk), the ones that do will get enough energy to hop across over into the floating gate where they will become stuck and unable to escape as they no longer have the energy to jump back.
- Hence a charge will be given to the floating gate making it become an indicator of whether it’s a one or a zero.
- Weirdly, if it has a charge it’s a zero and if it doesn’t, it’s a one (in binary.)
- So in summary, by changing the voltages of the Source and the Drain, you can mark the cell as a one or a zero as you please
Did you make it through? It’s hard to get your head round at first, makes us miss the nail analogy really. Also if you’re wondering once it’s been given charge how the effect is reversed, as we did, it turns out if you have the process reversed, ie with the source and the drain swapped, it undoes itself. Neat!
This is one close up!
As said before, the Silicon Dioxide is not always conductive so once this process is complete the floating gate holds its charge even when the electricity is turned off ie when you turn off your computer for tea. This is called Non Volatile Memory and for comparison, RAM that works in a not too dissimilar way is volatile.
So that’s the lowest level of the process, what does it mean?
What it means is that without any physical parts having to move, you now have a way that you can check whether something is a one or zero effectively as fast as shitting crikey. Which is real quick. What this means is where a HDD would take 2 to 7 milliseconds to read or write data after taking 9 millisecond to find it, NAND can read in 0.025 milliseconds and write in 0.25. Which is not quite CPU speed (1000+ time slower than a CPUs Latency) but is a whole lot better than a Hard Drives (1000+ times quicker than HDDs). Not bad eh? But why do SSDs take around 3 milliseconds to delete when there so much quicker in other area? And why after repeated use do they wear themselves out?
Well, make sure to check out our next part to this SSD rundown tomorrow!