There are three main parts to a thumb drive. There’s a chip that interfaces with the USB port so that they can “talk” to each other; an optional controller chip to help manage the reads/writes; and the flash memory chip(s) to store the data. The first two may be combined into one chip sometimes.
The flash memory stores the data in the form of electrical charges. They use a special type of transistor that includes a “floating gate”…a part of the transistor that is not electrically connected to anything. Charges can be pushed onto or pulled off of the floating gate through the insulator around it because it is very thin and a relatively large voltage is used.
By putting charge on the gate or not, each flash memory transistor can store a 1 or a 0. It’s even possible to put more than just two values into a single transistor by using varying amounts of charge. This improves density/cost, but hurts reliability.
The flash controller does various things. Probably the most important is to do various tricks to try to manage the lifetime of the memory devices. They eventually wear out, so it’s important to avoid repeatedly reading/writing the same transistor. Many thumb drives do this poorly or not at all.
Thumb Drive = USB Hardware + Flash Drive
Flash Drive = Flash Memory + Storage Controller
USB Hardware = USB Port + USB Controller
Flash Memory: Most modern flash memory is NAND flash ie. data stored using NAND gates, [read about them here](https://www.reddit.com/r/explainlikeimfive/comments/14j34o4/eli5_how_are_logic_gates_made/).
Storage Controller: A tiny processor that controls storing and retrieving data in the memory.
USB controller: Interfaces with the storage controller to convert USB instructions to and from the language used by the storage controller. Presents the drive to the host as a USB Mass Storage Device class.
USB Port: Connects to the host device (the PC).
The operating system on the host device then interfaces with the USB using its generic drivers for talking to USB Mass Storage Device class devices, presenting the device as a drive with a file system for the user to interact with.
Latest Answers