Selecting reliable server memory: ECC
Registered DDR
When sourcing memory for the Tyan Thunder i7501
Xtreme, as with any Xeon server motherboard, we have to select identical pairs
of ECC Registered DDR memory. If you aren't familiar with the differences
between standard unbuffered DDR RAM, ECC DDR RAM, Registered DDR RAM or
Registered ECC DDR RAM, it works like this....
Normal
everyday desktop PCs use standard unbuffered DDR
RAM, which while sufficient for that purpose, is not reliable or stable enough
for use in servers.
Error Correction Code (ECC) DDR adds a ninth DRAM
module to each memory bank (each side of a DIMM is one memory bank) which allows
the memory to do parity bit check of the data it stores before even sending that
data on to the memory controller. Because of the extra safety measure, there is
a small performance penalty when using ECC memory vs. unbuffered DDR, but in
server applications data integrity is the most vital aspect.
Registered memory according to Crucial,
"Registers delay
memory information for one clock cycle to ensure all communication from the
chipset is collected by the clock edge, providing a controlled delay on heavily
loaded memories." Servers are not normal PC's and almost always have a large
pool of memory. With unbuffered memory, when the chipset sends a signal out,
every DRAM module would receive the information which is very inefficient and
puts a heavy load on the memory controller.
For instance on a single DIMM system, there would be eight
or nine (ECC) DRAM modules or loads according to the memory controller. When you
use a dual bank DIMM the load doubles to 16 or 18, on servers things get more
complicated when you deal with stacked memory. Modern desktop PC's can only
handle a load of 32 (36 if using ECC), that's why many desktop chipsets can only
use a maximum of four banks of memory.
The Intel E7501 though can handle a much higher
load thanks to the use of registered memory. The address signals go first into
the register chip instead of directly into the memory like on unbuffered
DIMM's. These registers hold data for a clock cycle to collect all the data
that's to be computed by the memory.
Here's
an example. If we use six 1GB registered ECC stacked DIMM's on a server, instead
of having to address 196 loads, the memory controller only has to deal with 6
thanks to the use of the registers which act as a buffer. This puts much less
stress on the memory controller and has the potential for less
corruption.
Because the register chips store data for one
clock cycle, there is a performance penalty when using registered
memory.
Registered and ECC memory usually go hand in hand but it is
possible to find unbuffered ECC memory and non ECC registered memory. They're
not that common, but they do exist. For this review, PCSTATS is using two 1GB ECC
Registered Corsair PC2100 DDR modules, for a total memory capacity of 2GB.
Corsair are well respected for producing reliable memory, and so this was a
natural decision. Still, PCSTATS would like to thank Corsair for assisting us with
the server memory used in this review. We were lucky enough to get to get to
play with two of their 1GB stacked PC2100 Registered ECC memory modules.
Depending on the application a server is tasked
with, more memory may be required, however for web server-oriented applications
2GB is sufficient to begin with.