CN103294607A - 一种存储管理方法 - Google Patents
一种存储管理方法 Download PDFInfo
- Publication number
- CN103294607A CN103294607A CN2012100481534A CN201210048153A CN103294607A CN 103294607 A CN103294607 A CN 103294607A CN 2012100481534 A CN2012100481534 A CN 2012100481534A CN 201210048153 A CN201210048153 A CN 201210048153A CN 103294607 A CN103294607 A CN 103294607A
- Authority
- CN
- China
- Prior art keywords
- mapping table
- nand flash
- memory
- daily record
- buffer memory
- 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
Images
Abstract
本实施例公开了一种存储管理方法,包括步骤,存储设备上电时,在nand flash的映射表写入缓存后;读取预设的采用非易失性存储介质建立的日志;日志用于记录缓存对nand flash的映射关系所作出的修改;当日志内容不为空时,根据日志更新缓存及nand flash中的映射表;当日志所占空间到达设定值时,根据缓存中的映射表更新nand flash中的映射表并清空所述日志。由于本实施例中不必每次nand flash的映射关系作出修改时都要重写nand flash的映射表,所以有效地减少了nand flash存储器中映射表所在存储空间的重写次数,进而避免了该存储空间由于损耗过大而造成的坏块高发的问题。
Description
技术领域
本发明涉及数据处理领域,更具体地说,涉及一种存储管理方法。
背景技术
Nand flash是一种非易失性闪存存储器,具有很高的存储密度,可以实现大容量存储,并且具有很高的写入和擦除速度。目前nand flash广泛应用于嵌入式设备的存储卡及U盘、SSD固态硬盘等。
Nand flash由多个block组成,这些block是nand flash中的最小可擦除单元。每个block由多个page组成,这些page是nand flash中的最小可写入单元。任何flash器件的写入操作只能在空或已擦除的page单元内进行,所以大多数情况下,在进行写入操作之前必须要先对需要写入的page执行擦除操作。
实际应用中,由于nand flash上述特性限制的存在,需要设计专门的管理算法对nand flash存储空间和地址及数据传输流程进行配置和管理,以使数据存取操作适应nand flash特性。
在设计管理方法时,一般都要以block或page作为管理单元的物理地址和逻辑地址映射关系中的关键数据。由于随机坏块的存在,该类映射关系通常不会通过建立表达式计算获得,一般的,需要建立并存储完整映射表。
目前,基于映射表的使用,可以分为静态管理和动态管理两类。
其中,静态管理将数据的存储地址进行固定分配,除非出现坏块而必须变更存储地址以外,任何时刻每个block、每个page对应的地址都不变,对应同一目标地址的数据操作每次必然都针对同一block进行擦除或同一page进行存取。虽然静态管理方案设计较简单,实现较容易,但是也存在缺陷存取效率不佳的缺陷。
另外,动态管理中,数据的存储地址在分配后不会一成不变,会根据实际情况发生变化,原则是尽量往空白的page写入新数据,或者根据损耗均衡的需求选择低损耗的page写入数据。然后变更映射表中的对应映射关系。动态管理方案的主要设计目的是降低在写操作流程之中需要预先对目标page进行擦除操作的频率,以使写操作具有较高的效率。但是,动态管理需要频繁修改映射表,而nand flash中的数据写入最小单元为page,一个page的容量可以存储相当数量的映射关系,因此一个page内任何一条映射关系数据的修改都会导致整个page的重写。从而导致了nand flash存储器中映射表所在存储空间损耗大大高于数据空间,损耗均衡效果差,容易在映射表所在存储空间出现坏块。
发明内容
有鉴于此,本发明实施例提供一种存储管理方法,以实现减少nand flash存储器中映射表所在存储空间容易产生坏块几率的目的。
本发明实施例是这样实现的:
一种存储管理方法,包括步骤:
S11、存储设备上电时,在nand flash的映射表写入缓存后;读取预设的采用非易失性存储介质建立的日志;所述日志用于记录缓存对nand flash的映射关系所作出的修改;
S12、当所述日志内容不为空时,根据所述日志更新所述缓存及所述nandflash中的映射表;
S13、当所述日志所占空间到达设定值时,根据所述缓存中的映射表更新所述nand flash中的映射表并清空所述日志。
优选的,在本发明实施例中,所述设定值为日志所占空间nor flash大小的百分比
优选的,在本发明实施例中,所述百分比为100%。
优选的,在本发明实施例中,所述非易失性存储介质包括:
nor flash或EEPROM。
从上述技术方案可以看出,在本发明实施例中,通过设有采用非易失性存储介质建立的日志来记录缓存对nand flash的映射关系所作出的修改。从而可以在存储设备上电时可以根据日志来更新nand flash中的映射表。由于本发明实施例中,不必每次nand flash的映射关系作出修改时都要重写nandflash的映射表,所以,有效地减少了nand flash存储器中映射表所在存储空间的重写次数,进而也就减少了nand flash存储器中映射表所在存储空间的损耗,避免了该存储空间由于损耗过大而造成的坏块高发的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中所述存储管理的步骤示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了实现减少nand flash存储器中映射表所在存储空间容易产生坏块几率,本发明实施例提供一种存储管理方法,如图1所示,包括步骤:
S11、存储设备上电时,在nand flash的映射表写入缓存后;读取预设的采用非易失性存储介质建立的日志;日志用于记录缓存对nand flash的映射关系所作出的修改;
在本发明实施例中,预设了采用非易失性存储介质建立的日志,日志用于记录缓存对nand flash的映射关系所作出的修改;具体的,在存储设备读写过程中,当出现映射关系需做修改的情况时,在修改内存中缓存的映射表以保证后续操作的合理性的同时,同时在日志中建立新的日志项,记录当前所做修改。
在存储设备运行过程中,当用户出现数据的写入需求时,可以通过调用Interface模块提供的写操作接口函数,来启动本方案的nand flash写操作。其中,存储设备上电时,在nand flash的映射表写入缓存后;读取预设的采用非易失性存储介质建立的日志;
在本发明实施例中,所述的非易失性存储介质具体可以是nor flash或EEPROM。
S12、当日志内容不为空时,根据所述日志更新所述缓存及nand flash中的映射表;
由于如果映射表还未更新到最新状态,则上电过程中从nand flash读取到映射表缓存buffer的映射表版本则不够新,会包含无效数据。所以,在存储设备上电时,要根据预设的采用非易失性存储介质建立的日志内容对缓存buffer中的映射表进行更新,以清除无效数据。
为此,在本发明实施中,当所述日志内容不为空时,根据所述日志更新所述缓存及所述nand flash中的映射表。由于在本发明实施例中,设置为在通过日志更新映射表后会清空日志,所以,当日志不为空时,说明日志中的内容还没有更新到映射表中,此时映射表中包括有无效数据,所以在本发明实施例中,读取日志后要判断日志内容是否为空。
S13、当所述日志所占空间到达设定值时,根据缓存中的映射表更新nandflash中的映射表并清空所述日志。
由于采用非易失性存储介质建立了日志,为了控制非易失性存储介质的大小,以控制因增加非易失性存储介质所带来的成本增加,也是为了可以及时的更新映射表,在本发明实施例中还设定了日志所占空间的设定值,当所述日志所占空间到达设定值时,根据缓存中的映射表更新nand flash中的映射表并清空所述日志。这样就不必将非易失性存储介质的容量设置的过大,而且还可以及时的更新映射表,此外,还可以避免因日志所需空间超过非易失性存储介质时造成的数据丢失。
具体的,设定值可以是日志所占空间非易失性存储介质容量大小的百分比,进一步的,该百分比可以为100%。
在实际应用中,以整个存储空间全不存在擦除过的block的情况为例,此时,现有技术需要擦除一个存储无效数据的block,然后在写入新数据的同时将原block内需保留的数据转移到该block,此时出现了修改映射表的需求,则需要擦除映射表所在block,重写映射表。共擦除了2个block,转移1次数据。
而上述需求在本发明实施例中,需要擦除一个存储无效数据的block,然后在写入数据的同时将原block内需保留的数据转移到该block,之后修改内存中的映射表数据,并向nor flash中直接记录日志。共擦除了1个block,转移1次数据。
有上述比较可以得知,本发明实施例可以有效地减少了写操作过程中对映射表所在区域的擦除操作次数和数据转移次数,所以,不但会由于有效地减少了映射表所在的区域的擦写次数,从而减少了坏块出现的几率,而且,还会因为减少了擦除操作次数和数据转移次数提高了写操作效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (4)
1.一种存储管理方法,其特征在于,包括步骤:
S11、存储设备上电时,在nand flash的映射表写入缓存后;读取预设的采用非易失性存储介质建立的日志;所述日志用于记录缓存对nand flash的映射关系所作出的修改;
S12、当所述日志内容不为空时,根据所述日志更新所述缓存及所述nand flash中的映射表;
S13、当所述日志所占空间到达设定值时,根据所述缓存中的映射表更新所述nand flash中的映射表并清空所述日志。
2.根据权利要求1所述存储管理方法,其特征在于,所述设定值为日志所占空间nor flash大小的百分比。
3.根据权利要求2所述存储管理方法,其特征在于,所述百分比为100%。
4.根据权利要求3所述存储管理方法,其特征在于,所述非易失性存储介质包括:
nor flash或EEPROM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100481534A CN103294607A (zh) | 2012-02-27 | 2012-02-27 | 一种存储管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100481534A CN103294607A (zh) | 2012-02-27 | 2012-02-27 | 一种存储管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103294607A true CN103294607A (zh) | 2013-09-11 |
Family
ID=49095523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100481534A Pending CN103294607A (zh) | 2012-02-27 | 2012-02-27 | 一种存储管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103294607A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608013A (zh) * | 2015-07-10 | 2016-05-25 | 上海磁宇信息科技有限公司 | 一种集成mram的存储卡控制芯片及存储卡 |
CN105607862A (zh) * | 2015-08-05 | 2016-05-25 | 上海磁宇信息科技有限公司 | 一种dram与mram结合具有备份电源的固态硬盘 |
CN106033319A (zh) * | 2015-03-11 | 2016-10-19 | 广明光电股份有限公司 | 固态硬盘动态建立转换层的方法 |
CN106445401A (zh) * | 2015-08-11 | 2017-02-22 | 群联电子股份有限公司 | 表格更新方法、存储器储存装置及存储器控制电路单元 |
CN106502928A (zh) * | 2016-09-29 | 2017-03-15 | 华为技术有限公司 | 一种存储系统掉电保护方法、存储控制器及电子设备 |
CN107193758A (zh) * | 2017-05-19 | 2017-09-22 | 记忆科技(深圳)有限公司 | 一种固态硬盘的映射表管理方法及固态硬盘 |
CN107506311A (zh) * | 2017-08-30 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种固态硬盘的ftl表的刷写方法及装置 |
CN107678420A (zh) * | 2017-09-30 | 2018-02-09 | 北京理工大学 | 一种发动机数据在线存储方法 |
CN110888823A (zh) * | 2019-11-26 | 2020-03-17 | 深圳忆联信息系统有限公司 | 页扫描效率的提升方法、装置及计算机设备 |
CN113176970A (zh) * | 2021-06-28 | 2021-07-27 | 中国核动力研究设计院 | 基于FPGA的nor flash坏块管理系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848071A (zh) * | 2005-03-24 | 2006-10-18 | 株式会社东芝 | 计算机系统、盘装置以及数据更新控制方法 |
CN102043727A (zh) * | 2009-10-10 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 恢复固态硬盘映射表的方法及其装置 |
-
2012
- 2012-02-27 CN CN2012100481534A patent/CN103294607A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848071A (zh) * | 2005-03-24 | 2006-10-18 | 株式会社东芝 | 计算机系统、盘装置以及数据更新控制方法 |
CN102043727A (zh) * | 2009-10-10 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 恢复固态硬盘映射表的方法及其装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106033319A (zh) * | 2015-03-11 | 2016-10-19 | 广明光电股份有限公司 | 固态硬盘动态建立转换层的方法 |
CN105608013B (zh) * | 2015-07-10 | 2019-03-08 | 上海磁宇信息科技有限公司 | 一种集成mram的存储卡控制芯片及存储卡 |
CN105608013A (zh) * | 2015-07-10 | 2016-05-25 | 上海磁宇信息科技有限公司 | 一种集成mram的存储卡控制芯片及存储卡 |
CN105607862A (zh) * | 2015-08-05 | 2016-05-25 | 上海磁宇信息科技有限公司 | 一种dram与mram结合具有备份电源的固态硬盘 |
CN106445401A (zh) * | 2015-08-11 | 2017-02-22 | 群联电子股份有限公司 | 表格更新方法、存储器储存装置及存储器控制电路单元 |
CN106445401B (zh) * | 2015-08-11 | 2020-01-07 | 群联电子股份有限公司 | 表格更新方法、存储器储存装置及存储器控制电路单元 |
CN106502928A (zh) * | 2016-09-29 | 2017-03-15 | 华为技术有限公司 | 一种存储系统掉电保护方法、存储控制器及电子设备 |
CN106502928B (zh) * | 2016-09-29 | 2019-08-20 | 华为技术有限公司 | 一种存储系统掉电保护方法、存储控制器及电子设备 |
CN107193758A (zh) * | 2017-05-19 | 2017-09-22 | 记忆科技(深圳)有限公司 | 一种固态硬盘的映射表管理方法及固态硬盘 |
CN107506311A (zh) * | 2017-08-30 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种固态硬盘的ftl表的刷写方法及装置 |
CN107506311B (zh) * | 2017-08-30 | 2020-10-20 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的ftl表的刷写方法及装置 |
CN107678420A (zh) * | 2017-09-30 | 2018-02-09 | 北京理工大学 | 一种发动机数据在线存储方法 |
CN107678420B (zh) * | 2017-09-30 | 2020-01-31 | 北京理工大学 | 一种发动机数据在线存储方法 |
CN110888823A (zh) * | 2019-11-26 | 2020-03-17 | 深圳忆联信息系统有限公司 | 页扫描效率的提升方法、装置及计算机设备 |
CN110888823B (zh) * | 2019-11-26 | 2022-01-21 | 深圳忆联信息系统有限公司 | 页扫描效率的提升方法、装置及计算机设备 |
CN113176970A (zh) * | 2021-06-28 | 2021-07-27 | 中国核动力研究设计院 | 基于FPGA的nor flash坏块管理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103294607A (zh) | 一种存储管理方法 | |
CN103562842B (zh) | 用于存储设备的用低预留空间实现低写入放大的方法 | |
US9645895B2 (en) | Data storage device and flash memory control method | |
EP1782176B1 (en) | Systems, methods, computer readable medium and apparatus for memory management using nvram | |
CN100419714C (zh) | 闪存存取方法、闪存文件系统的块替换方法及其管理装置 | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US8909986B2 (en) | Data storing method for solid state drive to preserve data integrity after power failure | |
US8429352B2 (en) | Method and system for memory block flushing | |
JP4472010B2 (ja) | 記憶装置 | |
US8046526B2 (en) | Wear leveling method and controller using the same | |
CN101493794B (zh) | 一种闪存数据处理方法及装置 | |
CN101382918B (zh) | 一种基于数据交换区的NAND Flash闪存优化管理方法 | |
US8239619B2 (en) | Method and apparatus for high-speed byte-access in block-based flash memory | |
CN105718530B (zh) | 文件存储系统及其文件存储控制方法 | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
CN111158579B (zh) | 固态硬盘及其数据存取的方法 | |
US20140328127A1 (en) | Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same | |
US20130275655A1 (en) | Memory management method and memory controller and memory storage device using the same | |
CN103365786A (zh) | 数据存储方法、装置和系统 | |
CN105630701B (zh) | 数据存储装置及使用不可用页表或不可用块表的读写方法 | |
US8261013B2 (en) | Method for even utilization of a plurality of flash memory chips | |
CN105607862A (zh) | 一种dram与mram结合具有备份电源的固态硬盘 | |
CN102999441A (zh) | 一种细粒度内存访问的方法 | |
CN102541753B (zh) | 一种嵌入式存储器的读写优化方法 | |
CN104007939A (zh) | 用于小文件频繁写入的嵌入式fat文件系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130911 |