Apollo Guidance Computer, Part 30—Core Rope Read-Only Memory

The long story of restoring of a genuine (ground test) Apollo Guidance Computer (AGC) to working condition has been chronicled in a series of Curious Marc videos featured on ancestors of this site. You can view all of them at the Apollo Guidance Computer Restoration playlist.

Programs for the Apollo Guidance Computer (AGC) were stored in magnetic core rope memory, a form of read-only memory in which zero and one bits are encoded by whether a sense wire passed inside or outside a toroidal core whose magnetic field was flipped in order to read its value. This form of memory was 18 times denser in terms of storage per unit volume than the magnetic core read-write memory used in the AGC, and while only 2048 15-bit words of read-write memory were available, the rope memory could store 36,864 words of programs and data. The memory modules had to be woven individually for every mission, with wires manually threaded through or around the magnetic cores.

As a read-only memory, the AGC memory modules were about as non-volatile as you can get, and were safe against cosmic rays, electrical transients, and software bugs. If a programming error was found after a module was woven, correcting it was very challenging and, if the module had already been “potted” to protect its wiring from vibration and environmental contamination, impossible.

Core rope memory is similar in concept to the more widely used transformer read-only storage, which was used for microcode by some computers before the advent of semiconductor read only memory.

While core cope memory is simple in concept, the details are remarkably abundant in devils, and when the designers made a hideous goof in the circuitry that handles addressing the parity bit on words, things became so complex it verged on the bewildering, but the inexorable schedule of the Apollo project precluded fixing the root cause, so every Apollo mission flew with its navigation and control software running out of memory modules with one of the trickiest work-arounds in the history of computer memory keeping it working.