CN100573485C - 促进处理环境的输入/输出处理的方法和系统 - Google Patents
促进处理环境的输入/输出处理的方法和系统 Download PDFInfo
- Publication number
- CN100573485C CN100573485C CNB2007101616218A CN200710161621A CN100573485C CN 100573485 C CN100573485 C CN 100573485C CN B2007101616218 A CNB2007101616218 A CN B2007101616218A CN 200710161621 A CN200710161621 A CN 200710161621A CN 100573485 C CN100573485 C CN 100573485C
- Authority
- CN
- China
- Prior art keywords
- control module
- input
- output commands
- data
- execution
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/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
Abstract
通过容易地使得能够访问与输入/输出处理关联的信息来促进输入/输出处理。该信息包括由执行输入/输出命令的控制单元所提供的状态信息和测量数据。所述状态和测量数据是在传输控制字中所标识的状态控制块中被提供的,其进一步用于指定存储器中包括待执行的输入/输出命令的位置。
Description
技术领域
本发明总体涉及输入/输出处理,并且特别地,涉及促进对与输入/输出处理关联的数据的访问。
背景技术
输入/输出(I/O)操作用于在处理环境的输入/输出设备与存储器之间传送数据。具体地,通过执行输入/输出操作,将数据从存储器写入一个或多个输入/输出设备,并且将数据从一个或多个输入/输出设备读取到存储器。
为了促进输入/输出操作的处理,采用了处理环境的输入/输出子系统。该输入/输出子系统耦合于处理环境的输入/输出设备和主存储器,并且引导存储器与输入/输出设备之间的信息流。输入/输出子系统的一个例子是通道子系统。通道子系统将通道通路用作通信介质。每个通道通路包括耦合于控制单元的通道,该控制单元进一步耦合于一个或多个输入/输出设备。
通道子系统采用通道命令字在输入/输出设备与存储器之间传送数据。通道命令字指定待执行的命令,并且对于启动特定I/O操作的命令,其指定与该操作关联的存储区域、将要采取的措施(无论何时完成到达该区域的传送或者来自该区域的传送),以及其它选项。
在输入/输出处理期间,通过通道从存储器取回通道命令字的列表。通道解析来自通道命令字列表的每个命令,并且转发多个命令至耦合于该通道的控制单元,其中每个命令在其自己的实体中。控制单元然后处理命令。通道跟踪每个命令的状态并且控制何时要将下一命令集发送至控制单元用于处理。通道确保每个命令均在其自己的实体中被发送至控制单元。另外,通道推断与处理关联的特定信息。
发明内容
需要增强以上的命令的处理。例如,存在对这样的能力的需要,即该能力使得多个命令作为单个实体被发送至控制单元。进一步存在对这样的能力的需要,即该能力消除了对通道要跟踪正在由控制单元执行的各个命令的状态的需要。还进一步存在对这样的能力的需要,即该能力通过容易地使得能够访问与I/O处理关联的信息,例如读出数据(sense data)和测量数据,来促进输入/输出处理。
通过提供一种促进处理环境的输入/输出处理的方法,克服了现有技术的缺点并且提供了附加的优点。该方法包括,例如,通过所述处理环境的输入/输出通信适配器获取传输控制字,所述传输控制字指定了所述处理环境的存储器中包括待执行的多个输入/输出命令的位置,以及存储器中与所述多个输入/输出命令的执行相关的状态信息的位置;将所述多个输入/输出命令作为一个实体从所述输入/输出通信适配器转发至所述处理环境的控制单元;以及通过所述控制单元执行所述多个输入/输出命令以进行一个或多个输入/输出操作,其中所述执行是在所述输入/输出通信适配器没有跟踪与正在由所述控制单元执行的所述多个输入/输出命令中的各个输入/输出命令有关的状态的情况下进行的。
文中还描述并且要求保护对应于以上所总结的方法的系统和计算机程序产品。
通过本发明的技术实现了附加的特征和优点。文中详细描述了本发明的其它实施例和方面,并且将其看作是所要求保护的本发明的一部分。
附图说明
特别指出了本发明的一个或多个方面,并且在本说明书的结论处的权利要求中作为例子清楚地要求保护本发明的一个或多个方面。通过以下结合附图的详细描述,本发明的前述以及其它的目的、特征和优点显而易见,在附图中:
图1描绘了合并和使用本发明的一个或多个方面的处理环境的一个实施例;
图2a描绘了通道命令字的一个例子;
图2b描绘了通道命令字通道程序的一个例子;
图3描绘了在通道与控制单元之间的通信中使用以执行图2b的通道命令字通道程序的链路协议的一个实施例;
图4依照本发明的一方面描绘了传输控制字通道程序的一个实施例;
图5依照本发明的一方面描绘了用于在通道与控制单元之间通信以执行图4的传输控制字通道程序的链路协议的一个实施例;
图6描绘了用于在通道与控制单元之间通信以便执行通道命令字通道程序的四个读命令的链路协议的一个实施例;
图7依照本发明的一方面描绘了用于在通道与控制单元之间通信以处理传输控制字通道程序的四个读命令的链路协议的一个实施例;
图8描绘了依照本发明的一方面所使用的传输控制字的一个实施例;
图9描绘了依照本发明的一方面所使用的且由图8的传输控制字所指定的通道命令字描述符的一个实施例;
图10描绘了依照本发明的一方面所使用的且由图8的传输控制字所指定的结束状态的一个实施例;
图11描绘了为通道命令字通道程序所接收的响应信息的一个实施例;
图12依照本发明的一方面描绘了为传输控制字通道程序所接收的响应信息的一个实施例;以及
图13描绘了合并本发明的一个或多个方面的计算机程序产品的一个实施例。
具体实施方式
依照本发明的一方面,促进了输入/输出处理。例如,通过容易地使得能够对与输入/出处理关联的信息(例如状态和测量数据)进行访问,促进输入/输出处理。另外,在一个例子中,通过减少在用于进行输入/输出处理的处理环境的组件之间的通信,促进输入/输出处理。例如,减少在诸如通道的输入/输出(I/O)通信适配器与控制单元之间的交换和序列的数目。这是通过将多个命令作为单个实体从I/O通信适配器发送至控制单元用于控制单元的执行,以及通过控制单元将命令产生的数据(如果有的话)作为单个实体进行发送而实现的。
多个命令被包括在描述符(文中称为通道命令字描述符)中,其地址在传输控制字中被指定。从操作系统或其它应用将传输控制字发送至I/O通信适配器,I/O通信适配器又将描述符转发至控制单元用于处理。控制单元在I/O通信适配器没有跟踪与那些各个命令有关的状态的情况下处理每个命令。
参照图1描述了合并和使用本发明的一个或多个方面的处理环境的一个例子。处理环境100包括,例如,主存储器102、一个或多个中央处理器(CPU)104、存储控制元件106、通道子系统108、一个或多个控制单元110以及一个或多个输入/输出(I/O)设备112,下面对其每一个进行描述。
主存储器102存储从输入设备112输入的数据和程序。主存储器102是可直接寻址的,并且通过中央处理器104和通道子系统108提供对数据的高速处理。
中央处理器104是环境100的控制中心。其含有用于指令执行、中断措施、定时功能、初始程序加载,以及其它机器相关的功能的排序和处理设施。中央处理器104通过诸如双向或单向总线的连接114耦合于存储控制元件106。
存储控制元件106通过诸如总线的连接116耦合于主存储器102;通过连接114耦合于中央处理器104;并且通过连接118耦合于通道子系统108。存储控制元件106控制,例如,由CPU 104和通道子系统108所进行的请求的排队和执行。
如上所述,通道子系统108耦合于存储控制元件106,并且通过诸如串行链路的连接120耦合于控制单元中的每一个。通道子系统108引导输入/输出设备112与主存储器102之间的信息流。其免除了中央处理器直接与输入/输出设备通信的任务,并且准许数据处理与输入/输出处理并发地进行。通道子系统在管理到达或来自输入/输出设备112的信息流时使用一个或多个通道通路122作为通信链路。作为输入/输出处理的一部分,通道子系统108还实现以下通路管理功能:对通道通路可用性进行测试、选择可用的通道通路以及启动与输入/输出设备进行操作的执行。
每个通道通路122均包括通道124(在一个例子中,通道位于通道子系统内,如图1所示)、一个或多个控制单元110以及一个或多个连接120。在另一例子中,还有可能将一个或多个动态开关作为通道通路的一部分。动态开关耦合于通道和控制单元,并且提供在物理上将附于开关的任何两条链路互连的能力。
子通道(未示出)也位于通道子系统108内。一个子通道被提供并且专用于程序可通过通道子系统访问的每个输入/输出设备。子通道(例如,诸如表格的数据结构)向程序提供设备的逻辑外观(appearance)。每个子通道提供与关联的输入/输出设备112及其到通道子系统108的连接有关的信息。子通道还提供与输入/输出操作以及涉及关联的输入/输出设备的其它功能有关的信息。子通道是通道子系统108通过其向中央处理器104提供关于关联的输入/输出设备112的信息的装置,其通过执行输入/输出指令获取该信息。
通道子系统108耦合于一个或多个控制单元110。通过使用公共设施,每个输入/输出设备到通道所提供的链路接口的特性,每个控制单元提供了操作和控制一个或多个输入/输出设备和适配器的逻辑。公共设施规定了对输入/输出操作的执行、关于输入/输出设备和控制单元的状态的指示、对通过通道通路的数据传送的定时的控制,以及输入/输出设备控制的特定级别。
每个控制单元110通过连接126(例如,总线)附于一个或多个输入/输出设备112。输入/输出设备112在主存储器102和/或其它存储器中接收信息或存储信息。输入/输出设备的例子包括卡片阅读器和穿孔机、磁带机、直接访问存储设备、显示器、键盘、打印机、指点设备、远程处理设备、通信控制器以及基于传感器的装备,仅举几个例子。
在以下文献中对处理环境的一个或多个上述组件进一步进行了描述:“z/Architecture Principles of Operation,”Publication No.SA22-7832-04,5th Edition,September 2005;1995年10月24日授权的Cormier等人的题为“System For Transferring Data Between I/O DevicesAnd Main Or Expanded Storage Under Dynamic Control Of IndependentIndirect Address Words(IDAWS)”的第5,461,721号美国专利;以及1996年6月11日授权的Casper等人的题为“Method And System For PipeliningThe Processing Of Channel Command Words”的第5,526,484号美国专利,在此通过引用的方式将其每一个全部并入本说明书。IBM是美国纽约Armonk的国际商业机器公司的注册商标。文中所使用的其它名称可能是国际商业机器公司或其它公司的注册商标、商标或产品名称。
在一个实施例中,为了在设备112与存储器102之间传送数据,使用了通道命令字。通道命令字指定了待执行的命令,并且包括其它字段以控制处理。参照图2a描述了通道命令字的一个例子。通道命令字200包括,例如,指定了待执行的命令(例如,读、反向读、控制、读出和写)的命令代码202;用于控制I/O操作的多个标志204;指定了由待传送的CCW所指定的存储区域中的字节数的计数字段206,其用于指定了数据的传送的命令;以及数据地址208,其在采用直接寻址时指向主存储器中包括数据的位置,或者在采用修改的间接数据寻址时指向待处理的修改的间接数据地址字(MIDAWs)的列表(例如,相连列表(contiguous list))。在Brice等人于2006年8月15日提交的题为“Flexibly Controlling TheTransfer Of Data Between Input/Output Devices An d Memory”的序列号为11/464,613的美国申请中进一步描述了修改的间接寻址,在此通过引用的方式将其全部并入本说明书。
安排用于顺序执行的一个或多个通道命令字(CCW)形成了通道程序,这里称之为CCW通道程序。通过例如操作系统或其它软件来装配CCW通道程序。软件装配CCW并且获取分派给通道程序的存储器的地址。参照图2b描述了CCW通道程序的例子。CCW通道程序210包括,例如,定义范围(define extent)通道命令字(CCW)212,其具有指向存储器中随定义范围命令使用的定义范围数据216的位置的指针214。在该例中,通道中的传送(TIC)218跟随定义范围命令,其将通道程序提交到存储器中包括一个或多个其它的CCW(例如具有指向定位记录数据220的指针219的定位记录217,以及一个或多个读CCW 221)的另一区域(例如,应用区域)。每个读CCW 221均具有指向数据区域224的指针222。数据区域包括直接访问数据的地址或间接访问数据的数据地址字(例如,MIDAWs或IDAWs)的列表。另外,CCW通道程序210在通道子系统中包括由设备地址所定义的预定区域,称为子通道,用于由CCW通道程序的执行所产生的状态226。
参照图2b以及参照图3描述了CCW通道程序的处理。特别地,图3示出了当CCW通道程序正在执行时,在通道与控制单元之间发生的各种交换和序列的例子。在该例中,用于通信的链路协议是FICON(光纤连通性)。有关FICON的信息在“Fibre Channel Single Byte Command CodeSets-2Mapping Protocol(FC-SB-3),”T11/Project 1357-D/Rev.1.6,INCITS(March 2003)中进行了描述,在此通过引用的方式将其全部并入本说明书。
参照图3,通道300开启与控制单元302的交换,并且向控制单元302发送定义范围命令和与此关联的数据304。从定义范围CCW 212(图2b)取回命令,并且从定义范围数据区域216获取数据。通道使用TIC 218来定位定位记录CCW和读CCW。其从定位记录CCW 217(图2b)取回定位记录命令305(图3),并且从定位记录数据220获取数据。从读CCW221(图2b)取回读命令306(图3)。每一个均被发送至控制单元。
响应于通道的开启交换,控制单元开启与通道的交换308。这可以在定位命令305和/或读命令306之前或之后发生。与开启交换一起,将响应(CMR)转发至通道。CMR向通道提供指示:控制单元有效并且正在操作。
控制单元向通道发送所请求的数据310。另外,控制单元向通道提供状态并且关闭交换312。响应于此,通道存储数据、检查状态并且关闭交换314,其向控制单元指示已经接收到状态。
以上读4k数据的CCW通道程序的处理需要两个交换被开启和关闭以及七个序列。依照本发明的一方面,通过将通道程序的多个命令压缩(collapse)成一个命令字(称之为传输控制字(TCW))来减少通道与控制单元之间的交换和序列的数目。具体地,传输控制字指向包括多个命令的通道命令字描述符(CCWD)。TCW由主机通道执行并且不被控制单元发送或看到。
参照图4描述了读4k数据的通道程序的一个例子(如图2b所示),但其仅包括传输控制字,而不是分离的各个通道命令字。如图所示,文中称为TCW通道程序的通道程序400包括传输控制字402,其指定了存储器中通道命令字描述符(CCWD)404的位置,以及存储器中数据区域406或指向数据区域406的MIDAL 410(即,MIDAWs的列表)的位置,以及状态区域408。下面进一步详细描述传输控制字、通道命令字描述符以及状态。
参照图5描述了TCW通道程序的处理。用于这些通信的链路协议是,例如,光纤通道协议(FCP)。特别地,使用了FCP链路协议的三个阶段(three phases),允许使用支持FCP的主机总线适配器来支持CCW所控制的数据传送。在“Information Technology-Fibre Channel Protocol forSCSI,Third Version(FCP-3)”T10Project 1560-D,Revision 4,September13,2005中进一步描述了FCP及其阶段,在此通过引用的方式将其全部并入本说明书。
参照图5,通道500开启与控制单元502的交换,并且向控制单元发送通道命令字描述符504。在一个例子中,在FCP命令(称为FCP_CMNDIU)中将CCWD和序列开端(initiative)传送至控制单元。控制单元执行通道命令字描述符的多个命令(例如,定义范围命令、定位记录命令、读命令),并且通过例如FCP_Data IU向通道转发数据506。其还提供状态并且关闭交换508。作为一个例子,在FCP状态帧中发送最终状态,其中FCP状态帧在例如FCP_RSP IU有效载荷的第10或11字节中使一比特有效。FCP_RES_IU有效载荷用于传输FICON结束状态以及控制单元队列时间、断开时间、有效时间、所执行的最后的DCW的偏移、所执行的最后的DCW的剩余数据字节计数、CCWD的剩余数据字节计数,以及可能的读出数据。
在进一步的例子中,为了写4k的用户数据,通道如下使用FCP链路协议阶段:
1.在FCP_CMND IU中传送CCWD。
1.向控制单元传送序列开端以及数据的IU。(FCP传送准备就绪禁用)
3.在FCP状态帧中发送最终状态,其中FCP状态帧在例如FCP_RSPIU有效载荷的第10或11字节中使一比特有效。FCP_RES_INFO字段或读出字段用于传输FICON结束状态以及控制单元队列时间、断开时间、有效时间、所执行的最后的DCW的偏移、所执行的最后的DCW的剩余数据字节计数、CCWD的剩余数据字节计数,以及可能的读出数据。
通过执行图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),以及十四个通信序列。这与完成了与图6的CCW通道程序相同的任务的图7的TCW通道程序的三个序列和一个交换形成对比。
如图7中所描绘的,通道700开启与控制单元702的交换并且向控制单元发送通道命令字描述符704。如上所述,CCWD包括定义范围命令、两个定位记录命令以及四个读命令。响应于接收到CCWD,控制单元执行命令并且以单个序列向通道发送16k的数据706。另外,控制单元向通道提供状态并且关闭交换708。因而,TCW通道程序需要少得多的通信来传送与CCW通道程序相同的数据量。
参照图8-10描述了关于传输控制字、通道命令字描述符以及状态的进一步的细节。特别地,参照图8描述了传输控制字的一个实施例,参照图9描述了传输控制字所参考的通道命令字描述符的一个实施例,并且参照图10描述了也是由传输控制字所参考的结束状态的一个实施例。
参照图8,在一个例子中,传输控制字800包括多个字段,诸如,举例来说:
a)命令字段802:命令字段指示命令是否是TCW通道命令或传统通道CCW。TCW通道命令是X8命令,且X不等于零。举例来说,X8命令字段包括以下命令之一:
1)对于x=1,作为一个例子,命令是写TCW 命令,其向控制单元传送通道命令字描述符,以及用户数据(根据传输控制字中的通道命令字描述符数据字节计数字段);以及
2)对于x=2,作为一个例子,命令是读TCW 命令,其向控制单元传送通道命令字描述符,并且通道命令字描述符数据字节计数是控制单元将要向通道传输的数据的总量;
b)标志804:标志字段可以包括一个或多个标志。在该例中,其包括MIDAW标志,该MIDAW标志指示正在使用的是修改的间接寻址还是直接寻址。如果标志有效,则传输控制字中的地址810是修改的间接数据地址列表(MIDAL)的第一修改的间接数据地址字(MIDAW)的地址。否则,该地址是用于直接寻址的数据地址;
c)CCWD长度806:该字段包括由该传输控制字所指定的通道命令字描述符的长度;
d)CCWD数据字节计数808:该字段包括将要由通道命令字描述符中所有的(下面所描述的)描述符命令字(DCW)传送的用户数据的总量;
e)MIDAW的地址或数据地址810:该字段提供MIDAW的地址,假设标志字段804指示其应当是MIDAW地址,或者是用户数据的地址;
f)CCWD的地址812:该字段包括在存储器中定位通道命令字描述符的地址。下面进一步描述通道命令字描述符。
g)状态的地址814:该字段包括在存储器中为该传输控制字定位结束完成状态的地址。下面描述关于结束状态的进一步的信息。
由传输控制字所定义的、包括MIDAW或数据地址810、CCWD地址812和状态地址814的三个地址由例如主机总线适配器使用,以便执行FCP操作的等同物。这使得在通信中使用FCP链路阶段,而不是FICON阶段,从而显著增加了通道子系统的性能和效率。
如以上所指出的,传输控制字指定了待使用的通道命令字描述符。通道命令字描述符包括将要由控制单元执行的多个命令。因为通道没有跟踪与各个命令的执行有关的状态,所以命令是独立于通道而被执行的。控制单元接收作为单个单元的多个命令,并且负责以适当的方式执行命令。在一个例子中,在FCP链路协议中将CCWD作为FCP_CMND IU有效载荷发送至控制单元。通过免除通道跟踪各个命令的责任,显著增强了通道的性能。此外,控制单元通过一次就看到整个通道程序而获益。
参照图9描述了通道命令字描述符(CCWD)的一个实施例。通道命令字描述符900具有三个主要部分,包括,例如,标题902、多个DCW 904以及描述符数据906,下面对其每一个进行描述。
CCWD标题902包括以下字段,举例来说:
a)通道映像(Channel Image)Id 910:该字段标识通信中所涉及的通道;
b)控制单元映像Id 912:该字段标识与通道映像id 910所标识的通道通信的控制单元;
c)设备地址914:该字段标识耦合于在I/O通信中所涉及的控制单元的设备;
d)读或写字段916:该字段指示I/O操作是读还是写;
e)CDB CMD 918:该字段用于将这标识为CCWD;
f)I/O优先级920:该字段指示该I/O的优先级;
g)CCWD长度922:该字段指示CCWD的长度;
h)#DCWs 924:该字段指示用于该CCWD的描述符命令字的数目;
以及
i)CCWD数据字节计数926:该字段描述将要由CCWD传送的总的用户数据。
每个描述符命令字904均包括多个字段,诸如,举例来说:
a)命令字段930:该字段包括CCW命令(例如,像定义范围和定位记录这样的控制命令;读;写;等等);
b)标志字段932:该字段可以包括一个或多个标志。在该例中,标志字段932包括命令链标志,其指示是否存在命令链接;以及描述符数据存在标志,其指示在CCWD中跟随该DCW是否存在描述符数据。当写控制命令要求描述符数据时,该标志对写控制有效;
c)字节计数字段934:如果这是控制命令,则计数是CCWD中控制数据的字节数;否则,其是将要由该DCW传送的用户数据的计数。如果DCW命令是命令中间体(command intermediate)或空操作命令,则字节计数字段是零。
描述符数据906包括用于DCW写控制命令的数据936。该数据在CCWD中跟随数据所针对的DCW,并且DCW中的标志字段使其存在被获知。通过直接在描述符列表中指定控制数据,设备可以获取数据,而不需要设备进行分离的数据传送来获取它。
在一个实施例中,将诸如循环冗余校验(例如,FICON CRC)、纵向冗余校验(LRC)、校验和等的校验码应用在根据CCWD中DCW字节计数的总和所传送的CCWD数据上,并且当将CCWD传输至控制单元时,将分离的校验码应用于CCWD。例如,将校验码应用于正在由CCWD所传送的全部数据。这处于比在传输级别所应用的CRC更高的级别。将校验应用于所发送的每个数据分组,并且然后在收端累积和检验,以确保(如CCWD数据字节计数所指定的)整个数据完整且无差错的到达。
作为进一步的例子,对于CCWD本身来说,应用了校验码。例如,将代码附于信息。控制单元接收信息、校验代码,并且如果有效,则认为信息有效。
传输控制字还为结束状态指定位置。这允许操作系统在存储器中为来自用于TCW操作和读出数据的控制单元的附加定时器和计数信息指定区域,因而,保证在每个单元检查(unit check)条件下传送并行读出数据。参照图10描述了结束状态的一个例子。
在一个实施例中,结束状态控制块1000包括以下字段:
a)DCW剩余字节计数1002:该字段指示失效的DCW(即,在此处中断了DCW的执行)的剩余字节计数;
b)读出长度1004:该字段指定在附加读出数据中附于该控制块末尾的读出数据的长度;
c)响应长度1006:该字段指示该控制块的响应部分的长度;
d)CH映像Id 1008:该字段标识在通信中所涉及的通道;
e)CU映像Id 1010:该字段标识与由通道映像id 1008所标识的通道通信的控制单元;
f)设备地址1012:该字段标识耦合于在I/O通信中所涉及的控制单元的设备;
g)状态标志1014:该字段指定一个或多个状态标志。在“FibreChannel Single Byte Command Code Sets-2Mapping Protocol(FC-SB-3),”T11/Project 1357-D/Rev.1.6,INCITS(March 2003)中描述了状态标志的例子,在此通过引用的方式将其全部并入本说明书;
h)状态1016:该字段标识通信的状态,包括,例如,设备状态,在“z/Architectu re Principles of Operation,”Publication No.SA22-7832-04,5th Edition,September 2005中对其进一步进行了描述,在此通过引用的方式将其全部并入本说明书;
i)CCWD剩余字节计数1020:该字段指示CCWD数据字节计数的剩余字节计数,其是对于整个CCWD来说未传送的数据的剩余计数;
j)DCW偏移1022:如果所有的DCW均没有在CCWD中被执行,则这是在CCWD中失效的DCW的DCW偏移;
k)队列时间参数1024:该字段指定控制单元在对通道开启交换的情况下使I/O操作在其队列上的时间量;
l)延迟时间参数1026:该字段指定在对通道开启交换的情况下,控制单元由于控制单元数据高速缓存缺失而等待数据的时间量。控制单元必须访问介质以引用所请求的数据;
m)控制单元有效时间1028:该字段指定控制单元有效执行TCW的时间;
n)附加读出数据(如果有的话)1030:该字段包括对于控制单元在I/O操作期间遭遇单元检查的情况下的读出。
在“z/Architecture Principles of Operation,”Publication No.SA22-7832-04,5th Edition,September 2005中进一步描述了状态;并且在“Fibre Channel Single Byte Command Code Sets-2Mapping Protocol(FC-SB-3),”T11/Project 1357-D/Rev.1.6,INCITS(March 2003)中进一步描述了队列时间、延迟时间以及附加读出,在此通过引用的方式将其每一个全部并入本说明书。
对于传统FICON来说,命令响应是CCW通道程序的操作中重要的测量点。图11是由通道所看到的时间线(timeline),其描绘了由用于CCW通道程序的通道子系统保持跟踪的各种定时点(timing point)。举例来说,通道看到起始子通道A 1100、CMR B 1102、断开C 1104、重新连接D 1106以及结束状态E 1108。控制单元在结束状态时间处向通道提供CU队列时间以及CU延迟时间。
实际上,传统通道子系统进行多个步骤来收集用于通道子系统测量的各种时间。例如,参照图11,其在A 1100处对起始子通道的时间加时间戳,并且其在B 1102处对CMR的时间加时间戳。在断开时间C 1104处,其计算连接时间(CT=C-B)。其在D 1106处对重新连接的时间加时间戳,并且在E 1108处对结束状态时间加时间戳。由此,其计算总的连接时间CT=(C-B)+(E-D);总的起始未决时间SP=(B-A);以及断开时间DT=(E-A)-CT-SP。
然而,对于TCW来说,通道并不获得命令响应CMR以知道控制单元何时起动I/O操作。例如,参照图12的时间线,其仅看到起始子通道A1200以及结束状态E 1202。通道对于TCW操作并未看到CMR B 1204时间,以及起始于C 1206且结束于D 1208从介质检索数据所需要的时间。从介质检索数据的时间是TCW的CU延迟时间的一部分。CU队列时间(未示出)和CU延迟时间由控制单元在结束状态时间提供。
因而,对于TCW通道程序来说,通道对A 1200处起始子通道的时间以及E 1202处结束状态时间加时间戳,但却是控制单元对以下进行跟踪:操作何时开始以及执行各个命令并且提供该测量数据作为结束状态的一部分的总的时间。
举例来说,控制单元在结束状态处报告以下:
在图12中,AT=有效时间=(C-B)+(E-D)-这是图10中的CU有效时间1028;
QT=CU队列时间-这是控制单元在起动操作之前使操作在其队列上的时间量,并且是图10中的队列时间参数1024;以及
在图12中,DT=延迟时间=(D-C)-这是图10中的延迟时间参数1026。
根据控制单元所提供的定时器以及图12上由通道子系统在A和E处所提供的开始和结束时间戳,对于TCW命令提供了与传统CCW命令相同的测量数据。I/O子系统确定:
CMR时间(B-A(图12))=(E-A)-AT-DT-QT;
总的连接时间CT=CU报告的有效时间AT(图10中的1028);
总的起始未决时间SP=(E-A)-AT-DT;以及
断开时间=CU报告的延迟时间=(D-C)(图10中的1026)。
因此,控制单元负责跟踪各个命令的状态信息并且提供其相关的测量数据,免除了通道的该责任。操作系统仅仅将通道作为管道(conduit)而直接与控制单元通信。通道并不跟踪各个命令的状态信息,但是,通过使用I/O子系统时间戳A和E以及来自控制单元的三个定时器,I/O子系统提供了与传统CCW相同的测量数据,并且因而,相同的测量数据被提供给操作系统。与此同时,减少了通道的工作负荷。
可以在具有例如计算机可用介质的制品(例如,一个或多个计算机程序产品)中包括本发明的一个或多个方面。在此,介质具有例如计算机可读程序代码装置或逻辑(例如,指令、代码、命令等)以提供和促进本发明的能力。制品可以被包括作为计算机系统的一部分或被单独出售。
参照图13描述了合并本发明的一个或多个方面的制品或计算机程序产品的一个例子。计算机程序产品1300包括,例如,一个或多个计算机可用介质1302,以便在其上存储计算机可读程序代码装置或逻辑1304,从而提供和促进本发明的一个或多个方面。介质可以是电子、磁性、光学、电磁、红外或半导体系统(或装置或设备)或者传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可装卸计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的例子包括只读光盘存储器(CD-ROM)、读/写光盘(CD-R/W)和DVD。
由一个或多个计算机可读程序代码装置或逻辑所定义的一个或多个相互联系的模块的逻辑装配或者程序指令序列引导了本发明的一个或多个方面的性能。
有利地,依照本发明的一个或多个方面,通过使操作系统能够直接与控制单元通信并且通过免除I/O通信适配器必须跟踪与正在处理的各个命令有关的所有状态信息来增强I/O处理。也就是说,在操作系统与控制单元之间建立了直接通信通路,从而使得操作系统可以通过通道子系统向设备传送命令字的列表,而通道子系统不需要对各个命令的任何可见性或对各个命令进行处理。这减少了通信适配器的工作,并且增强了其性能。另外,通过使对所有命令的理解都由用于通道程序的控制单元来进行,控制单元获益。另外,通过使控制单元为其直接控制的间隔提供各种时间,而不是使通道子系统从接口上的不精确信号推断时间,提供了更精确的测量数据。
依照本发明的一个或多个方面,将良性(例如,操作系统或软件在创建时已知的可预测执行)CCW链压缩成一个控制块(文中称为CCW描述符(CCWD)),并且由文中称为传输控制字的CCW参考。可以将命令链CCW以及数据链CCW压缩到一个CCWD中。这减少了传送给定量的数据所需要的序列和交换的数目。使用单个交换,而不是对各个设备命令需要单独的序列。举例来说,这导致通过FICON在传送4k的数据所需要的交换和序列两方面减少2x。这使得FICON可与FCP竞争,特别是在小块传送上。使用FCP链路阶段,而不是使用FICON链路阶段。然而,除了必须在FCP_CMND IU中发送以允许FCP主机总线适配器随协议工作的比特和字节之外,在FCP_CMND IU和FC_RSP IU中的信息不是FCP。
TCW为I/O通信适配器提供信息以便向控制单元传输CCW命令的列表,以及向控制单元或者从控制单元传送用户数据。有利地,使用本发明的一个或多个方面的通道子系统还可以继续使用CCW通道程序,以及TCW通道程序。通过使用TCW,改进了传送例如小数据块的I/O操作的性能。此外,使用TCW和CCWD启用了用于读出数据的位置,其可以随结束状态一起被发送。
尽管以上描述了各种实施例,然而这些仅仅是例子。除了文中所描述的那些以外的处理环境,包括使用I/O子系统而不是通道子系统的其它环境,可以合并和使用本发明的一个或多个方面。另外,尽管已经示出了各种控制块,然而这些控制块内的信息的位置可以不同于文中所示出的。另外,每个控制块均可以包括附加的、比文中所描述的更少的或不同的信息。例如,可以有附加的、更少的和/或不同的字段,包括这样的字段,即该字段可以包括附加的、更少的和/或不同标志。另外,可以有附加的、更少的和/或不同的字段大小。更进一步地,尽管在实施例的各个部分中提及或描述了主存储器,然而本发明的一个或多个方面可以应用于其它存储器。再进一步地,尽管文中描述了诸如FICON和FCP的通信协议,然而本发明的一个或多个方面可以应用于其它协议。
此外,环境可以包括仿真器(例如,软件或其它仿真机制),其中对特定的体系结构或其子集进行仿真。在这样的环境中,仿真器的一个或多个仿真功能可以实现本发明的一个或多个方面,即使执行该仿真器的计算机可能具有与正在仿真的能力不同的体系结构。举例来说,在仿真模式中,对正在仿真的具体指令或操作进行编码,并且构建适当的仿真功能以实现各个指令或操作。
在其它的例子中,实现其它命令的TCW通道程序可以包括本发明的一个或多个方面。另外,TCW通道程序可以读取不同于文中所描述的数据量,并且仍然可以得益于本发明的一个或多个方面。在不背离本发明的精神的情况下,各种其它的例子和修改都是可能的。
在仿真环境中,主计算机包括,例如,存储指令和数据的存储器;从存储器取回指令以及视情况为取回的指令提供本地缓冲的指令取回单元;接收指令取回单元并且确定已经取回的指令的类型的指令解码单元;以及执行指令的指令执行单元。执行可以包括将数据加载到用于存储器的寄存器中;将数据从寄存器存储回存储器;或者如解码单元所确定的进行某种类型的算术或逻辑操作。在一个例子中,在软件中实现每个单元。例如,将正在由单元进行的操作作为仿真器软件内的一个或多个子例程来实现。
另外,适于存储和/或执行程序代码的数据处理系统是可用的,其包括通过系统总线直接或间接耦合于存储元件的至少一个处理器。存储元件包括,例如,在程序代码的实际执行期间所采用的局部存储器、大容量存储器,以及为了减少在执行期间必须从大容量存储器检索代码的次数而提供对至少一些程序代码的临时存储的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等)可以直接地或者通过插入I/O控制器而耦合于系统。网络适配器也可以耦合于系统,从而使得数据处理系统能够适于通过介入专用或公用网络耦合于其它的数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡正是几种可用类型的网络适配器。
可以在软件、固件、硬件或其组合中实现本发明的一个或多个方面的能力。可以提供机器可读的至少一个程序存储设备,其含有可由机器执行的至少一个指令程序,从而实现本发明的能力。
文中所描绘的流程图仅仅是例子。在不背离本发明的精神的情况下,文中所描述的这些示图或步骤(或操作)可以有很多变体。例如,可以以不同的顺序实现步骤,或者可以添加、删除或修改步骤。所有这些变体都被认为是所要求保护的本发明的一部分。
尽管已经详细描绘和描述了优选的实施例,然而对相关领域的技术人员将会显而易见的是,在不背离本发明的精神的情况下,可以进行各种修改、添加、替换等,并且因此认为这些都在如以下权利要求所限定的本发明的范围之内。
Claims (14)
1.一种促进处理环境的输入/输出处理的方法,所述方法包括:
通过所述处理环境的输入/输出通信适配器获取传输控制字,所述传输控制字指定了所述处理环境的存储器中包括待执行的多个输入/输出命令的位置,以及存储器中与所述多个输入/输出命令的执行相关的状态信息的位置;
将所述多个输入/输出命令作为一个实体从所述输入/输出通信适配器转发至所述处理环境的控制单元;以及
通过所述控制单元执行所述多个输入/输出命令以进行一个或多个输入/输出操作,其中所述执行是在所述输入/输出通信适配器没有跟踪与正在由所述控制单元执行的所述多个输入/输出命令中的各个输入/输出命令有关的状态的情况下进行的。
2.根据权利要求1的方法,其中所述状态信息包括在单元检查条件下所提供的并行读出数据。
3.根据权利要求1的方法,其中在由存储器中的所述位置所标识的状态控制块中提供所述状态信息。
4.根据权利要求3的方法,其进一步包括:
由所述控制单元确定与所述多个输入/输出命令的执行关联的测量数据;以及
在由所述传输控制字所指定的状态控制块中提供所述测量数据,所述控制单元的所述确定和提供使得所述输入/输出通信适配器不必推断所述测量数据。
5.根据权利要求4的方法,其中所述测量数据包括以下中的至少一个:队列时间参数,所述队列时间参数指定了所述控制单元在对所述输入/输出通信适配器开启交换的情况下使输入/输出操作在其队列上的时间量;以及延迟时间参数,所述延迟时间参数指定了所述控制单元在对所述输入/输出通信适配器开启所述交换的情况下,由于控制单元数据高速缓存缺失而等待数据的时间量。
6.根据权利要求4的方法,其中所述测量数据包括控制单元有效时间,所述控制单元有效时间指定了所述控制单元有效执行所述传输控制字的时间。
7.根据权利要求3的方法,其中所述状态控制块进一步包括与所述多个输入/输出命令中的失效输入/输出命令相关的信息。
8.根据权利要求7的方法,其中所述信息包括以下中的至少一个:对在何处中断所述输入/输出命令的执行的指示,以及对没有为所述多个输入/输出命令中的一个或多个输入/输出命令传送的数据量的指示。
9.一种促进处理环境的输入/输出处理的系统,所述系统包括:
所述处理环境的输入/输出通信适配器,其获取传输控制字,所述传输控制字指定了所述处理环境的存储器中包括待执行的多个输入/输出命令的位置,以及存储器中与所述多个输入/输出命令的执行相关的状态信息的位置;
所述处理环境的控制单元,其从所述输入/输出通信适配器接收作为一个实体的所述多个输入/输出命令,并且执行所述多个输入/输出命令以进行一个或多个输入/输出操作,其中所述执行是在所述输入/输出通信适配器没有跟踪与正在由所述控制单元执行的所述多个输入/输出命令中的各个输入/输出命令有关的状态的情况下进行的。
10.根据权利要求9的系统,其中所述控制单元进一步适于确定与所述多个输入/输出命令的执行关联的测量数据,并且其中在由所述传输控制字所指定的状态控制块中提供所述测量数据。
11.根据权利要求10的系统,其中所述测量数据包括以下中的至少一个:队列时间参数,所述队列时间参数指定了所述控制单元在对所述输入/输出通信适配器开启交换的情况下使输入/输出操作在其队列上的时间量;以及延迟时间参数,所述延迟时间参数指定了所述控制单元在对所述输入/输出通信适配器开启所述交换的情况下,由于控制单元数据高速缓存缺失而等待数据的时间量。
12.根据权利要求10的系统,其中所述测量数据包括控制单元有效时间,所述控制单元有效时间指定了所述控制单元有效执行所述传输控制字的时间。
13.根据权利要求9的系统,其中在由存储器中的所述位置所标识的状态控制块中提供所述状态信息,所述状态控制块包括与所述多个输入/输出命令中的失效输入/输出命令相关的信息。
14.根据权利要求13的系统,其中所述信息包括以下中的至少一个:对在何处中断所述输入/输出命令的执行的指示,以及对没有为所述多个输入/输出命令中的一个或多个输入/输出命令传送的数据量的指示。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/548,093 US7502873B2 (en) | 2006-10-10 | 2006-10-10 | Facilitating access to status and measurement data associated with input/output processing |
US11/548,093 | 2006-10-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101162445A CN101162445A (zh) | 2008-04-16 |
CN100573485C true CN100573485C (zh) | 2009-12-23 |
Family
ID=39297370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101616218A Active CN100573485C (zh) | 2006-10-10 | 2007-09-27 | 促进处理环境的输入/输出处理的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7502873B2 (zh) |
CN (1) | CN100573485C (zh) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US8312189B2 (en) | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
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 |
US8108570B2 (en) | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
US8176222B2 (en) * | 2008-02-14 | 2012-05-08 | International Business Machines Corporation | Early termination of an I/O operation in an I/O processing system |
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 |
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 |
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 |
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 |
US7908403B2 (en) * | 2008-02-14 | 2011-03-15 | International Business Machines Corporation | Reserved device access contention reduction |
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 |
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 |
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 |
US7899944B2 (en) * | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting 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 |
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 |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
US8082481B2 (en) | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
US7937504B2 (en) | 2008-07-31 | 2011-05-03 | International Business Machines Corporation | Transport control channel program message pairing |
US7904606B2 (en) * | 2008-07-31 | 2011-03-08 | International Business Machines Corporation | Transport control channel program chain linked branching |
US8055807B2 (en) * | 2008-07-31 | 2011-11-08 | International Business Machines Corporation | Transport control channel program chain linking including determining sequence order |
US8332542B2 (en) | 2009-11-12 | 2012-12-11 | International Business Machines Corporation | Communication with input/output system devices |
US8732357B2 (en) | 2010-10-28 | 2014-05-20 | International Business Machines Corporation | Apparatus and method for dynamically enabling and disabling write XFR—RDY |
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 |
US8364854B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8738811B2 (en) | 2011-06-01 | 2014-05-27 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
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 |
US8583988B2 (en) | 2011-06-01 | 2013-11-12 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8346978B1 (en) | 2011-06-30 | 2013-01-01 | 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 |
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 |
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 |
DE102014207417A1 (de) * | 2014-04-17 | 2015-10-22 | Robert Bosch Gmbh | Schnittstelleneinheit |
Family Cites Families (138)
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 |
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 | リモートチャネル装置の障害情報転送方式 |
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 |
US5388219A (en) | 1992-03-02 | 1995-02-07 | International Business Machines Corporation | Efficient channel and control unit for host computer |
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 |
US5894583A (en) | 1996-04-09 | 1999-04-13 | International Business Machines Corporation | Variable timeout method for improving missing-interrupt-handler operations in an environment having I/O devices shared by one or more systems |
US5758190A (en) | 1996-04-09 | 1998-05-26 | International Business Machines Corporation | Control unit threshold timeout controls for software missing interrupt handlers in operating systems |
US5768620A (en) | 1996-04-09 | 1998-06-16 | International Business Machines Corporation | Variable timeout method in a missing-interrupt-handler for I/O requests issued by the same operating system |
US5901327A (en) | 1996-05-28 | 1999-05-04 | Emc Corporation | Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring |
SG101460A1 (en) | 1997-02-14 | 2004-01-30 | Canon Kk | Data communication apparatus and method |
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 |
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 |
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 |
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 |
US6484217B1 (en) | 1999-04-20 | 2002-11-19 | International Business Machines Corporation | Managing shared devices in a data processing system |
TW549004B (en) | 1999-06-15 | 2003-08-21 | Matsushita Electric Works Ltd | Portable programming device for supervisory remote control system |
US6718139B1 (en) | 1999-09-13 | 2004-04-06 | Ciena Corporation | Optical fiber ring communication system |
US6651125B2 (en) | 1999-09-28 | 2003-11-18 | International Business Machines Corporation | Processing channel subsystem pending I/O work queues based on priorities |
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 |
US6678748B2 (en) | 2000-09-29 | 2004-01-13 | Emc Corporation | Method for optimizing multiple input/output requests to a single logical device |
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 |
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 |
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 |
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 |
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 |
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 |
KR100829471B1 (ko) | 2003-10-17 | 2008-05-19 | 니폰덴신뎅와 가부시키가이샤 | 메일 배송 시스템, 메일 배송방법 및 메일 배송 프로그램 |
KR20050043426A (ko) | 2003-11-06 | 2005-05-11 | 삼성전자주식회사 | 파이프라인 버스 시스템에서 커맨드 전송 방법 및 장치 |
US20050105456A1 (en) | 2003-11-18 | 2005-05-19 | Cookson Christopher J. | Double-sided optical disc |
US7634582B2 (en) | 2003-12-19 | 2009-12-15 | Intel Corporation | Method and architecture for optical networking between server and storage area networks |
US7564791B2 (en) | 2003-12-29 | 2009-07-21 | Intel Corporation | Monitoring packet flows |
US7382733B2 (en) | 2004-02-12 | 2008-06-03 | International Business Machines Corporation | Method for handling reordered data packets |
US7133988B2 (en) | 2004-02-25 | 2006-11-07 | Hitachi, Ltd. | Method and apparatus for managing direct I/O to storage systems in virtualization |
US20050223291A1 (en) | 2004-03-24 | 2005-10-06 | Zimmer Vincent J | Methods and apparatus to provide an execution mode transition |
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 |
GB2419198A (en) | 2004-10-14 | 2006-04-19 | Hewlett Packard Development Co | Identifying performance affecting causes in a data storage system |
JP4575119B2 (ja) | 2004-11-25 | 2010-11-04 | 株式会社日立製作所 | ストレージシステム |
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 | データ処理システム、データ処理方法、及びプログラム |
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 |
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 |
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 |
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 |
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 |
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 |
US8676219B2 (en) | 2007-04-13 | 2014-03-18 | Hart Communication Foundation | Combined wired and wireless communications with field devices in a process control environment |
US8020074B2 (en) | 2007-08-24 | 2011-09-13 | Datadirect Networks, Inc. | Method for auto-correction of errors in a RAID memory system |
US8108570B2 (en) | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
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 |
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 |
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 |
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 |
US7908403B2 (en) | 2008-02-14 | 2011-03-15 | International Business Machines Corporation | Reserved device access contention reduction |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
US8196149B2 (en) | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output processing system |
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 |
US7840717B2 (en) | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing a variable length device command word at a control unit in an I/O processing system |
US8166206B2 (en) | 2008-02-14 | 2012-04-24 | International Business Machines Corporation | Cancel instruction and command for determining the state of an I/O operation |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
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 |
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 |
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 |
US8001298B2 (en) | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data 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 |
-
2006
- 2006-10-10 US US11/548,093 patent/US7502873B2/en active Active
-
2007
- 2007-09-27 CN CNB2007101616218A patent/CN100573485C/zh active Active
-
2009
- 2009-02-03 US US12/364,615 patent/US7984198B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7984198B2 (en) | 2011-07-19 |
US20080147890A1 (en) | 2008-06-19 |
CN101162445A (zh) | 2008-04-16 |
US20090144586A1 (en) | 2009-06-04 |
US7502873B2 (en) | 2009-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100573485C (zh) | 促进处理环境的输入/输出处理的方法和系统 | |
CN100568203C (zh) | 利于处理环境的输入/输出处理的方法和系统 | |
CN101946241B (zh) | 处理控制单元和通道子系统之间的通信的方法和装置 | |
CN101946242B (zh) | 一种提供间接数据寻址的方法和系统 | |
US8082481B2 (en) | Multiple CRC insertion in an output data stream | |
US7937507B2 (en) | Extended measurement word determination at a channel subsystem of an I/O processing system | |
US7899944B2 (en) | Open exchange limiting in an I/O processing system | |
CN101946244B (zh) | 降低保留设备的访问竞争的方法和设备 | |
US7840717B2 (en) | Processing a variable length device command word at a control unit in an I/O processing system | |
US8001298B2 (en) | Providing extended measurement data in an I/O processing system | |
CN100533416C (zh) | 控制处理环境的数据传输的方法和系统 | |
JP4917175B2 (ja) | I/o動作の状態を判別するコンピュータ・プログラム、装置、及び方法 | |
CN101939730B (zh) | 用于单个i/o操作内的双向数据传输的方法和装置 | |
US7917813B2 (en) | Exception condition determination at a control unit in an I/O processing system | |
US20130205050A1 (en) | Determining extended capability of a channel path | |
CN102112974B (zh) | 传输控制通道程序处理 | |
TW200849089A (en) | Controlling instruction execution in a processing environment | |
CN100583048C (zh) | 传送数据的方法和系统 | |
JPH0233618A (ja) | 磁気デイスク装置のコマンド解析方式 | |
JPS60142417A (ja) | デ−タ処理装置における入出力制御方法及び装置 |
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 |