9 ms·
Options for genuine ECC RAM on the desktop in (early) 2024
- muro 3y agoYou can also get a threadripper pro
- jrockway 3y agoThe non-pro threadrippers also use ECC now.
- treprinum 3y agoThey always used ECC but in UDIMMs, not RDIMMs.
- _JamesA_ 3y agoWhat is the difference between UDIMM and RDIMM and which one is preferred and why? It seems RDIMM’s are mostly supported on higher end server boards but I haven’t seen a technical comparison of the two types.
- da768 3y agoRDIMMs have buffers on the memory lines to improve signal integrity, this is only helpful when there are many slots on the same memory controller channel. (ex. Servers often support 4 DIMMs per channel)
- loeg 3y agoI think RDIMMs are available in higher capacities than UDIMMs. But the registering adds additional latency. So if you need the capacity, RDIMM is the way to go. But if you don't, you might prefer UDIMMs.
- deleted 3y ago[deleted]
- badgersnake 3y agoI bought a second hand first gen EPYC for my desktop. I’m not sure it was a great idea overall but it does work fine and I have 128gb full ECC, two M2 slots on the board and many many PCIe 3x lanes for anything else I want to add. The built in BMC is handy for remote access. The 32 cores is pretty pointless, I very rarely use more than half. And it probably uses way to much power.
- da768 3y agoSuperMicro finally got into AMD desktop CPU boards, if they added USB4 and faster networking to this one we'd have a winner https://www.supermicro.com/en/products/motherboard/h13sae-mf https://www.supermicro.com/en/products/motherboard/h13sae-mf
- deleted 3y ago[deleted]
- sirlancer 3y agoI was pleasantly surprised a few days ago to find Supermicro sells a 3U chassis that runs 8x Ryzen 7000 series CPUs supporting ECC. If one doesn’t need more than 128GB of RAM per system then they can get much higher clock speeds at a much lower power envelope than an EPYC CPU with an equivalent core count.
- JonChesterfield 3y agoThat should be a much higher power envelope, no? I'm struggling to think of a workload that would like eight 8/12/16 core systems on a network more than one 64 or 128 core chip on the grounds that latency is harder to find than bandwidth.
- adrian_b 3y agoThe performance per dollar of Ryzen 7950X is many times higher than of any Epyc or Threadripper CPUs, even after adding the costs of the motherboards, coolers, cases and PSUs. The DRAM bandwidth per core is identical for Ryzen 7950X and for 96-core Genoa Epyc CPUs. On the other hand, the Epyc CPUs with high-core count have a better performance per watt. So the initial cost for a cluster of Ryzen servers is many times less. Depending on the cost of electricity, if an Epyc server is used 24/7, after some years the expenses with it may become lower than with Ryzen. If the server is used intermittently, the total cost of ownership may remain lower with Ryzen until the end of life. The only certain advantages of Epyc are the ability of aggregating a higher amount of memory, especially if it is preferable to have it inside a single box, and the faster inter-core communication for applications that use all cores (as opposed to the case when the cores are partitioned between weakly-coupled applications, e.g. between different virtual machines). The prices of the Epyc CPUs have increased a lot since their first generation until now. With Zen 1, a server with any Ryzen would not have been competitive with a server with Epyc. Meanwhile, the ratio between the prices per core of Epyc and Ryzen has increased a lot, while the ratio between the performance per core of Epyc and Ryzen has decreased a lot, because the clock frequency of Ryzens has become much greater while that of Epycs has increased only a little. These two evolutions combined have made that now the servers with Ryzen have become preferable to servers with Epyc in many cases. AMD has realized that they no longer have a solution for cheap servers, so in theory they have introduced the Siena CPUs for this purpose. Nevertheless, those remain somewhat too expensive and moreover they are nowhere to be seen.
- snvzz 3y agoI wish regulators would step in to enforce ECC in consumer devices. Otherwise, organizations such as Microsoft (windows readyness logo) or RISC-V (application profiles such as RVA23) could make it a requirement. It is clear that we can't just rely on the hardware vendors to do it, and practically nobody should be running computers w/o ECC.
- School-Cotton 3y ago> practically nobody should be running computers w/o ECC Why? I’ve done so my whole life with zero problems.
- frognumber 3y agoI envy you. A life with zero problems.... I think you're probably the only person in the universe so fortunate. Here's the basic set of problems: 1) ECC is almost free if done at scale (e.g. every computer). The only reason it costs extra is that it is only done for high-paying customers and in limited volume. 2) Computer crashes cost lives. If e.g. your doctor's device has an issue mid-surgery, you potentially pay. 3) It's good for the economy. In either case, the cost savings of not having a call center rep say "Wait a minute. My computer just crashed." far outweighs the costs. 4) It's critical for resilience. Disasters (solar flares, EMP, etc.) are rare, but if every computer destroys data, we have a systemic problem. 5) The issue primarily is one of transparency. Most people don't realize it's an issue, and don't shop on it. 6) That's not to mention dual-market uses. E.g. if we need to ramp up military production, medical production, etc. next crisis, our infrastructure should be ready for it. Classical economic theory states government interventions do well for disaster resilience, for externalized costs, and for lack of transparency. Those are all places where markets fail. That means this should be regulated. We should have error correction in all storage and in all computation. Best intervention, though, isn't a ban but a tax. Sales tax should be on a sliding scale from 1-10%, with: - 1% for parts / support / service manuals being available for some extended period - 1% for all software being open-source - 1% for all hardware being open - 1% for use of standard, interchangeable parts (e.g. batteries, power connectors, etc.) - 1% for environmental factors (CO2, toxic materials, etc.) - 1% for reusable infrastructure (e.g. being able to repurpose manufacturing equipment for crisis use) - 1% for workplace factors (e.g reasonable benefits, audits/compliance, non-discrimination for target populations like ex-convicts, etc.) ... and so on Those sorts of gentle incentives accomplish the same thing via market mechanisms without limiting freedom. For a commodity product, a 10% edge far outweighs costs. If Apple wants to make a proprietary magnetic screen connector and save 1mm of space, a 1% extra tax won't even slow them down.
- sys_64738 3y agoWhat do people think ECC is going to do for them, and what do they think will happen when an ECC event is triggered?
- AshamedCaptain 3y agoI suppose they'll claim that it's what doesn't trap which is important, e.g. what can be (silently) corrected by ECC would normally result in silent corruption without ECC.
- CTDOCodebases 3y agoWhat I think it will do for me? Correct single bit errors and alert me to them.
- gambiting 3y agoLike, in what way - you get a windows popup saying "hey, just detected a bit error, but it was corrected, all good"? Because if yes, you'd get such a popup daily, and I'm not sure what the actual value of it is. And I'm not being funny, I literally don't see the value of it(of the notification, not the correcting).
- dale_glass 3y agoYou don't get a popup. In Linux, it's logged in dmesg. In Windows I imagine it goes in the system log. The system keeps on running. The value of the notification is that if most days you get nothing and suddenly 5000 corrected errors pop up, you know something is not quite right as of late. Maybe you're overdoing the overclocking. Maybe the module isn't sitting quite well in the slot. Maybe a solder joint is failing. If you have a 2 bit memory error, the typical result is a BSOD/kernel oops. Which is a good thing actually. It means you know for sure your RAM is bad, and it prevents any faulty data from being written anywhere. So rather than possibly propagating the error is just stopped. I believe there have been systems that try to handle it more elegantly. Kill the process the memory belongs to if it's a non-essential one then permanently blacklist that block to ensure it's not used again.
- sys42590 3y agoSome devices with 13th gen Intel processors support in-band ECC. This basically hides a fraction of RAM from the OS and uses it for ECC. Example devices are: LattePanda Sigma [0] and AsRock Industrial NUCS BOX-1360P [1]. Unfortunately they are quite expensive and enabling in-band ECC lowers performance significantly. So my next server rig will likely have an AMD PRO CPU instead. [0] https://www.servethehome.com/lattepanda-sigma-review-the-raspberry-pi-alternative-with-in-band-ecc-and-faster-than-a-mac-mini/lattepanda-sigma-ecc-testing-guide/ https://www.servethehome.com/lattepanda-sigma-review-the-ras... [1] https://www.anandtech.com/show/18732/asrock-industrial-nucs-box1360pd4-review-raptor-lakep-ecc/2 https://www.anandtech.com/show/18732/asrock-industrial-nucs-...
- tpolzer 3y agoI find it annoying that (a) this seems to be a hardware feature that is almost universally permanently disabled in firmware and (b) it's almost impossible to find out whether it is supported by any given product (neither of the two products you link provide any mention on the spec sheet).
- zokier 3y agoThis inertia holding ECC away from desktops is just so dumb. As if me doing banking, taxes and everything else on desktop is less important than some server hosting cat pictures. Or as if ECC would truly represent any meaningful part on higher end system total cost. Or as if I would even have the option of simply paying some premium to get ECC, when in practice desktop Xeon availability and selection are both extremely limited. Of course the benefit of ECC can be debated. But it seems such a waste to bother debating it when Intel could just make the whole thing a non-issue by a flick of a switch.
- AshamedCaptain 3y agoThe entire computing industry is based on trading-off the probability & effects of failure with cost. Why would you even bother with ECC when practically no one except maybe server farms with tens of 24h-on servers would notice a thing? Even a single micro-cent per device spent on improving testing would have a much more felt-through effect on the entire computing landscape.
- kiririn 3y agoFor desktop computers most of the value of ECC comes from not corrupting your hard disk when a ram stick spontaneously goes bad, rather than protecting against once in a blue moon bit flips
- AshamedCaptain 3y agoECC is kind of useless when a RAM stick "spontaneously goes bad", unless precisely you are talking about the situation where a single bit goes bad (which is, indeed, less than once in a blue moon).
- kiririn 3y agoIt will spew warnings if correctly setup and may even be able to correct for the fault. Anything that highlights the problem before your unstable system silently corrupts files (and their backups) or hoses its filesystem is a godsend
- pella 3y ago(2021) Torvalds went on his lengthy post to say, "The "modern DRAM is so reliable that it doesn't need ECC" was always a bedtime story for children that had been dropped on their heads a bit too many times. Yes, I'm pissed off about it. You can find me complaining about this literally for decades now. I don't want to say "I was right". I want this fixed, and I want ECC. And AMD did it. Intel didn't." (via https://www.phoronix.com/news/Linus-Torvalds-ECC https://www.phoronix.com/news/Linus-Torvalds-ECC )
- pella 3y ago(2023) "AMD Ryzen 9 7900X Performance With ECC DDR5 Memory" https://www.phoronix.com/review/amd-ryzen9-ddr5-ecc https://www.phoronix.com/review/amd-ryzen9-ddr5-ecc "When plotting the benchmarks with a statistically significant difference, there was just a handful of benchmarks within the 2~3% faster range when ECC was disabled. As shown earlier, the Graph500 HPC benchmark was the outlier with a ~8% difference toggling ECC. PostgreSQL and Hadoop were among the few real-world workloads with the 2~3% difference, which is a small price to pay for the benefits of ECC. It's great that the desktop AMD Ryzen processors continue to support ECC memory while still it's ultimately up to the motherboard vendors whether ECC is to be supported. We're at least seeing more AMD Ryzen motherboards come to market with a server focus which in turn is great for allowing more motherboard options with ECC memory support. My testing with the ASRock Rack 1U4LW-B650/2L2T 1U server (ASRockRack B650D4U-2L2T/BCM motherboard) continues working out very well and hasn't yielded any platform troubles with all of my hundreds of hours of Linux testing thus far."
- fourfour3 3y agoI have one of these ASRock Rack servers, and I can confirm ECC works on it - I have 128GB of ECC DDR5 with a Ryzen 9 7900. I wish more motherboards bothered to validate ECC working - it's a nice benefit in an affordable platform.
- mwpmaybe 3y ago> I can confirm ECC works on it "It works" as in it boots, or "it works" as in it checks and reports single-bit errors and reports double-bit errors? What OS? If Linux, are you using rasdaemon? Does it confirm that the appropriate EDAC drivers are loaded and working? Or is that data only available in the BMC's event log?
- fourfour3 3y agoFault injection has been used successfully and people have introduced manual errors that do get flagged - eg https://forum.asrock.com/forum_posts.asp?TID=24901&PID=103658&title=am5-ecc-supportpound#103658 https://forum.asrock.com/forum_posts.asp?TID=24901&PID=10365... For Linux support you need a very recent kernel - I forget how recent, but some reporting on it: https://www.phoronix.com/news/AMD-EDAC-Ryzen-7000-Series https://www.phoronix.com/news/AMD-EDAC-Ryzen-7000-Series
- sys_64738 3y agoHow much memory is lost when you enable ECC? That's why consumers will disable it.
- adrian_b 3y agoNo memory capacity or memory throughput is lost in consumer motherboards when enabling ECC. You just need to buy ECC UDIMM modules, which, especially for DDR5, are more expensive, up to 50% more expensive for DDR5, even if this price difference is not justified. Moreover, the ECC modules are never factory overclocked, like most non-ECC modules, therefore ECC UDIMM modules faster than DDR5-4800 are hard to find. Nevertheless, that has not stopped some users to overclock them manually. There are some embedded computers for industrial applications, with certain models of Intel Atom or Core CPUs, which support the so-called in-band ECC, which can be used with non-ECC memory, like LPDDR5. Only on those computers enabling ECC reduces both the available memory and the performance.
- HankB99 3y agoNo mention of on die ECC so far so I'll mention it. It's used in modern RAM (DDR5, maybe some DDR4) to improve yields. A borderline chip may pass tests if occasional bit errors are corrected before being read out. This is transparent to the OS as there is no mechanism that I'm aware of to report fixed bits or unfixable errors. I'm hopeful that this is going to help fix problems with occasional bit flips from cosmic rays and similar. Since it is used to keep marginal chips in the product stream, I'm not sure if it is really beneficial. The Raspberry Pi 4B claims DDR4 ECC RAM and I'm pretty sure that's on die ECC. I'd really prefer full blown ECC RAM and would pay a reasonable increase for it. I recently upgraded my desktop and sticking with ECC RAM would have cost hundreds of dollars more so I skipped it.
- eptcyka 3y agoECC without error reporting still won't save one from data corruption. Ultimately, I want correctness not continuous but faulty operation. On-die ECC helps with the latter.
- mrob 3y agoAgreed. Reliability is the most important part of "reliability, availability and serviceability"[0]. Error correction is nice to have, but even simple parity checking is much better than nothing. I'd rather halt with a kernel panic than continue using corrupted data. [0] https://en.wikipedia.org/wiki/Reliability,_availability_and_serviceability https://en.wikipedia.org/wiki/Reliability,_availability_and_...
- thfuran 3y agoAnd yet many developers insist it's better for the users to just swallow exceptions and carry on rather than halting on bad state.
- brookst 3y agoIt really depends on the application. Halting rather than displaying a slightly corrupted graphics texture is probably not what gamers want. Swallowing an exception in a finite element analysis is probably not what engineers want.
- jeffbee 3y agoThere are loads of different ways to "have ECC"... it isn't as binary as the post implies. Different methods can detect and correct different failures.
- stefantalpalaru 3y ago[dead]
- sph 3y agoWhat's an affordable x86_64 NUC with ECC RAM? I remember getting frustrated trying to find one that I just abandoned the idea of making a home server altogether. Please, I don't want to hear "you don't need ECC", I just want some recommendations.