Like every adult male entering his thirties, I had recently developed an interest in military history, so what better way to spend a Saturday than at the local Midway Museum, the dubiously self-proclaimed #1 attraction in San Diego. Besides the endless labyrinth of tiny hallways and crew quarters, perhaps the most interesting exhibit was the UNIVAC CP-642B and its “LOL memory”, named after the “little old ladies” from the textile industry that painstakingly wove it by hand!

Click image for full size

Click image for full size

While LOL memory is read-only, it shares basically the same design as an early form of RAM called magnetic-core memory. Naturally, I wanted to investigate how this strange criss-cross structure worked.

Wikipedia has a good overview. In a nutshell, each ring of magnetic material stores one bit in its magnetization direction, clockwise or counterclockwise. The ring has an X line (green), Y line (red), sense line (s, orange), and inhibit line (z, purple) passing through it. Changing the polarity requires a certain threshold current. To write a bit, a current with half the required magnitude is sent through both its X and Y line, only switching that ring.

More interesting is how it is read. First, a 0 bit is written to the ring. If it was previously 0, nothing happens. If it was 1, the polarity switches and causes a changing magnetic field. By Faraday’s law, a voltage pulse is generated in the sense line, which is picked up by the sensing circuit.

It was not obvious (to me) that this works for all the rings in the diagram above. The sense line forms quite a complicated self-overlapping path through all the rings. Would the magnitude of the voltage differ for rings on the edge, corner, or center? During switching, the magnetic flux goes into the page on one side of the ring, and out of the page on the other. The flux at either point induces an emf proportional to the winding number of the sense line around that point, viewing the sense line as a curve in the plane. We can plot the winding number of all the contiguous regions containing the flux:

The winding number can be found by unwinding the sense line as much as possible without intersecting the given point, and counting the number of windings around it. For example:

Finally, because the flux goes in opposite directions on either side of the ring, we can find the overall emf for a ring by subtracting the winding numbers on either side. Miraculously, the magnitude of this difference is 1 for every ring, so each ring induces the same voltage. What a clever design!

Or maybe not. In fact, any planar curve that goes through a ring will result in the same voltage. This is because the winding number around a point always changes by one when it crosses a curve:

Moving across a curve either unwinds a circle or creates a new circle. This is also proven visually in this Math.SE answer:

Here, we deform the contour (keeping winding number the same) until the point *r* becomes the point *s* with a closed clockwise loop around it. Thus, winding number of *r* equals winding number of *s* minus one.

Maybe all this is totally obvious to circuit engineers, but I found it quite interesting. Also, it gives a cool way to find the winding number for arbitrary curves: start from the outside and move the point in, adding or subtracting one at every crossing.