I have an old PowerEdge 850 server containing a Pentium D 820 chip. The chipset supports ECC and comes with stock ECC memory from Dell. However, the CPU itself does not support ECC according to Intel's website. What does this mean?
migrated from stackoverflow.com Mar 15 '11 at 16:59
This question came from our site for professional and enthusiast programmers.
Since Pentium D chips do not have an integrated memory controller (the memory controller is part of the motherboard chipset in this case), the processor has very little to do with whether the memory runs in ECC mode. If the BIOS includes the proper memory reference code to set up the ECC memory (buffered or unbuffered) then the memory will run in ECC mode (correcting single bit errors, that is). And you will get what I want out of ECC memory.
Error reporting might fail to work properly however, because that involves the south bridge (ICH7 or whatever) and the CPU. So it may or may not properly report double bit errors.
And of course all the chips in the system are initialised by the BIOS, so it significantly affects the DIMMs you can use, and whether the ECC memory is used as non-ECC memory, or limited ECC memory or whatever.
This is one of the reasons I find BIOS fascinating: it is where a lot of the difference between two otherwise similar platforms gets created.
It just won't use the ECC functions of the memory if you put in unbuffered ECC RAM in. If you put in ECC Registered RAM, it probably won't POST.