CN1892626A - 管理共享输入/输出结构的地址空间的方法、系统和设备 - Google Patents

管理共享输入/输出结构的地址空间的方法、系统和设备 Download PDF

Info

Publication number
CN1892626A
CN1892626A CNA2006101031835A CN200610103183A CN1892626A CN 1892626 A CN1892626 A CN 1892626A CN A2006101031835 A CNA2006101031835 A CN A2006101031835A CN 200610103183 A CN200610103183 A CN 200610103183A CN 1892626 A CN1892626 A CN 1892626A
Authority
CN
China
Prior art keywords
item
response
virtual
identifying information
access
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.)
Granted
Application number
CNA2006101031835A
Other languages
English (en)
Other versions
CN100429636C (zh
Inventor
里纳托·J·雷西奥
史蒂文·W·亨特
威廉·T·博伊德
史蒂文·M·瑟伯
马德琳·维加
威廉·G·霍兰
道格拉斯·M·弗赖穆特
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 CN1892626A publication Critical patent/CN1892626A/zh
Application granted granted Critical
Publication of CN100429636C publication Critical patent/CN100429636C/zh
Expired - Fee Related 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供管理输入/输出结构的地址空间的方法、系统和设备。提供机制、方法和计算机可用介质,用于为多根节点系统的每个根节点提供其自己的独立地址空间。该机制还允许相同根节点内的多系统映像具有它们自己的独立地址空间。还提供一种机制,用于将没有意识到由本发明所引入的机制的遗留根节点和输入/输出适配器进行组合。实施本发明的输入/输出适配器还可以具有它们支持的许多功能,这些功能大大超出现在每个输入/输出适配器的八种功能。

Description

管理共享输入/输出结构的地址空间的方法、系统和设备
技术领域
本发明总体涉及主计算机和输入/输出适配器之间通过输入/输出结构(fabric)的通讯。更具体地说,本发明涉及将输入/输出结构附连到多于一个根节点和每个根可以潜在地与其他根共享输入/输出适配器的情况。
背景技术
因为还没有发现任何机制来将地址空间分离为独立地址和配置空间,所以标准外围部件互连(PCI)和类似的I/O结构技术在具有多个根节点的配置中在不同的根节点之间共享一个地址空间。因此,每个根节点都必须知道其他根节点的空间,并且不与之冲突。因为根节点通常不知道其他根节点的空间,所以标准的PCI配置软件存在问题,因此这种实施方法不能用于现在的软件,特别是现存的配置软件。而且,逻辑分区系统的概念是应该考虑分区的地址空间从而它们不重叠,以至于保持分区独立,但是今天在多根的环境中不存在这样的机制。
因此,最好提供完全独立的地址和配置空间给每个根节点和在根节点内的每个分区或者系统映像,以便现存的软件工作并且可以对系统进行分区。
发明内容
本发明提供机制、方法和计算机可用介质,用于提供给多根节点系统的每个根节点其自己的独立地址空间。该相同机制还允许相同根节点内的多个系统映像具有它们自己的独立地址空间,并且允许将与地址空间联系的、诸如缓存器、高速缓存器和地址转换机制之类的其他机制保持分离。本发明还提供一种机制,用于将遗留根节点和没有意识到通过本发明所引入的所述机制的输入/输出适配器进行组合。实施本发明的输入/输出适配器还可以具有它们所支持的、远远超出输入/输出适配器的现在的八种功能的许多功能。
附图说明
在所附权利要求书中阐述了本发明的被确信有实质特征的新颖特点。当结合附图进行阅读时,通过参照下面对说明性实施方式的详细描述,将可以更好地理解本发明本身,以及优选使用实施方式,和其进一步的目的和优点,其中:
图1示出了根据本发明的说明性实施方式的分布式计算系统;
图2示出了其中实施有本发明的示例逻辑分区平台的框图;
图3示出了根据本发明的说明性实施方式的虚拟面(virtual plane,VP)的概念;
图4示出了根据本发明的说明性实施方式需要被加入到I/O事项中以实现VP的必须部件;
图5示出了对根据本发明的说明书实施方式的PCI-X事项的内容的更加详细的描述;
图6示出了对根据本发明的说明性实施方式的PCI快捷事项的内容的更加详细的描述;
图7示出了根据本发明的说明性实施方式的PCI配置空间;
图8示出了根据本发明的说明性实施方式的配置头部;
图9示出了根据本发明的说明性实施方式用于将物理设备功能分配给VP的一个示例实施方式;
图10示出了根据本发明的说明性实施方式的,描述存储器映射I/O(MMIO)操作的流程图;
图11示出了对根据本发明的说明性实施方式的DMA操作进行处理的详细流程图;
图12示出了根据本发明的说明性实施方式如何支持对VP不支持的遗留根复合体(complex);和
图13示出了根据本发明的说明性实施方式如何支持对VP不支持的遗留I/O适配器(IOA)。
具体实施方式
可以将本发明的各方面应用于多个根复合体(RC)通过公共输入/输出(I/O)结构共享输入/输出适配器(IOA)池的任何通用或者特殊目的计算系统。更具体地说,说明性实施方式描述了将I/O结构附连到多于一个根节点和每个根可以潜在地与其他根共享I/O适配器(IOA)的地址。具体地说,本发明提供了一种机制,通过该机制,每个根节点或者在根节点内的逻辑分区都被给予其自己的独立的地址空间和配置空间,从而每个根节点或者在根节点内的逻辑分区都认为其具有其自己的独立的I/O结构。具体地说,本发明特别涉及使用外围部件互连(PCI)、扩展的外围部件互连(PCI-X)或者PCI快捷协议来通过I/O结构进行通讯的分布式计算系统。
现在参考附图,特别是参照根据本发明的说明性实施方式示出了分布式计算系统的示意图的附图1。在附图1中所表示的分布式计算系统100具有下面形式:一个或多个根复合体108、118、128、138和139通过I/O链路110、120、130、142和143附连到I/O结构144,并且附连到根节点(RN)160、161、162和163的存储器控制器104、114、124和134。I/O结构144通过链路151、152、153、154、155、156、157和158附连到IOA 145、146、147、148、149和150。IOA 145、146、147、148、149和150可以是单一功能IOA,如145、146和149,或者是多功能IOA,如147、148和150。进而,IOA 145、146、147、148、149和150可以经由单个链路连接到I/O结构144,如145、146、147和148中的情况,或者使用用于冗余的多个链路连接到I/O结构144,如149和150中的情况。
根复合体108、118、128、138和139是根节点160、161、162和163的一部分。如在根节点163中的情况,每个根节点可以存在有多于一个的根复合体。在根复合体之外,每个根节点包括一个或多个中央处理单元(CPU)101、102、111、112、121、122、131和132,存储器103、113、123和133,连接到CPU 101、102、111、112、121、122、131和132以及存储器103、113、123和133的控制器104、114、124和134,和I/O根复合体108、118、128、138和139,并且执行诸如处理用于存储器的相干通信量之类的功能。
根节点160和161可以通过它们的存储器控制器104和114在连接159处连接在一起以形成一个相干域,并且其可以充当单个对称多处理(SMP)系统,或者如在根节点162和163中一样作为带有独立相干域的独立节点。
可以将配置管理器164独立地附连到I/O结构144,或者将其作为一个或多个根节点160、161、162和163的一部分。配置管理器164对I/O结构144的共享资源进行配置并且将资源分配给根节点160、161、162和163。
可以使用各种能够通过商业途经获得的计算机系统来实现分布式计算系统100。例如,可以使用国际商业机器公司提供的IBM eServerTM iSeriesModel 840来实现分布式计算系统100。这种系统可以使用也是国际商业机器公司提供的OS/400操作系统来支持逻辑分区。
本领域的普通技术人员应该理解图1中所示的硬件可以不同。例如,在所示的硬件之中或者之外可以使用诸如光盘驱动器之类的其他外围设备。所示的例子并不意味着暗示与本发明相关的架构限制。
现在参照图2,其示出了可以实施本发明的示例逻辑分区平台的框图。例如,可以将逻辑分区平台200中的硬件实施为图1中的分布式计算系统100。逻辑分区平台200包括分区硬件230、操作系统202、204、206和208以及分区管理固件210。操作系统202、204、206和208可以是单个操作系统的多个拷贝,或者是在逻辑分区平台200上同时运行的多个异构操作系统。可以使用OS/400来实施这些操作系统,可以将它们进行设计以与诸如Hypervisor之类的分区管理固件进行连接。在这些说明性的例子中仅仅使用OS/400作为例子。根据具体的实现方式还可以使用诸如AIX和Linux之类的其他类型的操作系统。
操作系统202、204、206和208位于分区203、205、207和209中。Hypervisor软件是可以被用来实施分区管理固件210的软件例子,并且也是国际商业机器公司提供的。固件是存储在存储器芯片中的“软件”,所述存储器芯片在没有供电的情况下保存其内容,这种存储器芯片例如有只读存储器(ROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)和非易失随机存取存储器(NVRAM)。
此外,分区203、205、207和209还包括分区固件211、213、215和217。可以使用国际商业机器公司提供的运行时抽象软件(RTAS)、IEEE-1275标准开放式固件和起始引导代码(initial boot strap code)来实施分区固件211、213、215和217。当实例化分区203、205、207和209时,通过平台固件210将引导代码的拷贝加载到分区203、205、207和209。之后,控制传递给引导代码,该引导代码然后加载开放式固件和运行时抽象软件。然后将分配给或者相关到分区203、205、207和209的处理器调度给分区的存储器以执行分区固件211、213、215和217。
分区固件230包括多个处理器232、234、236和238,多个系统存储器单元240、242、244和246,多个IOA 248、250、252、254、256、258、260和262,存储单元270,和非易失随机存取存储器存储装置298。可以将处理器232、234、236和238,存储器单元240、242、244和246,非易失随机存取存储器存储装置298,和IOA 248、250、252、254、256、258、260和262的每一个或者它们中的一部分分配给逻辑分区平台200内的多个分区之一,其每一个与操作系统202、204、206和208之一对应。
分区管理固件210执行用于分区203、205、207和209的多个功能和服务,以创建和施行逻辑分区平台200的分区。分区管理固件210是实施为与前述硬件相同虚拟机的固件。因此,分区管理固件210通过对逻辑分区平台200的硬件资源进行虚拟化,而允许独立操作系统映像202、204、206和208的同时执行。
可以使用服务处理器290在分区203、205、207和209中提供诸如平台错误处理之类的各种服务。这些服务还可以充当服务代理以将错误报告给诸如国际商业机器公司之类的供货商。可以通过诸如硬件管理控制台280之类的硬件管理控制台来控制分区203、205、207和209的操作。硬件管理控制台280是独立的分布式计算系统,系统管理员从其中可以执行包括将资源重新分配给不同分区的各种功能。可以被控制的操作包括对与被分配给分区的部件相关的分区进行配置、分区是否正在运行等事项。
在逻辑分区(LPAR)环境中,不可以允许在一个分区中的资源或者程序影响在另一个分区中的操作。而且,为了有用,需要将资源分配精细地细化(fine-grained)。例如,通常不可以接收在具体PCI主桥(PHB)之下将所有IOA分配给相同分区,因为那样做将限制系统的配置性,包括在分区之间动态地移动资源的能力。
因此,在将IOA连接到I/O总线的桥中需要某些功能以能够将诸如独立IOA或者部分IOA之类的资源分配给独立的分区,并且同时,防止所分配的资源通过诸如获得对其他分区的资源的存取而影响其他分区。
现在参照图3,根据本发明的说明性实施方式描述了虚拟面(VP)的概念。VP 300的配置包括单个或多个主CPU组301、302和303,每个都包含单个或者多个系统映像(SI)304、305、306、307和308。然后系统映像304、305、306、307和308通过它们的根复合体309、310和311连接到I/O结构。将把与对应根复合体一同设置的具体主CPU称为主节点。
每个根节点连接到根桥或者交换机322的根端口353、354和355之一。通过本发明的方式,根桥或者交换机322将其自己的虚拟化的地址空间或者VP 315、316和317提供给每个根节点。此外,单个或多个根端口将提供对VP号码0(VP0)314的存取。VP0 314是唯一的地址面,其用于存取在本发明中所述的配置机制。VP0的唯一之处在于,只有允许对结构的VP进行配置的根节点才可以存取它,并且因为配置300的部件使用在操作中出现的VP号码来允许对在本发明中所定义的VP配置机制的存取。通过本发明范围之外的机制将对VP0314的存取给予根节点以及在系统中的节点或者受托(trusted)节点,其中受托意味着在其中已经将所包含的、存取VP0314的软件设计和测试为这样的标准,即防止偶然或故意地对VP 315、316和317之间的地址空间进行共享,或者防止将多于一个根节点分配给VP,除非由管理策略特别请求和允许共享。
根桥或者交换机322根端口将其上的根节点的VP 314、315、316和317进行结合,因此该根桥或交换机322在其中具有处理VP0 318、VP1 319、VP2 320和VP3 321的资源。然后经由其辅助端口356和357将根桥或交换机322附连到I/O结构的其余部分。具体地说,端口356连接到桥或交换机327的端口358,而端口357连接到桥或交换机331的端口359。
然后经由辅助端口360将桥或者交换机327连接到I/O适配器(IOA)342,并且桥或交换机327还经由辅助端口361连接到IOA 345。以类似的方式,将桥或交换机331经由辅助端口362连接到I/O适配器(IOA)349,并且还将其经由辅助端口363连接到IOA 352。
示出IOA 342作为带有对于系统映像1(SI1)304可存取的、所分配的功能0(F0)343,和对于SI2305可存取的、所分配的功能1(F1)344的虚拟化IOA。由于主CPU组301包括映像SI1 304和SI2 305,并且由于该根节点具有对VP1 315的存取,因此将IOA 342进行分配以具有对VP1 333的存取。此外,在这种情况下是主CPU组301,被给予对VP0 314的存取的主CPU组还将具有对IOA 342的VP0地址空间332的存取。
以相同方式,示出IOA 345作为带有对于SI3 306可存取的、所分配的功能0(F0)346,和对于SI4 307可存取的、所分配的功能1(F1)347,以及对于SI5 308可存取的、所分配的功能3(F3)348的虚拟化IOA。由于主CPU组302和303包括映像SI3 306、SI4 307和SI5 308,并且由于这些根节点具有对VP2 316和VP3 317的存取,因此将IOA 345进行分配以具有对VP2 335和VP3 336的存取。此外,在这种情况下是主CPU组301,被给予对VP0 314的存取的主CPU组还将具有对IOA 345的VP0地址空间334的存取。
由于桥或交换机327服务VP0 314、332和334、VP1 333、VP2 335和VP3 336,其必须在其之内包含用于处理VP0 323、VP1 324、VP2 325和VP3326的资源。
示出IOA 349作为带有对于SI2 305可存取的、分配的F0 350,和对于SI4 307可存取的、分配的F1 351的虚拟化IOA。由于主CPU组301包括映像SI2 305,并且由于该根节点具有对VP3 317的存取,因此将IOA 342进行分配以具有对VP1 333和VP3 339的存取。此外,在这种情况下是主CPU组301,被给予对VP0 314的存取的主CPU组还将具有对IOA 349的VP0地址空间337的存取。
示出IOA 352作为带有对于SI5 308可存取的、分配的单个功能IOA。由于主CPU组303包括系统映像SI4 307和SI5 308,并且由于该根节点具有对VP3 317的存取,因此将IOA 352进行分配以具有对VP3 341的存取。此外,在这种情况下是主CPU组301,被给予对VP0 314的存取的主CPU组还将具有对IOA 352的VP0地址空间340的存取。
由于桥或交换机331服务VP0 314、337和340、VP1 338、VP3 339和341,其必须在其之内包含用于处理VP0 328、VP1 329和VP3 330的资源。
为了最大的灵活性,在包括根复合体、桥、交换机的I/O结构中的所有部件都将参予实施VP。在后面,将示出一种机制以允许将不实施VP的遗留根复合体和IOA组合到I/O结构中。
现在转到图4,根据本发明的说明性实施方式描述了需要被添加到I/O事项以实施VP的必要部件。这种描述应用于实施其资源被标有请求者ID402的I/O事项400的I/O结构。PCI-X和快捷PCI是包含附连到每个I/O事项400的请求者ID 402的这种结构的例子。这种描述定义了额外字段、VP字段401,该VP字段定义了要存取哪个VP。通过作为受托程序的配置程序在结构配置时来分配请求者ID 402和VP 401,并且由硬件将它们记住并且将它们自动地附连到每个I/O事项上。应该注意可以在请求者ID的现存定义中重新定义一些比特以作为VP字段。例如,在PCI结构中,请求者ID 402包括总线号码、设备号码和功能号码。为了实施仅仅需要一些VP的本发明,人们可以使用总线号码字段的一个或多个比特来实施VP字段。
然后将VP字段401用于经由在桥、交换机和IOA之类的I/O结构设备中的连接403来存取独立的一组配置地址空间404,每组用于每个VP。类似地,将VP字段401用于经由每个VP的连接405存取独立的I/O地址空间406,并且经由每个VP的连接407存取独立的存储器地址空间408。
图5示出了根据本发明的说明性实施方式的PCI-X事项的内容的更加详细的描述。PCI-X事项500,示出总线号码字段501,其包括在事项的属性段502中。可以通过使用一些这样的总线号码字段501比特或者通过定义独立的字段来实施本发明。
图6示出了根据本发明的说明性实施方式的快捷PCI的内容的更加详细的描述。PCI快捷事项600示出了如何插入VP号码字段603或者613。PCI快捷事项600包括事项层620或者623、数据链路层621或者624和物理层622或625。通过图6中的箭头示出了在每个层620、621、622、623、624和625中所包含的字段。
通过对字段601和608、或者611和618进行成帧而对PCI快捷事项600成帧。序列号码字段602或者612是数据链路层的一部分并且依次保持事项。头部字段604或者614是事项层的一部分并且包含关于事项的信息。在存在数据时,数据段605或者615包含事项中的数据。端到端的循环冗余校验(CRC)(ECRC)606或者616提供对事项数据和头部的端到端的校验。链路CRC(LCRC)607或者617提供链路级数据完整性检查。
可以将VP号码字段603插入在事项层620之外,或者将VP号码字段613插入在事项层623之外。在前一情况中,将不通过ECRC 606数据完整性检查来覆盖VP号码字段603。但是,如果要允许异构I/O结构,则这种实施方法工作得更好,也就是说,例如,会支持遗留I/O适配器或者遗留根节点。在后一情况中,将通过ECRC 616来覆盖VP号码613,但是对遗留系统的支持是不可能的,除非通过在I/O结构中间的部件对ECRC 616进行重新计算,其中假定了本来应该是端到端校验的ECRC 616的目的。
图7示出了根据本发明的说明性实施方式的PCI配置空间。具体地说,多功能比特701是在PCI配置头部700的头部类型字段中的。该比特告诉配置软件是否存在有实施的多于功能0的功能。将根据被分配给VP的设备的功能号码来对该比特进行调整。如果仅仅将多功能IOA的一个功能分配给具体VP,则当通过该VP存取IOA的配置空间时,要将该比特调整为0(单个功能)。因此,该VP的配置软件将不寻找IOA上的其他功能。
基准地址寄存器(BAR)是头部类型专用区域的一部分。该基准地址寄存器确定如何通过I/O结构来路由具体的事项。对于每个IOA功能存在有独立的基准地址寄存器,因此通过将细化的功能设置到功能级上的VP分配,用于功能的基准地址寄存器加上功能的VP号码将定义其用于该VP号码的路由。这些寄存器影响用于I/O地址空间和存储器地址空间的路由,如图4的406和408中所示。
PCI-X使用PCI配置头部700中的容量指针704来指向新的容量。快捷PCI在PCI配置头部700的固定地址处开始其扩展的容量702。可以通过使用这些来存取由本发明所定义的VP机制。这里还将进一步对快捷PCI机制进行定义,但是还可以经由PCI-X机制来实施本发明。用于VP机制的快捷PCI扩展容量702仅仅在PCI的物理F0上对于对VP0的修改可见。其不需要对于用于除了VP0之外的其他VP的读取可见,但是不需要阻止读取。
图8示出了根据本发明的说明性实施方式的配置头部。事实是对于给定设备号码和VP号码801或者802,可以将多至8种功能分配给VP。在图9种示出了用于将物理设备功能分配给VP的一种机制的定义。
图9示出了根据本发明的说明性实施方式将物理设备功能分配给VP的一个示例实施方式。本发明使得配置软件认为其具有自己的配置空间。为了这样做并且为了允许将物理设备的一些功能分配给一个VP而将其他的功能分配给不同的VP,就需要用于配置事项的重定向机制,从而将I/O结构上通过配置事项提供的功能号码定向到适当的物理设备功能号码,并且用正确的值来表示在图7的配置头部701种的多功能比特。由PCI架构来定义PCI配置事项。
用于F0和VP0 901的VP扩展容量包括VP容量头部902,如PCI架构所定义的一样并且具有指示这是用于VP扩展容量的头部的值。VP扩展容量901还包括所支持的VP的数量903,其告诉软件可以分配有设备功能的VP的数量。还对所支持的功能的数量904进行指定。注意所支持的功能数量不限于如在当前PCI架构中的8种,而是仅仅限于对于每个VP所支持的有8种。例如,如果设备支持四个VP,则设备可以支持四乘以八或者32种功能,并且软件可以将全部8种功能分配给该设备所支持的每个VP。所支持的VP 903和所支持功能的号码904一同告诉VP配置管理软件对于物理头部的虚拟功能号码(func#)(VFPH)图906的尺寸。VFPH在由BAR值加上由用于VFPH 905的BAR偏移所指定的偏移而指定的开始地址处的设备存储空间中。值902、903、904和905是只读的并且不能通过软件进行修改。在另一方面,VFPH图906试图被具有对VP0的存取的VP配置软件进行写操作,而不能由不具有对VP0的存取的任何配置软件进行写操作。
VP配置软件通过在本发明范围之外的一些方法得到关于要将哪些物理设备功能分配给哪些VP的信息。然后VP配置软件如下面所述的将适当的值写入到VFPH 906。在VFPH图中的第一项用来确定对于该设备对于VP1对F0的配置存取将发生什么,第二项确定对于VP1对F1的存取发生什么,等等,直到第八项确定对于VP1对F7的配置存取发生什么。在表中的随后项开始用于VP2的功能,等等。
由配置事项所存取的VFPH图906中的项指定对于该存取使用哪个设备配置头部907。由用于F0、VP0 901的VP扩展容量中的功能项904所支持的数量来指定所支持的配置头部的数量。此外,如果存取是对包括图7的多功能比特701的头部类型字段进行读取,则代之以插入来自VFPH图906的多功能(MF)比特910。以这种方式,如果设备支持比八乘以所支持的VP数量少的功能,如果仅仅将一种功能提供给VP,则软件可以设置MF比特给该VP和将VFPH图中的功能数量设置为0,从而用于该VP的配置软件仅仅看见单个功能设备。此外,可以不将功能从设备分配给VP,并且通过VP配置软件将0值设置到用于(诸如VP1 908或者VPn 909之类的)该VP号码的VFPH图中的F0到F7项而进行该操作,并且当试图存取以配置该设备时,硬件看到0并且好像没有在用于该特定VP的总线号码、设备号码和功能号码情况下的设备一样来处理该存取。
配置头部907包括图7的BAR 703,所以建立VFPH图的效果是将每个基准地址寄存器与具体VP进行关联。然后I/O设备使用该关联作为其执行的地址解码的一部分。也就是说,在基本PCI架构中,地址解码仅仅基于在基准地址寄存器中的地址,但是对于VP,地址解码是基于BAR中的地址和包括该BAR的头部907被分配到的VP。
现在转到图10,示出了根据本发明的说明性实施方式的存储器映射I/O(MMIO)操作的流程图。操作开始于MMIO操作,其可以是配置加载/存储、对I/O空间的加载/存储、或者对存储器空间的加载/存储,有设备接收该操作(步骤1002)并且确定这是配置事项存取还是正常MMIO操作(步骤1004)。如果这是正常MMIO操作,则使用与VP号码关联的基准地址寄存器和VP号码来确定MMIO的路由(步骤1006),并且处理该操作(步骤1008),并且之后操作结束。仅仅通过VP0允许对存取进行处理以修改VFPH图的操作。
返回到步骤1004,如果操作是配置事项,则确定总线号码和设备号码是否属于对该事项进行处理的设备(步骤1010)。如果不是,则将操作继续传给I/O结构的随后的级别(步骤1012),之后操作结束。返回到步骤1010,如果这是用于特定设备的配置,则确定这是否是VP0的存取(步骤1014)。如果该存取是VP0的,则将存取提供给前八个功能号码而不必存取VFPH图(步骤1016),然后对操作进行处理(步骤1008),之后操作结束。返回到步骤1014,如果配置存取不经由VP0,则通过使用VFPH图中的功能号码和VP号码来提供存取,以得到对指向适当PCI头部的指针,通过读取头部类型字段,插入来自VFPH的MF比特(步骤1018)。然后处理操作(步骤1008),之后操作结束。
图11示出了根据本发明的说明性实施方式的对直接存储器存取(DMA)操作的处理的详细流程图。DMA操作可以包括对消息信令中断(MSI)的处理。操作以接收DMA操作开始(步骤1102)。使用与VP号码关联的基准地址寄存器以及操作的VP号码来确定路由(步骤1104)。然后对操作进行处理(步骤1106),之后操作结束。
图12示出了根据本发明的说明性实施方式可以怎样地支持对VP不支持的遗留根复合体。在这种配置中,也可以支持对VP不支持的非遗留根复合体1201。在这里示出,IOA 1204和1205将支持VP。
关键是将来自遗留根复合体1202的所有操作分配给相同VP号码。所以,当将来自遗留根复合体1202的操作通过翻译逻辑1203进行传送时,将保存在硬件中的寄存器中并且已经由将VP号码分配给其他设备功能(也就是建立VFPH图)的相同软件配置管理者所设置的遗留VP号码,附连到来自遗留根复合体1202的事项。在向上的方向中,事项经由VP号码和基准地址寄存器被路由到翻译逻辑1203,然后其进行操作以在将VP号码传递到遗留根复合体1202之前从事项中提取VP号码。
图13示出了根据本发明的说明性实施方式可以怎样地支持对VP不支持的遗留IOA。在这种配置中,还可以支持对VP不支持的非遗留根复合体1301。这里示出,根复合体1301和1302将支持VP,但是也可以是遗留的,如图12中所示。
这里的关键在于将来自遗留IOA 1305的所有操作都分配给相同VP号码。所以,当通过翻译逻辑1303传递来自遗留IOA 1305的操作时,将保存在硬件中的寄存器中并且已经由将VP号码分配给其他设备功能(也就是建立VFPH图)的相同软件配置管理者所设置的遗留VP号码,附连到来自遗留IOA 1305的事项。在向下的方向中,经由VP号码和基准地址寄存器将事项路由到翻译逻辑1303,然后其进行处理以在将VP号码传递到遗留IOA1305之前从事项中提取VP号码。
总之,本发明的各方面提供了方法、设备和计算可用介质,用于将其自己独立的地址空间提供给多根节点系统中的每个根节点。该相同机制还允许在相同根节点中的多个系统映像具有它们自己独立的地址空间。本发明的实施方式还提供一种机制,用于将遗留根节点和不知道通过本发明所引入的机制的输入/输出(I/O)适配器进行组合。实施本发明的I/O适配器还可以具有它们支持的许多功能,这些功能大大超出每个I/O适配器(IOA)现在的八种功能。
本发明可以采取整个硬件实施方式的形式或者包括硬件和软件元件两者的实施方式。在优选实施方式中,在硬件和软件中实施本发明,其包括但不限于固件、常驻硬件、微代码等。
而且,本发明的各方面可以采取从提供计算机或任何指令执行系统使用的、或者与它们结合的程序代码的计算机可用或者计算机可读介质可以被存取的计算机程序产品的形式。为了本描述的目的,计算机可用或者计算机可读介质可以是能够包含、存储、通讯、传播、或传输用于由指令执行系统、设备、或装置使用的或者与它们结合的程序的任何设备。
介质可以是电子的、磁的、光的、电磁的、红外的、或者半导体系统(或设备或装置)或者传播介质。计算机可读介质的例子包括半导体或者固态存储器、磁带、可拆卸计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘现在的例子包括致密盘-只读存储器(CD-ROM)、致密盘-读/写(CD-R/W)和DVD。
适于存储和执行程序代码的数据处理系统包括通过系统总线直接或间接耦合到存储器部件的至少一个处理器。存储器元件可以包括在程序代码的实际执行期间所使用的本地存储器、大容量存储器和高速缓存存储器,该高速缓存存储器对至少一些程序代码提供临时存储,以减少在执行期间必须从大容量存储器检索代码的次数。
可以将输入/输出或者I/O设备(包括但不限于键盘、显示器、指示设备等)通过介入的I/O控制器或者直接耦合到系统。
还可以将网络适配器耦合到系统以允许数据处理系统通过介入的专门或者公共网络连接到其他数据处理系统或者远程指示器或者存储设备。调制解调器、有线调制解调器和以太网卡就是几种当前可获得的网络适配器。
已经为了说明和描述的目的呈现了对本发明的描述,但是不应该将本发明穷尽于和限制到这里所公开的形式。对于本领域的技术人员来说许多修改和变形都是可以的。选择和描述了实施方式以对本发明的原理、实际应用进行最好的说明,并且使得本领域的普通技术人员理解带有各种修改的本发明的各种实施方式都适合于所考虑的具体使用。

Claims (25)

1、一种在共享输入/输出结构中管理地址空间的计算机实施方法,该方法包括:
从共享输入/输出结构中的特定设备接收操作;
确定操作是否是配置事项;
响应于操作是配置事项,确定与操作关联的识别信息是否属于特定设备;
响应于识别信息属于特定设备,确定操作是否为经由多个面中的唯一地址面的存取;
响应于操作是来自与唯一地址面不同的其他面的存取,识别指针到适当的外围部件互连头部以形成识别的指针;和
使用识别的指针处理操作。
2.根据权利要求1所述的计算机实施方法,其中所述识别的指针使用虚拟面号码和与操作相关联的功能号码来进行确定。
3.根据权利要求2所述的计算机实施方法,其中所述虚拟面号码和功能号码将虚拟功能号码中的识别的指针定义到物理头部图。
4.根据权利要求1所述的计算机实施方法,其中与操作相关联的识别信息是总线号码和设备号码。
5.根据权利要求1所述的计算机实施方法,还包括:
响应于操作是其他类型的操作,确定操作的路由,其中使用虚拟面号码和与虚拟面号码关联的单个或者多个基准地址寄存器来确定路由;和
使用路由处理操作。
6.根据权利要求1所述的计算机实施方法,还包括:
响应于与操作相关联的识别信息属于另一个设备,将操作传送给I/O结构的下一级。
7.根据权利要求1所述的计算机实施方法,还包括:
响应于操作是来自唯一地址面的存取,提供存取给前八个功能号码;和
使用来自识别信息的功能号码来处理操作。
8.根据权利要求5所述的计算机实施方法,其中操作是存储器映射I/O操作。
9.根据权利要求5所述的计算机实施方法,其中操作是直接存储器存取操作。
10.根据权利要求1所述的计算机实施方法,其中操作是来自共享输入/输出结构中的多个遗留设备之一的遗留事项,并且管理用于多个遗留设备的地址空间包括:
检索与多个遗留设备相关联的虚拟面号码;
将虚拟面号码附连到遗留事项以形成修改的遗留事项;
使用与虚拟面号码关联的单个或多个基准地址寄存器和虚拟面号码来路由修改的遗留事项;和
使用修改的遗留事项来处理操作。
11.根据权利要求1所述的计算机实施方法,其中当完成操作时和需要对配置事项的响应事项的情况下,对特定设备的响应包括:
在响应事项中使用来自配置事项的请求者识别信息和虚拟面号码;
使用虚拟面号码和请求者识别信息对响应事项进行路由;和
用响应事项来对特定设备进行响应。
12.根据权利要求5所述的计算机实施方法,其中当完成操作时和需要对操作的响应事项的情况下,对特定设备的响应包括:
在响应事项中使用来自操作的请求者识别信息和虚拟面号码;
使用虚拟面号码和请求者识别信息来路由响应事项;和
用响应事项对特定设备进行响应。
13.一种数据处理系统包括:
总线系统;
连接到总线系统的通讯系统;
连接到总线系统的存储器,其中存储器包括一组指令;和
连接到总线系统的处理单元,其中该处理单元执行一组指令来:从共享输入/输出结构中的特定设备接收操作;确定操作是否是配置事项;响应于操作是配置事项,确定与操作关联的识别信息是否属于特定设备;响应于识别信息属于特定设备,确定操作是否为经由多个面中的唯一地址面的存取;响应于操作是来自与唯一地址面不同的其他面的存取,识别指针到适当的外围部件互连头部以形成识别的指针;和使用识别的指针处理操作。
14.根据权利要求13所述的数据处理系统,其中所述识别的指针使用虚拟面号码和与操作相关联的功能号码来进行确定。
15.根据权利要求14所述的数据处理系统,其中所述虚拟面号码和功能号码将虚拟功能号码中的识别的指针定义到物理头部图。
16.根据权利要求13所述的数据处理系统,其中与操作相关联的识别信息是总线号码和设备号码。
17.根据权利要求13所述的数据处理系统,还包括一组指令用于:响应于操作是其他类型的操作,确定操作的路由,其中使用虚拟面号码和与虚拟面号码关联的单个或者多个基准地址寄存器来确定路由;和使用路由处理操作。
18.根据权利要求13所述的数据处理系统,还包括一组指令用于:响应于与操作相关联的识别信息属于另一个设备,将操作传送给I/O结构的下一级。
19.根据权利要求13所述的数据处理系统,还包括一组指令用于:响应于操作是来自唯一地址面的存取,提供存取给前八个功能号码;和使用来自识别信息的功能号码来处理操作。
20.根据权利要求17所述的数据处理系统,其中操作是存储器映射I/O操作。
21.根据权利要求17所述的数据处理系统,其中操作是直接存储器存取操作。
22.根据权利要求13所述的数据处理系统,其中操作是来自共享输入/输出结构中的多个遗留设备之一的遗留事项,并且管理用于多个遗留设备的地址空间包括一组指令用于:检索与多个遗留设备相关联的虚拟面号码;将虚拟面号码附连到遗留事项以形成修改的遗留事项;使用与虚拟面号码关联的单个或多个基准地址寄存器和虚拟面号码来路由修改的遗留事项;和使用修改的遗留事项来处理操作。
23.根据权利要求13所述的数据处理系统,其中操作是从支持虚拟面号码的多个设备之一到共享输入/输出结构中的多个遗留设备之一的事项,并且管理用于多个遗留设备的地址空间包括一组指令用于:去除与事项关联的虚拟面号码以形成修改的事项;和将修改的事项路由到遗留设备。
24.根据权利要求17所述的数据处理系统,其中当完成操作时和需要对操作的响应事项的情况下,对特定设备的响应包括一组指令用于:在响应事项中使用来自操作的请求者识别信息和虚拟面号码;使用虚拟面号码和请求者识别信息来路由响应事项;和用响应事项对特定设备进行响应。
25.一种在共享输入/输出结构中用于管理地址空间的设备,该设备包括:
接收装置,用于从共享输入/输出结构中的特定设备接收操作;
用于确定操作是否是配置事项的确定装置;
用于响应于操作是配置事项以确定与操作关联的识别信息是否属于特定设备的确定装置;
用于响应于识别信息属于特定设备以确定操作是否为经由多个面中的唯一地址面的存取的确定装置;
识别装置,用于响应于操作是来自与唯一地址面不同的其他面的存取,识别指针到适当的外围部件互连头部以形成识别的指针;和
处理装置,用于使用识别的指针处理操作。
CNB2006101031835A 2005-07-07 2006-07-07 管理共享输入/输出结构的地址空间的方法、系统和设备 Expired - Fee Related CN100429636C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/176,922 2005-07-07
US11/176,922 US7492723B2 (en) 2005-07-07 2005-07-07 Mechanism to virtualize all address spaces in shared I/O fabrics

Publications (2)

Publication Number Publication Date
CN1892626A true CN1892626A (zh) 2007-01-10
CN100429636C CN100429636C (zh) 2008-10-29

Family

ID=37597508

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101031835A Expired - Fee Related CN100429636C (zh) 2005-07-07 2006-07-07 管理共享输入/输出结构的地址空间的方法、系统和设备

Country Status (2)

Country Link
US (1) US7492723B2 (zh)
CN (1) CN100429636C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108701085A (zh) * 2016-02-18 2018-10-23 美光科技公司 用于固态装置的多个地址寄存器的设备及方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496045B2 (en) 2005-07-28 2009-02-24 International Business Machines Corporation Broadcast of shared I/O fabric error messages in a multi-host environment to all affected root nodes
US8189603B2 (en) * 2005-10-04 2012-05-29 Mammen Thomas PCI express to PCI express based low latency interconnect scheme for clustering systems
US7474623B2 (en) 2005-10-27 2009-01-06 International Business Machines Corporation Method of routing I/O adapter error messages in a multi-host environment
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
US7631050B2 (en) * 2005-10-27 2009-12-08 International Business Machines Corporation Method for confirming identity of a master node selected to control I/O fabric configuration in a multi-host environment
US7395367B2 (en) * 2005-10-27 2008-07-01 International Business Machines Corporation Method using a master node to control I/O fabric configuration in a multi-host environment
US7430630B2 (en) * 2005-10-27 2008-09-30 International Business Machines Corporation Routing mechanism in PCI multi-host topologies using destination ID field
US20070136458A1 (en) * 2005-12-12 2007-06-14 Boyd William T Creation and management of ATPT in switches of multi-host PCI topologies
US20070165596A1 (en) * 2006-01-18 2007-07-19 Boyd William T Creation and management of routing table for PCI bus address based routing with integrated DID
US7380046B2 (en) * 2006-02-07 2008-05-27 International Business Machines Corporation Method, apparatus, and computer program product for routing packets utilizing a unique identifier, included within a standard address, that identifies the destination host computer system
US7484029B2 (en) * 2006-02-09 2009-01-27 International Business Machines Corporation Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters
US8412860B2 (en) * 2009-04-01 2013-04-02 Fusion-Io, Inc. Input/output (I/O) virtualization system
US8521915B2 (en) * 2009-08-18 2013-08-27 Fusion-Io, Inc. Communicating between host computers and peripheral resources in an input/output (I/O) virtualization system
US8255453B2 (en) 2009-09-14 2012-08-28 International Business Machines Corporation Public BOT management in private networks
US8732349B2 (en) * 2009-11-18 2014-05-20 Fusion-Io, Inc. Assignment of resources in an input/output (I/O) virtualization system
US8959253B2 (en) * 2009-12-23 2015-02-17 Intel Corporation Virtualizing a powered down input/output device
US8949499B2 (en) 2010-06-24 2015-02-03 International Business Machines Corporation Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch
US8271710B2 (en) * 2010-06-24 2012-09-18 International Business Machines Corporation Moving ownership of a device between compute elements
US10157160B2 (en) * 2015-06-04 2018-12-18 Intel Corporation Handling a partition reset in a multi-root system
CN113377704B (zh) * 2021-06-11 2022-04-12 上海壁仞智能科技有限公司 人工智能芯片以及数据操作方法

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257353A (en) 1986-07-18 1993-10-26 Intel Corporation I/O control system having a plurality of access enabling bits for controlling access to selective parts of an I/O device
US5367695A (en) 1991-09-27 1994-11-22 Sun Microsystems, Inc. Bus-to-bus interface for preventing data incoherence in a multiple processor computer system
US5960213A (en) 1995-12-18 1999-09-28 3D Labs Inc. Ltd Dynamically reconfigurable multi-function PCI adapter device
US6061753A (en) 1998-01-27 2000-05-09 Emc Corporation Apparatus and method of accessing target devices across a bus utilizing initiator identifiers
US6470436B1 (en) * 1998-12-01 2002-10-22 Fast-Chip, Inc. Eliminating memory fragmentation and garbage collection from the process of managing dynamically allocated memory
US6769021B1 (en) 1999-09-15 2004-07-27 Adaptec, Inc. Methods for partitioning end nodes in a network fabric
US6662251B2 (en) 2001-03-26 2003-12-09 International Business Machines Corporation Selective targeting of transactions to devices on a shared bus
US7171458B2 (en) 2001-06-12 2007-01-30 International Business Machines Corporation Apparatus and method for managing configuration of computer systems on a computer network
US6775750B2 (en) 2001-06-29 2004-08-10 Texas Instruments Incorporated System protection map
US7036122B2 (en) 2002-04-01 2006-04-25 Intel Corporation Device virtualization and assignment of interconnect devices
US6907510B2 (en) 2002-04-01 2005-06-14 Intel Corporation Mapping of interconnect configuration space
US20030221030A1 (en) 2002-05-24 2003-11-27 Timothy A. Pontius Access control bus system
US7194538B1 (en) 2002-06-04 2007-03-20 Veritas Operating Corporation Storage area network (SAN) management system for discovering SAN components using a SAN management server
US7251704B2 (en) 2002-08-23 2007-07-31 Intel Corporation Store and forward switch device, system and method
US6907494B2 (en) * 2002-10-10 2005-06-14 International Business Machines Corporation Method and system of managing virtualized physical memory in a memory controller and processor system
US7120711B2 (en) 2002-12-19 2006-10-10 Intel Corporation System and method for communicating over intra-hierarchy and inter-hierarchy links
US7457906B2 (en) 2003-01-21 2008-11-25 Nextio, Inc. Method and apparatus for shared I/O in a load/store fabric
US7953074B2 (en) 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7219183B2 (en) 2003-01-21 2007-05-15 Nextio, Inc. Switching apparatus and method for providing shared I/O within a load-store fabric
US7174413B2 (en) 2003-01-21 2007-02-06 Nextio Inc. Switching apparatus and method for providing shared I/O within a load-store fabric
US7188209B2 (en) 2003-04-18 2007-03-06 Nextio, Inc. Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets
JP2004280636A (ja) * 2003-03-18 2004-10-07 Internatl Business Mach Corp <Ibm> ユーザインターフェース非装備の通信接続型情報処理装置を含む情報処理システムおよびその制御方法
US20040210754A1 (en) 2003-04-16 2004-10-21 Barron Dwight L. Shared security transform device, system and methods
US7380018B2 (en) 2003-05-15 2008-05-27 Broadcom Corporation Peripheral bus transaction routing using primary and node ID routing information
US7096305B2 (en) 2003-05-15 2006-08-22 Broadcom Corporation Peripheral bus switch having virtual peripheral bus and configurable host bridge
US20050044301A1 (en) 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
US7243167B2 (en) * 2003-09-19 2007-07-10 Intel Corporation Managing peripheral device address space resources using a tunable bin-packing/knapsack algorithm
US7200687B2 (en) * 2003-09-25 2007-04-03 International Business Machines Coporation Location-based non-uniform allocation of memory resources in memory mapped input/output fabric
US7437738B2 (en) 2003-11-12 2008-10-14 Intel Corporation Method, system, and program for interfacing with a network adaptor supporting a plurality of devices
US20050228531A1 (en) 2004-03-31 2005-10-13 Genovker Victoria V Advanced switching fabric discovery protocol
US20050270988A1 (en) 2004-06-04 2005-12-08 Dehaemer Eric Mechanism of dynamic upstream port selection in a PCI express switch
US8285907B2 (en) 2004-12-10 2012-10-09 Intel Corporation Packet processing in switched fabric networks
US20060174094A1 (en) 2005-02-02 2006-08-03 Bryan Lloyd Systems and methods for providing complementary operands to an ALU
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
US20060179265A1 (en) 2005-02-08 2006-08-10 Flood Rachel M Systems and methods for executing x-form instructions
US7360058B2 (en) 2005-02-09 2008-04-15 International Business Machines Corporation System and method for generating effective address
US7350029B2 (en) 2005-02-10 2008-03-25 International Business Machines Corporation Data stream prefetching in a microprocessor
US7380066B2 (en) 2005-02-10 2008-05-27 International Business Machines Corporation Store stream prefetching in a microprocessor
US7254697B2 (en) 2005-02-11 2007-08-07 International Business Machines Corporation Method and apparatus for dynamic modification of microprocessor instruction group at dispatch
US7395414B2 (en) 2005-02-11 2008-07-01 International Business Machines Corporation Dynamic recalculation of resource vector at issue queue for steering of dependent instructions
US20060184769A1 (en) 2005-02-11 2006-08-17 International Business Machines Corporation Localized generation of global flush requests while guaranteeing forward progress of a processor
US7631308B2 (en) 2005-02-11 2009-12-08 International Business Machines Corporation Thread priority method for ensuring processing fairness in simultaneous multi-threading microprocessors
US20060184770A1 (en) 2005-02-12 2006-08-17 International Business Machines Corporation Method of implementing precise, localized hardware-error workarounds under centralized control
US7493425B2 (en) 2005-02-25 2009-02-17 International Business Machines Corporation Method, system and program product for differentiating between virtual hosts on bus transactions and associating allowable memory access for an input/output adapter that supports virtualization
US7260664B2 (en) 2005-02-25 2007-08-21 International Business Machines Corporation Interrupt mechanism on an IO adapter that supports virtualization
US20060195663A1 (en) 2005-02-25 2006-08-31 International Business Machines Corporation Virtualized I/O adapter for a multi-processor data processing system
US7870301B2 (en) 2005-02-25 2011-01-11 International Business Machines Corporation System and method for modification of virtual adapter resources in a logically partitioned data processing system
US7543084B2 (en) 2005-02-25 2009-06-02 International Business Machines Corporation Method for destroying virtual resources in a logically partitioned data processing system
US7496790B2 (en) 2005-02-25 2009-02-24 International Business Machines Corporation Method, apparatus, and computer program product for coordinating error reporting and reset utilizing an I/O adapter that supports virtualization
US20060195848A1 (en) 2005-02-25 2006-08-31 International Business Machines Corporation System and method of virtual resource modification on a physical adapter that supports virtual resources
US7685335B2 (en) 2005-02-25 2010-03-23 International Business Machines Corporation Virtualized fibre channel adapter for a multi-processor data processing system
US7386637B2 (en) 2005-02-25 2008-06-10 International Business Machines Corporation System, method, and computer program product for a fully trusted adapter validation of incoming memory mapped I/O operations on a physical adapter that supports virtual adapters or virtual resources
US20060195617A1 (en) 2005-02-25 2006-08-31 International Business Machines Corporation Method and system for native virtualization on a partially trusted adapter using adapter bus, device and function number for identification
US20060212870A1 (en) 2005-02-25 2006-09-21 International Business Machines Corporation Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization
US7376770B2 (en) 2005-02-25 2008-05-20 International Business Machines Corporation System and method for virtual adapter resource allocation matrix that defines the amount of resources of a physical I/O adapter
US7480742B2 (en) 2005-02-25 2009-01-20 International Business Machines Corporation Method for virtual adapter destruction on a physical adapter that supports virtual adapters
US8656488B2 (en) 2005-03-11 2014-02-18 Trend Micro Incorporated Method and apparatus for securing a computer network by multi-layer protocol scanning
US8176204B2 (en) 2005-03-11 2012-05-08 Hewlett-Packard Development Company, L.P. System and method for multi-host sharing of a single-host device
US7293129B2 (en) 2005-04-22 2007-11-06 Sun Microsystems, Inc. Flexible routing and addressing
US7565463B2 (en) 2005-04-22 2009-07-21 Sun Microsystems, Inc. Scalable routing and addressing
US7478178B2 (en) 2005-04-22 2009-01-13 Sun Microsystems, Inc. Virtualization for device sharing
US7613864B2 (en) 2005-04-22 2009-11-03 Sun Microsystems, Inc. Device sharing
US7409589B2 (en) 2005-05-27 2008-08-05 International Business Machines Corporation Method and apparatus for reducing number of cycles required to checkpoint instructions in a multi-threaded processor
US7496045B2 (en) 2005-07-28 2009-02-24 International Business Machines Corporation Broadcast of shared I/O fabric error messages in a multi-host environment to all affected root nodes
US7474623B2 (en) 2005-10-27 2009-01-06 International Business Machines Corporation Method of routing I/O adapter error messages in a multi-host environment
US7395367B2 (en) 2005-10-27 2008-07-01 International Business Machines Corporation Method using a master node to control I/O fabric configuration in a multi-host environment
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
US7430630B2 (en) 2005-10-27 2008-09-30 International Business Machines Corporation Routing mechanism in PCI multi-host topologies using destination ID field
US7631050B2 (en) 2005-10-27 2009-12-08 International Business Machines Corporation Method for confirming identity of a master node selected to control I/O fabric configuration in a multi-host environment
US20070136458A1 (en) 2005-12-12 2007-06-14 Boyd William T Creation and management of ATPT in switches of multi-host PCI topologies

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108701085A (zh) * 2016-02-18 2018-10-23 美光科技公司 用于固态装置的多个地址寄存器的设备及方法
CN108701085B (zh) * 2016-02-18 2022-06-21 美光科技公司 用于固态装置的多个地址寄存器的设备及方法

Also Published As

Publication number Publication date
CN100429636C (zh) 2008-10-29
US7492723B2 (en) 2009-02-17
US20070019637A1 (en) 2007-01-25

Similar Documents

Publication Publication Date Title
CN1892626A (zh) 管理共享输入/输出结构的地址空间的方法、系统和设备
US7549003B2 (en) Creation and management of destination ID routing structures in multi-host PCI topologies
US7430630B2 (en) Routing mechanism in PCI multi-host topologies using destination ID field
JP5128222B2 (ja) データ処理システム、並びに、データ処理システムの複数の入出力アダプタ・ユニットからの要求を処理する方法若しくは複数の入出力アダプタ・ユニットを分離する方法およびそれらのコンピュータ・プログラム
US7870301B2 (en) System and method for modification of virtual adapter resources in a logically partitioned data processing system
US7577764B2 (en) Method, system, and computer program product for virtual adapter destruction on a physical adapter that supports virtual adapters
US7571273B2 (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
US7653801B2 (en) System and method for managing metrics table per virtual port in a logically partitioned data processing system
US7966616B2 (en) Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization
US7260664B2 (en) Interrupt mechanism on an IO adapter that supports virtualization
US7707465B2 (en) Routing of shared I/O fabric error messages in a multi-host environment to a master control root node
US7398328B2 (en) Native virtualization on a partially trusted adapter using PCI host bus, device, and function number for identification
US20070136458A1 (en) Creation and management of ATPT in switches of multi-host PCI topologies
US20070165596A1 (en) Creation and management of routing table for PCI bus address based routing with integrated DID
US20060195848A1 (en) System and method of virtual resource modification on a physical adapter that supports virtual resources
US20060195620A1 (en) System and method for virtual resource initialization on a physical adapter that supports virtual resources
US8918568B2 (en) PCI express SR-IOV/MR-IOV virtual function clusters
US20060195617A1 (en) Method and system for native virtualization on a partially trusted adapter using adapter bus, device and function number for identification
US20060195623A1 (en) Native virtualization on a partially trusted adapter using PCI host memory mapped input/output memory address for identification
CN1904873A (zh) 嵌入式实时操作系统中多核处理器的核间通信方法及装置
US20080137676A1 (en) Bus/device/function translation within and routing of communications packets in a pci switched-fabric in a multi-host environment environment utilizing a root switch
JP2010140471A (ja) 冗長構成を生成するための周辺機器相互接続入出力仮想化デバイスの使用
CN1304950C (zh) 多处理器数据处理系统中对分区指派处理器的方法和系统
JP2013539098A (ja) I/oメッセージの影響を受ける1つ又は複数個のパーティション化可能なエンドポイントを決定するデータ処理システム

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081029

Termination date: 20150707

EXPY Termination of patent right or utility model