Our eleventeenth Q & A of the week comes from Jim via the PCstats reader feedback page
. If you have a question you need answered right
away, try our friendly forums
for help too.
Q: In your article for beginners about memory, you never mentioned ECC. Exactly what is ECC
Registration and does it work with any memory
configuration?
A: ECC memory modules and registered memory modules are actually two different things, but they are so often
combined together that they have become one in many people's minds.
ECC stands for
either Error Checking and Correcting or Error Correcting Code depending on who you
ask, but what it boils down to is that each memory module
has an extra chip that analyzes the data being written onto
the memory module and stores an eight-bit number hashed from each 64-bit section of
data stored on the module.
When the same data is read from the memory, it is first compared to its
eight-bit ECC hash to ensure that it has not changed while being stored. ECC memory can actually correct single-bit errors, making
it suitable for server applications where data integrity is absolutely essential.
Registered
(or buffered) memory has data registers (small memory storage areas) built into
each memory module. These registers handle the data flowing from the memory to
the motherboard, and can delay it so that systems with large amounts of memory
can better synchronize reading from memory. As you would expect, this can reduce
overall memory bandwidth and slow performance while increasing overall
stability. All modern desktop and laptop PCs use unbuffered memory which has
neither ECC nor registers. Modern memory is extremely unlikely to suffer errors
during normal use, so these technologies are restricted to business and server
computer markets.