5 of 8

RAM explained

by JLN

<!- @page { margin: 2cm } P { margin-bottom: 0.21cm } A:link { so-language: zxx } ->

RAM, like most terms connected to computer hardware, is an acronym, in this case it stands for Randon Access Memory. Quite why those in the industry feel the need to turn everything vaguely related to computers into acronym's or abbreviations has always alluded me. I suspect it is so sales people can confuse the crap out of unwary consumers by saying things like "it comes with a RAID array, 1GIG of DDR RAM, a 1066MHZ FSB, support for SSE3 and is pre-installed with XP SP2". This leaves the unwitting customer in a kind of semi-trance like state, rendering them easily suggestible and thus more likely to walk out of the shop with a computer costing more than the GDP of a small county. The different types of RAM on the market are a perfect example this fasination with block capitals, inflated numbers, and meaningless naming schema's. So let me attempt to break RAM down into a more succinct and easily understandable form.

What is RAM?

Firstly we need to understand what RAM is, and why it is so named. My favourite analogy for RAM, and one that has no doubt been encountered by anyone who has dabbled in the world of computer hardware, is to think of a computer as being a small office. In this office there is a clerk who represents the CPU (Central Processing Unit) of the computer. The CPU is the bit that does all the actual work. In the far corner of the office sits a large set of filing cabinets which represent the computers hard disk drive(s), these cabinets store ALL the information in the computer, it's word documents, films, music, pictures, you name it they got it.

Now RAM is like the clerk's desk, anything that the clerk is working on at any particular moment in time is kept on the desk. Let's just imagine that this is a very lazy desk clerk, so lazy in fact that he (or she) has decided to employ a runner to grab anything that is needed from the filing cabinets. When you open say, a word document, this is the equivalent of the clerk asking the runner to go fetch something from the filing cabinets. It must first be found by the runner, which can itself take a very long time in such large cabinets, it then has to be taken back to the desk so the clerk can edit it. Depending on the size of the file being opened the process of fetching this file can be either very quick or very time consuming (a big heavy pile of documents might require a serveral of trips, while a small document might require just one). But once the file is on the desk it can be searched through and edited much more quickly. Without RAM (the desk) any change would require the runner to locate the file, run it to the clerk, let him or her make the change, then run it back and re file it, all this would need to be done for each and every change! Imagine the clerk wanted to write a letter? Each time they wrote a character they would have to wait for the runner to take the file back to the cabinet, refile it, only to retrieve it again and run it back! This would mean that the clerk would spend most of their time sitting around doing nothing! The addition of the desk completely changes this situation, now the clerk can complete the task at hand, and only when he or she is finished do they need to summon the runner to take it back to the filling cabinets.

It is not just files that take up space on the desk, programs (such as a word processor) do too, these programs are best viewed as the clerks stationary and, depending on the nature of the task, they can often take up more space on the desk than the actual file being edited (this document for example is probably only a few kilobytes, but the word processor I am using to write it probably takes up 100 times that or more). A word processor such as Microsoft word is the metaphorical equivalent of the clerk owning a shitload of stationary, if you have ever used a very simple word processor such as notepad, this is like the clerk using a very wornout pencil. The more desk space you have, the more things you can do at once, they more files you can have open and the more stationary you can have on your desk. However if you invest in too big a desk you could find that a lot of it is never used, in other words the size of the desk (RAM) should reflect the purpose for which it is being used.

So we have established the importance of RAM, but why is it Random? In the good old days when computers were relatively new and everyone believed that within twenty years we would have either have been taken over by super intelligent apes or we would be living on the moon, most computers used large tape reels to store data. This meant that the data had to be accessed sequentially, so if you needed some data from the middle of the tape you had to spool through the tape until you found it. Not so with RAM, it is completely solid state meaning that any part of it can be accessed at the drop of a hat (in fact in the time it takes to drop a hat, hundreds of thousands of different memory accesses could have occurred). So that's RAM in a nutshell, now lets look and the different types of RAM available these days:

Welcome to the world of DDR

DDR SDRAM (it's like a bad game of scrabble isn't it?) is the most common type of RAM currently in use today. The 'SD' part stands for 'Synchronous Dynamic' and is not wholly relevant unless you want a lesson in the history of RAM. SDRAM was the main type of ram used when the first pentium processors were released, the amount of data these modules could shift at any given time was dependant on two things, the width of the bus (bus being a term used to denote the path between two points, the width of which determines how much data is sent per cycle) and the clock speed. Each computer has a built in clock, every time it ticks the computer does something, these days it is often measured in Megahertz - millions of ticks per second -, or Gigahertz - billions of ticks per second -, back in those days most SDRAM modules ran at 66, 100 or 133Mhz. One day some clever boffins worked out a way to send twice the amount of data per clock cycle, without requiring a complete rework of the entire memory arctecture or bus design.This effectively doubled the memory bandwidth (the amount of data it can transfer in a given amount of time).

They imaginatively coined this new form of SDRAM, 'DDR SDRAM' which stands for 'Double Data Rate Synchronous Dynamic Random Access Memory', which is a great phrase to use if you want to impress your friends with your technical knowledge, or alienate future girlfriends. The first DDR modules ran at the same clock speeds as normal SD RAM, but they could transfer twice the amount of data per clock cycle. Now it doesn't make good business sense to try and advertise a product as being the same speed as it predecessor, when this happens people tend to feel very little inclination to upgrade. So a whole new naming convention was brought in. This new naming convention advertised peak theoretical bandwidth (the number of bits transferred per clock cycle, multiplied by the the number of clock cycles per second), so instead of saying "I have 133Mhz SD RAM", people (and by 'people' I of course mean 'computer nerds') started saying "I have PC3200 DDR RAM" which means "My RAM can transfer 3,200Megabytes per second...and I haven't got a sex life". It has been quite a number of years since the first DDR modules were released, and they have now reached their third generation, which has been eloquently dubbed DDR3 (I suspect that the kind of people that design RAM, while clearly very intelligent, are somewhat lacking when it comes to creative flair). Because DDR is now the de facto standard for memory, the naming convention has reverted back (for the most part) to naming modules by megahertz, so you can now buy 1333Mhz DDR3 RAM modules. It is important to note that these different generations of DDR RAM are not backwards compatible, if you buy DDR3 RAM you need a motherboard and processor that supports DDR3 RAM. As is the case for DDR2 and the original DDR RAM.

A word on Dual Channel mode

Since the days of the pentium4 there has been a feature available on most motherboards called Dual-Channel mode, what this essentially does is double the bandwidth of your memory by splitting data between two channels. Half the data is written to one channel while the other half to a second channel, this is done at the same time which theoretically halves the time required to write the data. I say theoretically because, when it comes to real world application, doubling the numbers doesn't always mean doubling the performance, but in this case there is certainly a marked improvement. Dual channel mode requires that each channel is the same size as the other, and that they both run at the same speed (although this is not entirely true of early AMD versions of dual channel mode, but that is a bit too complicated for this article and no longer a concern anyway). A channel can consist of one or more memory module, so for example in one of my computers I have four memory modules each 256MB in size, there are two channels each consisting of 2x256MB modules. At the time of writing the newest Intel i7 processors were or would soon be, offering triple and quad channel mode's as well.

This is just the beginning

Sadly there is a lot more to RAM than can be covered in this article, no matter how long winded it may appear. There is the issue of RAM timings, about which a much more lengthy, much more complicated, and considerably more boring, article could quite easily be written. But fear not, I will not attempt that now. There are also different form factors of RAM that are used in things like media PC's or laptops where space is a concern, but these are really just slimmed down versions of normal RAM modules and the underlying technology is exactly the same as that of their bigger brothers. There is also performance RAM that is highly tuned and specially cooled to get the most out of it, Buffered RAM that is most commonly seen in large servers and ECC RAM, again often found in servers. But the above article should at least give you a brief outline of the RAM you might expect to encounter in a reasonably modern desktop computer system.

Helium, Inc.
200 Brickstone Square Andover, MA 01810 USA