CN104317733A - 一种nand flash坏块管理方法 - Google Patents
一种nand flash坏块管理方法 Download PDFInfo
- Publication number
- CN104317733A CN104317733A CN201410589259.4A CN201410589259A CN104317733A CN 104317733 A CN104317733 A CN 104317733A CN 201410589259 A CN201410589259 A CN 201410589259A CN 104317733 A CN104317733 A CN 104317733A
- Authority
- CN
- China
- Prior art keywords
- bad block
- block
- nand flash
- address
- management method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种NAND FLASH坏块管理方法,解决常见NAND FALSH坏块管理算法中速度与容量无法均衡的问题。该本发明在一个操作周期即可得到逻辑块地址对应的物理块地址。本发明可以在采用较少存储空间的情况下,实现坏块的管理工作。同时速度与全容量映射方法一样,在一个操作周期即可得到逻辑块地址对应的物理块地址。有效解决了常见的坏块管理方法中速度与面积的矛盾。将该方法应用在存储器的电子设计中,降低了对硬件的要求,如计算映射关系的RAM、存储映射表的FLASH等,在不降低产品性能的情况下,显著降低产品的板面积和成本。本发明明显缩小芯片集成电路规模和芯片面积。
Description
技术领域
本发明属于航空电子技术领域,具体涉及一种NAND FLASH坏块管理方法。
背景技术
NAND FLASH Memory是一种点可擦除读写非易失性存储器。它具有高密度,低成本,非易失性,功耗低,读写和擦除速度快等优点,因此在移动设备中得到了广泛应用。为了提高产品是良品率,NAND FLASH在出厂时存在一定比例的坏块,芯片厂家会在固定位置给出坏块标记,此外在使用过程中,也可能产生新的坏块。由于坏块无法完成正常的读、写、擦操作,因此采用一种方便快捷的坏块管理方法,屏蔽坏块的使用,使得数据始终在有效块上操作,使用该类存储器,保证数据安全必须的过程。
为了使用方便,我们将应用层欲操作的块地址称为逻辑块地址,将实际数据存放的块地址称为物理块地址,逻辑块地址到物理块地址的对应关系,称为映射关系,存储该映射关系的表,称为映射表。目前普遍采用的坏块管理方法主要有两种:一是采用全容量映射的方法。首先将物理块地址分为数据区和冗余区,然后每个NAND FLASH逻辑块均对应一个物理块地址,存储该块对应的物理地址,如果数据区存在坏块,则从冗余区选择一个好块进行映射即可。操作某块时,直接读取映射表,即可得到对应的物理块地址。二是采用坏块映射的方法。即仅对坏块进行映射,每个坏块均有一个冗余区好块进行对应。每次操作前,首先遍历映射区,如果有对应的地址,则操作冗余区物理地址,如果没有,则说明当前块为好块。可直接进行操作。
从以上描述可以看出,方法一随着存储容量的增加,其需要的存储的地址的容量成比例上升。尤其在海量存储设备中,其容量大到不可接受的地步。方法二,虽然存储容量较小,但是由于每次操作前,均需要进行扫描,会严重影响整个系统的读写速度。
发明内容
发明目的:提供一种NAND FLASH坏块管理方法,解决常见NAND FALSH坏块管理算法中速度与容量无法均衡的问题。
技术方案:一种NAND FLASH坏块管理方法,首先建立坏块标记表和映射表,将NAND FLASH的物理存储区域分为数据区和冗余区,其中数据区作为数据的正常记录区域,冗余区作为数据区中坏块的备份,并定义逻辑区与数据区地址相同且大小一致;首先,按照数据区地址顺序遍历NAND FLASH坏块标记,按照遍历顺序建立一个坏块标记表,使用1表示对应块为坏块,0表示对应块为好块;当某块为坏块时,在冗余区寻找一个好块建立映射关系,形成映射表,映射表中未使用的地址写入全F将该映射关系保存;当需要操作某个逻辑区块的地址时,按照以下步骤实现其对应的物理块地址:
步骤1:查询坏块标记,若坏块标记为0,说明与该逻辑块地址值相同的数据区块为好块,可直接操作;若坏块标记为1,转步骤2;
步骤2:将逻辑区块地址对应的坏块标记表中地址之前的1相加,记为sum,转步骤3;
步骤3:将sum作为映射表的地址,输出映射表地址sum位置存储的数据,即为对应的冗余区的物理块地址。
优选的,步骤2采用二进制全加器实现。
优选的,步骤2具体采用硬件电路或FPGA实现。
如果对某个逻辑区块的地址进行操作时发现新的坏块,则需要更新坏块标记表和映射表,按照以下步骤实现:
步骤4:将当前块的坏块标记更新为1,转步骤5;
步骤5:在冗余区寻找未使用的好块进行映射,转步骤6;
步骤6:将sum开始的内容依次后移,将映射关系填入sum位置即可建立新的映射表。
有益效果:本发明可以在采用较少存储空间的情况下,实现坏块的管理工作。同时速度与全容量映射方法一样,在一个操作周期即可得到逻辑块地址对应的物理块地址。有效解决了常见的坏块管理方法中速度与面积的矛盾。将该方法应用在存储器的电子设计中,降低了对硬件的要求,如计算映射关系的RAM、存储映射表的FLASH等,在不降低产品性能的情况下,显著降低产品的板面积和成本。将该方法应用在NAND FLASH控制器等芯片设计中,可以在不降低产品性能的情况下,明显缩小芯片集成电路规模和芯片面积。
附图说明
图1常见的坏块管理方法一
图2常见的坏块管理方法二
图3本发明采用的坏块管理方法
图4标记求和方法
图5以某NAND FLASH为例的坏块管理方法示意图
具体实施方式
下面结合附图对本发明做进一步详细描述,如图3所示,首先建立坏块标记表和映射表,将NAND FLASH的物理存储区域分为数据区和冗余区,其中数据区作为数据的正常记录区域,冗余区作为数据区中坏块的备份,并定义逻辑区与数据区地址相同且大小一致;首先,按照数据区地址顺序遍历NAND FLASH坏块标记,按照遍历顺序建立一个坏块标记表,使用1表示对应块为坏块,0表示对应块为好块;当某块为坏块时,在冗余区寻找一个好块建立映射关系,形成映射表,映射表中未使用的地址写入全F将该映射关系保存;当需要操作某个逻辑区块的地址时,按照以下步骤实现其对应的物理块地址:
步骤1:查询坏块标记,若坏块标记为0,说明与该逻辑块地址值相同的数据区块为好块,可直接操作;若坏块标记为1,转步骤2;
步骤2:将逻辑区块地址对应的坏块标记表中地址之前的1相加,采用二进制全加器实现,具体采用硬件电路或FPGA实现。记为sum,转步骤3;
步骤3:将sum作为映射表的地址,输出映射表地址sum位置存储的数据,即为对应的冗余区的物理块地址。
如果对某个逻辑区块的地址进行操作时发现新的坏块,则需要更新坏块标记表和映射表,按照以下步骤实现:
步骤4:将当前块的坏块标记更新为1,转步骤5;
步骤5:在冗余区寻找未使用的好块进行映射,转步骤6;
步骤6:将sum开始的内容依次后移,将映射关系填入sum位置即可建立新的映射表。
下面以如图5所示例具体进一步详细描述,示例中NAND FLASH有16384个块,其中第3、5、9块为坏块的NAND FLASH为例进行说明,假设数据区为第0块~第15999块,冗余区为第16000块~第16384块,第8块在操作过程中损坏。首先通过读取NAND FLASH的坏块标记,判断是否为坏块,按照遍历顺序建立一个16384×1bit的坏块标记表,其中第3,5,9块的标记为1,其余标记为0。分别于冗余区的第16000,16001,16002块建立建立映射关系,在冗余块映射表的地址1,2,3分别填入16000,16001,16002,其余未使用的地址写入全F,将该映射关系保存。当需要操作某个逻辑区块的地址时,按照以下步骤实现其对应的物理块地址:
步骤1:查询坏块标记,若坏块标记为0,说明与该逻辑块地址值相同的数据区块为好块,可直接操作;若坏块标记为1,进入步骤2,以图5所示例,操作逻辑地址0,1,2,4,6,7,8,10……时,查询坏块标记为0,转换后的物 理地址为地址0,1,2,4,6,7,8,10……。当操作逻辑地址3,5,9时,由于坏块标记为1,转步骤2;
步骤2:将地址3,5,9之前所有的坏块标记相加,通过二进制全加器分别得到sum为1,2,3.,转步骤3;
步骤3:将1,2,3作为映射表地址,分别得到冗余区的物理块地址16000,16001,16002,即对逻辑块3,5,9的操作,就是对物理块16000,16001,16002的操作。
如果对某个逻辑区块的地址进行操作时发现新的坏块,则需要更新坏块标记表和映射表,以图5示例,操作第8块时,发现其损坏,此刻需要更新坏块标记表和冗余映射表。按照以下步骤实现:
步骤4:将当前块的坏块标记地址8的位置更新为1。转步骤5;
步骤5:在冗余区寻找未使用的好块16003进行映射。此时,sum为3,转步骤6;
步骤6:将映射表地址3开始的内容依次后移,将16003填入地址3的位置,完成映射表的更新。
通过以上示例,可以看出共需要16384×1bit+384byte×2=2816byte的存储空间,由于中间的加法器采用硬件电路或FPGA实现,所以实际的操作周期为1个时钟。
若采用图1所示全映射的坏块管理方法,则需要16384×2byte=32768byte的存储空间,操作周期为1个时钟。
若采用图2冗余区映射的坏块管理方法,则需要384byte×2=768byte的存储空间,但是操作周期至少为384个时钟。
可见在本示例中,全映射的坏块管理方法所需的存储空间是本发明的11.6倍,操作周期相同,而冗余区映射的坏块管理方法所需时间是本发明的384倍,但存储空间只有本发明的0.27倍。
Claims (4)
1.一种NAND FLASH坏块管理方法,首先建立坏块标记表和映射表,将NANDFLASH的物理存储区域分为数据区和冗余区,其中数据区作为数据的正常记录区域,冗余区作为数据区中坏块的备份,并定义逻辑区与数据区地址相同且大小一致;首先,按照数据区地址顺序遍历NAND FLASH坏块标记,按照遍历顺序建立一个坏块标记表,使用1表示对应块为坏块,0表示对应块为好块;当某块为坏块时,在冗余区寻找一个好块建立映射关系,形成映射表,映射表中未使用的地址写入全F将该映射关系保存;其特征在于,当需要操作某个逻辑区块的地址时,按照以下步骤实现其对应的物理块地址:
步骤1:查询坏块标记,若坏块标记为0,说明与该逻辑块地址值相同的数据区块为好块,可直接操作;若坏块标记为1,转步骤2;
步骤2:将逻辑区块地址对应的坏块标记表中地址之前的1相加,记为sum,转步骤3;
步骤3:将sum作为映射表的地址,输出映射表地址sum位置存储的数据,即为对应的冗余区的物理块地址。
2.根据权利要求1所述的一种NAND FLASH坏块管理方法,其特征在于,步骤2采用二进制全加器实现。
3.根据权利要求2所述的一种NAND FLASH坏块管理方法,其特征在于,步骤2具体采用硬件电路或FPGA实现。
4.根据权利要求1至3任意一项所述的一种NAND FLASH坏块管理方法,其特征在于,如果对某个逻辑区块的地址进行操作时发现新的坏块,则需要更新坏块标记表和映射表,按照以下步骤实现:
步骤4:将当前块的坏块标记更新为1,转步骤5;
步骤5:在冗余区寻找未使用的好块进行映射,转步骤6;
步骤6:将sum开始的内容依次后移,将映射关系填入sum位置即可建立新的映射表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410589259.4A CN104317733A (zh) | 2014-10-28 | 2014-10-28 | 一种nand flash坏块管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410589259.4A CN104317733A (zh) | 2014-10-28 | 2014-10-28 | 一种nand flash坏块管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104317733A true CN104317733A (zh) | 2015-01-28 |
Family
ID=52372968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410589259.4A Pending CN104317733A (zh) | 2014-10-28 | 2014-10-28 | 一种nand flash坏块管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317733A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718328A (zh) * | 2016-01-12 | 2016-06-29 | 珠海煌荣集成电路科技有限公司 | 存储器坏区的数据备份方法及系统 |
CN105786719A (zh) * | 2016-03-03 | 2016-07-20 | 北京兆易创新科技股份有限公司 | 一种NAND Flash存储器和存储器中坏块的处理方法 |
CN106648463A (zh) * | 2016-12-21 | 2017-05-10 | 广州周立功单片机科技有限公司 | Nand Flash块管理方法和系统 |
CN106649137A (zh) * | 2016-10-18 | 2017-05-10 | 凌云光技术集团有限责任公司 | 一种Nand Flash坏块管理方法、装置及存储器 |
CN106971757A (zh) * | 2017-03-22 | 2017-07-21 | 惠州佰维存储科技有限公司 | 一种检验Nand Flash质量的方法及系统 |
CN107894872A (zh) * | 2017-09-30 | 2018-04-10 | 南京扬贺扬微电子科技有限公司 | SPI Nand Flash的坏块管理方式 |
CN109144423A (zh) * | 2018-08-31 | 2019-01-04 | 湖南率为控制科技有限公司 | 存储器坏块管理方法、装置及闪速存储器 |
CN110287068A (zh) * | 2019-07-04 | 2019-09-27 | 四川长虹空调有限公司 | 一种NandFlash驱动方法 |
CN113377296A (zh) * | 2021-08-16 | 2021-09-10 | 深圳市有为信息技术发展有限公司 | 车载终端NAND Flash的存储管理方法和系统、车载终端、车辆 |
CN114385087A (zh) * | 2022-01-18 | 2022-04-22 | 中国科学院长春光学精密机械与物理研究所 | 一种基于NandFlash的非均匀校正系数存储方法及其系统 |
CN117891412A (zh) * | 2024-03-14 | 2024-04-16 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘的坏块映射方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281493A (zh) * | 2008-05-26 | 2008-10-08 | 中兴通讯股份有限公司 | 与非闪存器及其管理方法 |
US20120079166A1 (en) * | 2010-09-29 | 2012-03-29 | Hon Hai Precision Industry Co., Ltd. | Electronic device and method for initializing data storage |
CN102426418A (zh) * | 2011-09-29 | 2012-04-25 | 哈尔滨工程大学 | 潜器全方位推进器单通道电液位置伺服控制方法 |
CN102622306A (zh) * | 2012-02-21 | 2012-08-01 | 中颖电子股份有限公司 | 存储装置的坏块管理方法 |
-
2014
- 2014-10-28 CN CN201410589259.4A patent/CN104317733A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281493A (zh) * | 2008-05-26 | 2008-10-08 | 中兴通讯股份有限公司 | 与非闪存器及其管理方法 |
US20120079166A1 (en) * | 2010-09-29 | 2012-03-29 | Hon Hai Precision Industry Co., Ltd. | Electronic device and method for initializing data storage |
CN102426418A (zh) * | 2011-09-29 | 2012-04-25 | 哈尔滨工程大学 | 潜器全方位推进器单通道电液位置伺服控制方法 |
CN102622306A (zh) * | 2012-02-21 | 2012-08-01 | 中颖电子股份有限公司 | 存储装置的坏块管理方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718328B (zh) * | 2016-01-12 | 2017-10-27 | 珠海煌荣集成电路科技有限公司 | 存储器坏区的数据备份方法及系统 |
CN105718328A (zh) * | 2016-01-12 | 2016-06-29 | 珠海煌荣集成电路科技有限公司 | 存储器坏区的数据备份方法及系统 |
CN105786719A (zh) * | 2016-03-03 | 2016-07-20 | 北京兆易创新科技股份有限公司 | 一种NAND Flash存储器和存储器中坏块的处理方法 |
CN106649137B (zh) * | 2016-10-18 | 2020-04-21 | 凌云光技术集团有限责任公司 | 一种Nand Flash坏块管理方法、装置及存储器 |
CN106649137A (zh) * | 2016-10-18 | 2017-05-10 | 凌云光技术集团有限责任公司 | 一种Nand Flash坏块管理方法、装置及存储器 |
CN106648463A (zh) * | 2016-12-21 | 2017-05-10 | 广州周立功单片机科技有限公司 | Nand Flash块管理方法和系统 |
CN106648463B (zh) * | 2016-12-21 | 2020-06-16 | 广州立功科技股份有限公司 | Nand Flash块管理方法和系统 |
CN106971757A (zh) * | 2017-03-22 | 2017-07-21 | 惠州佰维存储科技有限公司 | 一种检验Nand Flash质量的方法及系统 |
CN107894872A (zh) * | 2017-09-30 | 2018-04-10 | 南京扬贺扬微电子科技有限公司 | SPI Nand Flash的坏块管理方式 |
CN109144423A (zh) * | 2018-08-31 | 2019-01-04 | 湖南率为控制科技有限公司 | 存储器坏块管理方法、装置及闪速存储器 |
CN109144423B (zh) * | 2018-08-31 | 2022-03-18 | 湖南率为控制科技有限公司 | 存储器坏块管理方法、装置及闪速存储器 |
CN110287068A (zh) * | 2019-07-04 | 2019-09-27 | 四川长虹空调有限公司 | 一种NandFlash驱动方法 |
CN113377296A (zh) * | 2021-08-16 | 2021-09-10 | 深圳市有为信息技术发展有限公司 | 车载终端NAND Flash的存储管理方法和系统、车载终端、车辆 |
CN114385087A (zh) * | 2022-01-18 | 2022-04-22 | 中国科学院长春光学精密机械与物理研究所 | 一种基于NandFlash的非均匀校正系数存储方法及其系统 |
CN117891412A (zh) * | 2024-03-14 | 2024-04-16 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘的坏块映射方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317733A (zh) | 一种nand flash坏块管理方法 | |
CN104750619B (zh) | 数据储存装置以及快闪存储器控制方法 | |
US10445231B2 (en) | Method and system for storage device metadata management and processing | |
CN102841851B (zh) | 闪存管理方法和闪存设备 | |
CN105556416B (zh) | 数据存储设备/系统中利用低功率状态的停电保护和恢复 | |
CN105224478B (zh) | 一种映射表的形成、更新和恢复方法及电子设备 | |
CN105243025B (zh) | 一种映射表的形成及加载方法、电子设备 | |
CN103559138B (zh) | 固态硬盘及其空间管理方法 | |
CN102819496B (zh) | 闪存ftl的地址转换方法 | |
EP2626792A1 (en) | Wear leveling method, memory device, and information system | |
CN104268094A (zh) | 一种优化的闪存地址映射方法 | |
TWI434175B (zh) | 用來進行區塊管理之方法以及記憶裝置及控制器 | |
CN106354658B (zh) | 一种降低混合映射算法中映射表内存资源占用的方法 | |
CN104750565A (zh) | Nand坏块处理方法及nand闪存设备 | |
CN105630705A (zh) | 数据存储装置及使用块替换表的读写方法 | |
CN103996412A (zh) | 一种用于智能卡非易失性存储器的掉电保护方法 | |
CN105630701B (zh) | 数据存储装置及使用不可用页表或不可用块表的读写方法 | |
CN105278875A (zh) | 一种混合异构nand固态硬盘 | |
CN102609358B (zh) | 聚集静态数据的方法及其固态硬盘 | |
CN102999441B (zh) | 一种细粒度内存访问的方法 | |
CN104714894A (zh) | 一种分层的基于随机映射的相变内存磨损均衡方法及系统 | |
CN102567214A (zh) | 一种用于raid5快速初始化位图页面管理的方法 | |
CN103019959A (zh) | 一种指令高速缓冲存储器 | |
CN102306128B (zh) | 磁盘管理方法、装置及网络设备 | |
CN102541753B (zh) | 一种嵌入式存储器的读写优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150128 |
|
RJ01 | Rejection of invention patent application after publication |