我从事音乐作曲工作已经 15 年多了,我必须管理越来越多的 .wav 格式的作品,我希望能够找到最佳的方式来存档它们,同时仍然能够轻松访问它们。就空间而言,它将占用几 TB,在这方面这不是问题。困难在于我想确保我的文件在 100 年内(直到我死去)不会移动一丝一毫。但我担心我的 wav 文件(原始文件、二进制流)对位翻转很敏感,并且总是有可能在不知道文件是否可能被更改的情况下读取它们。
我正在考虑购买 Synology 品牌的 NAS,并在其上安装 ECC RAM,因为某些型号可以这样做。您认为这有用吗?还是我对磁盘级别数据处理方式的理解完全错误?
我显然有几份备份,遵循三个备份(包括一个远程备份)的黄金法则。
我的问题是:
ECC 内存是否为长期使用的 HDD 磁盘存储提供了优势?
逐位比较两个文件是否可以 100% 确定两个文件相同?
答案1
ECC RAM 可防止 RAM 中出现单一位错误,它可能适用于正常运行时间较长的系统,其中数据长时间保存在 RAM 中,或者偶尔出现单一位错误可能导致灾难性错误、计算错误或其他不良影响的情况。
除了将数据从磁盘读取到 RAM 或从 RAM 写入磁盘之外,它不会以任何方式保护磁盘。
普通 NAS 收到数据后可能会快速写入数据,而读取数据的目的是快速通过网络发送数据,因此数据不太可能长时间保存在 RAM 中。用于大量读取或写入的 NAS(例如媒体服务器)不太可能长时间将大量数据存储在 RAM 中。
对于磁盘上的长期存储,ECC RAM 无关紧要,它仅保护数据在 RAM 中。
如果你必须确保磁盘上的数据受到保护且有效,那么你可能需要查看某种前向纠错与以下文件一起存储档案库它可以存储可配置数量的额外数据,用于检测、恢复和修复可能发生的错误。这将占用文件本身以外的空间。
答案2
与专注于 RAM 相比,选择支持“校验和”文件系统(如 ZFS)并且可以配置为定期“清理”的 NAS 更有意义。
然而,ECC RAM 的附加价值在于可以防止数据在内存中停留期间损坏。
值得一提的是,我的工作之一就是像这样的数码照片修复https://youtu.be/woTf_-kJnUs。
现在,人们普遍认为他们的存储介质是造成这种损坏的根本原因。但是,硬盘驱动器、SSD 或存储卡上的数据受 ECC 保护。这意味着,如果位在写入任何驱动器后发生翻转,就会检测到这种情况。驱动器将使用 ECC 纠正错误,或者如果由于太多位错误而无法纠正,它将报告读取错误。
视频中演示的数据损坏几乎从定义上来说不是数据在驱动器上“停留”时发生位翻转的结果,它一定是在一些另一点。RAM 是一种可能性,但根据我的经验,更有可能是某些连接不良。
根据我的经验,这种所谓的“静默损坏”几乎不会在数据静止在某个存储设备上时发生。它几乎总是在数据从一个地方转移到另一个地方时发生。
现在这个能可能发生在存储设备本身,如 SSD 内部。由于 SSD 经常为了损耗均衡而清除数据或移动数据,因此数据在读取后会短暂地放置在易失性存储器中,然后写入其他地方。例如,英特尔工程师假设宇宙射线是这些过程中位翻转的一个罕见但现实的原因。足够真实,可以测试对 SSD 的影响,足够真实,可以让固件意识到这个问题(见:https://youtu.be/fqzv2YXMFRs)。
... 宇宙射线,您肯定听说过它... 它会导致位翻转,您可能在 SSD 的背景下听说过它较少,我希望在接下来的 30-40 分钟内讨论的是,这对 SSD 到底有多重要,事实上,它可能是 SSD 中静默错误的主要来源,或者至少是静默错误的主要来源之一,所以我想做的是谈谈...