# How is electricity from the power supply turned into stored bits of data?

I'm not an engineer, I'm curious how this happens. I've googled a little, but it seems I don't know what question to ask. I'm looking for in depth content detailing the process by which electricity on the wire is stored as values.

I know binary. I get that current is on, a 1, or true, while no current is off, a 0 or false.

• "Stored" as in memory: have a look for "D type flip flop" and "DRAM" Nov 23, 2012 at 17:19

You might want to narrow down the question more instead of asking for all of Wikipedia.

But in general, "1s and 0s" depend on your system. Voltages are run through a series of comparators (usually grouped into some sort of ADC) which compare the input voltage to a reference voltage. If the input voltage is high enough, it's registered as a 1, if it's too low, then it's registered as a 0. You can read more about this at http://en.wikipedia.org/wiki/Logic_level

For example, assume on a given micro-controller or processor, the logic level high is 2.5V. So providing a pin with 3.3V would register that pin as being "high" or "1".

These 1s and 0s are then stored in some sort of memory location and manipulated. The memory locations are implemented as "Latches". The physical implementation might vary slightly in size/complexity, but that's the general implementation.

Manipulations on these data bits can then be chained to create more and more complex operations. For example, a multiply operation is actually several addition operations.

This is really not a full blown textbook answer. You need ... a textbook for that. But this should get you started.

The four primary ways that information is stored in electronic circuits are:

• circuits that, through feedback, exhibit two or more stable states and are moved from one state to another by the application of a voltage. A bistable circuit (one with two stable states) can represent 0 or 1. Static RAM (SRAM) is an example. Bistable circuits stay in their state as long as their power supply is uninterrupted, and they do not receive a signal to change to another state. We can tap into some part of that bistable circuit to measure a high or low voltage, thereby reading the value.

• electronic charges held in capacitors or in special semiconductors. Dynamic RAM (DRAM) is an example. It uses tiny capacitors which are charged to indicate 1 and discharged to indicate 0. These capacitors leak, and so DRAM has to be refreshed. Another example is flash memory, which crams charges into a region within a semiconductor across a thin layer of glass.

• magnetization of permanent magnets. (Of course, hard disks are magnetic, but the scope of discussion is electronic circuits, not mechanical storage devices.) Decades ago, computers used core memory.

• switches. Information can be hard-coded into a circuit with switches or permanent wiring. That information cannot be changed by signals: it is read-only.

Digital information is not only stored, but also communicated among electronic circuits. This can take place in the form of voltage levels, usually two. Though techniques involving more than two voltage levels are not unheard of. For distance communication (networking, telecom) various encoding schemes are used for packing bits. Some communication methods simply send two voltage levels down the long distance line. Early ethernet, and serial communication (RS-232) is like that. Other methods encode the bits using frequency modulation, phase shifts and other tricks.

Have a look at my answer to an earlier question, "How is binary converted to electrical signals?" for a bit of a philosophical take on this question. To turn that answer around a bit, we have a mental model of mathematics using binary symbols, and we design electronic circuits to do some physical process that we can interpret in terms of those binary symbols.

We can choose pretty much whatever physical quantities we want to represent those symbols. For example a current in a wire, a voltage on a wire, etc.

For storage, we can choose something very simple, like the position of a mechanical toggle switch. Of course that's very inconvenient, because it requires a person to intervene and physically move the switch whenever we want to change the stored value.

More commonly, we store symbols in the form of voltages on capacitors. There are dozens (at least) of ways to do this, depending on how long we need to store the data, how quickly we need to be able to access it, whether we can count on having a power supply available to maintain the storage, how much money we're willing to spend on it, etc.

If you want to understand how this can work on the physical level, one of the conceptually simplest forms of memory is the NOR Flash cell, shown here with voltages applied appropriate for the erasure process:

In this device, a charge is stored on the floating gate to represent a binary one or zero. The presence of the charge can be detected by its effect on the conductivity of the path between the source and drain terminals, much like a MOSFET. The main trick about this device is that because there's no wire connected to the floating gate, charge has to be driven there by hot electron injection, and removed by quantum tunnelling, which are processes that require some quantum physics background knowledge to understand.