RAID配置信息的处理方法和RAID控制器技术

技术编号:7758781 阅读:265 留言:0更新日期:2012-09-14 00:16
本发明专利技术适用于计算机技术领域,提供了一种RAID配置信息的处理方法,所述RAID包括若干硬盘,所述方法包括:获取所述若干硬盘对TRIM的支持信息,并根据所述支持信息建立TRIM?Bitmap映射表;接收并解析TRIM命令,根据所述TRIM?Bitmap映射表以及RAID映射表创建新的TRIM命令和数据;接收所述新的TRIM命令和数据,并根据所述TRIM?Bitmap映射表将所述新的TRIM命令和数据发送至对应的硬盘。本发明专利技术还相应的提供一种实现上述方法的RAID控制器。借此,本发明专利技术提高了垃圾回收的效率,降低了RAID应用下的固态硬盘的写放大,应用于固态硬盘时可以有效提高固态硬盘的寿命。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种RAID配置信息的处理方法和RAID控制器
技术介绍
现有的机械硬盘技术已经比较成熟,固态硬盘也逐渐发展。现有的固态硬盘中广泛应用闪存结构,如图I所示,一个逻辑单元(LUN)内有2个Plane,每个Plane下有2048个Block,每个Block内有256个Page (4KB)。同时具备如下的特征最小擦除单兀为Block ;最小编程单元为Page ;每个Block被擦除后,其内Page只能被写一次;如需要再次写入相同的Page,需要将整个物理块擦除。为便于说明,我们以采用页映射的固态硬盘为例主机 端根据逻辑地址(LA)来写入数据,固态硬盘将逻辑地址映射到可用的物理页地址(PA)。再参见图2,某时刻下固态硬盘内一个Block内的物理页分布状况。在该Block内存在一些垃圾页以及数据页。随着固态硬盘使用,由于这些垃圾页的占用,导致系统没有空白块来写入新数据。这时就需要垃圾回收来回收这些垃圾页,从而释放出可用的空白块。一般而言,垃圾页的产生有两种1)该LA地址的数据被复写,比如由于PA_N*复写了 LA_5的数据,故PA_3中的LA_5数据变成无效,对应地PA_3变成垃圾页;2)使用了 TRIM命令所产生的垃圾页,譬如主机文件系统中删除了一个文件,主机使用TRM命令通知固态硬盘相关LA的数据变成无效。如图2中的PA_1变成垃圾页。如果没有TRIM命令,主机端一旦把所有LA地址写过I次,固态硬盘将一直在满负荷运作,即使是被删除的文件相关LA数据,在固态硬盘内仍然被当作有效,从而不停被垃圾回收单元写入到新的Block。此过程产生大量不必要的写放大,极大地降低了固态硬盘的寿命以及速度。有鉴于此,ATA标准为固态硬盘专门定义了 TRM命令,用来通知固态硬盘将相关的LA标识为无效。作为固态硬盘来说,TRM已经被广泛地支持。但现在很多场合中为了提高存储系统的带宽以及I0PS,是将多个固态硬盘挂接到RAID卡。主机基于逻辑地址的访问信息经过RAID卡翻译后,发给RAID后对应的固态硬盘。主机的访问过程通常由命令和数据两部分来完成。命令中携带地址信息,数据部分对应读写内容,一般的读写命令中携带地址信息,RAID在接收到相应的命令后,根据所组建的RAID内部的映射关系,将相应的数据转发给对应的固态硬盘(写操作)或者从其获得数据(读操作)。但是,TRIM是一个比较特殊的命令,其地址信息不是在命令中携带,而是在数据内容中携带。故传统的RAID控制器工作在RAID模式下时,不支持实时的TRIM命令穿越,到达正确的SSD。另外一方面,RAID卡工作在RAID模式下时候,主机获取的是由RAID卡所封装好的一个设备,主机在查询该设备的属性时,无法得知其是否支持TRIM命令,故当有LA数据被无效掉时,主机不会发出ATA TRM或者等同的SCSI命令。因此,当RAID卡工作在RAID模式时,即使其后连的固态硬盘支持TRM,也无法使用TR頂来标识出垃圾页来提高垃圾回收的效率。综上可知,现有的RAID处理技术在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
技术实现思路
针对上述的缺陷,本专利技术的目的在于提供一种RAID配置信息的处理方法和RAID控制器,其可以提高垃圾回收的效率,降低了 RAID应用下的固态硬盘的写放大。 为了实现上述目的,本专利技术提供一种RAID配置信息的处理方法,所述RAID包括若干硬盘,所述方法包括获取所述若干硬盘对TRM的支持信息,并根据所述支持信息建立TRM Bitmap映射表;接收并解析TRM命令,根据所述TRM Bitmap映射表以及RAID映射表创建新的TRIM命令和数据;接收所述新的TRM命令和数据,并根据所述TRM Bitmap映射表将所述新的TRM命令和数据发送至对应的硬盘。根据本专利技术的RAID配置信息的处理方法,所述获取所述若干硬盘对TRM的支持信息步骤之前包括创建所述RAID。根据本专利技术的RAID配置信息的处理方法,所述接收并解析TRM命令步骤之前包括判断所述命令是否为所述TRIM命令,若是,则传送所述TRIM命令及所述TRIM命令对应的数据段,并进入所述接收并解析TRIM命令步骤。根据本专利技术的RAID配置信息的处理方法,所述根据所述TRM Bitmap映射表以及RAID映射表创建新的TRM命令和数据步骤包括根据所述RAID创建时的逻辑地址与所述硬盘的逻辑地址的映射关系,以及所述TRIM Bitmap映射表,拆分所述TRM命令对应的数据段。根据本专利技术的RAID配置信息的处理方法,所述根据所述Bitmap映射表创建新的TRIM命令和数据步骤包括根据所述TRM Bitmap映射表处理所述拆分后的TRM命令对应的数据段,对不支持所述TRM的硬盘,直接标识命令完成。本专利技术还相应的提供一种RAID控制器,连接若干硬盘,所述RAID控制器包括硬盘信息获取单元,用于获取所述若干硬盘对TRM的支持信息,并建立TRMBitmap映射表;TRIM命令/数据解析单元,用于接收并解析TRIM命令,根据所述TRIM Bitmap映射表以及RAID映射表创建新的TRM命令和数据,并将所述新的TRM命令和数据传送至TRIM命令/数据管理单元;TRIM命令/数据管理单元,用于接收所述新的TRM命令和数据,并根据所述TRMBitmap映射表将所述新的TRM命令和数据发送至对应的硬盘。根据本专利技术的RAID控制器,所述RAID控制器还包括创建单元,用于创建所述RAID。根据本专利技术的RAID控制器,所述控制器还包括命令解析单元,用于判断所述RAID控制器接收的命令是否为TRIM命令,若是,则将所述TRM命令传送至所述TRM命令/数据解析单元处理;数据传输单元,用于将所述TRM命令对应的数据段部分发送至所述TRM命令/数据解析单元处理。根据本专利技术的RAID控制器,所述TRM命令/数据解析单元包括第一处理子单元,用于根据所述RAID创建时的逻辑地址与所述硬盘的逻辑地址的映射关系,以及所述Bitmap映射表,拆分所述TRIM命令对应的数据段。根据本专利技术的RAID控制器,所述TRM命令/数据解析单元包括第二处理子单元,用于根据所述TRIM Bitmap映射表处理所述拆分后的TRIM命令对应的数据段,对不支持所述TRM的硬盘,直接标识命令完成。本专利技术通过在创建RAID时,检测各个硬盘是否支持TRM命令,并根据硬盘的支 Bitmap映射表以及RAID映射表,建立新的TRIM及相应的数据段后。然后再根据相应的映射关系将各命令及对应的数据段发送到相应的硬盘进行执行。优选的是,建立新的TRIM命令及数据段后,对于不支持TRIM命令的硬盘直接标识命令完成,仅把新TRIM命令及数据段发送到支持TR頂命令的硬盘中。借此,本专利技术实现了 RAID模式下TR頂命令的实时透明穿越,提高了垃圾回收的效率,降低了 RAID应用下的固态硬盘的写放大,有效提高了固态硬盘的寿命。附图说明图I是现有技术的固态硬盘的闪存结构示意图;图2是现有技术的固态硬盘的物理页分布结构示意图;图3是本专利技术一实施例的RAID控制器的结构示意图;图4是是本专利技术另一实施例的RAID控制器的结构示意图;图5是本专利技术的RAID配置信息的处理方法流程图。具本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:王猛
申请(专利权)人:记忆科技深圳有限公司
类型:发明
国别省市:

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

1