6 ms·
ECC RAM not being in consumer PCs is largely a market segmentation pushed by Intel[1]. It is in fact quite ridiculous if you consider that essentially every oth
by blattimwind 8y ago
ECC RAM not being in consumer PCs is largely a market segmentation pushed by Intel[1]. It is in fact quite ridiculous if you consider that essentially every other bus, interconnect and storage in your computer has error correction except _main_ memory (and the main memory bus). If it weren't so normalized we'd go like "Dude, do you even realize how lol it is to have no parity on all of the most important data the computer is working with?!".
Also the lost productivity due to main memory errors not being detected probably easily goes into the billions. Thanks, Intel.
[1] There was a time when consumer systems genuinely didn't support ECC for lack of hardware support. This hasn't been the case for many, many years.
- WrtCdEvrydy 8y agoIntel: Fuck You, Pay Me.
- kllrnohj 8y agoI don't believe any CPU cache has ECC, either. Which is where the memory you're actually working with lives. Also no other interconnect in your system is as much of a bottleneck as the one to main memory is. It's worth keeping that in mind before entirely blaming this on "market segmentation". ECC RAM does actually slow down the part of a system that is already the bottleneck in most common situations.
- blattimwind 8y ago> I don't believe any CPU cache has ECC, either. Which is where the memory you're actually working with lives. I'm not aware of any desktop CPU that doesn't have ECC caches. CPU internal busses use ECC and external interconnects (e.g. PCIe, DMI, QPI/UPI) use it as well. > ECC RAM does actually slow down the part of a system that is already the bottleneck in most common situations. ECC invariably introduces some additional latency in the memory controller, but I don't see a persuasive argument why it would reduce throughput. It would surprise me if this additional latency is measurable, given that the ECC logic is already in the core and in the data path anyway, and the system configuration (AMD, Intel) / CPU fuses (Intel) only decide whether it is active. That being said buffered ECC modules are usually not the fastest. I don't think that this is due to any technical limitation per se, but rather market demand (cost, perf per Watt).
- kllrnohj 8y ago> I'm not aware of any desktop CPU that doesn't have ECC caches. CPU internal busses use ECC and external interconnects (e.g. PCIe, DMI, QPI/UPI) use it as well. I believe all of those are just parity checked and not ECC? > ECC invariably introduces some additional latency in the memory controller Latency is a non-trivial factor here, too, though. > That being said buffered ECC modules are usually not the fastest. I don't think that this is due to any technical limitation per se, but rather market demand (cost, perf per Watt). Poking around it looks like ECC RAM tops out at DDR4 2666 @ 1.2v. By comparison there's no shortage of DDR4 3200+ options at 1.2v. Whether or not this is purely market demand or not, it doesn't seem like there's a purely power reason for it. But you also can't solely blame Intel for a lack of market demand. Even when the choice is there nobody seems to be making ECC memory for high-end desktop usages. Where's the DDR4 3200 for Threadripper or Xeon-W workstations, for example? They surely benefit from the improved bandwidth, or else they wouldn't have triple & quad channel memory. And they'd surely pay the price of admission, because we're talking $3,000+ entry points for builds.
- blattimwind 8y agoCaches are definitely ECC, because the corresponding MCEs can tell the system both that an error was detected and corrected, and that an uncorrectable error occured (which by default leads to a kernel panic iirc).
- agapon 8y agoActually, all modern CPUs have ECC protected caches and they have MCA events to report any problems with them too.