What's "random" about RAM?

Sure, like the irony of someone seeming to take offense at a common stereotype about comp sci folk being used in jest when they themselves routinely stereotype anyone who doesn't share their fanatical faith in science as uneducated? That might be fun. Do you want to have that conversation, really?
 
Again, it has a very specific meaning in one particular specialty. In this regard, it is much like thousands of other technical buzzwords which seem odd or strange to outsiders for various similar reasons.

But in this context, everybody who uses it understands exactly what it means and why it was selected in the past to differentiate it from sequential access memory, and then later to differentiate it from ROM.

And again, you could have easily determined why by merely googling it.

If you'd read my original post you would have noted that I had googled it and had already found your answer. My question (which I refined to make more clear) was WHY was this word chosen when it doesn't match the general meaning of the word. "Because it was" doesn't answer that question, it merely demonstrates that you dismiss the question as being of no importance or interest, which is fair enough, but in that case you're free to post in other threads which actually do interest you. I would have thought that if any forum on the internet was well-suited to pointless minutiae without people whining about it then it would be CFC OT...
 
My question (which I refined to make more clear) was WHY was this word chosen when it doesn't match the general meaning of the word.

Dealing specifically with why...the people who chose the word weren't exactly English majors, so the fact that they arrived at a word that is at least somewhere in the realm can be taken as a good thing and left at that.

'Twas an interesting interlude of minutia though. Well struck!
 
If you'd read my original post you would have noted that I had googled it and had already found your answer. My question (which I refined to make more clear) was WHY was this word chosen when it doesn't match the general meaning of the word. "Because it was" doesn't answer that question, it merely demonstrates that you dismiss the question as being of no importance or interest, which is fair enough, but in that case you're free to post in other threads which actually do interest you. I would have thought that if any forum on the internet was well-suited to pointless minutiae without people whining about it then it would be CFC OT...

I suppose it could theoretically be accessed at random - had they used the more accurate word 'arbitrary', it would imply that it had to be accessed in an arbitrary order.
 
"Arbitrary" is hardly any better. There isn't anything arbitrary in specifying the exact address you wish to access.

The key is in the subject bar. It isn't "random" memory at all. It is "random access" memory as opposed to "sequential access".

As I said, the term really isn't even used anymore except as a shorthand and to distinguish it from ROM.

This is indeed much ado about nothing. Everybody knows exactly what it means, and why it is called what it is for historical reasons.
 
I don't see what's wrong with the term "random access" memory. The speed/ease/method of access is independent of the order. Put another way, if you want to access a random set of addresses in memory, this is no different than accessing an ordered set of addresses. Put yet another way, there is no possible way of ordering your memory or access requests such that it is quicker to retrieve the data than doing it at random. Random access confers this intuition far more readily than merely "non-sequential". Additionally, it is a much stricter criteria than mere "non-sequential access" or "arbitrary access": as the text the OP quoted stated, it is possible for memory to be accessible arbitrarily or non-sequentially, but for some addresses to be much quicker to access than others due to the physical limitations of the medium (amongst other things). The "random" criteria eliminates these forms of storage, and only permits storage where access is completely independent of the specific memory addresses being accessed.
 
Which is all well and good as a summary of what RAM IS, but it doesn't actually answer the question unless you consider "random" to be a synonym for "non-sequential" or "layout independent", which it isn't. If I'm choosing what to wear in a morning then I can access any item in the wardrobe I like without having to loop through the entire rack, or I can pick any pair of socks out of the draw without having to start at the left, but I'm not picking things entirely at random and it wouldn't really be beneficial to do so.
To take this as an example, imagine if you were picking socks, but all your socks were completely disorganised in your sock drawer. You need a pair of green socks, but you have to search through all your socks to find a green one. Now, this will take a variable amount of time, depending on how your sock drawer happens to be arranged. If there just so happens to be two green socks right at the top of the drawer, you'll be able to pick out the green socks really quickly. If, OTOH, your green socks are right at the bottom, it'll take ages. You can speed this process in two ways: either order your socks so that you know roughly which part of your sock drawer your green ones are in, or you can choose a different pair of socks such that the one you pick on each day is the one at the top of the sock drawer (i.e. order your retrieval requests) (I think most people do this! I certainly just pick the first pair of socks I put my hands on...). Your sock drawer, for all these reasons, is not a valid analogy to RAM.

If there was some way of making a sock drawer such that the speed of access was independent of the order of the socks in the drawer or the specific colour of socks you decide to retrieve on any given day, then this would be a Random Access Sock Drawer. I can't think of a good way of doing that, without making it trivially longer (e.g. get your butler to retrieve your socks but make him wait until 5 mins has elapsed before giving them to you?). But rest assured that RAM is not like a sock drawer: the "random" part adds an important criteria that differentiates it from most other forms of storage.
 
On the contrary, I think you'll find that the desire to use words in a specific and well-defined way is quite a common trait in the STEM fields. Something which this rather colloquial usage of the word random is actually in opposition to. But it's starting to seem you're not really worth talking to, which I already kind of suspected from other threads anyway :) (also you must have missed my comment in the Hawaii Observatory thread, but never mind)

For everyone else who doesn't feel like being obnoxious just for the sake of it, another example:

If I want to look up a word in the dictionary (for example, let's say "random" ;) ) then the sequential analogy would be that I'd have to read the entire book in order until I got to the entry I wanted. The "RAM" analogy is that I can, thankfully, use my knowledge of the alphabet essentially as a register to look up which page of the dictionary I need and jump straigh to the entry I want and extract just the information I was looking for. But there would be nothing "random" about that. Indeed, if I just flipped open the book to any page at random then I would get just get the definition of "porcupine" or "zebra" or "obnoxious" or something of no use to me. So while the whole benefit of the dictionary is that I can access it in a non-sequential way, the way I access it still has order and structure and isn't random. In fact it would be rendered entirely useless if I accessed it randomly.

Wouldn't a slightly better, or at least more accurate, phrase for it be ad hoc?

Still, I'm not so sure.

I like your analogy to a dictionary and I can understand your objection to "random". Although I'd think by now we've all just got to put up with it not being an entirely accurate word for the thing. But that's how the meanings of words shift sometimes, I guess.
 
To take this as an example, imagine if you were picking socks, but all your socks were completely disorganised in your sock drawer. You need a pair of green socks, but you have to search through all your socks to find a green one. Now, this will take a variable amount of time, depending on how your sock drawer happens to be arranged. If there just so happens to be two green socks right at the top of the drawer, you'll be able to pick out the green socks really quickly. If, OTOH, your green socks are right at the bottom, it'll take ages. You can speed this process in two ways: either order your socks so that you know roughly which part of your sock drawer your green ones are in, or you can choose a different pair of socks such that the one you pick on each day is the one at the top of the sock drawer (i.e. order your retrieval requests) (I think most people do this! I certainly just pick the first pair of socks I put my hands on...). Your sock drawer, for all these reasons, is not a valid analogy to RAM.

If there was some way of making a sock drawer such that the speed of access was independent of the order of the socks in the drawer or the specific colour of socks you decide to retrieve on any given day, then this would be a Random Access Sock Drawer. I can't think of a good way of doing that, without making it trivially longer (e.g. get your butler to retrieve your socks but make him wait until 5 mins has elapsed before giving them to you?). But rest assured that RAM is not like a sock drawer: the "random" part adds an important criteria that differentiates it from most other forms of storage.

Yes, the dictionary analogy was better. But I wouldn't want to get hung up on the exactness of the analogy because they always break down when you push them too hard.

But really I was just asking if there was some other way that it was actually "random" which Google was trying to hide from me, other than the (I still maintain) incorrect usage as a synonym for non-sequential. To me it doesn't seem much better than some teenager saying "omgz your hat is like, so totally random" :)

But if it doesn't bother anyone else... :dunno:

Luckily they don't let me anywhere near the STEM fields because this kind of picky, anal obsession over details really isn't wanted there ;)
 
Yes, the dictionary analogy was better. But I wouldn't want to get hung up on the exactness of the analogy because they always break down when you push them too hard.

But really I was just asking if there was some other way that it was actually "random" which Google was trying to hide from me, other than the (I still maintain) incorrect usage as a synonym for non-sequential. To me it doesn't seem much better than some teenager saying "omgz your hat is like, so totally random" :)

But if it doesn't bother anyone else... :dunno:

Luckily they don't let me anywhere near the STEM fields because this kind of picky, anal obsession over details really isn't wanted there ;)
It's not a synonym for "non-sequential". That's the point. You can have "non-sequential access" memory that is not "random access" memory. I feel like we've been here before, so let me try it another way. The "random" part means that there is no possible way of ordering your data in memory or your access requests such that it is any faster than having a completely random set of data or requests. In other words, it doesn't matter in which memory location the data is stored: it could be stored at address 1 or address 3,000,000,000 and it doesn't matter, the memory will be just as quickly accessed either way. This is a hugely important difference, because it means that the speed of access does not depend on the amount of stuff stored in memory. If you have non-sequential access to a memory address, it means you can go to memory location 3,000,000,000 without having to read through previous memory locations. But it might still be the case that going to memory location 3,000,000,000 takes longer than going to memory location 1, purely because of the physical limitations of the medium. You can access a hard disk non-sequentially (they'd be pretty useless if you couldn't!) but it is much faster to access memory addresses that are (inter alia) located close to each other physically on the disk.

Perhaps your problem is with the word "sequential" rather than "random"? Is it your opinion that hard disk access is really sequential access dressed up as non-sequential or something?
 
Perhaps your problem is with the word "sequential" rather than "random"? Is it your opinion that hard disk access is really sequential access dressed up as non-sequential or something?

I.... no. I never said anything of the sort.

I understand your point and that there's more to it than being just non-sequential, so perhaps I worded it badly by saying it's JUST a synonym for that specifically. But still, "random access" isn't the same as "random is as fast as any other access". Just because accessing the memory randomly is as fast (or slow) as any other method of accessing it, doesn't mean this is how the memory is actually used or that it would make any sense to use it that way.

As I said before, my only "problem" is that the word random is being used for something that isn't random. But as I also already said, if no-one else is bothered by it then so be it.

I also asked the question just to see if there wasn't some other explanation that made more exact sense that I had been unable to find, but it doesn't seem that there is.

So I got my answer in both cases :p
 
I know you never said that, but if you thought that, then that could be the source of the misconception.

I still don't really know what your problem with the word "random" is. I can't think of any other word that expresses the concept any better. I disagree that "random access" can't mean (or at least heavily imply) "is capable of being accessed randomly without any loss of speed or functionality". I mean, that is literally what it means.

And again, the fact that a type of memory is "random access" is important not for people who are trying to understand how this type of memory is or ought to be accessed, but for people designing systems and deciding what sort of memory to use. To know that a type of memory permits random access is important for the designers of systems: they know that, if they use this type of memory, their software/hardware solution is not limited by the quantity of data stored in memory at any particular time, that their solution is scalable to larger applications with greater memory requirements, and that they don't have to concern themselves with the particular physical location in memory that they are storing and retrieving data. It doesn't describe how to actually access that memory, because, well, a programmer might decide they want to access it sequentially anyway. Or they might not care how it's accessed, and instead let the OS decide how to do that, what addresses to store stuff in, what order to retrieve stuff in, etc etc. If you're naming things after how they're actually used or how it makes sense to use them, then how would you name it in such a way that encompasses all the possible ways a programmer or system designer might access the same physical memory?

Put yet another way, the term "random access" does not describe the method that programmers use to access the memory in its day-to-day operation. Rather, it describes what sort of access operations are permitted by this type of memory. This is a far more useful and instructive way of describing and distinguishing this type of memory from other types of memory.
 
I have vague memories from the early 1980s about learning hash key sorts and about databases that used hash keys. This was in the days of multiple stacked disks.

The end user's visible key for a record was processed by an algorithm that used a pseudo random number to generate the hash key that referred to the start of the physical address for each record they input or edited. The algorithm would take into account the actual physical address boundaries available which might even be split across non contiguous cylinders of the disk or even several devices, and typically feed in a time from the system clock.

From the point of view of the user, the information was randomly stored.

This was more efficient for updating databases where new records might need to be added in (to the user) sequence and where the records were of variable size, because the alternative methods of using alpha and perhaps also beta trees database structures required overflow records and as with additions and edits the proportion of the file in overflow increased access times and increased disk reader head movements (never desirable because that increased the probability of a head crash and they happened a lot then) necessitating end user log off and periodic roll out to flat structure and then roll back to non overflowing.

All this was implemented on disk, back in the days when there was merely a CPU, a set or two of stacked disks in a disk reader, a communications port device and dumb terminals.

The solid state storage (not rotating) which did not retain its memory when powered off (as opposed to solid state state which retained its memory and was called Read Only Memory (ROM) e.g. the boot programs), was called RAM because unlike ROM it would be similarly randomly (from the perspective of an external party) accessed.

In this respect the term Random Access Memory very accurately distinguished it from Read Only Memory, and was perhaps more palatable choice that calling it Forgetful Access Memory.

The opening poster is correct in that taking into account the algorithm the term Random is ultimately a misnomer; but here we can drift into a discussion as to whether true randomness and free will exist any way.

The thing is that the person uploading the spreadsheet or files was told that it was random because printing off the disk produced chaotic fragments and he/she could not predetermine where on the device the information was stored; so from his/her local perspective it was indeed randomly physically stored.
 
Random access is really just another way to say non sequential, if you think about it it's basically identical in meaning.
 
I could have explained it to you and in fact, many posters already did. Here is an excerpt from the wikipedia to bust your question for once and for all. Honestly, I'm feeling stupid for doing this.

Wikipedia said:
Random-access memory (RAM /ræm/) is a form of computer data storage. A random-access memory device allows data items to be accessed (read or written) in almost the same amount of time irrespective of the physical location of data inside the memory. In contrast, with other direct-access data storage media such as hard disks, CD-RWs, DVD-RWs and the older drum memory, the time required to read and write data items varies significantly depending on their physical locations on the recording medium, due to mechanical limitations such as media rotation speeds and arm movement delays.
 
Back
Top Bottom