Skip to main content

The National MagLab is funded by the National Science Foundation and the State of Florida.

Magnetic Core Memory

Magnetic core memory was developed in the late 1940s and 1950s, and remained the primary way in which early computers read, wrote and stored data until RAM came along in the 1970s.

This tutorial illustrates how magnetic core memory works. The set up looks a little bit like chocolate donuts strung on a chain link fence. The donut shapes are ferrite cores. Ferrite is a ceramic made primarily of iron-oxide that can easily be magnetized or demagnetized. The fence-like grid is made of copper wires.

The system harnesses several basic principles of electromagnetism.

First, that a current-carrying wire generates a magnetic field around it.

Second, that ferromagnetic substances such as iron can be magnetized by an external magnetic field.

Third, electromagnetic induction in which an electric current can induce a change in a nearby magnetic field, and a changing magnetic field can induce an electric current in a circuit.


  1. Note the set up of the horizontal and vertical X and Y address lines which direct current to a specific core.
  2. See how the diagonal sense lines are connected to read current generated by a shift in a core’s magnetic field.
  3. Current moving through the wires will be illustrated with yellow electrons. Magnetic field from the cores is indicated by red arrows.

Let’s experiment to see how magnetic core memory records, or writes, data.

Instructions for writing to a core:

  1. Each core can store one bit of memory in the form of a 0 or a 1 – the binary language of computers. Hover over the cores with your mouse, you’ll see in red the value that each currently holds.
  2. To write to a core, you need to ascribe a value to it (0 or 1) with the help of electrical current. To do so, choose “Set Value to 0” or “Set Value to 1” in the Select Operation area.
  3. Click on any core to select it. You’ll see a visual representation of what happens on the core itself, and a write-up of what happens in the Operation Description area.
  4. Notice how current runs through the applicable X and Y address lines and intersects inside the selected core, generating enough current to force the magnetic field into the direction that corresponds to a 0 bit.
  5. If the bit already has a value of 0, you will see no change in the magnetic field direction. But if it has a value of 1, you will notice that the electric currents cause a reversal in the direction of the core’s magnetic field, thus flipping its value to 0.

You may wonder why none of the other cores are affected. The targeted core is the only spot in the grid in which two currents intersect, and therefore the only place where the current is sufficient to instigate a change in the magnetic field.

You can switch the value of the core you have targeted back to 1 by hitting the appropriate button and clicking on the core again. Notice that to flip the value to 1, the current direction must be opposite what was needed to flip the value to 0.

Once the data has been recorded, how is it read? Here’s how that part of the process works.

Instructions for reading from a core:

  1. Under Select Operation, click on the Read Value button.
  2. Now click on one of the cores and watch what happens along the wires, in the core, and on the voltage sense line below.
  3. Watch how, when the computer is asked to read data from a core, it sends current that will cause that core to flip to a value of 0.
  4. First try it on a core where the value is already 0. There will be no change in the field, and hence little current induced in the sense line. Notice the minor blips depicted in the Voltage Graph, a result of the existing magnetic field first getting a bit stronger as the current passes through, then getting weaker again as the current ceases.
  5. Now see what happens if the computer sends the “flip to 0” message to a core that has a 1 value. the big change in magnetic field that results generates a comparatively high voltage through the sense lines, as seen in the voltage graph. The computer interprets this voltage spike as a 1.

This type of memory reading is called “destructive,” because the information that had been recorded on the core, 0, is destroyed when it is flipped to the opposite value, 1. Magnetic core memory addresses this by automatically restoring the value back to 1, as the tutorial illustrates.