8 ms·
We don't have ECC mainly because Intel has long been hostile to "consumer" access to ECC. Apparently this was conceived as a market segmentation scheme: people
by moloch-hai 4y ago
We don't have ECC mainly because Intel has long been hostile to "consumer" access to ECC.
Apparently this was conceived as a market segmentation scheme: people outfitting servers could get ECC when they pay a huge premium. They would thereby not be tempted to cheap out and buy consumer-grade equipment, otherwise wholly adequate to meet all their needs at a radically cheaper price.
That we cannot get laptops or even desk machines with ECC, and so have them crash frequently, is seen as a trivial side effect of the strategy. If you did not hate Intel enough before, you may increase your hatred accordingly. Intel doesn't hate you back; they simply care not even a little how you feel.
(Historically, just running Microsoft software was overwhelmingly more likely to be the cause of a crash than a memory bit-flip; and there were orders of magnitude fewer RAM bits at risk. Microsoft succeeded in getting customers to accept and even expect frequent crashes; before MS, a program crashing was grounds for a refund.)
- eternityforest 4y agoI used to be a big fan of Intel, up until the latest chips from other companies that seem to have beat them on performance/watt. My next laptop will probably be AMD if the situation hasn't changed.
- vladvasiliu 4y agoI'm happy with my AMD based laptop. But I haven't seen any that support ECC. But I did see a Lenovo model, IIRC, that had some kind of Xeon and ECC. Not sure what the noise and battery life situations on that thing were, though.
- OJFord 4y agoI realise that's blurrier when it comes to laptops, but AIUI it's more a case of whether the motherboard than supports it than about the AMD chip. i.e. given a desktop CPU, as far as I know you can put it in a motherboard that either does or does not support ECC RAM.
- eternityforest 4y agoI'm surprised nobody has made RAM with the ECC logic built into the ram itself, that just looks like normal ram to the CPU.
- AdrianB1 4y agoIt is called DDR5 - it has ECC built in the module itself. Making such a module does not make much sense if you cannot report the rate of errors, so if it is just hiding you have a bad RAM stick there is only so much value in having ECC.
- simoncion 4y agoIt is my understanding that the ECC that you're talking about only protects data-in-flight between the module and whatever is reading or writing the data. It does not protect against corruption of data-at-rest, which is what is protected with ECC in DDR4 and older. It's also my understanding that the DDR5 data-in-flight ECC is a mandatory feature because the link between the memory modules and everything else is so error-prone that the system would simply not function without it.
- eternityforest 4y agoTaking a quick glace at the articles, I think it's the opposite, DDR5 protects data at rest only, because they want to make the chips so unreliable it can't work without it, not the bus. But in practice, it will probably be more reliable than DDR4 without ECC, since now you need 2 cosmic ray flips, or 1 plus a manufacturing defect flip, and the defect flips will probably be uncommon-ish. It's too bad data in flight isn't protected without old fashioned ECC on top of that, but it will probably be a big step up, the same way that flash memory is now very reliable even though the actual uncorrected errors are probably worse under the hood.
- toast0 4y agoThe problem with the DDR5 approach is there's no reporting mechanism, so while it will reduce the error rate of a marginal module, it doesn't let you know so you can replace it. In my experience with ECC modules, a module with some errors is a lot more likely to get more errors than one that's operating with zero errors.
- gruez 4y ago> That we cannot get laptops or even desk machines with ECC, and so have them crash frequently, is seen as a trivial side effect of the strategy I’m not sure what you mean by “frequently”, but my non-ECC machines definitely do not crash “frequently”. > before MS, a program crashing was grounds for a refund Source?
- Brian_K_White 4y agoThe problem with untrusworthy memory (or any other component) is not that your system crashes, it's that it doesn't.
- gruez 4y agoI don't doubt that non-ECC hardware experiences some non-zero number of bitflips per year. I'm just doubting the parent commenter's claim that non-ECC ram is causing computers to crash "frequently".
- layer8 4y agoAnd the parent is pointing out that not crashing on bit flips is exactly the problem.
- moloch-hai 4y agoActually crashing on bit flips is a second problem, and an indicator of the first problem.
- Brian_K_White 4y agoCrashing is "not the problem" because crashing prevents the far worse problem of incorrect data or operation that you don't know is incorrect. The difference in significance is so great that by comparison a mere crash is no problem at all. In fact you design systems with hair triggers to 'crash' on purpose as readily as possible. Trying desperately to crash at all times every millisecond all day every day. IE, halting all operation of some subsystem, or the whole thing, the second a single bit wrong is detected. Better to kill the hd or the entire machine than let it keep running one second after getting any hint it might not be 100% trustworthy. 'crash' in quotes because really all you want to do is halt, and you're doing it on purpose, but that is still a crash, in the sense that your application does not want to halt and it isn't necessarily halted gracefully with any chance to conclude anything or save anything. Those are just more operations you can no longer trust to be correct, and so should not be allowed to do.
- erk__ 4y ago> That we cannot get laptops or even desk machines with ECC The Xeon series of laptop processors does support ECC just at a quite large premium.
- moloch-hai 4y agoYet, actually providing ECC costs practically nothing. RAM could cost something less than 12.5% more, for the extra bits. If end-to-end, the bus might have a few more traces.
- IYasha 4y agoFor this reason for my first truly made-from-scratch home NAS I went AMD64 with ECC UDIMMs. It was some very basic Athlon64, but it COULD do ECC. Since then I moved to Opterons and Xeons but I still remember that choice.
- helf 4y agoI see this a lot but I really don’t think it was/is that simplistic. It’s added complexity and cost for something that rarely would benefit most consumers. Now, you can argue that the complexity and cost is a nonissue on modern setups and I would probably agree. But Intel has long had desktop grade hardware with ECC support. The 440GX chipset supported ECC and I ran a Dell GX1 SFF with 768MB of ECC PC100 for yeeeears with a 450 MHz P3 and later upgraded to 1.4ghz tualatin-256 via a slotket adapter. The 440HX /socket 7/ chipset supported ECC. And that’s a Pentium 1 chipset. The 440BX/GX and 450NX supported ECC and that’s with desktop pentium 2 and 3 chips. The 820/820E/840 supported ECC with desktop celeron and pentium2/3 chips 845/845e/850/850e/860 pentium4 chipsets support ECC 875/e7205/e7221/e7230 did with desktop pentium 4 and pentium d chips 925/925xe/955x/975x did with desktop pentium 4/pentium d/core 2 It’s more sparse now that they moved to the IMC, granted. But Intel has long had multiple chipsets per generation with ECC support for desktop grade hardware.
- gumboza 4y agoI miss the BX chipset. The last PC that wasn't a complete piece of shit I had was a 440BX chipset P3.
- vibrolax 4y agoMe too. I would be running my 440BX today, but all the motherboards died from bad electrolytic capacitors that were endemic in that era.
- gumboza 4y agoNothing you can't fix with Mouser and a soldering iron :)
- accrual 4y agoIndeed, don't throw out old boards due to bad caps. I'm working on building a recapping skill so I can keep my old hardware alive as well. It's pretty cool to have the ability to take old non-working or marginal hardware, apply heat and modern capacitors to it, and make it stable again.
- Gordonjcp 4y ago> That we cannot get laptops or even desk machines with ECC, and so have them crash frequently, is seen as a trivial side effect of the strategy. How frequently would you say you encounter a crash that you can pin down to a lack of ECC memory in your laptop or desktop?
- Filligree 4y agoYou can't, that's the thing, right? I have a Ryzen desktop with ECC, and it registers about one bit-flip per week. I don't know how many of those would become crashes, but I'm more worried about the ones that wouldn't.
- dvaletin 4y agointeresting to see the coincidence with solar flares
- PragmaticPulp 4y ago> I have a Ryzen desktop with ECC, and it registers about one bit-flip per week. This isn’t normal. You have a bad memory module. A non-ECC machine should able to support memtest86 (a rigorous memory testing tool) for a week straight without a single bitflip. Having a bit flip per week is so far away from normal that it’s definitely a bad memory part.
- dijit 4y ago> > I have a Ryzen desktop with ECC, and it registers about one bit-flip per week. > This isn’t normal. You have a bad memory module. > Having a bit flip per week is so far away from normal that it’s definitely a bad memory part. It's hard to know what's normal. If you're somewhere in the world like northern Sweden the chance of cosmic rays goes up from being less protected from the suns rays (Hey, but northern lights!) and if you're at higher altitude; along with less interesting things such as how shielded the ram is (server chassis, if you removed the rack doors or not). Memory density has a lot to go with it too, the chances of bitflips increases a lot. Anyway; regardless of the theory behind it: I've run global operations with multiple-thousands of physical machines with high density ram (and 16-32 DIMMS in each server) and noticed at least 1 bit flip a week on average for each machine. But some locations were worse impacted than others. Annoyingly, ECC is not created equal, there are some correctable bit-flips that are hidden from the iDRAC/iLO: this is the same type of ECC that the rPI is using (referred to as on-die): https://datasheets.raspberrypi.com/rpi4/raspberry-pi-4-product-brief.pdf https://datasheets.raspberrypi.com/rpi4/raspberry-pi-4-produ... As with all things like this YMMV, but ECC is doing a lot of heavy lifting.
- jquery 4y agoMy current PC has ECC memory and I will never go back to non-ECC memory. The stability increase is noticeable, especially when using RAM as a cache drive.
- daniel-cussen 4y ago[dead]