Flash memory is a form of non-volatile memory that can be electrically erased and rewrite, which means that it does not need power to maintain the data stored in the chip. In addition, flash memory offers fast read access times and better shock resistance than hard disks. These characteristics explain the popularity of flash memory for applications such as storage on battery-powered devices.
Flash memory is advance from of EEPROM (Electrically-Erasable Programmable Read-Only Memory) that allows multiple memory locations to be erased or written in one programming operation. Unlike an EPROM (Electrically Programmable Read-Only Memory) an EEPROM can be programmed and erased multiple times electrically. Normal EEPROM only allows one location at a time to be erased or written, meaning that flash can operate at higher effective speeds when the systems using; it read and write to different locations at the same time. Referring to the type of logic gate used in each storage cell, Flash memory is built in two varieties and named as, NOR flash and NAND flash.
Flash memory stores one bit of information in an array of transistors, called “cells”, however recent flash memory devices referred as multi-level cell devices, can store more than 1 bit per cell depending on amount of electrons placed on the Floating Gate of a cell. NOR flash cell looks similar to semiconductor device like transistors, but it has two gates. First one is the control gate (CG) and the second one is a floating gate (FG) that is shield or insulated all around by an oxide layer. Because the FG is secluded by its shield oxide layer, electrons placed on it get trapped and data is stored within. On the other hand NAND Flash uses tunnel injection for writing and tunnel release for erasing.
Although it can be read or write a byte at a time in a random access fashion, limitation of flash memory is, it must be erased a “block” at a time. Starting with a freshly erased block, any byte within that block can be programmed. However, once a byte has been programmed, it cannot be changed again until the entire block is erased. In other words, flash memory (specifically NOR flash) offers random-access read and programming operations, but cannot offer random-access rewrite or erase operations.
This effect is partially offset by some chip firmware or file system drivers by counting the writes and dynamically remapping the blocks in order to spread the write operations between the sectors, or by write verification and remapping to spare sectors in case of write failure.
Due to wear and tear on the insulating oxide layer around the charge storage mechanism, all types of flash memory erode after a certain number of erase functions ranging from 100,000 to 1,000,000, but it can be read an unlimited number of times.
Flash Card is easily rewritable memory and overwrites without warning with a high probability of data being overwritten and hence lost.