nina_kali_nina ,
@nina_kali_nina@tech.lgbt avatar

~ Let's make RAM at home, thread #1 ~

In this thread: successful experiment with factory-made ferrite core memory (1 bit for now!), a brief explanation of the experiment, and failed attempts at making a core (so you wouldn't have to try it)

🧵 go~

nina_kali_nina OP ,
@nina_kali_nina@tech.lgbt avatar

If you didn't know, magnetic-core memory used to be the most commonly used previous generation of memory before SRAM and DRAM integrated circuits stole its market share, with a promise of cheap and dense memory.

The foundation of the core memory is a core. Simply put, it is a tiny ring of a ferromagnetic material, a mixture of iron oxide with other metal oxides, that can be magnetized and de-magnetized.

As you might remember from a physics textbook, an electric current generates a magnetic field, and the direction of the current changes the orientation of the magnetic field. If we let current through the core in one direction, it will magnetize the core one way; if we let the current in the opposite direction, it will magnetize the core in a different way.

Find a way to magnetize, read the magnetization of the core, and address thousands of the cores - and you get yourself RAM, or computer memory.

The most advanced ferrite core memory had millions of cores!

nina_kali_nina OP ,
@nina_kali_nina@tech.lgbt avatar

This specific type of core can be magnetized when a current of 0.3-0.5A passes through it. Ohm's law says that if the voltage we supply is 5V, we need our circuit to have the resistance of 10 Ohms to reach this current.

But we don't really need to supply this current all the time! The core changes magnetization really quick, so we need something that would generate a short pulse. Things that generate short pulses aren't great at dealing with high currents (0.5A is 20 times higher than what Arduino can handle), so we need a simple switch to control the current.

I am basically using a textbook circuit with a popular transistor 2N2222 that can handle currents up to 0.8A. It doesn't look super pretty on the bread board, and the reality is different from the model, so the current I see from the 5V supply is only 0.250A.

I pump the voltage up to 12V and smell the magic smoke coming out of the transistor. Of course it cannot handle this much emitter-base voltage, and dies.

The same circuit. The switch is off, the transistor's base is connected to the ground through a 20K resistor and therefore is 0V. Transistor is locked, so there is virtually no current flowing through the load (10.2 pA, which is basically nothing in this case)
The current source on a transistor switch assembled on a breadboard. Some jump wires connect small electronic components

futurebird ,
@futurebird@sauropods.win avatar

@nina_kali_nina

OMG this is exactly what I need for one of my students who has been struggling with her 32 bit core memory project. I suggested we just try doing one core, but we didn't know exactly where to start... so I'm going to give this a try and see if we can make some progress.

nina_kali_nina OP ,
@nina_kali_nina@tech.lgbt avatar

@futurebird Best of luck! The hardest thing for me to do here was to set up the oscilloscope right to see the bit flipping without needing an opamp. I set the trigger on CH2 connected to the switch that opens the transistor, and had to set the timing to 500ns/div and voltage to 20mV/div to see anything. Adding some filters and capacitors around helped to remove a lot of the noise coming from EMF interference.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • test
  • worldmews
  • mews
  • All magazines