Magnetic core memory uses small ferrite rings that can be magnetized in two directions (clockwise for '1', counter-clockwise for '0') to store binary data. The hysteresis loop property ensures that once magnetized, the core retains its state indefinitely without power. Reading the memory requires reversing the core's polarity, which destroys the original data (destructive read), so the data must be rewritten after reading. The technology uses XY coordinate systems with sense lines to address individual cores in a scalable manner, and was widely used in computers from the 1950s through the 1970s, including IBM systems and the Apollo guidance computer.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
1 Bit of Soviet Core MemoryAdded:
Good morning everyone. My name is Mark Frederick.
It's great to be here and I'm just curious how many of you this is your first time at VCF Southwest. Raise your hands. Oh yeah, great. Awesome.
Super. Well, this is my first time as well and it's odd that I'm speaking at the first time. I'm kind of an accidental speaker. I I signed up for the conference and I went out to look at the speaking roster and there was a bunch of empty spots and so this is just if if you know me, this is is going to make sense would make sense to you but just the big dummy that I am, I I sent a message to the organizers and I said, "Hey, if you get down to the wire, I've got a few topics that we can talk about." And I sent the list but I said, "Only if, you know, you just have a slot you have to fill." And they were so nice, they messaged me back and said, "We'll take you."
And I said, "Wait, I didn't mean for that." So anyway, here we all are.
Uh we've been joking around earlier that this is the most boring session you'll go to all day so it can only get better from here today so uh that's good. So let's just get this out in the open first. Wow.
There is a bug. There's a Texas-sized bug in front of me.
>> [laughter] >> Go away. All right, there it is.
Whatever that is. Is that a cockroach?
Do we need to All right, well I've got this leash. I don't know if I can reach it.
There we go. Okay.
All right.
Every presentation starts out differently I guess, right? So Right. Right.
Okay. Well, I'll tell you quickly, I don't speak Russian and that's a major problem for the project that I'm going to tell you about.
And so the way I solved that project that problem is I went to this Starbucks. This is a few years ago and this is before AI. So now you could take all the information that I had about this and you just can get the answers. But before then I needed an actual human being and uh about 15 years earlier I had hired a girl out of college named Yulia Maximova. You know where this is going, right? And so uh I had left that company. She was a programmer. And so I found her on LinkedIn. She lives in the same town as me. This is West Des Moines, Iowa. And so I reached out to Yulia and I said, "I don't know if you remember me, but I I gave you your first job out of college and I need a favor." And she said, "Sure." So I showed up at the Starbucks and I was a little bit nervous cuz I hadn't seen her in 13 years. And Yulia Maximova came in. We sat down, had coffee, and said, "What do you need?"
And I said, "I got a problem.
I can't read uh I can't read the data sheet for something that I bought." And she's like, "What are you doing?" And I said, "It's kind of a long story, but anyway, can you help me work work through this?" And so she just started right at the top and she just worked through the data sheet with me. There were some words that she didn't know, but we were able to kind of figure it out.
And and it was great. So what did I buy?
That's the kind of the question, right?
And so I was I don't know how many of you are like eBay trolls. You just keep looking at stuff, never buying anything.
Well, maybe buying something. And I I'm always clicking, "Oh, that's interesting, you know?" But I just move on. Well, I came across this and I said, "Oh, that's interesting. The USSR part got me." That's where it got me and I was like, "I like the topic of core memory. I don't have any, right?" And I'm like, "Should I buy this?" So I did a little looking. This guy's like a uh uh uh Soviet era Russian dealer of old electronics.
And so I I I ordered it. Nine of them.
Nine and then I didn't really know what I was getting. It said one byte 1979 ferrite core memory things. I was like, "All right, I'll get them." So it was kind of neat because how many of you were raised during the Cold War?
Okay. so you know, there's this kind of nostalgia about it even though it was the Cold War and you know, kind of the Soviet Union represented our enemies in many way, but it's still part of kind of our childhood and so it it was important. For me, I grew up in Minnesota. Anybody here a Minnesota kid?
Okay, so I'm on my own. Well, Minnesota since you know, it's in the northern part of the United States has Nike missile silos. Okay, these were the one of the one of the many lines of defense against intercontinental ballistic missiles coming into the US. By the way, I'm talking about this right now has nothing to do with the memory modules.
They're they're not even military. But anyway, so this So within an hour's drive, just 15 minutes is the what's left of the site on the top in the upper right-hand corner. And then there's another one about 45 minutes away from where I grew up that you can still kind of visit today with permission.
But these Nike missile sites, we knew about them. I lived not far from a Honeywell testing grounds where they shot off these 105 mm cannons preparing for you know, whatever could happen. And so I grew up knowing about that. Anybody remember this, right? Mr. Gorbachev, tear down that wall, right? That was a big thing. I just graduated from high school.
And so when the opportunity came to buy some of these ferrite core memory modules that were somehow tied to my childhood in a way, I was down for that. So I ordered them and I got them.
And fortunately, the seller was very generous in that the seller took a bunch of pictures. So he included or she I I think it's a guy included in the the posting on eBay some pictures of how this was used.
Anybody want to take a guess whether this was probably military or commercial?
>> [snorts] >> Commercial, yeah. It's No, yeah, you're right. I already said it's probably not military.
Obviously, there's no conformal coating.
It's got this point-to-point wiring.
It's all this red wire that's probably flammable. So, I knew I was not getting something that was military grade. And fortunately, the guy selling it had already cracked one of these open, which saved me cuz you can bet I was the kid that took apart my toys on Christmas day, and none of them worked by the end of the day. I was definitely going to take one of these apart. And so, he uploaded a picture and you know, the kind of the the important part of this picture is this guy right here, right? Hidden inside of these coils are is the magnetic core memory uh core. And we're going to talk more about what that is and how it works.
Well, as much as I understand how it works. There's probably somebody here that's a you know, physicist that can explain it better than me. But, uh we're going to talk about that. But, that's the important the most important part of this module. And I was I was really grateful that the the pictures were uploaded. And then of course, he also uploaded the data sheets. And I'll tell you, I couldn't find these data sheets on my own on the internet.
So, if he hadn't supplied them, there was no way I was probably going to figure this out. So, it was very nice of the seller to do that.
Um there are probably a lot of you that know some history about um about magnetic core memory. And so, you might know some more about me. And we're going to have a question and try to answer time at the end of this. And if if you know some things that you want to share, I would love to hear. But, uh Jay Forrester is certainly a name that most people recognize when it comes to core memory. And Jay Forrester was working for MIT research, and he created one of the first operational memory uh architectures that were uh layers of cores upon layers. And um you can see the patent drawing on the right. Uh was uh working on something that we're going to we're going to talk about this hysteresis loop in a second.
but in his patent information, he has some technical details about how it works. And so, he's really considered a pioneer. There were people prior to him that were already working at There was a lot of people working in parallel on this, but he was able to get a patent on that. Also, An Wang, anybody heard of this guy, right? Wang Labs. So, An Wang, I don't really understand the the patent artwork. I don't I I looked at it. I can see the hysteresis loop in the upper left-hand corner.
But, there must have been smart people at IBM that liked what he had done cuz they bought it from him in 1955 for a half a million dollars. And that's the magnetic core memory that we hear about with IBM, right? They bought that from him. So, and he used that money to go on and start Wang Labs. So, just a really interesting history on all of that.
This is a picture of the Whirlwind computer. This is Jay Forrester working at MIT with one of the first large-scale tube-type computers. And I've got what I think is the best slide of the whole presentation next. It's a It's a picture of the core memory module from a few different angles from 1955, maybe a little bit later than maybe this picture.
And this was the implementation of stacked core modules. And so, there it is. I mean, that's just the coolest thing in the world for the 1950s. If you were able to see this in person, I think you probably thought you were seeing something from outer space. You can see the tubes. And the important part is right kind of in the middle. See if I can use my my mouse to show you guys.
Yeah, right here in the middle is these stacks of cores. And they they use some some coordinates to call out individual cores. And if you're not familiar with the whole core thing is, we're going to we're going to talk about that. But, isn't that great? I just think that that's neat. And this is, you know, at I think MIT has this today as part of their their museum of stuff.
Okay.
Um core memory hung around longer than it should have. I'll really say that. How many of you are familiar with Ken Shirriff? Um maybe curious Mark's channel that works with master Ken, he calls him. He's a former Google guy. And Ken, if you ever get a chance to go out to his blog, he's just so good at documenting things. But Ken documents a lot about uh core memory modules. And he explains in there that they were continuing to be used in IBM computers with the FAA long after their normal intended life, I think. And you can kind of understand that the FAA is managing flights, information about flights all across the US. Making changes, I'm sure is hard because you kind of have to make it while it's being used and not, you know, not have any any risk associated with it. So, they continue to use core memory for a lot of years in their IBM systems that managed flights and then later on the displays of those things. So, very interesting. All right, so let's talk about the technology. What is it, this core memory mark that you speak of? So, here is a little donut, kind of a a a graphical representation of a core. A core is is a small ring of ferrite material that can be magnetized. And they started out being a little bigger, um but they got really small. There's a guy named Mark that is in the the I mean, there's there's probably a lot of these in the main area where you can walk around with the tables and people have stuff on display, the exhibitors.
But there's a guy with a PDP computer that's got a memory core plane that's got thousands of these cores in a space about this big. And they're so small that just with the naked eye you can't you can't really see them. So, uh these cores are an important part of this. Um these early guys that were working on this figured out that if you put a coil around this core and you applied some electricity to it, that current would magnetize that core in either a clockwise or a counter-clockwise direction.
So, if you magnetize that small core in a clockwise direction, let's just say clockwise, you might want to call that a one. You could represent it as a binary one. And if you change the polarity of that and you magnetize the core in the counter-clockwise direction or whatever the opposite was, you could call that a zero.
So, suddenly we have a really nice way to represent binary data with a single magnetic core. The neat thing about it is you can take the current or electricity away from that core and it'll continue to be magnetized in that same state.
So, and it doesn't matter. You can put it in a vacuum, you can expose it to radiation, you can freeze it, you can do whatever you want to it and it's not going to forget, if that's the right word since we're talking about memory, it's not going to change the direction of that polarity on that core. So, this is this gets everybody thinking like, "Wow, we have really memory, right? We can save a piece of information and it'll be resilient." And so, the next question really is once we take that core and we put it into that polarity, how do we read it? That becomes the next kind of challenge that needs to be overcome.
And [snorts] so, let's just call that the drive circuit that can put that core into a polarity direction, clockwise or counter-clockwise, and then we'll talk about a sense line. The sense line is a a second winding or a second pair of wires that you can measure off of. And if you measure that wire and nothing changes in that core, let's say it's going clockwise, and I apply a current to continue making it go clockwise, that sense wire will not see that you applied that force to it. So, you try to keep it going in the same direction and it doesn't detect it. But interestingly enough, if you ask that current or that magnetic field that's being applied to that core to reverse the direction of the core, you excite that core and because of Faraday's laws, something somebody knows it, uh that that sense winding creates a small burst of current that can be measured.
And so, changing the direction is how you find out what it was in. Does anybody see the problem with this?
There's a little problem, and that is that as soon as you do that, you you destroy whatever was there. And so, we're going to talk about that in a second. Um how many of you have seen this hysteresis loop diagram? Okay, this is a kind of a I don't know if I want to call it famous, but you can't study ferrite core memory without uh coming across this this graph. And at first, I think it's a little bit confusing, but we're going to try our hardest to work through it. And like I said, there I'm sure there's a number of you that are more qualified to explain this graph than me, so just forget everything I tell you after this, okay?
So, but if you want to think of the x-axis is like that coil, that's the magnetic field that we're applying to the core is in an x-axis. And if you want to think of the the the right-hand side of that x-axis x-axis is one polarity direction and the the other hand the other side the other polarity direction, we can change. We can apply no magnetic field to that core, or we can apply uh one in in one direction or in the other, okay?
The the y-axis, the vertical one, is what the core is experiencing, where it's at. When you take away all of your influence on it and you just leave it there, it's going to be sitting in a state. If it's uh uh uh going up from the y up on the y-axis, we could call that a one. And you can see in this diagram, they call it that. They call it a one.
And we'll we'll work our way through this a little bit. If it was in a in a polarity state that's the opposite, we could call it a zero. All right? So, let's imagine we have a core and we begin to apply along this line more and more current and create more and more of a field that we're applying to that core and something's going to happen. And for for you core freaks, you already know this word. They call it flipping it, right? And the reason they call that is because it's going to flip from being a zero state and all of a sudden there's enough force being applied to it through this external field that's going to flip and it's going to go up here. When we take away that current or take away that field, it's going to return and it's going to sit there.
We leave that core alone and it's sitting there at a one.
If we apply the opposite, we get to a certain point and all of a sudden it flips and it goes the other way. We take away any any uh field that we're applying to that core and it returns down to this state here of being what we could call a zero.
That's amazing, right? And they they did studies and they figured this out. Okay, there's one part of this diagram that's a super important part and it's this the the force divided by two. That's the halfway mark.
And if you look at this this diagram, you'll notice something interesting. If you apply half of the magnetic field to flip this core.
If you apply half of it, you can't get it there.
You see that? You get over here and it's just not enough to begin to move it around and move it up to being switched. Is anybody bored yet?
I would think you're all bored by this.
I would be bored, so uh so so this halfway mark is important and the reason it's important is because they began to use coordinates with groups of cores.
And so if you want to think of instead of one coil on a core, imagine two coils on a core.
If any one of them tries to excite or uh apply a force to that that core, it's not enough to get it over or flip it.
But, when two of them are there, it'll flip. Okay, so now if we take a whole group of them and we put them on what's called a core plane, we suddenly can do XY coordinates and we can reference every single core in there, right? I can apply a field a a current to one direction and I can apply it that's half and I can apply it to another direction and where they intersect, the little core that that goes through, that little core is going to have enough current going through those wires to be able to flip it from one state to the other. This is huge, right? Because this makes the solution scalable.
And that's not what we're here today cuz I only have one core, so boring, right? But, this is what these guys were doing in the '40s and the '50s to figure out with their patents, to figure out how to scale this so that it could be used for computing. Right?
There's an interesting little thing, this sense winding. You notice the sense winding goes through all of the cores, right? One sense winding for all of the cores in the core plane. And the reason for that is because if you only coordinate on one core, doesn't matter. You can run the sense wire through all of them and you're going to find out whether you flipped that core to a different state than it was in, right? And that sense wire will tell you, like we talked about earlier with that little blip on the on the oscilloscope trace, right? So, it made again the scalability of the solution much better. Okay, well, it gets more complicated because you can start to stack these planes more and more and more.
There's this thing called an inhibit line and if you imagine, we're just going to reach a little further into this, if you can imagine an XY coordinate is exciting a core trying to uh change its polarity, uh if we run a wire through it, that's a negative opposite, then we can kind of cancel it out. Well, using that, I can say I want to cancel out all the planes except for the one I'm working on. So, again, very clever techniques to be able to reduce the amount of kind of, if you want to think of it, reduce the amount of wires necessary to run large groups of memory.
So, okay, this is when you might want to decide just to leave cuz it's getting really boring. So, thanks for staying if you stay. All right. So, let's talk a little bit about these modules that I bought. They're not very interesting because they're a single bit. So, that's why the title of this was one bite of Soviet core memory. There they are. Kind of see them.
They were manufactured in the western edge of Ukraine, which in the 1970s was part of the Soviet Union, right? And the the name of the company that manufactured these is a conjunction of the city and then what they did. They made devices. So, it'd be like Milwaukee Tool or maybe there's another example. I thought of it earlier, but you know, the >> Dallas Semiconductor.
>> Dallas Semiconductor. Great one. That's right. Didn't think of that. That's a really good one. Very relevant.
Uh, yeah, Texas Instruments, right? So, you're you're getting it, right? They did the same thing, right? And so, the name of this manufacturer is the city and the fact that they make these devices.
Um, when was it made? Well, there's clues in the actual documentation.
I Yulia Maximova helped me understand that this basically said this was written in 1975, okay? And then there's a date code.
And for those of you that are date code enthusiasts, I think this is month and year, not week and year, because I can't find any of my core modules that have anything higher than a 12 on them. So, I think that's the month and the year. So, I have core modules from '78, some earlier, but um, that gives us a sense of when it is. And by the way, this is really late, I think. I mean, I thought when I found that out, I was like, "What are you doing building one-bit core memory modules in the mid-'70s?" Like, that seems like something that should have been happening 20 years earlier. But, uh I think part of it was because they were trying to create something that was commercial grade, not military grade, for maybe people that were producing products. Uh we'll look at it. They might have even been using it for some logic things, not just memory. So, I think it was kind of a universal solution for people to be able to implement in a calculator or a phone or something like that.
This has a transistor on it. Did anybody notice this? Kind of avoided talking about it, but we've been looking at this. Is a transistor on it. And uh actually, you can find the data sheet for that. So, I found the data sheet for the transistor. I'd already had my coffee with Yulia, so I was kind of on my own with this one. But, uh you can kind of figure out some things about it.
Um and we're going to we're going to put one of those transistors to work today.
So, that's fun. Inside of the documentation, there's really kind of I felt like it was the most important part of the data sheet, and that is a breakdown of what's the pins and what do they do on this core module. And you can see, surprisingly, instead of just XY coordinates and an an inhibit, so that'd be like three wires going through a core like we talked about earlier, this one has a ton. I don't I don't know what they're doing. There's 1 2 3 4 5 6 7.
These two down here are used for reading it and affirming when that flip takes place, but otherwise, they've got a number of them that that we're we could use. So, very interesting. That's again why I think I I I get the impression that's kind of universal designed to be a universal solution. This transistor over here is connected through the base of a core that's in the opposite direction. It's a PNP transistor, and this is the key to kind of unlocking how to to sense when this core flips. And we're going to we're going to be using that in a little while here.
And then these are the cores that are part of that activity of sensing it and then affirming that flip by cast making sure that it happens for uh the core in a strong current through it. And I didn't I wasn't smart enough to figure that out. I had to do some research to figure out why they would run through core number two there, what that's for.
But my understanding is as soon as it senses a flip on one of the other cores, it uses that one to to guarantee that it happens.
That's that hysteresis loop, you know?
You got over past the course of point and then it it makes sure that it happens.
So, I don't know. Do you guys have paper notebooks in your home lab or electronics or whatever? So, I'm one of those guys. I don't know why the graph paper makes me feel like I'm more technical than I probably am, so I always use it.
Um and you can see I just started like working down. I didn't really know what I was doing, you know, I was just trying testing things, figuring things out. But then this is when it kind of came together. This is when I started using that transistor to sense uh when that core had flipped. And I was like, "Ah, I got something here that I can work with." And so, um we need to talk about this problem of destructive reads. And some of you picked up on it earlier, but we keep talking about if you're going to figure out what that core's state is, what the polarity is on that core, you have to reverse it, right? As soon as you reverse it, you lose it. And so, for me, when I began to think about how am I going to do repair the problem of a destructive read on this little core, um I thought, "Okay, this is where I can't just be like changing polarity on cores and you know, it needs to be something a little more sophisticated." So, I put together a little bit of a plan on how I could interact with this core, that's this part right here, using some other things. And so, we'll just walk through that really quickly. I picked this core, core number I think it's five uh on it is the one for me to try to run a current through. And how many of you are familiar with the L293D?
Anybody?
Anybody familiar with that? Oh, okay. I thought So, that chip is just a great chip. Uh it's a higher current driver.
Um so, the part that I put yellow box around, you can give it some logic level signals on 1A and 2A, and it'll kind of gate those into some higher current or higher voltage signals out the other side. But, the real neat thing about it is that uh it has this shared enable pin. So, you might be figuring it out, we can say I want Y1 over here to be uh positive, and I want Y2 to be negative, and then I can enable and kind of like shoot that at the core, right? Or I can change it. I want this one to be negative or ground, and I want this one to be positive, and I can shoot it. So, I got a way now to be able to take a core and easily change the polarity of it using this chip. And this chip is normally used for motors. So, it kind of gives you a sense. Magnetic coils, I mean, it's very similar, right? But, it seemed like a good fit for driving this core. So, I connected one of those L293D chips to this core and began to see what I could do, and it was all geared up for being connected to a microcontroller. How many of you guys have experienced the whole coding with Arduinos or microcontrollers ESP32? A lot of you. So, you know right where I went. I thought, "Why am I going to be trying to do this myself when I can write some code to do it for me, right? That would make kind of make sense. So, I went ahead and uh used, you know, like many of you, I have these cabinets with the little drawers, and I pulled out a drawer, and there's a Arduino Nano that's the first edition. So, the astute USB members of the crowd noticed that it's a USB mini, not even a micro. So, that gives you a sense of how old this was. So, it's not a vintage Arduino conference, but I was right there. So, uh so, I went ahead and hooked it up and then I I was able to to use the IO pins on the Arduino to read that sense line.
So, now it's starting to come together for me to be able to do do some things.
So, this is what's here today in front of us. You can see that on the left Well, let's start on the right side. The right side, that's the core sitting out on a little board. We'll talk about that in a second. It's connected to that chip that's that driver chip in the middle.
And then the the microcontroller is running the driver chip. And then I'm connected to it using a terminal connection with it. So, um I can send some serial data to it.
We'll We'll try that out. So, wow, what's that, Mark? I didn't know you knew how to make printed circuit boards.
I really don't, but I built a little board to be able to hold this because otherwise it it's just a little cumbersome because it does the the the pins don't fit a breadboard. So, then you end up with a bunch of plugs and it's better just to get it into a a printed circuit board. So, I I put it in a printed circuit board uh and then it made it much easier to work with it. Um and then I I I got that ready for this actually. So, I went ahead VCF Southwest. And I I have a bunch of them here if you guys want to try things out.
We'll talk about that in a second.
And then I wrote some code. I mean, this this is not a Arduino coding conference, so we won't go into it a lot, but the the the code that's on the left I mean, it's kind of it's kind of neat. You can see I'm setting Remember that that chip that we can set the drivers on? I'm setting one of those high and one of those low, and then I'm firing at it.
And I'm firing as fast as Arduino will let me or this chip will let me, right?
I mean, I don't even have a delay between turning that enable pin on and off. I do it just do it as quick as possible.
And then I I clear out those. And then the the reading it, you know, I I do something uh kind of similar. I set the values to clear it. I always want to clear it, right? And then I read, you know, without getting into the details, I read what comes off of that transistor, right? I read it and and then I go ahead and I have to write using that set bit, one back on this side, I have to write it back to a one if if it switched, right? If it switched, I just I blew it away. So, I have to go back and reset it as a one. I mean, by a miracle of God, it works. So, um oh yeah, I showed you those things.
All right. So, yeah, should we do this?
Should we see it happen? Okay. All right. All right. So, we'll see I've been kind of joking with Jay up there that the gremlins are going to the demo gremlins will probably get me here, but um okay. So, let's let's clear that out.
Oops.
Here we go. Clear it out. All right. You guys can see this. So, I've got this serial monitor hooked up to it and I've I've written the code so I can send some signals to the Arduino. So, I can say I want to write a one to it. So, I just set the core in it and the the the the parts that you're watching here are this is going to get bad.
Is the the vertical spike is triggering on the enable. So, that was me firing whatever polarity I set. That's where I fired it. And then the sense line is on the bottom and you can see there's just a little bit of kind of feedback or something that comes from that, but it it's not what you're going to see in a second, okay? We're going to clear it.
But we just set it and then the the trace on the bottom is the sense line, okay? Let's let's do it again.
And we'll go ahead and write a zero. So, this is this is where we're going to clear it and we should see something happen with that. Okay. Wow. So, it just happened like the physics happened right here. Uh we we we went and we switched it. Again, we're looking at the enable pin, so it fired. Boom. And then we saw the core responded to that and the sense wire on it detected that change in polarity on the core, drove that transistor, and we were able to pick up that on the the trace. You notice how it's got that decaying slope to it? That's because the the response is so narrow that I I didn't use uh uh anything to trigger on the Arduino. I just I'm sensing it. So, I just needed to stick around long enough for me to ask the question, did the did that transistor detect or sense anything changing? So, that I added a a capacitor just to give me a little more time. So, that's why it would otherwise it would look like a pretty sharp little line.
So, okay. All right, that's cool.
Uh let's see. Um let's let's do this.
Let's uh it's a zero right now. So, let's read it. I I use the command R to read. It's very clever. Uh So, let me read it and you can see we did a read and when we did a read it was set to zero. So, the polarity was already a zero. And when we do a read, we clear it. Remember that? So, we just set it to zero again and it was unspectacular. So, we know when we we just read it, I can confidently say that was a zero. And you can see it printed out low zero. It said, "Yep, nothing happened when you cleared it when you read it. So, it must have been a zero."
Let's write a one to it. We set it. Now we'll do a one.
This is This is where we'll we'll see if we can handle the destructive read.
Wow, that's awesome. So, we read it.
When we read it, it it responded. That's that that sense line on the bottom. And then we had to take on the responsibility to rewrite that. So, that's what the second enable firing is is we went back and we we read it again and we'll see if it actually worked. So, I'm sorry, I read it. I wrote it again.
Uh read is the one, right? And then we'll read it again. Okay, so our destructive read worked. Well, I was able to reset it. I can read it again, again, again, again, right? I can set it to zero and read it again, again, again, again. So, so it's it's amazing that the the core is so good at handling that destruction and rewriting very quickly. I mean, that's a short uh amount of time. The the vertical demarcations on my scope are 8 microseconds. So, this is happening as quickly as the Arduino can can do it.
I'm sure that's slow compared to actual implementations. So, Okay. Great. The demo's over.
Uh let me let me go back to this.
Yes.
These These are the slides in case the demo didn't work. So, there you are. You just saw all the same stuff. Okay. All right, go Yeah, there was a quick question.
>> What what voltages or currents are you using?
>> Yeah, it's a great question. So, the data sheet, according to Yulia Maximova, is 12 V. Um I'm running it on 10 V right here. So, I don't know if you can see that, but I'm I'm running at 10 V. And I mean, I wish we had time for all this, but it's fun to run the voltage down. It starts to not get So, on that hysteresis loop, if I get down to around uh 3 or 4 V, it gets sketchy, and I'm not applying enough current to that that coil to get it to flip that core, and so it starts to break down around 3 or 4 V. So, kind of fun.
>> And the currents?
>> Uh I don't know. I I should know that because I'm standing up here, but I I don't know the answer to that. Um It's in the data sheet, so the data sheet tells exactly what the currents are. Yeah.
Yeah.
>> The on the IBM 1620, it had 20K of memory in about a 1-ft cube.
>> Amazing.
>> And that was part of the monthly diagnostic that the technician would run would be to run a read-write program and turn the voltage down until it failed.
>> Interesting.
>> And that gave them early warning if something was wearing out.
>> Okay.
>> If it would fail at a higher >> If you guys didn't hear what Walter said, one of the diagnostic test for IBM core memory was to try to set and a read every one of those cores in a core plane and then run the voltage down until you begin to see it deteriorating in terms of its behavior as an early warning to be able to find a problem. So, okay, one more and then we'll keep going.
>> Has anybody studied what the projected lifetime of core memory is?
>> I don't know. I think it's forever.
I I don't I mean I'm not trying to be funny. Like I don't I think once you set that core unless another magnetic field is applied to it that would change its polarity, I think it'll just sit there in that state indefinitely. Walter?
>> Only failure I'm aware of was where a core was cracked.
>> Sure. Right. Right.
>> way they found it was there was a program that ran fine and a programmer said, "Well, I'm going to optimize it."
And then it moved a constant to a different location and the program failed because it was counting on that bits being a zero because the core was cracked.
>> Yeah, they got lucky that the constant matched the broken core. Interesting.
All right. I Well, just a few more minutes. How are we doing time-wise? I think we're doing okay. Uh I got dumb and then I started thinking, "Well, if I can do this to one bit, why can't I do it to eight?" And then you'll notice there's a real obvious problem is I have more integrated circuit chip stuff than I have core memories. So, this is not how you scale this architecture.
It It just isn't.
Uh and so I think looking back, I think it's just funny that I even did this.
So, you can see it. I have it right here and then um you know, printed circuit boards and then there's not, right?
There's just a bunch of wires. So, but it works. So, um I was going to put some performance things in here. Just amazing performance how fast those are. I I I ran a test writing hex codes from 0 to 255 and back down or whatever it was as fast as I could, never getting a single error in terms of storing it and and and retrieving the data. So, pretty pretty neat. Okay. All right. So, here's the uh This is a self-help session. I don't know if you knew this. So, here's the motivational part of the the presentation.
Uh one of the things that I think a lot of us think is that if I'm going to do vintage computing, there's barriers to entry. If you go out on eBay and you do what I do and you're just like, "Wow, that is a vintage computer that costs $800 or whatever it is." And I'm like, "I don't want I don't have it in my budget to do that."
And so, I just wanted to show you guys I just did this last week, but I just went out and grabbed some pictures of computer components that are vintage that um are under $20 that you can buy and these the three on the right are all from uh a Russian dealer.
Uh and and you can begin to just reverse engineer it. You can hook up a uh a harness to it like I did and begin to find out how it works and document it and then, you know, find yourself at the VCF Southwest conference presenting. So, don't don't be afraid to dip your toes, I think, into this space if you're if you're like this kind of thing and do it at a small level that doesn't cost a lot, but can create just tons of fun.
That's what I experienced uh in going through this. Here's a core memory module. Now I'm hooked. So, here's one.
This one does have conformal coating.
So, I think this was probably maybe something that was at least aviation or military grade. I have two of these that I bought. I'm looking forward to figuring out how they work. Um so, stay tuned. We'll see what what happens with that. Um if anybody wants to to weigh in on how the how you think these work, be sure to tell me. I would love to share the information with you. Um I got about excited about the chance to be able to spend time with you here today. So, I went ahead and put together little kits.
Uh, inside of every kit is uh, an extra core module that I had, print circuit board, and a header. And uh, there's a QR code on the front of it that has uh, a link to a Google Drive with all of the original Russian. I didn't give you anything in English. So, anyway that takes one of these, you are >> [laughter] >> you're on your own. I just, you know, you got to you got to do it. So, so, if you're interested in that, come up here afterwards. Just have one. Uh, and maybe nobody [clears throat] wants any, but if you want one, take one, enjoy messing with it, and do some of the same things uh, that I was able to do with it. So, again, my name's Mark Frederick. This is my lab at home, and it's great to spend time with you guys here today. So, all right.
ALL RIGHT.
SO, WE HAVE ABOUT 20 MINUTES, AND WE'RE SUPPOSED TO HAVE 15 minutes for question and answers, but we have 20, and then I probably can't answer any of them. So, we'll probably we'll be done pretty quickly. Go ahead.
>> Uh, how much easier is it to translate Russian to English with Google and stuff these days than when you first started?
>> So, that's a great question. If I had had uh, Google AI, I probably would not have had coffee with Yulia Maximova, right? Because or or Gemini or um, uh, Grok, they anything that I've loaded now on it just does a fantastic job translating it. Uh, that's that's been a real help. So, um, by the way, I reached out to Yulia before the presentation. I was like, "How do you feel about me using your full name in my presentation?" And she's very polite, and she responded, she said, "I I would be uh, it would be a privilege." she said. So, anyway, she's very nice. So, what are the questions?
Anything?
Yeah.
>> Uh, what do you think it would take to fit, say, an Atari game on >> Can't believe that.
Right. I mean, that's that's the whole thing about Moore's law or whatever it is that makes things smaller and smaller and smaller. I mean, there's a there's a point at which it's just not very feasible. So, yeah. That's a great question. I'm sure somebody's implemented something on core memory.
Especially those bigger planes. Yeah, go ahead, Ben.
>> wanted to point out this project called Core 64. That's an open-source kit where you actually wind your own 8 by 8 core matrix and it it has a magnetic pin that you can use to adjust the values on that.
>> That's great.
>> So, look at a Core [clears throat] 64 you might look at >> All right. So, Core 64 is a project.
It's a DIY kit and uh Is it Ben?
>> Yeah.
>> Ben Ben was just saying that uh you can set the core values with a magnet and uh very neat. Okay. It's worth looking up.
Go ahead.
>> Probably lack of knowledge that you indicated that it was really quick read and write. Uh historically I've always heard that core memory is really slow. Is it just the environment you had set up or >> Uh you you know, that's that's a a few microseconds to to do that. Um when you begin to scale that, that may not be great performance.
Um uh doing thousands of those back to back. Uh so, you might find that solid-state memory is going to outperform that by a long shot. But, um when you only have one, it seems fast, I guess. So.
I mean, it seemed fast to me. So, go ahead.
>> So, in your interest in this, do you follow anything about the I guess they used core memory for the Apollo space computers and stuff?
>> Yeah. So, have all of you had a chance to watch Curious Mark and the Apollo guidance computer restoration? I don't know if that's what you're talking about as an example, but >> question is is is there a way to kind of hardwire those things or do you have to programming and then >> Yeah.
>> And is there ROM and RAM version of that?
>> The there is. It's called rope memory.
Are any of you familiar with rope memory? Okay. So, I mean, I wasn't prepared to talk about that, but that's where you take a wire and you wind it through some cores and not through others. The ones you go through might mean it's a one, others that you go through is a zero. And then those have coordinates on them when they're excited or something, if that wire goes through it, you know it was a one, if it doesn't go through it, you don't sense anything and it's a zero. And I I don't know that I got that exactly right, so somebody can fact-check me on how that works, but and those are interesting because somebody online found a uh like a a phone that was able to store memories where the the person that bought the phone actually ran the wires through things to set the the the memory in the phone back at you know, it's old, but very very interesting. So, yes, there is a a ROM kind of version of this and both were used, my understanding, in the Apollo guidance computer for NASA during the Apollo program, so yeah.
Anyway, very interesting.
Oh.
>> [snorts] >> Yeah, I don't know a ton about the AGC, but I do know that if it encountered a fault, it would reboot that thing and reset everything and go back to work.
So, that tells me that there was had to be a ROM part to that. And there is if you Again, go out Curious Marc has a whole long series where he teams up with Ken Sheriff and Mike and others to restore an Apollo guidance computer and then actually run simulated uh lunar landings on the original hardware.
And in that, they go deep on core memory and how that works. So, that's a great question. Well, NASA had, right? So, it's good. What else?
>> Where are you going from here?
>> Um well, home.
Um Unless you want to have lunch, I mean, or something, but uh that's a good question. I mean, I'd like to work on these. Um I I actually brought a bunch of vintage computing stuff, and I put it in the consignment store and marked it down cheap, and I think everything is going to go. So, um I'm trying to get rid of some some things, but I've enjoyed this. I like the small uh something that I love to do is people discard things that have printed circuit boards on them in them with SMT components, and then I go I put it under my microscope, and I look up the data sheet for it, I pull it off, and then I try to do the same thing, build a test harness, and run it just because I don't have friends. So, that's that's basically what I do. I took one uh I squared C memory module off of some board. This is so dumb. And uh my wife and I had a trip planned to Washington, D.C., so I loaded the Declaration of Independence onto the chip, and then put it on a card size in my wallet, and then I had it in my pocket when I looked at it, and I I thought that was neat. Now, I I I didn't tell anybody that until now, and I feel kind of embarrassed now that I said it.
So, so, that's that's the kind of stuff I do uh in the absence of friends. So, uh No. No. No, it was a Nothing happened. So, okay. What other questions? Yeah, go ahead.
>> Um I think you said there were like six windings?
>> Yeah, there's six six I So, you know, that's a good question.
Here's what I think. I'm making this up, so I'm I don't know where my ski tips on this, but I'm wondering if multiple windings on that could, you know, certainly there's the three, right? An X and a Y and a sense. You could you can you can imagine that, but I think that you might be able to do some kind of gate type logic with it.
So, you could do an AND gate, right? You could see if two uh um coils are energized enough to flip the core, and then read it. You would you would know that. That seems very inefficient. You could do an OR type of operation with it. So, there might have been some logic uh there might have been some logic work that was done with those, not just memory. But, I I'm totally making that up because the data sheet doesn't reference that. So, all right, we've got about 5 minutes left. Any uh 15.
No.
We have five. Trust me.
So, what what else?
Okay. All right. Oh, yeah. Yeah. Wait, one more question.
That's good. Two applauses. I like that.
Go ahead.
So, in this in in this bit of chaos here, wherever this is, I did it one at a time. One of those chips is like a you take three bits and then it it's a sequencer.
So, it's like sticks and stones. I So, I could like reference the first bit and then write it, second bit write it or read it, third bit write it or read it.
So, not again, not scalable. That's why I said poor decisions. It was just not a good way to do it. I think there's much better ways by using coordinates and things like that where you could you could write many of them at once. So, yeah.
Good question. Not a good answer. So, was it one of the questions somebody asked something?
>> I was just curious if you wanted me to talk about your lab. It's very impressive.
>> Yeah.
>> Uh thanks. So, my day job is I'm uh CTO of a technology company, co-founder actually of it 10 years ago. We just celebrated our 10th anniversary. And uh we built some technology that's safety technology that's wearable and it um samples data about what workers experience, sends that to the cloud the the cloud and we do analytics on it.
And so, it's used in industrial settings to understand how to take good care of your workforce. And um but, I've been a lifelong electronics person. My history is computer science out of college, then just did a lot of different programming and then into some leadership jobs and then like I said, you know, when there's nothing else is happening, I go to my lab and that's where I spend a ton of time. I love it in there and so I'm I'm always building or working on something down there. So how many of you have a home lab or a home electronics shop? See See you guys, it's a shared passion, isn't it? And you get to a point where you're like, am I working on something or am I just working on my stuff in my, you know, and I spend a lot of time just enjoying working on my stuff that doesn't, you know, it's just in there. So thanks for asking about it. It's a fun space.
So.
Okay, anything else?
We have 1 minute left.
>> [laughter] >> Okay, this has been really fun to hang out with you guys. I hope that I get a chance to uh meet all of you at some point during the conference and thanks for being willing to show up to the first session of the day. By the way, Alex is going to be speaking later today how he implemented uh Apple Lisa hardware architecture on an FPGA. If you want to go to a real session, that's that's going to be one of them, okay? So don't miss it. So thanks Jay for everything you're doing to run the the event here and uh take care everybody. Have a great rest of your your stay.
Related Videos
Agentforce NOW AMA: Build with React and Salesforce Multi-Framework
SalesforceDevs
490 views•2026-05-28
How agent o11y differs from traditional o11y — Phil Hetzel, Braintrust
aiDotEngineer
450 views•2026-05-28
WEB TECHNOLOGIES UNIT-2 | Degree 4th sem BCOM Computers web technologies unit-2 full explanation💯✅
LearnwithSahera
1K views•2026-05-29
More tests are always better? How to use AI to identify tests that bring little value
Alliance4Qualification
335 views•2026-05-29
Search Algorithms Explained in 60 Seconds! 🤖💨
samarthtuliofficial
218 views•2026-06-01
People of Game of Thrones using JavaScript DOM
AltCampus
296 views•2026-05-30
Introduction to Problem Solving Part - 1 | Lecture 1 | Intermediate DSA
ascensionix
107 views•2026-05-29
🚀 BCS613C Compiler Design | Module 1 to 5 Schema Evaluation 🔥 | VTU 6th Sem 💯 #VTU #bcs613c #exam
Pranavaa-y4y
104 views•2026-06-02











