NAND bitflip correction on 8314

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

NAND bitflip correction on 8314

ソリューションへジャンプ
2,381件の閲覧回数
jefftharris
Contributor I

Does the NAND controller on the 8314 CPU provide notification for an ECC-corrected bitflip error?  The 8313 CPU contains the LTECCR register.  Does the 8314 support this register as well?  If not, is there another method to detect the condition so the Linux UBI driver can scrub the block before an unrecoverable error occurs?

1 解決策
2,114件の閲覧回数
r8070z
NXP Employee
NXP Employee


Have a great day,

Yes there are MPC83xx eLBC which do not have LTECCR register. According to MPC8314 documentation there is not LTECCR. The Freescale Enhanced Local Bus Controller NAND driver (fsl_elbc_nand.c) says that "if the ELBC doesn't have the lteccr register it reads 0".So it read it always

if (lteccr & 0x000F0000) {
       mtd->ecc_stats.corrected++;
       elbc_fcm_ctrl->max_bitflips = 1;
 

but without LTECCR ecc_stats.corrected will be not incremented. I do not see another method with hardware support in this case. Of course there is bulky method when we read the same page two times first when ECC correction is enabled and second when it is disabled and then compare.

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

元の投稿で解決策を見る

2 返答(返信)
2,115件の閲覧回数
r8070z
NXP Employee
NXP Employee


Have a great day,

Yes there are MPC83xx eLBC which do not have LTECCR register. According to MPC8314 documentation there is not LTECCR. The Freescale Enhanced Local Bus Controller NAND driver (fsl_elbc_nand.c) says that "if the ELBC doesn't have the lteccr register it reads 0".So it read it always

if (lteccr & 0x000F0000) {
       mtd->ecc_stats.corrected++;
       elbc_fcm_ctrl->max_bitflips = 1;
 

but without LTECCR ecc_stats.corrected will be not incremented. I do not see another method with hardware support in this case. Of course there is bulky method when we read the same page two times first when ECC correction is enabled and second when it is disabled and then compare.

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

2,114件の閲覧回数
jefftharris
Contributor I

NXP confirmed the 8314 does not have the register.  The double-read method works but is slow as expected.

Jeff

0 件の賞賛
返信