CN101971154A - 用于确定输入/输出操作的状态的计算机命令和响应 - Google Patents

用于确定输入/输出操作的状态的计算机命令和响应 Download PDF

Info

Publication number
CN101971154A
CN101971154A CN2009801089749A CN200980108974A CN101971154A CN 101971154 A CN101971154 A CN 101971154A CN 2009801089749 A CN2009801089749 A CN 2009801089749A CN 200980108974 A CN200980108974 A CN 200980108974A CN 101971154 A CN101971154 A CN 101971154A
Authority
CN
China
Prior art keywords
control module
state
equipment
response
indication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801089749A
Other languages
English (en)
Other versions
CN101971154B (zh
Inventor
丹尼尔·卡斯珀
斯科特·卡尔森
约翰·弗拉纳甘
罗杰·哈索恩
凯瑟琳·黄
马修·卡洛斯
路易斯·里奇
戴尔·雷迪
古斯塔夫·希特曼三世
乔库·乌戈丘克乌
哈里·尤登弗兰德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101971154A publication Critical patent/CN101971154A/zh
Application granted granted Critical
Publication of CN101971154B publication Critical patent/CN101971154B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor

Abstract

本发明提供用于确定输入/输出(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操作的状态。

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设备相耦接。
操作系统可以采用信道命令字(CCW),通过把信道命令字传送给信道子系统,从而在I/O设备和存储器间传输数据。CCW规定了将要执行的命令。对于启动某些I/O操作的命令,CCW指定与操作相关的存储器区域、每当到或从该区域的传输结束时将采取的动作和其他选择。
在I/O处理期间,通过信道从存储器取回CCW的列表。该信道解析来自CCW的列表的每个命令,并转发一些命令到与该信道相耦接的控制单元,这些命令的每个命令在该信道自身的实体(entity)中。然后,控制单元处理这些命令。该信道跟踪每个命令的状态并控制下一组命令何时将被发送到控制单元进行处理。该信道确保在该信道自身的实体中每个命令被发送到控制单元。此外,该信道获取与处理来自控制单元的对每个命令的响应有关的某些信息。
取决于使用的链路协议,关于对花费比期望的或分配的时间更长的时间来完成的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操作的状态的信息。
另外的实施例包括被适配用于与控制单元通信的装置,该控制单元控制在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处理系统中的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操作的状态的信息。
在回顾下述附图和详细描述时,根据各实施例的其他系统、方法和/或计算机程序产品对于在本领域的普通技术人员将是或者变得显而易见的。意要所有这样的另外的系统、方法和/或各件产品被包括在本说明书中、在本发明的范围内、并且由所附的权利要求保护。
附图说明
在本说明书的结论中的权利要求中,具体指出和清楚地要求保护作为本发明的主题。通过结合附图的下述具体说明,本发明的前述和其他的目的、特征及有益效果是显而易见的,在附图中:
图1描述包含并使用本发明的一个或多个方面的I/O处理系统一个实施例;
图2A描述信道命令字的一个例子;
图2B描述信道命令字信道程序的一个例子;
图3描述用于信道和控制单元间的通信以执行图2B信道命令字信道程序的链路协议的一个例子;
图4描述根据本发明的一个方面的传输控制字信道程序的一个实施例;
图5描述根据本发明的一个方面的用于在信道和控制单元之间通信以执行图4的信道命令字信道程序的链路协议的一个实施例;
图6描述用于在信道和控制单元之间通信以便执行信道命令字信道程序的4个读取命令的链路协议的一个实施例;
图7描述根据本发明的一个方面的用于在信道和控制单元之间通信以处理传输控制字信道程序的4个读取命令的链路协议的一个实施例;
图8描述根据本发明的一个方面的控制单元和信道的一个实施例;
图9描述根据本发明的一个方面的包括询问TCW地址字段的传输控制字(TCW)的一个实施例;
图10描述根据本发明的一个方面的询问DCW的一个实施例;
图11描述根据本发明的一个方面的传送响应IU的一个实施例;
图12A描述根据本发明的一个方面的由I/O操作系统执行的用于确定何时请求来自控制单元的I/O操作的状态的处理的一个实施例;
图12B描述根据本发明的一个方面的用于询问控制单元以确定I/O操作的状态的处理的一个实施例;
图13描述并入了本发明的一个或多个方面的计算机程序产品的一个实施例。
详细的描述参考附图通过例子说明了本发明的优选实施例,以及有益效果和特性。
具体实施方式
根据本发明的一个方面,方便了输入/输出(I/O)处理。例如,通过使能快捷地访问与I/O处理有关的诸如状态和测量数据的信息,方便了I/O处理。此外,在一个例子中,通过减少用于执行I/O处理的I/O处理系统的组件间的通信,方便了I/O处理。例如,减少在诸如信道的I/O通信适配器和控制单元间的交换和序列(sequence)的数量。这通过从I/O通信适配器发送多个命令到控制单元作为由控制单元执行的单一实体以及通过控制单元将从命令得到的数据(如果有的话)作为单一实体而发送来完成。
多个命令被包含在块中,该块在此被称为传输命令控制块(TCCB),其地址在传输控制字(TCW)中规定。将TCW从操作系统或其他应用发送到I/O通信适配器,该I/O通信适配器又在命令消息中将该TCCB转发到控制单元以处理。控制单元通过I/O通信适配器处理缺少对与那些各个命令相关的状态的跟踪的每个命令。多个命令也称作信道程序,其在控制单元而不是I/O通信适配器中被解析和执行。
在示例性实施例中,响应于执行信道程序,控制单元产生包含状态和扩展的状态信息的响应消息。控制单元还可以在有限数量的通信方案下不执行信道程序而产生响应消息,例如以便通知I/O通信适配器:将不会执行信道程序。控制单元可以包括一些元素以支持在I/O通信适配器和I/O设备间的通信,以及支持信道程序的执行。例如,除了便于通信和状态监视的一个或多个队列(queue)、计时器、和寄存器外,控制单元可以包括控制逻辑以解析和处理消息。I/O通信适配器解析响应消息,提取状态和扩展状态信息,并且使用提取的信息执行进一步的计算,比如确定扩展的测量字。
参考图1,结合并使用本发明的一个或多个方面,描述I/O处理系统的一个例子。I/O处理系统100例如包括:主存储器102、一个或多个中央处理单元(CPU)104、存储控制元件106、信道子系统108、一个或多个控制单元110和一个或多个I/O设备112,其中每一个将在以下描述。
主存储器102存储可以从I/O设备112输入的数据和程序。例如,主存储器102可以包括由一个或多个CPU 104执行的一个或多个操作系统103。主存储器102是直接可寻址的,并且提供用于CPU 104和信道子系统108对数据的高速处理。
CPU 104是I/O处理系统100的控制中心。其包括用于指令执行、中断反应、计时功能、初始程序装载、和其他机器相关的功能的排序和处理设施。CPU 104经由诸如双向或单向总线的连接114与存储控制元件106相耦接。
存储控制元件106经由诸如总线的连接116与主存储器102相耦接,经由连接114与CPU 104相耦接,并经由连接118与信道子系统108相耦接。存储控制元件106控制例如由CPU 104和信道子系统108做出的请求的排队和执行。
如上所述,信道子系统108与存储控制元件106相耦接,并经由诸如串行链路的连接120与每个控制单元110相耦接。连接120可以实现为采用单模或多模光波导的光链路。信道子系统108引导在I/O设备112和主存储器102间的信息流。其减少CPU 104直接与I/O设备112通信的任务,并允许数据处理和I/O处理同时进行。信道子系统108使用一个或多个信道路径122作为在管理到或从I/O设备112的信息流时的通信链路。作为I/O处理的一部分,信道子系统108还执行测试信道路径可用性、选择可用信道路径122和启动与I/O设备112的操作的执行的路径管理功能。
每个信道路径122包括信道124(在一个例子中,信道124位于信道子系统108内,如图1所示)、一个或多个控制单元110和一个或多个连接120。在另一个例子中,还能够具有一个或多个动态开关(未示出)作为信道路径122的一部分。动态开关与信道124和控制单元110相耦接,并提供物理上互连任何两个附连到开关的链路的能力。在另一个例子中,还能够具有多个系统及因此的附连到控制单元110的多个信道子系统。
子信道(未示出)也位于信道子系统108内。一个子信道被提供用于并专用于通过信道子系统108可访问程序的每个I/O设备112。子信道(例如数据结构,比如表格)代表设备对于程序的逻辑状态。每个子信道向信道子系统108提供关于相关的I/O设备112和其附连物的信息。子信道还提供关于I/O操作和涉及相关的I/O设备112的其他功能的信息。子信道是这样的工具,信道子系统108通过该工具向在CPU 104上运行的操作系统提供关于相关的I/O设备112的信息,所述操作系统通过执行I/O指令获得这些信息。
信道子系统108与一个或多个控制单元110相耦接。每个控制单元110提供逻辑以操作并且控制一个或多个I/O设备112,并且通过使用公共设备使每个I/O设备的特性适配于信道124提供的链路接口。公共设备用于I/O操作的执行、关于I/O设备112和控制单元110的状态的指示、在信道路径122上的数据传输的定时的控制和某些级别的I/O设备112控制。
每个控制单元110经由连接126(比如总线)附连到一个或多个I/O设备112。各I/O设备112接收信息或在主存储器102和/或其他存储器中存储信息。举例来说,I/O设备112的例子包括读卡器和打卡器、磁带单元、直接存取存储设备、显示器、键盘、打印机、定点(pointing)设备、远程处理设备、通信控制器和基于传感器的设施。
I/O处理系统100的一个或多个上述组件在以下文献中进一步描述:“IBMz/Architecture Principles of Operation,”公开号No.SA22-7832-05,第6版,2007年4月;美国专利号No.5,461,721,题为“System For Transferring Data Between I/O Devices And Main Or Expanded StorageUnder Dynamic Control Of Independent Indirect Address Words(IDAWS),”Cormier等人,发表于1995年10月24日;以及美国专利号No 5,526,484,题为“Method And System Form Pipelining The Processing Of Channel Command Words,”Casper等人,发表于1996年6月11日,其中每个的全部内容在此通过参考而并入。IBM是美国纽约阿蒙克的国际商业机器公司的注册商标。此处所用的其他名字可以是国际商业机器公司或其它公司的注册商标、商标或产品名称。
在一个实施例中,为了在I/O设备112和存储器102间传输数据,使用信道命令字(CCW)。CCW指定了待执行的命令,并包含用于控制处理的其他字段。参考图2A描述了CCW的一个例子。CCW 200例如包括:规定待执行的命令的命令代码202(比如读取、反向读取、控制、检测(sense)和写入);用于控制I/O操作的多个标志204;用于规定数据传送的命令的计数字段206,其规定了待传送的、由CCW指定的存储区域中的字节的数量;以及数据地址208,其在采用直接寻址时指向包含数据的主存储器中的位置,或在采用修改的间接数据寻址时指向要处理的修改的间接数据地址字(MIDAW)的列表(比如,相邻列表)。在Brice等人提交于2006年8月15日的题为“Flexibly Controlling The Transfer Of Data Between Input/Output Devices And Memory,”的美国申请序列号11/464,613中进一步描述了修改的间接寻址,其全部内容通过参考合并于此。
被安排为顺序执行的一个或多个CCW形成了信道程序,在此也称为CCW信道程序。例如通过操作系统或其它软件建立CCW信道程序。软件建立CCW并获得分配给该信道程序的存储器的地址。参考图2B描述了CCW信道程序的一个例子。CCW信道程序210例如包括定义范围(define extent)CCW 212,其具有指向将随定义范围命令使用的定义范围数据216的存储器中的位置的指针214。在这个例子中,信道中的传送(TIC)218遵循将信道程序交给存储器中的另一区域(比如,应用区域)的定义范围命令,该另一区域包括一个或多个其它CCW,比如具有指向定位(locate)记录数据220的指针的定位记录217,以及一个或多个读取CCW 221。每个读取CCW 221具有指向数据区域224的指针222。数据区域包括用于直接存取数据的地址或用于间接存取数据的数据地址字(比如MIDAW或IDAW)的列表。此外,CCW信道程序210包括称为子信道的、由设备地址定义的信道子系统中的预定区域,用于从执行CCW信道程序得到的状态226。参考图3以及参考图2B描述了CCW信道程序的处理。具体地,图3示出了当执行CCW信道程序时,在信道和控制单元间发生的各种交换和序列的例子。在这个例子中,用于通信的链路协议是FICON(光纤连接)。在“Fibre Channel Single Byte Command Code Sets-2 Mapping Protocol(FC-SB-3),T11/Project 1357-D/Rev.1.6,INCITS(2003年3月)中描述了关于FICON的信息,其全部内容通过参考合并于此。
参考图3,信道300打开与控制单元302的交换,并且向控制单元302发送定义范围命令和与其相关的数据304。从定义范围CCW 212(图2B)取回命令,并且从定义范围数据区域216获得数据。信道300使用TIC 218查找定位记录CCW和读取CCW。信道300从定位记录CCW 217(图2B)取回定位记录命令305(图3)并且从定位记录数据220获得数据。从读取CCW221(图2B)取回读取命令306(图3)。每个被发送到控制单元302。
响应于信道300的交换的打开,控制单元302打开与信道300的交换308。这可以发生在定位命令305和/或读取命令306之前或之后。随着打开交换,响应(CMR)被转发到信道300。CMR向信道300提供控制单元302是活动的并正在工作的指示。
控制单元302向信道300发送所请求的数据310。此外,控制单元302将状态提供给信道300,并关闭交换312。响应于此,信道300存储该数据,检查各状态并关闭交换314,这向控制单元302指示:状态已被接收。
读取4K数据的上述CCW信道程序的处理需要打开和关闭两个交换并需要七个序列。通过将信道程序的多个命令压缩(collapse)成一个TCCB,减少了在信道和控制单元间的交换和序列的总数。信道,例如图1的信道124,使用TCW以识别TCCB的位置以及用于存取和存储与执行信道程序有关的状态和数据的位置。TCW由信道解释(interpret),而不被控制单元发送或可见。
参考图4描述用于读取4k数据的如图2B中包括TCCB而不是分离的各个CCW的信道程序的一个例子。如所示,信道程序400(此处称作TCW信道程序)包括指定TCCB 404在存储器中的位置以及数据区域406或指向数据区域406的TIDAL 410(即与MIDAW类似的传输模式间接数据地址字(TIDAW)的列表,)和状态区域408在存储器中的位置的TCW 402。TCW、TCCB和状态将在以下进一步详细描述。
参考图5描述TCW信道程序的处理。用于这些通信的链路协议例如是光纤信道协议(FCP)。具体地,使用FCP链路协议的三个阶段,允许使用支持FCP执行由CCW控制的数据传送的主机总线适配器。FCP及其阶段在T10 Project 1560-D,Revision 4,2005年9月13日的“Information Technology-Fibre Channel Protocol for SCSI,Third Version(FCP-3)”中进一步描述,其全部内容通过参考合并于此。
参考图5,信道500打开与控制单元502的交换并且向控制单元502发送TCCB 504。在一个例子中,TCCB 504和序列发起(sequence initiative)在称为FCP_CMND信息单元(IU)或传输命令IU的FCP命令中被传送到控制单元502。控制单元502执行TCCB 504的多个命令(例如,作为设备控制字(DCW)的定义范围命令、定位记录命令、读取命令),并且例如经由FCP_Data IU将数据506转发到信道500。控制单元502还提供状态并关闭交换508。作为一个例子,在FCP状态帧中发送最终状态,该FCP状态帧具有例如在也称为传输响应IU的FCP_RSP IU的有效载荷的字节10或11中有效的位。FCP_RES_IU有效载荷可用被用于将FICON结束状态与附加状态信息一起传输,该附加状态信息包括支持扩展测量字的计算和通知信道500由控制单元502支持的打开交换的最大数的参数。
在另一个例子中,为了写入4k的客户数据,信道500使用如下的FCP链路协议阶段:
1.在FCP_CMND IU中传送TCCB。
2.向控制单元502传送数据的IU和序列发起。
(FCP传送准备好被禁用)
3.在FCP状态帧中发送最终状态,该FCP状态帧具有例如在FCP_RSP IU的有效载荷的10或11字节中有效的位。FCP_RES_INFO字段或检测字段被用于将FICON结束状态与附加状态信息一起传输,该附加状态信息包括支持扩展测量字的计算并通知信道500由控制单元502支持的打开交换的最大数的参数。
通过执行图4的TCW信道程序,只有一个交换被打开和关闭(还见图5),而不是对于图2B的CCW信道程序的两个交换(还见图3)。此外,与用于CCW信道程序的七个序列(见图2B-图3)相比,对于TCW信道程序,存在三个通信序列(见图4-图5),。
对于TCW信道程序,即使将另外的命令添加到该程序,交换和序列的数量仍然相同。例如,将图6的CCW信道程序的通信与图7的TCW信道程序的通信相比较。在图6的CCW信道程序中,以单独的序列将每个命令(例如,定义范围命令600、定位记录命令601、读取命令602、读取命令604、读取命令606、定位记录命令607和读取命令608)从信道610发送到控制单元612。此外,以单独的序列将每个4k的数据块(例如数据614-620)从控制单元612发送到信道610。该CCW信道需要打开和关闭两个交换(例如,打开交换622、624和关闭交换626、628)并需要14个通信序列。这可与用于图7的TCW信道程序的三个序列和一个交换相比,后者完成了与图6的CCW信道程序相同的任务。
如图7中所述,信道700打开与控制单元702的交换,并向控制单元702发送TCCB704。如上所述,TCCB 704包括DCW中的定义范围命令、两个定位记录命令和四个读取命令。响应于接收到TCCB 704,控制单元702执行命令,并以单个序列向信道700发送16k的数据706。此外,控制单元702向信道700提供状态,并且关闭交换708。因此,TCW信道程序需要少得多的系统开销(overhead)来传送与图6的CCW信道程序相同的数据量。
现在转到图8,更详细地描绘支持TCW信道程序执行的图1的控制单元110和信道124的一个实施例。控制单元110包括CU控制逻辑802,用于解析和处理包含经由连接120从信道124接收的诸如图7的TCCB 704的TCCB命令信息的命令消息。CU控制逻辑802可以从在控制单元110处接收的TCCB中提取DCW和控制数据以控制设备,例如控制经由连接126的I/O设备112。CU控制逻辑802向I/O设备112发送设备命令和数据,并从I/O设备112接收状态信息和其它反馈。例如,由于目标为I/O设备112的前一预定(reservation)请求,I/O设备112可能是忙碌的。为了管理在控制单元110接收到存取同一I/O设备112的多个请求时会发生的潜在的设备预定竞争问题,CU控制逻辑802保持追踪设备忙碌消息和相关数据,并将其存储在设备忙碌队列804中。
CU控制逻辑802可以存取和控制在控制单元110中的其它元件,比如CU计时器806和CU寄存器808。CU计时器806可以包括多个计时器功能以追踪I/O操作的序列花费多长时间完成。CU计时器806还可以包括一个或多个倒数计时器以监视和中断没有在预定时段内完成的I/O操作和命令。CU寄存器808可以包括提供配置和状态信息的固定值,以及在命令被CU控制逻辑802执行时所更新的动态状态信息。控制单元110还可以包括其它缓冲器或存储器元件(未示出)以存储与在信道124和I/O设备112之间的通信有关的多个消息或状态信息。CU寄存器808可以包括最大控制单元交换参数,其定义了控制单元110支持的打开控制单元交换的最大数量。
信道子系统108中的信道124包括用于支持与控制单元110的通信的多个元件。例如,信道124可以包括CHN控制逻辑810,其与CHN子系统计时器812和CHN子系统寄存器814接口。在示例实施例中,CHN控制逻辑810控制在信道子系统108和控制单元110之间的通信。CHN控制逻辑810可以经由连接120直接与CU控制逻辑802接口,以发送命令和接收响应,比如诸如传输命令和响应IU。或者,发消息(messaging)接口和/或缓冲器(未示出)可以被放置在CHN控制逻辑810和CU控制逻辑802之间。CHN子系统计时器812可以包括多个计时器功能以追踪除了由控制单元110追踪的时间之外、I/O操作序列花费多长时间完成。CHN子系统计时器812还可以包括一个或多个倒数计时器以监视和中断在预定时段内未完成的命令序列。CHN子系统寄存器814可以包括提供配置和状态信息以及动态信息的固定值,以及在传输命令并接收到响应时更新的动态状态信息。
来自控制单元的FICON命令响应(CMR)帧不是光纤信道扩展(Fibre Channel Extension,FCX)传输模式协议的一部分。从传输模式协议中移除CMR有助于改善FCX的性能。FICON中的CMR通知信道:控制单元已经收到命令,并且信道发送执行该命令。当FICON信道接收到CMR,信道将子信道标记为“子信道和有效设备”。
在所有的计算环境中,可能发生在不同I/O设备处的中断。如果请求I/O设备处的操作的OS未能检测中断,则这可能导致数据处理系统中的操作减慢并最终停止。错过的中断处理机(MIH)是例如被包括在OS 103中的机制,其在通过对正在进行的I/O操作计时并确定由I/O设备执行操作所花的时间是否已经超过为该操作的执行所分配或设置的预定的“正常”时间量来检测丢失的中断时是有用的。如果达到MIH时间,并且I/O设备还没有完成操作的执行,则这是如下的指示:可能已经错过中断、链路故障出现、适配器故障出现、控制单元错误出现或由共享系统持有的预留超过预期。
当对于FICON操作系统MIH时间已到时,即达到MIH时间时,要看子信道是否被标记了“子信道和设备活动”以确定接下来采取什么动作。对FCX,子信道在整个操作期间停留在“开始挂起(start pending)”。这样,通过FCX,当MIH时间到时,I/O操作系统不能告知I/O操作的状态,因为对于整个操作,子信道状态停留在“开始挂起”。
根据本发明的一个方面,就在错过的中断超时之前,例如,在达到MIH时间前一秒,操作系统使用询问命令来确定控制单元处的I/O操作的状态。可以在分配给完成执行I/O操作的时间用尽之前并且I/O操作还没有完成时利用取消子信道指令来发起询问命令。
存在询问命令的几个益处。例如,当MIH超时将要发生时,执行询问命令,由此除去了对关于每个I/O操作的CMR的需要。除去对关于每个I/O操作的CMR的需要通过减少构造流量(fabric traffic)以及信道和适配器系统开销而提高了FCX性能。同样,询问命令向控制单元传送关于OS的信息,用于如果超时出现、则由控制单元记录(log)。另一益处是,控制单元向OS提供回关于I/O操作的详细状态信息,而用于FICON的CMR仅指示控制单元当前正在执行I/O。同样,如果I/O操作丢失,则通过询问命令而交换的信息对问题确定非常有用。
在此所述的询问的实现涉及取消子信道指令和TCW中的询问-TCW地址字段,并且从信道子系统角度、来自信道子系统的询问命令和响应角度、以及来自控制单元的询问命令和响应角度来描述。这些的每个描述如下。
在图9中描绘了传输控制字(TCW)900的示例实施例。TCW 900由信道124利用来建立I/O操作,并且不被发送到控制单元110。图9中所绘的TCW用于从信道子系统角度的询问的实现。
在图9所绘的示例TCW 900中,例如等于“00b”的格式字段902指示接下来的是TCW 900。TCW 900也包括标志字段906。标志字段906的前五位预留给将来使用并且被设置为零。标志字段906的第六位在数据地址字段914包含TIDAL的地址时被设置为1。如果TIDAL数据地址标志被设置为零,那么数据地址字段914包括数据地址。标志字段906的第七位是TCCBTIDAL标志。在示例实施例中,TCCB TIDAL标志在TCCB地址字段922包括TCCB TIDAL的地址时被设置为1。如果TCCB TIDAL标志被设置为零,那么TCCB地址字段922直接寻址TCCB。标志字段906的第八到第二十四位被预留给将来使用。字段907可以被预留给将来使用。
TCW 900还包括TCCB长度字段910,其直接表示TCCB的长度,并且可以被用来确定TCCB的实际长度。R/W 910字段包括读/写位,其被用来指示作为执行TCW 900的结果、数据是否正被读取和/或写入。在示例实施例中,读/写位的读位被设置为1,以指示作为执行TCW 900的结果、输入数据正从I/O设备112传送到主系统101中的系统存储器(例如主存储器102)。读/写位中的写位被设置为1,以指示作为执行TCW 900的结果、输出数据正从主系统101中的系统存储器(例如主存储器102)传送到I/O设备。字段912可以预留给将来使用。
地址字段914可以包括每个标志字段位6的直接地址或间接地址。地址字段914的内容可以是输出数据的TIDAL的地址(传输模式间接数据地址字的列表)或者输出数据的实际地址。地址字段914的内容可以是输入数据的TIDAL的地址或者输入数据的实际地址。在示例实施例中,输出数据地址和输入数据地址被包括在单个字段914中,并且字段916被预留给将来使用。或者,可以在字段914和916之间分开输出数据地址和输入数据地址。
TCW 900还包括传输状态块地址字段920。在该地址处存储对I/O操作的传输响应IU中的完成状态的一部分(例如扩展状态部分)。TCW 900中的TCCB地址字段922包括TCCB位于系统存储器中的地址。这是对于TCW900的要执行DCW所存在的控制块。同样如标志字段第7位中所述,TCCB地址字段922的内容可以是对于TCCB的TIDAL地址或TCCB的实际地址。TCW 900中的数据字节计数字段924指示对于输出操作要由TCW传送的输出数据量或对于输入操作要由TCW传送的输入数据量。字段926可以预留给将来使用。或者,可以在字段924和926之间分开输出数据计数和输入数据计数信息。在TCW 900中预留了几个另外的字段:预留字段928、预留字段930和预留字段932。
根据本发明的一个方面,将TCW 900例如从32字节扩展到64字节,以给将来的功能留出更多的空间。一个这样的功能是通过询问-TCW地址字段934使得实现的询问功能,该询问-TCW地址字段934包括指示如果I/O未能在分配的时间段内完成、是否应该执行询问的询问值。询问-TCW地址字段934可以包括另一TCW的地址,并且可以由信道124使用以在取消子信道I/O指令的发起下询问操作的状态,详细说明如下。
TCW 900可以由软件建立以由信道使用来驱动I/O操作。图9绘出的TCW是可以如何配置命令字的一个例子。在包括另外的字段和/或不包括在图9中所绘的字段的情况下,其他配置也是可能的。
根据本发明的一个方面,如果FCX开始子信道已经被发送到信道,那么执行取消子信道指令以确定控制单元的状态。如果子信道是“开始挂起”,并且开始子信道已经被发送到该信道,并且TCW中的询问TCW地址字段的值不为零,那么取消指令将询问命令排队在可以由信道子系统发送到控制单元的子信道中。在数据传送阶段或在传输响应IU的扩展状态部分中,该询问命令可以致使关于正被询问的操作的状态的信息从控制单元返回。可以如下实现询问操作的协议。
如果FCX I/O操作是活动的,则对于该I/O操作的TCW中的询问TCW地址用于指向询问TCW。如果信道遇到零值的询问TCW地址,则信道将不发起询问。在丢失中断(MIH)时间到之前,如果OS想要询问I/O设备,则OS利用询问TCW的地址来更新TCW中的询问TCW地址字。如果OS仅想要发送取消指令而不引导询问,那么OS使TCW中的寻址TCW地址设置为零。然后利用取消指令将询问发起传递到信道子系统。取消指令执行当前构造的取消Cancel,但是如果子信道是具有FCX开始子信道的“开始挂起”,并且开始Start已经被传送到该信道,那么发起被给予信道子系统以询问控制单元。
根据本发明的一个方面,如果子信道是空闲的、具有原来的或警告的状态的中断挂起、或者仅是设备活动的,那么放弃发出询问命令的发起。如果信道在“开始挂起”的子信道处接收到询问发起,并且开始仍然在信道中排队,那么信道放弃询问发起。如果信道接收询问发起,并且该信道已经具有正在进行的询问操作,那么该信道放弃新的询问发起。
如果信道接收对处于开始挂起并具有对控制单元打开的交换的UA的询问发起,那么信道子系统执行询问。根据本发明的一个方面,在执行询问中,信道子系统进行以下。信道子系统取回当前TCW中的询问TCW地址以得到用于取回询问TCW的指针值。如果指针是全零,那么信道放弃询问。在这种情况下,OS想要进行取消指令而不是询问。如果指针有效,那么信道子系统继续。信道子系统打开新的交换,并且在传输命令IU中将由询问TCW寻址的TCCB内的询问DCW发送到控制单元。该操作由信道对完成计时。如果询问操作在信道设置的时间量内未完成,那么信道中止询问操作和正被询问的操作两者。然后子信道被返回到具有接口控制检查状态的OS。
控制单元接收并执行询问命令,基于传输命令IU中的命令在传输响应IU中将关于UA的询问信息传送回到信道子系统或者作为数据IU。在正被询问的UA上活动的原始操作不受影响。I/O子系统可以产生向OS报告询问完成的、询问完成位被设置为1的中间状态中断。
根据本发明的一个方面,询问命令是唯一可以对支持FCX的所有控制单元类型都相同的命令。用于询问的传输命令IU仅包括一个DCW。该询问DCW命令可以具有与其相关的达到232字节的控制数据,这可以是被传递给控制单元的指示为什么正在执行询问的信息。
询问命令传输在询问DCW 1010中包括的信息以及作为询问命令1000的一部分的询问控制数据1020,如图10所示。控制单元用将关于I/O操作的信息返回给OS的传送响应IU来响应。根据本发明的一个方面在传送响应IU中返回的信息的格式如图11中的项1100所示。
图10描述了根据本发明的一个方面的DCW 1000的一个实施例。在示例实施例中,DCW 1000是八字节长度加上控制数据计数字段1014的长度。DCW包括命令字段1011、标志字段1012、预留字段1013、控制数据(CD)计数字段1014以及数据字节计数字段1015、1016、1017和1018。DCW命令字段1011是一字节长度,与在CCW中利用的CCW命令字节相同(但是可能包括未被CCW利用的另外的命令代码)。标志字段1012包括八位。在示例实施例中,第二位是对TCCB中的下一DCW 1000的链(chain)命令。当该标志位被设置为零时,其指示这是TCCB中的DCW程序的最后的DCW1000。标志字段1016的其他位被预留并且被设置为零。询问DCW 1000具有包括40的十六进制数的DCW命令代码字段1011。控制数据计数字段1014指示随DCW包括的询问控制数据的量。字段1015-1018包括可以由询问DCW传送的读取数据的4字节的数据量。
如果询问DCW的控制数据计数1014大于零,那么在DCW中指定询问控制数据。发送到控制单元的询问控制数据1020用于依赖设备的记录目的,并且被用来帮助排除I/O超时。
根据本发明的一个方面,询问控制数据1020具有如下所述的格式。参考图10,询问控制数据1020的字0的字节0{Fmt字段1021}包括定义了询问数据的布局或格式(FMT)的无符号整数值。字0的字节1(RC字段1022)包括指示由OS发起询问操作的原因的无符号整数值或原因代码(RC)。RC值的含义可以如下:
0  未指出询问原因。
1  超时:正被询问的操作被程序检测超时。
2-225  预留。
询问控制数据的字0的字节2(RCQ字段1023)包括指示关于发起询问操作的原因的附加信息的无符号整数值,称作原因代码限定符(RCQ)。当RC字段1022包括值1时,RCQ值的含义可以如下:
0  未指出询问原因限定符。
1  主要:由主要程序检测到超时。
2  次要:由次要程序检测到超时。
3-225  预留。
当RC字段1022不包括值1时,RCQ没有意义。
字0的字节3{LPM字段1024}包括在正被询问的操作由开始子信道命令发起时所使用的逻辑路径掩码(LMP)。
参考询问控制数据的字1,字1的字节0{PAM字段1025}包括在发起询问操作时的路径可用掩码(LMP)的值。字1的字节1(PIM字段1026)包括在发起询问操作时的路径安装掩码(Path-Installed Mask,PIM)的值。字1的字节2-3(超时字段1027)对指示分配用于完成I/O操作的时间的超时值的指示。当RC字段1022包括值1并且RCQ字段1023包括值1或2时,字1的字节2-3包括无符号整数秒中由程序使用的超时间隔。
参考询问控制数据1020的字2,字节0(标志字段1028)包括具有关于询问的信息的标志。每个标志位的含义可以给出如下:
位0  多路径模式。
位1  程序路径恢复。在路径恢复期间通过程序发出询问。
位2  关键的。设备是用于程序的关键设备。
位3-7  预留。
如图10所示,字2的字节1-3{字段1029}和字3的字节0-3{字段1030}也可以预留给将来使用。字4-5(时间字段1040)可以包括关于发起询问操作的时间的信息。字6-7{字段1050}可以包括标识发起询问操作的程序的程序标识符。该字段的内容可以是依赖于程序的。字8-N(字段1060)可以包括依赖于程序的信息。
用于询问命令的结束状态信息可以由控制单元在传输响应IU有效载荷中设置,如图11所示。在传输响应IU 1100中,字0-7可以包括状态有效载荷1110,其包括结束状态和状态标志。字8-23可以包括扩展状态有效载荷1120,其可以按照对于询问的TCW中的每个传输状态块地址而被存储在z存储器中的状态块地址处。
如图11所示,字8字节0(ES字段1121)包括包含扩展状态(ES)长度,其指示ES有效载荷的大小。字8字节1(ES标志字段1122)包括ES标志。标志位5-7指示类型代码。类型代码定义了ES有效载荷的状态区域的格式。对于询问的类型代码是3。定义状态区域的三位编码可以给出如下:
0  类型代码0。状态区域中没有信息。
1  类型代码1。有效的结束I/O状态。
2  类型代码2。错误终止的状态
3  类型代码3。扩展状态是询问响应,并且格式如图11所示。
4-7  预留
字8的字节2和3{状态字段1123}和字(状态字段1124)包括指示I/O操作的状态的信息。对于I/O操作,在这些字段中的值对于询问可以为零。
传输扩展状态有效载荷1120的字11-23可以是询问状态区域。字11的字节0(格式字段1126)包括定义了询问状态区域的布局的无符号整数值。如果该字段的值为零,那么询问状态的内容是无意义的。当格式字节设置为(01h)时,询问状态区域的下列定义适用。
字11的字节1(标志字段1127)包括关于询问状态区域的信息。每个标志位的意义可以给出如下:
位0控制宽度状态有效:当位0是1时,控制单元状态字段包括有意义的信息。当位0是零时,控制单元状态字段没有意义。
位1设备状态有效:当位1是1时,设备状态字段包括有意义的信息。当位1是零时,设备状态字段没有意义。
位2操作状态有效:当位2是1时,操作状态字段包括有意义的信息。当位2是零时,操作状态字段没有意义。
位3-7  预留
字11的位2(控制状态字段1128)包括指示I/O设备的控制单元的当前状态的8位无符号整数。每个值的意义可以给出如下:
0  忙碌:控制单元忙碌,并且依赖于设备的数据字段可以包括关于忙碌状态的附加信息。
1  恢复:控制单元正在执行恢复处理,并且依赖于设备的数据字段可以包括关于恢复状态的附加信息。
2  询问最大值:控制单元正执行其支持的最大数目的询问操作。
3-127   预留。
128-255 依赖于设备的含义。
字11的字节3(设备状态字段1129)包括指示I/O设备的当前状态的8位无符号整数。该字节的意义可以给出如下:
0  路径组标识:依赖于状态的信息字段包括标识设备已预留的路径组的信息。
1  长时间忙碌(long busy):控制单元处于长时间忙碌状态。长时间忙碌的含义是依赖于设备的,并且依赖于设备的字段可以包括关于长时间忙碌状态的附加信息。
2  恢复:设备正执行恢复处理。
3-127   预留。
128-255 依赖于设备的含义。
字12的字节0(操作状态字段1030)包括指示IO操作是否出现在设备处以及当出现时操作的状态的8位无符号整数。该字节值的含义可以给出如下:
0  没有I/O操作出现。
1  I/O操作出现并且正在执行
2  I/O操作出现,并且正在等待由另一配置发起的I/O操作的完成。
3  I/O操作出现,并且正在等待从同一设备范围发起的I/O操作的完成。
4  I/O操作出现并且正在等待执行依赖于设备的操作。
5-127   预留。
128-255 依赖于设备的含义。
字段1031可以预留给将来使用。
字13-15(字段1140)可以包括依赖于状态的信息。该字段的内容是依赖于设备的。该字段是否具有意义分别由CS、DS和OS字段1128、1129和1130指定。
字16(字段1150)可以包括标识设备的完成级别的设备级标识符或标记。
字17-23(字段1160)可以包括依赖于设备的信息。该字段是否有意义可以分别由CS、DS和OS字段1128、1129和1130指定。
根据示例实施例,根据对于询问的在传输响应IU中返回的控制单元状态、设备状态和操作状态信息,OS 103可以做出对关于花费比分配的时间更长的时间来完成的I/O操作采取什么动作的有根据的(informed)决定。
图12A图示了操作系统用于根据本发明的方面来确定决定什么时候从控制单元请求I/O操作的状态的方法。在步骤1265,当计时器弹出出现时,在步骤1270,操作系统错过中断处理机(MIH)接收控制。例如,MIH在发生计时器弹出后,每秒接收一次控制。在步骤1271,MIH从头到尾扫描已由在操作系统中运行的所有应用、中间件和子系统所发出的每个活动的I/O操作。在步骤1272确定是否I/O操作即将过期,例如是否在I/O操作的时间限的一秒内。如果是,在步骤1273确定是否I/O操作是用于传输模式(FCX)。如果I/O操作是用于传输模式,那么在步骤1250,建构询问DCW,并且更新活动的TCW以指向询问命令。否则,处理从步骤1274进行到步骤1278,在步骤1278,执行常规的“传统(heritage)”MIH处理。从步骤1250,MIH处理在步骤1271继续,或直到发生计时器弹出时、例如在步骤1265后一秒,在步骤1290终止。如果在步骤1272,确定I/O操作还没有要过期,那么在步骤1276进行检查以查看I/O操作时间是否已经超过其分配的时间。如果I/O操作还没有超过其分配的时间,那么在步骤1278发生惯例的传统(常规的)MIH处理。如果I/O操作时间确实已经过期,那么在步骤1276进行检查以查看是否已经发出询问命令。如果还没有发出询问命令,则这是命令不是传输模式命令(FCX)的指示,并在步骤1278执行传统MIH恢复处理。然而,如果,在步骤1276确定询问命令已经发出并且已经成功完成,那么在步骤1279检查询问结果以确定是否该设备被预定用于另一系统。如果询问信息指示设备被预定用于另一系统1140,那么不存在错误,并且未发生错过的中断。因此,在步骤1290处理终止。如果设备没有被预定用于某个其他系统,则在步骤1277将由询问返回的信息放置在待写入到用于诊断(diagnostic)目的的系统LOGREC数据表的记录中。然后在步骤1278处理以传统MIH处理而继续。
图12B图示了根据本发明的方面的用于确定I/O操作的状态的方法。在步骤1205将用于发起I/O操作的请求从OS 103发送到信道子系统108,并在步骤1207发送到控制单元110。在步骤1210,在控制单元110处接收和处理该请求。如果I/O操作接近其分配的执行时间的终点,如前面段落所述,在步骤1250,由操作系统发起询问操作,如图12A和图12B两者中所示。
询问开始于步骤1250,在其处OS 103在系统存储器102中建立询问控制块,并且向信道子系统108发送取消子信道。信道子系统108确定询问是否将被发送到控制单元。如果没有满足进行询问的上述条件,则传统MIH处理结束I/O操作,并且将错误模拟回到I/O的发起者。如果满足询问条件,则在步骤1225,从信道子系统108向控制单元110发送询问请求。在步骤1230,控制单元110接收询问请求。在步骤1235,控制单元110向信道子系统108发送询问响应,指示I/O操作、控制单元110以及执行询问I/O操作的I/O设备112的状态。在步骤1240,在信道子系统108处接收询问响应,该信道子系统108产生中断给OS。在步骤1245,OS接收该询问响应,建立LOGREC项以将状态信息记录在控制单元处,然后以如上所述的传统MIH处理而继续。
应该理解,不是必须执行图12所示的所有步骤以确定I/O操作的状态。此外,图12A和图12B中的步骤的顺序是可以如何执行处理的例子。同样地,也可以执行图12A和图12B中未示出的另外的步骤。
如上所述,可以按计算机实现的处理和用于实践那些处理的装置的形式来具体化各实施例。在示例实施例中,本发明以由一个或多个网络元件执行的计算机程序代码来具体化。各实施例包括在计算机可用介质1302上的如图13所示的计算机程序产品1300,该计算机可用介质1302带有包含体现在实体介质上的指令的计算机程序代码逻辑1304,作为一件产品。计算机可用介质1302的示例产品可以包括软盘、CD-ROM、硬盘驱动器、通用串行总线(USB)快闪驱动器或任何其他计算机可读存储介质,其中,当计算机程序代码逻辑1304被载入计算机并由其执行时,计算机变为用于实践本发明的装置。实施例包括计算机程序代码逻辑1304,例如无论是被存储在存储介质中、被载入计算机中和/或由计算机执行、或在一些传输介质上、比如在电线或电缆上传输、通过光纤传输或经由电磁辐射传输,其中,当计算机程序代码逻辑1304被载入计算机中并由其执行时,该计算机变成实践本发明的装置。当在通用微处理器上实现时,计算机程序代码逻辑1304段(segment)配置微处理器以建立具体逻辑电路。
虽然已经参考示例实施例描述了本发明,但本领域的技术人员将理解,在不背离本发明的范围内,可以做出各种改变,并且可以由等效物替换本发明的元件。此外,在不背离本发明的实质范围内,可以做出许多修改以使具体情况或材料适应于本发明的教导。因此,意要本发明不限于作为预期实现本发明的最佳模式的公开的具体实施例,而是本发明将包括落入所附权利要求的范围内的所有实施例。此外,术语第一、第二等的使用不是表示任何顺序或重要性,而是使用术语第一、第二等将一个元素与另一元素区分开。此外,术语“一个”等的使用不是表示对量的限制,而是表示存在所指项的至少一个。

Claims (20)

1.一种计算机程序产品,用于确定输入/输出(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操作的状态的信息。
2.根据权利要求1所述的计算机程序产品,其中,所述I/O操作与用于完成的时间段有关,并且所述预定时间量短于所述用于完成的时间段。
3.根据权利要求1所述的计算机程序产品,其中,所述询问命令包括指示为什么和何时发出了所述询问命令的信息。
4.根据权利要求1所述的计算机程序产品,其中,包括在所述响应中的、指示所述控制单元的状态的信息指示所述控制单元是否忙碌、正在执行恢复操作或者正响应于其他询问请求。
5.根据权利要求1所述的计算机程序产品,其中,包括在所述响应中的、指示所述I/O设备的状态的信息指示所述I/O设备是否被路径组预定、所述控制单元是否处于长时间忙碌状态、或所述I/O设备是否正在执行恢复处理。
6.根据权利要求1所述的计算机程序产品,其中,包括在所述响应中的、指示所述I/O操作的状态的信息指示操作是否出现、正在执行、等待另一I/O操作的完成、或等待依赖于设备的操作的执行。
7.根据权利要求1所述的计算机程序产品,其中,包括在来自所述控制单元的所述响应中的信息指示所述I/O设备是否被另一I/O处理系统预定。
8.一种被适配用于与控制单元通信的装置,该控制单元控制用于执行输入/输出(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操作的状态的信息。
9.根据权利要求8所述的装置,其中,所述I/O操作与用于完成的时间段相关,并且所述预定时间量短于所述用于完成的时间段。
10.根据权利要求8所述的装置,其中,所述询问命令包括指示为什么和何时发出了所述询问命令的信息。
11.根据权利要求8所述的装置,其中,包括在所述响应中的、指示所述控制单元的状态的信息指示所述控制单元是否忙碌、正在执行恢复操作或者正响应于其他询问请求。
12.根据权利要求8所述的装置,其中,包括在所述响应中的、指示所述I/O设备的状态的信息指示所述I/O设备是否被路径组预定、所述控制单元是否处于长时间忙碌状态、或所述I/O设备是否正在执行恢复处理。
13.根据权利要求8所述的装置,其中,包括在所述响应中的、指示所述I/O操作的状态的信息指示操作是否出现、正在执行、等待另一I/O操作的完成、或等待依赖于设备的操作的执行。
14.根据权利要求8所述的装置,其中,包括在来自所述控制单元的所述响应中的信息指示所述I/O设备是否被另一I/O处理系统预定。
15.一种用于确定输入/输出(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操作的状态的信息。
16.根据权利要求15所述的方法,其中,所述I/O操作与用于完成的时间段相关,而所述预定时间量短于所述用于完成的时间段。
17.根据权利要求15所述的方法,其中,所述询问命令包括指示为什么和何时发出了所述询问命令的信息。
18.根据权利要求15所述的方法,其中,包括在所述响应中的、指示所述控制单元的状态的信息指示所述控制单元是否忙碌、正在执行恢复操作或者正响应于其他询问请求。
19.根据权利要求15所述的方法,其中,包括在所述响应中的、指示所述I/O设备的状态的信息指示所述I/O设备是否被路径组或另一I/O处理系统预定、所述控制单元是否处于长时间忙碌状态、或所述I/O设备是否正在执行恢复处理。
20.根据权利要求15所述的方法,其中,包括在所述响应中的、指示所述I/O操作的状态的信息指示操作是否出现、正在执行、等待另一I/O操作的完成、或等待依赖于设备的操作的执行。
CN2009801089749A 2008-02-14 2009-02-09 用于确定输入/输出操作的状态的方法和系统 Active CN101971154B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/030,989 2008-02-14
US12/030,989 US8108570B2 (en) 2008-02-14 2008-02-14 Determining the state of an I/O operation
PCT/EP2009/051461 WO2009101056A2 (en) 2008-02-14 2009-02-09 Computer command and response for determining the state of an i/o operation

Publications (2)

Publication Number Publication Date
CN101971154A true CN101971154A (zh) 2011-02-09
CN101971154B CN101971154B (zh) 2013-10-30

Family

ID=40849178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801089749A Active CN101971154B (zh) 2008-02-14 2009-02-09 用于确定输入/输出操作的状态的方法和系统

Country Status (11)

Country Link
US (1) US8108570B2 (zh)
EP (1) EP2243086B1 (zh)
JP (1) JP4917175B2 (zh)
KR (1) KR101242959B1 (zh)
CN (1) CN101971154B (zh)
AT (1) ATE511675T1 (zh)
BR (1) BRPI0908135B1 (zh)
CA (1) CA2704136C (zh)
IL (1) IL207122A (zh)
MX (1) MX2010008886A (zh)
WO (1) WO2009101056A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103376404A (zh) * 2012-04-27 2013-10-30 富泰华工业(深圳)有限公司 芯片的输入/输出接口识别方法
CN103597458A (zh) * 2011-06-30 2014-02-19 国际商业机器公司 促进在信道子系统和输入/输出设备之间的传输模式输入/输出操作
CN106998525A (zh) * 2015-09-25 2017-08-01 柯尼卡美能达株式会社 通信装置、通信装置的控制方法以及通信系统

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040023379A (ko) * 2002-09-11 2004-03-18 이문기 과일을 첨가한 소시지의 제조방법
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
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
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
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
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O 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
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
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
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
US7908403B2 (en) 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
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
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
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
US7899944B2 (en) 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting 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
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
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
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
US7937504B2 (en) 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US8055807B2 (en) * 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US7904606B2 (en) 2008-07-31 2011-03-08 International Business Machines Corporation Transport control channel program chain linked branching
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US9015362B2 (en) 2010-07-16 2015-04-21 International Business Machines Corporation Monitoring network performance and detecting network faults using round trip transmission times
US8732357B2 (en) 2010-10-28 2014-05-20 International Business Machines Corporation Apparatus and method for dynamically enabling and disabling write XFR—RDY
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US11275675B2 (en) 2020-03-31 2022-03-15 International Business Machines Corporation Validation of a subset of a plurality of responses during protocol testing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6484217B1 (en) * 1999-04-20 2002-11-19 International Business Machines Corporation Managing shared devices in a data processing system
CN1474568A (zh) * 2002-08-06 2004-02-11 华为技术有限公司 多通道数据直接内存访问系统和方法

Family Cites Families (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1264096A (zh) 1970-06-27 1972-02-16
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
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
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
US4779188A (en) * 1983-12-14 1988-10-18 International Business Machines Corporation Selective guest system purge control
JPS6154527A (ja) * 1984-08-24 1986-03-18 Hitachi Ltd デイスク制御装置
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
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
DE69028462T2 (de) * 1989-08-11 1997-03-27 Ibm Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller Verbindung
EP0424618A3 (en) * 1989-10-24 1992-11-19 International Business Machines Corporation Input/output system
JPH04649A (ja) * 1990-04-18 1992-01-06 Nec Corp リモートチャネル装置の障害情報転送方式
JP2744113B2 (ja) * 1990-04-26 1998-04-28 株式会社東芝 計算機システム
CA2037708C (en) * 1990-05-04 1998-01-20 Richard J. Eickemeyer General purpose compound apparatus for instruction-level parallel processors
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
JPH0553881A (ja) * 1991-08-29 1993-03-05 Mitsubishi Electric 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
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 富士通株式会社 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法
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 株式会社日立製作所 バス利用方法および記憶制御装置
US5860022A (en) * 1994-07-26 1999-01-12 Hitachi, Ltd. Computer system and method of issuing input/output commands therefrom
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
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
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
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
US5889935A (en) * 1996-05-28 1999-03-30 Emc Corporation Disaster control features for remote data mirroring
JPH1011228A (ja) * 1996-06-24 1998-01-16 Fujitsu Ltd ディスクアレイ制御装置
TW384611B (en) * 1997-02-14 2000-03-11 Canon Kk Data communication apparatus and method
US5918028A (en) * 1997-07-08 1999-06-29 Motorola, Inc. Apparatus and method for smart host bus adapter for personal computer cards
JPH11175412A (ja) * 1997-12-12 1999-07-02 Nec Corp ディスク制御装置における状態情報採取方式及びプログラムを記録した機械読み取り可能な記録媒体
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
JP3139548B2 (ja) * 1998-10-22 2001-03-05 日本電気株式会社 エラーリトライ方法、エラーリトライシステム及びその記録媒体
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
JP3990833B2 (ja) * 1998-12-11 2007-10-17 キヤノン株式会社 通信制御方法及び装置
US6772207B1 (en) * 1999-01-28 2004-08-03 Brocade Communications Systems, Inc. System and method for managing fibre channel switching devices
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
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
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
US6694390B1 (en) * 2000-09-11 2004-02-17 Intel Corporation Managing bus transaction dependencies
US6633925B2 (en) * 2000-09-29 2003-10-14 Emc Corporation Operating system for generating overlapped input-output requests to a device in a disk array storage
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
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
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
US7007142B2 (en) * 2002-02-19 2006-02-28 Intel Corporation Network data storage-related operations
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
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
US7386704B2 (en) * 2002-10-31 2008-06-10 Lockheed Martin Corporation Pipeline accelerator including pipeline circuits in communication via a bus, and related system and method
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
US7000036B2 (en) * 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
US7085898B2 (en) 2003-05-12 2006-08-01 International Business Machines Corporation Coherency management for a “switchless” distributed shared memory computer system
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
JP2005115600A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd 情報処理装置及び方法
US7558827B2 (en) * 2003-10-17 2009-07-07 Nippon Telegraph And Telephone Corporation Mail distribution system, mail distribution method, and mail distribution program
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
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
JP4786312B2 (ja) * 2005-11-22 2011-10-05 株式会社日立製作所 記憶制御装置及び記憶制御装置のエラー情報管理方法
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
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
US7500030B2 (en) 2006-08-30 2009-03-03 International Business Machines Corporation Control of information units in fibre channel communications
US8032581B2 (en) * 2006-08-30 2011-10-04 International Business Machines Corporation Persistent information unit pacing
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
US8798084B2 (en) * 2007-04-13 2014-08-05 Hart Communication Foundation Increasing reliability and reducing latency 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
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
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
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output 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
US7908403B2 (en) 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
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
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
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
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
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing 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
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
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US7899944B2 (en) 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O 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
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
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
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
US20100064072A1 (en) 2008-09-09 2010-03-11 Emulex Design & Manufacturing Corporation Dynamically Adjustable Arbitration Scheme
JP5107880B2 (ja) 2008-12-10 2012-12-26 株式会社日立製作所 データ転送処理装置及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6484217B1 (en) * 1999-04-20 2002-11-19 International Business Machines Corporation Managing shared devices in a data processing system
CN1474568A (zh) * 2002-08-06 2004-02-11 华为技术有限公司 多通道数据直接内存访问系统和方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103597458A (zh) * 2011-06-30 2014-02-19 国际商业机器公司 促进在信道子系统和输入/输出设备之间的传输模式输入/输出操作
CN103597458B (zh) * 2011-06-30 2016-05-18 国际商业机器公司 用于输入/输出处理的方法和设备
CN103376404A (zh) * 2012-04-27 2013-10-30 富泰华工业(深圳)有限公司 芯片的输入/输出接口识别方法
CN103376404B (zh) * 2012-04-27 2017-06-13 富泰华工业(深圳)有限公司 芯片的输入/输出接口识别方法
CN106998525A (zh) * 2015-09-25 2017-08-01 柯尼卡美能达株式会社 通信装置、通信装置的控制方法以及通信系统
CN106998525B (zh) * 2015-09-25 2020-02-14 柯尼卡美能达株式会社 通信装置、通信装置的控制方法以及通信系统

Also Published As

Publication number Publication date
JP4917175B2 (ja) 2012-04-18
CA2704136A1 (en) 2009-08-20
US8108570B2 (en) 2012-01-31
IL207122A (en) 2014-06-30
CN101971154B (zh) 2013-10-30
BRPI0908135A2 (pt) 2017-07-25
CA2704136C (en) 2017-01-03
KR20100126283A (ko) 2010-12-01
WO2009101056A3 (en) 2009-11-05
JP2011512588A (ja) 2011-04-21
US20090210573A1 (en) 2009-08-20
EP2243086A2 (en) 2010-10-27
BRPI0908135B1 (pt) 2020-10-13
IL207122A0 (en) 2010-12-30
KR101242959B1 (ko) 2013-03-13
EP2243086B1 (en) 2011-06-01
MX2010008886A (es) 2010-08-31
WO2009101056A2 (en) 2009-08-20
ATE511675T1 (de) 2011-06-15

Similar Documents

Publication Publication Date Title
CN101971154B (zh) 用于确定输入/输出操作的状态的方法和系统
CN101946241B (zh) 处理控制单元和通道子系统之间的通信的方法和装置
US9720844B2 (en) Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8166206B2 (en) Cancel instruction and command for determining the state of an I/O operation
US9298379B2 (en) Bi-directional data transfer within a single I/O operation
US7904605B2 (en) Computer command and response for determining the state of an I/O operation
US7937507B2 (en) Extended measurement word determination at a channel subsystem of an I/O processing system
EP2181395B1 (en) Processing a variable length device command word at a control unit in an i/o processing system
US7899944B2 (en) Open exchange limiting in an I/O processing system
US8001298B2 (en) Providing extended measurement data in an I/O processing system
US20090210769A1 (en) Multiple crc insertion in an output data stream
CN101162444A (zh) 利于处理环境的输入/输出处理的方法和系统
US7496691B2 (en) Standard ATA queuing automation in serial ATA interface for creating a frame information structure (FIS) corresponding to command from transport layer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant