标题 | 一种Flash位翻转故障的分析与改进 |
范文 | 王志强 左清清 刘陶 由于NAND Flash存储器因本身工艺特性,有时会发生位翻转现象,即一个比特位的值由0翻转为1,或由1翻转为0。NandFlash芯片位翻转为芯片固有特性,发生概率极低。机载计算机电子盘在用户使用过程中若发生文件系统关键数据错误,则会导致文件系统挂载不成功。本文通过分析一例Flash位翻转故障,对电子盘进行了设计改进,避免了Flash位翻转时导致文件系统故障。 故障情况 用户首先选中多个文件夹进行删除,当执行第3次删除操作时,远程系统浏览器弹出“无法删除文件”提示,关闭提示对话框后,立刻进行单个文件夹删除操作,远程系统浏览器仍然弹出“无法删除文件”提示;给产品下电,随后重新上电,产品重启过程中报告文件系统无法挂载,并且无法通过远程系统浏览器连接产品上的文件系统。 故障分析 在对本故障件加电测试过程中,对存储文件系统管理数据的页数据进行分析,发现读出的数据中有一处数据发生从0xD4到0x54的跳变,其二进制表示为0b110101000b01010100,可确定此处数据发生1bit从1到0的翻转,错误KEY值,如图1所示。 如果模块具有ECC校验能力,可对单页中出现的少量数据位错误进行性检测和纠正。故障模块配套逻辑不具备ECC校验能力,读取电子盘中spare区(存储ECC校验结果)数据,发现数据均为0xFF,即未进行ECC校验。因此,当NandFlash中发生位翻转时,无法对ECC校验进行纠错,而该位数据刚好是文件系统索引关键数据,所以最终引起了文件系统挂载不成功。 NandFlash存储器中每个存储单元由源极、漏极和栅极组成。栅极与硅衬底之间通过二氧化硅绝缘层来保护浮置栅极中的电荷不会泄漏。NandFlash为电压型控制器件,其擦和写均是基于隧道效应,电流穿过浮置栅极与硅基层之间的绝缘层,对浮置栅极进行充电(写数据)或放电(擦除数据)。 在芯片的使用和存储过程中,NAND Flash由于本身的内在固有特性,会出现位翻转现象,随着擦除和编程次数的增多,会加剧某些存储单元“位翻转”现象的发生。因此,在使用过程中通常需要视情况增加ECC校验功能。ECC(Error Checking and Correction)是一种用于NAND的差错检测和纠正算法,它将数据块看作一个矩阵,利用矩阵的行、列奇偶信息生成ECC校驗码,可对单页中出现的少量数据位错误进行检测和纠正,有效避免因NandFlash偶发位翻转引起的错误。 改进 NandFlash芯片位翻转为芯片固有特性。通过增加ECC校验,能够在发生NandFlash芯片发生“位翻转”时进行纠错,避免文件系统发生异常。更改软件设计,当执行电子盘读操作时,根据电子盘控制逻辑返回值判断NandFlash是否发生不可校验的位翻转现象。若NandFlash发生不可校验的位翻转现象,则将相关信息存储在子卡模块的NvRAM中。 NandFlash芯片位翻转为芯片固有特性,发生概率极低。但是通过增加ECC校验,能够在发生NandFlash芯片发生“位翻转”时进行纠错,避免文件系统发生异常。本文通过分析Flash芯片位翻转故障,对电子盘模块进行了设计改进,避免故障再次发生,希望此分析及改进过程对阅读者有所帮助。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。