# ECC vs non-ECC



## michaelrmgreen (Jan 25, 2011)

I note that ALL servers have server specific chip sets and ECC memory, but desktops and laptops do not. 

Can someone, who really understands what the EFFECT* of these differences in technology have, please explain why I can't use a desktop machine as a server and why my desktop doesn't need ECC memory? 

* I understand the technical difference between ECC and non ECC.


----------



## tingo (Jan 25, 2011)

You CAN use your desktop as a server; that's got nothing to do with the issue.
Simply put: ECC is more expensive, and therefore it is only in use on server class hardware (and enthusiast's motherboards).
ECC helps with bit errors in memory; if the errors can be corrected, your server hardware can stay up longer. Easy?


----------



## michaelrmgreen (Jan 25, 2011)

Thanks for that Torfinn.

Off topic, are you any nearer getting DVB-T going on FreeBSD?


----------



## SirDice (Jan 25, 2011)

michaelrmgreen said:
			
		

> please explain why I can't use a desktop machine as a server and why my desktop doesn't need ECC memory?


Says who?

You can use a server as a desktop or a desktop as a server. What defines a box as a server or workstation usually has nothing to do with the (physical) box itself. It's its usage that defines it as a server or a desktop.

That said, real server hardware is build to run for extended lengths of time without faults. ECC memory is just one of those things that minimizes the effects of a fault should it occur. But if you're willing to spend the money there's no reason why you can't get ECC memory in a workstation.


----------



## tingo (Jan 26, 2011)

michaelrmgreen said:
			
		

> Thanks for that Torfinn.
> 
> Off topic, are you any nearer getting DVB-T going on FreeBSD?



DVB-T? I'm trying to get DVB-C working, but no, I haven't gotten closer yet.


----------



## Orum (Jan 28, 2011)

ECC has other implications beyond detecting/correcting errors.  PC Guide alleges that it causes a small performance penalty, and I can believe that.  Also, they will use slightly more power than comparable non-ECC configurations.

If you have time on your hands, I strongly suggest you at least skim Google's paper on memory errors [pdf], too.


----------



## michaelrmgreen (Jan 28, 2011)

@Tingo
Aha. I thought you were trying to get DVB-T going.


----------



## olav (Feb 9, 2011)

This thread will also answer some questions about ECC memory http://forums.freebsd.org/showthread.php?t=14935
For a couple of years ago ECC memory was like 5-10 times more expensive than regular memory. Today the difference is like 20-30%, so I think ECC memory is well spent money no matter what


----------



## aragon (Feb 9, 2011)

olav said:
			
		

> Today the difference is like 20-30%, so I think ECC memory is well spent money no matter what


What about the motherboards to support it...?


----------



## olav (Feb 10, 2011)

aragon said:
			
		

> What about the motherboards to support it...?



Almost all Asus am2/am3 motherboards supports ECC


----------



## michaelrmgreen (Feb 10, 2011)

Hmmm, well at least Supermicro think you can make a server without ECC memory : 

http://www.supermicro.com/products/motherboard/ATOM/ICH9/X7SPA-HF-D525.cfm


----------



## Zare (Feb 10, 2011)

As previously said, you can turn any kind of network capable device into a server. Not only desktops/laptops, smartphones and pads with network connections can act as servers also. It's a role, not a hardware configuration.

But if you want your server to stay up and running for extended periods of time, you need server class hardware. Such as machines with redundant power supplies, fault-tolerant storage system (RAID), etc. ECC memory fits into that bucket too.

Today's high-end desktop processing power equals to that of low-mid-range servers, it's features that make the latter worth buying.


----------



## aragon (Feb 10, 2011)

olav said:
			
		

> Almost all Asus am2/am3 motherboards supports ECC


Yeh, but then we have to use AMD. 

ECC is great, but I wish Intel supported it on their low end systems, especially considering how much cheaper the modules are now.


----------



## olav (Feb 11, 2011)

I think you can use a Supermicro motherboard with an Intel Core i3 cpu and ECC memory. While it's not officially supported it should work according to the information in this thread http://nexenta.org/boards/1/topics/1433



> The IntelÂ® 5 series chipset supports non-ECC memory only when using any of the IntelÂ® Coreâ„¢ i5 or i3 processors. However, using those processors on a workstation motherboard based on 3400 series chipsets it will support ECC and non-ECC memory ... that means that will fully support ECC technology. That means that it will correct single bit memory errors with ECC memory.


----------



## Crivens (Feb 13, 2011)

After the admin of one university department offered to show me the ECC error logs of one machine I decided to go that route for anything that would be running for more than some hours and that has precious data on it. 
Simply imagine a fliped bit in the file system cache, shredding all your family photos, music or other things dear to you. The few extra wampum for ECC will be a good investment. It may be more expensive, but I very much doubt that it will be slower. The ECC algorithm should work pretty good in parallel with the rest, so no memory pipeline stalls should be observable. What could be a reason is the memory sweep which scans the memory for simple errors which can be corrected before they turn into complex errors.

I can say that the Asus motherboards for ECC (not sure which one I got, must look that up if needed) worl pretty good with FreeBSD. For my workstation, the onboard GFX is absolute enough, but the ACPI is, sadly, on the level I came to know from that source. Some fine tuning of the power management is required or the thing will crawl like a snail in a tar pit. I can not comment on the intel hardware - which I try to avoid for several reasons.


----------

