(no title)
frankreyes | 2 years ago
Some industries require to be able to reproduce exact bit by bit data.
Anything that requires absolute bit certainty, for example digital signatures, encryption, or financial information, will require ECC.
If you don't care if your files eventually don't match a sha256 checksum, you'll be fine. for example source code, it doesn't matter because in the worst case, your code won't compile because variable names got flipped.
And even then, if you're using Git for source code control, you're already using hash signatures to detect data corruption, as well as a very large redundancy and replication. Git is, in a philosophical way, ECC by software.
maccard|2 years ago
Totally, and I get that. We've got people in this thread who are saying that non-ECC ram shouldn't be trusted [0], or that it should be standard [1]. I get the use cases, but why do I want that on my workstation.
> your code won't compile because variable names got flipped.
I have _never_ seen or even heard of this or anything vaguely resembling this happening. Are there any writeups of this anywhere at all?
[0] https://news.ycombinator.com/item?id=37829796
[1] https://news.ycombinator.com/item?id=37828865
frankreyes|2 years ago
ECC is expensive just because Intel had a monopoly over the server segment, and unilaterally forced desktop not to use ECC.
Otherwise people would use desktop computers as servers, and that would reduce profits.
At work, my workstation Desktop computer has ECC. The colleague's sitting next to me has on their screen sometimes kernel warnings of ECC errors.
And cases of bit flips happen every day, that's why some problems are solved by just restarting your computer or the software. I'd argue that many times we blame software bugs on pure hardware bit flips.
Here's a story of a variable name bit flip: https://alexbakker.me/post/did-cosmic-rays-break-my-linux-bu...
Bit flips usually affect operating system stuff, here's another story: https://blogs.oracle.com/linux/post/attack-of-the-cosmic-ray...