数据记录器中NAND Flash的坏块管理方法

Vol. 36 No. 8
132舰船电子工程
Ship Electronic Engineering
总第266期2016年第8期
数据记录器中NAND Flash的坏块管理方法
邢旺郁聪冲
(92941部队95分队葫芦岛125000)
摘要NAND Flash作为数据记录器中的数据存储芯片,其在应用时容易受到坏块问题的影响。大量的应用表明坏块能够降低存储芯片的稳定性,造成存储数据的错误,因此为了保证存储数据正确,对NAND Flash芯片中坏块的管理具有重要意义。介绍了 NAND Flash的物理结构,归纳了坏块跳过法和动态坏块管理法,为NAND Flash的坏块管理提供了依据。
关键词NAND Flash;坏块识别;坏块替换;坏块跳过;动态坏块管理
中图分类号TN401 DOI:10. 3969/j. issn. 1672-9730. 2016. 08. 032
Bad Block Management Methods of NAND Flash
Memory in Data Recorder
XING Wang YU Congchong
(Unit 95, No. 92941 Trops of PLA, Huludao 125000)
Abstract NAND Flash is used as memory chips of the data recorder. NAND Flash is easily affected by the bad block problem. Bad block could be able to reduce the stability of the memory chips and cause data errors. Therefore, bad block management of the NAND Flash is important. The physical structure of NAND Flash is introduced. Bad block skip method and dynamic bad block management method are summarized. Theoretic analysis can verify the truth of the bad block manage­ment methods of NAND Flash.
Key Words NAND Flash, bad block identification, bad block replacement, bad block skip, dynamic bad block man­agement
Class Number TN401
i引言
随着电子技术的飞速发展,嵌入式系统已被广 泛应用于工业生产与军事国防领域。基于嵌入式 系统研发的数据记录器能够接收并存储工业设备 的健康状态数据,为设备的安全运行提供保障;在 武器装备试验中,数据记录器可以存储装备运行期 间的各种试验参数,试验结束后可通过导出试验数 据分析装备故障、测定航行路线等,为事后鉴定提 供依据,尤其在飞行器的飞行试验与水下探测器的 航行试验中,若数据记录器不能正常工作,不仅没 有依据评定装备的性能,而且会造成不可估量的损失。现阶段,Flash闪存已成为各类便携型数字设 备的存储介质,由于NAND Flash芯片具有存储速 度快、容量大、可擦除次数多等优势,其在数据记录 器中应用最为广泛。但是NAND Flash在出厂时 便会存在稳定性无法保证的坏块,这是由于技术工
艺问题造成的,并且无法克服,同时,在使用过程 中,随着擦写次数的增多,也会出现坏块,这些坏块
不允许进行擦除和写入操作,所以,坏块管理在 NAND Flash中具有相当重要的作用[1〜3]。
针对数据记录器中NAND Flash存在坏块的 情况,本文主要研究NAND Flash的工作原理和芯 片中坏块的管理方法,以满足不同的需求,为数据
收稿日期=2016年2月9日,修回日期= 2016年3月21日
作者简介:邢旺,男,硕士研究生,助理工程师,研究方向:卫星导航。郁聪冲,男,硕士研究生,助理工程师,研究方向:卫星导航。
2016年第8期舰船电子工程133
记录器中NAND Flash存储数据的正确性和芯片 工作的稳定性提供可靠的保证。
2 NAND Flash的物理结构
现在很多公司都生产NAND Flash芯片,以三 星公司生产的K9K8G08U0A芯片为例[4],其物理 存储单元的阵列组织结构如图1所示,该芯片的存 储结构包含8192个块,每块的存储空间大小为(128K+4K)字节。每一块又含有64页,每页的存 储空间大小为(2K+64)字节,其中,2K为用户的 数据存储区,最后64字节构成的区域为冗余区域,数据在读写时候相对容易出错,为了保证数据的正 确性,必须要有对应的检测和纠错方法,而额外的 错误校验等需要空间,所以设计了多余的区域,用 于放置数据的校验值或坏块标记等信息[5]。
图1 K9K8G08U0A的物理存储单元的阵列组织结构
页是NAND Flash的写入操作的基本单位,NAND Flash芯片中都有一个对应的区域,专门用
于存放将要写入到物理存储单元中去的或者刚从 存储单元中读取出来的一页数据,这个数据缓存区 称为页寄存器,只有将数据写到了页寄存器中,等 待编程确认命令到来时,实际的编程写入动作才开 始。块则是NAND Flash擦除操作的最小单位,在 发送一个擦除命令后,一次性地将一个块全部擦除 为1,也就是OxFF。NAND Flash的数据流向步骤 如图2所示。
图2 NAND Flash的数据流向
3NAND Flash的坏块管理
3.1坏块识别和存储
NAND Flash的出厂坏块包含一个或更多个 不可用的bk,生产NAND Flash的厂家通常会保 证芯片的第0块是好块,并且一般相对比较耐用,做此保证的主要原因是很多种NAND Flash的坏 块管理方法中,就是将坏块信息存储在第〇块内。坏块的标记保存在冗余区的固定位置,对于现在常 见的页大小为2K的NAND Flash,坏块标记位于 块中第一页起始位置的第1个字节,如果该字节不 是OxFF,就说明该块是坏块。在第一次启动时,NAND Flash通常会进行坏块扫描和建立坏块信 息表的过程,该过程的流程图如图3所示。
图3创建坏块信息表的流程
NAND Flash在使用过程中出现的坏块分为 两种:1)当擦除或者编程操作失败时,会产生第一 种使用坏块。具体过程就是在擦除和编程操作过 后读状态寄存器,如果失败就将该块标记为坏块。
2)读某块内的某页数据时,如果数据出错位数超出 了ECC(Error Correcting Code)校验能力,则产生
第二种使用坏块。具体过程就是在读操作后,如果 ECC不能校验回原数据就标记该块为坏块[6]。
3.2坏块的替换
通常情况下,创建坏块表的同时会创建一个坏 块和好块的对应关系表并保存在NAND Flash的第〇块中。在存储数据时,首先读出坏块表中的信 息,然后根据坏块表中的信息跳过固有坏块进行数 据的存储;同样,在NAND Flash使用过程产生坏 块时,通过坏块和好块的对应关系表,把坏块中的 数据转存到与之对应的好块中,同时跳过此坏块,将此坏块进行标记并更新无效块表的信息[7]。坏 块替换过程如图4所示。
在编程或者写入过程中,如果发现块A的第7
外接头
7
134邢旺等:数据记录器中NAND Flash的坏块管理方法总第266期
页出现错误时,首先复制第A块中第1页到第(77一1)页的数据,同时转存到好块B的相同位置,然 后将缓存中块A第〃页的数据复制到块B的第;7页,并在块B中继续存储数据,完成坏块的替换。
3.3坏块跳过法
坏块跳过法的思想在于运行前首先建立坏块
信息标记表,如果在运行中经查询某块是坏块时,
则跳过该块,对下一个块地址进行操作。如果在 NAND Flash使用过程中突发出现坏块,也将该坏
块的数据存储在下一个好块里。这种方法实现简 单,查询标记和坏块替换速度快,一般适用于高速 顺序的场合[8i&]b其具体过程为:上电时先将第〇块的坏块表信息读出并存入相应的寄存器中,在写 数据之前调用检测好块地址函数,将检测到的好块 地址存到寄存器中,读取寄存器中好块地址进行写 操作的同时继续调用检测好块地址函数,如果检测 到下一块是好块就直接存到寄存器中,如果是下一 块是坏块则将块加一,并再次调用检测好块地址函 数,直到检测到好块并将其地址存到寄存器中,这
样循环下去,不断更新和读出寄存器中的内容,便 可以成功跳过坏块。坏块跳过法的时序仿真图如 图5所示。
图5坏块跳过法时序仿真图
以K9K8G08U0A芯片为例,该芯片的每一块 含有64页,将地址加64,即16进制的0040,就可 以实现块数增加1,即跳过一块。图5中clock为 时钟信号,bad_block为坏块信号,addr为起始地 址,addr_add为地址的增加值。当输入的起始地址 为16进制数1100时,若在地址1102处检测到坏 块,则发出bad_block坏块信号,同时地址的增加 值addr_ad d由0000变为0040,操作地址也由1101加上0040变为1141,则成功跳过坏块,对下 一块进行操作。
3.4动态坏块管理法
动态坏块管理法的思想在于当NAND Flash 存储空间出现坏块时,采取动态坏块管理法标记坏 块,将坏块放入映射表的坏块区,从替换块区选择 一个好块,代替坏块进行操作,同时,更新逻辑-物 理块地址映射表。在对已用块进行琴入操作时,改 为对交换块进行操作,有利于NAND Flash存储空 间的管理及逻辑-物理地址映射表的更新[l e〜11]。
动态坏块管理法首先将NAND Flash整个的 存储空间划分成若干个组,每个组包含相同数量的 块,同
时为每个组建立一张逻辑-物理块地址映射 表,并将映射表划分为四个区:1)数据存储区:用于 存储数据、系统应用程序等;2)交换块区:所有对已 用块的写入操作均改为对交换块的写入;3)替换块 区:替换块用于当写入块是一个坏块时,可以从替 换块中一个好块,代替坏块进行编程操作;4)坏 块区:坏块区用于存放初始上电扫描发现的坏块以 及使用过程中出现的坏块。在映射过程中将坏块 放在映射表的最后。每一组的逻辑-物理块地址映 射空间划分如图6所示。
图6映射空间的划分
动态坏块管理法的关键环节在于更新逻辑-物 理块地址映射表,需要更新逻辑-物理地址映射表 的状况有两种:1)当对某一块进行编程、擦除操作 失败时,则认定该块为坏块,此时需要从替换块区 选择一个好块,将坏块的逻辑地址赋给替换块区选 定的好块,并对替换块进行写入数据的操作,同时 将坏块和替换块进行标记,并将坏块的逻辑地址对 应到地址映射表的坏块区;2)若没有出现坏块,而 是将要进行编程写入操作的块是已用块时,便要从 交换块区选择一个块代替已用块进行操作,将交换 块的地址映射到数据块中,并擦除此已用块,将其 作为新的交换块进行使用。每次完成对一个块的 写入操作后,要更新映射表,实现动态的映射地址 更新。最后,当对若干个块构成的某个组全部完成 操作后,系统自动更新NAND Flash存储的地址映 射表。
4结语
针对目前NAND Flash大量应用于数据记录 器的现状以及NAND Flash存在坏块问题的限制,本文介绍了坏块跳过法以及动态坏块管理法。坏 块跳过法实现简单且完成速度快,适用于高速场 合,而动态坏块管理法能够实现逻辑-物理地址映 射表的实时更新,同时引入了交换块的概念,在频 繁进行写入擦除操作时能及时到替换块。通过 使用合适的坏块管理方法,可以对NAND Flash中
(下转第160
页)
160陈瑜:舰船电子设备寿命件管理方案研究总第266期
塑料制品加工设备方案如下:
寿命件的筹措和存储期间的维护保养[1°]。根 据即将到寿的寿命件清单,对库存的寿命件进行排 查,对没有库存的寿命件进行及时订货,确保能够 准时供应。另外结合一段时间的保障经验,对于故 障率较高的寿命件预备适当数量的备件,确保寿命 件故障损坏后及时供应。
图4寿命件完善流程
寿命件日常或航行期间的状态监测。根据寿 命件监检测方案,对寿命件进行物理参数和工作性 能参数检测,给出监测初步结论。对于物理参数和 性能异常的寿命件进行上报[11]。并对故障情况和 监检测异常情况分析原因,对于重大的技术问题,组织技术责任单位、相关设备责任单位和厂家分析 问题发生原因,制定处理和解决方案。
吸咪头
5结语
本文对舰船电子寿命件的管理现状进行了分 析,在收集、查询各种技术资料的基础上,探讨了寿 命件管理的理论基础和方法体系,在此基础上提出 了寿命件的管理总体方案。为了达到寿命件管理
射频识别设备(上接第134页)
产生的坏块进行有效管理,提高了存储系统的稳定 性,为存储数据的准确性提供了可靠保障。
参考文献
[1]薛瑶.某飞行器数据记录器的优化设计[D].太原:中北
大学,2009:8-10.
[2]李士照.某水下用数据记录器的设计及实现[D].太原:
中北大学,2013:1-6.
[3]王安,钱晓亮,樊文侠.基于ARM的USB接口数据记
录器的设计[J].计算机应用,2007,27(1) : 254-256. [4] Samsung. K9K8G08U0A [EB/OL]. http://www. S a­
msung. com/Products/Semiconductor, 2006-1-10. [5]宁飞.大容量存储中NAND Flash坏块的管理方法[J].方案的合理、完善,实施寿命件的动态管理,还需要 开展大量的工作,需要设计部门、使用部门
、维修保 障部门的大力配合,结合实艇使用、故障和维修信 息,对寿命指标进行完善和调整,进一步完善寿命 件管理方案,及时发挥寿命件管理的作用的目的。
参考文献
[1] 王家林.船舶电力系统智能保护关键技术探讨[J].电
力系统及其自动化学报,2〇12,24(4) :106-110.
[2]王焕文.舰船电力系统及自动装置[M].北京:科学出
版社,12-61.
[3]邸旭,杨进华.微光与红外成像技术[M].北京:机械工
业出版社,23-25.正弦波滤波器
[4]于勇,孟广军.带电设备红外检测及诊断[J].青海电
力,2007,26(1):16-19.
[5]陈衡,侯善敬.电力设备故障红外诊断[J].北京:中国
电力出版社,1999.
[6] 曹春梅,张晓宏.红外热诊断技术在电力系统中的应用
[J].激光与红外,2006:781-784.
[7]张占松.电路与系统仿真实践[M].北京:科学出版社,
2000.
[8]曾建超,俞志和.虚拟现实的技术及其应用[M].北京:
清华大学出版社,1996.
[9]何利,王厚军.基于虚拟技术的实验教学[J].实用测试
技术,2001(4) :17-18.
[1〇]陈兴瑞.虚拟现实技术在实验教学中的应用探讨[J].
曲埠师范大学学报,2001,27(7): 114-117.
[11]张春仙.虚拟现实技术在现代教学中的应用[J].计算
机科学与实践,2005,3(8) :115-116.
电子测试,2012(12): 64-68.
燃煤机
[6]周军.NAND Flash的坏块管理设计[J].单片机与嵌入
式系统应用,2010(9): 15-20.
[7]彭兵,步凯,徐欣.NAND Flash坏块管理研究[J].微处
理器,2009(4)
[8]舒文丽,吴云峰.NAND Flash存储的坏块管理方法
[J].电子器件,2011,34(5) :580-583.
[9]张胜勇,高世杰,吴志勇,等.基于FPG A的NAND
Flash坏块处理方法[J].计算机工程,2010,36(6) : 239­
243.
[1〇]韩勇豪,王少云.一种NAND Flash动态坏块管理算法的设计与实现[J].信息化研究,2011,37(3) : 23-26. [11]张鹏.NAND Flash坏块管理算法研究与实现[D].哈
尔滨:哈尔滨工业大学,
2015:8-11.

本文发布于:2024-09-22 20:34:05,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/270041.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:坏块   数据   管理   进行   操作   寿命   地址   检测
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议