4 ms·
> ECC ram I'm not sure how Apple has people convinced they need ECC. It's practically worthless outside of very specific workloads. A workstation user does not
by thomastjeffery 9y ago
> ECC ram
I'm not sure how Apple has people convinced they need ECC. It's practically worthless outside of very specific workloads. A workstation user does not fill several gigabytes of RAM with terse important data, query it millions of times/day, and do so 24/7 all year long.
- cjsuk 9y agoIt only takes one bit wrong to fuck your file system.
- thomastjeffery 9y agoYou make it sound like filesystems are so vulnerable. They aren't. The chances of memory failure ruining data are extremely slim; lower than for hardware failure. If you care about your data, back it up.
- burntwater 9y agoBackups don't do anything if the original material contains the flipped bits.
- cjsuk 9y agoI ran a lab notebook in word for a number of years and the document got fried by a filesystem error. The backup was toasted as well. This was corruption which broke the stage machine or parser in word which acted as a damage amplification. As for the source of the error, we can only speculate but the possibility of a flipped bit is higher than you think. Try running memtest86 on a PC without ECC for a week. You will be surprised at the results. I’ve seen perhaps 3 or 4 failures of this in new hardware. DRAM is not perfect.
- pbalau 9y agoIn 20+ years that bit eluded me...
- leonroy 9y agoFrom what I understand (very roughly) with ZFS or BTRFS at least it takes one flipped bit in the particular block of memory which has just been successfully checksummed and 'approved' by the filesystem as valid for a write operation. Those are quite a few hoops to jump through so let's not head towards melodrama just yet.
- cjsuk 9y agoThat’s fine but most of us are running on NTFS, HFS+ or ext4 where it matters. And then there’s the same problem with MLC SSDs which are just arrays of capacitors encoding that state as different charge potentials. As a former EE, capacitors leak regardless of implementation.
- baq 9y agoit only takes one bit flip in the FS cache, which is what your 'free' RAM will be used for, to make your day miserable. ECC (maybe) isn't worth it for consumers of content, but for creators it should be standard. not to mention rowhammer-like attacks which ECC makes harder though not impossible.
- thomastjeffery 9y agoJust because there are real reasons to have ECC does not mean you are going to experience them, let alone experience headache because of them. Software is fault tolerant. Small memory failures can be trivially tolerated. ECC simply isn't worth the cost, especially for workstations.
- wtallis 9y ago> Software is fault tolerant. Small memory failures can be trivially tolerated. Most software is not at all fault tolerant in this respect. It just crashes. Fortunately, most users are somewhat fault-tolerant.
- sitharus 9y agoI've had ECC RAM once, it failed and ECC caught it before it could damage any documents. ECC memory also keeps a log of how many corrections it's made. In a long running machine that gets hot there _are_ bit flips and they _are_ significant. Especially if you're spent days working on a video file and don't have the technical skills to fix it in a hex editor. I've also had memory issues on non-ECC machines, it's a lot harder to diagnose and much more frustrating. ECC memory should be standard in modern machines IMO.
- thomastjeffery 9y ago> Especially if you're spent days working on a video file And didn't keep a backup. Most serious software will make incremental copies to avoid that problem too. Seriously, hardware failures are just as likely. ECC is useful, but isn't worth it for the price unless you actually can't be fault tolerant in any way.
- rayiner 9y agoBackups and ECC address completely different problems. Backup systems will happily store corrupted files into your backup disks. ZFS-style filesystem level checksums won’t catch many problems either, because they only check to see if what you wrote is the same as what was read back. If the data was corrupted in memory, it’ll happily pass you back corrupted data.