CN101939731A - 在i/o处理系统内的控制单元中处理变长设备命令字 - Google Patents
在i/o处理系统内的控制单元中处理变长设备命令字 Download PDFInfo
- Publication number
- CN101939731A CN101939731A CN2009801046989A CN200980104698A CN101939731A CN 101939731 A CN101939731 A CN 101939731A CN 2009801046989 A CN2009801046989 A CN 2009801046989A CN 200980104698 A CN200980104698 A CN 200980104698A CN 101939731 A CN101939731 A CN 101939731A
- Authority
- CN
- China
- Prior art keywords
- subsystem
- control data
- data
- command word
- control module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- 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
一种用于在输入/输出(I/O)处理系统内被配置为与I/O子系统通信的控制单元中处理变长设备命令字(DCW)的计算机程序产品、装置和方法。所述计算机程序产品包括有形存储介质,其可由处理电路读取并存储由所述处理电路执行以便执行方法的指令。所述方法包括在所述控制单元处接收来自所述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子系统的一个实例是通道子系统。通道子系统使用通道路径作为通信介质。每个通道路径包括与控制单元相连的通道,所述控制单元还与一个或多个I/O设备相连。
所述通道子系统可以使用通道命令字(CCW)在I/O设备和存储器之间传输数据。CCW指定要执行的I/O命令。对于发起特定I/O操作的命令,CCW指定与所述操作关联的存储区、每当去往或来自所述存储区的传输操作完成时要采取的操作以及其他选项。
在I/O处理期间,通道从存储器取回CCW列表。所述通道分析CCW列表中的每个命令并将多个命令(每个命令都位于其自己的实体内)转发到与所述通道相连的控制单元。所述控制单元然后处理这些命令。所述通道跟踪每个命令的状态并控制何时将下一组命令发送到控制单元以进行处理。所述通道确保将每个命令通过其自己的实体发送到控制单元。进而,所述通道针对每个命令推断与处理来自控制单元的响应关联的特定信息。
在每个CCW的基础上执行I/O处理可能造成通道子系统的大量处理开销,因为所述通道要分析CCW,跟踪状态信息以及对来自控制单元的响应做出反应。因此,将与解释和管理CCW和状态信息关联的大量处理负担从通道子系统转移到控制单元将是有利的。简化通道在I/O处理系统内的控制单元与操作系统之间的通信中的作用可以因执行的握手减少而增加通信吞吐量。简化通道在通信中的作用可以包括将多个命令组合成单个I/O操作。
某些命令需要控制数据和客户数据两者。当前,单个命令字(例如,CCW)无法同时传输控制数据和客户数据。包括控制数据和客户数据两者的命令需要多个传输以指定控制数据和客户数据两者。这将影响可以通过组合命令获得的吞吐量的增加。可以通过为单个命令字提供传输控制数据和客户数据两者的能力来提高性能。
发明内容
示例性实施例包括一种用于在输入/输出(I/O)处理系统内被配置为与I/O子系统通信的控制单元中处理变长设备命令字(DCW)的计算机程序产品。所述计算机程序产品包括有形存储介质,其可由处理电路读取并存储由所述处理电路执行以便执行方法的指令。所述方法包括在所述控制单元处接收来自所述I/O子系统的DCW。所述DCW指定一个或多个I/O操作并包括命令、控制数据计数以及具有由所述控制数据计数指定的变化长度的控制数据。响应于所述控制数据计数而提取所述控制数据。然后响应于所提取的控制数据而执行所述命令以执行所指定的一个或多个I/O操作。
另一示例性实施例包括一种用于在I/O处理系统中处理变长设备命令字DCW的装置。所述装置包括被配置为与I/O子系统通信的控制单元。所述控制单元执行方法,包括在所述控制单元处接收来自所述I/O子系统的DCW。所述DCW指定一个或多个I/O操作并包括命令、控制数据计数以及具有由所述控制数据计数指定的变化长度的控制数据。响应于所述控制数据计数而提取所述控制数据。然后响应于所提取的控制数据而执行所述命令以执行所指定的一个或多个I/O操作。
其他示例性实施例包括一种用于在输入/输出(I/O)处理系统内被配置为与I/O子系统通信的控制单元中处理变长设备命令字(DCW)的方法。所述方法包括在所述控制单元处接收来自所述I/O子系统的DCW。所述DCW指定一个或多个I/O操作并包括命令、控制数据计数以及具有由所述控制数据计数指定的变化长度的控制数据。响应于所述控制数据计数而提取所述控制数据。然后响应于说提取的控制数据而执行所述命令以执行所指定的一个或多个I/O操作。
通过参考以下附图和详细说明,根据实施例的其他制品、装置和/或方法对于本领域的技术人员而言将是显而易见的或将变得显而易见。所有此类其他制品、装置和/或方法均旨在包括在本说明中、位于本发明的范围内,以及受所附权利要求的保护。
附图说明
在说明书结尾处的权利要求中具体指出并明确要求保护被视为本发明的主题。从下面结合附图的详细说明,本发明的上述和其他目标、特性和优点是显而易见的,这些附图是:
图1示出了结合和使用本发明的一个或多个方面的I/O处理系统的一个实施例;
图2A示出了现有技术通道命令字的一个实例;
图2B示出了现有技术通道命令字通道程序的一个实例;
图3示出了用于通道和控制单元之间的通信以执行图2B的通道命令字通道程序的现有技术链路协议的一个实施例;
图4示出了根据本发明的一个方面的传输控制字(TCW)通道程序的一个实施例;
图5示出了根据本发明的一个方面的用于通道和控制单元之间的通信(未禁用XFER_RDY)以执行图4的TCW通道程序的链路协议的一个实施例;
图6示出了用于通道和控制单元之间的通信以执行通道命令字通道程序的四个写入命令的现有技术链路协议的一个实施例;
图7示出了根据本发明的一个方面的用于通道和控制单元之间的通信(未禁用XFER_RDY)以处理TCW通道程序的四个写入命令的链路协议的一个实施例;
图8示出了根据本发明的一个方面的控制单元和通道子系统的一个实施例;
图9示出了根据本发明的一个方面的TCCB的一个实施例;
图10示出了根据本发明的一个方面的DCW的一个实施例;
图11示出了根据本发明的一个方面的用于提供变长DCW的过程的一个实施例;以及
图12示出了结合本发明的一个或多个方面的制品的一个实施例。
详细描述通过实例的方式参考附图解释了本发明的优选实施例以及优点和特性。
具体实施方式
根据本发明的一个方面,通过允许单个命令字包括控制数据并且还传输客户数据来促进输入/输出(I/O)。向命令字添加1字节计数字段以定义命令所需的控制数据的字节计数。因此,命令字包括两个计数字段,一个用于控制数据而另一个用于客户数据。在一个示例性实施例中,变长控制数据紧跟命令字。
这通过减少用于执行I/O处理的I/O处理系统的组件之间的通信而促进了I/O处理。例如,减少了在诸如通道之类的I/O通信适配器和控制单元之间的交换和序列数。这通过作为由控制单元执行的单个实体(例如,作为同一控制字的一部分)将控制数据和客户数据发送到控制单元来实现。
将多个命令(例如,设备命令字或“DCW”)包括在此处称为传输命令控制块(TCCB)的块中,在传输控制字(TCW)中指定所述块的地址(间接或直接地址)。在一个示例性实施例中,将TCW从操作系统(OS)或其他应用发送到I/O通信适配器,后者又在命令消息中将TCCB转发到控制单元进行处理。所述控制单元处理每个命令,但是不通过I/O通信适配器跟踪与这些命令相关的状态。所述多个命令也被称为通道程序,在控制单元而不是在I/O通信适配器上分析和执行所述通道程序。
参考图1描述了结合和使用本发明的一个或多个方面的I/O处理系统的一个实例。I/O处理系统100包括主系统101,其进一步例如包括主存储器102、一个或多个中央处理单元(CPU)104、存储控制元件106以及通道子系统108。主系统101可以是大规模计算系统,例如大型机或服务器。I/O处理系统100还包括一个或多个控制单元110和一个或多个I/O设备112,将在下面逐一进行描述。
主存储器102存储数据和程序,所述数据和程序可以从I/O设备112输入。例如,主存储器102可以包括由一个或多个CPU 104执行的一个或多个操作系统(OS)103。例如,一个CPU 104可以执行操作系统103和操作系统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提供主系统101和控制单元110之间的通信接口。如上所述,通道子系统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提供一个子通道并且该子通道专用于该程序可访问的每个I/O设备112。子通道(例如,诸如表之类的数据结构)为程序提供设备的逻辑形式。每个子通道提供有关关联的I/O设备112以及所述I/O设备与通道子系统108的连接的信息。所述子通道还提供有关I/O操作以及涉及关联的I/O设备112的其他功能的信息。子通道是通道子系统108将有关关联的I/O设备112的信息提供给CPU 104时所用的手段,CPU 104通过执行I/O指令获取此信息。
通道子系统108与一个或多个控制单元110相连。每个控制单元110提供操作和控制一个或多个I/O设备112的逻辑并通过使用公共工具使每个I/O设备112的特性适合通道124提供的链路接口。所述公共工具提供I/O操作的执行、有关I/O设备112和控制单元110的状态指示、在通道路径122上数据传输的计时,以及特定级别的I/O设备112控制。
每个控制单元110通过连接126(例如,总线)与一个或多个I/O设备112相连。I/O设备112接收信息或将信息存储在主存储器102和/或其他存储器中。I/O设备112的实例包括读卡器和穿孔器、磁带单元、直接存取存储设备、显示器、键盘、打印机、指点设备、远程处理设备、通信控制器和基于传感器的设备,等等。
在“z/Architecture Principles of Operation(z/Architecture操作原理,出版号SA22-7832-05,第六版,2007年4月)”;Cormier等人的标题为“System For Transferring Data Between I/ODevices And Main Or Expanded Storage Under Dynamic Control OfIndependent Indirect Address Words(IDAWS)(用于在独立间接地址字(IDAWS)的动态控制下在I/O设备与主/扩展存储装置间传输数据的系统,1995年10月24日公告)”的美国专利第5,461,721号;以及Casper等人的标题为“Method And System For Pipelining The Processing OfChannel Command Words(用于通道命令字流水线处理的方法和系统,1996年6月11日公告)”的美国专利第5,526,484号(所有这些文献的全部内容都在此引入作为参考)中进一步描述了I/O处理系统100的上述组件中的一个或多个。IBM是位于美国纽约阿蒙克的国际商业机器公司的注册商标。此处所用的其他名称可能是国际商业机器公司或其他公司的注册商标、商标或产品名。
在一个实施例中,为了在I/O设备112与存储器102之间传输数据,将使用通道命令字(CCW)。CCW指定要执行的命令,并包括其他控制处理的字段。将参考图2A描述CCW的一个实例。CCW 200例如包括指定要执行的命令(例如,读取、回读、控制、读出和写入)的命令代码202;多个用于控制I/O操作的标志204;对于指定数据传输的命令,包括指定CCW 200所指定的存储区中要传输的字节数的计数字段206;以及当采用直接寻址时,指向主存储器中包括数据的位置,或者当采用修改后的间接数据寻址时,指向要处理的修改后的间接数据地址字(MIDAW)列表(例如,连续列表)的数据地址208。在Brice等人的标题为“Flexibly ControllingThe Transfer Of Data Between Input/Output Devices And Memory(灵活控制输入/输出设备和存储器间的数据传输,2006年8月15日申请)”的美国申请第11/464,613号(其全部内容在此引入作为参考)中进一步描述了修改后的间接寻址。
排列为顺序执行的一个或多个CCW形成一个通道程序,所述通道程序在此也称为CCW通道程序。CCW通道程序例如由操作系统或其他软件建立。所述软件建立CCW并获取分配给通道程序的存储器地址。将参考图2B描述CCW通道程序的一个实例。CCW通道程序210例如包括定义范围CCW 212,其具有指向要与定义范围命令一起使用的定义范围数据216的存储器中的某个位置的指针214。在该实例中,通道转移(TIC)218在定义范围命令之后,通道转移(TIC)218使通道程序引用存储器中包括一个或多个其他CCW(如具有指向查找记录数据220的指针219的查找记录217)以及一个或多个写入CCW 221的另一区域(例如应用区域)。每个写入CCW 221具有指向数据区域224的指针222。所述数据区域包括直接访问数据的地址或间接访问数据的数据地址字列表(例如,MIDAW或IDAW)。进而,CCW通道程序210包括通道子系统中由被称为状态226的子通道(从执行CCW通道程序产生)的设备地址所定义的预定区域。
参考图3以及参考图2B描述CCW通道程序的处理。具体而言,图3示出了当执行CCW通道程序时在通道与控制单元之间发生的各种交换和序列的一个实例。在该实例中,用于通信的链路协议为FICON(光纤连通性)。在“Fibre Channel Single Byte Command Code Sets-3 MappingProtocol(FC-SB-3)(光纤通道单字节命令代码集-3映射协议(FC-SB-3),T11/项目1357-D/修订版1.6,INCITS,2003年3月,其全部内容在此引入作为参考)”中说明了有关FICON的信息。
现在参考图3,通道300打开与控制单元302的交换并将与交换关联的定义范围命令和数据304发送到控制单元302。从定义范围CCW 212(图2B)取回所述命令,并从定义范围数据区域216获取所述数据。通道300使用TIC 218定位查找记录CCW和写入CCW。它从查找记录CCW 217(图2B)和查找记录数据220取回查找记录命令和数据306(图3)。从写入CCW 221和数据区域224(图2B)取回写入命令和数据308(图3)。将它们都发送到控制单元302。
响应于通道300的打开交换,控制单元302打开与通道300的交换310。这可以在查找命令和数据306和/或写入命令和数据308之前或之后发生。伴随着打开交换,将响应(CMR)转发到通道300。所述CMR向通道300提供控制单元302处于活动状态并正在运行的指示。
控制单元302将状态提供给通道300并关闭交换312。响应于此操作,通道300存储所述数据、检查状态并关闭交换314,以此向控制单元302指示已收到所述状态。
以上CCW通道程序写入4k数据的处理需要打开和关闭两个交换以及六个序列。通过将通道程序的多个命令折叠成TCCB,将减少通道与控制单元之间的交换和序列的总数。通道(例如,图1的通道124)使用TCW标识TCCB的位置以及用于访问和存储与执行通道程序关联的状态和数据的位置。所述TCW由通道解释,并且控制单元不发送或查看所述TCW。
参考图4描述了如图2B中所示但包括TCCB而不是各个单独CCW的用于写入4k数据的通道程序的一个实例。如图所示,通道程序400(在此称为TCW通道程序)包括TCW 402,TCW 402指定存储器中TCCB 404的位置以及存储器中数据区域406或指向数据区域406的TIDAL 410(例如,传输模式间接数据地址字(TIDAW)列表,类似于MIDAW)以及状态区域408的位置。TIDAW 0412、TIDAW 1414和TIDAW 2416(统称为TIDAW 412-416)可以引用数据区域406中的不同位置以获取或存储数据。TIDAW 412-416可以引用非连续数据块或连续数据块。TIDAL 410中的TIDAW 412-416可以按顺序位于存储器中或相对于彼此不连续地位于存储器中。虽然TIDAL 410中仅示出三个TIDAW 412-416,但将理解的是,TIDAL 410中可以包括任何数量的TIDAW。
参考图5描述了TCW通道程序的处理。用于这些通信的链路协议例如为光纤通道协议(FCP)。具体而言,使用FCP链路协议的三个阶段,从而允许使用支持FCP的主机总线适配器以执行由CCW控制的数据传输。在“Information Technology-Fibre Channel Protocol for SCSI,ThirdVersion(FCP-3)(信息技术-用于SCSI的光纤通道协议第三版(FCP-3),T10项目1560-D,修订版4,2005年9月13日,其全部内容在此引入作为参考)”中进一步说明了FCP及其各个阶段。
当启用XFER_RDY时,使用图5中示出的链路协议的实施例。在图5中示出的实施例中,直到控制单元502经由XFER_RDY IU 510请求数据506时,通道500才能将数据506发送到控制单元502。在备选示例性实施例中,禁用XFER_RDY并且所述控制单元不将XFER_RDY IU 510传输到通道500。因此,通道500在发送数据506之前不必等待控制单元502请求数据506。当通道500和控制单元502在地理上彼此相距很远(例如,大于二十千米、大于五十千米)时,可以使用禁用了XFER_RDY的该备选实施例以提高性能。除非另行指定,否则此处的讨论都假设启用XFER_RDY。
在进一步的实例中,为了写入4k客户数据,通道500使用FCP链路协议的各个阶段,如下所示:
1.在FCP_CMND IU中将TCCB和序列主动性(sequenceinitiative)传输到控制单元502。
2.等待控制单元准备好接收数据506的XFER_RDY IU指示。
3.将数据IU和序列主动性传输到控制单元502。
4.在FCP状态帧中发送最终状态,所述FCP状态帧例如在FCP_RSP IU有效负载的字节10或11中具有一个活动位。使用FCP_RSP_INFO字段或读出字段传输FICON结束状态以及附加状态信息。
通过执行图4的TCW通道程序,仅打开和关闭一次交换(参阅图5),而不是图2B的CCW通道程序的两次交换(参阅图3)。此外,与CCW通道程序的六个序列相比(参阅图2B-3),对于TCW通道程序而言,存在四个通信序列(参阅图4-5)。
对于TCW通道程序,即使向此程序添加附加命令,交换和序列数也保持不变。例如,将图6的CCW通道程序的通信与图7的TCW通道程序的通信进行比较。在图6的CCW通道程序中,在单独序列中将每个命令(例如,定义范围命令和数据600、查找记录命令和数据601、写入命令和数据602、写入命令和数据604、查找记录命令和数据606、写入命令和数据608以及写入命令和数据620)从通道610发送到控制单元612。此CCW通道程序需要打开和关闭两次交换(例如,打开交换622、624和关闭交换626、628)以及十个通信序列。将其与图7的TCW通道程序的四个序列和一次交换相比,图7的TCW通道程序与图6的CCW通道程序完成相同的任务。
如图7所示,通道700打开与控制单元702的交换并将TCCB 704发送到控制单元702。如上所述,TCCB 704在DCW中包括定义范围命令、两个查找记录命令以及四个写入命令。收到XFER_RDY IU 710之后,通道700在单个序列中将16k数据706传输到控制单元702。通道700可以在序列中的16k数据706中每4K插入一个CRC。每4K插入一个CRC允许控制单元702在完成TCCB 704中的写入命令之前增量地检验16K数据,而不是缓冲整个16K以便进行检验。此外,控制单元702将状态提供给通道700并关闭交换708。因此,图7的TCW通道程序需要少得多的通信即可传输与图6的CCW通道程序相同的数据量,同时通过在来自通道700的输出数据流中插入多个CRC而支持增量数据检验。
现在转到图8,其中更详细地示出了图1中支持TCW通道程序执行的通道子系统中的通道124和控制单元110的一个实施例。控制单元110包括控制单元控制逻辑802,控制单元控制逻辑802用于分析和处理经由连接120从通道124接收的包含TCCB(如图7的TCCB 704)的命令消息。控制单元控制逻辑802可以从在控制单元110处接收的TCCB中提取DCW和控制数据,以便经由连接126控制诸如I/O设备112之类的设备。控制单元控制逻辑802将设备命令和数据发送到I/O设备112并从I/O设备112接收状态信息和其他反馈。例如,I/O设备112可能因为针对I/O设备112的先前保留请求而忙碌。为了管理当控制单元110接收到多个访问同一I/O设备112的请求时可能引起的潜在设备保留竞争问题,控制单元控制逻辑802跟踪设备忙碌消息和关联的数据并将其存储在设备忙碌队列804中。在一个示例性实施例中,图1的OS 103保留I/O设备112以便在保留处于活动状态时阻止其他OS 103访问I/O设备112。虽然并非所有I/O操作都需要设备保留,但是可以使用设备保留支持需要在固定持续时间内进行独占访问的操作,例如磁盘格式化。
控制单元110还可以包括其他缓冲或存储元件(未示出)以存储与通道124和I/O设备112之间的通信关联的多个消息或状态信息。例如,位于控制单元110中的寄存器可以包括最大控制单元交换参数,其定义了控制单元110所支持的打开控制单元交换的最大数量。
通道子系统108中的通道124包括支持与控制单元110通信的元件。在一个示例性实施例中,通道控制逻辑806控制通道子系统108和控制单元110之间的通信。通道控制逻辑806可以经由连接120直接与控制单元控制逻辑802通过接口连接以发送命令和接收响应,例如传输命令和响应IU。备选地,可以在通道控制逻辑806和控制单元控制逻辑802之间布置消息传送接口和/或缓冲器(未示出)。
图9示出了根据本发明的一个方面的TCCB 900的一个实施例。图9中的TCCB 900位于由TCW指示的地址处。该地址可以是直接地址,也可以是间接地址,从而允许TCCB 900的内容位于一个存储位置中或分布在多个非连续存储位置间。如上所述,TCCB 900是由软件生成的控制块,然后通道124将其发送到控制单元110(例如,在传输命令IU中)以便执行。TCCB 900包含要由控制单元110执行的命令以及所述命令所需的任何控制数据。通道124不会查看TCCB 900的内容。通道124将TCCB 900打包并将其发送到控制单元110。这允许使用FCP传输协议而非FICON。
TCCB 900包括传输控制区域头(TCAH)902,在一个示例性实施例中,传输控制区域头(TCAH)902包括有关传输命令区域(TCA)904和TCA 904内的操作的信息(例如,长度、服务代码)。图9中示出的TCCB 900还包括变长TCA 904,变长TCA 904包括一个或多个DCW 906,每个DCW 906都可包括DCW控制数据908。在一个示例性实施例中,DCW控制数据908具有可变长度。在一个示例性实施例中,每个DCW 906包括命令标志(链)、控制数据长度以及读/写数据长度。DCW控制数据908是可选的(取决于DCW 906)并且包括用于DCW 906的控制参数。例如,DCW控制数据908可以包括定义范围和/或前缀参数。在一个示例性实施例中,DCW控制数据位于TCA 904内的DCW 906的结尾并且DCW 906不指向DCW控制数据。最后,TCCB 900包括TCA尾(TCAT)910,TCA尾(TCAT)910包含诸如要在TCCB 900中传输的字节计数之类的数据。
图10示出了根据本发明的一个方面的DCW 1000的一个实施例。在一个示例性实施例中,DCW 1000长度为8个字节再加上控制数据1002的长度。DCW包括命令字段1004、标志字段1006、保留字段1008、控制数据(CD)计数字段1010以及数据字节计数字段1012。DCW命令字段1004长度为1个字节并且与CCW中使用的CCW命令字节相同(但可以包括CCW未使用的附加命令代码)。标志字段1006包括8个位;在一个示例性实施例中,第二位是指向TCA 904中的下一DCW 1000的链命令。当此标志位被设为0时,指示这是TCA 904中的DCW程序的最后一个DCW1000。标志字段1006中的其他位被保留并被设为0。
CD计数字段1010是包含由此DCW 1000使用的控制数据1002的字节计数的1字节字段。控制数据1002被添加到DCW 1000的结尾。在一个示例性实施例中,当存在控制数据1002时,在DCW 1000之间使用的空间是填充到下一4字节边界的控制数据1002的大小,以便DCW 1000始终在4字节边界上开始。数据字节计数字段1012是4字节的DCW字节计数字段。这是客户数据(例如,图4中的数据406)的DCW计数。在一个示例性实施例中,此计数不包括要由此DCW命令传输的填充字节或CRC字节。此DCW字节计数字段1012与CCW中的计数字段具有相同的含义,只是它可以更大。如果DCW命令为立即命令或非操作命令(例如,不包含任何客户数据),则数据字节计数字段1012等于0。
在一个示例性实施例中,控制数据1002位于同一TCA 904中与控制数据1002关联的DCW 1000的结尾。在一个示例性实施例中,控制数据1002被填充到TCA 904中的下一4字节边界之外。控制数据计数字段1010反映控制数据1002的字节数。在一个示例性实施例中,TCA 904中的控制数据1002的最大长度为232个字节,假设具有一个DCW 1000并且TCA904的其余部分被此DCW 1000的控制数据占据。
图11示出了根据本发明的一个方面用于提供变长DCW的过程的一个实施例。在方块1102,控制单元接收变长DCW 1000。所述DCW 1000指定由命令1004定义的多个等效的遗留I/O操作(例如,定义范围、查找记录以及读取操作或写入操作等)、控制数据计数1010以及变长控制数据1002。控制数据的长度由控制数据计数指定。在方块1104,使用所述控制数据计数从所述DCW提取控制数据1002以确定要将DCW 1000结尾处的多少个字节包括在控制数据中。在方块1106,所述控制单元使用所述控制数据作为要执行的输入来执行所述命令。所述执行导致执行多个等效的遗留I/O操作。如果所述DCW还包括客户数据(例如,数据字节计数1012为非零),则响应于所述控制数据和所述客户数据而执行所述命令。此外,所述控制单元可以将所述命令的完成状态(例如,已成功完成、错误条件等)传输到主计算机系统。
因此,再次参考图2B和10,可以使用本发明的一个示例性实施例将定义范围CCW 212、查找记录CCW 217和写入CCW 221组合成单个DCW。此DCW是组合式命令,意味着:定义范围、查找记录和写入客户数据。在此示例性实施例中,范围和查找记录参数数据是作为DCW一部分的控制数据,其长度由控制数据计数1010定义。客户数据长度由数据字节计数1012控制。在同一DCW中,所传输的客户数据只能是写入(输出)或读取(输入),而不能同时是这两者。CCW内的命令的这种组合无法在当前实施方式中执行,因为使控制数据(定义范围参数和查找记录参数)到达控制单元的唯一方式是使通道将这些参数作为数据传输到控制单元。
示例性实施例的技术效果包括在同一DCW内传输客户数据和控制数据的能力。这可导致通过需要较少的交换而执行相同数量的功能来提高性能。
如上所述,各实施例可以体现在计算机实现的过程以及用于实现这些过程的装置的形式中。在一个示例性实施例中,本发明体现在由一个或多个网络元件执行的计算机程序代码中。各实施例包括计算机可用介质1202上的如图12中所示的计算机程序产品1200,其中计算机程序代码逻辑1204包含在有形介质中体现为制品的指令。计算机可用介质1202的示例性制品可包括软盘、CD-ROM、硬盘、通用串行总线(USB)闪存或其他任何计算机可读存储介质,其中,当计算机程序代码逻辑1204加载到计算机上并由所述计算机执行时,所述计算机变为用于实现本发明的装置。各实施例包括计算机程序代码逻辑1204,例如,无论是存储在存储介质中,加载到计算机上和/或由所述计算机执行,还是通过某些传输介质传输,例如通过电连线或线缆,通过光纤或通过电磁辐射,其中,当计算机程序代码逻辑1204加载到计算机上并由所述计算机执行时,所述计算机变为用于实现本发明的装置。当在通用微处理器上实现时,计算机程序代码逻辑1204配置所述微处理器以创建专用逻辑电路。
尽管参考示例性实施例对本发明进行了说明,但是本领域的技术人员将理解,可以在不偏离本发明范围的情况下做出各种变化并且使用等价的元件替换其中的元件。此外,可以做出许多修改以便在不偏离本发明的基本范围的情况下使特定的情况或材料符合本发明的教导。因此,本发明并非旨在限于被构想为执行本发明的最佳模式的所披露的特定实施例,本发明还包括所有处于所附权利要求的范围之内的实施例。而且,使用术语“第一”、“第二”等不表示任何顺序性或重要性,术语“第一”、“第二”等用于对元件进行区分。另外,使用术语“一”、“一个”等不表示数量限制,而是表示存在至少一个所引用的项。
权利要求书(按照条约第19条的修改)
1.一种用于在输入/输出I/O处理系统内被配置为与I/O子系统通信的控制单元中处理变长设备命令字DCW的计算机程序产品,所述计算机程序产品包括:
有形存储介质,其可由处理电路读取并存储由所述处理电路执行以便执行方法的指令,所述方法包括:
在所述控制单元处接收来自所述I/O子系统的设备命令字,所述
设备命令字指定一个或多个I/O操作并包括命令、控制数据计数以及
具有由所述控制数据计数指定的变化长度的控制数据;
响应于所述控制数据计数而提取所述控制数据;
响应于所提取的控制数据而执行所述命令以执行所指定的一个或多个I/O操作;以及
其中所述设备命令字还包括指定与所述设备命令字关联的客户数据量的客户数据计数。
2.如权利要求1中所述的计算机程序产品,其中所述客户数据计数具有大于零的值,并且所述方法还包括从所述I/O子系统接收客户数据。
3.如权利要求1中所述的计算机程序产品,其中所述客户数据计数具有大于零的值,并且所述方法还包括将所述客户数据传输到所述I/O子系统。
4.如权利要求1中所述的计算机程序产品,其中所述方法还包括完成所述I/O操作并响应于所述完成而将完成消息传输到所述I/O子系统。
5.如权利要求1中所述的计算机程序产品,其中通过传输命令控制块TCCB接收所述设备命令字,所述传输命令控制块包括传输命令区域TCA头、所述设备命令字所在的传输命令区域以及传输命令区域尾。
6.如权利要求5中所述的计算机程序产品,其中所述传输命令区域包括由所述控制单元执行的一个或多个其他命令。
7.如权利要求1中所述的计算机程序产品,其中所述I/O子系统是通道子系统。
8.一种用于在I/O处理系统中处理变长设备命令字DCW的装置,所述装置包括:
被配置为与I/O子系统通信的控制单元,所述控制单元执行包括以下操作的方法:
在所述控制单元处接收来自所述I/O子系统的指定一个或多个I/O操作的设备命令字,所述设备命令字包括命令、控制数据计数以及具有由所述控制数据计数指定的变化长度的控制数据;
响应于所述控制数据计数而提取所述控制数据;
响应于所提取的控制数据而执行所述命令以执行所指定的一个或多个I/O操作;以及
其中所述设备命令字还包括指定与所述设备命令字关联的客户数据量的客户数据计数。
9.如权利要求8中所述的装置,其中所述客户数据计数具有大于零的值,并且所述方法还包括从所述I/O子系统接收所述客户数据。
10.如权利要求9中所述的装置,其中所述客户数据计数具有大于零的值,并且所述方法还包括将所述客户数据传输到所述I/O子系统。
11.如权利要求8中所述的装置,其中所述方法还包括完成所述I/O操作并响应于所述完成而将完成消息传输到所述I/O子系统。
12.如权利要求8中所述的装置,其中通过传输命令控制块TCCB接收所述设备命令字,所述传输命令控制块包括传输命令区域TCA头、所述设备命令字所在的传输命令区域以及传输命令区域尾。
13.如权利要求12中所述的装置,其中所述传输命令区域包括由所述控制单元执行的一个或多个其他命令。
14.一种用于在输入/输出I/O处理系统内被配置为与I/O子系统通信的控制单元中处理变长设备命令字DCW的方法,所述方法包括:
在所述控制单元处接收来自主计算机系统的指定一个或多个I/O操作的设备命令字,所述设备命令字包括命令、控制数据计数以及具有由所述控制数据计数指定的变化长度的控制数据;
响应于所述控制数据计数而提取所述控制数据;以及
响应于所提取的控制数据而执行所述命令以执行所指定的一个或多个I/O操作;
其中所述设备命令字还包括指定与所述设备命令字关联的客户数据量的客户数据计数。
15.如权利要求14中所述的方法,其中所述客户数据计数具有大于零的值,并且所述方法还包括从所述I/O子系统接收所述客户数据。
16.如权利要求14中所述的方法,其中所述客户数据计数具有大于零的值,并且所述方法还包括将所述客户数据传输到所述I/O子系统。
17.如权利要求14中所述的方法,还包括完成所述I/O操作并响应于所述完成而将完成消息传输到所述I/O子系统。
Claims (20)
1.一种用于在输入/输出I/O处理系统内被配置为与I/O子系统通信的控制单元中处理变长设备命令字DCW的计算机程序产品,所述计算机程序产品包括:
有形存储介质,其可由处理电路读取并存储由所述处理电路执行以便执行方法的指令,所述方法包括:
在所述控制单元处接收来自所述I/O子系统的设备命令字,所述设备命令字指定一个或多个I/O操作并包括命令、控制数据计数以及具有由所述控制数据计数指定的变化长度的控制数据;
响应于所述控制数据计数而提取所述控制数据;以及
响应于所提取的控制数据而执行所述命令以执行所指定的一个或多个I/O操作。
2.如权利要求1中所述的计算机程序产品,其中所述设备命令字还包括指定与所述设备命令字关联的客户数据量的客户数据计数。
3.如权利要求2中所述的计算机程序产品,其中所述客户数据计数具有大于零的值,并且所述方法还包括从所述I/O子系统接收客户数据。
4.如权利要求2中所述的计算机程序产品,其中所述客户数据计数具有大于零的值,并且所述方法还包括将所述客户数据传输到所述I/O子系统。
5.如权利要求1中所述的计算机程序产品,其中所述方法还包括完成所述I/O操作并响应于所述完成而将完成消息传输到所述I/O子系统。
6.如权利要求1中所述的计算机程序产品,其中通过传输命令控制块TCCB接收所述设备命令字,所述传输命令控制块包括传输命令区域TCA头、所述设备命令字所在的传输命令区域以及传输命令区域尾。
7.如权利要求6中所述的计算机程序产品,其中所述传输命令区域包括由所述控制单元执行的一个或多个其他命令。
8.如权利要求1中所述的计算机程序产品,其中所述I/O子系统是通道子系统。
9.一种用于在I/O处理系统中处理变长设备命令字DCW的装置,所述装置包括:
被配置为与I/O子系统通信的控制单元,所述控制单元执行包括以下操作的方法:
在所述控制单元处接收来自所述I/O子系统的指定一个或多个I/O操作的设备命令字,所述设备命令字包括命令、控制数据计数以及具有由所述控制数据计数指定的变化长度的控制数据;
响应于所述控制数据计数而提取所述控制数据;以及
响应于所提取的控制数据而执行所述命令以执行所指定的一个或多个I/O操作。
10.如权利要求9中所述的装置,其中所述设备命令字还包括指定与所述设备命令字关联的客户数据量的客户数据计数。
11.如权利要求10中所述的装置,其中所述客户数据计数具有大于零的值,并且所述方法还包括从所述I/O子系统接收所述客户数据。
12.如权利要求10中所述的装置,其中所述客户数据计数具有大于零的值,并且所述方法还包括将所述客户数据传输到所述I/O子系统。
13.如权利要求9中所述的装置,其中所述方法还包括完成所述I/O操作并响应于所述完成而将完成消息传输到所述I/O子系统。
14.如权利要求9中所述的装置,其中通过传输命令控制块TCCB接收所述设备命令字,所述传输命令控制块包括传输命令区域TCA头、所述设备命令字所在的传输命令区域以及传输命令区域尾。
15.如权利要求14中所述的装置,其中所述传输命令区域包括由所述控制单元执行的一个或多个其他命令。
16.一种用于在输入/输出I/O处理系统内被配置为与I/O子系统通信的控制单元中处理变长设备命令字DCW的方法,所述方法包括:
在所述控制单元处接收来自主计算机系统的指定一个或多个I/O操作的设备命令字,所述设备命令字包括命令、控制数据计数以及具有由所述控制数据计数指定的变化长度的控制数据;
响应于所述控制数据计数而提取所述控制数据;以及
响应于所提取的控制数据而执行所述命令以执行所指定的一个或多个I/O操作。
17.如权利要求16中所述的方法,其中所述设备命令字还包括指定与所述设备命令字关联的客户数据量的客户数据计数。
18.如权利要求17中所述的方法,其中所述客户数据计数具有大于零的值,并且所述方法还包括从所述I/O子系统接收所述客户数据。
19.如权利要求17中所述的方法,其中所述客户数据计数具有大于零的值,并且所述方法还包括将所述客户数据传输到所述I/O子系统。
20.如权利要求16中所述的方法,还包括完成所述I/O操作并响应于所述完成而将完成消息传输到所述I/O子系统。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/030,939 US7840717B2 (en) | 2008-02-14 | 2008-02-14 | Processing a variable length device command word at a control unit in an I/O processing system |
US12/030,939 | 2008-02-14 | ||
PCT/EP2009/051463 WO2009101058A1 (en) | 2008-02-14 | 2009-02-09 | Processing a variable length device command word at a control unit in an i/o processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101939731A true CN101939731A (zh) | 2011-01-05 |
CN101939731B CN101939731B (zh) | 2012-10-03 |
Family
ID=40810537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801046989A Active CN101939731B (zh) | 2008-02-14 | 2009-02-09 | 处理变长设备命令字的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7840717B2 (zh) |
EP (1) | EP2181395B1 (zh) |
JP (1) | JP5159902B2 (zh) |
KR (1) | KR101243005B1 (zh) |
CN (1) | CN101939731B (zh) |
AT (1) | ATE504040T1 (zh) |
DE (1) | DE602009000984D1 (zh) |
WO (1) | WO2009101058A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868136A (zh) * | 2015-02-06 | 2016-08-17 | 联发科技股份有限公司 | 处理多个命令/命令帧的电子装置及命令帧处理方法 |
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 |
US8117347B2 (en) | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
US8082481B2 (en) | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
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 |
US8108570B2 (en) * | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
US7941570B2 (en) | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
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 |
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 |
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 |
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 |
US7908403B2 (en) * | 2008-02-14 | 2011-03-15 | International Business Machines Corporation | Reserved device access contention reduction |
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 |
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 |
US8312189B2 (en) | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
US8196149B2 (en) | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output processing system |
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 |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
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 |
US20110298598A1 (en) * | 2010-06-02 | 2011-12-08 | Sokwoo Rhee | System and Method for Low Latency Sensor Network |
US8364853B2 (en) | 2011-06-01 | 2013-01-29 | 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 |
US8738811B2 (en) | 2011-06-01 | 2014-05-27 | 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 |
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 |
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 |
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 |
US10642706B2 (en) | 2016-07-20 | 2020-05-05 | International Business Machines Corporation | Detection and recovery of lost host enabled facilities |
US11714808B2 (en) | 2021-09-08 | 2023-08-01 | International Business Machines Corporation | Pattern search request embedded in a transport mode command word for a channel subsystem in a storage system |
Family Cites Families (137)
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 |
JPH01112344A (ja) * | 1987-10-26 | 1989-05-01 | Fujitsu Ltd | 入出力制御ソフトウェアの試験制御方式 |
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 |
EP0412268B1 (en) * | 1989-08-11 | 1996-09-11 | International Business Machines Corporation | Apparatus for interconnecting a control unit having a parallel bus with a channel having a serial link |
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 |
EP0545927B1 (en) * | 1990-05-04 | 2000-06-28 | International Business Machines Corporation | System for preparing instructions for instruction parallel processor and system with mechanism for branching in the middle of a compound instruction |
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 |
US5758190A (en) | 1996-04-09 | 1998-05-26 | International Business Machines Corporation | Control unit threshold timeout controls for software missing interrupt handlers in operating systems |
US5768620A (en) | 1996-04-09 | 1998-06-16 | International Business Machines Corporation | Variable timeout method in a missing-interrupt-handler for I/O requests issued by the same operating system |
US5894583A (en) | 1996-04-09 | 1999-04-13 | International Business Machines Corporation | Variable timeout method for improving missing-interrupt-handler operations in an environment having I/O devices shared by one or more systems |
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 |
US5812881A (en) * | 1997-04-10 | 1998-09-22 | International Business Machines Corporation | Handshake minimizing serial to parallel bus interface in a data processing system |
US5996043A (en) * | 1997-06-13 | 1999-11-30 | Micron Technology, Inc. | Two step memory device command buffer apparatus and method and memory devices and computer systems using same |
US5825711A (en) * | 1997-06-13 | 1998-10-20 | Micron Technology, Inc. | Method and system for storing and processing multiple memory addresses |
US6202119B1 (en) * | 1997-12-19 | 2001-03-13 | Micron Technology, Inc. | Method and system for processing pipelined memory commands |
US6353612B1 (en) | 1998-06-19 | 2002-03-05 | Brocade Communications Systems, Inc. | Probing device |
US6693880B2 (en) | 1998-09-10 | 2004-02-17 | International Business Machines Corporation | System of controlling the flow of information between senders and receivers across links being used as channels |
US6185631B1 (en) * | 1998-10-14 | 2001-02-06 | International Business Machines Corporation | Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence |
US6230218B1 (en) | 1998-10-14 | 2001-05-08 | International Business Machines Corporation | Apparatus for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence |
US6343335B1 (en) | 1998-10-29 | 2002-01-29 | International Business Machines Corporation | System for repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry |
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 |
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 |
JP4678471B2 (ja) * | 2000-06-22 | 2011-04-27 | マイクロン テクノロジー, インク. | 均衡が取れたデュアルエッジでトリガーされたデータビットシフトの回路および方法 |
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 |
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 |
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 |
US6826661B2 (en) | 2002-08-30 | 2004-11-30 | Veritas Operating Corporation | Methods and systems for storage architectures |
US20040054776A1 (en) | 2002-09-16 | 2004-03-18 | Finisar Corporation | Network expert analysis process |
US7539777B1 (en) | 2002-10-25 | 2009-05-26 | Cisco Technology, Inc. | Method and system for network time protocol forwarding |
US7080094B2 (en) | 2002-10-29 | 2006-07-18 | Lockheed Martin Corporation | Hardware accelerated validating parser |
US7418574B2 (en) | 2002-10-31 | 2008-08-26 | Lockheed Martin Corporation | Configuring a portion of a pipeline accelerator to generate pipeline date without a program instruction |
US7202801B2 (en) | 2002-12-11 | 2007-04-10 | Geospatial Technologies, Inc. | Method and apparatus for an automated location-based, dynamic notification system (ALDNS) |
US7277387B2 (en) | 2003-01-30 | 2007-10-02 | Wind River Systems, Inc. | Package manager |
US7324455B2 (en) | 2003-03-14 | 2008-01-29 | International Business Machines Corporation | Transfer of error-analysis and statistical data in a fibre channel input/output system |
US6915378B2 (en) | 2003-04-23 | 2005-07-05 | Hypernova Technologies, Inc. | Method and system for improving the performance of a processing system |
US7085898B2 (en) | 2003-05-12 | 2006-08-01 | International Business Machines Corporation | Coherency management for a “switchless” distributed shared memory computer system |
US7000036B2 (en) | 2003-05-12 | 2006-02-14 | International Business Machines Corporation | Extended input/output measurement facilities |
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 |
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 |
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 |
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 | データ処理システム、データ処理方法、及びプログラム |
US7718917B2 (en) | 2005-07-08 | 2010-05-18 | Gm Global Technology Operations, Inc. | Hybrid laser and resistance welding system and method |
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 |
JP4527640B2 (ja) | 2005-09-15 | 2010-08-18 | 株式会社ソニー・コンピュータエンタテインメント | データ読出装置 |
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 |
US8406248B2 (en) * | 2007-04-13 | 2013-03-26 | Hart Communication Foundation | Priority-based scheduling and routing in a wireless network |
US8020074B2 (en) | 2007-08-24 | 2011-09-13 | Datadirect Networks, Inc. | Method for auto-correction of errors in a RAID memory system |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
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 |
US8108570B2 (en) | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | 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 |
US8117347B2 (en) | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
US8082481B2 (en) | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
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 |
US7899944B2 (en) | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting 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 |
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 |
US7908403B2 (en) | 2008-02-14 | 2011-03-15 | International Business Machines Corporation | Reserved device access contention reduction |
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 |
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 |
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 |
US7941570B2 (en) | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
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 |
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 |
-
2008
- 2008-02-14 US US12/030,939 patent/US7840717B2/en active Active
-
2009
- 2009-02-09 DE DE602009000984T patent/DE602009000984D1/de active Active
- 2009-02-09 JP JP2010546305A patent/JP5159902B2/ja active Active
- 2009-02-09 AT AT09709864T patent/ATE504040T1/de not_active IP Right Cessation
- 2009-02-09 EP EP09709864A patent/EP2181395B1/en active Active
- 2009-02-09 KR KR1020107016970A patent/KR101243005B1/ko active IP Right Grant
- 2009-02-09 CN CN2009801046989A patent/CN101939731B/zh active Active
- 2009-02-09 WO PCT/EP2009/051463 patent/WO2009101058A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868136A (zh) * | 2015-02-06 | 2016-08-17 | 联发科技股份有限公司 | 处理多个命令/命令帧的电子装置及命令帧处理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2009101058A4 (en) | 2009-10-15 |
DE602009000984D1 (de) | 2011-05-12 |
JP5159902B2 (ja) | 2013-03-13 |
KR20100125234A (ko) | 2010-11-30 |
ATE504040T1 (de) | 2011-04-15 |
US20090210559A1 (en) | 2009-08-20 |
JP2011512590A (ja) | 2011-04-21 |
CN101939731B (zh) | 2012-10-03 |
EP2181395B1 (en) | 2011-03-30 |
KR101243005B1 (ko) | 2013-03-13 |
US7840717B2 (en) | 2010-11-23 |
WO2009101058A1 (en) | 2009-08-20 |
EP2181395A1 (en) | 2010-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101939731B (zh) | 处理变长设备命令字的系统和方法 | |
CN101939730B (zh) | 用于单个i/o操作内的双向数据传输的方法和装置 | |
CN101946246B (zh) | 促进主计算机系统处的i/o操作的i/o处理的方法和系统 | |
CN101946242B (zh) | 一种提供间接数据寻址的方法和系统 | |
US8082481B2 (en) | Multiple CRC insertion in an output data stream |
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 |