Updated Linux creator Linus Torvalds has accused Intel of preventing widespread use of error-correcting memory and being "instrumental in killing the whole ECC industry with its horribly bad market segmentation."
ECC stands for error-correcting code. ECC memory uses additional parity bits to verify that the data read from memory is the same as the data that was written. Without this check, memory is vulnerable to occasional corruption where a bit is flipped spontaneously, for example, by background radiation. Memory can also be attacked using a technique called Rowhammer, where rapid repeated reads of the same memory locations can cause adjacent locations to change their state.
ECC memory solves these problems – well, ish, in the case of Rowhammer – and has been available for over 50 years yet most personal computers do not use it. Cost is a factor but what riles Torvalds is that Intel has made ECC support a feature of its Xeon range, aimed at servers and high-end workstations, and does not support it in other ranges such as the Core series.
A promotional video on Intel's website explains that "with today's fast CPU and memory speeds, soft memory errors occur more and more frequently... corruption of critical data can be disastrous to business performance and company reputation. Intel's Xeon processors and error-correcting code, or ECC memory, work together to automatically find and fix soft memory errors."
An Intel ad proclaims that "1 in 3 systems experience one or more correctable memory errors a year... ECC memory available on servers, not available on desktop PCs."
Linux 5.11 dominated by descriptors for new AMD siliconREAD MORE
The topic came up in a discussion about AMD's new Zen 3 Ryzen 9 5000 series processors on the Real World Tech forum site. AMD has semi-official ECC support in most of its processors. "I don't really see AMD's unofficial ECC support being a big deal," said an unwary contributor.
"ECC absolutely matters," retorted Torvalds. "Intel has been detrimental to the whole industry and to users because of their bad and misguided policies wrt ECC. Seriously. And if you don't believe me, then just look at multiple generations of rowhammer, where each time Intel and memory manufacturers bleated about how it's going to be fixed next time... And yes, that was – again – entirely about the misguided and arse-backwards policy of 'consumers don't need ECC', which made the market for ECC memory go away."
The accusation is significant particularly at a time when security issues are high on the agenda. The suggestion is that Intel's marketing decisions have held back adoption of a technology that makes users more secure – though rowhammer is only one of many potential attack mechanisms – as well as making PCs more stable.
"The arguments against ECC were always complete and utter garbage. Now even the memory manufacturers are starting to do ECC internally because they finally owned up to the fact that they absolutely have to," said Torvalds.
Torvalds said that Xeon prices deterred usage. "I used to look at the Xeon CPU's, and I could never really make the math work. The Intel math was basically that you get twice the CPU for five times the price. So for my personal workstations, I ended up using Intel consumer CPU's." Prices, he said, dropped last year "because of Ryzen and Threadripper... but it was a 'too little, much too late' situation."
By way of mitigation, he added that "apart from their ECC stance I was perfectly happy with [Intel's] consumer offerings."
Intel's marketing strategy is perhaps now working against it as ECC could become a selling point for AMD, though ECC memory requires support from both motherboard and CPU. "Intel's marketing antics meant that there was a pent up demand for alternatives. Obviously the ARM people would have loved to fill that demand, but right now it's AMD that stepped up instead," Torvalds said.
Currently AMD's ECC support in its Ryzen range is unofficial, which is a problem: many motherboards do not support it, or do not advertise support, and business users will be correspondingly wary of relying on it.
We have asked Intel and AMD for comment.
Updated on 6 January at 11.27GMT to add:
Intel has sent us a statement: "Intel supports and validates ECC on products where this feature is recommended by the industry. The industry has defined that ECC memory is most important for data integrity with servers and workstations where Intel supports it with Intel Xeon processors.” ®