Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have read a couple of blog posts on the Internet that appear to imply one can boot at least some i7 motherboards with unbuffered ECC memory and a Xeon 43xx processor installed.

I can boot my MSI P55-GD80 motherboard with an X4370 processor and standard non-ECC memory, but it hangs with an FF post code when I install two unbuffered ECC memory DIMMs. Interestingly, if I install the memory incorrectly, it does display a short sequence of post codes, followed by sounding the no-memory beep code.

I have a long project planned to hack the memory reference code to permit booting with the ECC DIMMs (without ECC enabled), followed by enabling single bit error correction as a second project.

Has anyone tried to do this? Successfully?

share|improve this question

migrated from stackoverflow.com May 16 '11 at 22:09

This question came from our site for professional and enthusiast programmers.

    
The majority of consumer motherboards don't support ECC ram. Have you checked the specs on the motherboard to see if it supports ECC? Alternatively, can you try using the ECC memory on that motherboard with a known good CPU (like an i7)? –  Fopedush May 16 '11 at 22:12
    
But ECC is compatible isnt it? Just the ECC wont be used. –  chx May 16 '11 at 22:35
    
Not always the case. I've seen non-ECC boards fail to post after installing ECC ram. –  Fopedush May 16 '11 at 22:37

2 Answers 2

I used to write BIOSes for a living and I'm still involved in that business but don't get to do a lot of interesting coding any more.

Answering the answer: why would I want to buy an expensive motherboard with limited PCI-e expansion capability for a workstation? When better hardware is available much cheaper? I think the answer is obvious. It is to me. I want the best hardware for my software development. And the server board benefits (an iBMC and support for remote management) don't seem worth much to me in my circumstances.

Yet I know 16 GB of non-ECC memory (my target configuration) is going to generate panics and corrupted sectors on my hard drives pretty regularly. Numbers like one memory failure every few days seems pretty common in articles on the web discussing systems with that amount of RAM.

With 16 GB of non-ECC memory in this motherboard I am seeing 2-3 failures per week running a stock memory diagnostic (I've not been able to test the ECC configuration, of course, but I would expect the failure probability to drop to virtually 0 if I required 2 of those 3 failures to occur in the same 64-bit word).

That seems pretty much what I should expect, and is enough of a problem for me that I'm willing to put some coding effort into eliminating the problem.

I also don't want to just fly off and do a hack on my own if someone else has already done some investigation of the situation. Unfortunately, I don't know enough people who have hacked BIOSes to have personal connections. Thus the question.

But if I am the only one looking at the problem, I am a bit surprised, but I don't mind digging further into hacking a BIOS. It may or may not be worth the trouble.

That's why I put the question in a programming question area, not an admin area. This does require changing the BIOS code (I would be very surprised if it did not, quite frankly).

I am fairly confident that the system hardware (with the possible exception of missing 8 or 16 wires for the 8 parity bits) is capable of running in full ECC mode - the processor includes an ECC capable memory controller, the DIMMs are unbuffered ECC DIMMs with the same electrical requirements unbuffered non-ECC DIMMs have, so the only motherboard feature involved is the set of wires and passive components that connect the two.

And in response to the comment that 85% of consumer boards will fail to boot with ECC: my experience is in the same ball park. Without modifying the contents of the SPD EEPROMs on the DIMMs, EVERY consumer board I have booted fails to boot with ECC DIMMs installed (all were DDR and DDR2 boards, not DDR3, though). However, with hacked ECC DIMMs, every one of them did boot successfully and the ones I ran memory diags on all ran for days with no errors. So the failure to boot is a decision made by the motherboard firmware/BIOS or something else that reads the SPD EEPROM contents.

WRT the note about the failure sequence making sense: what bothers me is that I see NO indication that the BIOS is following that sequence. It appears to be testing for validly installed ECC DIMMs first (since I see no PORT80 codes displayed in the case of the validly installed ECC DIMMs), then does some other stuff (several PORT80 codes) and finally reports the invalidly installed ECC DIMMs are not installed in the correct slots.

I actually find this promising since it makes me think there may be an explicit test for ECC DIMMs executed early in POST (possibly to prevent the system from running with a Xeon processor and ECC DIMMs).

share|improve this answer

I am completely confused as to why you would do this, but the short answer is: No, you aren't going to get (most) consumer Intel chipset boards to boot with ECC RAM. If you want ECC RAM, get a server chipset board.

Can you hack it? Maybe. Is there some obscure board out there with munged up reference codes that will boot it? Probably. Is it the norm? No.

To expand on what Fopedush said: I've seen most (as in 85%+) consumer boards fail to boot with ECC RAM. It's simply not something most consumer boards care to do, or are engineered to do. Generally if one has gone through all the expense to get a Xeon processor and ECC RAM, they'll just get a server board to put it on.

e: One other thing to note: You said it will give you post codes when the RAM is seated incorrectly, and this makes perfect sense. The boot up process first checks that any RAM is installed, then checks if it's installed correctly, then finally checks if it's compatible. It's going to hit the "installed incorrectly" check before it hits the "this is ECC RAM and I can't boot it" check. ECC RAM is still just 240-pin SDRAM at it's core.

share|improve this answer
    
If you pass the first two checks, then it actually is compatible. And the failure with ECC memory installed is an explicit design goal, rather than a consequence of some inherent incompatibility. –  Ben Voigt Oct 16 '12 at 19:18

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.