您的位置 首页 电源

Nand Flash编程使用难点浅析

NandFlash存储器是flash存储器的一种,为固态大容量内存的实现提供了廉价有效的解决方案。NAND存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,如嵌入式产品中包括数码相机、记

  Nand Flash存储器是flash存储器的一种,为固态大容量内存的完成供给了廉价有用的解决计划。NAND存储器具有容量较大,改写速度快等长处,适用于很多数据的存储,如嵌入式产品中包含数码相机、记忆卡、体积细巧的U盘等。

  1989年,东芝公司宣布了Nand Flash结构,着重下降每比特的本钱,更高的功能,而且像磁盘相同能够通过接口轻松升级。通过十几年的开展,NAND运用越来越广泛,可是大多数工程师却依然不知道关于NAND运用的一些难点:分区、ECC纠错、坏块办理等。只要真实了解NAND特性的工程师,才干在运用上称心如意,不会被Nand Flash所绊倒。

  一、分区

  界说分区的本质是界说数据会怎么写入NAND Flash,不同内容的数据写到对应的地址中。一般用户会有多个区,比方boot、kernel、fs、user等分区。

  分区的描绘:分区的地址规模(开端块、完毕块),镜像文件巨细(Image Size)。

  分区的数据存储:镜像文件是从分区的开端块开端寄存,假如分区中有坏块,将运用坏块处理战略替换坏块,直到镜像文件完毕,假如分区中不够好块寄存镜像文件,则烧录失利。

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

  二、ECC(过错更正)算法

  ECC 存在于NAND 每页的备用区(Spare Area)中,它答应外部体系发现主区的数据是否有误。在大多数情况下,ECC 算法能够纠正误码,NandFlash在运用中也可能会呈现坏块,所以ECC对错常有必要的。

  不同的用户会可能会运用不同的ECC算法,一般来说ECC算法由处理器供货商供给,假如编程器软件中无这个ECC算法,则需求用户供给ECC算法源代码。

  假如用户不运用调入文件,而是运用读母片的办法烧录,而且无动态数据,则能够不考虑ECC算法,由于母片中的备用区已计算好ECC,直接将母片的备用区复制至其他芯片即可。

  三、坏块办理

  坏块处理战略界说了在遇到坏块时算法应该怎么处理,根本的坏块处理战略有:越过坏块、替换表(预留块区Reserve BlockArea,RBA)等等,下面分别对几种坏块处理计划进行阐明。

  1) 硬复制

  硬复制其实便是遇到坏块什么都不处理,不管好块仍是坏块直接烧写按次序烧写数据,即便校验数据不一致也不报错,这是最简略、直接的处理办法,可是只能适用于数据不需办理的计划;

  2) 越过坏块

  越过坏块便是烧录数据时,遇到坏块即越过此坏块,将数据顺延烧到下一个好块,这样能够确保一切的数据都能烧写到NAND存储空间中,可是并不知道数据终究烧到了哪一位; 

  3) 替换表

  此办法是将NAND存储空间中预留出一些块作为保存块,当遇到坏块时,在预留的保存块中选一个块来替换坏块,将本来写到坏块的数据写到替换块中;

  4) BBT(Bad block table)

  此办法中心是越过坏块,可是越往后需求在NAND闪存指定方位写入一个坏块表(Bad block table),下图是BBT的结构图。 

  NAND运用需求留意的点大致收拾如上,实际运用中会有灵敏的运用计划,需求熟知NAND特性、编程器原理的工程师才干规划出适宜的计划加以运用。P800Flash极速编程器交融了ZLG致远电子三代Flash编程器的特色,全面支撑eMMC、NOR、NAND Flash的烧录,可供给完善的编程解决计划。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/181202.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部