Core rope memory

Core rope memory is a form of read-only memory (ROM) for computers. It was used in the UNIVAC I (Universal Automatic Computer I) and the UNIVAC II, developed by the Eckert-Mauchly Computer Corporation in the 1950s, as it was a popular technology for program and data storage in that era. It was later used in the 1960s by early NASA Mars space probes and then in the Apollo Guidance Computer (AGC), which was built by Raytheon.

The software for the AGC was written by programmers at the Massachusetts Institute of Technology (MIT) Instrumentation Lab, and was woven into core rope memory by female workers in factories. Some programmers nicknamed the finished product LOL memory, for Little Old Lady memory.

Operation
Similar to magnetic-core memory, magnetic rings (or cores) are used to determine the data of the software. Unlike magnetic-core memory, the cores themselves are not used to store the data; the way a core is wired controls whether that core represents a '0' or a '1'.

There are three main types of functions a wire can have in core rope memory:


 * Set/reset: These are used to change all of the cores from one polarity to another.
 * Sense: A sense wire can detect a change in a core's polarity. It can pass through a core to indicate one bit state (typically '1') or bypass it to represent the other (typically '0').
 * Inhibit: Inhibit wires are used effectively to address which core to select.

To read from core rope memory, the set/reset wire is given a strong current to change the polarity of the cores. This induces a small voltage on the sense wires passing through them, which can then be used to interpret binary data. The inhibit wires pass a current in the opposite direction of the set/reset wire for all cores but the desired one, acting like a memory addressing system. This prevents the sense wires from detecting polarity changes from the other magnetic cores.

The sense wires are used to encode the data by either going through a core or bypassing it. By using many sense wires, multiple bits of data can be stored for each core. In the case of the Apollo Guidance Computer, each core had 192 sense wires passing through it, which could store 12 16-bit words per core.

Memory density
By the standards of the time, a relatively large amount of data could be stored in a small installed volume of core rope memory: 72 kilobytes per cubic foot, or roughly 2.5 megabytes per cubic meter. This was about 18 times the amount of magnetic-core memory (within two cubic feet).