[发明专利]用于指派输入/输出端口的方法、存储介质和系统有效
申请号: | 201380013728.1 | 申请日: | 2013-02-20 |
公开(公告)号: | CN104603738B | 公开(公告)日: | 2017-09-08 |
发明(设计)人: | T·J·范帕滕;S·E·克莱恩 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京市金杜律师事务所11256 | 代理人: | 酆迅,陈颖 |
地址: | 美国纽*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储 区域 网络设备 中的 输入 输出 端口 轮换 | ||
技术领域
本描述涉及一种用于在存储区域网络中指派输入/输出端口的方法、系统和计算机程序。
背景技术
存储区域网络(SAN)被频繁使用以允许存储设备对主机的操作系统表现为就像其在本地接合至主机那样的方式将诸如磁盘阵列、磁带库、光盘库或其它存储设备的远程计算机存储设备耦合至主机。光纤信道(FC)是一种高速联网技术,其中信号可以通过例如包括光纤线缆或双绞铜线线缆的各种传输媒体进行传送。
存储控制器可以具有被主机指派以输入/输出(I/O)任务的多个服务器。I/O可以是针对存储中的具体卷。存储控制器可以进一步具有多个输入/输出(I/O)适配器,诸如使得服务器能够与主机进行通信的主机适配器,使得存储控制器的服务器能够与存储设备进行通信的设备适配器。I/O适配器可以具有多个CPU,其从存储控制器的一个或多个服务器接收输入/输出请求以执行输入/输出操作,其中数据通过I/O适配器的各个I/O端口而往来于存储进行读取或写入。I/O适配器经常具有共享资源环境,例如,在上述共享资源环境中,诸如硬件资源和存储器资源的资源可以被多个CPU所共享,上述硬件资源诸如I/O端口,而上述存储器资源则诸如存储器中的数据结构。I/O适配器中所使用的共享资源环境的示例例如是对称多处理(SMP)环境。
例如,对共享资源的访问可以使用诸如单一所有权或共享所有权规则之类的适当规则进行控制。在一种典型的共享资源环境中,对共享资源的访问可以通过使用控制针对所访问资源的访问的共享存储器数据结构中的锁定字(lock word)来完成。本领域已知的另一种方法是将各种资源的相关联数据结构在任务控制模块中分组在一起,该任务控制模块在任务每次开始时进行指派并且由每个CPU作为所执行任务的操作进行锁定和解锁。
在典型的共享资源环境中,每个I/O端口将使得其工作几乎完全在单个CPU的控制下执行,直至该I/O端口的任务完成。这样的指派被认为例如通过减少高速缓存置换而提高了多CPU适配器的性能。
被指派给特定CPU的I/O端口或多个端口的列表可以存储在该CPU的数据结构的元素中。指派给特定I/O端口的特定CPU也可以由存储在指派给该特定I/O端口的数据结构的元素中的适当CPU所有者ID进行识别。
指派特定I/O端口的CPU可以通过在指派给该特定I/O端口的数据结构的元素中设置锁定而防止其它CPU访问该特定I/O端口。一旦I/O端口不再被特定CPU所有,则该锁定元素可以被清除。
要结合特定I/O端口执行的I/O任务可以在指派给特定I/O端口的数据结构的元素中进行识别。结合I/O端口执行的I/O工作指派例如包括与诸如光纤信道光学硬件的特定通信端口硬件进行通信例如向诸如ASIC的逻辑硬件中的直接存储器访问(DMA)引擎提交工作,例如在I/O适配器中将数据移入或移出一个或多个高速缓存,等等。
发明内容
过程、硬件、软件、固件及其组合可以执行操作,包括:向输入/输出(I/O)适配器的多个中央处理单元(CPU)以及针对每个CPU指派I/O端口,并且在CPU和指派至该CPU的每个I/O端口之间传输数据。在本描述的一个方面,以上所提到的操作可以与I/O端口轮换的循环相结合,其中一个循环的每次端口轮换包括将至少一个I/O端口的指派从一个CPU轮换至该多个CPU中的不同CPU。此外,针对多个CPU中的每个CPU的I/O指派可以在该循环的至少一部分内进行轮换。
在另一方面,数据传输可以包括在一个CPU的控制下在至少一个I/O端口发起传输数据的任务,并且在对该至少一个I/O端口的指派从一个CPU轮换至不同CPU之后,在该不同CPU的控制下在该至少一个I/O端口继续该数据传输的任务。而且,确定是否发起I/O端口轮换的循环可以包括确定多个CPU中的CPU数量是否大于或等于I/O适配器的I/O端口的数量。
在另一个方面,确定是否发起I/O端口轮换的循环可以包括确定预定的时间段是否已经到期。此外,发起I/O端口轮换的循环可以包括由一个CPU针对多个CPU中的其余CPU设置轮换标志,以针对多个CPU中的其余CPU发起端口轮换。
在又另一个方面,I/O端口轮换的循环中的每次端口轮换可以包括针对每个CPU确定是否将特定CPU的端口指派轮换至多个CPU中的不同CPU。此外,发起I/O端口轮换的循环可以包括由一个CPU针对多个CPU中的其余CPU设置轮换标志以针对多个CPU中的其余CPU发起端口轮换,并且针对每个CPU确定是否轮换端口指派可以包括检查是否已经针对该特定CPU设置了轮换标志。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380013728.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:由读和写掩码控制的向量移动指令
- 下一篇:针对金属迹线的腐蚀抑制