用于设备访问分区系统中的存储器的访客地址至主机地址转换的制作方法

文档序号:6616122阅读:191来源:国知局
专利名称:用于设备访问分区系统中的存储器的访客地址至主机地址转换的制作方法
用于设备访问分区系统中的存储器的访客地址至主机地址转换 技术领域本公开涉及信息处理的领域,更具体地说,涉及分区信息处理 系统的领域。
背景技术
通常,信息处理系统中分区的概念是指将系统分成多个分区, 其中每个分区是可以作为完整且独立系统来工作的系统资源的集合。可以分配给分区的系统资源包括处理器、处理器核(其中可以 将多核处理器的各个核分配到不同分区)、系统存储器的若干部分和输入/输出("I/O")装置。有不同类型分区是公知的。在"软"分区中,系统资源可以在 分区之间共享。软分区的一种形式是虚拟化,这允许一个或多个操作系统(每一个,"OS")的多个实例在单个系统上运行,即4吏每个 OS被设计为对系统及其资源具有完全直接控制。虚拟化通常使用公 知为虛拟机监视器("VMM")的软件来实现,虚拟机监视器直接控 制系统的物理资源并向每个OS呈交具有虚拟资源的"虚拟机,, ("VM"),这些虚拟资源包括OS可以完全且直接控制的一个或多个 虚拟处理器。VMM维护用于实现例如在VM之间共享和/或分配物 理资源的虚拟化策略的系统环境("虚拟化环境")。运行在VM上的 每个OS和任何其他软件称为"访客"或"访客软件",而"主^L" 或"主机软件"是运行在虚拟化环境之外且可能知道或可能不知道 该虚拟化环境的例如VMM的软件。软分区通常要求VMM、监管程序、OS或其他此类软件设计为 在分区系统的 一 个分区中运行并强制共享物理资源,这可以包括阻止运行于其他分区中的任何此类软件直接控制物理资源。在"硬"分区中,每个系统资源通常专用于相应分区。硬分区支持任何OS、 VMM、监管程序或其他此类软件运行在每个分区中 而不要求针对分区系统设计的软件,因为此类软件可以直接控制其 分区的物理资源。发明内容根据本发明的一方面,本发明涉及一种设备,包括接口, 所述接口用于从设备接收访问分区系统中的存储器的请求;分区逻 辑,所述分区逻辑用于确定所述i殳备一皮指定到所述分区系统中的第 一分区还是第二分区;第一地址转换逻辑,所述第一地址转换逻辑 用于将第一访客地址转换成所述第一分区中的第一主机地址;以及 第二地址转换逻辑,所述第二地址转换逻辑用于将第二访客地址转 换成所述第二分区中的第二主机地址。根据本发明的另一方面,本发明涉及一种方法,包括从设备接收访问分区系统中的存储器的请求;确定所述设备被 指定到所述分区系统中的第 一 分区还是第二分区;响应确定所述设 备一皮指定到所述第 一分区而将所述请求转发到第 一地址转换逻辑; 以及响应确定所述设备被指定到所述第二分区而将所述请求转发到 第二地址转换逻辑。根据本发明的又一方面,本发明涉及一种系统,包括第一分区,所述第一分区包括存储器的第一部分;第一设备;以及第一地址转换逻 辑,所述第 一地址转换逻辑用于将第 一访客地址转换成所述存储器 的第一部分中的第一主机地址;以及第二分区,所述第二分区包括所述存储器的第二部分;第二设备;以及第二地址转换逻 辑,所述第二地址转换逻辑用于将第二访客地址转换成所述存储器的第二部分中的第二主机地址;以及分区逻辑,所述分区逻辑用于将来自所述第一设备的第一请 求转发到所述第 一地址转换逻辑,以及将来自所述第二设备的第二 请求转发到所述第二地址转换逻辑。


附图中通过举例方式而非限制来说明本发明。 图1示出信息处理系统中的本发明实施例。图2图示将设备指定到域。图3图示设备至访问系统存储器的地址转换。图4图示存储器访问数据结构中的项。图5示出图1的实施例的分区逻辑。图6示出本发明的方法实施例。
具体实施方式
本发明可以在用于设备访问分区系统中的存储器的访客地址至 主机地址转换的i殳备、方法和系统中实施,下文将对此进行描述。 在下文描述中,阐述了诸如组件和系统配置的许多特定细节以便更 透彻地理解本发明。然而,本4贞域技术人员将认识到,在没有这些 特定细节的情况下,仍可以实施本发明。此外,未详细示出一些公 知的结构、电路等,以免不必要地妨碍对本发明的理解。 本发明的实施例可以用于4是高分区系统的虚拟化能力。 本发明实施例的部件可以通过硬件、软件、固件或硬件、软件、 固件的任何组合来实现。术语石更件通常是指具有物理结构的部件, 例如电子、电磁、光、电光、+几械、机电元件等。术语软件通常是 指逻辑结构、方法、过程、程序、例行程序、进程、算法、公式、 表达式等。术语固件通常是指在硬件结构(例如闪速存储器或只读 存储器)中实现或包含在其中的逻辑结构、方法、过程、程序、例行程序、进程、算法、公式、表达式。固件的示例是微代码、可写 控制存储装置和微编程的结构。图1示出信息处理系统100中的本发明实施例。系统处理系统100 包括棵平台硬件110,棵平台硬件110可以是能够执行任何OS、 VMM 或其他软件的任何设备。例如,棵平台硬件110可以是个人计算机、 主机计算机、便携式计算机、手持设备、机顶盒、服务器或任何其 他计算系统的硬件。在此实施例中,棵平台硬件110包括一个或多个 处理器封装120、芯片组130、系统存储器140和设备151、 152、 153 和154。处理器120可以是具有一个或多个执行核的任何组件,其中每 个执行核能够基于多种不同类型的处理器的任何一种,包括通用微 处理器、例如Intel 7>3出产的Intel Pentium⑧处理器系歹'j 、Itanium 处理器系列或其他处理器系列中的处理器,或其他公司出产的其他 处理器,或数字信号处理器或微控制器,或可以是可重新配置核(例 如现场可编程门阵列)。虽然图1仅示出一个此类处理器120,但是 棵处理硬件110可以包括任何数量的处理器,包括任何数量的多核处 理器(其中每个多核处理器具有任何数量的执行核)以及任何数量 的多线程处理器(其中每个多线程处理器具有任何数量的线程)。芯片组130可以是支持存卡者器操作、输入/输出操作、配置、控 制、内部或外部接口、连接或通信功能(例如"胶水"逻辑和总线 桥)和/或处理器120和/或系统100的任何类似功能的电路和逻辑的 任何集合。可以将芯片组130的各个部件归组在单个芯片上、 一对 芯片上、散布在多个芯片中和/或部分地、全部地、冗余地或根据分 布式方法将其集成到一个或多个处理器(包括处理器120)中。系统存储器140可以是其上可存储例如数据和/或程序代码的信 息的任何介质,例如静态或动态随机存取存储器、基于半导体的只 读或闪速存储器、磁盘或光盘存储器或处理器120可读的任何其他 类型的介质或此类介质的任何组合。设备151、 152、 153和154均可以表示任何数量的任何类型的 1/0、外设或其他设备,例如键盘、鼠标、跟踪球、指向设备、监视 器、打印机、介质卡、网络接口、信息存储设备等。设备151、 152、 153和154的每个设备可以包含在离散组件中,或者它们中的任何一 个或多个可以与与任何其他设备包括在集成组件中。在一个实施例 中,设备151、 152、 153和154均可以表示多功能1/0、外设或其他 设备中的不同功能。处理器120、芯片组130、系统存储器140和设备151、 152、 153 和154可以根据任何公知的方法、例如直接或间接通过一个或多个 并行、串行、管线化(pipelined )、异步、同步、有线、无线或其他 总线或点到点连接彼此耦合或彼此通信。例如,芯片组130包括从 设备151、 152、 153和154接收事务的接口 133。棵平台硬件110还 可以包括任何数量的附加设备、代理、组件或连接。根据分区技术将棵平台硬件110分区成分区111和112。多核处 理器120的核121、芯片组130的地址转换逻辑131、系统存储器140 的一部分141和设备151和153被分配到分区111。多核处理器120 的核122、芯片组130的地址转换逻辑132、系统存储器140的部分 142和设备152和154被分配到分区112。每个分区还可以包括附加 处理器、核、芯片组或其他逻辑、存储器的若干部分、设备或上文 描述或另外在信息处理领域中/^知的任何其他物理资源除了棵平台硬件110,图1还图示分区111中由VMM维护的虚 拟化环境113,以及分区112中由VMM 116维护的虚拟化环境114。 VMM 115和116可以是安装在棵平台硬件110上或棵平台硬件110 可访问以便向访客呈交VM (即棵平台硬件110的抽象)或另外创建 VM、管理VM和实施虚拟化策略的任何软件、固件或硬件主机。VMM 115和116均可以是相同VMM的实例或两个不同VMM的实例。访客可以是任何0S、包括VMM 115或116的另一个实例的任 何VMM、任何监管程序或任何应用程序或其他軟件。每个访客期望根据VM中呈交的处理器和平台的体系结构来访问棵平台硬件110的物理资源(例如处理器和平台寄存器、存储器和输入/输出设备)。图1示出四个VM,其中在VM 161上安装有访客OS 171和访客应用 程序181和设备驱动程序185,在VM 163上安装有访客OS 173和 访客应用程序183和设备驱动程序187,在VM 162上安装有访客OS 172和访客应用程序182和设备驱动程序186,以及在VM 164上安 装有访客OS 174和访客应用程序184和设备驱动程序188。虽然图 1仅示出四个VM以及对应于每个VM的一个应用程序和一个驱动 程序,但是在本发明范围内,可以创建任何数量的VM,以及任何数 量的应用程序和/或驱动程序可以运行在每个VM。访客可访问的资源可以分类成"特权"或"非特权"资源。对 于特权资源,VMM使访客期望的功能易于实现同时保持对该资源的 最终控制。非特权资源不一定要由VMM来控制,而可以被访客直 接访问。而且,每个访客OS期望处理多种事件,例如异常(例如,页故 障和一般保护故障)、中断(例如,硬件中断和软件中断)以及平台事件(例如初始化和系统管理中断)。在本文中将这些异常、中断和 平台事件统一且单独地称为"虚拟化事件"。这些虛拟化事件的其中 一些称为"特权事件",因为它们必须由VMM来处理以确保VM的 正确操作、保护VMM免受访客的影响以及保护访客免受访客相互 之间的影响。在任何给定时间,处理器核可以执行来自VMM或任何访客的 指令,因此VMM或访客可以在处理器核上运行或控制处理器核。 当特权事件发生或访客试图访问特权资源时,可以将控制从访客转 移到VMM。本文将控制从访客转移到VMM称为"VM退出"。在 处理事件或恰当地协助对资源的访问之后,VMM可以将控制返回到 访客。本文将控制从VMM转移到访客称为"VM进入"。为了支持虚拟化,可以在I/O事务中使用地址转换逻辑(例如地址转换逻辑131或132 )来将设备(例如设备151、 152、 153或154 ) 映射到系统存储器140中的域(下文将对此进行描述)。I/O事务通 常是DMA请求(即来I/O设备直接访问系统存储器140的请求), 但是也可以是任何其他类型的事务。地址转换逻辑提供硬件支持以 协助或增强I/O设备指定和/或管理。如图1所示,地址转换逻辑可 以包括在芯片组130中,或部分或全部地在处理器120或任何其他 处理器、协处理器、芯片组或其他组件中实现。抽象地将域定义为系统中将系统存储器140的子集分配到其中 的隔离环境。例如,VM 161、 162、 163和164的每个VM可以视为 一个域。允许直接访问系统存储器中分配到域的那一部分的设备称 为该域的指定的设备。域的隔离通过阻止未指定到该域的设备访问 对该域分配的存储器来实现。通过确保将所有设备指定到某个域(可 能为缺省域),并将来自每个指定的设备的访问限制于分配给它的域 的存储器来支持多个隔离的域。每个域具有可能与存储器的系统视图不同的系统存储器或物理 地址空间的视图。根据存储器的系统视图来访问系统存储器所用的 地址称为主机物理地址("TIPA")。域的资源访问其物理地址空间所 用的地址称为访客物理地址("GPA,,)。如果域的GPA空间与HPA 空间相同或是HPA空间的子集,则将该域视为非重新定位的。如果 将域的GPA空间转换才能访问它分配的HPA空间,则将该域视为重 新定位的。GPA和HPA空间的逻辑分离提供加强存储器保护的基础。 需要可以验证域的指定设备生成的GPA是否有效并可能地将它们转 换成有效的HPA的地址保护和可能的转换机制。地址转换逻辑(例 如地址转换逻辑131和132 )提供对此功能的硬件支持,有时称为DMA 重新映射。图2是图示将设备指定或映射到域的示例的示意图。在图2中, 将设备151映射到系统存储器140中的域240。域240可以包括设备 驱动程序241,设备驱动程序241可以是控制或另外支持设备151的任何软件。地址转换逻辑131支持将设备151映射到域240。地址转换逻辑131包括寄存器组231、重新映射结构232和逻辑 电路233。寄存器组231包括用于存储重新映射结构232、逻辑电路 233和设备的程序或驱动程序所使用的控制或状态信息的多个寄存 器。重新映射结构232提供将GPA重新映射或地址转换到HPA时使 用的基本结构、存储装置或表。逻辑电路233包括用于执行重新映 射或地址转换操作的电路。返回图1,设备151、 152、 153和154示为指定到不同的域。分 区111中的地址转换逻辑131支持将设备151映射到VM 161的域以 及将设备153映射到VM 163的域。VM 161的域中的设备驱动程序 185控制设备151。 VM 163的域中的设备驱动程序187控制设备153。 分区112中的地址转换逻辑132支持将设备152映射到VM 162的域 以及将设备154映射到VM 164的域。VM 162的域中的设备驱动程 序186控制设备152。 VM 164的域中的设备驱动程序188控制设备 154。一般来说,访客例如通过在尝试I/O操作时产生VM退出通过 VMM来访问系统资源。但是,因为将设备151指定到VM 161,其 驱动程序185在VM 161上运行,所以访客OS 171和应用程序181 可以无需使VM退出到VMM 420来访问设备151。而且,设备151 可以通过例如DMA请求来访问分配给VM 161的域的存储器而无需 产生VM退出。地址转换逻辑131通过将设备151使用的GPA转换 成对应的HPA并拒绝从设备151对其分配的域之外的存储器位置进 行访问来支持此功能。相似地,访客OS 172和应用程序182可以访 问设备152,设备152可以访问分配给VM 162的域的存储器,访客 OS 173和应用程序183可以访问i殳备153, i殳备153可以访问分配 给VM 163的域的存储器,访客OS 174和应用程序184可以访问设 备154,以及设备154可以访问分配给VM 164的域的存储器,而它 们全都无需产生VM退出。图3图示用于DMA重新映射的地址转换的示例。在图3中, 将设备151指定到域A,将设备153指定到域B。每个设备可以执行 I/O请求或DMA请求来寻址DMA一ADR。地址转换逻辑131将对 DMA_ADR的请求从设备151映射到物理存储器140的区段(section ) 341,其中物理存储器的区段341和345分配给域A。同样地,地址 转换逻辑131将对DMA—ADR的请求从设备153映射到物理存储器 140的区段347,其中物理存储器的区段343和347分配给域B。区 段341、 343、 345和347可以为根据系统的存储器管理模型的页的 大小或物理存储器的一部分的任何其他大小。系统存储器的访客视图350是从设备151和153的视角来看的 逻辑视图。设备151将区段351看作系统的地址空间,而设备153 将区段353看作系统的地址空间。VMM 115或负责创建和管理域的 其他软件为每个域分配物理存A者器140,并建立地址转换逻辑131中 的GPA至HPA转换功能。地址转换逻辑131实现的地址转换功能具体根据系统的物理存 储器管理模型而定。例如,在将主机物理存储器作为连续区域分配 给域的情况中,转换功能可以是简单的偏移量相加。或者,地址转 换逻辑131可以参考执行地址转换的数据结构,例如其中按页粒度 来管理主机物理存储器。其他实施例可以使用定义允许各个设备访 问的地址范围的数据结构。其4也实施例可以使用这些或其他技术的 任何组合。地址转换逻辑131参考的数据结构("存储器访问数据结构") 可以是任何形式的数据结构,例如单级表或多级表。可以将存储器 访问数据结构或存储器访问数据结构的任何部分存储在地址转换逻 辑131可访问的任何存储空间(例如重新映射结构232或系统存储器 140中的存储器访问表141)中。可以在一个或多个存储空间中拷贝或 复制存储器访问数据结构中的全部信息或部分信息(例如来自存储器 访问表141的项),或者可以将地址转换逻辑131的转换结果存储在重新映射结构232中的转换后备緩沖器或其他緩冲器中或其他位置。图4示出根据本发明实施例的存储器访问数据结构中的项400。 项400包括三个字段,每个字^爻可以包括任何数量的位位置。GPA 字段410用于存储可被设备用于访问系统存储器所用的GPA或GPA 的一部分。HPA字段420用于存储如上文描述的#4居任何存储器地 址转换功能与GPA字段410中存储的GPA对应的HPA或HPA的一 部分。在一个实施例中,GPA字段410和HPA字段420中存储的每 个地址指定系统存储器的页的基地址,使得对系统存储器中的单个 页的所有访问只需要存储器访问数据结构中的一个项。在此实施例 或其他实施例中,存储器访问数据结构中的单个项可以表示不同于 单个地址的地址范围。存储器访问属性字段430用于存储与字段410和420中的项对 应的存储器访问属性。例如,存储器访问字段430可以用于存储指 示是否允许至对应地址或地址范围的DMA (或其他I/O)事务的值、 指示是否必须针对至对应地址或地址范围的DMA (或其他I/O)事 务来窺探(sno叩)处理器高速緩存的值以及与至对应地址或地址范 围的DMA (或其他I/0)事务相关的任何其他值或指示符。返回图1,系统100 一皮分区成分区111和112。该分区可以根据 任何公知的方法来实现,例如通过在系统初始化时执行分区固件或 软件将硬件资源(包括设备)指定到每个分区来配置系统来实现分 区。可以根据任何数量的方法来实现和/或维护设备到分区的指定。 在第一种方法中,可以将设备指定到与特定分区对应的存储器的一 部分。例如,可以通过将一个或多个下方地址、上方地址和/或偏移 量存储在一个或多个存储器范围或其他寄存器中、与特定分区对应 的其他存储位置或数据结构项来将存储器的一部分分配到该分区。 然后,可以使用访问控制列表、映射图(map)或其他数据结构将设备 限制于发出和/或响应存储器的该部分内的事务。可以在访问控制列表、映射图或其他数据结构中利用任何唯一标识符(例如根据系统 中特定总线上的特定设备内设备的特定功能来标识设备的总线、设备、功能编号("BDF"))来标识设备。根据第二种方法,可以将设备直接指定到分区。例如,可以通 过分区固件或软件创建和/或维护数据结构来在系统中存储每个设备的标识符(例如BDF)和已将其指定到的分区的标识符。或者,可 以对某些设备编程以存储已将他们指定到的分区的标识符。在本发 明范围内其他方法也是可能的。根据任何此类设备指定方法,分区逻辑190确定已将事务中涉 及的设备指定到哪个分区。在一个实施例中,分区逻辑190通过查 询访问控制列表或其他此类数据结构中与事务关联的设备标识符(例 如事务内包含的BDF)来确定已将设备指定到的分区。该访问控制 列表指示将设备指定到存储器的部分,又指示将设备指定到的分区。 在另一个实施例中,可以使用与事务关联的设备标识符来查找表、 映射图或其他数据结构中直接指示已将该设备指定到哪个分区的的 项。在另一个实施例中,事务协议可以包括例如通过提供将分区标 识符包括在事务内的请求设备来直接标识分区的方式。图5示出根据图1的实施例的分区逻辑190。查询模块510接收 涉及设备的事务,并如上文描述或根据任何其他方法确定已将该设 备指定到哪个分区。路由模块520将事务路由到已将该设备指定到 的分区的地址转换逻辑。例如,对于来自设备151的DMA请求,查 询模块510确定设备151被指定到分区111 ,所以路由模块520将DMA 请求路由到地址转换逻辑131。查询模块510可以参考访问控制列表、设备访问映射图、存储 器范围寄存器或其他存储位置或数据结构的任何其中之一或它们的 组合来如上文描述地或根据任4可其他方法来确定设备被指定到哪个 分区。在图5的实施例中,分区逻辑190包括设备访问映射图530, 设备访问映射图表示查询模块510用来确定设备至分区指定的信息的存储位置。此类信息可以是直接用于确定设备至分区指定的信息, 例如设备至存储器、存储器至分区或任何其他系统资源映射的表或 列表,或者可以是系统100内至可存储此类信息的任何一个或多个位置的指针或引用。它参考的设备访问映射图530和/或任何寄存器、 存储器地址或其他存储位置或数据结构可以由上述分区固件或软件 或由任何OS、 VMM或其他此类软件来初始化和/或维护。在图5的实施例中,分区逻辑190还包括后备高速緩存540,后 备高速緩存540用于存储查询模块510的任何先前确定得到的结果。 例如,在查询模块510使用BDF来确定将设备指定到的分区的情况 中,可以将分配给该分区的BDF和地址转换逻辑的标识符存储在后 备高速緩存项中。此后,可以在后备高速緩存540中找到BDF至地 址转换逻辑的映射,而不由查询^t块510来确定。分区逻辑190还包括后备高速緩存管理器550,后备高速緩存管 理器550用于使与已经从系统100移除的设备对应的后备高速緩存 项失效。例如,如果可移动设备板或卡从外设总线槽移除,则高速 緩存管理器550使后备高速緩存540中与该设备板或卡对应的所有 项失效。这样,可以将新设备板或卡插入在该槽中并将其指定到不 同分区。图6图示方法600中的本发明实施例,这是一种用于设备访问 分区系统中的存储器的访客地址至主机地址转换的方法。为描述图6 的方法实施例参考了对图1的系统100的描述,但是方法实施例并 不限于此方面。在图6的框610中,将系统(例如系统100)分区成两个分区(例 如分区111和112)。此分区包括将系统资源(例如系统存储器的若 干部分、I/O设备和地址转换逻辑)分配到每个分区。例如,可以将 设备151分配到分区111,并可以将设备152分配到分区112。设备 151和152可以具有包括相同访客物理地址(例如DMA—ADR )的系 统存储器的访客视图。在框620中,设备151启动涉及访问系统存储器的事务(例如 DMA请求)。该事务包含设备标识符(例如设备151的BDF)和访 客物理地址(例如DMA_ADR )。在框622中,使用设备标识符来确定该设备所指定的分区(例 如分区111)。在框624中,创建后备高速緩存项。高速緩存项包含 设备标识符和已经分配到分区111的地址转换逻辑(例如地址转换逻 辑131)的标识符。在框630中,将事务路由到地址转换逻辑131,由此将设备151 使用的访客物理地址DMA—ADR与设备152使用的访客物理地址 DMA_ADR区分。在框632中,地址转换逻辑131将访客物理地址 DMA—ADR转换成分区111中的主机物理地址。在框634中,框620 中启动的事务至框632中找到主机物理地址而完成。在框640中,设备151启动涉及访问系统存储器的另一个事务 (例如DMA请求)。该事务包唾4殳备标识符(例如设备151的BDF ) 和访客物理地址(例如DMA_ADR )。在框642中,在后备高速緩存中找到该设备标识符。在框644 中,基于后备高速緩存中找到的项将事务路由到地址转换逻辑131。 在框646中,地址转换逻辑131将访客物理地址DMA_ADR转换成 分区111中的主机物理地址。在框648中,框640中启动的事务至框 646中找到主机物理地址而完成。在框650中,从系统100中移除设备151。在框652中,使与设 备151对应的后备高速緩存项失效。在本发明的范围内,可以通过省略一些图示的框、添加一些附 加的框或将对框重新排序、省略框或附加的框进行组合来执行方法 600。例如,在事务包括分区标识符的情况中,可以省略框622和624。可以在从创建到模拟到制造的多个不同阶段设计根据本发明实 施例设计的任何组件或组件的一部分。表示设计的数据可以通过多 种方式表示该设计。首先,如才莫拟中有用的,可以使用硬件描述语言或另一种功能描述语言来表示硬件。此外或作为替代,可以在设 计过程的一些阶段制作具有逻辑和/或晶体管门的电路级模型。而且, 在 一 些阶段,大多数设计达到利用表示多种设备的物理布置的数据 对其建模的级别。在使用常规半导体制造技术的情况中,表示设备 布置模型的数据可以是指定用于制作集成电路的掩模的不同掩模层 上的多种功能特征是否存在的数据。在设计的任何表示中,可以将该数据存储在任何形式的机器可 读介质中。为传输此类信息而调制或以其他方式生成的光或电波、 存储器或磁或光存储介质(例如光盘)都可以是机器可读介质。这 些介质的任何一种可以"承载"或"指示"该设计或本发明实施例 中使用的其他信息。当达到复制、緩存或重传电信号的程度来传输 指示或承载信息的电载波时,就制作新副本。因此,通信提供商或 网络提供商的动作可能构成制作包含本发明原理的产品(例如载波) 的副本。因此,已经公开了用于设备访问分区系统中的存储器的访客地 址至主机地址转换的设备、方法和系统。虽然描述并在附图中示出 了某些实施例,但是要理解,此类实施例仅仅是说明性的并非是对 范围广泛的本发明的限制,以及本发明不限于示出和描述的特定构 造和布置,因为本领域技术人员研读本公开内容时可能设想到多种 其他修改。在发展迅速以及后续进步不易预测的技术领域中,在不 背离本发明公开内容的原理或所附权利要求的范围的前提下,可以 通过启用技术进步作为帮助对所公开的实施例在布置和细节上容易 地进行修改。
权利要求
1.一种设备,包括接口,所述接口用于从设备接收访问分区系统中的存储器的请求;分区逻辑,所述分区逻辑用于确定所述设备被指定到所述分区系统中的第一分区还是第二分区;第一地址转换逻辑,所述第一地址转换逻辑用于将第一访客地址转换成所述第一分区中的第一主机地址;以及第二地址转换逻辑,所述第二地址转换逻辑用于将第二访客地址转换成所述第二分区中的第二主机地址。
2. 如权利要求1所述的设备,其特征在于,所述分区逻辑还用 于响应确定所述设备被指定到所述第 一分区而将所述请求转发到所 述第 一地址转换逻辑,以及响应确定所述设备被指定到所述第二分 区而将所述请求转发到第二地址转换逻辑。
3. 如权利要求1所述的设备,其特征在于,所述分区逻辑包括 查询模块,所述查询模块使用所述请求中包含的设备标识符来确定 分区标识符。
4. 如权利要求3所述的设备,其特征在于,所述查询模块使用 所述设备标识符找到数据结构中的项。
5. 如权利要求3所述的设备,其特征在于,所述项指示所述设 备可访问的存储器范围。
6. 如权利要求3所述的设备,其特征在于,所述项指示分区标 识符。
7. 如权利要求1所述的设备,其特征在于,所述分区逻辑包括 高速緩存,所述高速緩存用于存储所述确定的结果。
8. 如权利要求2所述的设备,其特征在于,所述分区逻辑基于所述请求中包含的分区标识符来确定所述设备被指定到第 一分区还 是第二分区。
9. 如权利要求2所述的设备,其特征在于,所述分区逻辑还包括转换支持逻辑,所述转换支持逻辑用于支持所述第一地址转换逻 辑和所述第二地址转换逻辑。
10. —种方法,包括从设备接收访问分区系统中的存储器的请求;确定所述设备被指定到所述分区系统中的第 一分区还是第二分区;响应确定所述设备被指定到所述第 一 分区而将所述请求转发到第一地址转换逻辑;以及响应确定所述设备被指定到所述第二分区而将所述请求转发到 第二地址转换逻辑。
11. 如权利要求10所述的方法,其特征在于,还包括使用所述 请求中包含的设备标识符来确定分区标识符。
12. 如权利要求11所述的方法,其特征在于,还包括使用所述 设备标识符找到数据结构中的项。
13. 如权利要求12所述的方法,其特征在于,所述项指示所述 设备可访问的存储器范围。
14. 如权利要求12所述的方法,其特征在于,所述项指示分区 标识符。
15. 如权利要求10所述的方法,其特征在于,还包括将所述确 定的结果存储在高速緩存中。
16. 如权利要求10所述的方法,其特征在于,确定包括读取存 储有关所述设备被指定到所述第 一 分区还是所述第二分区的先前确 定结果的高速緩存项。
17. 如权利要求16所述的方法,其特征在于,还包括响应从所 述系统移除所述设备而使所述高速緩存项失效。
18. —种系统,包才舌 第一分区,所述第一分区包括存储器的第一部分; 第一设备;以及第一地址转换逻辑,所述第一地址转换逻辑用于将第一访 客地址转换成所述存储器的第一部分中的第一主机地址;以及 第二分区,所述第二分区包括 所述存储器的第二部分; 第二设备;以及第二地址转换逻辑,所述第二地址转换逻辑用于将第二访 客地址转换成所述存储器的第二部分中的第二主机地址;以及分区逻辑,所述分区逻辑用于将来自所述第一设备的第一请求转 发到所述第一地址转换逻辑,以及将来自所述第二设备的第二请求转 发到所述第二地址转换逻辑。
19. 如权利要求18所述的系统,其特征在于,所迷分区逻辑用于 响应使用第 一设备标识符找到数据结构中的项而转发所述第 一请求, 其中所述项指示所迷第 一设备^皮指定到所述第 一分区。
20. 如权利要求18所述的系统,其特征在于,所述存储器是动态 随机存取存储器。
全文摘要
公开用于设备访问分区系统中的存储器的访客地址至主机地址转换的设备、方法和系统的实施例。在一个实施例中,设备包括接口、分区逻辑、第一地址转换逻辑和第二地址转换逻辑。该接口用于从设备接收要访问分区系统中的存储器的请求。该分区逻辑用于确定该设备被指定到第一分区还是第二分区。第一地址转换逻辑用于将第一访客地址转换成所述第一分区中的第一主机地址。第二地址转换逻辑用于将第二访客地址转换成所述第二分区中的第二主机地址。
文档编号G06F12/10GK101236529SQ20071030739
公开日2008年8月6日 申请日期2007年12月27日 优先权日2006年12月27日
发明者K·S·潘萨, N·N·艾尔, S·苏古马 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1