使用 ARM 而非 x86,我该如何验证 DDR 定期巡检清理?控制器是按照硬件规格启用的,硬件规格中没有关于如何验证控制器定期巡检清理的内容,没有可供验证的寄存器,并且不知道模拟或其他可能检查 ECC DDR 定期巡检清理是否正常工作或根本不起作用的方法。
除了损坏内存之外,还有什么方法可以在 Linux ARM 上进行验证,任何软件方法都可以注入内存错误,而巡逻清理必然会修复该错误,并且内存控制器在检测到时不会立即自动修复该错误?控制器将立即检测到可纠正的错误,并对其进行纠正,因此,除非有办法避免在注入时检测到,否则引入可纠正的错误并不一定测试或验证巡逻清理。
经验表明,无法纠正的错误将导致在发生任何定期清理之前很久就重置。因此,这些似乎没有帮助。
答案1
已更正的内存错误应出现在系统日志中。如果未出现任何错误,则表示正常使用或清理均未导致错误。
无法纠正的错误会导致系统崩溃/重置/关机,因为没有办法正常恢复。定期清理可以确保在小错误变得无法纠正之前检测到并纠正它们。
除非存在无需写入 ECC 位即可写入内存的特定方法,否则无法在软件中创建 ECC 错误。