This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LS1114:SRAM ECC 单位诊断功能

Guru**** 2392765 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1066923/tms570ls1114-sram-ecc-single-bit-diagnostic-function

部件号:TMS570LS1114

大家好,我想问一下 SRAM ECC 的诊断功能:

(1)如果在某个地址发现单位 ECC 错误,SECDED 模块是否会将更正后的数据重写到 SRAM 中? 我的意思是更正原始 SRAM 数据,还是只更正读取数据?

(2)在 SRAM 诊断中,硬件提供硬错误缓存和 livelock 功能。 硬盘错误缓存的功能是否用于存储1位 ECC 故障的地址?

(3)如果某个地址发生1位 ECC 故障,然后 SECDED 模块将其修正,则硬盘错误缓存也将记录发生错误的地址。 如果该地址再次出现1位 ECC 故障,则 CPU 通过检查硬盘错误缓存发现该地址出现故障,并且不会生成错误警报。 CPU 是否会继续纠正此地址上的错误位?

(4)如果多个地址发生1位 ECC 故障,这些地址是否会记录在硬错误缓存中?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好,我们的专家已经离开办公室几天了。 请期待收到延迟的回复。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请尽快回复,非常感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="465499" url="~ë/support/icles/arm-based 微处理器组/基于 ARM 的微控制器/f/基于 ARM 的微控制器-forum/1066923/tms570l1114-SRAM-ECC-single-bit-diagnostic-function](1)如果在某个地址发现单位 ECC 错误,SECD 模块中会将数据重写到数据中吗? 我是要更正原始 SRAM 数据,还是只需更正读数据?

    校正后的数据将写入 SRAM。

    [引用 userid="465499" url="~ë/support/icles/arm-based 微处理器组/基于 ARM 的微控制器/f/arm-based 微控制器-forum/1066923/tms570ls1114-SRAM-ECC-single-bit-diagnostic-function"](2)在 SRAM 诊断中,硬件提供硬错误缓存和 livelock 功能。 硬错误缓存的功能是否用于存储1位 ECC 故障的地址?[报价 userid="465499" url="~/support/icles/arm-based 微处理器组/基于 ARM 的微控制器/f/arm 的微控制器-forum/1066923/tms5701114-SECRE-ECC-single-bit (在某个地址发生错误时),如果故障诊断模块在某个地址发生,则会纠正该错误,并记录在某个地址。 如果该地址再次出现1位 ECC 故障,则 CPU 通过检查硬盘错误缓存发现该地址出现故障,并且不会生成错误警报。 CPU 是否会继续纠正此地址上的错误位?

    是的,硬错误缓存会存储地址和修正后的数据。  硬错误缓存的目的是防止 CPU 读取具有永久单位错误的 SRAM 或闪存。 假设其中一个内存单元有缺陷。 如果从它读取数据,CPU 会将其检测为单位 ECC 错误。 CPU 将尝试将更正后的数据保存到硬错误缓存中,并将更正后的数据写回 SRAM 或闪存,然后重试。 下次如果 CPU 从同一错误地址读取,它只需从高速缓存读取,而不是从 SRAM 或闪存读取,因为该地址匹配。 您可以使用 RAMTHRESHOLD 寄存器设置单位阈值发生。 同样,FEDACCTRL2注册闪存以设置发生阈值。

    [引用 userid="465499" url="~ë/support/icles/arm-based icroms-group/arm-based icros/f/arm-based 微处理器-forume/1066923/tms570l1114-SRAM-ECC-single-bit-diagnostic-function](4)如果多个地址发生1位 ECC 故障,这些地址是否会记录在这些错误中?]

    不,CPU 内部只有一个硬错误缓存。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    首先,感谢您的回复。

    我对硬件高速缓存仍有一些疑问,硬件错误高速缓存只能存储单位错误的地址和数据。 如果以前发生过单位错误,则 SECDED 模块会纠正该错误,硬件错误缓存也会存储地址和数据。 如果稍后,某些其它地址也会出现单位错误,因此该地址不会保存在硬件错误缓存中,对吗? 如果地址存在永久性的单位故障,那么在这种情况下,单位错误是否无法纠正?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="465499" url="~/support/icles/arm-based 微处理器组/基于 ARM 的微控制器/f/arm-based 微控制器-forum/1066923/tms570ls1114-SRAM-ECC-single-bit-diagnostic-function/3953072#3953072"],如果以后某个单位错误在另一个高速缓存地址发生,那么,那么该错误也不会出现在另一个硬件地址中? [/引用]

    新地址和新更正的数据存储在高速缓存中。

    [引用 userid="465499" url="~/support/icles/arm-based 微处理器组/基于 ARM 的微控制器/f/arm-based 微控制器-forum/1066923/tms570ls1114-SRAM-ECC-single-bit-diagnostic-function/3953072#3953072"],如果以后某个单位错误在另一个高速缓存地址中发生,那么该错误是否也不会出现在另一个硬件地址中?]

    此地址和更正的数据将存储在缓存中。

    [引用 userid="465499" url="~/support/icles/arm-based 微处理器组/基于 ARM 的微控制器/f/arm-based 微控制器-forum/1066923/tms570ls1114-SRAM-ECC-single-bit-diagnostic-function/3953072#3953072"]如果地址存在永久错误,则不能纠正此单位错误,[此处]

    它将 纠正单位错误,修正后的数据及其地址存储在高速缓存中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢你的回复,致以最诚挚的问候。