If we are going to really understand flash, we need to start at the basics. Back to the bits. The storage and transmission of digital information is done through the use of bits, which represents the smallest addressable unit of information. A bit represents either a 1 or a 0. Combinations of 1s and 0s form binary code which makes up all the data in the digital universe.
In the datacenter, the storage and transmission of 1s and 0s is done through a variety of methods, but the two most common in the datacenter today are magnetic and electric.
Magnetic field storage uses sub-micrometer magnetic regions on a material to store information. Grains within these regions are magnetized according to the binary data being stored. Magnetic recording is non-volatile, which means it can retain information even without power. Tape drives, hard drives and credit cards are all forms of magnetic storage
Electric field (Solid-State) storage uses transistors measuring a few 10s of nanometers to store information. Transistors act like digital switches. They use an electric field to manipulate a semiconductor. The presence and strength of the electric field affects the conductivity of the semiconductor, which is then reported as binary code. Solid-State data storage has historically been volatile, which means the state of the transistors, and associated information, cannot be retained without power. CPUs, RAM and network equipment are common implementations of solid-state storage in the datacenter. Modern day flash is a form of solid-state storage that is actually non-volatile. I’ll discuss this in much more detail throughout this series.
Both magnetic and solid-state storage each have benefits and draw backs. Because solid-state storage is built on silicon circuits, it doesn’t require any moving parts to access information. This makes access times incredibly fast. However, the density and intricacy of the embedded circuitry has historically made it a very expensive option when large amount of data storage is required.
Magnetic storage, on the other-hand, uses mechanical components to access specific regions of the medium for programming and reading. Since circuitry isn’t required within the magnetic medium, data storage can both be very dense and inexpensive. However, the mechanical parts cause access to be 1000’s of times slower than solid-state, which makes magnetic storage a poor choice for higher-performance needs.
The above qualities of both types of data storage are what has shaped the modern day datacenter hardware. CPUs, RAM and network devices all require the fastest, lowest latency data processing. They also only need to store in-flight data or small working sets. Combined, this makes them best suited for solid-state (transistor-based) hardware. Storage systems, however, store TBs and PBs of information. They need that information to be retained, even through power failures. While low latencies are preferred, the economics of magnetic storage have driven traditional arrays to use magnetic storage as a low-cost compromise.
Flash Changes Everything
Flash promises the best of both worlds; data access speeds that are finally in-line with the rest of the silicon-based infrastructure, the non-volatility required for long-term storage, and densities that will soon surpass even the largest hard disks. The economics are already better for T1 and in-line with tiered storage, especially for more I/O intensive environments. End-to-end silicon infrastructures are finally possible. Mechanical datacenters are living dinosaurs.
How Does Flash Work?
Not so fast! First, we have to discuss the foundational technology of flash. Flash memory technology is based off of transistors just like DRAM. There are some significant differences, but let’s start with a basic MOSFET transistor commonly used in DRAM, and then I’ll describe how it has been modified for flash in the next post. Storage is binary, so the goal of a transistor in RAM is to represent binary code. This nanoscopic, digital switch is turned on an off to represent 1’s and 0’s.
There are 4 main parts to a transistor:
- Semiconductor: A silicon substrate that is doped with impurities. Silicon, like glass, acts as a nature insulator. However, the impurities embedded during the doping process give it conductive properties. Through careful doping the silicon can be made to only conduct under certain conditions–such as the application of an electric field.
- Source and Drain: Terminals at opposite ends of the semiconductor used to carry current to and away from the semiconductor. These terminals are responsible for creating the voltage differential needed to test conductivity of the semiconductor.
- Control Gate: A third terminal situated on-top of the semiconductor. This terminal is responsible for generating the electric field which causes the semiconductor to conduct.
- Insulator: A layer of non-conductive material that insulates the Control Gate from the semiconductor. This prevents electrons from leaking into the control gate while the control gate has a voltage applied. The gate should only generate a field, not be a conductive pathway.
In a resting state, the semiconductor behaves like an insulator. The distribution of electrons in the semiconductor are too far apart for conductivity. If a small voltage differential were applied between the source and drain terminals, current would not pass through the semiconductor. This would represent a 0 in binary. The digital switch is off.
When a voltage is applied to the control gate, an electric field is generated that attracts electrons toward the gate. Electrons then concentrate near the top of the semiconductor–a region known as the Channel. The concentration of electrons is enough to create a conductive pathway between the source and drain terminals. The Channel carries current through the transistor which then represents a 1 in binary. The digital switch is on.
I want to stop right here for a minute to reinforce how friggin awesome this is. Modern day transistors are 10s of nanometers in size. A strand of hair is about 100,000 nanometers in diameter and an atom of Gold is about 0.33 nanometers. A single modern processor can have over 4 Billion transistors. This should give you some perspective on the feat of engineering modern computing really is.
Nano-scale transistor technology is manufactured in multi-billion dollar semiconductor plants through a process called nano-lithography. These plants use nano-focused patterns of light to manipulate chemicals on the surface of silicon wafers. The chemical patterns control how further chemical baths engrave the wafer and allow for the transistor components to be constructed. Since a single particle of dust can span and destroy thousands of transistors during the manufacturing process, specialized clean rooms are used to keep the air as clean as possible.
Transistors themselves have one major flaw when it comes to storing information. They require constant power. The control gates on transistors must be powered in order to retain the 1 or 0 state they represent. If power were cut to a DRAM bank, for example, all of the transistors would reset to a 0 state–effectively erasing the contents. This is where flash memory comes in.
In the next post, I’ll discuss how flash memory overcomes the volatility of DRAM with a modified transistor design. I hope you are enjoying the series, comments or corrections are always welcome!