ARM故障分类
图 1arm错误分类
ARM错误分类需要遵循ARM RAS architecture文档(RAS_Extension_PRD03-PRDC-010953-25)来定义,具体分类如下:
- Corrected error:可纠正错误(CE),该错误被检测到并且被纠正,不影响系统运行,比如内存DDR单bit错误,可以通过ECC纠正。
- Deferred error:延迟的错误(DE),没有被沉默(silently)传播,可能是系统潜在的错误。比如内存控制器写数据到内存条,发现要写的数据存在不可纠正错误,它会将该错误数据写到内存,并打上poison标记,则为deferred错误。
- Uncorrected error:不可纠正错误(UE),该错误被检测到且未被纠正或延迟,它又可划分为下面几个子类:潜伏错误或可重启错误(UEO)、带标记错误或可恢复错误(UER)、不可恢复错误(UEU)、不可抑制错误(UC)。
- 潜伏错误或可重启错误(Latent/Restartable,均缩写标记为UEO):Latent错误对应生产者模式,错误非沉默传播,错误被检测到但没有被消费,并且没有被记录为deferred错误,比如node通过scrubbing自己内存检测到不可纠正错误;Restartable错误对应消费者模式,错误非沉默传播,node因为消费错误而中止操作,不需要依赖修复错误就能继续操作,比如speculative读。
- 带标记错误或可恢复错误(Signaled/Recoverable,均缩写标记为UER):Signaled错误对应生产者模式,错误非沉默传播,错误已经或者可能已经被消费,没有被记录为deferred错误,比如node在读的时候检测到错误并通知消费者;Recoverable错误对应消费者模式,错误非沉默传播,node处于中止状态,如果软件能够定位并修复错误,被中止的操作将继续,比如PE在做架构读的时候在消费数据前收到错误状态并中止。
- 不可恢复错误(Unrecoverable,缩写标记为UEU):在生产者模式,错误非沉默传播,node不能继续操作,比如2个部件间的数据链路失效;在消费者模式,node处于中止状态不能够从中止状态恢复,比如PE在做架构读的时候在消费数据后收到错误信息并中止。
- 不可抑制错误(Uncontainable,缩写标记为UC):错误被沉默传播,如果该错误不能被隔离,软件将系统关机以避免灾难性错误。