[发明专利]写数据的方法及装置有效
申请号: | 201310649068.8 | 申请日: | 2013-12-04 |
公开(公告)号: | CN103645995A | 公开(公告)日: | 2014-03-19 |
发明(设计)人: | 董浩;姚建业 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 方法 装置 | ||
技术领域
本发明涉及存储领域,尤其涉及一种写数据的方法及装置。
背景技术
高速缓存(英文:cache)和廉价冗余磁盘阵列(英文:Redundant Array of Inexpensive Drivers,缩写:RAID)是存储系统中的两个重要模块。其中,cache作为存储系统的性能加速器,能很好的屏蔽阵列时延,使主机输入输出(英文:Input and Output,缩写:IO)更友好的访问硬盘。RAID的原理是通过将多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘,并且配合数据分散排列的设计,提升数据的安全性。根据选择的版本不同,RAID与单颗硬盘相比,不仅能够增大存储容量,还能够增强数据集成度以及数据的容错能力。另外,磁盘阵列对于电脑来说,看起来就像一个单独的硬盘或逻辑存储单元。
存储系统接收主机写IO后,会先写入cache再下发给RAID。以RAID5为例,RAID包括多个分条(英文:stripe),本发明实施例中描述的分条,是指并行写入构建RAID的各个存储器上的数据块的集合,每个分条包括多个分条单元,其中,每个分条单元的大小相同,且同一个分条上的分条单元位于各个存储器中的偏移位置相同。分条上的分条单元也称为条带(英文:strip),条带是一个盘区上的连续地址块。在磁盘阵列中,控制器通常采用条带将虚拟磁盘的块地址(英文:block addresses)映射到成员盘的块地址。RAID通过条带化提升存储系统的可靠性。
若cache下发给RAID的数据IO的大小与RAID中一个分条的大小相同,此时所下发的数据IO能够与对应的分条对齐;相反,若cache下发给RAID的数据的大小与RAID中一个分条的大小不同,则不能分条对齐,此时将需要:先将旧分条单元和旧校验值从磁盘上读取到缓存,然后基于新分条单元、旧分条单元与旧校验值计算出新的校验值,再将新分条单元与新的校验值写入磁盘。由于需要先从磁盘上读取数据到缓存,这显然将放大对磁盘的读写压力,导致存储系统的读写性能严重下降。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是,因cache下发RAID的IO不能分条对齐,在执行写入时需要先从磁盘上读取数据到缓存,导致存储系统读写性能下降的问题。
解决方案
为了解决上述技术问题,根据本发明一实施例,在第一方面提供一种写数据的方法,所述方法应用于存储设备中,所述存储设备包括缓存和存储器,所述缓存包含多个数据块,每个数据块包含多个子数据块,所述方法包括:
确定所述数据块中包含的第一子数据块集合的个数,所述第一子数据块集合中的每个子数据块存储的数据均为脏数据;
当所述第一子数据块集合的个数超过预定阈值时,确定第二子数据块集合,所述第二子数据块集合是第一个子数据块存储的数据和最后一个子数据块存储的数据均为脏数据的连续子数据块的集合;
当所述第二子数据块集合的个数不超过预定阈值时,为所述数据块内的各个第二子数据块集合分别生成第一写数据请求,并将每个第一写数据请求发送给所述存储器;
当所述第二子数据块集合的个数超过预定阈值时,为所述数据块生成一个第二写数据请求,并将所述第二写数据请求发送给所述存储器。
在一种可能的实现方式中,在所述为所述数据块生成一个第二写数据请求之前,包括:
生成读数据请求,所述读数据请求用于读取所述存储器中与所述数据块对应的分条内的所有数据;
从所述数据块对应的分条内的所有数据中提取与所述数据块中空的子数据块对应的数据;
将所述对应的数据写入所述空的子数据块内。
在一种可能的实现方式中,还包括:
获取对所述分条进行数据读取的第一平均时间;
获取对所述分条内的一个分条单元进行数据读取的第二平均时间;
根据所述第一平均时间与所述第二平均时间,计算所述预定阈值。
在一种可能的实现方式中,根据所述第一平均时间与所述第二平均时间,计算所述预定阈值包括:
计算所述第一平均时间除以所述第二平均时间的商;
将所得到的商与预设的时延系数相乘,所述预定阈值等于所述相乘获得的乘积。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310649068.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:布草折叠机中的第一折折叠装置
- 下一篇:一种甘蔗自动种植机的播种装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置