Flash memory is a non-volatile memory that has fast read access times, resists kinetic shock better than hard disks and can be electronically erased and reprogrammed. These advantages along with increasingly possible memory densities have made flash memory and common known term for a lot of people. However it is an idea that has been around for some time while gaining that popularity. It was invented by Dr. Fujio Masuoka in 1984 while he was working for Toshiba.
Flash memory exists in blocks of arrays that consists of rows and columns of cells; each cell has a CMOS with a gate wrapped in a layer of silicon dioxide that insulates the gate. This insulation allows the charge accumulated on the gate to remain once power is removed. This phenomenon is known as a floating gate. Flash programming occurs when electrons are placed on this floating gate. The accumulation of electrons on the gate cause a charge to develop. The charge is stored on the floating gate, with the oxide layer insulating the gate and keeping the electrons there, allowing the cell to keep its logic 1 even when power is removed from the device.
Figure 1 – Flash Memory Cell
As flash memory has progressed two main memory array architectures have emerged each with varying trade-offs and benefits. Historically the array has been created with NOR logic gates, see Figure 2, that have parallel connections and can allow random reads anywhere in the array quickly. In addition to being able to read individual bits the read times for NOR-based memory are faster than its main competitor. However NOR requires a contact for every two cells makes it more difficult to manufacture in increasingly small dimensions and possible limiting its future.
Figure 2 – NOR Flash Memory Array
The other major array format used for flash memory is based on the NAND logic gate, see Figure 3. This array connects the gates in series and the resulting structure is considerable more compact, allow...