Decoding the Memory Nomenclature in modern-day computers, Starting with RAM
This article was published as a part of the Data Science Blogathon.
For Data Analysts and ML professionals, the understanding of how computer memory works is of immense help. Right from how a particular language is compiled or interpreted in the memory, to how much memory which data structure consumes is of paramount importance. The more memory one application consumes, the slower the application will run. One can’t simply go on increasing the memory of the system, due to various constraints, including cost, but not limited to that. Hence, understanding how memory systems work is extremely useful for both Data Science and ML practitioners.
RAM and ROM are a few of the most commonly used terms in computer lingo. Even if you might have forgotten the meaning of these popular abbreviations, somehow remember these names. But those who remember the full form of these abbreviations, are no more wiser than the other lot who don’t. In this article let us explore what RAM is and what do they represent. The focus of this article is not about explaining the basics or the working of the computer memory system. You may refer to my previous article “Understanding Computer Memory System” for detailed knowledge on that. We are going to focus on the nomenclature, what it represents and how RAM and ROM are called what they are called?
RAM (Random Access Memory)
RAM is an abbreviation of Random Access Memory. Let us understand what random access means. Random means something which happens without order or methodical way of working, and even without conscious decision. In statistics, when they say Random, they mean to say that each item has an equal chance, and none of the items is selected in any particular order or by any specific design.
Access is means or opportunity to approach or enter a place.
Memory here points towards the computer memory system.
Clubbing the three definitions, Random Access Memory is the Computer memory that can be accessed randomly, or in other words, that computer memory that can be approached or used (Read or Written) in any order (No particular direction or order is required).
Still, confused? I can empathize. To get more clarity let us first see what’s NOT a “Random Access Memory”.
To be there, we need to go back in time a bit.
To understand the WHY of the nomenclature, let’s revisit the history of computer memory. The evolution of computer memory can be traced to hundreds of years old technology, which was first introduced by Basile Bouchon in 1725 to control looms.
These were paper tapes, made of punched cards. The holes punched in the paper tape were used as data storage and were read by the machines. They were initially used to store the Designs and patterns used for embroidery in looms. The professionals
in embroidery operations still refer to the people creating designs and
patterns for loom machines as “punchers”, even though punched cards and paper
tape were eventually phased out from looms in the 1990s.
In 1846 these punch cards were used in sending telegrams, and in 1857 this technology was adopted for the preparation, storage, and transmission of data in telegraphy.
The punched cards and paper tapes are now things for hobbyists and museums. They were replaced by another tape device, which used magnetic tapes to store data. Magnetic tape was a huge leap in data storage as it could store vast amounts of data for a very long period of time. It used a metal oxide-coated piece of tape, on which data was stored. A single reel could hold data equivalent to 10,000 punch cards. This changed the computer industry forever.
There are still in use for archiving the data, being the cheapest and most durable data archive solutions. However, even magnetic tapes are not mainstream data storage devices nowadays.
You might think that we digressed from the topic of RAM and its nomenclature and, from the very purpose of this article. But that’s not the case. These tape drives are the reason why the RAM is called Random Access Device.
HOW is that?
When the first semiconductor RAMs were introduced in the 1960s, the popular storage devices in use were still magnetic tapes.
BM 729V. By No machine-readable author provided. TheSentinel64 assumed (based on copyright claims). – No machine-readable source provided. Own work assumed (based on copyright claims)., CC BY-SA 2.5, https://commons.wikimedia.org/w/index.php?curid=1717519
The tape drives used a long spool of magnetic tapes. (Very similar to the video or audio cassettes used for storing movies and music). The tapes were sequentially read. It means, the data on the tape could be accessed in the same order as in it was written. When a computer wants to access data, it had to spool backward or forward through the tape until it reaches the exact point where the data it wants is —just like one has to wind back and forth through an audiotape cassette to find the favorite song.
If you were are the beginning of the tape, and you wanted to read or write at the other end of the tape, you had to spool the entire tape to reach that place physically, in order to access that. This is why it was sequential accessed memory. Data is stored in sequence and the time it takes to read or write a piece of information depends on where the tape happens to be in relation to the read-write head (the magnet that reads and writes information from the tape) at any given moment.
However, this new semiconductor-based memory (introduced in the 1960s developed by Bell Labs, IBM, and Intel), which was based on transistors, did not have such limitations. Data stored on it at any location could be accessed with equal ease and in the same amount of time. Hence, instead of “Sequential access memory”, this was “random Access memory” where the data was randomly written and read. (Recall the statistician’s definition of Random).
In statistics, when they say Random, they mean to say that each item has an equal chance, and none of the items is selected in any particular order or by any specific design.
The utility of RAM
RAM is essentially super-fast, high-speed storage that the computer and its applications utilize to store and access temporary data. It can be thought of like a computer’s short-term memory. When a program starts ( for example Google chrome browser or Microsoft Excel file), its common data is stored on RAM, and as RAM is much faster than a hard drive (Secondary Memory), the program runs faster by having data directly accessible from RAM. As soon as the program ends (you close the browser or file), the RAM gets free from its data. Hence, the larger the RAM, the faster the computer works with more number of simultaneous programs.
Example of writable volatile random-access memory: Synchronous Dynamic RAM modules, primarily used as main memory in personal computers, workstations, and servers. By An-d – Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=27224495
Computers with lesser RAM can not do many things at once. Say for example you are working on multiple video files, and at the same time, open many web browsers. The RAM requirement goes up with each new program being opened. What happens when the amount of “Temporary Memory” requirement of a computer exceeds the RAM? Modern computers use a memory management technique called Virtual Memory. This is a method to expand the RAM capacity. A portion of the computer’s hard drive is set aside for a paging file, and now the sum total of the RAM and Paging file becomes the total “Temporary Memory”. However, there is a catch. The hard drive is much slower than the RAM. And every time the computer relies on to take data from the paging file from the hard drive, it gets a slower response than the RAM would offer.
Hence, the higher the RAM, the faster the computer operations become.
Now the natural question arises again. Why the RAM is in the range of 1 to 8 GB (or at times somewhat higher) but the hard drives are in the range of 512 GBs to 2 TBs (Terrabyte = 1024 GB)?
When RAM is so important, why not have higher RAM?
The answer is the COST.
What Has Changed Now?
Now almost all the modern storage devices are also broadly Random Access devices. Unlike magnetic tape, the Magnetic hard drive(also called hard disc) enables to access data from any point with almost the same speed. The Solid-state drives(SSD hard disc) are truly Random Access Drives, so are the flash drives (also called USB drives or Pen drive). Hence, the differentiation that the name RAM (Random Access memory) created for the RAM ( which is actually Main memory and also, volatile one) from the storage devices of the past has diminished over time, and totally irrelevant as of now. Still, the nomenclature became so popular that it’s still called RAM.
And as the technology ecosystem that gave RAM its name is no longer there, the name doesn’t mean anything to the end-user and hence doesn’t convey its real purpose or meaning. Volatile memory is a better word for that, but not as catchy as RAM for sure.
One of the most common terminologies of the computer system derives its name from its technological advancement over the prevailing system when it came into existence. No one would have imagined that the technology which will become so common going forward, will retain its name as one of the devices. However, RAM is not alone in the house. ROM is very much there, giving it company, but with a different perspective.
What is that?
Wait till the next article for it to unravel.