CN1306406C - 在多个输入/输出子***映像上共享通信适配器的方法和*** - Google Patents
在多个输入/输出子***映像上共享通信适配器的方法和*** Download PDFInfo
- Publication number
- CN1306406C CN1306406C CNB2004100381531A CN200410038153A CN1306406C CN 1306406 C CN1306406 C CN 1306406C CN B2004100381531 A CNB2004100381531 A CN B2004100381531A CN 200410038153 A CN200410038153 A CN 200410038153A CN 1306406 C CN1306406 C CN 1306406C
- Authority
- CN
- China
- Prior art keywords
- subsystem
- channel
- images
- subsystem images
- reflection
- 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.)
- Expired - Lifetime
Links
- 238000004891 communication Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims description 42
- 238000009826 distribution Methods 0.000 claims description 2
- 238000005192 partition Methods 0.000 description 65
- 238000012217 deletion Methods 0.000 description 27
- 230000037430 deletion Effects 0.000 description 27
- 230000004044 response Effects 0.000 description 27
- 230000008859 change Effects 0.000 description 23
- 230000000875 corresponding effect Effects 0.000 description 23
- 102000004137 Lysophosphatidic Acid Receptors Human genes 0.000 description 18
- 108090000642 Lysophosphatidic Acid Receptors Proteins 0.000 description 18
- 238000012986 modification Methods 0.000 description 18
- 230000004048 modification Effects 0.000 description 18
- 231100001263 laboratory chemical safety summary Toxicity 0.000 description 15
- 230000009471 action Effects 0.000 description 11
- 238000013507 mapping Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000001174 ascending effect Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000000717 retained effect Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 101710131373 Calpain small subunit 1 Proteins 0.000 description 1
- 102100029318 Chondroitin sulfate synthase 1 Human genes 0.000 description 1
- 201000000233 Coffin-Siris syndrome 1 Diseases 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
由中央处理复合体的一输入/输出(I/O)子***的多个I/O子***映像共享一通信适配器。为使能共享,该通信适配器被配置到所述多个I/O子***映像的多个I/O路径。一I/O子***可以具有一或多个共享的通信适配器。
Description
技术领域
本发明一般涉及输入/输出(I/O)处理,尤其涉及扩展在I/O处理中使用的输入/输出子***的功能。
背景技术
在诸如由位于纽约阿蒙克国际商业机器公司提供的eServer zSeries和ESA/390***的各种计算***中,具有被称作多映像工具(MIF)的工具。这种工具允许一中央处理复合体(central processing complex,CPC)的多个操作***映像透明地共享一指定通道子***的诸通道。尤其是,在逻辑分区化控制下运行的CPC被分成多个逻辑分区,所述逻辑分区被耦合到CPC的相同通道子***。通过MIF,通道子***的诸通道被逻辑分区所共享,并因此被在其中运行的、耦合到通道子***的诸操作***所共享。例如在1995年5月9日颁发的、Brice,Jr.等人的美国专利5,414,851,“多个操作***共享I/O资源的方法和装置(Method and Means for SharingI/O Resources By a Plurality of Operating Systems)”中描述了这种共享的一个实施例,这里完整地参考引用了该专利。
虽然多映像工具允许在CPC的被配置到相同通道子***的操作***映像之间共享通道,然而仍然需要一种扩展通道共享的能力。例如,需要一种允许在配置到CPC的不同I/O子***映像的操作***映像之间共享通道和/或其它通信适配器的能力。
发明内容
通过提供一种增强计算环境的输入/输出处理的方法克服了现有技术的缺点,并且提供了额外的优点。例如,该方法包含向计算环境的一I/O子***的一输入/输出(I/O)子***映像分配一通信适配器;以及向该I/O子***的另一个I/O子***映像分配该通信适配器,其中该I/O子***映像和该另一个I/O子***映像共享该通信适配器。
在本发明的另一个方面,提供了一种增强计算环境的输入/输出处理的方法。例如,该方法包含由计算环境的一I/O子***的多个I/O子***映像中的若干I/O子***映像共享一通信适配器,其中一I/O子***映像被计算环境的程序视为一独立I/O子***。
这里还描述了对应于上述方法的***和计算机程序产品,并对其提出权利要求。
通过本发明的技术还可以实现额外的特性和优点。在这里详细描述了本发明的其它实施例和方面并且这些实施例和方面被当作由权利要求所定义的本发明的一部分。
附图说明
在说明书结尾部分的权利要求书中特别指出了被认为是本发明的主题内容并且对上述内容明确提出了权利要求。通过下面结合附图进行的详细描述可以理解本发明的上述和其它目标、特性和优点,其中:
图1a描述了引入并且使用本发明的一或多个方面的计算环境的一个
实施例;
图1b根据本发明的一个方面描述了用于图1a的计算环境中的通信的I/O路径(例如通道路径)的一个例子;
图1c根据本发明的一个方面描述了图1a中被配置为多个I/O子***(例如通道子***)映像的I/O子***(例如通道子***)的一个实施例;
图1d根据本发明的一个方面描述了图1c的通道子***映像的多映像工具(MIF)的映像的进一步细节;
图1e根据本发明的一个方面描述了图1c的通道子***映像的通道路径组(CPS)的进一步细节;
图2根据本发明的一个方面描述了耦合到多个通道子***映像的多个逻辑分区的一个实施例;
图3根据本发明的一个方面图示了跨越通道(spanned channel)的一个例子;
图4a根据本发明的一个方面说明了两个通道子***映像使用相同的物理通道,以及不同通道子***映像具有表示不同物理通道的相同通道路径号(CHPID)的一个例子;
图4b根据本发明的一个方面说明了产生I/O配置数据集(IOCDS)中的数据结构的一CHPID语句;
图4c根据本发明的一个方面说明了向IOCDS的物理控制单元数据结构加入通道子***映像的附加信息;
图4d根据本发明的一个方面说明了在每个通道子***映像的子通道数据结构中表示可被多个通道子***映像访问的设备的情况;
图5根据本发明的一个方面描述了跨越组的一个例子,其中一个物理通道被配置到不同通道子***映像的诸通道路径;
图6a根据本发明的一个方面描述了改变通道路径配置命令的请求块的一个实施例;
图6b根据本发明的一个方面描述了改变通道路径配置命令的响应块的一个实施例;
图6c-6f根据本发明的一个方面描述了在执行改变通道路径配置命令期间所执行的各种检查;
图7a根据本发明的一个方面描述了存储配置部件列表命令的请求块的一个实施例;以及
图7b根据本发明的一个方面描述了存储配置部件列表命令的响应块的一个实施例。
具体实施方式
根据本发明的一个方面,提供了一种工具,其中物理输入/输出子***(例如通道子***)的多个I/O子***映像(例如通道子***映像)共享通信适配器(例如物理通道)。例如,物理输入/输出子***被配置为多个输入/输出子***映像,以便逻辑地扩充输入/输出子***的功能,并且一或多个通信适配器被多个这样的子***映像共享。这种方式在这里被称为跨越(spanning)。
参照图1a描述了引入并且使用本发明的一或多个方面的计算环境的一个实施例。在一个例子中,计算环境100基于由位于纽约阿蒙克的国际商业机器公司提供的z/Architecture。在IBM出版物“z/Architecture操作原理(z/Architecture Principles of Operation)”,出版号SA22-7832-01,2001年10月中描述了z/Architecture,这里完整地参考引用了该文献。
作为一个例子,计算环境100包含通过一或多个控制单元108连接到一或多个输入/输出(I/O)设备106的中央处理器复合体(CPC)102。中央处理器复合体102包含例如一或多个中央处理器110、一或多个分区112(例如逻辑分区(LP))、一逻辑分区管理程序114和一输入/输出子***115,下面描述上述每个部分。
中央处理器110是分配给逻辑分区的物理处理器资源。具体地,每个逻辑分区112具有一或多个逻辑处理器,每个逻辑处理器代表分配给该分区的一物理处理器110的全部或一部分。(由管理程序)针对其分派逻辑处理器的物理处理器可以是专用于一给定分区的逻辑处理器,也可以由被配置给多个共享逻辑分区的逻辑处理器所共享。
一逻辑分区充当一分立的***,并且在其中具有一或多个应用和一驻留操作***,所述应用和操作***对于每个逻辑分区可以是不同的。在一个实施例中,操作***是由位于纽约阿蒙克的国际商业机器公司提供的z/OS操作***、z/VM操作***、z/Linux操作***或TPF操作***。
由通过在处理器110上运行的许可内部代码(Licensed Internal Code)实现的逻辑分区管理程序114管理逻辑分区112。逻辑分区和逻辑分区管理程序均包括驻留在与中央处理器相关的中央存储器的相应分区中的一或多个程序。逻辑分区管理程序114的一个例子是由位于纽约阿蒙克的国际商业机器公司提供的处理器资源/***管理器(PR/SM)。在例如以下专利中描述了有关逻辑分区的进一步细节:Guyette等人的美国专利No.4,564,903,“分区多处理器编程***(Partitioned MultiprocessorProgramming System)”,1986年1月14日颁发;Bean等人的美国专利No.4,843,541,“数据处理***的逻辑资源分区(Logical ResourcePartitioning of a Data Processing System)”,1989年6月27日颁发;和Kubala的美国专利No.5,564,040,“在逻辑分区硬件机器中提供服务器功能的方法和设备(Method and Apparatus for Providing a Server Funtion inA Logically Partitioned Hardware Machine)”,1996年10月8日颁发,这里完整地参考引用了所述专利。
输入/输出子***115控制输入/输出设备106和主存储器之间的信息流。它被连接到中央处理复合体,其中它可以是中央处理复合体的一部分,或与之相分离。I/O子***解除了中央处理器直接与输入/输出设备通信的负担,并且允许与输入/输出处理并行地进行数据处理。为提供通信,I/O子***使用I/O通信适配器。存在各种通信适配器,例如包含通道、I/O适配器、PCI卡、以太网卡、小型计算机存储接口(SCSI)卡等等。在这里描述的具体例子中,I/O通信适配器是通道,因此I/O子***在这里被称作通道子***。然而这仅仅是一个例子。其它类型的I/O子***也可以引入和使用本发明的一或多个方面。
在管理来自和去往输入/输出设备106的信息流时,I/O子***使用一或多个输入/输出路径作为通信链路。在这个具体例子中,这种路径被称作通道路径,因为通信适配器是通道。每个通道路径116(图1b)包含通道子***115的通道117、控制单元108、通道和控制单元之间的链路118(例如串行的或并行的)和连接到控制单元的一或多个I/O设备106。在其它实施例中,通道路径可以具有多个控制单元和/或其它部件。此外,在另一个例子中,也可以具有一或多个动态交换器以作为通道路径的一部分。动态交换器被连接到通道和控制单元,并且提供物理互连任何两个与该交换器相连的链路的能力。在1996年6月11日颁发的Casper等人的美国专利No.5,526,484,“使通道命令字处理流水线化的方法和***(Method andSystem for Pipelining the Processing of Channel Command Words)”中描述了有关通道子***的进一步细节,这里完整地参考引用了该专利。
通道子***可通过不止一个通道路径访问控制单元。类似地,通道子***可通过不止一个控制单元访问I/O设备,其中每个控制单元具有到达通道子***的一或多个通道路径。控制单元接受来自通道子***的控制信号,控制通道路径上数据传送的定时,并且提供有关设备状态的指示。控制单元可以被单独安置,也可以物理和逻辑上与I/O设备、通道子***或中央处理器集成。
连接到控制单元的I/O设备可以被设计成执行某些有限的操作,也可以执行许多不同的操作。为完成其操作,设备使用专用于其设备类型的具体信号序列。控制单元对从通道子***接收的命令进行解码,针对设备的具体类型对其进行解释,并且提供执行操作所需的信号序列。
除了一或多个通道之外,通道子***包含一或多个子通道。每个子通道被提供给并且专用于一个I/O设备,或一组I/O设备,其通过通道子***耦合到所述程序。每个子通道提供涉及相关I/O设备或I/O设备组及其与通道子***的连接的信息。子通道还提供有关涉及相关I/O设备或I/O设备组的I/O操作和功能的信息。子通道向所述程序提供设备或设备组的逻辑外部连接(logical appearance),并且被通道子***用来向中央处理器提供有关相关I/O设备的信息,所述中央处理器通过执行I/O指令获得此信息。子通道具有内部存储器,其包含以下形式的信息:通道命令字(CCW)地址、通道路径标识、设备号、计数、状态指示和I/O中断子类码,以及有关路径可用性和待执行或正执行的功能的信息。通过执行I/O指令来对设备启动I/O操作,所述I/O指令指定与设备相关的子通道。
下面参照图1c描述有关通道子***的进一步细节。通道子***115(或其它I/O子***)被配置成多个通道子***映像120(或其它I/O子***映像),其中的每个由通道子***映像标识(CSSID)(或其它I/O子***标识)来标识。在一个例子中,通过模型相关装置,其中在初始化期间使用诸配置控制,或者通过使用适当的动态I/O配置命令,将通道子***配置成1到256个通道子***映像。每个通道子***映像被程序视为完整的通道子***。每个通道子***映像可以具有例如1到256的唯一通道路径,从而将可以配置到通道子***的通道路径的最大数从256增加到65,536。多通道子***工具(MCSS)利于将通道子***配置成多个通道子***映像,在Brice等人的与本申请一起提交的美国专利申请“多逻辑输入/输出子***工具(Multiple Logical Input/Output Subsystem Facility)”(IBM Docket No.POU920020071US1)中描述了其一个实施例,这里完整地参考引用了该专利申请。
通道子***映像120包含例如多映像工具(MIF)122,多映像工具122包含一或多个(例如多达16个)MIF映像,其每个均由MIF映像标识(IID)标识。多映像工具允许每个逻辑分区实现对被配置到多个逻辑分区并且由其动态共享的通道路径、控制单元和I/O设备的独立访问。
作为一个例子,每个逻辑分区被配置到一不同的MIF映像(参见图2),以便为逻辑分区提供针对由其它逻辑分区共享的通道路径、控制单元和设备的一组独立控制。在1995年5月9日颁发的Brice,Jr.等人的美国专利No.5,414,851,“多个操作***共享I/O资源的方法和装置(Methodand Means for Sharing I/O Resources by a Plurality of OperatingSystems)”中描述了有关多映像工具的各种细节,这里完整地参考引用了该专利。
如图1d所示,对于每个MIF映像,通道子***提供了一组单独的通道路径控制和一组单独的子通道控制。对于每个MIF映像,用于每个所配置的通道路径的每组通道路径控制被称作通道路径映像124。与被配置到一MIF映像的诸通道路径相关的一或多个通道路径映像的集合被称作通道路径映像组126。此外,对于每个MIF映像,为被配置到该MIF映像的每个I/O设备或设备组提供被称作子通道映像128的一单独的子通道。被配置到一MIF映像的一或多个子通道映像的集合被称作子通道映像组130。
回来参照图1c,除了一MIF之外,通道子***映像120还包含一通道路径组(CPS)134。通道路径组134包含例如1到256个通道路径140(图1e),其被配置到相关MIF中的一或多个通道路径映像。由通道路径标识(CHPID)标识每个通道路径。被配置到一通道路径组的每个通道路径可以相对于被配置到所提供的其它通道子***映像的其它通道路径是唯一的。然而,因为可以提供多达256个通道子***映像,分配给每个通道路径组中的通道路径的CHPID值可能不唯一。因此,每个通道路径由唯一地址指定,其中通过例如将CSSID与分配给该通道路径的通道路径标识串联来形成所述唯一地址。映像ID(IID)进一步标识每个所配置的通道路径的通道路径映像。
通道路径被配置到物理通道。根据本发明的一个方面,相同物理通道可以被配置到不同通道子***映像的多个通道路径。也就是说,一个通道可以被配置到多个通道子***映像。这种共享通道可以认为是跨越多个通道子***映像,于是在这里被称作跨越通道或跨越通道路径。图3描述了跨越通道的一个例子。
参照图3,在一个例子中,计算环境300包含两个通道子***映像302a、302b。通道子***映像302a包含例如两个MIF映像304a,304b,而通道子***映像302b包含例如一个MIF映像304c。MIF映像304a、304b被耦合到通道路径组306a,而MIF映像304c被耦合到通道路径组306b。
在这个具体例子中被耦合到通道子***映像302a的逻辑分区308a和308b均被配置成使用CHPID0,于是CHPID0在这里被称作共享通道路径310a。另一方面,CHPID 255仅仅被配置成由逻辑分区308c来使用,于是被认为是非共享通道路径310b。此外,由于通道子***映像302a中的CHPID2和通道子***映像302b中的CHPID2均被配置到相同的物理通道312,所以该物理通道是跨越通道310c。下面更详细地描述多个通道子***映像中的通道共享。
一个通道子***具有若干个被配置给它的物理通道(例如65,536个),其中的每个由物理通道标识(PCHID)标识。例如,计算机***为可以支持通道卡、或可以提供I/O或逻辑接口的每个可能位置分配一物理通道标识。为了给物理通道分配PCHID值,使用一种利用了机器的实际物理性质的技术。例如,为每个I/O插槽分配16个PCHID值,因为在这个例子中,最密集的I/O卡提供16个接口。然而此技术是通用的,因为如果提供更加密集的I/O卡,可以向最初的每插槽16个增加新的值。对于每个物理通道,可以有与其相关的一或多个逻辑通道路径。
例如,如图4a所示,相同物理通道(例如PCHID 1004、PCHID 2010、PCHID 2045或PCHID 2047)正被若干逻辑通道子***使用。中心列400说明了机器中的多个物理通道的例子,而左和右列402和404分别示出了不同的通道子***映像(即逻辑通道子***)。如图所示,在物理通道正被多通道子***使用(即跨越)的情况下,相同或不同逻辑CHPID号表示相同的物理通道。此外,如图所示,不同逻辑通道子***可以具有表示不同物理通道的相同CHPID号。
为了给通道路径和因而给通道子***映像分配物理通道,定义I/O配置。在一个例子中,使用例如一个将人产生的语法转换成二进制数据的程序定义I/O配置,其中当机器启动时,在有程序使用动态I/O接口之前,机器使用该二进制数据以进行配置。(动态I/O是定义I/O的另一个方式,如下所述。)这个程序被称作I/O配置程序(IOCP)。在“IYP IOCP的zSeries输入/输出配置程序用户指南″(zSeries Input/Output ConfigurationProgram User’s Guide for IYP IOCP)”,IBM出版物No.SB 10-7029-03b,第四版,级别03b,2002年12月中描述了有关IOCP的各种细节,这里完整地参考引用了该文献。I/O配置程序根据输入数据语句建立配置定义,并且将该定义存储在通道子***使用的I/O配置数据集(IOCDS)中。在一个例子中,输入语句包含:
1.ID语句,是定义I/O配置报告的标题数据的可选语句;
2.RESOURCE语句,指定要配置的通道子***映像(CSS)和CSSID,以及要在每个这样的通道子***映像内定义的逻辑分区;
3.一或多个CHPID语句,被用来指定通道路径;
4.一或多个控制单元语句(CNTLUNIT),被用来指定连接到通道路径的一或多个控制单元;
5.一或多个I/O设备语句(IODEVICE),被用来指定分配给控制单元的一或多个I/O设备。在一个例子中,一个I/O设备语句中可以定义多达256个I/O设备。
增强了IOCP的一或多个输入语句,以向逻辑通道子***和逻辑CHPID号分配PCHID。例如,通过向CHPID语句的PATH关键字加入子关键字以允许向逻辑通道子***分配逻辑CHPID号,CHPID语句得到增强。此外,向CHPID语句加入被称作PCHID的新关键字,其指定所定义的物理通道的PCHID号。作为一个例子,使用以下语句:CHPIDPATH=(CSS(1),22),PCHID=101,用户为位于PCHID 101的物理通道分配逻辑CHPID号22和逻辑通道子***1。
作为另一个例子,增强CNTLUNIT语句以允许为多个逻辑通道子***定义单一控制单元。这如下面的语句所示:CNTLUNIT CUNUMBER=230,PATH=((CSS(1),20),(CSS(2),40)),其中控制单元230被指派为被CSS 1中的CHPID 20和CSS 2中的CHPID 40访问。
IOCP得到这种由人产生的、代表构成给定I/O配置的实际通道、控制单元和设备的输入语句(例如CHPID、Control Unit和I/O Device),并且产生被称作IOCDS的文件,该文件由机器在初始化时读取的不同类型的数据结构构成。以这样的方式表示多个通道子***映像和物理资源,使得它们能够在通道子***映像之间被专用或跨越共享。
存在数千物理通道,但是在这个例子中,每个通道子***映像只保持256个CHPID。于是,产生被称作PCHID成员的数据结构以表示物理通道。这个结构包含有关通道的相关物理信息,所述信息例如包含:PCHID号,分配给这个PCHID的一或多个CHPID号;规定PCHID可以进行访问的通道子***映像;和对于某些通道类型,这个通道连接的交换器号。因为在每个通道子***中可以重复CHPID号,所以存在针对每个通道子***映像的CHPID数据结构。这个数据结构具有一个256项的数组,每个项由CHPID号索引。这个结构还包含可以根据通道子***映像改变的逻辑信息。这个信息例如包含:有关这个CHPID得到定义的指示;向回指向这个CHPID相关的PCHID的指针;和可以访问这个CHPID的逻辑分区的列表。这两个结构(即PCHID成员和CHPID成员)的组合允许物理通道在逻辑分区之间专用或共享,以及在通道子***映像之间专用或跨越。
图4b示出了有关典型CHPID语句如何产生IOCDS中的数据结构的一个例子。在这个例子中,它是跨越CHPID,或可用于不止一个通道子***映像的单一物理通道。例如,所使用的CHPID语句是CHPID PATH=(CSS(1,2,3),22),PCHID=101,SWITCH=25…。虽然涉及3个通道子***映像,然而图4b中为了清楚只示出了两个。注意,物理通道101的PCHID项指向CSS 1、CSS 2和CSS 3中的CHPID号22的项。并且,每个CHPID项向回指向PCHID数据结构中的物理信息。
另外,物理控制单元也由一个经过扩充以包含针对多个通道子***映像的连接的数据结构来表示。在一个例子中,数据结构中的附加字段取决于通过这个配置来定义的通道子***映像的数目。于是,如果一个配置具有一个通道子***,则使用8个CHPID和8个链路地址的空间。但是,如果另一个配置具有4个通道子***映像,则使用32 CHPID和32链路地址的空间。
图4c图解了有关如何向物理控制单元数据结构加入每个CSS的附加信息的一个例子。在一个例子中,控制单元输入语句如下所示:CNTLUNITCUNUMBER=230,PATH=((CSS(1),20),(CSS(2),40)),…。注意,PCU数据结构具有针对CSS 1和CSS 2的项,但是没有针对CSS 3的项。这是由于CSS 3不能访问控制单元230。
IOCDS中表示的另一个资源是I/O设备。通过被称作子通道的数据结构表示每个设备或设备组。由于每个通道子***映像具有其自身的子通道组,以逐个通道子***的方式创建设备的数据结构。于是,可以从3个通道子***映像访问的单一设备在IOCDS中具有至少3个子通道项,在这3个通道子***映像中的每个中均有一个子通道项,这允许被配置到每个通道子***映像的程序独立地访问该设备。
如图4d所示,在每个通道子***映像的子通道数据结构中表示可被多个通道子***映像访问的设备,但是对于每个通道子***映像子通道号(索引)可以是不同的。用于I/O设备的输入语句的一个例子如下所示:IODEVICE ADDRESS=280,CUNUMBER=230…。在可访问CSS 1和CSS 2、但可不访问CSS 3的控制单元上定义了这个设备。于是,在CSS1和CSS 2数据结构中存在相应的项,但是在CSS 3数据结构中则没有。
不创建配置中没有定义的通道子***映像的数据结构。这使得用于给定配置的空间保持最小。
针对通道子***内的每个I/O资源(例如通道、控制单元和/或设备)执行I/O配置定义过程,并且这种输入定义的集合被称作通道子***X(即通道子***映像X)。然后,如果用户想要多个通道子***映像,用户将针对I/O资源的集合重复该过程一或多次,并且每个集合被称作一个新通道子***或通道子***映像。
LPAR管理程序(或I/O配置进程)接着为每个所配置的逻辑分区分配一或多个通道子***映像。为了向逻辑分区分配通道子***映像,起始解释执行(SIE)状态描述被管理程序用来向与每个逻辑分区相关的每个逻辑处理器配置通道子***资源。在一个例子中,LPAR管理程序为每个配置的逻辑分区分配缺省通道子***映像。作为一个例子,通过IOCP的RESOURCE语句执行分配。
为物理通道分配逻辑CHPID和CSS的构思允许为若干逻辑通道子***中最多例如256个逻辑CHPID定义数百或数千个物理通道。这避免了在其他情况下将迫使操作***支持大于256个CHPID的***变化,并且还允许所建立的机器具有数百或甚至数千个物理通道。
根据本发明的一个方面,物理通道可以被配置到所提供的诸通道子***映像的任何子集。例如,每个通道可以被配置到与每个通道子***映像相关的每个MIF中的最大数量的MIF映像(例如15)。于是,由LPAR管理程序分配给被配置到不同通道子***映像的诸MIF映像的每个逻辑分区可以共享跨越通道。在这种跨越的情况下,所有256个逻辑通道子***映像只包含跨越通道,于是将CPC中物理通道路径的最大计数减少回到256。例如,如果通道子***映像0中的CHPID 2跨越到通道子***映像1中的CHPID 2,并且一直跨越到CSS 255中的CHPID 2,则这256个CHPID均共享单个物理通道。在跨越范围的相对端,任何逻辑通道子***映像中均没有通道进行跨越,于是达到65,536的最大理论物理通道路径计数,并且使跨越的总体共享最小。作为另一个例子,跨越可以处在该范围的两个相对端之间的任何地方。例如,一跨越通道可以被配置到一个通道子***映像中的最多15个MIF映像,第二通道子***映像中的最多4个MIF映像,和第三通道子***映像中的最多10个MIF映像。这种配置允许分配给所有这29个MIF映像的29个逻辑分区共享该跨越通道。可以存在许多其它变化。
如上所述,跨越包含将一物理通道分配给多个通道子***映像。例如,如图5所示,通道子***映像0504的通道路径500和通道子***映像1506的通道路径502被配置到相同的物理通道508,并因此共享该通道。于是,在这个例子中,每个通道子***映像中分配给PCHID 20的CHPID2表示跨越组。在一环境中可以有零或更多个跨越组。可以要求或不要求其中每个组内提供了共享的、诸跨越通道的多个跨越组在一特定组的每个通道子***映像内使用相同的CHPID值,并且不要求但是可以在多个跨越组中间的每个跨越组内使用相同的CHPID值。在通道子***映像、CHPID和物理通道路径中间跨越关系的规则例如如下所示:
1)一通道子***映像中的一CHPID只能与一个PCHID相关。
2)一通道子***映像可以和1到256个PCHID相关,这也意味着该通道子***映像具有1到256个通道路径,于是保持了规则1。
3)一PCHID可以和1到256个通道子***映像相关,每个通道子***映像有一个CHPID,再次保持了规则1。
在一个实施例中,一逻辑通道子***映像中的一通道路径只能和一个跨越组相关,因为该通道路径可以只和单个物理通道路径(PCHID)相关。一给定PCHID值唯一地确定一跨越组,并因此迫使多个跨越组成为所提供的诸通道子***映像的互不相交的诸子集。
通过跨越多个PCHID,可以建立更加复杂的配置。例如,给定逻辑通道子***映像A、B和C:A和B可以跨越PCHID=1;B和C可以跨越PCHID=2;并且A和C可以跨越PCHID=3。存在3个PCHID,因此,存在3个跨越组(A-B;B-C;和A-C)。然而,在通道子***映像A中,如果CHPID X对应于PCHID=1,则CHPID X不对应于任何其他PCHID,所以不与任何其他跨越组重叠。在逻辑通道子***A中,如果CHPID Y对应于PCHID=3,则由于此,逻辑通道子***A在参与另一个A-B跨越组之外,也可以参与跨越组A-C。这是由于逻辑通道子***映像A具有两个不同通道路径,并且每个通道路径与一个不同的物理通道路径相关。
在一个例子中,通过单独的授权逻辑分区管理具有多个逻辑通道子***的I/O配置定义。于是,一任意指定的逻辑分区中的至少一个程序知道总体MCSS扩展;然而其它程序被保护免受新能力的影响。这个增强的管理能力不对其它逻辑分区中的程序产生额外的运行要求,即使对于相同逻辑分区中的其它程序也是如此。于是,被采用以支持具有MCSS和跨越的中央处理复合体的管理扩展可以局限于单个逻辑分区中的单个程序;其它程序不需要知道MCSS。
在一个例子中,由一管理程序执行管理,管理程序是被授权执行提供管理功能的命令的程序。管理程序使用的命令包含一些通道子***调用(CHSC)命令,其具有也被称为动态I/O(DIO)命令的命令子集。DIO命令能够改变活跃的I/O配置定义,而无需重新启动CPC或通道子***(例如re-IML或re-IPL),便可使改变生效。
下面描述针对跨越而扩展的CHSC命令。在1992年12月8日颁发的、Cwiakala等人的美国专利5,170,472,“动态改变***I/O配置定义(Dynamically Changing a System I/O Configuration Definition)”中描述了没有扩展的这种CHSC命令的例子,这里完整地参考引用了该专利。在一个例子中,得到增强的动态I/O命令包含例如改变通道路径配置(CCPC)命令。
改变通道路径配置命令被用来添加、修改或删除I/O配置定义中通道路径的描述。作为一个例子,扩展CCPC CHSC命令的添加操作,以使被加入到指定通道子***映像的通道路径(CHPID)与CPC中的指定物理通道(PCHID)相关联。如果物理通道不能被共享,则单个CSS.CHPID到PCHID的关联完全占据物理通道路径。如果物理通道路径能够被共享,则可以有多个<css>.CHPID到PCHID的关联。这受到以下因素的限制:使用最多结构数量的通道子***映像(例如256),指定的物理通道路径提供的共同拥有者的最大数量,或具体型号的CPC中提供的通道子***映像的型号相关数量。
改变通道路径配置命令可以异步地执行,并且不是解释地执行的。在命令请求块中提供要执行的操作的规范和被用来改变I/O配置定义的信息,其中通道子***使用I/O配置定义来控制I/O或消息操作。
参照图6a描述改变通道路径配置命令的命令请求块的一个例子。在一个例子中,改变通道路径配置请求块600包含以下字段:
(a)长度字段602:这个字段表示这个请求块的长度;
(b)命令码604:这个字段指定改变通道路径配置命令;
(c)操作码606:操作码表示要执行的通道路径配置操作的类型。使用的命令请求块的请求数据区的诸字段取决于要执行的操作。忽略未被指定进行检查以备执行所请求操作时的可能使用的请求数据区诸字段的内容。各种操作码的例子如下所示:
0 向I/O配置定义添加指定通道路径的描述。当CPC提供MCSS工具时,为添加操作指定PCHID字段所指定的物理通道路径的位置。当下面描述的通道路径类型字段(CHPT)指定内部通道路径类型时,PCHID字段被忽略。不为任何其他操作而检查PCHID字段。
为用于执行添加操作而检查除了RCSSID之外的所有字段。
当从配置模式退出时,假定这个改变仍然完好,则产生针对受这个操作影响的MIF映像、以及因此受影响的通道子***和相应的逻辑分区的待决的I/O资源可访问性信息事件,以通知指定通道路径的增加的可访问性。
1 修改I/O配置定义中指定通道路径的描述。由操作码限定符(OCQ)指定修改的类型。当CPC正工作于LPAR模式时指定这个操作码。
为用于执行修改操作而检查CHPID、OCQ和CSSID字段。根据OCQ字段的内容可能指定附加字段。在OCQ值的描述中标识所使用的字段。
2 从I/O配置定义中删除指定通道路径的描述。
为用于执行删除操作而检查CHPID和CSSID字段。
当由CPC提供多通道子***工具时,删除操作被用来从通道子***映像中删除最后的通道路径,假定该通道路径未出现于任何其他通道子***映像中。
成功的添加、修改和删除操作导致在通道子***中设置I/O配置改变条件。成功的添加、修改和删除操作导致通道子***保留指定程序参数,以替代通道子***中的当前程序参数(如果有)。
(d)多通道子***位(M)608:当通过CPC提供多通道子***工具,并且M位为1时,检查CSSID字段是否有效。如果有效,CSSID字段中的值变成有效CSSID。如果无效,则可以存储响应码。当M为零时,缺省CSSID为有效CSSID,并且CSSID字段为零;否则可以存储响应码。
(e)格式(FMT)610:命令请求格式字段包含其值指定命令请求块的布局的一无符号整数。在一个例子中,这个值为0。
(f)操作码限定符(OCQ)612:这个字段包含限定OC字段所指定的操作的值。OCQ字段的每个值的含义例如如下所示:
0 无限定:OC字段指定的操作不受OCQ字段的限定。当CPC正工作于LPAR模式时,OC字段受OCQ的限定。
1 非共享可重新配置:指定通道路径作为非共享通道路径加入I/O配置定义。该通道路径每次可以被配置到一通道子***映像内的一个MIF映像。该通道路径可以重新配置到该通道子***映像中已经对其建立重新配置访问权的任何其他MIF映像。
通道路径可以被配置到I/O配置定义中提供的、在重新配置访问位屏蔽中指定的MIF映像中的任何一个。
通道子***映像的一个MIF映像被定义成当随后激活该MIF映像时,可以初始访问通道路径。由初始访问位屏蔽指定将对其建立初始访问的MIF映像。
在某些模型中,当通道路径类型字段表示内部***设备通道时,不指定OCQ值。
当OC字段指定添加操作(OC=0)并且CPC正工作于LPAR模式时,可以指定这个OCQ值。
在这个例子中,当指定这个操作码限定符的添加操作添加通道路径时,随后不能跨越该通道路径,即使在其他情况下当使用共享(OCQ=3)操作码限定符将它添加时本来可以跨越它。
2 非共享非可重新配置:指定通道路径作为非共享通道路径加入I/O配置定义。该通道路径被配置到通道子***映像的一个MIF映像,并且随后可以被取消配置或被配置到该MIF映像。在一个实施例中,该通道路径随后不能重新配置到其它MIF映像。在重新配置访问位屏蔽中指定可以对其配置该通道路径的单个MIF映像。当激活与该MIF映像相关的逻辑分区时,也可以允许该同一MIF映像访问该通道路径。
当将建立对通道路径的初始访问时,初始访问位屏蔽被用来指定与重新配置访问位屏蔽所指定的MIF映像相同的MIF映像。
当OC字段指定添加操作并且CPC正工作于LPAR模式时,可以指定这个OCQ值。
在这个例子中,当指定这个操作码限定符的添加操作(OC=0)添加一通道路径时,随后不能跨越该通道路径,即使在其他情况下当使用共享(OCQ=3)操作码限定符将它添加后本来可以跨越它。
3 共享:添加通道路径以作为共享通道路径,假定CHPT字段指定了允许的通道类型,例如串行通道、集群总线对等通道、仿真I/O通道、光纤信道通道,但这些仅仅是某些例子。
通道路径可以并行地被配置到多个MIF映像(如重新配置访问位屏蔽中指定的),并且被用来并行执行所有配置的MIF映像的I/O操作或消息操作。
针对重新配置访问位屏蔽中指定的每个MIF映像,一个通道路径映像被加入I/O配置定义。
当激活与初始访问位屏蔽中指定的每个MIF映像相关的逻辑分区时,通道路径最初被配置到该MIF映像。
当OC字段指定添加操作并且CPC正工作于LPAR模式时,可以指定这个OCQ数值。
4 添加访问权:通过向可以被用来访问指定通道路径的当前MIF映像组添加一或多个MIF映像,来修改I/O配置定义。当前将在指定通道子***映像的I/O配置定义中定义指定通道路径和MIF映像。MIF映像可以加入随后可能对其重新配置通道路径的MIF映像组中。可以针对非共享可重新配置通道路径和共享通道路径添加重新配置访问权。
重新配置访问位屏蔽指定所指定的通道子***映像中将对其添加重新配置访问权的MIF映像。
对于修改的MIF映像组中具有重新配置访问权的每个MIF映像,随后可以配置通道路径如下:
非共享映像可重新配置通道路径:通道路径每次可以被配置到修改的重新配置访问MIF映像组中的任何一个MIF映像。
共享通道路径:通道路径可以并行地被配置到修改的重新配置访问组中的任何MIF映像。
当CPC正工作于LPAR模式并且OC字段指定修改操作时,可以指定这个OCQ值。
为用于执行这类操作而检查OCQ、CHPID、RABM和CSSID字段。
当从配置模式退出时,假定这个改变仍然完好,则产生针对受这个操作影响的MIF映像、以及因此受影响的通道子***映像和相应的逻辑分区的待决的I/O资源可访问性信息事件,以通知指定通道路径的增加的可访问性。
5 无条件删除访问权:通过从指定通道子***映像的可以被用来访问指定通道路径的当前MIF映像组中删除一或多个MIF映像,来修改I/O配置定义。当前将在I/O配置定义中定义指定的通道路径和MIF映像。可以针对非共享可重新配置通道路径和共享通道路径删除重新配置访问权。
重新配置访问位屏蔽指定通道子***映像的将对其删除重新配置访问权的MIF映像。
对于从具有对通道路径的重新配置访问权的MIF映像组中删除的每个MIF映像,如果该MIF映像当前有权访问该通道路径,则该通道路径被取消配置,并且随后其不能被配置到该MIF映像。
当指定通道路径是共享通道路径时,删除相应的通道路径映像。不从当前I/O配置定义中删除共享或非共享通道路径的通道路径定义,即使已经从MIF映像组中删除了对该通道路径具有重新配置访问权的所有MIF映像。
当CPC正工作于LPAR模式并且OC字段指定修改操作时,可以指定这个OCQ值。
为用于执行这类操作而检查OCQ、CHPID、RABM和CSSID字段。
6 有条件删除访问权(有条件):当指定的通道子***映像的可以被用来访问指定通道路径的当前MIF映像组中的一或多个MIF映像中没有MIF映像当前被配置到该通道路径时,通过删除这些指定的MIF映像来修改I/O配置定义。
当指定MIF映像中没有MIF映像被配置到该指定通道路径时,正象指定OCQ 5时那样,删除指定MIF映像对指定通道路径的重新配置访问权。
当一或多个指定MIF映像被配置到指定通道路径时,不修改指定通道路径的重新配置访问权。响应码和响应码限定符被存储在命令响应块中,表示不进行所请求的改变。
针对OCQ 5描述的命令请求块规范条件和要求同样适用于这个OCQ值。
当CPC正工作于LPAR模式并且OC字段指定修改操作时,可以指定这个OCQ值。
7 添加CSS映像访问权:当CPC提供多通道子***工具时,通过向由CSSID指定的目标CSS映像添加通道路径来修改I/O配置定义。通过这个操作添加的对象通道路径是共享通道路径。在这个例子中,分配给对象通道路径的CHPID值与RCSSID.CHPID指定的引用通道路径的CHPID值相同。根据引用通道路径来确定对象通道路径的特征。例如,这些特征包含:
通道路径类型将是被CPC模型支持为跨越通道路径的类型。
引用通道路径将位于不同于目标通道子***映像的通道子***映像中。
将已经在通道子***映像的I/O配置定义中描述了RCSSID.CHPID所标识的引用通道路径。
RCSSID.CHPID标识的引用通道路径不是被管理的通道路径。
引用通道路径的特征是继承的,但根据针对给定目标通道子***映像的命令而确定的重新配置访问和初始访问位屏蔽除外。
为用于执行这类修改操作而检查CHPID、CSSID、RABM、IABM和RCSSID字段。
当从配置模式退出时,假定这个改变仍然完好,则产生针对受这个操作影响的MIF映像、以及因此受影响的通道子***映像和相应的逻辑分区的待决的I/O资源可访问性信息事件,以通知指定通道路径的增加的可访问性。
8 删除CSS映像访问权:当CPC提供多通道子***工具时,通过从由CSSID指定的目标通道子***映像中删除通道路径,修改I/O配置定义。通过这个操作删除的对象通道路径将不仅仅可用于一个通道子***映像。
为用于执行这类修改操作而检查CHPID和CSSID字段。
当CPC正工作于LPAR模式并且OC字段指定修改操作时,可以指定这个OCQ值。
(g)覆盖位(O)614:覆盖位允许程序请求具有不常见性质的、通常会被通道子***拒绝的配置改变。然而,通道子***可以不接受覆盖请求。
(h)关键字616:这个字段包含被通道子***用来访问用于由命令所启动的异步操作的命令请求块和命令响应块的存储存取关键字。
(i)子***标识(SID)618:这个字段指定被用来执行与CHSC的执行异步的操作的CHSC子通道。
(j)程序参数620:这个字段包含一个值,其中程序使该值与这个改变通道路径配置命令相关。
(k)通道子***映像ID(CSSID)622:当CPC提供多通道子***工具时,这个字段表示目标通道子***映像的CSSID,其中CHPID字段中指定的通道路径会与该目标通道子***映像相关。对CSSID值要进行范围和存在检查。
(l)引用通道子***映像ID(RCSSID)624:当CPC提供多通道子***工具时,这个字段包含通道子***映像的引用CSSID,其中针对添加CSS映像访问修改操作(OCQ=7)而从该通道子***映像复制通道路径特征。对RCSSID值要进行范围和存在检查。
(m)通道路径标识符(CHPID)626:这个字段指定作为改变通道路径配置命令的对象的通道路径的CHPID。
(n)通道路径类型(CHPT)628:这个字段指定所指定的通道路径的类型。
(o)通道路径特征(CHPC)630:这个字段指定所指定的通道路径的特征。在一个例子中,当值为1时,位0-7的含义如下:
位的含义
0 CTCA:假定CHPT字段指定串行I/O通道路径,则指定的通道路径可以被用来提供对CPC中包含指定通道路径的通道-通道适配器的访问。
1 当CPC提供动态CHPID管理工具,或者CHPID字段中标识的通道路径是内部排队直接通信通道(如CHPT字段的内容所示),OC字段指定添加操作,并且这个位为1时,CHPP字段包含与指定CHPID相关的参数。
当CPC提供动态CHPID管理工具,或者当CHPID字段中标识的通道路径是内部排队直接通信通道(如CHPT字段的内容所示),并且OC字段指定修改或删除操作时,忽略这个位以及CHPP和LPC名称字段的内容。
当CPC不提供动态CHPID管理工具,并且当CHPID字段中标识的通道不是内部排队直接通信通道(如CHPT字段的内容所示)时,这个位被保留并且设置为零。
2 当CHPID字段中标识的通道路径是内部连接对等通道(如CHPT字段的内容所示),OC字段指定添加操作并且这个位为1时,ACSSID.ACHPID字段中标识的通道路径(另一个内部连接对等通道)将与CHPID字段中标识的通道路径相关。
当CHPID字段中标识的通道路径是内部连接对等通道(如CHPT字段的内容所示),OC字段指定添加操作并且这个位为0时,没有通道路径将与CHPID字段中标识的通道路径相关,并且忽略ACHPID和ACSSID字段的内容。
当CHPID字段中标识的通道路径是内部连接对等通道(如CHPT字段的内容所示),并且OC字段指定修改或删除操作时,忽略CHPC字段的这个位以及ACHPID和ACSSID字段的内容。
当CHPID字段中标识的通道路径不同于内部连接对等通道(如CHPT字段的内容所示)时,这个位、ACHPID和ACSSID字段被保留并且设置为0。
(p)通道路径参数(CHPP)632:当CHPC字段的位1为1时,这个字段包含与CHPID字段中标识的通道路径相关的参数。
当CHPID字段中标识的通道是内部排队直接通信通道(如CHPT字段的内容所示)时,作为一个例子,位0-1包含指定将被内部排队直接通信通道使用的最大帧尺寸(MFS)的值。
作为例子,位2-7也指定一个参数,其中程序将该参数与CHPID字段中标识的通道路径相关。这些位的内容对程序是有意义的,除了当CHPP字段的位7为1时,其含义为:
所指定的CHPID是被管理的CHPID,
当CPC在LPAR模式下运行时,提供逻辑分区群集名称,
当CPC工作于LPAR模式时,OCQ字段包含值3,表示共享指定的CHPID,并且
SWTV字段的规定位为1,表示交换器连接到指定的CHPID。
(q)重新配置访问位屏蔽(RABM)634:这个位屏蔽被用来指示将在具有对指定通道路径的重新配置访问权的MIF映像组中添加或删除哪些MIF映像。对于具有对指定通道路径的重新配置访问权的每个MIF映像,可以使用适当的重新配置命令将通道路径配置到该MIF映像。
在一个例子中,重新配置访问位屏蔽中的每个位表示与由CSSID字段指定的通道子***映像的MIF映像的一一对应。
当OC字段指定添加操作,或者OCQ字段指定添加CSS映像访问权操作或添加访问权操作时,这个屏蔽的一个比特位置中的1表示相应编号的MIF映像将加入具有对指定通道路径的重新配置访问权的MIF映像组。当相应编号的位为零时,MIF映像不加入对指定通道路径具有重新配置访问权的MIF映像组。
当OC字段指定修改操作,并且OCQ字段指定有条件删除访问权操作时,这个屏蔽的一个比特位置中的1表示相应编号的MIF映像将从具有重新配置访问权的MIF映像组中删除。如果该MIF映像当前未被配置到通道路径,则通道路径被取消配置。如果OCQ字段指定无条件删除访问权操作,这个屏蔽的一个比特位置中的1表示相应编号的MIF映像将从具有重新配置访问权的当前MIF映像组中删除。如果MIF映像可以访问通道路径,则通道路径被取消配置。另外,如果相应编号的MIF映像当前在具有对通道路径的初始访问权的MIF映像组中,也删除MIF映像的初始访问权。当相应编号的位为零时,不从对指定通道路径具有重新配置访问权的MIF映像组中删除MIF映像。
当OC字段指定添加操作并且OCQ字段指定非共享不可重新配置通道路径时,这个屏蔽中只有一个位被设置成1。
当OC字段指定添加操作并且OCQ字段指定非共享可重新配置或共享通道路径时,任何对应于所提供的MIF映像的位可以被设置成1。至少一个对应于所提供的MIF映像的位将被设置成1。
当OC字段指定修改操作时,这个屏蔽不被允许包含全零。
当存在以下条件中的任何条件时,忽略这个位屏蔽:OC字段指定了删除操作;CPC工作于BASIC(基本)模式;或者OCQ字段指定删除CSS映像访问权操作。
(r)初始访问位屏蔽(IABM)636:当CPC工作于LPAR模式时,这个位屏蔽被用来表示哪些MIF映像将被加入对指定通道路径具有初始访问权的MIF映像组。初始访问位屏蔽可以指定全零。
当OC字段指定添加操作或添加CSS映像访问权时,这个屏蔽的一个比特位置中的1表示相应编号的MIF映像将加入对指定通道路径具有初始访问权的MIF映像组。当相应编号的位为零时,MIF映像不加入对指定通道路径具有初始访问权的MIF映像组。
当OC字段指定添加操作并且OCQ字段指定非共享可重新配置或非共享不可重新配置通道路径时,这个屏蔽中只有一个位可以为1,并且重新配置访问位屏蔽中的相应位也为1。
当OC字段指定添加操作并且OCQ字段指定共享时,则通道子***映像内指定的MIF映像的任何位可以被设置成1,同时重新配置访问位屏蔽中的相应位也被设置为1。
当CPC提供动态CHPID管理工具,并且OC字段指定添加操作,CHPC字段的位1为1,并且这是如由CHPP字段指定的被管理的CHPID时,对应于所提供的MIF映像的初始访问位屏蔽被设置成零。
对于具有对指定通道路径的初始访问权的每个MIF映像,当其随后作为分区激活过程的一部分被激活时,通道路径被配置到MIF映像。当指定的MIF映像当前活跃时,通道路径不被配置到MIF映像,除非在逻辑分区中运行的程序执行适当的SCLP重新配置命令。
当OC字段指定修改(OCQ=7除外)或删除操作,或CPC工作于BASIC模式时,忽略这个位屏蔽。
(s)逻辑分区群集(LPC)名称638:逻辑分区群集是CPC内与给定类型的逻辑分区群集的同一逻辑分区群集名称相关的逻辑分区的集合。程序通过诊断指令声明逻辑分区的逻辑分区群集名称。
当存在以下条件时,这个字段包含指定通道路径将与其相关的逻辑分区群集的逻辑分区群集名称:CPC提供动态CHPID管理工具;CPC工作于LPAR模式;OC字段指定了添加操作;CHPC字段的位1为1;CHPP字段的位7为1。
由程序确定逻辑分区群集名称的内容和格式。
(t)交换器有效性(SWTV)640:当为1时,这个字段指定SWTN字段包含有效信息。
(u)物理通道标识(PCHID)641:当CPC提供多通道子***工具时,这个字段包含一无符号整数,表示通道的物理位置的模型相关标识。PCHID被用于初始添加操作,但内部通道,例如内部排队直接通信通道和内部连接对等通道的添加除外。当CHPT字段表示任何内部通道路径类型时,忽略PCHID字段。如果PCHID值未被识别,可以存储响应码。
(v)交换器号(SWTN)642:当SWTV字段的预定位为1时,这个字段包含有关指定通道路径的交换器的唯一标识。当CHPT字段指定光纤信道通道时,交换器号(SWTN)指定光纤信道结构的入***换器。
(w)相关通道子***ID(ACSSID)644:当CPC提供多通道子***工具时,这个字段包含与ACHPID字段指定的内部连接对等通道的CHPID相关的通道子***映像的CSSID。要对ACSSID进行范围和存在检查。
(x)相关通道路径(ACHPID)646:当CHPID字段中标识的通道是内部连接对等通道(如CHPT字段的内容所示),OC字段指定添加操作,条件允许进行添加并且CHPC字段的位2为1时,这个字段包含CHPID字段中指定的通道将与之相关的内部连接对等通道的CHPID。
当两个内部连接对等通道通过这种方式相关时,意味着发送给所述通道中的任一个的消息是在另一个相关通道上被接收的。
当CHPID字段中标识的通道是内部连接对等通道,OC字段指定了删除操作并且条件允许进行删除时,从I/O配置定义中删除指定的通道。如果另一个内部连接对等通道与指定的通道相关,当删除指定通道时,以如下方式影响相关通道的状态:如果相关通道路径被配置到一或多个MIF映像,则从那些MIF映像中取消配置相关通道路径;相关通道路径进入不再与内部连接对等通道相关的状态。
ACSSID和ACHPID字段一起引用通道子***映像中本身可以是跨越通道路径的通道路径(称这个为跨越组A)。当出现这种情况时,ACSSID字段可以指定具有所定义的ACHPID字段所指定的通道路径的诸CSSID中的任何CSSID。在添加引用跨越组A的通道路径之后,支持以下请求:
可以请求一修改添加CSS映像访问权操作,其指定RCSSID作为前一ACSSID值,并且指定CHPID作为前一ACHPID值,于是增加跨越ACHPID的通道子***映像的数目(即增加跨越组A的尺寸)。
可以请求一修改添加CSS映像访问权操作,其指定RCSSID作为前一CSSID值,并且指定CHPID作为前一CHPID值,于是增加跨越CHPID的通道子***(称此为跨越组C)映像的数目。
不建立跨越组C,直到在跨越组C的第一通道路径和跨越组A的诸通道子***映像中的一个的通道路径之间建立链接之后。
跨越组C和A之间的连接是多对多的。这个连接保持完整,只要每个跨越组定义有至少一个通道路径。
参照图6b描述对于改变通道路径配置命令的命令响应块的一个实施例。在一个例子中,命令响应块660包含以下字段:
(a)长度字段662:这个字段指定命令响应块的长度。长度取决于作为试图执行改变通道路径配置命令的结果而存储的响应码。
(b)响应码664:这个字段包含一无符号二进制整数,其描述试图执行改变通道路径配置命令的结果。当响应码字段表示不成功尝试时,不改变I/O配置定义,通道子***中的I/O配置改变条件不受影响,并且忽略程序参数字段的内容。
当改变通道路径配置命令的执行导致预定条件码被设置时,为通道子***提供主动权以便异步尝试对I/O配置定义进行所请求的改变。通过CHSC子通道I/O中断指示尝试的完成,其中通过命令响应块中的响应码指定尝试的结果。
(c)格式(FMT)666:命令响应格式字段包含其值指定命令响应块的布局的无符号整数。
(d)响应码限定符(RCQ)668:当不同于指示成功的代码的响应码被存储在响应码字段中时,这个字段包含体系结构值或模型相关值,其进一步描述由响应码指定的条件。
(e)响应限定符(RQ)670:当响应码字段指示所请求的配置改变已经发生时,响应限定符字段包含提供有关与改变相关的条件的信息的值。每个值的含义例如如下所示:
0 没有与配置改变相关的特殊条件。
1 程序为配置改变提供的信息不匹配于物理配置。当相关命令请求指定添加(OC=0)操作时,可能出现这个值。
2 指定物理通道路径(PCHID)没有安装。当相关命令请求指定添加(OC=0)操作时,可能出现这个值。
当CPC工作于LPAR模式时,有3种情况使得改变通道路径配置命令的执行能够包含尝试从一或多个MIF映像解除配置通道路径。
1.请求删除操作,或指定删除CSS映像访问权(OCQ=8),条件允许删除指定通道路径,以及指定的通道路径被配置到通道子***映像内的一或多个MIF映像。机器尝试从那些MIF映像中解除配置指定通道路径。
2.请求删除操作,条件允许删除指定通道路径,指定的通道路径是内部连接对等通道,以及与指定的通道路径相关的一内部连接对等通道被配置到任何一或多个通道子***映像中的一或多个MIF映像。机器尝试从那些MIF映像中解除配置相关通道路径。
3.请求修改无条件删除访问权操作,条件允许从指定的MIF映像中清除对指定通道路径的重新配置访问,以及指定的通道路径被配置到指定MIF映像的一或多个。机器尝试从那些MIF映像中解除配置指定的通道路径。
在上述情况中,当从MIF映像取消配置通道路径时,产生针对该MIF映像的待决的“工具初始化的通道路径永久错误”通道报告,并且该通道路径不再可被在该MIF映像与之相关的逻辑分区中工作的程序使用。
在上述情况2和3中,当一通道路径被从MIF映像取消配置并且它是与一子通道相关的最后可用通道路径时,也使得该子通道不可用于该MIF映像。对于每个受影响的逻辑分区产生针对每个这样的子通道的“子通道安装参数初始化”通道报告。
前面详细描述了与改变通道路径配置请求命令相关的处理。下面参照图6c-6f描述作为支持MCSS的处理的一部分而执行的各种错误检查过程。
如图6c所示,当操作码为零以指示向I/O配置定义添加CHPID时,对CSSID和PCHID进行检查。如果指定检查成功,则CHPID被加入通道子***映像。
类似地,当操作码等于1并且操作码限定符被设置成7(图6d)时,对CSSID、RCSSID和CHPID执行各种测试。如果检查不成功,则提供适当的响应码。然而当检查成功时,CHPID被加入通道子***映像并且绑定到PCHID,而PCHID已经被绑定到引用的通道子***映像中的CHPID。
参照图6e,当操作码等于1并且操作码限定符被设置成8时,执行CSSID和CHPID的测试。当测试成功时,从CSSID标识的通道子***映像中删除CHPID。
类似地,在图6f中,当操作码等于2时,对CSSID和CSSID指定的CHPID执行测试。当检查成功时,从CSSID标识的通道子***映像和整个配置中删除CHPID。
如上所述,物理通道路径标识(PCHID)被用来确定对于指定通道子***映像的物理通道路径(PCHID)到逻辑通道路径(CHPID)绑定;并且使添加到指定通道子***映像中的指定逻辑通道路径与先前添加的、引用相同物理通道的、其它通道子***映像的逻辑通道路径相关联。于是,PCHID值充当关联参数,其允许形成通道路径的跨越组,而无论被每个相应通道子***映像用来访问物理通道的指定CHPID值如何。
在一个实施例中,可以配置为跨越通道路径的通道路径的类型是模型相关的。于是,存储配置部件列表CHSC命令可以被用来确定通道路径类型是否可以被配置为跨越通道子***映像。作为一个例子,可以跨越FICON通道路径。然而在其它例子中,可以跨越其它类型的通道路径和其它I/O路径。
存储配置部件列表命令被用来获得包含I/O配置中类似部件的标识的配置部件列表。通过程序在请求块中指定的部件类型参数确定配置部件列表中包含的部件的类型。存储配置部件列表命令的执行不改变通道子***中包含的任何信息。存储配置部件列表命令被同步执行,并且可以在起始解释执行工具(SIE)中解释执行。在“IBM System/370扩展体系结构解释执行(IBM System/370 Extended Architecture InterpretativeExecution)”,出版号No.SA22-7095,1985年9月中描述了这个工具的一个实施例,这里完整地参考引用了该文献。
参照图7a描述存储配置部件列表命令的请求块的一个实施例。在一个例子中,存储配置部件列表命令的命令请求块700包含:
(a)长度字段702:这个字段指定命令请求块的长度。
(b)命令码704:这个字段指定存储配置部件列表命令。
(c)部件类型(CTYPE)706:这个字段包含指定将在响应块中列出的配置部件的类型的值。例如,CTYPE的值的例子为:
CTYPE列表描述
0 保留
1 通道路径上的控制单元:控制单元列表,在I/O配置中被描述为连接到列表参数字段中指定的CHPID。
当CPC提供多通道子***工具时,列表参数字段的字节0是标记字节,并且例如定义如下:
位含义
0 多通道子***位(M):当位0(M)为1时,检查列表参数字段的字节4是否为有效的CSSID。如果有效,字节4中的值变成有效CSSID。如果无效,可以存储适当的响应码。当M为零时,缺省CSSID为有效CSSID,并且字节4将为零;否则可以存储响应码。
1-7保留
当提供多通道子***工具时,列表参数字段的字节4可以指定被用来定位字节7中指定的通道路径的目标通道子***映像的CSSID。要对CSSID进行范围和存在检查。
列表参数字段的字节1-3和5-6没有含义并且被忽略。列表参数字段的字节7包含CHPID值。
2 通道路径类型能力:可以连接到中央处理复合体(CPC)的通道路径的类型的列表。
每个通道路径类型的列表项包含指定是否可以为该类型的通道路径提供通道路径测量的指示符,和指定通道路径是否可以被配置为跨越通道路径的指示符。
列表参数字段的内容没有含义并且被忽略。
3 保留
4 通道子***映像、MIF映像和逻辑分区:当提供多通道子***工具时:指示对于指定范围的通道子***映像,哪些通道子***映像和相关MIF映像被配置到哪些逻辑分区的矩阵。
列表参数字段的字节0指定请求其信息的范围中的第一CSSID。列表参数字段的字节1指定请求其信息的范围中的最后CSSID。列表参数字段的字节2-7没有含义并且被忽略。
5 通道子***映像配置特征:当提供多通道子***工具时:指示对于指定范围的通道子***映像,所配置通道子***映像和MIF映像的有效性和状态的矩阵。
列表参数字段的字节0指定请求其信息的范围中的第一CSSID。列表参数字段的字节1指定请求其信息的范围中的最后CSSID。列表参数字段的字节2-7没有含义并且被忽略。
6 I/O处理器和通道路径:涉及列表参数中指定的CHPID的、中央处理复合体(CPC)的IOP列表。
当提供多通道子***工具时,列表参数字段的字节0是标记字节,并且例如定义如下:
位含义
0 多通道子***位(M):当位0为1时,检查列表参数字段的字节4是否为有效CSSID。如果有效,字节4中的值变成有效CSSID。如果无效,可以存储适当的响应码。当M为零时,缺省CSSID为有效CSSID,并且CSSID字段为零;否则可以存储响应码。
1-7保留
当提供多通道子***工具时,列表参数字段的字节4可以指定被用来定位字节7中指定的通道路径的目标通道子***映像的CSSID。要对CSSID进行范围和存在检查。
列表参数的字节1-3和5-6没有含义并且被忽略。列表参数的字节7包含CHPID值。
(d)格式(FMT)708:命令请求格式字段包含其值指定命令请求块的布局的无符号整数。
(e)列表参数710:这个字段包含确定指定部件类型的部件列表范围的信息。
列表参数字段的格式和内容取决于CTYPE值。当指定每个CTYPE值时,该CTYPE值的描述包含列表参数字段的内容的描述。
参照图7b描述存储配置部件列表命令的响应块的一个实施例。在一个例子中,存储配置部件列表响应块720包含以下字段:
(a)长度字段722:这个字段指定作为尝试执行存储配置部件列表命令的结果而存储的命令响应码的长度。
如果不同于成功指示的响应码被存储在响应码字段中,则没有部件列表单元作为尝试执行命令的结果而被存储,并且长度722指定例如命令响应块的8个字节的长度。
如果指示成功的响应码被存储在响应码字段中,则至少一个部件列表单元作为尝试执行命令的结果而被存储在命令响应块中,并且长度722指定命令响应块的长度,例如16字节,加上配置部件列表中存储的部件列表单元的数目乘以列表单元尺寸字段中指定的字节数。
(b)响应码724:这个字段包含无符号二进制整数,其描述尝试执行存储配置部件列表命令的结果。
(c)格式(FMT)726:命令响应格式字段包含其值指定命令响应块的布局的无符号整数。这个字段的值例如为零。
(d)列表单元尺寸(ES)728:这个字段包含无符号二进制整数,其指定部件列表中每个项的字节数量。
(e)配置部件列表730:当存储指示成功的响应码时,一或多个部件列表项被存储在连续位置。通过从命令响应块的尺寸中减去16字节并且将余数除以ES值,确定存储的部件列表项的数目。
部件列表项的尺寸和格式取决于CTYPE值。以下是定义的每个CTYPE值的部件列表项的描述:
CTYPE部件列表项
1 通道路径上的控制单元:每个部件列表项例如为两个字节,并且包含标识控制单元的控制单元编号。
相邻部件列表项中包含的控制单元编号彼此没有特殊的数字排列关系。例如,控制单元编号从一个部件列表项到下一个部件列表项可以具有数字顺序,也可以不具有。
被用来标识可在指定通道路径上访问的控制单元的集合的控制单元编号的集合可以不包含由使用的最低和最高控制单元编号定义的数字序列中的每个编号。
2 通道路径类型能力:每个部件列表项例如为两个字节。每个部件列表项的内容描述如下:
当为1时,字节0的位0指示CPC可以提供指定通道路径类型的通道路径测量。当为0时,位0指示CPC不提供指定通道路径类型的通道路径测量。
当为1时,位1指示指定类型的通道路径可以被配置为跨越通道路径。当为0时,位0指示指定通道路径不能配置为跨越通道路径。
字节1包含无符号二进制整数,其指定可以连接到CPC的通道路径类型。
4 通道子***映像、MIF映像和逻辑分区:每个部件列表项例如为16字节。每个列表项的内容和意义例如描述如下:
每个部件列表项表示关于单个通道子***映像的配置信息。从命令请求块中指定的范围中的第一CSSID开始,按照通道子***映像ID(CSSID)的升序存储部件列表项。
可配置通道子***映像的最大数量是模型相关的。这个命令返回的部件列表项的数目可以等于或小于命令请求块中指定的范围中的数目。提交程序使用上述技术可以确定返回的部件列表项的数目。
部件列表项中的每个字节表示关于通道子***映像内的MIF映像的配置信息。按照MIF映像ID(IID)的升序存储部件列表项字节。如果部件列表项字节包含非零值,则该值是逻辑分区号(PN),并且该分区被配置到相应通道子***映像和MIF映像。如果部件列表项字节包含零,则没有分区被配置到相应通道子***映像和MIF映像。
实际上,这个命令返回分区号的二维矩阵,其可以通过CSSID(行)和IID(列)来索引。每个部件列表项是矩阵的完整的一行。
5 通道子***映像配置特征:每个部件列表项例如为16字节。每个列表项的内容和意义例如描述如下:
每个部件列表项表示关于单个通道子***映像的配置特征信息。从命令请求块中指定的范围中的第一CSSID开始,按照通道子***映像ID(CSSID)的升序存储部件列表项。
可配置通道子***映像的最大数量是模型相关的。这个命令返回的部件列表项的数目可以等于或小于命令请求块中指定的范围中的数目。提交程序使用上述技术可以确定返回的部件列表项的数目。
部件列表项中的每个字节是标记字节,其表示关于通道子***映像内的MIF映像的配置特征信息。按照MIF映像ID(IID)的升序存储部件列表项字节。每个部件列表项标记字节中的每个位的含义例如如下:
位0:当位0为1时,相应通道子***映像ID(CSSID)和MIF映像ID(IID)被识别成有效标识符。当位0为0时,相应IID不被识别成有效标识符。
位1-2:当位0为1时,位1-2包含一值,其指定由识别的CSSID标识的通道子***映像和由识别的IID标识的MIF映像的状态。这些值为:
值CSSID.IID状态
0 非配置状态:没有被配置到相应通道子***映像和MIF映像的逻辑分区。
1 配置状态:逻辑分区被配置到相应通道子***映像和MIF映像。
位3-7:位3-7被保留并且为零。
如果部件列表项中任何标记字节指示所识别的MIF映像ID,则相应通道子***映像ID也被识别。于是,如果部件列表项中所有标记字节指示不被识别的MIF映像ID,则相应通道子***映像ID也不被识别。
6 I/O处理器和通道路径:每个部件列表项例如为8字节。每个列表项的内容例如描述如下:
字节0包含应用于项的字节1-7的有效性屏蔽。字节0有效,即使比特位置0为零。比特位置1-7对应于项的字节1-7。当位置1-7中的位为1时,相应字节有效。当位置1-7中的位为0时,相应字节无效。
在不是所有IOP可以访问指定通道路径的模型中,字节1包含在开始或其它过程期间可以访问指定通道路径的IOP的IOP编号。作为一个例子,有效IOP编号在0-255的范围内。字节2-7被保留。
前面详细描述了允许多个通道子***映像共享通道(例如物理通道)的能力。除了这里描述的命令之外,可以增强其它命令以反映跨越能力。例如,可以增强命令以指示具体通道是否被跨越,或者命令的结果或指示可以取决于或反映跨越能力。可以存在许多其它变化。
有利的是,跨越通道工具提供了控制以便将一通道配置到与诸共享逻辑通道子***相关的多个通道路径组,并且以对共享该通道的操作***映像透明的方式提供对这些共享通道路径的本地通道速度访问。
有利的是,以对于通道子***映像所配置到的共同逻辑分区中工作的程序共享透明的方式执行多个通道子***映像对一或多个通道的共享。此外,有利的是,跨越可以增加通道路径的共同拥有者的最大可能数目。跨越独立于MIF通道路径共享。通过不使用任何一个,使用任何一个或使用两者,可以灵活地提供无数配置可能性,以满足任何可能的配置要求。跨越越过了在通道子***映像之间实施的自然间隔。多通道子***工具通过破除现有的256个物理通道路径的限制而提供CPC的可扩展性,而跨越提供了平衡可能的配置选择的共享灵活性。
虽然前面描述了各种实施例,然而这些仅仅是例子。在不偏离本发明的精神的情况下,可以对上述实施例进行增加、删除和/或修改。例如,虽然前面描述了计算环境,然而可以使用许多不同的计算环境。例如,可以在环境中包含或多或少的逻辑分区(或其它区)。此外,一或多个分区可以运行在不同体系结构模式中。此外,可以有多个中央处理复合体连接在一起。这些仅仅是在不偏离本发明精神的情况下可以得到的某些变型。可以有其它变化。例如,可以提供包含多个多通道子***的计算环境,其中一或多个多通道子***包含多个映像。并且,计算环境不必基于z/Architecture。
此外,环境可以包含仿真器(例如软件或其它仿真机构),其中仿真具体体系结构或其子集。在这种环境中,仿真器的一或多个仿真功能可以实现本发明的一或多个方面,即使执行仿真器的计算机可以具有不同于所仿真的能力的体系结构。作为一个例子,在仿真模式中,解码被仿真的特定指令或操作,并且建立适当的仿真功能以实现各个指令或操作。
此外,即使在上述实施例中通道路径包含控制单元,然而这是不必要的。通道路径可以不连接到控制单元或设备,例如以太网通道路径或通道到通道适配器的情况。这类通道路径以及其它通道路径在本发明的一或多个方面的精神范围内。
作为另一个例子,虽然提供LPAR管理程序以作为一个例子,然而可以使用例如虚拟机管理程序等等的其它管理程序。
另外,虽然这里描述的命令具有各种字段,然而可以提供更多、更少或不同的字段。此外,图中字段的位置不必指示控制块内的位置。可以有其它位置。类似地,虽然在某种情境中描述了特定字节或位,然而这些仅仅是例子。可以使用其它字节或位。此外,可以提供其它尺寸。
作为另一个例子,虽然提供了具有各种参数的不同配置语句,然而参数和/或语句可以不同,并且/或者可以添加或删除其它参数和/或语句。
同样地,在另一个例子中,尽管描述了IOCDS的数据结构,然而可以有更多、不同或更少的结构,并且可以改变结构内的信息。
上述仅仅是可以进行的增强/修改的某些例子。在不偏离本发明的一或多个方面的精神的情况下可以有其它例子。
本发明可以被包含在具有例如计算机可用介质的制造产品(例如一或多个计算机程序产品)中。该介质具有在其中包括的例如计算机可读程序代码单元或逻辑(例如指令、代码、命令等等)以提供和利于本发明的能力。该制造产品可以被作为一部分包含在计算机***中或单独销售。
另外,可以提供至少一个机器可读的程序存储设备,该设备实际包含至少一个可被机器运行以便执行本发明的功能的指令程序。
这里描述的图例仅仅是例子。在不偏离本发明的宗旨的前提下可以多方面改变这些图例或在其中描述的步骤(或操作)。例如,可以按照不同的顺序执行步骤,也可以增加、删除或修改步骤。所有这些变型均认为是所要求的本发明的一部分。
虽然这里已经详细描述了优选实施例,然而相关领域的技术人员应当理解,在不偏离本发明的实质的情况下可以进行各种修改、添加、替换等等,并且这些被认为是在如下面的权利要求所定义的本发明范围内。
Claims (37)
1.一种增强一计算环境的输入/输出处理的方法,所述方法包括步骤:
为所述计算环境的一输入/输出I/O子***的第一I/O子***映像分配一通信适配器,所述第一I/O子***映像包括多个通道路径;以及
为所述I/O子***的第二I/O子***映像分配所述通信适配器,所述第二I/O子***映像包括多个通道路径,其中所述第一I/O子***映像和所述第二I/O子***映像共享所述通信适配器。
2.如权利要求1所述的方法,其中向所述第一I/O子***映像分配的步骤包括使所述通信适配器与所述第一I/O子***映像的一通道路径相关,并且所述向所述第二I/O子***映像分配的步骤包括使所述通信适配器与所述第二I/O子***映像的一通道路径相关。
3.如权利要求2所述的方法,其中所述第一I/O子***映像的所述通道路径和所述第二I/O子***映像的所述通道路径具有相同的标识。
4.如权利要求2所述的方法,其中所述第一I/O子***映像的所述通道路径和所述第二I/O子***映像的所述通道路径具有不同的标识。
5.如权利要求2所述的方法,其中所述通信适配器、所述第一I/O子***映像的通道路径和第二I/O子***映像的所述通道路径构成一跨越组。
6.如权利要求5所述的方法,其中所述I/O子***具有与其相关的多个跨越组,所述多个跨越组中的每个跨越组具有不同的通信适配器。
7.如权利要求1所述的方法,其中动态地执行向所述第一I/O子***映像分配的步骤和向所述第二I/O子***映像分配的步骤中的至少一个。
8.如权利要求7所述的方法,其中通过由耦合到所述I/O子***的一分区管理器执行一指令,来动态地执行向所述第一I/O子***映像分配的步骤和向所述第二I/O子***映像分配的步骤中的至少一个。
9.如权利要求7所述的方法,其中通过执行在所述计算环境内仿真的一指令,动态地执行向所述第一I/O子***映像分配的步骤和向所述第二I/O子***映像分配的步骤中的至少一个。
10.如权利要求1所述的方法,其中通过一或多个仿真功能协助实现向所述第一I/O子***映像分配的步骤和向所述第二I/O子***映像分配的步骤中的至少一个。
11.如权利要求1所述的方法,其中所述I/O子***被耦合到所述计算环境的一中央处理复合体。
12.如权利要求11所述的方法,其中所述中央处理复合体包括耦合到所述I/O子***的所述第一I/O子***映像的一或多个分区,和耦合到所述I/O子***的所述第二I/O子***映像的一或多个分区。
13.如权利要求1所述的方法,其中所述第一I/O子***映像和所述第二I/O子***映像对于所述计算环境的程序均表现为一独立的I/O子***。
14.如权利要求1所述的方法,其中所述通信适配器包括一通道。
15.如权利要求14所述的方法,其中所述I/O子***包括一通道子***,所述第一I/O子***映像包括所述通道子***的一通道子***映像,而所述第二I/O子***映像包括所述通道子***的另一个通道子***映像。
16.一种增强一计算环境的输入/输出处理的方法,所述方法包括:
由所述计算环境的一输入/输出I/O子***的多个I/O子***映像中的若干I/O子***映像共享一通信适配器,其中一I/O子***映像对于所述计算环境的程序表现为一独立的I/O子***,所述每一个I/O子***映像包括多个I/O路径。
17.如权利要求16所述的方法,其中所述若干I/O子***映像包括以下各项之一:少于所述多个I/O子***映像的I/O子***映像,和所述多个I/O子***映像。
18.如权利要求16所述的方法,其中所述共享包括由所述多个I/O子***映像的若干I/O子***映像的一或多个集合共享多个通信适配器。
19.如权利要求16所述的方法,其中所述共享包括使所述通信适配器与所述若干I/O子***映像中的若干I/O路径相关。
20.如权利要求16所述的方法,其中所述通信适配器包括一通道,所述I/O子***包括一通道子***,并且所述多个I/O子***映像包括多个通道子***映像。
21.一种增强一计算环境的输入/输出处理的***,所述***包括:
用于为所述计算环境的一输入/输出I/O子***的第一I/O子***映像分配一通信适配器的装置,其中所述第一I/O子***映像包括多个通道路径;以及
用于为所述I/O子***的第二I/O子***映像分配所述通信适配器的装置,其中所述第二I/O子***映像包括多个通道路径,所述第一I/O子***映像和所述第二I/O子***映像共享所述通信适配器。
22.如权利要求21所述的***,其中用于向所述第一I/O子***映像分配的装置包括用于使所述通信适配器与所述第一I/O子***映像的一通道路径相关的装置,并且用于向所述第二I/O子***映像分配的装置包括用于使所述通信适配器与所述第二I/O子***映像的一通道路径相关的装置。
23.如权利要求22所述的***,其中所述第一I/O子***映像的所述通道路径和所述第二I/O子***映像的所述通道路径具有相同的标识。
24.如权利要求22所述的***,其中所述第一I/O子***映像的所述通道路径和所述第二I/O子***映像的所述通道路径具有不同的标识。
25.如权利要求22所述的***,其中所述通信适配器、所述第一I/O子***映像的所述通道路径和所述第二I/O子***映像的通道路径构成一跨越组。
26.如权利要求25所述的***,其中所述I/O子***具有与其相关的多个跨越组,所述多个跨越组中的每个跨越组具有不同的通信适配器。
27.如权利要求21所述的***,其中用于向所述第一I/O子***映像分配的装置和用于向所述第二I/O子***映像分配的装置中的至少一个包括用于动态分配的装置。
28.如权利要求27所述的***,其中所述用于动态分配的装置包括用于通过耦合到所述I/O子***的一分区管理器执行指令的装置。
29.如权利要求27所述的***,其中所述用于动态分配的装置包括用于执行在所述计算环境内仿真的指令的装置。
30.如权利要求21所述的***,其中通过一或多个仿真功能协助实现所述用于向所述第一I/O子***映像分配的装置和所述用于向所述第二I/O子***映像分配的装置中的至少一个。
31.如权利要求21所述的***,其中所述I/O子***被耦合到所述计算环境的一中央处理复合体。
32.如权利要求31所述的***,其中所述中央处理复合体包括耦合到所述I/O子***的所述第一I/O子***映像的一或多个分区,和耦合到所述I/O子***的所述第二I/O子***映像的一或多个分区。
33.一种增强一计算环境的输入/输出处理的***,所述***包括:
向所述计算环境的一输入/输出I/O子***的第一I/O子***映像分配的一通信适配器,其中所述第一I/O子***映像包括多个通道路径;以及
向所述I/O子***的第二I/O子***映像分配的该通信适配器,其中所述第二I/O子***映像包括多个通道路径,所述第一I/O子***映像和所述第二I/O子***映像共享所述通信适配器。
34.一种增强一计算环境的输入/输出处理的***,所述***包括:
用于由所述计算环境的一输入/输出I/O子***的多个I/O子***映像中的若干I/O子***映像共享一通信适配器的装置,其中一I/O子***映像对于所述计算环境的程序表现为一独立的I/O子***,所述每一I/O子***映像包括多个I/O路径。
35.如权利要求34所述的***,其中所述若干I/O子***映像包括以下各项之一:少于所述多个I/O子***映像的I/O子***映像,和所述多个I/O子***映像。
36.如权利要求34所述的***,其中所述用于共享的装置包括用于由所述多个I/O子***映像的若干I/O子***映像的一或多个集合共享多个通信适配器的装置。
37.一种计算***,包括:
具有多个分区的一中央处理复合体;
具有耦合到所述多个分区的一或多个分区的第一输入/输出I/O子***映像、和耦合到所述多个分区的一或多个其它分区的第二I/O子***映像的一I/O子***,其中所述第一I/O子***映像包括多个通道路径,所述第二I/O子***映像包括多个通道路径;以及
耦合到所述第一I/O子***映像和所述第二I/O子***映像的一通道。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/435,955 | 2003-05-12 | ||
US10/435,955 US7174550B2 (en) | 2003-05-12 | 2003-05-12 | Sharing communications adapters across a plurality of input/output subsystem images |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1607504A CN1607504A (zh) | 2005-04-20 |
CN1306406C true CN1306406C (zh) | 2007-03-21 |
Family
ID=33417052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100381531A Expired - Lifetime CN1306406C (zh) | 2003-05-12 | 2004-05-11 | 在多个输入/输出子***映像上共享通信适配器的方法和*** |
Country Status (2)
Country | Link |
---|---|
US (1) | US7174550B2 (zh) |
CN (1) | CN1306406C (zh) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060069828A1 (en) * | 2004-06-30 | 2006-03-30 | Goldsmith Michael A | Sharing a physical device among multiple clients |
JP4788124B2 (ja) * | 2004-09-16 | 2011-10-05 | 株式会社日立製作所 | データ処理システム |
US20060168173A1 (en) * | 2004-12-15 | 2006-07-27 | Cisco Technology, Inc. | Method and apparatus for conditional application of management commands |
US7958188B2 (en) * | 2007-05-04 | 2011-06-07 | International Business Machines Corporation | Transaction-initiated batch processing |
US8108732B2 (en) * | 2008-06-18 | 2012-01-31 | International Business Machines Corporation | Apparatus and method to minimize performance degradation during communication path failure in a data processing system |
US8898418B2 (en) | 2008-08-26 | 2014-11-25 | International Business Machines Corporation | Method, apparatus and computer program for provisioning a storage volume to a virtual server |
US8732716B2 (en) * | 2008-09-30 | 2014-05-20 | International Business Machines Corporation | Virtualization across physical partitions of a multi-core processor (MCP) |
US8650337B2 (en) | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Runtime determination of translation formats for adapter functions |
US8478922B2 (en) | 2010-06-23 | 2013-07-02 | International Business Machines Corporation | Controlling a rate at which adapter interruption requests are processed |
US8626970B2 (en) | 2010-06-23 | 2014-01-07 | International Business Machines Corporation | Controlling access by a configuration to an adapter function |
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 |
US8572635B2 (en) | 2010-06-23 | 2013-10-29 | International Business Machines Corporation | Converting a message signaled interruption into an I/O adapter event notification |
US8549182B2 (en) | 2010-06-23 | 2013-10-01 | International Business Machines Corporation | Store/store block instructions for communicating with adapters |
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 |
US8504754B2 (en) | 2010-06-23 | 2013-08-06 | International Business Machines Corporation | Identification of types of sources of adapter interruptions |
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 |
US8615622B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Non-standard I/O adapters in a standardized I/O 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 |
US8650335B2 (en) | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Measurement facility for adapter functions |
US8615645B2 (en) * | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Controlling the selectively setting of operational parameters for an adapter |
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 |
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 |
US9342352B2 (en) | 2010-06-23 | 2016-05-17 | International Business Machines Corporation | Guest access to address spaces of adapter |
US8505032B2 (en) | 2010-06-23 | 2013-08-06 | International Business Machines Corporation | Operating system notification of actions to be taken responsive to adapter events |
US8645767B2 (en) | 2010-06-23 | 2014-02-04 | International Business Machines Corporation | Scalable I/O adapter function level error detection, isolation, and reporting |
US9195623B2 (en) | 2010-06-23 | 2015-11-24 | International Business Machines Corporation | Multiple address spaces per adapter with address translation |
US8683108B2 (en) | 2010-06-23 | 2014-03-25 | International Business Machines Corporation | Connected input/output hub management |
US8635430B2 (en) | 2010-06-23 | 2014-01-21 | International Business Machines Corporation | Translation of input/output addresses to memory addresses |
US8244924B2 (en) * | 2010-06-24 | 2012-08-14 | International Business Machines Corporation | Discovery and configuration of device configurations |
US8737604B2 (en) | 2011-05-09 | 2014-05-27 | Advanced Micro Devices, Inc. | Processor with architecture implementing the advanced encryption standard |
WO2012168872A1 (en) * | 2011-06-07 | 2012-12-13 | International Business Machines Corporation | Virtual network configuration and management |
CN102801729B (zh) * | 2012-08-13 | 2015-06-17 | 福建星网锐捷网络有限公司 | 虚拟机报文转发方法、网络交换设备及通信*** |
US10261817B2 (en) | 2014-07-29 | 2019-04-16 | Nxp Usa, Inc. | System on a chip and method for a controller supported virtual machine monitor |
US10235310B2 (en) | 2016-11-29 | 2019-03-19 | International Business Machines Corporation | Deallocation of memory buffer in multiprocessor systems |
US10248485B2 (en) | 2016-12-16 | 2019-04-02 | International Business Machines Corporation | Dual physical-channel systems firmware initialization and recovery |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1340761A (zh) * | 2000-08-24 | 2002-03-20 | 国际商业机器公司 | 为达到最优性能对输入输出适配器设备编程的方法 |
US20030014461A1 (en) * | 2001-01-11 | 2003-01-16 | Axis Software Co., Ltd. | Client control system for routine task |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3693161A (en) * | 1970-07-09 | 1972-09-19 | Burroughs Corp | Apparatus for interrogating the availability of a communication path to a peripheral device |
US4207609A (en) * | 1978-05-08 | 1980-06-10 | International Business Machines Corporation | Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system |
US4564903A (en) * | 1983-10-05 | 1986-01-14 | International Business Machines Corporation | Partitioned multiprocessor programming system |
US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
US5185736A (en) * | 1989-05-12 | 1993-02-09 | Alcatel Na Network Systems Corp. | Synchronous optical transmission system |
AU650242B2 (en) * | 1989-11-28 | 1994-06-16 | International Business Machines Corporation | Methods and apparatus for dynamically managing input/output (I/O) connectivity |
US5537574A (en) * | 1990-12-14 | 1996-07-16 | International Business Machines Corporation | Sysplex shared data coherency method |
US5170472A (en) * | 1991-03-28 | 1992-12-08 | International Business Machines Corp. | Dynamically changing a system i/o configuration definition |
US5644712A (en) * | 1991-06-05 | 1997-07-01 | International Business Machines Corporation | Indirect addressing of channels via logical channel groups |
US5317739A (en) * | 1992-03-30 | 1994-05-31 | International Business Machines Corp. | Method and apparatus for coupling data processing systems |
US5452455A (en) * | 1992-06-15 | 1995-09-19 | International Business Machines Corporation | Asynchronous command support for shared channels for a computer complex having multiple operating systems |
US5600805A (en) * | 1992-06-15 | 1997-02-04 | International Business Machines Corporation | Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems |
US5414851A (en) * | 1992-06-15 | 1995-05-09 | International Business Machines Corporation | Method and means for sharing I/O resources by a plurality of operating systems |
JP2566728B2 (ja) * | 1992-10-30 | 1996-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 論理径路スケジューリング装置及び実行方法 |
US5526484A (en) * | 1992-12-10 | 1996-06-11 | International Business Machines Corporation | Method and system for pipelining the processing of channel command words |
US5584039A (en) * | 1993-11-08 | 1996-12-10 | International Business Machines Corporation | System for coordinating execution of multiple concurrent channel programs without host processor involvement using suspend and resume commands to control data transfer between I/O devices |
US5907684A (en) * | 1994-06-17 | 1999-05-25 | International Business Machines Corporation | Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image |
US5548791A (en) * | 1994-07-25 | 1996-08-20 | International Business Machines Corporation | Input/output control system with plural channel paths to I/O devices |
US5564040A (en) * | 1994-11-08 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for providing a server function in a logically partitioned hardware machine |
US5680580A (en) * | 1995-02-28 | 1997-10-21 | International Business Machines Corporation | Remote copy system for setting request interconnect bit in each adapter within storage controller and initiating request connect frame in response to the setting bit |
US5996026A (en) * | 1995-09-05 | 1999-11-30 | Hitachi, Ltd. | Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information |
JP3225804B2 (ja) * | 1995-09-05 | 2001-11-05 | 株式会社日立製作所 | 入出力チャネルの拡張方式 |
JP3503948B2 (ja) * | 1995-09-13 | 2004-03-08 | 株式会社 日立製作所 | 電子計算機システム |
US5793983A (en) * | 1996-01-22 | 1998-08-11 | International Business Machines Corp. | Input/output channel interface which automatically deallocates failed subchannel and re-segments data block for transmitting over a reassigned subchannel |
US6240467B1 (en) * | 1998-10-07 | 2001-05-29 | International Business Machines Corporation | Input/output operation request handling in a multi-host system |
US6195330B1 (en) * | 1998-11-05 | 2001-02-27 | David C. Sawey | Method and system for hit-less switching |
US6397260B1 (en) * | 1999-03-08 | 2002-05-28 | 3Com Corporation | Automatic load sharing for network routers |
US7533210B2 (en) * | 2002-10-24 | 2009-05-12 | Sun Microsystems, Inc. | Virtual communication interfaces for a micro-controller |
-
2003
- 2003-05-12 US US10/435,955 patent/US7174550B2/en not_active Expired - Lifetime
-
2004
- 2004-05-11 CN CNB2004100381531A patent/CN1306406C/zh not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1340761A (zh) * | 2000-08-24 | 2002-03-20 | 国际商业机器公司 | 为达到最优性能对输入输出适配器设备编程的方法 |
US20030014461A1 (en) * | 2001-01-11 | 2003-01-16 | Axis Software Co., Ltd. | Client control system for routine task |
Also Published As
Publication number | Publication date |
---|---|
US7174550B2 (en) | 2007-02-06 |
CN1607504A (zh) | 2005-04-20 |
US20040230713A1 (en) | 2004-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1306406C (zh) | 在多个输入/输出子***映像上共享通信适配器的方法和*** | |
CN1110745C (zh) | 具有面向目标的打印接口的操作*** | |
CN1147785C (zh) | 执行多个指令流的多程序流程同时处理器 | |
CN1175341C (zh) | 异步更新共享资源的接口***和方法 | |
CN1149492C (zh) | 遥控方法和服务器 | |
CN1284095C (zh) | 多处理器***中的任务分配方法和多处理器*** | |
CN1304936C (zh) | 直观显示对象文件的仿真器及其操作方法 | |
CN1275152C (zh) | 制造和更新可***的便携式操作***模块的***和方法 | |
CN1795434A (zh) | 程序执行控制设备,程序执行控制方法,控制程序和记录介质 | |
CN1251119C (zh) | 基于网络的光掩模数据输入接口和用于制造光掩模的指令生成器 | |
CN1041839A (zh) | 包含有在二个目标之间进行数据传送的快照设施的目标管理设施 | |
CN1637710A (zh) | 用于调度数据处理基础结构中工作单元执行的方法和*** | |
CN1495601A (zh) | 移动计算装置用户打印文档的***和方法 | |
CN1568458A (zh) | 无需修改现有代码即可增加新软件特征的方法 | |
CN1866202A (zh) | 嵌入式设备的驱动方法 | |
CN1319210A (zh) | 可配置的硬件块的配置方法 | |
CN1243286A (zh) | 设备控制装置及设备判断方法 | |
CN1387644A (zh) | 并行处理器体系结构的sdram控制器 | |
CN1630849A (zh) | 安全执行模式下信任客户使用安全核心*** | |
CN1677277A (zh) | 服务提供方法、服务提供商设备、信息处理方法和设备 | |
CN1684058A (zh) | 处理器 | |
CN1740970A (zh) | 无缝地比较对象的***和方法 | |
CN1912926A (zh) | 可中断图形处理单元处理多个程序的方法和图形处理单元 | |
CN1581082A (zh) | 用于便携运行的操作***的***和方法 | |
CN1734438A (zh) | 信息处理设备、信息处理方法和程序 |
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 | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20070321 |