## ECC Memory
[ECC Memory for Asrock](https://a.co/d/4lVEwk6) $60
https://jrs-s.net/2015/02/03/will-zfs-and-non-ecc-ram-kill-your-data/
https://arstechnica.com/gadgets/2021/01/linus-torvalds-blames-intel-for-lack-of-ecc-ram-in-consumer-pcs/ - linus tarvolds
Error-Correcting Code (ECC) RAM is designed to detect and correct common memory errors in real-time, thereby preventing silent data corruption during processes like data storage in RAM before writing to disk. By implementing checksums on data while it's in memory and verifying them before disk writes, ECC RAM significantly reduces the risk of memory-related data corruption.
In contrast, non-ECC RAM lacks the capability to correct these errors, allowing them to go unnoticed and potentially corrupt data. This risk is particularly concerning in systems utilizing filesystems like ZFS, where a single memory error can compromise the integrity of the entire data pool due to the filesystem's self-healing design.
**Implications of Memory Errors ("Flipped Bits"):**
1. **System Crashes:** If corrupted data is read from memory and transmitted to a client, it can lead to client or server crashes.
2. **Data Corruption:** If faulty data is written to storage during client-server transfers, it may result in persistent data corruption.
Matt Ahrens, one of the developers of ZFS, [said this in a comment](http://arstechnica.com/civis/viewtopic.php?f=2&t=1235679&p=26303271#p26303271) on [an article about ZFS](https://arstechnica.com/information-technology/2014/02/ars-walkthrough-using-the-zfs-next-gen-filesystem-on-linux):
> There's nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem. If you use UFS, EXT, NTFS, btrfs, etc without ECC RAM, you are just as much at risk as if you used ZFS without ECC RAM. Actually, ZFS can mitigate this risk to some degree if you enable the unsupported ZFS_DEBUG_MODIFY flag(zfs_flags=0x10). This will checksum the data while at rest in memory, and verify it before writing to disk, thus reducing the window of vulnerability from a memory error.
He further emphasizes:
> I would simply say: if you love your data, use ECC RAM. Additionally, use a filesystem that checksums your data, such as ZFS.
To ensure ECC RAM is functioning correctly, tools like **Memtest86+** can be utilized. Memtest86+ is a memory diagnostic tool that tests for faults in RAM and can verify ECC operation by detecting and reporting memory errors.
[[ECC Memory w Ryzen]]