CN110502457A - 一种元数据存储方法及装置 - Google Patents

一种元数据存储方法及装置 Download PDF

Info

Publication number
CN110502457A
CN110502457A CN201910782953.0A CN201910782953A CN110502457A CN 110502457 A CN110502457 A CN 110502457A CN 201910782953 A CN201910782953 A CN 201910782953A CN 110502457 A CN110502457 A CN 110502457A
Authority
CN
China
Prior art keywords
tree
metadata
written
address information
brush
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
Application number
CN201910782953.0A
Other languages
English (en)
Other versions
CN110502457B (zh
Inventor
刘如意
孙京本
李佩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN201910782953.0A priority Critical patent/CN110502457B/zh
Publication of CN110502457A publication Critical patent/CN110502457A/zh
Application granted granted Critical
Publication of CN110502457B publication Critical patent/CN110502457B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-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

本申请提供了一种元数据存储方法及装置,确定预设写缓存中刷盘目录下的待刷盘队列,待刷盘队列中存储有缓存树,缓存树包括刷盘树和接收树,刷盘树和接收树为B+树数据结构。控制接收树从等待队列中获取待写入元数据的地址信息。控制刷盘树从接收树中获取待写入元数据的地址信息,依据地址信息,将待写入元数据写入固态硬盘。可见本申请中,基于预设写缓存中刷盘队列中存储的缓存树,实现从等待队列中获取待写入元数据的地址信息,并依据地址信息,将待写入元数据写入固态硬盘中,由此能够将随机小块的元数据写入操作,转换为连续大块的元数据写入操作,从而显著提高了元数据写入固态硬盘的效率,提升全闪存储系统的数据处理效率和性能。

Description

一种元数据存储方法及装置
技术领域
本申请涉及数据处理技术领域,尤其涉及一种元数据存储方法及装置。
背景技术
随着固态硬盘技术的快速进步,固态硬盘的成本逐渐降低,由固态硬盘所组成的全闪存储系统越来越受广大用户的青睐。为了适应固态硬盘的存储特性,现有的全闪存储系统采用追加写+垃圾回收的数据存储方式。全闪存储系统在使用追加写+垃圾回收的过程中,会生成大量的元数据,大量的元数据经由缓存后,会再次写入固态硬盘中。然而,在现有的元数据存储方式中,依据随机小块的元数据写入操作,无序地将缓存内的元数据写入固态硬盘中,基于固态硬盘追加写的存储特性,采取这种写入方式会使得固态硬盘的写入效率明显降低,从而降低全闪存储系统的数据处理效率和性能。
因此,亟需一种元数据存储方法,用于提高元数据写入固态硬盘的效率,从而提升全闪存储系统的数据处理效率和性能。
发明内容
本申请提供了一种元数据存储方法及装置,目的在于提高元数据写入固态硬盘的效率,从而提升全闪存储系统的数据处理效率和性能。
为了实现上述目的,本申请提供了以下技术方案:
本申请实施例第一方面公开了一种元数据存储方法,所述元数据存储方法包括:
确定预设写缓存中刷盘目录下的待刷盘队列,所述待刷盘队列中存储有缓存树,所述缓存树包括刷盘树和接收树,所述刷盘树和所述接收树为B+树数据结构;
控制所述接收树从等待队列中获取待写入元数据的地址信息,所述等待队列用于存储元数据写入请求,所述元数据写入请求包括所述待写入元数据的地址信息;
控制所述刷盘树从所述接收树中获取待写入元数据的地址信息,依据所述地址信息,将所述待写入元数据写入固态硬盘。
可选的,在上述元数据存储方法中,所述预设写缓存的预设过程包括:
在非掉电保护内存中选取预设范围的存储空间,将所述存储空间作为所述预设写缓存。
可选的,在上述元数据存储方法中,所述控制所述接收树从等待队列中获取待写入元数据的地址信息,包括:
基于与所述接收树同属于一所述缓存树中的刷盘树获取待写入元数据的地址信息个数,控制所述接收树从等待队列中获取相应个数的待写入元数据的地址信息;
在所述刷盘树从所述接收树中获取所述待写入元数据的地址信息之后,控制所述接收树继续从所述等待队列中获取相应个数的待写入元数据的地址信息,直至所述等待队列中无可获取的待写入元数据的地址信息。
可选的,在上述元数据存储方法中,所述控制所述刷盘树从所述接收树中获取待写入元数据的地址信息,依据所述地址信息,将所述待写入元数据写入固态硬盘,包括:
控制所述刷盘树依次从所述接收树中获取待写入元数据的地址信息,并依据每次获取到的所述地址信息,将对应所述地址信息的待写入元数据写入固态硬盘,直至所述接收树中无可获取待写入元数据的地址信息。
本申请实施例第二方面公开了一种元数据存储装置,所述元数据存储装置包括:
确定单元,用于确定预设写缓存中刷盘目录下的待刷盘队列,所述待刷盘队列中存储有缓存树,所述缓存树包括刷盘树和接收树,所述刷盘树和所述接收树为B+树数据结构;
控制单元,用于控制所述接收树从等待队列中获取待写入元数据的地址信息,所述等待队列用于存储元数据写入请求,所述元数据写入请求包括所述待写入元数据的地址信息;
写入单元,用于控制所述刷盘树从所述接收树中获取待写入元数据的地址信息,依据所述地址信息,将所述待写入元数据写入固态硬盘。
可选的,在上述元数据存储装置中,所述确定单元包括:
选取模块,用于在非掉电保护内存中选取预设范围的存储空间,将所述存储空间作为所述预设写缓存。
可选的,在上述元数据存储装置中,所述控制单元包括:
第一控制模块,用于基于与所述接收树同属于一所述缓存树中的刷盘树获取待写入元数据的地址信息个数,控制所述接收树从等待队列中获取相应个数的待写入元数据的地址信息;
第二控制模块,用于在所述刷盘树从所述接收树中获取所述待写入元数据的地址信息之后,控制所述接收树继续从所述等待队列中获取相应个数的待写入元数据的地址信息,直至所述等待队列中无可获取的待写入元数据的地址信息。
可选的,在上述元数据存储装置中,所述写入单元包括:
写入模块,用于控制所述刷盘树依次从所述接收树中获取待写入元数据的地址信息,并依据每次获取到的所述地址信息,将对应所述地址信息的待写入元数据写入固态硬盘,直至所述接收树中无可获取待写入元数据的地址信息。
本申请实施例第三方面公开了一种全闪存储系统,所述全闪存储系统包括上述本申请实施例第二方面公开的元数据存储装置。
本申请提供的元数据存储方法及装置,确定预设写缓存中刷盘目录下的待刷盘队列,待刷盘队列中存储有缓存树,缓存树包括刷盘树和接收树,刷盘树和接收树为B+树数据结构。控制接收树从等待队列中获取待写入元数据的地址信息,等待队列用于存储元数据写入请求,元数据写入请求包括待写入元数据的地址信息。控制刷盘树从接收树中获取待写入元数据的地址信息,依据地址信息,将待写入元数据写入固态硬盘。可见本申请中,基于预设写缓存中刷盘队列中存储的缓存树,实现从等待队列中获取待写入元数据的地址信息,并依据地址信息,将待写入元数据写入固态硬盘中,由此能够将随机小块的元数据写入操作,转换为连续大块的元数据写入操作,从而显著提高了元数据写入固态硬盘的效率,提升全闪存储系统的数据处理效率和性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种元数据存储方法的示意图;
图2为本申请实施例提供的一种控制接收树从等待队列中获取待写入元数据的地址信息的具体实现方式的示意图;
图3为本申请实施例提供的一种元数据存储装置的结构示意图;
图4为本申请实施例提供的另一种元数据存储装置的结构示意图;
图5为本申请实施例提供的另一种元数据存储装置的结构示意图;
图6为本申请实施例提供的另一种元数据存储装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请实施例提供的一种元数据存储方法的示意图,该方法应用于全闪存储系统,包括如下步骤:
S101:确定预设写缓存中刷盘目录下的待刷盘队列。
在S101中,待刷盘队列中存储有缓存树,缓存树包括刷盘树和接收树,刷盘树和接收树为B+树数据结构。
需要说明的是,元数据缓存于掉电保护内存中,因掉电保护内存的内存资源十分有限,为了提高掉电保护内存的内存利用率。
可选的,在非掉电保护内存中选取预设范围的存储空间,将存储空间作为预设写缓存。
需要说明的是,预设写缓存包括多个目录,刷盘目录为多个目录中满足刷盘条件的目录。刷盘目录下的待刷盘队列中存储有一个或多个缓存树。
S102:控制接收树从等待队列中获取待写入元数据的地址信息。
在S102中,等待队列用于存储元数据写入请求,元数据写入请求包括待写入元数据的地址信息。
需要说明的是,接收树从等待队列中获取待写入元数据的地址信息,并将该地址信息存储于自身的节点中。
S103:控制刷盘树从接收树中获取待写入元数据的地址信息,依据地址信息,将待写入元数据写入固态硬盘。
在S103中,控制刷盘树依次从接收树中获取待写入元数据的地址信息,并依据每次获取到的地址信息,将对应地址信息的待写入元数据写入固态硬盘,直至接收树中无可获取待写入元数据的地址信息。
在本申请实施例中,确定预设写缓存中刷盘目录下的待刷盘队列,待刷盘队列中存储有缓存树,缓存树包括刷盘树和接收树,刷盘树和接收树为B+树数据结构。控制接收树从等待队列中获取待写入元数据的地址信息,等待队列用于存储元数据写入请求,元数据写入请求包括待写入元数据的地址信息。控制刷盘树从接收树中获取待写入元数据的地址信息,依据地址信息,将待写入元数据写入固态硬盘。可见本申请中,基于预设写缓存中刷盘队列中存储的缓存树,实现从等待队列中获取待写入元数据的地址信息,并依据地址信息,将待写入元数据写入固态硬盘中,将随机小块的元数据写入操作,转换为连续大块的元数据写入操作,从而显著提高了元数据写入固态硬盘的效率,提升全闪存储系统的数据处理效率和性能。
可选的,上述图1示出的S102中,控制接收树从等待队列中获取待写入元数据的地址信息这一过程在具体实现中,如图2所示,为本申请实施例提供的一种控制接收树从等待队列中获取待写入元数据的地址信息的具体实现方式的示意图,包括如下步骤:
S201:基于与接收树同属于一缓存树中的刷盘树获取待写入元数据的地址信息个数,控制接收树从等待队列中获取相应个数的待写入元数据的地址信息。
在S201中,等待队列用于存储元数据写入请求,元数据写入请求包括待写入元数据的地址信息。
具体的,若与接收树同属于一缓存树中的刷盘树获取待写入元数据的地址信息个数为10个,则控制接收树从等待队列中获取10个待写入元数据的地址信息。
需要说明的是,上述具体实现过程仅仅用于举例说明。
S202:在刷盘树从接收树中获取待写入元数据的地址信息之后,控制接收树继续从等待队列中获取相应个数的待写入元数据的地址信息,直至等待队列中无可获取的待写入元数据的地址信息。
在S202中,接收树每次从等待队列获取地址信息的个数,与刷盘树从接收树中获取地址信息的个数是一一对应的。
在本申请实施例中,基于与接收树同属于一缓存树中的刷盘树获取待写入元数据的地址信息个数,控制接收树从等待队列中获取相应个数的待写入元数据的地址信息。在刷盘树从接收树中获取待写入元数据的地址信息之后,控制接收树继续从等待队列中获取相应个数的待写入元数据的地址信息,直至等待队列中无可获取的待写入元数据的地址信息。可见本申请中,刷盘树从接收树中获取待相应个数的写入元数据的地址信息之后,控制接收树继续从等待队列中获取相应个数的待写入元数据的地址信息,由此能够实现批量地将元数据写入固态硬盘中,换而言之,能够将随机小块的元数据写入操作,转换为连续大块的元数据写入操作,从而显著提高了元数据写入固态硬盘的效率,提升全闪存储系统的数据处理效率和性能。
基于上述本申请实施例提供的元数据存储方法,本申请实施例还对应提供了一种元数据存储装置的结构示意图,如图3所示,该装置适用于全闪存储系统,该装置包括:
确定单元100,用于确定预设写缓存中刷盘目录下的待刷盘队列,待刷盘队列中存储有缓存树,缓存树包括刷盘树和接收树,刷盘树和接收树为B+树数据结构。
控制单元200,用于控制接收树从等待队列中获取待写入元数据的地址信息,等待队列用于存储元数据写入请求,元数据写入请求包括待写入元数据的地址信息。
写入单元300,用于控制刷盘树从接收树中获取待写入元数据的地址信息,依据地址信息,将待写入元数据写入固态硬盘。
在本申请实施例中,确定预设写缓存中刷盘目录下的待刷盘队列,待刷盘队列中存储有缓存树,缓存树包括刷盘树和接收树,刷盘树和接收树为B+树数据结构。控制接收树从等待队列中获取待写入元数据的地址信息,等待队列用于存储元数据写入请求,元数据写入请求包括待写入元数据的地址信息。控制刷盘树从接收树中获取待写入元数据的地址信息,依据地址信息,将待写入元数据写入固态硬盘。可见本申请中,基于预设写缓存中刷盘队列中存储的缓存树,实现从等待队列中获取待写入元数据的地址信息,并依据地址信息,将待写入元数据写入固态硬盘中,由此能够将随机小块的元数据写入操作,转换为连续大块的元数据写入操作,从而显著提高了元数据写入固态硬盘的效率,提升全闪存储系统的数据处理效率和性能。
可选的,如图4所示,为本申请实施例提供的另一种元数据存储装置的结构示意图,其中,确定单元100包括:
选取模块101,用于在非掉电保护内存中选取预设范围的存储空间,将存储空间作为预设写缓存。
在本申请实施例中,元数据缓存于掉电保护内存中,因掉电保护内存的内存资源十分有限。在非掉电保护内存中选取预设范围的存储空间,将存储空间作为预设写缓存,能够提高掉电保护内存的内存利用率,从而提升全闪存储系统的数据处理效率和性能。
可选的,如图5示,为本申请实施例提供的另一种元数据存储装置的结构示意图,其中,控制单元200包括:
第一控制模块201,用于基于与接收树同属于一缓存树中的刷盘树获取待写入元数据的地址信息个数,控制接收树从等待队列中获取相应个数的待写入元数据的地址信息。
第二控制模块202,用于在刷盘树从接收树中获取待写入元数据的地址信息之后,控制接收树继续从等待队列中获取相应个数的待写入元数据的地址信息,直至等待队列中无可获取的待写入元数据的地址信息。
在本申请实施例中,基于与接收树同属于一缓存树中的刷盘树获取待写入元数据的地址信息个数,控制接收树从等待队列中获取相应个数的待写入元数据的地址信息。在刷盘树从接收树中获取待写入元数据的地址信息之后,控制接收树继续从等待队列中获取相应个数的待写入元数据的地址信息,直至等待队列中无可获取的待写入元数据的地址信息。可见本申请中,刷盘树从接收树中获取待相应个数的写入元数据的地址信息之后,控制接收树继续从等待队列中获取相应个数的待写入元数据的地址信息,由此能够实现批量地将元数据写入固态硬盘中,换而言之,能够将随机小块的元数据写入操作,转换为连续大块的元数据写入操作,从而显著提高了元数据写入固态硬盘的效率,提升全闪存储系统的数据处理效率和性能。
可选的,如图6示,为本申请实施例提供的另一种元数据存储装置的结构示意图,其中,写入单元300包括:
写入模块301,用于控制刷盘树依次从接收树中获取待写入元数据的地址信息,并依据每次获取到的地址信息,将对应地址信息的待写入元数据写入固态硬盘,直至接收树中无可获取待写入元数据的地址信息。
在本申请实施例中,控制刷盘树依次从接收树中获取待写入元数据的地址信息,并依据每次获取到的地址信息,将对应地址信息的待写入元数据写入固态硬盘,直至接收树中无可获取待写入元数据的地址信息。可见本申请中,基于预设写缓存中刷盘队列中存储的缓存树,实现从等待队列中获取待写入元数据的地址信息,并依据地址信息,将待写入元数据写入固态硬盘中由此能够实现批量地将元数据写入固态硬盘中,换而言之,能够将随机小块的元数据写入操作,转换为连续大块的元数据写入操作,从而显著提高了元数据写入固态硬盘的效率,提升全闪存储系统的数据处理效率和性能。
可选的,本申请实施例还提供了一种全闪存储系统,该全闪存储系统包括上述本申请实施例提供的元数据存储装置。
专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种元数据存储方法,其特征在于,应用于全闪存储系统,包括:
确定预设写缓存中刷盘目录下的待刷盘队列,所述待刷盘队列中存储有缓存树,所述缓存树包括刷盘树和接收树,所述刷盘树和所述接收树为B+树数据结构;
控制所述接收树从等待队列中获取待写入元数据的地址信息,所述等待队列用于存储元数据写入请求,所述元数据写入请求包括所述待写入元数据的地址信息;
控制所述刷盘树从所述接收树中获取待写入元数据的地址信息,依据所述地址信息,将所述待写入元数据写入固态硬盘。
2.根据权利要求1所述的方法,其特征在于,所述预设写缓存的预设过程包括:
在非掉电保护内存中选取预设范围的存储空间,将所述存储空间作为所述预设写缓存。
3.根据权利要求1所述的方法,其特征在于,所述控制所述接收树从等待队列中获取待写入元数据的地址信息,包括:
基于与所述接收树同属于一所述缓存树中的刷盘树获取待写入元数据的地址信息个数,控制所述接收树从等待队列中获取相应个数的待写入元数据的地址信息;
在所述刷盘树从所述接收树中获取所述待写入元数据的地址信息之后,控制所述接收树继续从所述等待队列中获取相应个数的待写入元数据的地址信息,直至所述等待队列中无可获取的待写入元数据的地址信息。
4.根据权利要求1所述的方法,其特征在于,所述控制所述刷盘树从所述接收树中获取待写入元数据的地址信息,依据所述地址信息,将所述待写入元数据写入固态硬盘,包括:
控制所述刷盘树依次从所述接收树中获取待写入元数据的地址信息,并依据每次获取到的所述地址信息,将对应所述地址信息的待写入元数据写入固态硬盘,直至所述接收树中无可获取待写入元数据的地址信息。
5.一种元数据存储装置,其特征在于,包括:
确定单元,用于确定预设写缓存中刷盘目录下的待刷盘队列,所述待刷盘队列中存储有缓存树,所述缓存树包括刷盘树和接收树,所述刷盘树和所述接收树为B+树数据结构;
控制单元,用于控制所述接收树从等待队列中获取待写入元数据的地址信息,所述等待队列用于存储元数据写入请求,所述元数据写入请求包括所述待写入元数据的地址信息;
写入单元,用于控制所述刷盘树从所述接收树中获取待写入元数据的地址信息,依据所述地址信息,将所述待写入元数据写入固态硬盘。
6.根据权利要求5所述的装置,其特征在于,所述确定单元包括:
选取模块,用于在非掉电保护内存中选取预设范围的存储空间,将所述存储空间作为所述预设写缓存。
7.根据权利要求5所述的装置,其特征在于,所述控制单元包括:
第一控制模块,用于基于与所述接收树同属于一所述缓存树中的刷盘树获取待写入元数据的地址信息个数,控制所述接收树从等待队列中获取相应个数的待写入元数据的地址信息;
第二控制模块,用于在所述刷盘树从所述接收树中获取所述待写入元数据的地址信息之后,控制所述接收树继续从所述等待队列中获取相应个数的待写入元数据的地址信息,直至所述等待队列中无可获取的待写入元数据的地址信息。
8.根据权利要求5所述的装置,其特征在于,所述写入单元包括:
写入模块,用于控制所述刷盘树依次从所述接收树中获取待写入元数据的地址信息,并依据每次获取到的所述地址信息,将对应所述地址信息的待写入元数据写入固态硬盘,直至所述接收树中无可获取待写入元数据的地址信息。
9.一种全闪存储系统,其特征在于,包括权利要求5-8中任一项所述的元数据存储装置。
CN201910782953.0A 2019-08-23 2019-08-23 一种元数据存储方法及装置 Active CN110502457B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910782953.0A CN110502457B (zh) 2019-08-23 2019-08-23 一种元数据存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910782953.0A CN110502457B (zh) 2019-08-23 2019-08-23 一种元数据存储方法及装置

Publications (2)

Publication Number Publication Date
CN110502457A true CN110502457A (zh) 2019-11-26
CN110502457B CN110502457B (zh) 2022-02-18

Family

ID=68589039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910782953.0A Active CN110502457B (zh) 2019-08-23 2019-08-23 一种元数据存储方法及装置

Country Status (1)

Country Link
CN (1) CN110502457B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111142803A (zh) * 2019-12-29 2020-05-12 北京浪潮数据技术有限公司 一种元数据刷盘方法、装置、设备及介质
CN113836051A (zh) * 2021-11-29 2021-12-24 苏州浪潮智能科技有限公司 一种元数据空间回收方法、装置、设备及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974424A (en) * 1997-07-11 1999-10-26 International Business Machines Corporation Parallel file system and method with a metadata node
CN104461936A (zh) * 2014-11-28 2015-03-25 华为技术有限公司 缓存数据的刷盘方法及装置
CN105117415A (zh) * 2015-07-30 2015-12-02 西安交通大学 一种优化的ssd数据更新方法
CN105224237A (zh) * 2014-05-26 2016-01-06 华为技术有限公司 一种数据存储方法及装置
CN105740172A (zh) * 2016-01-26 2016-07-06 浪潮(北京)电子信息产业有限公司 一种块设备数据缓存掉电保护的方法及系统
US20160350015A1 (en) * 2015-05-27 2016-12-01 Nutech Ventures Enforcing Persistency for Battery-Backed Mobile Devices
CN106527974A (zh) * 2016-10-09 2017-03-22 华为技术有限公司 一种写数据的方法、设备及系统
CN107589908A (zh) * 2017-08-17 2018-01-16 暨南大学 一种基于固态盘缓存系统中非对齐更新数据的合并方法
CN108647151A (zh) * 2018-04-26 2018-10-12 郑州云海信息技术有限公司 一种全闪系统元数据落盘方法、装置、设备及存储介质
CN109033365A (zh) * 2018-07-26 2018-12-18 郑州云海信息技术有限公司 一种数据处理方法及相关设备
CN109522271A (zh) * 2018-10-22 2019-03-26 郑州云海信息技术有限公司 一种b+树节点的批量插入和删除方法及装置
CN109542911A (zh) * 2018-12-03 2019-03-29 郑州云海信息技术有限公司 一种元数据组织方法、系统、设备及计算机可读存储介质
CN109683828A (zh) * 2019-01-03 2019-04-26 郑州云海信息技术有限公司 一种存储系统的落盘方法、系统、装置及可读存储介质
CN110134551A (zh) * 2019-05-21 2019-08-16 上海英方软件股份有限公司 一种持续数据保护方法及装置

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974424A (en) * 1997-07-11 1999-10-26 International Business Machines Corporation Parallel file system and method with a metadata node
CN105224237A (zh) * 2014-05-26 2016-01-06 华为技术有限公司 一种数据存储方法及装置
CN104461936A (zh) * 2014-11-28 2015-03-25 华为技术有限公司 缓存数据的刷盘方法及装置
US20160350015A1 (en) * 2015-05-27 2016-12-01 Nutech Ventures Enforcing Persistency for Battery-Backed Mobile Devices
CN105117415A (zh) * 2015-07-30 2015-12-02 西安交通大学 一种优化的ssd数据更新方法
CN105740172A (zh) * 2016-01-26 2016-07-06 浪潮(北京)电子信息产业有限公司 一种块设备数据缓存掉电保护的方法及系统
CN106527974A (zh) * 2016-10-09 2017-03-22 华为技术有限公司 一种写数据的方法、设备及系统
CN107589908A (zh) * 2017-08-17 2018-01-16 暨南大学 一种基于固态盘缓存系统中非对齐更新数据的合并方法
CN108647151A (zh) * 2018-04-26 2018-10-12 郑州云海信息技术有限公司 一种全闪系统元数据落盘方法、装置、设备及存储介质
CN109033365A (zh) * 2018-07-26 2018-12-18 郑州云海信息技术有限公司 一种数据处理方法及相关设备
CN109522271A (zh) * 2018-10-22 2019-03-26 郑州云海信息技术有限公司 一种b+树节点的批量插入和删除方法及装置
CN109542911A (zh) * 2018-12-03 2019-03-29 郑州云海信息技术有限公司 一种元数据组织方法、系统、设备及计算机可读存储介质
CN109683828A (zh) * 2019-01-03 2019-04-26 郑州云海信息技术有限公司 一种存储系统的落盘方法、系统、装置及可读存储介质
CN110134551A (zh) * 2019-05-21 2019-08-16 上海英方软件股份有限公司 一种持续数据保护方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李楚: "固态盘缓存系统基于闪存特性的优化研究", 《中国博士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111142803A (zh) * 2019-12-29 2020-05-12 北京浪潮数据技术有限公司 一种元数据刷盘方法、装置、设备及介质
CN111142803B (zh) * 2019-12-29 2022-07-08 北京浪潮数据技术有限公司 一种元数据刷盘方法、装置、设备及介质
CN113836051A (zh) * 2021-11-29 2021-12-24 苏州浪潮智能科技有限公司 一种元数据空间回收方法、装置、设备及存储介质
CN113836051B (zh) * 2021-11-29 2022-03-22 苏州浪潮智能科技有限公司 一种元数据空间回收方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110502457B (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
CN104583977B (zh) 主机辅助的存储块的压缩
US11042487B2 (en) Memory system and method for controlling nonvolatile memory
KR100951107B1 (ko) 최적의 성능을 위한 파일 관리 방법
TW571243B (en) Memory controller for memory card manages file allocation table
TWI729988B (zh) 固態驅動機、固態驅動機控制器以及資料寫入方法
US7711890B2 (en) Cache control in a non-volatile memory device
US7451265B2 (en) Non-volatile memory storage systems for phased garbage collection
US8095728B2 (en) Method and system for power aware I/O scheduling
US8135907B2 (en) Method and system for managing wear-level aware file systems
JP5066209B2 (ja) コントローラ、データ記憶装置、及びプログラム
US10545876B2 (en) Control unit for data storage system and method for updating logical-to-physical mapping table
CN104866428B (zh) 数据存取方法和数据存取装置
US20130159609A1 (en) Processing unit reclaiming requests in a solid state memory device
US20080082596A1 (en) Method for phased garbage collection
AU2003286967B2 (en) Dual journaling store method and storage medium thereof
US9274865B2 (en) Implementing enhanced buffer management for data storage devices
CN110018788A (zh) 分级存储方法、装置、电子设备及计算机可读存储介质
CN110502457A (zh) 一种元数据存储方法及装置
KR102245113B1 (ko) 저장 제어 디바이스, 저장 제어 방법, 및 기록 매체
TW201030516A (en) Hybrid memory device
CN109710175A (zh) 用于数据存储管理的设备和方法
TW200929258A (en) A storage device coordinator and a host device that includes the same
CN109408417A (zh) 存储装置的地址映射方法和操作方法
CN108334284A (zh) 尾延迟感知前台垃圾收集算法
KR20090024971A (ko) 섹터의 집합을 이용한 캐시 운용 방법 및 캐시 장치

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