CN103778065B - 一种闪速存储器及其进行坏块管理的方法 - Google Patents
一种闪速存储器及其进行坏块管理的方法 Download PDFInfo
- Publication number
- CN103778065B CN103778065B CN201210414610.7A CN201210414610A CN103778065B CN 103778065 B CN103778065 B CN 103778065B CN 201210414610 A CN201210414610 A CN 201210414610A CN 103778065 B CN103778065 B CN 103778065B
- Authority
- CN
- China
- Prior art keywords
- block
- address
- bad
- flash memory
- bad block
- 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.)
- Active
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了一种在闪速存储器及其进行坏块管理的方法,涉及NANDFlash存储器技术领域。本发明公开的闪速存储器包括:坏块检测模块,对用户发起的访问操作对应的块地址进行检测,判断该块是否为坏块;坏块地址表存储模块,存储所述坏块检测模块判断出的坏块的块地址;块地址映射模块,收到用户发起的访问操作时,从所述坏块地址表存储模块中查询该访问操作对应的逻辑地址中的块地址是否为坏块的块地址,若是,则将所述访问操作对应的逻辑地址中的块地址映射到好块的块地址上,再发送给闪速存储器内部进行地址译码。本发明还公开了一种闪速存储器进行坏块管理的方法。本申请技术方案提高了系统可靠性,更解决了SPI NAND Flash应用的瓶颈。
Description
技术领域
本发明涉及NAND Flash存储器技术领域,具体涉及一种在NAND Flash芯片及其进行坏块管理的方法。
背景技术
现有NAND Flash与NOR Flash相比,除了制造过程中的制造缺陷外,在使用过程中还会产生缺陷产生,尤其在大容量芯片中,这种机制不可避免。因此,传统NAND Flash需要负责的driver负责帮助系统对NAND进行管理,而坏块(Bad block)的管理是必不可少的。而传统的NAND Flash使用过程中,由外部driver作为专门介于主控和NAND Flash的界面,来对坏块机制以及其他方面进行管理,如图1所示。
从上可以看出,传统的NAND Flash的坏块管理方案中,由于采用了driver提高了成本以及应用复杂性。更重要的是,随着NAND Flash工艺节点的不断进步,NAND Flash的存储单元的可靠性越来越差,通过外部简单的通坏块管理方法已经不能满足需求。另外,新出现的器件类型SPI NAND Flash的主控系统通常不能提供driver进行坏块管理(BBM),因此这样传统的方法不能实现SPI NAND产品。
发明内容
本发明所要解决的技术问题是,提供一种在NAND Flash芯片及其进行坏块管理的方法,从而提高NAND Flash的可靠性。
为了解决上述技术问题,本发明公开了一种闪速存储器,包括:
坏块检测模块,对用户发起的访问操作对应的块地址进行检测,判断该块是否为坏块;
坏块地址表存储模块,存储所述坏块检测模块判断出的坏块的块地址;
块地址映射模块,收到用户发起的访问操作时,从所述坏块地址表存储模块中查询该访问操作的逻辑地址对应的块地址是否为坏块的块地址,若是,则将所述访问操作对应的逻辑地址中的块地址映射到好块的块地址上,再发送给闪速存储器内部进行地址译码。
较佳地,上述闪速存储器中,所述坏块检测模块,在块擦除操作过程中,检测到该块中存在有擦除失败的存储格时,判断该块为坏块。
较佳地,上述闪速存储器中,所述坏块检测模块,在数据预写入过程中,检测到该块中存在有写入失败的存储格时,判断该块为坏块。
较佳地,上述闪速存储器中,所述块地址映射模块,将所述访问操作对应的逻辑地址中的块地址映射到好块的块地址上指:
所述块地址映射模块,将所述访问操作对应的逻辑地址中的块地址向上映射到距离该坏块最近的好块的块地址上。
较佳地,上述闪速存储器中,所述坏块地址表存储模块采用非易失性存储单元构成。
本发明还公开了一种闪速存储器进行坏块管理的方法,包括:
对用户发起的访问操作对应的块地址进行检测,当检测判断出某块为坏块时,存储该坏块的块地址;
当收到用户发起的访问操作时,若从所存储的坏块的块地址中查询到该访问操作的逻辑地址对应的块地址为坏块的块地址,则将所述访问操作对应的逻辑地址中的块地址映射到好块的块地址上,再进行地址译码。
较佳地,上述方法中,检测判断出某块为坏块指:
所述闪速存储器在块擦除操作过程中,检测到该块中存在有擦除失败的存储格。
较佳地,上述方法中,检测判断出某块为坏块指:
所述闪速存储器在数据预写入过程中,检测到该块中存在有写入失败的存储格。
较佳地,上述方法中,将所述访问操作对应的逻辑地址中的块地址映射到好块的块地址上指:
将所述访问操作对应的逻辑地址中的块地址向上映射到距离该坏块最近的好块的块地址上。
较佳地,上述方法中,所述闪速存储器采用非易失性存储单元存储坏块的块地址。
本申请技术方案提出了一种在NAND Flash内部集成坏块管理的方案,该方案适用于现在标准的NAND Flash以及SPI接口NAND Flash,不但降低了外部对NAND Flash使用的负责性,提高了系统可靠性,更解决了SPI NAND Flash应用的瓶颈。
附图说明
图1为传统的NAND Flash坏块管理架构示意图;
图2为本实施例中提供的NAND Flash的结构示意图;
图3为图2所示NAND Flash中块地址映射模块结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文将结合附图对本发明技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
实施例1
本实施例提供一种NAND Flash存储器,可在其内部实现坏块管理,该存储器如图2所示,至少包括块地址映射模块,坏块地址表存储模块和坏块检测模块。
坏块检测模块,对用户发起的访问操作对应的块地址进行检测,判断该块是否为坏块;
具体地,坏块检测模块可采用有限状态及FSM实现,即在适当的时间对所操作的block进行检测,以判断其为坏block还是好block。适当的时间可以是在对此block erase过程中,也可以是对此block program的操作过程。一般block erase过程时间比较长,在此过程中,会对此block中所有的地址空间进行操作,因此在erase过程中一旦检测到erasefail cell(擦除失败的存储格),则认为此block为坏block。同样地,在pre program过程中一旦检测到program fail cell(写入失败的存储格),也认为此block为坏block。然后坏块检测模块会自动对坏块地址表进行操作,即将这个坏block的记录到fuse中,同时更新坏块地址表存储模块的信息。
坏块地址表存储模块,存储坏块检测模块判断出的坏块的块地址。需要注意的是,本实施例中坏块地址表存储模块是根据坏块检测模块的实时检测结果实时更新所记录的坏块的块地址的。
本实施例中,坏块地址表存储模块可由fuse组成,这样在断电后还能继续保存,并在上电过程中进行读取即可。此处,坏块地址表存储模块记录的是所有被检测为坏块的地址,能够并行输出。其中,坏块地址表存储模块可以通过坏块标志位来记录所有Block中的坏块,即通过每个Block的坏块标志位的值来记录此Block是坏块还是好块。
块地址映射模块,收到用户发起的访问操作时,从坏块地址表存储模块中查询该访问操作对应的逻辑地址中的块地址是否为坏块的块地址,若是,则将访问操作对应的逻辑地址中的块地址映射到好块的块地址上,再发送给闪速存储器内部进行地址译码。需要说明的是,由于NAND Flash地址分为三种:block地址,page地址,page内byte地址。而对于坏块管理只要以block为单位即可,因此块地址映射表模块只对block地址部分进行处理。具体地,本实施例提供一种地址映射表模块的实现方式,如图3所示。但要注意的是本申请所提出的地址映射表模块的实现并不只限于图3这一种实现方式。
为简单起见,以NAND Flash内部有8个block,依次为block<7:0>为例如。说明坏块地址表存储模块中存储为block<2>,Block<6,5>为坏块。这样当外部逻辑地址寻址为block<2>(即用户发起的访问操作的逻辑地址对应的块地址为block<2>),这时地址映射表根据坏块地址表中的信息,由于block<2>中已经为坏块,因此寻址为block<2>的逻辑地址会被映射为物理block<3>,根据地址机制,寻址为block<3>的逻辑地址会被映射为物理block<4>。如果外部逻辑地址寻址为block<4>,则基于坏块地址表,寻址为block<4>的逻辑地址尝试映射物理block<5>,结果发现物理block<5>也为坏块,继续向上映射物理block<6>,结果发现物理block<6>也为坏块,则继续向上映射物理block<7>。
以上映射算法仅为示意,并不限于此算法,可以采用其他算法进行逻辑地址和物理地址的映射。
这样,从主控角度来看,如上的NAND Flash不需要再去考虑坏块以及增加专门的硬件成本driver来对NAND Flash进行坏块管理,简化了系统应用,并节省了成本。
实施例2
本实施例提供一种闪速存储器进行坏块管理的方法,包括:
对用户发起的访问操作对应的块地址进行检测,当检测判断出某块为坏块时,存储该坏块的块地址;
当收到用户发起的访问操作时,若从所存储的坏块的块地址中查询到该访问操作对应的逻辑地址中的块地址为坏块的块地址,则将访问操作对应的逻辑地址中的块地址映射到好块的块地址上,再进行地址译码。
其中,闪速存储器可采用非易失性存储单元来存储坏块的块地址。
在上述方法的实现过程中,闪速存储器可以在块擦除操作过程中,检测该块中是否存在有擦除失败的存储格,如果有即判断此块为坏块。也可以在数据预写入过程中,检测该块中是否存在有写入失败的存储格,如果有即判断此块为坏块。
另外,闪速存储器将访问操作对应的逻辑地址中的块地址映射到好块的块地址上时,可以将访问操作对应的逻辑地址中的块地址向上映射到距离该坏块最近的好块的块地址上。例如,外部逻辑地址寻址为block<2>,这时地址映射表中记录block<2>中已经为坏块,因此逻辑block<2>会被映射为物理block<3>,这样,根据地址机制,逻辑block<3>会被映射为物理block<4>。如果外部逻辑地址寻址为block<4>,逻辑block<4>尝试映射物理block<5>,而此时地址映射表中记录block<5>已经为坏块,则继续向上映射物理block<6>,而地址映射表中记录block<6>也为坏块,即么继续向上映射物理block<7>。
上述方法的实现过程中的其他技术细节可参见实施例1,在此不再赘述。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
从上述实施例可以看出,本申请技术方案本发明提出了一种NAND Flash内部集成坏块管理(BBM)的实现方案,使用于传统NAND Flash以及SPI接口NAND Flash,避免了主控制器增加额外的装置进行坏块管理,简化了系统,节省了成本。而且使得SPI NAND Flash应用成为可能。
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种闪速存储器,其特征在于,该闪速存储器包括:
坏块检测模块,对用户发起的访问操作对应的块地址进行检测,判断该块是否为坏块;
坏块地址表存储模块,存储所述坏块检测模块判断出的坏块的块地址;
块地址映射模块,收到用户发起的访问操作时,从所述坏块地址表存储模块中查询该访问操作的逻辑地址对应的块地址是否为坏块的块地址,若是,则将所述访问操作对应的逻辑地址中的块地址映射到好块的块地址上,再发送给闪速存储器内部进行地址译码。
2.如权利要求1所述的闪速存储器,其特征在于,
所述坏块检测模块,在块擦除操作过程中,检测到该块中存在有擦除失败的存储格时,判断该块为坏块。
3.如权利要求1或2所述的闪速存储器,其特征在于,
所述坏块检测模块,在数据预写入过程中,检测到该块中存在有写入失败的存储格时,判断该块为坏块。
4.如权利要求3所述的闪速存储器,其特征在于,所述块地址映射模块,将所述访问操作对应的逻辑地址中的块地址映射到好块的块地址上指:
所述块地址映射模块,将所述访问操作对应的逻辑地址中的块地址向上映射到距离该坏块最近的好块的块地址上。
5.如权利要求3所述的闪速存储器,其特征在于,
所述坏块地址表存储模块采用非易失性存储单元构成。
6.一种闪速存储器进行坏块管理的方法,其特征在于,该方法包括:
对用户发起的访问操作对应的块地址进行检测,当检测判断出某块为坏块时,存储该坏块的块地址;
当收到用户发起的访问操作时,若从所存储的坏块的块地址中查询到该访问操作的逻辑地址对应的块地址为坏块的块地址,则将所述访问操作对应的逻辑地址中的块地址映射到好块的块地址上,再进行地址译码。
7.如权利要求6所述的方法,其特征在于,检测判断出某块为坏块指:
所述闪速存储器在块擦除操作过程中,检测到该块中存在有擦除失败的存储格。
8.如权利要求6或7所述的方法,其特征在于,检测判断出某块为坏块指:
所述闪速存储器在数据预写入过程中,检测到该块中存在有写入失败的存储格。
9.如权利要求8所述的方法,其特征在于,将所述访问操作对应的逻辑地址中的块地址映射到好块的块地址上指:
将所述访问操作对应的逻辑地址中的块地址向上映射到距离该坏块最近的好块的块地址上。
10.如权利要求8所述的方法,其特征在于,
所述闪速存储器采用非易失性存储单元存储坏块的块地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210414610.7A CN103778065B (zh) | 2012-10-25 | 2012-10-25 | 一种闪速存储器及其进行坏块管理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210414610.7A CN103778065B (zh) | 2012-10-25 | 2012-10-25 | 一种闪速存储器及其进行坏块管理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103778065A CN103778065A (zh) | 2014-05-07 |
CN103778065B true CN103778065B (zh) | 2016-12-21 |
Family
ID=50570326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210414610.7A Active CN103778065B (zh) | 2012-10-25 | 2012-10-25 | 一种闪速存储器及其进行坏块管理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103778065B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461401A (zh) * | 2014-12-25 | 2015-03-25 | 珠海煌荣集成电路科技有限公司 | Spi闪速存储器的数据读写管理方法及数据读写管理装置 |
CN106133704A (zh) * | 2015-01-19 | 2016-11-16 | 华为技术有限公司 | 内存故障隔离方法和装置 |
CN106229009B (zh) * | 2016-07-12 | 2019-06-28 | 北京兆易创新科技股份有限公司 | 一种含异常非挥发性存储器的叠封芯片处理装置和方法 |
CN107783723A (zh) * | 2016-08-29 | 2018-03-09 | 深圳市中兴微电子技术有限公司 | 一种存储器块处理方法和装置 |
CN106844079A (zh) * | 2016-12-28 | 2017-06-13 | 中国北方车辆研究所 | 一种装甲车辆的flash坏块管理系统及管理方法 |
US10223018B2 (en) | 2017-04-19 | 2019-03-05 | Sandisk Technologies Llc | Bad page and bad block management in memory |
CN107247563A (zh) * | 2017-07-06 | 2017-10-13 | 济南浪潮高新科技投资发展有限公司 | 一种nand flash芯片的块信息标识实现方法 |
CN107992268B (zh) * | 2017-11-24 | 2021-08-10 | 郑州云海信息技术有限公司 | 一种坏块标记的方法及相关装置 |
CN107992430A (zh) * | 2017-12-20 | 2018-05-04 | 北京京存技术有限公司 | 闪存芯片的管理方法、装置及计算机可读存储介质 |
CN108228398A (zh) * | 2018-02-11 | 2018-06-29 | 维沃移动通信有限公司 | 一种异常处理方法及移动终端 |
KR102098240B1 (ko) * | 2018-05-16 | 2020-04-08 | 주식회사 디에이아이오 | 비휘발성 메모리 시스템 |
CN109144423B (zh) * | 2018-08-31 | 2022-03-18 | 湖南率为控制科技有限公司 | 存储器坏块管理方法、装置及闪速存储器 |
EP3964940A4 (en) | 2020-04-01 | 2022-08-17 | Changxin Memory Technologies, Inc. | READ/WRITE METHOD AND STORAGE DEVICE |
CN113495672B (zh) | 2020-04-01 | 2023-08-11 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
CN113495674B (zh) | 2020-04-01 | 2023-10-10 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
CN113495676B (zh) * | 2020-04-01 | 2023-09-29 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
EP3964941B1 (en) | 2020-04-01 | 2024-02-28 | Changxin Memory Technologies, Inc. | Read-write method and memory device |
CN113495675B (zh) | 2020-04-01 | 2023-08-11 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
EP3936996A4 (en) | 2020-04-01 | 2022-07-06 | Changxin Memory Technologies, Inc. | READ-WRITE METHOD AND STORAGE DEVICE |
CN113495671B (zh) * | 2020-04-01 | 2023-10-17 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
EP3985494B1 (en) | 2020-04-01 | 2024-01-17 | Changxin Memory Technologies, Inc. | Read-write method and memory device |
CN111596860B (zh) * | 2020-04-21 | 2021-04-23 | 中国科学院长春光学精密机械与物理研究所 | 一种提高nand-flash存储可靠性的fpga控制方法 |
CN112558863B (zh) * | 2020-11-25 | 2023-02-14 | 成都佰维存储科技有限公司 | Ssd坏块替换方法、装置、可读存储介质及电子设备 |
CN114546292B (zh) * | 2022-02-28 | 2023-12-15 | 深圳市风云实业有限公司 | 一种nand flash坏块管理方法及系统 |
CN117369905B (zh) * | 2023-12-07 | 2024-03-19 | 广东匠芯创科技有限公司 | 闪存平台的开机方法、系统、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716450A (zh) * | 2004-06-30 | 2006-01-04 | 深圳市朗科科技有限公司 | 对闪存数据的存取进行管理的方法 |
CN101593157A (zh) * | 2008-05-27 | 2009-12-02 | 中兴通讯股份有限公司 | 非线性闪存的坏块管理方法及装置 |
CN101908023A (zh) * | 2010-08-06 | 2010-12-08 | 四川长虹电器股份有限公司 | NandFlash存储器中数据存储方法 |
CN102722443A (zh) * | 2012-05-21 | 2012-10-10 | 三星半导体(中国)研究开发有限公司 | 闪速存储器的坏块管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7721146B2 (en) * | 2006-05-04 | 2010-05-18 | Dell Products L.P. | Method and system for bad block management in RAID arrays |
-
2012
- 2012-10-25 CN CN201210414610.7A patent/CN103778065B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716450A (zh) * | 2004-06-30 | 2006-01-04 | 深圳市朗科科技有限公司 | 对闪存数据的存取进行管理的方法 |
CN101593157A (zh) * | 2008-05-27 | 2009-12-02 | 中兴通讯股份有限公司 | 非线性闪存的坏块管理方法及装置 |
CN101908023A (zh) * | 2010-08-06 | 2010-12-08 | 四川长虹电器股份有限公司 | NandFlash存储器中数据存储方法 |
CN102722443A (zh) * | 2012-05-21 | 2012-10-10 | 三星半导体(中国)研究开发有限公司 | 闪速存储器的坏块管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103778065A (zh) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103778065B (zh) | 一种闪速存储器及其进行坏块管理的方法 | |
CN102063943B (zh) | Nand闪存参数自动检测系统 | |
US8291155B2 (en) | Data access method, memory controller and memory storage system | |
US9317418B2 (en) | Non-volatile memory storage apparatus, memory controller and data storing method | |
US8583860B2 (en) | Block management method for flash memory and controller and storage system using the same | |
US8904092B2 (en) | Identifying a location containing invalid data in a storage media | |
KR20060127760A (ko) | 기억장치 | |
US20140122774A1 (en) | Method for Managing Data of Solid State Storage with Data Attributes | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
US20070028034A1 (en) | Computer system | |
JP2006031696A (ja) | バッドブロック管理部を含むフラッシュメモリシステム | |
CN101354906B (zh) | 应用于固态硬盘的闪存控制器 | |
US8392691B2 (en) | Data management method, memory controller and memory storage apparatus | |
US20120198131A1 (en) | Data writing method for rewritable non-volatile memory, and memory controller and memory storage apparatus using the same | |
US20110161561A1 (en) | Virtualization of chip enables | |
CN102214143A (zh) | 一种多层单元闪存的管理方法、装置及存储设备 | |
US20100232048A1 (en) | Disk storage device | |
TW201015563A (en) | Block management and replacement method, flash memory storage system and controller using the same | |
KR100924021B1 (ko) | 플래시 메모리의 사상 관리 방법 | |
CN103870214A (zh) | 多层存储块兼具单层存储块性能的方法 | |
US8954662B2 (en) | SSD controller, and method for operating an SSD controller | |
CN105653208A (zh) | 数据存储系统及基于该系统的数据读写方法 | |
CN108647157A (zh) | 一种基于相变存储器的映射管理方法及固态硬盘 | |
US8832358B2 (en) | Data writing method, memory controller and memory storage apparatus | |
US8370599B2 (en) | Storage system and controlling system and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |
|
CP03 | Change of name, title or address |