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.

[参考译文] AM1808:NAND-ECC 计算编码为518字节

Guru**** 2587365 points
Other Parts Discussed in Thread: AM1808

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/588768/am1808-coding-for-nand-ecc-calculation-by-518-bytes

器件型号:AM1808

大家好、TI 专家、

 

客户向我们发送了有关 E2E AM1808的 NAND-ECC 功能的其他问题、如下所示。

https://e2e.ti.com/support/dsp/omap_applications_processors/f/42/t/588247

 

我们可以获取由 E2E 主题提供指导的示例代码、如下所示。

非常感谢。

http://processors.wiki.ti.com/index.php/Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L138

 

我们希望计算 ECC 为518字节。

 但从示例代码来看,ECC 似乎是按512字节计算的。

 我们还找到了如下解释、例如" EMIFA 支持高达518字节的4位 ECC 计算"。

   19.2.5.6.6.2 4位 ECC: http://www.ti.com/lit/ug/spruh82c/spruh82c.pdf

 

问题:

 我们如何实现和编写用于 ECC 计算的518字节代码?

 是否有任何指南或文档?

 

如果您能告诉我们建议的 ECC 计算的518字节编码方法、我们将不胜感激。

 

此致、

 

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

    我将对此进行研究。 反馈将发布在此处。

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

    您好!

    非常感谢您的善意。
    非常感谢您的帮助。

    我正在等待您的反馈。

    此致、

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

    您还可以查看此主题:
    e2e.ti.com/.../2166281

    它讨论了一个类似的问题。

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

    您好!

    感谢你的答复。

    是的。 我们理解、因为您展示的 E2E 主题与我之前说过的相同。

    https://e2e.ti.com/support/dsp/omap_applications_processors/f/42/t/588247

    请 告诉我们推荐的 ECC 计算编码方法、为518字节。

    此致、

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

    Matusan、

    我想向您指出器件勘误表中有关引导 ROM 中 NAND ECC 处理的建议2.3.24。 在此过程中、我们发现引导加载程序仅处理512字节的错误、并实施了处理 整个518字节的工作。

    我想共享此修补程序以供参考、以用于处理完整的518个字节:

    e2e.ti.com/.../nand_5F00_ecc_5F00_patch.c

    switch 语句中提供了修复程序。 希望这对您有所帮助。

    此致、

    Rahul

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

    非常感谢您的善意。
    非常感谢您的帮助。

    我想确认一点。
    Advisory 2.3.24在器件勘误表中、您曾说过以下勘误表中的"Advisory 2.3.13—Boot:ECC Data Error in Spare Area Causes NAND Boot Failed"(咨询2.3.13—引导:备用区域中的 ECC 数据错误导致 NAND 引导失败)。
    www.ti.com/.../sprz313h.pdf

    是这样吗?

    此致、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我检查您提供的文档链接。 我是指勘误表中的 Advisory 2.3.13 Boot:"ECC Data Error in Spare Area Causes NAND Boot Failed"(备用区域中的 ECC 数据错误导致 NAND 引导失败)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     

    非常感谢您的善意。

    非常感谢您的帮助。

     

    我会将答案发送给客户。

     

    此致

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

    您好!

     

    非常感谢你的帮助。

    我们可以从客户那里获得有关此问题的更多详细信息。

     

    我们客户的 NAND 读/写流程、518-bytes 在随附的 pdf 中进行了说明。

     

    问题:

     1) 1)此 NAND 读/写过程是否存在任何问题?

     2) 2)我们如何更正在其中检测到一些错误的 Fieldb-ECC 数据?

     

    如果您查看随附 的 pdf 并将建议的 NAND 读/写过程告知我们518字节、我们将不胜感激。

     

    此致、

    e2e.ti.com/.../ECC_5F00_procedure.pdf

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

    方框图不正确2048字节的页数据通常分为512字节的等效块。 TRM 提到、我们最多可以支持518个字节进行4位 ECC 校正、因此512个字节在该功能范围内。 此外、AM1808上的 NAND ECC 布局与此处所述的布局类似:

    processors.wiki.ti.com/.../DM365_Nand_ECC_layout

    要了解正确的读写过程,请参阅 EMIF16用户指南中的第3.7节:
    www.ti.com/.../sprugz3a.pdf

    您还可以将它们指向我在另一篇文章中提供的软件、该软件显示了带有2K 页的 NAND 的4位 ECC 读/写操作。

    此致、
    Rahul

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

    您好!

     

    非常感谢您的善意。

    非常感谢您的帮助。

    我会将答案发送给客户。

    我想确认一点。  

    >您也可以将其指向我在另一篇文章中提供的软件、该软件显示了具有2K 页的 NAND 的4位 ECC 读/写操作。

     

    我们了解"软件"是指下面 E2E 主题的"device_nand.c"。

      http://e2e.ti.com/support/dsp/omap_applications_processors/f/42/p/588247/2171420#2171420

     

    这种理解是否正确?

     

    此致、

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

    感谢你的帮助。

    我们已根据您的建议检查 sprugz3a.pdf 和 device_nand.c。
    我们可以在 device_nand.c 中找到针对 ECC 区域错误校正的如下语句
    -如果(addOffset > 511)返回 E_FAIL;

    我们对这一发言的理解如下:
    -冗余区域(ECC 区域)中的错误检测地址被正确报告给 NANDERRADDx 寄存器。
    -冗余区域(ECC 区域)不支持纠错。

    这种理解是否正确?

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

    查看勘误文档中代码工作的说明。 我共享的权变措施代码
    如果(addOffset > 511)返回 E_FAIL

    忽略 ECC 数据中的错误(这些错误无需更正)、以便引导/读取过程可以继续、仅更正用户数据中的错误(总共最多4位错误)。 在 NAND 中、ECC 机制被执行来在冗余区域中检测到错误时保护用户/页数据、我们当前正在忽略它。

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

    您好、Rahul

    感谢您的详细解释。
    非常感谢您的帮助。

    我会将答案发送给客户。

    此致、

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

    感谢你的帮助。

    根据您的解释、我们的客户了解" ECC 数据中的错误无需更正"。

    他们需要确认他们的理解、如下所示。
    -(addOffset > 511)表示"冗余区域(ECC 区域)中存在错误位"。
    -即使冗余区域(ECC 区域)中存在错误位、
    冗余区域(ECC 区域)中的错误数可从 NANDFSR 寄存器的 ERROR 域(ECC_ERRNUM)中读取
    冗余区域(ECC 区域)中的错误地址值可以从 NANDERRADD[2:1]寄存器中读取
    以正确计算"addOffset"的值。

    这种理解是否正确?

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

    您好!

     

    非常感谢您的善意。

    非常感谢您的帮助。

    我会将答案发送给客户。

     

    此致、