CN103049390A - 应用元数据的数据处理方法及存储*** - Google Patents
应用元数据的数据处理方法及存储*** Download PDFInfo
- Publication number
- CN103049390A CN103049390A CN2012105412314A CN201210541231A CN103049390A CN 103049390 A CN103049390 A CN 103049390A CN 2012105412314 A CN2012105412314 A CN 2012105412314A CN 201210541231 A CN201210541231 A CN 201210541231A CN 103049390 A CN103049390 A CN 103049390A
- Authority
- CN
- China
- Prior art keywords
- physical address
- mapping relations
- logical address
- address
- map section
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种应用元数据的数据处理方法及存储***。其中,应用的元数据包括:用于存储逻辑地址与物理地址映射关系的映射区和用于查询逻辑地址与物理地址映射关系在所述映射区中的位置的索引区;所述方法包括:存储***接收数据的读或写请求,所述读或写请求中携带逻辑地址;根据所述逻辑地址通过所述索引区的索引信息查询所述映射区中是否保存有所述逻辑地址与物理地址之间的映射关系;如果所述MP区中保存有所述映射关系,在所述映射关系对应的物理地址上对所述数据进行读或写处理。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用元数据的数据处理方法及存储***。
背景技术
随着信息科学和技术的发展,需要存储的数据量以令人难以置信的速度迅猛增长,因此对存储***资源的合理分类和利用也提出了更高的要求。一方面,存储***需要满足当前业务的需求,通过简单的配置就能管理海量数据的存储;另一方面,在业务不算增长的过程中,存储***能够扩充,并随着业务的增长而按需分配存储资源。由此,自动精简配置技术应运而生。
自动精简配置技术是从传统的空间分配方式直接演化而来的一种存储虚拟化技术,该技术将所有存储空间汇集到精简池中进行统一管理,在精简池上创建精简逻辑单元,按需从精简池获得物理存储空间。自动精简配置技术的使用可简化存储资源的配置管理,节约物理存储资源。
在自动精简配置技术中,元数据主要用于存储逻辑地址和物理地址的映射关系。元数据的可靠性是自动精简配置技术中最核心的技术。而现有的数据处理方法中,存储***利用具有B树或B树变体(如B+树)结构的元数据对数据进行读写处理。在B树元数据的节点中会存储有逻辑地址与物理地址映射关系,利用B树结构可以有效提高元数据的访问效率,具有很好的扩展性。但是,一旦B树元数据的一个节点损坏,会丢失该节点存储的逻辑地址与物理地址映射关系,同时会影响存储***查找该损坏节点的下层节点,导致存储***无法在元数据受影响的部分存储的逻辑地址与物理地址映射关系对应的物理地址上对数据进行处理。
发明内容
有鉴于此,本发明实施例提供了一种应用元数据的数据处理方法及存储***,以实现当元数据部分损坏时,不会影响存储***在元数据其他部分存储的逻辑地址与物理地址映射关系对应的物理地址上对数据进行处理。
在第一方面,本发明实施例提供了一种应用元数据的数据处理方法。其中,所述元数据包括:用于存储逻辑地址与物理地址映射关系的映射区和用于查询逻辑地址与物理地址映射关系在所述映射区中的位置的索引区;所述方法包括:
存储***接收数据的读或写请求,所述读或写请求中携带逻辑地址;
根据所述逻辑地址通过所述索引区的索引信息查询所述映射区中是否保存有所述逻辑地址与物理地址之间的映射关系;
如果所述映射区中保存有所述映射关系,在所述映射关系对应的物理地址上对所述数据进行读或写处理。
在第一方面的第一种可能的实现方式中,所述映射区包括多个区域,每个区域预留一段空间用于存储逻辑地址与物理地址映射关系。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:如果所述映射区中没有保存所述映射关系,且所述读或写请求为写请求,则为所述写请求携带的逻辑地址分配物理地址;在分配的物理地址上对所述数据进行写处理;根据所述分配的物理地址,将所述写请求对应的所述映射关系保存于映射区中;根据所述写请求携带的逻辑地址,在所述索引区中记录映射区中保存所述逻辑地址与分配的物理地址之间的映射关系的位置。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:在所述根据所述逻辑地址通过所述索引区的索引信息查询所述映射区中是否保存有所述逻辑地址与物理地址的映射关系的同时,对元数据进行检测;如果映射区中保存所述映射关系的区域损坏,且所述读或写请求为写请求,则为所述写请求携带的逻辑地址重新分配物理地址;在重新分配的物理地址上对所述数据进行写处理;根据所述重新分配的物理地址,将所述写请求对应的所述映射关系保存于映射区中;根据所述写请求携带的逻辑地址,在所述索引区记录中映射区中保存所述逻辑地址与重新分配的物理地址之间的映射关系的位置。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:如果所述索引区局部或全部损坏,根据映射区中每个区域保存的所述映射关系中的逻辑地址恢复所述索引区。
在第二方面,本发明实施例提供了一种应用元数据的存储***。其中,所述元数据包括:用于存储逻辑地址与物理地址映射关系的映射区和用于查询逻辑地址与物理地址映射关系在所述映射区中的位置的索引区;所述存储***包括:
接收单元,用于接收数据的读或写请求,所述读或写请求中携带逻辑地址;
查询单元,用于根据所述逻辑地址通过所述索引区的索引信息查询所述映射区中是否保存有所述逻辑地址与物理地址之间的映射关系;
处理单元,用于如果所述映射区中保存有所述映射关系,在所述映射关系对应的物理地址上对所述数据进行读或写处理。
在第二方面的第一种可能的实现方式中,所述映射区包括多个区域,每个区域预留一段空间用于存储逻辑地址与物理地址映射关系。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述存储***还包括:分配单元,用于如果所述映射区中没有保存所述映射关系,且所述读或写请求为写请求,则为所述写请求携带的逻辑地址分配物理地址;所述处理单元还用于在分配的物理地址上对所述数据进行写处理;
记录单元,用于根据所述分配的物理地址,将所述写请求对应的所述映射关系保存于映射区中,根据所述写请求携带的逻辑地址,在所述索引区中记录映射区中保存所述逻辑地址与分配的物理地址之间的映射关系的位置。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述存储***还包括:检测单元,用于在所述查询单元根据所述逻辑地址通过所述索引区的索引信息查询所述映射区中是否保存有所述逻辑地址与物理地址的映射关系的同时,对元数据进行检测;分配单元,用于如果映射区中保存所述映射关系的区域损坏,且所述读或写请求为写请求,则为所述写请求携带的逻辑地址重新分配物理地址;所述处理单元还用于在重新分配的物理地址上对所述数据进行写处理;记录单元,用于根据所述重新分配的物理地址,将所述写请求对应的所述映射关系保存于映射区中,根据所述写请求携带的逻辑地址,在所述索引区中记录映射区中保存所述逻辑地址与重新分配的物理地址之间的映射关系的位置。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述存储***还包括:恢复单元,用于如果所述索引区局部或全部损坏,根据映射区中每个区域保存的所述映射关系中的逻辑地址恢复所述索引区。
通过上述方案,由于元数据的索引区和映射区是独立的,存储***通过索引区查找映射区中保存数据的读或写请求对应的逻辑地址与物理地址映射关系的位置时,如果映射区的部分发生损坏,只会丢失损坏部分的存储的逻辑地址与物理地址映射关系,不会影响存储***通过索引区查找映射区其它部分存储的逻辑地址与物理地址映射关系,从而不会影响存储***在未损坏部分保存的逻辑地址与物理地址映射关系对应的物理地址上对数据进行读或写处理。
附图说明
图1为本发明实施例应用的元数据结构示意图;
图2为本发明实施例一提供的一种应用元数据的数据处理方法的流程图;
图3为本发明实施例二提供的一种应用元数据的存储***的结构示意图;
图4为本发明实施例二提供的另一种应用元数据的存储***的结构示意图;
图5为本发明实施例三提供的一种存储***的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
首先,以图1为例介绍本发明实施例应用的元数据结构。图1为本发明实施例应用的元数据结构示意图。该元数据包括映射区(Mapping Partitn,MP,以下简称MP区)和索引区(Index Partitn,IP,以下简称IP区)。其中,MP区用于存储逻辑地址和物理地址映射关系(Logic address and Physicaladdress Mapping,LPM)。MP区包括多个区域。具体的,在物理磁盘上的每1G物理空间预留一段区域保存LPM,如图1所示,每1G为一个区域,每个区域中黑色部分为存储的LPM,每个黑格代表一个LPM,白色部分为存储的该区域中LPM对应的物理地址上的数据。需要说明的是,本发明不限制MP区每个区域的大小,MP区每个区域的大小为1G仅为本发明实施例的一种情况,并且MP区可无限扩展。IP区用于根据逻辑地址查询该逻辑地址对应的LPM在MP区中的位置。IP区可以为B树结构,但不仅限于B树结构,IP区可为其他能够实现引索功能的结构。
由图1可以看出,该元数据的IP区和MP区是两个独立的区域,当MP区的部分区域损坏时,不会影响IP区查找MP区未损坏区域的LPM。并且,当IP区发生损坏时,还可根据MP区进行恢复。因此,在存储***中应用该元数据,当因MP区的部分发生损坏导致部分LPM丢失时,不会影响存储***利用IP区查找元数据MP区其它部分存储的LPM,从而不会影响存储***在MP区其它部分存储的LPM对应的物理地址上进行数据读写处理。当IP区发生损坏时,不会影响整个存储***对数据的处理。
下面以图2为例详细说明本发明实施例一提供的一种应用元数据的数据处理方法,图2为本发明实施例一提供的一种应用元数据的数据处理方法的流程图。该应用元数据的数据处理方法的执行主体为存储***,该存储***中应用上述元数据。如图2所示,该应用元数据的数据处理方法包括以下步骤:
步骤S201,存储***接收数据的读或写请求。
每个数据的读请求和写请求携带相同的逻辑地址,存储***在接收到数据的读或写请求后,会根据读或写请求携带的逻辑地址查找相应的LPM,从而查找到逻辑地址对应的物理地址,在物理地址上对该数据进行读或写操作。
步骤S202,根据数据的读或写请求携带的逻辑地址通过IP区的索引信息查询MP区中是否保存有该数据的读或写请求携带的逻辑地址与物理地址的LPM。
存储***首先根据数据的读或写请求携带的逻辑地址通过IP区的索引信息查询到该数据的读或写请求对应的MP区的区域,然后判断该区域中是否保存有与该数据的读或写请求携带的逻辑地址相关的LPM。如果查询到与该数据的读或写请求携带的逻辑地址相关的LPM,则说明MP区中保存有该数据的读或写请求对应的LPM,执行步骤S203。如果没查询到与该数据的读或写请求携带的逻辑地址相关的LPM,则说明MP区中没有保存该数据的读或写请求对应的LPM,执行步骤S204。
例如,IP区的数据结构可以是哈希Hash表、B树及其变体、排序链表等多种结构。下面以Hash表为例来描述根据逻辑地址查找物理地址的方法,该Hash表中Key值为逻辑地址,Value值为LPM在MP区的地址。该首先根据逻辑地址在Hash表中保存的key值与Value值的对应关系查询该读或写请求对应的LPM在MP区的地址,然后对LPM在MP区的地址进行读取即可获取读或写请求对应的LPM,从而根据LPM获取相应的物理地址。
步骤S203,如果MP区中保存有该数据的读或写请求对应的LPM,在该LPM对应的物理地址上对该数据进行读或写处理。
如果MP区中保存有该数据的读或写请求对应的LPM,则根据LPM获知该数据的读或写请求携带的逻辑地址所对应的物理地址,然后在该物理地址上对该数据进行读或写处理。
步骤S204,如果MP区中没有保存该数据的读或写请求对应的LPM,且该数据的读或写请求为该数据的写请求,为该数据的写请求携带的逻辑地址分配物理地址。
另外,如果MP区中没有保存该数据读或写请求对应的LPM,且该数据的读或写请求为该数据的读请求,则返回全0数据,以告知读取数据的设备该存储***中没有保存相应的数据。
步骤S205,在分配的物理地址上对该数据进行写处理。
存储***在为该数据的写请求携带的逻辑地址分配物理地址后,便可在该物理地址上写入该数据。在该物理地址上完成写入数据后,为保证之后能够通过元数据查找到该物理地址,对该物理地址上写入的数据进行处理,需要将该数据的写请求对应的LPM记录在元数据中,因此存储***还需要执行以下步骤。
步骤S206,根据分配的物理地址,将该数据的写请求对应的LPM保存于MP区中。
将写请求中携带的逻辑地址与分配的物理地址组成映射关系LPM,LPM保存在MP区的具体哪个位置,本专利不做限制,例如可以将MP区分成1G为单位的连续物理空间,每1G连续空间记为一个区域,将每个区域最前面的固定区域用于保存该区域所有物理地址对应的LPM。
存储***首先根据分配的物理地址确定在MP区中保存该LPM的区域,然后在该区域中分配空间保存该LPM。
步骤S207,根据该数据的写请求携带的逻辑地址,在IP区中记录MP区中保存该数据的写请求对应的LPM的位置。
以IP区的数据结构为Hash表为例,该Hash表中Key值为逻辑地址,Value值为LPM在MP区的地址。该步骤即是在Hash表中增加一条记录。以便于存储***再接收到该数据的读或写请求时,根据读或写请求携带的逻辑地址通过IP区的Hash表中的Key值与Value值的对应关系查询MP中保存该数据的读或写请求对应的LPM的地址,从而在该数据的读或写请求对应的LPM所对应的物理地址上对该数据进行读或写处理。
本实施例提供的应用元数据的处理方法中,除上述存储***对数据进行读或写处理的方法之外,还包括当元数据发生损坏时,存储***对数据的处理方法及恢复元数据的方法。
具体的,步骤S202,根据数据的读或写请求携带的逻辑地址通过IP区的索引信息查询MP区中是否保存有该数据的读或写请求对应的LPM的同时,存储***对元数据进行检测。如果元数据没有损坏,则执行上述步骤S203-S207。
如果元数据的MP区中保存该数据的读或写请求对应的LPM的区域损坏,且该数据的读或写请求为数据的写请求,则重新为该数据的写请求携带的逻辑地址重新分配物理地址,在重新分配的物理地址上对该数据进行写处理,以保证在MP区部分区域发生损坏时,该数据能够正常写入。
为使得之后存储***能够通过元数据查找到该重新分配的物理地址,对该物理地址上写入的数据进行处理,需要将该数据的写请求对应的LPM记录在元数据中,记录方法同步骤S206-S207,在此不再赘述。
另外,如果元数据的MP区中保存该数据的读或写请求对应的LPM的区域损坏,且该数据的读或写请求为数据的读请求,则向读取该数据的设备返回错误消息。
如果元数据的IP区发生损坏,则根据MP区中每个区域保存的LPM中逻辑地址恢复IP区。具体的,存储***依次访问物理磁盘每1G空间中用于存储LPM的空间,读取LPM。由于LPM中包括数据的读或写请求携带的逻辑地址,则存储***根据读取的LPM重建IP区,具体的,可以采用哈希Hash表、B树及其变体、排序链表等的多种结构根据逻辑地址重建IP区。完成恢复后,IP区可正常进行索引。
利用本发明实施例一提供的应用元数据的处理方法,存储***在接收到数据的读或写请求后,利用元数据的IP区查找MP区中存储的LPM,由于IP区和MP区是独立的,因此,当因MP区部分损坏导致部分数据丢失时,不会影响存储***利用元数据的IP区查找MP区未损坏部分保存的LPM,从而不会影响存储***对未丢失的数据进行读或写处理。并且,当元数据的IP区发生损坏时,可根据MP区中保存的LPM进行恢复,不会影响存储***利用IP区查询MP区中的LPM,然后对数据进行读或写处理。
相应的,本发明实施例二提供一种用以实现实施例一所述方法的存储***。如图3所示,其为本发明实施例二提供的一种应用元数据的存储***的结构示意图。该存储***中应用的元数据包括用于存储LPM的MP区和用于查询LPM在所述MP区中的位置的IP区。其中,MP区包括多个区域,每个区域预留一段空间用于存储LPM。该存储***包括:接收单元310,查询单元320和处理单元330。
接收单元310用于接收数据的读或写请求。同一数据的读或写请求中携带有相同的逻辑地址。
查询单元320用于根据接收单元310接收到的数据的读或写请求携带的逻辑地址通过IP区的索引信息查询MP区中是否保存有该数据的读或写请求携带的逻辑地址与物理地址的LPM。
查询单元320首先根据数据的读或写请求携带的逻辑地址利用IP区查询到该数据的读或写请求对应的MP区的区域,然后判断该区域中是否保存有与该数据的读或写请求携带的逻辑地址相关的LPM。如果查询单元320查询到与该数据的读或写请求携带的逻辑地址相关的LPM,则说明MP区中保存有该数据的读或写请求对应的LPM。如果查询单元320没查询到与该数据的读或写请求携带的逻辑地址相关的LPM,则说明MP区中没有保存该数据的读或写请求对应的LPM。
处理单元330用于如果MP区中保存有该数据的读或写请求对应的LPM,在该数据的读或写请求对应的LPM所对应的物理地址上对该数据进行读或写处理。
另外,该存储***还包括:分配单元340及记录单元350。如图4所示,其为本发明实施例二提供的另一种应用元数据的存储***的结构示意图。
分配单元340用于如果MP中没有保存该数据的读或写请求对应的LPM,且该数据的读或写请求为该数据的写请求,为该数据的写请求携带的逻辑地址分配物理地址。则处理单元330还用于在分配单元340分配的物理地址上对该数据进行写处理。
记录单元350用于根据分配单元340分配的物理地址,将该数据的写请求对应的LPM保存于MP区中,根据该数据的写请求携带的逻辑地址,在所述IP区记录MP区中保存该数据的写请求对应的LPM的位置。记录完成后,查询单元320便可根据该数据的读或写请求携带的逻辑地址通过元数据查找到该分配的物理地址,以使得处理单元330对该物理地址上写入的数据进行处理。
该存储***还可以包括:检测单元360和恢复单元370。
检测单元360用于在查询单元320根据数据的读或写请求携带的逻辑地址通过IP区的索引信息查询MP区中是否保存有该数据的读或写请求对应的LPM的同时,对元数据进行检测,以使得当元数据发生损坏时,对数据做相应的处理及恢复损坏的元数据。则分配单元340还用于如果MP区中保存该数据的读或写请求对应的LPM的区域损坏,且该数据的读或写请求为该数据的写请求,为该数据的写请求携带的逻辑地址重新分配物理地址。相应的,处理单元330还用于在重新分配的物理地址上对该数据进行写处理。而记录单元350还用于根据重新分配的物理地址,将该数据的写请求对应的LPM保存于MP区中,然后根据改数据的写请求携带的逻辑地址,在IP区记录MP区中保存该数据的写请求对应的LPM的位置。
恢复单元370用于如果IP区局部或全部损坏,根据MP区中每个区域保存的LPM恢复IP区。具体的,恢复单元370依次访问物理磁盘每1G空间中用于存储LPM的空间,读取LPM。由于LPM中包括数据的读或写请求携带的逻辑地址,所以恢复单元370根据读取的LPM中的逻辑地址重建IP区。完成恢复后,IP区可正常进行索引。
需要说明的是,本实施例提供的一种应用元数据的存储***所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
利用本发明实施例二提供的应用元数据的存储***,存储***在接收到数据的读或写请求后,利用元数据的IP区查找MP区中存储的LPM,由于IP区和MP区是独立的,因此,当因MP区部分损坏导致部分数据丢失时,不会影响存储***利用元数据的IP区查找MP区未损坏部分保存的LPM,从而不会影响存储***对未丢失的数据进行读或写处理。并且,当元数据的IP区发生损坏时,可根据MP区中保存的LPM进行恢复,不会影响存储***利用IP区查询MP区中的LPM,然后对数据进行读或写处理。
在硬件实现上,以上接收单元310可以为接收机或收发机。以上除接收单元310以外的其它单元可以以硬件形式内嵌于或独立于存储***的处理器中,也可以以软件形式存储于存储***的存储器中,以便于处理器调用执行以上各个模块对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
如图5所示,其为本发明实施例三提供的一种存储***的结构示意图。该存储***包括收发机510、存储器520以及分别与收发机510和存储器520连接的处理器530。当然,存储***还可以包括天线、基带处理部件、中射频处理部件、输入输出装置等通用部件,本发明实施例在此不再任何限制。
其中,存储器520中存储一组程序代码,且处理器530用于调用存储器520中存储的程序代码,用于执行以下操作:
接收数据的读或写请求,所述读或写请求中携带逻辑地址;
根据所述逻辑地址通过所述索引区的索引信息查询所述映射区中是否保存有所述逻辑地址与物理地址之间的映射关系;
如果所述映射区中保存有所述映射关系,在所述映射关系对应的物理地址上对所述数据进行读或写处理。
进一步地,存储器520中存储一组程序代码,且处理器530用于调用存储器520中存储的程序代码,还可以用于执行以下操作:
如果所述映射区中没有保存所述映射关系,且所述读或写请求为写请求,则为所述写请求携带的逻辑地址分配物理地址;
在分配的物理地址上对所述数据进行写处理;
根据所述分配的物理地址,将所述写请求对应的所述映射关系保存于映射区中;
根据所述写请求携带的逻辑地址,在所述索引区中记录映射区中保存所述逻辑地址与分配的物理地址之间的映射关系的位置。
进一步地,存储器520中存储一组程序代码,且处理器530用于调用存储器520中存储的程序代码,还可以用于执行以下操作:
在所述根据所述逻辑地址通过所述索引区的索引信息查询所述映射区中是否保存有所述逻辑地址与物理地址的映射关系的同时,对元数据进行检测;
如果映射区中保存所述映射关系的区域损坏,且所述读或写请求为写请求,则为所述写请求携带的逻辑地址重新分配物理地址;
在重新分配的物理地址上对所述数据进行写处理;
根据所述重新分配的物理地址,将所述写请求对应的所述映射关系保存于映射区中;
根据所述写请求携带的逻辑地址,在所述索引区中记录映射区中保存所述逻辑地址与重新分配的物理地址之间的映射关系的位置。
进一步地,存储器520中存储一组程序代码,且处理器530用于调用存储器520中存储的程序代码,还可以用于执行以下操作:
如果所述索引区局部或全部损坏,根据映射区中每个区域保存的所述映射关系中的逻辑地址恢复所述索引区。
需要说明的是,实施例二和实施例三中所提供的存储***均可以用于实现实施例一所提供的方法,且关于元数据等的描述同实施例二中的描述,在此不再赘述。
利用本发明实施例三提供的存储***,存储***在接收到数据的读或写请求后,利用元数据的IP区查找MP区中存储的LPM,由于IP区和MP区是独立的,因此,当因MP区部分损坏导致部分数据丢失时,不会影响存储***利用元数据的IP区查找MP区未损坏部分保存的LPM,从而不会影响存储***对未丢失的数据进行读或写处理。并且,当元数据的IP区发生损坏时,可根据MP区中保存的LPM进行恢复,不会影响存储***利用IP区查询MP区中的LPM,然后对数据进行读或写处理。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用元数据的数据处理方法,其特征在于,所述元数据包括:用于存储逻辑地址与物理地址映射关系的映射区和用于查询逻辑地址与物理地址映射关系在所述映射区中的位置的索引区;所述方法包括:
存储***接收数据的读或写请求,所述读或写请求中携带逻辑地址;
根据所述逻辑地址通过所述索引区的索引信息查询所述映射区中是否保存有所述逻辑地址与物理地址之间的映射关系;
如果所述映射区中保存有所述映射关系,在所述映射关系对应的物理地址上对所述数据进行读或写处理。
2.根据权利要求1所述的方法,其特征在于,所述映射区包括多个区域,每个区域预留一段空间用于存储所述映射关系。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述映射区中没有保存所述映射关系,且所述读或写请求为写请求,则为所述写请求携带的逻辑地址分配物理地址;
在分配的物理地址上对所述数据进行写处理;
根据所述分配的物理地址,将所述写请求对应的所述映射关系保存于映射区中;
根据所述写请求携带的逻辑地址,在所述索引区中记录映射区中保存所述逻辑地址与分配的物理地址之间的映射关系的位置。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述根据所述逻辑地址通过所述索引区的索引信息查询所述映射区中是否保存有所述逻辑地址与物理地址的映射关系的同时,对元数据进行检测;
如果映射区中保存所述映射关系的区域损坏,且所述读或写请求为写请求,则为所述写请求携带的逻辑地址重新分配物理地址;
在重新分配的物理地址上对所述数据进行写处理;
根据所述重新分配的物理地址,将所述写请求对应的所述映射关系保存于映射区中;
根据所述写请求携带的逻辑地址,在所述索引区中记录映射区中保存所述逻辑地址与重新分配的物理地址之间的映射关系的位置。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述索引区局部或全部损坏,根据映射区中每个区域保存的所述映射关系中的逻辑地址恢复所述索引区。
6.一种应用元数据的存储***,其特征在于,所述元数据包括:用于存储逻辑地址与物理地址映射关系的映射区和用于查询逻辑地址与物理地址映射关系在所述映射区中的位置的索引区;所述存储***包括:
接收单元,用于接收数据的读或写请求,所述读或写请求中携带逻辑地址;
查询单元,用于根据所述逻辑地址通过所述索引区的索引信息查询所述映射区中是否保存有所述逻辑地址与物理地址之间的映射关系;
处理单元,用于如果所述映射区中保存有所述映射关系,在所述映射关系对应的物理地址上对所述数据进行读或写处理。
7.根据权利要求6所述的存储***,其特征在于,所述映射区包括多个区域,每个区域预留一段空间用于存储所述映射关系。
8.根据权利要求7所述的存储***,其特征在于,所述存储***还包括:
分配单元,用于如果所述映射区中没有保存所述映射关系,且所述读或写请求为写请求,则为所述写请求携带的逻辑地址分配物理地址;
所述处理单元还用于在分配的物理地址上对所述数据进行写处理;
记录单元,用于根据所述分配的物理地址,将所述写请求对应的所述映射关系保存于映射区中,根据所述写请求携带的逻辑地址,在所述索引区中记录映射区中保存所述逻辑地址与分配的物理地址的之间映射关系的位置。
9.根据权利要求7所述的存储***,其特征在于,所述存储***还包括:
检测单元,用于在所述查询单元根据所述逻辑地址通过所述索引区的索引信息查询所述映射区中是否保存有所述逻辑地址与物理地址的映射关系的同时,对元数据进行检测;
分配单元,用于如果映射区中保存所述映射关系的区域损坏,且所述读或写请求为写请求,则为所述写请求携带的逻辑地址重新分配物理地址;
所述处理单元还用于在重新分配的物理地址上对所述数据进行写处理;
记录单元,用于根据所述重新分配的物理地址,将所述写请求对应的所述映射关系保存于映射区中,根据所述写请求携带的逻辑地址,在所述索引区中记录映射区中保存所述逻辑地址与重新分配的物理地址之间的映射关系的位置。
10.根据权利要求9所述的存储***,其特征在于,所述存储***还包括:
恢复单元,用于如果所述索引区局部或全部损坏,根据映射区中每个区域保存的所述映射关系中的逻辑地址恢复所述索引区。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210541231.4A CN103049390B (zh) | 2012-12-14 | 2012-12-14 | 应用元数据的数据处理方法及存储*** |
PCT/CN2013/080973 WO2014089981A1 (zh) | 2012-12-14 | 2013-08-07 | 应用元数据的数据处理方法及存储*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210541231.4A CN103049390B (zh) | 2012-12-14 | 2012-12-14 | 应用元数据的数据处理方法及存储*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103049390A true CN103049390A (zh) | 2013-04-17 |
CN103049390B CN103049390B (zh) | 2016-03-09 |
Family
ID=48062037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210541231.4A Active CN103049390B (zh) | 2012-12-14 | 2012-12-14 | 应用元数据的数据处理方法及存储*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103049390B (zh) |
WO (1) | WO2014089981A1 (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014089981A1 (zh) * | 2012-12-14 | 2014-06-19 | 华为技术有限公司 | 应用元数据的数据处理方法及存储*** |
WO2016026433A1 (zh) * | 2014-08-19 | 2016-02-25 | 华为技术有限公司 | 一种数据处理方法和数据处理装置 |
WO2016045316A1 (zh) * | 2014-09-22 | 2016-03-31 | 中兴通讯股份有限公司 | 控制软复位后数据恢复的方法、装置及分组传送网设备 |
CN106201923A (zh) * | 2016-07-20 | 2016-12-07 | 杭州宏杉科技有限公司 | 读写数据方法及装置 |
CN107329909A (zh) * | 2017-06-27 | 2017-11-07 | 郑州云海信息技术有限公司 | 一种数据管理方法及装置 |
CN107480010A (zh) * | 2017-08-21 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种恢复元数据的方法及装置 |
CN107632944A (zh) * | 2017-09-22 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种读取数据的方法及装置 |
CN107704208A (zh) * | 2017-10-13 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种元数据的修复方法、装置及介质 |
CN107885456A (zh) * | 2016-09-29 | 2018-04-06 | 北京忆恒创源科技有限公司 | 减少io命令访问nvm的冲突 |
CN108089817A (zh) * | 2016-11-23 | 2018-05-29 | 三星电子株式会社 | 存储***及其操作方法和操作数据处理***的方法 |
CN109101194A (zh) * | 2018-07-26 | 2018-12-28 | 郑州云海信息技术有限公司 | 一种刷写性能优化方法和存储*** |
CN109508150A (zh) * | 2018-11-13 | 2019-03-22 | 郑州云海信息技术有限公司 | 一种存储空间分配的方法和装置 |
CN110019073A (zh) * | 2017-12-29 | 2019-07-16 | 北京忆恒创源科技有限公司 | 使用kv存储设备提供文件***的方法及其文件*** |
CN111125447A (zh) * | 2019-12-22 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种元数据访问方法、装置、设备及可读存储介质 |
CN111881064A (zh) * | 2020-07-24 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种全闪存储***中访问请求的处理方法、装置及设备 |
CN113282249A (zh) * | 2021-07-19 | 2021-08-20 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、***、设备以及介质 |
CN113568582A (zh) * | 2021-07-30 | 2021-10-29 | 重庆紫光华山智安科技有限公司 | 数据管理方法、装置和存储设备 |
CN115185723A (zh) * | 2022-06-02 | 2022-10-14 | 广州市玄武无线科技股份有限公司 | 一种Region元信息修复方法、***、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064568A1 (en) * | 2004-09-21 | 2006-03-23 | Pak-Lung Seto | Integrated circuit capable of mapping logical block address data across multiple domains |
CN101510144A (zh) * | 2009-03-24 | 2009-08-19 | 中国科学院计算技术研究所 | 基于分布式虚拟机管理器的分布式cache***及其工作方法 |
CN102483714A (zh) * | 2009-07-24 | 2012-05-30 | 苹果公司 | 恢复索引页 |
CN102629247A (zh) * | 2011-12-31 | 2012-08-08 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法、装置和*** |
CN102651009A (zh) * | 2011-02-28 | 2012-08-29 | 国际商业机器公司 | 一种存储***中检索数据的方法和设备 |
CN102779080A (zh) * | 2012-06-18 | 2012-11-14 | 上海爱数软件有限公司 | 生成快照的方法、利用快照进行数据恢复的方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8005792B2 (en) * | 2004-05-14 | 2011-08-23 | Oracle International Corporation | System and method for managing versions of metadata |
CN101656094B (zh) * | 2009-09-25 | 2012-04-18 | 杭州华三通信技术有限公司 | 数据存储方法和存储设备 |
US9430155B2 (en) * | 2010-03-25 | 2016-08-30 | International Business Machines Corporation | File index, metadata storage, and file system management for magnetic tape |
CN101814044B (zh) * | 2010-04-19 | 2013-03-20 | 中兴通讯股份有限公司 | 元数据处理方法及装置 |
CN102024044B (zh) * | 2010-12-08 | 2012-11-21 | 华为技术有限公司 | 分布式文件*** |
CN103049390B (zh) * | 2012-12-14 | 2016-03-09 | 华为技术有限公司 | 应用元数据的数据处理方法及存储*** |
-
2012
- 2012-12-14 CN CN201210541231.4A patent/CN103049390B/zh active Active
-
2013
- 2013-08-07 WO PCT/CN2013/080973 patent/WO2014089981A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064568A1 (en) * | 2004-09-21 | 2006-03-23 | Pak-Lung Seto | Integrated circuit capable of mapping logical block address data across multiple domains |
CN101510144A (zh) * | 2009-03-24 | 2009-08-19 | 中国科学院计算技术研究所 | 基于分布式虚拟机管理器的分布式cache***及其工作方法 |
CN102483714A (zh) * | 2009-07-24 | 2012-05-30 | 苹果公司 | 恢复索引页 |
CN102651009A (zh) * | 2011-02-28 | 2012-08-29 | 国际商业机器公司 | 一种存储***中检索数据的方法和设备 |
CN102629247A (zh) * | 2011-12-31 | 2012-08-08 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法、装置和*** |
CN102779080A (zh) * | 2012-06-18 | 2012-11-14 | 上海爱数软件有限公司 | 生成快照的方法、利用快照进行数据恢复的方法及装置 |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014089981A1 (zh) * | 2012-12-14 | 2014-06-19 | 华为技术有限公司 | 应用元数据的数据处理方法及存储*** |
WO2016026433A1 (zh) * | 2014-08-19 | 2016-02-25 | 华为技术有限公司 | 一种数据处理方法和数据处理装置 |
WO2016045316A1 (zh) * | 2014-09-22 | 2016-03-31 | 中兴通讯股份有限公司 | 控制软复位后数据恢复的方法、装置及分组传送网设备 |
CN106201923A (zh) * | 2016-07-20 | 2016-12-07 | 杭州宏杉科技有限公司 | 读写数据方法及装置 |
CN106201923B (zh) * | 2016-07-20 | 2019-05-07 | 杭州宏杉科技股份有限公司 | 读写数据方法及装置 |
CN107885456A (zh) * | 2016-09-29 | 2018-04-06 | 北京忆恒创源科技有限公司 | 减少io命令访问nvm的冲突 |
CN107885456B (zh) * | 2016-09-29 | 2022-09-16 | 北京忆恒创源科技股份有限公司 | 减少io命令访问nvm的冲突 |
CN108089817B (zh) * | 2016-11-23 | 2023-12-19 | 三星电子株式会社 | 存储***及其操作方法和操作数据处理***的方法 |
CN108089817A (zh) * | 2016-11-23 | 2018-05-29 | 三星电子株式会社 | 存储***及其操作方法和操作数据处理***的方法 |
US11644992B2 (en) | 2016-11-23 | 2023-05-09 | Samsung Electronics Co., Ltd. | Storage system performing data deduplication, method of operating storage system, and method of operating data processing system |
CN107329909A (zh) * | 2017-06-27 | 2017-11-07 | 郑州云海信息技术有限公司 | 一种数据管理方法及装置 |
CN107329909B (zh) * | 2017-06-27 | 2020-07-07 | 郑州云海信息技术有限公司 | 一种数据管理方法及装置 |
CN107480010A (zh) * | 2017-08-21 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种恢复元数据的方法及装置 |
CN107632944A (zh) * | 2017-09-22 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种读取数据的方法及装置 |
CN107632944B (zh) * | 2017-09-22 | 2021-06-18 | 郑州云海信息技术有限公司 | 一种读取数据的方法及装置 |
CN107704208A (zh) * | 2017-10-13 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种元数据的修复方法、装置及介质 |
CN110019073A (zh) * | 2017-12-29 | 2019-07-16 | 北京忆恒创源科技有限公司 | 使用kv存储设备提供文件***的方法及其文件*** |
CN109101194A (zh) * | 2018-07-26 | 2018-12-28 | 郑州云海信息技术有限公司 | 一种刷写性能优化方法和存储*** |
CN109508150B (zh) * | 2018-11-13 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种存储空间分配的方法和装置 |
CN109508150A (zh) * | 2018-11-13 | 2019-03-22 | 郑州云海信息技术有限公司 | 一种存储空间分配的方法和装置 |
CN111125447A (zh) * | 2019-12-22 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种元数据访问方法、装置、设备及可读存储介质 |
CN111881064A (zh) * | 2020-07-24 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种全闪存储***中访问请求的处理方法、装置及设备 |
CN113282249A (zh) * | 2021-07-19 | 2021-08-20 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、***、设备以及介质 |
CN113568582A (zh) * | 2021-07-30 | 2021-10-29 | 重庆紫光华山智安科技有限公司 | 数据管理方法、装置和存储设备 |
CN113568582B (zh) * | 2021-07-30 | 2023-05-26 | 重庆紫光华山智安科技有限公司 | 数据管理方法、装置和存储设备 |
CN115185723A (zh) * | 2022-06-02 | 2022-10-14 | 广州市玄武无线科技股份有限公司 | 一种Region元信息修复方法、***、装置及存储介质 |
CN115185723B (zh) * | 2022-06-02 | 2023-06-02 | 广州市玄武无线科技股份有限公司 | 一种Region元信息修复方法、***、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2014089981A1 (zh) | 2014-06-19 |
CN103049390B (zh) | 2016-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103049390B (zh) | 应用元数据的数据处理方法及存储*** | |
CN103019953B (zh) | 一种元数据的构建***及其方法 | |
CN104346357B (zh) | 一种嵌入式终端的文件存取方法及*** | |
US9298384B2 (en) | Method and device for storing data in a flash memory using address mapping for supporting various block sizes | |
EP3617867B1 (en) | Fragment management method and fragment management apparatus | |
CN103176916B (zh) | 闪存及闪存的地址转换方法 | |
US20160364407A1 (en) | Method and Device for Responding to Request, and Distributed File System | |
CN104156380A (zh) | 一种分布式存储器哈希索引方法及*** | |
CN104461390A (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN106201355A (zh) | 数据处理方法和装置以及存储*** | |
CN103942159A (zh) | 一种基于混合存储设备的数据读写方法与装置 | |
CN102843396A (zh) | 一种分布式缓存***中的数据写入及读取方法及装置 | |
CN104536903A (zh) | 一种按数据属性分类存放的混合存储方法及*** | |
CN105786401A (zh) | 服务器集群***中的数据管理方法及装置 | |
CN104008111A (zh) | 一种数据的存储管理方法及装置 | |
CN103019884A (zh) | 基于虚拟机快照的内存页去重方法及装置 | |
CN103745007A (zh) | 一种文件管理方法及装置 | |
CN109918316B (zh) | 一种减少ftl地址映射空间的方法及其*** | |
CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
CN103985393A (zh) | 一种多光盘数据并行管理方法及装置 | |
CN113094374A (zh) | 分布式存储和检索方法、装置及计算机设备 | |
CN102542041A (zh) | 栅格数据处理方法及*** | |
CN102253985A (zh) | 一种文件***数据的管理方法及*** | |
CN107203341A (zh) | 基于闪存的数据存储方法、装置以及闪存芯片 | |
CN104714898A (zh) | 一种Cache的分配方法和装置 |
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 |