Jump to content
Sign in to follow this  
Master_Scythe

ECC ram

Recommended Posts

So I'm pretty happy,

 

My little server went from 2GB of ram to 8GB of ram last night, so I can finally make a ZFS pool for my data (reliably).

With ECC off, we're 24 hour memtest perfect.

I'll give it an 8 hour with ECC on tonight, and if it passes, it's back into commission!

 

My question is this;

 

When setting ECC settings on consumer motherboards, (and some servers) you get "ECC level" as an option, and it looks pretty much like this:

 

https://i.reddituploads.com/e4a5da68d70f4f82b8842377e73594d8?fit=max&h=1536&w=1536&s=440b6ecb119de76b3abe62c604ead149

 

What level should I be enabling?

If I turn "Basic" on, it enables "ECC Enable" but all the scrubs remain off.

Is this still ECC-ing my data?

If I take it to 'max' the scrubs all turn on, and are done quite regularly.

 

There's 4 levels with various mishmash of 'enabled' and 'disabled' throughout.

While I've googled the terms and know the fundamentals of what they do, there's no clear cut answer on what's best for a home server.

It's probably because I don't know off the top of my head what path data takes on a board\between caches, so I dont know where and what is important.

 

Thanks fellas (and dames!)

Share this post


Link to post
Share on other sites

Scrubbing is the process of reading the memory back, verifying it's correct and if necessary writing it back after applying correction using the ECC data.

 

Provides protection for inadvertant errors such as cosmic rays - generally the chance of such things is very low but given the high amounts of Ram and long periods of storage in servers in fact the chance for error becomes higher.

 

For the home gamer I don't think it'd be required, just ECC in itself is plenty but I guess you could enable it at the lowest setting, naturally there'd be a performance hit for each extra level of vigilance. The overhead - well, with DRam you get some overhead just for memory refresh but I imagine scrubbing would be somewhat higher and just verification of a single unit (8 bytes?) would probably require multiple accesses (though the ECC data in itself is a fraction of the overall payload so would be spread among multiple words).

Share this post


Link to post
Share on other sites

Scrubbing is the process of reading the memory back, verifying it's correct and if necessary writing it back after applying correction using the ECC data.

 

Provides protection for inadvertant errors such as cosmic rays - generally the chance of such things is very low but given the high amounts of Ram and long periods of storage in servers in fact the chance for error becomes higher.

 

For the home gamer I don't think it'd be required, just ECC in itself is plenty but I guess you could enable it at the lowest setting, naturally there'd be a performance hit for each extra level of vigilance. The overhead - well, with DRam you get some overhead just for memory refresh but I imagine scrubbing would be somewhat higher and just verification of a single unit (8 bytes?) would probably require multiple accesses (though the ECC data in itself is a fraction of the overall payload so would be spread among multiple words).

 

Right, makes sense.

 

Am I right in my conclusion, that in a server doing purely Storage duty to usually 1 user, and at most 5, I'm not going to feel the performance hit?

So if I set it at MAX, there's no down side, only positives, because the little more latency is nothing from that light use point?

I think at max it scrubs ALL the caches at roughly 1 full scrub per 8 hours (might be 16 hours, with 8GB of ram).

 

I can change the values in Milliseconds, so if there's a reason to 'tweak' I can, but really, I just want 0 chance of memory errors on my storage server.

 

Max it out?

Share this post


Link to post
Share on other sites

I guess give it a try. For sure there must be some performance evaluation docs around relating to this, even if it's 2 vs 1% overhead it'd still be worth knowing about.

Share this post


Link to post
Share on other sites

I guess give it a try. For sure there must be some performance evaluation docs around relating to this, even if it's 2 vs 1% overhead it'd still be worth knowing about.

 

Well from a usability standpoint I don't notice it, but last thing I want to do is risk introducing some form of stability problems or further chance for error bits by enabling something that's considered oddball or 'debugging' or some shit.

As I said, I'm a complete novice in this, last time I dealt with ECC, and in all the dell and HP servers we have, they're simply 'on' or 'off'.

Share this post


Link to post
Share on other sites

I'd say the high settings are best suited to risky situations like high altitude stuff (think a server inside an astronomical research aircraft) or where there's lots of interference or crappy power coming in.

 

The thing is, you have ECC to begin with which has the high chance of fixing those minor soft errors though by it's nature ECC can fall over if there's a lot of errors in adjacent areas in a short time.

It all comes down to probability, every bit of extra protection contributes but it'd probably be a case of diminishing returns vs the extra overhead.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×