一种存储数据的方法技术

技术编号:9935286 阅读:84 留言:0更新日期:2014-04-18 06:42
一种存储数据的方法,其特征在于,所述方法包括:将随机写的数据在固态硬盘SSD中合并后存储;将存储在SSD中的数据写入阵列RAID组中。

【技术实现步骤摘要】
【专利摘要】,所述方法包括:将随机写的数据,在固态硬盘SSD中合并后存储;将存储在SSD中的数据写入阵列RAID组中。应用本专利技术实施例后,利用固态硬盘记录随机写的数据,然后一次性写入RAID组中,进而保证RAID5的读写性能。【专利说明】
本申请涉及计算机
,更具体地,涉及。
技术介绍
阵列(RAID)5是一种存储性能、数据安全和存储成本兼顾的存储方案。RAID5可以理解为是RAIDO和RAIDl的折中方案。RAID5可以为系统提供数据安全保障,但保障程度要比镜像(Mirror)低而磁盘空间利用率要比Mirror高。RAID5具有和RAIDO相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID5的磁盘空间利用率要比RAIDl高,存储成本相对较低。至少使用3块硬盘组建RAID5磁盘阵列。当有数据写入硬盘的时候,按照I块硬盘的方式就是直接写入这块硬盘的磁道。如果是RAID5,数据写入根据算法分成3部分,然后分别写入3块硬盘,写入的同时还会在这3块硬盘上写入校验信息,当读取写入数据的时会分别从3块硬盘上读取数据内容,再通过检验信息进行校验。当其中有I块硬盘出现损坏的时候,则可以从另外2块硬盘上存储的数据计算出第3块硬盘的数据内容。也就是说raid5这种存储方式只允许有一块硬盘出现故障,出现故障时需要尽快更换。当更换故障硬盘后,在故障期间写入的数据会进行重新校验。如果在未解决故障又坏I块硬盘,那就是灾难性的故障。利用RAID5存储数据当遇到随机写的时候,因为要做读修改写(RMW)或者读重建写(RCW)操作,上述操作严重影响了 RAID5的读写性能。
技术实现思路
本专利技术实施例提出,利用固态硬盘记录需要随机写的数据,然后一次性写入RAID5中的硬盘,进而保证RAID5的读写性能。本专利技术实施例的技术方案如下:,所述方法包括:将随机写的数据在固态硬盘SSD中合并后存储;将存储在SSD中的数据写入阵列RAID组中。所述将随机写的数据在SSD中合并之前进一步包括:将SSD分为元数据区和数据区,元数据区记录SSD中随机写的数据的信息,数据区存储随机写的数据。所述方法进一步包括:将数据区分割为至少一个数据块,标识已使用的数据块。所述将数据区分割为至少一个数据块包括:将数据区按照RAID5中条带的大小分割为至少一个数据块。所述SSD中随机写的数据的信息包括:存储随机写的数据的大小、随机写的数据在SSD中存储位置和随机写的数据在RAID组中存储位置。所述方法进一步包括:RAID组进行写数据时,未满条带写时,将所述未满条带数据缓存到SSD中。所述将存储在SSD中的数据写入RAID5组中包括:当条带符合满条带数据时,则将所述条带中的数据写入RAID组中,清除SSD中所述条带中的数据。所述将存储在SSD中的数据写入RAID组中包括:在预设的时间阈值内,存储在SSD中随机写的数据没有修改,则将所述随机写的数据写入RAID组中。所述将存储在SSD中的数据写入RAID组中包括:将只需要RCW操作,且存储在SSD中数据量最大的条带中的数据写入RAID组中。所述将存储在SSD中的数据写入RAID组中包括:RMW操作的数据量相同时,将在磁盘中有多个连续条带位置的数据写入RAID组中。从上述技术方案中可以看出,在本专利技术实施例中将需要RMW或RCW的数据,在SSD中合并后存储;将存储在SSD中的数据写入RAID组中。利用固态硬盘记录需要随机写的数据,然后写入RAID组中的硬盘,进而保证RAID5的读写性能。【专利附图】【附图说明】图1为存储数据的方法流程示意图。【具体实施方式】为使本专利技术的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本专利技术再作进一步详细的说明。在本专利技术实施例中,将随机写的数据,在SSD中合并后存储;将存储在SSD中的数据写入RAID组中。利用固态硬盘记录需要随机写的数据,然后一次性写入RAID组中,保证RAID5的读写性能。此外,在存储在SSD中数据满足一定条件时才存储在RAID组中,若不满足该条件则暂存在SSD中,从而避免了多次读取RAID组中的数据。进而充分保证了 RAID5的读写性倉泛。下面结合附图1详细说明本专利技术的技术方案,具体包括以下步骤:101、将随机写的数据,在SSD中合并后存储。SSD是用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元组成。SSD具有读写速度快、防震抗摔性、低功耗、无噪音、工作温度范围大和轻便等优点。考虑到在RAID5中所采用的机械硬盘,为了避免影响RAID5的读写性能,可以将需要RMW或RCW的数据,在SSD中合并再存储到RADI组的磁盘中。SSD具有随机读写的高性能的特点,可以集合SSD把一些影响性能的随机写的数据,先写到SSD里面做合并,然后再把这些数据写到RAID组中。将随机写数据在SSD中合并,然后在满条带时再写入RAID组中,这样做相对于现有技术,大大减少了 RMW和RCW操作,提高了 RAID5的读写性能。首先,SSD分成元数据区和数据区,元数据区记录SSD中数据的信息,SSD中数据的信息存储数据的大小和该信息所存储的位置。例如,存储数据的大小是1M,存储在第一数据块中。数据区存储随机写的数据,在本专利技术中随机写的数据还包括数据小写时的数据。将数据区分割为至少一个数据块,通过比特位图(bitmap)表标识已使用的数据块,整个bitmap中所有bit位对应整个SSD数据区。数据块大小可以设置成和RAID5中条带的大小一致,这样做的目的在于方便数据转存至RAID5中,避免拆分数据块。另外,在RAID组进行写数据时,未满条带写时,将未满条带数据缓存到SSD中。其中,未满条带时的数据属于随机写数据。那么,元数据区进一步记录RAID组中每个成员盘中SSD中随机写的数据的在SSD存储位置、随机写的数据在SSD的存储位置和随机写的数据的大小。例如,每个待写入数据需要元数据需要记录以下信息:disk_numb:随机写的位置在哪个磁盘;stripe_pos:随机写的位置在RAID5中哪个条带位置;data_offset:随机写的位置在条带中偏移位置;data_size:随机写的数据的位置大小;block_numb:随机写的数据存在SSD哪个数据块中。通过元数据可以查看每个磁盘有随机写的数据的位置。根据数据的Strip_p0S位置,也可以查看已经缓存在SSD中的数据,哪些数据是在RAID5中同一条带中。102、将存储在SSD中的数据写入RAID组中。在SSD中,所有的数据均是以条带大小的数据块为存储单位存在在SSD中的。一个数据块的大小与RAID5中条带的大小相同。下面所述的条带即SSD中数据块。当条带符合满条带数据时,则将该条带中的数据写入RAID组中,清除SSD中所述条带中的数据。此外,还可以设置时间阈值,如果某些随机写的数据写入SSD后,在时间阈值内没有再修改过,则将该随机写的数据写入RAID组中。如果客户业务不忙的时候,选择SSD中一个条带中数据填的相对比较满的只需RCW就可以完成的条带数据优先写入RAID组中。由于一个条带比较满的情况,RCW操作相对较少本文档来自技高网
...

【技术保护点】
一种存储数据的方法,其特征在于,所述方法包括:将随机写的数据在固态硬盘SSD中合并后存储;将存储在SSD中的数据写入阵列RAID组中。

【技术特征摘要】

【专利技术属性】
技术研发人员:金振成
申请(专利权)人:创新科存储技术有限公司创新科软件技术深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1