bytedisorder

Nerdical recommendations, and musings — more questions than answers — for engineers

Apollo's Core Rope Memory

Most computers have some kind of permanent memory, referred to as the ROM or EEPROM, to store infrequently changing code such as a BIOS or firmware. The hardware for this memory is different to that of working memory, or RAM, which is updated frequently during the use of a computer.

Other factors that inform the choice of hardware for storing this memory is the required durability, as programs stored in these types of memory are frequently essential to the operation of a computer. The case of Apollo was one where the entirety of program code needed to be stored in a permanent, unchangeable read-only memory which could survive the harsh environment of space and not be susceptible to any kind of radiation.

Anyone that has played an NES console knows that read-only memory is possible on cartridges, and also that the reliability of these is perhaps less than one would desire when building a spacecraft. The MIT Instrumentation Laboratory selected therefore to use a type of memory called core rope memory, in which a bundle of data wires are strung together and wound in and out of magnetically sensitive rings (cores).

As a data wire passes through or bypasses these rings (cores) it forms a series of 1’s and 0’s. The data wire will indicate 1’s where the it is routed through a core, and 0’s where it bypasses a core. For rope memory in general, charges are sent through the data wires and the presence of these electrical flows within a core are detected using separate sensing wires attached to each core.

Before discussing the details of the NASA design, which applies many optimizations for storage density, let’s see a basic core rope memory application. In the following video Anthony Francis-Jones builds a simplified core rope memory circuit to drive a hand built seven segment LED and count down to 0. The operation of this memory is far simpler than the type used in the Apollo Guidance Computer and serves as a good primer for the topic.

Watch: Core Rope Memory Built & Explained :: 37m

With that out of the way, the following video dives into the details of building a ROM dumper for the AGC core rope memory modules, some of which have not been read in over half a century. This task of digital archeology is being performed by a team which has already completely restored an AGC, creating the world’s only operational AGC in the process, and is now continuing research in the same area. If the last video was a lot, you might want to grab a fresh cup of coffee before this one.

The NASA design severely complicates matters and is pretty difficult to grasp, so much so that even MIT and NASA had issues reading some of the memory that was produced. Instead of using sensing wires routed to each core the NASA design uses set, reset, inhibit, and anti-inhibit wires which pass through the cores in a pre-determined manner. These additional wires are used to precisely control the magnetic state of each core prior to a read operation and therefore carefully observe these changing states using the data wires. Ultimately, the design was faulty and workarounds had to be applied in order to read the memory.

Beyond the obvious challenge of reading the memory, one might wonder about the inability to change the programming of the computer. To highlight the risk of hand wiring a computer’s software, a story is told about a deadly bug that was fixed prior to the Apollo 11 launch. Engineers cut and patched the wires of the memory rope with new instructions, and had to crawl into the bowels of the assembled spaceship to do so.

Watch: Apollo Core Rope Memory :: 49m

If you want to see this in action and are not lucky enough to have any AGC memory modules on hand you can try the simulator. This is perhaps the best way to understand the inhibit circuit behavior. You can see in this simulator that isolating a particular core in order to address a particular bit is very complex. The circuit to set the inhibit and anti-inhibit wires correctly for every memory address must have been a nightmare, and it is incredible that a modern core rope reader has been created.

Try: Apollo Core Rope Visualizer

To see how the memory modules were manufactured and tested by Raytheon, which is an engineering marvel in itself, the following short documentary shows the factory floor.

Watch: Computer for Apollo - MIT :: 23m