CN110532201B - 一种元数据处理方法及装置 - Google Patents
一种元数据处理方法及装置 Download PDFInfo
- Publication number
- CN110532201B CN110532201B CN201910784792.9A CN201910784792A CN110532201B CN 110532201 B CN110532201 B CN 110532201B CN 201910784792 A CN201910784792 A CN 201910784792A CN 110532201 B CN110532201 B CN 110532201B
- Authority
- CN
- China
- Prior art keywords
- data
- metadata
- physical address
- flash memory
- full flash
- 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
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- 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
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种元数据处理方法及装置,当全闪存储系统进行数据读取时,查询预先构建的LP元数据中待读取数据的逻辑地址所对应的物理地址,并基于物理地址读取待读取数据。当全闪存储系统进行数据修正时,查询预先构建的PL元数据中待修正数据的物理地址所对应的逻辑地址,对逻辑地址进行修正。其中,预先构建的LP元数据用于指示数据的逻辑地址到数据的物理地址的映射关系,LP元数据和PL元数据均为B+树数据结构,预先构建的PL元数据用于指示数据的物理地址到数据的逻辑地址的映射关系。可见本申请中,基于LP元数据和PL元数据,能够快速有效地找到相应数据的物理地址和逻辑地址,使得全闪存储系统处理数据的效率和性能显著提高。
Description
技术领域
本申请涉及全闪存储技术领域,尤其涉及一种元数据处理方法及装置。
背景技术
随着固态硬盘技术的快速进步,固态硬盘的成本逐渐降低,基于固态硬盘为存储介质的全闪存储系统越来越受广大用户的青睐。在全闪存储系统中存储数据或者基于对存储的数据进行处理的过程中,基于固态硬盘的追加写的存储特性,在处理数据的过程中,需要针对连续大块的数据进行相应的操作,若仅需要对随机小块的数据进行处理时,采用现有的方式,会影响处理数据的效率,增加全闪存储系统的功耗,以及降低全闪存储系统的性能。
因此,亟需一种元数据处理方法,以提高全闪存储系统处理数据的效率和性能,减少全闪存储系统的功耗。
发明内容
本申请提供了一种元数据处理方法及装置,目的在于提高全闪存储系统处理数据的效率和性能,减少全闪存储系统的功耗。
为了实现上述目的,本申请提供了以下技术方案:
本申请实施例第一方面公开了一种元数据处理方法,所述元数据处理方法包括:
当所述全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址,所述预先构建的LP元数据用于指示数据的逻辑地址到数据的物理地址的映射关系,所述物理地址指示数据在所述全闪存储系统的固态硬盘中真实写入的物理地址,所述逻辑地址指示主机发送给所述全闪存储系统的指令地址,所述LP元数据为B+树数据结构;
若存在,确定所述物理地址,并基于所述物理地址读取所述待读取数据;
当所述全闪存储系统进行数据删除时,查询预先构建的PL元数据中待删除数据的物理地址所对应的逻辑地址,所述预先构建的PL元数据用于指示数据的物理地址到数据的逻辑地址的映射关系,所述PL元数据为B+树数据结构;
确定所述逻辑地址,并对所述逻辑地址进行修正。
可选的,在上述元数据处理方法中,所述查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址,之后,还包括:
若不存在,确定所述待读取数据读取失败,并向所述全闪存储系统返回空数据。
可选的,在上述元数据处理方法中,还包括:
当所述全闪存储系统进行数据写入时,依据预设算法确定数据的预设指纹,查询预先构建的HP元数据中是否存在所述数据的预设指纹所对应的物理地址,所述物理地址为所述数据在所述全闪存储系统的固态硬盘中的物理地址,所述预先构建的HP元数据用于指示数据的预设指纹到数据的物理地址的映射关系,所述HP元数据为B+树数据结构;
若存在,构建新的LP元数据,所述新的LP元数据用于指示数据的逻辑地址到所述数据的预设指纹所对应的物理地址的映射关系。
可选的,在上述元数据处理方法中,所述查询预先构建的HP元数据中是否存在所述数据的预设指纹所对应的物理地址,之后,还包括:
若不存在,将数据写入所述全闪存储系统的固态硬盘中的物理地址。
可选的,在上述元数据处理方法中,还包括:
依据预设的元数据写缓存方法,将所述全闪存储系统的缓存内的LP元数据、PL元数据和HP元数据各自对应的随机小块的写操作,转换为顺序大块的写操作,所述写操作用于指示将所述全闪存储系统的缓存内的元数据写入所述全闪存储系统的固态硬盘中,所述LP元数据为B+树数据结构,所述PL元数据为B+树数据结构,所述HP元数据为B+树数据结构。
本申请实施例第二方面公开了一种元数据处理装置,所述元数据处理装置包括:
第一查询单元,用于当所述全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址,所述物理地址为所述待读取数据在所述全闪存储系统的固态硬盘中的物理地址,所述预先构建的LP元数据用于指示数据的逻辑地址到数据的物理地址的映射关系,所述LP元数据为B+树数据结构;
读取单元,用于若存在,确定所述物理地址,并基于所述物理地址读取所述待读取数据;
第二查询单元,用于当所述全闪存储系统进行数据删除时,查询预先构建的PL元数据中待删除数据的物理地址所对应的逻辑地址,所述预先构建的PL元数据用于指示数据的物理地址到数据的逻辑地址的映射关系,所述PL元数据为B+树数据结构;
修正单元,用于确定所述逻辑地址,并对所述逻辑地址进行修正。
可选的,在上述元数据处理装置中,还包括:
读取失败单元,用于若不存在,确定所述待读取数据读取失败,并向所述全闪存储系统返回空数据。
可选的,在上述元数据处理装置中,还包括:
第三查询单元,用于当所述全闪存储系统进行数据写入时,依据预设算法确定数据的预设指纹,查询预先构建的HP元数据中是否存在所述数据的预设指纹所对应的物理地址,所述物理地址为所述数据在所述全闪存储系统的固态硬盘中的物理地址,所述预先构建的HP元数据用于指示数据的预设指纹到数据的物理地址的映射关系,所述HP元数据为B+树数据结构;
构建单元,用于若存在,构建新的LP元数据,所述新的LP元数据用于指示数据的逻辑地址到所述数据的预设指纹所对应的物理地址的映射关系。
可选的,在上述元数据处理装置中,还包括:
数据写入单元,用于若不存在,将数据写入所述全闪存储系统的固态硬盘中的物理地址。
可选的,在上述元数据处理装置中,还包括:
写缓存单元,用于依据预设的元数据写缓存方法,将所述全闪存储系统的缓存内的LP元数据、PL元数据和HP元数据各自对应的随机小块的写操作,转换为顺序大块的写操作,所述写操作用于指示将所述全闪存储系统的缓存内的元数据写入所述全闪存储系统的固态硬盘中,所述LP元数据为B+树数据结构,所述PL元数据为B+树数据结构,所述HP元数据为B+树数据结构。
本申请提供的元数据处理方法及装置,当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。若存在,确定物理地址,并基于物理地址读取待读取数据。当全闪存储系统进行数据修正时,查询预先构建的PL元数据中待修正数据的物理地址所对应的逻辑地址。确定逻辑地址,并对逻辑地址进行修正。其中,预先构建的LP元数据用于指示数据的逻辑地址到数据的物理地址的映射关系,物理地址指示数据在全闪存储系统的固态硬盘中真实写入的物理地址,逻辑地址指示主机发送给全闪存储系统的指令地址,LP元数据为B+树数据结构,预先构建的PL元数据用于指示数据的物理地址到数据的逻辑地址的映射关系,PL元数据为B+树数据结构。可见本申请中,基于LP元数据,能够快速有效地找到待读取数据的物理地址,基于PL元数据,能够快速有效地找到待删除数据的逻辑地址,使得全闪存储系统处理数据的效率和性能显著提高。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种元数据处理方法的示意图;
图2为本申请实施例提供的另一种元数据处理方法的示意图;
图3为本申请实施例提供的另一种元数据处理方法的示意图;
图4为本申请实施例提供的另一种元数据处理方法的示意图;
图5为本申请实施例提供的另一种元数据处理方法的示意图;
图6为本申请实施例提供的一种元数据处理装置的结构示意图;
图7为本申请实施例提供的另一种元数据处理装置的结构示意图;
图8为本申请实施例提供的另一种元数据处理装置的结构示意图;
图9为本申请实施例提供的另一种元数据处理装置的结构示意图;
图10为本申请实施例提供的另一种元数据处理装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
由背景技术可知,全闪存储系统是以全闪存阵列为基础的储存系统,是完全由固态硬盘构成的独立的存储设备,与传统硬盘存储的主要区别在于性能更高,处理数据更快、更稳定。为了适应固态硬盘的追加写的存储特性,本申请实施例所提及的全闪存储系统将主机下发的随机小块的数据,拼接成多个连续大块的数据,并将多个连续大块的数据,并将多个连续大块的数据写入固态硬盘。
如图1所示,为本申请实施例提供的一种元数据处理方法的示意图,该方法应用于全闪存储系统,包括如下步骤:
S101:当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。
在S101中,若预先构建的LP元数据中存在待读取数据的逻辑地址所对应的物理地址,则执行S102。
需要说明的是,预先构建的LP元数据用于指示数据的逻辑地址到数据的物理地址的映射关系。其中,物理地址指示数据在全闪存储系统的固态硬盘中真实写入的物理地址,逻辑地址指示主机发送给全闪存储系统的指令地址。此外,在本申请实施例中,LP元数据为B+树数据结构。
需要说明的是,元数据最基本的功能是支持数据的快速查找,也就是说,基于设定的key,快速查询到对应的val。在B+树数据结构中,基于0(h*log(n))时间复杂度算法,可以快速查找到预先设定的key所对应的val。在(h*log(n))时间复杂度算法中,h表征B+树的高度,n表征B+树中任意一个树节点的key-val的个数。此外,在B+树数据结构中,B+树节点大小由元数据的数据大小所决定。
S102:确定物理地址,并基于物理地址读取待读取数据。
S103:当全闪存储系统进行数据删除时,查询预先构建的PL元数据中待删除数据的物理地址所对应的逻辑地址。
在S103中,预先构建的PL元数据用于指示数据的物理地址到数据的逻辑地址的映射关系。此外,在本申请实施例中,PL元数据为B+树数据结构。
需要说明的是,本申请实施例所提及的全闪存储系统采用的是追加写+日志卷的数据写入方式,该数据写入方式具体指的是:当全闪存储系统进行数据写入操作时,若该数据写入操作对应的原有逻辑地址已经被写入数据,则会重新寻找新的逻辑地址写入该数据,而原有逻辑地址中写入的数据就会被确认为无效,需要对这些数据进行删除。
全闪存储系统采用垃圾回收方法对待删除数据进行处理,处理的具体过程为:固态硬盘中的闪存分为许多block(块),每个块(block)又可以分成页面(pages),数据可以直接以页面为单位写入,但是要想删除数据却需要以块为单位,因此要删除无效的数据,固态硬盘首先需要把一个块内包含有效的数据先存放到全新的块中的页面内,这样原来块中无效的数据才能够以块为单位删除,删除后才能够写入新的数据。需要说明的是,该处理过程需要快速获悉待删除数据的物理地址所对应的逻辑地址。
S104:确定逻辑地址,并对逻辑地址进行修正。
在本申请实施例中,当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。若存在,确定物理地址,并基于物理地址读取待读取数据。当全闪存储系统进行数据修正时,查询预先构建的PL元数据中待修正数据的物理地址所对应的逻辑地址。确定逻辑地址,并对逻辑地址进行修正。其中,预先构建的LP元数据用于指示数据的逻辑地址到数据的物理地址的映射关系,物理地址指示数据在全闪存储系统的固态硬盘中真实写入的物理地址,逻辑地址指示主机发送给全闪存储系统的指令地址,LP元数据为B+树数据结构,预先构建的PL元数据用于指示数据的物理地址到数据的逻辑地址的映射关系,PL元数据为B+树数据结构。可见本申请中,基于LP元数据,能够快速有效地找到待读取数据的物理地址,基于PL元数据,能够快速有效地找到待删除数据的逻辑地址,使得全闪存储系统处理数据的效率和性能显著提高。
可选的,如图2所示,为本申请实施例提供的另一种元数据处理方法的示意图,包括如下步骤:
S201:当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。
在S201中,若预先构建的LP元数据中存在待读取数据的逻辑地址所对应的物理地址,则执行S202,否则执行S203。
S202:确定物理地址,并基于物理地址读取待读取数据。
S203:确定待读取数据读取失败,并向全闪存储系统返回空数据。
在S203中,因预先构建的LP元数据中不存在待读取数据的逻辑地址所对应的物理地址,故确定所述待读取数据还未被写入固态硬盘中,全闪存储系统无法获取该待读取数据。
S204:当全闪存储系统进行数据删除时,查询预先构建的PL元数据中待删除数据的物理地址所对应的逻辑地址。
在S204中,S204的具体执行过程和实现原理与上述图1示出的S103的具体执行过程和实现原理一致,这里不再赘述。
S205:确定逻辑地址,并对逻辑地址进行修正。
在本申请实施例中,当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。若存在,确定物理地址,并基于物理地址读取待读取数据,若不存在,确定待读取数据读取失败,并向全闪存储系统返回空数据。当全闪存储系统进行数据修正时,查询预先构建的PL元数据中待修正数据的物理地址所对应的逻辑地址。确定逻辑地址,并对逻辑地址进行修正。可见本申请中,基于LP元数据,能够快速有效地找到待读取数据的物理地址,基于PL元数据,能够快速有效地找到待删除数据的逻辑地址,使得全闪存储系统处理数据的效率和性能显著提高。
可选的,如图3所示,为本申请实施例提供的另一种元数据处理方法的示意图,包括如下步骤:
S301:当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。
在S301中,若预先构建的LP元数据中存在待读取数据的逻辑地址所对应的物理地址,则执行S302。
S302:确定物理地址,并基于物理地址读取待读取数据。
S303:当全闪存储系统进行数据删除时,查询预先构建的PL元数据中待删除数据的物理地址所对应的逻辑地址。
在S303中,S303的具体执行过程和实现原理与上述图1示出S103的具体执行过程和实现原理一致,这里不再赘述。
S304:确定逻辑地址,并对逻辑地址进行修正。
S305:当全闪存储系统进行数据写入时,依据预设算法确定数据的预设指纹,查询预先构建的HP元数据中是否存在数据的预设指纹所对应的物理地址。
在S305中,若预先构建的HP元数据中存在数据的预设指纹所对应的物理地址,则执行S306。
需要说明的是,该物理地址为数据在全闪存储系统的固态硬盘中的物理地址,预先构建的HP元数据用于指示数据的预设指纹到数据的物理地址的映射关系。此外,在本申请实施例中,HP元数据为B+树数据结构。
需要说明的是,在本申请实施例中,确定数据的预设指纹的算法包括但不限于是MD5算法和sha1算法等数据指纹算法。其中,依据数据指纹算法确定数据的指纹的具体实现方式,为本领域技术人员所所熟知的技术手段,这里不再赘述。
S306:构建新的LP元数据。
在S306中,新的LP元数据用于指示数据的逻辑地址到数据的预设指纹所对应的物理地址的映射关系。
需要说明的是,在本申请实施例中,全闪存储系统具有重删功能,重删功能具体指的是:当全闪存储系统需要将多份相同的数据写入固态硬盘时,只将其中一份数据写入固态硬盘中,其它相同的数据则保留一个逻辑地址用于指向这个唯一写入的物理地址。
综上所述,若数据为重复写入固态硬盘的数据,无需再将该数据写入到固态硬盘中,只需为该数据构建LP元数据,由此可以提高固态硬盘的内存利用率。
在本申请实施例中,当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。若存在,确定物理地址,并基于物理地址读取待读取数据。当全闪存储系统进行数据修正时,查询预先构建的PL元数据中待修正数据的物理地址所对应的逻辑地址。确定逻辑地址,并对逻辑地址进行修正。当全闪存储系统进行数据写入时,依据预设算法确定数据的预设指纹,查询预先构建的HP元数据中是否存在数据的预设指纹所对应的物理地址。若存在,构建新的LP元数据。可见本申请中,基于LP元数据,能够快速有效地找到待读取数据的物理地址,基于PL元数据,能够快速有效地找到待删除数据的逻辑地址,基于HP元数据,避免将固态硬盘中已写入的数据重复写入,使得全闪存储系统处理数据的效率和性能显著提高。
可选的,如图4所示,为本申请实施例提供的另一种元数据处理方法的示意图,包括如下步骤:
S401:当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。
在S401中,若预先构建的LP元数据中存在待读取数据的逻辑地址所对应的物理地址,则执行S402。
S402:确定物理地址,并基于物理地址读取待读取数据。
S403:当全闪存储系统进行数据删除时,查询预先构建的PL元数据中待删除数据的物理地址所对应的逻辑地址。
在S403中,S403的具体执行过程和实现原理与上述图1示出S103的具体执行过程和实现原理一致,这里不再赘述。
S404:确定逻辑地址,并对逻辑地址进行修正。
S405:当全闪存储系统进行数据写入时,依据预设算法确定数据的预设指纹,查询预先构建的HP元数据中是否存在数据的预设指纹所对应的物理地址。
在S405中,若预先构建的HP元数据中存在数据的预设指纹所对应的物理地址,则执行S406,否则执行S407。
S406:构建新的LP元数据。
S407:将数据写入全闪存储系统的固态硬盘中的物理地址。
在S407中,因预先构建的HP元数据中不存在数据的预设指纹所对应的物理地址,则确定该数据还未重复写入到固态硬盘中,因此可以将该数据写入固态硬盘的物理地址中。
在本申请实施例中,当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。若存在,确定物理地址,并基于物理地址读取待读取数据。当全闪存储系统进行数据修正时,查询预先构建的PL元数据中待修正数据的物理地址所对应的逻辑地址。确定逻辑地址,并对逻辑地址进行修正。当全闪存储系统进行数据写入时,依据预设算法确定数据的预设指纹,查询预先构建的HP元数据中是否存在数据的预设指纹所对应的物理地址。若存在,构建新的LP元数据,若不存在,将数据写入全闪存储系统的固态硬盘中的物理地址。可见本申请中,基于LP元数据,能够快速有效地找到待读取数据的物理地址,基于PL元数据,能够快速有效地找到待删除数据的逻辑地址,基于HP元数据,避免将固态硬盘中已写入的数据重复写入,使得全闪存储系统处理数据的效率和性能显著提高。
可选的,如图5所示,为本申请实施例提供的另一种元数据处理方法的示意图,包括如下步骤:
S501:当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。
在S501中,若预先构建的LP元数据中存在待读取数据的逻辑地址所对应的物理地址,则执行S502。
S502:确定物理地址,并基于物理地址读取待读取数据。
S503:当全闪存储系统进行数据删除时,查询预先构建的PL元数据中待删除数据的物理地址所对应的逻辑地址。
在S503中,S503的具体执行过程和实现原理与上述图1示出S103的具体执行过程和实现原理一致,这里不再赘述。
S504:确定逻辑地址,并对逻辑地址进行修正。
S505:依据预设的元数据写缓存方法,将全闪存储系统的缓存内的LP元数据、PL元数据和HP元数据各自对应的随机小块的写操作,转换为顺序大块的写操作。
在S505中,LP元数据、PL元数据、HP元数据均为B+树数据结构。写操作用于指示将全闪存储系统的缓存内的元数据写入全闪存储系统的固态硬盘中。
需要说明的是,由于全闪存储系统的缓存内的各个元数据各自对应的随机小块的写操作,转换为顺序大块的写操作,因此能够提高全闪存储系统的每秒进行读写操作的次数,提升了全闪存储系统的性能。
在本申请实施例中,当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。若存在,确定物理地址,并基于物理地址读取待读取数据。当全闪存储系统进行数据修正时,查询预先构建的PL元数据中待修正数据的物理地址所对应的逻辑地址。确定逻辑地址,并对逻辑地址进行修正。依据预设的元数据写缓存方法,将全闪存储系统的缓存内的LP元数据、PL元数据和HP元数据各自对应的随机小块的写操作,转换为顺序大块的写操作。可见本申请中,基于LP元数据,能够快速有效地找到待读取数据的物理地址,基于PL元数据,能够快速有效地找到待删除数据的逻辑地址,由于全闪存储系统的缓存内的各个元数据各自对应的随机小块的写操作,转换为顺序大块的写操作,能够提高全闪存储系统的每秒进行读写操作的次数,使得全闪存储系统处理数据的效率和性能显著提高。
与上述本申请实施例提供的元数据处理方法相对应,如图6所示,为本申请实施例提供的一种元数据处理装置的结构示意图,该装置包括:
第一查询单元100,用于当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址,物理地址为待读取数据在全闪存储系统的固态硬盘中的物理地址,预先构建的LP元数据用于指示数据的逻辑地址到数据的物理地址的映射关系。
读取单元200,用于若存在,确定物理地址,并基于物理地址读取待读取数据。
第二查询单元300,用于当全闪存储系统进行数据修正时,查询预先构建的PL元数据中待修正数据的物理地址所对应的逻辑地址,预先构建的PL元数据用于指示数据的物理地址到数据的逻辑地址的映射关系。
修正单元400,用于确定逻辑地址,并对逻辑地址进行修正。
在本申请实施例中,当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。若存在,确定物理地址,并基于物理地址读取待读取数据。当全闪存储系统进行数据修正时,查询预先构建的PL元数据中待修正数据的物理地址所对应的逻辑地址。确定逻辑地址,并对逻辑地址进行修正。其中,预先构建的LP元数据用于指示数据的逻辑地址到数据的物理地址的映射关系,物理地址指示数据在全闪存储系统的固态硬盘中真实写入的物理地址,逻辑地址指示主机发送给全闪存储系统的指令地址,LP元数据为B+树数据结构,预先构建的PL元数据用于指示数据的物理地址到数据的逻辑地址的映射关系,PL元数据为B+树数据结构。可见本申请中,基于LP元数据,能够快速有效地找到待读取数据的物理地址,基于PL元数据,能够快速有效地找到待删除数据的逻辑地址,使得全闪存储系统处理数据的效率和性能显著提高。
可选的,如图7所示,为本申请实施例提供的另一种元数据处理装置的结构示意图,该装置还包括:
读取失败单元500,用于若不存在,确定待读取数据读取失败,并向全闪存储系统返回空数据。
在本申请实施例中,当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。若存在,确定物理地址,并基于物理地址读取待读取数据,若不存在,确定待读取数据读取失败,并向全闪存储系统返回空数据。当全闪存储系统进行数据修正时,查询预先构建的PL元数据中待修正数据的物理地址所对应的逻辑地址。确定逻辑地址,并对逻辑地址进行修正。可见本申请中,基于LP元数据,能够快速有效地找到待读取数据的物理地址,基于PL元数据,能够快速有效地找到待删除数据的逻辑地址,使得全闪存储系统处理数据的效率和性能显著提高。
可选的,如图8所示,为本申请实施例提供的另一种元数据处理装置的结构示意图,该装置还包括:
第三查询单元600,用于当全闪存储系统进行数据写入时,依据预设算法确定数据的预设指纹,查询预先构建的HP元数据中是否存在数据的预设指纹所对应的物理地址,物理地址为数据在全闪存储系统的固态硬盘中的物理地址,预先构建的HP元数据用于指示数据的预设指纹到数据的物理地址的映射关系。
构建单元700,用于若存在,构建新的LP元数据,新的LP元数据用于指示数据的逻辑地址到数据的预设指纹所对应的物理地址的映射关系。
在本申请实施例中,当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。若存在,确定物理地址,并基于物理地址读取待读取数据。当全闪存储系统进行数据修正时,查询预先构建的PL元数据中待修正数据的物理地址所对应的逻辑地址。确定逻辑地址,并对逻辑地址进行修正。当全闪存储系统进行数据写入时,依据预设算法确定数据的预设指纹,查询预先构建的HP元数据中是否存在数据的预设指纹所对应的物理地址。若存在,构建新的LP元数据。可见本申请中,基于LP元数据,能够快速有效地找到待读取数据的物理地址,基于PL元数据,能够快速有效地找到待删除数据的逻辑地址,基于HP元数据,避免将固态硬盘中已写入的数据重复写入,使得全闪存储系统处理数据的效率和性能显著提高。
可选的,如图9所示,为本申请实施例提供的另一种元数据处理装置的结构示意图,该装置还包括:
数据写入单元800,用于若不存在,将数据写入全闪存储系统的固态硬盘中的物理地址。
在本申请实施例中,当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。若存在,确定物理地址,并基于物理地址读取待读取数据。当全闪存储系统进行数据修正时,查询预先构建的PL元数据中待修正数据的物理地址所对应的逻辑地址。确定逻辑地址,并对逻辑地址进行修正。当全闪存储系统进行数据写入时,依据预设算法确定数据的预设指纹,查询预先构建的HP元数据中是否存在数据的预设指纹所对应的物理地址。若存在,构建新的LP元数据。可见本申请中,基于LP元数据,能够快速有效地找到待读取数据的物理地址,基于PL元数据,能够快速有效地找到待删除数据的逻辑地址,基于HP元数据,避免将固态硬盘中已写入的数据重复写入,使得全闪存储系统处理数据的效率和性能显著提高。
可选的,如图10所示,为本申请实施例提供的另一种元数据处理装置的结构示意图,该装置还包括:
写缓存单元900,用于依据预设的元数据写缓存,将全闪存储系统的缓存内的LP元数据、PL元数据和HP元数据各自对应的随机小块的写操作,转换为顺序大块的写操作,写操作用于指示将全闪存储系统的缓存内的元数据写入全闪存储系统的固态硬盘中。
在本申请实施例中,当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址。若存在,确定物理地址,并基于物理地址读取待读取数据。当全闪存储系统进行数据修正时,查询预先构建的PL元数据中待修正数据的物理地址所对应的逻辑地址。确定逻辑地址,并对逻辑地址进行修正。依据预设的元数据写缓存方法,将全闪存储系统的缓存内的LP元数据、PL元数据和HP元数据各自对应的随机小块的写操作,转换为顺序大块的写操作。可见本申请中,基于LP元数据,能够快速有效地找到待读取数据的物理地址,基于PL元数据,能够快速有效地找到待删除数据的逻辑地址,由于全闪存储系统的缓存内的各个元数据各自对应的随机小块的写操作,转换为顺序大块的写操作,能够提高全闪存储系统的每秒进行读写操作的次数,使得全闪存储系统处理数据的效率和性能显著提高。
本申请实施例方法的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种元数据处理方法,其特征在于,应用于全闪存储系统,包括:
当所述全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址,所述预先构建的LP元数据用于指示数据的逻辑地址到数据的物理地址的映射关系,所述物理地址指示数据在所述全闪存储系统的固态硬盘中真实写入的物理地址,所述逻辑地址指示主机发送给所述全闪存储系统的指令地址,所述LP元数据为B+树数据结构;
若存在,确定所述物理地址,并基于所述物理地址读取所述待读取数据;
当所述全闪存储系统进行数据删除时,查询预先构建的PL元数据中待删除数据的物理地址所对应的逻辑地址,所述预先构建的PL元数据用于指示数据的物理地址到数据的逻辑地址的映射关系,所述PL元数据为B+树数据结构;
确定所述逻辑地址,并对所述逻辑地址进行修正。
2.根据权利要求1所述的方法,其特征在于,所述查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址,之后,还包括:
若不存在,确定所述待读取数据读取失败,并向所述全闪存储系统返回空数据。
3.根据权利要求1所述的方法,其特征在于,还包括:
当所述全闪存储系统进行数据写入时,依据预设算法确定数据的预设指纹,查询预先构建的HP元数据中是否存在所述数据的预设指纹所对应的物理地址,所述物理地址为所述数据在所述全闪存储系统的固态硬盘中的物理地址,所述预先构建的HP元数据用于指示数据的预设指纹到数据的物理地址的映射关系,所述HP元数据为B+树数据结构;
若存在,构建新的LP元数据,所述新的LP元数据用于指示数据的逻辑地址到所述数据的预设指纹所对应的物理地址的映射关系。
4.根据权利要求3所述的方法,其特征在于,所述查询预先构建的HP元数据中是否存在所述数据的预设指纹所对应的物理地址,之后,还包括:
若不存在,将数据写入所述全闪存储系统的固态硬盘中的物理地址。
5.根据权利要求1所述的方法,其特征在于,还包括:
依据预设的元数据写缓存方法,将所述全闪存储系统的缓存内的LP元数据、PL元数据和HP元数据各自对应的随机小块的写操作,转换为顺序大块的写操作,所述写操作用于指示将所述全闪存储系统的缓存内的元数据写入所述全闪存储系统的固态硬盘中,所述LP元数据为B+树数据结构,所述PL元数据为B+树数据结构,所述HP元数据为B+树数据结构。
6.一种元数据处理装置,其特征在于,包括:
第一查询单元,用于当全闪存储系统进行数据读取时,查询预先构建的LP元数据中是否存在待读取数据的逻辑地址所对应的物理地址,所述物理地址为所述待读取数据在所述全闪存储系统的固态硬盘中的物理地址,所述预先构建的LP元数据用于指示数据的逻辑地址到数据的物理地址的映射关系,所述LP元数据为B+树数据结构;
读取单元,用于若存在,确定所述物理地址,并基于所述物理地址读取所述待读取数据;
第二查询单元,用于当所述全闪存储系统进行数据删除时,查询预先构建的PL元数据中待删除数据的物理地址所对应的逻辑地址,所述预先构建的PL元数据用于指示数据的物理地址到数据的逻辑地址的映射关系,所述PL元数据为B+树数据结构;
修正单元,用于确定所述逻辑地址,并对所述逻辑地址进行修正。
7.根据权利要求6所述的装置,其特征在于,还包括:
读取失败单元,用于若不存在,确定所述待读取数据读取失败,并向所述全闪存储系统返回空数据。
8.根据权利要求6所述的装置,其特征在于,还包括:
第三查询单元,用于当所述全闪存储系统进行数据写入时,依据预设算法确定数据的预设指纹,查询预先构建的HP元数据中是否存在所述数据的预设指纹所对应的物理地址,所述物理地址为所述数据在所述全闪存储系统的固态硬盘中的物理地址,所述预先构建的HP元数据用于指示数据的预设指纹到数据的物理地址的映射关系,所述HP元数据为B+树数据结构;
构建单元,用于若存在,构建新的LP元数据,所述新的LP元数据用于指示数据的逻辑地址到所述数据的预设指纹所对应的物理地址的映射关系。
9.根据权利要求8所述的装置,其特征在于,还包括:
数据写入单元,用于若不存在,将数据写入所述全闪存储系统的固态硬盘中的物理地址。
10.根据权利要求6所述的装置,其特征在于,还包括:
写缓存单元,用于依据预设的元数据写缓存方法,将所述全闪存储系统的缓存内的LP元数据、PL元数据和HP元数据各自对应的随机小块的写操作,转换为顺序大块的写操作,所述写操作用于指示将所述全闪存储系统的缓存内的元数据写入所述全闪存储系统的固态硬盘中,所述LP元数据为B+树数据结构,所述PL元数据为B+树数据结构,所述HP元数据为B+树数据结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784792.9A CN110532201B (zh) | 2019-08-23 | 2019-08-23 | 一种元数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784792.9A CN110532201B (zh) | 2019-08-23 | 2019-08-23 | 一种元数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532201A CN110532201A (zh) | 2019-12-03 |
CN110532201B true CN110532201B (zh) | 2021-08-31 |
Family
ID=68662679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910784792.9A Active CN110532201B (zh) | 2019-08-23 | 2019-08-23 | 一种元数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532201B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125447A (zh) * | 2019-12-22 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种元数据访问方法、装置、设备及可读存储介质 |
CN111881065B (zh) * | 2020-07-30 | 2022-07-05 | 北京浪潮数据技术有限公司 | 数据重删操作的物理地址处理方法、装置、设备及介质 |
CN112148217B (zh) * | 2020-09-11 | 2023-12-22 | 北京浪潮数据技术有限公司 | 全闪存储系统的重删元数据的缓存方法、装置及介质 |
CN113392040B (zh) * | 2021-06-23 | 2023-03-21 | 锐捷网络股份有限公司 | 一种地址映射方法、装置、设备 |
CN113505086B (zh) * | 2021-09-10 | 2021-12-07 | 苏州浪潮智能科技有限公司 | 一种存储系统容量统计方法、装置、存储介质及设备 |
CN115309591B (zh) * | 2022-10-10 | 2023-03-24 | 浪潮电子信息产业股份有限公司 | 一种全闪存储系统的恢复方法及相关装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019953A (zh) * | 2012-12-28 | 2013-04-03 | 华为技术有限公司 | 一种元数据的构建系统及其方法 |
CN103186350A (zh) * | 2011-12-31 | 2013-07-03 | 北京快网科技有限公司 | 混合存储系统及热点数据块的迁移方法 |
CN104641356A (zh) * | 2012-09-14 | 2015-05-20 | 美光科技公司 | 地址映射 |
CN106227677A (zh) * | 2016-07-20 | 2016-12-14 | 浪潮电子信息产业股份有限公司 | 一种变长缓存元数据管理的方法 |
CN108268219A (zh) * | 2018-02-01 | 2018-07-10 | 杭州宏杉科技股份有限公司 | 一种处理io请求的方法及装置 |
CN108845764A (zh) * | 2018-05-30 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种io数据的处理方法及装置 |
CN109213450A (zh) * | 2018-09-10 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种基于闪存阵列的关联元数据删除方法、装置及设备 |
CN109521962A (zh) * | 2018-11-14 | 2019-03-26 | 郑州云海信息技术有限公司 | 一种元数据查询方法、装置、设备及计算机可读存储介质 |
CN109542911A (zh) * | 2018-12-03 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种元数据组织方法、系统、设备及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100483420C (zh) * | 2007-11-09 | 2009-04-29 | 清华大学 | 基于快照的细粒度文件与目录版本管理方法 |
US8838895B2 (en) * | 2011-06-09 | 2014-09-16 | 21Vianet Group, Inc. | Solid-state disk caching the top-K hard-disk blocks selected as a function of access frequency and a logarithmic system time |
-
2019
- 2019-08-23 CN CN201910784792.9A patent/CN110532201B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186350A (zh) * | 2011-12-31 | 2013-07-03 | 北京快网科技有限公司 | 混合存储系统及热点数据块的迁移方法 |
CN104641356A (zh) * | 2012-09-14 | 2015-05-20 | 美光科技公司 | 地址映射 |
CN103019953A (zh) * | 2012-12-28 | 2013-04-03 | 华为技术有限公司 | 一种元数据的构建系统及其方法 |
CN106227677A (zh) * | 2016-07-20 | 2016-12-14 | 浪潮电子信息产业股份有限公司 | 一种变长缓存元数据管理的方法 |
CN108268219A (zh) * | 2018-02-01 | 2018-07-10 | 杭州宏杉科技股份有限公司 | 一种处理io请求的方法及装置 |
CN108845764A (zh) * | 2018-05-30 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种io数据的处理方法及装置 |
CN109213450A (zh) * | 2018-09-10 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种基于闪存阵列的关联元数据删除方法、装置及设备 |
CN109521962A (zh) * | 2018-11-14 | 2019-03-26 | 郑州云海信息技术有限公司 | 一种元数据查询方法、装置、设备及计算机可读存储介质 |
CN109542911A (zh) * | 2018-12-03 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种元数据组织方法、系统、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
面向大规模闪存存储的存储系统关键技术研究;巫小泉;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170315;I137-332 * |
Also Published As
Publication number | Publication date |
---|---|
CN110532201A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532201B (zh) | 一种元数据处理方法及装置 | |
EP3340028B1 (en) | Storage system deduplication | |
US20200150890A1 (en) | Data Deduplication Method and Apparatus | |
US9053032B2 (en) | Fast and low-RAM-footprint indexing for data deduplication | |
US9268711B1 (en) | System and method for improving cache performance | |
CN110998537B (zh) | 一种过期备份处理方法及备份服务器 | |
EP2659378A2 (en) | Fast and low-ram-footprint indexing for data deduplication | |
CN109522154B (zh) | 数据恢复方法及相关设备与系统 | |
CN102662992A (zh) | 一种海量小文件的存储、访问方法及装置 | |
US8725939B1 (en) | System and method for improving cache performance | |
CN107135662B (zh) | 一种差异数据备份方法、存储系统和差异数据备份装置 | |
CN105917303B (zh) | 一种控制器、识别数据块稳定性的方法和存储系统 | |
US9268696B1 (en) | System and method for improving cache performance | |
JP2017527877A (ja) | フラッシュメモリから/フラッシュメモリへデータを読み取る/書き込むための方法および装置、ならびにユーザ機器 | |
CN109213450B (zh) | 一种基于闪存阵列的关联元数据删除方法、装置及设备 | |
CN110427347A (zh) | 重复数据删除的方法、装置、存储节点及存储介质 | |
CN112799595A (zh) | 数据处理方法、设备及存储介质 | |
CN107423425B (zh) | 一种对k/v格式的数据快速存储和查询方法 | |
CN105677252B (zh) | 读数据的方法、数据处理方法及相关存储设备 | |
EP4137963A1 (en) | Persistent key value storage device with hashing and method for operating the same | |
CN105493080A (zh) | 基于上下文感知的重复数据删除的方法和装置 | |
CN107766067B (zh) | 一种提升压缩镜像烧录速度的方法、存储介质及计算机 | |
CN104408126A (zh) | 一种数据库的持久化写入方法、装置和系统 | |
US10437784B2 (en) | Method and system for endurance enhancing, deferred deduplication with hardware-hash-enabled storage device | |
CN103491124A (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 |