ES2358314T3 - Facilitación de direccionamiento de datos indirectos en un sistema de tratamiento de entrada/salida, en donde la lista de direcciones de datos indirectos es no contigua. - Google Patents

Facilitación de direccionamiento de datos indirectos en un sistema de tratamiento de entrada/salida, en donde la lista de direcciones de datos indirectos es no contigua. Download PDF

Info

Publication number
ES2358314T3
ES2358314T3 ES09709555T ES09709555T ES2358314T3 ES 2358314 T3 ES2358314 T3 ES 2358314T3 ES 09709555 T ES09709555 T ES 09709555T ES 09709555 T ES09709555 T ES 09709555T ES 2358314 T3 ES2358314 T3 ES 2358314T3
Authority
ES
Spain
Prior art keywords
data
address
list
channel
storage
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
ES09709555T
Other languages
English (en)
Inventor
Daniel Casper
John Flanagan
Harry Yudenfriend
Matthew Kalos
Mark Bendyk
Gustav Sittmann Iii
Catherine Huang
Dale Riedy
Ugochukwu Njoku
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=ES2358314(T3) "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
Application granted granted Critical
Publication of ES2358314T3 publication Critical patent/ES2358314T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Executing Machine-Instructions (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Communication Control (AREA)
  • Circuits Of Receivers In General (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Stored Programmes (AREA)
  • Control By Computers (AREA)

Abstract

Un método para proporcionar un direccionamiento de datos indirectos en un subsistema I/O de un sistema (100) de tratamiento de I/O, comprendiendo el método: recibir (1002) una palabra de control para una operación de I/O en el subsistema de I/O, incluyendo la palabra de control una dirección de datos indirectos para datos asociados con la operación de I/O, incluyendo la dirección de datos indirectos una posición de inicio de una lista de direcciones de almacenamiento que especifica colectivamente los datos, extendiéndose la lista a dos o más posiciones de almacenamiento no contiguas; agrupar (1004) los datos que responden a la lista; y transmitir (1006) los datos agrupados a una unidad de control en el sistema de tratamiento de I/O; en el que la lista incluye además un primer indicador asociado con cada dirección de almacenamiento en la lista, teniendo el primer indicador un primer valor para indicar que la dirección de almacenamiento asociada se refiere a una parte de los datos y teniendo el primer indicador un segundo valor para indicar que la dirección de almacenamiento asociada se refiere a una posición de almacenamiento dónde las direcciones de almacenamiento adicional en la lista están posicionadas; en el que para cada dirección de almacenamiento en la lista, el agrupamiento incluye: acceder a la dirección de almacenamiento y al primer indicador asociado con la dirección de almacenamiento; añadir contenidos desde la dirección de almacenamiento a los datos en respuesta al primer indicador que tiene el primer valor; caracterizado por: acceder a una segunda dirección de almacenamiento y a un segundo indicador situado en la dirección de almacenamiento en respuesta al primer indicador que tiene el segundo valor, y añadir contenidos desde la segunda dirección de almacenamiento a los datos en respuesta al segundo indicador que tiene el primer valor.

Description

CAMPO DEL INVENTO
La presente exposición se refiere en general al tratamiento de entrada/salida, y en particular, a facilitar o proporcionar una lista de direccionamiente de datos indirectos no contiguos en un subsistema de entrada/salida (I/O) de un sistema de tratamiento de entrada/salida (I/O).
DESCRIPCIÓN DE ANTECEDENTES
Las operaciones de entrada/salida (I/O) son utilizadas para transferir datos entre memoria y dispositivos de I/O de un sistema de tratamiento de I/O. Específicamente, los datos son escritos desde la memoria a uno o más dispositivos de I/O, y los datos son leídos desde uno o más dispositivos de I/O a la memoria ejecutando operaciones de I/O.
Para facilitar el tratamiento de operaciones de I/O, se emplea un subsistema de I/O del sistema de tratamiento de I/O. El subsistema de I/O está acoplado a la memoria principal y a los dispositivos de I/O del sistema de tratamiento de I/O y dirige el flujo de información entre la memoria y los dispositivos de I/O. Un ejemplo de un subsistema de I/O es un subsistema de canal. El subsistema de canal utiliza trayectos de canal como medios de comunicación. Cada trayecto de canal incluye un canal acoplado a una unidad de control, estando además la unidad de control acoplada a uno o más dispositivos de I/O.
El subsistema de canal puede emplear palabras de instrucción o comando de canal (CWW) para transferir datos entre los dispositivos de I/O y la memoria. Una CCW especifica la instrucción que se ha de ejecutar. Para instrucciones que inician ciertas operaciones de I/O, la CCW designa el área de memoria asociada con la operación, la acción que ha de ser tomada siempre que una transferencia a o desde el área es completada, y otras opciones.
Durante el tratamiento de I/O, una lista de CCW es traída desde la memoria por un canal. El canal analiza sintácticamente cada instrucción de la lista de CCW y envía un número de las instrucciones, cada instrucción en su propia entidad, a una unidad de control acoplada al canal. La unidad de control procesa entonces las instrucciones. El canal sigue el estado de cada instrucción y controla cuando el siguiente conjunto de instrucciones ha de ser enviado a la unidad de control para su tratamiento. El canal asegura que cada instrucción es enviada a la unidad de control en su propia entidad. Además, el canal infiere cierta información asociada con el tratamiento de la respuesta desde la unidad de control para cada instrucción.
Realizar el tratamiento de I/O sobre una base por CCW puede implicar una gran cantidad de sobrecarga de tratamiento para el subsistema de canal, cuando el canal analiza sintácticamente las CCW, sigue la información de estado, y reacciona a la respuesta procedente de las unidades de control. Por ello, puede ser beneficioso desplazar mucha parte de la carga de tratamiento asociada con la interpretación y gestión de la CCW y la información de estado desde el subsistema de canal a las unidades de control. Simplificar la misión de canales en comunicación entre las unidades de control y un sistema operativo en el sistema de tratamiento de I/O puede aumentar el rendimiento de la comunicación ya que se realiza menos intercambio de datos. Sin embargo, alterar secuencias de instrucciones, así como misiones del subsistema de canal y de las unidades de control, permite que la cantidad de datos que es transferida dentro de una única operación de I/O sea más de un megabyte. Esta es la máxima cantidad de datos que pueden ser transferidos con una lista continua de direcciones de datos de transporte indirectos cuando el tamaño de la página del sistema es de 4 Kbytes. Actualmente, una Palabra de Instrucción de Canal (CCW) no puede soportar una transferencia de datos de más de 64 Kbytes dentro de una única operación de I/O debido a la limitación de los campos de cómputo de dos bytes en la CCW. La Palabra de Control de Transporte (TCW) ha resuelto ese problema aumentando el cómputo de bytes a cuatro bytes en la TCW, pero a continuación la siguiente limitación de un megabyte se ha encontrado porque la lista de dirección de datos indirectos de transporte (TIDAL) debe ser contenida en una página que es de 4 Kbytes que solo ha permitido 256 entradas de la lista de direcciones.
El documento US 5.584.039A describe un método para proporcionar el direccionamiento a datos indirectos en un subsistema de I/O.
BREVE SUMARIO DEL INVENTO
El invento proporciona un método según la reivindicación 1 y un sistema y un programa de ordenador correspondientes.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
El objeto o cuestión que es considerado como el invento está particularmente indicado y reivindicado de modo distintivo en las reivindicaciones a la conclusión de la memoria. Los anteriores y otros objetos, características y ventajas del invento son evidentes a partir de la siguiente descripción detallada tomada en unión con los dibujos adjuntos en los que:
La fig. 1 representa una realización de un sistema de tratamiento de I/O que incorpora y que utiliza uno o más aspectos del presente invento;
La fig. 2A representa un ejemplo de una palabra de instrucción de canal de la técnica anterior;
La fig. 2B representa un ejemplo de un programa de canal de palabra de instrucción de canal de la técnica anterior;
La fig. 3 representa una realización de un protocolo de enlace de la técnica anterior utilizado en comunicación entre un canal y una unidad de control para ejecutar el programa de canal de palabra de instrucción de canal de la fig. 2B;
La fig. 4 representa una realización de un programa de canal de palabra de control de transporte, de acuerdo con un aspecto del presente invento;
La fig. 5 representa una realización de un protocolo de enlace utilizado para comunicar entre un canal y una unidad de control para ejecutar el programa de canal de palabra de control de transporte de la fig. 4, de acuerdo con un aspecto del presente invento;
La fig. 6 representa una realización de un protocolo de enlace de la técnica anterior utilizado para comunicar entre un canal y una unidad de control a fin de ejecutar cuatro instrucciones de escritura de un programa de canal de palabra de instrucción de canal;
La fig. 7 representa una realización de un protocolo de enlace utilizado para comunicar entre un canal y una unidad de control para tratar las cuatro instrucciones de escritura de un programa de canal de palabra de control de transporte, de acuerdo con un aspecto del presente invento;
La fig. 8 representa una realización de una unidad de control y un subsistema de canal, de acuerdo con un aspecto del presente invento;
La fig. 9 representa una realización de una palabra de dirección de datos indirectos de modo de transporte (TIDAW), de acuerdo con un aspecto del presente invento;
La fig. 10 representa una realización de un proceso para proporcionar el direccionamiento a datos indirectos no contiguos en un subsistema de I/O; y
La fig. 11 representa una realización de un artículo de fabricación que incorpora uno o más aspectos del presente invento.
La descripción detallada explica las realizaciones preferidas del invento, junto con las ventajas y características, a modo de ejemplo con referencia a los dibujos.
DESCRIPCIÓN DETTALADA DEL INVENTO
De acuerdo con un aspecto del presente invento, es facilitado el tratamiento de entrada/salida (I/O). El tratamiento de I/O es facilitado, en un ejemplo, reduciendo comunicaciones entre componentes de un sistema de tratamiento de I/O utilizado para realizar el tratamiento de I/O. Por ejemplo, el número de intercambios y secuencias entre un adaptador de comunicaciones de I/O, tal como un canal, y una unidad de control es reducido. Esto se consigue enviando una pluralidad de instrucciones desde el adaptador de comunicaciones de I/O a la unidad de control como una única entidad para ejecución por la unidad de control, y enviando la unidad de control los datos resultantes a partir de las instrucciones, si las hay, como una única entidad.
La pluralidad de instrucciones está incluida en un bloque, denominado aquí como un bloque de control de instrucción de transporte (TCCB), una dirección del cual está especificada en una palabra de control de transporte (TCW). La TCW es enviada desde un sistema operativo (OS) u otra aplicación al adaptador de comunicaciones de I/O, que a su vez envía el TCCB en un mensaje de instrucción a la unidad de control para tratamiento. La unidad de control procesa cada una de las instrucciones ausente en un seguimiento de estado relativo a aquellas instrucciones individuales por el adaptador de comunicaciones de I/O. La pluralidad de instrucciones es también denominada como un programa de canal, que es analizado sintácticamente y ejecutado sobre la unidad de control en vez del adaptador de comunicaciones de I/O.
En una realización ejemplar, la TCW para una operación de I/O incluye indicadores que indican la posición de los datos de control (por ejemplo el TCCB) y los datos de cliente asociados con la operación de I/O. En una realización ejemplar, los indicadores se refieren a una dirección de datos indirecta, denominada aquí como una lista de dirección de datos indirectos en modo de transporte (TIDAL). La TIDAL incluye una lista de direcciones donde están situados los datos; estas direcciones son denominadas aquí como palabras de dirección de datos indirectos en modo de transporte (TIDAW). En el diseño del sistema común con páginas de 4 K la TIDAL no puede ser mayor de 4 Kilobytes (4 k), limitando así el número de las TIDAW continuas que puede ser incluido en una única TIDAL a 256 (cada TIDAL es de 16 bytes). Esto limita la cantidad total de datos que pueden ser transferidos por una operación de I/O a un megabyte suponiendo páginas de 4 K, cada TIDAL es de 16 bytes y la TIDAL ha de estar contenida en una página de 4 K. En una realización ejemplar del presente invento, esta limitación es eliminada permitiendo que una dirección de TIDAW indique la posición de inicio de las siguientes TIDAW en otra posición de almacenamiento que puede estar en una página diferente. Un indicador o banderola en la TIDAW es utilizado para indicar si la dirección de la TIDAW incluye una dirección de datos o una dirección de la continuación de la lista de las TIDAW. De esta manera, las TIDAW que constituyen una única TIDAL pueden estar situadas en posiciones de almacenamiento no contiguas y así, más de 256 TIDAW pueden ser incluidas en una única lista TIDAL. Esto permite que se transfieran más datos dentro de una única operación de I/O. Por ejemplo, en una realización ejemplar, cuando el campo de cómputo en la TCW que es de cuatro bytes, aproximadamente cuatro gigabytes (4 gigabytes menos un byte) pueden ser transferidos dentro de una única operación de I/O.
Un ejemplo de un sistema de tratamiento de I/O que incorpora y que utiliza uno o más aspectos del presente invento está descrito con referencia a la fig. 1. El sistema 100 de tratamiento de I/O incluye un sistema anfitrión 101, que además incluye por ejemplo, una memoria principal 102, una o más unidades de tratamiento central (CPU) 104, un elemento 106 de control de almacenamiento, y un subsistema 108 de canal. El sistema anfitrión 101 puede ser un sistema informático a gran escala, tal como un ordenador principal o servidor. El sistema 100 de tratamiento de I/O también incluye una o más unidades de control 110 y uno o más dispositivos 112 de I/O, cada uno de los cuales es descrito a continuación.
La memoria principal 102 almacena datos y programas, que pueden ser introducidos desde dispositivos 112 de I/O. Por ejemplo, la memoria principal 102 puede incluir uno o más sistemas operativos (OS) 103 que son ejecutados por una o más de las CPU 104. Por ejemplo, una CPU 104 puede ejecutar un sistema operativo 103 Linux® y un sistema operativo 103 de z/OS® como casos diferentes de máquina virtual. La memoria principal 102 es directamente accesible y proporciona medios para el tratamiento de datos a alta velocidad por las CPU 104 y el subsistema de canal 108.
La CPU 104 es el centro de control del sistema 100 de tratamiento de I/O. Contiene posibilidades de secuenciado y tratamiento para ejecución de instrucción, acción de interrupción, funciones de temporización, carga inicial del programa, y otras funciones relacionadas con la máquina. La CPU 104 está acoplada al elemento de control 106 de almacenamiento a través de una conexión 114, tal como un bus bidireccional o unidireccional.
El elemento 106 de control de almacenamiento está acoplado a la memoria principal 102 mediante una conexión 116, tal como un bus; a las CPU 104 a través de la conexión 114; y al subsistema de canal 108 a través de una conexión
118. El elemento 106 de control de almacenamiento controla, por ejemplo, la puesta en cola y ejecución de solicitudes hechas por la CPU 104 y el subsistema de canal 108.
En una realización ejemplar, el subsistema de canal 108 proporciona una interfaz de comunicación entre el sistema anfitrión 101 y las unidades de control 110. El subsistema de canal 108 está acoplado al elemento 106 de control de almacenamiento, como se ha descrito antes, y a cada una de las unidades de control 110 a través de una conexión 120, tal como un enlace en serie. La conexión 120 puede ser implantada como un enlace óptico, que emplea guía-ondas de un solo modo o de múltiples modos en un tejido de Canal de Fibras. El subsistema de canal 108 dirige el flujo de información entre dispositivos de I/O 112 y la memoria principal 102. Alivia a las CPU 104 de la tarea de comunicar directamente con los dispositivos 112 de I/O y permite que el tratamiento de datos prosiga de manera concurrente con el tratamiento de I/O. El subsistema de canal 108 utiliza uno o más trayectos de canal 122 como los enlaces de comunicación en la gestión del flujo de información a o desde los dispositivos 112 de I/O. Como una parte del tratamiento de I/O, el subsistema de canal 108 también realiza las funciones de gestión de trayecto de prueba para disponibilidad del trayecto de canal, seleccionando un trayecto de canal 122 disponible e iniciando la ejecución de la operación con los dispositivos 112 de I/O.
Cada trayecto de canal 122 incluye un canal 124 (los canales 124 están situados dentro del subsistema de canal 108, en un ejemplo, como se ha mostrado en la fig. 1), una o más unidades de control 110 y una o más conexiones 120. En otro ejemplo, es también posible tener una o más conmutadores dinámicos (no representados) como parte del trayecto de canal 122. Un conmutador dinámico está acoplado a un canal 124 y a una unidad de control 110 y proporciona la capacidad de interconectar físicamente cualesquiera dos enlaces que están unidos al conmutador. En otro ejemplo, es también posible tener múltiples sistemas, y por ello múltiples subsistemas de canal (no representados) unidos a la unidad de control 110.
También situados dentro del subsistema de canal 108 hay subcanales (no mostrados). Un subcanal está previsto y dedicado a cada dispositivo 112 de I/O accesible a un programa a través del subsistema de canal 108. Un subcanal (por ejemplo una estructura de datos, tal como una tabla) proporciona la apariencia lógica de un dispositivo al programa. Cada subcanal proporciona información relativa al dispositivo 112 de I/O asociado y su unión al subsistema de canal 108. El subcanal también proporciona información relativa a las operaciones de I/O y otras funciones que implican al dispositivo 112 de I/O asociado. El subcanal es el medio por el que el subsistema de canal 108 proporciona información acerca de dispositivos 112 de I/O asociados a las CPU 104, que obtienen esta información ejecutando instrucciones de I/O.
El subsistema de canal 108 está acoplado a una o más unidades de control 110. Cada unidad de control 110 proporciona lógica para operar y controlar uno más dispositivo 112 de I/O y adapta, mediante el uso de instalaciones comunes, las características de cada dispositivo 112 de I/O a la interfaz de enlace proporcionada por el canal 124. Las instalaciones comunes proporcionan medios para la ejecución de operaciones de I/O, indicaciones relativas al estado del dispositivo 112 de I/O y de la unidad de control 110, el control de la temporización de transferencia de datos sobre el trayecto de canal 122 y ciertos niveles del dispositivo 112 de I/O de control.
Cada unidad de control 110 está unida mediante una conexión 126 (por ejemplo un bus) a uno o más dispositivos 112 de I/O. Los dispositivos 112 de I/O reciben información o almacenan información en la memoria principal 102 y/o en otra memoria. Ejemplos de un dispositivo 112 de I/O incluyen lectores y perforadores de tarjetas, unidades de cinta magnética, dispositivos de almacenamiento de acceso directo, pantallas de presentación, teclados, impresoras, dispositivos indicadores, dispositivos de teleproceso, controladores de comunicación y equipo basados en un sensor, por nombrar unos pocos.
Uno más de los anteriores componentes del sistema 100 de tratamiento de I/O están además descritos en “Principios de Funcionamiento de la Arquitectura z de IBM®,” Publicación Nº SA22-7832-05, 6ª Edición, Abril de 2007; Patente norteamericana Nº 5.461.721 titulada “Sistema Para Transferir Datos Entre Dispositivos de I/O Y Almacenamiento Principal O Expandido Bajo Control Dinámico De Palabras de Dirección Indirecta Independientes (IDAWS), “Corner y col., concedida el 24 de Octubre de 1995; y la patente norteamericana Nº 5.526.484 titulada “Método y Sistema para Distribuir El Tratamiento De Palabras de Instrucción de Canal”, de Casper y col., concedida el 11 de Junio de 1966. IBM es una marca registrada de Internacional Business Machines Corporation, Armonk, Nueva York, Estados Unidos de Norteamérica. Otros nombres utilizados aquí pueden ser marcas registradas, nombres de marcas o productos de Internacional Business Machines Corporation u otras compañías.
En una realización, para transferir datos entre dispositivos 112 de I/O y la memoria 102, se utilizan palabras de instrucción de canal (CCW). Una CCW especifica la instrucción que ha de ser ejecutada, e incluye otros campos para controlar el tratamiento. Un ejemplo de una CCW está descrito con referencia a la fig. 2A. Una CCW 200 incluye, por ejemplo, un código de instrucción 202 que especifica la instrucción que ha de ser ejecutada (por ejemplo, lectura, lectura inversa, control, detección y escritura); una pluralidad de indicadores o banderolas 204 utilizados para controlar la operación de I/O; para instrucciones que especifican la transferencia de datos, un campo de cómputo 206 que especifica el número de bytes en el área de almacenamiento designado por la CCW que ha de ser transferido; y una dirección de datos 208 que apunta a una posición en la memoria principal que incluye datos, cuando es empleado el direccionamiento directo, o a una lista (por ejemplo lista contigua) de palabras de dirección de datos indirectos modificadas (MIDAW) que han de ser procesadas, cuando se emplea un direccionamiento de los datos indirectos modificados. El direccionamiento indirecto modificado está además descrito en la Solicitud de Patente Norteamericana Publicada Nº 2008/0043563, titulada “Controlar de Modo Flexible la Transferencia de Datos Entre los Dispositivos de Entrada/Salida Y la Memoria”, de Brice y col., presentada el 15 de agosto de 2006.
Una o más CCW dispuestas para ejecución secuencial forman un programa de canal, también denominado aquí como un programa de canal de CCW. El programa de canal de CCW es configurado, por ejemplo, por un sistema operativo u otro software. El software configura las CCW y obtiene las direcciones de memoria asignadas al programa de canal. Un ejemplo de un programa de canal de CCW está descrito con referencia a la fig. 2B. Un programa de canal 210 de CCW incluye, por ejemplo, una CCW 212 de definición de extensión que tiene un indicador 214 a una posición en la memoria de datos 216 de definición de extensión que han de ser utilizados con la instrucción de definición de extensión. En este ejemplo, una transferencia en el canal (TIC) 218 sigue a la instrucción de definición de extensión que refiere el programa de canal a otra área en la memoria (por ejemplo un área de aplicación) que incluye una o más CCW distintas, tal como posicionamiento de registro 217 que tiene un indicador 219 a datos de posicionamiento de registro 220, y una o más CCW 221 de escritura. Cada CCW 220 de escritura tiene un indicador 222 a un área de datos 224. El área de datos incluye una dirección para acceder directamente a los datos o una lista de palabras de dirección de datos (por ejemplo las MIDAW o las IDAW) para acceder indirectamente a los datos. Además, el programa 210 de canal de CCW incluye un área predeterminada en el subsistema de canal definida por la dirección del dispositivo llamado el subcanal para el estado 126 que resulta de la ejecución del programa de canal de CCW.
El tratamiento de un programa de canal de CCW está descrito con referencia a la fig. 3, así como con referencia a la fig. 2B. En particular, la fig. 3 muestra un ejemplo de los distintos intercambios y secuencias que ocurren entre un canal y una unidad de control cuando se está ejecutando un programa de canal de CCW. El protocolo de enlace utilizado para las comunicaciones es FICON (Conectividad por Fibras), en este ejemplo. Información relativa a FICON está descrita en “Protocolo de Correspondencia de 3 Conjuntos de Código de Instrucción de un Único Byte de Canal de Fibras (FC-SB3), T11/Proyecto 1357-D/Rev. 1.6, INCITS (Marzo de 2003).
Con referencia a la fig. 3, un canal 300 abre un intercambio con una unidad de control 302 y envía una instrucción de definición de extensión y los datos 304 asociados con ella a la unidad de control 302. La instrucción es traída desde la CCW 212 de definición de extensión (fig. 2B) y los datos son obtenidos a partir del área 216 de datos de definición de extensión. El canal 300 utiliza el TIC 218 para la CCW de posicionamiento de registro y la CCW de escritura. Trae la instrucción de posicionamiento de registro y los datos 306 (fig. 3) desde la CCW 217 de posicionamiento de registro (fig. 2B) y los datos 220 de posicionamiento de registro. La instrucción de escritura y los datos 308 (fig. 3) son traídos desde la CCW 221 de escritura y el área de datos 224 (fig. 2B). Cada uno de ellos es enviado a la unidad de control 302.
La unidad de control 302 abre un intercambio 310 con el canal 300, en respuesta al intercambio abierto del canal
300. Esto puede ocurrir antes o después de la instrucción de posicionamiento y de los datos 306 y/o de la instrucción de escritura y de los datos 308. Junto con el intercambio abierto, una respuesta (CMR) es enviada al canal 300. La CMR proporciona una indicación al canal 300 de que la unidad de control 302 está activa y funcionando.
La unidad de control 302 proporciona el estado al canal 300 y cierra el intercambio 312. En respuesta a ello, el canal 300 almacena los datos, examina el estado y cierra el intercambio 314, que indica a la unidad de control 302 que el estado ha sido recibido.
El tratamiento del programa de canal de CCW anterior para escribir 4 K de datos requiere que se abran y cierren dos intercambios y seis secuencias. El número total de intercambios y secuencias entre el canal y la unidad de control es reducido mediante el colapsado de múltiples instrucciones del programa de canal a un TCCB. El canal, por ejemplo el canal 124 de la fig. 1, utiliza una TCW para identificar la posición del TCCB, así como las posiciones para acceder y almacenar el estado y datos asociados con la ejecución del programa de canal. La TCW es interpretada por el canal y no es enviada o vista por la unidad de control.
Un ejemplo de un programa de canal para escribir 4 K de datos, como en la fig. 2B, pero que incluye un TCCB, en lugar de CCW individuales separadas, está descrito con referencia a la fig. 4. Como se ha mostrado, un programa de canal 400, denominado aquí como un programa de canal de TCW incluye una TCW 402 que especifica una posición en la memoria de un TCCB 404, así como una posición en la memoria de un área de datos 406 o una TIDAL 410 (es decir, una lista de palabras de dirección de datos indirectos en modo de transporte (TIDAW), similar a las MIDAW) que apunta al área de datos 406, y a un área de estado 408. La TIDAW cero 412, la TIDAW uno 414 y la TIDAW dos 416 (colectivamente TIDAW 412-416) pueden referirse a diferentes posiciones en el área de datos 406 para adquirir o almacenar datos. Las TIDAW 412-416 pueden referirse a bloques no contiguos de datos o a bloques contiguos de datos. Las TIDAW 412-416 en la TIDAL 410 pueden estar situadas secuencialmente en memoria o situadas de modo no contiguo una con relación a otra. Aunque solo se han representado tres TIDAW 412-416 en la TIDAL 410, se comprenderá que cualquier número de TIDAW puede ser incluido en la TIDAL 410.
El tratamiento de un programa de canal de TCW está descrito con referencia a la fig. 5. El protocolo de enlace utilizado para estas comunicaciones es, por ejemplo, el Protocolo de Canal de Fibras (FCP). En particular, se utilizan tres fases del protocolo de enlace FCP, permitiendo que sean utilizados los adaptadores de bus anfitriones que soportan el FCP para realizar transferencias de datos controladas por las CCW. El FCP y sus fases están descritos además en “Tecnología de Información – Protocolo de Canal de Fibras para SCSI, Tercera Versión (FCP-3),” Proyecto T10 1560-D, Revisión 4, 13 de Septiembre de 2005.
Con referencia a la fig. 5, un canal 500 abre un intercambio con una unidad de control 502 y envía un TCCB 504 a la unidad de control 502. En un ejemplo, el TCCB 504 y la secuencia de iniciación son transferidos a la unidad de control 502 en una instrucción de FCP, denominado como una unidad de información (IU) de FCP_CMND o una IU de instrucción de transporte. La unidad de control 502 transmite una IU 510 lista para transferencia (XFER_RDY) al canal 500 cuando está lista para recibir datos para las instrucciones de escritura recibidas en el TCCB 504. En respuesta a la recepción de la IU 510 de XFER_RDY, el canal 500 transfiere los datos 506 a la unidad de control 502, a través, por ejemplo, de una IU de FCP_Data. La unidad de control 502 ejecuta las múltiples instrucciones del TCCB 504 (por ejemplo instrucción de definición de extensión, instrucción de posicionamiento de registro, instrucción de escritura como palabras de control de dispositivo (DCW)) y escribe los datos 506 recibidos desde el canal 500. También proporciona el estado y cierra el intercambio 508. Como ejemplo, el estado final es enviado en un cuadro de estado de FCP que tiene un bit activo por ejemplo, en el byte 10 u 11 de la carga útil de una IU de FCP_RSP, también denominada como una IU de respuesta de transporte. La carga útil de la IU de FCP_RSP puede ser utilizada para transportar el estado terminado del FICON junto con información de estado adicional.
La realización del protocolo de enlace representado en la fig. 5 es utilizada cuando XFER_RDY es habilitado. En la realización representada en la fig. 5, el canal 500 no puede enviar los datos 506 a la unidad de control 502 hasta que es solicitado por la unidad de control 502 a través de la IU 510 de XFER_RDY. En una realización ejemplar alternativa, XFER_RDY está deshabilitado y la unidad de control no transmite una IU 510 de XFER_RDY al canal 500. Así, el canal 500 no tiene que esperar a que la unidad de control 500 solicite los datos 506 antes de enviar los datos 506. Esta realización alternativa, donde XFER_RDY es deshabilitada puede ser utilizada cuando el canal 500 y la unidad de control 502 están situados separados geográficamente uno de otro (por ejemplo a más de veinte km, a más de cincuenta km) para mejorar el rendimiento. A menos que se haya especificado de otro modo, la descripción aquí asume que el XFER_RDY está habilitado.
En otro ejemplo, para escribir 4 K de datos de cliente, el canal 500 utiliza las fases del protocolo de enlace de FCP, como sigue:
1.
Transferir un TCCB en la IU de FCP_CMND y la secuencia de inicio a la unidad de control 502.
2.
Esperar a una IU de XFER_RDY que indica que la unidad de control está lista para recibir los datos.
3.
Transferir la IU de datos, y la secuencia de iniciación a la unidad de control 502.
4.
El estado final es enviado a un cuadro de estado de FCP que tiene un bit activo, por ejemplo, en el byte 10 u 11 de la carga útil de IU FCP_RSP. El campo de FCP_RSP_INFO o campo de detección es utilizado para transportar el estado de terminación de FICON junto con información adicional del estado.
Ejecutando el programa de canal de TCCW de la fig. 4, solamente es abierto y cerrado un intercambio (véase también la fig. 5), en vez de dos intercambios para el programa de canal de CCW de la fig. 2B (véase también la fig. 3). Además, para el programa de canal de TCCW, hay cuatro secuencias de comunicación (véanse figs. 4-5), en comparación con seis secuencias para el programa del canal de CCW (véanse figs. 2B-3).
El número de intercambios y secuencias sigue siendo el mismo para un programa de canal de TCW, incluso si se añaden instrucciones adicionales al programa. Compárense, por ejemplo, las comunicaciones del programa de canal de CCW de la fig. 6 con las comunicaciones del programa de canal de TCW de la fig. 7. En el programa de canal de CCW de la fig. 6, cada una de las instrucciones (por ejemplo la instrucción de definición de extensión y los datos 600, la instrucción de posicionamiento de registro y los datos 601, la instrucción de escritura y los datos 602, la instrucción de escritura y los datos 604, la instrucción de posicionamiento de registro y los datos 606, la instrucción de escritura y los datos 608, y la instrucción de escritura y los datos 620) son enviados en secuencias separadas desde el canal 610 a la unidad de control 612. Este programa de canal de CCW requiere que sean abiertos y cerrados dos intercambios (por ejemplo los intercambios 622, 624 abiertos y los intercambios 626, 628 cerrados), y diez secuencias de comunicaciones. Esto es comparado con las cuatro secuencias y un intercambio para el programa de canal de TCW de la fig. 7, que consigue la misma tarea que el programa de canal de CCW de la fig. 6.
Como se ha representado en la fig. 7, un canal 700 abre un intercambio con una unidad de control 702 y envía un TCCB 704 a la unidad de control 702. El TCCB 704 incluye la instrucción de definición de extensión, las dos instrucciones de posicionamiento de registro, y las cuatro instrucciones de escritura en las DCW, como se ha descrito anteriormente. De manera similar al ejemplo representado en la fig. 5, la unidad de control 702 puede utilizar una IU 710 XFER_RDY para notificar al canal 700 que está lista para recibir datos, siempre que el soporte de XFER_RDY no esté deshabilitado. El canal 700 transmite 16 K de datos 706 a la unidad de control 702 en una única secuencia al recibir la IU 710 de XFER_RDY. El canal 700 inserta un CRC cada 4 K de los 16 K de datos 706 en la secuencia. La inserción de un CRC cada 4 K permite que la unidad de control 702 verifique los 16 K de datos de manera incremental, en vez de almacenar en una memoria tampón los 16 K completos para su verificación antes de terminar las instrucciones de escritura en el TCCB 704. Adicionalmente, la unidad de control 702 proporciona el estado del canal 700 y cierra el intercambio 708. Así, el programa de canal de TCW de la fig. 7 requiere muchas menos comunicaciones para transferir la misma cantidad de datos que el programa de canal de CCW de la fig. 6, mientras soporta la verificación de datos incremental a través de la inserción de múltiples CRC en la corriente de datos de salida desde el canal 700.
Volviendo ahora a la fig. 8, una realización del canal 124 en el subsistema de canal 108 y la unidad de control 110 de la fig. 1 que soporta la ejecución del programa de canal de TCW están representadas en mayor detalle. La unidad de control 110 incluye la lógica de control 802 de CU para analizar sintácticamente y procesar mensajes que contienen un TCCB, tal como el TCCB 704 de la fig. 7, así como los datos recibidos desde el canal 124 a través de la conexión 120. La lógica de control 802 de la CU puede extraer las DCW y controlar datos procedentes del TCCB recibidos en la unidad de control 110 para controlar un dispositivo, por ejemplo, un dispositivo 112 de I/O a través de la conexión 126. La lógica de control 802 de CU envía instrucciones y datos de dispositivo al dispositivo 112 de I/O, y recibe información del estado y otra realimentación desde el dispositivo 112 de I/O. Cuando la lógica de control 802 de la CU recibe datos, tales como el primer bloque de comprobación límite de los 16 Kbytes de datos 706 de la fig. 7, la lógica de control 802 de la CU escribe estos datos recibidos en la memoria tampón 804 de datos para una almacenamiento temporal, hasta que el CRC es recibido para que el límite de bloque de comprobación sea comprobado, a continuación esos datos pueden ser enviados al dispositivo 112 de I/O. Esto continúa para cada límite de bloque de comprobación hasta que la operación de I/O ha sido completada.
La unidad de control 110 puede además incluir otra cola o elementos de memoria (no representados) para almacenar un mensaje o información de estado adicionales asociados con comunicaciones entre el canal 124 y el dispositivo 112 de I/O.
El canal 124 en el subsistema de canal 108 incluye elementos para soportar la comunicación con la unidad de control 110. Por ejemplo, el canal 124 puede incluir la lógica de control 806 de CHN que enlaza con la lógica 812 de agrupación de datos. La lógica 812 de agrupación de datos está descrita aquí a continuación con referencia a la fig. 10. En una realización ejemplar, la lógica de control 806 de CHN controla la comunicación entre el subsistema de canal 108 y la unidad de control 110. La lógica de control 806 de CHN puede enlazar directamente con la lógica de control 802 de CU a través de la conexión 120 para enviar instrucciones y recibir respuestas, tales como instrucciones de transporte e IU de respuesta. Alternativamente, las interfaces de mensajería y/o memorias tampones adicionales (no representadas) pueden estar colocadas entre la lógica de control 806 de CHN y la lógica de control 802 de CU. Los registros 814 del subsistema de CHN pueden incluir valores fijos que proporcionan información de configuración y estado, así como información dinámica del estado, actualizada cuando las instrucciones son transportadas y las respuestas son recibidas. Los registros 814 del subsistema de CHN pueden ser registros de hardware dedicados y/o registros virtuales establecidos utilizando la correspondencia de memoria.
En una realización, los registros 814 del subsistema de CHN incluyen la TIDAL 410 y las TIDAW 412-416 de la fig. 4 como registros correspondientes con la memoria.
Un ejemplo de una TIDAW 900 está representado en la fig. 9. La TIDAW 900 proporciona el direccionamiento indirecto a datos utilizados en un programa de canal de TCW, tal como las TIDAW 412-416 de la fig. 4. La TIDAW 900 incluye indicadores 902, un cómputo 904, y una dirección 906. Cada campo (es decir indicadores 902, cómputo 904, y dirección 906) en el formato 900 de la TIDAW está asignado a una dirección de byte particular para soportar el análisis sintáctico de los campos. Aunque se ha representado en la fig. 9 una disposición de campos dentro de la TIDAW 900, se comprenderá que el orden de campos puede ser reconfigurado para alternar ordenaciones.
En una realización ejemplar, los indicadores 902 incluyen un indicador de última TIDAW y un indicador de transferencia de transporte en el canal (T-TIC), además de otros indicadores. El indicador de última TIDAW indica que la TIDAW asociada es la última TIDAW en una TIDAL, consistente con la definición para una MIDAW. Cuando el cómputo 904 pasa por cero con el indicador de última TIDAW ajustado, la transferencia de datos para la operación de I/O asociada está completa. El indicador de T-TIC indica si el contenido de la dirección 906 incluye datos o la dirección de la siguiente TIDAW en la TIDAL. En una realización ejemplar, cuando el indicador de T-TIC está ajustado, entonces la dirección 906 en la TIDAW es la dirección de la siguiente TIDAW en la TIDAL. De esta manera, la dirección 906 puede ser utilizada para acceder a una TIDAW en una posición de almacenamiento no contigua desde la TIDAW actual. Así, la lista de las TIDAW puede contener más de 256 entradas, excediendo por ello del número máximo de palabras de dirección de datos indirectos permisible en las puestas en práctica comunes actuales. En una realización ejemplar, cuando el indicador de TTIC es ajustado la dirección 906 debe tener los cuatro bits de bajo orden ajustados a cero porque la TIDAW de 16 bytes debe estar en un límite de dirección de 16 bytes. Cuando el indicador de T-TIC no está ajustado, entonces la dirección 906 en la TIDAW es la dirección de una parte de los datos que constituyen los datos que son agrupados para la operación de I/O. El tamaño de los datos está indicado en el campo de cómputo 904. Si el indicador de última TIDAW y el indicador de T-TIC no están ajustados, entonces la siguiente TIDAW es situada en la siguiente posición de almacenamiento (por ejemplo es contigua a la TIDAW actual).
Volviendo ahora a la fig. 10, a continuación se describirá un proceso 1000 para agrupar datos para una operación de I/O de acuerdo con realizaciones ejemplares, y en referencia al sistema 100 de tratamiento de I/O de la fig.
1. En el bloque 1002, el subsistema de canal 108 recibe una palabra de control para una operación de I/O (por ejemplo una TCW). La palabra de control incluye una dirección de datos indirecta que apunta a la dirección de inicio de una lista de direcciones de almacenamiento (por ejemplo una TIDAL que tiene múltiples TIDAW) que constituyen los datos utilizados por la operación de I/O. En realizaciones ejemplares, los datos son datos de clientes (por ejemplo datos introducidos o emitidos desde la operación de I/O). En realizaciones ejemplares alternativas, los datos son datos de control (por ejemplo un TCCB). En una realización ejemplar, la lista de direcciones de almacenamiento se extiende a dos o más posiciones de almacenamiento no contiguas.
En el bloque 104, los datos son agrupados por intersecciones situadas en el subsistema de canal 108. El agrupamiento está basado en el contenido de la lista. En una realización ejemplar, cada entrada en la lista (por ejemplo cada TIDAW) incluye tanto una dirección de almacenamiento como un indicador de T-TIC para indicar si la dirección de almacenamiento es la posición de una parte de los datos, o si la dirección de almacenamiento apunta a la posición de otra parte de las lista que contiene más direcciones de almacenamiento. De esta manera, una única TIDAL puede estar contenida en múltiples páginas eliminando cualesquiera restricciones sobre la longitud de la TIDAL. Cuando el indicador de T-TIC indica que la dirección de almacenamiento es la posición de una parte de los datos (por ejemplo el indicador de T-TIC no está ajustado), entonces los datos en la posición de almacenamiento son accedidos y añadidos a los datos. Esta adición de nuevos datos puede ser realizada de cualquier manera conocida en la técnica, tal como mezclando con datos ya agrupados, añadiendo a datos ya agrupados, etc.
Cuando el indicador de T-TIC indica que la dirección de almacenamiento actual es la posición de otra parte de la lista, entonces el tratamiento continúa accediendo a una nueva TIDAW situada en la posición de almacenamiento especificada. Los datos en la posición de almacenamiento especificada en la nueva TIDAW son accedidos y añadidos a los datos. En una realización ejemplar, la TIDAW incluye un cómputo 904 para especificar cuantos datos hay para leer (o escribir) desde cada dirección de almacenamiento. Cuando una TIDAW con el indicador de última TIDAW es ajustado el agrupamiento es completado. De otro modo, la TIDAW siguiente es accedida y el agrupamiento de datos continúa.
En el bloque 1006, los datos son transmitidos a una unidad de control 110 por el subsistema de canal 108.
Los efectos técnicos de realizaciones ejemplares incluyen proporcionar direccionamiento de datos indirectos no contiguos en un subsistema de I/O. Permitir que las páginas de 4 Kbytes contengan la lista de direcciones de almacenamiento (TIDAL) permite que el número de TIDAW sea ilimitado, por ello pueden asociarse más datos con una única operación I/O. Las grandes transferencias de datos pueden reducir las sobrecargas de comunicación evitando el intercambio adicional y otros retrasos asociados con múltiples mensajes menores.
Los siguientes ejemplos representan maneras en las que pueden utilizarse las realizaciones ejemplares para conseguir algo más que mover grandes bloques de datos.
Las realizaciones ejemplares pueden ser utilizadas para ayudar en el fijado previo de un programa de canal por un sistema operativo. Por ejemplo, cuando un programa de canal es pasado a un sistema operativo, el sistema operativo puede modificar el programa de canal para añadir, o modificar las CCW o DCW de instrucción. En una realización ejemplar, esto implica que una TIDAL de TCCB será creada cuando la TIDAW apunta a un área de almacenamiento que contiene la primera parte del TCCB modificado. La segunda TIDAW apunta al resto del TCCB sin modificar.
Las realizaciones ejemplares también pueden utilizarse para ayudar en el fijado previo de programas de canal para crear un hipervisor. Si el hipervisor necesita modificar el programa de canal, necesita crear una TIDAL con una o más entradas que la que ha sido hecha pasar por el invitado. Si la TIDAL hecha pasar por el invitado tiene ya el tamaño máximo (256 TIDAW), entonces el hipervisor puede hacer sus propias modificaciones creando una TIDAL de TCCB que tiene dos TIDAW, uno de los cuales es el T-TIC para la primera TIDAW de la TIDAL hecha pasar por el invitado.
Los T-TIC de la TIDAL pueden también facilitar los requisitos de almacenamiento para sistemas operativos. Si el programa de canal que contiene un TIDAL de TCCB necesita ser modificado, toma menos almacenamiento para crear una TIDAW y T-TIC que al almacenamiento asignado para las TIDAL de TCCB para el que llama más una TIDAW más.
Como se ha descrito antes, las realizaciones pueden ser puestas en práctica en forma de procesos y aparatos empleados por un ordenador para llevar a la práctica dichos procesos. En las realizaciones ejemplares, el invento es puesto en práctica en un código de un programa de ordenador ejecutado por uno o más elementos de red. Las realizaciones incluyen un producto 1100 de programa de ordenador como el representado en la fig. 11 en un medio 1102 utilizable por un ordenador con una lógica 1104 de código de programa de ordenador que contiene instrucciones incorporadas en un medio tangible como un artículo de fabricación. Los artículos ejemplares de fabricación para un medio 1102 utilizable por un ordenador pueden incluir disquetes, CD-ROM, discos duros, unidades de memorias flash de bus en serie universales (USB), o cualquier otro medio de almacenamiento legible por ordenador, en el que, cuando la lógica 1104 de código de programa de ordenador es cargada en un ordenador y ejecutada por él, el ordenador se convierte en un aparato para llevar a la práctica el invento. Las realizaciones incluyen la lógica 1104 de código de programa de ordenador, por ejemplo, si se ha almacenado en un medio de almacenamiento, cargado en un ordenador y/o ejecutado por él, o transmitido sobre algún medio de transmisión, tal como cableado eléctrico, mediante fibra óptica, o mediante radiación electromagnética, en que, cuando la lógica 1104 de código de programa de ordenador es cargada en el ordenador y ejecutada por él, el ordenador se convierte en un aparato para llevar a la práctica el invento. Cuando es puesto en práctica en un microprocesador de propósito general, los segmentos de la lógica 1104 de código de programa de ordenador configuran el microprocesador para crear circuitos de lógica específicos.

Claims (10)

  1. REIVINDICACIONES
    1.- Un método para proporcionar un direccionamiento de datos indirectos en un subsistema I/O de un sistema
    (100) de tratamiento de I/O, comprendiendo el método:
    recibir (1002) una palabra de control para una operación de I/O en el subsistema de I/O, incluyendo la palabra de control una dirección de datos indirectos para datos asociados con la operación de I/O, incluyendo la dirección de datos indirectos una posición de inicio de una lista de direcciones de almacenamiento que especifica colectivamente los datos, extendiéndose la lista a dos o más posiciones de almacenamiento no contiguas; agrupar (1004) los datos que responden a la lista; y transmitir (1006) los datos agrupados a una unidad de control en el sistema de tratamiento de I/O;
    en el que la lista incluye además un primer indicador asociado con cada dirección de almacenamiento en la lista, teniendo el primer indicador un primer valor para indicar que la dirección de almacenamiento asociada se refiere a una parte de los datos y teniendo el primer indicador un segundo valor para indicar que la dirección de almacenamiento asociada se refiere a una posición de almacenamiento dónde las direcciones de almacenamiento adicional en la lista están posicionadas; en el que para cada dirección de almacenamiento en la lista, el agrupamiento incluye:
    acceder a la dirección de almacenamiento y al primer indicador asociado con la dirección de almacenamiento; añadir contenidos desde la dirección de almacenamiento a los datos en respuesta al primer indicador que tiene el primer valor; caracterizado por:
    acceder a una segunda dirección de almacenamiento y a un segundo indicador situado en la dirección de almacenamiento en respuesta al primer indicador que tiene el segundo valor, y añadir contenidos desde la segunda dirección de almacenamiento a los datos en respuesta al segundo indicador que tiene el primer valor.
  2. 2.- El método según la reivindicación 1 en el que una segunda dirección de almacenamiento está situada en la lista de forma contigua a una primera dirección de almacenamiento en la lista cuando el primer indicador tiene el primer valor, y la segunda dirección está situada de modo no contiguo a la primera dirección de almacenamiento cuando el indicador tiene el segundo valor.
  3. 3.- El método según la reivindicación 1 en el que la lista incluye además un campo de cómputo asociado con cada dirección de almacenamiento en la lista, indicando el campo de cómputo un número de bytes a leer desde la dirección de almacenamiento y el agrupamiento responde a los campos de cómputo y a las direcciones de almacenamiento.
  4. 4.- El método según la reivindicación 1 en el que los datos incluyen datos de control.
  5. 5.- El método según la reivindicación 1 en el que los datos incluyen datos de cliente.
  6. 6.- El método según la reivindicación 1 en el que la palabra de control es una palabra de control de transporte (TCW), la lista de direcciones de almacenamiento es una lista de dirección de datos indirectos de transporte (TIDAL), y cada dirección de almacenamiento es una palabra de dirección de datos indirectos de transporte (TIDAW).
  7. 7.- El método según la reivindicación 1 en el que el subsistema de I/O es un subsistema de canal.
  8. 8.- El método según la reivindicación 1 en el que la palabra de control incluye un indicador para indicar que incluye una dirección de datos indirectos.
  9. 9.- Un sistema que comprende medios adaptados para realizar todas las operaciones del método de acuerdo con cualquier reivindicación del método precedente.
  10. 10.- Un programa de ordenador que comprende instrucciones para realizar todas las operaciones del método de acuerdo con cualquier reivindicación del método precedente, cuando dicho programa de ordenador es ejecutado en un sistema de ordenador.
ES09709555T 2008-02-14 2009-02-10 Facilitación de direccionamiento de datos indirectos en un sistema de tratamiento de entrada/salida, en donde la lista de direcciones de datos indirectos es no contigua. Active ES2358314T3 (es)

Applications Claiming Priority (2)

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
US31038 2008-02-14

Publications (1)

Publication Number Publication Date
ES2358314T3 true ES2358314T3 (es) 2011-05-09

Family

ID=40849165

Family Applications (1)

Application Number Title Priority Date Filing Date
ES09709555T Active ES2358314T3 (es) 2008-02-14 2009-02-10 Facilitación de direccionamiento de datos indirectos en un sistema de tratamiento de entrada/salida, en donde la lista de direcciones de datos indirectos es no contigua.

Country Status (18)

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

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7899944B2 (en) 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O processing system
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US8166206B2 (en) 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US7917813B2 (en) 2008-02-14 2011-03-29 International Business Machines Corporation Exception condition determination at a control unit in an I/O processing system
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
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
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
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
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
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US7840717B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data 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
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output 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
US7908403B2 (en) 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
US8108570B2 (en) 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US7840718B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing of data to suspend operations in an input/output processing log-out system
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
US7937504B2 (en) 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
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
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
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
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US9116788B2 (en) * 2011-06-10 2015-08-25 International Business Machines Corporation Using extended asynchronous data mover indirect data address words
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
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
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
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 京セラドキュメントソリューションズ株式会社 データ処理装置及び画像形成装置
CN105426322B (zh) * 2015-12-31 2019-05-28 华为技术有限公司 一种数据的预取方法及装置
CN107526743B (zh) * 2016-06-21 2020-08-07 伊姆西Ip控股有限责任公司 用于压缩文件系统元数据的方法和设备
CN115221078A (zh) * 2021-04-14 2022-10-21 瑞昱半导体股份有限公司 数据传输方法与数据处理电路
US12028276B2 (en) 2021-08-24 2024-07-02 International Business Machines Corporation Transport control word architecture for virtual port mirroring
US11722436B2 (en) 2021-08-24 2023-08-08 International Business Machines Corporation Transport control word architecture for physical port mirroring
CN119247902B (zh) * 2024-09-29 2025-11-14 大族激光科技产业集团股份有限公司 一种控制系统及生产线

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 (es) 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
DE69028462T2 (de) * 1989-08-11 1997-03-27 Ibm Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller Verbindung
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
US5317739A (en) 1992-03-30 1994-05-31 International Business Machines Corp. Method and apparatus for coupling data processing systems
JP2532194B2 (ja) 1992-03-30 1996-09-11 インターナショナル・ビジネス・マシーンズ・コーポレイション プロセッサと結合機能間に対するメッセ―ジ経路指定機能を有するデ―タ処理システム
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
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
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
US5526484A (en) * 1992-12-10 1996-06-11 International Business Machines Corporation Method and system for pipelining the processing of channel command words
JP2840511B2 (ja) * 1992-12-10 1998-12-24 富士通株式会社 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法
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
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
EP0712220A1 (en) 1994-11-08 1996-05-15 International Business Machines Corporation Hop-by-hop flow control in an ATM network
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
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 株式会社日立製作所 入出力チャネルの拡張方式
WO1997010549A1 (fr) 1995-09-13 1997-03-20 Hitachi, Ltd. Systeme de calcul electronique
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
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
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
US6044444A (en) * 1996-05-28 2000-03-28 Emc Corporation Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected
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
US6185631B1 (en) * 1998-10-14 2001-02-06 International Business Machines Corporation Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6230218B1 (en) * 1998-10-14 2001-05-08 International Business Machines Corporation Apparatus for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6343335B1 (en) * 1998-10-29 2002-01-29 International Business Machines Corporation System for repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry
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
US6546435B1 (en) * 1999-06-15 2003-04-08 Matsushita Electric Works, Ltd. Portable programming device for supervisory remote control system
US6718139B1 (en) * 1999-09-13 2004-04-06 Ciena Corporation Optical fiber ring communication system
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
US6975655B2 (en) 2000-04-07 2005-12-13 Broadcom Corporation Method of controlling data sampling clocking of asynchronous network nodes 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
AU2001288528B2 (en) 2000-08-31 2006-09-21 Dolby Laboratories Licensing Corporation Method for apparatus for audio matrix decoding
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
US6633925B2 (en) 2000-09-29 2003-10-14 Emc Corporation Operating system for generating overlapped input-output requests to a device in a disk array storage
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
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
US20040136241A1 (en) * 2002-10-31 2004-07-15 Lockheed Martin Corporation Pipeline accelerator for improved computing architecture and related system and method
US7202801B2 (en) * 2002-12-11 2007-04-10 Geospatial Technologies, Inc. Method and apparatus for an automated location-based, dynamic notification system (ALDNS)
US7277387B2 (en) * 2003-01-30 2007-10-02 Wind River Systems, Inc. Package manager
US7324455B2 (en) * 2003-03-14 2008-01-29 International Business Machines Corporation Transfer of error-analysis and statistical data in a fibre channel input/output system
US6915378B2 (en) * 2003-04-23 2005-07-05 Hypernova Technologies, Inc. Method and system for improving the performance of a processing system
US7085898B2 (en) * 2003-05-12 2006-08-01 International Business Machines Corporation Coherency management for a “switchless” distributed shared memory computer system
US7000036B2 (en) 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
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
CN1864377B (zh) * 2003-10-17 2010-09-01 日本电信电话株式会社 邮件投递系统、邮件投递方法
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 データ処理システム、データ処理方法、及びプログラム
US8169938B2 (en) 2005-06-05 2012-05-01 Starkey Laboratories, Inc. Communication system for wireless audio devices
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
US7970953B2 (en) 2005-06-30 2011-06-28 Intel Corporation Serial ATA port addressing
JP2007058646A (ja) * 2005-08-25 2007-03-08 Hitachi Ltd データ処理システム
TW200733733A (en) * 2005-09-06 2007-09-01 Nokia Corp Enhanced signaling of pre-configured interaction message in service guide
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
US8032581B2 (en) 2006-08-30 2011-10-04 International Business Machines Corporation Persistent information unit pacing
US7500030B2 (en) 2006-08-30 2009-03-03 International Business Machines Corporation Control of information units in fibre channel 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
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
US8660108B2 (en) * 2007-04-13 2014-02-25 Hart Communication Foundation Synchronizing timeslots in a wireless communication protocol
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 画像形成装置
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US7899944B2 (en) 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O processing system
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
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
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
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
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
US8108570B2 (en) 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US7937507B2 (en) 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
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
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
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
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
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US7840717B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US7904605B2 (en) 2008-02-14 2011-03-08 International Business Machines Corporation Computer command and response for determining the state of an I/O operation
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
US8055807B2 (en) 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US7937504B2 (en) 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
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

Also Published As

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

Similar Documents

Publication Publication Date Title
ES2358314T3 (es) Facilitación de direccionamiento de datos indirectos en un sistema de tratamiento de entrada/salida, en donde la lista de direcciones de datos indirectos es no contigua.
ES2381324T3 (es) Proporcionar direccionamiento indirecto a los datos para un bloque de control en un subsistema de canal de un sistema de tratamiento de I/O
ES2359614T3 (es) Transferencia bidireccional de datos en una única operación de e/s.
JP5159902B2 (ja) 入出力処理システム内のチャネル・サブシステムと通信するように構成された制御装置において可変長のデバイス・コマンド・ワード(dcw)を処理するための方法
US8082481B2 (en) Multiple CRC insertion in an output data stream
JP2011512591A5 (es)