Another fun way to get corrupted memory is to have some data swapped to disk, but have disk corruption, then have the corrupt disk data restored to memory. Bam. Instant invalid data in memory, but not caused by memory.
Many hashes are fast these days and should be used as checksums in more places since ECC isn't as common as it should be (and ECC doesn't detect all errors anyway).
Are there any technical reasons not to have ECC by default, or is it just market segmentation?
†I'm using a one processor chip X9SAE to type this with, with HDMI output with sound included to my receiver and then monitor.
It is segmentation for sure -- the chipsets and processors can easily support it -- and many of the people throughout this thread really should only be looking at Xeons. If 64GB of RAM and non-ECC memory is really such a problem, which it is for a vanishingly small percentage of users, go with a workstation chip at a small premium and have it all.
It's notable that effectively no mobile devices use ECC memory. Tablets don't. The vast majority of desktops don't. If you believed the rhetoric, these should all be crashing and destroying lives regularly. It turns out that ECC comes into play very, very infrequently. I would never buy a server that didn't have ECC, but on my desktop it just really doesn't matter that much.
Enthusiast testing seems to support this with overhead being <0.5% even for Reg ECC:
https://www.pugetsystems.com/labs/articles/ECC-and-REG-ECC-M...
and still no ECC support, sigh