存储设备写入方法及存储设备的制作方法

文档序号:6525513阅读:154来源:国知局
存储设备写入方法及存储设备的制作方法
【专利摘要】本发明实施例提供一种存储设备写入方法及存储设备。本发明存储设备写入方法包括:获取待写入的数据的属性;若根据所述待写入的数据的属性确定所述数据为第一数据,则利用固态硬盘SSD快速响应的特性将所述第一数据写入属于第一RAID的存储块中,所述第一RAID的总存储空间大小值等于至少一个SSD的容量;若根据所述待写入的数据的属性确定所述数据为第二数据,则将所述第二数据写入属于第二RAID的存储块中,所述第二RAID的总存储空间大小值等于总的数据盘的容量之和。能够加快扇区提升后的存储设备写入速度,从而提升存储设备的性能,提高存储设备的使用寿命。
【专利说明】存储设备写入方法及存储设备
【技术领域】
[0001]本发明实施例涉及存储技术,尤其涉及一种存储设备写入方法及存储设备。
【背景技术】
[0002]随着计算机技术和通信技术的不断发展,硬盘的应用和需求越来越多。计算机只能对传统硬盘上储存的数据以扇区为单位进行读出和写入,传统硬盘的扇区大小是512字节,即512B。近年来,硬盘制造商正在将扇区从传统的512字节增加到更大、更高效的4096字节,即4KB,即将8个传统512字节扇区合并为一个4KB扇区,即该硬盘可以以4KB为单位进行读出和写入,能够提高区域密度和硬盘容量,同时提供更加强大的错误纠正功能。
[0003]但是,计算机的很多方面依然默认以512B为单位对硬盘进行读取和写入。虽然计算机读取小于4KB的数据时不会造成什么影响,但是当计算机尝试写入的新数据小于4KB时,如2个512B的数据写入硬盘时,首先需读取包含计算机写入请求目标位置的整个4KB扇区的数据,然后将新数据替换将同等大小的数据现有数据,如替换2个512B的旧数据,将新的2个512B的数据与未替换的6个512B的现有数据合并为一个4KB的数据,才能重新将这4KB的数据写入硬盘,且,由于现有的硬盘多为机械硬盘(HardDiskDrive,数据盘)存储,数据盘的响应速度较慢,导致写入硬盘的速度很慢,造成硬盘性能较差,而多块硬盘放一起使用时用于控制硬盘盘,保证数据能正确的读写阵列进而造成硬盘整体性能下降。的整体性能下降,同时,频繁的读写硬盘,也会造成硬盘的磁头不停的变化,也会降低硬盘的寿命,因此提高硬盘写入速度和提升硬盘的使用寿命成为亟待解决的问题。

【发明内容】

[0004]本发明实施例提供一种存储设备写入方法及存储设备,能够加快扇区提升后的存储设备写入速度,从而提升存储设备的性能,提高存储设备的使用寿命。
[0005]本发明实施例提供一种存储设备写入方法,包括:
[0006]获取待写入的数据的属性;
[0007]若根据所述待写入的数据的属性确定所述数据为第一数据,则利用固态硬盘SSD快速响应的特性将所述第一数据写入属于第一 RAID的存储块中,所述第一 RAID的总存储空间大小值等于至少一个SSD的容量;若根据所述待写入的数据的属性确定所述数据为第二数据,则将所述第二数据写入属于第二 RAID的存储块中,所述第二 RAID的总存储空间大小值等于总的数据盘的容量之和。
[0008]在第一种可能的实现方式中,根据第一方面,所述获取待写入的数据的属性之前,还包括:
[0009]按照所述第一 RAID的存储空间大小值及所述存储块的大小值确定属于所述第一RAID的存储块个数为Μ个,并按照所述第二 RAID的存储空间大小值及所述存储块的大小值确定属于所述第二 RAID的存储块个数为N个,以使得标记为属于第一 RAID的存储块个数不大于M,标记为属于第二 RAID的存储块个数不大于N ;[0010]其中,所述第一 RAID的存储空间大小值根据所述至少一个SSD的容量确定,所述第二 RAID的存储空间大小值根据所述总的数据盘的容量确定,所述存储块的大小值为一预设的定值,所述Μ、N为正整数。
[0011]在第二种可能的实现方式中,结合第一方面和第一种可能的实现方式,所述将所述第一数据写入属于第一 RAID的存储块中包括:
[0012]确定所述第一数据需写入属于第一 RAID的存储块;
[0013]根据预设表项索引所有的存储块,获取所有标记为属于第一 RAID的存储块的地址以及所有未标记的存储块的地址;
[0014]将所述第一数据按照所述存储块的地址写入对应的存储块中。
[0015]在第三种可能的实现方式中,结合第一方面、第一种可能的实现方式和第二种可能实现的方式,所述将所述第二数据写入属于第二 RAID的存储块中包括:
[0016]确定所述第二数据需写入属于第二 RAID的存储块;
[0017]根据预设表项索引所有的存储块,获取所有标记为属于第二 RAID的存储块的地址以及所有未标记的存储块的地址;
[0018]将所述第二数据按照所述存储块的地址写入对应的存储块中。
[0019]在第四种可能的实现方式中,结合第一方面、第一种可能的实现方式、第二种可能实现的方式和第三种可能实现的方式,所述获取待写入的数据占用空间的大小值之前,还包括:
[0020]若属于第一 RAID的存储块被完全占用,则将所述被完全占用的属于第一 RAID的存储块中的数据转存到第二 RAID的存储块中。
[0021]第二方面,本发明实施例提供的一种存储设备,包括:
[0022]获取单元,用于获取待写入的数据的属性;
[0023]写入控制单元,用于若根据所述待写入的数据的属性确定所述数据为第一数据,则利用固态硬盘SSD快速响应的特性将所述第一数据写入属于第一 RAID的存储块中,所述第一 RAID的总存储空间大小值等于至少一个SSD的容量;若根据所述待写入的数据的属性确定所述数据为第二数据,则将所述第二数据写入属于第二 RAID的存储块中,所述第二RAID的总存储空间大小值等于总的数据盘的容量之和。
[0024]在第一种可能的实现方式中,根据第一方面,
[0025]处理单元,用于按照所述第一 RAID的存储空间大小值及所述存储块的大小值确定属于所述第一 RAID的存储块个数为Μ个,并按照所述第二 RAID的存储空间大小值及所述存储块的大小值确定属于所述第二 RAID的存储块个数为N个,以使得标记为属于第一RAID的存储块个数不大于M,标记为属于第二 RAID的存储块个数不大于N ;
[0026]其中,所述第一 RAID的存储空间大小值根据所述至少一个SSD的容量确定,所述第二 RAID的存储空间大小值根据所述总的数据盘的容量确定,所述存储块的大小值为一预设的定值,所述Μ、N为正整数。
[0027]在第二种可能的实现方式中,结合第一方面和第一种可能的实现方式,所述写入控制单元包括:
[0028]确定模块,用于确定所述第一数据需写入属于第一 RAID的存储块;
[0029]获取模块,用于根据预设表项索引所有的存储块,获取所有标记为属于第一 RAID的存储块的地址以及所有未标记的存储块的地址;
[0030]写入模块,用于将所述第一数据按照所述存储块的地址写入对应的存储块中。
[0031]在第三种可能的实现方式中,结合第一方面、第一种可能的实现方式和第二种可能实现的方式,所述确定模块,还用于确定所述第二数据需写入属于第二 RAID的存储块;
[0032]所述确定模块,还用于确定所述第二数据需写入属于第二 RAID的存储块;
[0033]所述获取模块,还用于根据预设表项索引所有的存储块,获取所有标记为属于第二 RAID的存储块的地址以及所有未标记的存储块的地址;
[0034]所述写入模块,还用于将所述第二数据按照所述存储块的地址写入对应的存储块中。
[0035]在第四种可能的实现方式中,结合第一方面、第一种可能的实现方式、第二种可能实现的方式和第三种可能实现的方式,
[0036]所述写入控制单元,还用于若属于第一 RAID的存储块被完全占用,则将所述被完全占用的属于第一 RAID的存储块中的数据转存到第二 RAID的存储块中。
[0037]本发明实施例提供的存储设备写入方法及存储设备。存储设备获取待写入的数据的属性;若根据待写入的数据的属性确定数据为第一数据,则利用固态硬盘SSD快速响应的特性将第一数据写入属于第一 RAID的存储块中,第一 RAID的总存储空间大小值等于至少一个SSD的容量;若根据待写入的数据的属性确定数据为第二数据,则将第二数据写入属于第二RAID的存储块中,第二RAID的总存储空间大小值等于总的数据盘的容量之和。这样一来,存储设备能够利用SSD的快速响应特性对属性为小输入输出10的数据进行写入,以提高写入的速度,且数据盘只处理大10的数据,数据盘可以将这类大10的数据中的等于扇区的大小值的数据直接写入,以此加快写入的速度,减少因硬盘的磁头频繁读写带来的变化,提升硬盘的使用寿命。存储设备这种同时利用SSD和数据盘存储的结构和存储方式可以加快扇区提升后的存储设备写入速度,进而提升存储设备的性能。
【专利附图】

【附图说明】
[0038]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0039]图1为本发明提供的存储设备写入方法实施例的流程图;
[0040]图2为本发明提供的存储设备写入方法另一个实施例的流程图
[0041]图3为硬盘组成原理的结构示意图;
[0042]图4为本发明提供的存储设备写入方法又一实施例的流程图;
[0043]图5为本发明提供的存储设备实施例的结构示意图;
[0044]图6为本发明提供的存储设备另一实施例的结构示意图;
[0045]图7为本发明提供的存储设备又一实施例的结构示意图;
[0046]图8为本发明提供的另一存储设备实施例的结构示意图。
【具体实施方式】[0047]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]图1为本发明提供的存储设备写入方法实施例的流程图,该存储设备由至少一个固态硬盘(Solid State Disk, SSD)和传统的数据盘组合形成,硬盘的写入功能由SSD和数据盘共同支持实现,如图1所示,本实施例的方法可以包括:
[0049]S101、存储设备获取待写入的数据的属性。
[0050]举例来说,存储设备可以是硬盘或其他具有存储功能的设备,本实施例以硬盘举例进行说明,由于硬盘扇区计算机的大部分具有写入需求的功能区域依然默认扇区的大小值为传统的512B,因此,在向硬盘写入数据时依旧以512B为单位进行写入,也就是说,待写入的数据的占用空间的大小值可以是512B的整数倍,如3个512B,2个512B,10个512B,19个512B等等。
[0051]需要说明的是,现有技术已经可以将硬盘的扇区的大小值提升到以4KB即8个512B,也就是说硬盘可以以4KB为单位进行读出和写入了,所以本发明实施例以扇区的大小值为4KB举例进行说明,任何扇区大小值大于计算机写入的数据占用空间的大小值的写入均在本发明保护范围之内,如扇区的大小值为8KB,计算机依然以512B写入,或者,扇区的大小值为8KB,计算机升级到以4KB进行写入等均在保护范围之内。
[0052]进一步地,数据的属性可以包括大输入输出(Input Output, 10)和小10,其中,10大小可以基于一个分条的大小来划分,小于一个分条大小的10为小10,大于或等于一个分条大小的10为大10 ;—个分条大小=(RAID组的盘的个数-1)*分条深度,分条为在同一个RAID组中,物理偏移相同的若干个分条单元组成的,分条深度为一个分条单元中的块的个数,块为存储设备读写操作的最小单位,大小为512字节,分条单元为同一硬盘上的连续的若干个块组成的分条的元素。
[0053]S102、存储设备若根据待写入的数据的属性确定数据为第一数据,执行步骤S103 ;若根据待写入的数据的属性确定数据为第二数据,执行步骤S104。
[0054]举例来说,存储设备若根据待写入的数据的属性确定该数据为小10,则执行步骤S103,若确定该数据为大10则执行步骤S104。
[0055]进一步地,确认10为大10还是小10可以是,如果该RAID组分条大小是1M,但是要写的10是10K,其实这时候10的属性应该是确定为小10,这时候就把这10K 10完全都写到第一 RAID ;如果分条大小是100K,要写的10大小是101K,那么这个时候就把这101K的数据都写到第二 raid中。
[0056]S103、存储设备利用SSD快速响应的特性将第一数据写入属于第一 RAID的存储块中,第一 RAID的总存储空间大小值等于至少一个SSD的容量。
[0057]进一步地,计算机写入小于扇区的大小值的数据时,如扇区为4KB但是待写入的数据占用空间的大小值为3个512B时,先读取计算机写入请求目标位置即SSD对应的属于第一 RAID的存储块的一整个4KB扇区的数据,然后将这4KB数据将中3个512B大小的旧数据替换为新数据,即用新数据将旧数据覆盖,将待写入的3个512B的数据与未替换的5个512B的现有数据合并为一个新的4KB的数据,再将这4KB的数据写入属于第一 RAID的存储块。由于第一 RAID由至少一个SSD支持,而SSD具有快速响应的特性,即可以快速的读出和写入特性,可以提高小10的写入速度。如3个512B的数据写入传统硬盘的时间可能为1秒,但是3个512B的数据写入SSD支持的第一 RAID的存储块的时间可能只为10毫秒,大幅提升了小数据输入10写入的时间。
[0058]S104、存储设备将第二数据写入属于第二 RAID的存储块中,第二 RAID的总存储空间大小值等于总的数据盘的容量之和。
[0059]举例来说,计算机写入的数据属性为大10时,10中等于扇区的大小值的数据部分就直接写入第二 RAID中,如扇区为4KB,待写入的大10数据占用空间的大小值为8个512B时,可以直接将这个大10数据分为两个4KB的待写入数据写入属于第二 RAID的存储块中,而不需要再从第二 RAID中先读出再替换最后再写入这2个4KB的数据,节省了写入数据的时间。
[0060]如果待写入的大10数据占用空间的大小值为大于4K,且不满足10的整数倍的情况下,比如15K时,把15K按4K做一个圆整,如可以圆整为一个15K的数据进行处理,即15K要写多少个4K单位,只预读不满足4K的部分,如15K圆整的数据一定有一个不足4K的部分。如果要从地址块(block)为0的地方,如上所述一个block为512B,写一个15K的数据下去,这时候其实地址0是对齐的,要写的数据15K不对齐,但是也只是最后的4k不对齐,这时候,就只需要预读最后的4K数据上来,做合并,再写;而如果要从地址block为1的地方去写一个15K的数据,这时候地址和数据大小15K都不是4K对齐的,就需要对地址和数据大小都对齐处理,而其实也只是这15K数据的头尾4K部分不对齐,这时候就预读0到4K和12K到16K这部分数据,做合并,再写。
[0061]需要说明的是,本实施例虽然以硬盘举例说明,但不以此做任何限定,其他存储设备的写入单位提升而使得计算机或用户设备写入时不能根据该提升后的单位写入而造成的写入缓慢均可利用本发明实施例提供的方法提高写入速度,所以均在保护范围之内。
[0062]本发明实施例提供的存储设备写入方法。存储设备获取待写入的数据的属性;若根据待写入的数据的属性确定数据为第一数据,则利用固态硬盘SSD快速响应的特性将第一数据写入属于第一 RAID的存储块中,第一 RAID的总存储空间大小值等于至少一个SSD的容量;若根据待写入的数据的属性确定数据为第二数据,则将第二数据写入属于第二RAID的存储块中,第二 RAID的总存储空间大小值等于总的数据盘的容量之和。这样一来,存储设备能够利用SSD的快速响应特性对属性为小输入输出10的数据进行写入,以提高写入的速度,且数据盘只处理大10的数据,数据盘可以将这类大10的数据中的等于扇区的大小值的数据直接写入,以此加快写入的速度,减少因硬盘的磁头频繁读写带来的变化,提升硬盘的使用寿命。存储设备这种同时利用SSD和数据盘存储的结构和存储方式可以加快扇区提升后的存储设备写入速度,进而提升存储设备的性能。
[0063]图2为本发明提供的存储设备写入方法另一个实施例的流程图,本实施例以存储设备为硬盘举例说明,但不以此做任何限定。如图2所示,该方法包括:
[0064]S201、硬盘按照第一 RAID的存储空间大小值及存储块的大小值确定属于第一RAID的存储块个数为Μ个,并按照第二 RAID的存储空间大小值及存储块的大小值确定属于第二 RAID的存储块个数为N个。
[0065]进一步地,通过计算存储块个数使得标记为属于第一 RAID的存储块个数不大于M,标记为属于第二 RAID的存储块个数不大于N。
[0066]其中,第一 RAID的存储空间大小值根据至少一个SSD的容量确定,第二 RAID的存储空间大小值根据总的数据盘的容量确定,存储块的大小值为一预设的定值,Μ、N为正整数。
[0067]举例来说,第一 RAID的存储空间大小值根据至少一个SSD的容量确定可以是根据RAID级别来确定RAID组的空间大小。如SSD是组成RAID10级别的,所以,这里raid组的容量应该是32GB,2块盘中,有1块盘是用来做数据保护的,也就是说2个SSD盘上的数据。
[0068]并按照第二 RAID的存储空间大小值及存储块的大小值确定可以是根据数据盘的个数和所在的RAID级别确定,主要是因为存储设备的最终容量是与数据盘的个数及RAID组的级别有关系的。如第二 RAID的总容量等于总的数据盘的容量之和:如果RAID组级别是RAID10,则等于数据盘的容量乘以镜像组个数;如果RAID组级别是RAID3或RAID5,则等于成员盘个数减去1,然后再乘以每个盘的容量;如果RAID组级别是RAID6,则等于成员数据盘个数减去2,乘以每个盘的容量。由于每个数据盘的容量不同,因此在乘以数据盘的容量的时候,按构成RAID组中的所有盘中容量最小的那个盘的容量为准进行计算。
[0069]如,根据上述计算得到第一 RAID的存储空间大小值为32GB,第二 RAID的存储空间大小值为128GB,且存储块的大小值为一预设的定值,如64M,则可以确定属于第一 RAID的存储块个数M=512,属于第二 RAID的存储块个数N=2048。
[0070]也就是说,后续对未标记的存储块进行标记时要以属于第一 RAID的存储块个数不大于512个,以属于第二 RAID的存储块个数不大于2048为标准进行。如,第一 RAID的存储块利用一个标志位标记为1,第二 RAID的存储块利用一个标志位标记为0,则若标记为1的存储块个数已经等于512,则未标记的其他存储块不再标记为1,同理,若标记为0的存储块个数已经等于2048,则未标记的其他存储块不再标记为0。
[0071]需要说明的是,上述SSD和数据盘的容量仅用于举例说明,存储块的大小值和标记方式也均为举例说明,不以此做任何限定,其他数值和标记方式均在保护范围之内。
[0072]S202、硬盘若确定Μ个属于第一 RAID的存储块被完全占用,则将属于第一 RAID的存储块中的数据全部转存到第二 RAID的存储块中,并清空占用Μ个属于第一 RAID的存储块中的所有数据。
[0073]需要说明的是,如果512个属于第一 RAID的存储块被完全占用,即每个存储块都装满了数据,而硬盘中还存在空置的存储块和标记为属于第二 RAID的但未被完全占用的存储块,那么硬盘可以在空闲时间,即不读取和写入任何数据的时候,将第一 RAID的存储块中的数据全部转存到第二 RAID的存储块或空置的存储块中,转入空置的存储块后需将空置的存储块标记为属于第二 RAID。
[0074]S203、硬盘获取待写入的数据的属性。
[0075]需要说明的是,获得是属性可以是该数据为小10或者大10数据,在上述实施例已经描述,在此不再赘述。
[0076]S204、硬盘若根据待写入的数据的属性确定数据为第一数据,执行步骤S205;若根据待写入的数据的属性确定数据为第二数据,执行步骤S208。
[0077]S205、硬盘确定第一数据需写入属于第一 RAID的存储块。
[0078]进一步地,硬盘可以利用SSD快速响应的特性完成步骤S205?S207。[0079]S206、硬盘根据预设表项索引所有的存储块,获取所有标记为属于第一 RAID的存储块的地址以及所有未标记的存储块的地址。
[0080]S207、硬盘将第一数据按照存储块的地址写入对应的存储块中。
[0081]举例来说,图3为硬盘组成原理的结构示意图,如图3所示,硬盘的总存储空间可以是SSD和数据盘一起构成,SSD和数据盘处于底层来实现存储功能,而不再像现有技术那样由SSD提供缓存,由数据盘存储。如可以由2个SSD组成一个第一 RAID,然后由3个数据盘组成第二 RAID。硬盘可以对第一 RAID和第二 RAID统一编址,区分用户需写入的数据的属性,即数据的大小值,当数据的大小值小于扇区,为小10数据时,对应第一 RAID的地址就可以将小10数据写入SSD,当为大于或等于扇区的大小值的数据时,对应第二 RAID的地址就可以将这类较大的数据写入数据盘。
[0082]表1为预设表项,硬盘中存在两层存储块地址(Lba,Logical Block Address),一个是对应于真实的存储空间的逻辑单元号(Logical Unit Numbe,LUN),每一个真实Lba即LUN的Lba为64M,另一个是虚拟的Lba,记作块BLOCK的Lba。如表1所示,硬盘将SSD与数据盘组成的总存储空间映射给LUN的Lba和BLOCK的Lba,并对LUN的Lba进行编号,该LUN的Lba与BLOCK的Lba可以用地址相互唯一确定。这个表项中还可以标记每一个LUN的Lba是属于第一 RAID还是第二 RAID,如可以利用上述举例中的标志位为0或1标记为属于第一 RAID还是第二 RAID。
[0083]当待写入的数据为第一数据时,首先去寻找是否有属于第一 RAID的64M大小的存储块用来存储该第一数据,如果有,再判断一下该存储块是否存满;如果存满了,则去获取其他未存满的属于第一 RAID的存储块,若所有属于第一 RAID的存储块均存满,则寻找空闲的64M大小的存储块,并将该存储块标记为属于第一 RAID。进一步地,SSD组成的RAID级别可以不同,如,多块SSD组成RAID3或RAID6等。
【权利要求】
1.一种存储设备写入方法,其特征在于,包括:获取待写入的数据的属性;若根据所述待写入的数据的属性确定所述数据为第一数据,则利用固态硬盘SSD快速响应的特性将所述第一数据写入属于第一 RAID的存储块中,所述第一 RAID的总存储空间大小值等于至少一个SSD的容量;若根据所述待写入的数据的属性确定所述数据为第二数据,则将所述第二数据写入属于第二 RAID的存储块中,所述第二 RAID的总存储空间大小值等于总的数据盘的容量之和。
2.根据权利要求1所述的方法,其特征在于,所述获取待写入的数据的属性之前,还包括:按照所述第一 RAID的存储空间大小值及所述存储块的大小值确定属于所述第一 RAID的存储块个数为Μ个,并按照所述第二 RAID的存储空间大小值及所述存储块的大小值确定属于所述第二 RAID的存储块个数为N个,以使得标记为属于第一 RAID的存储块个数不大于M,标记为属于第二 RAID的存储块个数不大于N ;其中,所述第一 RAID的存储空间大小值根据所述至少一个SSD的容量确定,所述第二RAID的存储空间大小值根据所述总的数据盘的容量确定,所述存储块的大小值为一预设的定值,所述M、N为正整数。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述第一数据写入属于第一RAID的存储块中包括:确定所述第一数据需写入属于第一 RAID的`存储块;根据预设表项索引所有的存储块,获取所有标记为属于第一 RAID的存储块的地址以及所有未标记的存储块的地址;将所述第一数据按照所述存储块的地址写入对应的存储块中。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述将所述第二数据写入属于第二 RAID的存储块中包括:确定所述第二数据需写入属于第二 RAID的存储块;根据预设表项索引所有的存储块,获取所有标记为属于第二 RAID的存储块的地址以及所有未标记的存储块的地址;将所述第二数据按照所述存储块的地址写入对应的存储块中。
5.根据权利要求3所述的方法,其特征在于,所述根据预设表项索引所有的存储块,获取所有标记为属于第一 RAID的存储块的地址以及所有未标记的存储块的地址;将所述第一数据按照所述存储块的地址写入对应的存储块中包括:根据预设表项索引所有的存储块,将未标记的存储块作为第一存储块,将所有标记为属于第一 RAID的存储块中未被完全占用的存储块确定为第二存储块;若存在第二存储块,获取所述第二存储块的地址,将所述第一数据按照第二存储块的地址写入第二存储块中;若不存在第二存储块,则获取所述第一存储块的地址,将所述第一数据按照第一存储块的地址写入第一存储块中,并标记所述第一存储块属于第一 RAID。
6.根据权利要求4所述的方法,其特征在于,所述根据预设表项索引所有的存储块,获取所有标记为属于第二 RAID的存储块的地址以及所有未标记的存储块的地址;将所述第二数据按照所述存储块的地址写入对应的存储块中包括:根据预设表项索引所有的存储块,将未标记的存储块作为第一存储块,将所有标记为属于第二 RAID的存储块中未被完全占用的存储块确定为第三存储块;若存在第三存储块,获取所述第三存储块的地址,将所述第二数据按照第三存储块的地址写入第三存储块中;若不存在第三存储块,则获取所述第一存储块的地址,将所述第二数据按照第一存储块的地址写入第一存储块中,并标记所述第一存储块属于第二 RAID。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述获取待写入的数据占用空间的大小值之前,还包括:若属于第一 RAID的存储块被完全占用,则将所述被完全占用的属于第一 RAID的存储块中的数据转存到第二 RAID的存储块中。
8.根据权利要求2所述的方法,其特征在于,所述按照所述第一RAID的存储空间大小值及所述存储块的大小值确定属于所述第一 RAID的存储块个数为Μ个,并按照所述第二RAID的存储空间大小值及所述存储块的大小值确定属于所述第二 RAID的存储块个数为N个之后,还包括:若Μ个属于第一 RAID的存储块被完全占用,则将所述属于第一 RAID的存储块中的数据全部转存到第二 RAID的存储块中;清空占用所述 Μ个属于第一 RAID的存储块中的所有数据。
9.一种存储设备,其特征在于,包括:获取单元,用于获取待写入的数据的属性;写入控制单元,用于若根据所述待写入的数据的属性确定所述数据为第一数据,则利用固态硬盘SSD快速响应的特性将所述第一数据写入属于第一 RAID的存储块中,所述第一RAID的总存储空间大小值等于至少一个SSD的容量;若根据所述待写入的数据的属性确定所述数据为第二数据,则将所述第二数据写入属于第二 RAID的存储块中,所述第二 RAID的总存储空间大小值等于总的数据盘的容量之和。
10.根据权利要求9所述的存储设备,其特征在于,还包括:处理单元,用于按照所述第一 RAID的存储空间大小值及所述存储块的大小值确定属于所述第一 RAID的存储块个数为Μ个,并按照所述第二 RAID的存储空间大小值及所述存储块的大小值确定属于所述第二 RAID的存储块个数为N个,以使得标记为属于第一 RAID的存储块个数不大于M,标记为属于第二 RAID的存储块个数不大于N ;其中,所述第一 RAID的存储空间大小值根据所述至少一个SSD的容量确定,所述第二RAID的存储空间大小值根据所述总的数据盘的容量确定,所述存储块的大小值为一预设的定值,所述M、N为正整数。
11.根据权利要求9或10所述的存储设备,其特征在于,所述写入控制单元包括:确定模块,用于确定所述第一数据需写入属于第一 RAID的存储块;获取模块,用于根据预设表项索引所有的存储块,获取所有标记为属于第一 RAID的存储块的地址以及所有未标记的存储块的地址;写入模块,用于将所述第一数据按照所述存储块的地址写入对应的存储块中。
12.根据权利要求9~11任一项所述的存储设备,其特征在于,所述确定模块,还用于确定所述第二数据需写入属于第二 RAID的存储块;所述获取模块,还用于根据预设表项索引所有的存储块,获取所有标记为属于第二RAID的存储块的地址以及所有未标记的存储块的地址;所述写入模块,还用于将所述第二数据按照所述存储块的地址写入对应的存储块中。
13.根据权利要求11所述的存储设备,其特征在于,所述确定模块,具体用于根据预设表项索引所有的存储块,将未标记的存储块作为第一存储块,将所有标记为属于第一 RAID的存储块中未被完全占用的存储块确定为第二存储块;所述获取模块,具体用于若存在第二存储块,获取所述第二存储块的地址,所述写入模块,具体用于将所述第一数据按照第二存储块的地址写入第二存储块中;所述获取模块,具体用于若不存在第二存储块,则获取所述第一存储块的地址,所述写入模块,具体用于将所述第一数据按照第一存储块的地址写入第一存储块中,并标记所述第一存储块属于第一 RAID。
14.根据权利要求12所述的存储设备,其特征在于,所述确定模块,具体用于根据预设表项索引所有的存储块,将未标记的存储块作为第一存储块,将所有标记为属于第二 RAID的存储块中未被完全占用的存储块确定为第三存储块;所述获取模块,具体用于若存在第三存储块,获取所述第三存储块的地址,所述写入模块,具体用于将所述 第二数据按照第三存储块的地址写入第三存储块中;所述获取模块,具体用于若不存在第三存储块,则获取所述第一存储块的地址,所述写入模块,将所述第二数据按照第一存储块的地址写入第一存储块中,并标记所述第一存储块属于第二 RAID。
15.根据权利要求9~14任一项所述的存储设备,其特征在于,所述写入控制单元,还用于若属于第一 RAID的存储块被完全占用,则将所述被完全占用的属于第一 RAID的存储块中的数据转存到第二 RAID的存储块中。
16.根据权利要求10所述的存储设备,其特征在于,所述写入控制单元,还用于若所述处理单元确定的Μ个属于第一 RAID的存储块被完全占用,则将所述属于第一 RAID的存储块中的数据全部转存到第二 RAID的存储块中,并清空占用所述Μ个属于第一 RAID的存储块中的所有数据。
【文档编号】G06F12/02GK103714010SQ201310724721
【公开日】2014年4月9日 申请日期:2013年12月24日 优先权日:2013年12月24日
【发明者】郭利新, 王瑜, 寇俊楠 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1