// HACKER NEWS — CYBERSECURITY
Cores in space: The core memory module from a 1980 Spacelab computer
Computer history, restoring vintage computers, IC reverse engineering, and whatever
Spacelab was a reusable laboratory that could be carried in the Space Shuttle's cargo bay, providing lab space for astronauts
and experiments.1
Because Spacelab was a European project, it used a French-built minicomputer, the Mitra 125 MS,2
rather than the Shuttle's main computers, IBM-built AP-101 systems.
For storage, the Spacelab computer contained 128 kilobytes of RAM.
Rather than silicon memory, the computer used magnetic core memory, with each bit stored in a tiny ferrite ring.
In this article, I take a close look at this computer's core memory system.
The illustration below shows how Spacelab fit inside the Shuttle's cargo bay.
The pressurized laboratory is the cylindrical module in the front of the cargo bay, connected to the Shuttle by a tunnel.
Experiments were mounted on pallets behind the laboratory.
The laboratory held three identical Mitra computers.3 One computer
managed Spacelab itself, while the second computer managed the experiments. The third computer provided a backup in case of failures.
The photo below shows the core memory stack, removed from the computer.
The core memory stack takes up roughly a third of the computer. The entire side panel of the computer detaches, and the core
memory unit slides out.
Since the computer is cooled by conduction, firmly attaching the core memory stack to the side panel kept it cool.
The core memory stack consists of seven boards: a driver board, four core plane boards, a second driver board, and an interface board.
Each board has two 160-pin connectors that plug into a large daughter board on each side, providing extensive connectivity between the boards.
The daughter board on the right has another 160-pin connector that links the memory stack to the rest of the computer.
(These connectors are the long blue connectors in the photo.)
One of the hardest problems for early computers was storage.
Computers of the late 1940s and early 1950s stored data through techniques such as sound waves in mercury, spots on a CRT screen, or spinning magnetic drums, but these
all had limitations.
What computers needed was dense, inexpensive storage that was fast, reliable, and could be accessed randomly.
During World War II, Germany developed special magnetic alloys that could "flip" from one magnetic state to another.
After the war, American researchers realized that these materials could be used for storing binary data: "It was completely obvious that you could make a
memory with this material," in the words of Jan Rajchman.
Different aspects of core memory were patented by various inventors (including independent inventor Frederick Viehe, An Wang at Harvard, Jan Rajchman at RCA, and Jay Forrester at MIT), leading to expensive patent battles.
(IBM ended up paying $400,000 to Wang—who used the money to build the computer company Wang Laboratories—and $13,000,000 to MIT.)
I view Jay Forester
as the most important inventor, developing the design of practical core memory, researching magnetic materials, and building the first core memory in 1953 for
the groundbreaking Whirlwind computer.
Core memory is based around a tiny toroidal magnetic core, one per bit.4
A core can be magnetized clockwise or counterclockwise to store a bit.
The core can be magnetized by threading a wire through the core: running a current through the wire produces a magnetic field that magnetizes the core, while
running a current in the opposite direction produces the opposite magnetization.
A key problem with core memory was how to wire the cores without an absurd number of wires: if each core had a separate wire, just 16 KB of storage would require over 100,000 wires.
The solution was called "coincident current addressing". The cores are arranged in a grid, with horizontal and vertical wires, as shown below.
By running a current through one horizontal wire and one vertical wire, the single core at the intersection was selected.