ES2359614T3 - Transferencia bidireccional de datos en una única operación de e/s. - Google Patents
Transferencia bidireccional de datos en una única operación de e/s. Download PDFInfo
- Publication number
- ES2359614T3 ES2359614T3 ES09709853T ES09709853T ES2359614T3 ES 2359614 T3 ES2359614 T3 ES 2359614T3 ES 09709853 T ES09709853 T ES 09709853T ES 09709853 T ES09709853 T ES 09709853T ES 2359614 T3 ES2359614 T3 ES 2359614T3
- Authority
- ES
- Spain
- Prior art keywords
- channel
- data
- control unit
- tcw
- output data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
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)
- Computer And Data Communications (AREA)
- Information Transfer Systems (AREA)
- Bidirectional Digital Transmission (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
- Control By Computers (AREA)
- Communication Control (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Control Of Conveyors (AREA)
- Logic Circuits (AREA)
- Programmable Controllers (AREA)
- Multi Processors (AREA)
- Dc Digital Transmission (AREA)
Abstract
Un método para simplificar el procesado de E/S para una operación de E/S en un sistema de ordenador anfitrión configurado para comunicarse con una unidad de control, que comprende: obtener (1202) una palabra de orden de transporte para una operación de E/S que tiene datos tanto de entrada como de salida, especificando la palabra de orden de transporte una posición de los datos de salida y una posición para almacenar los datos de entrada; recopilar (1206) los datos de salida en respuesta a la posición de los datos de salida especificada por la palabra de orden de transporte; reenviar (1208) la operación de E/S y los datos de salida a la unidad de control para su ejecución; recibir (1210) los datos de entrada de la unidad de control; y almacenar (1212) los datos de entrada en la posición especificada por la palabra de orden de transporte para almacenar los datos de entrada.
Description
CAMPO DE LA INVENCIÓN
La presente exposición se refiere en general a un procesado de entrada/salida (E/S), y en particular, a la provisión de una operación de E/S que incluye datos tanto de entrada como de salida.
ANTECEDENTES DE LA INVENCIÓN
Para transferir datos entre una memoria y dispositivos de E/S de un sistema de procesado de E/S se usan operaciones de entrada/salida (E/S). Específicamente, se escriben datos desde la memoria en uno o más dispositivos de E/S, y se leen datos desde uno o más dispositivos de E/S hacia la memoria ejecutando operaciones de E/S.
Para facilitar el procesado de operaciones de E/S, se utiliza un subsistema de E/S del sistema de procesado de E/S. El subsistema de E/S está acoplado a una memoria principal y a los dispositivos de E/S del sistema de procesado de E/S, y dirige el flujo de información entre la memoria y los dispositivos de E/S. Un ejemplo de un subsistema de E/S es un subsistema de canales. El subsistema de canales usa vías de canales como medios de comunicación. Cada vía de canal incluye un canal acoplado a una unidad de control, estando acoplada además la unidad de control a uno o más dispositivos de E/S.
El subsistema de canales puede utilizar palabras de orden de canal (CCWs) para transferir datos entre los dispositivos de E/S y memoria. Una CCW especifica la orden a ejecutar. Para órdenes que dan inicio a ciertas operaciones de E/S, la CCW designa el área de memoria asociada a la operación, la acción a realizar cada vez que se completa una transferencia hacia o desde el área, y otras opciones.
Durante el procesado de E/S, un canal recupera de memoria una lista de CCWs. El canal analiza sintácticamente cada orden de la lista de CCWs y reenvía una serie de las órdenes, cada orden en su propia entidad, hacia una unidad de control acoplada al canal. A continuación la unidad de control procesa las órdenes. El canal realiza un seguimiento del estado de cada orden y controla cuándo se va a enviar el siguiente conjunto de órdenes hacia la unidad de control para su procesado. El canal garantiza que cada orden se envía hacia la unidad de control en su propia entidad. Además, el canal deduce cierta información asociada al procesado de la respuesta de la unidad de control para cada orden.
La ejecución del procesado de E/S sobre la base de cada CCW puede conllevar una gran cantidad de trabajo de procesado para el subsistema de canales, ya que los canales analizan sintácticamente CCWs, realizan un seguimiento de información de estados, y reaccionan a respuestas de las unidades de control. Por lo tanto, puede resultar beneficioso derivar gran parte de la carga de procesado asociada a la interpretación y gestión de información de CCW y de estados desde el subsistema de canales hacia las unidades de control. La simplificación de la función de los canales en la comunicación entre las unidades de control y un sistema operativo en el sistema de procesado de E/S puede hacer que aumente el caudal de comunicación ya que se ejecuta una menor señalización de acuerdo. La simplificación de la función de los canales en la comunicación puede incluir el agrupamiento de múltiples órdenes en una única operación de E/S. No obstante, la modificación de secuencias de órdenes mediante el agrupamiento de dos o más órdenes conjuntamente en una única operación de E/S puede dar como resultado que la operación de E/S presente tanto datos de entrada como datos de salida. Actualmente, una operación de E/S puede soportar una única área de datos que se puede utilizar para la entrada de datos o la salida de datos, pero no las dos en la misma operación de E/S. Esto limita los tipos de órdenes que se pueden agrupar entre sí en una única operación de E/S y, por lo tanto, limita el aumento del caudal que se puede obtener mediante el agrupamiento de órdenes. Por consiguiente, existe en la técnica una necesidad de poder transferir tanto datos de entrada como datos de salida dentro de una única operación de E/S.
El documento US 6.230.218 da a conocer la simplificación de un procesado de E/S para una operación de E/S en un sistema de ordenador anfitrión.
BREVE SUMARIO DE LA INVENCIÓN
La invención proporciona un método según se reivindica en la reivindicación 1 y un sistema y un programa de ordenador correspondientes.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La materia en cuestión que se considera como presente invención se indica particularmente y se reivindica claramente en las reivindicaciones a la conclusión de la memoria descriptiva. Los objetivos, características, y ventajas anteriores, y otros, de la invención se ponen de manifiesto a partir de la siguiente descripción detallada considerada conjuntamente con los dibujos adjuntos, en los cuales:
la FIG. 1 representa una realización de un sistema de procesado de E/S que incorpora y usa uno o más aspectos de la presente invención;
la FIG. 2A representa un ejemplo de una palabra de orden de canal de la técnica anterior; la FIG. 2B representa un programa de canal con palabras de orden de canal de la técnica anterior;
la FIG. 3 representa una realización de un protocolo de enlace de la técnica anterior usado en la comunicación entre un canal y una unidad de control para ejecutar el programa de canal con palabras de orden de canal de la FIG. 2B;
la FIG. 4 representa una realización de un programa de canal con palabras de control de transporte (TCW), según un aspecto de la presente invención;
la FIG. 5 representa una realización de un protocolo de enlace usado para comunicarse entre un canal y una unidad de control con el fin de ejecutar el programa de canal de TCW de la FIG. 4, según un aspecto de la presente invención;
la FIG. 6 representa una realización de un protocolo de enlace de la técnica anterior usado para comunicarse entre un canal y una unidad de control con el fin de ejecutar cuatro órdenes de lectura de un programa de canal de palabras de orden de canal;
la FIG. 7 representa una realización de un protocolo de enlace usado para comunicarse entre un canal y una unidad de control con el fin de procesar las cuatro órdenes de lectura de un programa de canal de TCW, según un aspecto de la presente invención;
la FIG. 8 representa una realización de una unidad de control y un subsistema de canales, según un aspecto de la presente invención;
la FIG. 9 representa una realización de una TCW según un aspecto de la presente invención;
la FIG. 10 representa una realización de un programa de canal de TCW, según un aspecto de la presente invención;
la FIG. 11 representa una realización de un protocolo de enlace usado para comunicarse entre un canal y una unidad de control con el fin de ejecutar el programa de canal de TCW de la FIG. 10, según un aspecto de la presente invención;
la FIG. 12 representa una realización de un proceso para la transferencia bidireccional de datos en una única operación de E/S, según un aspecto de la presente invención; y
la FIG. 13 representa una realización de un artículo de fabricación que incorpora uno o más aspectos de la presente invención.
La descripción explica las realizaciones preferidas de la invención, junto con ventajas y características, a título de ejemplo, en referencia a los dibujos.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN
Según un aspecto de la presente invención, se simplifica el procesado de entrada/salida (E/S) permitiendo que una única operación de E/S incluya tanto datos de entrada como datos de salida. De este modo, cada operación de E/S se puede utilizar para transferir tanto un flujo continuo de entrada como un flujo continuo de salida. Esto simplifica el procesado de E/S al reducir las comunicaciones entre componentes de un sistema de procesado de E/S usado para ejecutar el procesado de E/S. Por ejemplo, se reduce el número de intercambios y secuencias entre un adaptador de comunicaciones de E/S, tal como un canal, y una unidad de control. Esto se logra enviando una pluralidad de órdenes desde el adaptador de comunicaciones de E/S hacia la unidad de control, como una única entidad para ser ejecutada por la unidad de control, y mediante el envío, por parte de la unidad de control, de los datos resultantes de las órdenes, en caso de que hubiera alguno, en forma de una única entidad. La pluralidad de palabras de orden de dispositivo (DCWs) enviadas en forma de una única entidad hacia una unidad de control puede incluir órdenes tanto de lectura como de escritura.
La pluralidad de órdenes se incluye en un bloque, al que se hace referencia en el presente documento como bloque de control de órdenes de transporte (TCCB), una de cuyas direcciones se especifica en una palabra de control de transporte (TCW). La TCW se envía desde un sistema operativo (OS) u otra aplicación hacia el adaptador de comunicaciones de E/S, que a su vez reenvía la TCCB en un mensaje de orden hacia la unidad de control para su procesado. La unidad de control procesa cada una de las órdenes en ausencia de un seguimiento del estado relativo a dichas órdenes individuales por parte del adaptador de comunicaciones de E/S. A la pluralidad de órdenes se le hace referencia también como programa de canal, el cual se analiza sintácticamente y se ejecuta en la unidad de control en lugar de en el adaptador de comunicaciones de E/S.
En una realización ejemplificativa, la TCW proporciona los punteros al canal para todos los bloques de control requeridos para ejecutar la operación de E/S. En una realización ejemplificativa, la TCW incluye punteros tanto para una dirección de datos de entrada como para una dirección de datos de salida. Esto permite la transferencia de datos en ambas direcciones (por ejemplo, desde un canal a una unidad de control y desde una unidad de control a un canal) en una única operación de E/S.
Se describe, en referencia a la FIG. 1, un ejemplo de un sistema de procesado de E/S que incorpora y usa uno
o más aspectos de la presente invención. El sistema 100 de procesado de E/S incluye un sistema anfitrión 101, que incluye además, por ejemplo, una memoria principal 102, una o más unidades de procesado central (CPUs) 104, un elemento 106 de control de almacenamiento, y un subsistema 108 de canales. El sistema anfitrión 101 puede ser un sistema informático a gran escala, tal como un ordenador central de tipo mainframe o un servidor. El sistema 100 de procesado de E/S incluye también una o más unidades 110 de control y una o más dispositivos 112 de E/S, cada uno de los cuales se describe posteriormente.
La memoria principal 102 almacena datos y programas, que se pueden introducir desde dispositivos 112 de E/S. Por ejemplo, la memoria principal 102 puede incluir uno o más sistemas operativos (OSs) 103 que son ejecutados por una o más de las CPUs 104. Por ejemplo, una CPU 104 puede ejecutar un sistema operativo Linux® 103 y un sistema operativo z/OS® 103 como instancias diferentes de una máquina virtual. La memoria principal 102 es direccionable directamente y proporciona un procesado de datos de alta velocidad por parte de las CPUs 104 y el subsistema 108 de canales.
La CPU 104 es el centro de control del sistema 100 de procesado de E/S. Contiene mecanismos de secuenciación y procesado para la ejecución de instrucciones, acciones de interrupción, funciones de temporización, carga inicial de programas, y otras funciones asociadas a máquinas. La CPU 104 está acoplada al elemento 106 de control 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 a través de una conexión 116, tal como un bus; a las CPUs 104 a través de la conexión 114; y al subsistema 108 de canales a través de una conexión 118. El elemento 106 de control de almacenamiento controla, por ejemplo, la formación de colas y la ejecución de solicitudes realizadas por uno o más de entre la CPU 104 y el subsistema 108 de canales.
En una realización ejemplificativa, el subsistema 108 de canales proporciona una interfaz de comunicaciones entre el sistema anfitrión 101 y unidades 110 de control. El subsistema 108 de canales está acoplado al elemento 106 de control de almacenamiento, según se ha descrito anteriormente, y a cada una de las unidades 110 de control a través de una conexión 120, tal como un enlace serie. La conexión 120 se puede implementar de cualquier manera conocida en la técnica, incluyendo un enlace óptico, que utilice guías de ondas monomodo o multimodo en un entramado de Canal de Fibra (Fibre Channel) (por ejemplo, una red de canal de fibra). El subsistema 108 de canales dirige el flujo de información entre los dispositivos 112 de E/S y la memoria principal 102. El mismo exime a las CPUs 104 de la tarea de comunicarse directamente con los dispositivos 112 de E/S y permite que el procesado de datos avance al mismo tiempo que el procesado de E/S. El subsistema 108 de canales usa una o más vías 122 de canales como enlaces de comunicación en la gestión del flujo de información hacia o desde dispositivos 112 de E/S. Como parte del procesado de E/S, el subsistema 108 de canales realiza también las funciones de gestión de las vías para efectuar pruebas en relación con la disponibilidad de vías de canales, seleccionar una vía 122 de canal disponible e iniciar la ejecución de la operación con los dispositivos 112 de E/S.
Cada vía 122 de canal incluye un canal 124 (en un ejemplo, tal como se muestra en la FIG. 1, los canales 124 están situados dentro del subsistema 108 de canales), una o más unidades 110 de control y una o más conexiones 120. En otro ejemplo, también es posible disponer de uno o más conmutadores dinámicos (no representados) como parte de la vía 122 de canal. Un conmutador dinámico se puede acoplar a un canal 124 y a una unidad 110 de control y proporciona la capacidad de interconectar físicamente dos enlaces cualesquiera que estén enganchados al conmutador. En otro ejemplo, también es posible disponer de múltiples sistemas, y, por lo tanto, de múltiples subsistemas de canales (no representados) enganchados a una o más de las unidades 110 de control.
Situados también en el subsistema 108 de canales se encuentran los subcanales (no mostrados). Se dispone un subcanal para cada dispositivo 112 de E/S accesible para un programa a través del subsistema 108 de canales, y dicho subcanal está dedicado a cada dispositivo mencionado. Un subcanal (por ejemplo, una estructura de datos, tal como una tabla) ofrece el aspecto lógico de un dispositivo para el programa. Cada subcanal proporciona información referente al dispositivo 112 de E/S asociado y a su enganche al subsistema 108 de canales. El subcanal proporciona también información referente a operaciones de E/S y otras funciones que involucran al dispositivo 112 de E/S asociado. El subcanal es los medios mediante los cuales el subsistema 108 de subcanales proporciona información sobre dispositivos 112 de E/S asociados, a las CPUs 104, que obtienen esta información ejecutando instrucciones de E/S.
El subsistema 108 de canales está acoplado a una o más unidades 110 de control. Cada unidad 110 de control proporciona una lógica para hacer funcionar y controlar uno o más dispositivos 112 de E/S y adapta, a través del uso de mecanismos comunes, las características de cada dispositivo 112 de E/S a la interfaz de enlace proporcionada por el canal 124. Los mecanismos comunes prevén la ejecución de operaciones de E/S, indicaciones referentes al estado del dispositivo 112 de E/S y la unidad 110 de control, el control de la temporización de transferencias de datos a través de la vía 122 de canal y ciertos niveles de control del dispositivo 112 de E/S.
Cada unidad 110 de control se engancha, a través de una conexión 126 (por ejemplo, un bus) a uno o más dispositivos 112 de E/S. Los dispositivos 112 de E/S reciben información o almacenan información en la memoria principal 102 y/u otra memoria. Entre los ejemplos de dispositivos 112 de E/S se incluyen lectores y perforadoras de tarjetas, unidades de cintas magnéticas, dispositivos de almacenamiento de acceso directo, pantallas, teclados, impresoras, dispositivos de apuntamiento, dispositivos de teleprocesado, controladores de comunicaciones y equipos basados en sensores, por mencionar unos pocos.
Uno o más de los componentes anteriores del sistema 100 de procesado de E/S se describen adicionalmente en “IBM® z/Architecture Principles of Operation”, publicación n.º SA22-7832-05, 6ª Edición, abril de 2007; la patente
U.S. nº. 5.461.721 titulada “System For Transferring Data Between I/O Devices And Main Or Expanded Storage Under Dynamic Control Of Independent Indirect Address Words (IDAWS)”, de Cormier et al., expedida el 24 de octubre de 1995; y la patente U.S. n.º 5.526.484 titulada “Method And System For Pipelining The Processing Of Channel Command Words”, de Casper et al., expedida el 11 de junio de 1996. IBM es una marca comercial registrada de International Business Machines Corporation, Armonk, Nueva York, USA. Otras denominaciones usadas en el presente documento pueden ser marcas comerciales registradas, marcas comerciales o nombres de productos de International Business Machines Corporation u otras empresas.
En una realización, para transferir datos entre dispositivos 112 de E/S y la memoria 102, se usan palabras de órdenes de canal (CCWs). Una CCW especifica la orden a ejecutar, e incluye otros campos para controlar el procesado. Se describe un ejemplo de una CCW en referencia a la FIG. 2A. Una CCW 200 incluye, por ejemplo, un código 202 de orden que especifica la orden a ejecutar (por ejemplo, lectura, lectura hacia atrás, control, detección y escritura); una pluralidad de banderas 204 usadas para controlar la operación de E/S; para órdenes que especifican la transferencia de datos, un campo 206 de recuento que especifica el número de bytes en el área de almacenamiento designada por la CCW a transferir; y una dirección 208 de datos que apunta a una posición en la memoria principal que incluye los datos, cuando se utiliza un direccionamiento directo, o a una lista (por ejemplo, lista contigua) de palabras de direcciones de datos indirectas modificadas (MIDAWs) a procesar, cuando se utiliza un direccionamiento de datos indirecto y modificado. El direccionamiento indirecto modificado se describe adicionalmente en la solicitud de patente U.S. publicada número 2008/0043563, titulada “Flexibly Controlling The Transfer Of Data Between Input/Output Devices And Memory”, Brice et al., presentada el 15 de agosto de 2006.
Una o más CCWs dispuestas para una ejecución secuencial forman un programa de canal, al que se hace referencia también en el presente documento como 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 CCWs y obtiene las direcciones de memoria asignadas al programa de canal. Se describe un ejemplo de un programa de canal de CCW en referencia a la FIG. 2B. Un programa 210 de canal de CCW incluye, por ejemplo, una CCW 212 de definición de alcance que tiene un puntero 214 a una posición en memoria de datos 216 de definición de alcance que se usarán con la orden de definición de alcance. En este ejemplo, una transferencia dentro del canal (TIC) 218 viene a continuación de la orden de definición de alcance, que remite el programa de canal a otra área de memoria (por ejemplo, un área de aplicación) que incluye otra u otras CCWs, tales como una de localización 217 de registro que tiene un puntero 219 a datos 220 de localización de registro, y una o más CCWs 221 de lectura. Cada CCW 220 de lectura tiene un puntero 222 a un área 224 de datos. El área de datos incluye una dirección para acceder directamente a los datos o a una lista de palabras de direcciones de datos (por ejemplo, MIDAWs o IDAWs) para acceder indirectamente a los datos. Además, el programa 210 de canal de CCW incluye un área predeterminada en el subsistema de canales definida por la dirección de dispositivo denominada el subcanal para estado 226, resultante de la ejecución del programa de canal de CCW.
Se describe el procesado de un programa de canal de CCW en referencia a la FIG. 3, así como en referencia a la FIG. 2B. En particular, la FIG. 3 muestra un ejemplo de los diversos intercambios y secuencias que se producen entre un canal y una unidad de control cuando se está ejecutando un programa de canal de CCW. El protocolo de enlace usado para las comunicaciones es, en este ejemplo, el FICON (Conectividad de Fibra). En “Fibre Channel Single Byte Command Code Sets-3 Mapping Protocol” (FC-SB-3), T11/Project 1357-D/Rev. 1.6, INCITS (marzo de 2003) se describe información en relación con el FICON.
En referencia a la FIG. 3, un canal 300 abre un intercambio con una unidad 302 de control y envía una orden de definición de alcance y datos asociados a la misma 304 hacia la unidad 302 de control. La orden se recupera a partir de la CCW 212 de definición de alcance (FIG. 2B) y los datos se obtienen a partir del área 216 de datos de definición de alcance. El canal 300 usa la TIC 218 para localizar la CCW de localización de registro y la CCW de lectura. Recupera la orden 305 de localización de registro (FIG. 3) a partir de la CCW 217 de localización de registro (FIG. 2B) y obtiene los datos a partir de datos 220 de localización de registro. La orden 306 de lectura (FIG. 3) se recupera a partir de la CCW 221 de lectura (FIG. 2B). Cada una de ellas se envía a la unidad 302 de control.
La unidad 302 de control abre un intercambio 308 con el canal 300, en respuesta al intercambio abierto del canal 300. Esto se puede producir antes o después de la orden 305 de localización y/o la orden 306 de lectura. Junto con el intercambio abierto, se reenvía una respuesta (CMR) hacia el canal 300. La CMR proporciona una indicación al canal 300 de que la unidad 302 de control está activa y en funcionamiento.
La unidad 302 de control envía los datos solicitados 310 al canal 300. Adicionalmente, la unidad 302 de control 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, lo cual indica a la unidad 302 de control que se ha recibido el estado.
El procesado del anterior programa de canal de CCW para leer 4k de datos requiere la abertura y cierre de dos intercambios y siete secuencias. El número total de intercambios y secuencias entre el canal y la unidad de control se reduce a través de la compactación de múltiples órdenes del programa de canal en un TCCB. El canal, por ejemplo, canal 124 de la FIG. 1, usa una TCW para identificar la ubicación del TCCB, así como ubicaciones para acceder y almacenar el estado y datos asociados a la ejecución del programa de canal. El canal 124 interpreta la TCW y la misma no es enviada o vista por la unidad 110 de control.
Se describe, en referencia a la FIG. 4, un ejemplo de programa de canal para leer 4k de datos, como en la FIG. 2B, pero que incluye un TCCB, en lugar de CCWs individuales separadas. Tal como se muestra, un programa 400, al que se hace referencia en el presente documento como programa de canal de TCW, incluye un TCW 402 que especifica una posición en memoria de un TCCB 404, así como una posición en memoria de un área 406 de datos o una TIDAL 410 (es decir, una lista de palabras de direcciones indirectas de datos en modo de transporte (TIDAWs), similares a las MIDAWs) que apunta al área 406 de datos, y a un área 408 de estado.
Se describe el procesado de un programa de canal de TCW en referencia a la FIG. 5. El protocolo de enlace usado para estas comunicaciones es, por ejemplo, el Protocolo de Canal de Fibra (FCP). En particular, se usan tres fases del protocolo de enlace FCP, que permiten el uso de adaptadores de buses de anfitriones que soportan FCP para realizar transferencias de datos controladas por CCWs. El FCP y sus fases se describen adicionalmente en “Information Technology - Fibre Channel Protocol for SCSI, Third Version (FCP-3)”, T10 Project 1560-D, Revisión 4, 13 de septiembre de 2005.
En referencia a la FIG. 5, un canal 500 abre un intercambio con una unidad 502 de control y envía el TCCB 504 a la unidad 502 de control. En un ejemplo, el TCCB 504 y una iniciativa de secuencia se transfieren a la unidad 502 de control en una orden FCP, a la que se hace referencia como unidad de información (IU) de FCP_CMND o una IU de orden de transporte. La unidad 502 de control ejecuta las múltiples órdenes del TCCB 504 (por ejemplo, orden de definición de alcance, orden de localización de registro, orden de lectura como palabras de control de dispositivo (DCWs)) y reenvía datos 506 al canal 500 a través, por ejemplo, de una IU de FCP_Datos. Proporciona también el estado y cierra el intercambio 508. Como ejemplo, el estado final se envía en una trama de estado FCP que tiene un bit activo, por ejemplo, en el byte 10 u 11 de la carga útil de una IU de FCP_RSP, a la que se hace referencia también como IU de respuesta de transporte. La carga útil de la FCP_RSP_IU se puede usar para transportar el estado de finalización FICON junto con información de estado adicional.
En otro ejemplo, para escribir 4k de datos de cliente, el canal 500 usa las fases del protocolo de enlace FCP, de la manera siguiente:
- 1.
- Transferir un TCCB en la IU de FCP_CMND.
- 2.
- Transferir la IU de datos, y la iniciativa de secuencia hacia la unidad 502 de control. (Transferencia Preparada del FCP, Deshabilitada).
- 3.
- El estado final se envía en una trama de estado FCP que tiene un bit activo, por ejemplo, en el byte 10 u 11 de la Carga útil de la IU de FCP_RSP. El campo FCP_RES_INFO o campo de detección se usa para transportar el estado de finalización FICON junto con información de estado adicional.
Al ejecutar el programa de canal de TCW de la FIG. 4, hay solamente un intercambio abierto y cerrado (véase también la FIG. 5), en lugar 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 TCW, existen tres secuencias de comunicación (véanse FIGs. 4 y 5), en comparación con las siete secuencias para el programa de canal de CCW (véanse FIGs. 2B a 3).
El número de intercambios y secuencias siguen igual para un programa de canal de TCW, incluso si se añaden órdenes 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 órdenes (por ejemplo, orden 600 de definición de alcance, orden 601 de localización de registro, orden 602 de lectura, orden 604 de lectura, orden 606 de lectura, orden 607 de localización de registro y orden 608 de lectura) se envía en secuencias independientes desde el canal 610 a la unidad 612 de control. Además, cada bloque de datos de 4k (por ejemplo, datos 614 a 620) se envía en secuencias independientes desde la unidad 612 de control hacia el canal 610. Este programa de canal de CCW requiere la abertura y el cierre de dos intercambios (por ejemplo, abrir intercambios 622, 624 y cerrar intercambios 626, 628), y catorce secuencias de comunicaciones. Esto se sitúa en contraposición con las tres secuencias y el intercambio único para el programa de canal de TCW de la FIG. 7, que logra la misma función que el programa de canal de CCW de la FIG. 6.
Tal como se representa en la FIG. 7, un canal 700 abre un intercambio con una unidad 702 de control y envía un TCCB 704 a la unidad 702 de control. El TCCB 704 incluye la orden de definición de alcance, las dos órdenes de localización de registro, y las cuatro órdenes de lectura en DCWs, tal como se ha descrito anteriormente. En respuesta a la recepción del TCCB 704, la unidad 702 de control ejecuta las órdenes y envía, en una única secuencia, los 16k de datos 706 al canal 700. Adicionalmente, la unidad 702 de control proporciona el estado al canal 700 y cierra el intercambio 708. De este modo, el programa de canal de TCW requiere muchas menos comunicaciones para transferir la misma cantidad de datos que el programa de canal de CCW de la FIG. 6.
Volviendo a continuación a la FIG. 8, se representa más detalladamente una realización del canal 124 en el subsistema 108 de canales y la unidad 110 de control y el canal 124 de la FIG. 1 que soportan la ejecución del programa de canal de TCW. La unidad 110 de control incluye la lógica 802 de control de la CU para analizar sintácticamente y procesar mensajes de órdenes que contienen un TCCB, tal como el TCCB 704 de la FIG. 7, recibido desde el canal 124 a través de la conexión 120. La lógica 802 de control de la CU puede extraer DCWs y controlar datos del TCCB recibido en la unidad 110 de control para controlar un dispositivo, por ejemplo, el dispositivo 112 de E/S a través de la conexión 126. La lógica 802 de control de la CU envía órdenes de dispositivos y datos al dispositivo 112 de E/S, y recibe información de estado y otra realimentación del dispositivo 112 de E/S. Por ejemplo, el dispositivo 112 de E/S puede estar ocupado debido a una solicitud de reserva previa dirigida al dispositivo 112 de E/S. Para gestionar problemas potenciales de contiendas por reserva de dispositivos que pueden surgir cuando la unidad 110 de control recibe múltiples solicitudes para acceder al mismo dispositivo 112 de E/S, la lógica 802 de control de la CU mantiene un seguimiento de y almacena mensajes de ocupado en relación con dispositivos y datos asociados en una cola 804 de dispositivos ocupados. En una realización ejemplificativa, un OS 103 de la FIG. 1 reserva el dispositivo 112 de E/S para evitar que otros OSs 103 accedan al dispositivo 112 de E/S mientras la reserva está activa. Aunque la reserva de dispositivo no es necesaria para todas las operaciones de E/S, dicha reserva de dispositivo se puede usar para soportar operaciones que requieren un acceso exclusivo durante un periodo fijo de tiempo, por ejemplo, un formateo de un disco.
La unidad 110 de control puede incluir además otros elementos de memoria intermedia o memoria (no representados) para almacenar múltiples mensajes o información de estado asociados a comunicaciones entre el canal 124 y el dispositivo 112 de E/S. Por ejemplo, un registro situado en la unidad 110 de control puede incluir un parámetro de intercambios máximos de la unidad de control que define el número máximo de intercambios abiertos de la unidad de control que soporta la unidad 110 de control.
El canal 124 en el subsistema 108 de canales incluye múltiples elementos para soportar la comunicación con la unidad 110 de control. En una realización ejemplificativa, la lógica 806 de control de CHN controla la comunicación entre el subsistema 108 de canales y la unidad 110 de control. La lógica 806 de control de CHN puede comunicarse directamente por interfaz con la lógica 802 de control de la CU a través de la conexión 120 para enviar órdenes y recibir respuestas, tales como IUs de respuesta y de orden de transporte. Alternativamente, entre la lógica 806 de control de CHN y la lógica 802 de control de la CU se pueden situar memorias intermedias y/o interfaces de mensajes (no representadas).
En la FIG. 9 se representa una realización ejemplificativa de una palabra de control de transporte (TCW) 900. La TCW 900 es utilizada por el canal 124 para configurar la operación de E/S y no se envía a la unidad 110 de control. La TCW representada en la FIG. 9 prevé datos tanto de entrada como de salida en una única operación de E/S.
En una TCW ejemplificativa 900 representada en la FIG. 9, un campo 902 de formato igual a “00b” indica que lo que viene a continuación es una TCW 900. La TCW 900 incluye también bits reservados 904 para un posible uso futuro.
La TCW 900 incluye también un campo 906 de banderas. Los primeros cinco bits del campo 906 de banderas se reservan para un uso futuro y se fijan a cero. El sexto bit del campo 906 de banderas es una bandera de lectura de TIDAL. En una realización ejemplificativa, la bandera de lectura de TIDAL se fija a uno cuando el campo 918 de dirección de datos de entrada contiene una dirección de una TIDAL. Si la bandera de lectura de TIDAL se fija a cero, entonces el campo 918 de dirección de datos de entrada contiene una dirección de datos. El séptimo bit del campo 906 de banderas es una bandera de TIDAL TCCB. En una realización ejemplificativa, la bandera de TIDAL TCCB se fija a uno cuando el campo 922 de dirección de TCCB contiene una dirección de una TIDAL. Si la bandera de TIDAL TCCB se fija a cero, entonces el campo 922 de dirección de TCCB direcciona directamente al TCCB. La bandera de TIDAL TCCB permite que el software del sistema operativo o del hipervisor funcionen por capas y pongan prefijos a programas de canales de usuario. El octavo bit del campo 906 de banderas es una bandera de escritura de TIDAL. En una realización ejemplificativa, la bandera de escritura de TIDAL se fija a uno cuando el campo 916 de dirección de datos de salida contiene una dirección de una TIDAL. Si la bandera de escritura de TIDAL se fija a cero, entonces el campo 916 de dirección de datos de salida contiene una dirección de datos.
Los bits noveno a vigésimocuarto del campo 906 de banderas se reservan para un uso futuro.
La TCW 900 incluye también un campo 910 de longitud de TCCB que representa indirectamente la longitud del TCCB y se puede utilizar para determinar la longitud real del TCCB.
Los bits 912 de lectura/escritura en la TCW 900 se utilizan para indicar si se están leyendo y/o escribiendo datos como consecuencia de ejecutar la TCW 900. En una realización ejemplificativa, el bit de lectura en los bits de lectura/escritura 912 se fija a uno para indicar que se están transfiriendo datos de entrada desde un dispositivo 112 de E/S hacia unos medios de almacenamiento del sistema (por ejemplo, la memoria principal 102) en el sistema anfitrión 101 como consecuencia de ejecutar la TCW 900. El bit de escritura en los bits 912 de lectura/escritura se fija a uno para indicar que se están transfiriendo datos de salida desde unos medios de almacenamiento del sistema (por ejemplo, la memoria principal 102) en el sistema anfitrión 101 a un dispositivo de E/S como consecuencia de ejecutar la TCW 900.
El campo 916 de dirección de datos de salida incluye la dirección para los datos de salida (si hubiera alguno). Tal como se ha descrito previamente, el contenido del campo 916 de dirección de datos de salida puede ser una dirección de una TIDAL para datos de salida (por ejemplo, una dirección indirecta) o la dirección real de los datos de salida (por ejemplo, una dirección directa). El campo 918 de dirección de datos de entrada incluye la dirección para los datos de entrada (si hubiera alguno). Tal como se ha descrito previamente, el contenido del campo 918 de dirección de datos de entrada puede ser una dirección de una TIDAL para datos de entrada o la dirección real de los datos de entrada. En una realización ejemplificativa, el campo 916 de dirección de datos de salida y el campo 918 de dirección de datos de entrada se implementan en forma de direcciones de sesenta y cuatro bits.
La TCW 900 incluye también un campo 920 de dirección de bloque de estado de transporte. En esta dirección se almacena una porción (por ejemplo, la parte de estado extendida) de un estado de compleción en una IU de respuesta de transporte para una operación de E/S. El campo 922 de dirección de TCCB en la TCW 900 incluye una dirección en la que está situado el TCCB en los medios de almacenamiento del sistema. Tal como se ha descrito previamente, el TCCB es el bloque de control en el que residen las DCWs que se van a ejecutar para la TCW 900. Tal como se ha descrito también previamente, el contenido del campo 922 de dirección de TCCB puede ser una dirección de una TIDAL para el TCCB o la dirección real del TCCB. En una realización ejemplificativa, el campo 920 de dirección del bloque de estado de transporte y el campo 922 de dirección de TCCB se implementan en forma de direcciones de sesenta y cuatro bits.
El campo 924 de recuento de salida en la TCW 900 indica la cantidad de datos de salida a transferir por la TCW/TCCB para una operación de salida. En una realización ejemplificativa, el campo 924 de recuento de salida especifica el número de bytes en el área de almacenamiento de salida designada por la TCW (la dirección 916 de datos de salida) a transferir. El campo 926 de recuento de entrada en la TCW 900 indica la cantidad de datos de entrada a transferir mediante la TCW/TCCB para una operación de entrada. En una realización ejemplificativa, el campo 926 de recuento de entrada especifica el número de bytes en el área de almacenamiento de salida designada por la TCW (la dirección 918 de datos de entrada) a transferir. En la TCW 900 se reservan varios campos adicionales: campo reservado 928, campo reservado 930 y campo reservado 932. El campo 934 de dirección de TCW de interrogación contiene la dirección de otra TCW y es usado por el canal 124 para interrogar ese estado de una operación bajo la iniciativa de una instrucción de E/S de subcanal de cancelación.
La TCW representada en la FIG. 9 es un ejemplo de cómo se puede configurar una palabra de orden. Son posibles otras configuraciones en las que se incluyan campos adicionales y/o no se incluyan campos representados en la FIG. 9.
La FIG. 10 representa una realización de un programa de canal de TCW, según un aspecto de la presente invención cuando en una única operación de E/S se incluyen datos tanto de entrada como de salida. Tal como se muestra en la FIG. 10, un programa 1000 de canal de TCW incluye una TCW 1002 que especifica una posición en memoria de un TCCB 1004, una posición en memoria para almacenar datos 1006 de entrada o una TIDAL 1010 (es decir, una lista de palabras de direcciones indirectas de datos en modo transporte (TIDAWs) que apunta a la posición para los datos 1006 de entrada, una posición en memoria de un área 1014 de datos de salida o una TIDAL 1012 que apunta al área 1006 de datos de salida, y un área 1008 de estado.
Se describe en referencia a la FIG. 11 el procesado del programa 1000 de canal de TCW representado en la FIG. 10. En referencia a la FIG. 11, un canal 1100 abre un intercambio con una unidad 1102 de control y envía un TCCB 1104 y datos 1105 de salida situados en el área 1014 de datos de salida especificada por la TCW 1002 hacia la unidad 1102 de control. El canal 1100 determina cuántos datos enviar sobre la base del valor del recuento 924 de salida en la TCW 1002. La unidad 1102 de control ejecuta las múltiples órdenes del TCCB 1104 (por ejemplo, orden de definición de alcance, orden de localización de registro, orden de escritura y orden de lectura como palabras de control de dispositivos (DCWs)) recibe los datos 1105 de salida del canal 1100 y reenvía datos 1106 de entrada según el recuento de datos en la DCW hacia el canal 1100 a través, por ejemplo, de una IU de FCP_Datos. El canal 1100 almacena los datos 1106 de entrada en la posición especificada por la TCW 1002. La unidad 1102 de control proporciona también el estado y cierra el intercambio 1108. De esta manera, los datos se introducen en el canal 110 y se les da salida hacia la unidad 1102 de control en un único programa 1000 de canal de TCW (u operación de E/S).
La FIG. 12 representa una realización de un proceso para la transferencia bidireccional de datos en una única operación de E/S, según un aspecto de la presente invención. En una realización ejemplificativa, el procesado representado en la FIG. 12 se produce en un sistema de ordenador anfitrión que está en comunicación por red con una unidad de control. El sistema de ordenador anfitrión puede incluir un sistema de procesado de E/S que ejecuta el proceso. Adicionalmente, el sistema de procesado de E/S puede incluir un subsistema de canales que ejecuta el proceso. En el bloque 1202, el ordenador anfitrión obtiene una TCW. En una realización ejemplificativa, la TCW se obtiene (o recibe) a partir de un sistema operativo que se ejecuta en el ordenador anfitrión. La TCW incluye tanto una dirección 916 de datos de salida y un campo 924 de recuento de salida como una dirección 918 de datos de entrada y un campo 926 de recuento de datos de entrada. En una realización ejemplificativa, la TCW incluye datos de salida cuando el bit de escritura en los bits 912 de lectura/escritura se fija a uno y la TCW incluye datos de entrada cuando el bit de lectura en los bits 912 de lectura/escritura se fija a uno. En el bloque 1204, se recupera la posición de TCCB especificada por la TCW 922 y la misma se reenvía a la unidad de control. El TCCB contiene las DCWs que informan a la unidad de control sobre qué operaciones de E/S ejecutar.
En el bloque 1206, se recopilan los datos de salida a partir de la posición especificada por la TCW (si el bit de escritura en los bits 912 de lectura/escritura está fijado a uno). La cantidad de datos recopilados a incluir en los datos de salida se basa en el valor del campo 924 de recuento de datos de salida. Tal como se ha descrito previamente, la dirección de datos de salida puede ser una dirección directa de los datos de salida o una dirección indirecta de los datos de salida. Una dirección indirecta se refiere a una dirección que contiene una lista de una o más direcciones (por ejemplo, una TIDAL) que apuntan a una pluralidad de posiciones de almacenamiento que constituyen en conjunto los datos de salida. Una dirección directa se refiere a una dirección que contiene los datos de salida. En una realización ejemplificativa, la bandera de escritura de TIDAL en el campo 906 de banderas en la TCW se fija a uno cuando el campo 916 de dirección de datos de salida contiene una dirección de una TIDAL, y se fija a cero cuando el campo 916 de dirección de datos de salida contiene la dirección de los datos de salida.
En el bloque 1208, los datos de salida se reenvían a la unidad de control. Para este ejemplo, se deshabilita XFER_RDY.
En el bloque 1210, se reciben datos de entrada desde la unidad de control como consecuencia de ejecutar la operación de E/S. En el bloque 1212, los datos de entrada se almacenan en la posición especificada por la TCW (la dirección 918 de datos de entrada). En una realización ejemplificativa, la TCW incluye datos de entrada cuando el bit de lectura en los bits 912 de lectura/escritura se fija a uno. Tal como se ha descrito previamente, la dirección 918 de datos de entrada puede ser una dirección directa para almacenar los datos de entrada, o alternativamente puede ser una dirección a una lista de direcciones (por ejemplo, una TIDAL o una dirección indirecta) que apuntan a una pluralidad de posiciones de almacenamiento, almacenando cada una de ellas porciones de los datos de entrada. En una realización ejemplificativa, la bandera de lectura de TIDAL en el campo 906 de banderas en la TCW se fija a uno cuando el campo 918 de dirección de datos de entrada contiene una dirección de una TIDAL, y se fija a cero cuando el campo 918 de dirección de datos de entrada contiene la dirección de los datos de entrada.
Los efectos técnicos de las realizaciones ejemplificativas incluyen la capacidad de incluir datos tanto de entrada como de salida en una única operación de E/S. Esto proporciona flexibilidad en el agrupamiento de DCWs y puede derivar en una reducción del número de intercambios necesarios entre un canal y una unidad de control.
Tal como se ha descrito anteriormente, las realizaciones se pueden materializar en forma de procesos implementados con ordenadores, y aparatos para llevar a la práctica dichos procesos. En realizaciones ejemplificativas, la invención se materializa en código de programa de ordenador ejecutado por uno o más elementos de red. Las realizaciones incluyen un producto 1300 de programa de ordenador según se representa en la FIG. 13 en un soporte utilizable 1302 en ordenador, con una lógica 1304 de código de programa de ordenador que contiene instrucciones materializadas en soportes tangibles como un artículo de fabricación. Entre los artículos de fabricación ejemplificativos como soporte utilizable 1302 en ordenador se pueden incluir disquetes flexibles, CD-ROMs, unidades de disco duro, memorias flash del tipo bus serie universal (USB), o cualquier otro soporte de almacenamiento legible por ordenador, en donde, cuando la lógica 1304 del código del programa de ordenador se carga en y es ejecutada por un ordenador, el ordenador se convierte en un aparato para llevar la invención a la práctica. Las realizaciones incluyen una lógica 1304 de código de programa de ordenador, por ejemplo, ya sea almacenada en un soporte de almacenamiento, cargada en y/o ejecutada por un ordenador, o transmitida a través de algún medio de transmisión, tal como a través de hilos o cableado eléctricos, a través de fibra óptica, o a través de radiación electromagnética, en donde, cuando la lógica 1304 de código de programa de ordenador se carga en y es ejecutada por un ordenador, el ordenador se convierte en un aparato para llevar la invención a la práctica. Cuando se implementa en un microprocesador de propósito general, los segmentos de la lógica 1304 de código de programa de ordenador configuran el microprocesador para crear circuitos lógicos específicos.
Claims (10)
- REIVINDICACIONES1. Un método para simplificar el procesado de E/S para una operación de E/S en un sistema de ordenador anfitrión configurado para comunicarse con una unidad de control, que comprende:obtener (1202) una palabra de orden de transporte para una operación de E/S que tiene datos tanto de entrada como de salida, especificando la palabra de orden de transporte una posición de los datos de salida y una posición para almacenar los datos de entrada;recopilar (1206) los datos de salida en respuesta a la posición de los datos de salida especificada por la palabra de orden de transporte;reenviar (1208) la operación de E/S y los datos de salida a la unidad de control para su ejecución;recibir (1210) los datos de entrada de la unidad de control; yalmacenar (1212) los datos de entrada en la posición especificada por la palabra de orden de transporte para almacenar los datos de entrada.
-
- 2.
- El método de la reivindicación 1, en el que la palabra de orden de transporte especifica además un tamaño de los datos de salida, y la recopilación de los datos de salida es sensible además al tamaño de los datos de salida.
-
- 3.
- El método de la reivindicación 1, en el que la operación de E/S incluye una o más órdenes a ejecutar mediante la operación de E/S.
-
- 4.
- El método de la reivindicación 1, en el que una o ambas de entre la posición de los datos de salida y la posición para almacenar los datos de entrada son direcciones directas.
-
- 5.
- El método de la reivindicación 1, en el que una o ambas de entre la posición de los datos de salida y la posición para almacenar los datos de entrada son direcciones indirectas.
-
- 6.
- El método de la reivindicación 1, en el que el sistema de ordenador anfitrión incluye un sistema de procesado de E/S y el método es ejecutado por el sistema de procesado de E/S.
-
- 7.
- El método de la reivindicación 1, en el que el sistema de ordenador anfitrión incluye un subsistema de canales y el método es ejecutado por el subsistema de canales.
-
- 8.
- El método de la reivindicación 1, en el que la palabra de orden de transporte se obtiene a partir de un sistema operativo del anfitrión.
-
- 9.
- Un sistema que comprende medios adaptados para llevar a cabo todas las etapas del método según cualquier reivindicación de método anterior.
-
- 10.
- Un programa de ordenador que comprende instrucciones para llevar a cabo todas las etapas del método según cualquier reivindicación de método anterior, cuando dicho programa de ordenador se ejecuta en un sistema de ordenador.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US30954 | 2008-02-14 | ||
| US12/030,954 US7941570B2 (en) | 2008-02-14 | 2008-02-14 | Bi-directional data transfer within a single I/O operation |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2359614T3 true ES2359614T3 (es) | 2011-05-25 |
Family
ID=40749233
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES09709853T Active ES2359614T3 (es) | 2008-02-14 | 2009-02-09 | Transferencia bidireccional de datos en una única operación de e/s. |
Country Status (18)
| Country | Link |
|---|---|
| US (4) | US7941570B2 (es) |
| EP (1) | EP2218009B1 (es) |
| JP (1) | JP4917174B2 (es) |
| KR (1) | KR101175001B1 (es) |
| CN (1) | CN101939730B (es) |
| AT (1) | ATE497212T1 (es) |
| BR (1) | BRPI0908824B1 (es) |
| CA (1) | CA2704133C (es) |
| CY (1) | CY1111535T1 (es) |
| DE (1) | DE602009000687D1 (es) |
| DK (1) | DK2218009T3 (es) |
| ES (1) | ES2359614T3 (es) |
| IL (1) | IL207120A (es) |
| MX (1) | MX2010008883A (es) |
| PL (1) | PL2218009T3 (es) |
| PT (1) | PT2218009E (es) |
| SI (1) | SI2218009T1 (es) |
| WO (1) | WO2009101053A1 (es) |
Families Citing this family (59)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7500023B2 (en) | 2006-10-10 | 2009-03-03 | International Business Machines Corporation | Facilitating input/output processing by using transport control words to reduce input/output communications |
| US7502873B2 (en) | 2006-10-10 | 2009-03-10 | International Business Machines Corporation | Facilitating access to status and measurement data associated with input/output processing |
| 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 |
| 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 |
| US8117347B2 (en) | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
| US8108570B2 (en) | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
| US8082481B2 (en) | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
| 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 |
| 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 |
| US8001298B2 (en) | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data 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 |
| US8312189B2 (en) | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
| 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 |
| 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 |
| 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 |
| US7941570B2 (en) | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
| US8095847B2 (en) | 2008-02-14 | 2012-01-10 | International Business Machines Corporation | Exception condition handling at a channel subsystem in an I/O processing system |
| US7908403B2 (en) | 2008-02-14 | 2011-03-15 | International Business Machines Corporation | Reserved device access contention reduction |
| US8196149B2 (en) | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output processing system |
| 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 |
| US8055807B2 (en) * | 2008-07-31 | 2011-11-08 | International Business Machines Corporation | Transport control channel program chain linking including determining sequence order |
| US8332542B2 (en) | 2009-11-12 | 2012-12-11 | International Business Machines Corporation | Communication with input/output system devices |
| US8732357B2 (en) | 2010-10-28 | 2014-05-20 | International Business Machines Corporation | Apparatus and method for dynamically enabling and disabling write XFR—RDY |
| US9021155B2 (en) | 2011-06-01 | 2015-04-28 | International Business Machines Corporation | Fibre channel input/output data routing including discarding of data transfer requests in response to error detection |
| 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 |
| US8677027B2 (en) | 2011-06-01 | 2014-03-18 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
| US8583988B2 (en) | 2011-06-01 | 2013-11-12 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
| US8364854B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
| US8346978B1 (en) * | 2011-06-30 | 2013-01-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
| US8549185B2 (en) | 2011-06-30 | 2013-10-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
| US8312176B1 (en) | 2011-06-30 | 2012-11-13 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
| US8473641B2 (en) | 2011-06-30 | 2013-06-25 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
| JP5805546B2 (ja) * | 2012-01-13 | 2015-11-04 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
| US9647905B1 (en) | 2012-12-21 | 2017-05-09 | EMC IP Holding Company LLC | System and method for optimized management of statistics counters, supporting lock-free updates, and queries for any to-the-present time interval |
| CN119833067A (zh) * | 2012-12-21 | 2025-04-15 | 德卡产品有限公司 | 用于电子病人护理的系统、方法和设备 |
| US9531765B1 (en) | 2012-12-21 | 2016-12-27 | Emc Corporation | System and method for maximizing system data cache efficiency in a connection-oriented data proxy service |
| US9232000B1 (en) | 2012-12-21 | 2016-01-05 | Emc Corporation | Method and system for balancing load across target endpoints on a server and initiator endpoints accessing the server |
| US9473591B1 (en) | 2012-12-21 | 2016-10-18 | Emc Corporation | Reliable server transport over fibre channel using a block device access model |
| US9514151B1 (en) | 2012-12-21 | 2016-12-06 | Emc Corporation | System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service |
| US9270786B1 (en) | 2012-12-21 | 2016-02-23 | Emc Corporation | System and method for proxying TCP connections over a SCSI-based transport |
| US9563423B1 (en) * | 2012-12-21 | 2017-02-07 | EMC IP Holding Company LLC | System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service |
| US9591099B1 (en) | 2012-12-21 | 2017-03-07 | EMC IP Holding Company LLC | Server connection establishment over fibre channel using a block device access model |
| US9473590B1 (en) | 2012-12-21 | 2016-10-18 | Emc Corporation | Client connection establishment over fibre channel using a block device access model |
| US9712427B1 (en) | 2012-12-21 | 2017-07-18 | EMC IP Holding Company LLC | Dynamic server-driven path management for a connection-oriented transport using the SCSI block device model |
| US9509797B1 (en) | 2012-12-21 | 2016-11-29 | Emc Corporation | Client communication over fibre channel using a block device access model |
| US9237057B1 (en) | 2012-12-21 | 2016-01-12 | Emc Corporation | Reassignment of a virtual connection from a busiest virtual connection or locality domain to a least busy virtual connection or locality domain |
| US9473589B1 (en) | 2012-12-21 | 2016-10-18 | Emc Corporation | Server communication over fibre channel using a block device access model |
| US9407601B1 (en) | 2012-12-21 | 2016-08-02 | Emc Corporation | Reliable client transport over fibre channel using a block device access model |
| 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 |
| US9960981B2 (en) * | 2015-10-08 | 2018-05-01 | Sony Corporation | Communication device, communication method, program, and communication system |
| US10963295B2 (en) * | 2017-09-08 | 2021-03-30 | Oracle International Corporation | Hardware accelerated data processing operations for storage data |
| KR101980190B1 (ko) | 2017-09-25 | 2019-05-21 | 서울대학교산학협력단 | 입출력 디바이스 제어 장치, 그것의 동작 방법 및 입출력 디바이스 제어 장치 드라이버의 동작 방법 |
Family Cites Families (262)
| 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 |
| US4604709A (en) * | 1983-02-14 | 1986-08-05 | International Business Machines Corp. | Channel communicator |
| 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 | 汎用チャネル制御方式 |
| 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 |
| US5301321A (en) | 1992-02-21 | 1994-04-05 | International Business Machines Corporation | Method and system for the minimization of conflicting activities with respect to an object stored within a data processing system |
| US5388219A (en) * | 1992-03-02 | 1995-02-07 | International Business Machines Corporation | Efficient channel and control unit for host computer |
| JP2532194B2 (ja) * | 1992-03-30 | 1996-09-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | プロセッサと結合機能間に対するメッセ―ジ経路指定機能を有するデ―タ処理システム |
| CA2086691C (en) * | 1992-03-30 | 1997-04-08 | David A. Elko | Communicating messages between processors and a coupling facility |
| US5317739A (en) * | 1992-03-30 | 1994-05-31 | International Business Machines Corp. | Method and apparatus for coupling data processing 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 |
| US5414851A (en) * | 1992-06-15 | 1995-05-09 | International Business Machines Corporation | Method and means for sharing I/O resources by a plurality of operating systems |
| US5265240A (en) | 1992-07-24 | 1993-11-23 | International Business Machines Corporation | Channel measurement method and means |
| JP2566728B2 (ja) * | 1992-10-30 | 1996-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 論理径路スケジューリング装置及び実行方法 |
| US5301323A (en) * | 1992-10-30 | 1994-04-05 | International Business Machines Corp. | Data processing system including dynamic channel path management |
| US5367661A (en) * | 1992-11-19 | 1994-11-22 | International Business Machines Corporation | Technique for controlling channel operations in a host computer by updating signals defining a dynamically alterable channel program |
| JP2840511B2 (ja) * | 1992-12-10 | 1998-12-24 | 富士通株式会社 | 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法 |
| US5526484A (en) * | 1992-12-10 | 1996-06-11 | International Business Machines Corporation | Method and system for pipelining the processing of channel command words |
| US5528755A (en) * | 1992-12-22 | 1996-06-18 | International Business Machines Corporation | Invalid data detection, recording and nullification |
| US5517670A (en) * | 1992-12-30 | 1996-05-14 | International Business Machines Corporation | Adaptive data transfer channel employing extended data block capability |
| US5461721A (en) * | 1993-04-14 | 1995-10-24 | International Business Machines Corporation | System for transferring data between I/O devices and main or expanded storage under dynamic control of independent indirect address words (IDAWs) |
| US5465359A (en) * | 1993-11-01 | 1995-11-07 | International Business Machines Corporation | Method and system for managing data and users of data in a data processing system |
| US5584039A (en) * | 1993-11-08 | 1996-12-10 | International Business Machines Corporation | System for coordinating execution of multiple concurrent channel programs without host processor involvement using suspend and resume commands to control data transfer between I/O devices |
| JP3528094B2 (ja) * | 1994-02-09 | 2004-05-17 | 株式会社日立製作所 | バス利用方法および記憶制御装置 |
| US6769009B1 (en) | 1994-05-31 | 2004-07-27 | Richard R. Reisman | Method and system for selecting a personalized set of information channels |
| US5907684A (en) * | 1994-06-17 | 1999-05-25 | International Business Machines Corporation | Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image |
| US5548791A (en) * | 1994-07-25 | 1996-08-20 | International Business Machines Corporation | Input/output control system with plural channel paths to I/O devices |
| US5860022A (en) * | 1994-07-26 | 1999-01-12 | Hitachi, Ltd. | Computer system and method of issuing input/output commands therefrom |
| EP0712220A1 (en) | 1994-11-08 | 1996-05-15 | International Business Machines Corporation | Hop-by-hop flow control in an ATM network |
| US5564040A (en) * | 1994-11-08 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for providing a server function in a logically partitioned hardware machine |
| US5613163A (en) * | 1994-11-18 | 1997-03-18 | International Business Machines Corporation | Method and system for predefined suspension and resumption control over I/O programs |
| US5671441A (en) * | 1994-11-29 | 1997-09-23 | International Business Machines Corporation | Method and apparatus for automatic generation of I/O configuration descriptions |
| US5600793A (en) * | 1994-12-20 | 1997-02-04 | International Business Machines Corporation | Method and system of bi-directional parallel port data transfer between data processing systems |
| US5680580A (en) * | 1995-02-28 | 1997-10-21 | International Business Machines Corporation | Remote copy system for setting request interconnect bit in each adapter within storage controller and initiating request connect frame in response to the setting bit |
| 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 |
| JP3601552B2 (ja) * | 1995-07-05 | 2004-12-15 | ソニー株式会社 | 双方向放送システム、双方向放送方法および双方向放送の受信装置 |
| 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 |
| US5812881A (en) * | 1997-04-10 | 1998-09-22 | International Business Machines Corporation | Handshake minimizing serial to parallel bus interface in a data processing system |
| 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 |
| 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 |
| 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 |
| 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 |
| US6594712B1 (en) | 2000-10-20 | 2003-07-15 | Banderacom, Inc. | Inifiniband channel adapter for performing direct DMA between PCI bus and inifiniband link |
| US6697983B1 (en) | 2000-10-24 | 2004-02-24 | At&T Wireless Services, Inc. | Data link layer tunneling technique for high-speed data in a noisy wireless environment |
| US6622268B2 (en) * | 2000-11-29 | 2003-09-16 | Intel Corp | Method and apparatus for propagating error status over an ECC protected channel |
| US7127514B2 (en) * | 2000-12-28 | 2006-10-24 | Microsoft Corporation | Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client |
| US7155569B2 (en) | 2001-02-28 | 2006-12-26 | Lsi Logic Corporation | Method for raid striped I/O request generation using a shared scatter gather list |
| US6834363B2 (en) * | 2001-03-22 | 2004-12-21 | International Business Machines Corporation | Method for prioritizing bus errors |
| US6898202B2 (en) * | 2001-06-27 | 2005-05-24 | International Business Machines Corporation | Method, apparatus and computer program for informing a requesting device of port configuration changes in a computer network switching device |
| US20030056000A1 (en) * | 2001-07-26 | 2003-03-20 | Nishan Systems, Inc. | Transfer ready frame reordering |
| US6910149B2 (en) | 2001-09-24 | 2005-06-21 | Intel Corporation | Multi-device link aggregation |
| US6754738B2 (en) * | 2001-09-28 | 2004-06-22 | International Business Machines Corporation | Low overhead I/O interrupt |
| US7315911B2 (en) | 2005-01-20 | 2008-01-01 | Dot Hill Systems Corporation | Method for efficient inter-processor communication in an active-active RAID system using PCI-express links |
| US6859866B2 (en) * | 2001-10-01 | 2005-02-22 | International Business Machines Corporation | Synchronizing processing of commands invoked against duplexed coupling facility structures |
| US6745299B2 (en) * | 2001-11-19 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms |
| US7512133B2 (en) * | 2001-12-03 | 2009-03-31 | International Business Machines Corporation | Method and apparatus for obtaining multiple port addresses by a fibre channel from a network fabric |
| US7599360B2 (en) | 2001-12-26 | 2009-10-06 | Cisco Technology, Inc. | Methods and apparatus for encapsulating a frame for transmission in a storage area network |
| US7085860B2 (en) | 2002-01-11 | 2006-08-01 | International Business Machines Corporation | Method and apparatus for a non-disruptive recovery of a single partition in a multipartitioned data processing system |
| US7007142B2 (en) | 2002-02-19 | 2006-02-28 | Intel Corporation | Network data storage-related operations |
| US7099814B2 (en) * | 2002-03-29 | 2006-08-29 | International Business Machines Corportion | I/O velocity projection for bridge attached channel |
| US6898723B2 (en) * | 2002-04-01 | 2005-05-24 | Mitac International Corp. | Method for verifying clock signal frequency of computer sound interface that involves checking whether count value of counter is within tolerable count range |
| US7543087B2 (en) | 2002-04-22 | 2009-06-02 | Alacritech, Inc. | Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device |
| JP4704659B2 (ja) | 2002-04-26 | 2011-06-15 | 株式会社日立製作所 | 記憶装置システムの制御方法および記憶制御装置 |
| US20030208581A1 (en) | 2002-05-02 | 2003-11-06 | Behren Paul D. Von | Discovery of fabric devices using information from devices and switches |
| US7120728B2 (en) | 2002-07-31 | 2006-10-10 | Brocade Communications Systems, Inc. | Hardware-based translating virtualization switch |
| US7107385B2 (en) * | 2002-08-09 | 2006-09-12 | Network Appliance, Inc. | Storage virtualization by layering virtual disk objects on a file system |
| US6826661B2 (en) * | 2002-08-30 | 2004-11-30 | Veritas Operating Corporation | Methods and systems for storage architectures |
| US20040054776A1 (en) * | 2002-09-16 | 2004-03-18 | Finisar Corporation | Network expert analysis process |
| US7539777B1 (en) | 2002-10-25 | 2009-05-26 | Cisco Technology, Inc. | Method and system for network time protocol forwarding |
| 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 |
| JP2004280717A (ja) * | 2003-03-18 | 2004-10-07 | Matsushita Electric Works Ltd | 遠隔制御監視システム及びそれに用いる情報通信方法 |
| 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 |
| 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 | データ処理システム、データ処理方法、及びプログラム |
| JP2006338538A (ja) * | 2005-06-03 | 2006-12-14 | Nec Electronics Corp | ストリームプロセッサ |
| 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 |
| JP2007034392A (ja) * | 2005-07-22 | 2007-02-08 | Nec Electronics Corp | 情報処理装置及びデータ処理方法 |
| 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 |
| US7500030B2 (en) | 2006-08-30 | 2009-03-03 | International Business Machines Corporation | Control of information units in fibre channel communications |
| US8032581B2 (en) | 2006-08-30 | 2011-10-04 | International Business Machines Corporation | Persistent information unit pacing |
| US7502873B2 (en) | 2006-10-10 | 2009-03-10 | International Business Machines Corporation | Facilitating access to status and measurement data associated with input/output processing |
| US7500023B2 (en) | 2006-10-10 | 2009-03-03 | International Business Machines Corporation | Facilitating input/output processing by using transport control words to reduce input/output communications |
| US7668984B2 (en) | 2007-01-10 | 2010-02-23 | International Business Machines Corporation | Low latency send queues in I/O adapter hardware |
| US7797414B2 (en) | 2007-01-31 | 2010-09-14 | International Business Machines Corporation | Establishing a logical path between servers in a coordinated timing network |
| 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 |
| JP2009184260A (ja) | 2008-02-07 | 2009-08-20 | Kyocera Mita Corp | 画像形成装置 |
| 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 |
| 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 |
| 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 |
| US7941570B2 (en) | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
| US8166206B2 (en) | 2008-02-14 | 2012-04-24 | International Business Machines Corporation | Cancel instruction and command for determining the state of an I/O operation |
| US7908403B2 (en) | 2008-02-14 | 2011-03-15 | International Business Machines Corporation | Reserved device access contention reduction |
| 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 |
| US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
| US8108570B2 (en) | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
| US8312189B2 (en) | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
| US7899944B2 (en) | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting 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 |
| 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 |
| 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 |
| US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
| US8082481B2 (en) | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
| 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 |
| 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 |
| US8001298B2 (en) | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data in an I/O processing system |
| GB2460841B (en) | 2008-06-10 | 2012-01-11 | Virtensys Ltd | Methods of providing access to I/O devices |
| US7983257B2 (en) | 2008-07-18 | 2011-07-19 | Emulex Design & Manufacturing Corporation | Hardware switch for hypervisors and blade servers |
| US7937504B2 (en) | 2008-07-31 | 2011-05-03 | International Business Machines Corporation | Transport control channel program message pairing |
| US8055807B2 (en) | 2008-07-31 | 2011-11-08 | International Business Machines Corporation | Transport control channel program chain linking including determining sequence order |
| US20100064072A1 (en) | 2008-09-09 | 2010-03-11 | Emulex Design & Manufacturing Corporation | Dynamically Adjustable Arbitration Scheme |
| JP5107880B2 (ja) | 2008-12-10 | 2012-12-26 | 株式会社日立製作所 | データ転送処理装置及び方法 |
| CN101551736B (zh) | 2009-05-20 | 2010-11-03 | 杭州华三通信技术有限公司 | 基于地址指针链表的缓存管理装置和方法 |
| US8332542B2 (en) | 2009-11-12 | 2012-12-11 | International Business Machines Corporation | Communication with input/output system devices |
| US8914812B2 (en) | 2010-01-08 | 2014-12-16 | International Business Machines Corporation | Controlling operations according to another system's architecture |
| US8583988B2 (en) | 2011-06-01 | 2013-11-12 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
-
2008
- 2008-02-14 US US12/030,954 patent/US7941570B2/en active Active
-
2009
- 2009-02-09 JP JP2010546302A patent/JP4917174B2/ja active Active
- 2009-02-09 PT PT09709853T patent/PT2218009E/pt unknown
- 2009-02-09 WO PCT/EP2009/051450 patent/WO2009101053A1/en not_active Ceased
- 2009-02-09 EP EP09709853A patent/EP2218009B1/en active Active
- 2009-02-09 KR KR1020107016962A patent/KR101175001B1/ko active Active
- 2009-02-09 SI SI200930020T patent/SI2218009T1/sl unknown
- 2009-02-09 CN CN2009801042047A patent/CN101939730B/zh active Active
- 2009-02-09 PL PL09709853T patent/PL2218009T3/pl unknown
- 2009-02-09 CA CA2704133A patent/CA2704133C/en active Active
- 2009-02-09 DE DE602009000687T patent/DE602009000687D1/de active Active
- 2009-02-09 AT AT09709853T patent/ATE497212T1/de active
- 2009-02-09 ES ES09709853T patent/ES2359614T3/es active Active
- 2009-02-09 BR BRPI0908824-5A patent/BRPI0908824B1/pt active IP Right Grant
- 2009-02-09 DK DK09709853.7T patent/DK2218009T3/da active
- 2009-02-09 MX MX2010008883A patent/MX2010008883A/es active IP Right Grant
-
2010
- 2010-07-21 IL IL207120A patent/IL207120A/en active IP Right Grant
-
2011
- 2011-02-07 CY CY20111100137T patent/CY1111535T1/el unknown
- 2011-03-30 US US13/075,993 patent/US8495253B2/en active Active
-
2013
- 2013-06-13 US US13/917,280 patent/US8892781B2/en active Active
-
2014
- 2014-11-17 US US14/543,368 patent/US9298379B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CA2704133A1 (en) | 2009-08-20 |
| BRPI0908824A2 (pt) | 2016-09-20 |
| DK2218009T3 (da) | 2011-04-18 |
| IL207120A (en) | 2014-04-30 |
| IL207120A0 (en) | 2010-12-30 |
| US8892781B2 (en) | 2014-11-18 |
| US7941570B2 (en) | 2011-05-10 |
| KR101175001B1 (ko) | 2012-08-20 |
| CY1111535T1 (el) | 2015-08-05 |
| PL2218009T3 (pl) | 2011-06-30 |
| SI2218009T1 (sl) | 2011-05-31 |
| DE602009000687D1 (de) | 2011-03-10 |
| BRPI0908824B1 (pt) | 2020-02-11 |
| ATE497212T1 (de) | 2011-02-15 |
| PT2218009E (pt) | 2011-03-16 |
| US20150074295A1 (en) | 2015-03-12 |
| KR20100107485A (ko) | 2010-10-05 |
| JP2011512587A (ja) | 2011-04-21 |
| EP2218009B1 (en) | 2011-01-26 |
| JP4917174B2 (ja) | 2012-04-18 |
| US9298379B2 (en) | 2016-03-29 |
| CN101939730B (zh) | 2013-10-09 |
| MX2010008883A (es) | 2010-09-07 |
| EP2218009A1 (en) | 2010-08-18 |
| US20130282929A1 (en) | 2013-10-24 |
| US8495253B2 (en) | 2013-07-23 |
| CA2704133C (en) | 2017-11-07 |
| US20110196993A1 (en) | 2011-08-11 |
| CN101939730A (zh) | 2011-01-05 |
| WO2009101053A1 (en) | 2009-08-20 |
| US20090210581A1 (en) | 2009-08-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2359614T3 (es) | Transferencia bidireccional de datos en una única operación de e/s. | |
| 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 | |
| US9720844B2 (en) | Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous |