CN101165676B - 隔离数据处理系统的多个输入/输出适配器单元的方法和系统 - Google Patents

隔离数据处理系统的多个输入/输出适配器单元的方法和系统 Download PDF

Info

Publication number
CN101165676B
CN101165676B CN2007101411824A CN200710141182A CN101165676B CN 101165676 B CN101165676 B CN 101165676B CN 2007101411824 A CN2007101411824 A CN 2007101411824A CN 200710141182 A CN200710141182 A CN 200710141182A CN 101165676 B CN101165676 B CN 101165676B
Authority
CN
China
Prior art keywords
bridge
pci master
input
unit
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2007101411824A
Other languages
English (en)
Other versions
CN101165676A (zh
Inventor
托马斯·A.·格里格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101165676A publication Critical patent/CN101165676A/zh
Application granted granted Critical
Publication of CN101165676B publication Critical patent/CN101165676B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

一种数据处理系统以及一种隔离该系统的多个输入/输出适配器单元的方法。除了输入/输出适配器单元之外,数据处理系统包括一组处理器、主桥以及连接该组处理器和主桥的系统总线。输入/输出适配器单元的每个具有各自的标识符;并且该组处理器发送命令到主桥,所述命令包括输入/输出适配器单元的一个或多个标识符。在优选实施方案中,这些标识符是超传输定义的单元ID,并且由该组处理器发出的命令包括单元ID字段,其包括输入/输出适配器的一个或多个单元ID。

Description

隔离数据处理系统的多个输入/输出适配器单元的方法和系统
技术领域
[0001]本发明一般地涉及数据处理,尤其涉及隔离数据处理系统中的输入/输出适配器寻址范围。更特别地,本发明涉及隔离在超传输环境中操作的逻辑划分的数据处理系统中的输入/输出适配器寻址范围。
背景技术
[0002]在LPAR数据处理系统中,多个操作系统或者单个操作系统的多个拷贝运行在单个数据处理系统平台上。在数据处理系统内执行的每个操作系统或操作系统拷贝指定到不同的逻辑分区,并且每个分区分配有平台资源的不重叠子集。因此,每个操作系统或操作系统拷贝直接控制平台内不同的一组可分配资源。
[0003]在平台中,可以分配到LPAR数据处理系统中的不同分区的资源包括处理器或处理器的时间片、系统内存的区域以及IOA或IOA的部分。因此,系统内存的不同区域以及不同的IOA或IOA的部分可以分配到系统的不同分区。在这种环境中,平台提供使得IOA或IOA的部分能够获得对它们需要正当服务的它们已经被分配到的一个或多个分区的所有物理内存的访问;同时防止IOA或IOA的部分获得对没有分配到它们的相关分区的物理内存的访问的机制是重要的。
[0004]在LPAR数据处理系统中,可以使用各种通信技术将系统的电子设备经由物理介质和无线地连接在一起。一些通信技术连接一对设备,另外的通信技术连接小组设备,以及再另外的通信技术连接大组设备。
[0005]用于连接相对小的多组设备的一种相对新的通信技术是超传输(HT)技术。HT标准陈述一种高速、低等待时间协议的定义,它可以与现今的总线例如AGP,PCI,SPI,1394,USB2.0和1Gbit以太网以及下一代总线包括AGP8x,Infiniband,PCI-X,PCI3.0,PCIe和10Gbit以太网连接。HT互连提供连接设备之间的高速数据链路。大多数带有HT功能的设备包括至少一对HT端口,使得带有HT功能的设备可以形成菊花链。在HT链或结构中,每个连接设备可以使用适当的寻址和控制与每个其他连接设备通信。可以形成HT链的设备实例尤其包括分组数据路由器、服务器计算机、数据存储设备和其他计算机外围设备。
[0006]HT因此提供许多重要的优点。但是,在逻辑划分的数据处理系统中使用超传输连接的I/O桥需要隔离I/O适配器DMA并中断到拥有LPAR的请求的方法。
[0007]重要地,一个LPAR可以通过IOA影响另一个LPAR。使用LPAR,OS不保证成功的通信。例如,一个OS可能发送命令和地址到IOA,并且IOA将使用这些地址进行DMA。不存在检查由OS提供到IOA的地址的机制。代替地,当BAR/限制由IOA呈现给主机时,它(随后,TVT结构)验证地址。
发明内容
[0008]本发明的一个目的在于提供一种I/O适配器LPAR隔离的方法和系统。
[0009]本发明的另一个目的在于提供在超传输环境中的I/O适配器LPAR隔离。
[0010]本发明的再一个目的在于将单元ID(超传输定义的)指定到各个I/O适配器,并且使用指定的单元ID隔离I/O适配器到拥有的LPAR。
[0011]这些和其他目的使用一种数据处理系统以及一种隔离该系统的多个输入/输出适配器单元的方法实现。除了多个输入/输出适配器单元之外,数据处理系统包括一组处理器、主桥以及连接该组处理器和主桥的系统总线。输入/输出适配器单元的每个连接到主桥并且具有各自的标识符。该组处理器包括发送命令到主桥的功能性,所述命令包括一个或多个标识符以识别一组输入/输出适配器单元。
[0012]在优选实施方案中,这些标识符是超传输定义的单元ID。而且,优选地,由该组处理器发出的命令包括单元ID字段,其包括用于识别所述一组输入/输出适配器的一个或多个单元ID。通过将单元ID(超传输定义的)指定到各个输入/输出适配器,可以验证DMA和中断请求。在处理器处,包括总线、设备和功能值的单元ID,而不是PCI定义的请求者ID在处理器中验证。
[0013]本发明的更多好处和优点将从下面参考附随附图给出的详细描述的考虑中变得明白,其中附随附图详述并显示本发明的优选实施方案。
附图说明
[0014]图1是本发明可以在其中实现的数据处理系统的框图。
[0015]图2是本发明可以在其中实现的实例逻辑划分平台的框图。
[0016]图3是对于I/O的LPAR的逻辑视图。
[0017]图4说明当前的插槽标识方案。
[0018]图5显示隔离功能朝向处理器移动的方案。
[0019]图6显示超传输环境中的DMA/MSI访问控制。
具体实施方式
[0021]现在参考附图,图1描绘本发明可以在其中实现的数据处理系统的框图。数据处理系统100可以是包括连接到系统总线106的多个处理器101,102,103和104的对称多处理器(SMP)系统。例如,数据处理系统100可以是实现为网络中的服务器的IBMeServer,Armonk,New York的国际商业机器公司的产品。作为选择,可以使用单处理器系统。同样连接到系统总线106的是存储控制器/高速缓存108,其提供到多个局部存储器160-163的接口。I/O总线桥110连接到系统总线106并且提供到I/O总线112的接口。存储控制器/高速缓存108和I/O总线桥110可以如描绘地集成。
[0022]数据处理系统100是逻辑划分(LPAR)的数据处理系统,但是,应当理解,本发明并不局限于LPAR系统而也可以在其他数据处理系统中实现。LPAR数据处理系统100具有同时运行的多个不同操作系统(或者单个操作系统的多个拷贝)。这些多个操作系统的每个可以具有在其中执行的任意数目的软件程序。数据处理系统100被逻辑划分使得不同的PCI输入/输出适配器(IOA)120,121,122,123和124,图形适配器148和硬盘适配器149或其部分可以分配到不同的逻辑分区。在该情况下,图形适配器148提供显示设备(没有显示)的连接,而硬盘适配器149提供控制硬盘150的连接。
[0023]多个分区可以在相同的物理处理器中运行。因此,例如,假设数据处理系统100划分成三个逻辑分区P1,P2和P3。PCIIOA120-124的每个,图形适配器148,硬盘适配器149,主处理器101-104的每个,以及来自局部存储器160-163的内存分配到三个分区的每个。在该实例中,存储器160-163可以采取双列直插式存储模块(DIMM)的形式。DIMM通常不是基于每个DIMM分配到分区。代替地,分区将获得由平台看到的全部内存的一部分。例如,处理器101,来自局部存储器160-163的内存的某个部分,以及PCIIOA121,123和124可以分配到逻辑分区P1;处理器102-103,来自局部存储器160-163的内存的某个部分,以及PCI IOA120和122可以分配到分区P2;以及处理器104,来自局部存储器160-163的内存的某个部分,图形适配器148和硬盘适配器149可以分配到逻辑分区P3。
[0024]在逻辑划分的数据处理系统100内执行的每个操作系统指定到不同的逻辑分区。因此,在数据处理系统100内执行的每个操作系统仅可以访问在它的逻辑分区内的那些IOA。例如,高级交互执行体(AIX)操作系统的一个实例可以在分区P1内执行,AIX操作系统的第二个实例(拷贝)可以在分区P2内执行,以及Linux或OS/400操作系统可以在逻辑分区P3内运行。
[0025]外围组件互连(PCI)主桥(PHB)130,131,132和133连接到I/O总线112并且提供分别到PCI局部总线140,141,142和143的接口。PCI IOA120-121通过包括开关和桥的I/O结构180连接到PCI局部总线140。以类似的方式,PCI IOA122通过I/O结构181连接到PCI局部总线141,PCI IOA123和124通过I/O结构182连接到PCI局部总线142,以及图形适配器148和硬盘适配器149通过I/O结构183连接到PCI局部总线143。I/O结构180-183提供到PCI总线140-143的接口。典型的PCI主桥将支持四个至八个IOA(例如,插入式连接器的扩展插槽)。每个PCI IOA120-124提供数据处理系统100与输入/输出设备,例如作为到数据处理系统100的客户端的其他网络计算机之间的接口。
[0026]PCI主桥130提供PCI总线140连接到I/O总线112的接口。该PCI总线也将PCI主桥130连接到服务处理器邮箱接口和ISA总线访问通过逻辑194以及I/O结构180。服务处理器邮箱接口和ISA总线访问通过逻辑194转发去往PCI/ISA桥193的PCI访问。NVRAM存储器192连接到ISA总线196。服务处理器135通过它的局部PCI总线195连接到服务处理器邮箱接口和ISA总线访问通过逻辑194。服务处理器135也经由多个JTAG/I2C总线134连接到处理器101-104。JTAG/I2C总线134是JTAG/扫描总线(参看IEEE1149.1)和Phillips I2C总线的结合。但是,作为选择,JTAG/I2C总线134可以由仅Phillips I2C总线或仅JTAG/扫描总线代替。主处理器101,102,103和104的所有SP-ATTN信号一起连接到服务处理器的中断输入信号。服务处理器135具有它自己的局部存储器191,并且具有对硬件OP板190的访问。
[0027]当数据处理系统100初始通电时,服务处理器135使用JTAG/I2C总线134询问系统(主)处理器101-104,存储控制器/高速缓存108和I/O桥110。该步骤完成时,服务处理器135具有数据处理系统100的详细清单和拓朴理解。服务处理器135也在通过询问主处理器101-104,存储控制器/高速缓存108和I/O桥110而找到的所有元件上执行内建自测试(BIST)、基本保证测试(BAT)和内存测试。在BIST、BAT和内存测试期间检测到的故障的任何错误信息由服务处理器135收集并报告。
[0028]如果在扣除BIST、BAT和内存测试期间发现有故障的元件之后系统资源的有意义/有效配置仍然可能,那么允许数据处理系统100继续将可执行代码装载到局部(主)存储器160-163中。服务处理器135然后释放主处理器101-104以执行装载到局部存储器160-163中的代码。当主处理器101-104执行来自数据处理系统100内的各个操作系统的代码时,服务处理器135进入监控和报告错误的模式。由服务处理器135监控的项目类型包括例如冷却风扇速度和操作,热传感器,电源调节器以及由处理器101-104、局部存储器160-163和I/O桥110报告的可恢复和不可恢复错误。
[0029]服务处理器135负责保存并报告与数据处理系统100中的所有被监控项目相关的错误信息。服务处理器135也基于错误的类型和定义的阈值执行动作。例如,服务处理器135可能注意到处理器的高速缓存上过多的可恢复错误并且判定这预示着硬件故障。基于该确定,服务处理器135可以标记该资源在当前的运行会话和未来的初始程序装载(IPL)期间退出配置。IPL有时也称作“启动”或“引导程序”。
[0030]数据处理系统100可以使用各种市场上可买到的计算机系统实现。例如,数据处理系统100可以使用可从国际商业机器公司获得的IBM eServer iSeries Model840系统实现。这种系统可以支持使用同样可从国际商业机器公司获得的OS/400操作系统的逻辑划分。
[0031]本领域技术人员将理解图1中描绘的硬件可以改变。例如,除了描绘的硬件之外或代替描绘的硬件,其他外围设备例如光盘驱动器等也可以使用。描绘的实例并不打算暗示关于本发明的体系结构限制。
[0032]现在参考图2,描绘本发明可以在其中实现的实例逻辑划分平台的框图。逻辑划分平台200中的硬件可以实现为例如图1中的数据处理系统100。逻辑划分平台200包括划分的硬件230,操作系统202,204,206,208以及分区管理固件210。操作系统202,204,206和208可以是同时在逻辑划分平台200上运行的单个操作系统的多个拷贝或者多个不同的操作系统。这些操作系统可以使用OS/400实现,其设计以与分区管理固件,例如管理程序接口。OS/400仅用作这些说明性实施方案中的实例。其他类型的操作系统例如AIX和Linux也可以依赖于特定的实现而使用。操作系统202,204,206和208位于分区203,205,207和209中。管理程序软件是可以用来实现分区管理固件210并且可以从国际商业机器公司获得的软件的实例。固件是存储在不使用电力保存内容的存储器芯片例如只读存储器(ROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)以及非易失性随机存取存储器(非易失性RAM)中的“软件”。
[0033]另外,这些分区也包括分区固件211,213,215和217。分区固件211,213,215和217可以使用初始引导程序代码,IEEE-1275标准开放固件和运行时抽象软件(RTAS)实现,其可以从国际商业机器公司获得。当例示分区203,205,207和209时,引导程序代码的拷贝由平台固件210装载到分区203,205,207和209上。此后,控制转移到引导程序代码,引导程序代码然后装载开放固件和RTAS。关联或分配到分区的处理器然后调度到分区的内存以执行分区固件。
[0034]划分的硬件230包括多个处理器232-238,多个系统存储单元240-246,多个IOA248-262以及存储器单元270。处理器232-238,存储单元240-246,NVRAM存储器298和IOA248-262的每个,或其部分,可以分配到逻辑划分平台200内的多个分区的一个,其每个对应于操作系统202,204,206和208的一个。
[0035]分区管理固件210执行创建分区203,205,207和209并且实施逻辑划分平台200的划分的许多功能和服务。分区管理固件210是与底层硬件相同的固件实现的虚拟机。因此,分区管理固件210通过虚拟化逻辑划分平台200的硬件资源而允许独立OS映像202,204,206和208的同时执行。
[0036]服务处理器290可以用来提供各种服务,例如分区中平台错误的处理。这些服务也可以用作服务代理以将错误报告返回给设备供应商,例如国际商业机器公司。不同分区的操作可以通过硬件管理控制台,例如硬件管理控制台280控制。硬件管理控制台280是一个独立的数据处理系统,系统管理员可以从其中执行各种功能,包括重新分配资源到不同的分区。
[0037]在LPAR环境中,不允许一个分区中的资源或程序影响另一个分区中的操作。此外,有用地,资源的分配需要细粒度的。例如,将特定PHB下的所有IOA分配到相同的分区经常是不可接受的,因为这将限制系统的可配置性,包括在分区之间动态移动资源的能力。
[0038]因此,一些功能性在将IOA连接到I/O总线的桥中是需要的,以便能够将资源例如各个IOA或IOA的部分分配到不同的分区;同时,防止分配的资源例如通过获得到其他分区的资源的访问而影响其他分区。
[0039]许多这种功能性在本领域中是已知的,例如,隔离输入/输出寻址的几种程序在美国专利申请公开2006/0010276号中描述。但是,这种功能性在此之前不可用于利用超传输技术的数据处理系统,其如上所述是一种连接相对小的多组设备的通信技术。
[0040]图3显示对于I/O的LPAR的逻辑视图。特别地,在图3的逻辑视图中,处理器和内存在302处显示,并且I/O子系统在304处显示。如上所述,逻辑划分将处理器和内存资源分配到多个独立的系统映像(LPAR),每个能够运行独立的操作系统。每个LPAR与所有其他LPAR逻辑地隔离,并且一个LPAR不允许直接访问另一个LPAR的内存。由IOA产生的所有内存地址必须被验证和/或转换以保证它们仅访问允许的内存地址。
[0041]一个LPAR不允许直接访问另一个LPAR的IOA,并且MMIO空间访问经由4K页面边界的TLB机制控制。而且,一个LPAR不能使得IOA发送中断到另一个LPAR,并且由一个LPAR拥有的IOA引起的错误不能允许影响另一个LPAR。LPAR之间的通信使用普通的IPC方法或者使用管理程序,并且不允许IOA之间的通信(peer-to-peer,对等式)。
[0042]管理程序是特别可信的映像并且执行许多重要的功能。管理程序控制所有资源(处理器、内存和IOA)到LPAR的访问;并且管理程序控制所有全局逻辑、多路复用器、扇出、开关、实时内存地址寄存器、内存地址转换表等。
[0043]I/O操作可以由管理程序代表LPAR执行。这需要管理程序开销(hCall、数据拷贝、中断路由)。例如,如图3中所示,管理程序映像拥有IOA g。高性能I/O将IOA分配到LPAR;并且例如如图3中所示,LPAR0拥有IOA a和b,并且LPAR1拥有IOA c。
[0044]图4显示当前使用的插槽标识方案。在图4的视图中,处理器和内存在402处显示,I/O集线器在404处显示,一系列开关在406处显示,以及一组IOA在408处显示。使用该方案,每个PCI插槽和附加的IOA由单个LPAR拥有。开关包括基于地址范围(BAR/限制)的隔离逻辑。使用图4中显示的方案,I/O集线器和处理器不隔离IO适配器。
[0045]图4显示物理插槽。相反地,本发明使用“插槽ID”。图5说明与图4相比较隔离功能朝向处理器移动的方案。特别地,在图5的视图中,处理器和内存在502处显示,I/O集线器在504处显示,以及一组ICA在506处显示。如图5中所示,DMA地址转换和保护512、中断控制514、DMA地址转换高速缓存516以及错误状态控制520由处理器,而不是I/O集线器执行。这里同样,仍然,每个PCI插槽和附加的IOA由单个LPAR拥有。图5的方案需要北桥/南桥中的最小隔离逻辑。
[0046]使用当前的TVE(TCE验证表)设计(DMA和中断),PCI地址范围仍然用作主要的隔离方法。PCI地址的一些高位比特用作到TVE中的索引。TVE条目包括“总线/设备/功能”字段,其可以与请求IOA“总线/设备/功能”值相比较。如果总线/设备/功能比较是有效的,TVT中的TCE基址寄存器(TAR)用来在系统内存中(或在TCE高速缓存中)寻找TCE。
[0047]根据本发明的优选实施方案,IOA由五位的超传输单元ID字段标识。图6说明HT环境中的该访问控制。在图6的视图中,处理器和内存在602处显示,I/O桥在604处显示,以及一组IOA在606处显示。I/O桥604中的每个PCI桥610具有一个单元ID612,并且PCI桥下的所有IOA由单个LPAR‘拥有’。单元ID插入到HT请求614中,并且PCIe数据包中的REQ ID是16位:总线(8),设备(5),功能(3),总线/设备/功能。而且,来自PCIe请求622的REQ ID620存储在PCI桥中并且返回到PCIe完成中的IOA。
[0048]操作中,IOA产生PCIe请求622(DMA读取或写入),并且PCI桥存储REQ ID并且产生HT命令以满足PCIe请求。然后,PCI桥在它产生的HT请求中使用它的单元ID,并且处理器接收HT请求并且使用地址624中的一些高位比特索引到TVT(转换验证表)626中。每个TVE(转换验证条目)包括单元ID,并且来自TVE和HT请求614的单元ID在630处比较。如果这些单元ID相等,则测试通过。HT响应然后从处理器送回到PCI桥。单元ID将响应路由到适当的PCI桥,并且PCI桥插入REQ ID到PCIe响应数据包中。
[0049]应当注意,本发明或者本发明的方面可以在计算机程序产品中实施,其包括能够实现这里描述的方法的特征,并且当装载到计算机系统中时其能够执行这些方法。计算机程序、软件程序、程序或软件在当前上下文中意味着一组指令的任意表示,以任意语言、代码或符号,其目的在于使得具有信息处理能力的系统直接地或者在下面任意一个或二者之后执行特定的功能:(a)转换到另一种语言、代码或符号;和/或(b)以不同的材料形式再现。
[0050]虽然充分考虑这里公开的本发明以实现上述目的是显然的,但是应当理解,可以由本领域技术人员设计许多修改和实施方案,并且附加权利要求书打算覆盖落在本发明真实本质和范围内的所有这种修改和实施方案。

Claims (3)

1.一种数据处理系统,包括:
一组处理器;
多个PCI主桥;
连接该组处理器和PCI主桥的系统总线,其中该数据处理系统被逻辑划分为一组逻辑分区,并且PCI主桥下的所有输入/输出适配器由单个逻辑分区拥有,并且其中每一个PCI主桥被指定各自的单元ID;以及
连接到PCI主桥的多个输入/输出适配器,其中每个输入/输出适配器连接到PCI主桥中的一个,并且每一个PCI主桥连接到输入/输出适配器中的一个或多个;以及
具有一系列条目的表,每一个条目包括识别PCI主桥中的一个的单元ID;
其中,一个输入/输出适配器产生具有请求ID和指定地址的请求,并且将所述请求发送到与所述一个输入/输出适配器连接的一个PCI主桥,并且与所述一个输入/输出适配器连接的所述一个PCI主桥产生请求数据包来满足该请求,将所述一个PCI主桥的单元ID和来自该请求的指定地址放入该请求数据包中,并且将该请求数据包发送到一个处理器;
所述一个处理器包括接收该请求数据包、使用来自该请求数据包的所述指定地址作为到所述表中的索引以从所述表中获得一个单元ID、以及将从该表中获得的单元ID与所述一个PCI主桥的单元ID进行比较以确定是否将响应数据包路由回到所述一个PCI主桥的功能性。
2.一种隔离数据处理系统的多个输入/输出适配器的方法,所述数据处理系统包括一组处理器、多个PCI主桥和多个输入/输出适配器,其中每一个输入/输出适配器连接到一个PCI主桥,并且每一个PCI主桥连接到输入/输出适配器中的一个或多个,所述方法包括步骤:
将该数据处理系统划分为一组逻辑分区;
PCI主桥下的所有输入/输出适配器由单个逻辑分区拥有;
为PCI主桥中的每个指定各自的单元ID;
提供具有一系列条目的表,每一个条目包括识别PCI主桥中的一个的单元ID;
一个输入/输出适配器产生具有请求ID和指定地址的请求,并且将所述请求发送到与所述一个输入/输出适配器连接的一个PCI主桥;
与所述一个输入/输出适配器连接的所述一个PCI主桥产生请求数据包来满足该请求,将所述一个PCI主桥的单元ID和来自该请求的指定地址放入该请求数据包中,并且将该请求数据包发送到一个处理器;以及
所述一个处理器接收该请求数据包,使用来自该请求数据包的所述指定地址作为到所述表中的索引以从所述表中获得一个单元ID,并且将从该表中获得的单元ID与所述一个PCI主桥的单元ID进行比较以确定是否将响应数据包路由回到所述一个PCI主桥。
3.根据权利要求2的方法,其中所述指定地址即是指定的内存地址,对由输入/输出适配器产生的所有内存地址进行验证和/或转换以保证它们仅访问允许的内存地址。
CN2007101411824A 2006-10-18 2007-08-13 隔离数据处理系统的多个输入/输出适配器单元的方法和系统 Active CN101165676B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/550,618 2006-10-18
US11/550,618 US7660912B2 (en) 2006-10-18 2006-10-18 I/O adapter LPAR isolation in a hypertransport environment

Publications (2)

Publication Number Publication Date
CN101165676A CN101165676A (zh) 2008-04-23
CN101165676B true CN101165676B (zh) 2010-06-02

Family

ID=39334377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101411824A Active CN101165676B (zh) 2006-10-18 2007-08-13 隔离数据处理系统的多个输入/输出适配器单元的方法和系统

Country Status (4)

Country Link
US (1) US7660912B2 (zh)
JP (1) JP5128222B2 (zh)
KR (1) KR100998298B1 (zh)
CN (1) CN101165676B (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613898B2 (en) * 2006-01-17 2009-11-03 Globalfoundries Inc. Virtualizing an IOMMU
US7660912B2 (en) 2006-10-18 2010-02-09 International Business Machines Corporation I/O adapter LPAR isolation in a hypertransport environment
US20080168208A1 (en) * 2007-01-09 2008-07-10 International Business Machines Corporation I/O Adapter LPAR Isolation In A Hypertransport Environment With Assigned Memory Space Indexing a TVT Via Unit IDs
US7617340B2 (en) 2007-01-09 2009-11-10 International Business Machines Corporation I/O adapter LPAR isolation with assigned memory space
US20080168207A1 (en) * 2007-01-09 2008-07-10 International Business Machines Corporation I/O Adapter LPAR Isolation In A Hypertransport Envikronment Employing A Content Addressable Memory
US8244793B2 (en) 2007-05-14 2012-08-14 International Business Machines Corporation Resetting a HyperTransport link in a blade server
US20080288626A1 (en) * 2007-05-14 2008-11-20 Bandholz Justin P structure for resetting a hypertransport link in a blade server
FR2924839B1 (fr) * 2007-12-06 2010-03-19 Agematis Procede de sauvegarde automatique de donnees numeriques conservees en memoire dans une installation informatique, support de donnees lisible par un ordinateur, installation informatique et systeme pour la mise en oeuvre de ce procede
US7861027B2 (en) * 2008-05-30 2010-12-28 Intel Corporation Providing a peripheral component interconnect (PCI)-compatible transaction level protocol for a system on a chip (SoC)
US8028147B2 (en) * 2008-06-09 2011-09-27 International Business Machines Corporation Arrangements for storing and retrieving blocks of data having different dimensions
US7934026B2 (en) * 2008-09-17 2011-04-26 International Business Machines Corporation Apparatus and method to preserve one or more logical communication paths in a data processing system
US8560782B2 (en) * 2009-09-21 2013-10-15 Freescale Semiconductor, Inc. Method and apparatus for determining access permissions in a partitioned data processing system
KR101183975B1 (ko) * 2010-03-26 2012-09-19 한국전자통신연구원 단자 식별 장치 및 그를 이용한 단자 식별 방법
US8327055B2 (en) * 2010-04-12 2012-12-04 International Business Machines Corporation Translating a requester identifier to a chip identifier
US8677180B2 (en) 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
US8745292B2 (en) 2010-06-23 2014-06-03 International Business Machines Corporation System and method for routing I/O expansion requests and responses in a PCIE architecture
US8645606B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Upbound input/output expansion request and response processing in a PCIe architecture
US8416834B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Spread spectrum wireless communication code for data center environments
US8656228B2 (en) 2010-06-23 2014-02-18 International Business Machines Corporation Memory error isolation and recovery in a multiprocessor computer system
US8918573B2 (en) 2010-06-23 2014-12-23 International Business Machines Corporation Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment
US8417911B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Associating input/output device requests with memory associated with a logical partition
US8683108B2 (en) 2010-06-23 2014-03-25 International Business Machines Corporation Connected input/output hub management
US8645767B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Scalable I/O adapter function level error detection, isolation, and reporting
US8671287B2 (en) 2010-06-23 2014-03-11 International Business Machines Corporation Redundant power supply configuration for a data center
CN102279713B (zh) * 2011-08-24 2014-05-14 浪潮电子信息产业股份有限公司 一种物理多分区计算机体系结构的分区逻辑控制方法
CN103379095A (zh) * 2012-04-18 2013-10-30 华为技术有限公司 一种垃圾消息举报信息共享方法、系统和业务服务器
US9229884B2 (en) * 2012-04-30 2016-01-05 Freescale Semiconductor, Inc. Virtualized instruction extensions for system partitioning
US9152587B2 (en) 2012-05-31 2015-10-06 Freescale Semiconductor, Inc. Virtualized interrupt delay mechanism
US9442870B2 (en) 2012-08-09 2016-09-13 Freescale Semiconductor, Inc. Interrupt priority management using partition-based priority blocking processor registers
US9436626B2 (en) 2012-08-09 2016-09-06 Freescale Semiconductor, Inc. Processor interrupt interface with interrupt partitioning and virtualization enhancements
US9678892B2 (en) 2015-09-01 2017-06-13 International Business Machines Corporation Flexible I/O DMA address allocation in virtualized systems
JP6767269B2 (ja) * 2017-01-24 2020-10-14 Necプラットフォームズ株式会社 情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1330319A (zh) * 2000-06-22 2002-01-09 国际商业机器公司 在运行期间从机器校验中断中恢复的方法
US6523140B1 (en) * 1999-10-07 2003-02-18 International Business Machines Corporation Computer system error recovery and fault isolation
US6721816B1 (en) * 2002-02-27 2004-04-13 Advanced Micro Devices, Inc. Selecting independently of tag values a given command belonging to a second virtual channel and having a flag set among commands belonging to a posted virtual and the second virtual channels

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62115554A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd マルチプロセツサシステムにおける記憶保護方式
JPH04130553A (ja) * 1990-09-20 1992-05-01 Matsushita Electric Ind Co Ltd 電子計算機
JP3124778B2 (ja) * 1991-02-05 2001-01-15 株式会社日立製作所 アドレス変換装置
JPH0736175B2 (ja) * 1991-10-11 1995-04-19 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システムのシステム構成設定方法、データ処理システム、及びデータ処理システム用拡張ユニット
US6002883A (en) * 1996-07-18 1999-12-14 International Business Machines Corporation System with intersystem information links for intersystem traffic having I/O traffic being transmitted to and from processor bus via processor means
US6311255B1 (en) * 1999-04-29 2001-10-30 International Business Machines Corporation System and method for selectively restricting access to memory for bus attached unit IDs
JP4346850B2 (ja) * 2001-01-23 2009-10-21 インターナショナル・ビジネス・マシーンズ・コーポレーション Osイメージごとに論理分割された論理分割データ処理システム
US6665759B2 (en) * 2001-03-01 2003-12-16 International Business Machines Corporation Method and apparatus to implement logical partitioning of PCI I/O slots
US6662242B2 (en) * 2001-04-17 2003-12-09 International Business Machines Corporation Method for PCI IO using PCI device memory mapping in a logically partitioned system
US6792514B2 (en) * 2001-06-14 2004-09-14 International Business Machines Corporation Method, system and computer program product to stress and test logical partition isolation features
US20030145136A1 (en) * 2002-01-31 2003-07-31 Tierney Gregory E. Method and apparatus for implementing a relaxed ordering model in a computer system
US6976191B2 (en) * 2002-03-07 2005-12-13 International Business Machines Corporation Method and apparatus for analyzing hardware errors in a logical partitioned data processing system
US7403525B2 (en) * 2002-05-15 2008-07-22 Broadcom Corporation Efficient routing of packet data in a scalable processing resource
US20030236852A1 (en) * 2002-06-20 2003-12-25 International Business Machines Corporation Sharing network adapter among multiple logical partitions in a data processing system
JP4123942B2 (ja) * 2003-01-14 2008-07-23 株式会社日立製作所 情報処理装置
US7249308B2 (en) * 2003-04-21 2007-07-24 International Business Machines Corporation Algorithm to test LPAR I/O subsystem's adherence to LPAR I/O firewalls
US7007125B2 (en) * 2003-06-24 2006-02-28 International Business Machines Corporation Pass through circuit for reduced memory latency in a multiprocessor system
US7398427B2 (en) * 2004-07-08 2008-07-08 International Business Machines Corporation Isolation of input/output adapter error domains
US20060010276A1 (en) * 2004-07-08 2006-01-12 International Business Machines Corporation Isolation of input/output adapter direct memory access addressing domains
JP4295184B2 (ja) * 2004-09-17 2009-07-15 株式会社日立製作所 仮想計算機システム
US7886086B2 (en) * 2005-02-03 2011-02-08 International Business Machines Corporation Method and apparatus for restricting input/output device peer-to-peer operations in a data processing system to improve reliability, availability, and serviceability
US7398337B2 (en) * 2005-02-25 2008-07-08 International Business Machines Corporation Association of host translations that are associated to an access control level on a PCI bridge that supports virtualization
US7225287B2 (en) * 2005-06-01 2007-05-29 Microsoft Corporation Scalable DMA remapping on a computer bus
US7363404B2 (en) * 2005-10-27 2008-04-22 International Business Machines Corporation Creation and management of destination ID routing structures in multi-host PCI topologies
US20070136554A1 (en) * 2005-12-12 2007-06-14 Giora Biran Memory operations in a virtualized system
US7673116B2 (en) * 2006-01-17 2010-03-02 Advanced Micro Devices, Inc. Input/output memory management unit that implements memory attributes based on translation data
US7613898B2 (en) * 2006-01-17 2009-11-03 Globalfoundries Inc. Virtualizing an IOMMU
US7548999B2 (en) * 2006-01-17 2009-06-16 Advanced Micro Devices, Inc. Chained hybrid input/output memory management unit
JP4219964B2 (ja) * 2006-04-06 2009-02-04 ソニー株式会社 ブリッジ、プロセッサユニット、情報処理装置およびアクセス制御方法
US7660912B2 (en) 2006-10-18 2010-02-09 International Business Machines Corporation I/O adapter LPAR isolation in a hypertransport environment
US20080168208A1 (en) * 2007-01-09 2008-07-10 International Business Machines Corporation I/O Adapter LPAR Isolation In A Hypertransport Environment With Assigned Memory Space Indexing a TVT Via Unit IDs
US20080168207A1 (en) * 2007-01-09 2008-07-10 International Business Machines Corporation I/O Adapter LPAR Isolation In A Hypertransport Envikronment Employing A Content Addressable Memory
US7617340B2 (en) * 2007-01-09 2009-11-10 International Business Machines Corporation I/O adapter LPAR isolation with assigned memory space

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523140B1 (en) * 1999-10-07 2003-02-18 International Business Machines Corporation Computer system error recovery and fault isolation
CN1330319A (zh) * 2000-06-22 2002-01-09 国际商业机器公司 在运行期间从机器校验中断中恢复的方法
US6721816B1 (en) * 2002-02-27 2004-04-13 Advanced Micro Devices, Inc. Selecting independently of tag values a given command belonging to a second virtual channel and having a flag set among commands belonging to a posted virtual and the second virtual channels

Also Published As

Publication number Publication date
JP2008102921A (ja) 2008-05-01
US7660912B2 (en) 2010-02-09
US20080147891A1 (en) 2008-06-19
KR20080035456A (ko) 2008-04-23
CN101165676A (zh) 2008-04-23
JP5128222B2 (ja) 2013-01-23
KR100998298B1 (ko) 2010-12-06

Similar Documents

Publication Publication Date Title
CN101165676B (zh) 隔离数据处理系统的多个输入/输出适配器单元的方法和系统
US7617340B2 (en) I/O adapter LPAR isolation with assigned memory space
US20080168208A1 (en) I/O Adapter LPAR Isolation In A Hypertransport Environment With Assigned Memory Space Indexing a TVT Via Unit IDs
JP4157710B2 (ja) Pci入出力スロットの論理分割を実施する方法および装置
JP4898525B2 (ja) Dmaオペレーションを選択的に停止させるための方法、装置およびデータ処理システム
US7707465B2 (en) Routing of shared I/O fabric error messages in a multi-host environment to a master control root node
US7398427B2 (en) Isolation of input/output adapter error domains
CN102023932B (zh) 为本地与远程物理存储器之间的共享虚拟存储器提供硬件支持
US7139940B2 (en) Method and apparatus for reporting global errors on heterogeneous partitioned systems
US20070260910A1 (en) Method and apparatus for propagating physical device link status to virtual devices
US7908457B2 (en) Retaining an association between a virtual address based buffer and a user space application that owns the buffer
US20080137677A1 (en) Bus/device/function translation within and routing of communications packets in a pci switched-fabric in a multi-host environment utilizing multiple root switches
US20070019637A1 (en) Mechanism to virtualize all address spaces in shared I/O fabrics
JP4405435B2 (ja) 動的なホスト区画ページ割り当てのための方法および装置
JP4270394B2 (ja) 論理パーティション・データ処理システムにおける不正なオペレーティング・システムのローディング及び実行を防ぐための方法及びシステム
JP4366336B2 (ja) 論理パーティション・データ処理システムにおいてトレース・データを管理するための方法、トレース・データを管理するための論理パーティション・データ処理システム、コンピュータにトレース・データを管理させるためのコンピュータ・プログラム、論理パーティション・データ処理システム
JP3815569B2 (ja) ロジカル・パーティション・データ処理システムにおいてパーティション・ファームウェアを同時更新及び活動化するための方法及び装置
CN103038756B (zh) 确定受i/o消息影响的一个或者多个可分区端点
US20060010276A1 (en) Isolation of input/output adapter direct memory access addressing domains
US20080168207A1 (en) I/O Adapter LPAR Isolation In A Hypertransport Envikronment Employing A Content Addressable Memory
US7941568B2 (en) Mapping a virtual address to PCI bus address
US7266631B2 (en) Isolation of input/output adapter traffic class/virtual channel and input/output ordering domains
US8139595B2 (en) Packet transfer in a virtual partitioned environment
US7234085B2 (en) Method, system, and product for hierarchical encoding of field replaceable unit service indicators

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant