ZeGermans Explains the internal workings of Random Access Memory.

Whenever we talk about computers, we always toss around tons of different words, like video card, hard drive, motherboard, and of course, RAM. But how many of you know exactly what each part does? How does it work? What should you look for in such a part? How much will it benefit your system? This is the first in what will be a series of articles which will go in depth into the inner workings of your computer parts, examining how they work, how they fit into your computer’s greater architecture, and finally, what to look for in such a product. This first article will basically cover all you ever will want to know about RAM.

First off, let’s start with the basics. What does RAM stand for? It stands for Random Access Memory. What does this mean? To put it simply, it means that information can be taken from any part of any chip at any time, without concern for the order in which the information was first copied into the memory. This will be further explained in a bit. What does RAM do? It acts as an intermediary between the hard drive and the CPU. All information needed to run a program is copied from the hard drive to the RAM, and then subsequently it is all run through the CPU. Since RAM is several thousand times faster at transferring information than the hard drive is, this provides a critical bridge between stored information and processed information. SD RAM uses a slightly varied version of this technique, which will be examined later.

How does it work?

RAM stores information in a totally different manner than hard drives do, as would be reasonable to assume considering how much faster it is. In fact, at its base, RAM is no different from any other electronic chip in existence. It all starts out as an Integrated Circuit. In an IC, there are millions of memory cells, which consist of a single transistor and a single capacitor. This cell can either have the capacitor charged, giving it a value of 1, or have it be empty, giving it a value of 0. This represents a single bit of data. To add a bit (excuse the pun) of perspective, eight bits is equal to one byte. There are 1,073,741,824 bytes in a gigabyte. Therefore, your average killer gaming rig has more than eight billion memory cells in your RAM alone. Now, back to the topic. The capacitor in each cell drains over a period of a few microseconds so that a charge of “1” would drain to a charge of “0”, thus destroying the data. This is where, for the first of many times, the memory controller comes in to play. It recharges the drained capacitors thousands of times per second so that data isn’t lost while it’s in the middle of being processed. Memory cells are arranged in a two-dimensional plane, with columns that are called CAS and rows that are termed RAS. When RAM is operating, a charge is sent down a CAS to activate the transistors in every cell. Then the RAS either sends its own signal down the right row to charge the appropriate capacitor at the intersection, if it is writing, or it uses a signal amplifier to read what the charge is on the capacitor when it is reading. After it is done reading it recharges the capacitor to full ability. The time it takes for this entire process to be completed over all the cells in the chip is expressed in nanoseconds.

A graphical representation of a group of RAM cells currently being accessed.

Obviously, all these billions of cells would be worthless without some sort of system that kept them organized and kept everything running smoothly. Think of these circuits as the farmers and the memory cells are crops. They’re designed to take proper care of them. They identify every row and every column so that it knows where signals are supposed to go. They keep track of when the last refresh was for the charge-storing capacitors, and recharge accordingly. They amplify any signals read from the capacitors. Finally, they tell cell whether or not it should take a charge or not. And where do these farmer circuits get their information? Some of it is built in to the chip, but most of it comes from the memory controller, which is either part of the chipset, as it is in Intel and most AMD setups, or on the actual CPU, like with the Athlon64.{mospagebreak heading=Page 1&title=Page 2}

How is it packaged?

Obviously, you can’t go onto newegg and place an order for 8 billion cells to install into your computer. That would be most tedious. To keep the farming metaphor going, cells are packaged into large plantations of millions of cells, called memory chips. These are then placed, four to eight at a time, onto a circuit board that connects them, through pins, to the motherboard. This entire apparatus is called a module. Several organizations of memory on the module have been tossed around through the years, such as SIMM. Today, the dominant form of memory is the Dual In-line Memory Module. This arrangement has ~150-200 pins, depending on how modern the configuration is, and has capacities from 8 megabytes to 2 gigabytes. Notebooks generally use a modification on this design, called the Small Outline Dual In-line Memory Module, or SODIMM.

How reliable is it?

Remember when the original Athlon64 FX-51 was released, and everyone who wanted a high end rig had to shell out money for super-expensive ECC memory? What in the heck was that stuff, anyways? Well, you’re about to find out. Normal, everyday desktop memory is very reliable. The memory controller checks it for obvious errors at startup, and then the only manner of error catching the chip has is ‘parity’. This system adds up every bit of data in a byte, and assigns it a number of 1 or 0, depending on if it’s even or odd. This is done every time information is written into the memory. When it is read back, it is added up again, and this total is double-checked with the parity bit. If it matches, then it goes on. If it doesn’t, then it’s deleted. Now, let’s assume you’re a big business and you don’t like the idea of memory being arbitrarily thrown out without regard to how critical that information is to your business. That’s where Error-Correction Code (ECC) comes into play. It retains several bits of data for every byte and then, if an error is found, uses an algorithm to correct it. These error checking bits are often stored in a separate chip on t he module, which thus slows down the speed of the RAM, since the signal has to get past the error checking chip before it can be used. In today’s desktops, though, the only error checking you’re going to get is from the memory controller. It’s not exactly perfect, but RAM has advanced to the point where it’s reliable enough to not really need any sort of in depth error checking, unless you really need that information, such as with a business operation. So why did you have to use ECC with the FX-51? Because it was a remarketed server chip that was never meant to be sold to the desktop market, but AMD was forced to release the chip earlier due to pressure from Intel.

What types of RAM are used now, and what’s on the horizon?

Right now, the standard type of RAM found in the majority of computers is DDR SDRAM. This is a double-bandwidth version of SDRAM. SDRAM differs from your basic everyday RAM in two ways. First of all, it syncronizes signal transfers with the CPU clock. This way, it can send a signal down the CPU-RAM pipeline without having to wait for the previous signal to reach the CPU. The second is called bursting. It works by taking a row and then going rapidly through all the columns in a memory chip and sending that information off in large bulk. Obviously, if the data is out of order, this will lead to the data being discarded and then using the old fashioned, one by one way. The rationale behind this is that most data is written in order, and thus can quickly be read. The chance of error seemed a fair tradeoff. Currently, DDR2 is starting to take shape as a replacement to DDR, and it offers much greater frequencies at a cost of higher latencies. Also on the horizon are DDR3 and XDR. DDR3 still follows the same basic concept as the original SDRAM, but is simply a logical progression of technology. It is already in use in graphics cards and could see an application in desktops within the year. XDR is the latest offering by rambus, after its great RDRAM flop. XDR is said to offer nearly five times the bandwidth of current DDR offerings and scale up to six gigahertz. It will be used in conjunction with a cell processor in the PlayStation 3.

What should I look for in RAM?

First off, let’s go over the basics. You want the fastest RAM your motherboard can support. If your motherboard supports DDR266, DDR333, and DDR400, buy DDR400. It’s just common sense. Secondly, you’ll want a RAM that is equal to your front side bus. Normally this falls under the “get the fastest RAM possible” category, sometimes it doesn’t. For example, with a processor that has a 266 front side bus, you’ll want DDR533 (since it runs at 266 MHz). If it runs at 200, get DDR400 (200MHz). That’s the simple part. Then comes the concept of memory timings. This one is a bit more complicated to explain, but first off, let me say, lower timings generally equal faster RAM. There are three basic RAM timings that are commonly listed, and a fourth is sometimes included. The three are CAS latency, CAS to RAS latency, RAS precharge time, and cycle time, respectively. CAS latency is the amount of time it takes to access a single column, divided by the bus frequency. Generally, you’ll find CL’s of 2 to 5, depending on the type of RAM. CAS to RAS latency is the amount of time it takes between the column to fire and the row to fire a corresponding pulse. This, once again, is almost always between 2 and 5. RAS precharge time is the amount of time the row takes to recharge before it can continue and activate another row. Its range is also 2-5. Finally, cycle time is the time it takes between when one RAM access starts and when another can be started. This can range anywhere from 5 to 16, depending on the quality of RAM and if you’re using DDR or DDR2. Generally, the lower the combined latencies, the better. It is important to note that latency doesn’t equal bandwidth. Bandwidth is like the amount of lanes on the highway; latency is how fast you’re traveling down it. Optimally, you’d want RAM at the maximum that your motherboard support, and have it running at 2-2-2-5 timings.

What’s the best kind of RAM out there?

For you typical folks, the best RAM usually comes from companies such as OCZ, Crucial, Corsair, and Kingston. Crucial offers the best performing 2-2-2-5 DDR RAM, but the others are right at Crucial’s heels. All of these companies also offer low latency RAM in the DDR2 flavor, though those latencies, due to the limitations of DDR2, don’t go down to 2-2-2-5. For you overclockers out there, once again, Crucial’s top of the line Ballistix RAM is a good idea, but if you’re feeling a little dangerous, pick up some OCZ VX. This stuff, at normal voltages, doesn’t really do much of anything impressive, but if at DDR533 and 3.6 volts, it does 2-2-2-5. Early benchmarks show this RAM having an almost 10% advantage over other RAMs at the same frequency. Even though it offers tighter timings, such an advantage is unheard of. So pick some up today if you want a killer setup.

Other concerns:

Generally, if you’re building a new system, you’ll want at least 512 MB of RAM, but preferably a full gigabyte. It’d be advisable to sacrifice low timings in favor of more RAM, especially if you have to choose between 512 of fast RAM or a gigabyte of slower RAM. Timings don’t make a huge difference, so it just makes sense. Also, don’t worry about cooling your RAM. Unless you crank up the volts on it to above 3.2 or so, it will never get hot enough to melt. After that point, heatspreaders are very advisable. Also, since the Athlon64 has a built-in memory controller, you will need a new CPU as well as a new motherboard if you plan on switching to DDR2 or DDR3, once it’s available to Athlon64 setups.

I hope this article has helped you understand exactly what those expensive little sticks do for your system. Hopefully you can use this as a guide to chose your RAM for your next setup, or you can just use it to brag to your friends about how smart you are. Either way, stay tuned for two weeks from now when I go over what motherboards do and how they work.

Popularity: 5% [?]

Support FPSLabs! Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Reddit
  • Slashdot
  • StumbleUpon

You Should Also Check Out These Post:

More Active Posts: