CN101859604B - 闪存坏块的利用方法 - Google Patents

闪存坏块的利用方法 Download PDF

Info

Publication number
CN101859604B
CN101859604B CN200910106561A CN200910106561A CN101859604B CN 101859604 B CN101859604 B CN 101859604B CN 200910106561 A CN200910106561 A CN 200910106561A CN 200910106561 A CN200910106561 A CN 200910106561A CN 101859604 B CN101859604 B CN 101859604B
Authority
CN
China
Prior art keywords
flash memory
bad
data
bad block
utilize
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.)
Expired - Fee Related
Application number
CN200910106561A
Other languages
English (en)
Other versions
CN101859604A (zh
Inventor
孙迎彤
翁俊宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nationz Technologies Inc
Original Assignee
Nationz Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nationz Technologies Inc filed Critical Nationz Technologies Inc
Priority to CN200910106561A priority Critical patent/CN101859604B/zh
Priority to PCT/CN2009/074566 priority patent/WO2010115332A1/zh
Publication of CN101859604A publication Critical patent/CN101859604A/zh
Priority to US13/269,636 priority patent/US8732519B2/en
Application granted granted Critical
Publication of CN101859604B publication Critical patent/CN101859604B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明涉及闪存坏块的利用方法,首先借助量产工具软件扫描闪存,发现其中的坏块并记录在闪存控制器内;再对量产工具软件扫描发现的闪存坏块根据事先设定的“可供利用”之筛选条件再次扫描,符合筛选条件的所述坏块被标记并记录在闪存控制器内,等待使用;不符合筛选条件的坏块则标记为真正的坏块被记录在闪存控制器内,不再使用;重复所述扫描和标记过程直到所有闪存坏块都被标记和记录;最后将闪存中符合“可供利用”之筛选条件的坏块放在替换区等待使用。本方法充分利用了闪存的坏块,将那些超出闪存控制器ECC纠错范围,但仅仅是对某些数据不能存取,而某些数据能够存取的坏块作为能使用的闪存块;这样就最大程度扩展了闪存的可用容量。

Description

闪存坏块的利用方法
技术领域
本发明涉及存储器正确运行的校验,尤其涉及闪存正确运行的校验,特别是涉及闪存坏块的利用方法。
背景技术
闪存(Flash Memory)是一种非挥发性的半导体存储芯片,具有体积小、功耗低、不易受物理破坏的优点,是移动数码产品的理想存储介质。
闪存根据内部架构和实现技术可以分为AND、NAND、NOR和DiNOR等几种,目前以NAND为主流。NAND技术的闪存写回速度快、芯片面积小,特别是容量大,因而很有优势。NAND技术中的基本存贮单元为“页”,一页一般为512、2048、4096或8192字节,若干页组成块,块容量等于页容量与块内页数的乘积。不同闪存的块内页数不尽相同,通常为16页~128页。闪存的写入以页为单位,在写之前必须先擦除;闪存的擦除则以块为单位,NAND闪存由多个块串行排列组成。实际上,NAND型闪存是一种顺序读取的设备,它仅用8比特的I/O端口就可以存取按页为单位的数据。NAND在读和擦写文件,特别是连续的大容量文件时,速度相当快,但随机存取速度则比较慢,因为它不能按字节写。NAND闪存容易产生坏块,闪存坏块损坏的物理机制一般是页中某些字节位不能被编程,通常是1不能被编程为0;为了保证闪存存取数据的安全,避免坏块存取数据,通常在设计时,用一个控制器管理坏块,当向坏块存取数据时,控制器即将数据转移到预定空闲存储区间,而不使用坏块以保证数据安全完整。
现有技术生产闪存一般都要经过量产的过程,量产的目的是通过一定的手段,识别并标记出坏块,且预留一定数量好块作为备用块,当使用过程出现坏块时,就可以用这些备用块来做替换;图3所示为现有技术闪存量产阶段扫描闪存并标记坏块的流程示意图。
中国专利申请CN10139462A公开了“一种用于瑕疵闪存动态补偿方法及装置”,该专利包括在闪存中预留一组好块作为替换块;通过检测,若发现有坏块,则将该组好块中的一块替换坏块;将被替换掉的坏块放在该组好块后面。该方法是通过预留闪存好块作为替换块来保证数据存取的安全,由于NAND闪存容易产生坏块,当闪存容量增加时,坏块的数量也会随之增加,仅仅只预留好块使那些只对某些数据敏感的坏块得不到充分利用,整个闪存的容量也会随之下降。可见,现有技术并没有利用闪存坏块,而这些闪存坏块中可能存在那种只对某些数据敏感的坏块,并不是所有的闪存坏块都不可以使用,如果将这些只是对某些数据敏感的闪存坏块全部弃之不用,这在闪存容量不断增加的情况下,浪费的闪存空间就会越来越大。图4所示为现有技术处理闪存坏块方法的流程示意图。
发明内容
本发明旨在避免上述现有技术的不足之处,提出一种闪存坏块的利用方法,所述方法包括以下步骤:
A.借助量产工具软件扫描所有闪存,发现其中的坏块并记录在闪存控制器内;
B.对量产工具软件扫描发现的闪存坏块根据事先设定的“可供利用”之筛选条件再次扫描,符合筛选条件的所述坏块被标记并记录在闪存控制器内,等待使用;不符合筛选条件的坏块则标记为真正的坏块被记录在闪存控制器内,不再使用;重复所述扫描和标记过程直到所有闪存坏块都被标记和记录;
C.将步骤B扫描发现的闪存中符合“可供利用”之筛选条件的坏块放在替换区等待使用。
步骤A中所述的坏块是指超过闪存控制器ECC纠错范围的闪存块。
步骤B中所述“可供利用”之筛选条件是闪存坏块为“对数据敏感的特殊坏块”,是指那种对某些特定数据编程不能成功,而对另外的数据编程能够成功的闪存坏块。
所述步骤C还包括以下分步骤:
C1.在替换区中符合“可供利用”之筛选条件的坏块收到使用请求时,固化软件尝试对其写入数据;
C2.如果写数据成功,表示该“可供利用”之筛选条件的坏块可以接受被写入的数据,写入成功;如果写数据不成功,表示该“可供利用”之筛选条件的坏块不能接受被写入的数据,写入失败;
C3.执行步骤C2,写入失败后,则将该“可供利用”之筛选条件的坏块再次放入替换区,等待下次被写入其他数据。
与现有技术相比较,本发明具有以下有益效果:
能够充分利用闪存的坏块;现有技术确认闪存坏块是以闪存控制器ECC纠错范围来确定的,这种闪存坏块纠错物理机制可能导致一些对数据敏感的坏块被确认为坏块并记录在控制器中永远不被使用;本发明方法突破现有技术确认闪存坏块的机制,将那些虽然超出闪存控制器ECC纠错范围,但由于仅仅是对某些数据不能存取,而某些数据能够存取的闪存坏块不被标记为坏块永远不被使用,将其作为一种能使用的闪存块。
扩大了闪存的可用容量;现有技术闪存的使用主要根据闪存控制器中记录的信息来确认对闪存块数据的存取,在闪存量产阶段,超出控制器ECC纠错范围的闪存块被确认为坏块并记录在控制器内,因此,在闪存的使用过程中,这些被标记的闪存坏块将永远不再被使用,而这些闪存坏块可能只是对某些数据不能存取;本发明方法从闪存量产阶段即通过量产工具软件将那些“对数据敏感的闪存坏块”记录在控制器中以便以后使用,并不是简单的将其不再使用;在闪存被使用时,可以将这些“对数据敏感的闪存坏块”放入替换区作为正常的块使用,因此,最大程度地扩大了闪存的可用容量。
附图说明
图1是本发明闪存坏块的利用方法在量产闪存时的扫描流程图;
图2是本发明利用闪存坏块方法流程图;
图3是现有技术量产闪存的扫描流程图;
图4是现有技术处理闪存坏块方法流程图。
具体实施方式
以下结合附图所示之优选实施例作进一步详述。
如图1所示,本发明闪存坏块的利用方法首先要在闪存的量产阶段使用量产工具软件对闪存块进行扫描,发现其中的坏块并记录在闪存控制器内;根据事先设定好的“可供利用”之筛选条件对量产工具软件扫描出的坏块进行再次扫描,其中所述“可供利用”之筛选条件是闪存坏块为“对数据敏感的特殊坏块”,是指那种对某种特定数据编程不能成功,而对另外的数据编程能够成功的闪存坏块。如果符合“可供利用”之筛选条件,则将该闪存坏块标记为“对数据敏感的特殊坏块”,如果不符合“可供利用”之筛选条件,则将该闪存坏块标记为真正的闪存坏块;重复上述扫描和标记的过程,直到所有闪存坏块都被标记和记录;此阶段主要是扫描出“可供利用”之“对数据敏感的特殊坏块”,这种“对数据敏感的特殊坏块”因为只是对某种特定数据编程不能成功,而对其他的数据编程能够成功,所以,这些特殊坏块并不是完全不能使用。
将上述阶段闪存中“对数据敏感的特殊坏块”扫描标记出来后,即可对这些“对某种特定数据编程不能成功,而对其他的数据编程能够成功”的特殊闪存坏块进行利用;在闪存的使用阶段,将这些“对数据敏感的特殊坏块”放入替换区中和好块一起备用,而不是现有技术将其完全弃之不用;图2所示为本发明方法对这种“对数据敏感的特殊坏块”的利用流程示意图,使用具体步骤如下:
C1.在替换区中“对数据敏感的特殊坏块”收到使用请求时,固化软件尝试对其写入数据;
C2.如果写数据成功,表示该“对数据敏感的特殊坏块”可以接受被写入的数据,写入成功;如果写数据不成功,表示该“对数据敏感的特殊坏块”不能接受被写入的数据,写入失败;
C3.执行步骤C2,写入失败后,则将该“对数据敏感的特殊坏块”再次放入替换区,等待下次被写入其他数据。

Claims (3)

1.一种闪存坏块的利用方法,包括以下步骤:
A.借助量产工具软件扫描所有闪存,发现其中的坏块并记录在闪存控制器内;
B.对量产工具软件扫描发现的闪存坏块根据事先设定的“可供利用”之筛选条件再次扫描,符合筛选条件的所述坏块被标记并记录在闪存控制器内,等待使用;不符合筛选条件的坏块则标记为真正的坏块被记录在闪存控制器内,不再使用;重复所述扫描和标记过程直到所有闪存坏块都被标记和记录;其中所述“可供利用”之筛选条件是闪存坏块为“对数据敏感的特殊坏块”,是指那种对某些特定数据编程不能成功,而对另外的数据编程能够成功的闪存坏块;
C.将步骤B扫描发现的闪存中符合“可供利用”之筛选条件的坏块放在替换区等待使用。
2.根据权利要求1所述的闪存坏块的利用方法,其特征在于:步骤A中所述的坏块是指超过闪存控制器ECC纠错范围的闪存块。
3.根据权利要求1所述的闪存坏块的利用方法,其特征在于:所述步骤C还包括以下分步骤:
C1.在替换区中符合“可供利用”之筛选条件的坏块收到使用请求时,固化软件尝试对其写入数据;
C2.如果写数据成功,表示该“可供利用”之筛选条件的坏块可以接受被写入的数据,写入成功;如果写数据不成功,表示该“可供利用”之筛选条件的坏块不能接受被写入的数据,写入失败;
C3.执行步骤C2,写入失败后,则将该“可供利用”之筛选条件的坏块再次放入替换区,等待下次被写入其他数据。
CN200910106561A 2009-04-10 2009-04-10 闪存坏块的利用方法 Expired - Fee Related CN101859604B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN200910106561A CN101859604B (zh) 2009-04-10 2009-04-10 闪存坏块的利用方法
PCT/CN2009/074566 WO2010115332A1 (zh) 2009-04-10 2009-10-22 闪存坏块的利用方法
US13/269,636 US8732519B2 (en) 2009-04-10 2011-10-10 Method for using bad blocks of flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910106561A CN101859604B (zh) 2009-04-10 2009-04-10 闪存坏块的利用方法

Publications (2)

Publication Number Publication Date
CN101859604A CN101859604A (zh) 2010-10-13
CN101859604B true CN101859604B (zh) 2012-10-24

Family

ID=42935633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910106561A Expired - Fee Related CN101859604B (zh) 2009-04-10 2009-04-10 闪存坏块的利用方法

Country Status (3)

Country Link
US (1) US8732519B2 (zh)
CN (1) CN101859604B (zh)
WO (1) WO2010115332A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253899A (zh) * 2011-07-28 2011-11-23 张岭 一种提高闪存芯片存储单元使用效率的方法
CN102880554B (zh) * 2012-10-09 2013-12-25 邹粤林 提高闪存芯片存储效率的方法、闪存存储系统及其控制器
US9152488B2 (en) 2013-06-25 2015-10-06 Sandisk Technologies Inc. Storage module and low-complexity methods for assessing the health of a flash memory device
US9455048B2 (en) * 2013-06-28 2016-09-27 Sandisk Technologies Llc NAND flash word line management using multiple fragment pools
US9501400B2 (en) * 2013-11-13 2016-11-22 Sandisk Technologies Llc Identification and operation of sub-prime blocks in nonvolatile memory
TWI515737B (zh) * 2013-12-09 2016-01-01 慧榮科技股份有限公司 資料儲存裝置以及其資料抹除方法
US9823860B2 (en) * 2014-03-14 2017-11-21 Nxp B.V. One-time programming in reprogrammable memory
US9760303B2 (en) 2015-09-29 2017-09-12 Sandisk Technologies Llc Partially-bad block operation in 3-D nonvolatile memory
US9997258B2 (en) 2016-05-10 2018-06-12 Sandisk Technologies Llc Using non-volatile memory bad blocks
CN106486170B (zh) * 2016-09-06 2019-11-26 深圳忆数存储技术有限公司 固态硬盘的潜在坏块定位方法及装置
CN106527997B (zh) * 2016-11-25 2019-07-16 西安电子科技大学 基于扩序列的NAND Flash坏块重复利用的方法及装置
KR20180087494A (ko) * 2017-01-23 2018-08-02 에스케이하이닉스 주식회사 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법
TWI687933B (zh) * 2017-03-03 2020-03-11 慧榮科技股份有限公司 資料儲存裝置及其區塊釋放方法
KR102395434B1 (ko) 2017-03-20 2022-05-09 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
US10324859B2 (en) * 2017-06-26 2019-06-18 Western Digital Technologies, Inc. Multi-plane memory management
US10346232B2 (en) 2017-08-16 2019-07-09 Western Digital Technologies, Inc. Non-volatile storage with failure prediction
US10223216B1 (en) 2017-10-30 2019-03-05 Western Digital Technologies, Inc. Non-volatile storage system that reclaims bad blocks
CN108182960A (zh) * 2018-01-12 2018-06-19 江苏华存电子科技有限公司 一种提升储存装置可用容量的坏块管理方法
KR102410306B1 (ko) * 2018-01-29 2022-06-20 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN110471620B (zh) * 2019-07-09 2022-11-22 深圳市德明利技术股份有限公司 一种闪存的数据引导方法和装置以及设备
CN115470052B (zh) * 2022-07-04 2023-11-10 上海江波龙数字技术有限公司 存储芯片的坏块检测方法、检测装置及存储介质
CN117789808B (zh) * 2024-02-26 2024-05-24 合肥康芯威存储技术有限公司 一种存储器及其坏块纠错方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1479309A (zh) * 2002-07-04 2004-03-03 三星电子株式会社 修复存储器缺陷的方法和装置
CN101369464A (zh) * 2007-05-17 2009-02-18 三星电子株式会社 非易失性存储器件、系统及其操作方法
CN101369462A (zh) * 2007-08-17 2009-02-18 芯邦科技(深圳)有限公司 一种用于瑕疵闪存动态补偿方法及装置
CN101369463A (zh) * 2007-08-17 2009-02-18 芯邦科技(深圳)有限公司 闪存检测分类方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100645058B1 (ko) * 2004-11-03 2006-11-10 삼성전자주식회사 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법
WO2007010829A1 (ja) * 2005-07-15 2007-01-25 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置、メモリコントローラ及び不良領域検出方法
CN100476757C (zh) * 2006-07-20 2009-04-08 何纯淳 闪速存储器的回收方法
US7657701B2 (en) * 2007-01-03 2010-02-02 The General Electric Company System and method of flash memory wear leveling using distributed write cycles
US8095851B2 (en) * 2007-09-06 2012-01-10 Siliconsystems, Inc. Storage subsystem capable of adjusting ECC settings based on monitored conditions
US7796451B2 (en) * 2007-12-10 2010-09-14 Unity Semiconductor Corporation Integrated circuits and methods to compensate for defective memory in multiple layers of memory
WO2009124320A1 (en) * 2008-04-05 2009-10-08 Fusion Multisystems, Inc. Apparatus, system, and method for bad block remapping
CN101320594B (zh) * 2008-05-21 2012-02-29 深圳市硅格半导体有限公司 一种闪存芯片的物理操作方法
US8301942B2 (en) * 2009-04-10 2012-10-30 International Business Machines Corporation Managing possibly logically bad blocks in storage devices
JP5426438B2 (ja) * 2009-04-30 2014-02-26 株式会社東芝 不揮発性半導体記憶装置
KR101090394B1 (ko) * 2009-12-24 2011-12-07 주식회사 하이닉스반도체 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법
US8363443B2 (en) * 2010-02-01 2013-01-29 Unity Semiconductor Corporation Circuits and techniques to compensate data signals for variations of parameters affecting memory cells in cross-point arrays

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1479309A (zh) * 2002-07-04 2004-03-03 三星电子株式会社 修复存储器缺陷的方法和装置
CN101369464A (zh) * 2007-05-17 2009-02-18 三星电子株式会社 非易失性存储器件、系统及其操作方法
CN101369462A (zh) * 2007-08-17 2009-02-18 芯邦科技(深圳)有限公司 一种用于瑕疵闪存动态补偿方法及装置
CN101369463A (zh) * 2007-08-17 2009-02-18 芯邦科技(深圳)有限公司 闪存检测分类方法

Also Published As

Publication number Publication date
CN101859604A (zh) 2010-10-13
US8732519B2 (en) 2014-05-20
US20120060054A1 (en) 2012-03-08
WO2010115332A1 (zh) 2010-10-14

Similar Documents

Publication Publication Date Title
CN101859604B (zh) 闪存坏块的利用方法
CN101483067B (zh) 快闪存储器数据写入方法及其快闪存储器控制器
EP2003569B1 (en) Flash memory controller
CN101656104B (zh) 快闪存储器储存系统及其数据写入方法
TWI515735B (zh) 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置
US20150268879A1 (en) Memory management method, memory storage device and memory control circuit unit
CN101567220B (zh) 闪存的损坏区块辨识方法、储存系统及其控制器
US20060288153A1 (en) Storage system using flash memory
TWI498899B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN102081577A (zh) Flash存储器的数据存储结构及其数据操作方式
CN102955751B (zh) 存储器储存装置、存储器控制器与数据写入方法
CN110058795A (zh) 管理闪存模块的方法及相关的闪存控制器及电子装置
TW201421477A (zh) 記憶體儲存裝置、其記憶體控制器與資料寫入方法
CN104765568A (zh) 数据存储方法、存储器控制电路单元与存储器存储装置
CN102298543A (zh) 一种存储器管理方法和装置
CN101667157A (zh) 闪存数据传输方法、闪存储存系统及控制器
US20120166706A1 (en) Data management method, memory controller and embedded memory storage apparatus using the same
CN109117383A (zh) 管理闪存模块的方法和闪存控制器
CN103778964A (zh) 一种NAND Flash烧写数据的处理、使用方法及装置、系统
JP2007094921A (ja) メモリカードとその制御方法
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
CN101727397B (zh) 区块管理与更换方法、闪存储存系统及其控制器
CN102800357B (zh) 程序码载入与存取方法、存储器控制器与存储器储存装置
CN102737716B (zh) 存储器储存装置、存储器控制器与数据写入方法
TWI718516B (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121024

Termination date: 20180410