UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 47519

Zynq-7000 SoC,SMC — 支持 ECC 功能的 NAND 会漏掉单位元错误和部分双位元错误

描述

ECC 算法存在一个编码缺陷,它会漏掉 0 字节 0 位元的单位元错误,而且无法检测一些双位元错误情况。 

奇偶校验计算中只有奇数部分经过测试,可针对通过/失败进行检测。当从支持 ECC 功能的 NAND 中读取数据时,在一些特定情况下寄存器中显示的结果是错误的。

解决方案

影响:主要影响。共有三个方面,参见“影响详情”章节。该解决方法可显著降低发生疏忽错误的可能性。
规避措施:敬请查看解决方法详情。
受影响的配置: 使用支持 ECC 功能 NAND 的系统。
受影响的器件修订版本:
参考 (Xilinx Answer 47916) - Zynq-7000 SoC 芯片修订差异.


影响详情

共有三个方面:

  1. 0 字节 0 数据位元中的单位元错误将无法检测。该错误情况会导致误认为数据已通过错误检测的错误肯定。
  2. 从备用区域读出的 3 个奇偶校验字节中的后 12 个位元中的单位元错误,会错误地认为已经通过了错误检测。算法应将备用区域中出现的该错误标记为不可修复的故障。
  3. 一些双位元错误情况未被正确识别为不可修复的故障。

    双位元错误检测(第三方面):
    • 总共 8485140 个可能组合中有 90 个双位元错误 (0.001%) 未被正确识别为不可修复的故障。这 90 种情况会导致误认为数据已通过错误检测的错误肯定。
    • 纯数据字节中的两个错误位:所有可能的位置(共 8386560 )将被正确识别为不可修复的故障。
    • 纯奇偶校验字节中的两个错误位:276 个可能错误中的 66 个未被识别为不可修复的故障。
    • 奇偶校验字节中的 1 位和数据字节中的 1 位:98304 个可能错误中的 24 个将无法被识别为不可修复的故障。

解决方法详情

提供一种软件解决方法应对第一方面的影响。 如果 0 字节的 0 位元出现单位元错误,则 ECC 寄存器值可返回。

更复杂的软件解决方法是手动读取存储在备用区域中的 ECC 奇偶校验数据,然后采用软件在无需硬件机制干预的情况下计算 ECC 结果。

ecc_fail = 0 和 ecc_correct = 1。该结果可识别 0 字节 0 位元的单位元错误。可通过读取寄存器值来识别该情况,并通过软件更正这种位元错误。

 

链接问答记录

主要问答记录

Answer Number 问答标题 问题版本 已解决问题的版本
47916 Zynq-7000 SoC 器件:芯片修订差异 N/A N/A
AR# 47519
日期 06/13/2018
状态 Active
Type 设计咨询
器件
  • Zynq-7000
  • XA Zynq-7000
  • Zynq-7000Q
的页面