One of the things that goes hand-in-hand with being a hardware reviewer is that you'll be asked a lot of questions via email. The volume of these emails is often extraordinary. Over time, you begin to notice a lot of duplication in the questions asked of you to the point where you're digging around in your "sent items" folder looking for your previous response to the same question. Believe me, copy and paste are your friends.
If you read the site on a regular basis you've probably already figured out that Hooz and I are trying to make 2004 our break-out year. As a result, we're going to be attempting to publish more content than ever before. One thing that I decided to try was to take one of the commonly-asked questions that hits my inbox and turn it into an informative article for the masses. If this first attempt is well-received, you can certainly expect more of the same as the year progresses.
The SMP community has grown a lot over the last couple of years, and it gets a lot of its new users from the uniprocessor realm. Many of these new SMPers and others who are simply curious about "our" world are often confused by the different types of memory both available and often required by certain multiple processor platforms. It's with this in mind that we're here today taking a look at unbuffered, registered and ECC memory. If this article prevents one reader from purchasing unbuffered memory for his/her Serverworks GC-SL based motherboard, it's been a success.
Let's briefly talk about unbuffered, registered and ECC memory and then take a look at how what type of memory you decide to purchase can impact overall performance. I'm fortunate to have an MSI Master LS2 in my possession which is an Intel E7505-based board that will happily take unbuffered or registered memory and also supports ECC.
Unbuffered Memory
As I was testing the different memory types, I was curious how Sisoft Sandra would interpret the differences. I decided to include a small screenshot for giggles.
There really isn't a lot to say from a technical perspective about unbuffered memory. It's what the vast majority of PCs on the planet use. Essentially, with unbuffered memory the chipset deals directly with the memory itself. There is nothing in between the two parties as they communicate.
Registered Memory
Registered memory is where the fun begins. I have defined in the past, wayyy back in my Iwill DVD266-R review. I'll use the same quote I did then:
"Registered modules have additional components (registers) placed between the incoming address and control information and the SDRAM components. These modules are typically used in Servers due to their added reliability (they place much less of an electrical load on the memory controller and therefore make it possible to have as many as 16 or 32 modules in a large system)."
From what I've read, a stick of memory that contains registers will actually hold data for one full clock cycle before it's passed on. A small performance hit is generally incurred as a result. Registered memory is all about scalability and stability.
What about these additional components? Will I easily be able to tell the difference between a registered stick of memory and a regular unbuffered stick?
As you can see, the registered stick of memory does have additional chips which are often located at the bottom of the module, increasing its height. The shot above is of my Crucial registered/ECC PC2700 DDR which was laid out in a way to maintain the standard height and be ideal for 1U rackmount solutions where vertical space is at a premium. Here is a shot of registered DDR I've owned in the past that was a more typical height for registered modules.
If you're in the market for a motherboard be sure to check the detailed specifications so that you know whether or not the motherboard in question uses a chipset that requires the use of registered memory. Serverworks chipsets are a good example of this. They're aimed directly at the server market and require that the memory used be registered.
ECC Memory
I've heard a couple of different takes on the ECC acronym over the years: Error Checking and Correction and Error-Correcting Code memory. Whatever you choose to call it, ECC memory includes special circuitry for testing the accuracy of data as it passes in and out of memory. One common misconception is that if a stick of memory is capable of ECC it must also be registered (this is certainly a common combination). This is incorrect as you can find unbuffered, ECC modules if you look hard enough.
As a general rule, a quick way to find out if a stick of memory is capable of ECC is to count the number of DRAM chips on the module. If you look closely at the pictures above, you'll note that the unbuffered stick has 8 separate DRAM chips on the module while the registered/ECC part has 9. It's the 9th chip that allows for the 8-bits of error checking and correction, if needed.
|