All of us use the Pen Drive to store data everyday. We use it like an external storage device, much like an external hard drive. A Pen drive or Flash drive or USB drive has two basic elements-
- Flash Memory (NAND Flash with a crystal oscillator)
- USB (USB Male & a Microcontroller)
The USB(or Universal Serial Bus) just allows the pen drive to communicate with the computer or any other device. Based on their construction, the USB has various versions. The ones which are at work in pen drives are USB 1.1 & 2.
The heart of the “flash” drive is the Flash Memory. This is where digital electronics comes in. There are three kinds of storage media.
- Volatile(info stored does not survive system crashes)
- Non-Volatile(info usually survives crashes)
- Stable(info is never lost-not practically possible-but can be approximated by RAID, etc)
Our flash memory falls into the category of non-volatile devices. It can be implemented by using both NOR & NAND logic circuits. In flash drives, NAND gates are used.
Digital circuits can be classified into Combinational & Sequential Circuits. A combinational circuit is a combination of a number of logic gates. A sequential circuit is a combination of gates which has a state or memory associated to it. So, a sequential circuit is a combinational circuit with memory.
Latches and flip-flops are sequential circuits which can store 1-bit of information(either 0 or 1). Further, n flip-flops could store n bits of information.
We could further use an assembly of flip-flops to store data. Such an assembly of NAND flip-flops is used as flash memory.
The crystal oscillator acts as a clock to trigger the sequential circuit. Sequential circuits that use a clock/trigger are called Synchronous Sequential Circuits.
The sequential logic used in the flash memory are realized using floating gate transistors. These are transistors(MOSFET’s) whose gate is electrically isolated-and hence, acts as a floating node.
We have a floating gate(represented by the bold line) and three inputs for the transistor shown.
The use of floating gate transistors makes the flash memory electrically erasable & programmable. It is hence a type of EEPROM. It is a read-only memory that can be erased and rewritten(reprogrammed) electrically-by means of voltage/current.
However, the number of times it can be reprogrammed is limited. We always loose some bit when we format our jump drives.
Put together, our flash memory and the USB configuration forms the USB Flash drive.