CN101946246B - 促进主计算机系统处的i/o操作的i/o处理的方法和系统 - Google Patents

促进主计算机系统处的i/o操作的i/o处理的方法和系统 Download PDF

Info

Publication number
CN101946246B
CN101946246B CN2009801048611A CN200980104861A CN101946246B CN 101946246 B CN101946246 B CN 101946246B CN 2009801048611 A CN2009801048611 A CN 2009801048611A CN 200980104861 A CN200980104861 A CN 200980104861A CN 101946246 B CN101946246 B CN 101946246B
Authority
CN
China
Prior art keywords
control module
computer system
tcw
mainframe computer
address
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
Application number
CN2009801048611A
Other languages
English (en)
Other versions
CN101946246A (zh
Inventor
D·卡斯帕
J·弗拉纳根
C·黄
M·凯洛斯
U·恩尤库
D·莱迪
G·西特曼三世
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101946246A publication Critical patent/CN101946246A/zh
Application granted granted Critical
Publication of CN101946246B publication Critical patent/CN101946246B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program 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/126Program 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance

Abstract

一种用于促进被配置为与控制单元通信的主计算机系统处的输入/输出(I/O)操作的I/O处理的计算机程序产品、装置和方法。所述计算机程序产品包括有形存储介质,其可由处理电路读取并存储由所述处理电路执行以便执行方法的指令。所述方法包括所述主计算机系统获取I/O操作的传输命令字(TCW)。所述TCW指定一个或多个I/O命令的位置以及标志。所述标志被设为指示所述位置是间接地址。所述主计算机系统从所述TCW提取所述一个或多个I/O命令的位置以及所述标志。所述主计算机系统响应于所述TCW指定的所述位置以及所述标志而收集所述一个或多个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设备之间引导信息流。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操作。通过将两个或更多命令一起组合在单个I/O操作中来修改命令序列将需要更大的数据区来存储命令并且数据区的长度将随着单个I/O操作内组合的命令大小和数量而变化。 
目前,单个I/O操作可以支持由单个直接地址引用的单个固定大小的命令数据区。这限制了可以在单个I/O操作内组合在一起的命令数,从而限制了可以通过组合命令获取的吞吐量增加。此外,这限制了将命令存储到连续存储区的方式。通过使命令分布到各个位置可提高性能。因此,本领域需要能够将组成单个I/O操作的多个命令存储在非连续存储区内以及使所需的存储量能够随不同的I/O操作而变化。 
发明内容
示例性实施例包括一种用于促进被配置为与控制单元通信的主计算机系统处的输入/输出I/O操作的I/O处理的计算机程序产品。所述计算机程序产品包括有形存储介质,其可由处理电路读取并存储由所述处理电路执行以便执行方法的指令。所述方法包括所述主计算机系统获取I/O操作的传输命令字(TCW)。所述TCW指定一个或多个I/O命令的位置以及标志。所述标志被设为指示所述位置是间接地址。所述主计算机系统从所述TCW提取所述一个或多个I/O命令的位置以及所述标志。所述主计算机系统响应于所述TCW指定的所述位置以及所述标志而收集所述一个或多个I/O命令,然后将所述一个或多个I/O命令转发到所述控制单元以便执行。 
其他示例性实施例包括一种用于在被配置为与控制单元通信的主计算机系统处提供控制块的间接数据寻址的装置。所述主计算机系统获取I/O操作的传输命令字(TCW)。所述TCW指定一个或多个I/O命令的位置 以及标志。所述标志被设为指示所述位置是间接地址。从所述TCW提取所述一个或多个I/O命令的位置以及所述标志。根据所述TCW指定的所述位置以及所述标志而收集所述一个或多个I/O命令,然后将所述一个或多个I/O命令转发到所述控制单元以便执行。 
其他示例性实施例包括一种用于在被配置为与控制单元通信的主计算机系统处提供控制块的间接数据寻址的方法。所述方法包括获取I/O操作的传输命令字(TCW)。所述TCW指定一个或多个I/O命令的位置以及标志。所述标志被设为指示所述位置是间接地址。从所述TCW提取所述一个或多个I/O命令的位置以及所述标志。根据所述TCW指定的所述位置以及所述标志而收集所述一个或多个I/O命令。将所述一个或多个I/O命令转发到所述控制单元以便执行。 
通过参考以下附图和详细说明,根据实施例的其他制品、装置和/或方法对于本领域的技术人员而言将是显而易见的或将变得显而易见。所有此类其他制品、装置和/或方法均旨在包括在本说明中、位于本发明的范围内,以及受所附权利要求的保护。 
附图说明
在说明书结尾处的权利要求中具体指出并明确要求保护被视为本发明的主题。从下面结合附图的详细说明,本发明的上述和其他目标、特性和优点是显而易见的,这些附图是: 
图1示出了结合和使用本发明的一个或多个方面的I/O处理系统的一个实施例; 
图2A示出了现有技术通道命令字的一个实例; 
图2B示出了现有技术通道命令字通道程序的一个实例; 
图3示出了用于通道和控制单元之间的通信以执行图2B的通道命令字通道程序的现有技术链路协议的一个实施例; 
图4示出了根据本发明的一个方面的传输控制字(TCW)通道程序的一个实施例; 
图5示出了根据本发明的一个方面的用于通道和控制单元之间的通信以执行图4的TCW通道程序的链路协议的一个实施例; 
图6示出了用于通道和控制单元之间的通信以执行通道命令字通道程序的四个写入命令的现有技术链路协议的一个实施例; 
图7示出了根据本发明的一个方面的用于通道和控制单元之间的通信以处理TCW通道程序的四个写入命令的链路协议的一个实施例; 
图8示出了根据本发明的一个方面的控制单元和通道子系统的一个实施例; 
图9示出了根据本发明的一个方面的TCW的一个实施例; 
图10示出了根据本发明的一个方面的TCCB的一个实施例; 
图11示出了根据本发明的一个方面的TCW通道程序的一个实施例; 
图12示出了用于提供控制决的间接数据寻址的过程的一个实施例;以及 
图13示出了结合本发明的一个或多个方面的制品的一个实施例。 
详细描述通过实例的方式参考附图解释了本发明的优选实施例以及优点和特性。 
具体实施方式
根据本发明的一个方面,通过允许将组成单个I/O操作的多个命令存储在非连续存储中而促进输入/输出(I/O)。根据诸如命令数和关联的控制数据量之类的因素,所需存储的长度可随I/O操作而变化。本发明的一个示例性实施例使用间接地址列表来作为单个I/O操作的一部分收集要发送到控制单元的命令数据。这通过减少用于执行I/O处理的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可以执行 
Figure BPA00001197244500051
操作系统103和z/ 操作系统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的实例包括读卡器和穿孔器、磁带单元、直接存取存储设备、显示器、键盘、打印机、指点设备、远程处理设备、通信控制器和基于传感器的设备,等等。 
在“ 
Figure BPA00001197244500071
z/Architecture Principles of Operation( 
Figure BPA00001197244500072
z/Architecture操作原理,出版号SA22-7832-05,第六版,2007年4月)”;Cormier等人的标题为“System For Transferring Data Between I/ODevices And Main Or Exp anded 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-3MappingProtocol(FC-SB-3)(光纤通道单字节命令代码集-3映射协议(FC-SB-3),T11/项目1357-D/修订版1.6,INCITS,2003年3月,其全部内容在此引入作为参考)”中说明了有关FICON的信息。 
参考图3,通道300打开与控制单元302的交换并将与交换关联的定义范围命令和数据304发送到控制单元302。从定义范围CCW 212(图2B)取回所述命令(图2B),并从定义范围数据区域216获取所述数据。通道300使用TIC 218定位查找记录CCW和读取CCW。它从查找记录CCW 217(图2B)查找记录命令305(图3)以及从查找记录数据220获取数据。从读取CCW 221(图2B)取回读取命令306(图3)。将它们都发送到控制单元302。 
响应于通道300的打开交换,控制单元302打开与通道300的交换308。这可以在查找命令305和/或读取命令306之前或之后发生。伴随着打开交换,将响应(CMR)转发到通道300。所述CMR向通道300提供控制单元302处于活动状态并正在运行的指示。 
控制单元302将所请求的数据310发送到通道300。此外,控制单元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的位置。 
参考图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及其各个阶段。 
参考图5,通道500打开与控制单元502的交换并将TCCB 504发送到控制单元502。在一个实例中,在FCP命令(称为FCP CMND信息单元(IU)或传输命令IU)中将TCCB 504和序列主动性(sequence initiative)传输到控制单元502。控制单元502执行TCCB 504的多个命令(例如,定义范围命令、查找记录命令,将命令读取为设备控制字(DCW))并经由例如FCP数据IU将数据506转发到通道500。它还提供状态并关闭交换508。作为一个实例,在FCP状态帧中发送最终状态,所述FCP状态帧例如在FCP_RSP IU(也称为传输响应IU)有效负载的字节10或11中具有一个活动位。可使用FCP_RSP_IU有效负载传输FICON结束状态以及附加状态信息。 
在进一步的实例中,为了写入4k客户数据,通道500使用FCP链路协议的各个阶段,如下所示: 
1.在FCP_CMND IU中传输TCCB。 
2.将数据IU和序列主动性传输到控制单元502。(禁用FCP传输就绪) 
3.在FCP状态帧中发送最终状态,所述FCP状态帧例如在FCP RSPIU有效负载的字节10或11中具有一个活动位。使用FCP_RES_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、查找记录命令607以及读取命令608)从通道610 发送到控制单元612。此外,在单独序列中将每个4k数据块(例如,数据614-620)从控制单元612发送到通道610。此CCW通道程序需要打开和关闭两次交换(例如,打开交换622、624和关闭交换626、628)以及十四个通信序列。将其与图7的TCW通道程序的三个序列和一次交换相比,图7的TCW通道程序与图6的CCW通道程序完成相同的任务。 
如图7所示,通道700打开与控制单元702的交换并将TCCB 704发送到控制单元702。如上所述,TCCB 704在DCW中包括定义范围命令、两个查找记录命令以及四个读取命令。响应于收到TCCB 704,控制单元702执行所述命令并在单独序列中将16k数据706发送到通道700。此外,控制单元702将状态提供给通道700并关闭交换708。因此,所述TCW通道程序需要少得多的通信即可传输与图6的CCW通道程序相同的数据量。 
现在转到图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中。 
控制单元110还可以包括其他缓冲或存储元件(未示出)以存储与通道124和I/O设备112之间的通信关联的多个消息或状态信息。例如,位于控制单元110中的寄存器可以包括最大控制单元交换参数,其定义了控制单元110所支持的打开控制单元交换的最大数量。 
通道子系统108中的通道124包括支持与控制单元110通信的元件。 在一个示例性实施例中,通道控制逻辑806控制通道子系统108和控制单元110之间的通信。通道控制逻辑806可以经由连接120直接与控制单元控制逻辑802通过接口连接以发送命令和接收响应,例如传输命令和响应IU。备选地,可以在通道控制逻辑806和控制单元控制逻辑802之间布置消息传送接口和/或缓冲器(未示出)。 
图9示出了传输控制字(TCW)900的示例性实施例。通道124使用TCW 900建立I/O操作并且不将其发送到控制单元110。图9中示出的TCW通过使用TCCB TIDAL标志和TCCB地址提供TCCB的间接寻址。 
在图9所示的示例性TCW 900中,等于“00b”的格式字段902指示后面紧跟着TCW 900。TCW 900还包括将来可能使用的保留位904。 
TCW 900还包括标志字段906。标志字段906的前五位保留以供将来使用并被设为0。标志字段906的第六位是TIDAL读取标志。在一个示例性实施例中,当输入数据地址字段918包含TIDAL地址时,将设置TIDAL读取标志(例如,设为1)。如果重置TIDAL读取标志(例如,重置为0),则输入数据地址字段918包含数据地址。标志字段906的第七位是TCCBTIDAL标志。在一个示例性实施例中,当TCCB地址字段922包含TIDAL地址时,将TCCB TIDAL标志设为1。如果将TCCB TIDAL标志设为0,则TCCB地址字段922直接寻址TCCB。TCCB TIDAL标志允许操作系统软件或系统管理程序对功能进行分层以及为用户通道程序添加前缀。标志字段906的第八位是TIDAL写入标志。在一个示例性实施例中,当输出数据地址字段916包含TIDAL地址时,将TIDAL写入标志设为1。如果将TIDAL写入标志设为0,则输出数据地址字段916包含数据地址。 
标志字段906的第九位到第二十四位保留以供将来使用。 
TCW 900还包括间接表示TCCB的长度并可用于确定TCCB的实际长度的TCCB长度字段910。 
TCW 900中的读/写位912用于指示是否作为执行TCW 900的结果而读和/或写数据。在一个示例性实施例中,读/写位912中的读取位被设为1以指示作为执行TCW 900的结果将输入数据从I/O设备112传输到主系统 101中的系统存储(例如,主存储器102)。读/写位912中的写入位被设为1以指示作为执行TCW 900的结果将输出数据从主系统101中的系统存储(例如,主存储器102)传输到I/O设备。 
输出数据地址字段916包括输出数据(如果有)的地址。如上所述,输出数据地址字段916的内容可以是输出数据的TIDAL地址或输出数据的实际地址。输入数据地址字段918包括输入数据(如果有)的地址。如上所述,输入数据地址字段918的内容可以是输入数据的TIDAL地址或输入数据的实际地址。在一个示例性实施例中,输出数据地址字段916和输入数据地址字段918实现为六十四位地址。 
TCW 900还包括传输状态块地址字段920。I/O操作的传输响应IU中的完成状态的一部分(例如,扩展状态部分)存储在该地址中。TCW 900中的TCCB地址字段922包括TCCB在系统存储中的地址。如上所述,TCCB是要针对TCW 900执行的DCW所在的控制块。还如上所述,TCCB地址字段922的内容可以是TCCB的TIDAL地址或TCCB的实际地址。在一个示例性实施例中,传输状态块地址字段920和TCCB地址字段922实现为六十四位地址。 
TCW 900中的输出计数字段924指示TCW/TCCB针对输出操作要传输的输出数据量。在一个示例性实施例中,输出计数字段924指定TCW所指定的输出存储区域(输出数据地址916)中要传输的字节数。TCW 900中的输入计数字段926指示TCW/TCCB针对输入操作要传输的输入数据量。在一个示例性实施例中,输入计数字段926指定TCW所指定的输入存储区域(输入数据地址918)中要传输的字节数。将保留TCW 900中的若干附加字段:保留字段928、保留字段930和保留字段932。询问TCW地址字段934包含另一TCW的地址并且由通道124用于询问在取消子通道I/O指令的主动性下的操作的状态。 
图9中所示的TCW是如何配置命令字的一个实例。也可以存在其中包括附加字段和/或不包括图9中所示的字段的其他配置。 
图10示出了根据本发明的一个方面的TCCB 1000的一个实施例。图 10中的TCCB 1000位于TCW 900中的TCCB地址字段922中指示的地址处。该地址可以是直接地址,也可以是间接地址,从而允许TCCB 1000的内容位于一个存储位置或分布于多个非连续存储位置。如上所述,TCCB1000是由软件建立的控制块,然后通道124将其发送到控制单元110(例如,通过传输命令IU)以便执行。TCCB 1000包含要由控制单元110执行的命令以及所述命令所需的任何控制数据。通道124不查看TCCB 1000的内容。通道124将TCCB 1000进行打包并将其发送到控制单元110。这允许使用FCP传输协议而非FICON。 
TCCB 1000包括传输控制区域头(TCAH)1002,在一个示例性实施例中,传输控制区域头(TCAH)1002包括有关传输控制区域(TCA)1004和TCA 1004内的操作的信息(例如,长度、服务代码)。在一个示例性实施例中,TCAH 1002包括用于指定诸如TCCB格式(例如,变长CDB格式)之类的信息的格式控制字段、与TCCB关联的模式(例如,传输模式)、用作供应商唯一代码点的服务操作代码,以及为控制单元提供执行此TCCB 1000的优先级的字段。 
图10中所示的TCCB 1000还包括变长TCA 1004,变长TCA 1004包括一个或多个DCW 1006以及每个DCW 1006的相应DCW控制数据1008(如果有)。DCW控制数据1008的长度是可变的。在一个示例性实施例中,每个DCW 1006包括命令代码、标志(链)、控制数据长度以及读/写数据长度。DCW控制数据1008是可选的(取决于DCW 1006)并且包括用于其相应的DCW 1006的控制参数。例如,DCW控制数据1008可以包括定义范围和/或前缀参数。在一个示例性实施例中,DCW控制数据1008在TCA 1004内紧跟其相应的DCW 1006并且DCW 1006不指向DCW控制数据1008。 
此外,TCCB 1000包括TCA尾(TCAT)1010,TCA尾(TCAT)1010包含诸如要在TCCB 1000中传输的字节计数之类的数据以及检查TCCB 1000的完整性的检查字字段。 
图11示出了根据本发明的一个方面的TCW通道程序1100的一个实 施例。如图11所示,TCW通道程序1100包括指定存储器中的TCCB 1104或指向TCCB 1104的位置的TIDAL 1112(例如,传输间接数据地址字(TIDAW)列表)的位置的TCW 1102。此外,图11中所示的实例通道程序1100包括存储器中输入数据区域1106或指向输入数据区域1106的TIDAL 1110以及状态区域1108的位置。 
图12示出了根据本发明的一个方面的用于提供控制块(例如,TCCB)的间接数据寻址的过程的一个实施例。在一个示例性实施例中,图12中所示的处理在与控制单元进行网络通信的主计算机系统处发生。所述主计算机系统可以包括执行所述过程的I/O处理系统。此外,所述I/O处理系统可以包括执行所述过程的通道子系统。在方块1202,主计算机获取TCW。在一个示例性实施例中,从主计算机上运行的操作系统获取(或接收)TCW。所述TCW包括TCCB地址922和位于标志字段906中的TCCBTIDAL标志。在方块1204,从TCW提取TCCB地址922和TCCB TIDAL标志。 
在方块1206,判定是否已设置TCCB TIDAL标志。如果已设置TCCBTIDAL标志,则TCCB地址922为间接数据地址并且处理继续到方块1210。在方块1210,从所述TCW指定的位置收集TCCB。由于所述地址为间接地址,因此TCCB地址922包括TIDAL的地址。TIDAL包括指向共同组成TCCB的多个存储位置的地址列表。处理然后继续到方块1212。 
如果在方块1206判定未设置TCCB TIDAL标志,则TCCB地址922为直接数据地址并且处理继续到方块1208。在方块1208,从所述TCW指定的位置收集TCCB。由于所述地址为直接地址,因此TCCB位于TCCB地址922所指定的地址处。处理然后继续到方块1212。 
在方块1212,将包括TCCB的I/O操作转发到控制单元以便执行。 
示例性实施例的技术效果包括在多个非连续存储位置分布TCCB的能力。这可由于能够轻松增加TCCB的内容并且减少对特定存储位置的竞争而提高性能。技术效果还包括具有变长TCCB的能力,这允许将命令组合在一起以传输到控制单元的灵活性。 
如上所述,各实施例可以体现在计算机实现的过程以及用于实现这些过程的装置的形式中。在一个示例性实施例中,本发明体现在由一个或多个网络元件执行的计算机程序代码中。各实施例包括计算机可用介质1302上的如图13中所示的计算机程序产品1300,其中计算机程序代码逻辑1304包含在有形介质中体现为制品的指令。计算机可用介质1302的示例性制品可包括软盘、CD-ROM、硬盘、通用串行总线(USB)闪存或其他任何计算机可读存储介质,其中,当计算机程序代码逻辑1304加载到计算机上并由所述计算机执行时,所述计算机变为用于实现本发明的装置。各实施例包括计算机程序代码逻辑1304,例如,无论是存储在存储介质中,加载到计算机上和/或由所述计算机执行,还是通过某些传输介质传输,例如通过电连线或线缆,通过光纤或通过电磁辐射,其中,当计算机程序代码逻辑1304加载到计算机上并由所述计算机执行时,所述计算机变为用于实现本发明的装置。当在通用微处理器上实现时,计算机程序代码逻辑1304配置所述微处理器以创建专用逻辑电路。 
尽管参考示例性实施例对本发明进行了说明,但是本领域的技术人员将理解,可以在不偏离本发明范围的情况下做出各种变化并且使用等价的元件替换其中的元件。此外,可以做出许多修改以便在不偏离本发明的基本范围的情况下使特定的情况或材料符合本发明的教导。因此,本发明并非旨在限于被构想为执行本发明的最佳模式的所披露的特定实施例,本发明还包括所有处于所附权利要求的范围之内的实施例。而且,使用术语“第一”、“第二”等不表示任何顺序性或重要性,术语“第一”、“第二”等用于对元件进行区分。另外,使用术语“一”、“一个”等不表示数量限制,而是表示存在至少一个所引用的项。 

Claims (6)

1.一种促进被配置为与控制单元通信的主计算机系统处的输入/输出I/O操作的I/O处理的方法,所述方法包括:
所述主计算机系统打开与所述控制单元的交换;
所述主计算机系统获取(1202)I/O操作的传输命令字TCW,所述TCW具有指定包括一个或多个I/O命令的控制块(1000)的位置的地址字段(922)中的地址以及所述TCW的标志字段(906)中的标志,其中所述标志被设为第一值以指示直接地址,其中所述位置是所述控制块的位置,以及所述标志被设为第二值以指示间接地址,其中所述位置是指向共同组成所述控制块的多个存储位置的地址列表的位置;
所述主计算机系统从所述TCW提取(1204)所述地址和所述标志;
如果所述标志被设为所述第一值,则所述主计算机系统从所述TCW中指定的位置收集(1208)整个所述控制块,并且如果所述标志被设为所述第二值,则所述主计算机系统从共同组成所述控制块的所述多个存储位置收集(1210)所述控制块;
所述主计算机系统将包括所述一个或多个I/O命令的所述控制块转发(1212)到所述控制单元以便执行,其中作为由所述控制单元作为单个实体执行的单个I/O操作的一部分执行所述转发;以及
所述控制单元关闭与所述主计算机系统的交换;
其中为了将所述控制块的所述一个或多个I/O命令从所述主计算机系统传输到所述控制单元,在所述控制单元与所述主计算机系统之间仅打开和关闭一次交换。
2.如权利要求1中所述的方法,其中所述控制块还包括指定所述一个或多个I/O命令的格式的头。
3.如权利要求1中所述的方法,其中所述控制块还包括用于提供检查字并指定要传输的数据量的尾。
4.一种促进被配置为与控制单元通信的主计算机系统处的输入/输出I/O操作的I/O处理的系统,,所述系统包括:
用于所述主计算机系统打开与所述控制单元的交换的装置;
用于所述主计算机系统获取I/O操作的传输命令字TCW的装置,所述TCW具有指定包括一个或多个I/O命令的控制块的位置的地址字段中的地址以及所述TCW的标志字段中的标志,其中所述标志被设为第一值以指示直接地址,其中所述位置是所述控制块的位置,以及所述标志被设为第二值以指示间接地址,其中所述位置是指向共同组成所述控制块的多个存储位置的地址列表的位置;
用于所述主计算机系统从所述TCW提取所述地址和所述标志的装置;
用于-如果所述标志被设为所述第一值,则所述主计算机系统从所述TCW中指定的位置收集整个所述控制块,并且如果所述标志被设为所述第二值,则所述主计算机系统从共同组成所述控制块的所述多个存储位置收集所述控制块-的装置;
用于所述主计算机系统将包括所述一个或多个I/O命令的所述控制块转发到所述控制单元以便执行的装置,其中作为由所述控制单元作为单个实体执行的单个I/O操作的一部分执行所述转发;以及
用于所述控制单元关闭与所述主计算机系统的交换的装置;
其中为了将所述控制块的所述一个或多个I/O命令从所述主计算机系统传输到所述控制单元,在所述控制单元与所述主计算机系统之间仅打开和关闭一次交换。
5.如权利要求4中所述的系统,其中所述控制块还包括指定所述一个或多个I/O命令的格式的头。
6.如权利要求4中所述的系统,其中所述控制块还包括用于提供检查字并指定要传输的数据量的尾。
CN2009801048611A 2008-02-14 2009-02-09 促进主计算机系统处的i/o操作的i/o处理的方法和系统 Active CN101946246B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/031,201 US8117347B2 (en) 2008-02-14 2008-02-14 Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US12/031,201 2008-02-14
PCT/EP2009/051462 WO2009101057A1 (en) 2008-02-14 2009-02-09 Providing indirect data addressing for a control block at a channel subsystem of an i/o processing system

Publications (2)

Publication Number Publication Date
CN101946246A CN101946246A (zh) 2011-01-12
CN101946246B true CN101946246B (zh) 2013-04-10

Family

ID=40765613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801048611A Active CN101946246B (zh) 2008-02-14 2009-02-09 促进主计算机系统处的i/o操作的i/o处理的方法和系统

Country Status (13)

Country Link
US (4) US8117347B2 (zh)
EP (1) EP2245545B1 (zh)
JP (1) JP5159901B2 (zh)
KR (1) KR101242896B1 (zh)
CN (1) CN101946246B (zh)
AT (1) ATE551655T1 (zh)
CY (1) CY1112690T1 (zh)
DK (1) DK2245545T3 (zh)
ES (1) ES2381324T3 (zh)
PL (1) PL2245545T3 (zh)
PT (1) PT2245545E (zh)
SI (1) SI2245545T1 (zh)
WO (1) WO2009101057A1 (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
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
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
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US7840717B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
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
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
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability 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
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
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
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
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
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
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
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
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
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
US7908403B2 (en) 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
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
US8677027B2 (en) * 2011-06-01 2014-03-18 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
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
US8583988B2 (en) 2011-06-01 2013-11-12 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
US9021179B2 (en) * 2011-06-10 2015-04-28 International Business Machines Corporation Store storage class memory information command
US9116789B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Chaining move specification blocks
US9116634B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Configure storage class memory command
US9021180B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Clearing blocks of storage class memory
US9058275B2 (en) 2011-06-10 2015-06-16 International Business Machines Corporation Data returned responsive to executing a start subchannel instruction
US9323668B2 (en) 2011-06-10 2016-04-26 International Business Machines Corporation Deconfigure storage class memory command
US9058243B2 (en) 2011-06-10 2015-06-16 International Business Machines Corporation Releasing blocks of storage class memory
US9021226B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Moving blocks of data between main memory and storage class memory
US9116788B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Using extended asynchronous data mover indirect data address words
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
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
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
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
KR101536555B1 (ko) * 2014-01-16 2015-07-14 주식회사 다산네트웍스 주소 설정 기능을 갖는 네트워크 스위치
CN108664421B (zh) * 2018-04-28 2020-04-28 广州酷狗计算机科技有限公司 获取多媒体数据的方法、装置及存储介质
US10838725B2 (en) * 2018-09-26 2020-11-17 Apple Inc. Low latency fetch circuitry for compute kernels
US11722436B2 (en) 2021-08-24 2023-08-08 International Business Machines Corporation Transport control word architecture for physical port mirroring

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2291990A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system
US6609161B1 (en) * 2000-06-01 2003-08-19 Adaptec, Inc. Two-dimensional execution queue for host adapters
CN1726465A (zh) * 2002-10-29 2006-01-25 洛克希德马丁公司 硬件加速的验证解析器
US7124207B1 (en) * 2003-08-14 2006-10-17 Adaptec, Inc. I2O command and status batching

Family Cites Families (251)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1264096A (zh) 1970-06-27 1972-02-16
US3693161A (en) 1970-07-09 1972-09-19 Burroughs Corp Apparatus for interrogating the availability of a communication path to a peripheral device
US4004277A (en) * 1974-05-29 1977-01-18 Gavril Bruce D Switching system for non-symmetrical sharing of computer peripheral equipment
US3943283A (en) * 1974-06-17 1976-03-09 International Business Machines Corporation Bidirectional single wire data transmission and wrap control
US4080649A (en) 1976-12-16 1978-03-21 Honeywell Information Systems Inc. Balancing the utilization of I/O system processors
US4207609A (en) 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
US4380046A (en) * 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4374415A (en) * 1980-07-14 1983-02-15 International Business Machines Corp. Host control of suspension and resumption of channel program execution
US4414644A (en) 1981-04-03 1983-11-08 International Business Machines Corporation Method and apparatus for discarding data from a buffer after reading such data
US4455605A (en) * 1981-07-23 1984-06-19 International Business Machines Corporation Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices
US4497022A (en) 1982-10-19 1985-01-29 International Business Machines Corporation Method and apparatus for measurements of channel operation
US4564903A (en) 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US4779188A (en) * 1983-12-14 1988-10-18 International Business Machines Corporation Selective guest system purge control
US4870566A (en) * 1984-08-27 1989-09-26 International Business Machines Corp. Scannerless message concentrator and communications multiplexer
JPS61123970A (ja) 1984-11-20 1986-06-11 Fujitsu Ltd デ−タ転送制御方式
US4837677A (en) * 1985-06-14 1989-06-06 International Business Machines Corporation Multiple port service expansion adapter for a communications controller
US4760518A (en) * 1986-02-28 1988-07-26 Scientific Computer Systems Corporation Bi-directional databus system for supporting superposition of vector and scalar operations in a computer
JPS6336461A (ja) * 1986-07-31 1988-02-17 Pfu Ltd 汎用チャネル制御方式
US4926320A (en) * 1987-04-07 1990-05-15 Nec Corporation Information processing system having microprogram-controlled type arithmetic processing unit
US4843541A (en) 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US4866609A (en) * 1988-06-22 1989-09-12 International Business Machines Corporation Byte count handling in serial channel extender with buffering for data pre-fetch
JPH0283757A (ja) 1988-09-21 1990-03-23 Hitachi Ltd 通信制御システム
US5016160A (en) * 1988-12-15 1991-05-14 International Business Machines Corporation Computer system having efficient data transfer operations
US5185736A (en) 1989-05-12 1993-02-09 Alcatel Na Network Systems Corp. Synchronous optical transmission system
EP0412268B1 (en) * 1989-08-11 1996-09-11 International Business Machines Corporation Apparatus for interconnecting a control unit having a parallel bus with a channel having a serial link
GB9012970D0 (en) 1989-09-22 1990-08-01 Ibm Apparatus and method for asynchronously delivering control elements with pipe interface
EP0424618A3 (en) * 1989-10-24 1992-11-19 International Business Machines Corporation Input/output system
DE3938520A1 (de) 1989-11-21 1991-05-29 Teves Gmbh Alfred Verfahren und system zur messdatenerfassung und -auswertung
AU650242B2 (en) 1989-11-28 1994-06-16 International Business Machines Corporation Methods and apparatus for dynamically managing input/output (I/O) connectivity
JPH04649A (ja) * 1990-04-18 1992-01-06 Nec Corp リモートチャネル装置の障害情報転送方式
CA2037708C (en) * 1990-05-04 1998-01-20 Richard J. Eickemeyer General purpose compound apparatus for instruction-level parallel processors
US5170472A (en) 1991-03-28 1992-12-08 International Business Machines Corp. Dynamically changing a system i/o configuration definition
US5644712A (en) 1991-06-05 1997-07-01 International Business Machines Corporation Indirect addressing of channels via logical channel groups
US5386512A (en) * 1991-07-19 1995-01-31 International Business Machines Corporation System for deriving and testing mutual capability set after receiving updated capability from other processors and before requesting service information
US5805808A (en) 1991-12-27 1998-09-08 Digital Equipment Corporation Real time parser for data packets in a communications network
US5301321A (en) 1992-02-21 1994-04-05 International Business Machines Corporation Method and system for the minimization of conflicting activities with respect to an object stored within a data processing system
US5388219A (en) * 1992-03-02 1995-02-07 International Business Machines Corporation Efficient channel and control unit for host computer
US5317739A (en) 1992-03-30 1994-05-31 International Business Machines Corp. Method and apparatus for coupling data processing systems
CA2086691C (en) 1992-03-30 1997-04-08 David A. Elko Communicating messages between processors and a coupling facility
US5414851A (en) 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
US5452455A (en) 1992-06-15 1995-09-19 International Business Machines Corporation Asynchronous command support for shared channels for a computer complex having multiple operating systems
US5600805A (en) 1992-06-15 1997-02-04 International Business Machines Corporation Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems
US5265240A (en) 1992-07-24 1993-11-23 International Business Machines Corporation Channel measurement method and means
JPH0751932B2 (ja) * 1992-09-18 1995-06-05 株式会社日立製作所 内燃機関のトルク制御装置
JP2566728B2 (ja) 1992-10-30 1996-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 論理径路スケジューリング装置及び実行方法
US5301323A (en) 1992-10-30 1994-04-05 International Business Machines Corp. Data processing system including dynamic channel path management
JP2840511B2 (ja) * 1992-12-10 1998-12-24 富士通株式会社 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法
US5526484A (en) * 1992-12-10 1996-06-11 International Business Machines Corporation Method and system for pipelining the processing of channel command words
US5528755A (en) 1992-12-22 1996-06-18 International Business Machines Corporation Invalid data detection, recording and nullification
US5517670A (en) * 1992-12-30 1996-05-14 International Business Machines Corporation Adaptive data transfer channel employing extended data block capability
US5461721A (en) * 1993-04-14 1995-10-24 International Business Machines Corporation System for transferring data between I/O devices and main or expanded storage under dynamic control of independent indirect address words (IDAWs)
US5465359A (en) * 1993-11-01 1995-11-07 International Business Machines Corporation Method and system for managing data and users of data in a data processing system
US5584039A (en) * 1993-11-08 1996-12-10 International Business Machines Corporation System for coordinating execution of multiple concurrent channel programs without host processor involvement using suspend and resume commands to control data transfer between I/O devices
JP3528094B2 (ja) * 1994-02-09 2004-05-17 株式会社日立製作所 バス利用方法および記憶制御装置
JPH07262152A (ja) * 1994-03-24 1995-10-13 Hitachi Ltd コンピュータシステム
US6769009B1 (en) 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
US5907684A (en) 1994-06-17 1999-05-25 International Business Machines Corporation Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image
US5548791A (en) 1994-07-25 1996-08-20 International Business Machines Corporation Input/output control system with plural channel paths to I/O devices
US5860022A (en) * 1994-07-26 1999-01-12 Hitachi, Ltd. Computer system and method of issuing input/output commands therefrom
EP0712220A1 (en) 1994-11-08 1996-05-15 International Business Machines Corporation Hop-by-hop flow control in an ATM network
US5564040A (en) 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US5613163A (en) * 1994-11-18 1997-03-18 International Business Machines Corporation Method and system for predefined suspension and resumption control over I/O programs
US5671441A (en) 1994-11-29 1997-09-23 International Business Machines Corporation Method and apparatus for automatic generation of I/O configuration descriptions
US5600793A (en) * 1994-12-20 1997-02-04 International Business Machines Corporation Method and system of bi-directional parallel port data transfer between data processing systems
US5680580A (en) 1995-02-28 1997-10-21 International Business Machines Corporation Remote copy system for setting request interconnect bit in each adapter within storage controller and initiating request connect frame in response to the setting bit
US5742845A (en) 1995-06-22 1998-04-21 Datascape, Inc. System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network
US5996026A (en) 1995-09-05 1999-11-30 Hitachi, Ltd. Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information
JP3225804B2 (ja) 1995-09-05 2001-11-05 株式会社日立製作所 入出力チャネルの拡張方式
US6125411A (en) 1995-09-13 2000-09-26 Hitachi, Ltd. System storing plural I/O arrangement information wherein each I/O arrangement information corresponding to each operating system is created in response to more than two operating systems
US5831985A (en) * 1995-11-09 1998-11-03 Emc Corporation Method and apparatus for controlling concurrent data transmission from multiple sources in a channel communication system
US5793983A (en) 1996-01-22 1998-08-11 International Business Machines Corp. Input/output channel interface which automatically deallocates failed subchannel and re-segments data block for transmitting over a reassigned subchannel
US5812877A (en) 1996-03-15 1998-09-22 Adaptec, Inc. I/O command block chain structure in a memory
US5758190A (en) * 1996-04-09 1998-05-26 International Business Machines Corporation Control unit threshold timeout controls for software missing interrupt handlers in operating systems
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
US5768620A (en) * 1996-04-09 1998-06-16 International Business Machines Corporation Variable timeout method in a missing-interrupt-handler for I/O requests issued by the same operating system
US5901327A (en) * 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US6108655A (en) 1996-07-19 2000-08-22 Cisco Technology, Inc. Method and apparatus for transmitting images and other objects over a computer network system
SG74611A1 (en) * 1997-02-14 2000-08-22 Canon Kk Data communication apparatus and method
JP3697831B2 (ja) 1997-04-18 2005-09-21 株式会社日立製作所 コンピュータシステム
TW375529B (en) 1997-05-14 1999-12-01 Sega Corp Data transmission method and game system using the same
US5918028A (en) * 1997-07-08 1999-06-29 Motorola, Inc. Apparatus and method for smart host bus adapter for personal computer cards
US6263380B1 (en) 1997-10-14 2001-07-17 Mitutoyo Corporation Measurement data processing unit
US6070070A (en) 1998-01-20 2000-05-30 Aeris.Net Method and apparatus for remote telephony switch control
US6460087B1 (en) 1998-02-25 2002-10-01 Kdd Corporation Method of transferring file
US6128311A (en) 1998-02-26 2000-10-03 3Com Corporation Method and system for interfacing parallelly interfaced devices through a serial bus
US6360282B1 (en) * 1998-03-25 2002-03-19 Network Appliance, Inc. Protected control of devices by user applications in multiprogramming environments
US6353612B1 (en) * 1998-06-19 2002-03-05 Brocade Communications Systems, Inc. Probing device
US6693880B2 (en) * 1998-09-10 2004-02-17 International Business Machines Corporation System of controlling the flow of information between senders and receivers across links being used as channels
US6202095B1 (en) 1998-10-07 2001-03-13 International Business Machines Corporation Defining characteristics between processing systems
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
US6195330B1 (en) 1998-11-05 2001-02-27 David C. Sawey Method and system for hit-less switching
KR100273641B1 (ko) 1998-11-11 2000-12-15 윤종용 공통 메모리 스위치에서 셀 그룹 처리장치 및 그 처리방법
JP3990833B2 (ja) * 1998-12-11 2007-10-17 キヤノン株式会社 通信制御方法及び装置
US6347334B1 (en) 1999-01-06 2002-02-12 Mcdata Corporation Self-description extended link service for networks
US6772207B1 (en) 1999-01-28 2004-08-03 Brocade Communications Systems, Inc. System and method for managing fibre channel switching devices
US6351779B1 (en) 1999-03-12 2002-02-26 Agilent Technologies, Inc. Extension library to standard visa library for support of complex I/O functions
US6484217B1 (en) * 1999-04-20 2002-11-19 International Business Machines Corporation Managing shared devices in a data processing system
US6738647B1 (en) 1999-04-23 2004-05-18 Numerex Corporation Method and system for expanding the data payload of data messages transported via a cellular network control channel
US6401223B1 (en) 1999-05-21 2002-06-04 Unisys Corporation Programmable system for invalidating pending requests within a data processing system
TW549004B (en) * 1999-06-15 2003-08-21 Matsushita Electric Works Ltd Portable programming device for supervisory remote control system
US6718139B1 (en) * 1999-09-13 2004-04-06 Ciena Corporation Optical fiber ring communication system
US6609165B1 (en) 1999-09-27 2003-08-19 International Business Machines Corporation Method and apparatus for using fibre channel extended link service commands in a point-to-point configuration
US6651125B2 (en) * 1999-09-28 2003-11-18 International Business Machines Corporation Processing channel subsystem pending I/O work queues based on priorities
US7046665B1 (en) 1999-10-26 2006-05-16 Extreme Networks, Inc. Provisional IP-aware virtual paths over networks
US6718419B1 (en) 1999-11-17 2004-04-06 Globespanvirata, Inc. System and method for extending the number of addressable physical devices on a data bus
JP2001202345A (ja) * 2000-01-21 2001-07-27 Hitachi Ltd 並列プロセッサ
US6922548B1 (en) 2000-04-24 2005-07-26 Microsoft Corporation Providing remote network driver interface specification services over a wireless radio-frequency medium
US6584511B1 (en) * 2000-03-24 2003-06-24 Unisys Corporation Loop initialization procedure exception handling for fibre channel transmissions
US6963940B1 (en) 2000-03-30 2005-11-08 International Business Machines Corporation Measuring utilization of individual components of channels
US6877043B2 (en) 2000-04-07 2005-04-05 Broadcom Corporation Method for distributing sets of collision resolution parameters in a frame-based communications network
US6658603B1 (en) * 2000-04-17 2003-12-02 International Business Machines Corporation Method and apparatus for efficiently generating and implementing engine error codes and verifying the correctness of the implementation of the engine error codes
US6594785B1 (en) 2000-04-28 2003-07-15 Unisys Corporation System and method for fault handling and recovery in a multi-processing system having hardware resources shared between multiple partitions
US6862322B1 (en) * 2000-05-19 2005-03-01 International Business Machines Corporation Switchable-bandwidth optical receiver
US7142520B1 (en) 2000-06-16 2006-11-28 Nokia Mobile Phones Ltd. Method and apparatus for mobile internet protocol regional paging
JP2002016655A (ja) * 2000-06-28 2002-01-18 Sony Corp 伝送方法、伝送システム、伝送装置及び伝送制御装置
ATE546018T1 (de) 2000-08-31 2012-03-15 Dolby Lab Licensing Corp Verfahren und anordnung zur audiomatrixdekodierung
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
US7292597B2 (en) 2000-09-28 2007-11-06 Teridian Semiconductor Corp. Method and apparatus for transparent implementation of link-suspend capabilities in network devices
US6678748B2 (en) * 2000-09-29 2004-01-13 Emc Corporation Method for optimizing multiple input/output requests to a single logical device
US6751683B1 (en) 2000-09-29 2004-06-15 International Business Machines Corporation Method, system and program products for projecting the impact of configuration changes on controllers
US6950888B1 (en) 2000-09-29 2005-09-27 International Business Machines Corporation Method, system and program products for determining whether I/O constraints exist for controllers of a computing environment
JP2002111774A (ja) * 2000-10-02 2002-04-12 Hitachi Ltd プロセッサおよび並列プロセッサシステム
US6594712B1 (en) 2000-10-20 2003-07-15 Banderacom, Inc. Inifiniband channel adapter for performing direct DMA between PCI bus and inifiniband link
US6697983B1 (en) 2000-10-24 2004-02-24 At&T Wireless Services, Inc. Data link layer tunneling technique for high-speed data in a noisy wireless environment
US6622268B2 (en) * 2000-11-29 2003-09-16 Intel Corp Method and apparatus for propagating error status over an ECC protected channel
US7127514B2 (en) * 2000-12-28 2006-10-24 Microsoft Corporation Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client
US7155569B2 (en) 2001-02-28 2006-12-26 Lsi Logic Corporation Method for raid striped I/O request generation using a shared scatter gather list
US6834363B2 (en) * 2001-03-22 2004-12-21 International Business Machines Corporation Method for prioritizing bus errors
US6898202B2 (en) * 2001-06-27 2005-05-24 International Business Machines Corporation Method, apparatus and computer program for informing a requesting device of port configuration changes in a computer network switching device
US20030056000A1 (en) * 2001-07-26 2003-03-20 Nishan Systems, Inc. Transfer ready frame reordering
US6910149B2 (en) 2001-09-24 2005-06-21 Intel Corporation Multi-device link aggregation
US6754738B2 (en) * 2001-09-28 2004-06-22 International Business Machines Corporation Low overhead I/O interrupt
US7315911B2 (en) 2005-01-20 2008-01-01 Dot Hill Systems Corporation Method for efficient inter-processor communication in an active-active RAID system using PCI-express links
US6859866B2 (en) * 2001-10-01 2005-02-22 International Business Machines Corporation Synchronizing processing of commands invoked against duplexed coupling facility structures
US6745299B2 (en) * 2001-11-19 2004-06-01 Hewlett-Packard Development Company, L.P. Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms
US7512133B2 (en) 2001-12-03 2009-03-31 International Business Machines Corporation Method and apparatus for obtaining multiple port addresses by a fibre channel from a network fabric
US7599360B2 (en) 2001-12-26 2009-10-06 Cisco Technology, Inc. Methods and apparatus for encapsulating a frame for transmission in a storage area network
US7085860B2 (en) 2002-01-11 2006-08-01 International Business Machines Corporation Method and apparatus for a non-disruptive recovery of a single partition in a multipartitioned data processing system
US7007142B2 (en) 2002-02-19 2006-02-28 Intel Corporation Network data storage-related operations
US7099814B2 (en) 2002-03-29 2006-08-29 International Business Machines Corportion I/O velocity projection for bridge attached channel
US6898723B2 (en) * 2002-04-01 2005-05-24 Mitac International Corp. Method for verifying clock signal frequency of computer sound interface that involves checking whether count value of counter is within tolerable count range
US7543087B2 (en) 2002-04-22 2009-06-02 Alacritech, Inc. Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US20030208581A1 (en) 2002-05-02 2003-11-06 Behren Paul D. Von Discovery of fabric devices using information from devices and switches
US7120728B2 (en) * 2002-07-31 2006-10-10 Brocade Communications Systems, Inc. Hardware-based translating virtualization switch
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US6826661B2 (en) * 2002-08-30 2004-11-30 Veritas Operating Corporation Methods and systems for storage architectures
US20040054776A1 (en) * 2002-09-16 2004-03-18 Finisar Corporation Network expert analysis process
US7539777B1 (en) 2002-10-25 2009-05-26 Cisco Technology, Inc. Method and system for network time protocol forwarding
EP1579321A2 (en) * 2002-10-29 2005-09-28 Lockheed Martin Corporation Hardware accelerated validating parser
US7080094B2 (en) * 2002-10-29 2006-07-18 Lockheed Martin Corporation Hardware accelerated validating parser
US7061485B2 (en) * 2002-10-31 2006-06-13 Hewlett-Packard Development Company, Lp. Method and system for producing a model from optical images
US7202801B2 (en) * 2002-12-11 2007-04-10 Geospatial Technologies, Inc. Method and apparatus for an automated location-based, dynamic notification system (ALDNS)
US7277387B2 (en) * 2003-01-30 2007-10-02 Wind River Systems, Inc. Package manager
US7324455B2 (en) * 2003-03-14 2008-01-29 International Business Machines Corporation Transfer of error-analysis and statistical data in a fibre channel input/output system
US6915378B2 (en) * 2003-04-23 2005-07-05 Hypernova Technologies, Inc. Method and system for improving the performance of a processing system
US7000036B2 (en) 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
US7085898B2 (en) * 2003-05-12 2006-08-01 International Business Machines Corporation Coherency management for a “switchless” distributed shared memory computer system
US7058735B2 (en) * 2003-06-02 2006-06-06 Emulex Design & Manufacturing Corporation Method and apparatus for local and distributed data memory access (“DMA”) control
US7266296B2 (en) 2003-06-11 2007-09-04 Intel Corporation Architecture and method for framing control and data bursts over 10 Gbit Ethernet with and without WAN interface sublayer support
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
US7149823B2 (en) * 2003-08-29 2006-12-12 Emulex Corporation System and method for direct memory access from host without processor intervention wherein automatic access to memory during host start up does not occur
KR100829471B1 (ko) 2003-10-17 2008-05-19 니폰덴신뎅와 가부시키가이샤 메일 배송 시스템, 메일 배송방법 및 메일 배송 프로그램
KR20050043426A (ko) * 2003-11-06 2005-05-11 삼성전자주식회사 파이프라인 버스 시스템에서 커맨드 전송 방법 및 장치
US20050105456A1 (en) * 2003-11-18 2005-05-19 Cookson Christopher J. Double-sided optical disc
US7581033B2 (en) 2003-12-05 2009-08-25 Unisys Corporation Intelligent network interface card (NIC) optimizations
US7634582B2 (en) * 2003-12-19 2009-12-15 Intel Corporation Method and architecture for optical networking between server and storage area networks
US7564791B2 (en) 2003-12-29 2009-07-21 Intel Corporation Monitoring packet flows
US7382733B2 (en) 2004-02-12 2008-06-03 International Business Machines Corporation Method for handling reordered data packets
US7133988B2 (en) * 2004-02-25 2006-11-07 Hitachi, Ltd. Method and apparatus for managing direct I/O to storage systems in virtualization
US20050223291A1 (en) * 2004-03-24 2005-10-06 Zimmer Vincent J Methods and apparatus to provide an execution mode transition
JP2005293363A (ja) 2004-04-01 2005-10-20 Toshiba Corp ディスクアレイコントローラおよび情報処理装置
US8171170B2 (en) * 2004-04-30 2012-05-01 Emc Corporation Storage switch task processing synchronization
US7240273B2 (en) * 2004-05-13 2007-07-03 Industrial Technology Research Institute Cyclic redundancy check modification for message length detection and error detection
US7555554B2 (en) 2004-08-06 2009-06-30 Microsoft Corporation System and method for generating selectable extension to media transport protocol
US7711871B1 (en) 2004-08-30 2010-05-04 Crossroads Systems, Inc. Interface device and method for command processing
US7443798B2 (en) * 2004-09-03 2008-10-28 Agere Systems Inc. Transmit adaptive equalization for communication system with one or more serial data channels
US7577772B2 (en) 2004-09-08 2009-08-18 Qlogic, Corporation Method and system for optimizing DMA channel selection
GB2419198A (en) * 2004-10-14 2006-04-19 Hewlett Packard Development Co Identifying performance affecting causes in a data storage system
US7398335B2 (en) 2004-11-22 2008-07-08 Qlogic, Corporation Method and system for DMA optimization in host bus adapters
JP4575119B2 (ja) 2004-11-25 2010-11-04 株式会社日立製作所 ストレージシステム
US7164425B2 (en) * 2004-12-21 2007-01-16 Qlogic Corporation Method and system for high speed network application
US7672323B2 (en) * 2005-01-14 2010-03-02 Cisco Technology, Inc. Dynamic and intelligent buffer management for SAN extension
US7526633B2 (en) 2005-03-23 2009-04-28 Qualcomm Incorporated Method and system for encoding variable length packets with variable instruction sizes
JP2006277583A (ja) * 2005-03-30 2006-10-12 Hitachi Ltd データ処理システム、データ処理方法、及びプログラム
EP2582158B1 (en) 2005-06-05 2016-08-10 Starkey Laboratories, Inc. Communication system for wireless audio devices
US7970953B2 (en) * 2005-06-30 2011-06-28 Intel Corporation Serial ATA port addressing
US7797463B2 (en) 2005-06-30 2010-09-14 Intel Corporation Hardware assisted receive channel frame handling via data offset comparison in SAS SSP wide port applications
JP2007058646A (ja) * 2005-08-25 2007-03-08 Hitachi Ltd データ処理システム
US20070072543A1 (en) * 2005-09-06 2007-03-29 Nokia Corporation Enhanced signaling of pre-configured interaction message in service guide
US7577773B1 (en) 2005-09-09 2009-08-18 Qlogic, Corporation Method and system for DMA optimization
JP4527640B2 (ja) 2005-09-15 2010-08-18 株式会社ソニー・コンピュータエンタテインメント データ読出装置
JP2007122108A (ja) 2005-10-25 2007-05-17 Hitachi Ltd セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御
US7484021B2 (en) 2005-10-27 2009-01-27 Cisco Technology, Inc. Technique for implementing virtual fabric membership assignments for devices in a storage area network
US20070162631A1 (en) 2005-12-28 2007-07-12 International Business Machines Corporation Method for selectable software-hardware internet SCSI
US7594057B1 (en) 2006-01-09 2009-09-22 Qlogic, Corporation Method and system for processing DMA requests
JP2007199975A (ja) 2006-01-26 2007-08-09 Hitachi Ltd データ処理システム及びデータ処理方法
US9032164B2 (en) 2006-02-17 2015-05-12 Emulex Corporation Apparatus for performing storage virtualization
US7743197B2 (en) 2006-05-11 2010-06-22 Emulex Design & Manufacturing Corporation System and method for virtualizing PCIe devices
US20080040519A1 (en) 2006-05-02 2008-02-14 Alacritech, Inc. Network interface device with 10 Gb/s full-duplex transfer rate
US8381214B2 (en) 2006-05-05 2013-02-19 Microsoft Corporation Extensible job submission
US7630405B1 (en) 2006-05-27 2009-12-08 Cisco Technology, Inc. Techniques for ensuring synchronized processing at remote fiber channel and fiber connectivity networks
US7826349B2 (en) 2006-05-30 2010-11-02 Intel Corporation Connection management mechanism
US20080043563A1 (en) 2006-08-15 2008-02-21 International Business Machines Corporation Flexibly controlling the transfer of data between input/output devices and memory
US7500030B2 (en) 2006-08-30 2009-03-03 International Business Machines Corporation Control of information units in fibre channel communications
US8032581B2 (en) 2006-08-30 2011-10-04 International Business Machines Corporation Persistent information unit pacing
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
US7668984B2 (en) 2007-01-10 2010-02-23 International Business Machines Corporation Low latency send queues in I/O adapter hardware
US7797414B2 (en) 2007-01-31 2010-09-14 International Business Machines Corporation Establishing a logical path between servers in a coordinated timing network
US8942219B2 (en) 2007-04-13 2015-01-27 Hart Communication Foundation Support for network management and device communications in a wireless network
US7765336B2 (en) 2007-06-11 2010-07-27 Emulex Design & Manufacturing Corporation Autonomous mapping of protected data streams to fibre channel frames
US7631128B1 (en) 2007-06-28 2009-12-08 Emc Corporation Protocol controller for a data storage system
US8020074B2 (en) 2007-08-24 2011-09-13 Datadirect Networks, Inc. Method for auto-correction of errors in a RAID memory system
US8254571B1 (en) 2007-12-21 2012-08-28 Voltage Security, Inc. Cryptographic system with halting key derivation function capabilities
JP2009184260A (ja) 2008-02-07 2009-08-20 Kyocera Mita Corp 画像形成装置
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
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in 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
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability 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
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
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
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
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
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
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
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
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
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
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
US7840717B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
GB2460841B (en) 2008-06-10 2012-01-11 Virtensys Ltd Methods of providing access to I/O devices
US7983257B2 (en) 2008-07-18 2011-07-19 Emulex Design & Manufacturing Corporation Hardware switch for hypervisors and blade servers
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
US20100064072A1 (en) 2008-09-09 2010-03-11 Emulex Design & Manufacturing Corporation Dynamically Adjustable Arbitration Scheme
JP5107880B2 (ja) 2008-12-10 2012-12-26 株式会社日立製作所 データ転送処理装置及び方法
CN101551736B (zh) 2009-05-20 2010-11-03 杭州华三通信技术有限公司 基于地址指针链表的缓存管理装置和方法
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8914812B2 (en) 2010-01-08 2014-12-16 International Business Machines Corporation Controlling operations according to another system's architecture
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2291990A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system
US6609161B1 (en) * 2000-06-01 2003-08-19 Adaptec, Inc. Two-dimensional execution queue for host adapters
CN1726465A (zh) * 2002-10-29 2006-01-25 洛克希德马丁公司 硬件加速的验证解析器
US7124207B1 (en) * 2003-08-14 2006-10-17 Adaptec, Inc. I2O command and status batching

Also Published As

Publication number Publication date
KR20100123825A (ko) 2010-11-25
JP5159901B2 (ja) 2013-03-13
CN101946246A (zh) 2011-01-12
EP2245545B1 (en) 2012-03-28
EP2245545A1 (en) 2010-11-03
US20140297891A1 (en) 2014-10-02
US20120117275A1 (en) 2012-05-10
CY1112690T1 (el) 2016-02-10
US20090210563A1 (en) 2009-08-20
US8117347B2 (en) 2012-02-14
US8806069B2 (en) 2014-08-12
WO2009101057A1 (en) 2009-08-20
JP2011512589A (ja) 2011-04-21
US20130304940A1 (en) 2013-11-14
DK2245545T3 (da) 2012-05-07
ES2381324T3 (es) 2012-05-25
WO2009101057A4 (en) 2009-10-29
KR101242896B1 (ko) 2013-03-13
US8516161B2 (en) 2013-08-20
PL2245545T3 (pl) 2012-11-30
PT2245545E (pt) 2012-05-09
US9292224B2 (en) 2016-03-22
ATE551655T1 (de) 2012-04-15
SI2245545T1 (sl) 2012-05-31

Similar Documents

Publication Publication Date Title
CN101946246B (zh) 促进主计算机系统处的i/o操作的i/o处理的方法和系统
CN101939730B (zh) 用于单个i/o操作内的双向数据传输的方法和装置
CN101939731B (zh) 处理变长设备命令字的系统和方法
US9720844B2 (en) Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8082481B2 (en) Multiple CRC insertion in an output data stream
US20130097339A1 (en) Communication with input/output system devices
CN101162444A (zh) 利于处理环境的输入/输出处理的方法和系统
JP2011512591A5 (zh)

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