[发明专利]在数据处理系统中建立地址转换的方法和装置有效
申请号: | 200710154084.4 | 申请日: | 2007-09-13 |
公开(公告)号: | CN101165666A | 公开(公告)日: | 2008-04-23 |
发明(设计)人: | D·F·莫特尔;R·J·雷西奥;C·A·萨尔茨伯格;S·M·瑟伯尔 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F12/10 | 分类号: | G06F12/10;G06F13/12 |
代理公司: | 北京市金杜律师事务所 | 代理人: | 王茂华 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理系统 建立 地址 转换 方法 装置 | ||
1.一种用于在数据处理系统中建立用于在设备驱动器和输入/输出(I/O)设备之间进行通信的地址转换的方法,包括:
由所述设备驱动器创建队列数据结构,用以包含与在所述设备驱动器和所述I/O设备之间通信相关联的队列元素;
响应于所述设备驱动器调取所述设备驱动器服务,针对所述队列数据结构,在与所述数据处理系统的根联合体相关联的地址转换数据结构中初始化一个或者多个地址转换条目,其中所述一个或者多个地址转换条目指定从与所述队列数据结构相关联的一个或者多个未转换的地址到一个或者多个已转换的存储器地址的一个或者多个转换;
从所述地址转换数据结构向所述I/O设备提供转换信息,用于与所述队列数据结构相关联的一个或者多个地址转换;以及
将所述地址转换信息在所述I/O设备中高速缓存,用于处理与所述队列数据结构相关联的通信。
2.根据权利要求1所述的方法,其中向所述I/O设备提供与所述队列数据结构相关联的地址转换信息,包括:
由所述设备驱动器服务向所述设备驱动器传递一个或者多个未转换的地址;
由所述设备驱动器向所述I/O设备提供所述队列数据结构的一个或者多个未转换的地址;
响应于接收所述一个或者多个未转换的地址,由所述I/O设备向所述根联合体发送地址转换请求;以及
根据在与所述队列数据结构相关联的根联合体中的一个或者多个地址转换条目,从所述根联合体接收与一个或者多个未转换的地址相关联的一个或者多个已转换的地址。
3.根据权利要求2所述的方法,其中向所述I/O设备提供所述队列数据结构的一个或者多个未转换的地址包括:
由所述设备驱动器或者所述设备驱动器服务之一将一个或者多个未转换的地址写入I/O设备配置空间或者I/O存储器映射的输入/输出(MMIO)存储器空间中的一个。
4.根据权利要求1所述的方法,其中所述I/O设备请求与用以在所述设备驱动器和所述I/O设备之间通信的所述队列数据结构的一个或者多个未转换的地址相关联的地址转换信息。
5.根据权利要求1所述的方法,其中所述I/O设备:
存储用以在所述设备驱动器和所述I/O设备之间通信的所述队列数据结构的一个或者多个已转换的地址;以及
当执行DMA事务以访问用以在所述设备驱动器和所述I/O设备之间通信的所述队列数据结构的一个或者多个条目时,使用一个或者多个先前存储的已转换的地址。
6.根据权利要求1所述的方法,进一步包括:
在所述I/O设备中接收无效请求,所述无效请求目标为与所述队列数据结构相关联的一个或者多个地址转换的转换信息;以及
响应于接收所述无效请求,将用于所述I/O设备的高速缓存中的一个或者多个地址转换的转换信息无效。
7.根据权利要求1所述的方法,其中所述队列数据结构存储队列条目,所述队列条目指定将在所述设备驱动器与所述存储设备或者所述网络设备的一个之间通信的控制信息。
8.根据权利要求7所述的方法,其中所述存储设备或者网络设备是外围组件互连扩展(PCIe)适配器。
9.根据权利要求1所述的方法,其中所述队列数据结构配置为链接的列表队列数据结构或者循环缓冲器队列数据结构之一。
10.根据权利要求1所述的方法,其中所述一个或者多个未转换的地址包括:用于所述队列数据结构的至少一个未转换的开始地址,并且可选地包括:用于所述队列数据结构的未转换的结束地址或者所述队列数据结构的长度之一。
11.根据权利要求1所述的方法,其中所述设备驱动器提供在所述数据处理系统的不受信任的逻辑分区或者系统镜像中,并且所述设备驱动器服务提供在受信任的虚拟化媒介中。
12.一种装置,包括:
处理器;以及
耦合到所述处理器的输入/输出端点,其中所述处理器执行使得所述处理器进行以下操作的指令:
由所述设备驱动器创建队列数据结构,用于包含与在所述设备驱动器和所述I/O设备之间通信相关联的队列元素;
响应于所述设备驱动器调取设备驱动器服务,针对所述队列数据结构,在与所述数据处理系统的根联合体相关联的地址转换数据结构中初始化一个或者多个地址转换条目,其中所述一个或者多个地址转换条目指定从与所述队列数据结构相关联的一个或者多个未转换的地址到一个或者多个已转换的存储器地址的一个或者多个转换;
从所述地址转换数据结构向所述I/O设备提供转换信息,用于与所述队列数据结构相关联的一个或者多个地址转换;以及
将所述地址转换信息在所述I/O设备中高速缓存,用于处理与所述队列数据结构相关联的通信。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710154084.4/1.html,转载请声明来源钻瓜专利网。