CN102541676B - 一种nand flash的状态检测及映射方法 - Google Patents
一种nand flash的状态检测及映射方法 Download PDFInfo
- Publication number
- CN102541676B CN102541676B CN201110437805.9A CN201110437805A CN102541676B CN 102541676 B CN102541676 B CN 102541676B CN 201110437805 A CN201110437805 A CN 201110437805A CN 102541676 B CN102541676 B CN 102541676B
- Authority
- CN
- China
- Prior art keywords
- mapping table
- mapping
- storer
- unit
- information
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种NAND FLASH的状态检测及映射方法,具体包括如下步骤:10、在存储器的头部根据存储器的信息建立映射表,所述映射表包括:表标识单元、表信息单元、映射单元和数据校验单元;20、对存储器进行初始化扫描以发现坏块,并将坏块的信息在映射表中标记出来;30、对映射表进行备份,创立备份表,用户在向存储器写入数据的时候,根据映射表的信息,再进行操作;40、存储器在使用过程中通过校验算法对存储器进行检测监控,如发现坏块,则对映射表进行更新。本发明方法简单易行,灵活实用,在保证稳定性的基础上,将检测出的各种状态体现在映射表中,然后根据映射表进行合理的各种操作。
Description
【技术领域】
本发明涉及一种NAND FLASH器件的领域。
【背景技术】
EEPROM(电可擦写可编程只读存储器)的市场应用范围很广泛,但是其缺点也很明显,写入速度慢,至少10ms的写等待时间,而且写操作次数有限制,并且总体存储容量有限。
NAND FLASH及NOR FLASH是现在市场上两种主要的非易失闪存技术。NOR FLASH存储器存储容量大,但其存储特性又导致在使用过程中存在存取不灵活的特点。
NAND FLASH是嵌入式领域较为常用的固态大容量存储器,具有掉电后不丢失数据,容量较大,改写速度快,价格低廉等优点。但是NAND FLASH中存在随机分布的坏块缺陷,对NAND FLASH的介质检测及映射标记就是一个需要解决的问题。在使用NAND FLASH时,必须先写入驱动程序,才能继续执行其他操作,向NAND FLASH写入信息需要相当的技巧,因为不能向坏块写入,这就意味着在NAND FLASH上自始至终都必须进行虚拟映射,NAND FLASH中的坏块是随机分布的,对可靠性有一定的影响。
【发明内容】
本发明要解决的技术问题,在于提供一种NAND FLASH的状态检测及映射方法,它能够根据NAND FLASH存储器的特性,进行处理,以确保使用的可靠性。
本发明是这样实现的:一种NAND FLASH的状态检测及映射方法,具体包括如下步骤:
步骤10、在存储器的头部根据存储器的信息建立映射表,所述映射表包括:表标识单元、表信息单元、映射单元和数据校验单元;
步骤20、对存储器进行初始化扫描以发现坏块,并将坏块的信息在映射表中标记出来;
步骤30、对映射表进行备份,创立备份表,用户在向存储器写入数据的时候,根据映射表的信息,再进行操作;
步骤40、存储器在使用过程中通过校验算法对存储器进行检测监控,如发现坏块,则对映射表进行更新。
进一步的,所述表标识单元为对每一映射表起标识作用的固定字符。
进一步的,所述表信息单元包括了存储器版本号、存储器容量、块数量、块大小、页大小。
进一步的,所述数据校验单元用于存储采用32Bit的CRC校验方法获得的用于校验的校验值,该校验值是从映射表表头的表标识单元开始,对整个映射表的数据结构除最后的数据校验单元外,使用CRC校验方法对每个字节做循环校验运算计算出的校验值。
所述步骤30进一步包括:首先判断映射表是否有效,若有效则直接根据映射表的信息进行操作,若无效则搜索备份表,并判断备份表是否有效,若备份表有效,则根据该备份表更新映射表,并根据映射表的信息进行操作,若备份表无效,则扫描存储介质创建映射表,创立备份表,再根据映射表的信息进行操作。
本发明具有如下优点:
本发明提出一种NAND FLASH的状态检测及映射方法,根据NANDFLASH存储器的特性,通过软件的方法进行处理,以确保使用的可靠性,本发明方法简单易行,灵活实用,在保证稳定性的基础上,将检测出的各种状态体现在映射表中,然后根据映射表,进行合理的各种操作。
【附图说明】
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明的映射表结构示意图。
图2为本发明在向存储器中写数据的流程示意图。
【具体实施方式】
本发明具体包括如下步骤:
步骤10、在存储器的头部根据存储器的信息建立映射表,如图1,所述映射表包括:表标识单元、表信息单元、映射单元和数据校验单元;所述表标识单元为对每一映射表起标识作用的固定字符。所述表信息单元包括了存储器版本号、存储器容量、块数量、块大小、页大小。所述数据校验单元为采用32Bit的CRC校验方法获得的用于校验的校验值。该校验值是从映射表表头的表标识单元开始,对整个映射表的数据结构除最后的数据校验单元外,使用循环校验算法(CRC)对每个字节做循环校验运算,计算出的校验值存储在映射表的数据结构最后4字节的数据校验单元(即CRC存储字段)。
步骤20、对存储器进行初始化扫描以发现坏块,并将坏块的信息在映射表中标记出来;
步骤30、对映射表进行备份,创立备份表,目的是为了防止在更新的过程中意外中断照成映射表数据无法恢复的情况,因此可以创建多个备份表以防止数据丢失,实际使用中映射表1个、备份表3个,为“1+3”,结合图2,用户在向存储器写入数据的时候,根据映射表的信息,再进行操作。首先判断映射表是否有效,若有效则直接根据映射表的信息进行操作,若无效则搜索备份表,并判断备份表是否有效,若备份表有效,则根据该备份表更新映射表,并根据映射表的信息进行操作,若备份表无效,则扫描存储介质创建映射表,创立备份表,再根据映射表的信息进行操作。
系统读取映射表的信息,再进行相应的操作。例如存储器某个地址有坏块,映射表中会将该具体的状态做出标识,而当存储数据需要用到该数据块时,系统在读取映射表时,就会根据映射表上的具体状态做出相对应的skip(跳过)处理的操作,在跳转程序、计算地址的时候也需要对具体状态做出相应操作。
步骤40、存储器在使用过程中通过校验算法对存储器进行检测监控,如发现坏块,则对映射表进行更新;每次映射表更新,都需要需要进行备份,使用过程中使用ECC(Error Correcting Code)校验算法来监控。
以上所述,仅为本发明较佳实施例而已,故不能依此限定本发明实施的范围,即依本发明专利范围及说明书内容所作的等效变化与修饰,皆应仍属本发明涵盖的范围内。
Claims (4)
1.一种NAND FLASH的状态检测及映射方法,其特征在于:具体包括如下步骤:
步骤10、在存储器的头部根据存储器的信息建立映射表,所述映射表包括:表标识单元、表信息单元、映射单元和数据校验单元;
步骤20、对存储器进行初始化扫描以发现坏块,并将坏块的信息在映射表中标记出来;
步骤30、对映射表进行备份,创立备份表,用户在向存储器写入数据的时候,根据映射表的信息,再进行相应的操作;首先判断映射表是否有效,若有效则直接根据映射表的信息进行操作,若无效则搜索备份表,并判断备份表是否有效,若备份表有效,则根据该备份表更新映射表,并根据映射表的信息进行操作,若备份表无效,则扫描存储介质创建映射表,创立备份表,再根据映射表的信息进行操作;
步骤40、存储器在使用过程中通过校验算法对存储器进行检测监控,如发现坏块,则对映射表进行更新。
2.根据权利要求1所述的一种NAND FLASH的状态检测及映射方法,其特征在于:所述表标识单元为对每一映射表起标识作用的固定字符。
3.根据权利要求1所述的一种NAND FLASH的状态检测及映射方法,其特征在于:所述表信息单元包括了存储器版本号、存储器容量、块数量、块大小、页大小。
4.根据权利要求1所述的一种NAND FLASH的状态检测及映射方法,其特征在于:所述数据校验单元用于存储采用32Bit的CRC校验方法获得的用于校验的校验值,该校验值是从映射表表头的表标识单元开始,对整个映射表的数据结构除最后的数据校验单元外,使用CRC校验方法对每个字节做循环校验运算计算出的校验值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110437805.9A CN102541676B (zh) | 2011-12-22 | 2011-12-22 | 一种nand flash的状态检测及映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110437805.9A CN102541676B (zh) | 2011-12-22 | 2011-12-22 | 一种nand flash的状态检测及映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102541676A CN102541676A (zh) | 2012-07-04 |
CN102541676B true CN102541676B (zh) | 2014-03-05 |
Family
ID=46348629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110437805.9A Expired - Fee Related CN102541676B (zh) | 2011-12-22 | 2011-12-22 | 一种nand flash的状态检测及映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102541676B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902411A (zh) * | 2012-12-31 | 2014-07-02 | 杨威锋 | 高可靠性固态存储设备的基本管理信息的分离保存技术 |
CN103268267A (zh) * | 2013-05-24 | 2013-08-28 | 北京航天自动控制研究所 | 一种基于块的nandflash坏区动态标记处理方法 |
CN104281505B (zh) * | 2013-07-03 | 2017-07-28 | 北京联想核芯科技有限公司 | 数据备份方法、装置和电子设备 |
CN104915265B (zh) * | 2014-03-10 | 2018-03-16 | 北京联想核芯科技有限公司 | 数据备份方法和电子设备 |
CN106133704A (zh) * | 2015-01-19 | 2016-11-16 | 华为技术有限公司 | 内存故障隔离方法和装置 |
CN105513630B (zh) * | 2015-11-30 | 2019-08-13 | 深圳市江波龙电子股份有限公司 | Dram的初始化方法及装置 |
CN105589767B (zh) * | 2015-12-21 | 2018-07-31 | 北京时代民芯科技有限公司 | 一种用于nand flash的系统掉电保护实现方法 |
CN105843700B (zh) * | 2016-03-25 | 2019-01-15 | 中国科学院微电子研究所 | 一种控制器 |
CN107015919A (zh) * | 2017-04-13 | 2017-08-04 | 济南浪潮高新科技投资发展有限公司 | Nand‑flash存储阵列Mapping管理方法 |
CN107025073B (zh) * | 2017-04-19 | 2019-12-10 | 浪潮集团有限公司 | 一种NAND FLASH阵列Mapping信息存储方法 |
KR20180128588A (ko) * | 2017-05-24 | 2018-12-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
CN107908500B (zh) * | 2017-11-30 | 2021-02-26 | 新华三技术有限公司 | 一种坏块识别方法及装置 |
CN110795044B (zh) * | 2019-10-31 | 2023-04-11 | 深圳市友华通信技术有限公司 | NAND Flash存储器的坏块管理方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1991788A (zh) * | 2005-12-30 | 2007-07-04 | 深圳市桑达实业股份有限公司 | 在税控收款机中使用闪存时处理坏块的方法 |
CN101281493A (zh) * | 2008-05-26 | 2008-10-08 | 中兴通讯股份有限公司 | 与非闪存器及其管理方法 |
CN101427323A (zh) * | 2004-11-04 | 2009-05-06 | 西格马特尔公司 | 读取非易失性计算机存储器的系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009103181A1 (zh) * | 2008-02-18 | 2009-08-27 | 中兴通讯股份有限公司 | 在移动终端的非线性闪存上实现文件系统的装置 |
-
2011
- 2011-12-22 CN CN201110437805.9A patent/CN102541676B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101427323A (zh) * | 2004-11-04 | 2009-05-06 | 西格马特尔公司 | 读取非易失性计算机存储器的系统和方法 |
CN1991788A (zh) * | 2005-12-30 | 2007-07-04 | 深圳市桑达实业股份有限公司 | 在税控收款机中使用闪存时处理坏块的方法 |
CN101281493A (zh) * | 2008-05-26 | 2008-10-08 | 中兴通讯股份有限公司 | 与非闪存器及其管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102541676A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541676B (zh) | 一种nand flash的状态检测及映射方法 | |
US10552311B2 (en) | Recovery for non-volatile memory after power loss | |
US8046645B2 (en) | Bad block identifying method for flash memory, storage system, and controller thereof | |
US8756458B2 (en) | Mount-time reconciliation of data availability | |
US9519436B1 (en) | Memory erasing method, memory controller, and memory storage apparatus | |
US8392797B2 (en) | Error correcting controller, flash memory chip system, and error correcting method thereof | |
CN109582216B (zh) | 数据储存装置与存储器装置的数据处理方法 | |
US20140223231A1 (en) | Solid state drive management in power loss recovery | |
US9442834B2 (en) | Data management method, memory controller and memory storage device | |
US20140082264A1 (en) | Nand flash storage chip checking method and device | |
TWI479505B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN103116550A (zh) | 切换闪存中物理块工作模式的方法和装置 | |
CN103823642A (zh) | 用于Flash均衡存储的方法及系统 | |
US9552287B2 (en) | Data management method, memory controller and embedded memory storage apparatus using the same | |
US20150186211A1 (en) | Method, device and operating system for processing and using burn data of nand flash | |
CN102279757A (zh) | 一种系统程序启动的方法及装置 | |
CN103593301B (zh) | 坏块管理方法及系统 | |
WO2013147923A1 (en) | Solid state drive management in power loss recovery | |
CN114089915B (zh) | 基于flash存储器的文件追加写操作方法及装置 | |
US8966161B2 (en) | Memory storage device and restoring method thereof | |
JP2010086009A (ja) | 記憶装置およびメモリ制御方法 | |
CN102541677A (zh) | 提高nandflash存储设备对照表加载速度的实现方法 | |
CN110764693B (zh) | 一种提高Nand flash数据稳定性的方法以及装置 | |
US7743277B2 (en) | System and method for detecting and reducing data corruption in a storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140305 Termination date: 20201222 |
|
CF01 | Termination of patent right due to non-payment of annual fee |