一种RAID及从其读取数据的方法技术

技术编号:11179890 阅读:89 留言:0更新日期:2015-03-25 09:32
本发明专利技术公开了一种RAID及从其读取数据的方法。该从RAID读取数据的方法包括:接收或生成读数据指令,读数据指令包括目标数据的地址;判断预先建立的未初始化日志LOG中是否包括目标数据的地址,未初始化LOG用于记录RAID中未被初始化的存储空间的地址;当预先建立的未初始化LOG中包括目标数据的地址时,将数据0返回给主机。通过以上方式,本发明专利技术能够缩小RAID初始化需要硬盘的带宽,并且保证RAID数据正确恢复。

【技术实现步骤摘要】
一种RAID及从其读取数据的方法
本专利技术涉及存储
,特别是涉及一种RAID及从其读取数据的方法。
技术介绍
在存储系统中,独立冗余磁盘阵列(Redundant Array of Independent Disk, RAID)是一种由多块廉价磁盘构成的冗余阵列,RAID可以充分发挥出多块硬盘的优势,可 以提升硬盘速度,增大容量。 现有技术的RAID写入数据的方法具体包括:首先RAID模块从主机获取写数据请 求,初始化模块发送格式化全〇数据写I〇(Input/Output)到RAID模块;然后RAID模块下 发初始化10, RAID模块下发主机IO ;硬盘向RAID模块返回写成功,RAID模块通知初始化 模块初始化完成,并通知主机写完成。其中,在初始化IO写数据量大,会占用大量硬盘写宽 带,造成主机IO处理时延长,导致性能下降。
技术实现思路
本专利技术实施例提供了一种RAID及从其读取数据的方法,能够缩小RAID初始化需 要硬盘的带宽。 本专利技术提供一种从RAID读取数据的方法,其包括:接收或生成读数据指令,读数 据指令包括目标数据的地址;判断预先建立的未初始化日志LOG中是否包括目标数据的地 址,未初始化LOG用于记录RAID中未被初始化的存储空间的地址;当预先建立的未初始化 LOG中包括目标数据的地址时,将数据0返回给主机。 其中,当预先建立的未初始化LOG中未包括目标数据的地址时,从硬盘读取数据, 并将目标数据返回给主机。 其中,方法还包括:接收主机发送的写入数据指令,写入数据指令包括目标数据以 及目标数据的地址;判断预先建立的未初始化LOG中是否包括目标数据的地址;当预先建 立的初始化LOG中包括目标数据的地址时,删除目标数据的地址所对应的未初始化LOG。 其中,当预先建立的初始化LOG中未包括目标数据的地址时,向硬盘写入目标数 据。 本专利技术还提供一种RAID,其包括:RAID模块,用于接收或生成读取数据指令,读取 数据指令包括目标数据的地址;初始化模块,与RAID模块连接,用于预先建立的未初始化 日志L0G,未初始化LOG用于记录RAID中未被初始化的存储空间的地址;其中,RAID模块从 初始化模块获取预先建立的未初始化日志L0G,并判断预先建立的未初始化日志LOG中是 否包括目标数据的地址;当预先建立的未初始化LOG中包括目标数据的地址时,RAID模块 将数据〇返回给主机。 其中,RAID还包括与RAID模块连接的硬盘,当预先建立的未初始化LOG中未包括 目标数据的地址时,RAID模块从硬盘读取目标数据,并将目标数据返回给主机。 其中,RAID模块接收主机发送的写入数据指令,写入数据指令包括目标数据的地 址;RAID模块判断预先建立的未初始化LOG中是否包括目标数据的地址;当预先建立的初 始化LOG中包括目标数据的地址时,初始化模块删除目标数据的地址所对应的未初始化 LOG。 其中,当预先建立的初始化LOG中未包括目标数据的地址时,RAID模块向硬盘写 入目标数据。 通过上述方案,本专利技术的有益效果是:本专利技术通过接收或生成读数据指令;判断 预先建立的未初始化日志LOG中是否包括目标数据的地址;当预先建立的未初始化LOG中 包括目标数据的地址时,将数据〇返回给主机;能够缩小RAID初始化需要硬盘的带宽,并且 保证RAID数据正确恢复。 【附图说明】 为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。其中: 图1是本专利技术第一实施例的存储设备的结构示意图; 图2是本专利技术第一实施例的从存储设备读取数据的方法的流程图; 图3是本专利技术第二实施例的向存储设备写入数据的方法的流程图。 【具体实施方式】 下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部实施例。基于本 专利技术中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。 请参见图1所示,图1是本专利技术第一实施例的存储设备20的结构示意图。如图1 所示,本实施例描述的存储设备20包括存储控制器21以及硬盘22。其中,存储控制器21 包括处理器211、通信接口 212和存储器213,存储器213中包括RAID模块214和初始化模 块215, RAID模块214通过通信接口 212与硬盘22连接。处理器211通过通信接口 212与 存储器213的RAID模块214连接,RAID模块214通过通信接口 212与初始化模块215连 接,处理器211和RAID模块214均通过通信接口 212与主机23连接,主机23通过RAID模 块214从硬盘22读取数据或者向硬盘22写入数据。其中,存储设备20优选为RAID。 其中,存储管理员通过RAID模块214指定硬盘22建立RAID对象1,例如:存储管 理员通过RAID模块214指定D0-D3共4个硬盘22组成RAID5,每个硬盘22有10000个扇 区可使用,其中一个硬盘22用于冗余数据,因此主机23可使用的扇区为30000个。 其中,初始化模块215用于预先建立的未初始化日志(LOG),并记录未初始化LOG, 未初始化LOG用于记录存储设备20中未被初始化的存储空间的地址。即RAID模块214在 记录RAID对象1的配置信息,并通知初始化模块215记录未初始化LOG。优选地,初始化模 块215将未初始化LOG记录在硬盘22的扇区上,例如未初始化LOG如表1所示。 表 1 本文档来自技高网...
一种RAID及从其读取数据的方法

【技术保护点】
一种从独立冗余磁盘阵列RAID读取数据的方法,其特征在于,所述方法包括:接收或生成读数据指令,所述读数据指令包括目标数据的地址;判断预先建立的未初始化日志LOG中是否包括所述目标数据的地址,所述未初始化LOG用于记录所述RAID中未被初始化的存储空间的地址;当所述预先建立的未初始化LOG中包括所述目标数据的地址时,将数据0返回给主机。

【技术特征摘要】
1. 一种从独立冗余磁盘阵列RAID读取数据的方法,其特征在于,所述方法包括: 接收或生成读数据指令,所述读数据指令包括目标数据的地址; 判断预先建立的未初始化日志LOG中是否包括所述目标数据的地址,所述未初始化 LOG用于记录所述RAID中未被初始化的存储空间的地址; 当所述预先建立的未初始化LOG中包括所述目标数据的地址时,将数据0返回给主机。2. 根据权利要求1所述的方法,其特征在于,当所述预先建立的未初始化LOG中未包括 所述目标数据的地址时,从硬盘读取目标数据,并将所述目标数据返回给所述主机。3. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 接收所述主机发送的写入数据指令,所述写入数据指令包括所述目标数据W及所述目 标数据的地址; 判断所述预先建立的未初始化LOG中是否包括所述目标数据的地址; 当所述预先建立的初始化LOG中包括所述目标数据的地址时,删除所述目标数据的地 址所对应的未初始化LOG。4. 根据权利要求3所述的方法,其特征在于, 当所述预先建立的初始化LOG中未包括所述目标数据的地址时,向所述硬盘写入所述 目标数据。5. -种RAID,其特征在于,所述RAID包括; RAID模块,用于接收或生成读取数据指令,所述读取数据指令包括目标数据的地址; ...

【专利技术属性】
技术研发人员:李大权薛强
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1