当前位置: 首页 > 专利查询>英特尔公司专利>正文

虚拟化环境中地址转换缓存操作和I/O高速缓存性能的改善制造技术

技术编号:2916403 阅读:257 留言:0更新日期:2012-04-11 18:40
说明了涉及改善在虚拟化环境中的地址转换缓存操作和/或输入/输出(I/O)高速缓存的性能的方法和装置。在一个实施例中,可以采用端点设备所提供的提示来更新I/O高速缓存中存储的信息。在一个实施例中,这种信息可以用来实现更高效的替换策略。还公开了其它实施例。

【技术实现步骤摘要】

本文公开的内容总体上涉及电子领域。更具体地,本专利技术的实施例涉及改善虚拟化环境中的地址转换缓存操作(address translation caching)和/或输入/输出(I/O)高速缓存的性能。
技术介绍
I/O虚拟化是一种正在发展的技术,用以保证I/O设备在虚拟化环境中正常工作。虚拟化环境通常是这样一种环境,其中多于一个操作系统(OS)可以同时是活动的。I/O虚拟化的一些实现可以采用硬件结构以改善性能。然而,这样的实现方式需要相对高的门数来实现,而这又使成本更高和/或实现起来更复杂。附图说明参考附图提供了详细的说明。在图中,参考号最左边的数字标识其中该参考号首次出现的那幅图。在不同的图中使用相同的参考号指示相似或相同的项目。图1-3示出了计算系统的实施例的方框图,所述计算系统可用来实现这里所讨论的各种实施例。图4示出了根据一实施例的方法的流程图。具体实施方式在下述说明中,为了完全理解各个实施例,阐述了许多特定细节。然而,可以实现一些实施例而不需要这些特定细节。在另外一些实例中,并未详细说明公知的方法、过程、组件和电路,以免使具体的实施例难以理解。本专利技术的实施例的各个方面可通过各种方式实现,例如,半导体集成电路(“硬件”)、组成一个或多个程序的计算机可读指令(“软件”)、或硬-->件和软件的一些组合。为了便于说明本公开的内容,提及“逻辑”时,表示的是硬件、软件或其一些组合。这里所讨论的一些实施例可以改善虚拟化环境中的地址转换缓存操作(例如,定向I/O(VTd)地址转换的虚拟化)和/或I/O高速缓存的性能。更具体地,一些虚拟化服务可以在硬件结构上实现,所述硬件结构用来将客户机物理地址(guest physical address,GPA)转换成主机物理地址(host physicaladdress,HPA)。因此,这样的结构可以提供缓存支持,例如,以I/O地址转换后备缓冲器(I/O look-aside-buffer,IOTLB)的形式来对从GPA到HPA的转换进行缓存。在一些实施例中,这些缓存结构可为以实现同一地址转换为目的的多个请求提供更低的延迟。此外,这些技术中的一些可以用于各种类型的计算环境中,例如参考图1-4所讨论的。更特别地,图1示出了根据专利技术一实施例的计算系统100的方框图。系统100可以包括一个或多个代理102-1至102-M(这里被统称为“多个代理102”或更一般地“代理102”)。在一实施例中,代理102可以是计算系统(例如参考图2-4所讨论的计算系统)的组件。如图1所示,多个代理102可以通过网络结构104进行通信。在一个实施例中,网络结构104可以包括允许各个代理(例如,计算设备)传送数据的计算机网络。在一实施例中,网络结构104可以包括一个或多个通过串行(例如,点对点)链路和/或共享通信网络进行通信的互连(或互连网络)。例如,一些实施例可以便于链路上的组件调试或验证,所述链路允许与完全缓冲双列直插存储模块(FBD)进行通信,例如,这里FBD链路是将存储模块耦合到主控制器设备(例如,处理器或存储器中心(hub))的串行链路。可以从FBD通道主机发送调试信息,使得可以通过通道业务(traffic)跟踪捕捉工具(例如,一个或多个逻辑分析器)来沿通道观察调试信息。在一个实施例中,系统100可以支持包括物理层、链路层、路由层、传输层和/或协议层的分层协议方案。结构104进一步可以有助于针对点对点网络或共享网络从一种协议(例如,缓存处理器(caching processor)或可进行缓存的存储器控制器(caching aware memory controller))到另一种协议的数据传输(例如,以分组形式)。在一些实施例中,网络104还可以提供遵守一个或多个高速缓存一致性协议的通信。-->此外,如图1的箭头方向所示,代理102可以通过网络结构104发送和/或接收数据。因此,一些代理可以采用单向链路来进行通信,而其它的代理可以采用双向链路来进行通信。例如,一个或多个代理(例如,代理102-M)可以发送数据(例如,通过单向链路106),其它代理(例如,代理102-2)可以接收数据(例如,通过单向链路108),而某些代理(例如,代理102-1)既可发送又可接收数据(例如,通过双向链路110)。图2示出了根据一实施例的计算系统200的各个部分的方框图。在一个实施例中,系统200的各个组件可以在参考图1所讨论的代理102-1和/或102-M中的一个代理内实现。这里,将参考图4讨论关于计算系统200一些操作的进一步的细节。系统200可以包括一个或多个处理器202-1至202-N(这里被统称为“多个处理器202”或更一般地“处理器202”)。处理器202-1至202-N中的每一个可以包括各种组件,例如私有的或共享的高速缓存、执行单元、一个或多个核心(core)等。此外,每个处理器202可以对存储器204(例如,存储器204-1至204-N)进行访问。系统200还可以包括可由系统200的各种组件共享的可选的系统存储器206,所述各种组件包括例如一个或多个处理器202、非核心部分(uncore)或芯片组(CS)208的组件、或耦合到非核心部分208的组件等。一个或多个存储器204和/或206可以存储一个或多个操作系统。因此,在一些实施例中,系统200能执行多个操作系统(例如,同时)。如图2所示,非核心部分208可以包括各种组件,例如,根联合体(rootcomplex,RC)高速缓存210(例如,其可以由诸如系统200这样的计算系统的各个组件所共享)。在一些实施例中,RC高速缓存210可以存在于芯片组或非核心部分(例如,CS/非核心部分208)的存储器控制中心(MCH)和/或图形MCH(GMCH)部分中。通过数据通路212(可以包括可选的核心互连214,例如,以有助于处理器202的一个或多个核心和系统200的其它组件之间的通信),RC高速缓存210可以与其它组件进行通信。系统200可以进一步包括预取逻辑216,例如,用以从各个位置(例如,一个或多个存储器204、系统存储器206、其它存储设备(包括例如易失性或非易失性存储器件)等)中预取数据(包括指令或微操作)放入IOTLB 220(例如,通过虚拟-->化或转换逻辑222-1到222-P(这里被统称为“多个逻辑222”或更一般地“逻辑222本文档来自技高网...

【技术保护点】
一种装置,包括: 高速缓存,用于存储一个或多个项,其中每个项与在客户机物理地址(GPA)和主机物理地址(HPA)之间的输入/输出(I/O)存储器访问请求相对应;以及 第一逻辑,用于从端点设备接收第一I/O存储器访问请求,并确定所述第一I/O存储器访问请求是否包括与一个地址相关联的将来访问提示, 其中,所述第一逻辑响应于确定所述第一I/O存储器访问请求包括所述提示,更新相应的高速缓存项中的一个或多个位。

【技术特征摘要】
US 2007-9-28 11/906,1761、一种装置,包括:
高速缓存,用于存储一个或多个项,其中每个项与在客户机物理地址
(GPA)和主机物理地址(HPA)之间的输入/输出(I/O)存储器访问请求相对应;
以及
第一逻辑,用于从端点设备接收第一I/O存储器访问请求,并确定所
述第一I/O存储器访问请求是否包括与一个地址相关联的将来访问提示,
其中,所述第一逻辑响应于确定所述第一I/O存储器访问请求包括所
述提示,更新相应的高速缓存项中的一个或多个位。
2、如权利要求1所述的装置,其中,所述端点设备产生所述存储器访
问请求。
3、如权利要求1所述的装置,进一步包括:预取逻辑,用于响应于所
述端点设备发出的请求而将数据预取到所述高速缓存中。
4、如权利要求1所述的装置,其中,所述端点设备包括快速外围组件
互连(PCI)设备。
5、如权利要求1所述的装置,其中,所述将来访问提示指示将来会对
所述地址进行访问。
6、如权利要求1所述的装置,其中,所述第一逻辑、一个或多个处理
器内核、或所述高速缓存中的一个或多个在同一个集成电路管芯上。
7、如权利要求1所述的装置,其中,所述高速缓存包括根联合体高速
缓存、I/O地址转换后备缓冲器(IOTLB)或其组合中的一个或多个。
8、如权利要求1所述的装置,其中,所述高速缓存是共享的高速缓存
或私有的高速缓存。
9、如权利要求1所述的装置,其中,所述高速缓存包括一级(L1)高速
缓存、二级(L2)高速缓存、三级(L3)高速缓存、中间级高速缓存、最末级
高速缓存(LLC)或其组合中的一个或多个。
10、如权利要求1所述的装置,进一步包括:根端口,用于耦合所述
第一逻辑和所述端点设备。
11、一种方法,包括:
从端点设备接收第一输入/输出(I/O)存储器访问请求;
在高速缓存中存储一个或多个项...

【专利技术属性】
技术研发人员:M韦格J阿亚诺维奇
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1