CN101946242A - 在间接数据地址列表不连续的输入/输出处理系统中提供间接数据寻址 - Google Patents

在间接数据地址列表不连续的输入/输出处理系统中提供间接数据寻址 Download PDF

Info

Publication number
CN101946242A
CN101946242A CN2009801052284A CN200980105228A CN101946242A CN 101946242 A CN101946242 A CN 101946242A CN 2009801052284 A CN2009801052284 A CN 2009801052284A CN 200980105228 A CN200980105228 A CN 200980105228A CN 101946242 A CN101946242 A CN 101946242A
Authority
CN
China
Prior art keywords
data
memory address
tabulation
sign
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.)
Granted
Application number
CN2009801052284A
Other languages
English (en)
Other versions
CN101946242B (zh
Inventor
D·卡斯帕
J·弗拉纳根
H·尤登弗兰德
M·凯洛斯
M·班迪克
G·西格曼三世
C·黄
D·莱迪
U·恩尤库
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=40849165&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101946242(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101946242A publication Critical patent/CN101946242A/zh
Application granted granted Critical
Publication of CN101946242B publication Critical patent/CN101946242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation

Abstract

用于在I/O处理系统的I/O子系统处提供间接数据寻址的系统、方法和计算机程序产品。所述计算机程序产品包括处理电路可读的有形存储介质,和用于处理电路执行的存储指令,用于执行一种方法。所述方法包括:接收用于I/O操作的控制字。所述控制字包括用于与所述I/O操作关联的数据的间接数据地址。所述间接数据地址包括共同指定数据的存储地址的列表的开始位置,所述列表跨越两个或更多个不连续的存储位置。响应于所述列表聚集数据。向所述I/O处理系统中的控制单元发送聚集的数据。

Description

在间接数据地址列表不连续的输入/输出处理系统中提供间接数据寻址
技术领域
概括地说,本发明涉及输入/输出处理,更具体地,涉及在I/O处理系统的I/O子系统处提供不连续的间接数据寻址列表。
背景技术
输入/输出(I/O)操作用于在I/O处理系统的存储器和I/O设备之间传送数据。具体地,通过执行I/O操作从存储器向一个或多个I/O设备写入数据,以及从一个或多个I/O设备向存储器读取数据。
为了便于I/O操作的处理,采用I/O处理系统的I/O子系统。I/O子系统耦合至I/O处理系统的主存储器和I/O设备,以及指引在存储器和I/O设备之间的信息流。I/O子系统的一个实例是通道子系统。通道子系统将通道路径用作通信介质。每个通道路径包括耦合至控制单元的通道,控制单元进一步耦合至一个或多个I/O设备。
通道子系统可采用通道命令字(CCW)在I/O设备和存储器之间传送数据。CCW指定要执行的命令。对于启动某些I/O操作的命令,CCW指明与操作关联的存储器区域、每当完成向或从该区域的传送时要采取的行为、和其他选项。
在I/O处理期间,通过通道从存储器提取CCW列表。通道解析来自CCW列表的每条命令,并将多条命令(在其自身实体中的每条命令)转发至与通道耦合的控制单元。然后,控制单元处理命令。通道跟踪每条命令的状态,并控制何时将下一命令集发送至控制单元用于处理。通道确保将每条命令发送至其自身实体中的控制单元。此外,通道推断与处理来自控制单元的对于每条命令的响应关联的某些信息。
由于通道解析CCW,跟踪状态信息,对来自控制单元的响应作出反应,所以对于通道子系统,基于每个CCW执行I/O处理可涉及大量处理负载。因此,有益地,将与解释和管理CCW和状态信息关联的大部分处理负担从通道子系统转移至控制单元。由于简化I/O处理系统中的控制单元和操作系统之间通信的通道角色执行更少的握手,所以这样可增加通信吞吐量。然而,改变命令序列以及通道子系统和控制单元的角色使得在一个I/O操作内传送的数据量达到多于1兆字节。当系统页面大小为4k字节时,上述字节是可利用一个传送间接数据地址的连续列表传送的最大数据量。目前,由于现有的通道命令字(CCW)中的2个字节计数字段的限制,所以CCW不能够在一个I/O操作中支持多于64k字节的数据传送。传送控制字(TCW)通过将字节计数增加至TCW中的4字节来解决这个问题,但是随后遇到下一个1兆字节的限制,因为传送间接数据地址列表(TIDAL)必须包含在为仅允许256个地址列表项的4k字节的一个页面中。
发明内容
本发明的实施例包括一种用于在输入/输出(I/O)处理系统的I/O子系统处提供间接数据寻址的计算机程序产品。所述计算机程序产品包括:处理电路可读的有形存储介质,和用于处理电路执行的存储指令,用于执行一种方法。所述方法包括:接收用于I/O操作的控制字。所述控制字包括用于与所述I/O操作关联的数据的间接数据地址。所述间接数据地址包括共同指定数据的存储地址的列表的开始位置,所述列表跨越两个或更多个不连续的存储位置。响应于所述列表聚集数据。向所述I/O处理系统中的控制单元发送聚集的数据。
附加实施例包括一种用于在I/O处理系统的I/O子系统处提供间接数据寻址的装置。所述装置包括:I/O子系统,适于与所述I/O处理系统中的控制单元通信。所述I/O子系统执行一种方法,包括:接收用于I/O操作的控制字。所述控制字包括用于与所述I/O操作关联的数据的间接数据地址。所述间接数据地址包括共同指定数据的存储地址的列表的开始位置,所述列表跨越两个或更多个不连续的存储位置。响应于所述列表聚集数据。向所述控制单元发送聚集的数据。
其他实施例包括一种用于在I/O处理系统的I/O子系统处提供间接数据寻址的方法。所述方法包括:接收用于I/O操作的控制字。所述控制字包括用于与所述I/O操作关联的数据的间接数据地址。所述间接数据地址包括共同指定数据的存储地址的列表的开始位置,所述列表跨越两个或更多个不连续的存储位置。响应于所述列表聚集数据。向所述I/O处理系统中的控制单元发送聚集的数据。
另外实施例包括一种用于在I/O处理系统的I/O子系统处提供间接数据寻址的计算机程序产品。所述计算机程序产品包括:处理电路可读的有形存储介质,和用于处理电路执行的存储指令,用于执行一种方法。所述方法包括:接收用于I/O操作的控制字。所述控制字包括用于来自所述I/O操作的客户数据输出的间接数据地址。所述间接数据地址包括共同指定客户数据输出的存储位置的存储地址的列表的开始位置,所述列表跨越两个或更多个不连续的存储位置。响应于所述I/O操作在所述I/O处理系统中的控制单元处执行,从所述控制单元接收所述客户数据输出。响应于所述列表,将所述客户数据输出存储在所述I/O子系统处的存储位置处。
在阅览了以下附图和具体实施方式之后,对于本领域普通技术人员而言,根据实施例的制品、装置和/或方法的其他物品将变得清楚。目的在于,制品、装置和/或方法的所有这些附加物品都应该包括在本说明书中,在本发明的范围内,以及受到所附权利要求的保护。
附图说明
特别地指出作为本发明的主题,并且在说明书中包含的权利要求书中不同地主张。根据集合附图进行的以下具体实施方式,本发明的以上和其他目的、特征、和优点变得清楚,其中:
图1示出结合和使用本发明的一个或多个方面的I/O处理系统的一个实施例;
图2A示出现有技术的通道命令字的一个实例;
图2B示出现有技术的通道命令字通道程序的一个实例;
图3示出在通道和控制单元之间的通信中使用的执行图2B的通道命令字通道程序的现有技术链路协议的一个实施例;
图4示出根据本发明一方面的传送控制子通道程序的一个实施例;
图5示出根据本发明一方面的用于在通道和控制单元之间通信的执行图4的传送控制字通道程序的链路协议的一个实施例;
图6示出用于在通道和控制单元之间通信的以执行通道命令字通道程序的4个写入命令的现有技术链路协议的一个实施例;
图7示出根据本发明一方面的用于在通道和控制单元之间通信的以处理传送控制字通道程序的4个写入命令的链路协议的一个实施例;
图8示出根据本发明一方面的控制单元和通道子系统的一个实施例;
图9示出根据本发明一方面的传送模式间接数据地址字(TIDAW)的一个实施例;
图10示出用于在I/O子系统处提供不连续间接数据寻址的处理的一个实施例;以及
图11示出结合本发明的一方面或多个方面的制品的一个实施例。
具体实施方式参照附图借助于实例说明本发明的优选实施例、以及优点和特点。
具体实施方式
根据本发明的一方面,便于输入/输出(I/O)处理。在一个实例中,通过减少用于执行I/O处理的I/O处理系统的组件之间的通信来便于I/O处理。例如,减少在I/O通信适配器(例如通道)和控制单元之间交换和序列的数目。这可通过从I/O通信适配器向作为单独实体的控制单元发送多条命令用于控制单元的执行,以及通过控制单元作为单独实体发送从命令得到的数据(如果存在)来实现。
多条命令包括在这里称为传送命令控制块(TCCB)的块中,其地址在传送控制字(TCW)中指定。将TCW从操作系统(OS)或其他应用发送至I/O通信适配器,后者随后将命令消息中的TCCB转发至控制单元用于处理。控制单元通过I/O通信适配器处理每条命令,其不具有相对于那些个体命令的状态的跟踪。多条命令还称为通道程序,其在控制单元而非I/O通信适配器上被解析和执行。
在示例性实施例中,用于I/O操作的TCW包括用于指示控制数据(例如TCCB)的位置的指针以及与I/O操作关联的客户数据。在示例性实施例中,指针指向间接数据地址,这里称为传送模式间接数据地址列表(TIDAL)。TIDAL包括数据所在的地址的列表;这些地址在这里称为传送模式间接数据地址字(TIDAW)。在具有4K页面的当前系统设计中,TIDAL不能够大于4千字节(4K),由此将可包括在单一TIDAL中的连续TIDAW的数目限制在256(每个TIDAL为16字节)。假设4K的页面,每个TIDAL为16字节,并且TIDAL必须包含在一个4K页面中,则这将可由一个I/O操作传送的总数据量限制在1兆字节。在本发明的示例性实施例中,通过允许TIDAW地址指示在另一存储位置(可能在不同页面中)处的下一TIDAW的开始地址来消除这个限制。利用TIDAW中的标志来指示TIDAW的地址包括数据地址还是TIDAW列表的连续的地址。这样,构成单一TIDAL的TIDAW可位于不连续的存储位置中,因此多于256个TIDAW可包含在一个TIDAL列表中。这允许更多的数据在一个I/O操作中传送。例如,在示例性实施例中,如果TCW中的计数字段为4字节,则可在单一I/O操作中传送大约4兆字节(4兆字节减1字节)。
参照图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可执行Linux
Figure BPA00001201763800061
操作系统103和z/OS
Figure BPA00001201763800062
操作系统103。主存储器102是可直接寻址的,以及提供由CPU 104和通道子系统108进行的数据的高速处理。
CPU 104是I/O处理系统100的控制中心。其包含用于指令执行、中断行为、定时功能、初始程序加载、和其他机器相关功能的定序和处理装备。CPU 104经由连接114(例如双向或单向总线)耦合至存储控制元件106。
存储控制元件106经由连接116(例如总线)耦合至主存储器102;经由连接114耦合至CPU 104;以及经由连接118耦合至通道子系统108。存储控制元件106控制例如由CPU 014和通道子系统108发出的请求的排队和执行。
在示例性实施例中,通道子系统108提供主机系统101和控制单元110之间的通信接口。通道子系统108耦合至存储控制元件106,如上所述;以及经由连接120(例如串行链路)耦合至每个控制单元110。连接120可实现为光链路,在光纤通道结构中采用单模或多模波导。通道子系统108指引I/O设备112和主存储器102之间的信息流。其免除了CPU 104直接与I/O设备112通信的任务,并允许数据处理与I/O处理同时进行。在管理到或从I/O设备112的信息流时,通道子系统108将一个或多个通道路径122用作通信链路。作为I/O处理的一部分,通道子系统108还执行测试通道路径可用性、选择可用通道路径122、和通过I/O设备启动操作的执行的路径管理功能。
每个通道路径122包括通道124(在一个实例中,通道124位于通道子系统108中,如图1所示)、一个或多个控制单元110和一个或多个连接120。在另一实例中,其还可以具有一个或多个动态开关(未示出),作为通道路径122的一部分。动态开关耦合至通道124和控制单元110,并提供对于附连至开关的任意两个链路物理互连的能力。在另一实例中,其还可具有多个系统,因此具有附连至控制单元110的多个通道子系统(未示出)。
同样位于通道子系统108中的有子通道(未示出)。提供一个子通道用于和专用于可通过通道子系统108访问程序的每个I/O设备112。子通道(例如数据结构,如表)向程序提供设备的逻辑表示。每个子通道提供关于关联的I/O设备112的信息及其到通道子系统108的附连。子通道还提供关于I/O操作的信息以及涉及关联的I/O设备112的其他功能。子通道是通道子系统108向CPU 104提供关于关联的I/O设备112的信息所借助的手段,所述CPU 104通过执行I/O指令获得该信息。
通道子系统108耦合至一个或多个控制单元110。每个控制单元110提供操作和控制一个或多个I/O设备112以及通过使用共同装备使得每个I/O设备112的特征适配于通道124提供的链路接口的逻辑。共同装备提供了I/O操作的执行、关于I/O设备112和控制单元110的状态的指示、在通道路径112上的数据传送的定时的控制、以及I/O设备112的某些等级的控制。
每个控制单元110经由连接126(例如总线)附连至一个或多个I/O设备112。I/O设备112接收信息,或将信息存储在主存储器102和/或其他存储器中。I/O设备112的实例包括例如读卡器和打孔器、磁带单元、直接访问存储设备、显示器、键盘、打印机、定点设备、远程处理设备、通信控制器和基于传感器的装置。
I/O处理系统100的上述组件中的一个或多个进一步描述在以下文献中:“IBMz/Architecture Principles of Operation”,公开号No.SA22-7832-05,第6版,2007年4月;美国专利No.5,461,721,题为“System For Transferring Data Between I/O Devices And Main Or Expanded Storage Under Dynamic Control Of Independent Indirect Address Words(IDAWS)”Cormier等人,发布于1995年10月24日;和美国专利No.5,526,484,题为“Method And System For Pipelining The Processing Of Channel Command Words”Casper等人,发布于1996年6月11日,其中每个的全部内容通过引用合并于此。IBM是美国纽约阿蒙克的国际商业机器公司的注册商标。这里使用的其他名称可以是国际商业机器公司或其他公司的注册商标、商标或产品名称。
在一个实施例中,为了在I/O设备112和存储器102之间传送数据,使用通道命令字(CCW)。CCW指定要执行的命令,并包括控制处理的其他字段。参照图2A描述CCW的一个实例。CCW 200包括例如,命令码202,指定要执行(例如,读取、反向读取、控制、感测和写入)的命令;多个标志204,用于针对指定数据传送的命令控制I/O操作;计数字段206,指定在要传送的CCW所指明的存储区域中的字节数;以及数据地址208,当采用直接寻址时其指向包括数据的主存储器中的位置,或当采用修改间接数据寻址时其指向要处理的修改间接数据地址字(MIDAW)的列表(例如连续列表)。修改间接寻址进一步在以下文件中描述:美国专利序号11/464,613,题为“Flexibly Controlling The Transfer Of Data Between Input/Output Devices And Memory”Brice等人,2006年8月15日递交,其全部内容通过引用合并于此。
被设置用于按序执行的一个或多个CCW形成通道程序,这里还称为CCW通道程序。CCW通道程序通过例如操作系统或其他软件来设置。软件设置CCW,并获得分配给通道程序的存储器地址。参照图2B描述CCW通道程序的实例。CCW通道程序210包括例如界定范围CCW 212,其具有指针214,指向要通过界定范围命令使用的界定范围数据216的存储器中的位置。在该实例中,通道传送(TIC)218遵循界定范围命令,其使得通道程序指向包括一个或多个其他CCW(例如,定位记录217,其具有指针219以定位记录数据220;和一个或多个写入CCW 221)的存储器中的另一区域(例如应用区域)。每个写入CCW 220具有指向数据区域224的指针222。数据区域包括直接访问数据的地址或间接访问数据的数据地址字的列表(例如MIDAW或IDAW)。此外,CCW通道程序210包括由设备地址定义的通道子系统中的预定区域,称为用于从CCW通道程序的执行得到的状态226的子通道。
参照图3以及参照图2B描述CCW通道程序的处理。具体地,图3示出当CCW通道程序正在执行时发生在通道和控制单元之间的各种交换和序列的实例。在这个实例中,用于通信的链路协议为FICON(光纤连接)。关于FICON的信息在以下文件中描述:“Fibre Channel Single Byte Command Code Sets-3 Mapping Protocol(FC-SB-3)”,T11/Project1357-D/Rev.1.6,INCITS(2003年3月),其全部内容通过引用合并于此。
参照图3,通道300打开与控制单元302的交换,并向控制单元302发送界定范围命令和与其关联的数据304。从界定范围CCW 212提取命令(图2B),以及从界定范围数据区域216获得数据。通道300使用TIC 218来定位所述定位记录CCW和写入CCW。其从定位记录CCW 217(图2B)和定位记录数据220提取定位记录命令和数据306(图3)。从写入CCW221和数据区域224(图2B)提取写入命令和数据308(图3)。将每个发送至控制单元302。
响应于通道300的打开的交换,控制单元302打开与通道300的交换310。这可发生在定位命令和数据306和/或写入命令和数据308之前或之后。除了打开的交换之外,向通道300转发响应(CMR)。CMR向通道300提供控制单元302为活动和正在运行的指示。
控制单元302向通道300提供状态,并关闭交换312。响应于此,通道300存储数据,检查状态和关闭交换314,其向控制单元302指示状态被接收。
上述CCW通道程序的写入4k数据的处理需要两个要打开和关闭的交换和六个序列。通过将通道程序的多个命令放置于TCCB中来减少在通道和控制单元之间的交换和序列的总数。通道(例如图1的通道124)使用TCW来识别TCCB的位置,以及用于访问和存储与执行通道程序关联的状态和数据的位置。TCW通过通道来解释,并且不通过控制单元发送或看到。
参照图4描述通道程序的写入4k数据(如图2B,但包括TCCB,并非单独的个体CCW)的一个实例。如图所示,通道程序400(这里称为TCW通道程序)包括TCW 402,其指定TCCB 404的存储器中的位置,以及数据区域406的存储器中的位置或指向数据区域406的TIDAL 410(即,传送模式间接数据地址字(TIDAW)的列表,类似于MIDAW)、和状态区域408。TIDAW零412、TIDAW一414、和TIDAW二416(共同地,TIDAW 412-416)可指向用于获取或存储数据的数据区域406中的不同位置。TIDAW 412-416可指向数据的不连续块或数据的连续块。TIDAL 410中的TIDAW 412-416可在存储器中顺序地定位,或相对于彼此不连续地定位。尽管在TIDAL 410中仅示出3个TIDAW 412-416,但是应理解,可在TIDAL 410中包括任意数目个TIDAW。
参照图5描述TCW通道程序的处理。用于这些通信的链路协议为例如光纤通道协议(FCP)。具体地,使用FCP链路协议的3个阶段,从而允许使用主机总线适配器,其支持FCP执行可由CCW控制的数据传送。FCP及其阶段进一步在以下文献中描述:“Information Technology-Fibre Channel Protocol for SCSI,Third Version(FCP-3)”T10Project 1560-D,版本4,2005年9月13日,其全部内容通过引用合并于此。
参照图5,通道500打开与控制单元502的交换,并向控制单元502发送TCCB 504。在一个实例中,在FCP命令(称为FCP CMND信息单元(IU)或传送命令IU)中将TCCB 504和序列初步操作(initiative)传送至控制单元502。当通道500准备接收用于TCCB 504中接收的写入命令的数据时,控制单元502将传送准备(XFER_RDY)IU 510发送至通道500。响应于接收XFER_RDY IU 510,通道500例如经由FCP_Data IU将数据506传送至控制单元502。
控制单元502执行TCCB 504的多个命令(例如,作为设备控制字(DCW)的界定范围命令、定位记录命令、写入命令),并写入从通道500接收的数据506。控制单元502还提供状态并关闭交换508。作为一个实例,在例如FCP_RSP IU(还称为传送响应IU)的有效载荷的字节10或11中具有比特活动的FCP状态帧中发送最终状态。除了附加状态信息之外,FCP_RSP IU有效载荷可用于传送FICON结束状态。
当启用XFER_RDY时,利用图5中所示的链路协议的实施例。在图5中所示的实施例中,通道500不能够向控制单元502发送数据506,直到由控制单元502经由XFER_RDY IU 510对其进行请求。在备选示例性实施例中,禁用XFER_RDY,并且控制单元不向通道500发送XFER_RDYIU 510。因此,通道500不必在发送数据506之前等待控制单元502请求数据506。当通道500和控制单元502定位于地理上彼此远离(例如大于2万米,大于5万米)时,可利用这个备选实施例(其中XFER_RDY被禁用)来提高性能。除非特别指定,这里的讨论假设启用XFER_RDY。
在另一实例中,为了写入4K客户数据,通道500使用FCP链路协议阶段如下:
1.向控制单元502传送FCP_CMND IU中的TCCB和序列初步操作。
2.等待XFER_RDY IU,其指示控制单元准备接收数据。
3.向控制单元502传送数据的IU,和序列初步操作。
4.在例如FCP_RSP IU有效载荷的字节10或11中具有比特活动的FCP状态帧中发送最终状态。除了附加状态信息之外,FCP_RSP_INFO字段或感测字段用于传送FICON结束状态。
通过执行图4的TCW通道程序,仅存在1个打开和关闭的交换(也可见图5),并非图2B的CCW通道程序的2个交换(也可见图3)。此外,相比于针对CCW通道程序的6个序列(见图2B-3),对于TCW通道程序,存在4个通信序列(见图4-5)。
对于TCW通道程序,即使向该程序增加附加命令,交换和序列的数目保持相同。例如,将图6的CCW通道程序的通信与图7的TCW通道程序的通信相比较。在图6的CCW通道程序中,在从通道610到控制单元612的单独序列中发送每条命令(例如界定范围命令和数据600、定位记录命令和数据601、写入命令和数据602、写入命令和数据604、定位记录命令和数据606、写入命令和数据608、和写入命令和数据620)。这个CCW通道程序需要2个打开和关闭的交换(例如打开交换622、624,和关闭交换626、628),和10个通信序列。这相比于图7的TCW通道程序的4个序列和1个交换,实现了与图6的CCW通道程序相同的任务。
如图7所示,通道700打开与控制单元702的交换,并向控制单元702发送TCCB 704。TCCB 704包括DCW中的界定范围命令、两个定位记录命令、和四个写入命令,如上所述。类似于图5中所示的实例,假如XFER_RDY支持没有禁用,控制单元702可使用XFER_RDY IU 710来向通道700通知其准备接收数据。在接收到XFER_RDY IU 710时,通道700在单一序列中向控制单元702发送16k数据706。通道700在序列中的16k数据706的每4K插入CRC。每4K的CRC的插入允许控制单元702递增地验证16K数据,而并非在完成TCCB 704中的写入命令之前缓冲整个16K用于验证。此外,控制单元702向通道700提供状态,并关闭交换708。因此,图7的TCW通道程序需要更少的通信来传送与图6的CCW通道程序相同的数据量,同时经由在来自通道700的输出数据流中的多CRC插入来支持递增的数据验证。
现在转到图8,更详细地示出了支持TCW通道程序执行的在通道子系统108中的通道124和图1的控制单元110的一个实施例。控制单元110包括CU控制逻辑802,用以解析和处理含有TCCB(例如图7的TCCB704)的消息,以及经由连接120从通道124接收的数据。CU控制逻辑802可从在控制单元110处接收的TCCB提取DCW和控制数据,以经由连接126控制例如I/O设备112的设备。CU控制逻辑802向I/O设备112发送设备命令和数据,以及从I/O设备112接收状态信息和其他反馈。当CU控制逻辑802接收数据(例如,图7的16K字节数据706的第一检查块边界)时,CU控制逻辑802将接收的这个数据写入数据缓冲器804,用于临时存储,直到接收到用于检查块边界的CRC,然后可将该数据发送至I/O设备112。对于每个检查块边界,这个操作继续,直到完成I/O操作。
控制单元110可进一步包括其他队列或存储器元件(未示出),用于存储与通道124和I/O设备112之间的通信关联的附加消息或状态信息。
通道子系统108中的通道124包括支持与控制单元110通信的元件。例如,通道124可包括CHN控制逻辑806,其与聚集数据逻辑812对接。以下参照图10来描述聚集数据逻辑812。在示例性实施例中,CHN控制逻辑806控制通道子系统108和控制单元110之间的通信。CHN控制逻辑806可经由连接120直接对接至CU控制逻辑802,以发送命令和接收响应,例如传送命令和响应IU。备选地,消息接口和/或附加缓冲器(未示出)可放置于CHN控制逻辑806和CU控制逻辑802之间。CHN子系统寄存器814可包括提供配置和状态信息以及动态状态信息的固定值,其在传送命令和接收响应时更新。CHN子系统寄存器814可以是专用的硬件寄存器和/或使用存储器映射建立的虚拟寄存器。
在一个实施例中,CHN子系统寄存器814包括图4的TIDAL 410和TIDAW 412-416,作为存储映射的寄存器。
图9中示出TIDAW 900的一个实例。TIDAW 900对于TCW通道程序中使用的数据提供间接寻址,例如图4中的TIDAW 412-416。TIDAW900包括标志902、计数904、和地址906。将TIDAW格式900的每个字段(即标志902、计数904、和地址906)分配给特定字节地址,以支持字段的解析。尽管图9中示出TIDAW 900中的字段的一个安排,但是应理解,字段的顺序可以重新安排以改变排序。
在示例性实施例中,除了其他标志之外,标志902包括最后TIDAW标志和传输-通道传送(T-TIC)标志。根据MIDAW的定义,最后TIDAW标志指示关联的TIDAW是TIDAL中的最后TIDAW。当通过最后TIDAW标志的设置使得计数904到达零时,完成对于关联的I/O操作的数据传送。T-TIC标志指示地址906的内容包括数据还是TIDAL中的下一TIDAW的地址。在示例性实施例中,当T-TIC标志被设置时,随后TIDAW中的地址906是TIDAL中的下一TIDAW的地址。以这个方式,可利用地址906从当前TIDAW访问在不连续存储位置处的TIDAW。因此,TIDAW列表可包含多于256个项,从而超过当前方案中可容许的间接数据地址字的最大数。在备选实施例中,当T-TIC标志被设置时,地址906必须具有设置为零的四个低阶比特,因为16字节TIDAW必须在16字节地址边界上。当T-TIC标志没有被设置时,随后,TIDAW中的地址906是构成为I/O操作正在被聚集的数据的一部分数据的地址。在计数字段904中指示出数据的大小。如果最后TIDAW标志和T-TIC标志没有被设置,则下一TIDAW定位于下一存储位置(例如,他与当前TIDAW连续)。
现在转到图10,现在将根据示例性实施例并引用图1的I/O处理系统100来描述为I/O操作聚集数据的处理1000。在框1002,通道子系统108接收用于I/O操作的控制字(例如TCW)。该控制字包括间接数据地址,其指向构成由I/O操作利用的数据的存储地址列表(例如具有多个TIDAW的TIDAL)的开始地址。在示例性实施例中,数据是客户数据(例如从I/O操作输入或输出的数据)。在备选示例性实施例中,数据是控制数据(例如TCCB)。在示例性实施例中,存储地址列表跨越两个或更多个不连续的存储位置。
在框1004,通过定位于通道子系统108的指令聚集数据。聚集是基于列表的内容。在示例性实施例中,列表中的每个项(例如每个TIDAW)包括存储地址和T-TIC标志,以指示存储地址是否为数据的一部分的地址,或存储地址是否指向含有更多存储地址的列表的另一部分的位置。这样,单一TIDAL可包含在多个页面中,以排除在TIDAL的长度方面的任何限制。当T-TIC标志指示存储地址为数据的一部分的位置(例如T-TIC标志没有被设置)时,在该存储位置的数据被访问并增加至数据。新数据的这种增加可通过本领域已知的任意方式执行,例如与已经聚集的数据合并,附加至已经聚集的数据等。
当T-TIC标志指示当前存储地址为列表的另一部分的位置时,则处理通过访问位于特定存储位置的新TIDAW来继续。访问在新TIDAW中指定的存储位置处的数据,并将其增加至数据。在示例性实施例中,TIDAW包括计数904,以指定要从每个存储地址读取(或写入)多少数据。当前设置了具有最后TIDAW标志的TIDAW时,完成聚集。否则,访问下一TIDAW,并且数据聚集继续。
在框1006,通过通道子系统108向控制单元110发送数据。
示例性实施例的技术效果包括在I/O子系统处提供不连续间接数据寻址。通过允许多个4k字节页面包含存储地址的列表(TIDAL)使得TIDAW的数目不受限制,因此更多数据可与单一I/O操作关联。数据的大量传送可通过避免附加握手和与多条更小的消息关联的其他延迟来减少通信负担。
以下实例描述了在其中可利用示例性实施例来执行不仅仅移动较大数据块的方式。
示例性实施例可用于通过操作系统来辅助通道程序加前缀。例如,当通道程序通过操作系统时,操作系统可修改通道程序,以增加、替换、或修改命令CCW或DCW。在示例性实施例中,这暗示了将创建TCCBTIDAL,其中第一TIDAW指向含有修改的TCCB的第一部分的存储区域。第二TIDAW指向未修改的TCCB的剩余部分。
示例性实施例也可用于通过管理程序来辅助通道程序加前缀。如果管理程序需要修改通道程序,则其将需要创建具有比访客传递的TIDAL多一项的TIDAL。如果访客传递的TIDAL已经是最大的大小(256TIDAW),则管理程序可通过创建具有2个TIDAW(其中一个是对于访客传递的TIDAL的第一TIDAW的T-TIC)的TCCB TIDAL来作出其自身的修改。
TIDAL T-TIC也可改善操作系统的存储需求。如果含有TCCBTIDAL的通道程序需要被修改,则相比于调用者的TCCB TIDAL加又一个TIDAW的分配的存储空间,其采用更少的存储空间来创建TIDAW和T-TIC。
如上所述,实施例可通过用于实践这些处理的计算机实现的处理和装置的形式来实现。在示例性实施例中,本发明在一个或多个网络元件执行的计算机程序代码中实现。实施例包括如图11所示的在计算机可用介质1102上的计算机程序产品1100,其具有计算机程序代码逻辑1104,包含在有形介质中作为制品实现的指令。用于计算机可用介质1102的示例性制品可包括软盘、CD-ROM、硬盘驱动器、通用串行总线(USB)闪速驱动器、或任意其他计算机可读存储介质,其中,当计算机程序代码逻辑1104加载至计算机中并由其执行时,计算机成为实践本发明的装置。
实施例包括计算机程序代码逻辑1104,例如可存储在存储介质中,加载至计算机中和/或由其执行,或通过某些传输介质(例如在电线或电缆上,通过光纤,或经由电磁辐射)来发送,其中,当计算机程序代码逻辑1104加载至计算机中并由其执行时,计算机成为实践本发明的装置。当在通用微处理器上实现时,计算机程序代码逻辑1104分段配置微处理器,以创建特定的逻辑电路。
尽管参照示例性实施例描述了本发明,但是本领域普通技术人员应理解,在不脱离本发明的范围的情况下,可作出各种改变,以及等价物可替换其元素。此外,可作出许多修改,以在不脱离本发明实质范围的情况下,可针对本发明的教导采用特定情形或材料。因此,目的在于本发明不限于为了执行本发明而设想的最优模式而公开的特定实施例,但是本发明将需要落入所附权利要求的范围内的所有实施例。此外,术语第一、第二等的使用没有指定任意顺序或重要性,相反术语第一、第二等用于一个元件与另一个元件区分。此外,术语一、一个的使用没有指定数量的限制,相反指定存在至少一个所引用物体。
权利要求书(按照条约第19条的修改)
1.一种用于在I/O处理系统的I/O子系统处提供间接数据寻址的方法,所述方法包括:
在所述I/O子系统处接收用于I/O操作的控制字,所述控制字包括用于与所述I/O操作关联的数据的间接数据地址,所述间接数据地址包括共同指定数据的存储地址的列表的开始位置,所述列表跨越两个或更多个不连续的存储位置;
响应于所述列表聚集数据;以及
向所述I/O处理系统中的控制单元发送聚集的数据;
其中所述列表还包括与所述列表中的每个存储地址关联的标志;所述标志具有第一值,其指示关联的存储地址指向数据的一部分;以及所述标志具有第二值,其指示关联的存储地址指向所述列表中的附加存储地址所位于的存储位置;以及
其中对于所述列表上的每个存储地址,所述聚集步骤包括:
访问所述存储地址以及与所述存储地址关联的标志;
响应于所述标志具有第一值,向数据增加来自所述存储地址的内容;
响应于所述标志具有第二值,访问第二存储地址以及位于所述存储地址的第二标志,以及响应于所述第二标志具有第一值,向数据增加来自所述第二存储地址的内容。
2.如权利要求1所述的方法,其中当所述标志具有第一值时,所述列表中的第二存储地址定位于与所述列表中的第一存储地址连续;以及当所述标志具有第二值时,所述第二存储地址定位于与所述第一存储地址不连续。
3.如权利要求1所述的方法,其中所述列表还包括与所述列表中的每个存储地址关联的计数字段,所述计数字段指示从所述存储地址读取的字节数,以及所述聚集步骤响应于所述计数字段和所述存储地址。
4.如权利要求1所述的方法,其中所述数据包括控制数据。
5.如权利要求1所述的方法,其中所述数据包括客户数据。
6.如权利要求1所述的方法,其中所述控制字是传送控制字(TCW),存储地址的列表是传送间接数据地址列表(TIDAL),以及每个存储地址是传送间接数据地址字(TIDAW)。
7.如权利要求1所述的方法,其中所述I/O子系统是通道子系统。
8.如权利要求1所述的方法,其中所述控制字包括用以指示其包含间接数据地址的标志。
9.一种系统,包括适于执行根据任意先前方法权利要求的所有方法步骤的装置。
10.一种计算机程序,包括当所述计算机程序在计算机系统上执行时用于执行根据任意先前方法权利要求的所有方法步骤的指令。

Claims (25)

1.一种用于在输入/输出(I/O)处理系统的I/O子系统处提供间接数据寻址的计算机程序产品,所述计算机程序产品包括:
处理电路可读的有形存储介质,和用于处理电路执行的存储指令,用于执行包括以下步骤的方法:
接收用于I/O操作的控制字,所述控制字包括用于与所述I/O操
作关联的数据的间接数据地址,所述间接数据地址包括共同指定数据的存储地址的列表的开始位置,所述列表跨越两个或更多个不连续的存储位置;
响应于所述列表聚集数据;以及
向所述I/O处理系统中的控制单元发送聚集的数据。
2.如权利要求1所述的计算机程序产品,其中所述列表还包括与所述列表中的每个存储地址关联的标志;所述标志具有第一值,其指示关联的存储地址指向数据的一部分;以及所述标志具有第二值,其指示关联的存储地址指向所述列表中的附加存储地址所位于的存储位置。
3.如权利要求2所述的计算机程序产品,其中对于所述列表上的每个存储地址,所述聚集步骤包括:
访问所述存储地址以及与所述存储地址关联的标志;
响应于所述标志具有第一值,向数据增加来自所述存储地址的内容;
响应于所述标志具有第二值,访问第二存储地址以及位于所述存储地址的第二标志,以及响应于所述第二标志具有第一值,向数据增加来自所述第二存储地址的内容。
4.如权利要求2所述的计算机程序产品,其中当所述标志具有第一值时,所述列表中的第二存储地址定位于与所述列表中的第一存储地址连续;以及当所述标志具有第二值时,所述第二存储地址定位于与所述第一存储地址不连续。
5.如权利要求1所述的计算机程序产品,其中所述列表还包括与所述列表中的每个存储地址关联的计数字段,所述计数字段指示从所述存储地址读取的字节数,以及所述聚集步骤响应于所述计数字段和所述存储地址。
6.如权利要求1所述的计算机程序产品,其中所述控制字是传送控制字(TCW),存储地址的列表是传送间接数据地址列表(TIDAL),以及每个存储地址是传送间接数据地址字(TIDAW)。
7.如权利要求1所述的计算机程序产品,其中所述I/O子系统是通道子系统。
8.如权利要求1所述的计算机程序产品,其中所述控制字包括用以指示其包含间接数据地址的标志。
9.如权利要求1所述的计算机程序产品,其中所述数据包括控制数据。
10.如权利要求1所述的计算机程序产品,其中所述数据包括客户数据。
11.一种用于在I/O处理系统的I/O子系统处提供间接数据寻址的装置,所述装置包括:
I/O子系统,适于与所述I/O处理系统中的控制单元通信,所述I/O子系统执行包括以下步骤的方法:
接收用于I/O操作的控制字,所述控制字包括用于与所述I/O操作关联的数据的间接数据地址,所述间接数据地址包括共同指定数据的存储地址的列表的开始位置,所述列表跨越两个或更多个不连续的存储位置;
响应于所述列表聚集数据;以及
向所述控制单元发送聚集的数据。
12.如权利要求11所述的装置,其中所述列表还包括与所述列表中的每个存储地址关联的标志;所述标志具有第一值,其指示关联的存储地址指向数据的一部分;以及所述标志具有第二值,其指示关联的存储地址指向所述列表中的附加存储地址所位于的存储位置。
13.如权利要求12所述的装置,其中对于所述列表上的每个存储地址,所述聚集步骤包括:
访问所述存储地址以及与所述存储地址关联的标志;
响应于所述标志具有第一值,向数据增加来自所述存储地址的内容;
响应于所述标志具有第二值,访问第二存储地址以及位于所述存储地址的第二标志,以及响应于所述第二标志具有第一值,向数据增加来自所述第二存储地址的内容。
14.如权利要求12所述的装置,其中当所述标志具有第一值时,所述列表中的第二存储地址定位于与所述列表中的第一存储地址连续;以及当所述标志具有第二值时,所述第二存储地址定位于与所述第一存储地址不连续。
15.如权利要求11所述的装置,其中所述列表还包括与所述列表中的每个存储地址关联的计数字段,所述计数字段指示从所述存储地址读取的字节数,以及所述聚集步骤响应于所述计数字段和所述存储地址。
16.如权利要求11所述的装置,其中所述数据包括控制数据和客户数据中的一个或两个。
17.如权利要求11所述的装置,其中所述I/O子系统是包括在主机系统中的通道子系统,以及所述通道子系统中的I/O通信适配器适于使用FICON协议经由光纤通道网络与所述控制单元通信。
18.一种用于在I/O处理系统的I/O子系统处提供间接数据寻址的方法,所述方法包括:
在所述I/O子系统处接收用于I/O操作的控制字,所述控制字包括用于与所述I/O操作关联的数据的间接数据地址,所述间接数据地址包括共同指定数据的存储地址的列表的开始位置,所述列表跨越两个或更多个不连续的存储位置;
响应于所述列表聚集数据;以及
向所述I/O处理系统中的控制单元发送聚集的数据。
19.如权利要求18所述的方法,其中所述列表还包括与所述列表中的每个存储地址关联的标志;所述标志具有第一值,其指示关联的存储地址指向数据的一部分;以及所述标志具有第二值,其指示关联的存储地址指向所述列表中的附加存储地址所位于的存储位置。
20.如权利要求19所述的方法,其中对于所述列表上的每个存储地址,所述聚集步骤包括:
访问所述存储地址以及与所述存储地址关联的标志;
响应于所述标志具有第一值,向数据增加来自所述存储地址的内容;
响应于所述标志具有第二值,访问第二存储地址以及位于所述存储地址的第二标志,以及响应于所述第二标志具有第一值,向数据增加来自所述第二存储地址的内容。
21.如权利要求19所述的方法,其中当所述标志具有第一值时,所述列表中的第二存储地址定位于与所述列表中的第一存储地址连续;以及当所述标志具有第二值时,所述第二存储地址定位于与所述第一存储地址不连续。
22.如权利要求18所述的方法,其中所述列表还包括与所述列表中的每个存储地址关联的计数字段,所述计数字段指示从所述存储地址读取的字节数,以及所述聚集步骤响应于所述计数字段和所述存储地址。
23.如权利要求18所述的方法,其中所述数据包括控制数据。
24.如权利要求18所述的方法,其中所述数据包括客户数据。
25.一种用于在I/O处理系统的I/O子系统处提供间接数据寻址的计算机程序产品,所述计算机程序产品包括:
处理电路可读的有形存储介质,和用于处理电路执行的存储指令,用于执行包括以下步骤的方法:
接收用于I/O操作的控制字,所述控制字包括用于来自所述I/O操作的客户数据输出的间接数据地址,所述间接数据地址包括共同指定客户数据输出的存储位置的存储地址的列表的开始位置,所述列表跨越两个或更多个不连续的存储位置;
响应于所述I/O操作在所述I/O处理系统中的控制单元处执行,从所述控制单元接收所述客户数据输出;以及
响应于所述列表,将所述客户数据输出存储在所述I/O子系统处的存储位置处。
CN2009801052284A 2008-02-14 2009-02-10 一种提供间接数据寻址的方法和系统 Active CN101946242B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/031,038 US7890668B2 (en) 2008-02-14 2008-02-14 Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US12/031,038 2008-02-14
PCT/EP2009/051485 WO2009101067A2 (en) 2008-02-14 2009-02-10 Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous

Publications (2)

Publication Number Publication Date
CN101946242A true CN101946242A (zh) 2011-01-12
CN101946242B CN101946242B (zh) 2012-09-19

Family

ID=40849165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801052284A Active CN101946242B (zh) 2008-02-14 2009-02-10 一种提供间接数据寻址的方法和系统

Country Status (18)

Country Link
US (5) US7890668B2 (zh)
EP (1) EP2176771B1 (zh)
JP (1) JP5181141B2 (zh)
KR (1) KR101174997B1 (zh)
CN (1) CN101946242B (zh)
AT (1) ATE492847T1 (zh)
BR (1) BRPI0908825B1 (zh)
CA (1) CA2704138C (zh)
CY (1) CY1111135T1 (zh)
DE (1) DE602009000463D1 (zh)
DK (1) DK2176771T3 (zh)
ES (1) ES2358314T3 (zh)
IL (1) IL207119A (zh)
PL (1) PL2176771T3 (zh)
PT (1) PT2176771E (zh)
RU (1) RU2505851C2 (zh)
SI (1) SI2176771T1 (zh)
WO (1) WO2009101067A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103562893A (zh) * 2011-06-30 2014-02-05 国际商业机器公司 促进通道子系统与输入/输出设备之间的传输模式输入/输出操作
CN103597459A (zh) * 2011-06-10 2014-02-19 国际商业机器公司 使用扩展异步数据移动器间接数据地址字
CN105426322A (zh) * 2015-12-31 2016-03-23 华为技术有限公司 一种数据的预取方法及装置

Families Citing this family (42)

* 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
US7908403B2 (en) 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
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
US7840718B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing of data to suspend operations in an input/output processing log-out system
US7904605B2 (en) 2008-02-14 2011-03-08 International Business Machines Corporation Computer command and response for determining the state of an I/O operation
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
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
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
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
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
US8214562B2 (en) 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
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
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
US7937504B2 (en) 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US7904606B2 (en) 2008-07-31 2011-03-08 International Business Machines Corporation Transport control channel program chain linked branching
US8055807B2 (en) * 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8677027B2 (en) 2011-06-01 2014-03-18 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
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
US8364853B2 (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
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
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
JP6206006B2 (ja) * 2013-08-30 2017-10-04 京セラドキュメントソリューションズ株式会社 データ処理装置及び画像形成装置
CN107526743B (zh) * 2016-06-21 2020-08-07 伊姆西Ip控股有限责任公司 用于压缩文件系统元数据的方法和设备
CN115221078A (zh) * 2021-04-14 2022-10-21 瑞昱半导体股份有限公司 数据传输方法与数据处理电路
US11722436B2 (en) 2021-08-24 2023-08-08 International Business Machines Corporation Transport control word architecture for physical port mirroring

Family Cites Families (264)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US625399A (en) * 1899-05-23 And carl werder
GB1264096A (zh) 1970-06-27 1972-02-16
US3693161A (en) * 1970-07-09 1972-09-19 Burroughs Corp Apparatus for interrogating the availability of a communication path to a peripheral device
US4004277A (en) * 1974-05-29 1977-01-18 Gavril Bruce D Switching system for non-symmetrical sharing of computer peripheral equipment
US3943283A (en) * 1974-06-17 1976-03-09 International Business Machines Corporation Bidirectional single wire data transmission and wrap control
US4080649A (en) * 1976-12-16 1978-03-21 Honeywell Information Systems Inc. Balancing the utilization of I/O system processors
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
US4380046A (en) * 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4374415A (en) * 1980-07-14 1983-02-15 International Business Machines Corp. Host control of suspension and resumption of channel program execution
US4414644A (en) * 1981-04-03 1983-11-08 International Business Machines Corporation Method and apparatus for discarding data from a buffer after reading such data
US4455605A (en) * 1981-07-23 1984-06-19 International Business Machines Corporation Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices
US4497022A (en) * 1982-10-19 1985-01-29 International Business Machines Corporation Method and apparatus for measurements of channel operation
DE3247794A1 (de) * 1982-12-23 1984-06-28 Max Planck Gesellschaft zur Förderung der Wissenschaften e.V., 3400 Göttingen Abschwaecher fuer optische strahlung
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 汎用チャネル制御方式
JPS63145562A (ja) * 1986-12-09 1988-06-17 Hitachi Ltd 入出力処理装置のチヤネルコマンド語読出し方式
JPS63236152A (ja) 1987-03-24 1988-10-03 Fujitsu Ltd I/oキユ−イング制御方法
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
CA2054026A1 (en) * 1990-10-31 1992-05-01 William Monroe Turpin Goal oriented electronic form system
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
JPH0580104A (ja) * 1991-09-20 1993-04-02 Cmk Corp モータ用プリント配線板の製造方法
US5805808A (en) 1991-12-27 1998-09-08 Digital Equipment Corporation Real time parser for data packets in a communications network
JPH05204693A (ja) * 1992-01-29 1993-08-13 Fujitsu Ltd 例外順序保証試験方式
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
JP2532194B2 (ja) * 1992-03-30 1996-09-11 インターナショナル・ビジネス・マシーンズ・コーポレイション プロセッサと結合機能間に対するメッセ―ジ経路指定機能を有するデ―タ処理システム
US5317739A (en) * 1992-03-30 1994-05-31 International Business Machines Corp. Method and apparatus for coupling data processing systems
CA2086691C (en) * 1992-03-30 1997-04-08 David A. Elko Communicating messages between processors and a coupling facility
US5600805A (en) * 1992-06-15 1997-02-04 International Business Machines Corporation Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems
US5452455A (en) * 1992-06-15 1995-09-19 International Business Machines Corporation Asynchronous command support for shared channels for a computer complex having multiple operating systems
US5414851A (en) * 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
US5265240A (en) 1992-07-24 1993-11-23 International Business Machines Corporation Channel measurement method and means
JP2566728B2 (ja) * 1992-10-30 1996-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 論理径路スケジューリング装置及び実行方法
US5301323A (en) * 1992-10-30 1994-04-05 International Business Machines Corp. Data processing system including dynamic channel path management
JP2840511B2 (ja) * 1992-12-10 1998-12-24 富士通株式会社 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法
US5526484A (en) * 1992-12-10 1996-06-11 International Business Machines Corporation Method and system for pipelining the processing of channel command words
US5528755A (en) * 1992-12-22 1996-06-18 International Business Machines Corporation Invalid data detection, recording and nullification
US5517670A (en) * 1992-12-30 1996-05-14 International Business Machines Corporation Adaptive data transfer channel employing extended data block capability
US5461721A (en) * 1993-04-14 1995-10-24 International Business Machines Corporation System for transferring data between I/O devices and main or expanded storage under dynamic control of independent indirect address words (IDAWs)
US5465359A (en) * 1993-11-01 1995-11-07 International Business Machines Corporation Method and system for managing data and users of data in a data processing system
US5584039A (en) * 1993-11-08 1996-12-10 International Business Machines Corporation System for coordinating execution of multiple concurrent channel programs without host processor involvement using suspend and resume commands to control data transfer between I/O devices
JP3528094B2 (ja) * 1994-02-09 2004-05-17 株式会社日立製作所 バス利用方法および記憶制御装置
US6769009B1 (en) 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
US5907684A (en) * 1994-06-17 1999-05-25 International Business Machines Corporation Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image
US5548791A (en) * 1994-07-25 1996-08-20 International Business Machines Corporation Input/output control system with plural channel paths to I/O devices
US5860022A (en) * 1994-07-26 1999-01-12 Hitachi, Ltd. Computer system and method of issuing input/output commands therefrom
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
TW388982B (en) * 1995-03-31 2000-05-01 Samsung Electronics Co Ltd Memory controller which executes read and write commands out of order
US5742845A (en) * 1995-06-22 1998-04-21 Datascape, Inc. System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network
JP3225804B2 (ja) * 1995-09-05 2001-11-05 株式会社日立製作所 入出力チャネルの拡張方式
US5996026A (en) * 1995-09-05 1999-11-30 Hitachi, Ltd. Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information
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
GB2291990A (en) 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system
US5831985A (en) * 1995-11-09 1998-11-03 Emc Corporation Method and apparatus for controlling concurrent data transmission from multiple sources in a channel communication system
US5793983A (en) * 1996-01-22 1998-08-11 International Business Machines Corp. Input/output channel interface which automatically deallocates failed subchannel and re-segments data block for transmitting over a reassigned subchannel
US5812877A (en) * 1996-03-15 1998-09-22 Adaptec, Inc. I/O command block chain structure in a memory
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
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
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
US6654954B1 (en) 1998-02-17 2003-11-25 International Business Machines Corporation Computer system, program product and method utilizing executable file with alternate program code attached as a file attribute
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
JP2001134523A (ja) * 1999-11-09 2001-05-18 Hitachi Ltd チャネル装置、その制御方法及びチャネル制御プログラムを記録したコンピュータ読み取り可能な記録媒体
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
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
US6609161B1 (en) * 2000-06-01 2003-08-19 Adaptec, Inc. Two-dimensional execution queue for host adapters
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 伝送方法、伝送システム、伝送装置及び伝送制御装置
US6662319B1 (en) * 2000-08-31 2003-12-09 Hewlett-Packard Development Company, L.P. Special encoding of known bad data
ATE546018T1 (de) 2000-08-31 2012-03-15 Dolby Lab Licensing Corp Verfahren und anordnung zur audiomatrixdekodierung
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
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
US6678748B2 (en) 2000-09-29 2004-01-13 Emc Corporation Method for optimizing multiple input/output requests to a single logical device
US6950888B1 (en) 2000-09-29 2005-09-27 International Business Machines Corporation Method, system and program products for determining whether I/O constraints exist for controllers of a computing environment
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
US7315911B2 (en) 2005-01-20 2008-01-01 Dot Hill Systems Corporation Method for efficient inter-processor communication in an active-active RAID system using PCI-express links
US6754738B2 (en) * 2001-09-28 2004-06-22 International Business Machines Corporation Low overhead I/O interrupt
US6859866B2 (en) * 2001-10-01 2005-02-22 International Business Machines Corporation Synchronizing processing of commands invoked against duplexed coupling facility structures
US6745299B2 (en) * 2001-11-19 2004-06-01 Hewlett-Packard Development Company, L.P. Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms
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
US7660421B2 (en) 2002-06-28 2010-02-09 Hewlett-Packard Development Company, L.P. Method and system for secure storage, transmission and control of cryptographic keys
US7120728B2 (en) 2002-07-31 2006-10-10 Brocade Communications Systems, Inc. Hardware-based translating virtualization switch
US7107385B2 (en) 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US6826661B2 (en) * 2002-08-30 2004-11-30 Veritas Operating Corporation Methods and systems for storage architectures
US20040054776A1 (en) * 2002-09-16 2004-03-18 Finisar Corporation Network expert analysis process
US7539777B1 (en) * 2002-10-25 2009-05-26 Cisco Technology, Inc. Method and system for network time protocol forwarding
US7080094B2 (en) * 2002-10-29 2006-07-18 Lockheed Martin Corporation Hardware accelerated validating parser
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
US7124207B1 (en) * 2003-08-14 2006-10-17 Adaptec, Inc. I2O command and status batching
US7149823B2 (en) 2003-08-29 2006-12-12 Emulex Corporation System and method for direct memory access from host without processor intervention wherein automatic access to memory during host start up does not occur
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
US7295897B2 (en) * 2004-02-23 2007-11-13 Standard Microsystems Corporation Mapping a plurality of sensors to respective zones in a fan control system
US7133988B2 (en) 2004-02-25 2006-11-07 Hitachi, Ltd. Method and apparatus for managing direct I/O to storage systems in virtualization
TWI369616B (en) 2004-02-27 2012-08-01 Eplus Capital Inc System and method for user creation and direction of a rich-content life-cycle
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
US7502873B2 (en) 2006-10-10 2009-03-10 International Business Machines Corporation Facilitating access to status and measurement data associated with input/output processing
US7500023B2 (en) 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
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
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US7840717B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
US8176222B2 (en) 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US7937507B2 (en) 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
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
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
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
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
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
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
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
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
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
US8732357B2 (en) 2010-10-28 2014-05-20 International Business Machines Corporation Apparatus and method for dynamically enabling and disabling write XFR—RDY
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103597459A (zh) * 2011-06-10 2014-02-19 国际商业机器公司 使用扩展异步数据移动器间接数据地址字
CN103597459B (zh) * 2011-06-10 2016-08-17 国际商业机器公司 执行开始子通道指令的方法和系统
CN103562893A (zh) * 2011-06-30 2014-02-05 国际商业机器公司 促进通道子系统与输入/输出设备之间的传输模式输入/输出操作
CN103562893B (zh) * 2011-06-30 2016-02-17 国际商业机器公司 促进通道子系统与输入/输出设备之间的传输模式输入/输出操作
CN105426322A (zh) * 2015-12-31 2016-03-23 华为技术有限公司 一种数据的预取方法及装置
CN105426322B (zh) * 2015-12-31 2019-05-28 华为技术有限公司 一种数据的预取方法及装置

Also Published As

Publication number Publication date
US9043494B2 (en) 2015-05-26
EP2176771B1 (en) 2010-12-22
WO2009101067A2 (en) 2009-08-20
DK2176771T3 (da) 2011-02-14
US9436272B2 (en) 2016-09-06
RU2010137636A (ru) 2012-03-20
US20130179596A1 (en) 2013-07-11
US20110131343A1 (en) 2011-06-02
KR20100125233A (ko) 2010-11-30
CA2704138C (en) 2017-11-07
US20160342525A1 (en) 2016-11-24
JP5181141B2 (ja) 2013-04-10
CA2704138A1 (en) 2009-08-20
US20140379948A1 (en) 2014-12-25
PT2176771E (pt) 2011-01-21
WO2009101067A4 (en) 2009-11-26
SI2176771T1 (sl) 2011-04-29
US20090210576A1 (en) 2009-08-20
US7890668B2 (en) 2011-02-15
IL207119A0 (en) 2010-12-30
US9720844B2 (en) 2017-08-01
JP2011512591A (ja) 2011-04-21
ES2358314T3 (es) 2011-05-09
WO2009101067A3 (en) 2009-10-08
PL2176771T3 (pl) 2011-05-31
BRPI0908825A2 (pt) 2016-09-20
EP2176771A2 (en) 2010-04-21
CN101946242B (zh) 2012-09-19
RU2505851C2 (ru) 2014-01-27
CY1111135T1 (el) 2015-06-11
US8392619B2 (en) 2013-03-05
DE602009000463D1 (de) 2011-02-03
BRPI0908825B1 (pt) 2020-02-11
KR101174997B1 (ko) 2012-08-20
IL207119A (en) 2014-04-30
ATE492847T1 (de) 2011-01-15

Similar Documents

Publication Publication Date Title
CN101946242B (zh) 一种提供间接数据寻址的方法和系统
CN101939731B (zh) 处理变长设备命令字的系统和方法
US8082481B2 (en) Multiple CRC insertion in an output data stream
CN101939730B (zh) 用于单个i/o操作内的双向数据传输的方法和装置
KR101242896B1 (ko) I/o 처리 시스템의 채널 서브시스템에서 제어 블록에 대한 간접 데이터 주소지정 제공
CN100568203C (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