工具/软件:
OMAPL138BGWTMEP 是从 Micron NAND 闪存 MT29F4G16ABBDAH4AIT 在我们的电路板上启动的。
4096 个块
每块 64 页
每页 4 个区域
每个区域 512 字节
我们使用 EMIFA 的 4 位 ECC 功能。
关于页面区域在以下各项组合中总共存在 1 到 4 个一位错误的情况:
512 个数据字节
10 个 ECC 奇偶校验字节
错误字的计算地址预期有哪些限制?
参考资料:
OMAP-L138
C6000 DSP+ARM 处理器
《主机接口技术参考手册》
SPRUH77C
2013 年 4 月–2016 年 9 月修订
20.2.5.6.6.2 4 位 ECC
第 884 页
对于读取:
...
14、从 NAND 闪存错误地址 1-2 寄存器 (NANDERRADD[2:1]) 读取错误地址。
错误字的地址等于 (TOTAL_WORDS_READ + 7 - ADDRESS_VALUE)。 对于 518 字节、是
address 将等于 (525 - address_value)。
对于页面的 512 数据字节区域中的每个位错误、计算出的地址将在 0 到 511 的范围内。
对于 ECC 奇偶校验字节中的每个位错误、预期计算出的地址是什么?
在实验中、我观察到计算地址在 515 到 518 之间。 可能是 512 到 518、但我需要再次检查。
备用字节(测试字节和 ECC 奇偶校验字节)不包括在 ECC 计算中。
我得出结论、计算出的地址和校正值无法用于定位和纠正 ECC 奇偶校验数据字节中的错误。
假设计算的地址在 512 到 518 之间是否安全、这表示 ECC 奇偶校验数据字节中存在错误并且可以忽略? (类似于 OMAP-L138 勘误表 SPRZ301M 的公告 2.3.24 中描述的 ROM 引导加载程序 (RBL) 补丁)
假设计算的地址大于 518 表示 ECC 故障并且我应该中止读取操作也是安全的吗?