Oh really ECC already supported? Can I replace the current non-ECC memory modules by ECC ones? Hopefully they are pins compatible.
Yes, been using it on Zen 3 DDR4 and Zen 4 DDR5
I don't think cost would be a concern. Those who want ECC will pay. People are ready to sell their kidneys to upgrade CPU with maximum cores, buy GPU at exorbitant prices. Paying a bit extra for ECC is negligible. In fact I checked on eBay that DDR4 ECC memory costs is similar to non-ECC. They just don't have fancy heat sinks.
ECC used to be twice the price of non-ECC, while it's just 9 vs 8 memory chips. Pricing is pretty near linear now, which reflects the 8/9 ratio. Heat sinks on DRAM are mostly used to hide the vendors of the RAM chips, especially on low-margin products.
Furthermore, most of people change their phones every year or two. In spite the old one is still working perfectly. Look like people will buy if the manufacturers just sell it. There is so much waste and useless stuffs people buy and throw away. Saving pennies on a useful feature like ECC looks rather a bad choice.
Couldn't agree more, especially considering that the IBM PC in 1981 came with parity for a reason. But it was a little more than pennies and the clones which made PCs affordable scratched that as one of the first things.
At the current prices, I just buy ECC for peace of mind. Have I ever observed corrupted data because a RAM bit flipped? No, but perhaps I just wasn't looking hard enough.
Maybe there is a deeper reason why ECC is not implemented by default.
There are plenty of reasons, why ECC is not a default. Most of them center around charging a lot extra for little extra effort.
All x86 CPUs Pentium and up support ECC for internal caches and buses, external and internal memory controllers do, too: the extra couple of transistors requried to support that logic might have been significant back when the Pentium launched.
These days eliminating them from a library CPU designers just cut & paste and validating the result would be more effort than just leaving them in: physically it's always there.
Intel for the the longest time couldn't resists charging a hefty premium for actually enabling ECC support, charging for Xeon branded CPUs and workstation class chipsets, that were otherwise identical silicon chips, just different sets of burned fuses.
In the case of the W* chipsets the situation has been especially galling, because Xeon CPUs, who actually do all the ECC work with their embedded memory controllers (since Nehalem?), were relatively easy to obtain, while W* class mainboards, who are really not involved in any of the ECC work and act only as a "license token" for ECC, were very hard to get and often badly badly made.
AMD has consistently seen ECC more as an opportunity to undersell Intel without any extra effort and enabled ECC when it didn't cost
them extra.
Extra cost would be extra pins/lines on sockets, BGA and circuit boards as well as BIOS/driver support and validation.
Especially the latter is still the issue today: mainboard vendors often won't disable ECC but offer no certification of it actually working with proper reporting on your operating system of choice.
If you operate production systems you really want to know if RAM defects are a regular occurance even if they could be corrected, so that you can swap out failing parts.
Where AMD has been following a different path that I find much harder to investigate or explain, are the APUs and non-desktop chips. The AM4/AM5 sockets definitely have the pins, and matching mainboard typically also the traces to support the extra lines for ECC. Yet AM4/5
APUs won't support ECC unless you purchase the "Pro" parts, which have ECC support fused enabled. But those sell via different channels and often cost a bit extra, as a socketed variant.
In notebooks with soldered RAM there is no way to add ECC even if the APU is a Pro part, and Pro there typically just enabled remote management, which is another feature AMD segments in a rather Intel fashion.
But from what I've been able to gather the different variants of BGA sockets Zen 4 APUs were produced in, also vary in their ability to support ECC, because the extra lines might actually be missing in parts destined for the thinnest and lightest laptops, while they are present on embedded and industrial designs: note this is my read on the situation, I'd love to learn actual facts there!
Sorry I couldn't shed more light on this, unfortunately a lot of AMD materials isn't publically available and the press doesn't seem to care or know much about that topic.