3 ms·
> I’ve found by reading papers about it that 1 bit error per 4 GB RAM per 3 days is guaranteed to happen. That is very, very dubious indeed. I can't believe th
by zasdffaa 4y ago
> I’ve found by reading papers about it that 1 bit error per 4 GB RAM per 3 days is guaranteed to happen.
That is very, very dubious indeed. I can't believe there's no ECC between ram and cpu, it's not credible for anything but a cheap home machine. Any sources?
- Tuna-Fish 4y agoIt sounds wrong because it is wrong. In general, error rates in the modules scale with the physical volume of the chips, not the amount of memory they contain (because the primary root cause is cosmic rays or radioactive contamination inside the chips). Error rates on the bus mostly depend on external circumstances, and scale with transfer amounts, not memory amounts. Most paper characterizing errors are very old (so they used memory chips with large feature sizes), and they scaled their error rates by memory amount (because they didn't know better). This results in massively overinflated error bit rates. It's possible to prove that this is wrong very easily by just writing a program that allocates a large pool of ram, and constantly reads it and writes back to it over a period of time, and then check results after a while. I once did this for an argument on the internet about this -- on my old Intel Sandy bridge system with 16GB non-ecc ram, I allocated a pool of 8GB, wrote ascending integers from 0 to 2^31 to it, and then iterated over it, just reading it in, checking if it's still correct and terminating if it's not, and writing it back out to same address. This program ran for a week with no errors before I had to end it because I needed the machine. 1 bit error per 1.333GB*days is completely not credible.
- temac 4y agoI don't completely understand your conversation. Maybe the error rate is inflated, but as for: > . I can't believe there's no ECC between ram and cpu, it's not credible for anything but a cheap home machine. it is absolutely not wrong: there is no ECC between CPU and RAM for most consumer and desktop computers, and even tons of embedded systems, and that's basically the only bus lacking even basic integrity checks, so there really should be some ECC also there, nearly everywhere.
- zasdffaa 4y agoIsn't my "cheap home machine" equivalent to your "most consumer and desktop computers"? As for embedded, I'd be surprised if there's ECC at all, never mind on the bus (with the exception of high reliability stuff like spacecraft and factory controllers. Clocks, cookers, microwaves, etc don't count).
- temac 4y ago> Isn't my "cheap home machine" equivalent to your "most consumer and desktop computers"? Kind of, that's why I was I was saying it is not wrong. IMO though, there should be ECC on everything but the really cheapest computers and if the application even allows it, meaning ECC for business desktop computers, and home computers marketed as using state of the art tech, like Core processors. Maybe you can avoid it in game consoles, or computers marketed for 99% gaming (except they risk being expensive and using good quality processors, so what's the point), but that should be it.
- adrian_b 4y agoI believe that there might have been a typo in what the previous poster has written. IIRC, the error rate is more like 1 bit error per 4 GB RAM per 30 days (in the relatively recent studies made by Google for their servers). Nevertheless, that is still not negligible. For workstations and servers with 64 GB DRAM or more, the errors can become frequent. Also, at high altitude the error rate is higher. Moreover, besides the errors due to radiation, there are errors caused by electrical noise, which can become more frequent in old computers with cheap DIMM sockets, whose contacts have oxidized. (I actually had this problem in some HP laptops, which had been stored for a long time without being used; being cold made the SODIMM sockets more vulnerable to humidity; after identifying the cause and scrubbing the sockets, the frequent memory errors disappeared.)