Acoustic Delay Line Memory

Back in the olden days  when computers were both analog and digital, making RAM was actually very hard. Without transistors, the only purely electronic means of building a memory system was vacuum tubes; It could have been done, but for any appreciable amount of RAM means an insane amount of tubes, power, and high failure rates.

One of the solutions for early RAM was something called a delay line. This device used ultrasonic transducers to send a pulse through a medium (usually mercury filled tubes heated to 40°C) and reads it out at the other end. The time between the pulse being sent and received is just enough to serve as a very large, small capacity RAM.

Heated tubes filled with hundreds of pounds of mercury isn’t something you’d want sitting around for a simple electronics project. You can, however, build one out of a Radio Shack Electronics Learning Lab, a speaker, and a microphone.

[Joe] designed his delay line using an op-amp to amplify the train of acoustic pulses traveling through the air. A compactor picks up these pulses and sends them into a flip-flop. A decade counter and oscillator provide the timing of the pulses and a way to put each bit in the delay line. When a button on the electronics lab is pressed, a ‘tick’ is sent into the speaker where it travels across [Joe]’s basement, into the microphone, and back into the circuit.

The entire setup is able to store ten bits of information in the air, with the data conveniently visualized on an oscilloscope. It’s not a practical way to store data in any way, shape, or form, but it is an interesting peek into the world before digital everything.

Video below.

48 thoughts on “Acoustic Delay Line Memory

  1. If you can find an old 1980’s VHS VCR there are quartz pizo delay lines in some of the video PCB’S it is a long rectangular device usually has a black base with a blue top plastic case. I found them mostly in toshiba brands.
    Going back to my old VCR repair days.

    1. I’m not sure, but I think that the delay line is a PAL thing and will only appear in PAL VCRs. And in all PAL TVs, of course. It has a 64us delay time and is used to reduce the effect of chroma phase errors. In a 50Hz, 625-line system, each scan-line is 64us. Can anyone confirm whether or not NTSC VCRs have a delay line?

          1. I think it’s something to do with comparing the phase of the chroma signal with the reference pulse at the start of each line. Or some equally complicated yet ingenious 1960s hack.

      1. Nobody used the moon as a delay for ram. What those are for is to measure the earth to moon distance very accurately. they still use those to this day as the moon to earth distance is measured every full rotation of the moon although the actual government project was axed in a few years ago.

        http://www.lpi.usra.edu/lunar/missions/apollo/apollo_11/experiments/lrr/
        http://www.theguardian.com/technology/2009/jun/21/mcdonald-observatory-space-laser-funding

        But the observatory in Hawaii still uses them and does range checks monthly as the data is useful. In fact if you had a low power laser only in the 40 watt range or so and a good enough telescope with detector, you could use the same mirrors to do the measurement yourself.

        1. That may not be the purpose to which the people who thought of leaving mirrors on the moon would originally have envisaged, but it would work. You’d probably be able to get a lot of memory with them too, although error correction would be problematic.

        2. “Nobody has [yet] used the moon as a delay for RAM”!

          If I could borrow one of those laser / telescope thingies I think I’d like to give it a try. A bit of error correction and I bet you’d have at least a few K stored in the space between here and the Moon. Maybe a JPG of Neil Armstrong or something.

          Woulda been a nice hack when RAM was expensive. I hope somebody tries it!

        3. >> … if you had a low power laser only in the 40 watt range or
          >> so and a good enough telescope with detector, you could
          >> use the same mirrors to do the measurement yourself.

          Really?? I actually always wondered about that. It may be pretty hard to aim at that mirror that is so far away. In addition, the laser beam itself will probaly no longer be a very concentrated beam when it gets to the moon (more like a huge laser blob) so I guess that would impact your reading of the signal on the way back (at least power wise). Any ways.. I always wondered about this. Do you know of any one who has ever tried it?

    1. Yeah. Although delay lines are used for similar purposes to RAM today – short term storage for working memory – It’s definitely not Random Access Memory.

      Delay lines are a form of Sequential Access Memory; you have to wait for the bit you want to reenter the circuit before you can read/change it. Random Access Memory allows you to read/write bits in a random (ie. arbitrary) order. In that sense, many types of ROM chips and some kinds of flash memory can be considered Random Access (for reading at least).

        1. And if you add wheels to your grandmother, etc. Sure, that’s how it’d work, but at best it’s an arbitrated sequential-access system. The bits are accessed in order, and you have to wait for bits 3, 4, and 5 before you get bit 6. If you can call that random access it takes away the whole meaning of the distinction. At best your argument is a semantic dodge. It’s definitely sequential.

          1. I see your point in this, but that doesn’t mean its not ram — this is exactly how dram works except with a leaky capacitor that is periodically recharged instead of an audio signal that is periodically retransmitted.

        2. The “random” in random access memory is SPECIFICALLY to distinguish it from earlier memory that had to be read out sequentially. Obviously it’s memory, but the difference is not insignificant. Not only is SAM inherently inefficient when accessing data out of order, read/write times are also inconsistent. This meant having to do stuff like laying out your memory map in such a way that the program was more likely to “hit” the correct bytes being read out when needed, instead of having to wait for them to pass through. It was annoying and pretty dumb.

          Also, TM’s comparison to DRAM refresh is off the mark–memory refresh is asynchronous from memory access itself. While the refresh process can be sequential, that only matters to the memory controller. All reads or writes will still be random, and don;t have to care about the refresh.

  2. I once had an old a transmission-line memory made from a single-layer coil of piano wire suspended over a ground plane. It should have been good for a few bytes at least. It was the buffer memory for a drum-storage unit so to do bubble sort, which is the fastest sort on that kind of memory!, one need to store & swap one word at the time. This unit got lost somewhere in a removal.

  3. I am having a bit of a hard time understanding how this isn’t just sending wireless data using accoustic pulses. I understand that the pulses will be delayed in reception compared to their time of generation. But how is this really a novel concept? It would happen with any communication, even through wires. There will be a delay whenever there is resistance (as well as loss.)

    I would challenge the notion that this is *storing* anything. That would imply that the pulses are just sitting there waiting to be requested.

    What am I missing in the purpose of this experiment?

    1. The thing that makes this storage, rather than wireless transmission, is that the transmitter and receiver are the same device, and the signal is continuously recirculated through the “memory” (ie. air). As for novel, well, it isn’t. As the description says, this is one of the earliest machine memory techniques, used with mercury filled tubes instead of air.

    2. Data is being stored in the “process” rather than in “media”. Once it’s set up and running, you can fetch the last stored bits and if needed write a different set back. In this case the “wait” state between read request and data-ready would need to be in milliseconds instead of nano seconds though.

    3. Think of it as a “Conveyor belt sushi” (see wiki) or Conveyor belt for
      your luggage at an airport for data bits. The same data get “looped” and
      go round & round and you pick it up as you see it passes by.

      Same can be done on an audio tape etc. The slower a medium, the more you
      can store on it.

      i.e. they are sitting on a circular queue and “stored” temporary.

      They were done in an era before you have mass storage etc. Not
      everything you have now all come to an existence without them being
      slowly invented over time by hard working engineers.

      1. Ignoring the silver-backing (not a fan of that), you essentially mean a circular buffer like a shift register used asynchronously or even simple time domain multiplexing. If you know the order of the information, you can pick out the piece you want. So for example if you sent a stream of data, you could encode one byte on 1st, 3rd, 5th, etc… and another byte on 2nd, 4th, 6th, etc…

        Got it. I guess if I stuck to my definition strictly, I couldn’t call DRAM storage either since it needs to be constantly refreshed. Point taken.

          1. And that wooden jewelry box your mother gave you that you put in the closet will eventually break down into dust, too.

            A bit surprised you went with such a ridiculous comparison.

        1. This is what they had to use until better forms of RAM were invented. Somebody’s already mentioned drum memory, where you have a spinning cylinder with a few dozen read / write heads on it, acting as RAM. Before that you had the even madder capacitor type, a spinning drum with hundreds of capacitors, contacts sticking out brushed past a fixed set, that read and refreshed each capacitor as it was connected.

          There was also something a lot like a CRT with a built-in camera mechanism, constantly feeding back on itself.

          In the delay line case you’d feed in the bits, and run a counter at the same time, careful setup keeping them in sync. The counter loops at the same rate as it takes the bits to travel the line, usually filled with mercury cos of the slow speed of sound in it, and an ultrasonic transducer at each end, one speaker and one mic. As each bit pops out of the end, the mic picks it up and repeats it through the speaker back at the beginning again (through a circuit to amplify it). If it’s working right, the fifth bit will be there every time the counter reads 5, and the rest. That’s the only way you know which bit is which so it’s important they’re synced well.

          So when you want a bit, you just keep an eye on the counter and wait til it pops out from the mercury.

          It’s very Heath-Robinson / Rube Goldberg. But that’s all they had! So much amazing stuff was invented back then, because they didn’t have the technology to do it the simple way.

  4. I had a professor in college who designed a hardware encryption board that used one of these. It was an expansion board for PC’s of the time, and the client was a bank that needed to encrypt transactions.

    To prevent thieves from just taking the whole computer and removing the encryption keys later, the keys were stored in a coil of coax set up as a delay line. That way, if the machine ever lost power, the encryption keys would be lost immediately (they were worried that if they used plain RAM instead, the theives might restore power quickly enough to extract the keys).

    Ok, so the story’s apocryphal, but it’s still a neat idea.

    1. But the encryption key had to be stored somewhere in order to continuously loop it into the coils… unless it looped back only what was read. In which case, it had to be “generated” somehow, which is a point of attack. Also couldn’t you spoof it by inserting whatever key you wanted into the coil by using a more powerful transducer and fool into accepting your own key?

        1. Presumably, the key would be first loaded into the delay line from floppy disk. The disk would then be stored in a safe unitl needed. As with any security system, you can break it if you have enough time and the right tools. The point is to make it too infeasible/difficult/risky for potential attackers to break, rather than reach 100% security.

          1. Its a little bit of security by obscurity. You are hoping the thieves were expecting a computer with regular dram. So they would come prepared so in the process of stealing it, they’d maintain the ram’s power, or hope they could power it up quicker then the dram’s caps would lose the charge. Therefore, they wouldn’t recognize the importance of the cable, and the key would be lost.

            If however they did recognize it, or speculated at its function and if they were prepared enough (had a scope), you could have just made the job a lot easier for them.

  5. Presumably this could be multiplexed using different frequency pulses and some simple filtering gates do demux it for reads, the same way different wavelengths are used to get extra bandwidth in optical transmissions? I wonder how many channels would be possible for one receiver/transmitter pair like this?

  6. I worked on an Air Force air defense computer in Europe that used delay lines to store data and they used it just like a RAM. The delay line was a coil of piano wire incased in a metal container. The data (pulses) coming out of the delay were amplified and sent down the wire again. Changes in the data were made prior to the amplification and resending process.

    1. I worked on a different Air Force air defense computer in Alaska, made by Philco and called the AN/FYQ-9. It was magnetic drum-based rather than delay line, but the principle was the same – each word of memory was only available at a specific time. This was common before magnetic core memory revolutionized the industry. The ‘Q-9 had an instruction set that let you optimize your program: each instruction included the address of the next instruction to be executed, and if you were a smart programmer, in critical sections you coded it so that just as an instruction was finished executing, the next instruction was just about to come up on the drum. This was not simple, since one of the instruction’s operands may also need to be fetched from the drum.

      Point is, whenever the machine needed to access memory, it wrote the address of the request to a register implemented in flip-flops, and the address was decoded into one field that told which head that address was on, and the rest, which was the rotary position. The machine would then wait until the drum reached the specified rotary position, then triggered a state machine that read or wrote the data, to/from another flip-flop register, and then the machine could advance to its next instruction step. Core memory was SO much simpler!

      I also worked on RADAR systems that used quartz polygon delay lines (21-sided, if I remember right) to store analog video (received RADAR data) from pulse to pulse, for a total of 4 milliseconds. Very expensive for so little storage.

Leave a Reply to BillCancel 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.