A very popular type of removable storage for small devices, such as digital cameras and PDAs, is Flash memory. Flash memory is a type of solid-state technology, which basically means that there are no moving parts. Inside the chip is a grid of columns and rows, with a two-transistor cell at each intersecting point on the grid. The two transistors are separated by a thin oxide layer. One of the transistors is known as the floating gate, and the other one is the control gate. The floating gate's only link to the row, or wordline, is through the control gate. As long as this link is in place, the cell has a value of "1."
To change the cell value to a "0" requires a curious process called Fowler-Nordheim tunneling. Tunneling is used to alter the placement of electrons in the floating gate. An electrical charge, usually between 10 and 13 volts, is applied to the floating gate. The charge comes from the column, or bitline, enters the floating gate and drains to a ground.
This charge causes the floating-gate transistor to act like an electron gun. The excited, negatively charged electrons are pushed through and trapped on the other side of the oxide layer, which acquires a negative charge. The electrons act as a barrier between the control gate and the floating gate. A device called a cell sensor monitors the level of the charge passing through the floating gate. If the flow through the gate is greater than fifty percent of the charge, it has a value of "1." If the charge passing through drops below the fifty-percent threshold, the value changes to "0."
The electrons in the cells of a Flash-memory chip can be returned to normal ("1") by the application of an electric field, a higher-voltage charge. Flash memory uses in-circuit wiring to apply this electric field either to the entire chip or to predetermined sections known as blocks. This erases the targeted area of the chip, which can then be rewritten. Flash memory works much faster than traditional electrically erasable programmable read-only memory (EEPROM) chips because instead of erasing one byte at a time, it erases a block or the entire chip.