Nandflash希尔特编程器烧录带来的一些点知识信息

1NAND FLASH的特殊性

1)存在坏块NAND FLASH由于其生产工艺的原因,出厂芯片中会随机包含坏块。坏块在出厂时已经被初始化,并在特定区域中存在标记,如果在使用过程中出现坏块,也需要进行标记。
2)易出现位反转NAND FLASH易出现位反转的现象,如果位反转出现在关键位置上,则会导致系统挂机。所以在使用NAND FLASH的同时,建议使用ECC以确保可靠性。
3)存在Spare。正因为NAND FLASH有着上述两项特殊性,Spare区就扮演着存放坏块标志、ECC等的作用。

2NAND FLASH烧录的复杂性

1)如何管理坏块。由于NAND FLASH存在坏块,导致地址空间不连续,所以正确地处理坏块是保证NAND FLASH烧录后能够正常在系统上运行的关键。目前我司基本上为每一种NAND FLASH配置3种标准的坏块处理方式:Skip(跳过坏块)Hard Copy(烧录时若遇到坏块,则相应数据可能会丢失)Partition(分区)。若客户需要其他特殊的坏块管理方案,我司可按照客户的要求为客户定制算法。

2)定位烧录。NAND FLASH在配合CPU一起运行的过程中,一些代码或文件需要从一个确定的地址读入来运行。如果客户烧录文件的某几段数据需要从确定的地址读入且每一段数据在烧录到NAND FLASH时采用的是遇到坏块顺序烧录到下一个好块的处理方法,就可以制作分区表文件进行分区定位烧录,我司称这种烧录方式为分区(Partition)

3)计算ECCECC算法具有查错、纠错的功能,并且在NAND FLASH使用的绝大多数环境下,是需要ECC来确保可靠性的。由于ECC算法很多,每个算法个体又具有较强的可变性,且在Spare区存放的位置也不一样,所以无法做成统一的算法。如果客户的烧录文件不包含Spare区的数据(主要是ECC),我司也可以按照客户提供的ECC源程序在烧录时生成ECC。一般情况下,建议客户在生成烧录文件时同时生成Spare区(ECC)的数据。

4)启动代码区检查。启动区的代码一般要求存放在NAND FLASH中的连续好块里,中途不可以出现坏块,一旦出现坏块,程序在NAND FLASH中启动就会失败。客户可以根据自己启动代码大小来进行相应设置,使能启动代码区检查功能以舍弃不符合启动要求的芯片。我司编程器的启动代码区检查(Boot Block Check)功能也可以用来扫描NAND FLASH的坏块。

5)非标准坏块标志。一些客户考虑自己产品的保密性或公司内部技术的兼容性,将坏块标志放在非标准的位置,或使用非0xFF作为好块标志。如有此类情况,请客户给予说明并定制算法。

猜你喜欢

转载自blog.csdn.net/qq_21435127/article/details/79192454
今日推荐