What's Random about Random Access Memory?

Well?

-FrL-

Back in the infancy of computers, designers realised that they needed to store data for a period of time. Lots of schemes were utilized - my FIL told us of a system he used that had a long pipe filled with Mercury. At one end was a speaker and at the other was a microphone. Sound pulses representing bits were fed in at one end and read out at the other, after a specific period of time (speed of sound in Mercury). Other schemes used “bucket brigades” - switched capacitor/resistor networks.

All of these memory schemes read data out in the order that the data was fed in - they were Sequential Access Memory. If you wanted a specific byte, you had to wait for it.

Random Access Memory lets you put data in at any point, and read any other arbitrary data, at any time. Of course, you do often access sequential data repeatedly (this is why CPUs provide cache), but you can access any data you want without waiting for a data cycle to finish.

Si

‘Random’ in this context means ‘not sequential’ - You can access any part of it by going straight there and reading it, rather than having to zip through all of it sequentially until you reach the part you want.

It’s like a CD, or even a vinyl LP, versus a tape recording. With the tape, to get to a song halfway through a side, you have to either play or fast-forward (or rewind) through all the intervening content. With the CD you can instantly go to the song you want (or with the LP put the needle down wherever, but the principle is the same).

But perhaps the name “Arbitrary Access Memory” would have fit better.

These days it’s somewhat of a misnomer, since non-linear storage devices like hard drives and CDs also provide random access. But back in the day, primary storage was on tapes, which had to be accessed sequentially (if you make the tape player change speed and direction too often you risked breaking the tape. Then you’re truly hosed.)

Did “Random” once mean “non-sequential” in other contexts then?

I don’t think it has that meaning anymore. (Its use in the phrase ‘random access memory’ would have to be called a “holdover” or something, I think.)

-FrL-

I’ll bet **Frylock ** knows *exactly * what Random Access means. I think the question is really, “Why do we call it ‘random’?” I do not know the earliest use of “random” in this sense, nor why that word was chosen when it seems clearly inappropriate. One might guess that it means fetching a byte according to a address from a pseudo-random number generator.

It is sometimes also called “direct access.” A popular IBM acronym is DASD–Direct Access Storage Device, which means “hard disk.” Ya gotta love IBM.

I think it might be better described as addressable storage as opposed to sequential storage, but ‘random’ here appears to have arisen from the notion that you don’t have to access it in any set way at all - you could even access it randomly, if you wanted to.

I think random is the perfect word. You don’t have to access the information beginning at a particular point; you can access it randomly, wherever you please.

The thing that’s tripping people up is the unpredictable connotation of the word - as if to imply that you can put all your data in there, but which bit you’ll get back is anybody’s guess.

In electronics school (Sheridan College, electronics engineering technology, class of '85), we learned that another meaning of the acronym RAM was “read-and-alter memory”. It parallels nicely with “read-only memory” for ROM. Sadly, “random-access memory” seems to have won out.

Incidentally, for many years, the Royal Ontario Museum in Toronto has been known as “The ROM”. I believe this usage predates the electronics industry. It made perfect sense to me: it’s a museum; of course it’s read-only memory!

There is now a Royal Alberta Museum in, I believe, Edmonton. It is, of course, the RAM. :slight_smile:

I didn’t mean to give the impression that I was trying to give an impression otherwise. I asked “why call it random,” not “what does random access mean.”

-FrL-

I guess I’ve never heard the word used that way except in the phrase “random access memory.”

-FrL-

And, of course, there’s the old computer joke about specifications for a write-only memory. It was a long time before I realized that there’s already at least one application where write-only memory is actually practical and already used.

…do go on…?

-FrL-

It is random from the computer’s point of view. There is no way to predict what the user is going to do, which means the next memory access is pretty much random.

ETA: An example of write-only memory is a book.

A book is write-once read-many. Write-Only memory cannot be read.

/dev/null is write-only memory.

Si

Ha, good point. I was thinking of the old rant about how we already have these great, lightweight, portable, full-color high-resolution devices for reading.

Write-only, not read-only. My bad.

The key is to think about it in analogy with read-only memory. ROM doesn’t actually mean that the memory can’t be written at all; that would be just as useless as a memory which couldn’t be read at all. What “read-only” actually means is that it’s much more difficult and expensive to write it than it is to read it, such that it’ll probably only ever be written once, at time of manufacture.

A write-only memory, then, would be a device which it’s easy to write to, but which can be read only with difficulty, perhaps requiring the device to be unmade in the process of reading. And this is exactly the sort of memory needed for an accident data recorder (airplane “black box”, or the equivalent). The airplane systems are always writing data to the black box, but you hope to never read it, and even if you do, you only need to read once, and it’s OK if you need to take apart the box to do so.