CN111124294B - 一种扇区映射信息的管理方法及装置、存储介质和设备 - Google Patents
一种扇区映射信息的管理方法及装置、存储介质和设备 Download PDFInfo
- Publication number
- CN111124294B CN111124294B CN201911263241.4A CN201911263241A CN111124294B CN 111124294 B CN111124294 B CN 111124294B CN 201911263241 A CN201911263241 A CN 201911263241A CN 111124294 B CN111124294 B CN 111124294B
- Authority
- CN
- China
- Prior art keywords
- mapping table
- sector
- global
- mapping
- increment
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 877
- 238000007726 management method Methods 0.000 title description 9
- 238000000034 method Methods 0.000 claims abstract description 82
- 230000008569 process Effects 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 5
- 239000002699 waste material Substances 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 102100029074 Exostosin-2 Human genes 0.000 description 1
- 101000918275 Homo sapiens Exostosin-2 Proteins 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种扇区映射信息的管理方法及装置、存储介质和设备,所述扇区映射信息的管理方法包括:在对目标逻辑扇区进行事务操作的过程中,获得事务操作所对应的扇区映射信息,事务操作所对应的扇区映射信息为目标逻辑扇区与其映射的目标物理扇区之间的对应关系;确定非易失性存储器中预先建立的多个增量映射表是否存储满,其中,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;若确定多个增量映射表未存储满,从多个增量映射表中选择一个空闲的增量映射表;将事务操作所对应的扇区映射信息写入空闲的增量映射表所对应的物理扇区。如此,能够减少所占用的物理扇区的数量,减少存储器资源的浪费,减少所需消耗的时间。
Description
技术领域
本申请涉及存储管理技术领域,尤其涉及一种扇区映射信息的管理方法及装置、存储介质和设备。
背景技术
Nor Flash存储器具有访问速度快、可以片上执行(Execute In Place,XIP)等优点,是被广泛使用的非易失性存储器。但是,Nor Flash存储器具有独特的写入特点,即无法对扇区进行任意重写。
因此,在实际应用中,由于Nor Flash存储器不能直接在原来的扇区上进行重写,那么,当诸如FAT(File Allocation Table,文件分配表)、NTFS(New Technology FileSystem,新技术文件系统)、EXT2(The Second Extended File System,第二代扩展文件系统)等文件系统对某一逻辑扇区进行事务(Transaction)操作时,例如文件系统对某一个逻辑扇区写入数据时,通常是需要选择一个空闲的新物理扇区(sector)作为该逻辑扇区所对应的新映射来写入数据,而不是直接对该逻辑扇区所映射的原物理扇区进行覆盖操作。接下来,为了保存该事务操作所对应的扇区映射信息,即该逻辑扇区与该新物理扇区之间的对应关系,就需要对扇区映射表进行更新,以便完成本次事务操作的写入流程,这里,扇区映射表包括Nor Flash存储器对应的全部的扇区映射信息。
但是,目前在传统事务操作过程中对扇区映射表进行更新时,由于NorFlash存储器不能直接在原来的物理扇区上进行重写,就需要重新选择空闲的物理扇区来对扇区映射表中保存的扇区映射信息进行更新。然而,在实际应用中Nor Flash存储器所对应的扇区映射信息往往是比较多的,此时,就无法在一个物理扇区上进行保存,而是需要在多个物理扇区进行保存。这样,就导致每次保存事务操作所对应的扇区映射信息时,都需要对NorFlash存储器中的多个空闲的物理扇区进行写入操作,消耗时间较多。
发明内容
有鉴于此,本申请实施例提供一种扇区映射信息的管理方法及装置、存储介质和设备,以解决传统事务操作过程中,保存扇区映射信息占用扇区较多、浪费存储器资源、消耗时间较多的问题。
本申请实施例主要提供如下技术方案:
第一方面,本申请实施例提供了一种扇区映射信息的管理方法,所述方法包括:在对目标逻辑扇区进行事务操作的过程中,获得所述事务操作所对应的扇区映射信息,其中,所述事务操作所对应的扇区映射信息为所述目标逻辑扇区与其映射的目标物理扇区之间的对应关系;确定非易失性存储器中预先建立的多个增量映射表是否存储满,其中,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;若确定所述多个增量映射表未存储满,从所述多个增量映射表中选择一个空闲的增量映射表;将所述事务操作所对应的扇区映射信息写入所述空闲的增量映射表所对应的物理扇区。
第二方面,本申请实施例提供了一种扇区映射信息的管理方法,所述方法包括:在非易失性存储器上电后,获取全局映射表的地址,其中,所述非易失性存储器包括:预先建立的全局映射表和预先建立的多个增量映射表,所述全局映射表用于存储所述非易失性存储器的所有扇区映射信息,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;基于所述全局映射表的地址,从所述非易失性存储器中,将所述全局映射表读取到内存中;从所述全局映射表中,获取与所述全局映射表相匹配的增量映射表的地址;基于所述与所述全局映射表相匹配的增量映射表的地址,从所述非易失性存储器中,将所述与所述全局映射表相匹配的增量映射表读取到所述内存中;基于所述全局映射表中的扇区映射信息和所述与所述全局映射表相匹配的增量映射表中的扇区映射信息,在所述内存中建立对应的内存扇区映射表。
第三方面,本申请实施例提供了一种扇区映射信息的管理装置,所述装置包括:获得单元,用于在对目标逻辑扇区进行事务操作的过程中,获得所述事务操作所对应的扇区映射信息,其中,所述事务操作所对应的扇区映射信息为所述目标逻辑扇区与其映射的目标物理扇区之间的对应关系;第一确定单元,用于确定非易失性存储器中预先建立的多个增量映射表是否存储满,其中,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;选择单元,用于若确定单元确定所述多个增量映射表未存储满,从所述多个增量映射表中选择一个空闲的增量映射表;处理单元,用于将所述事务操作所对应的扇区映射信息写入所述空闲的增量映射表所对应的物理扇区。
第四方面,本申请实施例提供了一种扇区映射信息的管理装置,所述装置包括:第一获取单元,用于在非易失性存储器上电后,获取全局映射表的地址,其中,所述非易失性存储器包括:预先建立的全局映射表和预先建立的多个增量映射表,所述全局映射表用于存储所述非易失性存储器的所有扇区映射信息,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;第一读取单元,用于基于所述全局映射表的地址,从所述非易失性存储器中,将所述全局映射表读取到内存中;第二获取单元,用于从所述全局映射表中,获取与所述全局映射表相匹配的增量映射表的地址;第二读取单元,用于基于所述与所述全局映射表相匹配的增量映射表的地址,从所述非易失性存储器中,将所述与所述全局映射表相匹配的增量映射表读取到所述内存中;建立单元,用于基于所述全局映射表中的扇区映射信息和所述与所述全局映射表相匹配的增量映射表中的扇区映射信息,在所述内存中建立对应的内存扇区映射表。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在计算机设备执行上述一个或多个实施例中的扇区映射信息的管理方法的步骤。
第六方面,本申请实施例提供了一种计算机设备,所述计算机设备包括:至少一个处理器;以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述一个或多个实施例中的扇区映射信息的管理方法的步骤。
本申请实施例提供的扇区映射信息的管理方法及装置、存储介质和设备,在对目标逻辑扇区进行事务操作的过程中,获得事务操作所对应的扇区映射信息,其中,事务操作所对应的扇区映射信息为目标逻辑扇区与其映射的目标物理扇区之间的对应关系;然后,就可以确定非易失性存储器中预先建立的多个增量映射表是否存储满,其中,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;接下来,若确定多个增量映射表未存储满,从多个增量映射表中选择一个空闲的增量映射表;将事务操作所对应的扇区映射信息写入空闲的增量映射表所对应的物理扇区。这样,通过设置多个增量映射表,直接将事务操作所对应的扇区映射信息存储至一个空闲的增量映射表所对应的物理扇区,而不是对存储有所有扇区映射信息的全局增量映射表进行更新,只占用一个物理扇区,能够减少保存扇区映射信息所占用的物理扇区的数量,减少存储器资源的浪费,减少存储扇区映射信息所需消耗的时间。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例中的扇区映射信息的管理方法的流程示意图一;
图2为扇区映射信息的写入过程的示意图;
图3为本申请实施例中的扇区映射信息的管理方法的流程示意图二;
图4为本申请实施例中的扇区映射信息的管理方法的流程示意图三;
图5为本申请实施例中的扇区映射信息的管理装置的结构示意图一;
图6为本申请实施例中的扇区映射信息的管理装置的结构示意图二;
图7为本申请实施例中的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提供一种扇区映射信息的管理方法。图1为本申请实施例中的扇区映射信息的管理方法的流程示意图一,参见图1所示,该扇区映射信息的管理方法可以包括:
S101:在对目标逻辑扇区进行事务操作的过程中,获得事务操作所对应的扇区映射信息;
其中,事务操作所对应的扇区映射信息为目标逻辑扇区与其映射的目标物理扇区之间的对应关系。
举例来说,假设在对目标逻辑扇区进行事务操作之前,目标逻辑扇区所对应的映射为原物理扇区,而当诸如FAT、NTFS、EXT2等文件系统对该目标逻辑扇区进行事务操作的过程中,例如对该目标逻辑扇区写入某数据时,通常会选择一个空闲的新物理扇区,即目标物理扇区作为该目标逻辑扇区所对应的新映射来写入数据,而不是直接对该逻辑扇区所映射的原物理扇区进行覆盖操作。这样,就获得了该事务操作所对应的扇区映射信息,即该目标逻辑扇区与该目标物理扇区之间的对应关系。
S102:确定非易失性存储器中预先建立的多个增量映射表是否存储满;
其中,每个增量映射表能够存储一次事务操作所对应的扇区映射信息。每个增量映射表占用一个物理扇区。
作为示例,若执行S102确定多个增量映射表未存储满,表明该多个增量映射表中还存在至少一个空闲的增量映射表,此时,可以执行S103~S104来将事务操作所对应的扇区映射信息写入该空闲的增量映射表所对应的物理扇区。
在实际应用中,上述非易失性存储器可以由Nor Flash存储器来实现。
S103:从多个增量映射表中选择一个空闲的增量映射表;
S104:将事务操作所对应的扇区映射信息写入空闲的增量映射表所对应的物理扇区。
这里,空闲的增量映射表是指多个增量映射表中未存储满的增量映射表。该空闲的增量映射表所对应的物理扇区为空闲的物理扇区,可写入数据。
具体来说,在每次事务操作的过程中,考虑到事务空间有上限,那么,由于每次事务操作涉及的物理扇区较少,可以通过一个增量映射表所对应的一个物理扇区来进行保存。
进一步地,当上述多个增量映射表具有一定的先后顺序时,上述S103可以包括:从多个增量映射表中选择第一个空闲的增量映射表。
参见图2所示,在实际应用中,为了便于确定多个增量映射表是否存储满,在建立多个增量映射表时,例如该多个增量映射表可以包括:增量映射表1、增量映射表2、增量映射表3、…、增量映射表N,根据各个增量映射表的地址的先后顺序,可用设置该多个增量映射表在写入数据时对应地具有一定的先后顺序,例如,多个增量映射表以从前到后的顺序排列为:增量映射表1、增量映射表2、增量映射表3、…、增量映射表N。
作为示例,当多个增量映射表中的至少两个增量映射表中未存储满数据时,则该至少两个增量映射表均为空闲的增量映射表,然后根据该至少两个增量映射表的先后顺序,就可以从该至少两个增量映射表中确定出第一个空闲的增量映射表。当多个增量映射表中只有一个增量映射表中未存储满数据时,则该一个增量映射表自身即为第一个可以用的空闲的增量映射表。
在本申请另一实施例中,在S104之后,上述方法可以包括以下步骤1041~步骤1044:
步骤1041:确定多个增量映射表是否存储满;
步骤1042:若确定多个增量映射表已存储满,从多个增量映射表各自对应的物理扇区中,获取多个增量映射表各自存储的扇区映射信息;
步骤1043:基于多个增量映射表各自存储的扇区映射信息,对非易失性存储器中预先建立的全局映射表进行更新;
其中,全局映射表用于存储非易失性存储器的所有扇区映射信息。
步骤1044:清空多个增量映射表。
在实际应用中,为了便于更快速地对下一次的事务操作所对应的扇区映射信息进行保存,可以在下一次事务操作发生之前,预先将多个增量映射表清空,以便在下一次事务操作发生时,能够有空闲的增量映射表来存储下一次事务操作所对应的扇区映射信息。那么,在向增量映射表增加了扇区映射信息后,可用重新再确定一次多个增量映射表是否均存储满,若确定多个增量映射表已存储满,则可以将多个增量映射表各自存储的扇区映射信息,更新到非易失性存储器中预先建立的全局映射表中,然后对多个增量映射表所各自对应的物理扇区进行擦除操作,以实现清空多个增量映射表,这样,在获得下一次事务操作所对应的扇区映射信息时,就可以直接将下一次事务操作所对应的扇区映射信息写入到增量映射表所对应的物理扇区中,即将下一次事务操作所对应的扇区映射信息写入到增量映射表中。
在本申请另一实施例中,为了避免对全局映射表进行更新时发生错误,导致全局映射表中所存储的扇区映射信息丢失,就需要有备份的扇区映射信息对全局映射表进行回滚,使得全局映射表可用以恢复到之前的状态。那么,在具体实施过程中,可以创建两个全局映射表,即预先划分的全局映射表可以包括:第一全局映射表和第二全局映射表。
在实际应用中,由于每个物理扇区的最大可擦写次数是有限的,因此,必须考虑到各个物理扇区之间的损耗均衡问题,那么,就可用设置两个全局映射表之间的主备关系轮流变换。具体来说,假设在第一事务操作时,第一全局映射表为备全局映射表,第二全局映射表为主全局映射表,那么,在第一事务操作之后的下一个事务操作时,第二全局映射表就可以为备全局映射表,而第一全局映射表可用为主全局映射表。
那么,在具体实施过程中,当预先划分的全局映射表包括:第一全局映射表和第二全局映射表时,上述步骤1043可以包括以下步骤:
步骤1043a:从第一全局映射表中,获取用于指示第一全局映射表的操作次序的第一标识;
步骤1043b:从第二全局映射表中,获取用于指示第二全局映射表的操作次序的第二标识;
步骤1043c:基于第一标识和第二标识,从第一全局映射表和第二全局映射表中确定主全局映射表和备全局映射表,其中,主全局映射表为第一全局映射表和第二全局映射表中在前一次更新时后被操作的一个,对应地,备全局映射表为第一全局映射表和第二全局映射表中在前一次更新时先被操作的一个;
步骤1043d:基于多个增量映射表各自存储的扇区映射信息,对备全局映射表进行更新;
具体来说,在执行步骤1043d之后,根据对备全局映射表进行更新是否成功,可以选择执行步骤1043e或步骤1043f~步骤1043g。
步骤1043e:在备全局映射表成功更新之后,基于更新后的备全局映射表,对主全局映射表进行更新;
步骤1043f:在备全局映射表更新失败之后,基于主全局映射表对备全局映射表进行回滚;
步骤1043g:基于多个增量映射表各自存储的扇区映射信息,对回滚后的备全局映射表重新进行更新。
仍然参见图2所示,在事务操作所对应的扇区映射信息的写入顺序可以为:在每一次事务操作时,可以先将扇区映射信息写入多个增量映射表中的一个空闲的增量映射表中,然后,直至当所有增量映射表均写满数据时,才将所有增量映射表所存储的扇区映射信息写入到全局映射表中。而在向全局映射表中写入增量映射表中的扇区映射信息时,可以先对备全局映射表进行更新,然后再对主全局映射表进行更新。
作为示例,全局映射表数据结构可以分为3个部分:映射区、标志区和填充区。其中,映射区可以用于存放扇区映射信息,即各个物理扇区与各个逻辑扇区之间的对应关系;标志区可以用于存储用于表征全局映射表的操作次数的标识、增量映射表索引、增量映射表的地址、增量映射表个数、校验码等;填充区为预留区域。
对应地,增量映射表数据结构也可以分为3个部分:映射区、标志区和填充区。其中,映射区可以用于存放事务操作所对应的逻辑扇区的ID、与该逻辑扇区相对应的物理扇区的ID等;标志区可以用于存储增量映射表的操作次数、校验码等;填充区为预留区域。
在本申请另一实施例中,为了便于事务操作的进行,在每次非易失性存储器上电后,都需要在内存中基于完整的扇区映射信息来创建内存扇区映射表,以便接下来能够顺利完成对逻辑扇区进行的事务操作。那么,在具体实施过程中,在上述S101之前,上述方法还可以包括:在非易失性存储器上电后,获取全局映射表的地址,其中,非易失性存储器包括:预先建立的全局映射表和多个增量映射表,全局映射表用于存储非易失性存储器的所有扇区映射信息;基于全局映射表的地址,从非易失性存储器中,将全局映射表读取到内存中;从全局映射表中,获取与全局映射表相匹配的增量映射表的地址;基于与全局映射表相匹配的增量映射表的地址,从非易失性存储器中,将与全局映射表相匹配的增量映射表读取到内存中;基于全局映射表中的扇区映射信息和与全局映射表相匹配的增量映射表中的扇区映射信息,在内存中建立对应的内存扇区映射表。
具体来说,当需要在内存中建立内存扇区映射表时,就可以基于全局映射表加上增量映射表来得到完整的扇区映射信息,然后基于该完整的扇区映射信息来建立内存扇区映射表。
作为示例,当全局映射表中所存储的增量映射表的地址信息与增量映射表本身的地址信息是相一致的时,就可以确定该增量映射表即为全局增量映射表所匹配的增量映射表。
进一步地,当全局映射表包括:第一全局映射表和第二全局映射表时,由于最后一个被操作的全局映射表为最新的,那么,为了获得完整的扇区映射信息,上述方法可以包括:在非易失性存储器上电后,在全局映射表地址表中,获取第一全局映射表的地址和第二全局映射表的地址;基于第一全局映射表的地址和第二全局映射表的地址,从非易失性存储器中,将第一全局映射表和第二全局映射表读取到内存中;从第一全局映射表中,获取用于指示第一全局映射表的操作次序的第一标识;从第二全局映射表中,获取用于指示第二全局映射表的操作次序的第二标识;基于第一标识和第二标识,从第一全局映射表和第二全局映射表中确定主全局映射表和备全局映射表,其中,主全局映射表为第一全局映射表和第二全局映射表中在前一次更新时后被操作的一个,对应地,备全局映射表为第一全局映射表和第二全局映射表中在前一次更新时先被操作的一个;从主全局映射表中,获取与主全局映射表相匹配的增量映射表的地址;基于与主全局映射表相匹配的增量映射表的地址,从非易失性存储器中,将与主全局映射表相匹配的增量映射表读取到内存中;基于主全局映射表中的扇区映射信息和与主全局映射表相匹配的增量映射表中的扇区映射信息,在内存中建立对应的内存扇区映射表。
进一步地,为了确保所得到的扇区映射信息是正确的,就需要校验第一全局映射表和第二全局映射表的状态是否正常,那么,在将第一全局映射表和第二全局映射表读取到内存中后,还需要根据第一全局映射表中的校验码对第一全局映射表进行校验,并通过第二全局映射表中校验码对第二全局映射表进行校验。接下来,当校验失败时,表明第一全局映射表和第二全局映射表的状态为异常的,此时发出全局映射表异常的通知消息;而当校验成功时,表明第一全局映射表和第二全局映射表的状态为正常的,此时就可以从第一全局映射表和第二全局映射表中确定出主全局映射表。
对应地,为了确保所得到的扇区映射信息是正确的,就需要校验增量映射表的状态是否正常,那么,在获得主全局映射表所匹配的增量映射表之后,就可以根据增量映射表中的校验码对增量映射表进行校验。接下来,当校验成功时,表明增量映射表的状态是正常的,此时,就可以基于主全局映射表所存储的扇区映射信息和该增量映射表中所存储的扇区映射信息来创建内存扇区映射表。
至此,便完成了快速保存扇区映射信息的过程。
由上述内容可知,本申请实施例提供的扇区映射信息的管理方法,在对目标逻辑扇区进行事务操作的过程中,获得事务操作所对应的扇区映射信息,其中,事务操作所对应的扇区映射信息为目标逻辑扇区与其映射的目标物理扇区之间的对应关系;然后,就可以确定非易失性存储器中预先建立的多个增量映射表是否存储满,其中,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;接下来,若确定多个增量映射表未存储满,从多个增量映射表中选择一个空闲的增量映射表;将事务操作所对应的扇区映射信息写入空闲的增量映射表所对应的物理扇区。这样,通过设置多个增量映射表,直接将事务操作所对应的扇区映射信息存储至一个空闲的增量映射表所对应的物理扇区,而不是对存储有所有扇区映射信息的全局增量映射表进行更新,只占用一个物理扇区,能够减少保存扇区映射信息所占用的物理扇区的数量,减少存储器资源的浪费,减少存储扇区映射信息所需消耗的时间。
基于同一发明构思,本申请实施例提供一种扇区映射信息的管理方法。图3为本申请实施例中的扇区映射信息的管理方法的流程示意图二,参见图3所示,该扇区映射信息的管理方法可以包括:
S301:在对目标逻辑扇区进行事务操作的过程中,获得事务操作所对应的扇区映射信息;
S302:确定非易失性存储器中预先建立的多个增量映射表是否存储满;
作为示例,若执行S302确定多个增量映射表未存储满,表明该多个增量映射表中还存在至少一个可用的空闲的增量映射表,此时,可以执行S303a~S303b来将事务操作所对应的扇区映射信息先写入该空闲的增量映射表所对应的物理扇区。若执行S302确定多个增量映射表已存储满,表明该多个增量映射表中不存在可用的空闲的增量映射表,此时,可执行S304a~S304b直接将事务操作所对应的扇区映射信息写入全局映射表中。
S303a:从多个增量映射表中选择一个空闲的增量映射表;
S303b:将事务操作所对应的扇区映射信息写入空闲的增量映射表所对应的物理扇区;
S304a:从多个增量映射表各自对应的物理扇区中,获取多个增量映射表各自存储的扇区映射信息;
S304b:基于事务操作所对应的扇区映射信息和多个增量映射表各自存储的扇区映射信息,对非易失性存储器中预先建立的全局映射表进行更新。
其中,全局映射表用于存储非易失性存储器的所有扇区映射信息。
在本申请另一实施例中,当全局映射表包括:第一全局映射表和第二全局映射表时,上述S304b可以包括:从第一全局映射表中,获取用于指示第一全局映射表的操作次序的第一标识;从第二全局映射表中,获取用于指示第二全局映射表的操作次序的第二标识;基于第一标识和第二标识,从第一全局映射表和第二全局映射表中确定主全局映射表和备全局映射表,其中,主全局映射表为第一全局映射表和第二全局映射表中在前一次更新时后被操作的一个,对应地,备全局映射表为第一全局映射表和第二全局映射表中在前一次更新时先被操作的一个;基于事务操作所对应的扇区映射信息和多个增量映射表各自存储的扇区映射信息,对备全局映射表进行更新;在备全局映射表成功更新之后,基于更新后的备全局映射表,对主全局映射表进行更新;或者,在备全局映射表更新失败之后,基于主全局映射表对备全局映射表进行回滚;基于多个增量映射表各自存储的扇区映射信息,对回滚后的备全局映射表重新进行更新。
在实际应用中,为了便于更快速地对下一次的事务操作所对应的扇区映射信息进行保存,可以在下一次事务操作发生之前,预先将多个增量映射表清空,以便在下一次事务操作发生时,能够有空闲的增量映射表来存储下一次事务操作所对应的扇区映射信息。那么,在本申请另一实施例中,在上述S304b之后,上述方法还可以包括:清空多个增量映射表。
由上述内容可知,本申请实施例所提供的扇区映射信息的管理方法,预先创建了全局映射表和多个增量映射表,当多个增量映射表均存储满数据时,直接使用多个增量映射表中的空闲的增量映射表所对应的物理扇区来存储事务操作所对应的扇区映射信息;而只有当该多个增量映射表均存储满数据时,才会基于事务操作所对应的扇区映射信息和多个增量映射表各自存储的扇区映射信息,对全局映射表进行更新。如此,通过增量映射表与全局映射表相结合的方式对事务操作所对应的扇区映射信息进行保存,能够减少保存扇区映射信息所占用的物理扇区的数量,减少存储器资源的浪费,减少存储扇区映射信息所需消耗的时间。
基于同一发明构思,本申请实施例提供一种扇区映射信息的管理方法。图4为本申请实施例中的扇区映射信息的管理方法的流程示意图三,参见图4所示,该扇区映射信息的管理方法可以包括:
S401:在非易失性存储器上电后,获取全局映射表的地址;
其中,非易失性存储器包括:预先建立的全局映射表和预先建立的多个增量映射表,全局映射表用于存储非易失性存储器的所有扇区映射信息,每个增量映射表能够存储一次事务操作所对应的扇区映射信息。
S402:基于全局映射表的地址,从非易失性存储器中,将全局映射表读取到内存中;
S403:从全局映射表中,获取与全局映射表相匹配的增量映射表的地址;
S404:基于与全局映射表相匹配的增量映射表的地址,从非易失性存储器中,将与全局映射表相匹配的增量映射表读取到内存中;
S405:基于全局映射表中的扇区映射信息和与全局映射表相匹配的增量映射表中的扇区映射信息,在内存中建立对应的内存扇区映射表。
为了便于事务操作的进行,在每次非易失性存储器上电后,都需要在内存中基于完整的扇区映射信息来创建内存扇区映射表,以便接下来能够顺利完成对逻辑扇区进行的事务操作。具体来说,当需要在内存中建立内存扇区映射表时,就可以基于全局映射表加上增量映射表来得到完整的扇区映射信息,然后基于该完整的扇区映射信息来建立内存扇区映射表。
作为示例,当全局映射表中所存储的增量映射表的地址信息与增量映射表本身的地址信息是相一致的时,就可以确定该增量映射表即为全局增量映射表所匹配的增量映射表。
进一步地,当全局映射表包括:第一全局映射表和第二全局映射表时,由于最后一个被操作的全局映射表为最新的,那么,为了获得完整的扇区映射信息,上述S401可以包括:在非易失性存储器上电后,在全局映射表地址表中,获取第一全局映射表的地址和第二全局映射表的地址;
接下来,上述S402可以包括:基于第一全局映射表的地址和第二全局映射表的地址,从非易失性存储器中,将第一全局映射表和第二全局映射表读取到内存中;
接下来,上述S403可以包括:从第一全局映射表中,获取用于指示第一全局映射表的操作次序的第一标识;从第二全局映射表中,获取用于指示第二全局映射表的操作次序的第二标识;基于第一标识和第二标识,从第一全局映射表和第二全局映射表中确定主全局映射表和备全局映射表,其中,主全局映射表为第一全局映射表和第二全局映射表中在前一次更新时后被操作的一个,对应地,备全局映射表为第一全局映射表和第二全局映射表中在前一次更新时先被操作的一个;从主全局映射表中,获取与主全局映射表相匹配的增量映射表的地址;
接下来,上述S404可以包括:基于与主全局映射表相匹配的增量映射表的地址,从非易失性存储器中,将与主全局映射表相匹配的增量映射表读取到内存中;
接下来,上述S405可以包括:基于主全局映射表中的扇区映射信息和与主全局映射表相匹配的增量映射表中的扇区映射信息,在内存中建立对应的内存扇区映射表。
进一步地,为了确保所得到的扇区映射信息是正确的,就需要校验第一全局映射表和第二全局映射表的状态是否正常,那么,在将第一全局映射表和第二全局映射表读取到内存中后,还需要根据第一全局映射表中的校验码对第一全局映射表进行校验,并通过第二全局映射表中校验码对第二全局映射表进行校验。接下来,当校验失败时,表明第一全局映射表和第二全局映射表的状态为异常的,此时发出全局映射表异常的通知消息;而当校验成功时,表明第一全局映射表和第二全局映射表的状态为正常的,此时就可以从第一全局映射表和第二全局映射表中确定出主全局映射表。
对应地,为了确保所得到的扇区映射信息是正确的,就需要校验增量映射表的状态是否正常,那么,在获得主全局映射表所匹配的增量映射表之后,就可以根据增量映射表中的校验码对增量映射表进行校验。接下来,当校验成功时,表明增量映射表的状态是正常的,此时,就可以基于主全局映射表所存储的扇区映射信息和该增量映射表中所存储的扇区映射信息来创建内存扇区映射表。
由上述内容可知,本申请实施例所提供的扇区映射信息的管理方法,在非易失性存储器上电后,获取全局映射表的地址,其中,非易失性存储器包括:预先建立的全局映射表和预先建立的多个增量映射表,全局映射表用于存储非易失性存储器的所有扇区映射信息,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;接下来,就可以基于全局映射表的地址,从非易失性存储器中,将全局映射表读取到内存中;从全局映射表中,获取与全局映射表相匹配的增量映射表的地址;基于与全局映射表相匹配的增量映射表的地址,从非易失性存储器中,将与全局映射表相匹配的增量映射表读取到内存中;最后,就可以基于全局映射表中的扇区映射信息和与全局映射表相匹配的增量映射表中的扇区映射信息,在内存中建立对应的内存扇区映射表。这样,通过全局映射表加上增量映射表的方式就可以表示整个扇区映射信息,从而,基于该全局映射表和增量映射表就可以建立对应的内存扇区映射表,以便对逻辑扇区进行处理。
基于同一发明构思,作为对上述方法的实现,本申请实施例提供了一种扇区映射信息的管理装置。图5为本申请实施例中的扇区映射信息的管理装置的结构示意图一,参见图5所示,该装置50可以包括:获得单元501,用于在对目标逻辑扇区进行事务操作的过程中,获得事务操作所对应的扇区映射信息,其中,事务操作所对应的扇区映射信息为目标逻辑扇区与其映射的目标物理扇区之间的对应关系;第一确定单元502,用于确定非易失性存储器中预先建立的多个增量映射表是否存储满,其中,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;选择单元503,用于若确定单元确定多个增量映射表未存储满,从多个增量映射表中选择一个空闲的增量映射表;处理单元504,用于将事务操作所对应的扇区映射信息写入空闲的增量映射表所对应的物理扇区。
在本申请其他实施例中,上述装置还可以包括:第一获取单元,用于若第一确定单元确定多个增量映射表已存储满,从多个增量映射表各自对应的物理扇区中,获取多个增量映射表各自存储的扇区映射信息;第一更新单元,用于基于事务操作所对应的扇区映射信息和多个增量映射表各自存储的扇区映射信息,对非易失性存储器中预先建立的全局映射表进行更新,其中,全局映射表用于存储非易失性存储器的所有扇区映射信息。
在本申请其他实施例中,上述装置还可以包括:第二确定单元,用于确定多个增量映射表是否存储满;第二获取单元,用于若第二确定单元确定多个增量映射表已存储满,从多个增量映射表各自对应的物理扇区中,获取多个增量映射表各自存储的扇区映射信息;第二更新单元,用于基于多个增量映射表各自存储的扇区映射信息,对非易失性存储器中预先建立的全局映射表进行更新,其中,全局映射表用于存储非易失性存储器的所有扇区映射信息;清空单元,用于清空多个增量映射表。
在本申请实施例中,全局映射表可以包括:第一全局映射表和第二全局映射表;上述第二更新单元,用于从第一全局映射表中,获取用于指示第一全局映射表的操作次序的第一标识;从第二全局映射表中,获取用于指示第二全局映射表的操作次序的第二标识;基于第一标识和第二标识,从第一全局映射表和第二全局映射表中确定主全局映射表和备全局映射表,其中,主全局映射表为第一全局映射表和第二全局映射表中在前一次更新时后被操作的一个,对应地,备全局映射表为第一全局映射表和第二全局映射表中在前一次更新时先被操作的一个;基于多个增量映射表各自存储的扇区映射信息,对备全局映射表进行更新;在备全局映射表成功更新之后,基于更新后的备全局映射表,对主全局映射表进行更新;或者,用于在备全局映射表更新失败之后,基于主全局映射表对备全局映射表进行回滚;基于多个增量映射表各自存储的扇区映射信息,对回滚后的备全局映射表重新进行更新。
在本申请实施例中,上述装置还可以包括:第三获取单元,用于在非易失性存储器上电后,获取全局映射表的地址,其中,非易失性存储器包括:预先建立的全局映射表和多个增量映射表,全局映射表用于存储非易失性存储器的所有扇区映射信息;第一读取单元,用于基于全局映射表的地址,从非易失性存储器中,将全局映射表读取到内存中;第四获取单元,用于从全局映射表中,获取与全局映射表相匹配的增量映射表的地址;第二读取单元,用于基于与全局映射表相匹配的增量映射表的地址,从非易失性存储器中,将与全局映射表相匹配的增量映射表读取到内存中;建立单元,用于基于全局映射表中的扇区映射信息和与全局映射表相匹配的增量映射表中的扇区映射信息,在内存中建立对应的内存扇区映射表。
基于同一发明构思,作为对上述方法的实现,本申请实施例提供了一种扇区映射信息的管理装置。图6为本申请实施例中的扇区映射信息的管理装置的结构示意图二,参见图6所示,该装置60可以包括:第一获取单元601,用于在非易失性存储器上电后,获取全局映射表的地址,其中,非易失性存储器包括:预先建立的全局映射表和预先建立的多个增量映射表,全局映射表用于存储非易失性存储器的所有扇区映射信息,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;第一读取单元602,用于基于全局映射表的地址,从非易失性存储器中,将全局映射表读取到内存中;第二获取单元603,用于从全局映射表中,获取与全局映射表相匹配的增量映射表的地址;第二读取单元604,用于基于与全局映射表相匹配的增量映射表的地址,从非易失性存储器中,将与全局映射表相匹配的增量映射表读取到内存中;建立单元605,用于基于全局映射表中的扇区映射信息和与全局映射表相匹配的增量映射表中的扇区映射信息,在内存中建立对应的内存扇区映射表。
基于同一发明构思,本申请实施例提供一种计算机设备。图7为本申请实施例中的计算机设备的结构示意图,参见图7所示,该计算机设备70包括:至少一个处理器71;以及与处理器71连接的至少一个存储器72、总线73;其中,处理器71、存储器72通过总线73完成相互间的通信;处理器71用于调用存储器72中的程序指令,以执行上述一个或多个实施例中的扇区映射信息的管理方法的步骤。
相应地,基于同一发明构思,本申请实施例还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述一个或多个实施例中的扇区映射信息的管理方法的步骤。
上述处理器可由中央处理器(Central Processing Unit,CPU)、微处理器(MicroProcessor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。存储器可能包括计算机可读介质中的非永久性存储器,随机存储器(Random Access Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash RAM),存储器包括至少一个存储芯片。
需要说明的是,在本申请实施例中,如果以软件功能模块的形式实现上述一个或多个实施例中的扇区映射信息的管理,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例方法的全部或部分。
相应地,基于同一发明构思,本申请实施例再提供一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在程序运行时控制存储介质所在计算机设备执行上述一个或多个实施例中的扇区映射信息的管理方法的步骤。
这里需要指出的是:以上装置、计算机设备或计算机可读存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置、计算机设备或计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (9)
1.一种扇区映射信息的管理方法,其特征在于,所述方法包括:
在对目标逻辑扇区进行事务操作的过程中,获得所述事务操作所对应的扇区映射信息,其中,所述事务操作所对应的扇区映射信息为所述目标逻辑扇区与其映射的目标物理扇区之间的对应关系;
确定非易失性存储器中预先建立的多个增量映射表是否存储满,其中,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;
若确定所述多个增量映射表未存储满,从所述多个增量映射表中选择一个空闲的增量映射表;将所述事务操作所对应的扇区映射信息写入所述空闲的增量映射表所对应的物理扇区;
其中,在所述确定非易失性存储器中预先建立的多个增量映射表是否存储满之后,所述方法还包括:
若确定所述多个增量映射表已存储满,从所述多个增量映射表各自对应的物理扇区中,获取所述多个增量映射表各自存储的扇区映射信息;
基于所述事务操作所对应的扇区映射信息和所述多个增量映射表各自存储的扇区映射信息,对所述非易失性存储器中预先建立的全局映射表进行更新,其中,所述全局映射表用于存储所述非易失性存储器的所有扇区映射信息。
2.根据权利要求1所述的方法,其特征在于,在所述将所述事务操作所对应的扇区映射信息写入所述空闲的增量映射表所对应的物理扇区之后,所述方法还包括:
确定所述多个增量映射表是否存储满;
若确定所述多个增量映射表已存储满,从所述多个增量映射表各自对应的物理扇区中,获取所述多个增量映射表各自存储的扇区映射信息;
基于所述多个增量映射表各自存储的扇区映射信息,对所述非易失性存储器中预先建立的全局映射表进行更新,其中,所述全局映射表用于存储所述非易失性存储器的所有扇区映射信息;
清空所述多个增量映射表。
3.根据权利要求2所述的方法,其特征在于,所述全局映射表包括:第一全局映射表和第二全局映射表;
所述基于所述多个增量映射表各自存储的扇区映射信息,对所述非易失性存储器中预先建立的全局映射表进行更新,包括:
从所述第一全局映射表中,获取用于指示所述第一全局映射表的操作次序的第一标识;
从所述第二全局映射表中,获取用于指示所述第二全局映射表的操作次序的第二标识;
基于所述第一标识和所述第二标识,从所述第一全局映射表和所述第二全局映射表中确定主全局映射表和备全局映射表,其中,所述主全局映射表为所述第一全局映射表和所述第二全局映射表中在前一次更新时后被操作的一个,对应地,所述备全局映射表为所述第一全局映射表和所述第二全局映射表中在前一次更新时先被操作的一个;
基于所述多个增量映射表各自存储的扇区映射信息,对所述备全局映射表进行更新;
在所述备全局映射表成功更新之后,基于更新后的备全局映射表,对所述主全局映射表进行更新;或者,在所述备全局映射表更新失败之后,基于所述主全局映射表对所述备全局映射表进行回滚;基于所述多个增量映射表各自存储的扇区映射信息,对回滚后的备全局映射表重新进行更新。
4.根据权利要求1所述的方法,其特征在于,在所述在对目标逻辑扇区进行事务操作的过程中,获得所述事务操作所对应的扇区映射信息之前,所述方法还包括:
在所述非易失性存储器上电后,获取全局映射表的地址,其中,所述非易失性存储器包括:预先建立的全局映射表和所述多个增量映射表,所述全局映射表用于存储所述非易失性存储器的所有扇区映射信息;
基于所述全局映射表的地址,从所述非易失性存储器中,将所述全局映射表读取到内存中;
从所述全局映射表中,获取与所述全局映射表相匹配的增量映射表的地址;
基于所述与所述全局映射表相匹配的增量映射表的地址,从所述非易失性存储器中,将所述与所述全局映射表相匹配的增量映射表读取到所述内存中;
基于所述全局映射表中的扇区映射信息和所述与所述全局映射表相匹配的增量映射表中的扇区映射信息,在所述内存中建立对应的内存扇区映射表。
5.一种扇区映射信息的管理方法,其特征在于,所述方法包括:
在非易失性存储器上电后,获取全局映射表的地址,其中,所述非易失性存储器包括:预先建立的全局映射表和预先建立的多个增量映射表,所述全局映射表用于存储所述非易失性存储器的所有扇区映射信息,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;
基于所述全局映射表的地址,从所述非易失性存储器中,将所述全局映射表读取到内存中;
从所述全局映射表中,获取与所述全局映射表相匹配的增量映射表的地址;
基于所述与所述全局映射表相匹配的增量映射表的地址,从所述非易失性存储器中,将所述与所述全局映射表相匹配的增量映射表读取到所述内存中;
基于所述全局映射表中的扇区映射信息和所述与所述全局映射表相匹配的增量映射表中的扇区映射信息,在所述内存中建立对应的内存扇区映射表。
6.一种扇区映射信息的管理装置,其特征在于,所述装置包括:
获得单元,用于在对目标逻辑扇区进行事务操作的过程中,获得所述事务操作所对应的扇区映射信息,其中,所述事务操作所对应的扇区映射信息为所述目标逻辑扇区与其映射的目标物理扇区之间的对应关系;
第一确定单元,用于确定非易失性存储器中预先建立的多个增量映射表是否存储满,其中,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;
在所述确定非易失性存储器中预先建立的多个增量映射表是否存储满之后,所述第一确定单元还用于:
若确定所述多个增量映射表已存储满,从所述多个增量映射表各自对应的物理扇区中,获取所述多个增量映射表各自存储的扇区映射信息;
基于所述事务操作所对应的扇区映射信息和所述多个增量映射表各自存储的扇区映射信息,对所述非易失性存储器中预先建立的全局映射表进行更新,其中,所述全局映射表用于存储所述非易失性存储器的所有扇区映射信息;
选择单元,用于若确定单元确定所述多个增量映射表未存储满,从所述多个增量映射表中选择一个空闲的增量映射表;
处理单元,用于将所述事务操作所对应的扇区映射信息写入所述空闲的增量映射表所对应的物理扇区。
7.一种扇区映射信息的管理装置,其特征在于,所述装置包括:
第一获取单元,用于在非易失性存储器上电后,获取全局映射表的地址,其中,所述非易失性存储器包括:预先建立的全局映射表和预先建立的多个增量映射表,所述全局映射表用于存储所述非易失性存储器的所有扇区映射信息,每个增量映射表能够存储一次事务操作所对应的扇区映射信息;
第一读取单元,用于基于所述全局映射表的地址,从所述非易失性存储器中,将所述全局映射表读取到内存中;
第二获取单元,用于从所述全局映射表中,获取与所述全局映射表相匹配的增量映射表的地址;
第二读取单元,用于基于所述与所述全局映射表相匹配的增量映射表的地址,从所述非易失性存储器中,将所述与所述全局映射表相匹配的增量映射表读取到所述内存中;
建立单元,用于基于所述全局映射表中的扇区映射信息和所述与所述全局映射表相匹配的增量映射表中的扇区映射信息,在所述内存中建立对应的内存扇区映射表。
8.一种计算机可读存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在计算机设备执行如权利要求1至4任一项所述的扇区映射信息的管理方法或者如权利要求5所述的扇区映射信息的管理方法的步骤。
9.一种计算机设备,其特征在于,所述计算机设备包括:
至少一个处理器;
以及与所述处理器连接的至少一个存储器、总线;
其中,所述处理器、存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至4任一项所述的扇区映射信息的管理方法或者如权利要求5所述的扇区映射信息的管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911263241.4A CN111124294B (zh) | 2019-12-11 | 2019-12-11 | 一种扇区映射信息的管理方法及装置、存储介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911263241.4A CN111124294B (zh) | 2019-12-11 | 2019-12-11 | 一种扇区映射信息的管理方法及装置、存储介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124294A CN111124294A (zh) | 2020-05-08 |
CN111124294B true CN111124294B (zh) | 2024-04-02 |
Family
ID=70498418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911263241.4A Active CN111124294B (zh) | 2019-12-11 | 2019-12-11 | 一种扇区映射信息的管理方法及装置、存储介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124294B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468274A (zh) * | 2021-07-28 | 2021-10-01 | 浙江大华技术股份有限公司 | 数据存储方法和装置、存储介质及电子设备 |
CN115509465B (zh) * | 2022-11-21 | 2023-03-28 | 杭州字节方舟科技有限公司 | 一种扇区管理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915265A (zh) * | 2014-03-10 | 2015-09-16 | 联想(北京)有限公司 | 数据备份方法和电子设备 |
CN109933541A (zh) * | 2017-12-18 | 2019-06-25 | 三星电子株式会社 | 非易失性存储器系统及其操作方法 |
CN110175001A (zh) * | 2019-05-27 | 2019-08-27 | 牧星机器人(江苏)有限公司 | 一种nor-flash数据存储方法、计算机设备及存储介质 |
CN110543435A (zh) * | 2019-09-05 | 2019-12-06 | 北京兆易创新科技股份有限公司 | 存储单元的混合映射操作方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7650458B2 (en) * | 2006-06-23 | 2010-01-19 | Microsoft Corporation | Flash memory driver |
-
2019
- 2019-12-11 CN CN201911263241.4A patent/CN111124294B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915265A (zh) * | 2014-03-10 | 2015-09-16 | 联想(北京)有限公司 | 数据备份方法和电子设备 |
CN109933541A (zh) * | 2017-12-18 | 2019-06-25 | 三星电子株式会社 | 非易失性存储器系统及其操作方法 |
CN110175001A (zh) * | 2019-05-27 | 2019-08-27 | 牧星机器人(江苏)有限公司 | 一种nor-flash数据存储方法、计算机设备及存储介质 |
CN110543435A (zh) * | 2019-09-05 | 2019-12-06 | 北京兆易创新科技股份有限公司 | 存储单元的混合映射操作方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111124294A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110175001B (zh) | 一种nor-flash数据存储方法、计算机设备及存储介质 | |
US8341386B2 (en) | Method for updating basic input/output system and method for repairing thereof | |
US8756458B2 (en) | Mount-time reconciliation of data availability | |
US8694766B2 (en) | Device bootup from a NAND-type non-volatile memory | |
CN104750565B (zh) | Nand坏块处理方法及nand闪存设备 | |
US20040078666A1 (en) | Power failure detection and correction in a flash memory device | |
US11138080B2 (en) | Apparatus and method for reducing cell disturb in an open block of a memory system during a recovery procedure | |
US8775758B2 (en) | Memory device and method for performing a write-abort-safe firmware update | |
CN109165115B (zh) | 一种增强flash存储器可靠性的方法 | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
CN104516959A (zh) | 一种管理数据库日志的方法及装置 | |
JP2016505180A (ja) | 不揮発性メモリ書込み機構 | |
CN102024502A (zh) | 闪存器件测试方法、装置及板卡和网络设备 | |
CN111124294B (zh) | 一种扇区映射信息的管理方法及装置、存储介质和设备 | |
CN110781026A (zh) | 嵌入式设备数据存储与修复方法、装置和嵌入式设备 | |
CN116027973A (zh) | 一种基于闪存的数据写入方法及装置 | |
CN114327246B (zh) | 存储介质内数据存储方法、存储介质及计算机设备 | |
CN112131040B (zh) | 一种智能卡掉电备份区的磨损均衡管理方法和系统 | |
CN110633056B (zh) | 在操作系统层面的Flash芯片的页面管理方法及存储设备 | |
JP4239754B2 (ja) | 不揮発メモリシステム | |
CN117234436B (zh) | 一种磁盘阵列的扩容方法、装置、存储系统及产品 | |
EP4092539A1 (en) | Re-partitioning of a flash memory device | |
JP2001195889A (ja) | 記憶装置の書き込み/消去方法 | |
JP3390740B2 (ja) | 記憶装置の制御方法 | |
CN116089415A (zh) | 键-值存储的方法和设备、计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |