[发明专利]在存储器迁移期间停止DMA操作的计算机实现的方法、设备和计算机程序产品有效
申请号: | 200780011257.5 | 申请日: | 2007-05-23 |
公开(公告)号: | CN101410813A | 公开(公告)日: | 2009-04-15 |
发明(设计)人: | C·A·本德;P·A·巴克兰;S·M·瑟伯;A·G·亚内斯 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28;G06F12/02 |
代理公司: | 北京市中咨律师事务所 | 代理人: | 于 静;李 峥 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储器 迁移 期间 停止 dma 操作 计算机 实现 方法 设备 程序 产品 | ||
技术领域
本发明总的涉及数据处理系统,更具体地,涉及在存储器迁移期间停 止DMA操作的计算机实现的方法、设备和计算机程序产品。
背景技术
根据计算机系统的趋势,可以在系统运行时不需中断数据处理的情况 下进行重新配置。例如,在计算机上运行多个操作系统时,当第一操作系 统正在使用特定的存储器块时,可能需要重新分配用于第二操作系统的存 储器块。在这种情况下,在对存储器重新分配之前,第一操作系统必须首 先停止使用物理存储器块。或者,例如,在物理存储器块中可能检测到问 题,在这种情况下期望将该存储器从操作中移除,从而可对其进行替换。 而且,过去曾经使用该存储器块的任何操作系统都必须停止使用它。
在某些情况下,相对简单地停止使用一个物理存储器块并开始使用另 一个,这是由于在传统操作系统中已经存在与虚拟存储器管理相关的机构 以解决与访问该存储器的操作系统相关的这个问题的多个方面,但是这些 机构取决于仅由操作系统访问而不是由I/O设备访问的程序数据的存储器 块。如果存储器块由I/O设备访问,则问题更加困难。由I/O设备的这种 访问一般是直接存储器存取(DMA),尽管这不总是这种情况。
直接存储器存取(DMA)是在没有软件直接辅助的情况下从I/O设备 到另一个实体(例如,存储器或另一个I/O设备)的数据传送。DMA需要 赢得用于发起I/O设备的I/O总线控制,以执行DMA操作。对于例如传 统PCI和PCI-X的共享总线,通过对I/O总线仲裁来获得I/O总线的控制。 对执行仲裁的代理的关闭(从而允许对I/O总线仲裁),即仲裁器将关闭, 即防止对于使用该I/O总线的所有实体的DMA。对于每个总线(也称为链 路)仅存在一个设备的类似PCI Express的I/O总线,通过具有缓存点来 获得对总线的访问,并且停止DMA涉及不向总线另一端的设备归还任意 缓存点。
不使用分离传输的存储器映射I/O(MMIO)负载是在不需要操作目 标(即用以提供数据的I/O设备)在I/O总线上必须产生它自己的传输以 返回所请求的数据的情况下从I/O设备到处理器的数据传送。这些MMIO 操作需要请求者(例如用于处理器的I/O桥)连续向目标要求(有时称为 向目标轮询)数据,直到在其中一个轮询操作上的目标具有可用的数据并 在请求者仲裁循环中将其返回至请求者。在该操作期间,目标并不是独立 地访问I/O总线,因此不需要赢得总线的控制。目标通过执行MMIO负载 应答操作返回数据。所请求的数据包括在MMIO负载应答中。
使用分离传输的存储器映射I/O(MMIO)负载是在操作目标(即用 以提供数据的I/O设备)可延迟将数据回传至请求者的情况下从I/O设备 到处理器的数据传送。目标必须在I/O总线上产生它自己的传输以返回所 请求的数据。一旦目标具有要返回的数据,则目标在I/O总线上产生MMIO 负载应答操作,以向请求者传送数据。
由I/O设备访问的数据可能需要从一个物理页向另一个迁移。当需要 迁移由I/O设备访问的数据时,在迁移处理期间需要暂停对该数据的DMA 访问。特别对于使用分离传输实现存储器映射I/O(MMIO)的系统来说, 现有技术没有提供有效迁移该数据的解决方案。
在不实施用于存储器映射I/O(MMIO)操作的分离传输的系统中, 一旦请求者赢得总线的控制,则请求者发出他的MMIO负载请求。然后, 请求者保持对操作的控制,直到I/O设备通过所请求的数据对MMIO负载 请求作出应答。从而,不需要目标赢得总线的控制。
在实施分离传输的系统中,一旦请求者赢得总线的控制,则请求者发 出他的MMIO负载请求。一旦请求者发出他的MMIO负载请求,则请求 者让出总线的控制。一旦目标I/O设备具有所请求的数据,则它必须赢得 总线的控制,以应答该请求并向请求者发送它的数据。
如果通过关闭由I/O设备对总线的访问来停止DMA,则在使用分离传 输的系统中,使用I/O系统的停止部分的部分系统将停止。这是因为需要 赢得总线的控制以执行MMIO负载应答的I/O设备再不能够赢得总线的控 制。如果I/O设备不能够赢得总线的控制,因此不能够执行它的MMIO负 载应答,则MMIO负载操作将不再能够完成,从而停止发出MMIO负载 操作的处理器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200780011257.5/2.html,转载请声明来源钻瓜专利网。