zoukankan      html  css  js  c++  java
  • nandflash学习1——导致nandflash反转的原因【转】

    转自:http://blog.csdn.net/gaosentao/article/details/7711311

    Bit Flip/Bit Flipping/Bit-Flip/Bit twiddling of Nand Flash

    Nand Flash由于本身硬件的内在特性,会导致(极其)偶尔的出现位反转的现象。
    所谓的位反转,bit flip,指的是原先Nand Flash中的某个位,变化了,即要么从1变成0了,要么从0变成1了。
    Nand Flash的位反转现象,主要是由以下一些原因/效应所导致:
    1. 漂移效应(Drifting Effects)
    漂移效应指的是,Nand Flash中cell的电压值,慢慢地变了,变的和原始值不一样了。
    2.编程干扰所产生的错误(Program-Disturb Errors)
    此现象有时候也叫做,过度编程效应(over-program effect)。
    对于某个页面的编程操作,即写操作,引起非相关的其他的页面的某个位跳变了。
    3.读操作干扰产生的错误(Read-Disturb Errors)
    此效应是,对一个页进行数据读取操作,却使得对应的某个位的数据,产生了永久性的变化,即Nand Flash上的该位的值变了。

    如果只是对于单个位的跳变,也许问题看起来并不是很严重。然而,如果恰巧是某个重要文件的某位变化了,那么问题就严重了。
    如果位反转,只是读取数据出来时候报告出来的位反转,那么很简单,只需要重新再去读取一次数据,即可解决此问题。
    但是,如果是Nand Flash物理上的某个位真正的翻转了,那么需要通过对应的ECC校验去解决。

    相对Nor Flash来说,Nand Flash中,位反转的现象,相对更加容易发生。因此,Nand Flash厂家都推荐,在使用Nand Flash的时候,最好要应用ECC算法。
    当Nand Flash应用于多媒体信息,比如存储音视频文件,那么位反转所造成的问题,并不严重。
    当用于存储操作系统,配置文件和其他敏感信息的时候,必须要用ECC,以实现数据的校验,保证数据的正确性。

  • 相关阅读:
    给图片加自定义字体水印
    [ZT]互联网网站应该如何存储密码?
    【Best Practice】在JAVA里面反序列化.NET的对象。
    关于权限验证的两篇好文
    U盘安装Ubuntu遇到的奇怪问题
    const 用法
    程序员进级攻略
    搞混的指针数组与数组指针
    C/C++内存分配
    多个常见代码设计缺陷(转载)
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/5267151.html
Copyright © 2011-2022 走看看