[发明专利]用于处理输入输出操作请求的方法和装置有效
申请号: | 201410562464.1 | 申请日: | 2014-10-20 |
公开(公告)号: | CN105512052B | 公开(公告)日: | 2019-01-01 |
发明(设计)人: | 高健;韩耕;董继炳;肖会兵;尹文轩;宋颖莹 | 申请(专利权)人: | 伊姆西公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/10 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华;张凡 |
地址: | 美国马*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 处理 输入输出 操作 请求 方法 装置 | ||
1.一种用于处理存储设备中的输入输出操作请求的方法,所述存储设备包括第一处理器和第二处理器并且包括多个存储阵列组,所述方法至少包括:
在所述第一处理器处,针对所述多个存储阵列组中的每一个存储阵列组维护第一链表以及第一缓存表,
其中所述第一链表至少保持关于所述第一处理器所允许的、对相应存储阵列组中的特定存储地址范围的输入输出操作请求的信息,并且所述第一缓存表包括第一多个缓存格,所述第一多个缓存格中的每个缓存格保持所述第二处理器对所述相应存储阵列组中的特定存储地址范围的输入输出操作的允许状态,所述允许状态包括空闲、共享和独占;
响应于输入/输出操作请求访问特定存储地址范围的次数超过第一预定阈值,针对所述第一多个缓存格中的与所述特定存储地址范围对应的缓存格生成第二缓存表,其中所述第二缓存表包括第二多个缓存格;以及
至少基于所述第一链表以及所述第一缓存表和/或所述第二缓存表对所述第一处理器接收到的所述输入输出操作请求进行处理;
其中,与所述第二多个缓存格中的每一个缓存格对应的存储空间的大小小于与所述第一多个缓存格中的每一个缓存格对应的存储空间的大小。
2.根据权利要求1所述的方法,其中:
所述第一缓存表中的所有所述缓存格对应于所述相应存储阵列组所包括的整个存储地址范围。
3.根据权利要求1所述的方法,其中生成所述第二缓存表进一步包括:
对所述第一多个缓存格中的、针对其所对应的特定存储地址范围的输入输出操作请求的次数超过所述第一预定阈值的一个或多个缓存格进行标记;以及
针对被标记的所述一个或多个缓存格中的一个或多个分别生成所述第二缓存表。
4.根据权利要求1所述的方法,进一步包括:
如果所述第二缓存表中的所述第二多个缓存格所保持的所述允许状态都是相同状态,则将所述第一多个缓存格中的、针对其生成所述第二缓存表的所述缓存格设置为所述相同状态并删除所述第二缓存表。
5.根据权利要求1所述的方法,进一步包括:
判断针对所述第二缓存表所对应的存储地址范围的输入输出操作请求的次数是否低于第二预定阈值;以及
如果所述次数低于所述第二预定阈值,则将所述第二缓存表收回。
6.根据权利要求5所述的方法,其中将所述第二缓存表收回进一步包括:
对所述第二多个缓存格中的、针对其所对应的特定存储地址范围的输入输出操作请求的次数低于第三预定阈值的一个或多个缓存格进行标记;
检查所述第二多个缓存格中的、未被标记的缓存格所对应的特定存储地址范围上是否存在未完成的输入输出操作;
如果不存在,则对所述未被标记的缓存格进行标记;并且
如果所有所述第二多个缓存格均被标记,则将所述第二缓存表中的所有缓存格合并到所述第一缓存表中的对应缓存格并且删除所述第二缓存表。
7.根据权利要求1所述的方法,其中
所述第一多个缓存格的数目与所述第二多个缓存格的数目相等;并且
所述第二缓存表与所述第一缓存表中的、针对其生成该第二缓存表的缓存格对应相同的存储地址范围。
8.根据权利要求1所述的方法,进一步包括:
针对所述第一缓存表和所述第二缓存表设置最大存储器空间。
9.根据权利要求1-8中的任一权利要求所述的方法,其中所述第一链表进一步保持关于所述第一处理器未允许的、对所述相应存储阵列组中的特定存储地址范围的输入输出操作请求的信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于伊姆西公司,未经伊姆西公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410562464.1/1.html,转载请声明来源钻瓜专利网。