EEVblog Electronics Community Forum

Electronics => Projects, Designs, and Technical Stuff => Topic started by: @rt on August 12, 2015, 10:24:49 am

Title: Core Memory
Post by: @rt on August 12, 2015, 10:24:49 am
Hi Guys :)

I’m making a core memory, and have built this pulse detector circuit which should output a logic pulse
for a positive or negative going input pulse. When I powered it up, the output pin always reads high by a micro controller.

Now looking closer at it, it looks like the output is tied high with the nearest 10K resistor,
and either transistor can only short the output to ground.
Should it be expected behaviour that the output is inverted, and will only output low when it receives a pulse?
Cheers, Art.

(http://img.photobucket.com/albums/v186/ArtArt/Sense_zpssvvlrd2v.png)
Title: Re: Core Memory
Post by: matseng on August 12, 2015, 10:30:05 am
Yes, it will pull the output down to ground very briefly at every falling and leading of the pulses at the input.  My guess is that you'll need to either extend the output pulse or let it trigger a flipflop in order to be able to catch them with the microcontroller.
Title: Re: Core Memory
Post by: @rt on August 12, 2015, 10:42:48 am
Thanks, as I expected, but appreciate confirmation.

Apparently the pulse is long enough to catch. I’m running a pic at 24MHz, so 6M instructions per second.
I cannot assert this from experience, but judging from the two people with online blogs having done it,
the pulse arrives at a reliable (repeatable) time after the current to the address lines is switched on.
You don’t want to be looking for a pulse outside of a small time window, because the desired pulse is surrounded by switching noise.
Title: Re: Core Memory
Post by: @rt on August 12, 2015, 04:25:59 pm
Ok, I have had success :) If anyone wants cloud storage, it’s $1K per bit, per annum.
I only have 64 bits, so you’ll understand they are at a premium.

(http://img.photobucket.com/albums/v186/ArtArt/Completed_SideOn_130715_zpslr3mm5cb.png)

(http://img.photobucket.com/albums/v186/ArtArt/Completed_Rear_130715_zpsd8tl55oz.png)
Title: Re: Core Memory
Post by: WN1X on August 12, 2015, 05:39:39 pm
Ok, I have had success :) If anyone wants cloud storage, it’s $1K per bit, per annum.
I only have 64 bits, so you’ll understand they are at a premium.

That is very cool! Now you need to build a drum storage device  :o
Title: Re: Core Memory
Post by: joeqsmith on August 13, 2015, 03:33:09 am
If I were to try this , I think I would have done a 1X1 bit array.     With a quick search, I found your post showing the  buildup.    :-+   

http://forum.allaboutcircuits.com/threads/core-memory-magnetic-memory.112565/ (http://forum.allaboutcircuits.com/threads/core-memory-magnetic-memory.112565/)
Title: Re: Core Memory
Post by: mikerj on August 13, 2015, 10:20:06 am
Wow, you have put a serious amount of effort in this! Congratulations on your dedication and success :)
Title: Re: Core Memory
Post by: @rt on August 13, 2015, 01:00:14 pm
Hi Guys, thanks for the comments :)
Yes, something like this doesn’t remain interesting the whole time making it.
That’s where discipline comes in I guess. I’m reinvigorated for working on software now the hardware is fine of course ;)

When I have a proper demo video on YouTube, I’ll submit it as a tip for Hackaday.
Title: Re: Core Memory
Post by: aargee on August 14, 2015, 12:40:29 am
Very nice @rt.

I like the look of it, it has all the right aesthetics for the age of the memory module!
Title: Re: Core Memory
Post by: @rt on August 14, 2015, 03:57:41 am
Thanks, this is steampunk sir!! :D
I estimate more than twice the work of just dead bug style on a 2D protoboard.

Unfortunately my favourite part (the sense pulse receiver) is hidden.
It could have been on top, but that is not possible now with the length of other wiring.

(http://img.photobucket.com/albums/v186/ArtArt/Sense_Amplifier_Module_zps2ot7hhcs.png)
Title: Re: Core Memory
Post by: Gavin Melville on August 14, 2015, 09:28:58 am
Just a few more bits....

https://www.flickr.com/photos/8788341@N05/ (https://www.flickr.com/photos/8788341@N05/)
Title: Re: Core Memory
Post by: jimdeane on August 16, 2015, 11:54:55 pm
Now for a mercury delay line memory...
Title: Re: Core Memory
Post by: @rt on August 24, 2015, 04:07:52 pm
Ah well actually next is a core rope ROM to match the RAM :D
Just as elaborate in the end... the test version boards will get the hammer in the end.
https://www.youtube.com/watch?v=5npB3TpxfKw (https://www.youtube.com/watch?v=5npB3TpxfKw)
Title: Re: Core Memory
Post by: eneuro on August 24, 2015, 07:35:36 pm
Unfortunately my favourite part (the sense pulse receiver) is hidden.
What kind of cores did you used for those tiny (1mm?) core memory?
Low cost EMI ferite or something special with carefully choosen core material, etc?

I'd like to use small toroid core in my discrete isolated DC-DC converter and it looks like even EMi feritte cores might work (100kHz-400kHz switching frequency in full-bridge SMPS) based on recent experiments, but I'd like to keep them as small as possible.

However, probably bigger than 1mm outside diameter used in those core memories  >:D

I was strugeling use cores in my project, but now when saw what you did-no problem what so ever-I will do it at least for fun  :-+

I've choosen for the moment 7mm ferrite toroidal RICHCO RT-79-40-70 core, but unfortunatelly in its datasheets it is mentioned   ferrite material: K5B (RMS-303), but can't findout its hysteresis or even magnetic permability to estimate inductance at given number of turns-they specify 33 Ohm impedance @ 25MHz and 53 Ohm @ 100MHz  :-//

Update: Annyway I've found impedance of ferrite formulas there and at frequencies below 1MHz, probably linear estimation of Ls, while we know it for 25MHz (assuming 1 wire) might help guess what happends with this ferrite core at freaquency lets say 0.5MHz (400kHz), etc.
Using Ferrites to Suppress EMI (http://incompliancemag.com/article/using-ferrites-to-suppress-emi/)
Code: [Select]
Impedance – Z (ohm)
The impedance of a ferrite may be expressed in terms of its complex permeability.
Z = jwLs + Rs = jwLo(wu’- jwu”) (ohm)
To get 33 Ohm @ 25 MHz Ls might be 250nH, when we assume XL>>Rs>>0, so when entered 10 turns, we have at 400kHz square switching frequency XL=w*250nH*(10^2)= 2*3.1415*400kHz*250nH*(10^2)= 51 Ohm which maybe is decent estimation, but I'm not sure if it can be done this way-we'll see in practice what we get....or maybe someone knows howto estimate this ferrite EMI cores inductances with a few turns better-I've not better idea for the moment....so probably I will need experiment more and test performance of a few ferrite cores and choose smallest one which fits my needs...
Title: Re: Core Memory
Post by: @rt on August 25, 2015, 01:49:28 pm
Hi :) The ferrite I used (for the RAM) I ordered off eBay from a lady in Bulgaria.
They are vintage, and made to use in core memory, and also relatively cheap, she was not being greedy.
I don’t imagine many people are buying them, but I do imagine the supply of genuine beads will expire.

The core from our local supplier in Australia “Jaycar Electronics” that I’m using in the ROM, I know nothing about them,
and it’s just trial and error.
They have interesting material names like “L8” for a ferrite, and “HY2” for an iron core, but I can’t find anything on the web,
but the ROM operates within saturation region, and any old ferrite will do so long as they're all identical.

But I am interested in rectangular loop ferrite, I would like to follow on Jeri Ellsworth’s experiment with core logic.
She bypassed the RAM and ROM, and went straight for the gold I think. Core logic offers practical benefit today.
A non-volatile shift register or flip-flop in modern times would require an EEPROM, and micro with software.
It has to be hand wound... a nightmare for manufacture, but once it exists, it seems the simplest solution.



Title: Re: Core Memory
Post by: retrolefty on August 25, 2015, 05:12:41 pm
Now for a mercury delay line memory...

 I worked repairing video terminal equipment in the early 70s that used mechanical delay line for display memory. Just a flat disk of some kind of springy wire with transducers on the end points.

 It had like a 8 millisecond delay with 74xx logic to either insert new data or just recirculate output data back into input data point. Worked great and was very relaible, but very expensive for the number of bits it could recirculate per video frame.

 Worked on troubleshooting and repairing mini-computers core memory modules (mostly 8K x 16 or 16K x 16) at the same time. They also were very expensive with good reliability, bad sense amp ICs are about the only failures I saw at the time. Even back then most of the core memory mats were being hand-wound by females in Asia.


Title: Re: Core Memory
Post by: eneuro on August 25, 2015, 09:24:36 pm
But I am interested in rectangular loop ferrite, I would like to follow on Jeri Ellsworth’s experiment with core logic.
Jeri "Circuit Girl" has 200k hits on YT on core memory so far, but why not to go to the origins?  >:D

Yep, made by U.S.A. military many years ago  :-+

Electronics: Magnetic Cores I: Properties 1961 US Army Training Film
https://www.youtube.com/watch?v=X0WnddW5gZI (https://www.youtube.com/watch?v=X0WnddW5gZI)

Maybe, in spare time I will try make 1 bit core memory, just to see how long time it will keep holding this information without refreshing, etc  >:D
However, those days probably more interesting could be create qubits, but lets go back in time and play with core memory to warm up for quantum computing   :popcorn:
Title: Re: Core Memory
Post by: @rt on August 26, 2015, 07:29:37 am
My 64 bit RAM has not failed as an EEPROM yet, unless I try to corrupt it with another magnet.
To get it non-volatile I did have to turn off the micro’s power up delay to reset the shift registers
as fast as possible, because otherwise, TI shift registers 74HC164/595 both like to start in a set state,
and turn on all current drivers, and set cores before the program is even running.

I have watched as many core RAM/Rope/Logic videos I can find including both of those several times.
He seems to begin with general logic, and then focus on a shift register as an example.

Finding the right ferrite might still stump me... I can hardly wind up to 12 or so turns around a 1mm core.


Title: Re: Core Memory
Post by: eneuro on August 26, 2015, 09:46:33 am
I can hardly wind up to 12 or so turns around a 1mm core.
Which is inside diameter of those cores? Why not to use slightly bigger one since it is still 8 x 8 array  I guess?

I'll have in hands a lot of those  FRH035050 Ferrocore ferrite beads which is 5mm long, outside diameter 3.5mm and internal 0.65mm.
At least they specify core material as Ni-Zn, but probably its histeresis is bad for core memory.
(http://s23.postimg.org/ww5llwqfv/FRH035050_B_FERROCORE_Ni_Zn_Ferrite_bead_100_MHz.jpg)
It looks like oryginal internal thick wire can be easy removed and custom thin windings inserted instead.

However, I'd like to take advantage of toroid length to multiply its inductance while keeping outside diameter below 5mm, but this is specyfic to other low power tiny SMPS project, but I thought that maybe those ferrite bead Ni-Zn could be also usable in core memory experiment, but I've no datasheet how its histeresis might look like  ???

Anyway, maybe did you experimened with demagnetization of those core memory toroids?
I mean, maybe it is possible to store not only  0/1 bit for given saturated core flux direction, but... 3th state with very small residual magnetizm after demagnetization of core vere performed?   ::)

(http://s16.postimg.org/hvormbtz9/core_memory_hist.png)

Is it possible to findout somehow that core memory was never set before to 0 or 1, so in theory we could have three core states with different residual magnetism (Brm):
+Brm
0Brm
-Brm
Basicly, I'd like to know not only if core is in +/-B residual magnetism state after magnetization (0 or 1 bit set), but if it was ever magnetized (set to bnary 1 or 0) and not sure if is it possible read somehow this 3rd core memory state  to detect this? :-//

Do you use this single-diode transfer loop concept shown in video I've linked above to read/write core memory or different method?
(http://s7.postimg.org/4qd31vmaz/core_memory_single_diode_transfer_loop.png)

Trying to figureout howto check if core was magnetized, than when our read were it wasn't even if we used destructive method, we could perform demagnetization to "store" again this core state   :-/O



Title: Re: Core Memory
Post by: @rt on September 03, 2015, 01:34:30 pm

Hi :) Sorry for neglecting to check the thread.
I will answer as best I can. Consider that I researched hard, but before this, in hindsight,
didn’t know much about transformers, and didn’t understand at all the concept of pulse transformers.

The cores I got quoted on eBay as 1mm cores, it turns out to be the outside diameter, but there isn’t much meat to them.
You can definitely test hysteresis quality of a single core probably better than me, but I knew the particular ferrite due
to the other two previous core RAM experiments. I got mine from the same eBay seller.
Two people have done a successful experiment that I know, one a 32 bit RAM, and the other, a 1 bit RAM so far,
but Wayne’s page does go into some more practical detail about testing one bit.
You simply switch it’s state with a single current wire while looking at another scope channel at a sense wire.
If you can alternate current direction along the current carrying wire, you can observe a pulse from the sense wire
on the other channel if the state changed. Wayne has documented that well.
There would be better ways to test the rectangle loop pattern, but if you can see a switch pulse then the core has some hysteresis quality.

With regard to storing a third state....
Maybe if you could operate it faster than it could switch you might be able to demagnetise it, and sense a weaker pulse for the initial magnetisation.
My understanding of the core and the hysteresis loop is they are truly bistable and would not store a partial state.
Like a rubber band being pulled on until it breaks suddenly.
If the core did not snap it’s direction very fast like a spring you would not receive the sense pulse,
and there is a threshold where that occurs.





I can hardly wind up to 12 or so turns around a 1mm core.
Which is inside diameter of those cores? Why not to use slightly bigger one since it is still 8 x 8 array  I guess?

I'll have in hands a lot of those  FRH035050 Ferrocore ferrite beads which is 5mm long, outside diameter 3.5mm and internal 0.65mm.
At least they specify core material as Ni-Zn, but probably its histeresis is bad for core memory.
(http://s23.postimg.org/ww5llwqfv/FRH035050_B_FERROCORE_Ni_Zn_Ferrite_bead_100_MHz.jpg)
It looks like oryginal internal thick wire can be easy removed and custom thin windings inserted instead.

However, I'd like to take advantage of toroid length to multiply its inductance while keeping outside diameter below 5mm, but this is specyfic to other low power tiny SMPS project, but I thought that maybe those ferrite bead Ni-Zn could be also usable in core memory experiment, but I've no datasheet how its histeresis might look like  ???

Anyway, maybe did you experimened with demagnetization of those core memory toroids?
I mean, maybe it is possible to store not only  0/1 bit for given saturated core flux direction, but... 3th state with very small residual magnetizm after demagnetization of core vere performed?   ::)

(http://s16.postimg.org/hvormbtz9/core_memory_hist.png)

Is it possible to findout somehow that core memory was never set before to 0 or 1, so in theory we could have three core states with different residual magnetism (Brm):
+Brm
0Brm
-Brm
Basicly, I'd like to know not only if core is in +/-B residual magnetism state after magnetization (0 or 1 bit set), but if it was ever magnetized (set to bnary 1 or 0) and not sure if is it possible read somehow this 3rd core memory state  to detect this? :-//

Do you use this single-diode transfer loop concept shown in video I've linked above to read/write core memory or different method?
(http://s7.postimg.org/4qd31vmaz/core_memory_single_diode_transfer_loop.png)

Trying to figureout howto check if core was magnetized, than when our read were it wasn't even if we used destructive method, we could perform demagnetization to "store" again this core state   :-/O
Title: Re: Core Memory
Post by: @rt on September 03, 2015, 01:45:34 pm
Ok, I just read the other part of your post.
The curve of the initial magnetisation in your picture isn’t square.
That might be a problem for trying to detect even a half strength pulse.

I got done with my ROM last night. Any dirty old ferrite is ok for that.
This one is Australian Capital cities stored as a pair of 32 bit floats for latitude & longitude each.
For eight cities there were two zero values (in bytes), so only 62 of the 64 wires total.

(http://img.photobucket.com/albums/v186/ArtArt/Fully_Wired_zpstjpdtvwu.png)
Title: Re: Core Memory
Post by: @rt on September 06, 2015, 05:24:03 am
Well I had luck with the core ROM last night :)
https://www.youtube.com/watch?v=j8QuhUoC9CY (https://www.youtube.com/watch?v=j8QuhUoC9CY)
Title: Re: Core Memory
Post by: eneuro on September 06, 2015, 08:49:13 am
My understanding of the core and the hysteresis loop is they are truly bistable and would not store a partial state.

When we perform demagnetisation Comparison of Stepwise Demagnetization Techniques (http://newt.phys.unsw.edu.au/~tmb/BAYNES.pdf) , than ferromagnetic core should be in stable not magnetized state, so when we try to read not magnetized core maybe we could be able detect this?  :-\

Quote
To demagnetize small-scale objects (dimensions less
than 1 m) fabricated from ferromagnetic materials, it is standard
practice to expose the object to a continuous ac applied magnetic
field with a steadily decaying amplitude.

Anyway, maybe instead of using magnetic flux direction in the core, we could try use for logic zero (0) demagnetized core and for one (1) magnetized in any direction?
Of course those ferromagnetic cores will be exposed to Earth magnetic filed in the range of 5*10^(-5) T ~0.00005 T (0.5 Gauss).

Detection if ferromagnetic core was ever magnetized (we do not care about its direction) after demagnetisation might be interesting, so investigating this in spare time ;)
Title: Re: Core Memory
Post by: @rt on September 21, 2015, 02:51:44 pm
Any luck with experimentation?

I finally got the rope ROM done :)
Not 100% success. The 74HC595 driving current for them I didn’t test with more cores.
If the byte value contains a lot of 1s there is not enough energy for every pulse to be recognised.
Now if a “C” version of 74HC595 was ever made it would be an easy solution.. just run them at higher voltage,
but I don’t think they were ever made “74C595” :(

Out of 512 bits I get typical 18 or so bit errors.  demo video:
https://www.youtube.com/watch?v=HnEMosi6kww (https://www.youtube.com/watch?v=HnEMosi6kww)

(http://img.photobucket.com/albums/v186/ArtArt/Assembled_B_zpsabj6qzfp.png)
Title: Re: Core Memory
Post by: eneuro on September 21, 2015, 05:26:10 pm
If the byte value contains a lot of 1s there is not enough energy for every pulse to be recognised.

Using this cut ferrite core with SS495A inside and by applying +/-5A current I was able create decent remanent magnetization in ferrite toroid core shown below, which I was able read in NOT DESTRUCTIVE way using... Hall effect current sensor  and multimeter >:D

(http://s2.postimg.org/uyod2aqyh/prowelder_hall_current_sensor_top.jpg)

During calibration of this thing, I've noticed that this sensor is capable detect those small shift from the middle of ~2.5V @ 5Vcc, so using only voltmeter I was able to say in which direction it was magnetized, but didn't tested it what hapends after a few hour or when I change position in space in relation to North Pole, etc, however this was interesting finding, which could help build easy thunder lighting hit detector, just by using ferrite core with thick metal pipe inside to ground and then after storm check this core with the same sensor 8)
That is why I was interested in demagnetisation, since lighting might be sometimes unusual upward, not downward, so I'd like to be able detect three states of such ferrite toroid core, which was passed by lighting hit to/from ground  :popcorn:
Title: Re: Core Memory
Post by: @rt on September 22, 2015, 07:47:47 am
That’s an interesting experiment, and cool idea with he lighting detector.
A radio operator might wonder what was going on at home while they were at work,
especially if they forgot to pull the antenna plugs out.

Today I came by some iron ore rocks that stick to magnets, and I tried to make transformers out of them,
but unfortunately they don’t pass a frequency any more than the ringing on the secondary coil
even if the rock is not present as the core.
Title: Re: Core Memory
Post by: eneuro on September 22, 2015, 06:40:29 pm
That’s an interesting experiment, and cool idea with he lighting detector.
Probably I will make closer look to this idea, since maybe using the same Hall current sensor shown above I was able store information in such ferrite core about current direction in quite bulky transformer primary, turned off by SCR, so If I were able later read and know its last  current direction, probbaly it could help avoid saturation during next transformer switch on, since we could try watch for mains positive/negative and choose right point to turn this bulky transformer on based on information what was direction of last magnetization flux in transformer core :phew:
We'll see-if it works in practice and if I will be able reduce inrush currents (i've current sensor so I can estimate them and report in this research) in starting transformer core using this tricky way to read ferite  core remanent magnetization  ;)

Forum "brain storms" sometimes leads to interesting findings, even if core memory technology seams to be forgotten, so thanks for creating thread like this  :-+
Title: Re: Core Memory
Post by: @rt on September 23, 2015, 01:36:45 pm
I realise you are the same guy :D
There’s definitely more real life potential and virtue in this, but TC are also fun ;)
Title: Re: Core Memory
Post by: @rt on February 08, 2019, 01:00:30 pm
Old thread, but.... My core memory talked about first in the earliest posts in this thread has remembered a geolocation for exactly one year today,
which means I couldn’t power it on for a year, or it would be deleted :D

So... the damn thing works!! :D
Title: Re: Core Memory
Post by: @rt on July 25, 2019, 10:09:57 am
That is why I was interested in demagnetisation, since lighting might be sometimes unusual upward, not downward, so I'd like to be able detect three states of such ferrite toroid core, which was passed by lighting hit to/from ground  :popcorn:

Well you had four years, so I went ahead and tried a square loop core, and a BBQ piezo igniter mechanism to simulate the current pulse to a real Earth rod in the ground, and all appears well :)
The toroid PCB is the only part that has to be mounted outside, and the reader/resetter is only used to read and/or reset the core's magnetisation state.

I’ve heard for some lightning can drive electron current from the Earth, upward too, so it might take two cores to read both types of lightning,
starting with both cores set in opposite directions, and looking for an event that sets them both in the same direction.
I’ll try a proper connection from an antenna mast, to shunt current normally, but I assume enough current would flow through an extra (and thinner) wire too.
Title: Re: Core Memory
Post by: Henrik_V on July 26, 2019, 01:42:16 pm
Here is a wired core ROM (Telefunken?) I happened to find in the 80th.... still somewhere in the attic ..
(https://www.mikrocontroller.net/attachment/124398/Dachboden-001.jpg)