一种元数据处理方法及装置与流程

文档序号:19324400发布日期:2019-12-04 00:55阅读:223来源:国知局
一种元数据处理方法及装置与流程

本申请涉及全闪存储技术领域,尤其涉及一种元数据处理方法及装置。



背景技术:

随着固态硬盘技术的快速进步,固态硬盘的成本逐渐降低,基于固态硬盘为存储介质的全闪存储系统越来越受广大用户的青睐。在全闪存储系统中存储数据或者基于对存储的数据进行处理的过程中,基于固态硬盘的追加写的存储特性,在处理数据的过程中,需要针对连续大块的数据进行相应的操作,若仅需要对随机小块的数据进行处理时,采用现有的方式,会影响处理数据的效率,增加全闪存储系统的功耗,以及降低全闪存储系统的性能。

因此,亟需一种元数据处理方法,以提高全闪存储系统处理数据的效率和性能,减少全闪存储系统的功耗。



技术实现要素:

本申请提供了一种元数据处理方法及装置,目的在于提高全闪存储系统处理数据的效率和性能,减少全闪存储系统的功耗。

为了实现上述目的,本申请提供了以下技术方案:

本申请实施例第一方面公开了一种元数据处理方法,所述元数据处理方法包括:

当所述全闪存储系统进行数据读取时,查询预先构建的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-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1