CN103562893A - 促进通道子系统与输入/输出设备之间的传输模式输入/输出操作 - Google Patents
促进通道子系统与输入/输出设备之间的传输模式输入/输出操作 Download PDFInfo
- Publication number
- CN103562893A CN103562893A CN201280026358.0A CN201280026358A CN103562893A CN 103562893 A CN103562893 A CN 103562893A CN 201280026358 A CN201280026358 A CN 201280026358A CN 103562893 A CN103562893 A CN 103562893A
- Authority
- CN
- China
- Prior art keywords
- value
- dcw
- data
- control module
- sli
- 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
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Abstract
一种计算机程序产品被配置为执行一种方法,所述方法包括:通过所述主机计算机系统的通道子系统产生至少一个命令消息,所述至少一个命令消息包括一个或多个设备命令字(DCW),其中所述一个或多个DCW中的至少一个DCW包括抑制长度指示(SLI),所述SLI被配置为指示所述控制单元是否继续响应于所述控制单元检测到数据计数与所需的数据量不匹配而继续执行所述I/O操作;接收不正确长度(IL)值,响应于所述SLI是第一SLI值并且所述数据计数与所需的数据量不匹配,所述IL值是第一IL值;以及响应于从所述控制单元接收到所述IL值,将IL指示器存储在子通道状态字中。
Description
技术领域
本发明一般地涉及输入/输出(I/O)处理。更具体地说,本发明涉及提供促进传输模式I/O操作的特征。
背景技术
输入/输出(I/O)用于在存储器和I/O处理系统的I/O设备之间传输数据。具体而言,通过执行I/O操作,将数据从存储器写入一个或多个I/O设备,以及将数据从一个或多个I/O设备读取到存储器。
为了促进I/O操作的处理,采用I/O处理系统的I/O子系统。I/O子系统连接到主存储器和I/O处理系统的I/O设备,并在存储器与I/O设备之间引导信息流。I/O子系统的一个实例是通道子系统。通道子系统使用通道路径作为通信介质。每个通道路径包括与控制单元连接的通道,该控制单元进一步连接到一个或多个I/O设备。
通道子系统和I/O设备可以在传输模式下执行操作,该模式支持传输一个或多个命令控制块以在I/O设备与存储器之间传输数据。传输控制字(TCW)指定一个或多个要执行的I/O命令。对于发起特定I/O操作的命令,TCW指定与操作关联的存储区域、完成与该区域之间的传输之后所执行的操作,以及其它选择。
发明内容
一个实施例包括一种用于在被配置为与控制单元通信的主机计算机系统上执行输入/输出(I/O)操作指令发起的I/O操作的计算机程序产品,所述控制单元与一个或多个设备通信。所述计算机程序产品包括有形存储介质,其可被处理电路读取并存储被所述处理电路执行以执行一种方法的指令,所述方法包括:通过所述主机计算机系统的通道子系统产生至少一个指定I/O操作的命令消息,所述至少一个命令消息包括一个或多个设备命令字(DCW),每个DCW与I/O命令关联,其中所述一个或多个DCW中的至少一个DCW包括数据计数和抑制长度指示(SLI),所述SLI被配置为指示所述控制单元是否继续响应于所述控制单元检测到不正确长度条件而继续执行所述I/O操作,所述不正确长度条件响应于所述数据计数与执行所述I/O操作命令所需的数据量不匹配而被检测到,其中所需的数据是所述控制单元上可用于读取操作命令的数据和所述控制单元需要用于写入操作命令的数据之一;将所述至少一个命令消息转发到所述控制单元;从所述控制单元接收不正确长度(IL)值,响应于所述SLI是第一SLI值并且所述数据计数与所需的数据量不匹配,所述IL值是第一IL值,响应于所述SLI是第二SLI值并且所述数据计数与所需的数据量不匹配,所述IL值是第二IL值;以及响应于从所述控制单元接收到所述IL值,将IL指示器存储在子通道状态字中,所述IL指示器表示所述IL值。
另一实施例包括一种用于在被配置为与控制单元通信的主机计算机系统上执行输入/输出(I/O)操作指令发起的I/O操作的装置,所述控制单元与一个或多个设备通信。所述主机计算机系统被配置为执行:通过所述主机计算机系统的通道子系统产生至少一个指定I/O操作的命令消息,所述至少一个命令消息包括一个或多个设备命令字(DCW),每个DCW与I/O命令关联,其中所述一个或多个DCW中的至少一个DCW包括数据计数和抑制长度指示(SLI),所述SLI被配置为指示所述控制单元是否继续响应于所述控制单元检测到不正确长度条件而继续执行所述I/O操作,所述不正确长度条件响应于所述数据计数与执行所述I/O操作命令所需的数据量不匹配而被检测到,其中所需的数据是所述控制单元上可用于读取操作命令的数据和所述控制单元需要用于写入操作命令的数据之一;将所述至少一个命令消息转发到所述控制单元;从所述控制单元接收不正确长度(IL)值,响应于所述SLI是第一SLI值并且所述数据计数与所需的数据量不匹配,所述IL值是第一IL值,响应于所述SLI是第二SLI值并且所述数据计数与所需的数据量不匹配,所述IL值是第二IL值;以及响应于从所述控制单元接收到所述IL值,将IL指示器存储在子通道状态字中,所述IL指示器表示所述IL值。
另一实施例包括一种用于在被配置为与控制单元通信的主机计算机系统上执行输入/输出(I/O)操作指令发起的I/O操作的方法,所述控制单元与一个或多个设备通信。所述方法包括:通过所述主机计算机系统的通道子系统产生至少一个指定I/O操作的命令消息,所述至少一个命令消息包括一个或多个设备命令字(DCW),每个DCW与I/O命令关联,其中所述一个或多个DCW中的至少一个DCW包括数据计数和抑制长度指示(SLI),所述SLI被配置为指示所述控制单元是否继续响应于所述控制单元检测到不正确长度条件而继续执行所述I/O操作,所述不正确长度条件响应于所述数据计数与执行所述I/O操作命令所需的数据量不匹配而被检测到,其中所需的数据是所述控制单元上可用于读取操作命令的数据和所述控制单元需要用于写入操作命令的数据之一;将所述至少一个命令消息转发到所述控制单元;从所述控制单元接收不正确长度(IL)值,响应于所述SLI是第一SLI值并且所述数据计数与所需的数据量不匹配,所述IL值是第一IL值,响应于所述SLI是第二SLI值并且所述数据计数与所需的数据量不匹配,所述IL值是第二IL值;以及响应于从所述控制单元接收到所述IL值,将IL指示器存储在子通道状态字中,所述IL指示器表示所述IL值。
借助该实施例的技术,可以实现其它特征和优点。其它实施例和方面在此描述并被视为权利要求中声明的本发明的一部分。为了更好地理解本发明的优点和特征,现在参阅描述和附图。
附图说明
被视为本发明的主题在说明书结尾处的权利要求中专门指出并明确声明。当结合附图阅读下面的详细描述时,本发明的上述和其它目标、特征和优点将变得显而易见,在这些附图中:
图1示出集成和使用本发明的一个或多个方面的I/O处理系统的一个实施例;
图2示出传输控制字(TCW)的一个实施例;
图3示出传输命令控制块(TCCB)的一个实施例;
图4示出包括图3中的TCCB的传输命令信息单元(IU)的一个实施例;
图5示出图4中的传输命令IU的传输命令头的一个实施例;
图6示出图4中的TCCB的传输命令区域头(TCAH)的一个实施例;
图7示出图4中的TCCB的传输命令区域(TCA)的一个实施例;
图8是说明用于单向数据传输操作的各种数据计数的示例性确定的表;
图9是说明用于双向数据传输操作的各种数据计数的示例性确定的表;
图10示出设备命令字(DCW)的一个实施例;
图11示出图10中的DCW的控制标志字段的一个实施例;
图12示出DCW的示例性命令代码和标志;
图13示出传输命令区域扩展(TCAX)的一个实施例;
图14示出CBC偏移块的一个实施例;
图15是示出用于执行传输模式I/O操作的方法的实施例的流程图;
图16示出用于在通道与控制单元和/或I/O设备之间传输输入和输出数据的传输数据IU的实施例;
图17示出包括子通道状态字(SCSW)的中断响应块(IRB)的n实施例;
图18A和18B示出图17中的SCSW的示例性状态限定符;
图19示出传输响应IU的一个实施例;以及
图20示出图19中的传输响应IU的状态区域的一个实施例。
具体实施方式
本发明的实施例促进计算机系统中的输入/输出(I/O)处理。在一个实施例中,提供传输命令以管理I/O操作并通过通道路径传输数据。传输命令传输用于管理数据传输检查以及其它DCW传输的命令元信息(TCMI)。TCMI可以由一个或多个数据传输信息单元(IU)中定义的传输控制字(TCW)指定,该传输信息单元用于定义、指定和验证有关要在I/O操作中传输的数据的信息。传输命令可以包括询问命令、传输CBC偏移块(TCOB)命令,以及传输TCA扩展(TTE)命令。
在一个实施例中,I/O处理通过使主计算机增加可发送到设备以执行I/O操作的命令数来促进。例如,采取传输命令区域扩展(TCAX)形式的TCMI可从主机发送到设备以增加能够与I/O操作关联的命令数。在一个实施例中,TCAX可以由TCW指定并通过设备命令字(DCW)发送,该DCW被称为传输TCA扩展(TTE)DCW,包括除了在传输命令区域(TCA)中发送的命令之外,另外需要执行的命令。在一个实施例中,TCAX由TTEDCW指定并且作为输出数据发送到控制单元。
I/O处理还可通过提供一种装置来促进,通过这种装置,I/O设备可以在遇到不正确长度记录时继续I/O操作。例如,可在主系统和控制单元或设备中安装DCW不正确长度和FCX不正确长度指示功能。该功能提供可被控制单元执行的不正确长度(IL)检查。可在被发送到设备的DCW中添加抑制不正确长度或抑制长度指示(SLI)字段。当激活该位时,允许DCW链在控制单元检测到不正确长度条件时继续。
I/O处理还可通过提供一种装置来促进,该装置用于通过单个I/O操作,同时将读取和写入命令发送到设备。现有技术TCW通道程序指定所有写入命令或所有读取命令。双向操作可通过在命令IU的传输命令头(TCH)中设定一个或多个标志来指定,例如,通过将读取和写入标志设为1,并同时提供读取和写入数据计数。此外,诸如进程登录(PRLI)请求消息之类的发起或登录消息中的标志可被设为指示通道子系统支持双向数据传输。诸如PRLI接受消息之类的响应消息可以包括可被设为指示设备是否支持双向数据传输的标志。如果主机和控制单元都支持双向数据传输,但是读取和写入标志在命令IU中设定,则设备不会报告错误。此功能是现有技术光纤通道协议的改进,光纤通道协议不支持双向数据传输操作。如在此描述的那样,“双向数据传输”是同时在单个TCW I/O操作内执行输入和输出数据的传输,例如,在单个TCW I/O操作内同时发送和执行读取和写入命令。
图1示出I/O处理系统100的示例性实施例,该处理系统包括含有数据存储装置和/或处理系统的主机计算机系统102,例如国际商业机器公司()推出的大型计算机。IBM是位于美国纽约阿蒙克的国际商业机器公司的注册商标。此处使用的其它名称可能是国际商业机器公司或其它公司的注册商标、商标或产品名称。主机计算机系统102包括各种处理、存储和通信元件。在一个实施例中,主机计算机系统102包括一个或多个中央处理单元(CPU)104、诸如主存储装置或存储器106、扩展存储装置或存储器108之类的存储器、由一个或多个CPU104执行的一个或多个操作系统(OS)110。例如,一个CPU104可以执行操作系统110和/或操作系统110作为不同的虚拟机实例。CPU104是I/O处理系统100的控制中心。它包含用于指令执行、中断操作、定时功能、初始程序加载以及其它机器相关功能的序列化和处理功能。CPU104通过诸如双向或单向总线之类的连接113连接到主存储器106和/或扩展存储器108。
主机计算机系统102还包括通道子系统114,该子通道系统提供主系统101与各种I/O设备116之间的通信接口,它可以由一个或多个控制单元118控制。I/O设备包括诸如打印机、磁带单元、直接访问存储设备、显示器、键盘、通信控制器、远程处理设备和基于传感器的设备之类的设备。在此处的描述中,术语“控制单元”和“设备”可以互换地使用,或者控制单元可以被视为包括一个或多个设备。通道子系统114在I/O设备116与主机计算机系统102之间引导信息流。它使得CPU104从直接与I/O设备116通信的任务中解除出来并允许数据处理与I/O处理并行地进行。通道子系统114通过诸如总线之类的连接120连接到CPU104、主存储器106和/或扩展存储器108。
在一个实施例中,通道子系统114通过各个“通道路径”122连接到每个I/O设备116,这些通道路径通过诸如串行或并行链路之类的连接124将通道子系统114连接到每个控制单元118。控制单元118可以通过一个以上的通道路径122连接到通信子系统114,并且I/O设备116可以连接到一个以上的控制单元118和/或I/O设备116。总之,单独的I/O设备116可被多个通道路径同时访问。通道路径可以使用各种类型的连接,例如并行接口、串行I/O接口和FICON I/O接口。例如,串行通道路径可以包括一个或多个光纤,这些光纤通过例如Fibre通道光纤中的动态开关126连接到控制单元118,并且并行接口可以包括多个电导体或光纤导体。
在一个实施例中,通道子系统114包括一个或多个单独的通道128,它们分别通过一个或多个通道路径122连接到一个或多个控制单元118和/或I/O设备116。每个通道128包括处理电子元件,例如本地通道微处理器130以及连接到本地通道微处理器130并可被本地通道微处理器130访问的本地通道存储器132。本地通道存储器132可以包括诸如通道程序指定、通道路径标识符、设备号、设备计数、状态指示之类的信息,以及有关路径可用性和待执行或正在执行的功能的信息。
另外每个通道128中还包括一个或多个子通道。每个子通道是位于通道存储器132内的数据结构,它们提供有关关联的I/O设备116及其与通道子系统114的连接的信息。子通道还提供有关I/O操作以及涉及关联的I/O设备116的其它功能的信息。子通道是一种装置,通过这种装置,通道子系统114将有关关联的I/O设备116的信息提供给CPU104。在一个或多个实施例中,通道子系统提供的子通道的数量独立于关联的I/O设备116的通道路径122的数量。例如,可通过交替的通道路径122访问的设备116仍由单个子通道表示。
每个控制单元118提供操作和控制一个或多个I/O设备116的逻辑,并且使用通用功能使每个I/O设备116的特性适应通道128提供的链路接口。这些通用功能提供I/O操作的执行、有关I/O设备116和控制单元118的状态的指示、通道路径122上的数据传输定时的控制,以及特定级别的I/O设备控制。控制单元118可以单独封装,也可以物理地和逻辑地与I/O设备、通道子系统或CPU集成。
I/O处理系统100的一个或多个上述组件进一步在“z/Architecture Principles of Operation(z/Architecture操作原理,公开号为SA22-7832-08,2010年8月,第9版)”中进行描述。
I/O操作被描述为涉及主机计算机系统与I/O设备116之间的数据传输的任何操作。如此处所述,I/O操作包括通道子系统114与设备116之间的通信(在一个实施例中,通过控制单元118),其中单个命令(例如,通道命令字或CCW)、包括多个命令的单个命令消息(例如,传输命令信息单元或传输命令控制块(TCCB))、或多链命令(例如,多个CCW)从通道子系统114发送到设备。I/O操作还可以包括设备166或关联的控制单元118响应于接收到和/或执行命令或链命令而产生的一个或多个响应消息。
在一个实施例中,I/O操作由设备116通过执行OS110产生的I/O指令发起,这些指令指定与设备116关联的子通道。此类指令在主系统中由CPU104执行,具体方式是CPU104将参数发送到通道128或子通道以请求通道子系统114执行I/O操作中的各种功能。
例如,CPU104通过将参数发送到目标子通道以请求通道子系统114通过与子通道关联的I/O设备116执行启动功能而执行“STARTSUBCHANNEL”指令。通道子系统114通过使用子通道上的信息(其中包括在执行START SUBCHANNEL指令时传递的信息)查找设备116可访问的通道路径,并且在选定通道路径之后执行的I/O操作来执行启动功能。
当诸如START SUBCHANNEL之类的指令由CPU104执行时,通道128开始执行I/O操作。在一个实施例中,通道子系统114根据高性能FICON(HPF)协议执行操作,该协议用于通道子系统114与设备116和/或控制单元118之间的通信。FICON和HPF进一步在“Fibre Channel:Single-Byte Command Code Sets Mapping Protocol–4(FC-SB-4)(光纤通道:单字节命令代码集映射协议-4(FC-SB-4),T11Project2122-D,2009年9月22日,修订版3.00)”中进行描述。
在一个实施例中,START SUBCHANNEL指令的执行将操作请求块(ORB)的内容传递给通道子系统114。ORB指定包括一个或多个命令字(例如,下面进一步描述的通道命令字或传输命令字)的地址的通道程序。存在两种子通道操作模式。在一个实施例中,主机计算机系统102在命令模式下执行操作并指定采取通道命令字(CCW)形式的命令字。在另一实施例中,主系统在传输模式下执行操作并指定采取传输命令字(TCW)形式的命令字。
当安装FCX(光纤通道扩展)功能,并且作为执行指定TCW通道程序的START SUBCHANNE指令的结果,在子通道上设定启动功能时,子通道可以进入传输模式。子通道保持处于传输模式下,直到在子通道上重置启动功能,在其它所有时间上,子通道处于命令模式下。
在命令模式下,通道执行CCW通道程序,该通道程序包括单个通道命令字或按顺序执行的一系列通道命令字,这些通道命令字控制通道操作的特定顺序。控制单元通过I/O设备解码、接受和执行CCW命令,执行CCWI/O操作。被配置为循序执行的一个或多个CCW形成CCW通道程序并且分别作为一个或多个I/O操作执行。
光纤通道扩展(FCX)功能是可选功能,它提供由传输控制字(TCW)构成的传输模式通道程序的信息,传输控制字(TCW)指定传输命令控制块(TCCB)和传输状态块(TSB)。TCCB包括传输命令区域(TCA),该区域包含一个或多个(例如,最多30)采取设备命令字(DCW)形式的I/O命令的列表。TCW及其TCCB可以指定读取或写入操作。在一个实施例中,FCX双向数据传输功能可以安装在支持传输模式操作的系统中,在连接设备116和控制单元118支持双向数据传输的情况下,该系统允许主机计算机系统102通过单个传输模式I/O操作同时传输输入和输出数据。当控制单元118识别双向数据传输时,TCW及其TCCB可以根据设备同时指定读取和写入数据传输。
在传输模式下,单个传输命令字(TCW)指定在单个消息(而非命令模式中的各个单独的CCW)中发送的TCCB存储器中的位置(以及一个或多个数据区域的存储器106或108中的位置)。控制单元118通过解码、接受和执行TCCB以及其中包括的各个DCW执行传输模式I/O操作。如果ORB指定TCW通道程序,则通道子系统114使用所指定的TCW中的信息将TCCB传输到控制单元118。在TCCB被传输到控制单元118之后,TCCB的内容被通道子系统114忽略,这些内容仅对控制单元118及其关联的I/O设备116有意义。
在示例性实施例中,控制单元118响应于执行通道程序而产生响应消息。在某些实例中,控制单元118还可以不执行通道程序而直接产生响应消息,例如,为了通知通道子系统114通道程序将不执行。控制单元118可以包括多个元件以支持I/O通信适配器与I/O设备之间的通信,以及支持通道程序执行。例如,除了一个或多个队列、计时器和寄存器之外,控制单元118还可以包括控制逻辑以分析和处理消息,从而促进通信和状态监视。
图2示出传输控制字(TCW)140的实施例,该传输控制字存储在主系统(例如,主存储器106)中并且指定至少一个将从通道128传输到控制单元118的控制块。在一个实施例中,控制块是传输命令控制块(TCCB),其内容将被传输到控制单元118和I/O设备116进行处理。当TCW140指定TCCB时,TCCB包括指定一个或多个设备命令字(DCW)及其关联选择的TCA。对于指定发起数据传输的命令的DCW(TCCB内包含的控制数据除外),TCW140指定一个或多个其中包含数据的存储区域。
在一个实施例中,TCA包括传输TCA扩展(TTE)命令,提供该命令是为了传输可包含在TCCB内的DCW和/或控制数据之外的其它DCW和/或控制数据。TTE将TCA扩展(TCAX)传输到控制单元(包括至少一个DCW)并被视为与其关联的TCA的逻辑扩展(例如,通过将TCCB的最后一个DCW链接到TTE的第一DCW)。
现在再次参考图2,TCW140的实施例是在64字节边界上指定的64字节控制块。TCW包括下面所述的多个字段。
例如,多个标志字段142指示正在使用直接还是间接数据寻址查找输入数据、输出数据或TCCB。输出传输间接数据寻址(TIDA)字段指示输出数据直接还是间接被寻址。例如,当字0,TCW140的位7为0并且指定输出数据时,输出数据地址字段144指定绝对存储中的输出数据位置。当位7为1时,输出数据地址字段144指定TIDA字(TIDAW)或TIDAW列表(TIDAL)中的第一TIDAW的绝对地址,该地址分别指定一个或多个输出存储位置。输入TIDA字段指示输入数据直接还是间接地被寻址。例如,当字0,位5为0并且指定输入数据时,输入数据地址字段146指定输入存储位置的绝对地址(即,其中存储输入数据的位置)。当位5为1时,输入数据地址字段146指定TIDAW或TIDAL中的第一TIDAW的绝对地址,该地址指定一个或多个输入存储位置。传输命令控制块TIDA(TCCB-TIDA)字段指示TCCB直接还是间接地被寻址。例如,当字0,位6为0时,TCCB地址字段148指定TCW的TCCB绝对地址,当位6为1时,TCCB地址字段148指定TIDAW或TIDAL的绝对地址,该地址指定一个或多个TCCB位置。
TCW140还包括传输命令控制块长度(TCCBL)字段150,该字段以TCCB的字节数指定长度。例如,TCCBL字段包括无符号整数,其值(例如,当针对单向数据传输加到20或者当针对双向数据传输加到24时)以字节数指定TCCB的长度。
当指示要传输到主存储器106中的字节数时,读取操作(R)字段152非零(例如,字1的位14为1)。当指示要传输到主存储器中的字节数时,写入操作(W)字段154非零(例如,字1的位15为1)。如果R字段152和W字段154均为1时,将识别到程序检查条件,除非目标设备116和控制单元118支持双向数据传输。如果W位为1并且TCW为询问TCW时,将识别程序检查条件。
输出数据地址字段144指示任何要发送到设备的输出数据在存储中的位置。例如,当字1的位15(W字段位154)为1并且标志字段142(输出TIDA标志)的位7为0时,字2-3指定绝对存储中的64位输出位置。当W位为1并且输出TIDA标志为1时,字2-3指定TIDAW或TIDAW列表在绝对存储中的64位位置,该位置指定一个或多个输出存储位置。输入数据地址字段146指示当从设备接收任何输入数据时,存储这些任何输入数据的位置。例如,当字1的位14(R字段位152)为1并且标志字段142的位5(输入TIDA标志)为0时,字4-5指定绝对存储中的64位输入位置。当R位为1并且输入TIDA标志为1时,字4-5指定TIDAW或TIDAW列表在绝对存储中的位置,该位置指定输入存储位置。
传输状态块地址156指定TCW的传输状态块在存储中的地址。例如,字6-7指定TCW的传输状态块在绝对存储中的64位位置。
传输命令控制块地址字段148指定一个或多个TCCB(直接或间接)地址。例如,如果TCCB-TIDA位(标志字段的位6)为0,则字8-9指定TCCB在绝对存储中的64位位置。当TCCB-TIDA位为0时,TCCB被指定为驻留在存储的连续区域中。如果传输命令控制块TIDA位为1,则字8-9指定TIDAW或TIDAW列表在绝对存储中的64位位置,该位置指定TCCB在绝对存储中的位置。当TCCB-TIDA位为1时,TCCB可被指定为驻留在存储的非连续区域中。
输出计数字段158指定TCW的输出字节数。例如,当字1的位15(W位)为1时,字10包含TCW的输出字节的无符号整数总计数。输入计数字段160指定TCW的输入字节数。例如,当字1的位14(R位)为1时,字11包含TCW的输入字节的无符号整数总计数。
如果TCW指定询问操作,则询问TCW地址字段162指示询问TCW在存储中的位置。例如,当START SUBCHANNEL指令指定TCW时,不检查TCW的字15。但是,当CANCEL SUBCHANNEL指令指定作为TCW通道程序的启动未决,而非状态未决的子通道时,由START SUBCHANNEL指定的字15的位1-31指定用于发起子通道的询问操作的询问TCW在绝对存储中的位置。如果当发出CANCEL SUBCHANNLE时,字15包含0,则不发起询问操作。当发出CANCEL SUBCHANNLE时,字15的位0必须为0,否则识别程序检查条件,并且指示询问失败状态。当发出CANCELSUBCHANNLE并且字15的位1-31不包含0时,字15的位1-31必须在64字节边界上指定存储位置,否则识别程序检查条件,并且指示询问失败状态。可以保留字14以将询问TCW地址字段扩展为64位。
现在参考图3和4,传输命令控制块(TCCB)170包括一个或多个单独的命令作为TCW I/O操作的一部分,并且被通道128通过通道路径发送到控制单元118和/或设备116。TCCB170使通道不必发送多个消息或信息单元,另外还将执行操作的责任传递给控制单元并消除控制单元118发送每个命令的响应的需要。相反,控制单元118可以执行所有命令并将在完成操作时发送响应。
TCCB170的长度可变,可以包含头信息和尾信息,以及一个或多个(例如,从1到30)命令作为设备命令字(DCW),这些设备命令字进行逻辑链接(例如,形成链),以便可以由控制单元118按顺序执行。TCCB170可以作为单个连续存储块存在,也可以作为多个非连续存储块存在。例如,上述TCW140中的TCCB TIDA标志用于指定TCCB是否驻留在连续存储中。
TCCB的实例在图3和4中示出。如图4所示,TCCB170可以从通道128发送到控制单元118,它作为传输命令信息单元(IU)172的一部分,该信息单元被发送到控制单元118以发起I/O操作。在一个实施例中,传输命令IU172由8字节SB-4头174、后跟4字节传输命令头(TCH)176以及TCCB170组成。TCCB170包括16字节传输命令区域头(TCAH)178、变长传输命令区域(TCA)180和传输命令区域尾(TCAT)182。TCAT182可以进一步包括4字节LRC字段184、4字节数据传输长度(DL)字段186,对于双向操作,包括4字节双向读取数据传输长度(BRDL)字段188。这些字段将在下面进一步描述。
现在参考图4,SB-4头174提供FC-4寻址信息以识别逻辑路径和设备116来传输数据。SB-4头174提供包括通道128与控制单元118之间的逻辑路径的通道图像ID和控制单元ID,以及设备ID的信息。
现在参考图5,TCH176包括有关TCCB170及其关联的设备操作的信息。在一个实施例中,TCH176包含4字节,并且紧跟传输命令IU172中的SB-4头174。TCH176包括诸如长度字段(“L1”)190、读取字段(“R”)192和写入字段(“W”)194之类的字段。L1字段(位于例如位24-29上)指定TCA180的长度(以字数表示)加上紧跟TCA180的1字LRC字段184。例如,对于不支持双向操作的控制单元118,传输命令IU172中传输的总数据量等于L1字段加8(即,L1字段加2字SB-4头、1字TCH、4字TCAH和1字DL);否则,控制单元识别由数据计数错误造成的传输命令IU完整性错误。对于支持双向操作的控制单元,传输命令IU172中传输的总数据量等于L1字段加8(即,L1字段加2字SB-4头、1字TCH、4字TCAH和1字DL)或者L1字段加9(即,L1字段加2字SB-4头、1字TCH、4字TCAH和1字DL,以及用于双向操作的1字BRDL);否则,控制单元将识别由数据计数错误造成的传输命令IU完整性错误。如果未识别到传输命令IU完整性错误,则TCCB中LRV的位置基于L1字段进行查找并且可以执行LRC检查。
读取(R)字段192指定TCA180包括一个或多个读取或输入命令。在图5的实施例中,R字段192为R位,位30,当被设为1时,该位指示TCA180包含一个或多个传输读取数据的命令。当R位被设为0时,TCA180不包含任何传输读取数据的命令。当R位为1并且W位(例如,位31)为0时,此操作被称为读取操作。当R位和W位均被设为0时,TCA180不包含任何传输读取或写入数据的命令,从而指示I/O操作不执行数据传输。当R位和W位均被设为1时,TCA180可以包含同时传输读取和写入数据的命令,此操作被称为双向操作。如果指定双向操作但是控制单元118不支持双向操作,或者控制单元118支持双向操作但是传输命令IU172包含BRDL字段188,则设备116或控制单元118识别由读取-写入冲突造成的TCH内容错误。当R位为0并且控制单元118或设备116遇到TCA180中尝试传输读取数据的命令时,识别由无效读取尝试造成的TCCB内容错误。
写入(W)字段194指定TCA180包括一个或多个写入或输出命令。在图5的实施例中,W字段为W位,位31,当被设为1时,该位指示TCA180包含一个或多个传输写入数据的命令。当该位被设为0时,TCA180不包含任何传输写入数据的命令。当W位为1并且R位(位30)为0时,此操作被称为写入操作。当W位为0并且控制单元118或设备116遇到TCA180中指定写入命令的命令时,识别由无效写入条件造成的TCCB内容错误。
现在参考图6,TCA头(TCAH)178的实施例包括有关TCA180的信息及其中描述的操作,例如TCA长度和设备指示。在该实施例中,字1的字节3为“L2”长度字段196,该字段包含指定TCA180的长度(以字节数表示)的无符号二进制整数加TCA头的字2和3,加紧跟TCA180的4字节LRC字段184。服务操作码字段198(例如,字2的字节0-1)包括指定由TCCB指定的操作类型的无符号整数值。例如,‘1FFE’的十六进制值指示SB-4设备I/O操作,‘1FFF’的十六进制值指示SB-4设备支持功能。优先数字段200(例如,字2的字节3)包括控制单元I/O优先数。
现在参考图7,传输命令区域(TCA)180是变长区域,该区域包含一个或多个(例如,从1到30)命令作为设备命令字(DCW)202。在一个实施例中,TCA180为具有4字节字的整数。对于指定设备控制数据的DCW202,TCA180还包含与每个DCW202关联的控制数据。指定控制数据的每个DCW202将最大DCW容量减少一个或多个DCW,具体取决于命令关联数据的大小。对于指定输入或输出数据的DCW202,TCW140指定一个或多个关联的存储区域,并且DCW指定要传输的字节计数。在一个实施例中,TCA的最大大小为240字节。如图7的实施例所示,当整个DCW202的TCA180中存在足够空间时,DCW202在紧跟上一DCW202或与上一DCW202关联的控制数据的字边界上开始。当TCA180中的最后一个DCW202指定不是整数个字的控制数据时,后续LRC字段184在紧跟控制数据的字边界上开始。
对于某些设备,DCW202的列表可以扩展为超过TCA180的容量。在这种情况下,TCA扩展(TCAX)字段可以被指定为包括其它DCW,并且就像TCAX为输出数据那样进行传输(例如,作为输出传输数据IU的一部分传输)。但是,TCAX被视为TCA180的逻辑延续,而非传输数据。TCAX由传输TCA扩展(TTE)DCW在TCA180中指定。TCAX和TTE DCW在下面进一步描述,并且TCAX的实施例在图12和13中示出。
如图3和4所示,TCCB可以包括传输命令区域尾(TCAT)182,它提供有关TCCB的附加信息,其中包括各种计数信息。在一个实施例中,当指定单向数据传输时(将R位或W位设为1)或者不指定任何数据传输时(同时将TCW中的R位和W位设为0),TCAT182的长度为2个字。当指定双向数据传输时(同时将TCW中的R位和W位设为1),TCAT182的长度为3个字。
例如,当指定单向数据传输时,传输计数或数据长度(DL)字段186指定要传输的总数据的32位无符号整数计数(“传输计数值”)。当指定读取操作时(TCW R位为1),TCAT中的传输计数字段中的值可通过对分别指定读取类型命令的DCW202中的计数字段值求和来确定。该总数被向上取整为最接近的4的倍数,并且取整的总数呈4倍增长以达到传输计数值。当指定读取操作时,传输计数值应该等于TCW输入计数字段160中的值,该值向上取整为下一4的倍数,加上4。
当指定写入操作时(TCW中的W位为1),对指定写入命令的DCW202中的计数字段值求和。此外,指定传输命令元信息(TCMI)的传输的所有传输命令DCW(下面进一步描述)中的计数字段值加上TCMI中的保留字段的大小被加到该总数上(需要指出,TCMI保留字段的大小可设为0)。任何TIDAW指定的控制块检查(CBC)或循环冗余检查(CRC)字节的以及填充字节的总计数被加到该总数上。该总数被向上取整为最接近的4的倍数,并且取整的总数呈4倍增长以达到传输计数值。当指定写入操作时,传输计数值应该等于TCW输出计数字段158中的值,该值向上取整为下一4的倍数,加上4。当既不指定读取操作,也不指定写入操作时(TCW中的W位和R位均为0),传输计数值应该为0。
当指定双向数据传输时,DL字段186为写入计数并指定要传输的总输出数据的32位无符号整数计数。TCAT182中的DL字段(写入计数字段)中的传输计数值根据上面所述针对写入操作确定。双向读取数据长度(BRDL)字段188指定要传输的总输入数据的35位无符号整数。BRDL字段188的传输计数值根据上面所述针对读取操作确定。
在一个实施例中,对于写入操作或双向操作,DL字段应该包含4字节无符号二进制整数,该整数指定要被通道传输到控制单元以执行操作的字节数并且包括所有中间和最终的填充字节和CRC字节,如果COB包括在写入操作的第一传输数据IU中,则它还包括COB、任何COB填充字节和COBCRC字节。如果TTE DCW位于TCA中,则DL字段还包括TCAX、任何TCAX填充字节和TCAX CRC字节。
图8和9分别是概述确定单向和双向传输的TCW输入计数、输出计数和TCAT传输计数值的表。
对于双向操作,双向读取数据长度(BRDL)字段包括4字节无符号二进制整数,该整数指定要被控制单元传输到通道以执行操作的字节数,并且包括需要取整到字边界的任何填充字节(如果尚未位于字边界上)加上4字节CRC。对于非双向操作,如果传输命令IU包含BRDL字段,则设备应该识别由读取写入冲突造成的TCH内容错误。
现在参考图10,设备命令字(DCW)202指定要执行的命令。对于发起特定I/O操作的命令,它指定将被执行操作的字节计数、每当与存储的传输完成时需要执行的操作,以及其它选项。根据命令指定的操作,由TCW140的输入数据地址字段146或输出数据地址字段144指定与DCW数据传输操作关联的一个或多个存储区域,TCW140指定包括DCW202的TCCB170。输入数据地址字段146或输出数据地址字段144是否直接或间接地指定存储由TCW140中的输入TIDA和输出TIDA标志指定。
在一个实施例中,DCW202为8字节控制块,该块在字边界上的TCW140中指定。DCW202包括诸如命令代码字段204、控制标志字段206、控制数据计数208和DCW数据计数210之类的字段。
命令代码字段204(例如,字0的位0-7)指定要执行的操作。命令是否有效与设备相关并且取决于TCAH178中服务操作码字段198的值。基本命令包括读取、写入、控制、检测和传输。通道子系统114区分以下操作:控制、正向输出(写入)、正向输入(读取、检测、检测ID)、反向输入(反向读取)、分支(在通道中传输)和传输。当执行时,有些命令不会导致数据传输,但是导致设备链在一起并在满足所有命令链接条件时开始执行下一命令。下面描述每个基本操作。
读取命令发起执行实现设备到通道数据传输的设备操作。写入命令发起执行实现通道到设备数据传输的设备操作。控制命令发起执行使用DCW中提供的控制数据的设备操作。这些检测命令类似于读取命令,只是数据从检测指示器获取,而非从记录源获取。控制命令及其关联的控制数据在执行I/O命令期间提供特定I/O设备的管理和设备的控制。传输命令用于管理I/O操作和通过通道路径的数据传输,并不是设定特定的命令。这些命令管理诸如循环冗余检查(CRC)数据之类的控制块检查数据的传输,以及传输数据IU中其它DCW的传输。
控制数据(CD)计数字段208指定与DCW202关联的控制数据字节数。例如,字0的字节3指定控制数据长度(以字节数表示)。如果命令代码指定需要控制数据的命令,并且字0的字节3指定的控制数据计数小于命令所需的计数,则识别设备检查条件或TCCB内容错误。如果命令代码指定需要控制数据的命令,并且字0的字节3包含0或者包含指定超过TCA末端(或者超过指定的TCAX的末端)的值,则识别设备检测程序检查条件或TCCB内容。
DCW数据计数字段210指定数据(例如,要针对读取或写入操作传输的数据,即,客户数据)字节计数,该数据由TCW针对DCW202指定。例如,DCW数据计数包括在图10的DCW202的字1中,并且指定TCW针对该DCW指定的存储区域中的32位无符号整数字节计数。DCW数据计数字段210指示在执行DCW期间,要在通道与控制单元之间传输的字节数,不包括任何填充字节或CRC字节。
现在参考图11,在一个实施例中,DCW202包括多个控制标志206。链命令(CC)标志212指定需要执行命令链接。在当前设备操作正常完成时以及在识别设备上的设备末端之后,命令链接导致执行TCA180中的下一DCW202。CC标志212在TCA中的最后一个DCW中被设为0。在图10的实施例中,字0的位9(CC位),当为1时,指定命令链接。当为1时,该位导致下一DCW指定的操作在当前的DCW正常完成时被发起。当控制数据计数为0时,下一DCW紧跟TCA或TCAX中的DCW。当控制数据计数不为0时,下一DCW紧跟针对DCW指定的被取整到字边界的控制数据。在一个实施例中,当链命令标志为1时,下一DCW在TCA或TCAX中的位置通过将8和CD计数字段中的值加到当前DCW的位置上,并且向上取证到最近的字边界来确定。如果在TAC的DCW中,链命令标志为1,则下一DCW位置超过TCA的末端,并且指定TCAX,下一DCW位于指定的TCAX的开始处。
在一个实施例中,控制标志字段包括抑制长度指示(SLI)字段214。当通道128和控制单元118支持DCW不正确长度功能时,在SLI标志字段214中提供一个位(例如,位2),该位控制命令链接是否在不正确长度条件上发生以及当不正确长度条件被控制单元118检测到时,不正确长度是否由该控制单元在传输响应IU中指示。如果DCW数据计数与设备需要用于写入DCW的数据量不匹配,或者如果DCW数据计数与设备上可用于读取DCW的数据量不匹配,则不正确长度条件被控制单元检测到。当通道和控制单元不支持DCW不正确长度功能时,位2被保留并被通道设为0,被控制单元忽略。
当SLI标志214为1时,不正确长度指示被抑制。当CC和SLI标志均为1时,命令链接发生,不考虑是否存在不正确长度条件。当SLI标志214为1并且针对当前DCW存在不正确长度条件时,命令链接(如果被指示)应该被允许并且控制单元继续执行下一DCW。在一个实施例中,SLI标志为应被设为1,或者在需要抑制不正确长度指示的所有DCW中以其它方式激活。
如果SLI标志为0并且针对DCW存在不正确长度条件,命令链接(如果被指示)不被允许并且控制单元118终止I/O操作。在通道子系统114中,如果SLI标志为0并且存在不正确长度条件,TCA180的处理终止并且通过子通道状态中指示的不正确长度将子通道变为状态未决。当不正确长度条件针对DCW202存在并且DCW中的SLI标志214被设为1时,根据下面的描述执行数据传输,否则终止操作并且应该报告操作的异常终止条件。
对于读取DCW202,如果DCW数据计数大于设备116上可用于命令的数据量,则应用下面的规则。如果CC标志212为1(指示链),则设备116上的可用数据被传输到通道128,并且传输填充字节(被设为0),以便针对DCW202传输的数据量等于DCW数据计数。包括填充字节在内的所有被传输的数据包括在操作所需的任何CRC计算中。如果CC标志212为0(不指示链),则设备上的可用数据应该被传输到通道,不应传输任何额外数据或者传输填充字节(被设为0),以便针对DCW传输的数据量等于DCW数据计数。被传输的数据加上任何填充字节应该包括在操作所需的任何CRC计算中。对于这种情况,是否传输填充字节无模型无关。如果DCW数据计数小于设备上可用于命令的数据量,则仅由等于DCW数据计数的数据量被针对DCW202传输到通道128。只有被传输的数据应该包括在操作所需的CRC计算中。
对于写入DCW202,如果DCW数据计数大于设备116需要用于命令的数据量,则应用下面的规则。如果CC标志212为1(指示链),则DCW数据计数指定的数据量应该被传输到通道128。被传输的数据应该用于操作所需的任何CRC计算,并且丢弃设备116不需要的数据。如果CC标志212为0(不指示链),则设备116所需的数据量被传输到控制单元118。额外数据被传输到下一中间CRC字,或者直到DCW的数据计数被用完。被传输的所有数据用于操作所需的任何CRC计算。如果DCW数据计数小于设备116需要用于命令的数据量,则DCW数据计数指定的数据量被传输到控制单元118。被传输的数据用于操作所需的任何CRC计算中。
对于其中DCW数据计数大于设备116需要用于命令的数据量并且CC标志212为0(不指示链)的写入DCW202,传输设备116所需的数据量。数据然后继续被传输,直到指定插入下一CBC,或者直到要传输的总量等于DCW数据计数。示例性命令代码在图12中示出,该图示出6个TCW命令并指示针对每个命令定义哪些标志。传输命令DCW是一类不指定特定数据传输命令(即,被请求通过主计算机指令传输的客户数据),而是指定执行与传输模式I/O操作关联的支持功能的传输命令的DCW。传输命令DCW可以指定控制数据,也可以指定传输命令元信息(TCMI)的传输。TCMI包括用于控制I/O操作中的传输功能的数据,例如,设备上的I/O操作状态、有关不能放入或可包含在当前TCCB中的其它DCW的信息,以及诸如循环冗余检查(CRC)数据之类的控制块检查(CBC)信息。
当传输命令DCW指定将TCMI传输到设备时,TCMI作为输出数据被传输(例如,在传输数据IU中)。TCMI的大小与命令相关,例如为4的倍数。当TCMI的大小为4的偶数倍时,TCMI可通过4个保留字节扩展,使用TIDAW指定输出存储区域,插入CBC标志在用于指定包含TCMI的存储的最后一个TIDAW中为1,链命令位在指定TCMI的传输命令DCW中为1,并且后续DCW指定TCMI或输出数据的传输。需要指出,当传输命令指定将TCMI传输到设备,并且由于满足上述所有条件而通过4个保留字节扩展TCMI时,这4个保留字节不包括在传输命令DCW中的数据计数值中,而是包括在以下值中:用于指定包含TCMI的存储的最后一个TIDAW中的计数值、TCW中的输出计数值以及关联的TCCB中的传输计数值(对于单向数据传输,对于双向传输,包括在关联的TCCB中的写入计数值中)。
在一个实施例中,TCMI包括询问信息(通过询问DCW)、CBC偏移块(通过传输CBC偏移块DCW)和TCA扩展(通过传输TCA扩展DCW)。
图中示出了被称为传输TCA扩展(TTE)命令的一类传输命令DCW指定的数据的实施例,该命令包括在TCCB170的TCA180中并指定要传输到控制单元118的TCA扩展(TCAX)220。TCAX被视为TCA180的逻辑扩展。对于某些设备116,与I/O操作关联的DCW202的列表超过可以容纳在TCA180中的DCW的数量。在这种情况下,可以在TCW140的末端处包括TTE DCW,该TCW指定作为输出数据传输的TCAX220(例如,在数据传输IU中)。TTE DCW的内容可以包括命令代码,该命令代码包括传输TCA扩展命令(例如,值50hex)。
例如,TCA180的长度可变,最大大小为240,DCW具有8个字节。这样,在该实例中,可以在TCCB中传输最多30个DCW。但是,对于指定需要控制数据的控制命令的DCW202,控制数据紧跟TCCB中的每个DCW202。这样,包含此类命令的TCCB170被限定为小于30个DCW。TTE DCW可用于指定I/O操作所需的不能放入TCA180的其它DCW。
如图13所示,TCA扩展(TCAX)为变长区域,它是TCA180在另一传输命令IU或TCCB中的逻辑延续,并且包括DCW列表及其关联的控制数据。TCAX包含一个或多个用于TCW I/O的其它DCW及其关联的控制数据(除了在初始TCCB中传输的以外),可通过另一TCCB或传输数据IU发送以扩展I/O操作所需的DCW列表。在一个实施例中,TCAX的长度为4的整数倍。
如图13所示,在一个实施例中,TCAX220包括DCW202和/或上一DCW的控制数据。当TCAX220中的最后一个信息为DCW202时,该DCW202的末端定义TCAX220中的有意义信息的末端。当TCAX220中的最后一个信息为控制数据,并且该控制数据在4字节边界上结束时,该控制数据的末端定义TCAX220中的有意义信息的末端。当TCAX220中的最后一个信息为控制数据并且该控制数据不在4字节边界上结束时,将填充字节附加到控制数据上以达到4字节边界并且填充数据的末端定义TCAX220中的有意义信息的末端。当TCAX220中的有意义信息的大小除以4等于奇数时,没有保留字节;否则,紧跟TCAX220中的有意义信息的4个字节被保留并且应该包含0。当TCAX180中的最后一个DCW202的控制数据包含在TCAX220中时,控制数据是TCAX220中的第一数据。TCAX220中的其它DCW和控制数据根据针对TCA180定义的方式进行处理。
在一个实施例中,当TCOB DCW(下面进一步描述)不位于TCA180中时,TTE DCW是TCA180中的第一DCW202。当TCOB DCW位于TCA180中时,TTE DCW是TCA180中的第二DCW202。TTE DCW数据计数指定TCAX220的长度并且可以是4个字节的整数倍。TTE DCW控制数据计数为0并且TTE DCW中的链命令标志被设为1。TTE DCW数据不包括TCAX CRC或TCAX填充字节。
TTE命令(TTE DCW)应该被发送到指示支持TTE命令的设备,并且在TCA长度具有特定最大值(例如,60个字)且TCA中的最后一个DCW的控制数据延伸超过TCA中的最后一个字节,或者TCA长度大于例如58个字且需要一个或多个其它DCW用于I/O操作时被发送。当COB在写入传输数据IU中提供时,TCAX应该紧跟COB CRC。当不提供COB时,TCAX应该通过I/O操作的第一写入传输数据IU发送。
另一类DCW为传输CBC偏移块(TCOB)DCW,它是将CBC偏移块(COB)传输到控制单元的命令。CBC数据指示控制块检查数据,用于验证在I/O操作中传输的输入或输出数据的正确量。在一个实施例中,CBC数据为循环冗余检查(CRC)数据,COB为CRC偏移块,并且TCOB DCW为传输CRC偏移块DCW。一般而言,循环冗余检查(CRC)为被配置为检测在通道128与控制单元118之间发送的原始数据的意外改变的错误检测代码。启用CRC的设备(例如,通道128)计算要发送或存储的每个数据块的简短、固定长度的二进制序列,并将该序列附加到数据上,从而形成代码字或“CRC字”。例如,当提供CRC产生时,通道128在发送数据上产生CRC并插入在最后一个数据字节的末端计算的值。当CRC字被接收或读取时,接收设备(例如,控制单元118)将其检查值与通过数据块新计算的值进行比较,或者等价地,在整个代码字上执行CRC并将得出的检查值与预期剩余常数进行比较。如果检查值不匹配,则块中包含传输数据中的错误。尽管CBC在此处的实施例中描述为CRC数据,但是并不限于此。
示例性TCOB DCW指定将COB传输到设备。该示例性TCOB具有包含传输CRC偏移块命令(例如,值60hex)的命令代码。链命令标志为1。当TCOB DCW的CD计数208不为0时,COB紧跟TCA180中的TCOB DCW并且CD计数208指定COB中的CRC偏移数乘以4。当CD计数208为0时,COB被指定为TCW中的TCMI,COB的位置被TCW中的输出数据地址字段146指定,并且该计数字段指定COB中的CRC偏移数乘以4。
如图14所示,COB222指定要进行写入或读取数据传输(例如,通过传输数据IU)的传输数据内的中间CRC字的位置。在一个实施例中,当TCA180中的第一DCW202包含TCOB命令时(即,TCOB DCW),提供COB。中间CRC偏移是位于数据传输IU中的数据之间以及位于IU末端之前的CRC字。COB222包含1字值列表,被称为CRC偏移224,每个偏移识别传输数据中每个中间CRC字的字节偏移。例如,COB是变长控制块,其中包括4字节条目列表,每个条目识别TIDAW指定的将被插入输出数据的CRC偏移。
在图14所示的实施例中,COB222包括中间CRC偏移的1至N+1字(CRC偏移字224)。如果COB222在传输数据IU中提供,则COB还可以包括填充字节的0或1字以及CRC的1字。可以提供填充字节,以便包含CRC的字位于并非双字边界的字边界上。COB的最后一个字应该包含CRC,该CRC涵盖中间CRC偏移0至N以及体填充字(如果存在)。如果提供COB作为TCOB DCW的控制数据,则应该没有COB填充或CRC,并且控制数据计数应该等于COB中的中间CRC偏移字段数的4倍。
对于写入操作,TCOB DCW指定COB被传输到设备116。TCOB DCW命令代码包括例如是值60hex的TCOB命令。COB的位置由控制数据计数确定并且可以在I/O操作的第一写入传输数据IU中提供,或者作为紧跟I/O操作的TCOB DCW的控制数据提供。Li8ru,当TCOB DCW的CD计数不为0时,COB222紧跟TCA180中的TCOB DCW,并且CD计数指定COB中的CRC偏移数乘以4。当CD计数为0时,COB222被指定为随输出数据传输的TCMI,并且COB的位置由TCW140中的输出数据地址字段144指定。
COB222中的每个中间CRC偏移224指示与传输数据IU中数据的第一字节相对的偏移(以字节数表示)。如果COB222在传输数据IU中提供,则将被写入传输的数据的第一字节是紧跟COB CRC的第一字节(如果不提供TCAX220)或者是尽管TCAX CRC的第一字节(如果提供TCAX)。如果在TCA180中提供COB作为DCW控制数据,则将被写入传输的数据的第一字节是传输数据IU中的第一字节(如果提供TCAX220)。当被在传输数据IU中提供时,COB在I/O操作的第一写入传输数据IU中提供。
又一类型传输命令DCW是询问DCW,其用于确定设备116上的TCWI/O操作的状态。询问命令不在设备116上发起操作,不会影响设备116的状态,并且不会重置与设备116关联的忠贞和关联的逻辑路径。示例性询问DCW包括询问命令代码(例如,包含值40hex)。除了命令代码以外,SLI标志、计数和CD计数字段,DCW中的所有其它字段都应该包含0,否则包含设备检测到的程序检查条件。如果询问DCW的CD计数大于0,则指定询问数据。
对逻辑路径和正在执行TCW I/O操作的设备116执行询问操作,以获取与设备116上的操作状态相关的数据。在一个实施例中,询问操作的TCCB170包括具有询问命令代码(例如,X’40)的单个DCW。询问操作的TCAH178可以包含被设为1以针对操作指定读取数据传输的R位。当控制单元118接受指定询问命令的传输命令IU时,在控制单元118上识别询问操作。当已经在控制单元118上识别询问操作并且控制单元118能够成功地执行询问命令时,控制单元118可以在传输响应IU中提供状态,其中包括描述询问传输命令IU指定的逻辑路径和设备地址的状态的询问扩展状态。
现在参考图15,其中示出执行传输模式I/O操作300的方法的实施例。所述方法包括一个或多个阶段301-305。在一个实施例中,所述方法包括以所描述的顺序执行所有阶段301-305。但是,有些阶段可省略,有些阶段可添加,或者可以更改阶段的顺序。
在阶段301,主计算机(例如,OS110)执行使ORB被传输到通道子系统114并指定TCW140的指令(例如,START SUBCHANNEL)。在一个实施例中,与特定于捕捉状态和传输指定TCCB170的TCW字段的可用性相关的程序检查条件由通道子系统114检查以确定是否将TCCB170传输到I/O设备116。如果此类程序检查条件存在,则不传输TCCB170并且识别程序检查条件。例如,检查指定可用存储位置的TCCB地址字段148。如果TCCB-TIDA标志为1,则还检查TCCB地址字段148指定位于四倍长字边界上的地址。下面进一步描述其它程序检查条件。
在阶段302,当通道128将包括TCW140的控制块(例如,传输命令控制块(TCCB)170)及关联控制信息的传输命令IU172发送到选定设备116时,使用I/O设备发起TCW I/O操作(例如,通过控制单元118)。在一个实施例中,与I/O操作的执行和设备操作(例如,命令、输入数据和输出数据)关联的信息在通道128与控制单元118之间作为信息单元(IU)执行。在一个实施例中,IU采取SB-4信息单元(IU)的形式。
在一个实施例中,IU或其它消息借助一个或多个交换,在通道与控制单元之间发送。对于所有SB-4链接控制功能和在命令模式下执行的所有SB-4设备级功能,需要由两个单向交换构成的交换对(一个交换由通道128用于发送IU,另一交换由控制单元118用于发送IU)。对于在传输模式下执行的设备级功能,使用单个双向交换,也称为传输交换。在执行SB-4链接控制功能或执行命令模式下的SB-4设备级功能期间由通道128发送的IU被限于一个交换,在操作期间由通道接收的IU被限于另一交换。通道128发送IU的交换被称为出站交换,通道128接收IU的交换被称为入站交换。当出站交换和入站交换同时存在于通道128与控制单元118之间以执行相同的链接级或设备级功能时,我们认为存在交换对,控制单元118被视为连接到通道128。在单个连接中使用的通道程序仅使用一个交换对。如果在执行通道程序期间因为关闭交换而删除了连接,则产生新的交换对以完成通道程序。通道128可通过发送作为未经请求的命令或未经请求的控制信息种类的IU(或发起IU)(打开新的交换)而发起交换对。控制单元118可通过发送作为未经请求的控制或未经请求的数据信息种类而发起交换对。
通道和控制单元在执行I/O操作(在传输模式下执行)期间发送的UI被限于单个双向交换(称为传输交换)。通道128通过发送作为未经请求的命令种类的传输命令IU(发起IU)打开传输交换。通道128可打开多个传输交换,每个交换针对不同的设备116或针对位于不同逻辑路径上的同一设备116。可针对逻辑路径上的特定设备打开新的传输交换,前提是已针对该设备和逻辑路径存在用于执行询问操作的传输交换;否则,通道128等待现有的传输交换或交换对关闭,然后才能针对逻辑路径上的设备发起新的传输交换。
在阶段303,控制单元118接收TCCB170和传输命令IU172,并且可以在满足特定条件下接受TCCB170。当接收传输命令IU172时,TCCB170被视为位于控制单元118上,直到控制单元118上的TCCB170执行被认为已完成。如果由于错误条件不接受传输命令IU172,则将传输响应IU返回到通道128,并将初始状态标志设为1以指示在设备116上发起执行TCCB170之前发生错误。控制单元118可以在传输-响应IU(下面描述)中的状态和I/O扩展状况字段中提供错误信息以识别传输命令IU错误。在一个实施例中,下面描述的示例性条件应被满足,以便在控制单元118上接受传输命令IU172:
1)传输命令IU满足以下完整性检查:
a)对于不支持双向操作的控制单元,TCH中的LI字段加8应该指定一个数据量,使该数据量等于控制单元针对传输命令IU接收的数据量,否则,应该识别由数据计数错误导致的传输命令IU完整性错误;
b)对于支持双向操作的控制单元,TCH中的LI字段加8或9应该指定一个数据量,使该数据量等于控制单元针对传输命令IU接收的数据量,否则,应该识别由数据计数错误导致的传输命令IU完整性错误;以及
c)TCCB中的LRC字段应该有效,否则,应该识别由无效的LRC导致的传输命令IU完整性错误。
2)应该建立指定的逻辑路径,否则将识别“未建立逻辑路径”错误;
3)对于那些需要设备已被安装并准备就绪的命令,设备地址应该指定已被安装并准备就绪的设备,否则将识别“地址异常”条件;
4)如果控制单元不支持双向数据传输或者传输命令IU不包含BRDL字段,则不应该在TCH中将R位和W位设为1,否则将识别TCH内容错误;
5)传输命令IU中的TCCB应该满足下面的所有条件,否则将识别TCCB内容错误:
a)L2字段应该指定正好为8字节的长度,该长度大于L1字段,并且包含至少为20字节的值且不大于252字节;
b)TCAH的字0的字节1应该为0;
c)TCAH中的格式控制字段应该等于hex’7F’;
d)TCAH中的服务操作码应该包含有效值(请参阅8.13.4.4);
e)如果R位和W位均被设为0,则数据长度(DL)字段应该被0;
6)如果另一TCW I/O操作正在针对传输命令IU中指定的逻辑路径和设备地址执行,则服务操作码应该指定hex’1FFF’并且TCA的第一DCW中的命令代码应该指定询问命令代码,否则将识别“无询问第二操作”错误。
在一个实施例中,当传输命令IU172被发送时,通道128考虑存在连接,当传输命令IU172被接受时,控制单元118考虑存在连接。这样,通道128不关心控制单元118是否已经接受TCCB170或不关心设备116上I/O操作的进度,直到控制单元118使用传输响应IU终止I/O操作。在一个实施例中,通道128可以设定时间窗口,针对该时间窗口从控制单元接收响应,以便如果通道不在该窗口内接受传输响应IU,通道便会识别传输命令超时。
在阶段304,当TCCB170已被接受时,控制单元118处理TCA180并执行每个DCW202。所执行的DCW202被识别为当前DCW。当DCW202是传输模式程序第一DCW(即,TCCB中的第一DCW)并且被I/O设备116选定执行,或者当在命令链接期间,后续的DCW202接管对I/O操作的控制时,该DCW202变为当前DCW。要执行的第一DCW可被视为位于TCCB170中的TCA180的偏移0上。通道程序中的每个其它DCW位于TCA180中(或TCAX220中),并且在I/O设备116需要DCW时使用。
命令链接由DCW中的DCW链命令(CC)标志控制。该标志指定在用完当前DCW时采取的操作。链接在TCA内的连续DCW之间发生。当指定TCAX时,链接还在TCA中的最后一个DCW与TCAX中的第一DCW之间发生,并且在TCAX内的连续DCW之间发生。当当前DCW指定命令链接,并且在操作期间未检测到异常条件时,当前DCW的完成导致下一DCW变为当前DCW并且由设备执行。如果指定TCAX并且下一DCW的偏移超过TCA的末端,则链继续TCAX的第一DCW,其TCAX偏移通过用计算的偏移减去TCA长度确定。这样,命令链接以TCA偏移的降序执行,然后当指定TCAX时,TCAX发生偏移。如果出现诸如关注、设备检查、单位异常或不正确长度之类的条件(除非DCW中的SLI字段214被激活),则推断操作顺序,并且与当前操作关联的状态导致产生中断条件,在这种情况下,不执行新DCW。
在处理TCCB170中的DCW101期间,借助一个或多个传输数据IU在通道128与控制单元118之间发送被请求通过I/O操作传输的数据。读取操作仅执行读取数据传输,写入操作仅执行写入数据传输,而双向操作可以同时执行读取和写入数据传输。
现在参考图16,对于写入操作或双向操作,通道128将一个或多个传输数据IU310发送到控制单元118以传输用于操作的写入数据312。对于读取操作或双向操作,控制单元118将至少一个传输数据IU314发送到通道128以传输针对操作指定的读取数据316。填充字节318可以包括在将针对其计算CRC的数据区域中的最后一个字内,并且当要涵盖的数据区域不是整数个数据字时,被用于将数据区域填充到下一字边界。这适用于要被COB、中间和最终CRC涵盖的数据区域。用于填充字节的值与模型有关。
当传输数据IU是通道128或控制单元118针对TCW I/O操作发送的最后一个传输数据IU时,最终CRC字段320包括在传输数据IU310、314内。在一个实施例中,最终CRC字段320包括字对齐32位冗余检查码。对于读取或写入操作,TCCB中的DL字段指定将在操作期间传输的数据量,该数据量可以包括所有必要的填充和CRC字节。对于双向操作,TCCB170的DL字段指定将针对操作的写入数据传输部分传输的数据量,并且BRDL字段指定将针对操作的读取数据传输部分传输的数据量。这些数据量可以包括所有必要的填充和CRC字节。
在写入数据传输期间,数据在与TCW I/O操作关联的传输交换上通过一个或多个传输数据IU310传输到控制单元118。在一个实施例中,除了操作的第一写入传输数据IU310之外,通道128还要求从控制单元118获取传输就绪IU,然后才能发送每个传输数据IU310。控制单元118可通过发送其它传输就绪IU请求额外数据,直到它针对写入操作请求完TCCB170的DL字段186指定的所有数据。对于写入操作,控制单元118在完成TCCB中的DL字段指定的数据传输之后发送的下一IU为传输响应IU。对于双向操作,控制单元118在完成TCCB中的DL字段指定的数据传输之后发送的下一IU可以为传输数据IU或传输响应IU。
在读取数据传输期间,数据在与TCW I/O操作关联的传输交换上通过一个或多个传输数据IU314传输到通道128。通过每个传输数据IU发送的数据量由控制单元118确定,并且可被设为任何值,只要针对操作在所有传输数据IU314中传输的总数据量不超过DL字段186中的值,或者对于双向操作,不超过BRDL字段188中的值。对于读取操作,如果控制单元所发送的数据量小于TCCB中的DL字段,传输响应IU中的剩余计数应该是CU发送的数据量与TCCB中的DL字段之差。如果控制单元在传输响应IU中提供的剩余计数不匹配DL与通道实际接收的字节数之差,则通道识别设备级协议错误。对于双向操作,如果控制单元发送的数据量小于TCCB中的BRDL字段,则传输响应IU中的BRDL剩余计数应该是CU发送的数据量与TCCB中的BRDL字段之差。如果控制单元在传输响应IU中提供的剩余计数不匹配BRDL与通道实际接收的字节数之差,则通道识别设备级协议错误。
如图16所示,一个或多个中间CRC字320可以位于通道128发送的传输数据IU310中。中间CRC字320在传输TCA180指定的整个数据区域之前提供对数据区域的CRC检查。当COB222在传输数据IU中传输时,COB CRC字322可以位于传输数据IU310中。
现在再次参考图15,在阶段305,TCW I/O操作由通道128或控制单元118终止。作为异常条件或终止已发起的程序的结果,通道128可以发起终止TCW I/O操作。作为完成操作执行的结果或作为在执行命令期间检测到异常条件的结果,控制单元118可以发起终止操作。控制单元118可通过发送传输响应IU,或者在特定错误情况下,通过终止交换来发起终止TCWI/O操作。在一个实施例中,控制单元118可以在以下任何情况下发起终止TCW I/O操作:已执行TCA180(以及TCAX,如果被指定)中的所有DCW202;当支持DCW不正确长度功能并且SLI214被设为0时,已检测到DCW的不正确长度条件;已检测到设备检查条件;诸如传输错误之类的异常条件;或已识别需要终止交换的另一错误。
现在参考图17,在一个实施例中,当通过执行START SUBCHANNEL发起的I/O操作或I/O操作序列终止时,通道子系统和设备产生状态条件。这些条件的产生可以通过I/O中断或通过执行TEST PENDINGINTERRPUTION指令引起程序的关注。状态条件以及地址和指示操作顺序范围的计数以子通道状态字(SCSW)400的形式提供给程序。SCSW400在执行TEST SUBCHANNEL指令期间存储在中断响应块(IRB)402中。当存储传输模式IRB时,描述操作状态的其它信息也存储在传输状态块中。
一般而言,一直执行I/O操作,直到设备通知主中断状态。主中断状态可以在发起I/O操作期间被通知,或者稍后被通知。I/O可由通道子系统在检测到设备失效、程序检查、链检查、保护检查或不正确长度条件时执行清除或停止功能终止,或者作为分别执行CLEAR SUBCHANNEL、HALTSUBCHANNEL或RESET CHANNEL PATH指令的结果执行清除、停止或通道路径重置功能终止。I/O中断为CPU提供响应于在I/O设备或子通道上出现的条件而更改其状态的方式。这些条件可由程序、通道子系统或设备上的外部事件导致。
导致发起I/O中断请求的条件被称为I/O中断条件。当中断条件被通道子系统识别时,在适当的子通道上指示该中断条件。然后将子通道视为状态未决。变为状态未决的子通道导致通道子系统产生I/O中断请求。I/O中断请求保持未决,直到它被配置中的CPU接受,被通道子系统撤回,或者通过执行TEST PENDING INTERRUPTION、TEST SUBCHANNEL或CLEAR SUBCHANNEL指令被清除,或者通过子系统重置被清除。当CPU接受中断请求并存储关联的中断代码时,清除中断请求。当未决中断通过执行TEST PENDING INTERRUPTION被清除时,子通道保持状态未决,直到在执行TEST SUBCHANNEL或CLEAR SUBCHANNEL时或者在重置子通道时清除关联的中断条件。
I/O中断条件一般通过执行TEST SUBCHANNEL指令清除,如果执行TEST SUBCHANNEL,从而指定子通道具有I/O中断请求未决,则同时清除子通道上的中断请求和中断条件。中断请求和中断条件也可通过CLEARSUBCHANNEL清除。如果子通道当前启动未决,并且如果状态单独包含设备端或者包括附带控制单元端的设备端,则由I/O设备产生并在启动功能的最后一个I/O操作结束之后提供的设备端状态条件由通道子系统在子通道上重置,无需产生I/O中断条件或I/O中断请求。如果其它任何状态位伴随设备端状态位,则通道子系统产生I/O中断请求并指示延迟条件码1。当I/O操作因为通道子系统在命令发起序列期间检测到异常条件而终止时,将描述的中断条件的状态置于子通道上,从而导致它变为状态未决。如果设备检测到异常条件,则关联的SCSW的设备状态字段识别该条件。当命令链接发生时,由设备产生状态不会导致中断,并且此状态不可用于程序。
当通道子系统检测到以下任何中断条件时,它发起I/O中断请求,不必与设备通信,或者不必从设备接收状态字节:
1)与通过上一次执行START SUBCHANNEL传递到子通道的ORB的内容关联的设计错误;
2)在针对START SUBCHANNEL或RESUME SUBCHANNEL发起CCW通道程序执行的已提取第一CCW中将暂停标志设为1,并且未在命令模式ORB中指定的暂停抑制中断;或者
3)与第一CCW、TCW、TIDAW、TCCB提取、数据提取、IDAW或MIDAW关联的设计错误。
这些来自子通道的中断条件(除了暂停的条件)可以附带其它子通道状态指示,但是设备状态指示全部存储为0。
当包含设备检查的状态被提供给禁用的子通道或者当设备不与任何子通道关联时,通道子系统将清除信号发送到设备。但是,如果所提供的状态不包含设备检查,则状态被通道子系统接受并且在不导致子通道变为状态未决的情况下被丢弃。
子通道状态字(SCSW)400将描述子通道状态及其关联设备的指示提供给程序。当传输模式IRB402被存储时,其它描述操作状态及其关联设备的信息也被存储在与操作关联的传输状态块中。如果已经执行停止、恢复或启动功能,则SCSW可以描述终止操作的条件。
在一个实施例中,SCSW在执行TEST SUBCHANNE并且指定的子通道可操作的时存储。将SCSW置于被指定为TEST SUBCHANNEL操作数的IRB的字0-3中。当执行SOTRE SUBCHANNEL时,将SCSW存储在子通道信息块的字7-9中。
SCSW包括多个字段,例如延迟条件码(CC)。延迟条件码如果不为0,则用于指示是否遇到在子通道启动未决或暂停时阻止子通道处于subchannelland-device活动状态的条件。在一个实施例中,当设定延迟条件码1时,辅助状态位为1,并且主状态位为0,目前的状态可以与命令模式通道程序相关,该程序由START SUBCHANNEL指令指定(或通过RESUME SUBCHANNEL指令暗示),该START SUBCHANNEL指令位于最近执行的START SUBCHANNEL之前,该最近执行的STARTSUBCHANNEL指定传输模式通道程序。对于这种情况,状态修改符在设备状态字段中可以为1。
子通道状态字段包括在SCSW400中并由通道子系统用于指示aubchannel状态条件。例如,子通道状态字段包含在SCSW的字2的位位置8-15中。子通道状态条件由通道子系统检测并在SCSW中指示。除了设备失效导致的条件之外,它们只能在通道子系统涉及执行停止或启动功能时发生。子通道状态字段在每次子通道为状态未决并且带有主状态、辅助状态、中间状态或警示状态的任何组合的时才有意义。当子通道为状态未决并且指示延迟条件码3时,子通道状态字段的内容无意义。
示例性子通道状态条件为不正确长度条件,其在针对I/O操作分配的存储区域中包含的字节数不等于I/O设备请求或提供的字节数时发生。当FCX不正确长度指示功能未安装并且检测到不正确长度条件时,通过程序检查状态终止传输模式通道程序的处理。当FCX不正确长度指示功能已安装时,设备支持不正确长度指示,不抑制正确长度指示,并且检测到不正确长度条件,根据以下原因之一指示不正确长度:
1)输入长块:在读取或检测操作期间,设备尝试在填充已分配的主存储区域之后将一个或多个字节传输到主存储,或者设备指示如果计数较大,则可以传输更多数据。额外的字节数尚未被置于主存储内。TSB中的计数(TSH)为0。
2)输出长块:在写入操作期间,设备在用完已分配的主存储区域之后从通道子系统请求一个或多个字节,或者设备指示如果计数较大,则可以传输更多数据。TSH中的计数为0。
3)输入短块:在读取或检测操作期间传输的字节数不足以填充被分配给操作的主存储区域。TSH中的计数不为0。
4)输出短块:设备在已分配的主存储区域中包含的所有信息被传输到设备之前终止写入。TSH中的计数不为0。
当当前DCW具有被设为1的SLI标志时,抑制不正确长度指示。当TSH无意义时,不正确长度指示也无意义。不正确长度条件的存在抑制命令链接,除非DCW中的SLI标志为1。
子通道扩展状态字段包括在SCSW400中(例如,位于SCSW的字2的位位置24-31中)。当在子通道状态中指示时,该字段可以包含用于进一步说明以下任何条件原因的信息:接口控制检查、通道控制检查、通道数据检查、程序检查和保护检查。如果这些位无一在子通道状态字节中处于活动状态,则子通道扩展状态的字段不包含任何有意义的信息。当指示一个以上条件时,接口控制检查优先于其它条件。
子通道扩展状况字段还可以包括询问失败(F)(例如,在位24上)操作位。当被设为1时,F位指示由于程序检查、通道控制检查或接口控制检查,导致询问操作失败。
子通道扩展状态字段还可以包括子通道扩展状态限定符(SESQ)(例如,位25-31)。当子通道状态字段指示程序检查、接口控制检查、通道子系统重试失败、保护检查、数据检查或通道控制检查时,该字段可以包含其它信息。示例性SESQ值及其关联的意义在图18A-18B中示出。
图19-20示出可被控制单元118发送的示例性传输响应IU330。传输响应IU330提供TCW I/O操作的状态,该状态可以包括正常结束状态,或者当检测到异常条件时,包括指示操作异常终止原因的终止状态。传输响应IU330还可以包括扩展状态字段,该字段提供进一步的操作状态。传输响应IU可以关闭传输交换,也可以不关闭传输交换。在一个实施例中,交换是否被传输响应IU关闭在FC-FS-3头中指示。如果传输交换尚未被传输响应IU关闭,则通道可以在接收传输响应IU之后发送关闭交换的传输确认IU。
在一个实施例中,传输响应IU330包括SB-4头332,后跟状态字段334、状态LRC344和可选的扩展状态字段346,该扩展状态字段包含例如从32到46字节。当提供扩展状态时,4字节扩展状态LRC字段340可以作为传输响应IU330的最后一个字提供。如果扩展状态字节数不在字边界上,则将填充字节添加到扩展状态以取整到下一字边界。SB-4头332具有类似于传输命令IU的格式,并且针对此交换被设为等于传输命令IU中的SB-4头。
现在参考图20,状态区域334的实施例例如是20字节并包含有关TCWI/O操作的信息。“状态标志1”字段336包括一个或多个异常码,这些异常码被控制单元118设定以报告在TCW I/O操作期间检测到的异常条件。示例性代码包括:
0-由地址异常条件导致的设备级异常;
2-由逻辑路径未建立条件导致的链路级拒绝;
3-重置事件通知-重置事件在逻辑路径以及与传输命令IU关联的设备上发生。当此代码在传输响应IU中设定时,控制单元请求状态的状态确认。如果接收到状态确认,则在设备上针对逻辑路径重置重置事件条件;否则重置事件条件保持未决;
4-设备检测到的程序检查/IFCC–控制单元已检测到可能导致报告程序检查或IFCC的条件。属于此类的错误包括以下错误类型:指示传输命令IU以损坏的状态到达(例如,TCCB完整性错误)、针对写入数据检测到无效的CRC,并且针对逻辑路径和设备地址接收到并非询问操作的第二I/O操作。
5-设备检测到的程序检查–控制单元在TCH的内容中检测到错误
在一个实施例中,状态标志1字段336包括不正确长度(IL)标志338。当通道和控制单元支持DCW不正确长度功能时,位0是Il标志,当被设为1时,应该指示由DCW偏移指示的DCW不正确长度条件导致终止TCW I/O操作。如果DCW数据计数不匹配设备针对写入DCW所需的数据量,或者如果DCW计数不匹配设备上可用于读取DCW的数据量,则控制单元118检测到不正确长度。
在一个实施例中,如果DCW202包括SLI标志214,则仅当SLI标志214为0并且当设备状态包括不带设备检查状态的通道结束状态时,IL标志338才被设为1。当IL标志338在传输响应IU中被设为1时,DCW偏移识别包含不正确长度条件的DCW,并且DCW剩余计数指示数据传输量,如果有,则针对不正确长度DCW传输这些数据传输量。针对位于TCA中的不正确长度DCW之前的DCW的数据传输(如果有)应该完成,并且针对所传输的数据的所有CRC检查应该已经执行,如下所述。
当包含不正确长度条件的DCW为读取DCW时,在TCW I/O操作期间针对所有被传输到通道的读取数据将最后一个传输数据IU发送到通道INCLUDES CRC。如果写入DCW位于TCA中的不正确长度读取DCW之前,则针对这些写入DCW的数据应该被控制单元接收并且应该针对数据执行CRC检查。TCA中紧跟不正确长度读取DCW的写入DCW的数据应该根据需要传输到控制单元以获取写入数据的CRC并执行CRC检查。
不正确长度条件不被询问命令、传输CRC偏移命令或TTE命令识别,无论通道和控制单元是否支持不正确长度功能。
传输响应IU330还可以包括数据长度剩余计数(DLRC)字段340。对于写入操作和双向操作,DL剩余计数为32位无符号二进制整数,该整数指定传输命令IU中的DL字段与实际从通道接收的字节数之差。对于读取操作,DL剩余计数为32位无符号二进制整数,该整数指定传输命令IU中的DL字段与实际发送到通道的字节数之差。
对于双向操作,BRDL剩余计数字段342还包括在传输响应IU300中。对于双向操作,BRDL剩余计数为32位无符号二进制整数,该整数指定传输命令IU中的BRDL字段与实际发送到通道的字节数之差。
状态标志3字段344可被控制单元118用于提供有关关联的传输模式操作的信息。该字段可以包括扩展状态已发送(ESS)位以指示包括可能的检测数据的扩展状态已通过传输响应IU发送。该扩展状态包括扩展状态(ES)标志,这些标志包括诸如ES类型码字段之类的字段。类型码包括I/O状态(扩展状态区域包含传输模式I/O操作的有效结束状态)、I/O异常(扩展状态区域包含有关由异常条件导致的传输模式I/O操作终止的信息),以及询问状态(扩展状态区域包含询问操作的状态)。
当ES标志中的ES类型码为I/O异常时,ES包括原因代码(RC)。示例性原因代码包括:
1-TCCB完整性错误:控制单元确定TCCB以损坏的状态到达(当异常码4在状态标志1字段中指示时提供);
2-检测到无效的CRC:在已接收的数据上检测到无效的CRC(当异常码4在状态标志1字段中指示时提供);
3-不正确TCCB长度指定(当异常码5在状态标志1字段中指示时提供);
4-TCAH指定错误(当异常码5在状态标志1字段中指示时提供);
5-DCW指定错误:存在错误,其中DCW由扩展状态中的DCW偏移字段指定(当异常码5在状态标志1字段中指示时提供);
6-传输方向指定错误:扩展状态中的DCW偏移指定的DCW所指定的命令指定数据传输方向,该方向与TCH中指定的传输方向不同,或者R位和W位在TCH中均被设为1并且控制单元不支持双向数据传输(当异常码5在状态标志1字段中指示时提供);
7-传输计数指定错误(当异常码5在状态标志1字段中指示时提供);
8-两个I/O操作处于活动状态:尽管I/O操作在设备上处于活动状态,但是第二非询问TCCB已被传输到设备进行执行。RCQ字段无意义。当异常码4在状态标志1字段中指示时提供该原因代码。
9-CRC偏移块中的一个或多个条目指示中间CRC不在适合于设备的位置上和/或当异常码4在状态标志1字段中指示时提供正在执行的命令。
扩展状态还可以提供原因代码限定符(RCQ),该限定符提供有关I/O异常原因的其它信息。不同的原因代码限定符类型可用于不同的错误类型,例如TCCB完整性错误、输出数据CRC错误、不正确TCCB长度指定、TCAH指定错误以及DCW指定错误。TCCB完整性错误的示例性RCQ包括:
0-无其它消息;
1-数据计数错误-针对传输命令IU传输的数据量不等于不支持双向操作的控制单元的TCH中的L1字段加上8指定的数据量,或者不等于不支持双向操作的控制单元的L1字段加上8或9指定的数据量;以及
2LRC错误-传输命令IU上的LRC无效。
DCW指定的示例性RCQ包括:
1-保留字段指定错误:包含0所需的DCW中的保留字段包含非零值;
2-标志字段命令链接指定错误:命令链接位为1,并且下一DCW的偏移使得下一DCW的部分或全部扩展超过TCA的末端,或者命令链接位为0并且3个以上未使用字节保留在TCA中;
3-控制数据计数指定错误:CD计数指定超过TCA的末端的控制数据;
4-TCOB DCW位置错误:第一TCOB DCW不是TCA中的第一DCW;
5-TCOB DCW复制错误:在TCA中指定多于1个TCOB DCW;
6-TCOB DCW多计数指定错误:CD计数和DCW数据计数均为0或非零;
7-TCOB DCW方向错误:TCOB DCW在TCA中指定,并且TCH中的W位为0;
8-TCOB DCW链错误:TCOB DCW中的链命令位为0,即,TCOBDCW只是TCA中的DCW;
9-TCOB计数指定错误:TCOB DCW具有非零的CD计数或不是4的倍数的数据计数;
10-TTE DCW位置错误:未指定TCOB DCW并且遇到不是TCA中的第一DCW的TTE DCW,或者已指定TCOB DCW,并且遇到不是TCA中的第二DCW的TTE DCW;
11-TTE DCW复制错误:在TCA中遇到多于1个TTE DCW;
12-TTE DCW CD计数指定错误:TTE DCW中的控制数据计数指定不为0的值;
13-TTE DCW数据计数指定错误:TTE DCW中的数据计数指定小于8或不是4的倍数的值;
14-TTE DCW方向错误:指定TTE DCW并且TCH中的W位为0;
15-TTE DCW链错误:TTE DCW中的链命令位为0;以及
16-TCAX指定错误:指定TTE DCW并且以下任一项为真:
TCA的长度为58个字或更少,或者
TCA的长度为59个字,并且TCA中的最后一个DCW指定控制数据以及经扩展超过59个字的控制数据长度,或者
TCA的最大长度为60个字并且TCA中的最后一个字包含DCW的第一个字。
传输方向指定错误的示例性RCQ包括:
1-读取方向指定错误:DCW指定输入操作并且TCH中的R位为0;
2-写入方向指定错误:DCW指定输出操作并且TCH中的W位为0。注意-当指定TCOB或TTE DCW并且TCH中的W位为0时,识别DCW指定;
3-读取-写入冲突:TCH中的R位和W位均为1并且控制单元不支持双向操作,或者控制单元支持双向操作但是传输命令IU不包含BRDL字段,或者R位和W位均不为1,但是传输命令IU包含BRDL字段;
传输计数指定错误的示例性RCQ包括:
1-读取计数指定错误:对于读取操作,TCCB中的DL字段指定的值不等于TCA中的DCW加上填充字节和CRC指定的总数据字节计数;对于双向操作,TCCB中的BRDL字段指定的值不等于TCA中的读取DCW加上填充字节和CRC指定的总数据字节计数。
2-写入计数指定错误:TCCB中的DL字段指定的值不等于TCA中的DCW加上中间填充字节、中间CRC、最终填充字节和最终CRC字节指定的总数据字节计数,如果写入数据传输的第一传输数据IU中包括COB,则计数包括COB、任何COB填充字节和COB CRC字节。如果TCA中包括TTEDCW,则计数还包括TCAX和TCAX CRC字节。
当通道子系统检测到设计错误时,执行程序检查。对于传输模式操作,设计错误还可被I/O设备116检测到并报告为程序检查。程序检查条件可能是由以下任一原因导致:
无效的TCW指定:当检测到以下任一条件时,识别无效的TCW指定:
1.TCW中针对0检查的保留字段不包含0。
2.非零值在TCW格式字段中指定。
3.TCW中的读取位和写入位均为1,TCW标志字段的位10为0,未安装FCX双向数据传输功能或指定的设备不支持双向数据传输。
4.TCW标志字段中的位10为0并且TCW中的TCCB长度字段指定的长度小于12或大于244。
5.TCW标志字段中的位10为1并且TCW的写入操作(W)位为0,TCW的读取操作(R)位为0,或者两者均为0。
6.TCW标志字段中的位10为1并且指定的子通道不与已被配置为传输光纤通道服务请求的控制单元关联。
当使用TTE DCW时,在存在以下任一条件时识别设备检测的程序检查:
1.当未指定TCOB DCW时,TTE DCW不是TCA中的第一DCW。当指定TCOB DCW时,TTE DCW不是TCA中的第二DCW。
2.指定TTE DCW并且未指定写入操作(即,TCW中的W位为0)。
3.TTE DCW中的链命令为0。
4.指定一个以上TTE DCW。
5.TTE DCW中的控制数据计数字段不包含0。
6.计数字段包含小于8的值或者不是4的倍数的值。
7.对于TCA,以下任一项均为真:
TCA不包含至少一个不是传输命令DCW的DCW。
TCA包含一个或多个不是传输命令DCW的DCW并且TCA的最后一个DCW中的链命令标志为0。
当使用TTE DCW并且其它TCMI和/或输出数据紧跟TCAX时,以下各项应该为真;否则可以识别设备检测到的程序检查:
TCW中的输出-TIDA标志(标志位7)必须为1;或者
当TIDAW用于传输TCAX并用于传输数据时,插入CBC控制必须在或仅在用于传输TCAX的最后一个TIDAW中设为1。当TIDAW仅用于传输TCAX时,没必要在或仅在最后一个TIDAW中设定插入CBC。
在处理TCA期间,当检测以下任一条件时,可识别TCCB内容错误:
1.所遇到的第一TCOB DCW不是TCA中的第一DCW;
2.在TCA中遇到第二TCOB DCW;
3.当TCAH中的W位为0时,在TCA中遇到TCOB DCW;
4.TCOB DCW未设定链标志;
5.遇到TCOB DCW,其中CD计数和数据计数均为0;
6.遇到TCOB DCW,其中CD计数和数据计数均为非零值;
7.遇到TCOB DCW,其中CD计数为0,数据计数不是4的倍数;
8.遇到TCOB DCW,其中数据计数为0,CD计数不是4的倍数;
9.未指定TCOB DCW并且TTE DCW不是TCA中的第一DCW,或者指定TCOB并且TTE DCW不是TCA中的第二DCW;
10.当TCAH中的W位为0时,在TCA中遇到TTE DCW;
11.TTE DCW未设定链标志;
12.在TCA中遇到第二TTE DCW;
13.遇到TTE DCW,其中CD计数为非零值;
14.遇到TTE DCW,其中数据计数为0或者不是4的倍数;
15.指定TTE DCW并且以下任一项为真:TCA的长度为58个字或更少;TCA的长度为59个字,TCA中的最后一个DCW指定控制数据并且控制数据长度经扩展超过59个字;或者TCA的最大长度为60个字并且TCA中的最后一个字包含DCW的第一个字;
16.DCW包含需要控制数据的命令,并且CD计数字段为0或者包含指定超过TCA的末端的数据的值;
17.DCW包含非零的CD计数字段并且命令不允许提供控制数据;
18.在写入操作期间,设备在TCA中遇到尝试执行读取数据传输的命令;
19.在读取操作期间,设备在TCA中遇到尝试执行写入数据传输的命令;
20.CC位在DCW中为0并且3个以上未使用的字节保留在TCA中;
21.CC位在DCW中为1并且下一DCW位置被确定为距离TCA的末端小于8个字节,从而指示未提供TCAX,或者已提供TCAX但是下一DCW位置被确定为距离TCAX的末端小于8个字节;
22.对于读取操作或双向操作,当TCA中的读取DCW变为当前DCW时,所有之前的读取DCW和当前DCW的数据计数之和加上所有填充字节和CRC字节超过TCCB中的DL字段,或者,对于双向操作,超过TCCB中的BRDL字段;
23.对于读取操作或双向操作,当TCA中的最后一个DCW变为当前DCW时,所有读取DCW的数据计数之和加上所有填充字节和CRC字节不等于TCCB中的DL字段,或者,对于双向操作,不等于TCCB中的BRDL字段;
24.对于写入操作或双向操作,当TCA中的DCW变为当前DCW时,所有写入DCW的数据计数之和加上所有填充字节和CRC字节(包括所有中间填充字节和CRC字节)以及COB字节、COB填充字节和COB CRC字节(如果传输数据IU中包括COB)以及TCAX字节、TCAX填充字节和TCAX CRC字节(如果存在TCAX)超过TCCB中的DL字段,或者
25.对于写入操作或双向操作,当TCA中的最后一个DCW变为当前DCW时,所有写入DCW的数据计数之和加上所有填充字节和CRC字节(包括所有中间填充字节和CRC字节)以及COB字节、COB填充字节和COBCRC字节(如果传输数据IU中包括COB)以及TCAX字节、TCAX填充字节和TCAX CRC字节(如果存在TCAX)不等于TCCB中的DL字段。
在一个实施例中,在执行命令模式或传输模式操作之前,建立通道子系统114与控制单元118和/或设备116之间的链路。与一个或多个控制单元具有物理连接的I/O系统中的每个通道128被称为“N_Port”,其具有唯一标识符(“N_Port_ID”)。同样,每个控制单元118也可以被称为N_Port,其具有关联的N_Port_ID。通道128和控制单元118分别可以包括多个通道图像或控制单元图像。每个N_Port包括地址标识符,该标识符在登录进程初始化和执行期间指定。显式N_Port登录可在初始化处理期间通过N_Port登录(PLOG)扩展链路服务执行。当N_Port使用另一N_Port执行N_Port登录时,该N_Port被视为通过其它N_Port登入。
在一个实施例中,通道子系统与控制单元之间的链路初始化使用进程登录(PRLI)扩展链路服务(ELS)执行。PRLI ELS的一般方面(包括PRLI ELS请求和响应的格式)在FC-LS-2中给出,其中针对FC-SB-4的特定设定在下面的部分中定义。
在PRLI进程中,支持PRLI的通道128根据其配置将请求发送到每个控制单元118,其配置也支持进程登录ELS以确定控制单元118是否支持传输模式操作。在一个实施例中,PRLI请求在建立逻辑路径之前,在通道初始化期间发送,并且还可以作为进程登出(PRLO)的结果发送。PRLI ELS用于在通道128与控制单元118之间交换进程登录服务参数。这些参数可以通过PRLI请求和PRLI响应,在通道与控制单元之间交换。
PRLI请求包括服务参数页,其中可以包括识别FC-4协议的类型码字段(例如,被设为hex'1B'以指示SB-4协议)。FC-SB-4标志(例如,PRLI请求页的字3的字节3)包括下面描述的一个或多个标志:
0-支持传输模式。当位0被设为0时,通道不支持传输模式操作。当位0被设为1时,通道支持传输模式操作。
1-保留。
2-支持DCW不正确长度(IL)功能。例如,当IL标志处于活动状态时(例如,当位2被设为1时),通道128支持DCW IL功能。当位2被设为0时,通道128不支持DCW IL功能。DCW IL功能包括支持抑制长度指示器(SLI)标志214和不正确长度标志338。当支持传输模式的位(位0)等于0时,位2应该被设为0。
5-支持双向数据传输。当双向数据传输指示处于活动状态时(例如,位5被设为1),通道128支持双向数据传输。当位5被设为0时,通道不支持双向数据传输。仅当支持传输模式的位等于1时,该位才有意义。
7-支持禁用第一传输就绪操作。当位7被设为1时,通道支持禁用第一传输就绪操作。当位7被设为0时,通道不支持禁用第一传输就绪操作。当支持传输模式的位(位0)等于0时,位7应该被设为0。
在一个实施例中,PRLI响应包括PRLI接受服务参数页,其中可以包括识别FC-4协议的类型码字段(例如,被设为hex'1B'以指示SB-4协议),FC-SB-4标志(例如,字3的字节3)包括下面描述的一个或多个已定义的标志:
0-支持传输模式。当位0被设为0时,控制单元118不支持传输模式操作。当位0被设为1时,控制单元118支持传输模式操作。
2-支持DCW不正确长度(IL)功能。当位2被设为1时,控制单元118支持DCW IL功能。当位2被设为0时,控制单元118不支持DCW IL功能。DCW不正确长度功能包括支持SLI标志214和不正确长度标志338。当支持传输模式的位(位0)等于0时,位2应该被设为0。
5-支持双向数据传输。当双向数据传输指示处于活动状态时(例如,位5被设为1),控制单元118支持双向数据传输。当位5被设为0时,控制单元118不支持双向数据传输。仅当支持传输模式的位等于1时,该位才有意义。
7-支持禁用第一传输就绪操作。当位7被设为1时,控制单元支持禁用第一传输就绪操作。当位7被设为0时,控制单元不支持禁用第一传输就绪操作。当支持传输模式的位(位0)等于0时,位7应该被设为0。
示例性实施例的技术效应和优势包括除了位于TCCB中的I/O命令和设备支持数据之外,还能将传输支持数据以及其它命令传输到控制单元。技术效应还包括能够持续处理DCW,不管是否检测到不正确长度条件,这样允许控制单元继续处理I/O命令,无需终止I/O操作。其它技术效应包括能够在单个I/O操作期间,在通道与控制单元之间同时传输输入和输出数据。
此处使用的术语只是为了描述特定的实施例并且并非旨在作为本发明的限制。如在此使用的那样,单数形式“一”、“一个”和“所述”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,根术语“包括”和/或“包含”指定存在声明的特征、整数、步骤、操作、元素和/或组件,但是并不排除存在或增加一个或多个其它特征、整数、步骤、操作、元素、组件和/或它们构成的组。
下面权利要求中的对应结构、材料、操作以及所有装置或步骤和功能元件的等同替换,旨在包括任何用于与在权利要求中具体指出的其它元件相组合地执行该功能的结构、材料或操作。出于示例和说明目的给出了对本发明的描述,但所述描述并非旨在是穷举的或是将本发明限于所公开的形式。在不偏离本发明的范围和精神的情况下,对于所属技术领域的普通技术人员来说许多修改和变化都将是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理和实际应用,并且当适合于所构想的特定使用时,使得所属技术领域的其它普通技术人员能够理解本发明的具有各种修改的各种实施例。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括—但不限于—无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article ofmanufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
在此示出的流程图只是一个实例。在此描述的这些图或步骤(或操作)可以存在许多变化而不偏离本发明的精神。例如,可以按不同的顺序执行步骤,或者可以添加、删除或修改步骤。所有这些变化都被视为要求保护的本发明的一部分。
尽管描述了本发明的优选实施例,但所属技术领域的技术人员将理解的是,可以在现在和将来进行各种属于下面权利要求范围的改进和增强。这些权利要求应该被解释为维护对首次描述的本发明的正确保护。
Claims (25)
1.一种用于在被配置为与控制单元通信的主机计算机系统上执行输入/输出(I/O)操作指令启动的I/O操作的计算机程序产品,所述控制单元与一个或多个设备通信,所述计算机程序产品包括:
有形存储介质,其可被处理电路读取并存储被所述处理电路执行以执行一种方法的指令,所述方法包括:
通过所述主机计算机系统的通道子系统产生至少一个指定I/O操作的命令消息,所述至少一个命令消息包括一个或多个设备命令字(DCW),每个DCW与I/O命令关联,其中所述一个或多个DCW中的至少一个DCW包括数据计数和抑制长度指示(SLI),所述SLI被配置为指示所述控制单元是否继续响应于所述控制单元检测到不正确长度条件而继续执行所述I/O操作,所述不正确长度条件响应于所述数据计数与执行所述I/O操作命令所需的数据量不匹配而被检测到,其中所需的数据是所述控制单元上可用于读取操作命令的数据和所述控制单元需要用于写入操作命令的数据之一;
将所述至少一个命令消息转发到所述控制单元;
从所述控制单元接收不正确长度(IL)值,响应于所述SLI是第一SLI值并且所述数据计数与所需的数据量不匹配,所述IL值是第一IL值,响应于所述SLI是第二SLI值并且所述数据计数与所需的数据量不匹配,所述IL值是第二IL值;以及
响应于从所述控制单元接收到所述IL值,将IL指示器存储在子通道状态字中,所述IL指示器表示所述IL值。
2.根据权利要求1的计算机程序产品,其中所述至少一个命令消息包括其中包含多个DCW的TCCB,并且产生所述至少一命令消息包括从主系统存储器内存储的传输命令字(TCW)的TCCB地址字段中指定的一个或多个位置收集TCCB。
3.根据权利要求1的计算机程序产品,其中所述至少一个DCW包括命令链接标志,其指示后续DCW在逻辑上连接到所述至少一个DCW,并且在所述控制单元执行所述至少一个DCW之后由所述控制单元执行。
4.根据权利要求3的计算机程序产品,其中所述SLI指示所述控制单元继续命令链接并响应于所述控制单元检测到所述不正确长度条件而执行所述后续DCW。
5.根据权利要求1的计算机程序产品,其中所述SLI是所述至少一个DCW中的SLI字段中的值,所述值为1指示所述控制单元在检测到所述不正确长度条件时继续所述I/O操作,所述值为0指示所述控制单元在检测到所述不正确长度条件时终止所述I/O操作。
6.根据权利要求1的计算机程序产品,其中所述通道子系统被配置为响应于所述控制单元检测到不正确长度条件,以及响应于所述SLI是所述第一值并且所述至少一个DCW的数据计数字段中的至少一个数据计数值与所述设备需要用于写入DCW的数据量不匹配并且所述数据计数值与所述设备上可用于读取DCW的数据量不匹配,接收所述IL值。
7.根据权利要求5的计算机程序产品,其中所述SLI字段包括值1,所述至少一个DCW是读取DCW,并且所述计算机程序产品被配置为进一步执行:
响应于命令链接标志指示命令链接用于所述读取DCW并且所述数据计数值大于所述设备上的可用数据量,在所述通道子系统上接收来自所述控制单元的数据传输中的所述数据量,所述数据传输包括位于所述数据传输中的一个或多个填充字节,以便针对所述DCW传输的所述数据量等于所述数据计数值;响应于所述命令链接标志指示命令链接不用于所述读取DCW并且所述数据计数值大于所述设备上的可用数据量,仅接收所述数据量或者具有一个或多个填充字节的数据量,以便针对所述DCW传输的所述数据量等于所述数据计数值;以及
响应于所述数据计数值小于所述设备上的可用数据量,在所述通道子系统上接收等于所述数据计数值的数据量。
8.根据权利要求5的计算机程序产品,其中所述SLI字段包括值1,所述至少一个DCW是写入DCW,并且所述计算机程序产品被配置为进一步执行:
响应于命令链接标志指示命令链接用于所述写入DCW并且所述数据计数值大于所述设备所需的数据量,由所述通道子系统将等于所述设备所需的数据量的数据量传输到所述控制单元并丢弃剩余数据;
响应于所述命令链接标志指示命令链接不用于所述写入DCW并且所述数据计数值大于所述设备所需的所述数据量,传输所述设备所需的所述数据量并传输额外数据,直到所述数据计数值被用完;以及
响应于所述数据计数值小于所述设备所需的所述数据量,将等于所述计数值的数据量传输到所述控制单元。
9.根据权利要求1的计算机程序产品,其中所述至少一个DCW包括含有SLI字段的SLI,该SLI字段响应于所述SLI是第二SLI值而具有值1,响应于所述SLI是所述第一SLI值而具有值0,所述通道子系统被配置为响应于执行或终止所述I/O操作,接收从所述控制单元返回的传输响应消息,所述传输响应消息包括位于不正确长度(IL)字段中的IL值,该字段指示是否因为所述不正确长度条件而终止所述I/O操作,响应于所述SLI是所述第一SLI值并且所述数据计数与所需的数据量不匹配,所述IL字段具有值1,响应于至少一个所述SLI是所述第二SLI值并且数据计数与所需的数据量匹配,所述IL字段具有值0。
10.根据权利要求9的计算机程序产品,其中所述传输响应消息包括DCW偏移字段,该字段指示多个DCW中的哪一个导致所述不正确长度条件被检测到。
11.根据据权利要求1的计算机程序产品,其中所述所述通道子系统被配置为执行:
将进程登录(PRLI)请求消息发送到所述控制单元,所述PRLI请求消息被配置为初始化所述通道子系统与所述控制单元之间的链路,所述PRLI请求消息包括头,该头具有指示所述通道子系统是否支持使用所述SLI的值;以及
从所述控制单元接收(PRLI)响应消息,所述PRLI响应消息包括头,该头具有指示所述控制单元是否支持使用所述SLI的值。
12.一种用于在被配置为与控制单元通信的主机计算机系统上执行输入/输出(I/O)操作指令发起的I/O操作的装置,所述控制单元与一个或多个设备通信,所述主机计算机系统被配置为执行:
通过所述主机计算机系统的通道子系统产生至少一个指定I/O操作的命令消息,所述至少一个命令消息包括一个或多个设备命令字(DCW),每个DCW与I/O命令关联,其中所述一个或多个DCW中的至少一个DCW包括数据计数和抑制长度指示(SLI),所述SLI被配置为指示所述控制单元是否继续响应于所述控制单元检测到不正确长度条件而继续执行所述I/O操作,所述不正确长度条件响应于所述数据计数与执行所述I/O操作命令所需的数据量不匹配而被检测到,其中所需的数据是所述控制单元上可用于读取操作命令的数据和所述控制单元需要用于写入操作命令的数据之一;
将所述至少一个命令消息转发到所述控制单元;
从所述控制单元接收不正确长度(IL)值,响应于所述SLI是第一SLI值并且所述数据计数与所需的数据量不匹配,所述IL值是第一IL值,响应于所述SLI是第二SLI值并且所述数据计数与所需的数据量不匹配,所述IL值是第二IL值;以及
响应于从所述控制单元接收到所述IL值,将IL指示器存储在子通道状态字中,所述IL指示器表示所述IL值。
13.根据权利要求12的装置,其中所述至少一个DCW包括命令链接标志,其指示后续DCW在逻辑上连接到所述至少一个DCW,并且在所述控制单元执行所述至少一个DCW之后由所述控制单元执行,并且所述SLI指示所述控制单元继续命令链接并响应于所述控制单元检测到所述不正确长度条件而执行所述后续DCW。
14.根据权利要求12的装置,其中所述SLI是所述至少一个DCW中的SLI字段中的值,所述值为1指示所述控制单元在检测到所述不正确长度条件时继续所述I/O操作,所述值为0指示所述控制单元在检测到所述不正确长度条件时终止所述I/O操作。
15.根据权利要求14的装置,其中所述SLI字段包括值1,所述至少一个DCW是读取DCW,并且所述装置被配置为执行:
响应于命令链接标志指示命令链接用于所述读取DCW并且所述数据计数值大于所述设备上的可用数据量,在所述通道子系统上接收来自所述控制单元的数据传输中的所述数据量,所述数据传输包括位于所述数据传输中的一个或多个填充字节,以便针对所述DCW传输的所述数据量等于所述数据计数值;
响应于所述命令链接标志指示命令链接不用于所述读取DCW并且所述数据计数值大于所述设备上的可用数据量,仅接收所述数据量或者具有一个或多个填充字节的数据量,以便针对所述DCW传输的所述数据量等于所述数据计数值;以及
响应于所述数据计数值小于所述设备上的可用数据量,在所述通道子系统上接收等于所述数据计数值的数据量。
16.根据权利要求14的装置,其中所述SLI字段包括值1,所述至少一个DCW是写入DCW,并且所述装置被配置为执行:
响应于命令链接标志指示命令链接用于所述写入DCW并且所述数据计数值大于所述设备所需的数据量,由所述通道子系统将等于所述设备所需的数据量的数据量传输到所述控制单元并丢弃剩余数据;
响应于所述命令链接标志指示命令链接不用于所述写入DCW并且所述数据计数值大于所述设备所需的所述数据量,传输所述设备所需的所述数据量并传输额外数据,直到所述数据计数值被用完;以及
响应于所述数据计数值小于所述设备所需的所述数据量,将等于所述计数值的数据量传输到所述控制单元。
17.根据权利要求12的装置,其中所述至少一个DCW包括含有SLI字段的SLI,该SLI字段响应于所述SLI是第二SLI值而具有值1,响应于所述SLI是所述第一SLI值而具有值0,所述通道子系统被配置为响应于执行或终止所述I/O操作,接收从所述控制单元返回的传输响应消息,所述传输响应消息包括位于不正确长度(IL)字段中的IL值,该字段指示是否因为所述不正确长度条件而终止所述I/O操作,响应于所述SLI是所述第一SLI值并且所述数据计数与所需的数据量不匹配,所述IL字段具有值1,响应于至少一个所述SLI是所述第二SLI值并且数据计数与所需的数据量匹配,所述IL字段具有值0。
18.根据权利要求17的装置,其中所述传输响应消息包括DCW偏移字段,该字段指示多个DCW中的哪一个导致所述不正确长度条件被检测到。
19.根据权利要求12的装置,其中所述所述通道子系统被配置为执行:
将进程登录(PRLI)请求消息发送到所述控制单元,所述PRLI请求消息被配置为初始化所述通道子系统与所述控制单元之间的链路,所述PRLI请求消息包括头,该头具有指示所述通道子系统是否支持使用所述SLI的值;以及
从所述控制单元接收(PRLI)响应消息,所述PRLI响应消息包括头,该头具有指示所述控制单元是否支持使用所述SLI的值。
20.一种用于在被配置为与控制单元通信的主机计算机系统上执行输入/输出(I/O)操作指令发起的I/O操作的方法,所述控制单元与一个或多个设备通信,所述方法包括:
通过所述主机计算机系统的通道子系统产生至少一个指定I/O操作的命令消息,所述至少一个命令消息包括一个或多个设备命令字(DCW),每个DCW与I/O命令关联,其中所述一个或多个DCW中的至少一个DCW包括数据计数和抑制长度指示(SLI),所述SLI被配置为指示所述控制单元是否继续响应于所述控制单元检测到不正确长度条件而继续执行所述I/O操作,所述不正确长度条件响应于所述数据计数与执行所述I/O操作命令所需的数据量不匹配而被检测到,其中所需的数据是所述控制单元上可用于读取操作命令的数据和所述控制单元需要用于写入操作命令的数据之一;
将所述至少一个命令消息转发到所述控制单元;
从所述控制单元接收不正确长度(IL)值,响应于所述SLI是第一SLI值并且所述数据计数与所需的数据量不匹配,所述IL值是第一IL值,响应于所述SLI是第二SLI值并且所述数据计数与所需的数据量不匹配,所述IL值是第二IL值;以及
响应于从所述控制单元接收到所述IL值,将IL指示器存储在子通道状态字中,所述IL指示器表示所述IL值。
21.根据权利要求20的方法,其中所述至少一个DCW包括命令链接标志,其指示后续DCW在逻辑上连接到所述至少一个DCW,并且在所述控制单元执行所述至少一个DCW之后由所述控制单元执行,并且所述SLI指示所述控制单元继续命令链接并响应于所述控制单元检测到所述不正确长度条件而执行所述后续DCW。
22.根据权利要求20的方法,其中所述SLI是所述至少一个DCW中的SLI字段中的值,所述值为1指示所述控制单元在检测到所述不正确长度条件时继续所述I/O操作,所述值为0指示所述控制单元在检测到所述不正确长度条件时终止所述I/O操作。
23.根据权利要求20的方法,其中所述至少一个DCW包括含有SLI字段的SLI,该SLI字段响应于所述SLI是第二SLI值而具有值1,响应于所述SLI是所述第一SLI值而具有值0,所述通道子系统被配置为响应于执行或终止所述I/O操作,接收从所述控制单元返回的传输响应消息,所述传输响应消息包括位于不正确长度(IL)字段中的IL值,该字段指示是否因为所述不正确长度条件而终止所述I/O操作,响应于所述SLI是所述第一SLI值并且所述数据计数与所需的数据量不匹配,所述IL字段具有值1,响应于至少一个所述SLI是所述第二SLI值并且数据计数与所需的数据量匹配,所述IL字段具有值0。
24.根据权利要求23的方法,其中所述传输响应消息包括DCW偏移字段,该字段指示多个DCW中的哪一个导致所述不正确长度条件被检测到。
25.根据权利要求20的方法,进一步包括:
将进程登录(PRLI)请求消息发送到所述控制单元,所述PRLI请求消息被配置为初始化所述通道子系统与所述控制单元之间的链路,所述PRLI请求消息包括头,该头具有指示所述通道子系统是否支持使用所述SLI的值;以及
从所述控制单元接收(PRLI)响应消息,所述PRLI响应消息包括头,该头具有指示所述控制单元是否支持使用所述SLI的值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/173,754 | 2011-06-30 | ||
US13/173,754 US8473641B2 (en) | 2011-06-30 | 2011-06-30 | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
PCT/EP2012/058104 WO2013000603A1 (en) | 2011-06-30 | 2012-05-03 | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103562893A true CN103562893A (zh) | 2014-02-05 |
CN103562893B CN103562893B (zh) | 2016-02-17 |
Family
ID=46085908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280026358.0A Active CN103562893B (zh) | 2011-06-30 | 2012-05-03 | 促进通道子系统与输入/输出设备之间的传输模式输入/输出操作 |
Country Status (14)
Country | Link |
---|---|
US (2) | US8473641B2 (zh) |
EP (1) | EP2593874A1 (zh) |
JP (1) | JP6074416B2 (zh) |
CN (1) | CN103562893B (zh) |
AU (1) | AU2012278232B2 (zh) |
BR (1) | BR112013034069B1 (zh) |
CA (1) | CA2821233C (zh) |
HK (1) | HK1193884A1 (zh) |
IL (1) | IL224384A (zh) |
MX (1) | MX2013011407A (zh) |
RU (1) | RU2541106C2 (zh) |
SG (1) | SG194196A1 (zh) |
WO (1) | WO2013000603A1 (zh) |
ZA (1) | ZA201301504B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8811459B1 (en) * | 2013-10-21 | 2014-08-19 | Oleumtech Corporation | Robust and simple to configure cable-replacement system |
US10312936B2 (en) * | 2014-01-17 | 2019-06-04 | Texas Instruments Incorporated | Using CRC residual value to distinguish a recipient of a data packet in a communication system |
IT201700050153A1 (it) * | 2017-05-09 | 2018-11-09 | St Microelectronics Srl | Modulo hardware di sicurezza, relativo sistema di elaborazione, circuito integrato e dispositivo |
TWI797464B (zh) * | 2020-07-28 | 2023-04-01 | 群聯電子股份有限公司 | 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元 |
CN112463064B (zh) * | 2020-12-07 | 2022-02-08 | 无锡众星微系统技术有限公司 | 基于双链表结构的i/o指令管理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030919A1 (en) * | 2008-07-31 | 2010-02-04 | International Business Machines Corporation | Transport control channel program message pairing |
CN101939730A (zh) * | 2008-02-14 | 2011-01-05 | 国际商业机器公司 | 单个i/o操作内的双向数据传输 |
CN101946244A (zh) * | 2008-02-14 | 2011-01-12 | 国际商业机器公司 | 降低保留设备的访问竞争 |
CN101946242A (zh) * | 2008-02-14 | 2011-01-12 | 国际商业机器公司 | 在间接数据地址列表不连续的输入/输出处理系统中提供间接数据寻址 |
CN101946241A (zh) * | 2008-02-14 | 2011-01-12 | 国际商业机器公司 | 监视输入/输出操作的数据处理 |
Family Cites Families (219)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1264096A (zh) | 1970-06-27 | 1972-02-16 | ||
US3693161A (en) | 1970-07-09 | 1972-09-19 | Burroughs Corp | Apparatus for interrogating the availability of a communication path to a peripheral device |
US4004277A (en) | 1974-05-29 | 1977-01-18 | Gavril Bruce D | Switching system for non-symmetrical sharing of computer peripheral equipment |
US3943283A (en) | 1974-06-17 | 1976-03-09 | International Business Machines Corporation | Bidirectional single wire data transmission and wrap control |
US4080649A (en) | 1976-12-16 | 1978-03-21 | Honeywell Information Systems Inc. | Balancing the utilization of I/O system processors |
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 |
US4380046A (en) | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
US4374415A (en) | 1980-07-14 | 1983-02-15 | International Business Machines Corp. | Host control of suspension and resumption of channel program execution |
US4414644A (en) | 1981-04-03 | 1983-11-08 | International Business Machines Corporation | Method and apparatus for discarding data from a buffer after reading such data |
US4455605A (en) | 1981-07-23 | 1984-06-19 | International Business Machines Corporation | Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices |
US4497022A (en) | 1982-10-19 | 1985-01-29 | International Business Machines Corporation | Method and apparatus for measurements of channel operation |
US4564903A (en) | 1983-10-05 | 1986-01-14 | International Business Machines Corporation | Partitioned multiprocessor programming system |
US4779188A (en) | 1983-12-14 | 1988-10-18 | International Business Machines Corporation | Selective guest system purge control |
US4870566A (en) | 1984-08-27 | 1989-09-26 | International Business Machines Corp. | Scannerless message concentrator and communications multiplexer |
US4837677A (en) | 1985-06-14 | 1989-06-06 | International Business Machines Corporation | Multiple port service expansion adapter for a communications controller |
US4760518A (en) | 1986-02-28 | 1988-07-26 | Scientific Computer Systems Corporation | Bi-directional databus system for supporting superposition of vector and scalar operations in a computer |
JPS6336461A (ja) | 1986-07-31 | 1988-02-17 | Pfu Ltd | 汎用チャネル制御方式 |
US4926320A (en) | 1987-04-07 | 1990-05-15 | Nec Corporation | Information processing system having microprogram-controlled type arithmetic processing unit |
US4843541A (en) | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
US4866609A (en) | 1988-06-22 | 1989-09-12 | International Business Machines Corporation | Byte count handling in serial channel extender with buffering for data pre-fetch |
JPH0283757A (ja) | 1988-09-21 | 1990-03-23 | Hitachi Ltd | 通信制御システム |
US5016160A (en) | 1988-12-15 | 1991-05-14 | International Business Machines Corporation | Computer system having efficient data transfer operations |
US5185736A (en) | 1989-05-12 | 1993-02-09 | Alcatel Na Network Systems Corp. | Synchronous optical transmission system |
EP0412268B1 (en) | 1989-08-11 | 1996-09-11 | International Business Machines Corporation | Apparatus for interconnecting a control unit having a parallel bus with a channel having a serial link |
GB9012970D0 (en) | 1989-09-22 | 1990-08-01 | Ibm | Apparatus and method for asynchronously delivering control elements with pipe interface |
EP0424618A3 (en) | 1989-10-24 | 1992-11-19 | International Business Machines Corporation | Input/output system |
DE3938520A1 (de) | 1989-11-21 | 1991-05-29 | Teves Gmbh Alfred | Verfahren und system zur messdatenerfassung und -auswertung |
AU650242B2 (en) | 1989-11-28 | 1994-06-16 | International Business Machines Corporation | Methods and apparatus for dynamically managing input/output (I/O) connectivity |
JPH04649A (ja) | 1990-04-18 | 1992-01-06 | Nec Corp | リモートチャネル装置の障害情報転送方式 |
CA2037708C (en) | 1990-05-04 | 1998-01-20 | Richard J. Eickemeyer | General purpose compound apparatus for instruction-level parallel processors |
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 |
US5386512A (en) | 1991-07-19 | 1995-01-31 | International Business Machines Corporation | System for deriving and testing mutual capability set after receiving updated capability from other processors and before requesting service information |
JPH0580104A (ja) | 1991-09-20 | 1993-04-02 | Cmk Corp | モータ用プリント配線板の製造方法 |
US5388219A (en) | 1992-03-02 | 1995-02-07 | International Business Machines Corporation | Efficient channel and control unit for host computer |
CA2086691C (en) | 1992-03-30 | 1997-04-08 | David A. Elko | Communicating messages between processors and a coupling facility |
US5317739A (en) | 1992-03-30 | 1994-05-31 | International Business Machines Corp. | Method and apparatus for coupling data processing 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 |
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 |
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 |
US5265240A (en) | 1992-07-24 | 1993-11-23 | International Business Machines Corporation | Channel measurement method and means |
JP2566728B2 (ja) | 1992-10-30 | 1996-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 論理径路スケジューリング装置及び実行方法 |
US5301323A (en) | 1992-10-30 | 1994-04-05 | International Business Machines Corp. | Data processing system including dynamic channel path management |
US5526484A (en) | 1992-12-10 | 1996-06-11 | International Business Machines Corporation | Method and system for pipelining the processing of channel command words |
JP2840511B2 (ja) | 1992-12-10 | 1998-12-24 | 富士通株式会社 | 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法 |
US5528755A (en) | 1992-12-22 | 1996-06-18 | International Business Machines Corporation | Invalid data detection, recording and nullification |
US5517670A (en) | 1992-12-30 | 1996-05-14 | International Business Machines Corporation | Adaptive data transfer channel employing extended data block capability |
US5461721A (en) | 1993-04-14 | 1995-10-24 | International Business Machines Corporation | System for transferring data between I/O devices and main or expanded storage under dynamic control of independent indirect address words (IDAWs) |
US5465359A (en) | 1993-11-01 | 1995-11-07 | International Business Machines Corporation | Method and system for managing data and users of data in a data processing system |
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 |
JP3528094B2 (ja) | 1994-02-09 | 2004-05-17 | 株式会社日立製作所 | バス利用方法および記憶制御装置 |
US6769009B1 (en) | 1994-05-31 | 2004-07-27 | Richard R. Reisman | Method and system for selecting a personalized set of information channels |
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 |
US5860022A (en) | 1994-07-26 | 1999-01-12 | Hitachi, Ltd. | Computer system and method of issuing input/output commands therefrom |
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 |
EP0712220A1 (en) | 1994-11-08 | 1996-05-15 | International Business Machines Corporation | Hop-by-hop flow control in an ATM network |
US5613163A (en) * | 1994-11-18 | 1997-03-18 | International Business Machines Corporation | Method and system for predefined suspension and resumption control over I/O programs |
US5671441A (en) | 1994-11-29 | 1997-09-23 | International Business Machines Corporation | Method and apparatus for automatic generation of I/O configuration descriptions |
US5600793A (en) | 1994-12-20 | 1997-02-04 | International Business Machines Corporation | Method and system of bi-directional parallel port data transfer between data processing systems |
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 |
US5742845A (en) | 1995-06-22 | 1998-04-21 | Datascape, Inc. | System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network |
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 | 株式会社日立製作所 | 入出力チャネルの拡張方式 |
US6125411A (en) | 1995-09-13 | 2000-09-26 | Hitachi, Ltd. | System storing plural I/O arrangement information wherein each I/O arrangement information corresponding to each operating system is created in response to more than two operating systems |
GB2291990A (en) | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Flash-memory management system |
US5831985A (en) | 1995-11-09 | 1998-11-03 | Emc Corporation | Method and apparatus for controlling concurrent data transmission from multiple sources in a channel communication system |
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 |
US5812877A (en) | 1996-03-15 | 1998-09-22 | Adaptec, Inc. | I/O command block chain structure in a memory |
US5894583A (en) | 1996-04-09 | 1999-04-13 | International Business Machines Corporation | Variable timeout method for improving missing-interrupt-handler operations in an environment having I/O devices shared by one or more systems |
US5758190A (en) | 1996-04-09 | 1998-05-26 | International Business Machines Corporation | Control unit threshold timeout controls for software missing interrupt handlers in operating systems |
US5768620A (en) | 1996-04-09 | 1998-06-16 | International Business Machines Corporation | Variable timeout method in a missing-interrupt-handler for I/O requests issued by the same operating system |
US5901327A (en) | 1996-05-28 | 1999-05-04 | Emc Corporation | Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring |
US6108655A (en) | 1996-07-19 | 2000-08-22 | Cisco Technology, Inc. | Method and apparatus for transmitting images and other objects over a computer network system |
SG74611A1 (en) | 1997-02-14 | 2000-08-22 | Canon Kk | Data communication apparatus and method |
JP3697831B2 (ja) | 1997-04-18 | 2005-09-21 | 株式会社日立製作所 | コンピュータシステム |
TW375529B (en) | 1997-05-14 | 1999-12-01 | Sega Corp | Data transmission method and game system using the same |
US5918028A (en) | 1997-07-08 | 1999-06-29 | Motorola, Inc. | Apparatus and method for smart host bus adapter for personal computer cards |
US6263380B1 (en) | 1997-10-14 | 2001-07-17 | Mitutoyo Corporation | Measurement data processing unit |
US6460087B1 (en) | 1998-02-25 | 2002-10-01 | Kdd Corporation | Method of transferring file |
US6360282B1 (en) | 1998-03-25 | 2002-03-19 | Network Appliance, Inc. | Protected control of devices by user applications in multiprogramming environments |
US6353612B1 (en) | 1998-06-19 | 2002-03-05 | Brocade Communications Systems, Inc. | Probing device |
US6693880B2 (en) | 1998-09-10 | 2004-02-17 | International Business Machines Corporation | System of controlling the flow of information between senders and receivers across links being used as channels |
US6185631B1 (en) | 1998-10-14 | 2001-02-06 | International Business Machines Corporation | Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence |
US6230218B1 (en) | 1998-10-14 | 2001-05-08 | International Business Machines Corporation | Apparatus for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence |
US6343335B1 (en) | 1998-10-29 | 2002-01-29 | International Business Machines Corporation | System for repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry |
US6195330B1 (en) | 1998-11-05 | 2001-02-27 | David C. Sawey | Method and system for hit-less switching |
KR100273641B1 (ko) | 1998-11-11 | 2000-12-15 | 윤종용 | 공통 메모리 스위치에서 셀 그룹 처리장치 및 그 처리방법 |
JP3990833B2 (ja) | 1998-12-11 | 2007-10-17 | キヤノン株式会社 | 通信制御方法及び装置 |
US6347334B1 (en) | 1999-01-06 | 2002-02-12 | Mcdata Corporation | Self-description extended link service for networks |
US6772207B1 (en) | 1999-01-28 | 2004-08-03 | Brocade Communications Systems, Inc. | System and method for managing fibre channel switching devices |
US6351779B1 (en) | 1999-03-12 | 2002-02-26 | Agilent Technologies, Inc. | Extension library to standard visa library for support of complex I/O functions |
US6484217B1 (en) | 1999-04-20 | 2002-11-19 | International Business Machines Corporation | Managing shared devices in a data processing system |
US6401223B1 (en) | 1999-05-21 | 2002-06-04 | Unisys Corporation | Programmable system for invalidating pending requests within a data processing system |
TW549004B (en) | 1999-06-15 | 2003-08-21 | Matsushita Electric Works Ltd | Portable programming device for supervisory remote control system |
US6718139B1 (en) | 1999-09-13 | 2004-04-06 | Ciena Corporation | Optical fiber ring communication system |
US6609165B1 (en) | 1999-09-27 | 2003-08-19 | International Business Machines Corporation | Method and apparatus for using fibre channel extended link service commands in a point-to-point configuration |
US6651125B2 (en) | 1999-09-28 | 2003-11-18 | International Business Machines Corporation | Processing channel subsystem pending I/O work queues based on priorities |
US6584511B1 (en) | 2000-03-24 | 2003-06-24 | Unisys Corporation | Loop initialization procedure exception handling for fibre channel transmissions |
US6658603B1 (en) | 2000-04-17 | 2003-12-02 | International Business Machines Corporation | Method and apparatus for efficiently generating and implementing engine error codes and verifying the correctness of the implementation of the engine error codes |
US6594785B1 (en) | 2000-04-28 | 2003-07-15 | Unisys Corporation | System and method for fault handling and recovery in a multi-processing system having hardware resources shared between multiple partitions |
US6862322B1 (en) | 2000-05-19 | 2005-03-01 | International Business Machines Corporation | Switchable-bandwidth optical receiver |
US6609161B1 (en) | 2000-06-01 | 2003-08-19 | Adaptec, Inc. | Two-dimensional execution queue for host adapters |
JP2002016655A (ja) | 2000-06-28 | 2002-01-18 | Sony Corp | 伝送方法、伝送システム、伝送装置及び伝送制御装置 |
US6662319B1 (en) | 2000-08-31 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | Special encoding of known bad data |
ATE546018T1 (de) | 2000-08-31 | 2012-03-15 | Dolby Lab Licensing Corp | Verfahren und anordnung zur audiomatrixdekodierung |
US6694390B1 (en) | 2000-09-11 | 2004-02-17 | Intel Corporation | Managing bus transaction dependencies |
US6751683B1 (en) | 2000-09-29 | 2004-06-15 | International Business Machines Corporation | Method, system and program products for projecting the impact of configuration changes on controllers |
US6678748B2 (en) | 2000-09-29 | 2004-01-13 | Emc Corporation | Method for optimizing multiple input/output requests to a single logical device |
US6950888B1 (en) | 2000-09-29 | 2005-09-27 | International Business Machines Corporation | Method, system and program products for determining whether I/O constraints exist for controllers of a computing environment |
US6697983B1 (en) | 2000-10-24 | 2004-02-24 | At&T Wireless Services, Inc. | Data link layer tunneling technique for high-speed data in a noisy wireless environment |
US6622268B2 (en) | 2000-11-29 | 2003-09-16 | Intel Corp | Method and apparatus for propagating error status over an ECC protected channel |
US7127514B2 (en) | 2000-12-28 | 2006-10-24 | Microsoft Corporation | Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client |
US7155569B2 (en) | 2001-02-28 | 2006-12-26 | Lsi Logic Corporation | Method for raid striped I/O request generation using a shared scatter gather list |
US6834363B2 (en) | 2001-03-22 | 2004-12-21 | International Business Machines Corporation | Method for prioritizing bus errors |
US6898202B2 (en) * | 2001-06-27 | 2005-05-24 | International Business Machines Corporation | Method, apparatus and computer program for informing a requesting device of port configuration changes in a computer network switching device |
US20030056000A1 (en) | 2001-07-26 | 2003-03-20 | Nishan Systems, Inc. | Transfer ready frame reordering |
US7315911B2 (en) | 2005-01-20 | 2008-01-01 | Dot Hill Systems Corporation | Method for efficient inter-processor communication in an active-active RAID system using PCI-express links |
US6754738B2 (en) | 2001-09-28 | 2004-06-22 | International Business Machines Corporation | Low overhead I/O interrupt |
US6859866B2 (en) | 2001-10-01 | 2005-02-22 | International Business Machines Corporation | Synchronizing processing of commands invoked against duplexed coupling facility structures |
US6745299B2 (en) | 2001-11-19 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms |
US7512133B2 (en) | 2001-12-03 | 2009-03-31 | International Business Machines Corporation | Method and apparatus for obtaining multiple port addresses by a fibre channel from a network fabric |
US7599360B2 (en) | 2001-12-26 | 2009-10-06 | Cisco Technology, Inc. | Methods and apparatus for encapsulating a frame for transmission in a storage area network |
US7085860B2 (en) | 2002-01-11 | 2006-08-01 | International Business Machines Corporation | Method and apparatus for a non-disruptive recovery of a single partition in a multipartitioned data processing system |
US7007142B2 (en) | 2002-02-19 | 2006-02-28 | Intel Corporation | Network data storage-related operations |
US7099814B2 (en) | 2002-03-29 | 2006-08-29 | International Business Machines Corportion | I/O velocity projection for bridge attached channel |
US6898723B2 (en) | 2002-04-01 | 2005-05-24 | Mitac International Corp. | Method for verifying clock signal frequency of computer sound interface that involves checking whether count value of counter is within tolerable count range |
US7543087B2 (en) | 2002-04-22 | 2009-06-02 | Alacritech, Inc. | Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device |
JP4704659B2 (ja) | 2002-04-26 | 2011-06-15 | 株式会社日立製作所 | 記憶装置システムの制御方法および記憶制御装置 |
US20030208581A1 (en) | 2002-05-02 | 2003-11-06 | Behren Paul D. Von | Discovery of fabric devices using information from devices and switches |
US7082461B2 (en) * | 2002-06-28 | 2006-07-25 | Microsoft Corporation | Method to configure a bluetooth logical link control and adaptation protocol channel |
US7120728B2 (en) | 2002-07-31 | 2006-10-10 | Brocade Communications Systems, Inc. | Hardware-based translating virtualization switch |
US7107385B2 (en) | 2002-08-09 | 2006-09-12 | Network Appliance, Inc. | Storage virtualization by layering virtual disk objects on a file system |
US6826661B2 (en) | 2002-08-30 | 2004-11-30 | Veritas Operating Corporation | Methods and systems for storage architectures |
US20040054776A1 (en) | 2002-09-16 | 2004-03-18 | Finisar Corporation | Network expert analysis process |
US7539777B1 (en) | 2002-10-25 | 2009-05-26 | Cisco Technology, Inc. | Method and system for network time protocol forwarding |
US7080094B2 (en) | 2002-10-29 | 2006-07-18 | Lockheed Martin Corporation | Hardware accelerated validating parser |
US7061485B2 (en) | 2002-10-31 | 2006-06-13 | Hewlett-Packard Development Company, Lp. | Method and system for producing a model from optical images |
US7202801B2 (en) | 2002-12-11 | 2007-04-10 | Geospatial Technologies, Inc. | Method and apparatus for an automated location-based, dynamic notification system (ALDNS) |
US7277387B2 (en) | 2003-01-30 | 2007-10-02 | Wind River Systems, Inc. | Package manager |
US7324455B2 (en) | 2003-03-14 | 2008-01-29 | International Business Machines Corporation | Transfer of error-analysis and statistical data in a fibre channel input/output system |
US6915378B2 (en) | 2003-04-23 | 2005-07-05 | Hypernova Technologies, Inc. | Method and system for improving the performance of a processing system |
US7085898B2 (en) | 2003-05-12 | 2006-08-01 | International Business Machines Corporation | Coherency management for a “switchless” distributed shared memory computer system |
US7000036B2 (en) | 2003-05-12 | 2006-02-14 | International Business Machines Corporation | Extended input/output measurement facilities |
US7058735B2 (en) | 2003-06-02 | 2006-06-06 | Emulex Design & Manufacturing Corporation | Method and apparatus for local and distributed data memory access (“DMA”) control |
TWI271626B (en) | 2003-06-17 | 2007-01-21 | Delta Electronics Inc | Data transmission method for microprocessors of programmable logic controller |
US7684401B2 (en) | 2003-07-21 | 2010-03-23 | Qlogic, Corporation | Method and system for using extended fabric features with fibre channel switch elements |
US7124207B1 (en) | 2003-08-14 | 2006-10-17 | Adaptec, Inc. | I2O command and status batching |
US7149823B2 (en) | 2003-08-29 | 2006-12-12 | Emulex Corporation | System and method for direct memory access from host without processor intervention wherein automatic access to memory during host start up does not occur |
KR100829471B1 (ko) | 2003-10-17 | 2008-05-19 | 니폰덴신뎅와 가부시키가이샤 | 메일 배송 시스템, 메일 배송방법 및 메일 배송 프로그램 |
KR20050043426A (ko) | 2003-11-06 | 2005-05-11 | 삼성전자주식회사 | 파이프라인 버스 시스템에서 커맨드 전송 방법 및 장치 |
US20050105456A1 (en) | 2003-11-18 | 2005-05-19 | Cookson Christopher J. | Double-sided optical disc |
US7634582B2 (en) | 2003-12-19 | 2009-12-15 | Intel Corporation | Method and architecture for optical networking between server and storage area networks |
US7564791B2 (en) | 2003-12-29 | 2009-07-21 | Intel Corporation | Monitoring packet flows |
US7382733B2 (en) | 2004-02-12 | 2008-06-03 | International Business Machines Corporation | Method for handling reordered data packets |
US7133988B2 (en) | 2004-02-25 | 2006-11-07 | Hitachi, Ltd. | Method and apparatus for managing direct I/O to storage systems in virtualization |
US20050223291A1 (en) | 2004-03-24 | 2005-10-06 | Zimmer Vincent J | Methods and apparatus to provide an execution mode transition |
JP2005293363A (ja) | 2004-04-01 | 2005-10-20 | Toshiba Corp | ディスクアレイコントローラおよび情報処理装置 |
US8171170B2 (en) | 2004-04-30 | 2012-05-01 | Emc Corporation | Storage switch task processing synchronization |
US7240273B2 (en) | 2004-05-13 | 2007-07-03 | Industrial Technology Research Institute | Cyclic redundancy check modification for message length detection and error detection |
US7555554B2 (en) | 2004-08-06 | 2009-06-30 | Microsoft Corporation | System and method for generating selectable extension to media transport protocol |
US7711871B1 (en) | 2004-08-30 | 2010-05-04 | Crossroads Systems, Inc. | Interface device and method for command processing |
US7443798B2 (en) | 2004-09-03 | 2008-10-28 | Agere Systems Inc. | Transmit adaptive equalization for communication system with one or more serial data channels |
US7577772B2 (en) | 2004-09-08 | 2009-08-18 | Qlogic, Corporation | Method and system for optimizing DMA channel selection |
GB2419198A (en) | 2004-10-14 | 2006-04-19 | Hewlett Packard Development Co | Identifying performance affecting causes in a data storage system |
US7398335B2 (en) | 2004-11-22 | 2008-07-08 | Qlogic, Corporation | Method and system for DMA optimization in host bus adapters |
JP4575119B2 (ja) | 2004-11-25 | 2010-11-04 | 株式会社日立製作所 | ストレージシステム |
US7164425B2 (en) | 2004-12-21 | 2007-01-16 | Qlogic Corporation | Method and system for high speed network application |
US7672323B2 (en) | 2005-01-14 | 2010-03-02 | Cisco Technology, Inc. | Dynamic and intelligent buffer management for SAN extension |
US7526633B2 (en) | 2005-03-23 | 2009-04-28 | Qualcomm Incorporated | Method and system for encoding variable length packets with variable instruction sizes |
JP2006277583A (ja) | 2005-03-30 | 2006-10-12 | Hitachi Ltd | データ処理システム、データ処理方法、及びプログラム |
US7970953B2 (en) | 2005-06-30 | 2011-06-28 | Intel Corporation | Serial ATA port addressing |
JP2007058646A (ja) | 2005-08-25 | 2007-03-08 | Hitachi Ltd | データ処理システム |
US20070072543A1 (en) | 2005-09-06 | 2007-03-29 | Nokia Corporation | Enhanced signaling of pre-configured interaction message in service guide |
US7577773B1 (en) | 2005-09-09 | 2009-08-18 | Qlogic, Corporation | Method and system for DMA optimization |
JP4527640B2 (ja) | 2005-09-15 | 2010-08-18 | 株式会社ソニー・コンピュータエンタテインメント | データ読出装置 |
JP2007122108A (ja) | 2005-10-25 | 2007-05-17 | Hitachi Ltd | セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御 |
US7484021B2 (en) | 2005-10-27 | 2009-01-27 | Cisco Technology, Inc. | Technique for implementing virtual fabric membership assignments for devices in a storage area network |
US20070162631A1 (en) | 2005-12-28 | 2007-07-12 | International Business Machines Corporation | Method for selectable software-hardware internet SCSI |
US7594057B1 (en) | 2006-01-09 | 2009-09-22 | Qlogic, Corporation | Method and system for processing DMA requests |
JP2007199975A (ja) | 2006-01-26 | 2007-08-09 | Hitachi Ltd | データ処理システム及びデータ処理方法 |
US7743197B2 (en) | 2006-05-11 | 2010-06-22 | Emulex Design & Manufacturing Corporation | System and method for virtualizing PCIe devices |
US9032164B2 (en) | 2006-02-17 | 2015-05-12 | Emulex Corporation | Apparatus for performing storage virtualization |
JP2009532954A (ja) * | 2006-03-31 | 2009-09-10 | クゥアルコム・インコーポレイテッド | 高速メディアアクセス制御に関するメモリ管理 |
US20080040519A1 (en) | 2006-05-02 | 2008-02-14 | Alacritech, Inc. | Network interface device with 10 Gb/s full-duplex transfer rate |
US8381214B2 (en) | 2006-05-05 | 2013-02-19 | Microsoft Corporation | Extensible job submission |
US7826349B2 (en) | 2006-05-30 | 2010-11-02 | Intel Corporation | Connection management mechanism |
US20080043563A1 (en) | 2006-08-15 | 2008-02-21 | International Business Machines Corporation | Flexibly controlling the transfer of data between input/output devices and memory |
US8032581B2 (en) | 2006-08-30 | 2011-10-04 | International Business Machines Corporation | Persistent information unit pacing |
US7500030B2 (en) | 2006-08-30 | 2009-03-03 | International Business Machines Corporation | Control of information units in fibre channel communications |
US7502873B2 (en) | 2006-10-10 | 2009-03-10 | International Business Machines Corporation | Facilitating access to status and measurement data associated with input/output processing |
US7500023B2 (en) | 2006-10-10 | 2009-03-03 | International Business Machines Corporation | Facilitating input/output processing by using transport control words to reduce input/output communications |
US7797414B2 (en) | 2007-01-31 | 2010-09-14 | International Business Machines Corporation | Establishing a logical path between servers in a coordinated timing network |
US8942219B2 (en) | 2007-04-13 | 2015-01-27 | Hart Communication Foundation | Support for network management and device communications in a wireless network |
US7765336B2 (en) | 2007-06-11 | 2010-07-27 | Emulex Design & Manufacturing Corporation | Autonomous mapping of protected data streams to fibre channel frames |
US8020074B2 (en) | 2007-08-24 | 2011-09-13 | Datadirect Networks, Inc. | Method for auto-correction of errors in a RAID memory system |
US7917813B2 (en) | 2008-02-14 | 2011-03-29 | International Business Machines Corporation | Exception condition determination at a control unit in an I/O processing system |
US8108570B2 (en) | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
US8196149B2 (en) | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output processing system |
US7904605B2 (en) | 2008-02-14 | 2011-03-08 | International Business Machines Corporation | Computer command and response for determining the state of an I/O operation |
US8176222B2 (en) | 2008-02-14 | 2012-05-08 | International Business Machines Corporation | Early termination of an I/O operation in an I/O processing system |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
US8001298B2 (en) | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data in an I/O processing system |
US7899944B2 (en) | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting in an I/O processing system |
US8214562B2 (en) | 2008-02-14 | 2012-07-03 | International Business Machines Corporation | Processing of data to perform system changes in an input/output processing system |
US8095847B2 (en) | 2008-02-14 | 2012-01-10 | International Business Machines Corporation | Exception condition handling at a channel subsystem in an I/O processing system |
US7937507B2 (en) | 2008-02-14 | 2011-05-03 | International Business Machines Corporation | Extended measurement word determination at a channel subsystem of an I/O processing system |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
US7840718B2 (en) | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing of data to suspend operations in an input/output processing log-out system |
US7840717B2 (en) | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing a variable length device command word at a control unit in an I/O processing system |
US8166206B2 (en) | 2008-02-14 | 2012-04-24 | International Business Machines Corporation | Cancel instruction and command for determining the state of an I/O operation |
US8082481B2 (en) | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
US8117347B2 (en) | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
GB2460841B (en) | 2008-06-10 | 2012-01-11 | Virtensys Ltd | Methods of providing access to I/O devices |
US7983257B2 (en) | 2008-07-18 | 2011-07-19 | Emulex Design & Manufacturing Corporation | Hardware switch for hypervisors and blade servers |
US8055807B2 (en) * | 2008-07-31 | 2011-11-08 | International Business Machines Corporation | Transport control channel program chain linking including determining sequence order |
US20100064072A1 (en) | 2008-09-09 | 2010-03-11 | Emulex Design & Manufacturing Corporation | Dynamically Adjustable Arbitration Scheme |
JP5107880B2 (ja) | 2008-12-10 | 2012-12-26 | 株式会社日立製作所 | データ転送処理装置及び方法 |
US8914812B2 (en) * | 2010-01-08 | 2014-12-16 | International Business Machines Corporation | Controlling operations according to another system's architecture |
-
2011
- 2011-06-30 US US13/173,754 patent/US8473641B2/en active Active
-
2012
- 2012-05-03 CA CA2821233A patent/CA2821233C/en active Active
- 2012-05-03 CN CN201280026358.0A patent/CN103562893B/zh active Active
- 2012-05-03 RU RU2012147915/08A patent/RU2541106C2/ru active
- 2012-05-03 EP EP12721449.2A patent/EP2593874A1/en not_active Ceased
- 2012-05-03 MX MX2013011407A patent/MX2013011407A/es active IP Right Grant
- 2012-05-03 JP JP2014517538A patent/JP6074416B2/ja active Active
- 2012-05-03 WO PCT/EP2012/058104 patent/WO2013000603A1/en active Application Filing
- 2012-05-03 SG SG2013076872A patent/SG194196A1/en unknown
- 2012-05-03 BR BR112013034069-0A patent/BR112013034069B1/pt active IP Right Grant
- 2012-05-03 AU AU2012278232A patent/AU2012278232B2/en active Active
-
2013
- 2013-01-23 IL IL224384A patent/IL224384A/en active IP Right Grant
- 2013-02-27 ZA ZA2013/01504A patent/ZA201301504B/en unknown
- 2013-02-28 US US13/780,711 patent/US8631175B2/en active Active
-
2014
- 2014-07-11 HK HK14107102.4A patent/HK1193884A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101939730A (zh) * | 2008-02-14 | 2011-01-05 | 国际商业机器公司 | 单个i/o操作内的双向数据传输 |
CN101946244A (zh) * | 2008-02-14 | 2011-01-12 | 国际商业机器公司 | 降低保留设备的访问竞争 |
CN101946242A (zh) * | 2008-02-14 | 2011-01-12 | 国际商业机器公司 | 在间接数据地址列表不连续的输入/输出处理系统中提供间接数据寻址 |
CN101946241A (zh) * | 2008-02-14 | 2011-01-12 | 国际商业机器公司 | 监视输入/输出操作的数据处理 |
US20100030919A1 (en) * | 2008-07-31 | 2010-02-04 | International Business Machines Corporation | Transport control channel program message pairing |
Also Published As
Publication number | Publication date |
---|---|
US8631175B2 (en) | 2014-01-14 |
CN103562893B (zh) | 2016-02-17 |
JP2014525075A (ja) | 2014-09-25 |
BR112013034069A2 (pt) | 2018-07-03 |
JP6074416B2 (ja) | 2017-02-08 |
US20130246661A1 (en) | 2013-09-19 |
SG194196A1 (en) | 2013-11-29 |
BR112013034069B1 (pt) | 2021-07-27 |
CA2821233C (en) | 2020-05-05 |
AU2012278232B2 (en) | 2015-08-20 |
HK1193884A1 (zh) | 2014-10-03 |
MX2013011407A (es) | 2014-06-05 |
ZA201301504B (en) | 2014-08-27 |
IL224384A (en) | 2017-01-31 |
KR20130101538A (ko) | 2013-09-13 |
RU2012147915A (ru) | 2014-05-20 |
US20130007300A1 (en) | 2013-01-03 |
AU2012278232A1 (en) | 2013-05-02 |
WO2013000603A1 (en) | 2013-01-03 |
CA2821233A1 (en) | 2013-01-03 |
EP2593874A1 (en) | 2013-05-22 |
US8473641B2 (en) | 2013-06-25 |
RU2541106C2 (ru) | 2015-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102810081B (zh) | 光纤信道输入/输出数据路由系统和方法 | |
EP2243086B1 (en) | Computer command and response for determining the state of an i/o operation | |
US8583988B2 (en) | Fibre channel input/output data routing system and method | |
WO2009101055A1 (en) | Exception condition handling at a channel subsystem in an i/o processing system | |
CN103562893B (zh) | 促进通道子系统与输入/输出设备之间的传输模式输入/输出操作 | |
CN109743105A (zh) | 智能网卡光模块管理方法、装置、系统及智能网卡和介质 | |
US8549185B2 (en) | Facilitating transport mode input/output operations between a channel subsystem and input/output devices | |
CN103620571A (zh) | 光纤信道输入/输出数据路由系统和方法 | |
CN103562899A (zh) | 促进通道子系统与输入/输出设备之间的传输模式输入/输出操作 | |
US8346978B1 (en) | Facilitating transport mode input/output operations between a channel subsystem and input/output devices | |
KR101476073B1 (ko) | 채널 서브시스템과 입력/출력 디바이스들 사이에 트랜스포트 모드 입력/출력 동작들을 용이하게 하는 방법, 장치 및 컴퓨터 프로그램 제품 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1193884 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1193884 Country of ref document: HK |