SC6800H平台Bootloader和Nandflash学习交流.pptVIP

  • 5
  • 0
  • 约1.01万字
  • 约 63页
  • 2022-04-23 发布于四川
  • 举报
Nand Flash工作原理-坏块管理 坏块的具体表现: 当编程/擦除这个块时,不能将某些位拉高,这会造成Page Program和Block Erase操作时的错误,相应地反映到Status Register的相应位。 Nand Flash工作原理-坏块管理 坏块的种类: 先天性坏块 这种坏块是在生产过程中产生的,一般芯片原厂都会在出厂时都会将坏块第一个page的spare区的第6个byte标记为非0xff的值。 后天性坏块 这种坏块是在Nand flash使用过程中产生的,如果Block Erase或者Page Program错误,就可以简单地将这个块作为坏块来处理,这个时候需要把坏块标记起来。为了和先天性坏块信息保持一致,将新发现的坏块的第一个page的spare区的第6个Byte标记为非0xff的值。 Nand Flash工作原理-坏块管理 坏块的处理: 理解了先天性坏块和后天性坏块后,我们已明白Nand出厂时在spare区中已经反映出了坏块信息,因此,如果在擦除一个块之前,一定要先检查spare区的第6个byte是否是0xff,如果是就证明这是一个好块,可以擦除;如果是非0xff,那么就不能擦除。 不过,这样处理可能会错杀伪坏块,因为在芯片操作过程中可能由于电压不稳定等偶然因素会造成Nand操作的错误。但是,为了数据的可靠性及软件设计的简单化,坏块一个也不能放过。 Nand Flash工作原理-坏块管理 错杀坏块的补救方法: 如果在对一个块的某个page进行编程的时候发生了错误就要把这个块标记为坏块,首先就要把其他好的page里面的内容备份到另外一个空的好块里面,然后,把这个块标记为坏块。当发生“错杀”之后,可以在进行完页备份之后,再将这个块擦除一遍,如果Block Erase发生错误,那就证明这个块是个真正的坏块。 Nand flash的ECC简介 ECC的全称是Error Checking and Correction,是一种用于Nand的差错检测和修正算法。如果操作时序和电路稳定性不存在问题的话,Nand Flash出错的时候一般不会造成整个Block或是Page不能读取或是全部出错,而是整个Page(例如512Bytes)中只有一个或几个bit出错。ECC能纠正1个比特错误和检测2个比特错误,而且计算速度很快,但对1比特以上的错误无法纠正,对2比特以上的错误不保证能检测。 Nand flash的ECC简介 ECC校验算法: ECC校验每次对256字节的数据进行操作,包含列校验和行校验。 ECC纠错算法: 当往Nand Flash的page中写入数据的时候,每256字节生成一个ECC校验和,称之为原ECC校验和,保存到PAGE的OOB(out-of-band)数据区中。当从Nand Flash中读取数据的时候,每256字节我们生成一个ECC校验和,称之为新ECC校验和。将从OOB区中读出的原ECC校验和新ECC校验和按位异或,若结果为0,则表示不存在错(或是出现了 ECC无法检测的错误);若3个字节异或结果中存在11个比特位为1,表示存在一个比特错误,且可纠正;若3个字节异或结果中只存在1个比特位为1,表示OOB区出错;其他情况均表示出现了无法纠正的错误。 Nand flash常用的软件管理方案 Nand Flash由于自身的原因,会有一些限制: 1 不能直接在数据上进行覆盖,必须先擦后写。 2 写和擦有寿命。某些块可能会用的更频繁从而导致坏块。 3 在出厂时会存在坏块,在使用过程中也会产生坏块。 4 会在读取数据时产生错误或读取失败。 正是因为这些限制,Nand Flash的操作相对比较复杂,因此 需要通过软件将Nand Flash仿真为传统的逻辑块设备,便于 读擦写等操作。 SC6800H平台目前支持FTL和XSR两种软件管理方案: 在PDA_V2.0之前,平台使用的是XSR解决方案,在PDA_V2.0平台使用的是FTL解决方案。 Nand flash常用的软件管理方案 FTL(Flash Translation Layer) 传统的嵌入式系统一般使用FTL方案。FTL将Nand Flash 仿真为一个块设备使得Nand Flash与其他常规块存储设备一 样。FTL是处于文件系统和Nand Flash设备之间一个中间层。 FTL从文件系统层收到读写操作的逻辑地址。在FTL层把 这些逻辑地址映射成真正的物理地址,从而正确的进行相应 操作。由于FTL创建了虚拟块进行映射管理,所以对这些虚拟 块会有一些相应的软件算法,比如垃圾收集(Garbage Collection),坏块管理(Bad Block Management),写平衡算 法(

文档评论(0)

1亿VIP精品文档

相关文档