Buffered/ECC compatibility on Desktop Motherboards

zir_blazer

Golden Member
Jun 6, 2013
1,230
529
136
People will surely ask, what is Buffered and ECC? They're both memory modules features that are highly prized for Servers.
Buffered Memory Modules (Also know as "Registered") got an extra buffer chip that while it adds latency that reduces performance slighty (Albeit on old benchmarks I recall, it was quite minor, on the order of 3% or so), it allows to use more RAM that you can with your typical Desktop memory modules. Because the Memory Controller only talks to that buffer chip instead of the individual chips, it generates a lower load on it, so you can use more chips on a Buffered Memory Module, or even Quad Rank modules (32 RAM chips on a single module, standard is 16 for Double Sided and 8 for Single Sided). When you need tons of RAM, you need tons of chips, and Buffered modules allows for that.
You don't really need this on a typical Desktop. However, for people that recalls how things were a decade ago, you may remember that many Processors like the Socket 939 Athlon 64 Winchester had some special rules for the IMC depending on how many Ranks/Chips you wanted to run it with. So if you use a pair of Single Sided DDR Memory Modules it would run at 400 MHz with 1T Command Rate, if they were Double Sided (Or four Single Sided) Command Rate was 2T, and if you wanted to run four Double Sided, they fall back to 333 MHz with 2T (Assuming my memory is correctly, that data is ancient already). I suppose that, assuming that you could use Buffered on Desktop, it would alleviate issues like that where the IMC downclocks the RAM due to the load that you're putting on it, so even through it is slower at the same Frequency, you could, for example, run DDR3 Buffered modules @ 1600 MHz while if you were running Unbuffered modules, maybe they downclocked to 1333 MHz offering overally lower performance.
ECC stands for Error Checking Correction. It is also an extra chip on the module with a minor performance penalty. Due to cosmic rays, radiation, and trash like that, even on a perfectly functional module, sometimes a bit with a value of 0 may turn into a 1, or viceversa, corrupting the data. This may mean that an application may crash or even cause a BSOD. The incidence rate for this was like one corrupted bit per month of 24/7 operation or so, so it was very rare, but if you want a perfectly stable 24/7 system, ECC would be useful if you want top notch stability.

Historically, Server memory modules has been quite more expensive that your standard Desktop memory modules. This doesn't seems to hold true any longer, as I was thinking of adquiring two kits of these (AMD Performance 2 * 8 GB 1866 MHz) for a 32 GB build, but I also saw Server modules like these (Mushkin Proline Buffered/ECC 16 GB 1600 MHz) at around the same price. Considering I was going to go for a 32 GB build, I also considered two of the latter, so I would still have Dual Channel.


Both DDR, DDR2 and DDR3 Memory Modules had four "types":

Unbuffered - This is your standard Desktop memory module
Unbuffered w/ECC - These were extremely rare, but became more common when AMD migrated their Opterons 1xx from Socket 940 to 939 infrastructure and called for Unbuffered ECC as their memory of choice for these entry level Servers. Intel did the same with the Xeon E3 line, that uses your typical LGA 1155 and 1150.
Buffered - Standard RAM for Servers that needs tons of RAM, but usually, for any serious Servers you need ECC too, so I don't think they are very popular. They were the RAM of choice for Socket 940 Athlons 64 FX, remember them?
Buffered w/ECC - Standard RAM for Servers, because you want the best stability with tons of RAM.

DDR2 also had a Fully Buffered variant (FB-DIMM), but the slot is different and physically incompatible, so skip that one.

I also readed around that it was possible on some platforms possible to mix memory modules with and without ECC, and they would all work like if ECC was not present, but I don't need data about different modules types.


On Threads of people asking this on Google, most people replying to these guys would say that I should stick with typical Unbuffered memory modules, but that is not the response I want. From a compatibility standpoint I would agree, however, considering that right now I can get Server grade RAM for the same price that enthusiast Desktop RAM, I would always pick the first because I expect Server stuff to be of higher quality, after all, chances are that they're assuming 24/7 operation. Brand name is important in that market. After all, what I am losing? 5% performance for Server grade stability? I'm in!


Now, the question is about what sort of scenarios there are, and what would happen on them.
For ECC I think you only need BIOS and Memory Controller support. When both AMD and Intel migrated their Uniprocessor Opterons and Xeons line to Desktop infraestructure, these entry level Server platforms were mean to be used with Unbuffered w/ECC Memory Modules. Because these entry level Servers uses pretty much the same infrastructure that Desktop (Processors uses usually the very same physical die with enabled/disabled features and fit in the same Socket, Chipsets may also be the same, etc), I would say that Unbuffered w/ECC should work.
I have seen many AMD ASUS Motherboards that got some ECC options in the BIOS, but never, ever, heared if someone tested that. Intel essencially disables ECC support on the Core i series and only leaves it enabled for the Xeons E3, so you also need Processor support for it, but as far that I am aware AMD doesn't do that. And assuming no BIOS support, I would expect that they DO work, but with ECC disabled like if they were normal Unbuffered.

However, from the Buffered side, I know absolutely NOTHING regarding support on Desktop. I would love to know if someone got them working in a Desktop platform (And that means that the Memory Controller on those Processors support it, so you just need to get Motherboard/BIOS that works with them). What I do recall, is that on some platforms, like AMD Socket 940, you were forced to use Buffered memory modules if you wanted for your Server to boot at all.

Point is that due to the fact that Haswell Xeon V3 are competitively priced against similar Core i5/i7 parts, I was thinking about getting one to use on a Desktop Motherboard for my new build, and with a Xeon, ECC makes sense as I could use it. Yes, with both ECC RAM and a Xeon, suddently a Server Motherboard makes sense, too, but I didn't researched what features I am winning/losing against a Desktop one and the price difference.
On the other hand, requiring Unbuffered w/ECC would limit my memory modules choices instead of being able to use Buffered, as I don't know if they do work.

This would be easier if I were to purchase everything together (Better yet, a proper Dual Processor server. But those are FAR from my budget), but I'm aiming for RAM first and it would have to work on a AMD Socket AM3 Desktop Motherboard until I get cash for Haswell. So compatibility test along some range of Hardware would be interesing to see, even if it was just to see if it works, as that could allow me to purchase Server RAM knowing that I could use it on some Desktop platforms then migrate these modules to a new Server, or combinations like that.
 

milee

Member
Jun 7, 2013
52
0
0
LOL I think it's a question disguised in a wiki.

Short answer:
- AMD yes
- Intel no

2nd short answer:
don't do it

longer:
If you need ECC memory you only have one option: use ECC memory.
The question is: would you like good enough performance with that ECC mem? If no, GOTO AMD (either consumer desktop parts or entry level server). If yes, and giving budget constraints, you have:
- Celeron, Pentium, some i3s, which lets you use ECC memory
- Xeon E3 on C2xx chipset mobos
 

zir_blazer

Golden Member
Jun 6, 2013
1,230
529
136
LOL I think it's a question disguised in a wiki.
Wall of texts are extremely effective to figure out who reads and who doesn't. You did, the other guy didn't.


The question is: would you like good enough performance with that ECC mem? If no, GOTO AMD (either consumer desktop parts or entry level server). If yes, and giving budget constraints, you have:
- Celeron, Pentium, some i3s, which lets you use ECC memory
- Xeon E3 on C2xx chipset mobos
As far that I am aware, ECC support is almost exclusive to Xeons, and can't imagine why they would enable it on their low end Desktop Processors considering you don't have it on the upper Desktop lines.
Besides, are you talking about Unbuffered/ECC or Buffered/ECC? What parts you did actually tested and on what platforms? As far that I am aware, you don't *NEED* ECC support on the Chipset because the Memory Controller is part of the Processor, so it defines if the support is there or not. However, I wouldn't assume that BIOS support for ECC is widespread if you want to use a Xeon E3 on a Desktop Motherboard.
 
Last edited:

tynopik

Diamond Member
Aug 10, 2004
5,245
500
126
as far as i'm aware, buffered/registered ECC is only supported on higher end (E5 and above, not E3) Xeons

for motherboard support, at the lowest end you're looking at stuff like the supermicro x9sra


Point is that due to the fact that Haswell Xeon V3 are competitively priced against similar Core i5/i7 parts, I was thinking about getting one to use on a Desktop Motherboard for my new build, and with a Xeon, ECC makes sense as I could use it.

the haswell xeons you are seeing are E3 and do NOT support registered memory



http://ark.intel.com/products/52269/Intel-Xeon-Processor-E3-1220-(8M-Cache-3_10-GHz)

Max Memory Size (dependent on memory type) 32 GB

http://ark.intel.com/products/64621...5-1620-(10M-Cache-3_60-GHz-0_0-GTs-Intel-QPI)

Max Memory Size (dependent on memory type) 375 GB


http://www.servethehome.com/maximum-memory-haswell-intel-xeon-e31200-v3-series/

As with previous versions, the Haswell Intel Xeon E3-1200 V3 series still utilizes unbuffered memory. It can accept either ECC or non-ECC memory. Larger capacity DIMM types such as Registered DIMMs or LRDIMMs will not work with the Haswell based Intel Xeon E3-1200 V3 series processors.
 
Last edited:

zir_blazer

Golden Member
Jun 6, 2013
1,230
529
136
That sums pretty much everything about Intel platform. So basically, Buffered RAM on the Desktop Sockets infrastructure will not work, but Unbuffered/ECC will with the Xeons E3 - assuming Server Motherboard.

I wonder how it is on AMD side. I recall reading around 9 years ago on AMD Forums about a guy that migrated from a Socket 940 Athlon 64 FX-51 to the Socket 939 version of the Athlon 64 FX-53, and was complaining that his machine was very sluggish. He carried over his old Buffered RAM. So at least at that time, some guy DID manage to boot with Buffered DDR RAM on S939. Never saw anything like that after.
 

tynopik

Diamond Member
Aug 10, 2004
5,245
500
126
Unbuffered/ECC will with the Xeons E3 - assuming Server Motherboard.

it will also work with certain i3 and lower chips


Buffered RAM on the Desktop Sockets infrastructure will not work

well . . . you can use (practically) any motherboard in a desktop . . .

for instance i have an x9sra + e5-1620 + 32GB reg ecc in my desktop
 
Last edited:

smitbret

Diamond Member
Jul 27, 2006
3,382
17
81
Well, I have ECC memory in my Homeserver with an FX-6100. The MB reports that it's working on bootup. Everything installed smoothly, and seemed brisk enough with WHS 2011. I figured any sluggishness was due to being accessed remotely since it is a headless system.
 

Cerb

Elite Member
Aug 26, 2000
17,484
33
86
As far that I am aware, ECC support is almost exclusive to Xeons, and can't imagine why they would enable it on their low end Desktop Processors considering you don't have it on the upper Desktop lines.
Embedded x86.

Besides, are you talking about Unbuffered/ECC or Buffered/ECC? What parts you did actually tested and on what platforms? As far that I am aware, you don't *NEED* ECC support on the Chipset because the Memory Controller is part of the Processor, so it defines if the support is there or not. However, I wouldn't assume that BIOS support for ECC is widespread if you want to use a Xeon E3 on a Desktop Motherboard.
Yes, you do need ECC support on the chipset. It's a form of hardware DRM from your friends at Intel. Only on the C and X series chipsets can it be supported.
 

milee

Member
Jun 7, 2013
52
0
0
Well my answer was based on my understanding that you're on a low budget.
Do you WANT buffered? Why?

I think that what you should do first is making a plan for your workloads, connectivity and expansion of the machine you have in mind.
I get that you need ECC.

So, like I said, you have low end parts from Intel: Celeron, Pentium, and some i3s. If you're into this price point I guess you could also go AMD.

You have Xeon E3 which gives you 32GB of Unbuffered and some expandability options. Great perf for the price, many options for many types of workloads. You can practically config servers and workstations with E3s (the 1275v3 is the exact same thing as the i7 4770K but with the added benefits that were locked on the i7 and the ECC; if you want to go lower, the 1245v3 is the i7 4770; lower? 1225v3 for i5 spec. Each one of these have the 12x0 part if you don't need graphics). So if you're okay with 32GB I think this is the route to choose.

You also have Xeon E5. These give you access to much more than 32GB and they take Buffered! You can go with an E5 1650v2 (hope it'll be a retail part this time not just OEM) and let's say 64GB Buffered. This also more than doubles your expandability. It also doubles your mem bandwidth.

If while reading this you somehow got more cash, you can go higher, like dual E5 2670v2.

So don't build your machine based on some kind of memory you buy first. Spec it with the right kind and amount of memory, but build it for your expected workloads and interactions.