CN110968253A - 一种数据存储方法、装置及系统 - Google Patents

一种数据存储方法、装置及系统 Download PDF

Info

Publication number
CN110968253A
CN110968253A CN201811147171.1A CN201811147171A CN110968253A CN 110968253 A CN110968253 A CN 110968253A CN 201811147171 A CN201811147171 A CN 201811147171A CN 110968253 A CN110968253 A CN 110968253A
Authority
CN
China
Prior art keywords
data
target
storage medium
free space
space
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
CN201811147171.1A
Other languages
English (en)
Other versions
CN110968253B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811147171.1A priority Critical patent/CN110968253B/zh
Publication of CN110968253A publication Critical patent/CN110968253A/zh
Application granted granted Critical
Publication of CN110968253B publication Critical patent/CN110968253B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种数据存储方法、装置及系统,该方法包括:获取待存储的数据资源,其中,该数据资源的大小满足第一预设条件且数据资源中的数据单元具有相同特征;以及确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;对确定出的目标空闲空间进行数据写操作,以将数据资源存储于该目标空闲空间中。通过将特性相同的数据单元写入地址连续的空闲空间内,达到顺序写入数据资源的效果,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,缓解具有不同特征的数据在一个垃圾回收单元中混杂分布的情况,以使后续进行失效数据回收时减少数据搬移操作,从而降低数据写放大系数,延长存储介质的使用寿命。

Description

一种数据存储方法、装置及系统
技术领域
本申请涉及计算机领域,尤其涉及一种数据存储方法、装置及系统。
背景技术
目前,随着计算机技术的快速发展,同时随着数据产生量的不断增加,对数据信息存储需求不断提升,需要提供一种使用寿命长、性能高、成本低的存储系统,其中,由于机械硬盘受限于物理构造,虽然机械硬盘具有价格便宜、存储量大的特点,但是机械硬盘的性能始终无法带来大的突破,并且机械硬盘的发热、噪音等问题无法解决。
当前,随着存储设备研发的不断进步,基于NAND闪存的固态硬盘(Solid StateDrive,SSD)逐渐开始在市场上推广并投入使用,固态硬盘内部的核心存储单元是NANDFlash,NAND Flash可以分为SLC(Single-Level Cell,单层式储存)、MLC(Mult-LevelCell,多层式储存)、TLC(Triple-Level Cell,3bit MLC)和QLC(Quad-Level Cell,4bitMLC),SLC每个Cell单元存储1bit信息,MLC每个cell单元存储2bit信息,TLC每个cell单元存储3bit信息,QLC每个cell单元存储4bit信息。
其中,QLC SSD作为一种新型存储介质,具有成本低的优势,并且存储介质QLC SSD单个cell单元存储位数提升到了4bit,然而,在存储密度提升的过程中,伴随着擦写次数的下降,写入性能比较差,并且随机写入性能更差,导致存储介质QLC SSD的使用寿命比较短。由此可知,由于存储介质QLC SSD的闪存性能差、使用寿命短,导致其无法满足线上业务安全使用的目的,因此,存储介质QLC SSD的成本低的优势无法得到充分发挥。
发明内容
本申请实施例的目的是提供一种数据存储方法、装置及系统,通过将特性相同的数据单元写入地址连续的空闲空间内,达到顺序写入数据资源的效果,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,缓解具有不同特征的数据在一个垃圾回收单元中混杂分布的情况,以使后续进行失效数据回收时减少数据搬移操作,从而降低数据写放大系数,延长存储介质的使用寿命。
为解决上述技术问题,本申请实施例是这样实现的:
本申请实施例提供了一种数据存储方法,包括:
获取待存储的数据资源,其中,所述数据资源的大小满足第一预设条件且所述数据资源中的数据单元具有相同特征;
确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;
对所述目标空闲空间进行数据写操作,以将所述数据资源存储于所述目标空闲空间中。
本申请实施例提供了一种数据存储装置,包括:
数据资源获取模块,用于获取待存储的数据资源,其中,所述数据资源的大小满足第一预设条件且所述数据资源中的数据单元具有相同特征;
存储空间分配模块,用于确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;
数据资源写入模块,用于对所述目标空闲空间进行数据写操作,以将所述数据资源存储于所述目标空闲空间中。
本申请实施例提供了一种数据存储系统,包括:目标存储介质和上述存储装置;
其中,所述目标存储介质,用于在所述存储装置控制下存储数据资源。
本申请实施例提供了一种数据存储系统,包括:目标存储介质和如上述的存储装置;
其中,所述目标存储介质,用于在所述存储装置控制下存储数据资源。
本申请实施例中的数据存储方法、装置及系统,获取待存储的数据资源,其中,该数据资源的大小满足第一预设条件且数据资源中的数据单元具有相同特征;以及确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;对确定出的目标空闲空间进行数据写操作,以将数据资源存储于该目标空闲空间中。通过将特性相同的数据单元写入地址连续的空闲空间内,达到顺序写入数据资源的效果,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,缓解具有不同特征的数据在一个垃圾回收单元中混杂分布的情况,以使后续进行失效数据回收时减少数据搬移操作,从而降低数据写放大系数,延长存储介质的使用寿命。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的数据存储方法的第一种流程示意图;
图2为本申请实施例提供的数据存储方法的第二种流程示意图;
图3为本申请实施例提供的数据存储方法的第三种流程示意图;
图4为本申请实施例提供的数据存储方法的第四种流程示意图;
图5为本申请实施例提供的数据存储方法中选取目标空闲空间的过程的示意图;
图6为本申请实施例提供的数据存储方法的第五种流程示意图;
图7为本申请实施例提供的数据存储方法的第六种流程示意图;
图8为本申请实施例提供的数据存储方法的第七种流程示意图;
图9a为本申请实施例提供的数据存储方法中采用现有的数据存储方式形成的垃圾回收单元中的数据分布情况示意图;
图9b为本申请实施例提供的数据存储方法中采用本申请实施例提供的数据存储方式形成的垃圾回收单元中的数据分布情况示意图;
图10为本申请实施例提供的数据存储方法的实现原理示意图;
图11为本申请实施例提供的数据存储装置的第一种模块组成示意图;
图12为本申请实施例提供的数据存储装置的第二种模块组成示意图;
图13为本申请实施例提供的数据存储设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供了一种数据存储方法、装置及系统,通过将特性相同的数据单元写入地址连续的空闲空间内,达到顺序写入数据资源的效果,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,缓解具有不同特征的数据在一个垃圾回收单元中混杂分布的情况,以使后续进行失效数据回收时减少数据搬移操作,从而降低数据写放大系数,延长存储介质的使用寿命。
图1为本申请实施例提供的数据存储方法的第一种流程示意图,图1中的方法能够由数据存储装置中的控制程序执行,如图1所示,该方法至少包括以下步骤:
S101,获取待存储的数据资源,其中,该数据资源的大小满足第一预设条件且该数据资源中的数据单元具有相同特征,其中,数据单元的特征相同可以是数据来源相同,也可以是索引相同,例如,数据单元由同一应用程序产生得到的,在选取参考特征时,可以将与数据存活时间相关的特征作为参考特征,这样能够将数据回收触发时机接近的数据单元聚集在一起,以便减少后续进行失效数据回收时产生的数据搬移操作;
其中,上述第一预设条件可以包含多个最小阈值,针对数据单元不同类型设置不同的最小阈值,例如,针对数据单元为业务数据的情况,可以设定数据资源的大小的第一最小阈值,又如,针对数据单元为业务数据的元数据的情况,可以设定数据资源的大小的第二最小阈值;
具体的,针对写入次数比较低的存储介质,可以将待写入目标存储介质的数据单元进行聚合,当具有相同特征的待存储数据资源的大小满足第一预设条件时,才确定可以向目标存储介质中写入该数据资源,这样能够减少对目标存储介质的写操作次数,进而延长目标存储介质使用寿命。
S102,确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;
具体的,由于在向目标存储介质中写入数据资源之前,将待写入的数据子块进行聚合,使得待写入目标存储介质的数据资源的大小满足预设条件,以及将具有相同特征的数据单元聚集在一起,如果在确定待存储的数据资源的存储空间时,选取出地址连续且空间大小满足低于预设条件的空闲空间,将该空闲空间作为待存储的数据资源的存储空间。
S103,对确定出的目标空闲空间进行数据写操作,以将待存储的数据资源存储于该目标空闲空间中;
具体的,在获取到满足预设条件的数据资源以及确定出满足预设条件的目标空闲空间后,将该数据资源顺序写入该目标空闲空间,从而达到将数据资源顺序写入目标存储介质的效果,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,进而能够减少后续失效数据回收时的数据搬移操作,缓解目标存储介质的性能衰减程度。
本申请实施例中,通过将特性相同的数据单元写入地址连续的空闲空间内,达到顺序写入数据资源的效果,不需要对存储介质进行修改,即可实现顺序写入数据资源,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,缓解具有不同特征的数据在一个垃圾回收单元中混杂分布的情况,以使后续进行失效数据回收时减少数据搬移操作,从而降低数据写放大系数,延长存储介质的使用寿命。
其中,针对数据单元聚合为满足预设条件的数据资源的过程,该数据单元可以是业务处理过程中产生的业务数据,如图2所示,在上述S101获取待存储的数据资源之前,还包括:
S104,接收数据写请求,其中,该数据写请求携带有具有指定特征的业务数据;
具体的,可以通过数据聚合控制模块接收数据写请求,每个数据写请求中携带具有一定大小的数据子块,该数据子块包括多个具有指定特征的数据单元,数据聚合控制模块接收到数据写请求后,触发辅助存储介质进行数据聚合,其中,该数据聚合控制模块可以是设置于辅助存储介质中的控制模块;
S105,根据数据写请求中携带的业务数据的指定特征,在辅助存储介质中进行业务数据聚合生成待存储的数据资源;
具体的,数据聚合控制模块在接收到针对该存储介质的数据写请求后,触发辅助存储介质对数据写请求进行聚合,在对数据写请求进行聚合时,根据数据写请求中携带的各数据单元的属性特征,对数据单元进行分类处理,得到多个具有相同特征的数据资源,其中,多个数据写请求进行聚合得到的具有相同特征的待存储数据资源的大小与各写请求携带的数据子块的大小之和有关,上述第一预设条件可以是对数据资源的大小进行限定,即设定数据资源的大小的第一最小阈值,当具有相同特征的待存储业务数据的大小大于第一最小阈值时,才确定可以向目标存储介质中写入该数据资源,这样能够减少对目标存储介质的写操作次数,进而延长目标存储介质使用寿命。
其中,如图3所示,上述S102确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间,具体包括:
S1021,确定目标存储介质中至少一个备选空闲空间,其中,该备选空闲空间对应的地址是连续的;
其中,目标存储介质中可能某些逻辑地址区域已存储有数据资源,使得目标存储介质中包含至少一个被使用存储空间和至少一个备选空闲空间,该被使用的存储空间和该备选空闲空间间隔分布,在一个具体实施例中,备选空闲空间对应的地址可以是逻辑地址,即备选空闲空间对应的逻辑地址是连续的,根据备选空闲空间的起始逻辑地址和末尾逻辑地址,确定该备选空闲空间的空间大小。
S1022,从确定出的至少一个备选空闲空间中,选择空间大小满足第二预设条件的目标空闲空间,其中,该第二预设条件可以是关于空闲空间的空间大小的限定条件。
具体的,通过特定的资源分配算法,在目标存储介质中,根据各备选空闲空间的空间大小,选取空间大小满足预设条件的空闲空间作为用于写入待存储数据资源的存储空间,从而达到将具体相同特征的数据单元顺序写入目标存储介质的效果。
其中,针对目标空闲空间的选取过程,可以采用如下两种选取方式进行目标空闲空间的选取,第一种选取方式为:选取空间大小最大的空闲空间作为目标空闲空间,第二种选取方式为:选取与数据资源的大小匹配的空闲空间作为目标空闲空间,具体为:
第一种选取方式,如图4所示,上述S1022从确定出的至少一个备选空闲空间中,选择空间大小满足第二预设条件的目标空闲空间,具体包括:
S10221,从确定出的至少一个备选空闲空间中,选取空间大小最大的备选空闲空间作为目标空闲空间。
具体的,在目标存储介质中的多个备选空闲空间中,当备选空闲空间的空闲大小为最大值时,确定该备选空闲空间的空间大小满足第二预设条件,因此,将该空间大小为最大值的备选空闲空间确定为目标空闲空间。
在一个具体实施例中,如图5所示,目标存储介质中包含多个被使用存储空间和备选空闲空间,每个备选空闲空间具有一定的空间大小,其中,被使用存储空间有:已用存储空间B、已用存储空间D、已用存储空间F,备选空闲空间有:空闲空间A、空闲空间C、空闲空间E,由于空闲空间E的空间大小最大,因此,将空闲空间E确定为目标空闲空间,以便向该目标空闲空间中写入待存储的数据资源。
第二种选取方式,如图6所示,上述S1022从确定出的至少一个备选空闲空间中,选择空间大小满足第二预设条件的目标空闲空间,具体包括:
S10222,从确定出的至少一个备选空闲空间中,选取空间大小与待存储的数据资源的资源大小匹配的备选空闲空间作为目标空闲空间。
具体的,在目标存储介质中的多个备选空闲空间中,当备选空闲空间的空闲大小与数据资源的资源大小之间的差值小于预设阈值时,确定该备选空闲空间的空间大小与待存储的数据资源的资源大小相匹配,即确定该备选空闲空间的空间大小满足第二预设条件,因此,将该备选空闲空间确定为目标空闲空间,其中,该预设阈值可以是小于数据擦除最小操作单元,这样能够缓解最终剩余多个可用的小块空闲空间的情况,由于如果备选空闲空间的空间大小小于数据擦除最小操作单元,可以直接舍弃该备选空闲空间,认为该备选空闲空间为不可用空闲空间,因为必将存在一个数据擦除最小操作单元中混杂多种数据的情况,此时,可以触发行为执行失效数据回收机制。
其中,如图7所示,上述S103对确定出的目标空闲空间进行数据写操作,以将待存储的数据资源存储于该目标空闲空间中,具体包括:
S1031,根据确定出的目标空闲空间的参考地址和待存储的数据资源的资源大小,确定该目标空闲空间中用于存储上述数据资源的地址范围,其中,该参考地址包括:起始地址或末尾地址;
S1032,对确定出的地址范围对应的存储空间进行数据写操作,以将待存储的数据资源顺序存储于该存储空间;
具体的,将目标空闲空间的起始地址或末尾地址作为待存储的数据资源的起始位置或末尾位置,即可以从目标空闲空间的起始地址向末尾地址开始写入数据资源,也可以从目标空闲空间的末尾地址向起始地址开始写入数据资源,这样针对目标空闲空间的空间大小大于数据资源的资源大小的情况,能够保证目标空闲空间中写入数据资源后剩余的空闲空间最大,能够缓解最终剩余多个可用的小块空闲空间的情况。
进一步的,考虑到可能存在处理数据写请求的过程中,接收到数据读请求的情况,为了减少数据读请求的响应延时,采用优先响应数据读请求的方式,来实现大数据块写请求与读请求之间的优先级调度处理,基于此,上述方法还包括:
在对目标空闲空间进行数据写操作时,若接收到数据读请求,则触发中止正在进行的数据写操作;以及,
响应于接收到的数据读请求,触发对目标存储介质进行数据读操作;
在数据读操作完成后,触发继续执行上述数据写操作。
其中,上述数据写操作是指在向目标空闲空间中写入数据资源的操作,上述数据读请求是指从目标存储介质中读取相应的数据资源,由于考虑到单次写入的数据资源比较大,因此可能写入耗时相对比较长,为了避免出现需要长时间等待读取所需数据资源的情况,采用优先响应数据读请求的方式,来实现大数据块写请求与读请求之间的优先级调度处理,降低数据读取的延时。
进一步的,为了保证数据写操作的完整性和准确性,避免因数据写操作突然中断而出现数据漏写、误写的情况,基于此,在接收到数据读请求后并非是立即中止数据写操作,而是将数据写操作的当前操作阶段完成后,再响应数据读请求,具体的,上述触发中止正在进行的数据写操作,具体包括:
在正在进行的数据写操作的当前操作阶段完成后,触发中止该数据写操作,其中,数据写操作涉及的多个操作阶段可以根据实际情况进行设定,以保证数据写操作的完整性和准确性,避免出现数据漏写、误写的情况为基准;
对应的,上述触发继续执行上述数据写操作,具体包括:
触发继续执行上述数据写操作的上述当前操作阶段之后的操作阶段,即响应完成数据读请求后,继续执行数据写操作的剩余阶段,以保证将待存储的数据资源完整、准确地写入目标存储介质中的目标空闲空间内。
进一步的,为了尽可能地减少对数据写操作的中断,可以采用数据缓存机制,将常用的数据资源缓存至预设缓存内存中,这样一方面能够快速响应数据读请求,另一方面还能够避免出现对数据写操作的中断情形,基于此,上述方法还包括:
在接收到数据读请求后,判断缓存内存和/或辅助存储介质中是否存在与该数据读请求对应的目标数据资源;
具体的,一种情况是,数据读请求对应的数据资源预先缓存至预设缓存内存中,此时可以直接从该缓存内存中读取相应的数据资源;
另一种情况是,由于在数据写入目标存储介质之前,需要进行数据单元的聚合梳理,因此可能存在数据读请求对应的数据资源还未写入目标存储介质的情况,此时,可以直接从用于对数据单元进行聚合的辅助存储介质中获取相应的数据资源;
由此可知,在接收到数据读请求后,先判断缓存内存中是否存在与该数据读请求对应的目标数据资源,或者,先判断辅助存储介质中是否存在与该数据读请求对应的目标数据资源,或者,即判断缓存内存中是否存在与该数据读请求对应的目标数据资源,又判断辅助存储介质中是否存在与该数据读请求对应的目标数据资源;
(1)针对缓存介质或辅助存储介质中均不存在与该数据读请求对应的目标数据资源的情况,则响应于上述数据读请求,触发从目标存储介质中读取与该数据读请求对应的目标数据资源;
具体的,若缓存内存中不存在与该数据读请求对应的目标数据资源,以及辅助存储介质中不存在与该数据读请求对应的目标数据资源,此时,需要从目标存储介质中读取相应的目标数据资源;
对应的,上述响应于上述数据读请求,触发从目标存储介质中读取与该数据读请求对应的目标数据资源,具体包括:
判断是否存在正在处理的数据写操作;
若存在,则触发中止正在进行的数据写操作;以及,
响应于接收到的数据读请求,触发对目标存储介质进行数据读操作;
在数据读操作完成后,触发继续执行上述数据写操作。
(2)针对缓存介质或辅助存储介质任一项中存在与该数据读请求对应的目标数据资源的情况,则触发从缓存内存或者辅助存储介质中读取相应的目标数据资源;
具体的,若缓存介质中存在与数据读请求对应的目标数据资源,则直接从该缓存介质中获取相应的目标数据资源;
若辅助存储介质中存在与数据读请求对应的目标数据资源,则直接从该辅助存储介质中获取相应的目标数据资源;
若缓存介质和辅助存储介质中均存在与数据读请求对应的目标数据资源,则根据预设获取优先级,从优先级高的存储介质中获取相应的目标数据资源。
进一步的,为了提高缓存机制的可用性,可以预先将热点数据存入缓存内存中,即将请求频次比较高的数据资源存入缓存内存中,基于此,在判断缓存内存和/或辅助存储介质中是否存在与读请求对应的目标数据资源之前,还包括:
将热点数据读请求对应的数据资源存入缓存内存中,其中,热点数据读请求可以是根据预设时间段内各数据读请求的请求次数确定的。
进一步的,考虑到业务数据的元数据的更新比较频繁,也可以在将元数据写入目标存储介质之前对元数据进行聚合,以便减少对目标存储介质的写操作次数,针对数据单元聚合成满足预设条件的数据资源的过程,该数据单元可以是业务处理过程中产生的业务数据的元数据,如图8所示,在上述S101获取待存储的数据资源之前,还包括:
S106,接收针对业务数据的元数据,其中,该元数据是本地文件系统基于获取到的具有指定特征的业务数据生成的;
具体的,本地文件系统在获取到待存储的资源大小满足第一预设条件且包含的数据单元具有相同特征的业务数据后,需要生成用于描述该业务数据的元数据,其中,针对数据单元为业务数据的元数据的情况,可以将元数据对应的业务数据的特征作为数据单元的指定特征;
S107,根据与元数据相关的业务数据的指定特征,在辅助存储介质中进行元数据聚合生成待存储的数据资源。
其中,本地文件系统生成业务数据的元数据后,不直接写入目标存储介质,而是将元数据传输至辅助存储介质,以在辅助存储介质处对元数据进行聚合处理,当元数据的大小满足预设条件时,将集合后的元数据作为待存储的数据资源,执行上述步骤S101至S103将数据资源写入目标存储介质;
具体的,本地文件系统可以将元数据传输至数据聚合控制模块,该数据聚合控制模块在接收到业务数据的元数据后,触发辅助存储介质对元数据进行聚合,在对元数据进行聚合时,根据与元数据相关的业务数据的指定特征,对元数据进行分类处理,得到多个具有相同特征的数据资源,其中,上述第一预设条件可以是对数据资源的大小进行限定,即设定数据资源的大小的第二最小阈值,当具有相同特征的待存储元数据的大小大于第二最小阈值时,才确定可以向目标存储介质中写入该数据资源,这样能够减少对目标存储介质的写操作次数,进而延长目标存储介质使用寿命。
在本申请提供实施例中,考虑目标存储介质的寿命短,通常业务数据以及该业务数据的元数据直接写入目标存储介质,为了减少目标存储介质的写操作次数,从而提升目标存储介质的使用寿命,将元数据的更新不在目标存储介质中进行,而是由本地文件系统生成业务数据的元数据后,将元数据放到辅助存储介质处将元数据聚合一段时间后,再将聚合后的元数据写入目标存储介质中。
进一步的,为了延长目标存储介质的使用寿命,在向目标存储介质写入数据资源之前先进行数据单元的聚合处理,只有当数据资源的大小满足第一预设条件时,才将该数据资源写入目标存储介质,因此,需要引入辅助存储介质,以在该辅助存储介质中完成数据单元的聚合,由于考虑到对该辅助存储介质的数据写操作通常为随机写操作,基于此,上述辅助存储介质包括:支持随机写入的存储介质;
在一个具体实施例中,上述辅助存储介质可以是Optane存储介质,其中,该Optane存储介质是一种采用超高速内存新技术的存储介质,能够兼容NVMe存储协议。
进一步的,采用上述数据存储方法可以达到顺序写入数据资源的效果,因此,基于上述数据存储方法向目标存储介质中写入数据,可以选择成本低,数据写性能比较差的存储介质作为目标存储介质,从而既能够延长目标存储介质的使用寿命,又能够享受目标存储介质的成本带来的红利,使得目标存储介质的成本低的优势得到充分发挥,基于此,上述目标存储介质包括:基于闪存芯片的固态硬盘,该闪存芯片的每个储存单元可存放大于或等于4个bit的信息;
在一个具体实施例中,上述目标存储介质可以是QLC SSD(Quad-Level CellSolid State Drive,基于4bit MLC闪存芯片的固态硬盘)。
具体的,以同时向目标存储介质中写入应用A产生的业务数据、应用B产生的业务数据、以及应用C产生的业务数据为例,如图9a所示,给出了采用现有的数据存储方式形成的垃圾回收单元中的数据分布情况,具体为:
在图9a中,由于应用A产生的业务数据、应用B产生的业务数据、以及应用C产生的业务数据是随机写入目标存储介质中的,导致后续进行失效数据回收时数据搬移操作比较多,增加了写放大系数,即针对每个垃圾回收(Garbage Collection,GC)单元,混杂分布应用A产生的业务数据、应用B产生的业务数据、以及应用C产生的业务数据,这样如果需要将应用A产生的业务数据作为垃圾数据进行回收,那么需要先将每个垃圾回收(GarbageCollection,GC)单元中的应用B产生的业务数据、以及应用C产生的业务数据搬移至不同数据区的空白页,再擦除该垃圾回收(Garbage Collection,GC)单元,在此过程中产生的搬移操作比较多,例如,图9a中针对最左端的GC单元,需要将6个应用B产生的业务数据和6个应用C产生的业务数据搬移至不同数据区的空白页;
也就是说,在图9a中,接收到待写入的混合业务数据后,直接将不同业务数据混合写入目标存储介质中,导致GC单元中的数据存储是混杂、杂乱无章的,进而导致对该GC单元进行垃圾回收时,需要执行大量数据搬移,增加了存储介质的写放大系数,缩短了存储介质的使用寿命。
如图9b所示,给出了采用本申请实施例提供的数据存储方式形成的垃圾回收单元中的数据分布情况,具体为:
在图9b中,针对应用A产生的业务数据、应用B产生的业务数据、以及应用C产生的业务数据同时请求写入目标存储介质中的情况,先在辅助存储介质中对各应用程序产生的业务数据进行聚合处理,当应用A产生的业务数据的大小满足第一预设条件时,才向目标存储介质中写入应用A对应的业务数据;同样的,当应用B产生的业务数据的大小满足第一预设条件时,才向目标存储介质中写入应用B对应的业务数据;当应用C产生的业务数据的大小满足第一预设条件时,才向目标存储介质中写入应用C对应的业务数据;并且选择地址连续且空间大小满足第二预设条件的目标空闲空间作为写入业务数据的存储空间,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,以便后续进行失效数据回收时减少数据搬移操作,大大降低了写放大系数,即针对每个垃圾回收(GarbageCollection,GC)单元,集中分布应用A产生的业务数据、应用B产生的业务数据、或者应用C产生的业务数据,这样如果需要将应用A产生的业务数据作为垃圾数据进行回收,那么由于应用A产生的业务数据集中分布于某些垃圾回收(Garbage Collection,GC)单元,这样针对将每个垃圾回收(Garbage Collection,GC)单元中的应用B产生的业务数据、以及应用C产生的业务数据搬移至不同数据区的空白页的过程,在此过程中产生的搬移操作比较少,例如,图9b中针对最左端的GC单元,只需将最后两个应用B产生的业务数据搬移至不同数据区的空白页即可;
也就是说,在图9b中,接收到待写入的混合业务数据后,先进行业务数据的聚合处理,将不同业务数据进行分类聚集,实现业务数据顺序写入至目标存储介质中,使待写入的业务数据的数据分布与存储介质的特性进行匹配,以使同一目标对象的业务数据尽可能写入同一GC单元中,这样对该GC单元进行垃圾回收时,需要搬移的数据量为零或很少,降低了存储介质的写放大系数,提升了存储介质的使用寿命。
具体的,针对存储介质中的垃圾回收机制,当在操作系统(例如,Windows)中删除文件时,操作系统只是在其内部文件表中做标记表示该文件已删除。由于NAND闪存设备不能覆盖现有数据,因此,在固态硬盘SSD上,当前无效的数据仍然保留在硬盘上。将产生大量的失效数据,也可以成为数据垃圾。为了提升SSD的利用效率,引入“垃圾回收”(GarbageCollection,GC)机制。
其中,针对存储介质的垃圾回收过程,具体包括:
固态硬盘中的控制器会先复制所有有效数据(仍在使用中的数据)并将其写入不同数据区的空白页、擦除当前数据区中的所有数据单元,然后开始将新数据写入刚刚擦除过的数据区。
所谓GC就是把一个闪存块里的“有效”页数据复制到一个“空白”块里,然后把这个块完全擦除。闪存块里“有效”页的数量对GC效率有决定性的影响,因数量越少,需要复制的页就越少,花费的时间也越少,效率就越高。
在向目标存储介质写入数据的过程中,需要有“空白”块来写入更新后的数据。当可以直接写入数据的备用“空白块”数量低于一个阈值(厂商在主控固件里设置,一般为全盘闪存容量写满后),那么SSD主控就会把包含“无效”数据的块里所有“有效”数据合并起来放到新的“空白”块里,并删除“无效”数据块来增加备用的“空白块”数量,该过程操作即为固态硬盘的SSD的GC机制。其中,Trim指令的效果即为直接产生更多的“无效”页数据,减轻GC的压力,从而减少用户发觉SSD性能下降的机会。
其中,向存储介质进行数据写入的方式,即以页面为单位写入,但是要想删除数据却需要以块为单位。因此要删除无用的数据,固态硬盘首先需要把一个块内包含有用的数据先复制粘贴到全新的块中的页面内,这样原来块中包含的无用数据才能够以块为单位删除。删除后,才能够写入新的数据,而在擦除之前是无法写入新数据的。
其中,SSD的写放大问题,因为当写入新数据时,如果SSD控制器找不到可以写入的page时,会执行GC过程,然后GC机制会将一些block中的有效数据合并写入其他的block中,再将这些block的无效数据擦出,再将新数据写入到这些block中,而在整个过程中除了要写入用户的数据之外,实际上SSD还写入了一些其他block合并过来的数据,在此过程将产生写入放大。
如图10所示,在一个具体的实施例中,给出了向目标存储介质中写入资源数据的过程,具体为:
(1)针对向目标存储介质写入业务数据的过程,具体包括:
通过数据聚合控制模块接收数据写请求,每个数据写请求中携带具有一定大小的数据子块,该数据子块包括多个具有指定特征的数据单元,数据聚合控制模块接收到数据写请求后,触发辅助存储介质进行数据聚合,其中,该数据聚合控制模块可以是设置于辅助存储介质中的控制模块;
通过辅助存储介质中的判断模块,判断聚合后的业务数据是否满足预设条件,若是,则将该聚合后的业务数据作为待存储的数据资源,执行上述步骤S101至S103;
(2)针对读写操作调度的过程,具体包括:
在向目标存储介质中写入数据资源的过程中,若接收到数据读请求,则通过读写操作调度模块采用优先响应数据读请求的方式,来实现大数据块写请求与读请求之间的优先级调度处理,具体的,在对目标空闲空间进行数据写操作时,若接收到数据读请求,则触发中止正在进行的数据写操作;以及,
响应于接收到的数据读请求,触发对目标存储介质进行数据读操作;
在数据读操作完成后,触发继续执行上述数据写操作;
(3)针对向目标存储介质写入元数据的过程,具体包括:
本地文件系统接收到待存储的业务数据后,需要生成用于描述该业务数据的元数据,并将该元数据传输至数据聚合控制模块,该数据聚合控制模块在接收到业务数据的元数据后,触发辅助存储介质对元数据进行聚合,通过辅助存储介质中的判断模块,判断聚合后的元数据是否满足预设条件,若是,则将该聚合后的元数据作为待存储的数据资源,执行上述步骤S101至S103;
(4)针对响应数据读请求的过程,具体包括:
通过读操作控制模块接收到数据读请求后,判断缓存内存和/或辅助存储介质中是否存在与该数据读请求对应的目标数据资源;
针对缓存介质或辅助存储介质中均不存在与该数据读请求对应的目标数据资源的情况,则响应于上述数据读请求,触发从目标存储介质中读取与该数据读请求对应的目标数据资源;
针对缓存介质或辅助存储介质任一项中存在与该数据读请求对应的目标数据资源的情况,则触发从缓存内存或者辅助存储介质中读取相应的目标数据资源。
本申请实施例中的数据存储方法,获取待存储的数据资源,其中,该数据资源的大小满足第一预设条件且数据资源中的数据单元具有相同特征;以及确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;对确定出的目标空闲空间进行数据写操作,以将数据资源存储于该目标空闲空间中。通过将特性相同的数据单元写入地址连续的空闲空间内,达到顺序写入数据资源的效果,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,缓解具有不同特征的数据在一个垃圾回收单元中混杂分布的情况,以使后续进行失效数据回收时减少数据搬移操作,从而降低数据写放大系数,延长存储介质的使用寿命。
对应上述图1至图10描述的数据存储方法,基于相同的技术构思,本申请实施例还提供了一种数据存储装置,图11为本申请实施例提供的数据存储装置的第一种模块组成示意图,该装置用于执行图1至图10描述的数据存储方法,如图11所示,该装置包括:
数据资源获取模块1101,用于获取待存储的数据资源,其中,所述数据资源的大小满足第一预设条件且所述数据资源中的数据单元具有相同特征;
存储空间分配模块1102,用于确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;
数据资源写入模块1103,用于对所述目标空闲空间进行数据写操作,以将所述数据资源存储于所述目标空闲空间中。
在本申请实施例中,通过将特性相同的数据单元写入地址连续的空闲空间内,达到顺序写入数据资源的效果,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,缓解具有不同特征的数据在一个垃圾回收单元中混杂分布的情况,以使后续进行失效数据回收时减少数据搬移操作,从而降低数据写放大系数,延长存储介质的使用寿命。
可选地,如图12所示,所述装置还包括:数据聚合控制模块1104,其中,所述数据聚合控制模块1104,用于:
接收数据写请求,其中,所述数据写请求携带有具有指定特征的业务数据;
根据所述业务数据的所述指定特征,在辅助存储介质中进行业务数据聚合生成待存储的数据资源。
可选地,所述存储空间分配模块1102,具体用于:
确定目标存储介质中至少一个备选空闲空间,其中,所述备选空闲空间对应的地址是连续的;
从所述至少一个备选空闲空间中,选择空间大小满足第二预设条件的目标空闲空间。
可选地,所述存储空间分配模块1102,进一步具体用于:
从所述至少一个备选空闲空间中,选取空间大小最大的所述备选空闲空间作为目标空闲空间。
可选地,所述存储空间分配模块1102,还进一步具体用于:
从所述至少一个备选空闲空间中,选取空间大小与所述数据资源的资源大小匹配的所述备选空闲空间作为目标空闲空间。
可选地,所述数据资源写入模块1103,具体用于:
根据所述目标空闲空间的参考地址和所述数据资源的资源大小,确定所述目标空闲空间中用于存储所述数据资源的地址范围,其中,所述参考地址包括:起始地址或末尾地址;
对确定出的所述地址范围对应的存储空间进行数据写操作,以将所述数据资源顺序存储于所述存储空间。
可选地,所述装置还包括:读写操作调度模块1105,其中,所述读写操作调度模块1105,用于:
在对所述目标空闲空间进行数据写操作时,若接收到数据读请求,则触发中止所述数据写操作;以及,
响应于所述数据读请求,触发对所述目标存储介质进行数据读操作;
在所述数据读操作完成后,触发继续执行所述数据写操作。
可选地,所述读写操作调度模块1105,具体用于:
在对所述目标空闲空间进行数据写操作时,若接收到数据读请求,则在所述数据写操作的当前操作阶段完成后,触发中止所述数据写操作;以及,
响应于所述数据读请求,触发对所述目标存储介质进行数据读操作;
在所述数据读操作完成后,触发继续执行所述数据写操作的所述当前操作阶段之后的操作阶段。
可选地,所述装置还包括:读操作控制模块1106,其中,所述读操作控制模块1106,用于:
在接收到数据读请求后,判断缓存内存和/或辅助存储介质中是否存在与所述数据读请求对应的目标数据资源;
若否,则响应于所述数据读请求,触发从所述目标存储介质中读取所述目标数据资源;
若是,则触发从所述缓存内存或者所述辅助存储介质中读取所述目标数据资源。
可选地,所述装置还包括:数据缓存模块1107,其中,所述数据缓存模块1107,用于:
将热点数据读请求对应的数据资源存入缓存内存中。
可选地,所述数据聚合控制模块1104,还用于:
接收针对业务数据的元数据,其中,所述元数据是本地文件系统基于获取到的具有指定特征的业务数据生成的;
根据所述业务数据的所述指定特征,在辅助存储介质中进行元数据聚合生成待存储的数据资源。
可选地,所述辅助存储介质包括:支持随机写入的存储介质。
可选地,所述目标存储介质包括:基于闪存芯片的固态硬盘,所述闪存芯片的每个储存单元可存放大于或等于4个bit的信息。
本申请实施例中的数据存储装置,获取待存储的数据资源,其中,该数据资源的大小满足第一预设条件且数据资源中的数据单元具有相同特征;以及确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;对确定出的目标空闲空间进行数据写操作,以将数据资源存储于该目标空闲空间中。通过将特性相同的数据单元写入地址连续的空闲空间内,达到顺序写入数据资源的效果,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,缓解具有不同特征的数据在一个垃圾回收单元中混杂分布的情况,以使后续进行失效数据回收时减少数据搬移操作,从而降低数据写放大系数,延长存储介质的使用寿命。
需要说明的是,本申请提供的装置实施例与本申请提供的方法实施例基于同一发明构思,因此该实施例的具体实施可以参见前述数据存储方法的实施,重复之处不再赘述。
对应上述图1至图10描述的数据存储方法,基于相同的技术构思,本申请实施例还提供了一种数据存储系统,该系统用于执行图1至图10描述的数据存储方法,该系统包括:
目标存储介质和如图11或图12所述的存储装置;其中,该目标存储介质,用于在存储装置控制下存储数据资源;
具体的,首先,获取待存储的数据资源,其中,该数据资源的大小满足第一预设条件且该数据资源中的数据单元具有相同特征,其中,数据单元的特征相同可以是数据来源相同,也可以是索引相同,例如,数据单元由同一应用程序产生得到的,在选取参考特征时,可以将与数据存活时间相关的特征作为参考特征,这样能够将数据回收触发时机接近的数据单元聚集在一起,以便减少后续进行失效数据回收时产生的数据搬移操作;
其中,上述第一预设条件可以包含多个最小阈值,针对数据单元不同类型设置不同的最小阈值,例如,针对数据单元为业务数据的情况,可以设定数据资源的大小的第一最小阈值,又如,针对数据单元为业务数据的元数据的情况,可以设定数据资源的大小的第二最小阈值;
具体的,针对写入次数比较低的存储介质,可以将待写入目标存储介质的数据单元进行聚合,当具有相同特征的待存储数据资源的大小满足第一预设条件时,才确定可以向目标存储介质中写入该数据资源,这样能够减少对目标存储介质的写操作次数,进而延长目标存储介质使用寿命。
然后,确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;
具体的,由于在向目标存储介质中写入数据资源之前,将待写入的数据子块进行聚合,使得待写入目标存储介质的数据资源的大小满足预设条件,以及将具有相同特征的数据单元聚集在一起,如果在确定待存储的数据资源的存储空间时,选取出地址连续且空间大小满足低于预设条件的空闲空间,将该空闲空间作为待存储的数据资源的存储空间。
最后,对确定出的目标空闲空间进行数据写操作,以将待存储的数据资源存储于该目标空闲空间中。
具体的,在获取到满足预设条件的数据资源以及确定出满足预设条件的目标空闲空间后,将该数据资源顺序写入该目标空闲空间,从而达到将数据资源顺序写入目标存储介质的效果,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,进而能够减少后续失效数据回收时的数据搬移操作,缓解目标存储介质的性能衰减程度。
本申请实施例中,通过将特性相同的数据单元写入地址连续的空闲空间内,达到顺序写入数据资源的效果,不需要对存储介质进行修改,即可实现顺序写入数据资源,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,缓解具有不同特征的数据在一个垃圾回收单元中混杂分布的情况,以使后续进行失效数据回收时减少数据搬移操作,从而降低数据写放大系数,延长存储介质的使用寿命。
其中,上述系统还包括:辅助存储介质;该辅助存储介质,用于在上述存储装置控制下进行数据聚合得到待存储的数据资源。
进一步的,采用上述数据存储方法可以达到顺序写入数据资源的效果,因此,基于上述数据存储方法向目标存储介质中写入数据,可以选择成本低,数据写性能比较差的存储介质作为目标存储介质,从而既能够延长目标存储介质的使用寿命,又能够享受目标存储介质的成本带来的红利,使得目标存储介质的成本低的优势得到充分发挥,基于此,上述目标存储介质包括:基于闪存芯片的固态硬盘,该闪存芯片的每个储存单元可存放大于或等于4个bit的信息;
在一个具体实施例中,上述目标存储介质可以是QLC SSD(Quad-Level CellSolid State Drive,基于4bit MLC闪存芯片的固态硬盘)。
进一步的,为了延长目标存储介质的使用寿命,在向目标存储介质写入数据资源之前先进行数据单元的聚合处理,只有当数据资源的大小满足第一预设条件时,才将该数据资源写入目标存储介质,因此,需要引入辅助存储介质,以在该辅助存储介质中完成数据单元的聚合,由于考虑到对该辅助存储介质的数据写操作通常为随机写操作,基于此,上述辅助存储介质包括:支持随机写入的存储介质;
在一个具体实施例中,上述辅助存储介质可以是Optane存储介质,其中,该Optane存储介质是一种采用超高速内存新技术的存储介质,能够兼容NVMe存储协议。
本申请实施例中的数据存储系统,获取待存储的数据资源,其中,该数据资源的大小满足第一预设条件且数据资源中的数据单元具有相同特征;以及确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;对确定出的目标空闲空间进行数据写操作,以将数据资源存储于该目标空闲空间中。通过将特性相同的数据单元写入地址连续的空闲空间内,达到顺序写入数据资源的效果,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,缓解具有不同特征的数据在一个垃圾回收单元中混杂分布的情况,以使后续进行失效数据回收时减少数据搬移操作,从而降低数据写放大系数,延长存储介质的使用寿命。
需要说明的是,本申请提供的系统实施例与本申请提供的方法实施例基于同一发明构思,因此该实施例的具体实施可以参见前述数据存储方法的实施,重复之处不再赘述。
进一步地,对应上述图1至图10所示的方法,基于相同的技术构思,本申请实施例还提供了一种数据存储设备,该设备用于执行上述的数据存储方法,如图13所示。
数据存储设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1301和存储器1302,存储器1302中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1302可以是短暂存储或持久存储。存储在存储器1302的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对数据存储设备中的一系列计算机可执行指令。更进一步地,处理器1301可以设置为与存储器1302通信,在数据存储设备上执行存储器1302中的一系列计算机可执行指令。数据存储设备还可以包括一个或一个以上电源1303,一个或一个以上有线或无线网络接口1304,一个或一个以上输入输出接口1305,一个或一个以上键盘1306等。
在一个具体的实施例中,数据存储设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对数据存储设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取待存储的数据资源,其中,所述数据资源的大小满足第一预设条件且所述数据资源中的数据单元具有相同特征;
确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;
对所述目标空闲空间进行数据写操作,以将所述数据资源存储于所述目标空闲空间中。
可选地,计算机可执行指令在被执行时,还包含用于进行以下计算机可执行指令:
所述获取待存储的数据资源之前,还包括:
接收数据写请求,其中,所述数据写请求携带有具有指定特征的业务数据;
根据所述业务数据的所述指定特征,在辅助存储介质中进行业务数据聚合生成待存储的数据资源。
可选地,计算机可执行指令在被执行时,所述确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间,包括:
确定目标存储介质中至少一个备选空闲空间,其中,所述备选空闲空间对应的地址是连续的;
从所述至少一个备选空闲空间中,选择空间大小满足第二预设条件的目标空闲空间。
可选地,计算机可执行指令在被执行时,所述从所述至少一个备选空闲空间中,选择空间大小满足第二预设条件的目标空闲空间,包括:
从所述至少一个备选空闲空间中,选取空间大小最大的所述备选空闲空间作为目标空闲空间。
可选地,计算机可执行指令在被执行时,所述从所述至少一个备选空闲空间中,选择空间大小满足第二预设条件的目标空闲空间,包括:
从所述至少一个备选空闲空间中,选取空间大小与所述数据资源的资源大小匹配的所述备选空闲空间作为目标空闲空间。
可选地,计算机可执行指令在被执行时,所述对所述目标空闲空间进行数据写操作,以将所述数据资源存储于所述目标空闲空间中,包括:
根据所述目标空闲空间的参考地址和所述数据资源的资源大小,确定所述目标空闲空间中用于存储所述数据资源的地址范围,其中,所述参考地址包括:起始地址或末尾地址;
对确定出的所述地址范围对应的存储空间进行数据写操作,以将所述数据资源顺序存储于所述存储空间。
可选地,计算机可执行指令在被执行时,还包含用于进行以下计算机可执行指令:
在对所述目标空闲空间进行数据写操作时,若接收到数据读请求,则触发中止所述数据写操作;以及,
响应于所述数据读请求,触发对所述目标存储介质进行数据读操作;
在所述数据读操作完成后,触发继续执行所述数据写操作。
可选地,计算机可执行指令在被执行时,所述触发中止所述数据写操作,包括:
在所述数据写操作的当前操作阶段完成后,触发中止所述数据写操作;
所述触发继续执行所述数据写操作,包括:
触发继续执行所述数据写操作的所述当前操作阶段之后的操作阶段。
可选地,计算机可执行指令在被执行时,还包含用于进行以下计算机可执行指令:
在接收到数据读请求后,判断缓存内存和/或辅助存储介质中是否存在与所述数据读请求对应的目标数据资源;
若否,则响应于所述数据读请求,触发从所述目标存储介质中读取所述目标数据资源;
若是,则触发从所述缓存内存或者所述辅助存储介质中读取所述目标数据资源。
可选地,计算机可执行指令在被执行时,还包含用于进行以下计算机可执行指令:
在判断缓存内存和/或辅助存储介质中是否存在与所述读请求对应的目标数据资源之前,还包括:
将热点数据读请求对应的数据资源存入缓存内存中。
可选地,计算机可执行指令在被执行时,还包含用于进行以下计算机可执行指令:
在获取待存储的数据资源之前,还包括:
接收针对业务数据的元数据,其中,所述元数据是本地文件系统基于获取到的具有指定特征的业务数据生成的;
根据所述业务数据的所述指定特征,在辅助存储介质中进行元数据聚合生成待存储的数据资源。
可选地,计算机可执行指令在被执行时,所述辅助存储介质包括:支持随机写入的存储介质。
可选地,计算机可执行指令在被执行时,所述目标存储介质包括:基于闪存芯片的固态硬盘,所述闪存芯片的每个储存单元可存放大于或等于4个bit的信息。
本申请实施例中的数据存储设备,获取待存储的数据资源,其中,该数据资源的大小满足第一预设条件且数据资源中的数据单元具有相同特征;以及确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;对确定出的目标空闲空间进行数据写操作,以将数据资源存储于该目标空闲空间中。通过将特性相同的数据单元写入地址连续的空闲空间内,达到顺序写入数据资源的效果,这样能够使得具有相同特征的数据尽可能地在目标存储介质中集中分布,缓解具有不同特征的数据在一个垃圾回收单元中混杂分布的情况,以使后续进行失效数据回收时减少数据搬移操作,从而降低数据写放大系数,延长存储介质的使用寿命。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (30)

1.一种数据存储方法,包括:
获取待存储的数据资源,其中,所述数据资源的大小满足第一预设条件且所述数据资源中的数据单元具有相同特征;
确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;
对所述目标空闲空间进行数据写操作,以将所述数据资源存储于所述目标空闲空间中。
2.根据权利要求1所述的方法,其中,所述获取待存储的数据资源之前,还包括:
接收数据写请求,其中,所述数据写请求携带有具有指定特征的业务数据;
根据所述业务数据的所述指定特征,在辅助存储介质中进行业务数据聚合生成待存储的数据资源。
3.根据权利要求1所述的方法,其中,所述确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间,包括:
确定目标存储介质中至少一个备选空闲空间,其中,所述备选空闲空间对应的地址是连续的;
从所述至少一个备选空闲空间中,选择空间大小满足第二预设条件的目标空闲空间。
4.根据权利要求3所述的方法,其中,所述从所述至少一个备选空闲空间中,选择空间大小满足第二预设条件的目标空闲空间,包括:
从所述至少一个备选空闲空间中,选取空间大小最大的所述备选空闲空间作为目标空闲空间。
5.根据权利要求3所述的方法,其中,所述从所述至少一个备选空闲空间中,选择空间大小满足第二预设条件的目标空闲空间,包括:
从所述至少一个备选空闲空间中,选取空间大小与所述数据资源的资源大小匹配的所述备选空闲空间作为目标空闲空间。
6.根据权利要求1所述的方法,其中,所述对所述目标空闲空间进行数据写操作,以将所述数据资源存储于所述目标空闲空间中,包括:
根据所述目标空闲空间的参考地址和所述数据资源的资源大小,确定所述目标空闲空间中用于存储所述数据资源的地址范围,其中,所述参考地址包括:起始地址或末尾地址;
对确定出的所述地址范围对应的存储空间进行数据写操作,以将所述数据资源顺序存储于所述存储空间。
7.根据权利要求1所述的方法,其中,所述方法还包括:
在对所述目标空闲空间进行数据写操作时,若接收到数据读请求,则触发中止所述数据写操作;以及,
响应于所述数据读请求,触发对所述目标存储介质进行数据读操作;
在所述数据读操作完成后,触发继续执行所述数据写操作。
8.根据权利要求7所述的方法,其中,所述触发中止所述数据写操作,包括:
在所述数据写操作的当前操作阶段完成后,触发中止所述数据写操作;
所述触发继续执行所述数据写操作,包括:
触发继续执行所述数据写操作的所述当前操作阶段之后的操作阶段。
9.根据权利要求1所述的方法,其中,所述方法还包括:
在接收到数据读请求后,判断缓存内存和/或辅助存储介质中是否存在与所述数据读请求对应的目标数据资源;
若否,则响应于所述数据读请求,触发从所述目标存储介质中读取所述目标数据资源;
若是,则触发从所述缓存内存或者所述辅助存储介质中读取所述目标数据资源。
10.根据权利要求9所述的方法,其中,在判断缓存内存和/或辅助存储介质中是否存在与所述读请求对应的目标数据资源之前,还包括:
将热点数据读请求对应的数据资源存入缓存内存中。
11.根据权利要求2所述的方法,其中,在获取待存储的数据资源之前,还包括:
接收针对业务数据的元数据,其中,所述元数据是本地文件系统基于获取到的具有指定特征的业务数据生成的;
根据所述业务数据的所述指定特征,在辅助存储介质中进行元数据聚合生成待存储的数据资源。
12.根据权利要求2或11所述的方法,其中,所述辅助存储介质包括:支持随机写入的存储介质。
13.根据权利要求1至11任一项所述的方法,其中,所述目标存储介质包括:基于闪存芯片的固态硬盘,所述闪存芯片的每个储存单元可存放大于或等于4个bit的信息。
14.一种数据存储装置,包括:
数据资源获取模块,用于获取待存储的数据资源,其中,所述数据资源的大小满足第一预设条件且所述数据资源中的数据单元具有相同特征;
存储空间分配模块,用于确定目标存储介质中地址连续且空间大小满足第二预设条件的目标空闲空间;
数据资源写入模块,用于对所述目标空闲空间进行数据写操作,以将所述数据资源存储于所述目标空闲空间中。
15.根据权利要求14所述的装置,其中,所述装置还包括:数据聚合控制模块,其中,所述数据聚合控制模块,用于:
接收数据写请求,其中,所述数据写请求携带有具有指定特征的业务数据;
根据所述业务数据的所述指定特征,在辅助存储介质中进行业务数据聚合生成待存储的数据资源。
16.根据权利要求14所述的装置,其中,所述存储空间分配模块,具体用于:
确定目标存储介质中至少一个备选空闲空间,其中,所述备选空闲空间对应的地址是连续的;
从所述至少一个备选空闲空间中,选择空间大小满足第二预设条件的目标空闲空间。
17.根据权利要求16所述的装置,其中,所述存储空间分配模块,进一步具体用于:
从所述至少一个备选空闲空间中,选取空间大小最大的所述备选空闲空间作为目标空闲空间。
18.根据权利要求16所述的装置,其中,所述存储空间分配模块,还进一步具体用于:
从所述至少一个备选空闲空间中,选取空间大小与所述数据资源的资源大小匹配的所述备选空闲空间作为目标空闲空间。
19.根据权利要求14所述的装置,其中,所述数据资源写入模块,具体用于:
根据所述目标空闲空间的参考地址和所述数据资源的资源大小,确定所述目标空闲空间中用于存储所述数据资源的地址范围,其中,所述参考地址包括:起始地址或末尾地址;
对确定出的所述地址范围对应的存储空间进行数据写操作,以将所述数据资源顺序存储于所述存储空间。
20.根据权利要求14所述的装置,其中,所述装置还包括:读写操作调度模块,其中,所述读写操作调度模块,用于:
在对所述目标空闲空间进行数据写操作时,若接收到数据读请求,则触发中止所述数据写操作;以及,
响应于所述数据读请求,触发对所述目标存储介质进行数据读操作;
在所述数据读操作完成后,触发继续执行所述数据写操作。
21.根据权利要求20所述的装置,其中,所述读写操作调度模块,具体用于:
在对所述目标空闲空间进行数据写操作时,若接收到数据读请求,则在所述数据写操作的当前操作阶段完成后,触发中止所述数据写操作;以及,
响应于所述数据读请求,触发对所述目标存储介质进行数据读操作;
在所述数据读操作完成后,触发继续执行所述数据写操作的所述当前操作阶段之后的操作阶段。
22.根据权利要求14所述的装置,其中,所述装置还包括:读操作控制模块,其中,所述读操作控制模块,用于:
在接收到数据读请求后,判断缓存内存和/或辅助存储介质中是否存在与所述数据读请求对应的目标数据资源;
若否,则响应于所述数据读请求,触发从所述目标存储介质中读取所述目标数据资源;
若是,则触发从所述缓存内存或者所述辅助存储介质中读取所述目标数据资源。
23.根据权利要求22所述的装置,其中,所述装置还包括:数据缓存模块,其中,所述数据缓存模块,用于:
将热点数据读请求对应的数据资源存入缓存内存中。
24.根据权利要求15所述的装置,其中,所述数据聚合控制模块,还用于:
接收针对业务数据的元数据,其中,所述元数据是本地文件系统基于获取到的具有指定特征的业务数据生成的;
根据所述业务数据的所述指定特征,在辅助存储介质中进行元数据聚合生成待存储的数据资源。
25.根据权利要求15或24所述的装置,其中,所述辅助存储介质包括:支持随机写入的存储介质。
26.根据权利要求14至24任一项所述的装置,其中,所述目标存储介质包括:基于闪存芯片的固态硬盘,所述闪存芯片的每个储存单元可存放大于或等于4个bit的信息。
27.一种数据存储系统,包括:目标存储介质和如权利要求14至24任一项所述的存储装置;
其中,所述目标存储介质,用于在所述存储装置控制下存储数据资源。
28.根据权利要求27所述的系统,其中,所述系统还包括:辅助存储介质;
其中,所述辅助存储介质,用于在所述存储装置控制下进行数据聚合得到待存储的数据资源。
29.根据权利要求27所述的系统,其中,所述目标存储介质包括:基于闪存芯片的固态硬盘,所述闪存芯片的每个储存单元可存放大于或等于4个bit的信息。
30.根据权利要求28所述的系统,其中,所述辅助存储介质包括:支持随机写入的存储介质。
CN201811147171.1A 2018-09-29 2018-09-29 一种数据存储方法、装置及系统 Active CN110968253B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811147171.1A CN110968253B (zh) 2018-09-29 2018-09-29 一种数据存储方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811147171.1A CN110968253B (zh) 2018-09-29 2018-09-29 一种数据存储方法、装置及系统

Publications (2)

Publication Number Publication Date
CN110968253A true CN110968253A (zh) 2020-04-07
CN110968253B CN110968253B (zh) 2023-06-06

Family

ID=70027238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811147171.1A Active CN110968253B (zh) 2018-09-29 2018-09-29 一种数据存储方法、装置及系统

Country Status (1)

Country Link
CN (1) CN110968253B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858392A (zh) * 2020-07-03 2020-10-30 海尔优家智能科技(北京)有限公司 一种内存空间的分配方法及装置、存储介质、电子装置
CN112558868A (zh) * 2020-12-07 2021-03-26 炬芯科技股份有限公司 一种配置数据存储的方法和装置及设备
CN112732182A (zh) * 2020-12-29 2021-04-30 北京浪潮数据技术有限公司 一种nand的数据写入方法及相关装置
CN113076062A (zh) * 2021-03-30 2021-07-06 山东英信计算机技术有限公司 一种提升qlcssd寿命的方法和设备
CN113608702A (zh) * 2021-08-18 2021-11-05 合肥大唐存储科技有限公司 一种实现数据处理的方法、装置、计算机存储介质及终端
CN113986117A (zh) * 2021-09-13 2022-01-28 阿里云计算有限公司 文件的存储方法、系统、计算设备及存储介质
CN114281247A (zh) * 2021-11-29 2022-04-05 深圳三地一芯电子有限责任公司 一种基于混合介质的flash带宽分配方法及装置
CN114625321A (zh) * 2022-03-25 2022-06-14 阿里巴巴(中国)有限公司 数据写入方法以及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458932A (zh) * 2007-12-13 2009-06-17 株式会社东芝 用于以顺序访问的方式将数据写入盘驱动器的方法和设备
CN102667736A (zh) * 2010-01-27 2012-09-12 株式会社东芝 存储器管理装置及存储器管理方法
US20140089565A1 (en) * 2012-09-27 2014-03-27 Arkologic Limited Solid state device write operation management system
CN104765575A (zh) * 2015-04-23 2015-07-08 成都博元时代软件有限公司 信息存储处理方法
US20170185512A1 (en) * 2012-05-22 2017-06-29 Netapp, Inc. Specializing i/o access patterns for flash storage
CN106970765A (zh) * 2017-04-25 2017-07-21 杭州宏杉科技股份有限公司 数据存储方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458932A (zh) * 2007-12-13 2009-06-17 株式会社东芝 用于以顺序访问的方式将数据写入盘驱动器的方法和设备
CN102667736A (zh) * 2010-01-27 2012-09-12 株式会社东芝 存储器管理装置及存储器管理方法
US20170185512A1 (en) * 2012-05-22 2017-06-29 Netapp, Inc. Specializing i/o access patterns for flash storage
US20140089565A1 (en) * 2012-09-27 2014-03-27 Arkologic Limited Solid state device write operation management system
CN104765575A (zh) * 2015-04-23 2015-07-08 成都博元时代软件有限公司 信息存储处理方法
CN106970765A (zh) * 2017-04-25 2017-07-21 杭州宏杉科技股份有限公司 数据存储方法及装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858392A (zh) * 2020-07-03 2020-10-30 海尔优家智能科技(北京)有限公司 一种内存空间的分配方法及装置、存储介质、电子装置
CN111858392B (zh) * 2020-07-03 2024-05-24 海尔优家智能科技(北京)有限公司 一种内存空间的分配方法及装置、存储介质、电子装置
CN112558868A (zh) * 2020-12-07 2021-03-26 炬芯科技股份有限公司 一种配置数据存储的方法和装置及设备
CN112558868B (zh) * 2020-12-07 2024-04-09 炬芯科技股份有限公司 一种配置数据存储的方法和装置及设备
CN112732182A (zh) * 2020-12-29 2021-04-30 北京浪潮数据技术有限公司 一种nand的数据写入方法及相关装置
CN113076062A (zh) * 2021-03-30 2021-07-06 山东英信计算机技术有限公司 一种提升qlcssd寿命的方法和设备
CN113076062B (zh) * 2021-03-30 2023-01-06 山东英信计算机技术有限公司 一种提升qlcssd寿命的方法和设备
CN113608702A (zh) * 2021-08-18 2021-11-05 合肥大唐存储科技有限公司 一种实现数据处理的方法、装置、计算机存储介质及终端
CN113986117A (zh) * 2021-09-13 2022-01-28 阿里云计算有限公司 文件的存储方法、系统、计算设备及存储介质
CN114281247A (zh) * 2021-11-29 2022-04-05 深圳三地一芯电子有限责任公司 一种基于混合介质的flash带宽分配方法及装置
CN114281247B (zh) * 2021-11-29 2022-10-14 深圳三地一芯电子有限责任公司 一种基于混合介质的flash带宽分配方法及装置
CN114625321A (zh) * 2022-03-25 2022-06-14 阿里巴巴(中国)有限公司 数据写入方法以及装置

Also Published As

Publication number Publication date
CN110968253B (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
CN110968253B (zh) 一种数据存储方法、装置及系统
TWI446168B (zh) 記憶體系統
JP6343438B2 (ja) コンピュータシステム及びコンピュータシステムのデータ管理方法
KR100484147B1 (ko) 플래시 메모리 관리 방법
KR101717081B1 (ko) 비휘발성 램과 휘발성 램을 버퍼 메모리로 사용하는 저장 장치
US10572379B2 (en) Data accessing method and data accessing apparatus
JP6817318B2 (ja) フラッシュメモリデバイスにアクセスするための方法および装置
TW201818249A (zh) 操作對多重名稱空間進行管理的儲存裝置的方法
US20150067001A1 (en) Cache management in a computerized system
EP2665065A2 (en) Electronic device employing flash memory
US9851926B2 (en) Log structured block device for hard disk drive
CN113093993B (zh) 一种闪存空间动态分配方法及固态硬盘
US20150058534A1 (en) Managing method for cache memory of solid state drive
CN110362499B (zh) 电子机器及其控制方法、计算机系统及其控制方法以及主机的控制方法
KR101297442B1 (ko) 공간 지역성을 고려한 요구 기반 플래시 메모리 변환 계층을 포함하는 낸드 플래시 메모리 시스템
TW201917581A (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器
KR20100114381A (ko) 동작 수행 중 다른 요청을 우선 처리할 수 있는 비휘발성 메모리 컨트롤러, 이를 포함하는 시스템 및 그 관리 방법
KR20090012821A (ko) 플래시 메모리에 최적화된 입출력 제어 방법 및 장치
CN111880723B (zh) 数据储存装置与数据处理方法
KR101374065B1 (ko) 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치
CN106557428B (zh) 数据存储设备的映射系统选择
CN108733577B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
CN115756312A (zh) 数据访问系统、数据访问方法和存储介质
WO2017022082A1 (ja) フラッシュメモリパッケージ、及び、フラッシュメモリパッケージを含むストレージシステム
TWI517165B (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