Op Amp Contest: Magnetic Core Memory The Dr Cockroach Way

No matter how memory technology marches on, magnetic core memory is still cool. Radiation-hard, nonvolatile, and so pretty. What’s there not to love? [Mark Nesselhaus] is no stranger to fun in-your-face electronics builds — judging from his hackaday.io projects — and this entry to the Hackaday Op-Amp contest is no outlier. This is a sixteen-bit magnetic core RAM demonstrator built upon glass using copper tape and solder, which always looks great and is actually not all that hard to do yourself provided you grab a new scalpel blade from the pack before starting.

Transformer-coupled differential front-end amplifier driving an SR latch.

For the uninitiated, the crossed X and Y wires each host a hard magnetic toroid which can only be magnetised by a field beyond a certain threshold due to the shape of the B-H curve of ferrite materials. The idea is for a required threshold current, drive the selected X line and Y line each with a current half of this value, so that only the selected core bit ‘sees’ the full field value, and flips state. This means that only a single bit can be written for each core plane, so to form longer words these layers are stacked, producing some wonderful cubic structures. These magnetic circuits are responsible for putting a human on the moon.

Reading the bit state is basically the opposite. A third sense wire is passed sequentially through each bit in the array. By driving a current the opposite way through the selected core bit, if the core was previously magnetised then the sense wire will read a short pulse that can be amplified and registered. The eagle-eyed will realise that reading is a destructive process, so this needs to be followed up by a write-back process to refresh the bit, although the core state will persist without power, giving the memory nonvolatile behaviour.

[Mark] utilises a simple discrete transistor differential transformed-coupled front end which senses the tiny current pulse and passes it along to a Set-Reset latch for visualisation. This simple concept could easily be extended to make this a practical memory, but for now, addressing is courtesy of a pair of crocodile clips and a discrete write/read pulse switch. We will watch with interest how far this goes.

DIY core memory builds are not a regular occurrence around these parts, but we see them from time to time, like this polished 64-bit setup. Core arrays are not the only magnetic memory in town, we’ve also seen DIY core rope memories as well.

24 thoughts on “Op Amp Contest: Magnetic Core Memory The Dr Cockroach Way

    1. An obvious question but have you created a Hackaday.IO project, as that is where you would enter the op-amp challenge by selecting the contest entry option on the left side of your project page.

          1. >yes, we used to host images on imgur but as you see they are broken, we are slowly fixing them.

            No, the answer to your question, “Please let me know what I am doing wrong.”.

            Read the rules: “How to Enter. Document your project on Hackaday.io.”

  1. I’ve understood how the X and y currents add to a high enough current to flip a core, and that a pulse was generated in the sense wire and (somehow) detected. Now I understand the big picture!

    There are a few misleading terms in this presentation. The Toggle switch labeled WRITE / READ should be labeled 1 / 0. The PULSE button should be labeled WRITE PULSE or just WRITE, and is timed by a human. For writing a bit to a core, select the appropriate X and Y wires, set the toggle to 1 or 0 as needed, then push WRITE. You can write 1’s or 0’s to a core as often or as long as you like (over-programming a core is not possible).

    To read a core, reset (or clear) the latch, select the core with X and Y wires, toggle to 0, then WRITE. If the core flip LED is then lit, then the core was a 1 (it’s 0 now).

    (Ever consider how Klingons in Star Trek would test a bit in their computer program? A Klingon would never ask the state of the bit, but they would command a bit to a 1 state with the response “I’m now a 1” or “I was already a 1”.)

    Since the read is destructive, use the state of the LED as the bit to write back (that’s the reason for the toggle switch center position, although that part of the circuit hasn’t been built yet).

    1. Good point but Write and Read just sits better with me but you are correct that a Write = 1 and Read = 0, at this time. I plan to later add a Write after Read logic section to refresh the bits state after the destructive Read so that is another reason for me to use Write and Read and if I do that then I will also have to add a select switch for a 1 or 0 as well as the W/R function. I had not thought about making use of the center off of the toggle but a great idea, thanks. Yes, I also got a better picture in my mind on how it all works once I got it to work. Does not take as much circuit as I first thought to detect the flip pulse but any added functions will start to complicate things a little ;-)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.