CN103597458B - 用于输入/输出处理的方法和设备 - Google Patents
用于输入/输出处理的方法和设备 Download PDFInfo
- Publication number
- CN103597458B CN103597458B CN201280026319.0A CN201280026319A CN103597458B CN 103597458 B CN103597458 B CN 103597458B CN 201280026319 A CN201280026319 A CN 201280026319A CN 103597458 B CN103597458 B CN 103597458B
- Authority
- CN
- China
- Prior art keywords
- data
- dcw
- value
- 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.)
- Active
Links
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/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- 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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Abstract
一种用于输入/输出处理的设备,被配置来执行包括一种方法,所述方法包括:从信道子系统接收用于指定在控制单元处的I/O操作的至少一个命令消息,所述至少一个命令消息包括一个或多个装置命令字(DCW),所述一个或多个DCW具有数据计数和抑制长度指示(SLI),所述SLI被配置为响应于所述控制单元检测到错误长度条件而指令所述控制单元是否继续执行所述I/O操作;处理所述一个或多个DCW的至少一个;并且,返回传输响应消息,所述传输响应消息包括错误长度(IL)值,响应于所述SLI是第一SLI值并且所述数据计数不匹配所需的数据量,所述IL值是第一IL值,响应于所述SLI是第二SLI值并且所述数据计数不匹配所需的数据量,所述IL值是第二IL值。
Description
技术领域
本公开总体上涉及输入/输出(I/O)处理,具体地说涉及提供用于促进(facilitate)传输模式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操作命令所需的数据的数据量不与所述数据计数匹配而检测到所述错误长度条件,其中,所需的所述数据是在所述控制单元处针对读取操作命令可获得的数据和由所述控制单元针对写入操作命令所需的数据之一;处理所述一个或多个DCW的至少一个;并且,响应于执行或结束所述I/O操作而由所述控制单元向所述信道子系统返回传输响应消息,所述传输响应消息包括所述I/O操作的状态和错误长度(IL)值,响应于所述SLI是第一SLI值并且所述数据计数不匹配所需的数据量,所述IL值是第一IL值,响应于所述SLI是第二SLI值并且所述数据计数不匹配所需的数据量,所述IL值是第二IL值。
另一个实施例包括一种设备,用于在被配置来控制I/O装置并且被配置来与主计算机系统进行通信的控制单元处执行输入/输出(I/O)处理操作。所述控制单元被配置为执行:从所述主计算机系统的信道子系统接收用于指定在所述控制单元处的I/O操作的至少一个命令消息,所述至少一个命令消息包括一个或多个装置命令字(DCW),每一个DCW与I/O命令相关联,其中,所述一个或多个DCW的至少一个DCW包括数据计数和抑制长度指示(SLI),所述SLI被配置来响应于所述控制单元检测到错误长度条件而指令所述控制单元是否继续执行所述I/O操作,响应于用于执行所述I/O操作命令所需的数据的数据量不与所述数据计数匹配而检测到所述错误长度条件,其中,所需的所述数据是在所述控制单元处针对读取操作命令可获得的数据和由所述控制单元针对写入操作命令所需的数据之一;处理所述一个或多个DCW的至少一个;并且,响应于执行或结束所述I/O操作而由所述控制单元向所述信道子系统返回传输响应消息,所述传输响应消息包括所述I/O操作的状态和错误长度(IL)值,响应于所述SLI是第一SLI值并且所述数据计数不匹配所需的数据量,所述IL值是第一IL值,响应于所述SLI是第二SLI值并且所述数据计数不匹配所需的数据量,所述IL值是第二IL值。
另一个实施例包括一种方法,用于在被配置来控制I/O装置并且被配置来与主计算机系统进行通信的控制单元处执行输入/输出(I/O)处理操作。所述方法包括:从所述主计算机系统的信道子系统接收用于指定在所述控制单元处的I/O操作的至少一个命令消息,所述至少一个命令消息包括一个或多个装置命令字(DCW),每一个DCW与I/O命令相关联,其中,所述一个或多个DCW的至少一个DCW包括数据计数和抑制长度指示(SLI),所述SLI被配置来响应于所述控制单元检测到错误长度条件而指令所述控制单元是否继续执行所述I/O操作,响应于用于执行所述I/O操作命令所需的数据的数据量不与所述数据计数匹配而检测到所述错误长度条件,其中,所需的所述数据是在所述控制单元处针对读取操作命令可获得的数据和由所述控制单元针对写入操作命令所需的数据之一;处理所述一个或多个DCW的至少一个;并且,响应于执行或结束所述I/O操作而由所述控制单元向所述信道子系统返回传输响应消息,所述传输响应消息包括所述I/O操作的状态和错误长度(IL)值,响应于所述SLI是第一SLI值并且所述数据计数不匹配所需的数据量,所述IL值是第一IL值,响应于所述SLI是第二SLI值并且所述数据计数不匹配所需的数据量,所述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)的实施例;
图18A和18B描述了用于图17的SCSW的示例性状态量化器;
图19描述了传输响应IU的一个实施例;以及
图20描述了图19的传输响应IU的状态区域的一个实施例。
具体实施方式
本发明的实施例促进了在计算机系统中的输入/输出(I/O)处理。在一个实施例中,提供传输命令以管理I/O操作和数据经由信道路径的传送。传输命令传送用于管理数据传送检查和额外的DCW的传送的命令元信息(TCMI)。TCMI可以被传输控制字(TCW)指定,在一个或多个数据传输信息单元(IU)中限定了传输控制字(TCW),数据传输信息单元(IU)用于限定、指定和验证关于要在I/O操作中传送的数据的信息。在一个实施例中,TCMI包括在I/O操作的输出数据流(例如,在输出传输数据信息单元)中包括的控制数据。TCMI描述了如何独立于被包括的数据的类型而处理该数据。TCMI包括控制数据的数据块或其他容器以及用于指定在数据块中的元数据的规则(例如,用于计算计数)。传输命令可以包括询问命令、传送-CBC-偏移块(TCOB)命令和传送TCA扩展(TTE)命令。该系统还包括用于确定和存储用于指示要作为输出数据传送的TCMI数据的数据量(例如,字节的数量)的计数值的能力。
在一个实施例中,通过使得主计算机能够增加可以被发送到装置以用于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错误长度和FCE错误长度指示工具(facility)。该工具提供了可以被控制单元执行的错误长度(IL)检查。抑制错误长度或抑制长度指示(SLI)字段可以被添加到向装置发送的DCW。当激活该比特时,在控制单元检测到错误长度条件时允许DCW链(chaining)继续。
也可以通过提供用于在单个I/O操作中向装置发送读取和写入命令的手段来促进I/O处理。现有技术的TCW信道程序指定全部写入命令或全部读取命令。可以通过下述方式来指定双向操作:设置在命令IU的传输命令首标(TCH)中的一个或多个标记,例如,设置读取和写入标记两者为1,并且提供读取和写入数据计数两者。另外,在诸如处理登录(PRLI)请求消息之类的启动或登录消息中的标记可以被设置来指示信道子系统支持双向数据传送。诸如PRLI接受消息之类的响应消息可以包括可以被设置来指示装置是否支持双向数据传送的标记。如果主机和控制单元两者支持双向数据传送,则如果在命令IU中设置读取和写入标记两者,则该装置将不报告错误。该能力是相对于不支持双向数据传送操作的现有技术的光纤信道协议的改进。如在此所述,“双向数据传送”是在单个TCWI/O操作内执行的输入和输出数据的传送,例如,在单个TCWI/O操作内发送和执行读取和写入命令两者。
图1图示I/O处理系统100的一个示例性实施例,I/O处理系统100包括主计算机系统102,主计算机系统102包括数据存储器和/或处理系统,诸如国际商业机器公司()的大型计算机。IBM是美国纽约的阿蒙克市的国际商业机器公司的注册商标。在此使用的其他名称可以是国际商业机器公司或其他公司的注册商标、商标或产品名称。主计算机系统102包括各种处理、存储和通信元件。在一个实施例中,主计算机系统102包括一个或多个中央处理单元(CPU)104、诸如主存储器或内存106的存储器部件、扩展存储器或内存108、被一个或多个CPU104执行的一个或多个操作系统(OS)110。例如,一个CPU104可以执行作为不同的虚拟机实例的的操作系统110和/或操作系统110。CPU104是I/O处理系统100的控制中心。它包含用于指令执行、中断行为、定时功能、初始程序加载和其他机器相关功能的序列和处理工具。CPU104经由诸如双向或单向总线之类的连接113耦合到主存储器106和/或扩展存储器108。
主计算机系统102还包括信道子系统114,信道子系统114在主系统101和可以被一个或多个控制单元118控制的各种I/O装置116之间提供通信接口。I/O装置包括设备,诸如打印机、磁带单元、直接存取存储装置、显示器、键盘、通信控制器、远程处理装置和基于传感器的设备。在这里的说明中,可以可交换地使用术语“控制单元”和“装置”,或者可以将控制单元认为包括一个或多个装置。信道子系统114引导在I/O装置116和主计算机系统102之间的信息的流动。它解除了CPU104直接与I/O装置116进行通信的任务,并且允许数据处理与I/O处理同时进行。信道子系统114经由诸如总线之类的连接120耦合到CPU104、主存储器106和/或扩展存储器108。
在一个实施例中,信道子系统114经由相应的“信道路径”122连接到每一个I/O装置116,“信道路径”122将信道子系统114经由诸如串行或并行链路之类的连接124连接到每一个控制单元118。控制单元118可以经由多个信道路径122附接到信道子系统114,并且I/O装置116可以附接到一个或多个控制单元118和/或I/O装置116。总之,多个信道路径可以访问单独的I/O装置116。信道路径可以使用各种类型的连接,诸如并行接口、串行-I/O接口和FICONI/O接口。例如,串行信道路径可以包括经由例如在光纤信道架构中的动态开关126连接到控制单元118的一条或多条光纤,并且,并行接口可以包括多个电导体或光纤导体。
在一个实施例中,信道子系统114包括一个或多个独立的信道128,其每一个经由一个或多个信道路径122连接到一个或多个控制单元118和/或I/O装置116。每一个信道128包括处理电子装置,诸如本地信道微处理器130和连接到本地信道微处理器130并且能够被本地信道微处理器130访问的本地信道存储器132。本地信道存储器132可以包括诸如信道程序指定、信道路径标识符、装置编号、装置计数、状态指示之类的信息以及关于路径可用性和待决或在执行的功能的信息。
一个或多个子信道也位于每一个信道128内。每一个子信道是位于信道存储器132内的数据结构,其提供了关于相关联的I/O装置116和其向信道子系统114的附接的信息。子信道也提供关于涉及相关联的I/O装置116的I/O操作和其他功能的信息。子信道是下述部件,通过该部件,信道子系统114向CPU104提供关于相关联的I/O装置116的信息。在一个实施例中,由信道子系统提供的子信道的数量独立于向相关联的I/O装置116的信道路径122的数量。例如,仍然通过单个子信道来表示通过替代的信道路径122可访问的装置116。
每一个控制单元118提供用于操作和控制一个或多个控制单元118的逻辑,并且通过公共工具的使用来将每一个I/O装置116的特性适应于由信道128提供的链路接口。该公共工具提供了I/O操作的执行,关于I/O装置116和控制单元118的状态的指示、通过信道路径122的数据传送的定时的控制和特定等级的I/O装置控制。控制单元118可以被独立地容纳,或者可以在物理上和逻辑上与I/O装置、信道子系统或CPU整合。
在通过引用整体合并在此的下文中进一步描述了I/O处理系统100的上面的部件的一个或多个:“z/ArchitecturePrinciplesofOperation,”PublicationNo.SA22-7832-85,9thEdition,August2010。
I/O操作被描述为涉及在主计算机系统102和I/O装置116之间的数据的传送的任何操作。如在此所述,I/O操作包括在信道子系统114和装置116之间的通信(在一个实施例中,经由控制单元118),其中,从信道子系统114向装置发送单个命令(例如,信道命令字或CCW)、包括多个命令的单个命令消息(例如,传输命令信息单元或传输命令控制块(TCCB))或多个链接的命令(例如,多个CCW)。I/O操作也可以包括由装置116或相关联的控制单元118响应于接收和/或执行命令或链接的命令而产生的一个或多个响应消息。
在一个实施例中,使用装置116通过执行由操作系统110产生的I/O指令来启动I/O操作,该I/O指令指定与装置116相关的子信道。CPU104在主机系统中通过下述方式来执行这样的指令:向信道128或子信道发送参数,以请求信道子系统114在I/O操作中执行各种功能。
例如,CPU104通过下述方式来执行“STARTSUBCHANNEL(启动子信道)”指令:向目标子信道传送参数,该参数用于请求信道子系统114与和该子信道相关联的I/O装置116一起执行启动功能。信道子系统114通过使用包括在STARTSUBCHANNEL指令的执行期间传送的信息的、在子信道处的信息来执行启动功能,以找出到装置116的可访问信道路径,并且一旦已经选择了信道路径则执行I/O操作。
当CPU104执行诸如STARTSUBCHANNEL指令之类的指令时,信道128开始执行I/O操作。在一个实施例中,信道子系统114在用于在信道子系统114和装置116和/或控制单元118之间的通信的高性能FICON(HPF)协议下运行。在通过引用整体合并在此的下文中进一步描述了FICON和HPF:“FibreChannel:Single-ByteCommandCodeSetsMappingProtocol–4(FC-SB-4),”T11Project2122-D,Revision3.00,September22,2009。
在一个实施例中,STARTSUBCHANNEL指令的执行向信道子系统114传送操作请求块(ORB)的内容。ORB指定包括一个或多个命令字(例如,如下进一步描述的信道命令字或传输命令字)的地址的信道程序。存在子信道运行的两种模式。在一个实施例中,主计算机系统102在命令模式中运行,并且以信道命令字(CCW)的形式指定一个或多个命令字。在另一个实施例中,主系统在传输模式中运行,并且以传输命令字(TCW)的形式来指定一个或多个命令字。
当安装FCX(光纤信道扩展)工具时,子信道可以进入传输模式,并且,作为指定TCW信道程序的STARTSUBCHANNEL指令的执行的结果在子信道处设置开始功能。子信道保持在传输模式中,直到在子信道处复位开始功能。在所有其他时间,子信道在命令模式中。
在命令模式中,信道执行CCW信道程序,该程序包括单信道命令字或控制信道操作的特定序列的顺序执行的信道命令字的序列。控制单元通过由I/O装置解码、接受和执行CCW命令来执行CCWI/O操作。被布置来用于顺序执行的一个或多个CCW形成CCW信道程序,并且分别作为一个或多个I/O操作被执行。
光纤信道扩展(FCW)工具是针对由传输控制字(TCW)构成的传输模式信道程序的形成而提供的可选工具,该传输控制字(TCW)指定传输命令控制块(TCCB)和传输状态块(TSB)。TCCB包括传输命令区域(TCA),TCA包含以装置命令字(DCW)形式的一个或多个(例如,多达30)I/O命令的列表。TCW和其TCCB可以指定读取或者写入操作。在一个实施例中,可以在支持传输模式操作的系统中安装FCX双向数据传送工具,如果连接的装置116和控制单元118支持双向数据传送则其允许主计算机系统102指定在单个传输模式I/O操作中的输入和输出数据的传送。当控制单元118识别双向数据传送时,TCW和其TCCB可以根据装置而指定读取和写入数据传送。
在传输模式中,单个传输命令字(TCW)指定在单个消息中发送的TCCB(而不是在命令模式中的分离的单独CCW)在存储器中的位置(以及一个或多个数据区域在主存储器106或108中的位置)。控制单元118通过解码、接受和执行TCCB和其中包含的单独DCW来执行传输模式I/O操作。如果ORB指定TCW信道程序,则信道子系统114使用在指定的TCW中的信息来向控制单元118传送TCCB。在将TCCB传送到控制单元118后,TCCB的内容被信道子系统114忽略,并且仅对于控制单元118和相关联的I/O装置116有意义。
在一个示例性实施例中,控制单元118响应于执行信道程序而产生响应消息。控制单元118也可以在有限数量的通信场景下,在未执行信道程序的情况下产生响应消息,以例如向信道子系统114通知将不执行信道程序。控制单元118可以包括用于支持在I/O通信适配器和I/O装置之间的通信以及支持信道程序执行的多个元件。例如,控制单元118可以除了一个或多个队列、定时器和寄存器之外进一步包括用于语法分析和处理消息的控制逻辑,以促进通信和状态监控。
图2图示传输控制字(TCW)140的实施例,传输控制字(TCW)140被存储在主系统(例如,主存储器106)中,并且指定要从信道128向控制单元118传送的至少一个控制块。在一个实施例中,控制块是传输命令控制块(TCCB),其内容要被传输到控制单元118和I/O装置116以进行处理。当TCW140指定TCCB时,TCCB包括指定一个或多个装置命令字(DCW)和相关联的选项的TCA。对于指定启动数据的传送的命令的DCW(除了在TCCB中包含的控制数据之外),TCW140指定数据所位于的一个或多个存储区域。
在一个实施例中,TCA包括被提供来除了可以在TCCB中容纳的那些之外进一步传送另外的DCW和/或控制数据的传送TCA扩展(TTE)命令。TTE向控制单元(包括至少一个DCW)传送TCA扩展(TCAX),并且被认为是通过例如下述方式与其相关联的TCA的逻辑扩展:将TCCB的最后的DCW链接到TTE的第一DCW。
再一次参见图2,并且,TCW140的实施例是在64字节边界上指定的64字节控制块。TCW包括下述的各个字段。
例如,多个标记字段142指示是否直接或间接数据寻址被用于定位输入数据、输出数据或TCCB。输出传输间接数据寻址(TIDA)字段指示是否直接地或间接地寻址输出数据。例如,当TCW140的字0的比特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指定用于指定TCCB的一个或多个位置的TIDAW或TIDAL的绝对地址。
TCW140还包括传输命令控制块长度(TCCBL)字段150,其指定TCCB在字节上的长度。例如,TCCBL字段包括无符号的整数,其值(例如,当向用于单向数据传送的20添加时或当向用于双向数据传送的24添加时)指定在字节上的TCCB的长度。
读取操作(R)字段152在指示要向主存储器106内传送的字节的数量时不是0(例如,字1的比特14是1)。写入操作(W)字段154在指示要从主存储器传送的字节的数量时不是0(例如,字1的比特15是1)。如果R字段152和W字段154都是1,则识别程序检查条件,除非目标装置116和控制单元118支持双向数据传送。如果W比特是1并且TCW是询问TCW,则识别程序检查条件。
输出数据地址字段144指示要被发送到装置的输出数据在存储器中的位置。例如,当字1的比特15(W字段比特154)是1并且标记字段142的比特7(输出TIDA标记)是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指定用于指定TCCB在绝对存储器中的位置的TIDAW或TCW的列表在绝对存储器中的64比特位置。当TCCB-TIDA比特是1时,TCCB可以被指定为在存储器的不连续区域中驻留。
输出计数字段158指定用于TCW的输出字节的数量。例如,当字1的比特15(W比特)是1时,字10包含用于TCW的输出字节的无符号的整数总数。输入计数字段160指定用于TCW的输入字节的数量。例如,当字1的比特14(R比特)是1时,字11包含用于TCW的输入字节的无符号的整数总数。
如果TCW指定询问操作,则询问TCW地址字段162指示询问TCW在存储器中的位置。例如,当STARTSUBCHANNEL指令指定TCW时,不检查TCW的字15。然而,当STARTSUBCHANNEL指令指定在对于TCW信道程序的开始待决中而不是在状态待决中的子信道时,由STARTSUBCHANNEL指令指定的TCW的字15的比特1-31指定用于启动针对子信道的询问操作的询问TCW在绝对存储器中的31比特位置。如果当发出CANCELSUBCHANNEL(取消子信道)指令时字15包含0,则不启动询问操作。当发出CANCELSUBCHANNEL时,字15的比特0必须是0,否则,识别程序检查条件,并且指示询问失败状态。当发出CANCELSUBCHANNEL并且字15的比特1-31不包含0时,字15的比特1-31必须指定在64字节边界上的存储位置,否则,识别程序检查条件,并且指示询问失败状态。可以保留字14以将询问TCW地址字段扩展为64比特。
参见图3和4,传输命令控制块(TCCB)170包括作为TCWI/O操作的一部分的一个或多个单独的命令,并且被信道128经由信道路径发送到控制单元118和/或装置116。TCCB170免除了信道必须发送多个消息或信息比特,并且还将执行操作的责任传送到控制单元,并且去除了控制单元118发送对于每一个命令的响应的必要。相反,控制单元118可以执行所有的命令,并且在完成操作时发送响应。
TCCB170在长度上可变,可以包含首标和尾部信息以及作为在逻辑上链接(例如,串链)的装置命令字(DCW)的一个或多个(例如,从1至30)命令,使得控制单元118以依序的方式执行它们。TCCB170可以作为连续存储器的单个块驻留,或者可以作为不连续存储器的多个块驻留。例如,在如上所述的TCW140中的TCCB-TIDA标记被用于指定TCCB是否驻留在连续存储器中。
在图3和4中示出TCCB的示例。如图4中所示,可以从信道128向控制单元118发送作为向控制单元118发送以启动I/O操作的传输命令信息单元(IU)172的TCCB170。在一个实施例中,传输命令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完整性错误,则基于L1字段定位LRC在TCCB中的位置,并且可以执行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时,TCA不包括传送写入数据的任何命令。当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是包含作为传输命令字(DCW)202的一个或多个(例如,从1至30)命令。在一个实施例中,TCA180的长度是4字节字的整数。对于指定装置控制数据的DCW202,TCA180还包含与每一个DCW202相关联的控制数据。指定控制数据的每一个DCW202根据命令相关联的数据的大小将最大DCW容量减少一个或多个DCW。对于指定输入或输出数据的DCW202,TCW140字段指定相关联的一个或多个存储区域,并且DCW指定要传送的字节的计数。在一个实施例中,TCA的最大大小是240字节。如图7的实施例中所示,当在TCA180中存在用于整个DCW202的足够的空间时,DCW202在跟随前一个DCW202或与前一个DCW202相关联的控制数据的字边界上开始。当在TCA180中的最后一个DCW202指定不是整数个字的控制数据时,随后的LRC字段184在跟随控制数据的字边界上开始。
对于一些装置,DCW202的列表可能扩展到在TCA180中适配的那些之外。在这样的情况下,可以指定包括另外的DCW的TCA扩展(TCAX)字段,并且将其传送,就好像TCAX是输出数据(例如,作为输出传送数据IU的一部分传送)。然而,将TCAX当作TCA180的逻辑继续,而不是传送数据。通过传送TCA扩展(TTE)DCW来在TCA180中指定TCAX。下面进一步描述TCAX和TTEDCW,并且在图12和13中示出TCAX的实施例。
如图3和4中所示,TCCB可以包括传送命令区域尾部(TCAT)182,其提供包括各种计数信息的关于TCCB的附加信息。在一个实施例中,当指定单向数据传送(例如R比特或W比特被设置为1)或未指定数据传送(在TCW中的R比特和W比特被设置为0)时。TCAT182在长度上为2个字。当指定双向数据传送时(在TCW中的R比特和W比特两者被设置1),TCAT182在长度上是3。
例如,当指定单向数据传送时,传输计数或数据长度(DL)字段186指定要传送的总的数据的32比特的无符号的整数计数(“传输计数值”)。当指定读取操作时(TCWR比特是1),可以通过相加在DCW202中每个指定读取类型命令的计数字段值而确定在TCAT中的传输计数字段中的值。将该和向上四舍五入为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指定要传送的总的输入数据的32比特的无符号的整数计数。如上所述对于读取操作确定用于BDRL字段188的传输计数值。
在一个实施例中,对于写入操作或双向操作,DL字段应当包含4字节的无符号的二进制整数,该整数指定要由信道向控制单元传送以用于操作的字节的数量,并且包括所有中间和最后的填充和CRC字节,并且如果在写入操作的第一传输数据IU中包括COB,它也包括COB、任意的COB填充字节和COBCRC字节。如果在TCA中存在TTEDCW,则DL字段也包括TCAX、任意的TCAX填充字节和TCAXCRC字节。
图8和9分别是汇总TCW输入计数、输出计数和用于单向和双向传送的TCAT传输计数值的确定的表格。
对于双向操作,双向读取数据长度(BRDL)字段包括4字节的无符号的二进制整数,该整数指定要由控制单元向信道传送以用于操作的字节的数量,并且包括如果未在字边界上则到达字边界所需的任何填充字节外加用于CRC的4字节。对于不是双向操作的操作,如果传输命令IU包含BRDL字段,则该装置将识别因为读取写入冲突导致的TCH内容错误。
参见图10,装置命令字(DCW)202指定要执行的命令。对于启动特定I/O操作的命令,它指定要被执行所述操作的字节的计数,每当从向存储器传送或从存储器传送时要采取的行为和其他选项。根据由命令指定的操作,通过指定包括DCW202的TCCB170的TCW140的输入数据地址字段146或输出数据地址字段144来指定与DCW数据传送操作相关联的一个或多个存储区域。通过在TCW140中的输入TIDA和输出TIDA标记来指定输入数据地址字段146或输出数据地址字段144是否直接地或间接地指定存储器。
在一个实施例中,DCW202是在字边界上在TCW140中指定的8字节控制块。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指定的数据(例如,要被传送来用于读取或写入操作的数据,即,客户数据)的字节计数。例如,在图10的DCW202的字1中包括DCW数据计数,并且该DCW数据计数指定由TCW针对该DCW指定的存储区域中的字节的32比特无符号的整数计数。DCW数据计数字段210指示不包括任何填充或CRC字节的、要在DCW的执行期间在信道和控制单元之间传送的字节的数量。
参见图11,在一个实施例中,DCW202包括各种控制标记206。链接命令(CC)标记212指定用于执行命令的链接的意图。在装置处,在当前装置操作的正常完成时和装置尾部的识别后,命令的链接使得执行在TCA180中的下一个DCW202。CC标记212在TCA中的最后DCW中被设置为0。在图10的实施例中,字0的比特9(CC比特)当为1时指定命令的链接。当为1时,该比特使得在当前DCW的正常完成时启动由下一个DCW指定的操作。当控制数据计数是0时,在TCA中或在TCAX中下一个DCW紧随所述DCW。当控制数据计数不是0时,下一个DCW紧随针对DCW指定的、被四舍五入到字边界的控制数据。当链接命令标记是1时,在一个实施例中,通过下述方式来确定在TCA或在TCAX中的下一个DCW位置:向当前DCW的位置加上8以及在CD计数字段中的值,并且向上四舍五入到最近的字边界。如果在TCA中的DCW中链接命令标记是1,并且下一个SLI位置通过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数据计数小于在装置处针对命令可获得的数据量,则针对DCW202仅向信道128传送与DCW数据计数相等的数据量。应该在针对操作所需的CRC的计算中仅包括所传送的数据。
对于写入DCW202,如果DCW数据量大于装置116针对命令所需的数据量,则下面的部分适用。如果CC标记212是1(指示链接),则由DCW数据计数指定的数据量应当被传送到控制单元118。所传送的数据应该被用在针对操作所需的任何CRC的计算中,并且丢弃装置116不需要的数据。如果CC标记是0(不指示链接),则向控制单元118传送由装置116所需的数据量。额外的数据被传送直到下一个中间CRC字,或者直到针对DCW的数据计数穷尽。在针对操作所需的任何CRC的计算中使用所传送的所有数据,如果DCW数据计数小于装置116针对命令所需的数据量,则由DCW数据计数指定的数据量被传送到控制单元118。在针对操作所需的任何CRC的计算中使用所传送的数据。
对于其中DCW数据计数大于装置116针对命令所需的数据量并且CC标记212是0(不指示链接)的写入DCW202,传送由装置116所需的数据量。数据然后继续被传送,直到指定插入下一个CBC,或者直到要传送的总量等于DCW数据计数。在图12中示出示例性命令代码,图12图示了6个TCW命令,并且指示针对每一个命令限定了哪些标记。传输命令DCW是一种类型的DCW,其未指定特定的数据传送命令(即,被主计算机指令请求传送的客户数据),而是指定传输命令,该传输命令执行与传输模式I/O操作相关联的支持功能。传输命令DCW可以指定控制数据,并且还可以指定传输命令元数据信息(TCMI)的传送。TCMI包括用于控制在I/O操作中的传送功能的数据,例如,在装置处的I/O操作的状态、关于不适配或可以被当前的TCCB容纳的额外的DCW的信息、以及诸如循环冗余校验(CRC)数据之类的控制块检查(CBC)信息。
当传输命令DCW指定向装置的TCMI的传送时,在作为输出数据的数据块或字中(例如,在传输数据IU中)传送TCMI。TCMI的大小是命令相关的,并且例如是4的倍数。当TCMI的大小是4的偶数倍时,可以将TCMI扩展4个保留字节。TIDAW用于指定输出存储区域,插入CBC标记在最后的TIDAW中为1,用于指定包含TCMI的存储器,链接命令比特在指定TCMI的传输命令DCW中为1,并且随后的DCW指定TCMI或输出数据的传送。注意,当传输命令指定向装置的TCMI的传送并且因为满足所有的先前条件而通过4个保留字节来扩展TCMI时,该4个保留字节不被包括在传输命令DCW中的数据计数值中,而是被包括在下面的部分中:在用于指定包含TCMI的存储器的最后的TIDAW中的计数值;在TCW中的输出计数值;以及在相关联的TCCB中的传输计数值(用于单向数据传送,或在用于双向传送的相关联的TCCB中的写入计数值)。
例如,用于其中TCW140未指定间接寻址(在TCW标记字段142中的TCW输出TIDA字段是0)的输出操作(TCW写入比特154是1,并且TCW读取比特152是0)的数据计数被确定如下。TCW输出计数158是在TCCB172的TCA170中的每个DCW202中的DCW数据计数210的和。TCAT182传输计数(例如,DL字段186)是在TCA170中的每个DCW202中的DCW数据计数210值的和,并且被四舍五入为4,然后外加4。在一个实施例中,该计数值被四舍五入为4以顾及已经向最后的DCW添加的任何填充字节,使得最后的DCW具有4字节长度,并且在字边界处结束。4的加法用于顾及向最后的DCW(例如,LRC184)的结尾添加的四字节CBC字。
在另一个示例中,用于其中TCW140指定间接寻址(在TCW标记字段142中的TCW输出TIDA字段是0)的输出操作的数据计数(TCW写入比特154是1,并且TCW读取比特152是0)被确定如下。TCW输出计数158是在TCA170中的每个DCW202中的DCW数据计数210与任何TCMI数据块(例如,TCAX220)的长度的和,外加任意的TCMI保留字节的大小,外加由TIDAW指定的任意CBC字和填充字节的总和。可以从在指定TCMI的DCW中的DCW计数210值获取TCMI长度。TCAT182传输计数(例如,DL字段186)是DCW数据计数210与任意TCMI数据块的长度的和,外加任意TCMI保留字节的大小以及任意TIDAW指定的CBC字和填充字节的总和,被四舍五入为4,并且外加4。在一个实施例中,该计数值被四舍五入为4以顾及任意最后填充的字节,并且被加4以顾及最后的CBC,如上所述。
在另一个示例中,用于其中TCW140未指定间接寻址(在TCW标记字段142中的TCW输出TIDA字段是0)的双向操作的数据计数(TCW写入比特154是1,并且TCW读取比特152是1)被确定如下。TCW输出计数158是在TCA170中的每个写入DCW202中的DCW数据计数210与任意TCMI数据块(例如,TCAX220)的长度的和。可以从在指定TCMI的DCW中的DCW计数210值获取TCMI长度。TCAT182传输计数(例如,DL字段186)是写入DCW数据计数210值与任意TCMI数据块的长度的和,被四舍五入为4,并且外加4。在一个实施例中,该计数值被四舍五入为4以顾及任意最后填充的字节,并且被加4以顾及最后的CBC,如上所述。
在另一个示例中,用于其中TCW140指定间接寻址的双向操作的数据计数被确定如下。TCW输出计数158是在TCA170中的每个写入DCW202中的写入DCW数据计数210与任意TCMI数据块(例如,TCAX220)的长度的和,外加任意TCMI保留字节的大小,外加由TIDAW指定的任意CBC字和填充字节的总和。可以从在指定TCMI的DCW中的DCW计数210值获取TCMI长度。TCAT182传输计数(例如,DL字段186)是写入DCW数据计数210值和任意TCMI数据块的长度的和,外加任意TCMI保留字节的大小以及任意TIDAW指定的CBC字和填充字节的总和,被四舍五入到4,外加4。在一个实施例中,该计数值被四舍五入到4以顾及任何最后填充的字节,并且被加4以顾及最后的CBC,如上所述。
在一个实施例中,TCMI包括询问信息(经由询问DCW)、CBC偏移块(经由传送CBC偏移块DCW)和TCA扩展(经由传送TCA扩展DCW)。
图13图示了由一种类型的传输命令DCW指定的数据的实施例,该命令被称为传送TCA扩展(TTE)命令,其被包括在TCCB170的TCA180中,并且指定要被传送到控制单元118的TCA扩展(TCAX)220。TCAX被认为是TCA180的逻辑扩展。对于一些装置116,与I/O操作相关联的DCW202的列表超过可以在TCA180中容纳的DCW的数量。在这样的情况下,可以在TCW140的尾部包括TTEDCW,其指定作为输出数据(例如,在数据传输IU中)传送的TCAX220。TTEDCW的内容可以包括命令代码,其包括传送TCA扩展命令(例如,十六进制50的值)。
例如,TCA180在长度上可变,并且具有最大大小240,并且DCW是8字节。因此,在这个示例中,可以在TCCB170中发送最大30个DCW。然而,对于指定需要控制数据的控制命令的DCW202,控制数据紧随在TCCB中的每个DCW202。因此,包含这样的命令的TCCB170被限于小于30个DCW。TTEDCW可以用于指定不适配在TCA180中的I/O操作所需的额外的DCW。
如图13中所示,TCA扩展(TCAX)是可变长度区域,它是在另一个传输命令IU或TCCB中的TCA180的逻辑延续,并且包括DCW的列表和相关联的控制数据。TCAX包含用于TCWI/O操作的一个或多个额外的DCW和相关联的控制数据(除了在初始TCCB中传送的那些之外),并且可以在另一个TCCB中或在传输数据IU中被发送以扩展I/O操作所需的DCW的列表。在一个实施例中,TCAX的长度是4的整数倍。
如图13中所示,在一个实施例中,TCAX220包括DCW202和/或用于前一个DCW202的控制数据。当在TCAX220中的最后信息是DCW202时,那个DCW202的结尾限定TCAX220中的有意义信息的结尾。当在TCAX220中的最后信息是控制数据并且该控制数据在4字节边界上结束时,控制数据的结尾限定TCAX220中的有意义信息的结尾。当在TCAX220中的最后信息是控制数据并且该控制数据未在4字节边界上结束时,向控制数据附加填充字节以达到4字节边界,并且填充字节的结尾限定TCAX220中的有意义信息的结尾。当在TCAX220中的有意义信息的大小除以4是奇数时,没有保留的字节;否则,在TCAX220中紧随有意义信息的4个字节被保留,并且应当包含0。当在TCAX220中包含用于TCA180中的DCW202的控制数据时,那个控制数据是在TCAX220中的第一数据。如针对TCA180限定那样处理在TCAX220中的额外的DCW和控制数据。
在一个实施例中,当在TCA180中不存在TCOBDCW(如下进一步所述)时,TTEDCW是在TCA180中的第一DCW202。当在TCA180中存在TCOBDCW时,TTEDCW是在TCA180中的第二DCW202。TTEDCW数据计数指定TCAX220的长度,并且可以是4字节的整数倍。TTEDCW控制数据计数是0,并且在TTEDCW中的链接命令标记被设置为1。TTEDCW数据不包括TCAXCRC或TCAX填充字节。
TTE命令(TTEDCW)应当被发送到指示对TTE命令的支持的装置,并且当TCA长度具有特定最大值(例如,60字)并且用于在TCA中的最后的DCW的控制数据扩展到在TCA中的最后字节之外时,或者当TCA长度大于例如58字并且针对I/O操作需要一个或多个额外的DCW时被发送。当在写入传输数据IU中提供COB时,TCAX将跟随COBCRC。当未提供COB时,应当在I/O操作的第一写入传输数据IU中发送TCAX。
另一种类型的DCW是传送CBC偏移块(TCOB)DCW,它是向控制单元传送CBC偏移块(COB)的命令。CBC数据指的是控制块检查数据,其用于验证在I/O操作中正在传送的输入或输出数据的正确的数量。在一个实施例中,CBC数据是循环冗余校验(CRC)数据,COB是CRC偏移块,并且TCOBDCW是传送CRC偏移块DCW。通常,循环冗余校验(CRC)是检错代码,其被配置来检测对于正在信道128和控制单元118之间发送的原数据的意外变化。CRC使能的装置(例如,信道128)计算用于要发送或存储的每一个数据块的短的、固定长度二进制序列,并且将其附接到数据,形成代码字或“CRC字”。例如,当提供CRC产生时,信道128在所发送的数据上产生CRC,并且在最后的数据字节的尾部处插入所计算的值。当接收或读取CRC字时,接收装置(例如,控制单元118)或者将其校验值与从数据块新计算的校验值作比较,或等同地,对于整个代码字执行CRC,并且将结果产生的校验值与预期的剩余常数作比较。如果校验值不匹配,则该块在传送数据中包含错误。虽然这里在实施例中将CBC数据描述为CRC数据,但是本发明不限于此。
示例性TCOBDCW指定向装置传输COB。该示例性TCOB具有命令代码,该命令代码包含传送CRC偏移块命令(例如,十六进制60的值)。链接命令标记是1。当TCOBDCW的CD计数208不是0时,COB紧随TCA180中的TCOBDCW,并且CD计数208指定在COB中的CRC偏移的数量乘以4。当CD计数208是0时,将COB指定为在输出数据中的TCMI,通过在TCW中的输出数据地址字段146来指定COB的位置,并且计数字段指定在COB中的CRC偏移的数量乘以4。
如图14中所示,COB222指定在用于写入或读取数据传送的传输数据(例如,在传输数据IU中)内的中间CRC字的位置。在一个实施例中,当在TCA180中的第一DCW202包含TCOB命令(即,是TCOBDCW)时提供COB。中间CRC偏移是位于在数据传送IU中的数据之间并且位于IU的结尾之前的CRC字。COB222包含1字值的列表,该1字值被称为CRC偏移224,其中每一个标识在传送数据中的每一个中间CRC字的字节偏移。例如,COB是可变长度控制块,其包括4字节条目的列表,其中每一个标识由TIDAW指定的、要在输出数据中插入的CRC的偏移。
在图14中所示的实施例中,COB222包括中间CRC偏移的1至N+1个字(CRC偏移字224)。如果在传输数据IU中提供COB222,则COB也可以包括填充字节的0或1个字和CRC的1个字。填充字节可以被提供使得包含CRC的字在未在双字边界上的字边界上。COB的最后一个字将包含覆盖中间CRC偏移0至N的CRC和填充字——如果存在的话。如果COB被提供为用于TCOBDCW的控制数据,则将没有COB填充或CRC,并且控制数据计数将等于在COB中的中间CRC偏移字段的数量的4倍。
对于写入操作,TCOBDCW指定向装置116传输COB。TCOBDCW命令代码包括作为例如十六进制60的值的TCOB命令。COB的位置被控制数据计数确定,并且可以被提供在I/O操作的第一写入传输数据IU中或作为跟随I/O的TCOBDCW的控制数据被提供。例如,当TCOBDCW的CD计数不是0时,COB222紧随TCA180中的TCOBDCW,并且CD计数指定在COB中的CRC的数量乘以4。当CD计数是0时,将COB222指定为与输出数据一起传送的TCMI,并且通过在TCW140中的输出数据地址字段144来指定COB的位置。
在COB222中的每一个中间CRC偏移224指示相对于传输数据IU中的数据的第一字节的、以字节计的相对偏移。如果在传输数据IU中提供了COB222,则用于写入传送的数据的第一字节是跟随COBCRC的第一字节(如果TCAX220未被提供)或者是跟随TCAXCRC的第一字节(如果提供了TCAX)。如果在TCA180中提供了COB作为DCW控制数据,则用于写入传送的数据的第一字节是在传输数据IU中的第一字节(如果未提供TCAX220)或者是跟随TCAXCRC的第一字节(如果提供了TCAX220)。当在传输数据IU中被提供时,COB被提供在I/O操作的第一写入传输数据IU中。
另一类型的传输命令DCW是用于确定在装置116处的TCWI/O操作的状态的询问DCW。询问命令不启动在装置116处的操作,不影响装置116的状态,并且不复位与装置116相关联的忠诚(allegiance)和相关联的逻辑路径。示例性询问DCW包括询问命令代码(例如,包含十六进制40的值)。除了命令代码、SLI标记、计数和CD计数字段之外,在DCW中的所有其他字段应当包含0,否则包含装置检测的程序检查条件。如果询问DCW的CD计数大于0,则指定询问数据。
在具有在进行的TCWI/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)执行指令(例如,STARTSUBCHANNEL),该指令使得ORB被传送到信道子系统114,其指定TCW140。在一个实施例中,通过信道子系统114检查与对于捕获状态和传送指定的TCCB170特定的TCW字段的有效性相关的程序检查条件,以确定是否向I/O装置116传输TCCB170。如果这样的程序检查条件存在,则不传输TCCB170,并且识别程序检查条件。例如,检查TCCB地址字段148,其指定可用的存储位置。如果TCCB-TIDA标记是1,则TCCB地址字段148也被检查,其指定在四倍字边界上的地址。在另一个示例中,如果要传送的输出数据(例如,用于在TCA和/或TCAX中的每一个DCW的数据,外加在任意TCCB数据块中的保留区域的大小和任意TIDA指定CBC以及填充字节)的数量的和不等于在TCW输出计数字段158中的值,则识别程序检查条件。下面进一步描述另外的程序检查条件。
在阶段302中,当信道128向选择的装置116传送包括诸如传输命令控制块(TCCB)170之类的控制块和用于TCW14-0的相关联的控制信息的传输数据IU172时,使用I/O装置(经由例如控制单元118)来启动TCWI/O操作。在一个实施例中,作为信息单元(IU),在信道128和控制单元118之间传送与I/O操作的执行和装置的操作相关联的信息(例如,命令、输入数据和输出数据)。在一个实施例中,IU具有SB-4信息单元(IU)的形式。
在一个实施例中,经由一个或多个交换在信道和控制单元之间发送IU或其他消息。对于所有的SB-4链路控制功能并且对于在命令模式中执行的所有SB-4装置级功能,需要由两个单向交换构成的交换对,一个被信道128使用来发送IU,并且一个被控制单元118使用来发送IU。被称为传输交换的单个双向交换用于在传输模式中执行的装置级功能。信道128在命令模式中在SB-4链路控制功能的执行或SB-4装置级功能的执行期间发送的IU被限制为一个交换,并且信道在操作期间接收的IU被限于一个不同的交换。其上信道128发送IU的交换被称为向外的交换,并且其上信道128接收IU的交换被称为向内的交换。当向外的交换和向内的交换两者同时存在于信道128和控制单元118之间以用于执行相同的链路级或装置级功能时,称为存在交换对,并且控制单元118被称为连接到信道128。在单个连接中执行的信道程序仅使用一个交换对。如果通过在信道程序期间关闭交换来去除连接,则产生新的交换对,以完成信道程序。信道128可以通过发送作为未经请求的命令或未经请求的控制信息类别的、打开新的交换的IU(或启动IU)来启动交换对。控制单元118可以通过发送作为未经请求的控制或未经请求的数据信息类别的启动IU来启动交换对。
信道和控制单元当在传输模式中执行的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中的L1字段外加8应当指定与由控制单元针对传输命令IU接收的数据量相同的数据量,否则,应当识别因为数据计数错误导致的传输数据IU完整性错误。
b)对于支持双向操作的控制单元,在TCH中的L1字段外加8或9应当指定与由控制单元针对传输命令IU接收的数据量相同的数据量,否则,将识别因为数据计数错误导致的传输数据IU完整性错误;以及
c)在TCCB中的LRC字段应当是有效的,否则,将识别因为无效的LRC错误导致的传输命令IU完整性错误。
2)应当建立指定的逻辑路径,否则,应当识别逻辑路径未建立错误;
3)对于要求装置被安装和准备好的那些命令,装置地址应当指定被安装和准备好的装置,否则,应当识别地址异常条件;
4)如果控制单元不支持双向数据传送或传输命令IU不包含BRDL字段,则R和W比特不应该TCH中均被设置为1,否则将识别TCH内容错误;
5)在传输命令IU中的TCCB应当满足全部下面的条件,否则,将识别TCCB内容错误:
a)L2字段应当指定比L1字段精确地大8字节的长度,并且包含至少20字节并且不大于252字节的值。
b)TCAH的字0的字节1应当是0;
c)在TCAH中的格式控制字段应当等于十六进制‘7F’;
d)在TCAH中的服务行为代码应当包含有效值(参见8.13.4.4);
e)如果R和W比特都被设置为0,则数据长度(DL)字段应当是0;以及
6)如果针对在传输命令IU中指定的逻辑路径和装置地址,另一个TCWI/O操作在进行中,则服务行为代码将指定十六进制‘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可以被认为位于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中的DCW202的处理期间,经由一个或多个传输数据IU在信道128和控制单元118之间发送被请求经由I/O操作传送的数据。读取操作仅执行读取数据传送,写入操作仅执行写入数据传送,并且双向操作可以执行读取和写入数据传送。
参见图16,对于写入或双向操作,信道128向控制单元118发送一个或多个传输数据IU310以传送写入数据312来用于操作。对于读取或双向操作,控制单元118向信道128发送至少一个传输数据IU314以传送针对该操作指定的读取数据316。当要覆盖的数据区域不是整数个数据字时,填充字节318可以包含在要计算CRC的数据区域的最后一个字中,并且用于将数据区域填充到下一个字边界。这适用于要被COB、中间和最后CRC覆盖的数据区域。用于填充字节的值是模型相关的。
当传输数据IU是由信道128或控制单元118发送来用于TCWI/O操作的最后传输数据IU时,在传输数据IU310、314中包括最后的CRC字段320。在一个实施例中,最后的CRC字段320包括字对齐的32比特冗余校验代码。对于读取或写入操作,在TCCB170中的DL字段指定要在操作期间传送的数据量,其可以包括所有所需的填充和CRC字节。对于双向操作,在TCCB170中的DL字段指定要针对操作的写入数据传送部分传送的数据量,并且BRDL字段指定要针对操作的读取数据传送部分传送的数据量。这些数量可以包括所有所需的填充和CRC字节。
在写入数据传送期间,在与TCWI/O操作相关联的传输交换上,在一个或多个传输数据IU310中向控制单元118传送数据。在一个实施例中,除了操作的第一写入传输数据IU310之外,信道128在发送每一个传输数据IU310之前要求来自控制单元118的传送就绪IU。控制单元118可以通过发送另外的传送就绪IU来请求额外的数据,直到它已经请求了由TCCB170的DL字段186针对写入操作指定的所有数据。对于写入操作,在完成由TCCB中的DL字段指定的数据传送后由控制单元118发送的下一个IU是传输响应IU。对于双向操作,在完成由在TCCB中的DL字段指定的数据传送后由控制单元118发送的下一个IU可以是传输数据IU或传输响应IU。
在读取数据传送期间,在与TCWI/O操作相关联的传输交换上,在一个或多个传输数据IU314中向信道128传送数据。在每个传输数据IU中发送的数据量由控制单元118确定,并且可以被设置为任何值,只要在用于操作的所有传输数据IU314中传送的总的数据量不超过在DL字段186中的值,或者对于双向操作,不超过在BRDL字段188中的值。对于读取操作,如果由控制单元发送的数据量小于在TCCB中的DL字段,则在传输响应IU中的DL剩余计数应当是在由CU发送的数据量和在TCCB中的DL字段之间的差。如果由控制单元在传输响应IU中提供的剩余计数不匹配在DL和由信道实际上接收的字节数量之间的差,则信道识别装置级协议错误。对于双向操作,如果由控制单元发送的数据的数量小于在TCCB中的BRDL字段,则在传输响应IU中的BRDL剩余计数应当是在由CU发送的数据的数量和在TCCB中的BRDL字段之间的差。如果由控制单元在传输响应IU中提供的剩余计数不匹配在BRDL和由信道实际上接收到的字节的数量之间的差,则信道识别装置级协议错误。
如图16中所示,可以在由信道128发送的传输数据IU310中存在一个或多个中间CRC字320。中间CRC320字在由TCA180指定的整个数据区域的发送之前提供数据区域的CRC检查。当在传输数据IU中传送COB222时,可以在传输数据IU310中存在COBCRC字322。
再一次参见图15,在阶段305中,通过信道128或控制单元118来结束TCWI/O操作。作为异常条件或程序启动的结束的结果,信道128可以启动TIDAWI/O操作的结束。作为操作的执行的完成的结果或作为在命令的执行期间检测的异常条件的结果,控制单元118可以启动操作的结束。控制单元118可以通过下述方式来启动TCWI/O操作的结束:发送传输响应IU,或在特定错误的情况下,中止交换。在一个实施例中,控制单元118可以在下面的情况的任何一种下启动TCWI/O操作的结束:已经执行了在TCA180(和TCAX——如果指定的话)中的所有DCW202;当支持DCW错误长度工具并且SLI标记214被设置为0时已经针对DCW检测到错误长度条件;已经检测了单元检查条件;诸如传送错误之类的异常条件;或者识别了需要中止交换的另一个错误。
参见图17,在一个实施例中,当结束由STARTSUBCHANNEL的执行启动的I/O操作或I/O操作的序列时,信道子系统和装置产生状态条件。这些条件的产生可以通过I/O中断或通过TESTPENDINGINTERRUPTION(测试待决中断)指令的执行得到程序的关注。以子信道状态字(SCSW)400的形式将状态条件以及用于指示操作序列的程度的地址和计数提供到程序。在TESTSUBCHANNEL(测试子信道)指令的执行期间,SCSW400被存储在中断响应块(IRB)402中。当存储传输模式IRB时,还在传输状态块中存储用于描述操作的状态的额外的信息。
通常,执行I/O操作,直到装置信令主中断状态。可以在I/O操作的启动期间或之后信令主中断状态。可以通过下述方式来结束I/O操作:当信道子系统检测到设备故障、程序检查、链接检查、保护检测或错误长度条件时执行清除或停止功能,或者分别作为CLEARSUBCHANNEL(清除子信道)、HALTSUBCHANNEL(停止子信道)或RESETCHANNELPATH(复位信道路径)指令的执行的结果执行清除、停止或信道路径复位功能。I/O中断向CPU提供了响应于在I/O装置或子信道处出现的条件而改变其状态的手段。这些条件可以被程序、被信道子系统或被在装置处的外部事件引起。
使得启动针对I/O中断的请求的条件被称为I/O中断条件。当信道子系统识别中断条件时,在适当的子信道处指示该条件。因此,将子信道称为状态待决。子信道变得状态待决使得信道子系统产生I/O中断请求。I/O中断请求保持待决,直到它被CPU在配置上接受,被信道子系统撤回,或者通过TESTPENDINGINTERRUPTION(测试待决中断)、TESTSUBCHANNEL(测试子信道)或者CLEARSUBCHANNEL(清除子信道)的指令或者通过子信道复位被清除。当CPU接受中断请求并且存储相关联的中断代码时,清除中断请求。当通过TESTPENDINGINTERRUPTION(测试待决中断)的执行清除待决中断时,子信道保持状态待决,直到当执行TESTSUBCHANNEL(测试子信道)或者CLEARSUBCHANNEL(清除子信道)时或当复位子信道时清除相关联的中断条件为止。
通常通过TESTSUBCHANNEL(测试子信道)指令的执行来清除I/O中断条件。如果执行TESTSUBCHANNEL(测试子信道),指定具有I/O中断请求待决的子信道,则清除在子信道处的中断请求和中断条件。中断请求和中断条件也可以被CLEARSUBCHANNEL(清除子信道)清除。如果子信道当前开始待决并且如果状态单独包含装置结束或伴随控制单元结束,则由I/O装置产生并在开始功能的最后I/O操作的结束后提供的装置结束状态条件在子信道处被信道子系统复位,而不产生I/O中断条件或I/O中断请求。如果任意状态比特伴随装置结束状态比特,则信道子系统产生I/O中断请求,并且指示推迟的条件代码1。当因为由信道子系统在命令启动序列期间检测到的异常条件而结束I/O操作时,在子信道处布置用于描述中断条件的状态,使得它变得状态待决。如果装置检测到异常条件,则相关联的SCSW的装置状态字段标识该条件。当命令链接出现时,由装置产生的状态不引起中断,并且不使得程序可获得该状态。
当信道子系统检测到下面的中断条件的任何一个时,它启动针对I/O中断的请求,而不必然与装置进行通信或已经从装置接收到状态字节:
1)与通过STARTSUBCHANNEL的先前执行传送到子信道的ORB的内容相关联的编程错误;
2)在获取的第一CCW中被设置为1的暂停标记,其启动用于STARTSUBCHANNEL或RESUMESUBCHANNEL(恢复子信道)的CCW信道程序执行,并且抑制在命令模式ORB中未指定的暂停中断;或者
3)与firstCCW、TCW、TIDAW、TCCBfetch、datafetch、IDAW或MIDAW相关联的编程错误。
除了暂停条件之外的来自子信道的这些中断条件可以由其他子信道状态指示伴随,但是,装置状态指示全部被存储为0。
当向被禁用的子信道提供包含单元检查的状态时或当装置不与任何子信道相关联时,信道子系统向装置发出清除信号。然而,如果所提供的状态不包含单位检查,则该状态被信道子系统接受并且被丢弃,而不使得子信道变为状态待决。
子信道状态字(SCSW)400向程序提供用于描述子信道和其相关联的装置的状态的指示。当存储传输模式IRB402时,还可以在与操作相关联的传输状态块中存储用于描述操作的状态和相关联的装置的附加信息。如果暂停、恢复或开始功能的执行已经出现,则SCSW可以描述操作结束的条件。
在一个实施例中,当执行TESTSUBCHANNEL(测试子信道)并且指定的子信道可操作时,存储SCSW。将SCSW布置在被指定为TESTSUBCHANNEL操作数的IRB的字0-2中。当执行STORESUBCHANNEL(存储子信道)时,在子信道信息块的字7-9中存储SCSW。
SCSW包括各种字段,诸如推迟的条件代码(CC)。推迟的条件代码如果不是0则用于指示是否已经遇到了在子信道开始待决或被暂停的同时阻止子信道变得子信道和装置活动的条件。在一个实施例中,当设置推迟条件代码1,辅助状态比特是1,并且主状态比特是0时,存在的状态可以与由在最近执行的STARTSUBCHANNEL之前的STARTSUBCHANNEL指令指定(或被RESUMESUBCHANNEL(恢复子信道)指令暗示)的命令模式信道程序相关,并且那个最近执行的STARTSUBCHANNEL指定了传输模式信道程序。对于这样的情况,状态修改符也可以在装置状态字段中为1。
子信道状态字段被包括在SCSW400中,并且用于指示信道子系统的子信道状态条件。例如,子信道状态字段被包含在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)。当子信道状态字段指示程序检查、接口控制检查、信道子系统重试失败、保护检查、数据检查或信道控制检查时,该字段可以包含额外的信息。在图18A-18B中示出示例性SESQ值和它们的相关联的含义。
图19-20图示了可以被控制单元118发送的示例性传输响应IU330。传输响应IU330提供了用于TCWI/O操作的状态,其可以包括正常结束状态,或者当已经检测到异常条件时,用于TCWI/O操作的状态可以包括指示操作的异常终止的起因的终止状态。传输响应IU330也包括扩展状态字段,该字段提供了操作的进一步的状态。传输响应IU可以或可以不关闭传输交换。在一个实施例中,在FC-FS-3首标中指示了是否已经由传输响应IU关闭了交换。如果传输响应IU还没有关闭传输交换,则信道可以在接收到传输响应IU后发送关闭交换的传输确认IU。
在一个实施例中,传输响应IU330包括SB-4首标332,其后跟随状态字段334、状态LRC344和包含从例如32至64字节的可选的扩展状态字段346。当提供扩展状态时,4字节的扩展状态LRC字段340可以被提供为传输响应IU330的最后一个字。如果扩展状态字节的数量不在字边界上,则向扩展状态加上填充字节以四舍五入到下一个字边界。SB-4首标332具有与传输命令IU类似的格式,并且被设置为等于在针对这个交换的传输命令IU中的SB-4首标。
参见图20,状态区域334的一个实施例是例如20字节,并且包含关于TCWI/O操作的信息。“状态标记1”字段336包括由控制单元118设置来报告在TCWI/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的错误长度条件而终止TCWI/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时,向信道发送的最后的传输数据IU包括用于在TCWI/O操作期间向信道传送的所有读取数据的CRC。如果在TCA中写入DCW在错误长度读取DCW之前,则用于那些写入DCW的数据应当已经被控制单元接收,并且应当已经对于数据执行了CRC检查。用于在TCA中跟随错误长度读取DCW的写入DCW的数据应当在必要时被传送到控制单元,以获得用于写入数据的CRC,并且执行CRC检查。
无论信道和控制单元是否支持错误长度工具,询问命令、传送CRC偏移命令或TTE命令不识别错误长度条件。
传输响应IU330也可以包括数据长度剩余计数(DLRC)字段340。对于写入和双向操作,DL剩余计数是32比特的、无符号的二进制整数,其指定在传输命令IU中的DL字段和从信道实际上接收的字节的数量之间的差。对于读取操作,DL剩余计数是32比特的、无符号的二进制整数,其指定在传输命令IU中的DL字段和实际上向信道发送的字节的数量之间的差。
对于双向操作,也可以在传输响应IU330中包括BRDL剩余计数字段342。对于双向操作,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(当在状态标记1字段中指示异常代码4时提供);
2–检测到无效CRC:在接收数据上检测到无效CRC(当在状态标记1字段中指示异常代码4时提供);
3–错误TCCB长度指定(当在状态标记1字段中指示异常代码5时提供);
4–TCAH指定错误(当在状态标记1字段中指示异常代码5时提供);
5–DCW指定错误:关于由在扩展状态中的DCW偏移字段中指定的DCW存在错误(当在状态标记1字段中指示异常代码5时提供)。
6–传送方向指定错误:由在扩展状态中的DCW偏移字段指定的DCW指定的命令指定与在TCH中指定的传送方向不一致的数据传送的方向,或者R和W比特都在TCH中被设置为1,并且控制单元不支持双向数据传送(当在状态标记1字段中指示异常代码5时提供);
7–传输计数指定误差(当在状态标记1字段中指示异常代码5时提供);
8–两个I/O操作活动:在I/O操作在装置处活动的同时,已经向装置传输第二非询问TCCB以执行。RCQ字段没有含义。当在状态标记1字段中指示异常代码4时提供该原因代码。
9–在CRC偏移块中的一个或多个条目指示中间CRC不在适合于装置和或被执行的命令的位置处,当在状态标记1字段中指示异常代码4时提供。
扩展状态也可以提供原因代码描述符(RCQ),该RCQ提供与针对I/O异常的一个或多个原因有关的附加信息。不同的原因代码描述符类型可以用于不同类型的错误,诸如TCCB完整性错误、输出数据CRC错误、错误的TCCB长度指定、TCAH指定错误和DCW指定错误。用于TCCB完整性错误的示例性RCQ包括:
0–无附加信息
1–接收计数错误–针对传输数据IU产生的数据量不等于针对不支持双向操作的控制单元的TCH中由L1字段指定的数据量加上8,或者不等于针对支持双向操作的控制单元的L1字段指定的数量加上的8或9。
2–LRC错误–在传输命令IU上的LRC无效。
用于DCW指定错误的示例性RCQ包括:
1–保留字段指定错误:在要求包含0的DCW中的保留字段包含非0值;
2–标记字段命令-链接指定错误:命令链接比特是1,并且下一个DCW的偏移使得下一个DCW的全部或一部分扩展通过TCA的结尾,或者,命令链接比特是0并且在TCA中剩余超过3个未使用的字节;
3–控制数据计数指定错误:CD计数指定通过TCA的结尾的控制数据;
4–TCOBDCW位置错误:第一TCOBDCW不是TCA中的第一DCW;
5–TCOBDCW复制错误:在TCA中指定多个TCOBDCW;
6–TCOBDCW多计数指定错误:CD计数和DCW数据计数都是0或者不是0;
7–TCOBDCW方向错误:在TCA中指定TCOBDCW,并且在TCH中的W比特是0;
8–TCOBDCW链接错误:在TCOBDCW中的链命令比特是0,即,TCOBDCW仅是在TCA中的DCW;
9–TCOB计数指定错误:TCOBDCW具有非零CD计数或不是4的倍数的数据计数;
10–TTEDCW位置错误:不指定TCOBDCW,并且遇到不是TCA中的第一DCW的TTEDCW,或者指定TCOBDCW,并且遇到的第一TTEDCW不是TCA中的第二DCW;
11–TTEDCW复制错误:在TCA中遇到多个TTEDCW;
12–TTEDCWCD计数指定错误:在TTEDCW中的控制数据计数指定不是0的值;
13–TTEDCW数据计数指定错误:在TTEDCW中的数据计数指定小于8的值或不是4的倍数的值;
14–TTEDCW方向错误:指定TTEDCW,并且在TCH中的W比特是0;
15–TTEDCW链接错误:在TTEDCW中的链命令比特是0;以及
16–TCAX指定错误:指定TTEDCW,并且下面的任何一个成立:
TCA的长度是58个字或更小;或者,
TCA的长度是59个字,在TCA中的最后一个DCW指定控制数据,并且控制数据的长度延伸超过59个字;或者,
TCA的长度是最大60个字的长度,并且在TCA中的最后一个字包含DCW的第一字。
用于传送方向指定错误的示例性RCQ包括:
1–读取方向指定错误:DCW指定输入操作,并且在TCH中的R比特是0;
2–写入方向指定错误:DCW指定输出操作,并且在TCH中的W比特是0。注意–当指定TCOB或TTEDCW,并且在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填充字节和COBCRC字节。如果在TCA中存在TTEDCW,则该计数也包括TCAX和TCAXCRC字节。
当信道子系统检测到编程错误时,发生程序检查。对于传输模式操作,也可以通过装置116来检测编程错误,并且将该编程错误作为程序检查进行报告。程序检查条件可以是因为下面的原因的任何一个:
无效TCW指定:当检测到下面的条件的任何一个时,识别无效的TCW指定:
1.在TCW中被检查0的保留字段不包含0。
2.在TCW格式字段中指定非0值。
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,并且指定的子信道不与已经被配置来传输光纤信道服务请求的控制单元相关联。
当使用TTEDCW时,当存在下面的条件的任何一个时识别装置检测的程序检查:
1.当未指定TCOBDCW时,TTEDCW不是在TCA中的第一DCW。当指定TCOBDCW时,TTEDCW不是在TCA中的第二DCW。
2.指定TTEDCW,并且不指定写入操作(即,在TCW中的W比特是0)
3.在TTEDCW中的链命令标记是0。
4.指定多个TTEDCW。
5.在TTEDCW中的控制数据计数字段不包含0。
6.计数字段包含小于8或不是4的倍数的值。
7.下面的部分的任何一个对于TCA成立:
TCA不包含不是传输命令DCW的至少一个DCW。
TCA包含不是传输命令DCW的一个或多个DCW,并且在TCA的最后一个DCW中的链命令标记是0。
当使用TTEDCW并且额外的TCMI和/或输出数据跟随TCAX时,下面的部分应当成立;否则,可以识别装置检测的程序检查:
在TCW中的输出TIDA标记(标记比特7)必须是1;或者
当TIDAW用于TCAX的传送时并且用于数据的传送时,必须在用于传送TCAX的最后一个或唯一的TIDAW中将插入CBC控制设置为1。当TIDAW用于仅TCAX的传送时,不必在该最后一个或唯一的TIDAW中设置插入CBC控制。
在TCA的处理期间,当检测到下面的条件的任何一个时,可以识别TCCB内容错误:
1.所遇到的第一TCOBDCW不是在TCA中的第一DCW;
2.在TCA中遇到第二TCOBDCW;
3.当在TCAH中的W比特是0时,在TCA中遇到TCOBDCW;
4.TCOBDCW未设置链接标记;
5.遇到TCOBDCW,其中,CD计数和数据计数都是0;
6.遇到TCOBDCW,其中,CD计数和数据计数都不是0;
7.遇到TCOBDCW,其中,CD计数是0,并且数据计数不是4的倍数;
8.遇到TCOBDCW,其中,数据计数是0,并且CD计数不是4的倍数;
9.未指定TCOBDCW,并且TTEDCW不是在TCA中的第一DCW,或者指定TCOB,并且TTEDCW不是在TCA中的第二DCW;
10.当在TCAH中的W比特是0时,在TCA中遇到TTEDCW;
11.TTEDCW未设置链接标记;
12.在TCA中遇到第二TTEDCW;
13.遇到其中CD计数不是0的TTEDCW;
14.遇到TTEDCW,其中,数据计数是0,或者不是4的倍数;
15.指定ATTEDCW,并且下面部分的任何一个成立:TCA的长度是58个字或更小;TCA的长度是59个字,在TCA中的最后一个DCW指定控制数据,并且控制数据的长度延伸超过59个字;或者,TCA的长度是最大60个字的长度,并且在TCA中的最后一个字包含DCW的第一字;
16.DCW包含要求控制数据的命令,并且CD计数字段是0或包含指定通过TCA的结尾的数据的值;
17.DCW包含CD计数字段,该字段不是0,并且所述命令不允许提供控制数据;
18.在写入操作期间,所述装置遇到在TCA中的试图执行读取数据传送的命令;
19.在读取操作期间,所述装置遇到在TCA中的试图执行写入数据传送的命令;
20.CC比特在DCW中为0,并且在TCA中剩余超过3个未使用的字节;
21.CC比特在DCW中为1,并且下一个DCW位置被确定为从TCA指示的结尾起小于8字节,并且未提供TCAX,或者已经提供了TCAX,并且将下一个DCW位置确定为从TCAX的尾部起小于8字节。
22.对于读取或双向操作,当在TCA中的读取DCW变为当前时,所有先前的读取DCW和当前DCW的数据计数加上所有填充和CRC字节的和超过在TCCB中的DL字段,或者对于双向操作,超过在TCCB中的BRDL字段;
23.对于读取或双向操作,当在TCA中的最后一个DCW变为当前时,所有读取DCW的数据计数加上所有填充和CRC字节的和不等于在TCCB中的DL字段,或者对于双向操作,不等于在TCCB中的BRDL字段;
24.对于写入或双向操作,当在TCA中的DCW变为当前时,下述部分的和超过在TCCB中的DL字段:用于所有写入DCW的数据计数加上全部填充和CRC字节(包括所有中间填充和CRC字节)、如果在传输数据IU中包括COB则COB、COB填充和COBCRC字节、以及如果存在TCAX则TCAX、TCAX填充和TCAXCRC字节。
25.对于写入操作或双向操作,当在TCA中的最后一个DCW变为当前时,下述部分的和不等于在TCCB中的DL字段:用于所有写入DCW的数据计数加上全部填充和CRC字节(包括所有中间填充和CRC字节)、如果在传输数据IU中包括COB则COB、COB填充和COBCRC字节、以及如果存在TCAX则TCAX、TCAX填充和TCAXCRC字节。
在一个实施例中,在执行命令模式或传输模式操作之前,建立在信道子系统114和控制单元118和/或装置116之间的链路。在具有与一个或多个控制单元的物理连接的I/O系统中的每一个信道128可以被称为“N_Port(N端口)”,其具有唯一标识符(“N_Port_ID”)。同样,每一个控制单元118也可以被称为具有相关联的N_Port_ID的N_Port。信道128和控制单元118可以分别包括多个信道图像(image)或控制单元图像。每一个N_Port包括在初始化和登录过程的执行期间分配的地址标识符。可以在初始化处理期间通过N_Port登录(PLOGI)扩展链路服务来执行明确的N_Port登录。当N_Port已经与另一个N_Port执行N_Port登录时,那个N_Port被称为登录到另一个N_Port。
在一个实施例中,使用处理登录(PRLI)扩展链路服务(ELS)协议来执行在信道子系统和控制单元之间的链路初始化。在FC-LS-2中给出了包括PRILIELS请求和响应的格式的PRLIELS的一般方面,其中在下面的部分中限定了用于FC-SB-4的特定设置。
在PRLI过程期间,支持PRLI的信道128在还支持处理登录ELS的配置上向每一个控制单元118发送请求,以确定控制单元118是否支持传输模式操作。在一个实施例中,在建立逻辑路径之前,在信道初始化期间发送PRLI请求,并且也可以作为处理登出(PRLO)的结果来发送。PRLIELS用于在信道128和控制单元118之间交换处理登录服务参数。可以经由PRLI请求和PRLI响应在信道和控制单元之间交换参数。
PRLI请求包括服务参数页面,该页面可以包括:类型代码字段,其识别FC-4协议(例如,被设置为十六进制‘1B’以指示SB-4协议)。FC-SB-4标记(例如,PRLI请求页面的字3的字节3)包括如下所述的一个或多个标记:
0–支持传输模式。当比特0被设置为0时,信道不支持传输模式操作。当比特0被设置为1时,信道支持传输模式操作。
1–保留
2–支持DCW错误长度(IL)工具。例如,当IL标记活动时(例如,当比特2被设置为1时),信道128支持DCWIL工具。当比特2被设置为0时,DCWIL工具不被信道128支持。DCWIL工具包括对于抑制长度指示符(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协议(例如,被设置为十六进制‘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不支持DCWIL工具。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)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本文中将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的手段。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供用于实现流程图和/或框图中的方框中规定的功能/操作的过程。
在此描述的流程图仅是一个示例。在不偏离本发明的精神的情况下,存在对于该图或在此所述的步骤(或操作)的许多变化。例如,可以以不同的顺序来执行步骤,或者可以增加、删除或修改步骤。所有这些变化被认为是所要求保护的发明的一部分。
虽然已经描述了本发明的优选实施例,但是可以明白,本领域内的技术人员现在和未来可以作出落在所附的权利要求的范围内的各种改进和增强。这些权利要求应当被解释为保持首先描述的本发明的正确的保护。
Claims (14)
1.一种用于输入/输出处理的设备,用于在被配置来控制输入/输出I/O装置并且被配置为与主计算机系统进行通信的控制单元处执行I/O操作,所述I/O操作被I/O操作指令启动,所述控制单元被配置来执行:
从所述主计算机系统的信道子系统接收用于指定在所述控制单元处的I/O操作的至少一个命令消息,所述至少一个命令消息包括一个或多个装置命令字DCW,每一个DCW与I/O命令相关联,其中,所述一个或多个DCW的至少一个DCW包括数据计数和抑制长度指示SLI,所述SLI被配置为响应于所述控制单元检测到错误长度条件而指令所述控制单元是否继续执行所述I/O操作,响应于与用于执行所述I/O操作命令所需的数据的数据量不匹配的所述数据计数而检测到所述错误长度条件,其中,所需的所述数据是在所述控制单元处针对读取操作命令可获得的数据和由所述控制单元针对写入操作命令所需的数据之一;
处理所述一个或多个DCW的至少一个;以及
响应于执行或结束所述I/O操作而通过所述控制单元向所述信道子系统返回传输响应消息,所述传输响应消息包括所述I/O操作的状态和错误长度IL值,响应于所述SLI是第一SLI值并且所述数据计数不匹配所需的数据量,所述IL值是第一IL值。
2.根据权利要求1所述的设备,其中,所述至少一个DCW包括命令链接标记,所述命令链接标记指示后续的DCW逻辑连接到所述至少一个DCW,并且在所述控制单元执行所述至少一个DCW后要被所述控制单元执行。
3.根据权利要求1所述的设备,其中,所述SLI是在所述至少一个DCW中的SLI字段中的值,所述值是1,其指示当检测到错误的长度条件时指令所述控制单元继续所述I/O操作,并且所述值是0,其指示当检测到所述错误的长度条件时指令所述控制单元结束所述I/O操作。
4.根据权利要求3所述的设备,其中,所述SLI字段包括值1,所述至少一个DCW是读取DCW,并且所述设备被配置来执行:
响应于命令链接标记指示命令链接用于所述读取DCW以及所述数据计数值大于在I/O装置处可获得的数据量,所述控制单元向所述信道子系统传送所述数据量,并且在所述数据传送中包括一个或多个填充字节,使得针对所述DCW传送的所述数据量等于所述数据计数值;
响应于所述命令链接标记指示所述命令链接未用于所述读取DCW以及所述数据计数值大于在所述装置处可获得的所述数据量,所述控制单元仅传送所述数据量或传送具有一个或多个填充字节的所述数据量,使得对于所述DCW传送的所述数据量等于所述数据计数值;以及
响应于所述数据计数值小于在所述装置处可获得的所述数据量,向所述信道子系统传送等于所述数据计数值的数据量。
5.根据权利要求3所述的设备,其中,所述SLI字段包括值1,并且所述至少一个DCW是写入DCW,并且所述设备被配置来执行:
响应于命令链接标记指示命令链接用于所述写入DCW并且所述数据计数值大于所述装置所需的数据量,在所述控制单元处从所述信道子系统接收等于由I/O装置所需的数据量的数据量;
响应于所述命令链接标记指示所述命令链接未用于所述写入DCW并且所述数据计数值大于所述装置所需的数据量,在所述控制单元处接收由所述装置所需的数据量,并且接收额外的数据,直到所述数据计数值穷尽;以及
响应于所述数据计数值小于所述装置所需的数据量,在所述控制单元处接收等于所述数据计数值的数据量。
6.根据权利要求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。
7.根据权利要求6所述的设备,其中,所述传输响应消息包括DCW偏移字段,所述DCW偏移字段指示所述多个DCW的哪个使得要检测所述错误长度条件。
8.根据权利要求1所述的设备,其中,所述控制单元被配置来执行:
在所述控制单元处从所述信道子系统接收处理登录请求消息,所述处理登录请求消息被配置来初始化在所述信道子系统和所述控制单元之间的链路,所述处理登录请求消息包括具有指示所述信道子系统是否支持所述SLI的使用的值的首标;以及
所述控制单元向所述信道子系统发送处理登录响应消息,所述处理登录响应消息包括具有指示所述控制单元是否支持所述SLI的使用的值的首标。
9.一种用于输入/输出处理的方法,用于在被配置来控制输入/输出I/O装置并且被配置为与主计算机系统进行通信的控制单元处执行I/O处理操作,所述I/O操作被I/O操作指令启动,所述方法包括:
从所述主计算机系统的信道子系统接收用于指定在所述控制单元处的I/O操作的至少一个命令消息,所述至少一个命令消息包括一个或多个装置命令字DCW,每一个DCW与I/O命令相关联,其中,所述一个或多个DCW的至少一个DCW包括数据计数和抑制长度指示SLI,所述SLI被配置为响应于所述控制单元检测到错误长度条件而指令所述控制单元是否继续执行所述I/O操作,响应于与用于执行所述I/O操作命令所需的数据的数据量不匹配的所述数据计数而检测到所述错误长度条件,其中,所需的所述数据是在所述控制单元处针对读取操作命令可获取的数据和由所述控制单元针对写入操作命令所需的数据之一;
处理所述一个或多个DCW的至少一个;以及,
响应于执行或结束所述I/O操作而通过所述控制单元向所述信道子系统返回传输响应消息,所述传输响应消息包括所述I/O操作的状态和错误长度IL值,响应于所述SLI是第一SLI值并且所述数据计数不匹配所需的数据量,所述IL值是第一IL值。
10.根据权利要求9所述的方法,其中,所述至少一个DCW包括命令链接标记,所述命令链接标记指示后续的DCW逻辑连接到所述至少一个DCW,并且在所述控制单元执行所述至少一个DCW后要被所述控制单元执行。
11.根据权利要求9所述的方法,其中,所述SLI是在所述至少一个DCW中的SLI字段中的值,所述值是1,其指示当检测到错误的长度条件时指令所述控制单元继续所述I/O操作,并且所述值是0,其指示当检测到所述错误的长度条件时指令所述控制单元结束所述I/O操作。
12.根据权利要求9所述的方法,其中,所述至少一个DCW包括包含SLI字段的SLI,所述SLI字段响应于所述SLI是第二SLI值而具有值1,并且响应于所述SLI是所述第一SLI值而具有值0,并且所述方法进一步包括返回传输响应消息,所述传输响应消息在错误长度IL字段中包括所述IL值,所述错误长度字段指示是否因为所述错误长度条件而结束所述I/O操作,响应于所述SLI是所述第一SLI值以及所述数据计数不匹配所需的数据量,所述IL字段具有值1,响应于所述SLI是所述第二SLI值以及所述数据计数匹配所需的数据量的至少一个,所述IL字段具有值0。
13.根据权利要求12所述的方法,其中,所述传输响应消息包括DCW偏移字段,所述DCW偏移字段指示所述多个DCW的哪个使得要检测所述错误长度条件。
14.根据权利要求9所述的方法,进一步包括:
在所述控制单元处从所述信道子系统接收处理登录请求消息,所述处理登录请求消息被配置来初始化在所述信道子系统和所述控制单元之间的链路,所述处理登录请求消息包括具有指示所述信道子系统是否支持所述SLI的使用的值的首标;以及
所述控制单元向所述信道子系统发送处理登录PRLI响应消息,所述处理登录响应消息包括具有指示所述控制单元是否支持所述SLI的使用的值的首标。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/173,733 US8346978B1 (en) | 2011-06-30 | 2011-06-30 | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US13/173,733 | 2011-06-30 | ||
PCT/EP2012/058159 WO2013000604A1 (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 |
---|---|
CN103597458A CN103597458A (zh) | 2014-02-19 |
CN103597458B true CN103597458B (zh) | 2016-05-18 |
Family
ID=46085910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280026319.0A Active CN103597458B (zh) | 2011-06-30 | 2012-05-03 | 用于输入/输出处理的方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8346978B1 (zh) |
CN (1) | CN103597458B (zh) |
GB (1) | GB2505814A (zh) |
WO (1) | WO2013000604A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9785593B2 (en) * | 2014-09-17 | 2017-10-10 | Htc Corporation | Portable device with data transmission between main system and subsystem and control method therefor |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101946244A (zh) * | 2008-02-14 | 2011-01-12 | 国际商业机器公司 | 降低保留设备的访问竞争 |
CN101946241A (zh) * | 2008-02-14 | 2011-01-12 | 国际商业机器公司 | 监视输入/输出操作的数据处理 |
CN101971154A (zh) * | 2008-02-14 | 2011-02-09 | 国际商业机器公司 | 用于确定输入/输出操作的状态的计算机命令和响应 |
Family Cites Families (217)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US625399A (en) | 1899-05-23 | And carl werder | ||
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 |
US5388219A (en) | 1992-03-02 | 1995-02-07 | International Business Machines Corporation | Efficient channel and control unit for host computer |
US5317739A (en) | 1992-03-30 | 1994-05-31 | International Business Machines Corp. | Method and apparatus for coupling data processing systems |
CA2086691C (en) | 1992-03-30 | 1997-04-08 | David A. Elko | Communicating messages between processors and a coupling facility |
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 |
JP2840511B2 (ja) | 1992-12-10 | 1998-12-24 | 富士通株式会社 | 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法 |
US5526484A (en) | 1992-12-10 | 1996-06-11 | International Business Machines Corporation | Method and system for pipelining the processing of channel command words |
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 |
JP3225804B2 (ja) | 1995-09-05 | 2001-11-05 | 株式会社日立製作所 | 入出力チャネルの拡張方式 |
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 |
JP3503948B2 (ja) | 1995-09-13 | 2004-03-08 | 株式会社 日立製作所 | 電子計算機システム |
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 |
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 |
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 |
US6044444A (en) | 1996-05-28 | 2000-03-28 | Emc Corporation | Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected |
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 |
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 |
US6546435B1 (en) | 1999-06-15 | 2003-04-08 | 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 |
BRPI0113615B1 (pt) | 2000-08-31 | 2015-11-24 | Dolby Lab Licensing Corp | método para aparelho para decodificação de matriz de áudio |
US6694390B1 (en) | 2000-09-11 | 2004-02-17 | Intel Corporation | Managing bus transaction dependencies |
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 |
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 |
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 |
US6754738B2 (en) | 2001-09-28 | 2004-06-22 | International Business Machines Corporation | Low overhead I/O interrupt |
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 |
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 |
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 |
US7418574B2 (en) | 2002-10-31 | 2008-08-26 | Lockheed Martin Corporation | Configuring a portion of a pipeline accelerator to generate pipeline date without a program instruction |
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 |
WO2005039130A1 (ja) | 2003-10-17 | 2005-04-28 | Nippon Telegraph And Telephone Corporation | メール配送システム、メール配送方法およびメール配送プログラム |
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 | データ処理システム |
TW200733733A (en) | 2005-09-06 | 2007-09-01 | Nokia Corp | 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 | データ処理システム及びデータ処理方法 |
US9032164B2 (en) | 2006-02-17 | 2015-05-12 | Emulex Corporation | Apparatus for performing storage virtualization |
US7743197B2 (en) | 2006-05-11 | 2010-06-22 | Emulex Design & Manufacturing Corporation | System and method for virtualizing PCIe devices |
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 |
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 |
US7502873B2 (en) | 2006-10-10 | 2009-03-10 | International Business Machines Corporation | Facilitating access to status and measurement data associated with input/output processing |
US7797414B2 (en) | 2007-01-31 | 2010-09-14 | International Business Machines Corporation | Establishing a logical path between servers in a coordinated timing network |
US8406248B2 (en) | 2007-04-13 | 2013-03-26 | Hart Communication Foundation | Priority-based scheduling and routing 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 |
US7890668B2 (en) | 2008-02-14 | 2011-02-15 | International Business Machines Corporation | Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous |
US7899944B2 (en) | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting in 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 |
US8196149B2 (en) | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output 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 |
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 |
US7941570B2 (en) * | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
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 |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
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 |
US8001298B2 (en) | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data in an I/O processing system |
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 |
US8082481B2 (en) | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
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 |
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 |
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 |
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 |
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 |
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 |
US7937504B2 (en) * | 2008-07-31 | 2011-05-03 | International Business Machines Corporation | Transport control channel program message pairing |
US20100064072A1 (en) | 2008-09-09 | 2010-03-11 | Emulex Design & Manufacturing Corporation | Dynamically Adjustable Arbitration Scheme |
JP5107880B2 (ja) | 2008-12-10 | 2012-12-26 | 株式会社日立製作所 | データ転送処理装置及び方法 |
-
2011
- 2011-06-30 US US13/173,733 patent/US8346978B1/en active Active
-
2012
- 2012-05-03 CN CN201280026319.0A patent/CN103597458B/zh active Active
- 2012-05-03 WO PCT/EP2012/058159 patent/WO2013000604A1/en active Application Filing
- 2012-05-03 GB GB1321890.4A patent/GB2505814A/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101946244A (zh) * | 2008-02-14 | 2011-01-12 | 国际商业机器公司 | 降低保留设备的访问竞争 |
CN101946241A (zh) * | 2008-02-14 | 2011-01-12 | 国际商业机器公司 | 监视输入/输出操作的数据处理 |
CN101971154A (zh) * | 2008-02-14 | 2011-02-09 | 国际商业机器公司 | 用于确定输入/输出操作的状态的计算机命令和响应 |
Also Published As
Publication number | Publication date |
---|---|
WO2013000604A1 (en) | 2013-01-03 |
GB2505814A (en) | 2014-03-12 |
CN103597458A (zh) | 2014-02-19 |
US20130007304A1 (en) | 2013-01-03 |
US8346978B1 (en) | 2013-01-01 |
GB201321890D0 (en) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102810081B (zh) | 光纤信道输入/输出数据路由系统和方法 | |
JP4979771B2 (ja) | ミラー・ボリューム内の不一致を検出するための装置、システム、および方法(メタデータを使用して連続リモート・コピー内の不一致を検出するための装置、システム、および方法) | |
CN102999406B (zh) | 从硬件故障模式的增强转储数据收集的方法和系统 | |
CN100568203C (zh) | 利于处理环境的输入/输出处理的方法和系统 | |
CN103582869B (zh) | 链接移动规格块 | |
CN101273338B (zh) | 用于数据集及数据集“异或”的dma传送的方法、装置及系统 | |
CN102819504A (zh) | 光纤信道输入/输出数据路由系统和方法 | |
US20090210769A1 (en) | Multiple crc insertion in an output data stream | |
CN102811112B (zh) | 光纤信道输入/输出数据路由系统和方法 | |
TWI699696B (zh) | 具有介面控制機構之電子系統及其操作方法 | |
CN106168920B (zh) | 控制包括只读闪速数据存储设备的独立磁盘冗余阵列 | |
CN102819503A (zh) | 光纤信道输入/输出数据路由系统和方法 | |
CN103582870B (zh) | 执行开始子通道指令的方法、系统和装置 | |
CN100356310C (zh) | 储存虚拟化控制器、子系统及系统与方法 | |
CN104040515A (zh) | 在逻辑驱动器模型下呈现直接存取的存储设备 | |
JP2011512591A5 (zh) | ||
JPH0442698B2 (zh) | ||
CN207882889U (zh) | 存储器系统和电子系统 | |
CN108829619A (zh) | 一种硬盘id连续拓扑结构及硬盘id定位方法 | |
US9542251B2 (en) | Error detection on a low pin count bus | |
CN103562893B (zh) | 促进通道子系统与输入/输出设备之间的传输模式输入/输出操作 | |
US7143206B2 (en) | Method for controlling data transfer unit having channel control unit, storage device control unit, and DMA processor | |
CN103597458B (zh) | 用于输入/输出处理的方法和设备 | |
US7921265B2 (en) | Data access method, channel adapter, and data access control device | |
CN105446856B (zh) | 电子设备接口的检测方法、装置 |
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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |