Introduction to RAM
RAM stands for Random Access Memory. RAM is stored on the motherboard in modules that are called DIMMs.
What is a DIMM?
DIMM stands for Dual Inline Memory Module. A DIMM is a dual inline module because it has two independent rows of these pins, one on each side. A DIMM memory module has either 168, 184, 240, or 288 pins. And then the DIMM is installed on the motherboard in the memory slots. A motherboard can have a various number of memory slots. The average motherboard will have between 2 and 4 of them.
Loading Data into RAM
In order for data or program to run on a computer, it needs to be loaded into RAM first. So the data or program is first stored on the hard drive, then from the hard drive, it’s loaded into RAM. And once it’s loaded into RAM, the CPU can now access the data or run the program. Now a lot of times if the memory is too low it might not be able to hold all the data that the CPU needs.
Impact of Low Memory
And when this happens, then some other data has to be kept on the slower hard drive to compensate for the low memory. So instead of the data going from RAM to the CPU, it has to do extra work by going back to the hard drive. And when this happens, it slows down the computer. So to solve this problem all you need to do is increase the amount of RAM on a computer and by increasing the memory, more data can be loaded into the faster RAM without the need of constantly accessing the slower hard drive.
Types of RAM
Dynamic RAM (DRAM)
RAM requires constant electrical power to store data. And if the power is turned off, then the data is erased. RAM also comes in different types such as dynamic RAM or DRAM. DRAM is memory that contains capacitors. A capacitor is like a small bucket that stores electricity, and it’s in these capacitors that holds the bit of information such as a 1 or a 0. Because that’s how computers read data, which is 1s or 0s. And because DRAM has capacitors, they have to be refreshed with electricity constantly because capacitors do not hold a charge for very long, they constantly leak. And this refreshing is where we get the name ‘dynamic’.
Synchronous DRAM (SDRAM)
Another type of memory is called SDRAM which stands for synchronous DRAM. And this type of memory is what is used today in RAM DIMMs. SDRAM also has capacitors like DRAM, but the difference between SDRAM and DRAM is basically speed. The older DRAM technology operates asynchronously with the system clock, which basically means that it runs slower than the system clock. Because its signals are not coordinated with it, but SDRAM runs in sync with the system clock. Which is why it is faster than DRAM. All the signals are tied to the system clock for a better controlled timing.
Memory Size and Data Path
So as stated before RAM is stored on the motherboard in modules that are called DIMMs and these DIMMs come in different memory sizes. Today they range anywhere from 128 megabytes to 32 gigabytes per DIMM. SDRAM is also rated at different speeds. But before we talk about the speed of RAM, we need to define some things first.
Data Path
Now the term 64 or 32 bit data path refers to the number of bits of data that are transferred at a time or in one clock cycle. The more bits that are transferred in one clock cycle, then the faster the computer will be. Now DIMMs have a 64 bit data path. Which means that they can transfer 64 bits of data at a time.
SIMM vs DIMM
Now prior to DIMMs there was an older RAM module called a SIMM. And SIMMs had a 32 bit data path. Which means they can transfer data 32 bits at a time. So that’s why DIMMs are faster than SIMMs, because they can transfer twice the amount of data per clock cycle, because DIMMs transfers 64 bits of data at a time compared to SIMMs which transfer 32 bits of data at a time.
Bits and Bytes
Now a single bit, or one bit of data, is the smallest form of data that the computer reads. Because in the computing world, a computer only understands 1s and 0s, which is represented by a single bit of data. Now there is also the term byte. And 8 bits is equal to 1 byte. So if a memory DIMM is rated to have a 64-bit data path, then that means that it has an 8 byte wide data path or bus. Because 64 divided by 8 = 8.
Speed and Bandwidth
SDRAM is rated at different speeds. For example, a stick of old SDRAM way back in the late 1990s could be labeled PC-100. The 100 equals a maximum speed at which it operates, which is 100 MHz. And since SDRAM only comes in 64-bit modules, as we discussed earlier, it has an 8 byte wide bus, because 64 divided by 8 = 8. So to figure out the total bandwidth of PC-100, you multiply 100 MHz x 8 bytes which equals 800 megabytes per second. So the total Bandwidth of PC-100 equals 800 megabytes per second. So in other words PC-100 RAM can transfer data at a maximum rate of 800 megabytes per second. So an SDRAM module labeled PC-133, you multiply 133 by 8 which = 1066. So the total bandwidth for PC-133 equals 1066 megabytes per second. Now technically 133 x 8 actually equals 1064 but 1066 is accurate because the actual clock speed is 133.3333 x 8, which is rounded off to 1066.
RDRAM
Another type of memory was called RDRAM, which was developed by Rambus Inc. And they developed the RIMM which stands for Rambus Inline Memory Module. RIMMs have 184 pins and look similar to DIMMs. With the exception that the bottom notches are located in the center of the module. In 1999 RIMMs were a breakthrough in the speed of memory, but have quickly fallen behind due to the advancement of technology in DIMMs. When RDRAM debuted in 1999 it ran at 800 MHz which was considerably faster than SDRAM which ran at 133 MHz at that time. But even though it was a lot faster than SDRAM, RDRAM only had a 2 byte wide bus, compared to SDRAM, which had an 8 byte wide bus. So if you multiply the speed of RDRAM, which was 800 MHz x the bus width, which was 2 bytes, you would get a total bandwidth of 1600 megabytes per second.
DDR RAM and Its Variants
As technology increased and processor and bus speeds have gotten faster a new RAM technology was developed to keep up with the faster speeds of computers. This newer technology was called DDR, which stands for double data rate, and that’s basically what DDR does, it sends double the amount of data in each clock cycle compared to non-DDR. Non-DDR, or single data rate RAM uses only the rising edge of the clock signal to transfer data. But DDR uses both the rising and falling edges of the clock signal to send data. Which gives DDR the ability to send twice the amount of data. So here is another illustration comparing the difference between DDR and non-DDR. So even though the system clock is pulsating at the same speed for both RAM modules, the DDR RAM module can send twice the amount of data since it takes advantage of both the rising and falling edges of the clock signal.
DDR RAM Speed
So even if we speed the clock up and make it go faster, the DDR RAM will still send twice the amount of data compared to the non-DDR RAM. DDR is also labeled differently than non-DDR RAM. DDR RAM may include both the clock speed and the total bandwidth in its name. So instead of just including the clock speed in its name, like PC-133, where 133 equals the clock speed, DDR includes the total bandwidth also. So for example a DDR DIMM labeled DDR-333 PC-2700. The 333 is the clock speed, and the 2700 is the actual total bandwidth. So 333 MHz x 8 bytes = 2700 megabytes per second, which is where we get the name PC-2700.
DDR2 and DDR3
A new technology that has succeeded DDR is DDR2. DDR2 is faster than DDR because it allows for higher bus speeds and effectively sends twice the amount of data than DDR and it also uses less power than DDR. A DDR2 DIMM has 240 pins compared to DDR, which has 184 pins. DDR2 is labeled just like DDR. But with a small difference for example a DDR2 DIMM could be labeled DDR2-800 PC2-6400 and the difference is the ‘2’ right after the DDR and the ‘2’ right after the PC. So this is how you can identify DDR2 memory. By using its label and right after DDR2 is DDR3. DDR3 is twice as fast as DDR2 and it also uses less power than DDR2 and just like DDR2 DDR3 also has 240 pins, but the notches in the DIMMs are in different places. So you can’t put a DDR3 DIMM in a RAM slot made for a DDR2. In fact, motherboards are made to support a certain type of memory so you can’t mix DDR1, 2, 3, or 4 on the same motherboard. An example of DDR3 would be DDR3-1600 PC3-12800.
DDR4 and High-Speed RAM
The fourth generation of DDR SDRAM is DDR4. DDR4 DIMMs have 288 pins, and like its predecessors, it also uses less power than the previous generation of DDR. DDR4 also offers a higher range of speed than DDR3 such as DDR4-4266 PC4-34100 which has an incredible maximum bandwidth of 34,100 megabytes per second.
ECC RAM
Now sometimes there are circumstances where memory data corruption cannot be tolerated. For example, in servers. Servers are meant to be up and running at all times and some servers cannot afford being offline for any reason. Such as servers that control financial data, emergency medical data, or government data. These servers cannot go down for any reason and that’s why some RAM modules have ECC which stands for error correcting code. And what ECC does is that it detects if the data was correctly processed by the memory module and makes a correction if it needs to. You can tell if a RAM module has ECC by counting the number of memory chips on the module. In a standard non-ECC DIMM, it will have eight memory chips. But in an ECC memory module, it will have nine memory chips.
Conclusion
Now most RAM modules today are non-ECC and this is because of the advance in technology that has minimized memory errors and has made non-ECC RAM more stable. But as stated before, ECC memory is mostly used in servers because servers need to be up and running at all times and using ECC memory is just an extra precaution to guard.