【发明授权】在虚拟化信息处理系统中的输入/输出加速_戴尔产品有限公司_201480080327.2 

申请/专利权人:戴尔产品有限公司

申请日:2014-10-29

发明/设计人:G·舒拉;R·W·霍尔穆特;M·K·莫洛伊;S·T·伊耶

公开(公告)日:2020-06-23

代理机构:北京润平知识产权代理有限公司

公开(公告)号:CN106471469B

代理人:罗攀;肖冰滨

主分类号:G06F9/455(20060101)

地址:美国德克萨斯州

分类号:G06F9/455(20060101);G06F13/40(20060101);G06F9/4401(20180101)

优先权:["20140708 US 14/326,122"]

专利状态码:有效-授权

法律状态:2020.06.23#授权;2017.07.07#实质审查的生效;2017.03.01#公开

摘要:在虚拟化信息处理系统上的IO加速包括装入存储虚拟设备以作为在管理程序上的虚拟机。管理程序可使用第一处理器和第二处理器来执行。存储虚拟设备由管理程序使用PCI‑E设备驱动器来访问,PCI‑E设备驱动器被映射到在第一处理器的第一PCI‑ENTB的逻辑端点。可在存储虚拟设备上装入第二PCI‑E设备驱动器,存储虚拟设备访问管理程序并被映射到在第二处理器的第二PCI‑ENTB的逻辑端点。可在包括被映射到第一PCI‑ENTB的逻辑端点的第一存储空间和被映射到第二PCI‑ENTB的逻辑端点的第二存储空间之间执行数据传输操作。数据传输操作可以是读取操作或写入操作。

主权项:1.一种使用至少两个处理器来执行的方法,所述至少两个处理器包括第一处理器120-1和第二处理器120-2,所述方法包括:装入存储虚拟设备110以作为在使用所述第一处理器120-1和所述第二处理器120-2执行的管理程序104上的虚拟机,其中所述存储虚拟设备110由所述管理程序104使用第二快捷外围部件互连设备驱动器214-2来访问,所述第二快捷外围部件互连设备驱动器被映射到在所述第二处理器120-2的第二快捷外围部件互连非透明桥的逻辑端点处的快捷外围部件互连非透明桥221;将第一快捷外围部件互连设备驱动器214-1装入所述存储虚拟设备110,所述存储虚拟设备访问所述管理程序104并被映射到在所述第一处理器120-1的第一快捷外围部件互连非透明桥的逻辑端点处的快捷外围部件互连非透明桥221;装入存储虚拟设备存储驱动器206,所述存储虚拟设备存储驱动器206使用第一中心处理单元直接存储器存取驱动器242-1或所述第一快捷外围部件互连设备驱动器214-1访问所述第一处理器120-1的资源;以及在被映射到所述第一快捷外围部件互连非透明桥的逻辑端点的第一存储空间和被映射到所述第二快捷外围部件互连非透明桥的逻辑端点的第二存储空间之间执行直接存储器存取数据传输操作,其中所述管理程序104在所述第二存储空间中执行,其中所述存储虚拟设备110在所述第一存储空间中执行,其中所述直接存储器存取数据传输操作通过使用所述第一处理器120-1的第一直接存储器存取引擎240-1、所述第二处理器120-2的第二直接存储器存取引擎240-2及所述快捷外围部件互连非透明桥221被执行,以及其中所述快捷外围部件互连非透明桥221提供在所述第一存储空间和所述第二存储空间之间的地址转换。

全文数据:在虚拟化信息处理系统中的输入输出加速技术领域[0001] 本公开一般涉及虚拟化信息处理系统,且更具体地涉及用于在虚拟化信息处理系统中的输入输出Io加速的系统和方法。背景技术[0002]随着信息的价值和使用持续增加,个人和企业正寻找额外的方式来处理并存储信息。用户可采用的其中一个选择是信息处理系统。信息处理系统通常处理、编译、存储和或传递信息或数据以用于商业、个人或其它目的,从而允许用户利用信息的价值。由于技术和信息处理的需要和要求在不同的用户或应用之间可能不同,因此信息处理系统也可相对于要处理什么信息、如何处理信息、处理、存储或传递多少信息以及可多么快和有效地处理、存储或传递信息而改变。在信息处理系统中的变化使得信息处理系统可以是通用的或被配置成用于特定的用户或特定的使用,例如财务交易处理、机位预订、企业数据存储或全球通信。此外,信息处理系统可包括可被配置成处理、存储和传递信息的各种硬件和软件部件,并可包括一个或多个计算机系统、数据存储系统和联网系统。[0003] 信息处理系统越来越多被部署在允许多个操作系统在单个信息处理系统上运行的体系结构中。被标记为“虚拟化”的这种类型的信息处理系统体系结构将软件和硬件分离,并将物理硬件的逻辑视图呈递给软件。在虚拟化信息处理系统中,单个物理层服务器可代表多个独立的虚拟服务器。服务器虚拟化主要由在服务器硬件和也被称为客户操作系统客户OS的多个操作系统之间提供的软件层的一件软件常常被称为“管理程序”启用。管理程序软件提供将逻辑硬件接口呈递到客户操作系统的容器。单独的客户OS以及在客户OS之下执行的各种应用或其它软件可能不知道操作正在虚拟化服务器环境中执行与专用物理服务器相反。在管理程序之下执行的客户OS的这种实例可被称为“虚拟机”或“VM”。[0004] 在通常情况下,使用虚拟化体系结构的原因有很多,这些原因包括但不限于:I增加的硬件资源利用;2在整个公共的、基于标准的基础设施中的有成本效益的可扩展性;3在多个服务器当中的工作负荷便携性;4通过向公共虚拟接口而不是物理硬件的多个实施的证明来使应用发展更精简;以及5将复杂配置封装到容易被复制和预备的文件内,等等。如上面提到的,信息处理系统可包括例如作为客户操作系统在相应的虚拟机中执行的一个或多个操作系统。[0005] 操作系统提供很多功能,例如控制对硬件资源的访问以及控制应用软件的执行。操作系统还提供资源和服务以支持应用软件。这些资源和服务可包括数据存储、对至少一个文件系统的支持、集中式配置数据库例如在MicrosoftWindows操作系统中找到的注册表、目录服务、图形用户界面、联网堆栈、设备驱动器和设备管理软件。在一些实例中,服务可由在信息处理系统例如数据库服务器上运行的其它应用软件提供。[0006]信息处理系统可包括连接到各种设备例如外围部件互连“PCI”设备和快捷外围部件互连“PC1-E”设备的多个处理器。操作系统可包括被配置成便于设备的使用的一个或多个驱动器。如以上提到的,信息处理系统还可运行一个或多个虚拟机,其中每个虚拟机可代表客户操作系统。虚拟机可由虚拟机管理器例如管理程序管理。可为了设备直通而配置某些虚拟机,以使得虚拟机可直接利用物理设备,而不需要使用中间的操作系统驱动器。[0007]常规的虚拟化信息处理系统可受益于虚拟机增加的性能。提高的性能也有益于其中多个虚拟机同时操作的虚拟化系统。在虚拟机的客户OS中执行的应用也可受益于某些计算资源例如存储资源的较高的性能。发明内容[0008] 在本公开的一个方面中,使用至少两个处理器包括第一处理器和第二处理器来执行以下一种方法。该方法可包括装入存储虚拟设备以作为在使用第一处理器和第二处理器执行的管理程序上的虚拟机。存储虚拟设备可由管理程序使用第一快捷外围部件互连PC1-E设备驱动器来访问,第一快捷外围部件互连PC1-E设备驱动器被映射到在第一处理器的第一PC1-ENTB的逻辑端点处的PC1-E非透明桥NTB。该方法可包括在存储虚拟设备上装入第二PC1-E设备驱动器,存储虚拟设备访问管理程序并被映射到在第二处理器的第二PC1-ENTB的逻辑端点处的PC1-ENTB。该方法还可包括在被映射到第一PC1-ENTB的逻辑端点的第一存储空间和被映射到第二PC1-ENTB的逻辑端点的第二存储空间之间执行数据传输操作。管理程序可在第一存储空间中执行。存储虚拟设备可在第二存储空间中执行。PCINTB可提供在第一存储空间和第二存储空间之间的地址转换。[0009] 本公开的其它方面包括一种制品和一种信息处理系统。该制品包括存储由至少两个处理器可执行的指令的非临时计算机可读介质。该信息处理系统包括处理器子系统,处理器子系统包括第一处理器和第二处理器,其可访问存储了可由处理器子系统执行的指令的存储器子系统。附图说明[0010] 为了更完整地理解本发明及其特征和优点,现在结合附图来参考以下的描述,其中:[0011]图1是如本文所述用于IO加速的信息处理系统的实施方式的选定元件的方框图;[0012]图2是如本文所述用于IO加速的信息处理系统的实施方式的选定元件的方框图;[0013]图3是如本文所述用于IO加速的存储空间的实施方式的选定元件的方框图;[0014]图4A是用于写入操作的如本文所述IO加速的实施方式的选定元件的过程图;[0015]图4B是用于写入操作的如本文所述IO加速的实施方式的选定元件的过程图;[0016]图5A是用于读取操作的如本文所述IO加速的实施方式的选定元件的过程图;[0017]图5B是用于读取操作的如本文所述IO加速的实施方式的选定元件的过程图;以及[0018]图6是描绘如本文所述用于IO加速的方法的实施方式的流程图。具体实施方式[0019] 在以下的描述中,以例子阐述了细节以便于描述本公开的主题。然而,本领域中的普通技术人员应清楚理解,本公开的实施方式是示例性的,而不是对所有可能的实施方式的无遗漏的描述。[0020] 在本公开中,用连字符连接的参考数字是指元件的特定实例,而无连字符连接的参考数字是指一般的或共同的元件。例如,设备“12-1”指的是设备类别的实例,其可共同被称为设备“12”,且其中任一个可一般被称为设备“12”。[0021]如以上提到的,当前的虚拟信息处理系统可要求计算资源例如由在客户操作系统之下执行的应用使用的存储资源有较高的性能。很多虚拟化服务器平台可能期望以在同一服务器上执行应用在该服务器上执行的软件的形式对这样的应用提供存储资源,这可通过将应用带近数据来提供某些优点。这样的软件定义的存储可进一步允许新技术的实现,例如但不限于:I使用固态设备SSD来缓存存储操作和数据的闪存高速缓存器和缓存网络;2虚拟存储区域网络SAN;以及3根据IO负载和访问模式来通过将数据存储在本地存储资源、SAN存储器和网络存储器中而进行数据分层。通过允许多个工作负荷在单个物理机上运行,服务器虚拟化是软件定义的存储器的关键推动因素。这样的工作负荷也通过使得存储资源最接近访问存储在存储资源上的数据的应用来得益。[0022] 提供这样的功能的存储软件可与多个较低级别设备驱动器交互作用。例如:在存储设备驱动器的顶部上的一层可使用各种类型的互连结构即iSCS1、光纤通道、以太网光纤通道等提供对存在于服务器上的硬盘驱动器、闪存SSD驱动器、非易失性存储器设备和或SAN存储器的访问。在另一例子中,在网络驱动器上的一层可提供对在其它服务器实例上运行的存储软件的访问即访问云。这样基于驱动器的实施从支持多个管理程序和给予足够的性能的观点来看具有挑战性的。现时在使用中的某些管理程序可能不支持驱动器的第三方开发,其可能排除了基于在管理程序内核中的优化滤波器驱动器的体系结构。其它管理程序可能具有不同的IO体系结构和设备驱动器模型,其可能对发展各种管理程序平台的统一存储软件提供挑战。[0023]另一解决方案是将存储软件实现为具有对物理存储设备和资源的直通访问的虚拟机。然而,当与在邻近的虚拟机上执行的应用通信时,这样的解决方案可能会因为低的数据吞吐量和在管理程序驱动器堆栈中的高时延而面临严重的性能问题。因此,即使基础的存储资源可给予实质上提高的性能例如闪存高速缓存器和缓存网络,使用一般管理程序驱动器堆栈的客户OS中的应用可能不能经历到性能优点。[0024]如将更详细描述的那样,本公开的发明人发明了本文公开的新颖的方法和系统,其用于通过使用提供对本地和远程存储资源的被管理的访问的存储虚拟设备,同时利用用于对来回到虚拟信息处理系统中的客户OS的存储操作的直接存储器存取DMA,以提高对存储资源的访问。直接存储器存取涉及来回系统存储器的数据传输,其没有明显使用处理器子系统,由此提高数据吞吐量并减小处理器子系统的工作负荷。具体地,本公开公开了用于IO加速的机制,其使用处理器集成的IO和DMA引擎来实现PC1-E非透明桥接NTB。如将更详细描述的那样,本公开涉及加速来自经由存储虚拟设备SVA在VM中执行的应用的IO。在其它实施方式中,本文公开的IO加速可应用于以下情形:在操作系统中运行的两个软件模块或驱动器需要将消息或数据发送到彼此,但被OS性能限制约束。[0025] 为了本公开的目的,信息处理系统可包括可操作来计算、分类、处理、传输、接收、取回、创造、切换、存储、显示、证明、检测、记录、再现、处置或利用各种形式的信息、情报或数据以用于商业、科学、控制、娱乐或其它目的的工具或工具的集合。例如,信息处理系统可以是个人计算机、PDA、消费电子设备、网络存储设备或其它适当的设备,并可在尺寸、形状、性能、功能和价格上有所不同。信息处理系统可包括存储器、一个或多个处理资源,例如中央处理单元CPU或硬件或软件控制逻辑。额外的部件或信息处理系统可包括一个或多个存储设备、用于与外部设备通信的一个或多个通信端口以及各种输入和输出IO设备,例如键盘、鼠标和视频显示器。信息处理系统还可包括可操作来在各种硬件部件之间传输信息的一个或多个总线。[0026] 此外,信息处理系统可包括用于控制硬盘驱动器、网络电路、存储器设备、IO设备和其它外围设备和或与硬盘驱动器、网络电路、存储器设备、IO设备和其它外围设备通信的固件。例如,管理程序和或其它部件可包括固件。如在本公开中使用的,固件包括用于执行预定任务的嵌在信息处理系统部件中的软件。固件通常被存储在非易失性存储器或在当功率失去时不失去所存储的数据的存储器中。在某些实施方式中,与信息处理系统部件相关的固件被存储在可被一个或多个信息处理系统部件访问的非易失性存储器中。在相同或可选的实施方式中,与信息处理系统部件相关的固件被存储在专用于那个部件并包括那个部件的部分的非易失性存储器中。[0027] 为了本公开的目的,计算机可读介质可包括可将数据和或指令保留一段时间的工具或工具的集合。例如,计算机可读介质可包括存储介质:例如直接存取存储设备例如硬盘驱动器或软盘、连续存取存储设备例如磁带磁盘驱动器、光盘、CD-ROM、DVD、随机存取存储器RAM、只读存储器ROM、电可擦除可编程只读存储器EEPROM和或闪存SSD;以及通信介质:例如电线、光纤、微波、无线电波和其它电磁和或光学载体;和或前述项的任何组合。[0028] 通过图1、图2、图3、图4A、图4B、图5A、图5B和图6可最好地理解特定的实施方式,其中相同的数字用于指示相同和相应的部件。[0029] 现在参考附图,图1示出描绘根据本公开、使用存储虚拟设备的、用于IO加速的系统100-1的实施方式的选定元件的方框图。如在图1中描绘的,系统100-1代表包括物理硬件102、可执行指令180包括管理程序104、一个或多个虚拟机105和存储虚拟设备110的信息处理系统。与系统100-1—起示出的是外部或远程元件,即网络155和网络存储资源170。[0030] 如图1所示,物理硬件102的部件可包括但不限于:可包括一个或多个处理器的处理器子系统120以及将各种系统部件通信地耦合到处理器子系统120包括例如存储器子系统130、10子系统140、本地存储资源150和网络接口160的系统总线121。系统总线121可代表各种适当类型的总线结构,例如在选定实施方式中使用各种总线体系结构的存储器总线、外围总线或局部总线。例如,这样的体系结构可包括但不限于微通道体系结构MCA总线、工业标准体系结构ISA总线、增强型ISAEISA总线、外围部件互连PCI总线、快捷外围部件互连PC1-Express总线、HyperTransportHT总线和视频电子标准协会VESA局部总线。[0031] 在图1中,网络接口160是可操作来用作在信息处理系统100-1和网络155之间的接口的适当的系统、装置或设备。网络接口160使信息处理系统100-1能够通过网络155使用适当的传输协议或标准包括但不限于以下关于网络155的讨论所列举的传输协议或标准来通信。在一些实施方式中,网络接口160可经由网络155通信地耦合到网络存储资源170。网络155可被实现为存储区域网SAN、个人区域网PAN、局域网LAN、城域网MAN、广域网WAN、无线局域网WLAN、虚拟专用网VPN、内联网、互联网或便于信号、数据或消息通常被称为数据的传递的其它适当的体系结构或系统,或可被实现为存储区域网SAN、个人区域网PAN、局域网LAN、城域网MAN、广域网WAN、无线局域网WLAN、虚拟专用网VPN、内联网、互联网或便于信号、数据或消息通常被称为数据的传递的其它适当的体系结构或系统的一部分。网络155可使用期望存储或通信协议来传输数据,这些协议包括但不限于光纤通道、帧中继、异步传输模式ATM、互联网协议IP、其它基于分组的协议、小计算机接口SCSI、互联网SCSIiSCSI、串行附加SCSISAS或使用SCSI协议来操作的另一传输工具、高级技术附件ATA、串行ATASATA、高级技术附件分组接口ATAPI、串行存储体系结构SSA、集成驱动电子设备IDE和或其任何组合。网络155及其各种部件可使用硬件、软件或其任何组合来实现。[0032]如在图1中描绘的,处理器子系统120包括可操作来解释和或执行程序指令和或处理数据并可包括微处理器、微控制器、数字信号处理器DSP、专用集成电路ASIC或被配置成解释和或执行程序指令和或处理数据的其它数字或模拟电路的系统、设备或装置。在一些实施方式中,处理器子系统120可解释并执行存储在本地例如在存储器子系统130或物理硬件102的另一部件中的程序指令或处理存储在本地例如在存储器子系统130或物理硬件102的另一部件中的数据。在同一或可选的实施方式中,处理器子系统120可解释并执行远程地例如在网络存储资源170中存储的程序指令或处理远程地例如在网络存储资源170中存储的数据。具体地,处理器子系统120可代表包括至少第一处理器和第二处理器参见图2的多处理器配置。[0033] 在图1中,存储器子系统130包括可操作来在一段时间期间保留并取回程序指令和数据的系统、设备或装置例如计算机可读介质。存储器子系统130可包括随机存取存储器RAM、电可擦除可编程只读存储器EEPROM、PCMCIA卡、闪存、磁性存储器、光学磁性存储器或在到相关信息处理系统例如系统100-1的功率被切断之后能保留数据的易失性或非易失性存储器的适当选择或阵列。本地存储资源150包括计算机可读介质例如硬盘驱动器、软盘驱动器、CD-ROM和或其它类型的旋转存储介质、闪存、EEPROM和或其它类型的固态存储介质,并通常可操作来存储指令和数据。同样,网络存储资源170包括计算机可读介质例如硬盘驱动器、软盘驱动器、CD-ROM或其它类型的旋转存储介质、闪存、EEPROM或其它类型的固态存储介质,并通常可操作来存储指令和数据。在系统100-1中,IO子系统140包括通常可操作来从系统100-1接收数据、将数据传输到系统100-1、并在系统100-1内传输数据的系统、设备或装置。例如,IO子系统140可代表各种通信接口、图形接口、视频接口、用户输入接口和外围接口中的任一个或多个。[0034] 在图1中,管理程序104包括通常可操作来允许多个操作系统同时在单个信息处理系统上运行的软件即可执行代码或指令和固件。通常经由虚拟化一种用于从其它系统、应用或终端用户与那些资源交互作用的方式隐藏信息处理系统资源的物理特征的技术来允许这个可操作性。管理程序104可以是各种专用和或市场上可买到的虚拟化平台之一,包括但不限于:IBM的ZVM、XEN、ORACLEVM、VMWARE的ESXSERVER、L4MICR0KERNEL、TRANGO、MICROSOFT的HYPER-V、SUN的LOGICALD0MAINS、HITACHI的VIRTAGE、KVM、VMWARESERVER、VMffAREWORKSTAT1N、VMffAREFUS1N、QEMU、MICROSOFT的VIRTUALPC和VIRTUALSERVER、INN0TEK的VIRTUALB0X以及SWSOFT的PARALLELSWORKSTAT1N和PARALLELSDESKTOP。在一个实施方式中,管理程序104可包括具有本机虚拟化能力的特别设计的操作系统OS。在另一实施方式中,管理程序104可包括标准OS,其具有用于执行虚拟化的合并的虚拟化部件。在另一实施方式中,管理程序104可包括与单独的虚拟化应用一起运行的标准OS。在这个实施方式中,管理程序104的虚拟化应用可以是在OS上运行并且只通过OS与物理硬件102交互作用的应用。可选地,管理程序104的虚拟化应用在一些级别上可经由OS间接地与物理硬件102交互作用,而在其它级别上直接与物理硬件102交互作用例如类似于OS直接与物理硬件102交互作用的方式,且作为在物理硬件102上运行的固件,也被称为设备直通。通过使用设备直通,虚拟机可直接利用物理设备而不使用中间的操作系统驱动器。作为另一可选方案,管理程序104的虚拟化应用可在各种级别上直接与物理硬件102交互作用例如类似于OS直接与物理硬件102交互作用的方式,且作为在物理硬件102上运行的固件而不利用OS,尽管仍然与OS交互作用以协调物理硬件102的使用。[0035] 如图1所示,虚拟机I105-1代表客户OS108_1的主机,而虚拟机2105_2代表客户OS108-2的主机。为了允许多个操作系统同时在系统100-1上执行,管理程序104可虚拟化物理硬件102的硬件资源并将虚拟化计算机硬件表示呈递到每个虚拟机105。换句话说,管理程序104可向每个虚拟机105分配例如来自处理器子系统120的一个或多个处理器、在存储器子系统130中的存储器的一个或多个区、IO子系统140的一个或多个部件等。被呈递到每个虚拟机105的虚拟化硬件表示可包括对于每个虚拟机105的硬件资源的互斥即不相交或非重叠集合例如没有硬件资源在虚拟机105之间被共享。在其它实施方式中,虚拟化硬件表示可包括对于每个虚拟机105的硬件资源的重叠集合例如一个或多个硬件资源由两个或多个虚拟机105共享。[0036] 在一个实施方式中,管理程序104可静态地分配物理硬件102的硬件资源,使得某些硬件资源被分配到某些虚拟机,且这分配不会随着时间的过去而改变。此外或可选地,根据在单独的虚拟机上运行的应用的特定需要,管理程序104可动态地分配物理硬件102的硬件资源,使得硬件资源到虚拟机的分配随着时间而改变。此外或可选的,管理程序104可记录硬件资源到虚拟机映射,使得管理程序104能够确定物理硬件102的给定硬件资源被分配到哪个虚拟机。[0037] 在图1中,每个虚拟机105可分别包括客户操作系统客户OS108,以及在客户OS108上运行的任何应用或其它软件。每个客户OS108可代表与管理程序104兼容并被管理程序104支持的OS,即使客户OS108在某个程度上与由管理程序104虚拟化的物理硬件102不兼容。此外,每个客户OS108可以是相同的操作系统或不同的操作系统。例如,在一个实施方式中,每个客户OS108可包括LINUXOS。作为另一例子,客户OS108-1可包括LINUXOS,客户OS108-1可包括MICROSOFTWINDOWSOS,而在另一虚拟机未示出上的另一客户OS可包括VXW0RKSOS。虽然系统100-1被描绘为具有两个虚拟机105-1、105-2和存储虚拟设备110,但应理解,在特定的实施方式中,不同数量的虚拟机105可在任何给定的时间在信息处理系统100上执行。[0038] 在图1中,存储虚拟设备110可代表在管理程序104上执行的存储软件。虽然存储虚拟设备110可被实现为虚拟机并可以在与上面相对于虚拟机105所述的类似的环境和地址空间中执行,但是存储虚拟设备110可专用于提供对客户OS108的实例的存储资源的访问。因此,存储虚拟设备110本身可以不作为资源被提供给用户的客户OS的主机,但可以是信息处理系统100的嵌入式特征。然而应该理解,存储虚拟设备110可包括类似于以上在本文描述的客户OS108的各种实现的嵌入式虚拟化OS未示出。具体地,存储虚拟设备110可使用享有对用于访问存储资源本地和或远程的各种设备和接口的直通设备访问,并可被启用以使用直接存储器接入来提供在期望存储资源和客户OS108之间的逻辑通信连接,从而用于非常高的数据吞吐量速率和非常低的时延传输操作如在本文描述的。[0039] 在图1所示的系统100的操作中,信息处理系统100的管理程序104可将物理硬件102的硬件资源虚拟化并将虚拟化计算机硬件表示呈递到每个虚拟机105。虚拟机105的每个客户OS108可接着开始操作并运行应用和或其它软件。在操作时,每个客户OS108可利用由管理程序104分配到相应的虚拟机的物理硬件102的一个或多个硬件资源。每个客户OS108和或在客户OS108之下执行的应用可被呈递由存储虚拟设备110管理的存储资源。换句话说,存储虚拟设备110可被启用以安装并划分物理存储资源包括本地存储资源和远程存储资源的各种组合,并如所需的将这些物理存储资源呈递为逻辑存储设备以用于由客户OS108访问也见图2。具体地,存储虚拟设备110可使用处理器DMA和PC1-ENTB来启动IO加速,以用于由在虚拟机105的客户OS108下执行的应用访问存储资源。此外,本文所述的存储虚拟设备110的特征还可以用独立于或大体独立于管理程序104的任何特定实现的方式来实现。[0040] 现在参考图2,示出系统100-2的实施方式的选定元件的方框图。在图2中,系统100-2可代表作为系统100-1见图1的实施方式的信息处理系统。如图2所示,系统100-2还包括关于存储虚拟设备110的操作和使用的细节。为了清楚起见,从图2省去了在系统100-1中所示的其它元件。在图2中,虽然虚拟机105和客户OS108被示为单数,但是它们可代表虚拟机105和客户OS108的任何数量的实例。[0041] 在图2中,虚拟机105被示为执行应用202和客户OS108,存储驱动器204被安装和装入在客户OS108下。存储驱动器204使虚拟机105能够经由被装入到管理程序104内的IO堆栈244、虚拟文件系统246和管理程序HV存储驱动器248来访问存储资源。IO堆栈244通过管理程序104提供面向VM的IO的接口以与在虚拟机105上执行的存储驱动器204交互作用。虚拟文件系统246是由管理程序104提供以例如用于由客户OS108访问的文件系统。[0042] 如图2所示,虚拟文件系统210与被配置成访问处理器CPU2120-2的资源的HV存储驱动器248交互作用。具体地,HV存储驱动器248可使用CPUDMA驱动器242-2或PC1-NTB驱动器214-2来访问处理器CPU2120-2XPUDMA驱动器242-2支持用于对代表被包括在处理器CPU2120-2内的DMA引擎的DMACPU2240-2编程。PC1-ENTB驱动器214-2支持用于对代表用于在处理器CPU2120-2和处理器CPUl120-1之间通信的处理器间总线220的可选形式的PC1-ENTB221编程。具体地,DMA240和PC1-ENTB221允许在高数据速率下的DMA传输,同时使处理器120经受最小工作负荷,且因此代表用于IO加速的有效机制如在本文所述的。此外,由于每个处理器在具有物理存储器的本地存储器库未示出的单独物理存储空间见图3中操作,在本文对IO加速所描述的方法可防止由处理器120-2访问处理器120-1的存储器库,并且反之亦然。这可通过进一步减少不希望有的处理器间通信和代表处理器120的不合乎需要的工作负荷的冗余存储器访问操作。[0043] 如图2所示,PC1-ENTB221可代表不透明桥,其中在桥的两侧上有被示为处理器CPUl120-1和处理器CPU2120-2的主机。如上面提到的,PC1-ENTB221的主机具有它自己的独立地址空间即存储空间,并可具有到另一主机的地址空间的某个部分内的可见性。每个主机可将另一主机当作为PC1-ENTB221的端点,并可将另一主机的地址段映射到它的本机存储空间。在给定实施方式中,在存储虚拟设备110上的SVA存储驱动器206可代表在PC1-ENTB221的端点处的一个端口在本文被称为CPUlΝΊΈ,而HV存储驱动器248可代表在PC1-ENTB221的另一端点处的另一端口在本文被称为CPU2NTB。[0044] 此外,在图2的示例性实施方式中,存储虚拟设备110被示为包括SVA存储驱动器206和SVAI0驱动器212。在图2的示例性布置中,SVA存储驱动器206被配置成访问处理器CPUl120-1的资源。具体地,SVA存储驱动器206可使用CPUDMA驱动器242-1或PC1-NTB驱动器214-1来访问处理器CPUl120-1XPUDMA驱动器242-1支持用于对代表被包括在处理器CPUl120-1内的DMA引擎的DMACPU2240-1编程。[0045] 在图2中,SVAIO驱动器212代表允许存储虚拟设备100访问并提供对各种存储资源的访问的“后端”驱动器。如图所示,SVAIO驱动器212具有对远程直接存储器存取RDMA218.ΪSCSI光纤通道FC以太网222和闪存SSD224的直通访问。例如,RDMA218或闪存SSD224或iSCSIFC以太网222可参与高速缓存网络230,其可以是用于在多个信息处理系统未示出例如系统100之间缓存存储操作和或数据的高性能网络。如图所示,iSCSIFC以太网222也可提供对可包括各种外部存储资源例如网络可访问的存储阵列的存储区域网SAN240的访问。[0046] 现在参考图3,其示出存储空间300的实施方式的选定元件的方框图。在图3中,存储空间300描绘各种存储寻址空间或仅仅描绘被包括在信息处理系统100见图1和图2中的各种虚拟化层的“地址空间”。[0047] 如图3所示,存储空间300包括用于对物理存储器寻址的物理存储器地址空间A4340。如上所述,当在信息处理系统100中使用第一处理器和第二处理器时,每个处理器可具有被示为CPU物理存储器340-1和CPU2物理存储器340-2的物理存储器的独立存储器库。由于管理程序104在物理计算资源上执行,管理程序虚拟地址空间A3330代表基于物理存储器地址空间A4340的虚拟地址空间。虚拟地址空间允许在有限数量的物理存储器中的较大的存储空间的寻址,并可依赖于用于卸载或缓存操作的外部存储资源未在图3中示出。相应于图2所示的布置,HV扩展页表客户OS314使得与客户OS108例如HV存储驱动器248相关的管理程序对象能够解析与CPU2相关的物理存储器地址。类似地,HV扩展页表SVA324使得与存储虚拟设备110例如SVA存储驱动器206相关的管理程序对象能够解析与CPUl相关的物理存储器地址。管理程序虚拟地址空间A3330代表由管理程序104使用的内部地址空间。管理程序104还可产生在管理程序虚拟地址空间A3330内的所谓的“物理”地址空间,并将这些“物理”地址空间呈递到虚拟机105和存储虚拟设备110以用于虚拟化执行。从虚拟机105和存储虚拟设备110的观点看,由管理程序104提供的“物理”地址空间可被视为真实物理存储空间。如图所示,客户0S“phys”地址空间A2310和SVA“phys”地址空间A2320代表分别由管理程序104提供到客户OS108和存储虚拟设备110的“物理”地址空间。最后,客户OS虚拟地址空间Al312代表客户OS108使用客户0S“phys”地址空间A2310实现的虚拟地址空间。SVA虚拟地址空间Al322代表存储虚拟设备110使用SVA“phys”地址空间A2320实现的虚拟地址空间。[0048] 应当注意,标签Al、A2、A3和A4指示相对于信息处理系统100的真实或虚拟化存储空间的特定分级水平如上所述。为了清楚起见,标签A1、A2、A3和A4在随后的图4A、图4B、图5A和图5B中用于指存储空间的特定分级水平,并被注释为与特定的对象和元件例如SVAA2、HVA4,G-OSA2等相关。[0049] 现在参考图4A,其示出过程图400的实施方式的选定元件的方框图。在图4A中,过程图400描绘在信息处理系统100参见图1和图2中的IO加速的操作如在本文所述的。具体地,过程图400描绘由应用202对存储资源的写入操作的IO加速,其中DMA编程由HV存储驱动器248执行。[0050] 在过程图400中,在步骤402,应用202可将对存储在目标设备上的目标文件的写入文件请求WR发出到客户OS108,这在地址空间Al或G-OSAl中发生。接着,在步骤404,客户OS108将WR从G-OSAl转换到G-OSA2,并将WR转发到虚拟文件系统VFS246。此外,在步骤404,包括在WR的文件指標和偏移被转换成用于目标设备的虚拟磁盘块地址,其中WR的目标文件被存储在该目标设备上。在步骤406,VFS246将虚拟磁盘块地址转换成物理磁盘块地址,将WR从G-OSA2转换到HVA4,并将WR连同所转换的地址一起发送到HV存储驱动器248。此外,在步骤406,VFS246牵制用于写入数据的HVA4以为WR进行写入。在步骤408-1,HV存储驱动器248经由CPU2NTB221发送具有物理块地址和缓冲器尺寸S卩WR信息的NTB消息即按门铃。在步骤408-2,NTB消息由CPU1NTB221接收。在步骤410-1,CPU1NTB221中断SVA存储驱动器204,且SVA存储驱动器204读取NTB消息。在步骤410-2,SVAOS110接收WR信息。在步骤412,SVAOS110在WR信息中给出的缓冲器尺寸的SVAAl中分配缓冲器,并记录用于缓冲器的相应的SVAA2地址。在步骤414,SVA存储驱动器204将用于缓冲器的SVAA2地址装入CPUl-NTB221。接着,在步骤416-1,CPU1NTB221执行NTB按门铃。在步骤416-2,CPU2NTB221中断具有SVAA2地址的HV存储驱动器248。在步骤418,HV存储驱动器248装入CPU2DMA240-2以用于DMA操作。在步骤420,开始DMA操作。在步骤422,DMA操作将写入数据从HVA4传输到CPU2NTB221。在步骤424,DMA操作将写入数据从CPU2NTB221传输到CPUlNTB221。在步骤425,DMA操作将写入数据从CPUlNTB221传输到在SVA0S110处的SVAA2。在步骤426,CPU2DMA240-2使用指示DMA操作已完成的中断来中断HV存储驱动器248ο在步骤428-1,HV存储驱动器248在CPU2NTB221处执行NTB按门铃。在步骤428-2,CPU2NTB221在CPU1NTB221处按门铃。在步骤428_3,CPU1NTB221中断SVA存储驱动器204以在SVAA2中写入数据。接着,写入数据可被写入到目标设备未示出。在步骤434,HV存储驱动器248将WR已完成的消息发送到VFS246。在步骤436,VFS246将WR已完成的消息发送到G-OS108。在步骤438,G-0S108将WR已完成的消息发送到应用102。[0051] 现在参考图4B,示出过程图401的实施方式的选定元件的方框图。在图4B中,过程图401描绘在信息处理系统100参见图1和图2中的IO加速的操作如在本文所述的。具体地,过程图401描绘由应用202对存储资源的写入操作的I0加速,其中DMA编程由SVA存储驱动器204执行。[0052] 在过程图401中,在步骤402,应用202可将对存储在目标设备上的目标文件的写到文件请求WR发出到客户OS108,这在地址空间Al或G-OSAl中发生。接着,在步骤404,客户OS108将WR从G-OSAl转换到G-OSA2,并将WR转发到虚拟文件系统VFS246。此外,在步骤404,包括在WR的文件指標和偏移被转换成用于目标设备的虚拟磁盘块地址,W其中R的目标文件被存储在该目标设备上。在步骤406,VFS246将虚拟磁盘块地址转换成物理磁盘块地址,将WR从G-OSA2转换到HVA4,并将WR连同所转换的地址一起发送到HV存储驱动器248。此外,在步骤406,VFS246牵制用于写入数据的HVA4以为WR进行写入。在步骤440,HV存储驱动器248将HVA4地址装入CPU2NTB221,并经由CPU2NTB221发送具有物理块地址、缓冲器尺寸和HVA4地址S卩WR信息的NTB消息即按门铃。在步骤442,NTB消息由CPUlNTB221接收。在步骤444-1,CPU1NTB221利用WR信息中断SVA存储驱动器204。在步骤444-2,SVAOS110接收WR信息。在步骤446,SVAOS110在WR信息中给出的缓冲器尺寸的SVAAl中分配缓冲器,并记录用于缓冲器的相应的SVAA2地址。在步骤448,SVA存储驱动器204将被牵制为用于缓冲器的SVAA2地址装入CPUl-DMA240-1。在步骤450,开始DMA操作。在步骤452,DMA操作将写入数据从HVA4传输到CPU2NTB221。在步骤454,DMA操作将写入数据从CPU2NTB221传输到CPUlNTB221。在步骤456,DMA操作将写入数据从CPUlNTB221传输到在SVA存储驱动器处的SVAA2。在步骤458,CPU1DMA240-1使用指示DMA操作已完成以及写入数据在SVAA2中的中断来中断HV存储驱动器204。然后,写入数据可被写到目标设备未示出。在步骤460-1,SVA存储驱动器204在CPUlNTB221处执行NTB按门铃。在步骤460-2,CPUlNTB221在CPU2NTB221处按门铃。在步骤462,CPU2NTB221使用WR已完成的消息中断HV存储驱动器248ο在步骤434,HV存储驱动器248将WR已完成的消息发送到VFS246。在步骤436,VFS246将WR已完成的消息发送到G-OS108。在步骤438,G_0S108将WR已完成的消息发送到应用102。[0053] 现在参考图5A,示出过程图500的实施方式的选定元件的方框图。在图5A中,过程图500描绘在信息处理系统100参见图1和图2中的IO加速的操作如在本文所述的。具体地,过程图500描绘由应用202对存储资源的读取操作的IO加速,其中DMA编程由SVA存储驱动器248执行。[0054] 在过程图500中,在步骤502,应用202可将文件读取请求®R从存储在目标设备上的目标文件发出到客户OS108,这在地址空间Al或G-OSAl中发生。接着,在步骤504,客户OS108将RR从G-OSAl转换到G-OSA2,并将RR转发到虚拟文件系统VFS246。此外,在步骤504,包括在RR中的文件指標和偏移被转换成用于目标设备的虚拟磁盘块地址,其中RR的目标文件被存储在该目标设备上。在步骤506,VFS246将虚拟磁盘块地址转换成物理磁盘块地址,将RR从G-OSA2转换到HVA4,并将RR连同所转换的地址一起发送到HV存储驱动器248。此外,在步骤506,VFS246牵制用于读取数据的HVA4以为RR进行读取。在步骤508-1,HV存储驱动器248经由CPU2NTB221发送具有物理块地址和缓冲器尺寸S卩RR信息的NTB消息即按门铃。在步骤508-2,NTB消息由CPUlNTB221接收。在步骤510-1,CPU1NTB221中断SVA存储驱动器204,且SVA存储驱动器204读取具有RR信息的NTB消息。在步骤510-2,SVAOS110接收RR信息。在步骤512,SVAOS110在RR信息中给出的缓冲器尺寸的SVAAl中分配缓冲器,从目标文件读取数据,并将SVAAl地址提供到SVA存储驱动器204。在步骤514,SVA存储驱动器204从SVAAl转换相应的SVAA2地址,将该SVAA2地址装入CPUl-NTB211,牵制用于缓冲器的SVAA2,并在CPUlNTB221按门铃。接着在步骤516-1,CPUlNTB221在CPU2NTB221执行NTB按门铃。在步骤516_2,CPU2NTB221利用SVAA2地址中断HV存储驱动器248ο在步骤518,HV存储驱动器248装入CPU2DMA240-2以用于DMA操作。在步骤520,开始DMA操作。在步骤522,DMA操作将读取数据从HVA2传输到CPUlNTB221。在步骤524,DMA操作将读取数据从CPUlNTB221传输到CPU2NTB221。在步骤525,DMA操作将读取数据从CPU2NTB221传输到在HV存储驱动器248处的HVA4。接着,读取数据可由应用202未示出访问。在步骤526,CPU2DMA240-2使用指示DMA操作已完成的中断来中断HV存储驱动器248。在步骤528-1,HV存储驱动器248在CPU2NTB221处执行NTB按门铃。在步骤528-2,CPU2NTB221在CPUlNTB221处按门铃。在步骤528_3,CPU1NTB221对用于HVA4中的读取数据中断SVA存储驱动器204ο在步骤534,HV存储驱动器248将RR已完成的消息发送到VFS246。在步骤536,VFS246将RR已完成的消息发送到G-OS108。在步骤538,G_0S108将RR已完成的消息发送到应用102。[0055] 现在参考图5B,示出过程图501的实施方式的选定元件的方框图。在图5B中,过程图501描绘在信息处理系统100参见图1和图2中的IO加速的操作如在本文所述的。具体地,过程图501描绘由应用202对存储资源的读取操作的IO加速,其中DMA编程由SVA存储驱动器204执行。[0056] 在过程图501中,在步骤502,应用202可将文件读取请求®R从存储在目标设备上的目标文件发出到客户OS108,这在地址空间Al或G-OSAl中发生。接着,在步骤504,客户OS108将RR从G-OSAl转换到G-OSA2,并将RR转发到虚拟文件系统VFS246。此外,在步骤504,包括在RR中的文件指標和偏移被转换成用于目标设备的虚拟磁盘块地址,其中RR的目标文件存储在目标设备上。在步骤506,VFS246将虚拟磁盘块地址转换成物理磁盘块地址,将RR从G-OSA2转换到HVA4,并将RR连同所转换的地址一起发送到HV存储驱动器248ο此外,在步骤506,VFS246牵制用于读取数据的HVA4以为RR进行读取。在步骤540,HV存储驱动器248将HVA4地址装入CPU2NTB221,并经由CPU2NTB221发送具有物理块地址、缓冲器尺寸和HVA4地址即RR信息的NTB消息即按门铃。在步骤542,NTB消息由CPUlNTB221接收。在步骤544-1,CPU1NTB221利用RR信息中断SVA存储驱动器204。在步骤544-2,SVAOS110接收RR信息。在步骤546,SVAOS110在RR信息中给出的缓冲器尺寸的SVAAl中分配缓冲器,从目标文件读取数据,并将SVAAl地址提供到SVA存储驱动器204。在步骤548,SVA存储驱动器204从SVAAl转换相应的SVAA2地址,将SVAA2地址装入CPUl-DMA240-1,并牵制用于缓冲器的SVAA2。在步骤550,开始DMA操作。在步骤552,DMA操作将读取数据从SVAA2传输到CPUlNTB221。在步骤554,DMA操作将读取数据从CPUlNTB221传输到CPU2NTB221。在步骤556,DMA操作将读取数据从CPU2NTB221传输到在HV存储驱动器248处的HVA4。在步骤558,CPU1DMA240-1使用指示DMA操作已完成以及读取数据在HVA4中的中断来中断SVA存储驱动器204。在步骤560-1,SVA存储驱动器204在CPUlNTB221处执行NTB按门铃。在步骤560-2,CPUlNTB221在CPU2NTB221处按门铃。在步骤562,CPU2NTB221使用RR已完成的消息中断HV存储驱动器248。在步骤534,HV存储驱动器248将RR已完成的消息发送到VFS246。在步骤536,VFS246将RR已完成的消息发送到G-OS108。在步骤538,G-0S108将RR已完成的消息发送到应用102。[0057] 现在参考图6,该图为以流程图形式描绘的、用于在虚拟化信息处理系统中的IO加速的方法600的实施方式的选定元件的方框图如在本文所述的。可使用信息处理系统100参见图1和图2来执行方法600。应当注意,在方法600中描述的某些操作可以是可选的,或可在不同的实施方式中被重新布置。[0058] 在图6中,方法600可首先操作602装入存储虚拟设备以作为在使用第一处理器和第二处理器执行的管理程序上的虚拟机,其中存储虚拟设备由管理程序使用第一快捷外围部件互连PC1-E设备驱动器访问,该第一快捷外围部件互连PC1-E设备驱动器被映射到在第一处理器的第一PC1-ENTB逻辑端点处的PC1-E非透明桥NTB。可在存储虚拟设备上装入第二PC1-E设备驱动器操作604,该存储虚拟设备访问管理程序并被映射到在第二处理器的第二PC1-ENTB逻辑端点处的PC1-ENTB。可在被映射到第一PC1-ENTB逻辑端点的第一存储空间和被映射到第二PC1-ENTB逻辑端点的第二存储空间之间执行操作606数据传输操作,其中管理程序在第一存储空间中执行,其中存储虚拟设备在第二存储空间中执行,以及其中PCINTB提供在第一存储空间和第二存储空间之间的地址转换。[0059] 本文详细描述了用于虚拟化信息处理系统中的IO加速的方法和系统,其包括装入存储虚拟设备以作为在管理程序上的虚拟机。管理程序可使用第一处理器和第二处理器来执行。存储虚拟设备可由管理程序使用PC1-E设备驱动器来访问,该PC1-E设备驱动器被映射到在第一处理器处的第一PC1-ENTB逻辑端点。第二PC1-E设备驱动器可位于存储虚拟设备上,存储虚拟设备访问管理程序并被映射到在第二处理器的第二PC1-ENTB逻辑端点。可在被映射到第一PC1-ENTB逻辑端点的第一存储空间和被映射到第二PC1-ENTB逻辑端点的第二存储空间之间执行数据传输操作。该数据传输操作可以是读取操作或写入操作。[0060] 以上公开的主题应被示为是例证性的而不是限制性的。所附权利要求意欲涵盖所有落入在本公开的真实精神和范围内的修改、增强和其它实施方式。因此,在法律上许可的最大程度上,本公开的范围应由以下的权利要求及其等效形式的最宽泛围的、可允许的解释确定,而不应被以上详细描述约束或限制。

权利要求:1.一种使用至少两个处理器来执行的方法,所述至少两个处理器包括第一处理器和第二处理器,所述方法包括:装入存储虚拟设备以作为在使用所述第一处理器和所述第二处理器执行的管理程序上的虚拟机,其中所述存储虚拟设备由所述管理程序使用第一快捷外围部件互连设备驱动器来访问,所述第一快捷外围部件互连设备驱动器被映射到在所述第一处理器的第一快捷外围部件互连非透明桥的逻辑端点处的快捷外围部件互连非透明桥;将第二快捷外围部件互连设备驱动器装入所述存储虚拟设备,所述存储虚拟设备访问所述管理程序并被映射到在所述第二处理器的第二快捷外围部件互连非透明桥的逻辑端点处的快捷外围部件互连非透明桥;以及在被映射到所述第一快捷外围部件互连非透明桥的逻辑端点的第一存储空间和被映射到所述第二快捷外围部件互连非透明桥的逻辑端点的第二存储空间之间执行数据传输操作,其中所述管理程序在所述第一存储空间中执行,其中所述存储虚拟设备在所述第二存储空间中执行,以及其中所述外围部件互连非透明桥提供在所述第一存储空间和所述第二存储空间之间的地址转换。2.如权利要求1所述的方法,其中所述数据传输操作从以下一项发起:所述第一存储空间和所述第二存储空间。3.如权利要求1所述的方法,其中所述数据传输操作包括直接存储器存取操作。4.如权利要求3所述的方法,其中所述直接存储器存取操作从所述第一存储空间到所述第二存储空间发生。5.如权利要求3所述的方法,其中所述直接存储器存取操作从所述第二存储空间到所述第一存储空间发生。6.如权利要求1所述的方法,其中所述数据传输操作包括被编程的输入输出。7.如权利要求1所述的方法,其中所述第一处理器与第一物理存储器库相关联,而所述第二处理器与第二物理存储器库相关联;其中装入所述存储虚拟设备包括指定用于数据传输操作的所述第二处理器;以及其中所述第二快捷外围部件互连非透明桥的逻辑端点被仅仅映射到所述第二物理存储器库。8.—种包括存储指令的非临时计算机可读介质的制品,当指令由至少两个处理器执行时,所述指令使所述两个处理器执行以下操作,其中所述至少两个处理器包括第一处理器和第二处理器:装入存储虚拟设备以作为在使用所述第一处理器和所述第二处理器执行的管理程序上的虚拟机,其中所述存储虚拟设备由所述管理程序使用第一快捷外围部件互连设备驱动器来访问,所述第一快捷外围部件互连设备驱动器被映射到在所述第一处理器的第一快捷外围部件互连非透明桥的逻辑端点处的快捷外围部件互连非透明桥;将第二快捷外围部件互连设备驱动器装入所述存储虚拟设备,所述存储虚拟设备访问所述管理程序并被映射到在所述第二处理器的第二快捷外围部件互连非透明桥的逻辑端点处的快捷外围部件互连非透明桥;以及在被映射到所述第一快捷外围部件互连非透明桥的逻辑端点的第一存储空间和被映射到所述第二快捷外围部件互连非透明桥的逻辑端点的第二存储空间之间执行数据传输操作,其中所述管理程序在所述第一存储空间中执行,其中所述存储虚拟设备在所述第二存储空间中执行,以及其中所述外围部件互连非透明桥提供在所述第一存储空间和所述第二存储空间之间的地址转换。9.如权利要求8所述的制品,其中所述数据传输操作从以下一项发起:所述第一存储空间和所述第二存储空间。10.如权利要求8所述的制品,其中所述数据传输操作包括直接存储器存取操作。11.如权利要求10所述的制品,其中所述直接存储器存取操作从所述第一存储空间到所述第二存储空间发生。12.如权利要求10所述的制品,其中所述直接存储器存取操作从所述第二存储空间到所述第一存储空间发生。13.如权利要求8所述的制品,其中所述数据传输操作包括被编程的输入输出。14.如权利要求8所述的制品,其中所述第一处理器与第一物理存储器库相关联,而所述第二处理器与第二物理存储器库相关联;其中装入所述存储虚拟设备包括指定用于数据传输操作的所述第二处理器;以及其中所述第二快捷外围部件互连非透明桥的逻辑端点被仅仅映射到所述第二物理存储器库。15.一种信息处理系统,包括:处理器子系统,其访问存储器子系统,所述处理器子系统包括第一处理器和第二处理器,其中所述存储器子系统存储可由所述处理器子系统执行的指令,当所述指令由所述处理器子系统执行时,所述指令使所述处理器子系统执行以下操作:装入存储虚拟设备以作为在使用所述第一处理器和所述第二处理器执行的管理程序上的虚拟机,其中所述存储虚拟设备由所述管理程序使用第一快捷外围部件互连设备驱动器来访问,所述第一快捷外围部件互连设备驱动器被映射到在所述第一处理器的第一快捷外围部件互连非透明桥的逻辑端点处的快捷外围部件互连非透明桥;将第二快捷外围部件互连设备驱动器装入所述存储虚拟设备,所述存储虚拟设备访问所述管理程序并被映射到在所述第二处理器的第二快捷外围部件互连非透明桥的逻辑端点处的快捷外围部件互连非透明桥;以及在被映射到所述第一快捷外围部件互连非透明桥的逻辑端点的第一存储空间和被映射到所述第二快捷外围部件互连非透明桥的逻辑端点的第二存储空间之间执行数据传输操作,其中所述管理程序在所述第一存储空间中执行,其中所述存储虚拟设备在所述第二存储空间中执行,以及其中所述外围部件互连非透明桥提供在所述第一存储空间和所述第二存储空间之间的地址转换。16.如权利要求15所述的信息处理系统,其中所述数据传输操作从以下一项发起:所述第一存储空间和所述第二存储空间。17.如权利要求15所述的信息处理系统,其中所述数据传输操作包括直接存储器存取操作。18.如权利要求17所述的信息处理系统,其中所述直接存储器存取操作从所述第一存储空间到所述第二存储空间发生。19.如权利要求17所述的信息处理系统,其中所述直接存储器存取操作从所述第二存储空间到所述第一存储空间发生。20.如权利要求15所述的信息处理系统,其中所述数据传输操作包括被编程的输入输出。21.如权利要求15所述的信息处理系统,其中所述第一处理器与第一物理存储器库相关联,而所述第二处理器与第二物理存储器库相关联;其中装入所述存储虚拟设备包括指定用于数据传输操作的所述第二处理器;以及其中所述第二快捷外围部件互连非透明桥的逻辑端点被仅仅映射到所述第二物理存储器库。

百度查询: 戴尔产品有限公司 在虚拟化信息处理系统中的输入/输出加速

vip会员权益升级
价格优惠/年费监控/专利管家/定制微网站 关闭