CN112445412A - 一种数据存储方法及装置 - Google Patents
一种数据存储方法及装置 Download PDFInfo
- Publication number
- CN112445412A CN112445412A CN201910800842.8A CN201910800842A CN112445412A CN 112445412 A CN112445412 A CN 112445412A CN 201910800842 A CN201910800842 A CN 201910800842A CN 112445412 A CN112445412 A CN 112445412A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- page
- read
- level identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000013500 data storage Methods 0.000 title claims abstract description 63
- 230000001934 delay Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 32
- 239000007787 solid Substances 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 description 44
- 238000010586 diagram Methods 0.000 description 18
- 238000013461 design Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 239000002245 particle Substances 0.000 description 6
- 239000008187 granular material Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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]
-
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请实施例公开一种数据存储方法及装置,该方法应用于存储设备,所述存储设备包括至少两种读写时延不同的存储页。在该方法中,首先获取第一数据和第一数据的时延级别标识,然后根据不同类型的存储页与时延级别标识之间的对应关系,确定该时延级别标识对应的第一存储页,再将第一数据写入所述第一存储页。通过本申请,能够根据存储设备内包括的各种存储页的不同的读写时延进行数据存储,也就是说,本申请实施例公开的方案,利用了存储设备内各种存储页的读写时延的差异,分级存储系统中只需设置一种存储设备,即可实现分级存储,从而解决了现有的分级存储系统所存在的配置较为复杂的问题。
Description
技术领域
本申请涉及存储技术领域,具体涉及一种数据存储方法及装置。
背景技术
为了实现数据的分级存储,通常采用分级存储系统。目前常用的分级存储系统通常如图1所示,该分级存储系统通常包括:处理器110、接口卡210以及通过接口卡210,与所述处理器110相连接的多种读写时延不同的存储设备,在图1中,所述不同类型的存储设备可分别为第一存储设备310、第二存储设备320和第三存储设备330。例如,在分级存储系统中,不同读写时延的存储设备可以为存储级内存(storage class memory,SCM)、固态硬盘(solid state disk,SSD)和硬盘驱动器(hard disk drive,HDD)等。通过该分级存储系统,能够将内存中的数据存储至不同类型的存储设备中。
由于在分级存储系统中,配置有多种不同读写时延的存储设备,因此,将对存储速度要求较高的数据,存储至读写时延较低的存储设备中,并将对存储速度要求较低的数据,存储至读写时延较高的存储设备,从而将不同存储需求的数据存储至读写时延不同的的存储设备中,即实现对数据的分级存储。例如,SCM的读写时延低于SSD的读写时延,因此,可将对存储速度要求较高的数据存储至SCM中,而将存储速度要求较低的数据存储至SSD中,从而实现分级存储。
但是,发明人在本申请的研究过程中发现,现有的分级存储系统,需要同时配置至少两种不同读写时延的存储设备,导致分级存储系统的配置较为复杂。
发明内容
为了解决现有的分级存储系统,由于需要同时配置至少两种不同读写时延的存储设备,导致分级存储系统的配置较为复杂的问题,本申请实施例公开一种数据存储方法和装置。
第一方面,本申请实施例提供一种数据存储方法,应用于存储设备,所述存储设备至少包括第一存储页和第二存储页,所述第一存储页和所述第二存储页的类型不同,不同类型的存储页具有不同的读写时延,所述方法包括:
接收第一数据和所述第一数据的时延级别标识,所述第一数据的时延级别标识用于指示所述第一数据对读写时延的需求级别;
根据所述第一数据的时延级别标识,以及不同类型的存储页与时延级别标识之间的对应关系,确定所述第一数据对应的存储页是所述第一存储页;
将所述第一数据保存在所述第一存储页中。
本申请实施例公开的方案,利用了存储设备内各种存储页的读写时延的差异,实现对数据的分级存储,通过本申请实施例的方案,分级存储系统中只需设置一种存储设备,即可实现分级存储,从而解决了现有的分级存储系统所存在的配置较为复杂的问题。
一种可选的设计中,在所述将所述第一数据保存在所述第一存储页中之前,还包括:
确定所述第一存储页有足够的可用容量存储所述第一数据。
一种可选的设计中,还包括:
接收第二数据和所述第二数据的时延级别标识,所述第二数据的时延级别标识用于指示所述第二数据对读写时延的需求级别;
根据所述第二数据的时延级别标识,以及所述不同类型的存储页与时延级别标识之间的对应关系,确定所述第二数据对应的存储页是所述第一存储页;
当所述第一存储页的可用容量不足以存储所述第二数据时,从所述存储设备包含的存储页中选择所述第二存储页,所述第二存储页的读写时延与所述第一存储页的读写时延的差值低于预设阈值;
将所述第二数据写入所述第二存储页。
通过上述步骤,存储设备还能够实现对第二数据的分级存储。
一种可选的设计中,在所述将所述第一数据保存在所述第一存储页中之后,还包括:
当所述第一数据的时延级别标识发生变化时,将所述第一数据从所述第一存储页搬移至变化后的时延级别标识所对应的其他存储页。
通过上述步骤,能够实现对第一数据的搬移,并且,相对于现有的分级存储系统,应用本申请各实施例的方案时,能够简化数据搬移的操作,提高数据搬移的效率,以及减少对处理器的占用。
一种可选的设计中,在所述将所述第一数据从第一存储页搬移至变化后的时延级别标识所对应的其他存储页之前,还包括:监控到已满足搬移条件。
通过上述步骤,存储设备在满足搬移触发条件之后,再进行数据搬移。其中,在等待满足搬移触发条件的过程中,有时还会发生需要数据搬移的事件,这种情况下,可将其他需要搬移的数据与所述第一数据共同进行数据搬移,从而减少了数据搬移的次数,简化了数据搬移过程。
一种可选的设计中,当接收到所述第一数据对应的搬移指令时,根据所述搬移指令中包括的所述第一数据的时延级别标识,确定所述第一数据的时延级别标识是否发生变化。
一种可选的设计中,所述存储设备为固态硬盘SSD。
第二方面,本申请实施例公开一种数据存储装置,应用于存储设备,所述存储设备至少包括第一存储页和第二存储页,所述第一存储页和所述第二存储页的类型不同,不同类型的存储页具有不同的读写时延,所述装置包括:
收发单元,用于接收第一数据和所述第一数据的时延级别标识,所述第一数据的时延级别标识用于指示所述第一数据对读写时延的需求级别;
处理单元,用于根据所述第一数据的时延级别标识,以及不同类型的存储页与时延级别标识之间的对应关系,确定所述第一数据对应的存储页是所述第一存储页,并将所述第一数据保存在所述第一存储页中
一种可选的设计中,所述处理单元还用于,在所述将所述第一数据保存在所述第一存储页中之前,确定所述第一存储页有足够的可用容量存储所述第一数据。
一种可选的设计中,所述收发单元,还用于接收第二数据和所述第二数据的时延级别标识,所述第二数据的时延级别标识用于指示所述第二数据对读写时延的需求级别;
所述处理单元还用于,根据所述第二数据的时延级别标识,以及所述不同类型的存储页与时延级别标识之间的对应关系,确定所述第二数据对应的存储页是所述第一存储页;
当所述第一存储页的可用容量不足以存储所述第二数据时,所述处理单元还用于从所述存储设备包含的存储页中选择所述第二存储页,所述第二存储页的读写时延与所述第一存储页的读写时延的差值低于预设阈值,并将所述第二数据写入所述第二存储页。
一种可选的设计中,所述处理单元还用于,在所述将所述第一数据保存在所述第一存储页中之后,当所述第一数据的时延级别标识发生变化时,将所述第一数据从所述第一存储页搬移至变化后的时延级别标识所对应的其他存储页。
一种可选的设计中,所述处理单元还用于,在所述将所述第一数据从第一存储页搬移至变化后的时延级别标识所对应的其他存储页之前,监控到已满足搬移条件。
一种可选的设计中,当接收到所述第一数据对应的搬移指令时,根据所述搬移指令中包括的所述第一数据的时延级别标识,所述处理单元确定所述第一数据的时延级别标识是否发生变化。
一种可选的设计中,所述存储设备为固态硬盘SSD。
第三方面,本申请实施例公开一种数据存储装置,应用于存储设备,所述存储设备至少包括第一存储页和第二存储页,所述第一存储页和所述第二存储页的类型不同,不同类型的存储页具有不同的读写时延,所述装置包括:
处理器、存储器和收发器;
其中,所述存储器,用于存储程序指令;
所述收发器,用于收发数据;
所述处理器,用于调用并执行所述存储器中存储的程序指令,所述处理器执行所述程序指令时,使得所述装置执行如第一方面所述的方法。
第四方面,本申请实施例公开一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行如第一方面所述的方法。
第五方面,本申请实施例公开一种包含指令的计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如第一方面所述的方法。
本申请实施例公开的数据存储方法,能够根据存储设备内包括的各种存储页的不同的读写时延进行数据存储,也就是说,本申请实施例公开的方案,利用了存储设备内各种存储页的读写时延的差异,实现对数据的分级存储。现有的分级存储系统必须同时配置至少两种不同读写时延的存储设备,而通过本申请实施例的方案,分级存储系统中只需设置一种存储设备,即可实现分级存储,从而解决了现有的分级存储系统所存在的配置较为复杂的问题。
进一步的,现有的分级存储系统中,不同读写时延的存储设备通过同一接口卡,与分级存储系统中的处理器相连接,而不同存储设备对接口卡的需求可能不同,因此,还需要对接口卡进行兼容性处理,才能实现各个存储设备与所述处理器的连接。
而本申请实施例公开的方案,由于只需设置一种存储设备,因此,无需对接口卡进行兼容性处理,进一步简化了分级存储系统的配置方式。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术公开的一种分级存储系统的示意图;
图2为本申请实施例公开的一种数据存储方法的工作流程示意图;
图3为应用本申请实施例的一种数据存储方法的分级存储系统示意图;
图4为应用本申请实施例的一种数据存储方法的又一分级存储系统示意图;
图5为本申请实施例公开的又一种数据存储方法的工作流程示意图;
图6为本申请实施例公开的又一种数据存储方法的工作流程示意图;
图7为本申请实施例公开的又一种数据存储方法的工作流程示意图;
图8为本申请实施例公开的又一种数据存储方法的工作流程示意图;
图9为本申请实施例公开的一种数据存储装置的结构示意图;
图10为本申请实施例公开的另一种数据存储装置的结构示意图。
具体实施方式
为了解决现有的分级存储系统,由于需要同时配置至少两种不同读写时延的存储设备,导致分级存储系统的配置较为复杂的问题,本申请实施例公开一种数据存储方法和装置。
本申请的实施例公开一种数据存储方法,该数据存储方法应用于存储设备,所述存储设备至少包括第一存储页(即page)和第二存储页,所述第一存储页和所述第二存储页的类型不同,不同类型的存储页具有不同的读写时延。另外,所述存储设备还通过接口卡,与分级存储系统中的处理器相连接。其中,所述处理器可以为中央处理器(centralprocessing unit,CPU),或者,还可以为其他具有处理功能的组件,本申请对此不做限定。
由于所述存储设备中,不同类型的存储页的读写时延不同,因此,在本申请实施例中,可将存储速度需求不同的数据,存储至同一存储设备的不同的存储页中。
另外,在存储器中,通常还设置有该存储器的主控芯片,所述主控芯片可应用本申请实施例公开的数据存储方法。
为了明确本申请实施例所公开的方案,本申请实施例公开了图2,其中,图2为应用本申请实施例公开的方法的分级存储系统,该分级存储系统中,包括:处理器120以及接口卡220,另外,所述分级存储系统还包括存储设备340,所述存储设备340能够执行本申请实施例公开的数据存储方法。
其中,所述存储设备340通过所述接口卡220与所述处理器120相连接,并且,所述存储设备至少包括两种读写时延不同的存储页,在图2中,所述存储设备340包括的不同类型的存储页分别为第一存储页342、第二存储页343、第三存储页344和第四存储页345。其中,第一存储页342、第二存储页343、第三存储页344和第四存储页345的读写时延均不相同。并且,所述存储设备340中还包括主控芯片341。在进行数据存储时,所述存储设备340遵循本申请各个实施例所公开的方案,依据自身包括的各种存储页的读写时延的差异,实现对数据的分级存储。
在一个可行的示例中,所述存储设备340为固态硬盘(solid state disk,SSD),当该SSD的存储颗粒为四比特单元(4bits/cell,QLC)时,该SSD中通常包括四种类型的存储页,这四种类型的存储页分别为LP(lower page,低时延页)、UP(upper page,较低时延页)、XP(extra page,较高时延页)和TP(top page,高时延页)。这种情况下,所述第一存储页342、第二存储页343、第三存储页344和第四存储页345分别为LP、UP、XP和TP。
其中,LP的读写时延约为56us,UP的读写时延约为82us,XP的读写时延约为135us,TP的读写时延约为241us,也就是说,四种类型的存储页的读写时延均不相同。这种情况下,SSD可通过本申请实施例公开的数据存储方法,将存储速度需求不同的数据,存储至读写时延不同的存储页中。
另外,所述存储设备还可以为应用其他存储颗粒的SSD,例如,还可以为存储颗粒为三层存储单元(trinary-level cell,TLC)的SSD。进一步的,还可以为其他包括至少两种读写时延不同的存储页的存储设备,本申请实施例对此不做限定。
进一步的,当需要分级存储设备具备较大的存储容量时,参见图3所示的示意图,还可以同时设置多个存储设备340,所述多个存储设备340为同一种存储设备,并且,所述多个存储设备340均通过接口卡220与所述处理器120相连接,并且能够依据本申请实施例公开的方案,实现数据的存储。
当需要存储数据时,处理器120会向具有足够可用容量的存储设备传输待存储的数据和待存储的数据的时延级别标识。例如,在一种可行的实现方式中,处理器120确定需要存储数据时,可根据预设的编号,依次确定各个存储设备340是否具备足够的存储空间,当确定某一个存储设备340具备足够的存储空间时,处理器120再向该存储设备340传输待存储的数据和所述待存储的数据的时延级别标识,以便该存储设备340依据本申请公开的数据存储方法,实现数据的分级存储。
这种情况下,在一个可行的示例中,所述各个存储设备340均为SSD,该SSD中包括LP、UP、XP和TP四种存储页。当然,所述各个存储设备340还可以为应用其他存储颗粒的SSD,例如,还可以为存储颗粒为三层存储单元(trinary-level cell,TLC)的SSD。进一步的,还可以为其他包括至少两种读写时延不同的存储页的存储设备,本申请实施例对此不做限定。
下面将结合工作流程,对本申请实施例公开的数据存储方法进行介绍。其中,图4为本申请实施例公开的数据存储方法的工作流程示意图,图4所示的方法可应用于图2和图3包括的存储设备中,该存储设备可以为SSD,或者,还可以为其他包括至少两种读写时延不同的存储页的存储设备。
参见图4,本申请实施例公开的数据存储方法包括以下步骤:
步骤S11、接收第一数据和所述第一数据的时延级别标识,所述第一数据的时延级别标识用于指示所述第一数据对读写时延的需求级别
其中,所述第一数据和所述第一数据的时延级别标识,可由分级存储系统中的处理器传输至所述存储设备。
在本申请实施例中,分级存储系统中的处理器能够根据数据的热度等因素,确定数据对读写时延的需求级别。通常情况下,当某一数据的热度较高时,则认为该数据对读写时延的需求较高,需要将其存储至读写时延较低的存储页中,相应的,处理器确定该数据对读写时延的需求级别较高;如果待存储的数据的热度较低,则认为该数据对读写时延的需求较低,为了减少对低读写时延的存储页的占用,通常将其存储至读写时延较高的存储页中,相应的,处理器确定该数据对读写时延的需求级别较低。
另外,处理器在确定数据对读写时延的需求级别之后,可生成相应的时延级别标识,并向存储设备传输该数据和该数据的时延级别标识。
其中,在传输过程中,处理器可将数据和该数据的时延级别标识封装在一个数据包内,并将该数据包传输至存储设备,或者,还可以通过两条信息,分别将数据和该数据对应的时延级别标识传输至存储设备。
步骤S12、根据所述第一数据的时延级别标识,以及不同类型的存储页与时延级别标识之间的对应关系,确定所述第一数据对应的存储页是所述第一存储页。
在本申请实施例中,预先设定所述存储设备中不同类型的存储页与时延级别标识之间的对应关系,在该对应关系中,读写时延越低的存储页,对应的时延级别标识所指示的对读写时延的需求级别越高,以便通过低读写时延的存储页,存储对读写时延的需求级别较高的数据,并且将对读写时延的需求级别较低的数据,存储至高读写时延的存储页。
在一个示例中,所述存储设备为SSD,并且该SSD的存储颗粒为QLC,这种情况下,该存储设备包括四种类型的存储页,分别为LP、UP、XP和TP,并且,这四种类型的存储页的读写时延依次增高。
这种情况下,所述时延级别标识可包括四种,不同类型的存储页与时延级别标识之间的对应关系可如下表所示:
存储页 | 时延级别标识 |
LP | 1 |
UP | 2 |
XP | 3 |
TP | 4 |
在上表中,时延级别标识包括1~4,并且,对应第一数据对读写时延的需求级别依次降低。也就是说,当第一数据对读写时延的需求级别最高时,处理器确定所述第一数据的时延级别标识为1,存储设备在接收到第一数据和所述第一数据的时延级别标识之后,根据上表,可确定所述第一数据的第一存储页为LP。
步骤S13、确定所述第一存储页是否有足够的可用容量存储所述第一数据,若是,执行步骤S14的操作,若否,执行步骤S15的操作。
也就是说,检测所述第一存储页中剩余的存储空间是否小于所述第一数据的容量,当所述第一存储页中剩余的存储空间不小于所述第一数据的容量时,则表明所述第一存储页的可用容量足够存储所述第一数据,所述第一存储页有足够的可用容量存储所述第一数据。
步骤S14、当所述第一存储页具有足够的可用容量存储所述第一数据时,将所述第一数据保存在所述第一存储页中。
步骤S15、当所述第一存储页的可用容量不足以存储所述第一数据时,从所述存储设备包含的存储页中选择所述第二存储页,将所述第一数据保存在所述第二存储页中,所述第二存储页的读写时延与所述第一存储页的读写时延的差值低于预设阈值。
其中,所述预设阈值根据各个存储页的读写时延确定。设定存储设备中各个存储页的读写时延的差值的最小值为第一差值,所述各个存储页的读写时延的差值的最大值为第二差值,则所述预设阈值可以为所述第一差值和第二差值之间的数值。
通过上述步骤,能够优先将第一数据存储至与时延级别标识相对应的第一存储页中,当第一存储页的可用容量不够时,再将所述第一数据存储至其他的存储页中。
通过本申请实施例公开的数据存储方法,能够获取第一数据和第一数据的时延级别标识,然后根据不同类型的存储页与时延级别标识之间的对应关系,确定该时延级别标识对应的第一存储页,当第一存储页的可用容量足够时,则通过第一存储页存储所述第一数据,当第一存储页的可用容量不足以存储所述第一数据时,则从存储设备包含的存储页中选择其他存储页,将第一数据存储至所述存储设备中的其他存储页中。
也就是说,本申请实施例公开的数据存储方法,能够根据存储设备内包括的各种存储页的不同的读写时延进行数据存储,也就是说,本申请实施例公开的方案,利用了存储设备内各种存储页的读写时延的差异,实现对数据的分级存储。现有的分级存储系统必须同时配置至少两种不同读写时延的存储设备,而通过本申请实施例的方案,分级存储系统中只需设置一种存储设备,即可实现分级存储,从而解决了现有的分级存储系统所存在的配置较为复杂的问题。
进一步的,现有的分级存储系统中,不同读写时延的存储设备通过同一接口卡,与分级存储系统中的处理器相连接,而不同存储设备对接口卡的需求可能不同,因此,还需要对接口卡进行兼容性处理,才能实现各个存储设备与所述处理器的连接,得到分级存储系统。
而本申请实施例公开的方案,由于只需设置一种存储设备,因此,无需对接口卡进行兼容性处理,进一步简化了分级存储系统的配置方式。
另外,在本申请的步骤S15中,公开了当所述第一存储页的可用容量不足以存储所述第一数据时,从所述存储设备包含的存储页中选择所述第二存储页的操作。在本申请实施例中,存储设备可通过多种方式确定所述第二存储页。
其中,当存储设备中包括多个读写时延与第一存储页的读写时延的差值低于预设阈值的存储页时,可从这多个存储页中任选一个存储页作为第二存储页;或者,选择其中读写时延最高的存储页作为第二存储页,以便通过低读写时延的存储页存储其他数据,或者还可以采用其他方式,本申请实施例对此不作限定。
或者,在另外一种可行的实现方式中,当所述第一存储页的可用容量不足以存储所述第一数据时,存储设备可首先从读写时延高于所述第一存储页的存储页中查找第二存储页,这种情况下,当读写时延高于所述第一存储页的各个存储页中,存在至少一个存储页的可用容量足以存储所述第一数据,并且与所述第一存储页的读写时延的差值低于预设阈值时,可确定所述至少一个存储页中读写时延最高的存储页为所述第二存储页。当读写时延高于所述第一存储页的各个存储页均不足以存储所述第一数据时,再从读写时延低于所述第一存储页的存储页中查找第二存储页。这种情况下,当读写时延低于所述第一存储页的各个存储页中,存在至少一个存储页的可用容量足以存储所述第一数据,并且与所述第一存储页的读写时延的差值低于预设阈值时,可确定所述至少一个存储页中读写时延最低的存储页为所述第二存储页。
具体的,参见图5所示的工作流程示意图,在本申请实施例中,可通过以下步骤从所述存储设备包含的存储页中选择所述第二存储页:
步骤S151、查找所述存储设备中,读写时延高于所述第一存储页,并且读写时延与所述第一存储页的读写时延的差值低于预设阈值的第一目标存储页。
步骤S152、确定所述第一目标存储页中,是否存在可用容量足够存储所述第一数据的存储页,若是,执行步骤S153的操作,若否,执行步骤S154的操作。
步骤S153、确定的可用容量足够存储所述第一数据的第一目标存储页中,读写时延最低的存储页为第二存储页。
也就是说,在本申请实施例中,当确定第一目标存储页之后,确定可用容量足够存储所述第一数据的第一目标存储页中,读写时延最低的存储页为第二存储页。另外,当第一目标存储页的可用容量均不足以存储所述第一数据时,再执行步骤S154的操作。
步骤S154、当所述第一目标存储页中不存在可用容量足以存储所述第一数据的存储页时,确定读写时延低于所述第一存储页,并且读写时延与所述第一存储页的读写时延的差值低于预设阈值的第二目标存储页。
步骤S155、确定可用容量足够存储所述第一数据的第二目标存储页中,读写时延最高的存储页为第二存储页。
通过步骤S151至步骤S155的操作,能够当第一存储页的可用容量不足以存储第二数据时,从存储设备包含的存储页中确定第二存储页,并且,通过上述操作确定第二存储页时,优先从读写时延高于第一存储页的第一目标存储页中选择第二存储页,将可容量足够存储所述第一数据,并且读写时延与所述第一存储页的读写时延的差值低于预设阈值的第一目标存储页中,读写时延最低的存储页确定为第二存储页,从而优先选择读写时延略高于第一存储页的存储页作为第二存储页,即优先选择读写时延高于所述第一存储页,并且较为接近的所述第一存储页的存储页作为第二存储页,以便尽量保障第一数据的读写时延。
另外,当第一目标存储页的可用容量都不足以存储所述第一数据时,再从读写时延低于所述第一存储页的第二目标存储页中选择第二存储页,这一情况下,将可用容量足够存储所述第一数据,并且读写时延与所述第一存储页的读写时延的差值低于预设阈值的第二目标存储页中,读写时延最高的存储页确定为第二存储页,即选择读写时延低于所述第一存储页,并且较为接近所述第一存储页的存储页作为第二存储页,以减少对低读写时延的存储页的占用。
进一步的,在本申请另一实施例中,还包括以下步骤:
接收第二数据和所述第二数据的时延级别标识,所述第二数据的时延级别标识用于指示所述第二数据对读写时延的需求级别;
根据所述第二数据的时延级别标识,以及所述不同类型的存储页与时延级别标识之间的对应关系,确定所述第二数据对应的存储页是所述第一存储页;
当所述第一存储页的可用容量不足以存储所述第二数据时,从所述存储设备包含的存储页中选择所述第二存储页,所述第二存储页的读写时延与所述第一存储页的读写时延的差值低于预设阈值;
将所述第二数据写入所述第二存储页。
通过上述步骤,存储设备还能够实现对第二数据的分级存储。其中,当第二数据的时延级别标识对应的第一存储页足够存储所述第二数据时,将所述第二数据写入第一存储页中。另外,当第二数据的时延级别标识对应的第一存储页不足以存储所述第二数据时,则确定第二存储页,将第二数据写入第二存储页中。
其中,在本申请实施例中,可通过上述实施例的方式,确定所述第二存储页,此处不再赘述。
进一步的,存储设备中存储的同一数据的热度往往是变化的,因此,需要根据数据热度的变化,对数据进行搬移。其中,数据搬移指的是,当某一数据由高热度数据转变成低热度数据时,将该数据从低读写时延的存储空间搬移至高读写时延的存储空间,以减少对低读写时延的存储空间的占用,而当某一数据由低热度数据转变成高热度数据时,将该数据从高读写时延的存储空间搬移至低读写时延的存储空间,以便在后续应用该数据时,提高对该数据的读写速度。
在现有的分级存储系统中,处理器将不同热度的数据,存储至不同的存储设备中。这种情况下,当需要进行数据搬移时,处理器需要将需要进行数据搬移的数据从某一存储设备搬移至另一存储设备。具体的,处理器首先读取原存储设备内的数据,然后,再将读取到的数据写入至目的存储设备,从而实现将数据从原存储设备搬移至目的存储设备。也就是说,现有的分级存储系统在进行数据搬移时,需要处理器进行数据读取和数据写入的操作。
而本申请公开的方案中,将各种数据存储至同一存储设备内的不同存储页内,这种情况下,当需要进行数据搬移时,处理器会向存储设备传输相应的搬移指令,接收到该搬移指令的存储设备,将第一数据从原存储页搬移至目标存储页,这一过程中,不再需要处理器进行读取和写入的操作,而是在同一存储设备内进行数据的搬移,因此,相对于现有的分级存储系统,应用本申请各实施例的方案时,能够简化数据搬移的操作,提高数据搬移的效率,以及减少对处理器的占用。
这种情况下,本申请另一实施例公开的数据存储方法中,还包括以下操作:
在所述将所述第一数据保存在所述第一存储页中之后,当所述第一数据的时延级别标识发生变化时,将所述第一数据从所述第一存储页搬移至变化后的时延级别标识所对应的其他存储页。
其中,当处理器检测到数据热度发生变化时,通常会产生搬移指令,并向存储设备传输所述搬移指令。当所述处理器确定需要对第一数据进行搬移时,所述搬移指令中通常包括第一数据的时延级别标识,所述时延级别标识为所述第一数据在热度变化之后的时延级别标识。例如,当第一数据由高热度转变为低热度,从而需要对其进行数据搬移时,则所述第一数据的时延级别标识为低热度的数据对应的时延级别标识。
这种情况下,在本申请实施例中,当接收到所述第一数据对应的搬移指令时,存储设备根据所述搬移指令中包括的所述第一数据的时延级别标识,确定所述第一数据的时延级别标识是否发生变化。
进一步的,根据数据搬移的需求,处理器可产生多种形式的搬移指令。
在一种可行的实现方式中,处理器可产生第一搬移指令。例如,在数据的热度变化较为快速的场景下,处理器往往产生第一搬移指令,所述第一搬移指令用于指示所述存储设备尽快搬移所述第一设备。
这种情况下,所述第一搬移指令中通常中包括:所述第一数据的当前地址和所述第一数据的时延级别标识。其中,所述第一搬移指令中包括所述第一数据的当前地址,以便存储设备根据所述当前地址确定第一数据。另外,所述第一搬移指令中还包括所述第一数据的时延级别标识,以便存储设备据此确定目标存储页。所述第一数据的时延级别标识,指的是所述第一数据在热度变化之后的时延级别标识。
这种情况下,存储设备通过所述第一搬移指令中的所述当前地址,确定所述第一数据,并根据所述第一搬移指令中包括的第一数据的时延级别标识,确定需要搬入所述第一数据的目的地址。
在一个示例中,所述存储设备根据所述第一搬移指令中包括的第一数据的时延级别标识,以及所述不同类型的存储页与时延级别标识之间的对应关系,确定所述第一数据对应的存储页是其他存储页,即需要将第一数据从第一存储页搬移至其他存储页,这种情况下,存储设备确定所述其他存储页的可用容量是否足以存储所述第一数据,若是,则将所述第一数据搬入所述其他存储页,若否,则从所述存储设备包含的存储页中选择第三存储页,所述第三存储页的读写时延与所述其他存储页的读写时延的差值低于预设阈值,然后,再将所述第一数据搬入所述第三存储页。
进一步的,在将所述第一数据从所述第一存储页搬移至变化后的时延级别标识所对应的其他存储页之前,还可以确定所述其他存储页是否有足够的可用容量存储所述第一数据,若是,再将所述第一数据从第一存储页搬移至所述其他存储页,若否,则往往从所述存储设备包含的存储页中选择第三存储页,所述第三存储页的读写时延与所述第一存储页的读写时延的差值低于预设阈值,再将第一数据搬移至所述第三存储页。
其中,当存储设备中包括多个读写时延与所述其他存储页的读写时延的差值低于预设阈值的存储页时,可从这多个存储页中任选一个存储页作为第三存储页,或者,选择其中读写时延最高的存储页作为第三存储页,以便通过低读写时延的存储页存储其他数据,或者还可以采用其他方式,本申请实施例对此不作限定。
或者,在另一种可行的实现方式中,当所述其他存储页的可用容量不足以存储所述第一数据时,存储设备可首先从读写时延高于所述其他存储页的存储页中查找第三存储页,这种情况下,当读写时延高于所述其他存储页的各个存储页中,存在至少一个存储页的可用容量足以存储所述第一数据,并且与所述其他存储页的读写时延的差值低于预设阈值时,可确定所述至少一个存储页中读写时延最高的存储页为所述第三存储页。当读写时延高于所述其他存储页的各个存储页均不足以存储所述第一数据时,再从读写时延低于所述第一存储页的存储页中查找第三存储页。这种情况下,当读写时延低于所述其他存储页的各个存储页中,存在至少一个存储页的可用容量足以存储所述第一数据,并且与所述其他存储页的读写时延的差值低于预设阈值时,可确定所述至少一个存储页中读写时延最低的存储页为所述第三存储页。
上述实施例中,公开了当存储设备接收到第一搬移指令时,如何进行数据搬移的操作。另外,有些应用场景下,当数据的热度发生变化,但是不需要立即进行数据搬移时,可以预先设置搬移条件,在所述将所述第一数据从第一存储页搬移至变化后的时延级别标识所对应的其他存储页之前,所述存储设备监控是否满足搬移条件,当存储设备监控到已满足所述搬移条件时,所述存储设备再执行搬移操作。
这种情况下,参见图6所示的工作流程示意图,在本申请实施例中,包括以下步骤:
步骤S21、当接收到所述第一数据对应的搬移指令时,根据所述搬移指令中包括的所述第一数据的时延级别标识,确定所述第一数据的时延级别标识是否发生变化。若是,执行步骤S22的操作,若否,执行步骤S25的操作。
其中,这种情况下,接收到的搬移指令通常为第二搬移指令。处理器在确定第一数据的热度发生变化,但不需要对第一数据进行立即搬移时,可生成第二搬移指令,并向所述存储设备传输所述第二搬移指令。
步骤S22、确定是否监控到已满足搬移条件,若是,执行步骤S23的操作,若否,则执行步骤S24的操作。
步骤S23、当监控到已满足搬移条件时,将所述第一数据从所述第一存储页搬移至变化后的时延级别标识所对应的其他存储页。
步骤S24、继续执行监控操作,并返回执行步骤S22的操作。
步骤S25、当确定所述第一数据的时延级别标识未发生变化时,确定本次不需要进行数据搬移。
在本申请实施例中,当存储设备接收到第二搬移指令时,并不立即进行数据的搬移,而是在满足搬移触发条件之后,再进行数据搬移。其中,在等待满足搬移触发条件的过程中,有时还会发生需要数据搬移的事件,这种情况下,可将其他需要搬移的数据与所述第一数据共同进行数据搬移,从而减少了数据搬移的次数,简化了数据搬移过程。
这种情况下,所述处理器通常会产生第二搬移指令,在所述第二搬移指令中,通常包括第一数据的当前地址和所述第一数据的时延级别标识,其中,所述时延级别标识为所述第一数据在热度变化之后的时延级别标识。
进一步的,在所述第二搬移指令中,还可以包括搬移条件,以便所述存储设备在监控到满足搬移条件时,对第一数据进行搬移。或者,所述存储设备还可预先设置所述搬移条件。
其中,所述搬移条件通常包括多种类型。在一种可行的实现方式中,当所述存储设备执行垃圾回收操作时,确定满足所述搬移条件;或者,在当前时间距离第一时间之间的时间差不小于第一预设时长时,确定满足所述搬移条件,所述第一时间为所述第一数据的时延级别标识发生变化的时间;或者,当所述存储设备对其他数据进行搬移操作时,确定满足所述搬移条件;或者,还可以为上述各种搬移条件的任意组合。
其中,垃圾回收(garbage collection,GC)是一种自动内存管理机制,可以自动的判断指定的内存区域是否需要被释放,并安全的释放指定的内存区域,以达到资源清理等目的。
在本申请实施例中,可设定当存储设备需要进行垃圾回收时,确定满足搬移触发条件,从而在进行垃圾回收的过程中,进行数据搬移。而垃圾回收的过程中,往往需要将需回收的垃圾数据搬移至某一存储空间,再对搬移至该存储空间的各种垃圾数据进行清理。这种情况下,在对垃圾数据进行搬移的过程中,可同时对所述第一数据进行搬移,从而减少了数据搬移的次数。
另外,在本申请实施例中,存储设备还可以设定第一预设时长,或者,在所述第二搬移指令中包含第一时长。这种情况下,在当前时间距离第一时间的时间差不小于第一预设时长时,确定满足所述搬移条件。从获取第二搬移指令到所述时间差达到第一时长的这一段时间内,可能还会发生其他需要进行数据搬移的事件,这种情况下,可统一进行数据搬移,从而减少数据搬移的次数。
其中,所述第一时间为确定所述第一数据的时延级别标识发生变化的时间。所述存储设备在接收到第二搬移指令之后,会根据第二搬移指令中包括的第一数据的时延级别标识,确定所述第一数据的时延级别是否发生变化,当所述存储设备确定所述第一数据的时延级别标识发生变化时,则将确定所述第一数据的时延级别标识发生变化的时间作为第一时间。或者,在另一种可行的方式中,所述存储设备还可以确定接收到第二搬移指令的时间为所述第一时间。
或者,当所述存储设备对其他数据进行搬移操作时,可确定满足所述搬移条件,从而能够对第一数据和所述其他数据共同进行数据搬移操作,从而减少数据搬移的次数。
另外,在本申请实施例中,在对第一数据进行搬移时,可将所述第一数据从第一存储页搬移至变化后的时延级别标识所对应的其他存储页。进一步的,在搬移之前,还可以判断所述其他存储页的可用容量是否足以存储所述第二数据,若是,再将所述第一数据搬移至所述其他存储页,若否,则从所述存储设备包含的存储页中选择第三存储页,所述第三存储页的可用容量足以存储所述第一数据,并且,所述第三存储页的读写时延与所述第一存储页的读写时延的差值低于预设阈值。
其中,确定第三存储页的方式可参照上述实施例,此处不再赘述。
上述实施例中,公开了当存储设备接收到第二搬移指令时,如何进行数据搬移的操作。另外,有些应用场景下,还可以设置其他形式的搬移条件,在所述将所述第一数据从第一存储页搬移至变化后的时延级别标识所对应的其他存储页之前,所述存储设备监控是否满足其他形式的搬移条件,当存储设备监控到已满足所述其他形式的搬移条件时,所述存储设备再执行搬移操作。
这种情况下,所述存储设备接收到的搬移指令通常为第三搬移指令。处理器在确定第一数据的热度发生变化,但不需要对第一数据进行立即搬移时,可生成第三搬移指令,并向所述存储设备传输所述第三搬移指令。
另外,在本申请实施例中,在当前时间距离第一时间之间的时间差小于第二预设时长,并且所述存储设备执行垃圾回收操作时,确定满足所述搬移条件,所述第一时间为确定所述第一数据的时延级别标识发生变化的时间;
在当前时间距离所述第一时间之间的时间差不小于第二预设时长,并且所述第一存储页存储有所述第一数据时,确定满足所述搬移条件。
在所述第三搬移指令中,通常包括第一数据的当前地址和所述第一数据的时延级别标识,其中,所述时延级别标识为所述第一数据在热度变化之后的时延级别标识。
进一步的,在所述第三搬移指令中,还可以包括上述的搬移条件,以便所述存储设备在监控到满足搬移条件时,对第一数据进行搬移。或者,所述存储设备还可预先设置上述的搬移条件。
另外,在本申请实施例中,存储设备还可以设定第二预设时长,或者,在所述第三搬移指令中包含第二预设时长,以便存储设备根据所述第二预设时长确定是否满足搬移条件。
其中,所述第一时间为确定所述第一数据的时延级别标识发生变化的时间。在另一种可行的方式中,所述存储设备还可以确定接收到第三搬移指令的时间为所述第一时间。
上述实施例中,公开了另一种形式的搬移条件。为了明确根据该搬移条件实现数据搬移的方式,本申请公开一个示例,参见图7所示的工作流程示意图,该示例包括以下步骤:
步骤S31、获取分级存储系统中的处理器传输的第三搬移指令。
其中,所述第三搬移指令中包括:存储第一数据的当前地址和所述第一数据的时延级别标识,所述时延级别标识为所述第一数据在热度变化之后的时延级别标识。
步骤S32、通过所述第三搬移指令中的所述当前地址,确定所述第一数据。
步骤S33、确定当前时间距离第一时间之间的时间差是否小于第二预设时长,若是,确定满足所述搬移条件,并执行步骤S34的操作,若否,执行步骤S35的操作。
其中,所述第一时间为确定所述第一数据的时延级别标识发生变化的时间。在本申请实施例中,存储设备还可以设定第二预设时长,或者,在所述第三搬移指令中包含第二预设时长。
步骤S34、确定所述存储设备是否执行垃圾回收操作,若是,执行步骤S36的操作,若否,可返回执行步骤S33的操作。
步骤S35、在当前时间距离所述第一时间之间的时间差不小于第二预设时长时,确定所述第一存储页中是否存储有所述第一数据,若是,执行步骤S36的操作,另外,若否,还可执行步骤S37的操作。
步骤S36、确定满足所述搬移条件,并执行步骤S38的操作。
步骤S37、确定不满足所述搬移条件。
步骤S38、确定所述时延级别标识对应的其他存储页的可用容量是否足够存储所述第一数据,若是,执行步骤S39的操作,若否,执行步骤S40的操作。
步骤S39、当所述其他存储页的可用容量足够存储所述第一数据时,将所述第一数据搬移至所述其他存储页中。
步骤S40、当所述其他存储页的可用容量不足够存储所述第一数据时,根据所述存储设备中各个存储页的读写时延,确定所述存储设备中的第三存储页,并将所述第一数据搬移至第三存储页中。
其中,在本申请实施例中,可通过上述实施例公开的方式确定所述第三存储页,此处不再赘述。
在本申请实施例中,存储设备在当前时间距离第一时间之间的时间差小于第二预设时长时,如果发生垃圾回收事件,则确定需要进行数据搬移,即可同时进行垃圾回收和数据搬移,从而能够减少数据搬移的次数。另外,在当前时间距离第一时间之间的时间差不小于第二预设时长时,若所述第一存储页中还存储有第一数据,即之前未搬移所述第一存储页中的第一数据时,再进行数据搬移,从而保障数据搬移能够实现。
在本申请中,通过上述实施例,公开一种数据存储方法,其中,应用该数据存储方法的存储设备可为多种形式。
在其中一种可行的实现方式中,所述存储设备为SSD,SSD包括的存储颗粒有以下几种类型:单层存储单元(single-level cell,SLC)、双层存储单元(multi-level cell,MLC)、三层存储单元(trinary-level cell,TLC)和四比特单元(4bits/cell,QLC)。其中,所述存储设备可以为存储颗粒为QLC的SSD,这种情况下,所述存储设备的存储页包括LP、UP、XP和TP四种。
这种情况下,可将时延级别标识划分为四种,在不同类型的存储页与时延级别标识之间的对应关系中,对读写时延的需求级别最高的时延级别标识对应的存储页为LP,对读写时延的需求级别较高的时延级别标识对应的存储页为UP,对读写时延的需求级别较低的时延级别标识对应的存储页为XP,对读写时延的需求级别最低的时延级别标识对应的存储页为TP。根据SSD中不同存储页的读写时延,即可实现分级的数据存储。
当然,所述存储设备还可以为应用其他存储颗粒的SSD,例如,还可以为存储颗粒为三层存储单元(trinary-level cell,TLC)的SSD。进一步的,还可以为其他包括至少两种读写时延不同的存储页的存储设备,本申请实施例对此不做限定。
在本申请另一实施例中,还公开一种数据存储方法。该方法应用于处理器,所述处理器与存储设备相连接,所述存储设备至少包括第一存储页和第二存储页,所述第一存储页和所述第二存储页的类型不同,不同类型的存储页具有不同的读写时延。
其中,所述处理器设置在分级存储系统中,并且通常通过接口卡与所述存储设备相连接。
参见图8所示的工作流程示意图,本申请实施例公开的数据存储方法包括以下步骤:
步骤S41、确定第一数据的时延级别标识,所述时延级别标识用于指示所述第一数据对读写时延的需求级别。
处理器能够根据第一数据的热度等因素,确定所述第一数据对读写时延的需求级别,从而确定所述第一数据的时延级别标识。
通常情况下,当第一数据的热度较高时,则所述第一数据对读写时延的需求较高,需要将其存储至读写时延较低的存储页中,相应的,处理器确定该第一数据对读写时延的需求级别较高;如果第一数据的热度较低,则所述第一数据对读写时延的需求较低,为了减少对低读写时延的存储页的占用,通常将其存储至读写时延较高的存储页中,处理器确定该第一数据对读写时延的需求级别较低。
步骤S42、向所述存储设备传输所述第一数据和所述第一数据的时延级别标识。
所述处理器在向存储设备传输第一数据和时延级别标识时,可将所述第一数据和时延级别标识封装在一个数据包内,并将该数据包传输至存储设备,或者,还可以通过两条信息,分别将第一数据和时延级别标识传输至存储设备。
所述存储设备在获取所述第一数据和时延级别标识之后,会根据所述时延级别标识,以及不同类型的存储页与时延级别标识之间的对应关系,确定所述第一数据相应的存储页,并将所述第一数据存储至所述存储页中。
通过本申请实施例公开的数据存储方法,处理器存储确定第一数据的时延级别标识,并向存储设备传输所述第一数据和所述时延级别标识,以便存储设备根据所述时延级别标识,将第一数据存储至相应的存储页,从而实现对数据的分级存储。现有的分级存储系统必须同时配置至少两种不同读写时延的存储设备,而通过本申请实施例的方案,分级存储系统中只需设置一种存储设备,即可实现分级存储,从而解决了现有的分级存储系统所存在的配置较为复杂的问题。
进一步的,现有的分级存储系统中,不同读写时延的存储设备通过同一接口卡,与分级存储系统中的处理器相连接,而不同存储设备对接口卡的需求可能不同,因此,还需要对接口卡进行兼容性处理,才能实现各个存储设备与所述处理器的连接。
但是,在本申请实施例中,由于只需设置一种存储设备,因此,无需对接口卡进行兼容性处理,进一步简化了分级存储系统的配置方式。
另外,存储设备中存储的同一数据的热度往往是变化的,因此,需要根据数据热度的变化,对数据进行搬移。其中,数据搬移指的是,当某一数据由高热度数据转变成低热度数据时,将该数据从低读写时延的存储空间搬移至高读写时延的存储空间,以减少对低读写时延的存储空间的占用,而当某一数据由低热度数据转变成高热度数据时,将该数据从高读写时延的存储空间搬移至低读写时延的存储空间,以便在后续应用该数据时,提高对该数据的读写速度。
这种情况下,在本申请实施例中,还包括以下步骤:
根据所述存储设备中的第一数据的热度变化情况,生成所述第一数据对应的搬移指令,并向所述存储设备传输所述第一数据对应的搬移指令。
另外,搬移指令可包括多种类型,在一种可行的实现方式中,所述第一数据对应的搬移指令为第一搬移指令、第二搬移指令或第三搬移指令。各个搬移指令中包括:存储第一数据的当前地址和所述第一数据的时延级别标识,其中,所述第一数据的时延级别标识为所述第一数据在热度变化之后对应的时延级别标识。
其中,通常在数据的热度变化较为快速的场景下,处理器生成第一搬移指令。
另外,当数据的热度发生变化,但是不需要立即进行数据搬移时,存储控制器往往生成第二搬移指令或第三搬移指令。
所述存储设备在接收到所述搬移指令之后,会根据所述搬移指令,实现对所述第一数据的搬移。
在现有的分级存储系统中,处理器将不同热度的数据,存储至不同的存储设备中。这种情况下,当需要进行数据搬移时,处理器需要将需要进行数据搬移的数据从某一存储设备搬移至另一存储设备。具体的,处理器首先读取原存储设备内的数据,然后,再将读取到的数据写入至目的存储设备,从而实现将数据从原存储设备搬移至目的存储设备。也就是说,现有的分级存储系统在进行数据搬移时,需要处理器进行数据读取和数据写入的操作。
而本申请公开的方案中,将各种数据存储至同一存储设备内的不同存储页内,这种情况下,当需要进行数据搬移时,处理器会向存储设备传输相应的搬移指令,接收到该搬移指令的存储设备,将第一数据从原存储页搬移至目标存储页,这一过程中,不再需要处理器进行读取和写入的操作,而是在同一存储设备内进行数据的搬移,因此,相对于现有的分级存储系统,应用本申请各实施例的方案时,能够简化数据搬移的操作,提高数据搬移的效率,以及减少对处理器的占用。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
本申请实施例公开一种数据存储装置,该装置应用于存储设备,所述存储设备至少包括第一存储页和第二存储页,所述第一存储页和所述第二存储页的类型不同,不同类型的存储页具有不同的读写时延。参见图9所示的结构示意图,所述装置包括:收发单元100和处理单元200。
其中,所述收发单元100,用于接收第一数据和所述第一数据的时延级别标识,所述第一数据的时延级别标识用于指示所述第一数据对读写时延的需求级别;
所述处理单元200,用于根据所述第一数据的时延级别标识,以及不同类型的存储页与时延级别标识之间的对应关系,确定所述第一数据对应的存储页是所述第一存储页,并将所述第一数据保存在所述第一存储页中。
其中,所述第一数据和所述第一数据的时延级别标识,可由分级存储系统中的处理器传输至所述存储设备。
进一步的,在本申请实施例公开的数据存储装置中,所述处理单元还用于,在所述将所述第一数据保存在所述第一存储页中之前,确定所述第一存储页有足够的可用容量存储所述第一数据。
进一步的,在本申请实施例公开的数据存储装置中,所述收发单元,还用于接收第二数据和所述第二数据的时延级别标识,所述第二数据的时延级别标识用于指示所述第二数据对读写时延的需求级别;
所述处理单元还用于,根据所述第二数据的时延级别标识,以及所述不同类型的存储页与时延级别标识之间的对应关系,确定所述第二数据对应的存储页是所述第一存储页;
当所述第一存储页的可用容量不足以存储所述第二数据时,所述处理单元还用于从所述存储设备包含的存储页中选择所述第二存储页,所述第二存储页的读写时延与所述第一存储页的读写时延的差值低于预设阈值,并将所述第二数据写入所述第二存储页。
进一步的,在本申请实施例公开的数据存储装置中,所述处理单元还用于,在所述将所述第一数据保存在所述第一存储页中之后,当所述第一数据的时延级别标识发生变化时,将所述第一数据从所述第一存储页搬移至变化后的时延级别标识所对应的其他存储页。
进一步的,在本申请实施例公开的数据存储装置中,所述处理单元还用于,在所述将所述第一数据从第一存储页搬移至变化后的时延级别标识所对应的其他存储页之前,监控到已满足搬移条件。
进一步的,在本申请实施例公开的数据存储装置中,当接收到所述第一数据对应的搬移指令时,根据所述搬移指令中包括的所述第一数据的时延级别标识,所述处理单元确定所述第一数据的时延级别标识是否发生变化。
在一个可行的示例中,所述存储设备为固态硬盘,进一步的,还可以为其他包括至少两种读写时延不同的存储页的存储设备,本申请实施例对此不做限定。
本申请实施例公开的数据存储装置,能够根据存储设备内包括的各种存储页的不同的读写时延进行数据存储,也就是说,本申请实施例公开的方案,利用了存储设备内各种存储页的读写时延的差异,实现对数据的分级存储。现有的分级存储系统必须同时配置至少两种不同读写时延的存储设备,而通过本申请实施例的方案,分级存储系统中只需设置一种存储设备,即可实现分级存储,从而解决了现有的分级存储系统所存在的配置较为复杂的问题。
进一步的,现有的分级存储系统中,不同读写时延的存储设备通过同一接口卡,与分级存储系统中的处理器相连接,而不同存储设备对接口卡的需求可能不同,因此,还需要对接口卡进行兼容性处理,才能实现各个存储设备与所述处理器的连接,得到分级存储系统。
而本申请实施例公开的方案,由于只需设置一种存储设备,因此,无需对接口卡进行兼容性处理,进一步简化了分级存储系统的配置方式。
与上述数据存储方法相对应的,在本申请另一实施例中,还公开一种数据存储装置。参见图10所示的结构示意图,所述数据存储装置包括:
处理器1101和存储器,
其中,所述存储器,用于存储程序指令;
所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述调度管理设备执行图2至图8对应的实施例中的全部或部分步骤。
进一步的,该设备还可以包括:该网络设备包括:收发器1102和总线1103,所述存储器包括随机存取存储器1104和只读存储器1105。
其中,处理器通过总线分别耦接收发器、随机存取存储器以及只读存储器。其中,当需要运行该数据存储时,通过固化在只读存储器中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导该设备进入正常运行状态。在该设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,从而使所述数据存储执行图2至图8对应的实施例中的全部或部分步骤。
本发明实施例的数据存储装置可对应于上述图2至图8所对应的实施例中的数据存储装置,并且,该数据存储装置中的处理器等可以实现图2至图8所对应的实施例中的数据存储设备所具有的功能和/或所实施的各种步骤和方法,为了简洁,在此不再赘述。
需要说明的是,本实施例也可以基于通用的物理服务器结合网络功能虚拟化(英文:Network Function Virtualization,NFV)技术实现的网络设备,所述网络设备为虚拟网络设备(如,虚拟主机、虚拟路由器或虚拟交换机)。所述虚拟网络设备可以是运行有用于发送通告报文功能的程序的虚拟机(英文:Virtual Machine,VM),所述虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。本领域技术人员通过阅读本申请即可在通用物理服务器上虚拟出具有上述功能的多个网络设备。此处不再赘述。
具体实现中,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括指令。其中,设置在任意设备中计算机可读介质其在计算机上运行时,可实施包括图2至图8对应的实施例中的全部或部分步骤。所述计算机可读介质的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
另外,本申请另一实施例还公开一种包含指令的计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备可实施包括图2至图8对应的实施例中的全部或部分步骤。其中,所述电子设备可以为存储设备,所述存储设备至少包括第一存储页和第二存储页,所述第一存储页和所述第二存储页的类型不同,不同类型的存储页具有不同的读写时延。
本申请实施例中所描述的存储设备中,可包括通过通用处理器,数字信息处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能,并通过上述器件或上述器件组合的设计实现本申请各个实施例所公开的数据存储方法。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信息处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信息处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于UE中。可选地,处理器和存储媒介也可以设置于UE中的不同的部件中。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。
Claims (17)
1.一种数据存储方法,其特征在于,应用于存储设备,所述存储设备至少包括第一存储页和第二存储页,所述第一存储页和所述第二存储页的类型不同,不同类型的存储页具有不同的读写时延,所述方法包括:
接收第一数据和所述第一数据的时延级别标识,所述第一数据的时延级别标识用于指示所述第一数据对读写时延的需求级别;
根据所述第一数据的时延级别标识,以及不同类型的存储页与时延级别标识之间的对应关系,确定所述第一数据对应的存储页是所述第一存储页;
将所述第一数据保存在所述第一存储页中。
2.根据权利要求1所述的方法,其特征在于,在所述将所述第一数据保存在所述第一存储页中之前,还包括:
确定所述第一存储页有足够的可用容量存储所述第一数据。
3.根据权利要求1所述的方法,其特征在于,还包括:
接收第二数据和所述第二数据的时延级别标识,所述第二数据的时延级别标识用于指示所述第二数据对读写时延的需求级别;
根据所述第二数据的时延级别标识,以及所述不同类型的存储页与时延级别标识之间的对应关系,确定所述第二数据对应的存储页是所述第一存储页;
当所述第一存储页的可用容量不足以存储所述第二数据时,从所述存储设备包含的存储页中选择所述第二存储页,所述第二存储页的读写时延与所述第一存储页的读写时延的差值低于预设阈值;
将所述第二数据写入所述第二存储页。
4.根据权利要求1所述的方法,其特征在于,在所述将所述第一数据保存在所述第一存储页中之后,还包括:
当所述第一数据的时延级别标识发生变化时,将所述第一数据从所述第一存储页搬移至变化后的时延级别标识所对应的其他存储页。
5.根据权利要求4所述的方法,其特征在于,在所述将所述第一数据从第一存储页搬移至变化后的时延级别标识所对应的其他存储页之前,还包括:监控到已满足搬移条件。
6.根据权利要求4所述的方法,其特征在于,
当接收到所述第一数据对应的搬移指令时,根据所述搬移指令中包括的所述第一数据的时延级别标识,确定所述第一数据的时延级别标识是否发生变化。
7.根据权利要求1至6任一项所述的方法,其特征在于,
所述存储设备为固态硬盘SSD。
8.一种数据存储装置,其特征在于,应用于存储设备,所述存储设备至少包括第一存储页和第二存储页,所述第一存储页和所述第二存储页的类型不同,不同类型的存储页具有不同的读写时延,所述装置包括:
收发单元,用于接收第一数据和所述第一数据的时延级别标识,所述第一数据的时延级别标识用于指示所述第一数据对读写时延的需求级别;
处理单元,用于根据所述第一数据的时延级别标识,以及不同类型的存储页与时延级别标识之间的对应关系,确定所述第一数据对应的存储页是所述第一存储页,并将所述第一数据保存在所述第一存储页中。
9.根据权利要求8所述的装置,其特征在于,
所述处理单元还用于,在所述将所述第一数据保存在所述第一存储页中之前,确定所述第一存储页有足够的可用容量存储所述第一数据。
10.根据权利要求8所述的装置,其特征在于,
所述收发单元,还用于接收第二数据和所述第二数据的时延级别标识,所述第二数据的时延级别标识用于指示所述第二数据对读写时延的需求级别;
所述处理单元还用于,根据所述第二数据的时延级别标识,以及所述不同类型的存储页与时延级别标识之间的对应关系,确定所述第二数据对应的存储页是所述第一存储页;
当所述第一存储页的可用容量不足以存储所述第二数据时,所述处理单元还用于从所述存储设备包含的存储页中选择所述第二存储页,所述第二存储页的读写时延与所述第一存储页的读写时延的差值低于预设阈值,并将所述第二数据写入所述第二存储页。
11.根据权利要求8所述的装置,其特征在于,
所述处理单元还用于,在所述将所述第一数据保存在所述第一存储页中之后,当所述第一数据的时延级别标识发生变化时,将所述第一数据从所述第一存储页搬移至变化后的时延级别标识所对应的其他存储页。
12.根据权利要求11所述的装置,其特征在于,
所述处理单元还用于,在所述将所述第一数据从第一存储页搬移至变化后的时延级别标识所对应的其他存储页之前,监控到已满足搬移条件。
13.根据权利要求11所述的装置,其特征在于,
当接收到所述第一数据对应的搬移指令时,根据所述搬移指令中包括的所述第一数据的时延级别标识,所述处理单元确定所述第一数据的时延级别标识是否发生变化。
14.根据权利要求8至13任一项所述的装置,其特征在于,
所述存储设备为固态硬盘SSD。
15.一种数据存储装置,其特征在于,应用于存储设备,所述存储设备至少包括第一存储页和第二存储页,所述第一存储页和所述第二存储页的类型不同,不同类型的存储页具有不同的读写时延,所述装置包括:
处理器、存储器和收发器;
其中,所述存储器,用于存储程序指令;
所述收发器,用于收发数据;
所述处理器,用于调用并执行所述存储器中存储的程序指令,所述处理器执行所述程序指令时,使得所述装置执行如权利要求1-7任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行如权利要求1-7任一项所述的方法。
17.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求1-7中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910800842.8A CN112445412B (zh) | 2019-08-28 | 2019-08-28 | 一种数据存储方法及装置 |
EP20857436.8A EP4020154B1 (en) | 2019-08-28 | 2020-05-06 | Data storage method and apparatus |
PCT/CN2020/088838 WO2021036329A1 (zh) | 2019-08-28 | 2020-05-06 | 一种数据存储方法及装置 |
US17/677,088 US20220179588A1 (en) | 2019-08-28 | 2022-02-22 | Data storage method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910800842.8A CN112445412B (zh) | 2019-08-28 | 2019-08-28 | 一种数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112445412A true CN112445412A (zh) | 2021-03-05 |
CN112445412B CN112445412B (zh) | 2024-06-11 |
Family
ID=74685544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910800842.8A Active CN112445412B (zh) | 2019-08-28 | 2019-08-28 | 一种数据存储方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220179588A1 (zh) |
EP (1) | EP4020154B1 (zh) |
CN (1) | CN112445412B (zh) |
WO (1) | WO2021036329A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114594908A (zh) * | 2022-02-25 | 2022-06-07 | 阿里巴巴(中国)有限公司 | 基于固态硬盘ssd的数据处理方法、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024155074A1 (ko) * | 2023-01-19 | 2024-07-25 | 삼성전자 주식회사 | 전자 장치 및 전자 장치의 메모리 관리 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120089791A1 (en) * | 2010-10-06 | 2012-04-12 | International Business Machines Corporation | Handling storage pages in a database system |
CN103608782A (zh) * | 2011-05-15 | 2014-02-26 | 苹果公司 | Lsb页面和msb页面中的选择性数据存储 |
CN106155586A (zh) * | 2016-05-31 | 2016-11-23 | 华为技术有限公司 | 一种存储方法、服务器及存储控制器 |
CN107908571A (zh) * | 2017-10-31 | 2018-04-13 | 成都华为技术有限公司 | 一种数据写入方法、闪存装置及存储设备 |
CN107967121A (zh) * | 2017-10-25 | 2018-04-27 | 华为技术有限公司 | 数据写入方法和存储设备 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BRPI0709871B1 (pt) * | 2006-04-12 | 2019-10-15 | Tq Delta, Llc. | Retransmissão de pacote e compartilhamento de memória |
CN101425338B (zh) * | 2007-10-29 | 2011-05-18 | 群联电子股份有限公司 | 非易失性存储器的写入方法及使用此方法的控制器 |
CN101571832B (zh) * | 2008-04-29 | 2013-07-17 | 群联电子股份有限公司 | 数据写入方法及使用该方法的快闪存储系统与其控制器 |
US20110019685A1 (en) * | 2009-07-24 | 2011-01-27 | Wael William Diab | Method and system for packet preemption for low latency |
CN102609360B (zh) * | 2012-01-12 | 2015-03-25 | 华为技术有限公司 | 一种数据处理方法、装置及系统 |
US9053011B2 (en) * | 2012-09-28 | 2015-06-09 | Sandisk Technologies Inc. | Selective protection of lower page data during upper page write |
US8984251B2 (en) * | 2012-12-04 | 2015-03-17 | Apple Inc. | Hinting of deleted data from host to storage device |
US9772787B2 (en) * | 2014-03-31 | 2017-09-26 | Amazon Technologies, Inc. | File storage using variable stripe sizes |
US10282100B2 (en) * | 2014-08-19 | 2019-05-07 | Samsung Electronics Co., Ltd. | Data management scheme in virtualized hyperscale environments |
US20170168729A1 (en) * | 2015-12-11 | 2017-06-15 | Netapp, Inc. | Methods and systems for managing resources of a networked storage environment |
US10732895B2 (en) * | 2017-03-22 | 2020-08-04 | Burlywood, Inc. | Drive-level internal quality of service |
US11075987B1 (en) * | 2017-06-12 | 2021-07-27 | Amazon Technologies, Inc. | Load estimating content delivery network |
US10795586B2 (en) * | 2018-11-19 | 2020-10-06 | Alibaba Group Holding Limited | System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash |
US10977181B2 (en) * | 2019-07-10 | 2021-04-13 | International Business Machines Corporation | Data placement in write cache architecture supporting read heat data separation |
-
2019
- 2019-08-28 CN CN201910800842.8A patent/CN112445412B/zh active Active
-
2020
- 2020-05-06 WO PCT/CN2020/088838 patent/WO2021036329A1/zh unknown
- 2020-05-06 EP EP20857436.8A patent/EP4020154B1/en active Active
-
2022
- 2022-02-22 US US17/677,088 patent/US20220179588A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120089791A1 (en) * | 2010-10-06 | 2012-04-12 | International Business Machines Corporation | Handling storage pages in a database system |
CN103608782A (zh) * | 2011-05-15 | 2014-02-26 | 苹果公司 | Lsb页面和msb页面中的选择性数据存储 |
CN106155586A (zh) * | 2016-05-31 | 2016-11-23 | 华为技术有限公司 | 一种存储方法、服务器及存储控制器 |
CN107967121A (zh) * | 2017-10-25 | 2018-04-27 | 华为技术有限公司 | 数据写入方法和存储设备 |
CN107908571A (zh) * | 2017-10-31 | 2018-04-13 | 成都华为技术有限公司 | 一种数据写入方法、闪存装置及存储设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114594908A (zh) * | 2022-02-25 | 2022-06-07 | 阿里巴巴(中国)有限公司 | 基于固态硬盘ssd的数据处理方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021036329A1 (zh) | 2021-03-04 |
EP4020154A1 (en) | 2022-06-29 |
EP4020154B1 (en) | 2023-10-25 |
CN112445412B (zh) | 2024-06-11 |
US20220179588A1 (en) | 2022-06-09 |
EP4020154A4 (en) | 2022-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180173620A1 (en) | Data erasure method for solid state drive, and apparatus | |
US8392649B2 (en) | Memory storage device, controller, and method for responding to host write commands triggering data movement | |
RU2479013C2 (ru) | Способ оптимизации твердотельного накопителя и оптимизатор | |
JP2013509658A (ja) | 将来の使用推量に基づく記憶メモリの割り当て | |
CN104123171B (zh) | 基于numa架构的虚拟机迁移方法及系统 | |
US20240264760A1 (en) | Data Migration Method, Host, and Solid State Disk | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
US9635123B2 (en) | Computer system, and arrangement of data control method | |
US11360705B2 (en) | Method and device for queuing and executing operation commands on a hard disk | |
US20130013853A1 (en) | Command executing method, memory controller and memory storage apparatus | |
CN111108488B (zh) | 内存块回收方法和装置 | |
CN103999060A (zh) | 固态存储管理 | |
US11010094B2 (en) | Task management method and host for electronic storage device | |
KR20130112210A (ko) | 메모리 시스템 및 그것의 페이지 교체 방법 | |
US20220179588A1 (en) | Data storage method and apparatus | |
WO2024193096A1 (zh) | 数据迁移方法及计算设备 | |
CN114765051A (zh) | 内存测试方法及装置、可读存储介质、电子设备 | |
JP6193189B2 (ja) | Nandバックグラウンド処理制御装置 | |
CN105094742A (zh) | 一种写数据的方法和设备 | |
US10671307B2 (en) | Storage system and operating method thereof | |
CN117667299A (zh) | 虚拟机迁移方法、芯片、网卡、处理设备、系统及介质 | |
US10572671B2 (en) | Checking method, checking system and checking device for processor security | |
KR100615694B1 (ko) | 복수개의 기능블럭을 제어하는 제어시스템 | |
CN103645865A (zh) | 一种命令超时的处理方法 | |
US20110191524A1 (en) | Flash memory storage device, controller thereof, and program management method thereof |
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 |