我在这里完全重写了我的帖子,因为我注意到我之前有点不清楚。
在一篇较早的帖子中,用户 sawdust 很好地解释了 HDD 控制器上有一个使用 ECC 算法的 SRAM 缓冲区。
我不确定 SRAM 缓冲区的 ECC 校验和是否也写入磁盘,或者是否只是为了避免 SRAM 内部发生单位错误。
但是缓存内存怎么样?如今所有的硬盘驱动器都使用 64MB 甚至 128MB 的 DRAM 缓存。这是每个硬盘驱动器 PCB 上的单个 DRAM 芯片,所有数据都必须通过它。这种 DRAM 确实会不时出现单比特错误,而且它们也会老化。如果缓存 DRAM 中的数据有单比特错误,那么这里似乎没有 ECC 校正,对吗?
如果 DRAM 缓存导致单位错误,然后该数据将进入 SRAM 缓冲区,我假设 ECC 逻辑现在将为“来自 DRAM 的错误数据”创建校验和,但无法识别此错误。
HP 似乎提供了额外的端到端奇偶校验,我发现这里描述了它:http://h20000.www2.hp.com/bc/docs/support/SupportManual/c01159621/c01159621.pdf 奇偶校验不会纠正,而只会检测并最终请求再次传输相同的数据。永久性 DRAM 错误会导致无休止地重新请求数据传输。如果 DRAM 缓存也带有 ECC,那不是更安全吗?
问候,汤米