CN1274123A - 分区系统的带有动态配置的外围元件互联槽控制装置 - Google Patents
分区系统的带有动态配置的外围元件互联槽控制装置 Download PDFInfo
- Publication number
- CN1274123A CN1274123A CN00104746A CN00104746A CN1274123A CN 1274123 A CN1274123 A CN 1274123A CN 00104746 A CN00104746 A CN 00104746A CN 00104746 A CN00104746 A CN 00104746A CN 1274123 A CN1274123 A CN 1274123A
- Authority
- CN
- China
- Prior art keywords
- subregion
- equipment
- pci
- connector
- processor
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
- Storage Device Security (AREA)
- Slot Machines And Peripheral Devices (AREA)
- Time-Division Multiplex Systems (AREA)
Abstract
提供了一种在分区计算机系统中在基本主机桥(PHB)内分区和分配各个外围元件互联槽的系统。包括了一个革新的PHB系统,它允许PCI槽在给定时间被动态地分配给一个或多个分区,允许更高效地分配系统资源。
Description
本发明一般涉及多处理器计算机系统,更具体地涉及在分区多处理器系统的处理器中资源分配。更进一步,最佳实施例涉及分区和分配多处理器计算机系统中的各个PCI槽的系统。
多处理器计算机系统在现有技术中是众所周知的,并用于通过允许将处理任务在几个不同系统处理器中分割而提高处理能力。在传统系统中,每个处理器能够访问所有系统资源;即,例如存储器和I/O设备的所有系统资源在所有系统处理器中共享。典型的,系统资源的一些部分在处理器中被分区,例如,每个处理器将可以访问一个共享存储器,该存储器被分割成使每个处理器有自己的工作区。
近来,对称多处理器(SMP)系统被分区成象多个独立计算机系统一样工作。例如,一个有八个处理器的系统可以配置成将八个处理器(或一个或多个处理器的多个组)的每一个看作一个为了处理目的独立的系统。这些“虚拟”系统的每一个将有自己的操作系统副本,并可以被独立分配任务,或作为一个处理簇一起运行,这提供了高速处理和更高的可靠性。典型的,在多处理器系统中,还有一个“服务”处理器,它管理整个系统的启动和运行,包括系统配置和在共享总线和设备上从和向特定处理器路由数据。
当一个多处理器系统中多个虚拟系统被配置成作为一个簇运行时,必须提供软件支持允许每个簇节点与多处理器中的每个其他节点通信以进行法定人数谈判(quorum negotiation)和确认,发送“心跳”(heartbeat),并使用任何簇通信技术进行其他法定人数功能。当它完成时,如果其中一个处理器失败,这将使那个处理器在这个簇中不可用,则使用标准簇技术将分配给那个节点的工作能够重分配给剩余的处理器(节点)。
典型的,当多处理器系统被分成多个虚拟系统时,每个虚拟系统有它自己的操作系统副本,并且每个虚拟系统使用相同的操作系统。由于每个处理器运行相同的操作系统,在处理器中提供资源分配将相对较容易。
但是,当前,市场有这样的需求,即有在多个虚拟系统中运行多于一个操作系统的能力。例如,用户可能希望在一个分区中运行UNIX型的操作系统,而在第二个分区中运行基于“视窗”的操作系统。这种需求带来与资源分配相关的特定问题;而在一个多处理器系统中在分区间分割存储器一般由硬件支持,例如外围元件互联(PCI)槽的其他资源分配由操作系统管理。由于多个分区可以每个运行一种不同的操作系统,这就需要一种不基于操作系统分配系统资源的方法。具体地,需要一种独立于操作系统的方案,它允许例如PCI槽的系统资源在多处理器计算机系统中的多个分区中分配。
本发明的一个目的是提供一种用于操作多处理器计算机系统的系统。
本发明的另一个目的是提供一种在多处理器计算机系统中改进的资源分配的系统。
本发明的另一个目的是提供一种在多处理器计算机系统中分区和分配各个PCI槽的系统。
现在说明上述目的的实现。提供了一种在分区计算机系统中在基本主机桥(PHB)内分区和分配各个PCI槽的系统。包含了一个革新的PHB系统,它允许一个PCI槽在给定时间被动态地分配给一个或多个分区,使得更高效地进行系统资源分配。
以下的详细描述使本发明的上述目的和其他目的、特征和优点更清楚。
在权利要求书中限定了本发明的新颖性特征。但是,参考以下对示意性实施例的详细描述并结合附图可以更好的理解本发明本身,最佳使用方式,进一步的目的和它的优点,其中:
图1是根据本发明的最佳实施例的示意性计算机系统的方框图;
图2描述根据本发明的最佳实施例的分区计算机系统的高层的方框图;
图3是根据本发明的最佳实施例的八个处理器计算机系统的更详细的方框图;
图4描述根据本发明的最佳实施例的改进的PCI主机桥;
图5是根据本发明的最佳实施例的分区描述符表;
图6是根据本发明的最佳实施例的系统配置过程的流程图;
图7A示出根据本发明的最佳实施例的处理器发起的PCI写入;
图7B示出根据本发明的最佳实施例的PCI设备发起的存储器写入;
图8A示出根据本发明的最佳实施例的独占所有槽移去操作;
图8B示出根据本发明的最佳实施例的独占所有槽添加操作;
图9示出根据本发明最佳实施例的多所有槽移去操作;
图10A和10B示出根据本发明最佳实施例的多所有槽添加操作;
以下参考附图,特别是参考图1,描述根据本发明最佳实施例的数据处理系统的方框图。数据处理系统100可以是,例如,一个台式个人计算机,它可以由纽约州Armonk的国际商业机器公司提供。数据处理系统100包括处理器101和102,在这个示意性实施例中,每个处理器分别连接至第二级(L2)高速缓存103和104,它们依次连接至系统总线106。
连接至系统总线106的还有系统存储器108和基本主机桥(PHB)122。PHB122将I/0总线连接至系统总线106,从一个总线向另一个转发和/或发送数据交易。在一个示意性实施例中,数据处理系统100包括图形适配器118,连接至I/O总线112,从显示器120接收用户接口信息。外围设备,如可以是硬盘驱动器的非易失型存储器114,和可以是传统鼠标,跟踪球,或其他的键盘/指示设备116,通过一个工业标准结构(ISA)桥连接至I/O总线112。PHB122还通过I/O总线112连接至PCI槽124。
图1示出的示意性实施例只是用于说明目的,本领域的技术人员可以理解在形式和功能上都可以有多种变化。例如,数据处理系统100可以还包括一个光盘只读存储器(CD-ROM)或数字视频盘(DVD)驱动器,声卡和音频扬声器,和多个其他可选部件。所有这些变化都被认为是在本发明的实质和范围内。以下的数据处理系统100和示意性分区计算机系统只是用于说明目的,并不用于限制本发明。
参考图2,示出了根据本发明最佳实施例的分区计算机系统的高层方框图。在该图中,示出了一个有三个微处理器(uP)204-206和五个PCI槽208-212的计算机系统200。PCI子系统207由五个PCI槽和PCI主机桥(PHB)201组成。在该图中,系统被分为两个分区;分区207包括微处理器204和205,PCI槽208和209,和PHB201。分区203包括微处理器206,PCI槽210-212,和PHB201。请注意,这两个分区共享相同的PHB,它控制PCI槽的分区。
现参考图3,描述根据本发明最佳实施例的八个处理器可分区计算机系统的更详细的方框图。在该方框图中,示出了八个处理器301-308,它们使用内核芯片集320以对称多处理器方式连接,内核芯片集320包括一个地址控制器321和数据控制器322,数据控制器322通过地址总线323,325和数据总线324,326的一个交叉(crossbar)连接至处理器301-308。在最佳实施例中,这些处理器是英特尔PentiumII类的处理器。
内核逻辑320为每个处理器的前端总线至存储器子系统330,331和至包括地址总线327和数据总线328的I/O总线350提供接口。内核逻辑还包括一个监听(snoop)滤波器329,它用于限制任何两个处理器总线间的监听交易的数量。示出的中央存储器子系统330,331有分开的两个部分,它们可以独立地且同时地被访问。
I/O总线350提供附加很多数量的PCI槽314-317的能力,以支持可升级高性能系统。可支持最多4个PCI主机桥310-313,都连接至对等总线段。
在最佳实施例中,所有PCI槽有热插拔能力。通过在PHS310-313中集成PCI热插拔控制逻辑和分区控制逻辑,在最佳实施例中是FET的外部隔离电路可以用于在逐交易的基础上隔离PCI槽,以实现精细颗粒(fine-grained)I/O分区。每个分区可以拥有一个至所有系统处理器,和零至所有PCI槽。
在图中还示出通过PHB310连接的不同的I/O设备。它们包括SCSI控制器340,LAN连接器341,和图形适配器342。一个ISA桥343被用于连接任何传统I/O设备344,可以包括键盘,鼠标,串口,并口,音频设备,软驱,CDROM,和实时时钟,还有其他设备。
参考图4-6,示出了一种改进的PCI主机桥,它提供根据本发明最佳实施例的逐槽PCI分区的能力。
PHB400提供分开的请求队列以输出和输入在任意方向上同时发生的交易。输出交易是在I/O总线410上由一个代理发出的,也就是从内核逻辑(代表八个处理器之一)或者从另一个在一个对等应用程序中转发一个PCI存储器交易。输入交易在PCI总线403上由一个代理发出,并指向系统存储器或指向位于另一个PHB后的对等PCI总线段上的PCI存储器。在其他主要功能中,PHB还提供它的总线段上所有起始器代理的PCI仲裁,热插拔PCI插入/取出支持,和PCI槽分区。
PHB在从I/O总线发起的输出交易上被实现发送(posted)写入和延迟响应和在从PCI总线发出的输入交易上实现被发送写入和延迟交易。输出存储器写入总是被发送,I/O写入可有选择地发送或延迟,I/O和存储器读取两者都引起一个延迟响应。延迟响应是指交易从处理器按顺序队列移出并置于延迟交易队列,通知处理器该交易将在以后完成。PHB400将放置延迟交易至它的输出请求队列426,并当读或写交易在PCI总线上完成时,PHB将向发起交易的处理器发送一个交易已完成的延迟响应。输入存储器写入总是被发送,和存储器读取被延迟。输入读取上的延迟交易是指PHB将放置交易至它的PCI输入缓冲区429并终止PCI发出的带重试的交易。交易被转发至I/O总线401以读取数据并被置于输入请求队列428直至PCI交易被重试。一旦交易被重试,PHB完成带有数据的交易。
I/O总线交易
从八个处理器之一发起的I/O总线交易将包括资源地址(I/O或存储器),总线交易类型信息,和边带信号450,称为起始器分区ID。这些边带信号是在内核逻辑中基于前端总线上的哪个处理器发起指向该PCI的交易而生成的,并为PHB400标识起始器所属的分区。请求代理的前端总线(FSB)使用一个分布式转动优先总线仲裁方式,内核逻辑跟踪以识别每个前端总线交易的起始器。每个处理器被分配至一个由它的分区ID定义的分区。分区ID是一个内核逻辑内新的可编程寄存器文件,以支持边带信号的生成,以实现本发明的分区技术。
分区ID寄存器文件在系统初始化时或之前进行配置,并且在运行期间可以被改变。内核逻辑将连接生成的起始器分区ID边带信号和I/O总线上的正常的交易。
PHB400接收有I/O总线交易的起始器分区ID边带信号,以确定在其对等的PCI总线段上哪个PCI槽资源应当开启作为目标分区中的一个成员。PHB包括一个PCI槽分区描述符,作为它的PCI配置空间的一部分,该PCI槽分区描述符包括以下可编程信息,并在系统初始化时或之前进行配置。
PCI槽的目标分区ID
目标分区ID支持零至“n”个分区,“n”是系统支持的处理器的个数。每个分区可以被分配少到没有PCI槽或多到所有PCI槽。一个PCI槽和它的所有目标资源可以在任何给定时间被动态分配到一个或多个分区。
PCI槽的I/O和存储器地址资源解码范围寄存器
PHB使用这些范围寄存器以正解码由PCI槽声明为一个交易目标的地址资源。每组范围寄存器将包括一个起始(基本)地址和一个终止地址。I/O寄存器将支持系统地址映射中256-字节可分配范围的最小间隔,而存储器寄存器将支持系统地址映射中1MB可分配范围的最小间隔。非连续地址资源支持的美国PCI槽的个数要求最小两个I/O和两个存储器范围寄存器对。这些寄存器被用于正解码目的以使PHB接受在I/O总线上发起并指向特定I/O分区的交易。
以下条件必须在PHB正确接收和作为目标响应I/O总线发出的输出交易以前发生。以下是输出交易的正分区响应(PPR)的参考。
1.当前交易的I/O总线起始器分区ID边带必须与PHB支持的目标分区ID之一相匹配;和
2.I/O总线交易资源地址(I/O或存储器)必须位于与匹配目标分区相关的正解码资源目标的地址范围内。
如果正分区响应未满足以上条件之一,PHB将忽略给I/O总线交易,并假设I/O总线上的另一个PHB是预期的目标。内核逻辑在软件和硬件失败而接收不到响应的情况下有实现总线交易看门狗定时器的要求。在总线交易超时的情况下,内核逻辑将转发目标终止硬失败(hard fail)响应返回前端总线上的初始处理器。
以下参考图4总结由PHB发出的输出I/O总线发起的带有正分区响应的交易的不同响应。
输出存储器写入
存储器写入被发出在输出请求队列426中,之后,一旦有入口可用就被移入PCI输出缓冲区427。交易在此时从输出请求队列426移出。当交易通过PCI仲裁器421被置于PCI输出缓冲区427时PCI起始器/目标控制逻辑425请求PCI的所有权,并且它还转发PCI输出起始器分区ID至分区控制逻辑423以确定哪个PCI槽资源是该分区的成员并使它们相应的PCI槽启动。分区内在相同PCI总线上的所有槽都被启动,因为一些设备可能不是所希望的目标,但可能要求探听按次序的一个特定设备的交易以遮蔽(shadow)它的环境。PCI分区控制逻辑423将PCI输出起始器分区ID与附加到PHB的PCI对等总线段上的每个PCI槽的目标分区ID进行比较。由于PCI仲裁没有周期被浪费;仲裁器在当前交易期间将总线授权给下一个所有者,但它不取走所有权直至它检测到PCI总线是空闲的。
应注意,在本发明最佳实施例中,PCI总线需要在交易之间最少一个空闲总线状态,如果它能够保证没有争用发生,从而进行快速背对背(back-to-back)交易。PCI标准定义了两种类型的背对背交易;第一种是当当前交易的主控机目标与前一个写入交易的目标相同时而实现,第二种要求快速背对背目标保证在目标响应信号上没有冲突。PCI标准要求第二种机制只能通过PCI命令寄存器中的配置位而被支持。本发明最佳实施例要求第二种机制始终不被启动,但可以支持相同设备的第一种机制,快速背对背交易。
要求PCI空闲时钟作为一个转向周期以在一个PCI代理停止驱动信号而另一个代理开始驱动信号时避免争用。最佳实施例要求在每个总线交易之间有一个空闲总线时钟,因为FET隔离开关410-414在这个转向周期期间被启动/关闭,以实现相同对等PCI总线段上的槽的精细(fine grained)PCI分区。分区控制逻辑423在逐个交易的基础上为PCI热插拔控制逻辑指示哪个PCI槽被启动。FET开关在空闲转向时钟周期在PHB取得PCI总线的所有权之前被启动。PHB发起一个存储器写入交易并且被在启动的PCI槽上的目标设备接收数据。如果数据由于PCI目标终止或奇偶错误没有被成功地传送至PCI目标,则生成一个机器检查终止(MCA)。
被可选发送的输出I/O写入有与输出存储器写入相同的PHB响应。
输出I/O写入被可选地延迟
I/O写入在输出请求队列426中被可选地延迟,之后,一旦有入口可用被移入PCI输出缓冲区427。在此时交易未从输出请求队列426移出,但保留在队列直至写入在PCI总线403上完成并且PHB400已发出一个延迟响应交易至I/O总线401。PCI起始器/目标控制逻辑425在交易通过PCI仲裁器421被置于PCI输出缓冲区427时请求PCI总线403的所有权,并且它还转发PCI输出起始器分区ID至发起控制逻辑423以确定哪个PCI槽资源是该分区的成员并使它们相应的PCI槽440-444启动。PCI分区控制逻辑423将PCI输出起始器分区ID与附加至PHB的PCI对等总线段的每个PCI槽的目标分区ID进行比较。PCI仲裁器421将总线授权给PHB并在它检测到PCI总线是空闲的时候取得所有权。FET开关410-414在空闲转向时钟循环在PHB400取得PCI总线403的所有权以前被启动。PHB发起I/O写入交易而启动的PCI槽上的目标设备接收该数据。如果数据成功发送至PCI目标,则返回延迟响应交易的正常完成。如果数据由于PCI目标终止或奇偶错误而未被成功传送至PCI目标,则延迟响应交易的响应段将指示一个硬失败响应并生成机器检测终止(MCA)。
输出存储器或I/O读取被延迟
所有读交易在输出请求队列426中被延迟,并且,一旦有入口可用即被移入PCI输出缓冲区427。在此时交易未从输出请求队列426移出,但保留在队列直至写入在PCI总线403上完成并且PHB400已发出一个带有数据的延迟响应交易至I/O总线401。PCI起始器/目标控制425逻辑在交易通过PCI仲裁器421被置于PCI输出缓冲区427时请求PCI总线403的所有权,并且它还转发PCI输出起始器分区ID至发起控制逻辑423以确定哪个PCI槽资源是该分区的成员并使它们相应的PCI槽440-444启动。PCI分区控制逻辑423将PCI输出起始器分区ID与附加至PHB的PCI对等总线段的每个PCI槽440-444的目标分区ID进行比较。PCI仲裁器421将总线授权给PHB并在它检测到PCI总线是空闲的时候取得所有权。FET开关410-414在空闲转向时钟循环在PHB400取得PCI总线403的所有权以前被启动。PHB发起读取交易而启动的PCI槽上的目标设备提供数据。如果成功地从PCI目标读取数据,在数据段内提供延迟响应交易的正常完成和被读取的数据。如果数据由于PCI目标终止或奇偶错误而未成功读取,则延迟响应交易的响应段将指示一个硬失败响应并生成机器检测终止(MCA)。
正分区响应(PPR)作为PCI总线发起的输入交易的目标比作为输出交易的目标要简单的多。PCI总线起始器分区ID在PHB的PCI仲裁器421内部生成。PCI仲裁器421有信号REQ0:4和GNTO:4,分别点对点连接,即,没有中间逻辑或隔离FET410-414,至PCI槽440-444。REQ0:4分别是槽440-444的PCI总线请求线,而GNT0:4是这些槽的PCI总线授权信号。这些信号必须没有被转移或隔离,因为仲裁器必须即使在给定槽被关闭或与PHB隔离时也能够接收请求,授权所有权,和进行对每个槽的其它检测。仲裁器在当前交易期间将总线授权给下一个所有者,但它不取走所有权直至它检测到PCI总线是空闲的。PCI总线起始器分区ID简单的基于哪个PCI槽440-444被授权获得总线所有权和基于PCI槽分区描述符它是哪个I/O分区的成员而生成。分区控制逻辑423接收PCI总线起始器分区ID并将其与PHB支持的所有目标分区ID比较。一个分区内相同PCI总线上的所有槽都被启动,以支持点对点交易通信。分区控制逻辑423为PCI热插拔控制逻辑指示哪个PCI槽被启动。FET开关410-414在空闲时钟周期在PCI总线起始器取得PCI总线的所有权以前被启动。
输入存储器写入被发送
存储器写入在PCI输入缓冲区429中发出,一旦有入口可用就移入输入请求队列428中。交易在此时从PCI输入缓冲区429中移去。I/O总线或起始器/目标控制424逻辑在交易被置于输入请求队列428时请求I/O总线的所有权。PHB在I/O总线上起动存储器读取交易,一旦总线所有权被授权,指向目标系统存储器或另一个PHB上的PCI存储器。
输入存储器读取被延迟
在本实施例中,存储器读取由延迟交易机制支持,该机制是由PCI2.1标准定义,从PCI SIG,2575 NE Kathryn St #17 Hillsboro,OR 97124可以得到PCI 2.1标准,这里用于参考。PHB将闩锁所有PCI总线交易信息并将输入存储器读取置于它的PCI输入缓冲区429并终止带有重试的PCI交易。该交易一旦有入口可用就被移入输入请求队列428,并且该PCI交易在此时从PCI输入缓冲区429中移去。I/O总线起始器/目标控制逻辑424在交易被置于输入请求队列428时请求I/O总线401的所有权。一旦PHB被授权总线的所有权,它在I/O总线上发起一个指向系统存储器或PCI存储器的存储器读取交易。当读数据被返回时,PHB将在输入请求队列428中维护该数据的连贯性。当PCI总线代理再次试图读取相同存储器位置作为延迟交易时,PHB将该数据移入PCI输入缓冲区429以响应该数据,并在PCI总线上完成延迟交易。
系统初始化和配置
初始化和配置本分区计算机系统的最佳方法是为系统服务处理器建立初始分区。分区描述符在基本系统配置期间被初始编程。在这个最佳方法中,如图6所示,在开机复位或硬引导以后(步骤610),服务处理器开始系统初始化而其它处理器还保持复位(步骤620)。服务处理器进行的任务之一是建立系统的分区。根据它是否被配置成使用缺省分区配置(步骤630),服务处理器或者使用存储的信息(步骤640)或者与操作员交互中获得分区信息(步骤650)。服务处理器建立系统基本存储器映象(步骤660),它包括PHB的位置并将分区信息编入分区描述符寄存器(步骤670)。之后,系统处理器被启动(步骤680),其后,每个处理器在分配给它的分区中运行(步骤690),使用分配给它的PCI槽。
分区描述符
如图5所示,分区描述符包括分区成员信息。在这个表中,每个槽入口含有多个一位标志以标识该槽所属的分区。每个槽,在此示为0:N,有一个入口,系统中的每一个分区有一个一位标志;因为分区的个数不是固定的但可以在系统引导时被设定,所以该表的大小是动态分配的。对于每个槽入口,相应于每个分区的一位包含“0”,表示该槽当前不是该分区的成员,或“1”,表示该槽当前是该分区的成员。
现参考图7A和7B,示出了根据本发明最佳实施例的PHB过程的一个例子的简化流程图(更详细的过程在以下进行描述)。图7A示出一个处理器发起的PCI写入。在处理器发起该写入后(步骤700),PHB接收写入请求(步骤705)和发起处理器的分区标识符(步骤710)。之后,PHB将该分区描述符与它的每一个槽的分区描述符进行比较(步骤715)。PHB接通(启动)其分区描述符表示它属于该与发起处理器相同分区的每个PCI槽(步骤720)并关闭不属于该分区的每个PCI槽(步骤725)。在本发明的最佳实施例中,这是通过使用图4中的FET而完成的。最后,写入请求被传递至目标PCI设备(步骤730)。
图7B示出由PCI设备发起的存储器写入。在该图中,在PCI设备发起写入后(步骤750),PHB接收该请求(步骤755)并且读取该PCI槽的分区描述符(步骤760)以确定它属于哪个分区。在它完成后,PHB开启所有属于该分区的PCI槽(步骤765)并关闭不属于该分区的所有槽(步骤770)。最后,写入请求由PHB传递至I/O总线(步骤775)。
动态槽分配
PCI槽还可以被动态分配,并且可以有多个所有者。以下描述使在独占槽所有权和多个所有权两种情况下的动态分配和从一个分区移去槽的过程具体化。独占所有权是当一个槽在一个时间由一个或只有一个分区所有但该槽在运行时间可被动态地移到另一个分区的情况。多个所有权是一个槽在一个时间由多于一个分区所有并且该槽可以在运行时间被分配或不被分配分区所有权的情况。
移去-独占所有权
现参考图8A,当一个分区决定不再需要一个特定的槽的所有权时(步骤800),操作系统选择该槽以从分区中移去(步骤805)。之后,操作系统起始一个热插拔事件,它发出I/O总线上变化开始的信号(步骤810)。之后,操作系统停顿从分区所有权被移去的槽中的设备(步骤815)。这个步骤包括完成所有挂起工作和防止从该设备发生任何新的工作。一旦这个槽中的设备完成所有挂起活动,如果没有任何其它设备需要该设备驱动程序,则操作系统可以选择卸载相应的设备驱动程序。之后,操作系统通过PCI配置寄存器停止该槽中的设备(步骤820)。在本文中,PCI停止是指对PCI命令寄存器位进行编程以防止该设备参与总线的活动。停止设备是保证设备在槽将来被再次激活的情况下是不活动的。最后,操作系统对相应的槽分区描述符进行编程以移去该槽的分区的所有权(步骤825)。这样完成了移去操作(步骤830)。
虽然该过程依照由操作系统进行的动作来描述的,这些功能可以由所述分区内的任何其它软件进行。这可以包括能够进行该操作并影响该设备的软件。
添加-独占所有权
现参考图8B,示出添加一个独占所有的槽至一个分区的过程。当分区请求一个槽时(步骤835),一个槽被选择以包含至该分区中(步骤840)。操作系统检查以确定该槽当前是否被拥有或该槽未被拥有(步骤845)。这个检测是通过读取目标槽的槽描述符来进行的。如果槽被拥有,则该槽不可用于包含至该分区并指示一个错误发生,如“错误-槽不可用”(步骤850)。如果槽当前未被拥有(可用),则操作系统可选择地在槽上进行硬复位(步骤855)。进行硬复位是操作系统作出的策略性选择以保证槽中的设备被复位和不活动。之后,操作系统对相应的槽分区描述符进行编程以将该槽包含至该分区(步骤860)。一旦该槽包含至分区内,该槽中的设备对操作系统是可见的。
之后,操作系统发起一个热插拔事件,它发出I/O总线变化开始的信号(步骤865)。操作系统(特别是操作系统中PCI总线驱动程序)配置该适配器(设备)和潜在的总线(步骤870)。在本文中,配置过程包括分配非冲突(唯一)资源(例如存储器空间)至该设备。配置总线是指总线驱动程序检查整个总线以确定配置参数并且可能重分配其它设备的资源以容纳新设备的添加。
现在该设备被配置并在线,操作系统调入相应的设备驱动程序或通知一个已调入的驱动程序该设备已被添加并是可用的(步骤875)。这就完成了添加操作(步骤880)。
移去-多个所有者
现参考图9,当一个分区确定它不再需要一个特定的槽的所有权时(步骤900),它指示从槽从分区中移去(步骤905)。操作系统发起一个热插拔事件,它发出I/O总线上变化开始的信号(步骤910)。之后,操作系统停顿从分区所有权被移去的槽中的设备(步骤915)。这个步骤包括完成所有挂起工作和防止从该设备发生任何新的工作。
一旦这个槽中的设备完成所有挂起活动,如果没有任何其它设备需要该设备驱动程序,则操作系统可以选择卸载相应的设备驱动程序。进行一个检测以确定该槽是否是多所有的(步骤920)。如果该槽不是多所有的,操作系统通过PCI配置寄存器停止该槽中的设备(步骤935)。这里,“PCI停止”是指对PCI命令寄存器位进行编程以防止该设备参与总线的活动。停止设备是保证设备在槽将来被再次激活的情况下是不活动的。如果槽是多所有的,则操作系统不能停止该设备,因为该设备在其它分区内还是活动的。
最后,操作系统对相应的槽分区描述符进行编程移去该槽的分区的所有权(步骤925)。这样完成了移去操作(步骤930)。
添加-多所有者
现参考图10A和10B,这是最复杂的情况,因为被分配资源的当前活动设备(例如存储器地址)被引入总线(步骤1000)。在一个活动设备被包含至一个分区总线段之前,必须建立一个非冲突配置。如果冲突设备被引入总线,将产生错误。
一个槽被选择包含至分区(步骤1002)。操作系统检查以确定该槽当前是否被拥有或该槽未被拥有(步骤1004)。这个检测是通过读取目标槽的槽描述符来进行的。如果槽被拥有,则过程进行到以下参考图10B描述的多所有者方案。
如果槽当前未被拥有(可用),则操作系统可选择地在槽上进行硬复位(步骤1006)。进行硬复位是操作系统作出的策略性选择以保证槽中的设备被复位和不活动。之后,操作系统对相应的槽分区描述符进行编程以将该槽包含至该分区(步骤1008)。一旦该槽包含至分区内,该槽中的设备对操作系统是可见的。之后,操作系统发起一个热插拔事件,它发出I/O总线变化开始的信号(步骤1010)。由于多所有权(即,在当前分区和其它分区两者都活动的设备)增加的复杂性,设备和总线配置必须考虑可见(槽可被该分区访问)多所有的设备。操作系统尝试配置该设备,它知道只能对独占所有的设备的配置寄存器进行修改(步骤1012)。其它设备作为固定和不变的来对待。
如果实现适合的配置,则设备被配置和在线,并且操作系统调入相应的驱动程序或通知一个已调入的驱动程序该设备已被添加并是可用的(步骤1014)。这就完成了添加操作(步骤1016)。
如果未实现适合的配置,则在简单的情况下操作失败。但是,在较高级的情况下,试图在所有拥有分区(和在它们内执行的操作系统)间进行协调以建立一个适合的相互兼容的一组设备配置值(步骤1018)。如果,在协调中,操作系统能够实现一组适合的设备配置值,则这些值被应用(步骤1020)。操作系统如前所述进入调入或通知驱动程序步骤(步骤1014),并且操作完成(步骤1016)。
如果不能实现协调配置,则操作系统必须通过对分区描述符进行编程将槽从该分区移去(步骤1022),并发出槽不能被添加的错误信号(步骤1024)。
在操作系统间进行协调以决定适合的总线配置,要求连续分区去声明(de-assert)设备所有权并重试总线配置,直至获得一个可接受的配置或停止设备所有权过程被穷举。
现参考图10B,在槽已经被另一个分区所拥有的情况下,也就是槽中的设备已经被配置并且是可运行的,过程到达步骤1026。
操作系统检查以确定被添加的槽中的设备是否有一组兼容的配置值(即,非冲突资源分配)(步骤1026)。这个检查是通过向拥有的分区(在其中执行的操作系统)之一询问配置数据或从例如服务处理器的中心位置检索配置数据而完成的。这个选择是与实现方式无关的,并且是本领域的技术人员可以完成的。
如果配置值是兼容的,之后,操作系统对相应的槽分区描述符进行编程以包含该槽至该分区(步骤1028)。一旦槽被包含至分区,该槽中的任何设备对操作系统是可见的。之后,操作系统起始一个热插拔事件,它发出I/O总线上变化开始的信号(步骤1030)。此时,设备被配置和在线,并且操作系统调入相应的驱动程序或通知一个已调入的驱动程序该设备已被添加并是可用的(步骤1032)。这就完成了添加操作(步骤1042)。
如果被添加的槽中的设备没有兼容的配置值,则操作系统试图将总线配置在多所有设备“周围”(“around”)(步骤1034)。也就是,重新计算配置,使多所有的设备配置保持固定和不改变。如果这个重新计算成功,则应用这些新的配置值(步骤1036)并且过程恢复操作到步骤1028。如果重新计算不成功,则操作简单的失败。
在高级的情况下,尝试与步骤1018相似的“协调重配置”(步骤1038)。如果协调重配置成功,则配置被应用而过程恢复(步骤1036)。
如果协调重配置失败,则没有适合的配置可用,槽添加失败并且相应地报告一个错误(步骤1040)。
应注意,在复杂的情况下,只有在一个适合的配置被确定之后,活动的卡才被包含至分区。在过程中过早地对分区描述符进行编程会引起总线上的设备间的资源冲突。
多所有权的考虑
当一个设备在物理层有多个所有者时,需要有特殊编程考虑。为了对比,在逻辑层共享设备的一个例子是共享网络打印机。在共享打印机的情况下,还只有一个打印机的物理所有者;系统实际上通过并口电缆而连接该打印机。这个服务器系统(它发信息给打印机)管理和控制该设备的物理运行。
物理共享,与逻辑共享相反,要求在拥有的操作系统间有更多的协调。操作系统必须保证物理共享设备的访问在分立的单元中发生。分立操作根据共享设备的特性而变化。在以上讨论的打印机例子的情况下,一个分立操作是完成打印作业。一个活动的打印作业必须在第二个作业被引入该设备前允许完成。如果不符合这个分立协议,这两个打印作业都会损坏。操作系统可以选择任何标准方法以保证在分立操作期间独占所有权,包括“令牌传递”或共享信号标志,这是本领域的技术人员能够完成的。
修改和变化
当然,在不背离本发明的实质和范围的情况下对公开的系统和方法作出许多修改和变化。例如,以上描述特别讨论了外围元件互连(PCI)连接,包括独占分区和槽连接的可选隔离的这些技术可应用于多种不同计算机结构和系统中。
还有,在不同的实施例中,一个单一的PHB可以被用于每个槽。这样,可以避免一些更复杂的配置问题,因为一个总线段只有一个设备(即,槽)消除了在已有设备周围进行配置的需要。其它形式的变化和细节当然是本领域的技术人员可以实现的,并且落入权利要求的范围内。
Claims (17)
1.一种计算机系统,包括:
多个系统处理器,被分成多个处理分区,每个分区有至少一个系统处理器和一个唯一的分区描述符;
至少一个存储器,可操作连接,由所述处理器写入和读出;
一个输入/输出控制器,连接用于与所述系统处理器的通信;
多个输入/输出连接器,由所述输入/输出控制器管理,每个输入/输出连接器能够被所述处理分区之一分配;
多个输入/输出设备,连接至所述输入/输出连接器;
其中所述输入/输出控制器只允许系统处理器与属于相同处理分区的输入/输出连接器之间的通信,和
其中所述输入/输出连接器能够被动态地分配至所述处理分区或从所述处理分区移去。
2.如权利要求1的系统,其中当属于一个给定处理分区的一个处理器与一个输入/输出设备通信时,不属于那个分区的所有输入/输出连接器与所述处理器隔离。
3.如权利要求1的系统,其中所述隔离是使用场效应晶体管实现。
4.如权利要求1的系统,其中所述输入/输出连接器可以同时属于多个分区。
5.一种计算机系统,包括:
至少一个系统处理器;
一个存储器,连接用于由所述系统处理器写入和读出;
一个输入/输出控制器,连接用于与所述存储器和所述处理器进行通信;
至少一个外围设备,连接用于通过多个设备连接器之一与所述输入/
输出控制器进行通信;
其中所述系统进行以下步骤
在所述输入/输出控制器中从一个系统处理器接收一个请求,以写入所述外围设备;
在所述输入/输出控制器中接收一个相应于所述系统处理器的分区标识符;
根据所述连接器是否属于一组相应的所述分区标识符而接通至少一个所述多个连接器;和
传递所述写入请求至所述设备,
其中所述输入/输出连接器可以被动态地分配至或离开所述相应于所述分区标识符的所述组。
6.如权利要求5的系统,其中所述设备连接器是PCI插槽。
7.如权利要求5的系统,其中当所述设备连接器关闭时,它们被一个场效应晶体管与所述输入/输出控制器隔离。
8.如权利要求5的系统,其中不属于所述组的所有所述连接器是关闭的。
9.如权利要求5的系统,其中所述设备连接器可以同时属于多个所述组。
10.一种计算机系统,包括:
多个系统处理器;
至少一个存储器,连接用于由所述系统处理器写入或读出;
一个输入/输出控制器,连接用于与所述存储器和所述处理器进行通信;和
至少一个外围设备,连接用于通过多个设备连接器之一与所述输入/
输出控制器通信;
其中所述系统进行以下步骤:
在所述输入/输出控制器中从所述设备接收一个请求以写入存储器;
在所述输入/输出控制器中读出相应于所述设备连接器的一个分区描述符;
根据所述设备连接器是否属于相应于所述分区描述符的一个组,接
通至少一个所述设备连接器;
关闭不属于所述组的所有所述设备连接器;和
从所述设备传递所述写请求至所述存储器,
其中所述设备连接器能够被动态地分配至或离开相应于所述分区标识符的所述组。
11.如权利要求10的系统,其中所述设备连接器是PCI插槽。
12.如权利要求10的系统,其中当所述设备连接器关闭时,它们被一个场效应晶体管与所述输入/输出控制器隔离。
13.如权利要求10的系统,其中所述设备连接器可以同时属于多个所述组。
14.一种计算机系统,包括:
多个系统处理器;
至少一个存储器,连接用于由所述系统处理器写入和读出;
一个输入/输出控制器,连接用于与所述存储器和所述处理器进行通信;和
至少一个外围设备,连接用于通过多个设备连接器之一与所述输入/
输出控制器进行通信;
其中所述系统进行以下步骤
分配每个所述多个系统处理器至一个处理分区;
分配一个所述处理分区一个独立的分配标识符;
分配每个所述设备连接器至至少一个所述处理分区;
在存储器中存储标识每个设备连接器所属哪一个处理分区;和
传递系统处理器与属于相同处理分区的设备连接器之间的通信,并且不传递系统处理器与不属于相同处理分区的设备连接器之间的通信,
其中所述设备连接器能够被动态地分配至或离开所述处理分区。
15.如权利要求14的系统,其中属于一个给定的处理分区的一个系统处理器通过属于相同处理分区的一个设备连接器进行通信,不属于那个处理分区的所有设备连接器被关闭。
16.如权利要求14的系统,其中当所述设备连接器被关闭时,它们被一个场效应晶体管与所述输入/输出控制器隔离。
17.如权利要求14的系统,其中所述设备连接器能够同时属于多个处理分区。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/283,363 US6330656B1 (en) | 1999-03-31 | 1999-03-31 | PCI slot control apparatus with dynamic configuration for partitioned systems |
US09/283363 | 1999-03-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1274123A true CN1274123A (zh) | 2000-11-22 |
Family
ID=23085690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00104746A Pending CN1274123A (zh) | 1999-03-31 | 2000-03-24 | 分区系统的带有动态配置的外围元件互联槽控制装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6330656B1 (zh) |
JP (1) | JP3574035B2 (zh) |
KR (1) | KR100335299B1 (zh) |
CN (1) | CN1274123A (zh) |
CA (1) | CA2299547C (zh) |
IL (1) | IL134245A (zh) |
MY (1) | MY118417A (zh) |
SG (1) | SG83200A1 (zh) |
TW (1) | TW468113B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100388208C (zh) * | 2003-03-13 | 2008-05-14 | 国际商业机器公司 | 在逻辑分区的计算机系统中控制资源转移的装置和方法 |
CN100416527C (zh) * | 2005-03-18 | 2008-09-03 | 富士通株式会社 | 分区分配方法和计算机系统 |
CN1869953B (zh) * | 2005-05-24 | 2010-06-02 | 惠普开发有限公司 | 多分区系统中共享可移动媒体存储装置的系统及方法 |
CN101908036A (zh) * | 2010-07-22 | 2010-12-08 | 中国科学院计算技术研究所 | 一种高密度多处理器系统及其节点控制器 |
CN105528258A (zh) * | 2015-12-11 | 2016-04-27 | 中国航空工业集团公司西安航空计算技术研究所 | 一种故障隔离的多应用共享输入输出接口部件 |
CN109150590A (zh) * | 2018-07-27 | 2019-01-04 | 佛山点度物联科技有限公司 | 一种物联应用平台自动生成物联系统 |
Families Citing this family (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7197589B1 (en) * | 1999-05-21 | 2007-03-27 | Silicon Graphics, Inc. | System and method for providing access to a bus |
US6480917B1 (en) * | 1999-08-19 | 2002-11-12 | International Business Machines Corporation | Device arbitration including peer-to-peer access arbitration |
US6529987B1 (en) * | 1999-09-08 | 2003-03-04 | Intel Corporation | Hot pluggins in a PCI bus system |
US6725307B1 (en) * | 1999-09-23 | 2004-04-20 | International Business Machines Corporation | Method and system for controlling data transfers with physical separation of data functionality from address and control functionality in a distributed multi-bus multiprocessor system |
US6820164B2 (en) * | 2001-04-17 | 2004-11-16 | International Business Machines Corporation | Peripheral component interconnect bus detection in logically partitioned computer system involving authorizing guest operating system to conduct configuration input-output operation with functions of pci devices |
US7117311B1 (en) * | 2001-12-19 | 2006-10-03 | Intel Corporation | Hot plug cache coherent interface method and apparatus |
US20030126346A1 (en) * | 2001-12-31 | 2003-07-03 | Kuo Sung H. | Dynamic load balancing in a multi-bus computer system |
US6842827B2 (en) | 2002-01-02 | 2005-01-11 | Intel Corporation | Cache coherency arrangement to enhance inbound bandwidth |
US6973525B2 (en) | 2002-03-19 | 2005-12-06 | Dell Products L.P. | System and method for managing bus numbering |
US6886064B2 (en) * | 2002-03-28 | 2005-04-26 | International Business Machines Corporation | Computer system serialization control method involving unlocking global lock of one partition, after completion of machine check analysis regardless of state of other partition locks |
US20030212883A1 (en) * | 2002-05-09 | 2003-11-13 | International Business Machines Corporation | Method and apparatus for dynamically managing input/output slots in a logical partitioned data processing system |
US6941436B2 (en) * | 2002-05-09 | 2005-09-06 | International Business Machines Corporation | Method and apparatus for managing memory blocks in a logical partitioned data processing system |
US7480911B2 (en) * | 2002-05-09 | 2009-01-20 | International Business Machines Corporation | Method and apparatus for dynamically allocating and deallocating processors in a logical partitioned data processing system |
DE60211874T2 (de) * | 2002-06-20 | 2007-05-24 | Infineon Technologies Ag | Anordnung von zwei Geräten, verbunden durch einen Kreuzvermittlungsschalter |
JP4123942B2 (ja) * | 2003-01-14 | 2008-07-23 | 株式会社日立製作所 | 情報処理装置 |
US7085862B2 (en) * | 2003-03-13 | 2006-08-01 | International Business Machines Corporation | Apparatus and method for controlling resource transfers in a logically partitioned computer system by placing a resource in a power on reset state when transferring the resource to a logical partition |
US8055838B2 (en) * | 2003-07-22 | 2011-11-08 | International Business Machines Corporation | Apparatus and method for autonomically suspending and resuming logical partitions when I/O reconfiguration is required |
US7523453B2 (en) | 2003-07-31 | 2009-04-21 | International Business Machines Corporation | System, method and program product for maintaining session information during dynamic resource additions or updates |
US7870553B2 (en) | 2003-08-28 | 2011-01-11 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US7376954B2 (en) * | 2003-08-28 | 2008-05-20 | Mips Technologies, Inc. | Mechanisms for assuring quality of service for programs executing on a multithreaded processor |
WO2005022384A1 (en) | 2003-08-28 | 2005-03-10 | Mips Technologies, Inc. | Apparatus, method, and instruction for initiation of concurrent instruction streams in a multithreading microprocessor |
US7836450B2 (en) | 2003-08-28 | 2010-11-16 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US9032404B2 (en) | 2003-08-28 | 2015-05-12 | Mips Technologies, Inc. | Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor |
US7849297B2 (en) | 2003-08-28 | 2010-12-07 | Mips Technologies, Inc. | Software emulation of directed exceptions in a multithreading processor |
US7610473B2 (en) * | 2003-08-28 | 2009-10-27 | Mips Technologies, Inc. | Apparatus, method, and instruction for initiation of concurrent instruction streams in a multithreading microprocessor |
US7418585B2 (en) * | 2003-08-28 | 2008-08-26 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US7594089B2 (en) * | 2003-08-28 | 2009-09-22 | Mips Technologies, Inc. | Smart memory based synchronization controller for a multi-threaded multiprocessor SoC |
US7711931B2 (en) * | 2003-08-28 | 2010-05-04 | Mips Technologies, Inc. | Synchronized storage providing multiple synchronization semantics |
US7451219B2 (en) | 2003-11-05 | 2008-11-11 | International Business Machines Corporation | Determining server resources accessible to client nodes using information received at the server via a communications medium |
US7231499B2 (en) * | 2003-12-17 | 2007-06-12 | Broadcom Corporation | Prioritization of real time / non-real time memory requests from bus compliant devices |
JP2005309552A (ja) * | 2004-04-19 | 2005-11-04 | Hitachi Ltd | 計算機 |
EP1632854A1 (en) * | 2004-08-23 | 2006-03-08 | Sun Microsystems France S.A. | Method and apparatus for using a serial cable as a cluster quorum device |
EP1748361A1 (en) * | 2004-08-23 | 2007-01-31 | Sun Microsystems France S.A. | Method and apparatus for using a USB cable as a cluster quorum device |
JP4295184B2 (ja) * | 2004-09-17 | 2009-07-15 | 株式会社日立製作所 | 仮想計算機システム |
JP4558519B2 (ja) * | 2005-01-18 | 2010-10-06 | 富士通株式会社 | 情報処理装置およびシステムバス制御方法 |
US20060242611A1 (en) * | 2005-04-07 | 2006-10-26 | Microsoft Corporation | Integrating programmable logic into personal computer (PC) architecture |
JP4595645B2 (ja) * | 2005-04-19 | 2010-12-08 | 株式会社日立製作所 | 複合型計算機装置および複合型計算機装置の管理方法 |
JP4743414B2 (ja) * | 2005-12-19 | 2011-08-10 | 日本電気株式会社 | 情報処理システム、情報処理方法およびプログラム |
US7783807B2 (en) | 2006-03-14 | 2010-08-24 | International Business Machines Corporation | Controlling resource transfers in a logically partitioned computer system |
JP4877482B2 (ja) * | 2006-04-11 | 2012-02-15 | 日本電気株式会社 | PCIExpressリンク、マルチホストコンピュータシステム、およびPCIExpressリンクの再構成方法 |
US20070260672A1 (en) * | 2006-05-08 | 2007-11-08 | International Business Machines Corporation | A post/bios solution for providing input and output capacity on demand |
JP4961833B2 (ja) * | 2006-05-19 | 2012-06-27 | 日本電気株式会社 | クラスタシステム、負荷分散方法、最適化クライアントプログラム、及び調停サーバプログラム |
US7676608B1 (en) * | 2006-12-12 | 2010-03-09 | Rockwell Collins, Inc. | System for extending Multiple Independent Levels of Security (MILS) partitioning to input/output (I/O) devices |
JP4656080B2 (ja) * | 2007-04-16 | 2011-03-23 | 株式会社日立製作所 | 情報処理装置のシステム部品 |
JP2009252202A (ja) * | 2008-04-11 | 2009-10-29 | Hitachi Ltd | コンピュータシステム |
JP5365847B2 (ja) * | 2009-03-05 | 2013-12-11 | 日本電気株式会社 | 仮想化装置における物理デバイスのコンフィグレーション処理方法及びコンピュータシステム |
US8131889B2 (en) * | 2009-11-10 | 2012-03-06 | Apple Inc. | Command queue for peripheral component |
US8626970B2 (en) | 2010-06-23 | 2014-01-07 | International Business Machines Corporation | Controlling access by a configuration to an adapter function |
US8645767B2 (en) | 2010-06-23 | 2014-02-04 | International Business Machines Corporation | Scalable I/O adapter function level error detection, isolation, and reporting |
US8635430B2 (en) | 2010-06-23 | 2014-01-21 | International Business Machines Corporation | Translation of input/output addresses to memory addresses |
US9195623B2 (en) | 2010-06-23 | 2015-11-24 | International Business Machines Corporation | Multiple address spaces per adapter with address translation |
US8677180B2 (en) | 2010-06-23 | 2014-03-18 | International Business Machines Corporation | Switch failover control in a multiprocessor computer system |
US8656228B2 (en) | 2010-06-23 | 2014-02-18 | International Business Machines Corporation | Memory error isolation and recovery in a multiprocessor computer system |
US8478922B2 (en) | 2010-06-23 | 2013-07-02 | International Business Machines Corporation | Controlling a rate at which adapter interruption requests are processed |
US8650337B2 (en) | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Runtime determination of translation formats for adapter functions |
US8417911B2 (en) | 2010-06-23 | 2013-04-09 | International Business Machines Corporation | Associating input/output device requests with memory associated with a logical partition |
US8671287B2 (en) | 2010-06-23 | 2014-03-11 | International Business Machines Corporation | Redundant power supply configuration for a data center |
US8510599B2 (en) | 2010-06-23 | 2013-08-13 | International Business Machines Corporation | Managing processing associated with hardware events |
US9213661B2 (en) | 2010-06-23 | 2015-12-15 | International Business Machines Corporation | Enable/disable adapters of a computing environment |
US9342352B2 (en) | 2010-06-23 | 2016-05-17 | International Business Machines Corporation | Guest access to address spaces of adapter |
US8621112B2 (en) | 2010-06-23 | 2013-12-31 | International Business Machines Corporation | Discovery by operating system of information relating to adapter functions accessible to the operating system |
US8639858B2 (en) | 2010-06-23 | 2014-01-28 | International Business Machines Corporation | Resizing address spaces concurrent to accessing the address spaces |
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 |
US8468284B2 (en) | 2010-06-23 | 2013-06-18 | International Business Machines Corporation | Converting a message signaled interruption into an I/O adapter event notification to a guest operating system |
US8615645B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Controlling the selectively setting of operational parameters for an adapter |
US8650335B2 (en) | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Measurement facility for adapter functions |
US8504754B2 (en) | 2010-06-23 | 2013-08-06 | International Business Machines Corporation | Identification of types of sources of adapter interruptions |
US8683108B2 (en) | 2010-06-23 | 2014-03-25 | International Business Machines Corporation | Connected input/output hub management |
US8615622B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Non-standard I/O adapters in a standardized I/O architecture |
US8416834B2 (en) | 2010-06-23 | 2013-04-09 | International Business Machines Corporation | Spread spectrum wireless communication code for data center environments |
US8505032B2 (en) | 2010-06-23 | 2013-08-06 | International Business Machines Corporation | Operating system notification of actions to be taken responsive to adapter events |
US8549182B2 (en) | 2010-06-23 | 2013-10-01 | International Business Machines Corporation | Store/store block instructions for communicating with adapters |
US8645606B2 (en) | 2010-06-23 | 2014-02-04 | International Business Machines Corporation | Upbound input/output expansion request and response processing in a PCIe architecture |
US8566480B2 (en) | 2010-06-23 | 2013-10-22 | International Business Machines Corporation | Load instruction for communicating with adapters |
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 |
US8572635B2 (en) | 2010-06-23 | 2013-10-29 | International Business Machines Corporation | Converting a message signaled interruption into an I/O adapter event notification |
JP5201176B2 (ja) * | 2010-07-09 | 2013-06-05 | 株式会社日立製作所 | 情報処理装置 |
US9311127B2 (en) * | 2011-12-16 | 2016-04-12 | International Business Machines Corporation | Managing configuration and system operations of a shared virtualized input/output adapter as virtual peripheral component interconnect root to single function hierarchies |
US9626207B2 (en) * | 2011-12-16 | 2017-04-18 | International Business Machines Corporation | Managing configuration and system operations of a non-shared virtualized input/output adapter as virtual peripheral component interconnect root to single function hierarchies |
US9411654B2 (en) | 2011-12-16 | 2016-08-09 | International Business Machines Corporation | Managing configuration and operation of an adapter as a virtual peripheral component interconnect root to expansion read-only memory emulation |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR920010552B1 (ko) * | 1988-11-15 | 1992-12-05 | 가부시기가이샤 히다찌세이사꾸쇼 | 정보처리시스템의 어댑터 및 어댑터의 어드레스할당방법 |
JP2644554B2 (ja) * | 1988-11-15 | 1997-08-25 | 株式会社日立製作所 | 情報処理システム |
KR920007945B1 (ko) * | 1989-12-27 | 1992-09-19 | 재단법인 한국전자통신연구소 | 자동형상 제어를 위한 백플레인 상의 슬롯 어드레스 지정방법 |
JP2750795B2 (ja) * | 1992-07-29 | 1998-05-13 | 大日本スクリーン製造株式会社 | 画像処理装置 |
KR19980044084U (ko) * | 1996-12-26 | 1998-09-25 | 김광호 | 다수의 펜티엄 프로 중앙처리장치를 지원하는 프로세서 보드 |
US6247109B1 (en) * | 1998-06-10 | 2001-06-12 | Compaq Computer Corp. | Dynamically assigning CPUs to different partitions each having an operation system instance in a shared memory space |
-
1999
- 1999-03-31 US US09/283,363 patent/US6330656B1/en not_active Expired - Fee Related
-
2000
- 2000-01-27 IL IL13424500A patent/IL134245A/xx not_active IP Right Cessation
- 2000-02-25 CA CA002299547A patent/CA2299547C/en not_active Expired - Fee Related
- 2000-03-17 MY MYPI20001067A patent/MY118417A/en unknown
- 2000-03-21 SG SG200001610A patent/SG83200A1/en unknown
- 2000-03-24 CN CN00104746A patent/CN1274123A/zh active Pending
- 2000-03-24 JP JP2000084861A patent/JP3574035B2/ja not_active Expired - Fee Related
- 2000-03-28 TW TW089105712A patent/TW468113B/zh not_active IP Right Cessation
- 2000-03-28 KR KR1020000015744A patent/KR100335299B1/ko not_active IP Right Cessation
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100388208C (zh) * | 2003-03-13 | 2008-05-14 | 国际商业机器公司 | 在逻辑分区的计算机系统中控制资源转移的装置和方法 |
CN100416527C (zh) * | 2005-03-18 | 2008-09-03 | 富士通株式会社 | 分区分配方法和计算机系统 |
CN1869953B (zh) * | 2005-05-24 | 2010-06-02 | 惠普开发有限公司 | 多分区系统中共享可移动媒体存储装置的系统及方法 |
CN101908036A (zh) * | 2010-07-22 | 2010-12-08 | 中国科学院计算技术研究所 | 一种高密度多处理器系统及其节点控制器 |
CN105528258A (zh) * | 2015-12-11 | 2016-04-27 | 中国航空工业集团公司西安航空计算技术研究所 | 一种故障隔离的多应用共享输入输出接口部件 |
CN105528258B (zh) * | 2015-12-11 | 2018-12-25 | 中国航空工业集团公司西安航空计算技术研究所 | 一种故障隔离的多应用共享输入输出接口部件 |
CN109150590A (zh) * | 2018-07-27 | 2019-01-04 | 佛山点度物联科技有限公司 | 一种物联应用平台自动生成物联系统 |
CN109150590B (zh) * | 2018-07-27 | 2022-03-15 | 佛山点度物联科技有限公司 | 一种物联应用平台自动生成物联系统 |
Also Published As
Publication number | Publication date |
---|---|
TW468113B (en) | 2001-12-11 |
KR20010006887A (ko) | 2001-01-26 |
JP2000315197A (ja) | 2000-11-14 |
SG83200A1 (en) | 2001-09-18 |
IL134245A0 (en) | 2001-04-30 |
MY118417A (en) | 2004-10-30 |
US6330656B1 (en) | 2001-12-11 |
CA2299547C (en) | 2004-08-17 |
IL134245A (en) | 2005-05-17 |
JP3574035B2 (ja) | 2004-10-06 |
KR100335299B1 (ko) | 2002-05-03 |
CA2299547A1 (en) | 2000-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1274123A (zh) | 分区系统的带有动态配置的外围元件互联槽控制装置 | |
CN1128406C (zh) | 数据处理系统及其中断处理方法 | |
CN1269033C (zh) | 数据处理系统中逻辑分区之断电和/或再启动的方法和仪器 | |
US8281082B2 (en) | Hypervisor page fault processing in a shared memory partition data processing system | |
EP2784670B1 (en) | Memory management method, memory management device and numa system | |
US8959307B1 (en) | Reduced latency memory read transactions in storage devices | |
CN1224905C (zh) | 在群集计算机系统中的执行资源动作的方法 | |
JP4869065B2 (ja) | 仮想周辺コンポーネントインターコネクト多重ファンクション装置 | |
US8966130B2 (en) | Tag allocation for queued commands across multiple devices | |
CN1702622A (zh) | 用于校正管理程序工作的分布的系统 | |
CN1774699A (zh) | 共享资源的并发访问 | |
CN1841331A (zh) | 为被先占的虚拟处理器分配应得处理器周期的方法和系统 | |
EP3716084A1 (en) | Apparatus and method for sharing a flash device among multiple masters of a computing platform | |
WO2022063273A1 (zh) | 一种基于numa属性的资源分配方法及装置 | |
US20200272582A1 (en) | Data cache segregation for spectre mitigation | |
US20150326684A1 (en) | System and method of accessing and controlling a co-processor and/or input/output device via remote direct memory access | |
US7644219B2 (en) | System and method for managing the sharing of PCI devices across multiple host operating systems | |
CN111258661A (zh) | 一种基于uefi scsi的raid卡驱动设计方法 | |
CN114662162B (zh) | 实现动态分配vf的多算法核高性能sr-iov加解密系统及方法 | |
CN1090780C (zh) | 存储管理的方法和装置 | |
CN1194311C (zh) | 总线系统延缓交易方法与应用此方法的装置 | |
TW527539B (en) | Fine-grained PCI slot control apparatus for partitioned systems | |
MXPA00003186A (en) | Pci slot controller equipped with dynamic constitution for section system | |
JP2001282753A (ja) | 区分化システム用の細粒度pciスロット制御装置 | |
JP2002207687A (ja) | 区分けされたコンピュータ・システムでの動的入出力割振りシステム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |