首页 / 存储方法、存储管理设备、存储盘和存储系统

存储方法、存储管理设备、存储盘和存储系统实质审查 发明

技术领域

[0001] 本发明实施例涉及数据存储领域,具体地,涉及一种存储方法、存储管理设备、存储盘和存储系统。

相关背景技术

[0002] 基于与非闪存(not and flash,NAND flash)介质的存储盘在存储数据时,不同的存储介质粒度的存储性能也不同,例如,单层存储单元(single‑level cell,SLC)存储颗粒的存储性能高(读取快、寿命长)但是容量小,而四层存储单元(quad‑level cell,QLC)存储得力的存储性能差(读取慢、寿命短)但是容量大。
[0003] 然而在存储数据时,不同的数据实际的存储需求可能也不同,以及同一数据在不同时刻的存储需求(例如,需要以性能高的方式存储或者需要以节省容量的方式存储)可能
也不同。因此,如何根据数据的存储需求为数据提供更加匹配的存储方式成为目前需要解
决的问题之一。

具体实施方式

[0089] 下面将结合附图,对本发明实施例中的技术方案进行描述。
[0090] 为便于理解,首先对一些涉及到的概念解释。
[0091] 1、NAND闪存
[0092] 与非闪存(not and flash,NAND flash)介质是一种非易失性存储介质,即断电后仍能保存数据。NAND闪存的内部存储结构单元是基于金属氧化层半导体场效应晶体管
(metal‑oxide‑semiconductor field‑effect transistor,MOSFET),与普通场效应晶体管不同之处在于,在栅极(控制栅)和源极/漏极之间存在浮置栅,通过利用该浮置栅,可以存
储数据。
[0093] 2、闪存颗粒
[0094] 闪存颗粒一般包括单层存储单元(single‑level cell,SLC),多层存储单元(multi‑level cell,MLC),三层存储单元(triple‑level cell,TLC)以及四层存储单元
(quad‑level cell,QLC)。
[0095] SLC,速度快,寿命长,价格贵。每个单元只能存储1比特大小的信息,其存储的数据代表“0”还是“1”,是通过将SLC闪存单元的电压与Vth电压阈值的比较,高于阈值即代表存储的是0,低于阈值代表存储的是1。由于只有两个电平,因此两个电平电压之间的电压差距可能非常高,这使得读取存储单元更为容易。大的电压差也使得磨损的影响相对小,逻辑电
平的更宽分布也有助于以更低的电压对存储单元进行编程或者擦除,进一步增加了单元的
耐用性。与其他类型的闪存相比,SLC在相同裸片磨面机上可以存储的数据更少。
[0096] MLC,可用于存储“00”,“01”,“10”,“11”。读取时,闪存单元的电压需要与三个阈值电压进行比较(总共4个电压带),因为要与多个阈值电压比较,因此读取操作需要更加精确,导致其读取速度比SLC闪存更慢。由于较低的电压差,原始误码率也更高,并且,磨损的影响更为显著。与SLC相比,其在相同裸片磨面机上可以存储的数据更多。
[0097] TLC,可用于存储“000”,“001”,“010”,“011”,“100”,“101”,“110”,“111”。读取时,闪存单元的电压需要与七个阈值电压进行比较(总共8个电压带)。
[0098] QLC,可用于存储“0000”,“0001”,“0010”,“0011”,“0100”,“0101”,“0010”,“0111”,“1000”,“1001”,“1010”,“1011”,“1100”,“1101”,“1010”,“1111”,读取时,闪存单元的电压需要与十五个阈值电压进行比较(总共15个电压带)。
[0099] 3、存储模式转换
[0100] 在一些实施例中,可以设置不同的阈值电压以改变存储方式。例如,一个QLC颗粒的阈值电压个数设置为1个,便可以将该QLC颗粒当做SLC颗粒使用,但需要的闪存颗粒数目
并不同,例如,数据1原本占用16个QLC颗粒存储数据,若想采用SLC存储方式以进行上存储,则需要64个QLC颗粒。
[0101] 下面结合图1和图2对两种存储系统进行说明。
[0102] 图1是一种存储系统100的示意性结构图。
[0103] 如图1所示,存储系统100包括:主机110,存储管理设备120和存储盘130。
[0104] 在一些实施例中,主机110可以是计算机,也可以是其他用户设备。主机110可以包括当前技术已知的任何计算设备,如服务器、台式计算机等等,在主机110中安装有操作系
统以及其他应用程序。主机110可以访问存储系统100的文件,例如,主机110可以通过文件
接口模块提供文件访问接口给主机上的应用程序。
[0105] 存储管理设备120用于管理文件的元数据,处理主机110对于文件的元数据查询、更新请求等。文件的元数据可以包括文件的起始地址,分配的空间大小,文件实际大小等信
息。
[0106] 在一些实施例中,存储管理设备120可以包括但不限于:服务器、控制器、处理器。应理解,存储管理设备120可以是一种具有计算功能的、用于管理存储盘130的设备。
[0107] 存储盘130用于存储文件数据并处理对文件的访问请求。存储盘130可以包括至少一个存储盘。在本发明提供的实施例中,文件存储于NAND存储盘中。存储盘130可以接收来
自于存储管理设备120的指令对数据进行写/读操作。
[0108] 在一些实施例中,存储盘130可以包括固态硬盘(Solid‑state drive,SSD)例如标准SSD盘,也可以是基于PLOG的SSD盘(简称PLOG盘),PLOG盘可以是提供PLOG接口的SSD盘,
PLOG就是该PLOG SSD盘中一段支持追加写的,命名的,字节级地址空间的封装,一个SSD可
包含多个PLOG。
[0109] 在一些实施例中,存储系统100只有1个存储节点,该1个存储节点只包括1个存储盘。
[0110] 在一些实施例中,存储管理设备120可以与存储盘130可以集成在一起,也就是说,一个设备可以同时具有存储管理设备120和存储盘130的功能。
[0111] 在本发明提供的实施例中,存储管理设备120可以独立设置(如图1),也可以为同时具有存储管理设备120和存储盘130的功能的设备。为描述方便,以下以存储管理设备120
单独设置为例进行说明。
[0112] 在一些实施例中,存储系统100可以是分布式存储系统。例如,file1中的数据1除了保存在存储节点A所管理的存储盘1的部分,还包括存储在存储节点B所管理的存储盘2中
的副本1和存储在存储点C所管理的存储盘3中的副本2,形成三副本储存。也即存储系统100
至少包括2个存储盘,并且归属于不同的存储节点,此外为了数据的可靠性,通常会设置多
副本保存在不同的存储节点中,存储节点可以包括多个存储盘,通常,不同的存储节点对应
不同的网络,存储节点可以是一种控制器、处理器或者服务器。该控制器、处理器或者服务
器可以和其管理的存储盘集成到一个存储设备中。
[0113] 与集中式存储系统不同之处在于,多个存储节点通常对应不同的网络环境,此时存储系统可能需要借助网络实现文件的存储和访问。
[0114] 存储系统100存储数据以及访问数据的方法为:存储管理设备120接收到指令对file1进行存储,先对file1进行切割,假设一个8K的file1切分成2个数据块(每个块4K),计
算出1个4K冗余校验块。
[0115] 如果是plog盘,需要记录file1分到:
[0116] 存储盘1的plog1,offset=0,size=4K;存储盘2的plog1,offset=0,size=4K;存储盘3的plog1,offset=0,size=4K;
[0117] 如果是标准盘,记录信息下述:存储盘1,offset=0,size=4K;存储盘2,offset=100,size=104K;存储盘3,offset=200,size=204K;
[0118] 当主机110想要访问file1时,主机向存储管理设备120发出读取命令,要求访问file1,则存储管理设备120会根据所记录的file1的存储位置向存储盘130发出读取命令。
[0119] 在一些实施例中,存储盘130可以包括一种或多种闪存粒度,该一种或多种闪存粒度可以包括以下闪存颗粒的一种或多种:SLC闪存颗粒、MLC闪存颗粒、TLC闪存颗粒、QLC闪
存颗粒。以不同闪存颗粒作为存储介质即可实现不同的存储方式,例如,使用SLC闪存颗粒
存储即为SLC存储,使用MLC闪存颗粒存储即为MLC存储,使用TLC闪存颗粒存储即为TLC存
储,使用QLC闪存颗粒存储即为QLC存储。在一些实施例中,存储盘130内可以实现存储模式
转换,具体的,存储盘130可以通过更新阈值电压以改变存储模式,例如,将QLC闪存颗粒用
做SLC闪存颗粒。由于SLC闪存颗粒的存储性能更优,一般用于存储重要性高和/或访问频率
高的文件,QLC则一般用于存储文件大小较大(例如,大于100MB)和/或访问频率低的文件。
[0120] 然而在存储数据时,不同的数据实际的存储需求可能也不同,以及同一数据在不同时刻存在不同的存储需求(例如,需要以性能高的方式存储或者需要以节省容量的方式
存储)可能也不同。因此,如何根据数据的存储需求以精准地为数据提供匹配的存储方式成
为目前的问题之一。
[0121] 目前,存储系统100通过根据数据的空间统计热度信息确定或者更新其存储方式,但基于热度统计以确定数据实际的存储需求,很多时候并不准确合理,例如,目录元数据数
据作为关键数据,即使热度统计信息表现出的热度不高,也不应采取低性能的方式例如QLC
存储。
[0122] 因此,需要提出一种能够根据数据的存储需求为数据提供更加匹配的存储方式的方案。
[0123] 图2是本发明实施例提供的一种存储方法200的示意性流程图。
[0124] 该存储方法可以由上述图1所示的存储系统100执行。为描述方便,以存储系统100只包括1个存储盘例如第一存储盘为例,应理解,此时存储盘130等于第一存储盘。
[0125] S201,存储管理设备将目标数据的属性标签由第一属性更新为第二属性,所述属性标签用于指示所述目标数据的存储方式。
[0126] 目标数据可以是经过切割后且大小为最小存储大小的数据。
[0127] 目标数据可以是任意类型的数据,例如目录元数据、文件元数据等等,本发明对比不作任何限定。目标数据还可以是多个相同目录下相同或相近类型的多个数据的合集,例
如,目标数据为目录1的元数据、文件1的元数据、文件2的元数据的合集,其中,文件1和文件
2所述目录为目录1。
[0128] 在一些实施例中,存储管理设备120保存数据的属性标签,该属性标签可以是一种标识,例如,flag。示例性的,存储管理设备120更新数据1的属性标签为属性#1。
[0129] 在一些实施例中,存储管理设备根据第一信息将目标数据的属性标签由第一属性更新为第二属性,可选地,第一信息可以包括目标数据的信息,可选地,还可以包括其他信
息,例如存储系统100的总容量。
[0130] 可选地,目标数据的信息可以包括目标数据的固有属性信息和/或目标数据的上层统计信息。
[0131] 可选地,目标数据的固有属性信息包括但不限于下述信息的一种或多种:
[0132] 所述目标数据的类型、所述目标数据的大小、所述目标数据所属的文件的类型等等。文件的类型可以例如包括系统文件、应用文件等等,数据类型可以例如是校验数据、缓
存数据等等。
[0133] 可选地,目标数据的上层统计信息包括所述目标数据的访问频率和/或最后一次被访问的时间。目标数据的访问频率可以是第一检测时间范围内的可由存储管理设备120
统计到的访问频率,该第一检测时间范围例如可以是2min,也即每2min目标数据的访问频
率更新一次。应理解,上层统计信息是存储管理设备120基于自身记录的读取目标数据的记
录作出的统计,由于读取目标数据需要向存储管理设备120发出读取命令,因此,存储管理
设备120可以获知准确的目标数据的访问信息。相较于存储盘130内部记录的目标数据的访
问信息,存储管理设备120获取的目标数据的访问信息更为全面。
[0134] 可选地,当目标数据的信息变化时,存储管理设备120可以记录并且更新目标数据的信息,例如,目标数据的访问频率变化时,存储管理设备120更新该目标数据的访问频率。
[0135] 在一些实施例中,第一信息包括第一关系,第一关系为第一信息和第二属性的对应关系,这样存储管理设备120可以根据第一信息和第一关系确定目标数据的属性标签为
第二属性。
[0136] 在一些实施例中,第一信息包括关系#1,关系#1为目标数据的上层统计信息和第二属性的关系,存储管理设备120可以根据目标数据的上层统计信息和关系#1确定目标数
据的第二属性。关系#1可以如表1所示。
[0137] 表1
[0138]
[0139]
[0140] 如表1所示,当访问频率在第一访问频率范围内,可以确定目标数据的属性标签为第二属性。在一些实施例中,第一访问频率范围可以是高于第一访问频率阈值,例如,数据1的第一访问频率高于第一访问频率阈值,则存储管理设备120确定数据1的属性标签为属
性#1。该第一访问频率阈值例如可以是10次/天。在又一些实施例中,第一访问频率范围可
以是低于第二访问频率阈值,例如,数据2的第一访问频率低于第二访问频率阈值,则存储
管理设备120确定数据2的属性标签为属性#3。该第二访问频率阈值例如可以是1次/天。第
二访问频率阈值低于第一访问频率阈值。
[0141] 如表1所示,当最后一次被访问的时间在第一访问时间范围内,可以确定目标数据的属性标签为第二属性。在一些实施例中,第一访问时间范围可以是早于第一访问时间,例
如,数据3最后一次被访问的时间早于第一访问时间,则存储管理设备120确定数据3的属性
标签为属性#2,该第一访问时间可以例如是20天。在又一些实施例中,第一访问时间范围可
以是晚于第一访问时间,例如,数据4最后一次被访问的时间晚于第一访问时间,则存储管
理设备120确定数据4的属性标签为属性#1,该第一访问时间可以例如是20天。第二访问时
间晚于第一访问时间。
[0142] 如表1所示,部分目录下的文件可能在特定的时间会被频繁访问,存储管理设备120可以分析其统计特征,在该文件即将可能被访问时提前更新其属性标签的值,以便于第
一存储盘提前将该文件的数据进行存储方式转换。例如,数据5在第一时间范围内访问频率
高于第一访问频率阈值,当时间处于第二时间范围内时,该第二时间范围包含第一时间并
且第二时间范围的起始时间早于第一时间范围的起始时间,可以将数据5的属性标签的值
更新为属性#1,而当时间处于第二时间范围以外时,数据5的属性标签的值为属性#2。
[0143] 应理解,访问频率高的数据以及最后一次被访问的时间较近的数据可以看做热点数据,因此,该类数据一般采取性能更佳的存储方式进行存储。上述表1的属性1、属性2、属性3分别对应的存储方式性能应当由好到差。这样,对不同统计特征的数据可以实现更加匹
配的存储方式。
[0144] 在一些实施例中,第一信息包括关系#2,关系#2为目标数据的上层统计信息以及目标数据的固有属性信息和第二属性的关系,可以根据目标数据的上层统计信息以及目标
数据的固有属性信息和关系#2确定目标数据的第二属性。
[0145] 关系#2可以如表2所示。
[0146] 表2
[0147]
[0148] 如表2所示,可以同时结合上层统计信息和固有属性信息确定目标数据的第二属性。例如,数据6的访问频率高于第一访问频率阈值并且数据6为目录元文件的数据,则确定
数据6的第二属性为属性#1;数据7的访问频率低于第一访问频率阈值并且所属文件大小小
于或等于16KB,则确定数据7的第二属性为属性#3;数据8最后一次被访问的时间早于第一
访问时间并且数据8为文件属性元数据,则确定数据8的第二属性为属性#2;数据9最后一次
被访问的时间晚于第一访问时间并且数据9所属文件大小大于100MB,确定数据9的第二属
性为属性#2。
[0149] 在一些实施例中,第一信息还包括目标数据的优先级等级和第二属性的关系,目标数据的信息还包括目标数据的优先级等级。在一种可能的方式中,目标数据的优先级等
级可以由存储管理设备120确定并记录。可以根据目标数据的优先级等级和关系#3确定目
标数据的第二属性,关系#3为目标数据的优先级等级和第二属性的关系。在一些实施例中,
目标数据的优先级等级在优先级等级范围内时,可以确定目标数据的属性标签为第二属
性。
[0150] 表3
[0151]
[0152] 如表3,优先级等级范围为1至2时,目标数据的第二属性为属性#1;优先级等级范围为3至6时,目标数据的第二属性为属性#2。
[0153] 该优先级等级与第二属性的关系可以是预设好的,也可以由存储管理设备120根据需求进行调整。例如,需要释放更多的空间时,可以设置优先级等级范围为2至6的数据的
第二属性为属性#2。
[0154] 应理解,当目标数据的优先级等级不属于该优先级等级范围内时,该目标数据的第二属性不变化,也即该目标数据不会进行存储方式转换。
[0155] 优先级范围可以是低于第一优先级阈值。例如,优先级阈值为优先级等级2,这样,低于优先级等级2的数据不参与存储方式转换。
[0156] 优先级范围可以是高于第二优先级阈值。例如,优先级阈值为优先级等级3,这样,高于优先级等级3的数据不参与存储方式转换。其中。第二优先级阈值高于第一优先级阈
值。
[0157] 在一种可能的实现方式中,目标数据的优先级等级可以根据目标数据的固有属性信息和关系#4确定,关系#4为目标数据的固有属性信息和目标数据的优先级等级的关系。
目标数据的优先级等级可以在目标数据写入时就进行确定并记录。优先级等级和固有属性
的关系即关系#4可以如表4所示。
[0158] 表4
[0159]
[0160] 如表4所示,可以根据目标数据的固有属性信息确定优先级等级。例如,数据16目录元文件的数据,则确定数据16优先级等级为1;数据17属文件大小小于或等于16KB,则确
定数据17优先级等级为2;数据18文件属性元数据,则确定数据18优先级等级为3;数据19布
局元数据,则确定数据19优先级等级为1。
[0161] 应理解,目标数据的固有属性的类型多于优先级等级的个数,这样,可以节约存储管理设备120的管理开销。
[0162] 在一些实施例中,当满足第二预设条件时,执行步骤S201。
[0163] 第二预设条件包括至少一种下述条件:
[0164] 当所述访问频率在第一频率范围内和/或所述最后一次被访问的时间在第一时间范围内时;
[0165] 当所述目标数据的优先级等级在优先级范围内时。
[0166] 应理解,当目标数据的第一信息变化且满足第二预设条件时,存储管理设备120将更新其属性标签的值。
[0167] 在一些实施例中,存储系统100可以是多副本存储系统。
[0168] 图3为本发明实施例提供的一种存储方法300的示意性流程图,图3示出了存储方法300的步骤S301至S305,以下结合图3对本发明提供的多副本场景下的存储方法300进行
说明。
[0169] S301,存储管理设备将目标数据的属性标签由第一属性更新为第二属性。
[0170] 该步骤同上述S201的描述相同,为避免冗余,可参见前文,在此不再赘述。
[0171] S302,存储管理设备向第一存储盘发送第一指示,第一指示用于指示所述第一存储盘将所述目标数据的存储方式由所述第一存储盘的第一存储方式转换为所述第一存储
盘的第二存储方式。
[0172] 该步骤同后文S202的描述相同,为避免冗余,可参见后文,在此不再赘述。
[0173] S303,存储管理设备向第二存储盘发送第三指示,第三指示用于指示第一存储盘将目标数据的副本的存储方式由所述第一存储盘的第一存储方式转换为所述第一存储盘
的第二存储方式。
[0174] 在一些实施例中,存储盘130除了包括第一存储盘,还包括第二存储盘,并且,目标数据存储在第一存储盘内,目标数据的副本存储在第二存储盘内。应理解。该存储盘130还
可以包括更多的存储盘,本发明对比不作限定。
[0175] 可选地,在步骤S303之前,存储管理设备120向第二存储盘发送用于指示第二存储盘以第一存储方式存储目标数据的副本的指示,第二存储盘根据该指示将目标数据的副本
以第一存储方式进行存储。
[0176] 可选地,第三指示与第一指示相同。
[0177] 可选地,存储系统100还可以包括其他的存储节点,并且第一存储盘和第二存储盘归属于不同的存储节点。应理解,此时存储系统100为分布式存储系统,换言之,方法300可
以应用于分布式存储系统。
[0178] S304,第一存储盘根据第一指示将目标数据的存储方式由第一存储盘的第一存储方式转换为第一存储盘的第二存储方式。
[0179] 可选地,第一存储盘根据第一指示将目标数据的存储方式由第一存储盘的第一存储方式转换为第一存储盘的第二存储方式包括:第一存储盘将目标数据的属性标签由第一
属性更新为第二属性,属性标签用于指示目标数据的存储方式,其中第一存储方式与第一
属性具有第一对应关系,第二存储方式与第二属性具有第二对应关系;第一存储盘根据属
性标签将目标数据的存储方式由第一存储盘的第一存储方式转换为第一存储盘的第二存
储方式。
[0180] S305,第二存储盘根据第一指示将目标数据的副本的存储方式由第二存储盘的第一存储方式转换为第二存储盘的第二存储方式。
[0181] 可选地,第二存储盘根据第一指示将目标数据的副本的存储方式由第二存储盘的第一存储方式转换为第二存储盘的第二存储方式包括:第二存储盘将目标数据的副本的属
性标签由第一属性更新为第二属性,属性标签用于指示目标数据的存储方式,其中第一存
储方式与第一属性具有第一对应关系,第二存储方式与第二属性具有第二对应关系;第二
存储盘根据属性标签将目标数据的存储方式由第二存储盘的第一存储方式转换为第一存
储盘的第二存储方式。
[0182] 可选地,第二存储盘的第一存储方式与第一存储盘的第一存储方式相同,并且第二存储盘的第二存储方式与第一存储盘的第二存储方式相同,目标数据和目标数据的副本
以相同的存储方式进行存储。
[0183] 图4示出了本发明实施例提供的一种存储方法400的示意性流程图。
[0184] 在一些实施例中,属性标签与存储方式的对应关系可以是由存储管理设备120确定或更新的并且通过第二指示发送给第一存储盘。
[0185] S401,存储管理设备确定第一存储盘内属性标签与存储方式之间的对应关系。
[0186] 应理解,存储管理设备120确定目标数据的属性标签为第二属性相当于确定目标数据的第二存储方式。这样,目标数据最终的存储方式实际由存储管理设备120直接决定,
可以使得目标数据可以以匹配的存储方式进行存储。
[0187] 可选地,存储管理设备120确定属性标签与存储方式之间的对应关系包括根据第一存储盘的容量确定热属性标签与存储方式之间的对应关系。
[0188] S402,存储管理设备向第一存储盘发送第二指示,第二指示用于指示属性标签与存储方式的对应关系。
[0189] 可选地,第二指示可以是关系表,例如,属性#1对应存储方式1,属性#2对应存储方式2。
[0190] S403,存储管理设备将目标数据的属性标签由第一属性更新为第二属性。
[0191] 该步骤同上述S201的描述相同,为避免冗余,可参见前文,在此不再赘述。
[0192] S404,存储管理设备向第一存储盘发送第一指示,第一指示用于指示所述第一存储盘将所述目标数据的存储方式由所述第一存储盘的第一存储方式转换为所述第一存储
盘的第二存储方式。
[0193] 该步骤同后文S202的描述相同,为避免冗余,可参见后文,在此不再赘述。
[0194] S405,第一存储盘根据第一指示将目标数据的存储方式由第一存储盘的第一存储方式转换为第一存储盘的第二存储方式。
[0195] 该步骤同上述S304的描述相同,为避免冗余,可参见前文,在此不再赘述。
[0196] 应理解,方法400目的是当剩余存储空间有限时,或者当剩余存储空间充足且需要提高存储性能时,可以通过调整属性标签与存储方式之间的对应关系以适应需求。
[0197] 在一些实施例中,当满足第一预设条件时,存储管理设备120更新所述第一存储盘内所述属性标签与所述存储方式之间的对应关系。
[0198] 该第一预设条件包括下述条件的至少一种:
[0199] A、第一存储盘的剩余容量小于第一预设阈值时。
[0200] B、存储管理设备120接收到主机的优化命令。
[0201] C、存储管理设备120接收到第一存储盘的优化请求。
[0202] 图5示出了本发明实施例提供的一种存储方法500的示意性流程图,结合图5对第一预设条件为A时进行说明。
[0203] 如图5,存储管理设备120根据第一存储盘的容量确定属性标签与存储方式之间的对应关系。
[0204] S501,存储管理设备向第一存储盘发送请求信息,该请求信息用于获取第一存储盘的容量。
[0205] 第一存储盘的容量可以包括第一存储盘内第一存储方式对应的剩余容量或者第二存储方式对应的剩余容量,再或者,第一存储盘的容量还可以包括第一存储盘全部的剩
余容量。
[0206] S502,第一存储盘接收到该请求信息后,向存储管理设备120发送所述第一存储盘的容量,所述第一存储盘的容量包括第一存储方式对应的容量和/或第二存储方式对应的
容量。
[0207] S503,存储管理设备确定第一存储盘内属性标签与存储方式的对应关系。
[0208] 在一些实施例中,步骤S503也即存储管理设备120确定属性标签与存储方式的对应关系包括:根据第一存储盘的容量确定属性标签与存储方式之间的对应关系。根据第一
存储盘的容量确定属性标签与存储方式之间的对应关系可以包括:第一存储盘的剩余容量
小于第一预设阈值时,存储管理设备120可以更新属性标签与存储方式的对应关系。可选
地,第一存储盘的剩余容量小于第一预设阈值可以是第一存储方式对应的剩余容量低于阈
值#1。例如,属性#1和属性#2对应存储方式#1,属性#3对应存储方式#2,存储方式#1优于存
储方式#2,现在第一存储盘中存储方式#1对应的剩余容量低于阈值#1,存储管理设备120可
以更新属性#2对应存储方式#2。应理解,这样以存储方式#1存储的数据减少,从而第一存储
盘可以“腾出”更多的空间。
[0209] 在一些实施例中,可选地,存储管理设备120接收到第一存储盘的容量后,可以根据该第一存储盘的容量重新确定第一存储盘的配置容量,例如,存储管理设备120获知第一
存储盘的已使用的SLC容量占据原先配置的SLC容量的90%并且已使用的QLC容量占据原先
配置的QLC容量的30%,存储管理设备120可以为存储盘130增加更多的SLC容量,例如通过
发送指示给存储盘130指示其将未使用的QLC容量的一半转换为SLC容量。可选地,在存储系
统初始化时,存储管理设备120就配置不同的存储方式对应的容量,例如,可以配置存储盘
130的存储空间为100MB的SLC区域和300MB的QLC区域。
[0210] 在一些实施例中,可选地,存储管理设备120接收到第一存储盘的容量后,可以通过用户界面的显示以告知用户存储盘130的具体的存储信息,提高用户体验。
[0211] 应理解,这样存储管理设备120可以确定第一存储盘的不同存储方式对应的容量,从而可以更好地分配存储空间或者进行存储优化。
[0212] 对第一预设条件是B时进行说明。例如,当主机110的用户认为存储系统100的性能需要向高性能方向转换,可以通过主机110给存储管理设备120发起优化请求,存储管理设
备120根据该优化请求,重新确认数据的存储方式并统计,或者选择部分数据升级其存储方
式为更优的存储方式,例如,将原本以存储方式3存储的数据改为以存储方式2存储。再例
如,当主机110的用户认为存储系统100的性能需要向高容量方向转换,可以通过主机110给
存储管理设备120发起优化请求,存储管理设备120根据该优化请求,重新确认数据的存储
方式并统计,或者选择部分数据升级其存储方式为占用容量更少的存储方式,例如,将原本
以存储方式1存储的文件改为以存储方式2存储。
[0213] 对第一预设条件是C时进行说明。在一些实施例中,第一存储盘检测到盘内的剩余存储容量小于第一预设阈值内,则向存储管理设备120发出优化请求,用于请求对第一存储
盘空间进行优化。例如,存储盘A检测到盘内的全部剩余容量低于阈值#1,则存储盘A向存储
管理设备120发出优化请求。应理解,条件A和条件C的区别在于存储管理设备120主动触发
还是由第一存储盘触发再向存储管理设备120上报。
[0214] S202,所述存储管理设备向第一存储盘发送第一指示,所述第一指示用于指示所述第一存储盘将所述目标数据的存储方式由所述第一存储盘的第一存储方式转换为所述
第一存储盘的第二存储方式,其中所述第一存储方式与所述第一属性具有第一对应关系,
所述第二存储方式与所述第二属性具有第二对应关系。
[0215] 在一些实施例中,第一存储方式可以是SLC存储、MLC存储、TLC存储、QLC存储的任一种。在一些实施例中,第二存储方式可以是SLC存储、MLC存储、TLC存储、QLC存储的任一
种。但第一存储方式不同于第二存储方式。例如,第一存储方式为SLC存储,第二存储方式可以为MLC存储。再例如,第一存储方式为SLC存储,第二存储方式可以为QLC存储。应理解,第一存储方式和第二存储方式是针对同一文件在不同时间下的存储方式。
[0216] 对“第一指示”进行说明。
[0217] 在一些实施例中,第一指示可以是目标数据的属性标签。
[0218] 在一些实施例中,第一指示也可以是指示目标数据的属性标签由第一属性更新为第二属性的信息。
[0219] 在一些实施例中,第一指示还可以是直接指示目标数据的第二存储方式的信息。
[0220] 在一些实施例中,存储管理设备120和第一存储盘之间存在第一接口,该第一接口用于存储管理设备120更新目标数据的属性标签时自动获取目标数据更新后的属性标签的
值。
[0221] 在一些实施例中,可以在标准SSD盘上设置该第一接口,以实现本发明实施例所述的方法。
[0222] S203,第一存储盘根据第一指示将目标数据的存储方式由第一存储盘的第一存储方式转换为第一存储盘的第二存储方式。
[0223] 该步骤与上述S304相同。
[0224] 可选地,第一存储盘可以对所存储的目标数据也设置属性标签,该属性标签可以是一种标识,例如flag。例如,第一存储盘设置数据#1的属性标签为属性#2。
[0225] 可选地,第一存储盘可以根据属性标签的值确定目标数据的第二存储方式。例如,数据1的属性标签的值由属性#1更新为属性#2,由于属性#1对应存储方式#1,属性#2对应存
储方式#2,则第一存储盘将数据1由存储方式#1转换为存储方式#2。
[0226] 第一存储盘内对目标数据由所述第一存储盘的第一存储方式转换为所述第一存储盘的第二存储方式,其步骤可以为:将目标数据从第一区域迁移到第二区域,第一区域的
存储粒度与第二区域的存储粒度不同,例如,第一区域的存储粒度为SLC颗粒,第二区域的
存储粒度为QLC颗粒。应理解,第一区域和第二区域都在该第一存储盘内,因此该目标数据
在存储管理设备120记录的位置仍然在第一存储盘内,只是第一存储盘内所记录的该目标
数据的具体存储位置发生了变化。换言之,第一存储盘只需要根据第二属性执行对目标数
据的存储位置迁移即可,并不需要向存储管理设备120报告目标数据的具体存储位置。
[0227] 可选地,将数据以PLOG为单元进行写入以及存储模式转换,例如,目录1下有文件1,文件2,则目录1的元数据,文件1的元数据,文件2的元数据存入PLOG1内,并且PLOG1的属性标签为属性#1,由于PLOG1的访问频率高于第一频率阈值,因此PLOG1的属性标签更新为
属性#2,则PLOG1的全部数据的存储方式应当由存储方式#1更换为存储方式#2。第一存储盘
的存储区域包括QLC存储区域和SLC存储区域,则存储盘A将PLOG1迁移到盘内的SLC区域,虽
然PLOG1在盘内的实际存储空间发生了变化,但由于PLOG1对应的数据仍在第一存储盘内,
并且PLOG1内的每个数据的位置不变,因此,无需向存储管理设备120上报该PLOG1的具体位
置。
[0228] 图6示出了本发明实施例提供的一种存储方法600的示意性流程图,结合图6对本发明提供的存储方法600进行说明。
[0229] 在一些实施例中,属性标签与存储方式的对应关系可以由第一存储盘自主确定。
[0230] S601,第一存储盘确定第一存储盘内属性标签与存储方式之间的对应关系。
[0231] 在一些实施例中,该步骤可以例如包括根据第一存储盘的容量确定属性标签与存储方式之间的对应关系。可选地,当第一存储盘的容量满足第三预设条件时,第一存存储盘
修改属性标签与存储方式之间的对应关系,该第三预设条件可以例如是第一存储盘的剩余
容量小于第二预设阈值。第一存储盘的剩余容量小于第二预设阈值可以例如是第一存储盘
中的存储方式#1对应的容量低于阈值#2,该阈值#2可以例如是1GB。
[0232] 在一些实施例中,该步骤可以是第一存储盘预置有属性标签与存储方式之间的对应关系。换言之,属性标签与存储方式之间的对应关系可以为协议中定义好的。
[0233] S602,存储管理设备将目标数据的属性标签由第一属性更新为第二属性,所述属性标签用于指示所述目标数据的存储方式。
[0234] 该步骤的说明与S201相同,为避免冗余,可参见前文,在此不再赘述。
[0235] S603,所述存储管理设备向第一存储盘发送第一指示,所述第一指示用于指示所述第一存储盘将所述目标数据的存储方式由所述第一存储盘的第一存储方式转换为所述
第一存储盘的第二存储方式,其中所述第一存储方式与所述第一属性具有第一对应关系,
所述第二存储方式与所述第二属性具有第二对应关系。
[0236] 该步骤的说明与S202相同,避免冗余,可参见前文,在此不再赘述。
[0237] S604,第一存储盘根据第一指示将目标数据的存储方式由第一存储盘的第一存储方式转换为第一存储盘的第二存储方式。。
[0238] 该步骤的说明与S203相同,为避免冗余,可参见前文,在此不再赘述。
[0239] 应理解,第一存储盘决定目标数据的存储方式,而存储管理设备120仅仅给目标数据确定目标数据的属性标签并且第一存储盘也并不需要告知存储管理设备120目标数据最
终的存储方式。该方式可以使得第一存储盘自主的调整盘内数据的存储方式,并且存储管
理设备120可以节省调控的负担以及节省存储系统100的信令开销。
[0240] 图7示出了本发明实施例提供的存储方法700的示意性流程图。
[0241] 结合图7对本发明实施例提供的存储方法700进行说明。
[0242] S701,存储管理设备接收到目标数据的写入请求。
[0243] 该步骤例如可以是在目标数据写入第一存储盘之前。
[0244] S702,存储管理设备响应于写入请求,确定目标数据的属性标签为第一属性,属性标签用于指示所述目标数据的存储方式。
[0245] 可选地,存储管理设备响应于写入请求,根据第二信息确定目标数据的属性标签为第一属性。
[0246] 可选地,第二信息可以包括目标数据的固有属性信息。
[0247] 在初次写入数据时,存储管理设备120还可以根据目标数据的固有属性信息和关系#5确定目标数据的第一属性,关系#5为数据的固有属性信息和第一属性的关系。
[0248] 表5
[0249]
[0250] 关系#5可以如表5所示。例如,数据1为目录元文件,则存储管理设备120确定数据1的属性标签为属性#1。又例如,数据2为大文件(大小大于等于100MB)的数据,则存储管理设
备120确定数据2的属性标签为属性#2。
[0251] 在一些实施例中,目标数据的大小可以为存储盘存储的最小单元,例如可以是8kb。在另一些实施例中,第一存储盘是PLOG SSD盘,并且目标数据可以是一个PLOG。PLOG盘可以是提供PLOG接口的SSD盘,PLOG就是该PLOG SSD盘中一段支持追加写的,命名的,字节
级地址空间的封装,一个SSD可包含多个PLOG。在该PLOG SSD盘中新增一个PLOG时,可以指
明该PLOG的ID和属性,例如,指明ID为PLOG1的PLOG的属性标签为属性#2。
[0252] 可选地,可以将同一目录下的多个相同或相似类型的数据放到同一PLOG内,例如,目录1下有文件1,文件2,则目录1的元数据,文件1的元数据,文件2的元数据存入PLOG1内。
这样,在后续的存储方式转换时,可以PLOG为单元进行转换。应理解,由于同一目录下的文
件一般是同时读取的,其统计特征一般也是相同的,而相同或相近的类型的数据则也一般
采取相同的存储方式,因此,可以减少信令交互,降低存储管理设备120的管理成本。
[0253] S703,所述存储管理设备向第一存储盘发送第四指示,所述第四指示用于指示所述第一存储盘将所述目标数据的存储方式为第一存储方式,其中所述第一存储方式与所述
第一属性具有第一对应关系。
[0254] 可选地,第四指示可以是目标数据的属性标签。
[0255] 可选地,第四指示也可以是指示目标数据的属性标签由空更新为第一属性的信息。
[0256] 可选地,第四指示还可以是直接指示目标数据的第一储方式的信息。
[0257] S704,第一存储盘接收第四指示,根据第四指示以第一存储方式存储目标数据。
[0258] 该步骤的说明与S203类似,为避免冗余,可参见前文,在此不再赘述。
[0259] S705,存储管理设备将目标数据的属性标签由第一属性更新为第二属性,所述属性标签用于指示所述目标数据的存储方式。
[0260] 该步骤的说明与S201相同,为避免冗余,可参见前文,在此不再赘述。
[0261] S706,所述存储管理设备向第一存储盘发送第一指示,所述第一指示用于指示所述第一存储盘将所述目标数据的存储方式由所述第一存储盘的第一存储方式转换为所述
第一存储盘的第二存储方式,其中所述第一存储方式与所述第一属性具有第一对应关系,
所述第二存储方式与所述第二属性具有第二对应关系。
[0262] 该步骤的说明与S202相同,为避免冗余,可参见前文,在此不再赘述。
[0263] S707,第一存储盘根据第一指示将目标数据的存储方式由第一存储盘的第一存储方式转换为第一存储盘的第二存储方式。该步骤的说明与S203相同,为避免冗余,可参见前
文,在此不再赘述。
[0264] 上文结合图1至图7详细的描述了本发明实施例的方法实施例,下面结合图8至图10,详细描述本发明实施例的装置实施例。应理解,方法实施例的描述与装置实施例的描述
相互对应,因此,未详细描述的部分可以参见前面方法实施例。
[0265] 图8是本发明实施例提供的存储管理设备800的示意性结构图。图8中的存储管理设备800可以是图1的存储管理设备120的一个具体的例子。图8所示的存储管理设备800可
以用于执行图2至图7所示的方法,并且可以具体实现图1至图7所示的实施例,为避免冗余,
不再重复描述。
[0266] 图8所示的存储管理设备800包括处理单元801和发送单元802。
[0267] 该处理单元801可以执行图2所示的方法中的步骤S201。
[0268] 该处理单元801还可以执行图3所示的方法中的步骤S301。
[0269] 该处理单元801还可以执行图4所示的方法中的步骤S401、S403。
[0270] 该处理单元801还可以执行图5所示的方法中的步骤S503。
[0271] 该处理单元801还可以执行图6所示的方法中的步骤S602。
[0272] 该处理单元801还可以执行图7所示的方法中的步骤S701、S702、S705。
[0273] 该发送单元802可以执行图2所示的方法中的步骤S202。
[0274] 该发送单元802可以执行图3所示的方法中的步骤S302、S303。
[0275] 该发送单元802可以执行图4所示的方法中的步骤S402、S404。
[0276] 该发送单元802可以执行图5所示的方法中的步骤S501。
[0277] 该发送单元802可以执行图6所示的方法中的步骤S603。
[0278] 该发送单元802可以执行图7所示的方法中的步骤S703、S706。
[0279] 在一些实施例中,该存储管理设备800还包括接收单元(图中未示出),该接收单元可以执行图5所示的方法中的步骤S502。
[0280] 图9是本发明实施例提供的存储盘900的示意性结构图。图9中的存储盘900可以是图1的存储节点的一个具体的例子。图9所示的存储管理设备900可以用于执行图2至图7所
示的方法,并且可以具体实现图1至图7所示的实施例,为避免冗余,不再重复描述。
[0281] 图9所示的存储盘900包括接收单元901和处理单元902。
[0282] 该接收单元901可以执行图2所示的方法中的步骤S202。
[0283] 该接收单元901还可以执行图3所示的方法中的步骤S302。
[0284] 该接收单元901还可以执行图4所示的方法中的步骤S402、S404。
[0285] 该接收单元901还可以执行图5所示的方法中的步骤S501。
[0286] 该接收单元901还可以执行图6所示的方法中的步骤S603。
[0287] 该接收单元901还可以执行图6所示的方法中的步骤S703、S706。
[0288] 该处理单元902可以执行图2所示的方法中的步骤S203。
[0289] 该处理单元902可以执行图3所示的方法中的步骤S304。
[0290] 该处理单元902可以执行图4所示的方法中的步骤S405。
[0291] 该处理单元902可以执行图6所示的方法中的步骤S601、S604。
[0292] 该处理单元902可以执行图7所示的方法中的步骤S704、S707。
[0293] 在一些实施例中,该存储盘900还包括发送单元(图中未示出),该发送单元可以执行图2所示的方法中的步骤S502。
[0294] 图10是本发明实施例提供的存储系统1000的示意性结构图。存储系统1000包括存储管理设备1001和存储盘1002。该存储管理设备1001可以是上文所述的存储管理设备800,
该存储盘1002可以是上文所述的存储盘900。为避免冗余,不再重复描述。
[0295] 应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0296] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出
本发明的范围。
[0297] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为避免冗余,可参见
前文,在此不再赘述。
[0298] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或
讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦
合或通信连接,可以是电性,机械或其它的形式。
[0299] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0300] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0301] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵
盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页 第1页 第2页 第3页