全国楼风信信息_全国兼职一线天论坛_深圳蒲友论坛技师推荐

东莞市拓恒电子有限公司

158-1430-9393

当前位置:首页 > 新闻中心 > 行业新闻

推荐产品
联系我们
左侧联系我们
左侧联系我们

剖析NAND Flash的编程结构

发布时间:2021-07-04 20:26:59 点击率:

剖析NAND Flash的编程结构

上一篇文章我们介绍了NAND Flash和NOR Flash的区别,从结构及原理上看,NOR Flash这种类似ROM的结构方式,使得他编程简单,所以使用的工程师也很多,要不是成本太高,NAND Flash根本无法生存。

NAND Flash由于价格低廉,存储容量大,越来越受到消费者的喜爱,特别是需要存储大量数据的消费者。那NAND Flash的编程又要注意哪些呢?

分区(Partition)

定义分区的实质是定义数据会如何写入NAND Flash,不同内容的数据写到对应的地址中。一般用户会有多个区,比如boot、kernel、fs、user等分区。

分区的描述:分区的地址范围(起始块、结束块),镜像文件大小(Image Size)。

分区的数据存储:镜像文件是从分区的起始块开始存放,如果分区中有坏块,将使用坏块处理策略替换坏块,直到镜像文件结束,如果分区中不够好块存放镜像文件,则烧录失败。

如下图是跳过坏块的镜像文件分区烧写示意图:

剖析NAND Flash的编程结构
备用区(OOB)的ECC

ECC 存在于NAND 每页的备用区(Spare Area)中,它允许外部系统发现主区的数据是否有误。在大多数情况下,ECC 算法可以纠正误码,NandFlash在使用中也可能会出现坏块,所以ECC是非常有必要的。

不同的用户会可能会使用不同的ECC算法,一般来说ECC算法由处理器供应商提供,如果编程器软件中无这个ECC算法,则需要用户提供ECC算法源代码。

如果用户不使用调入文件,而是使用读母片的方式烧录,并且无动态数据,则可以不考虑ECC算法,因为母片中的备用区已计算好ECC,直接将母片的备用区拷贝至其他芯片即可。

坏块管理(Bad Block Management)

坏块处理策略定义了在遇到坏块时算法应该如何处理,基本的坏块处理策略有:跳过坏块、替换表(预留块区Reserve BlockArea,RBA)等等。

● 硬拷贝

硬拷贝其实就是遇到坏块什么都不处理,不管好块还是坏块直接烧写,即使校验数据不一致也不报错;

剖析NAND Flash的编程结构
● 跳过坏块

跳过坏块就是遇到坏块跳到下一个好块烧;

剖析NAND Flash的编程结构
● 替换表

就是预留一些块作为保留块,是用于替换坏块用,当遇到坏块时,在保留区中选一个块来替换,将原来写到坏块的数据写到替换块中。

剖析NAND Flash的编程结构
● BBT(Bad block table)

其实就是使用跳过坏块,然后在Nand闪存指定位置写入一个坏块表(Bad block table),下图是BBT的结构图。

剖析NAND Flash的编程结构
主站蜘蛛池模板: 甘谷县| 铜川市| 岱山县| 静乐县| 长治县| 荣成市| 嘉禾县| 栖霞市| 图片| 武陟县| 宁远县| 明光市| 宜君县| 准格尔旗| 北川| 武平县| 万宁市| 凤冈县| 杂多县| 大城县| 泸西县| 青铜峡市| 翁源县| 建阳市| 永德县| 开化县| 彭水| 乡宁县| 和政县| 陆丰市| 且末县| 广昌县| 方城县| 潢川县| 翁源县| 谷城县| 庐江县| 兴隆县| 嘉黎县| 垦利县| 喀什市|