CN101320596A - 一种面向大容量flash固存的坏块管理方法 - Google Patents
一种面向大容量flash固存的坏块管理方法 Download PDFInfo
- Publication number
- CN101320596A CN101320596A CNA2008101146147A CN200810114614A CN101320596A CN 101320596 A CN101320596 A CN 101320596A CN A2008101146147 A CNA2008101146147 A CN A2008101146147A CN 200810114614 A CN200810114614 A CN 200810114614A CN 101320596 A CN101320596 A CN 101320596A
- Authority
- CN
- China
- Prior art keywords
- block
- bad
- address
- replace
- piece
- 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.)
- Granted
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种面向大容量FLASH固存的坏块处理方法,首先建立坏块信息表,用于记录坏块和替换块的地址映射关系;当存储器出现坏块时,记录该坏块的地址,同时为该坏块指定替换块,将坏块及其替换块的地址添加至坏块信息表中,替换块的分配从存储器的最高的块地址开始向最低的块地址依次递减;若替换块也为坏块,则跳过所述替换块重新分配新的替换块,替换块为坏块的不再添加至坏块信息表中;重复上述操作,当坏块的数量达到了所能容忍的最大坏块个数或替换块的地址达到了坏块处理能力上限地址时,提示坏块数量溢出,无法继续处理。
Description
技术领域
本发明涉及一种存储器的坏块处理方法,特别是一种大容量FLASH固存的坏块处理方法。
背景技术
快速擦写存储器FLASH是目前性能价格比和可靠性最高的可擦写、非易失存储器。由于存储容量大,FLASH供应商不保证出厂的芯片没有缺陷,而需要使用者在应用过程中自行识别有缺陷的存储区,并做出相应的处理。由于大容量FLASH是以块为最高的存储区单位(整个存储体由若干存储块组成,每个存储块包括若干个存储页,每个存储页含有若干存储字节),所以一般对有缺陷的存储区也是按块来处理。因此,坏块处理是大容量FLASH应用中的一个重点和难点。
传统的坏块处理方法是采用顺序替换的方式,如上海交通大学微电子学院谢凯年在2007年第16期总第255期《现代电子技术》上发表的“超大容量NANDFLASH坏区管理方法的设计与实现”一文中的图3所示,即若发现当前操作的存储块的前一个存储块为坏块,则用紧邻的下一个存储块来替换坏块。该种方法的问题在于:每个坏块的替换操作都会影响到后续其他所有存储块的地址映射,而且不管是有效块还是坏块都必须进行地址映射。因此,在实际应用中,这种顺序替换的方法使坏块的处理操作变得非常复杂,需要相当多的地址映射资源和数据处理时间。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种硬件资源占用少、处理速度快的大容量FLASH固存的坏块处理方法。
本发明的技术解决方案是:一种面向大容量FLASH固存的坏块处理方法,其特征在于步骤如下:
(1)建立坏块信息表,用于记录坏块和替换块的地址映射关系;
(2)设置坏块信息记录指针,用于指示当前遇到的坏块记录位置,起始指向为坏块信息表的首记录;设置坏块信息操作指针,用于指示当前正在使用的坏块及与其对应的替换块,起始指向与坏块信息记录指针的起始指向相同;设置最新替换块寄存器,用于保存最新分配的替换块的地址;
(3)当存储器出现坏块时,记录该坏块的地址,同时为该坏块指定替换块,将坏块及其替换块的地址添加至坏块信息表中,最新替换块寄存器指示所述替换块的地址;替换块的分配从存储器的最高的块地址开始向最低的块地址依次递减;
(4)若所述替换块也为坏块,则跳过所述替换块重新分配新的替换块,替换块为坏块的不再添加至坏块信息表中,最新替换块寄存器指示所述新替换块的地址并用其替换坏块信息表中的相应记录;
(5)坏块信息记录指针指向下一记录位置,坏块信息操作指针指向当前遇到的坏块及其替换块的记录位置,若当前操作块未出现在坏块信息表的记录中,则坏块信息操作指针保留当前指示位置。
(6)当坏块的数量达到了所能容忍的最大坏块个数或替换块的地址达到了坏块处理能力上限地址时,提示坏块数量溢出,无法继续处理。
所述的最低的块地址为坏块处理能力上限地址。
所述的坏块处理能力上限地址的确定方法为:坏块处理能力上限地址=存储器最高位地址-所能容忍的最大坏块个数+1,其中所能容忍的最大坏块个数由用户设定。
本发明与现有技术相比的优点在于:本发明方法通过建立坏块信息表,用于记录坏块和替换块的地址映射关系,并且替换块的分配从存储器的最高块地址开始向最低块地址依次递减,与正常数据操作的地址完全独立开,使得某个坏块的替换操作不会影响到后续其他存储块的地址映射,从而简化了坏块处理的操作,减少了硬件资源的占用,提高了坏块处理的速度。坏块的处理能力可由用户根据实际情况确定,操作灵活、简便。
附图说明
图1为本发明坏块处理方法的原理框图;
图2为本发明实施例中坏块处理的示意过程图一;
图3为本发明实施例中坏块处理的示意过程图二;
图4为本发明实施例中坏块处理的示意过程图三。
具体实施方式
如图1所示,为本发明坏块处理方法的原理框图。首先建立坏块信息表,用于记录坏块和替换块的地址映射关系,并在信息表中设置坏块信息记录指针,用于指示当前遇到的坏块记录位置,起始指向为坏块信息表的首记录;设置坏块信息操作指针,用于指示当前正在使用的坏块及与其对应的替换块,起始指向与坏块信息记录指针的起始指向相同;设置最新替换块寄存器,用于保存最新分配的替换块的地址;当存储器出现坏块时,记录该坏块的地址,同时为该坏块指定替换块,将坏块及其替换块的地址添加至坏块信息表中,最新替换块寄存器指示所述替换块的地址;替换块的分配从存储器的最高的块地址开始向最低的块地址(坏块处理能力上限地址)依次递减;若所述替换块也为坏块,则跳过所述替换块重新分配新的替换块,替换块为坏块的不再添加至坏块信息表中,最新替换块寄存器指示所述新替换块的地址并用其替换坏块信息表中的相应记录;随后坏块信息记录指针指向下一记录位置,坏块信息操作指针指向当前遇到的坏块及其替换块的记录位置,若当前操作块未出现在坏块信息表的记录中,则坏块信息操作指针保留当前指示位置。当坏块的数量达到了所能容忍的最大坏块个数或替换块的地址达到了坏块处理能力上限地址时,提示坏块数量溢出,无法继续处理。
坏块处理能力上限地址的确定方法为:坏块处理能力上限地址=存储器最高位地址-所能容忍的最大坏块个数+1,其中所能容忍的最大坏块个数由用户设定。
实施例
下面以一个128K×8bit存储容量、8192个存储块的FLASH为例进一步说明本发明方法的原理。在此设定最大的坏块处理能力为255,则需要设计一个256×26bit的坏块信息表,其中块地址列表和替换块地址列表各13位(由于8192=213)。对该FLASH的坏块处理需要一个8位(由于256=28)的坏块信息记录指针,用于指示坏块信息表当前可以使用的坏块记录位置;需要一个8位的坏块信息操作指针,表示当前正在使用的坏块及其替换块;需要一个块分类标志信号,表示当前进行编程/读操作的是正常的存储块还是替换块;需要一个13位的最新替换块寄存器,用于保存最新分配的替换块地址。如果最新的替换块地址等于7937(即8191-255+1),则表示坏块数量溢出。
图2、图3和图4是坏块处理过程的示意图。
图2已经记录了3个坏块的地址(用十进制表示):10、125和462。按照替换块地址的分配方案,第一个坏块的替换块地址为8191,其后依次为8190和8189。记录指针指到坏块信息表的第4个存储位置,表明下一个新的坏块地址保存到该位置。操作指针指到第2个存储位置,如果此时块分类标志信号表示当前进行编程/读操作的是替换块,那么当前操作的存储块的地址为8190。最新替换块寄存器记录了最后一个被分配了的替换块是8189。
在图2的基础上,如果8190存储块在操作中出现损坏,那么需要为125存储块重新分配替换块:按照最新替换块寄存器记录的地址递减即可。而最新替换块寄存器也需要相应地更新。但是替换块是坏块则不需要记录到坏块地址列表中,如图3所示。
在图3的基础上,如果出现新的坏块(如500),那么需要为其分配替换块(如8187),按照最新替换块寄存器记录的地址递减即可,而最新替换块寄存器也需要相应地更新。坏块地址和替换块地址都记录到坏块信息表中的第4个存储位置,记录指针则指向第5个存储位置(表明该位置还没有记录信息,是下一个可用的记录位置),如图4所示。
如果坏块数量达到了255,则由FLASH使用者决定是否放弃当前使用的FLASH芯片,改用备份FLASH。当需要查询坏块数量时,用8192减去最新替换块的地址就可以得到当前的坏块数量。而判断坏块数量是否溢出,则只需要看最新替换块寄存器保存的数值是否等于7937(8191-255+1=7937)。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
Claims (3)
1、一种面向大容量FLASH固存的坏块处理方法,其特征在于步骤如下:
(1)建立坏块信息表,用于记录坏块和替换块的地址映射关系;
(2)设置坏块信息记录指针,用于指示当前遇到的坏块记录位置,起始指向为坏块信息表的首记录;设置坏块信息操作指针,用于指示当前正在使用的坏块及与其对应的替换块,起始指向与坏块信息记录指针的起始指向相同;设置最新替换块寄存器,用于保存最新分配的替换块的地址;
(3)当存储器出现坏块时,记录该坏块的地址,同时为该坏块指定替换块,将坏块及其替换块的地址添加至坏块信息表中,最新替换块寄存器指示所述替换块的地址;替换块的分配从存储器的最高的块地址开始向最低的块地址依次递减;
(4)若所述替换块也为坏块,则跳过所述替换块重新分配新的替换块,替换块为坏块的不再添加至坏块信息表中,最新替换块寄存器指示所述新替换块的地址并用其替换坏块信息表中的相应记录;
(5)坏块信息记录指针指向下一记录位置,坏块信息操作指针指向当前遇到的坏块及其替换块的记录位置,若当前操作块未出现在坏块信息表的记录中,则坏块信息操作指针保留当前指示位置。
(6)当坏块的数量达到了所能容忍的最大坏块个数或替换块的地址达到了坏块处理能力上限地址时,提示坏块数量溢出,无法继续处理。
2、根据权利要求1所述的一种面向大容量FLASH固存的坏块处理方法,其特征在于:所述的最低的块地址为坏块处理能力上限地址。
3、根据权利要求1或2所述的一种面向大容量FLASH固存的坏块处理方法,其特征在于:所述的坏块处理能力上限地址的确定方法为:坏块处理能力上限地址=存储器最高位地址-所能容忍的最大坏块个数+1,其中所能容忍的最大坏块个数由用户设定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101146147A CN101320596B (zh) | 2008-06-10 | 2008-06-10 | 一种面向大容量flash固存的坏块管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101146147A CN101320596B (zh) | 2008-06-10 | 2008-06-10 | 一种面向大容量flash固存的坏块管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101320596A true CN101320596A (zh) | 2008-12-10 |
CN101320596B CN101320596B (zh) | 2011-07-27 |
Family
ID=40180593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101146147A Expired - Fee Related CN101320596B (zh) | 2008-06-10 | 2008-06-10 | 一种面向大容量flash固存的坏块管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101320596B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866319B (zh) * | 2009-04-17 | 2012-08-29 | 智微科技股份有限公司 | 存取储存装置的方法及相关控制电路 |
CN102722443A (zh) * | 2012-05-21 | 2012-10-10 | 三星半导体(中国)研究开发有限公司 | 闪速存储器的坏块管理方法 |
CN102929795A (zh) * | 2012-10-31 | 2013-02-13 | 飞天诚信科技股份有限公司 | 一种NandFlash坏块管理方法 |
CN103092725A (zh) * | 2012-12-29 | 2013-05-08 | 华为技术有限公司 | 一种实现存储器中数据备份的方法及装置 |
CN103593301A (zh) * | 2013-11-20 | 2014-02-19 | 北京旋极信息技术股份有限公司 | 坏块管理方法及系统 |
CN105740163A (zh) * | 2016-01-29 | 2016-07-06 | 山东鲁能智能技术有限公司 | 一种Nand Flash坏块管理方法 |
CN106486170A (zh) * | 2016-09-06 | 2017-03-08 | 深圳忆数存储技术有限公司 | 固态硬盘的潜在坏块定位方法及装置 |
CN107945826A (zh) * | 2017-11-06 | 2018-04-20 | 珠海格力电器股份有限公司 | 一种sram译码电路和方法 |
CN109144408A (zh) * | 2017-06-19 | 2019-01-04 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110795044A (zh) * | 2019-10-31 | 2020-02-14 | 深圳市友华通信技术有限公司 | NAND Flash存储器的坏块管理方法和系统 |
CN113176970A (zh) * | 2021-06-28 | 2021-07-27 | 中国核动力研究设计院 | 基于FPGA的nor flash坏块管理系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100205006B1 (ko) * | 1996-10-08 | 1999-06-15 | 윤종용 | 자동 결함 블럭 맵핑 기능을 갖는 반도체 메모리 장치 |
US8015433B2 (en) * | 2006-09-13 | 2011-09-06 | Hitachi Global Storage Technologies Netherlands B.V. | Disk drive with nonvolatile memory for storage of failure-related data |
-
2008
- 2008-06-10 CN CN2008101146147A patent/CN101320596B/zh not_active Expired - Fee Related
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866319B (zh) * | 2009-04-17 | 2012-08-29 | 智微科技股份有限公司 | 存取储存装置的方法及相关控制电路 |
CN102722443A (zh) * | 2012-05-21 | 2012-10-10 | 三星半导体(中国)研究开发有限公司 | 闪速存储器的坏块管理方法 |
CN102722443B (zh) * | 2012-05-21 | 2014-12-17 | 三星半导体(中国)研究开发有限公司 | 闪速存储器的坏块管理方法 |
CN102929795A (zh) * | 2012-10-31 | 2013-02-13 | 飞天诚信科技股份有限公司 | 一种NandFlash坏块管理方法 |
CN102929795B (zh) * | 2012-10-31 | 2015-08-26 | 飞天诚信科技股份有限公司 | 一种NandFlash坏块管理方法 |
CN103092725A (zh) * | 2012-12-29 | 2013-05-08 | 华为技术有限公司 | 一种实现存储器中数据备份的方法及装置 |
CN103092725B (zh) * | 2012-12-29 | 2015-09-09 | 华为技术有限公司 | 一种实现存储器中数据备份的方法及装置 |
CN103593301B (zh) * | 2013-11-20 | 2016-07-27 | 北京旋极信息技术股份有限公司 | 坏块管理方法及系统 |
CN103593301A (zh) * | 2013-11-20 | 2014-02-19 | 北京旋极信息技术股份有限公司 | 坏块管理方法及系统 |
CN105740163A (zh) * | 2016-01-29 | 2016-07-06 | 山东鲁能智能技术有限公司 | 一种Nand Flash坏块管理方法 |
CN106486170A (zh) * | 2016-09-06 | 2017-03-08 | 深圳忆数存储技术有限公司 | 固态硬盘的潜在坏块定位方法及装置 |
CN106486170B (zh) * | 2016-09-06 | 2019-11-26 | 深圳忆数存储技术有限公司 | 固态硬盘的潜在坏块定位方法及装置 |
CN109144408A (zh) * | 2017-06-19 | 2019-01-04 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN109144408B (zh) * | 2017-06-19 | 2021-05-18 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107945826A (zh) * | 2017-11-06 | 2018-04-20 | 珠海格力电器股份有限公司 | 一种sram译码电路和方法 |
CN107945826B (zh) * | 2017-11-06 | 2020-06-16 | 珠海格力电器股份有限公司 | 一种sram译码电路和方法 |
CN110795044A (zh) * | 2019-10-31 | 2020-02-14 | 深圳市友华通信技术有限公司 | NAND Flash存储器的坏块管理方法和系统 |
CN110795044B (zh) * | 2019-10-31 | 2023-04-11 | 深圳市友华通信技术有限公司 | NAND Flash存储器的坏块管理方法和系统 |
CN113176970A (zh) * | 2021-06-28 | 2021-07-27 | 中国核动力研究设计院 | 基于FPGA的nor flash坏块管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101320596B (zh) | 2011-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101320596B (zh) | 一种面向大容量flash固存的坏块管理方法 | |
CN100576342C (zh) | 一种大容量flash固存控制器 | |
CN101937319B (zh) | 存储器系统及其映射方法 | |
CN101772810B (zh) | 用于并行存储器阵列的块寻址 | |
CN101458956B (zh) | 存取一快闪存储器的装置、方法及平均地使用该快闪存储器的区块的方法 | |
CN104063186B (zh) | 一种电子设备的数据访问方法 | |
CN102135942B (zh) | 一种存储设备中实现损耗均衡的方法及存储设备 | |
CN106776359B (zh) | 一种NAND Flash坏块管理方法及系统 | |
US8667348B2 (en) | Data writing method for non-volatile memory module and memory controller and memory storage apparatus using the same | |
CN102063266A (zh) | 非易失存储器控制器与用于将当前数据写入非易失存储器的方法 | |
CN104220991A (zh) | 用于允许数据在nand闪存上的有效存储的架构 | |
CN102572330A (zh) | 一种液晶电视机Flash芯片的数据读取、写入和擦除的方法 | |
CN114138193B (zh) | 一种分区命名空间固态硬盘的数据写入方法、装置及设备 | |
CN102169460A (zh) | 变长数据管理方法及装置 | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
US9009442B2 (en) | Data writing method, memory controller and memory storage apparatus | |
CN101408864B (zh) | 用于断电时的数据保护方法及使用此方法的控制器 | |
CN105988722A (zh) | 数据储存方法及嵌入式系统 | |
CN107328968A (zh) | 用于电能表的冻结和事件记录数据存储方法 | |
CN105022701A (zh) | 空调器运行状态和参数的存储方法 | |
CN101425338B (zh) | 非易失性存储器的写入方法及使用此方法的控制器 | |
CN104166627B (zh) | 一种基于单片机的nand‑flash写操作方法 | |
CN101727987B (zh) | 数据编程与读取方法及应用其的单次可编程存储器 | |
CN101944011B (zh) | 运行程序的装置、芯片和方法 | |
CN103309619A (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 |
Granted publication date: 20110727 Termination date: 20190610 |
|
CF01 | Termination of patent right due to non-payment of annual fee |