Magnetic-core memory

A 32 × 32 core memory plane storing 1024 bits (or 128 bytes) of data. The small black rings at the intersections of the grid wires, organised in four squares, are the ferrite cores.

In computing, magnetic-core memory is a form of random-access memory. It predominated for roughly 20 years between 1955 and 1975, and is often just called core memory, or, informally, core.

Core memory uses toroids (rings) of a hard magnetic material (usually a semi-hard ferrite). Each core stores one bit of information. Two or more wires pass through each core, forming an X-Y array of cores. When an electrical current above a certain threshold is applied to the wires, the core will become magnetized. The core to be assigned a value – or written – is selected by powering one X and one Y wire to half of the required power, such that only the single core at the intersection is written. Depending on the direction of the currents, the core will pick up a clockwise or counterclockwise magnetic field, storing a 1 or 0.

This writing process also causes electricity to be induced into nearby wires. If the new pulse being applied in the X-Y wires is the same as the last applied to that core, the existing field will do nothing, and no induction will result. If the new pulse is in the opposite direction, a pulse will be generated. This is normally picked up in a separate "sense" wire, allowing the system to know whether that core held a 1 or 0. As this readout process requires the core to be written, this process is known as destructive readout, and requires additional circuitry to reset the core to its original value if the process flipped it.

When not being read or written, the cores maintain the last value they had, even if the power is turned off. Therefore, they are a type of non-volatile memory. Depending on how it was wired, core memory could be exceptionally reliable. Read-only core rope memory, for example, was used on the mission-critical Apollo Guidance Computer essential to NASA's successful Moon landings.[1]

Using smaller cores and wires, the memory density of core slowly increased. By the late 1960s a density of about 32 kilobits per cubic foot (about 0.9 kilobits per litre) was typical. The cost declined over this period from about $1 per bit to about 1 cent per bit. Reaching this density requires extremely careful manufacturing, which was almost always carried out by hand in spite of repeated major efforts to automate the process. Core was almost universal until the introduction of the first semiconductor memory chips in the late 1960s, and especially dynamic random-access memory (DRAM) in the early 1970s. Initially around the same price as core, DRAM was smaller and simpler to use. Core was driven from the market gradually between 1973 and 1978.

Although core memory is obsolete, computer memory is still sometimes called "core" even though it is made of semiconductors, particularly by people who had worked with machines having actual core memory. The files that result from saving the entire contents of memory to disk for inspection, which is nowadays commonly performed automatically when a major error occurs in a computer program, are still called "core dumps". Algorithms which work on more data than the main memory can fit are likewise called out-of-core algorithms. Algorithms which only work inside the main memory are sometimes called in-core algorithms.

  1. ^ "Computer for Apollo". MIT Science Reporter. 1965. WGBH.

Developed by StudentB