[发明专利]一种存储系统的并行读写方法和装置在审
申请号: | 201410431275.0 | 申请日: | 2014-08-28 |
公开(公告)号: | CN104216836A | 公开(公告)日: | 2014-12-17 |
发明(设计)人: | 孟小峰;赖文豫;孙东旺 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06;G06F9/50 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储系统 并行 读写 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种存储系统的并行读写方法和装置。
背景技术
条带化技术就是将一块连续的数据分成很多小数据块,并将这些划分后的数据块分别存储到不同磁盘上。如图1出示的SSD(固态硬盘)内部结构示意图,SSD内部包含多个存储域(即domian),每个存储域中包含多个存储块(即chunk),利用条带化技术,可以将第一个存储块chunk#0存储于domian#0中,将第二个存储块chunk#1存储于domian#1中,以此类推。
当CPU(Central Processing Unit,中央处理器)需要执行读写任务时,CPU可以根据预先设置的并行度开启等量的读写任务,再通过存储访问接口对存储系统执行该读写任务,CPU开启的读写任务的数量会直接影响CPU的处理能力。因此,如何设置CPU的并行度是一个关键问题。
目前,主要是根据CPU的核数来设置CPU的并行度,但是,如果CPU的并行度大于存储系统的并行能力,则会造成竞争和排队,例如,CPU为八核,存储访问接口的数量为5,CPU同时执行的8个任务在通过存储访问接口时,存在竞争和排队,降低了CPU的存储能力;如果CPU的并行度小于存储系统的并行能力,则不能充分利用存储系统的并行能力。
发明内容
本发明实施例提供了一种存储系统的并行读写方法和装置,可以提高存储系统的并行利用率。
本发明实施例第一方面提供了一种存储系统的并行读写方法,包括:
获取存储系统的存储访问接口的数量;
根据所述存储访问接口的数量设置读写任务并行度;
生成与所述读写任务并行度对应数量的并行读写任务,并对所述存储系统执行所述读写任务。
在第一方面的第一种可能的实现方式中,所述根据所述存储访问接口的数量设置读写任务并行度之前,还包括:
获取所述存储系统的存储域的数量,所述存储域为共享访问通道的存储单元;
所述根据所述存储访问接口的数量设置读写任务并行度包括:
比较所述存储域的数量与所述存储访问接口的数量;
如果,所述存储域的数量小于所述存储访问接口的数量,则将所述存储域的数量设置为所述读写任务并行度;
如果,所述存储域的数量大于所述存储访问接口的数量,则将所述存储访问接口的数量设置为所述读写任务并行度。
结合第一方面的第一种可能实现方式,在第二种可能的实现方式中,所述存储域包括多个存储块,所述获取存储系统的存储域的数量包括:
获取所述存储系统的存储块的存储容量;
同步重复执行第一读写任务和第二读写任务,所述第一读写任务和第二读写任务起始的起始地址处于同一存储块中,其中,所述第一读写任务每次执行的起始地址偏移量为0,所述第二读写任务每次执行的起始地址偏移量与所述存储块的存储容量相等,当确定执行第二读写任务的起始地址再次与执行第一读写任务的起始地址处于同一存储域中时,则根据所述第二读写任务的执行次数确定所述存储系统的存储域的数量。
结合第一方面的第二种可能实现方式,在第三种可能的实现方式中,所述方法还包括:
记录每次执行第一读写任务和第二读写任务时,所述存储系统的存储访问接口的第一响应时长;
所述确定执行第二读写任务的起始地址与执行第一读写任务的起始地址处于同一存储域中包括:
比较所述记录的第一响应时长,当记录中出现相邻的第一响应时长的时间差值大于预设阈值时,则判定执行第二读写任务的起始地址与执行第一读写任务的起始地址处于同一存储域中。
结合第一方面的第二种或第三种中任一种可能实现方式,在第四种可能的实现方式中,所述获取所述存储系统的存储块的存储容量包括:
重复执行固定读写数据量的第三读写任务,且所述第三读写任务每次执行的起始地址偏移量为预设的固定偏移量,并记录每次执行第三读写任务时所述存储系统的存储访问接口的第二响应时长,其中,所述读写数据量大于所述固定偏移量;
比较所述记录的第二响应时长,根据两次相邻最短响应时长之间所述第三读写任务的执行次数以及所述固定偏移量确定所述存储系统的存储容量。
本发明实施例第二方面提供了一种存储系统的并行读写装置,包括:
存储访问接口获取模块,用于获取存储系统的存储访问接口的数量;
并行度设置模块,用于根据所述存储访问接口的数量设置读写任务并行度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410431275.0/2.html,转载请声明来源钻瓜专利网。