The difference between server RAM and desktop RAM
Lucas Moore - Hostirian Support
One question I'm regularly asked is, "What's the difference between the memory in my server, and the memory in my desktop PC?" Whether you're a system administrator, or a hosting customer who just wants more insight into the hardware behind the service they're buying, a little look into this topic can help you make informed decisions and give you peace of mind.
The main difference between the RAM in a server and the RAM in a desktop comes down to reliability. The components on a server RAM module are 'binned' (that is, they're selected during the manufacturing process) for higher quality. Each component, from the individual DRAM chips, to the resistors and printed circuit board, to finally the entire module, is held to a higher standard, and tested much more intensively than the average desktop RAM module. In desktop RAM, price and then speed are the qualities selected for. This is why you'll notice server RAM is generally much more expensive than its desktop counterpart. Clock-for-clock it also performs more slowly. In other words, PC2-5300 server RAM will support fewer memory operations per second than desktop PC2-5300 RAM.
This price and performance difference is partially just due to the aforementioned selection of components: It takes more time and effort to do the additional selection and testing, thus the higher cost; then by running those higher quality components at lower speeds, they are less stressed, further increasing reliability.
There are other things at work here, though. In the name of reliability, server RAM almost always employs some additional technologies. The most important ones are Registered/Buffered memory, and ECC (Error Correcting Code).
Registered memory uses a device called a 'hardware register', that acts as a buffer between the memory module and the system's memory controller (hence the alternate term 'buffered memory'). This extra component takes some of the electrical load off of the memory controller, which makes the system more stable while allowing for greater amounts of RAM. In many cases, registered memory will be slower than regular desktop memory because of this extra component and the step it adds in working with RAM operations: RAM -> Register -> Memory Controller, instead of RAM -> Memory Controller. In the picture below, you can see a regular DDR2 desktop DIMM (top) and then a DDR2 ECC registered server DIMM (bottom). Note the extra components in the middle of the server DIMM; this is a ready indicator that you're looking at a registered/buffered memory module. These extra components, along with lower production volumes, help account for the added cost of registered memory.
ECC stands for 'Error Correcting Code'. Memory with this technology, when used with a system that supports it can literally correct errors that occur in the data held in RAM. These errors can be caused by anything from cosmic rays to voltage fluctuations in the server's power supply. An error in a single bit could cause your server to crash, or worse still, could corrupt your essential data. A server that supports ECC uses memory that contains extra bits (often called check-bits); the server's memory controller can use these bits to both detect errors and correct errors by doing a series of mathematical operations to compare the data contained in RAM with its theoretical expected result. As a server customer, the main point to take home is that ECC helps your server stay stable and your data remain accurate. Much like registered memory, the components necessary for ECC add some cost and performance penalty, in exchange for greatly enhanced reliability.
For more information, see the following articles: