Facilitar operaciones de entrada/salida en modo transporte entre un subsistema de canal y dispositivos de entrada/salida.

Un método para realizar una operación de entrada/salida (I/O) iniciada por una instrucción de operación I/O en unsistema de ordenador anfitrión

(102) configurado para comunicación con una unidad de control (118), comprendiendoel método:

enviar, mediante un subsistema de canal (114) en el sistema de ordenador anfitrión, un mensaje de solicitud de registrode proceso (PRLI) a la unidad de control para inicializar un enlace entre el subsistema de canal y la unidad de control,incluyendo el mensaje (400) de solicitud de PRLI un campo que tiene un valor que indica si el subsistema de canalsoporta transferencia de datos bidireccional;

recibir un mensaje (420) de respuesta de PRLI procedente de la unidad de control, incluyendo el mensaje de respuestade PRLI un campo que tiene un valor que indica si la unidad de control soporta transferencia de datos bidireccional;proporcionar una indicación a un sistema operativo anfitrión de que la transferencia de datos bidireccional essoportada; y

en respuesta a la ejecución de la instrucción de operación de I/O recibida desde el sistema de ordenador anfitrión,realizar un método que comprende:

reunir una pluralidad de comandos (202) asociados con la instrucción de operación de I/O recibida desde el sistema deordenador anfitrión, especificando al menos uno de la pluralidad de comandos una transferencia de datos de entrada yespecificando al menos uno de la pluralidad de comandos una transferencia de datos de salida;

transferir la pluralidad de comandos a la unidad de control;

enviar al menos un mensaje de datos de salida a la unidad de control incluyendo datos de salida que han de sertransferidos a la unidad de control, especificando el mensaje de datos de salida asociado con al menos uno de lapluralidad de comandos una transferencia de datos de salida; y

recibir al menos un mensaje de entrada procedente de la unidad de control que incluye datos de entrada que han deser almacenados en un almacenamiento principal (106) del sistema ordenador anfitrión, especificando el mensaje dedatos de entrada asociado con al menos uno de la pluralidad de comandos una transferencia de datos de entrada.

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/EP2012/056534.

Solicitante: INTERNATIONAL BUSINESS MACHINES CORPORATION.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: NEW ORCHARD ROAD ARMONK, NY 10504 ESTADOS UNIDOS DE AMERICA.

Inventor/es: FLANAGAN,JOHN, YUDENFRIEND,HARRY, HATHORN,ROGER, RIEDY,Dale, RICCI,LOUIS WILLIAM, CARLSON,SCOTT, KALOS,MATTHEW JOSEPH, CASPER,DANIEL FRANCIS.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION G — FISICA > COMPUTO; CALCULO; CONTEO > TRATAMIENTO DE DATOS DIGITALES ELECTRICOS (computadores... > Interconexión o transferencia de información u... > G06F13/42 (Protocolo de transferencia para bus, p. ej. interbloqueo; Sincronización)

PDF original: ES-2449965_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Facilitar operaciones de entrada/salida en modo transporte entre un subsistema de canal y dispositivos de entrada/salida Antecedentes La presente descripción se refiere en general al tratamiento de entrada/salida (I/O) , y en particular, a proporcionar características para facilitar las operaciones de I/O en modo transporte.

Las operaciones de entrada/salida (I/O) se utilizan para transferir datos entre la memoria y los dispositivos de I/O de un sistema de tratamiento de I/O. Específicamente, los datos son escritos desde la memoria a uno o más dispositivos de I/O, y los datos son leídos desde uno o más dispositivos de I/O a la memoria mediante la ejecución de operaciones de I/O.

Ejemplos de sistemas de tratamiento de I/O convencionales están descritos en el documento US2009/0210884 y en el documento US 7743172.

Para facilitar el tratamiento de operaciones de I/O, se emplea un subsistema de I/O del sistema de tratamiento de I/O. El subsistema de I/O está acoplado a la memoria principal y a los dispositivos de I/O del sistema de tratamiento de I/O y dirige el flujo de información entre memoria y la dispositivos de I/O. Un ejemplo de un subsistema de I/O es un subsistema del canal. El subsistema de canal utiliza trayectos de canal como medios de comunicaciones. Cada trayecto de canal incluye un canal acoplado a una unidad de control, estando además la unidad de control acoplada a uno o más dispositivos de I/O.

El subsistema de canal y el dispositivo de I/O pueden operar en un modo de transporte que soporta la transferencia de uno o más bloques de control de comando para transferir datos entre los dispositivos de I/O y la memoria. Una palabra de control de transporte (TCW) especifica uno o más comandos de I/O que han de ser ejecutados. Para comandos que inician ciertas operaciones de I/O, la TCW designa áreas de memoria asociadas con la operación, la acción que ha de ser tomada siempre que una transferencia a un área o desde ella es completada, y otras opciones.

Tales sistemas de operación de I/O están típicamente concernidos con operaciones individuales de tratamiento bien como operaciones de datos de entrada (por ejemplo operaciones de lectura) o bien como operaciones de datos de salida (por ejemplo, operaciones de escritura) . Estos sistemas típicamente no soportan operaciones bidireccionales, y particularmente no incluyen capacidad para generar o transferir indicaciones de soporte bidireccional.

Resumen Una realización incluye un producto de programa informático para realizar una operación de entrada/salida (I/O) y iniciada por una instrucción de operación I/O en un sistema de ordenador anfitrión configurado para comunicación con una unidad de control. El producto del programa informático incluye un medio de almacenamiento tangible legible mediante un circuito de tratamiento e instrucciones de almacenamiento para ejecución por el circuito de tratamiento para realizar un método que incluye: enviar, mediante un subsistema de canal en el sistema de ordenador anfitrión, un mensaje de solicitud de registro de proceso (PRLI) a la unidad de control para inicializar un enlace entre el subsistema de canal y la unidad de control, incluyendo el mensaje de solicitud de PRLI un campo que tiene un valor que indica si el subsistema de canal soporta transferencia de datos bidireccional, recibir un mensaje de respuesta de PRLI procedente de la unidad de control, incluyendo el mensaje de respuesta de PRLI un campo que tiene un valor que indica si la unidad de control soporta transferencia de datos bidireccional, proporcionar una indicación a un sistema operativo anfitrión de que la transferencia de datos bidireccional es soportada; y en respuesta a la ejecución de la instrucción de operación de I/O recibida desde el sistema de ordenador anfitrión, realizar un método. El método incluye: reunir una pluralidad de comandos asociados con la instrucción de operación de I/O recibida desde el sistema de ordenador anfitrión, especificando al menos uno de la pluralidad de comandos una transferencia de datos de entrada y especificando al menos uno de la pluralidad de comandos una transferencia de datos de salida; transferir la pluralidad de comandos a la unidad de control; enviar al menos un mensaje de datos de salida a la unidad de control que incluye datos de salida que han de ser transferidos a la unidad de control, especificando el mensaje de datos de salida asociado con al menos uno de la pluralidad de comandos una transferencia de datos de salida; y recibir al menos un mensaje de entrada procedente de la unidad de control que incluye datos de entrada que han de ser almacenados en un almacenamiento principal del sistema ordenador anfitrión, especificando el mensaje de datos de entrada asociado con al menos uno de la pluralidad de comandos una transferencia de datos de entrada.

Otra realización incluye un aparato para realizar una operación de entrada/salida (I/O) iniciada por una instrucción de operación del I/O en un sistema de ordenador anfitrión configurado para comunicación con una unidad de control. El sistema de ordenador anfitrión está configurado para realizar: enviar, mediante un subsistema de canal en el sistema ordenador anfitrión, un mensaje de solicitud de registro de proceso (PRLI) a la unidad de control para inicializar un enlace entre el subsistema de canal y la unidad de control, incluyendo el mensaje de solicitud de PRLI un campo que tiene un valor que indica si el subsistema de canal soporta transferencia de datos bidireccional; recibir un mensaje de respuesta de PRLI procedente de la unidad de control, incluyendo el mensaje de respuesta de PRLI un campo que tiene un valor que indica si el subsistema de canal soporta transferencia de datos bidireccional; proporcionar una indicación a un sistema operativo anfitrión de que la transferencia de datos bidireccional es soportada; y en respuesta a la ejecución de la instrucción de operación de I/O recibida desde el sistema de ordenador anfitrión, realizar un método que incluye: reunir una pluralidad de comandos asociados con la instrucción de operación de I/O recibida desde el sistema de ordenador anfitrión, especificando al menos uno de la pluralidad de comandos una transferencia de datos de entrada y especificando al menos uno de la pluralidad de comandos una transferencia de datos de salida; transferir la pluralidad de comandos a la unidad de control; enviar al menos un mensaje de datos de salida a la unidad de control que incluye datos de salida que han de ser transferidos a la unidad de control, especificando el mensaje de datos de salida asociado con al menos uno de la pluralidad de comandos una transferencia de datos de salida; y recibir al menos un mensaje de entrada procedente de la unión de control que incluye datos de entrada que han de ser almacenados en un almacenamiento principal del sistema ordenador anfitrión, especificando el mensaje de datos de entrada asociado con al menos uno de la pluralidad de comandos una transferencia de datos de entrada.

Otra realización incluye un método para realizar una operación de entrada/salida (I/O) iniciada por una instrucción de operación de I/O en un sistema de ordenador anfitrión configurado para comunicación con una unidad de control. El método incluye: enviar, mediante un subsistema de canal en el sistema ordenador anfitrión, un mensaje de solicitud de registro de proceso (PRLI) a la unidad de control para inicializar un enlace entre el subsistema del canal y la unidad de control, incluyendo el mensaje de solicitud de PRLI un campo que tiene un valor que indica si el subsistema de canal soporta la transferencia de datos bidireccional; recibir un mensaje de respuesta de PRLI procedente de la unidad de control, incluyendo el mensaje de respuesta de PRLI un campo que tiene un valor que indica si la unidad de control... [Seguir leyendo]

 


Reivindicaciones:

1. Un método para realizar una operación de entrada/salida (I/O) iniciada por una instrucción de operación I/O en un sistema de ordenador anfitrión (102) configurado para comunicación con una unidad de control (118) , comprendiendo el método:

enviar, mediante un subsistema de canal (114) en el sistema de ordenador anfitrión, un mensaje de solicitud de registro de proceso (PRLI) a la unidad de control para inicializar un enlace entre el subsistema de canal y la unidad de control, incluyendo el mensaje (400) de solicitud de PRLI un campo que tiene un valor que indica si el subsistema de canal soporta transferencia de datos bidireccional;

recibir un mensaje (420) de respuesta de PRLI procedente de la unidad de control, incluyendo el mensaje de respuesta de PRLI un campo que tiene un valor que indica si la unidad de control soporta transferencia de datos bidireccional;

proporcionar una indicación a un sistema operativo anfitrión de que la transferencia de datos bidireccional es soportada; y

en respuesta a la ejecución de la instrucción de operación de I/O recibida desde el sistema de ordenador anfitrión, realizar un método que comprende:

reunir una pluralidad de comandos (202) asociados con la instrucción de operación de I/O recibida desde el sistema de ordenador anfitrión, especificando al menos uno de la pluralidad de comandos una transferencia de datos de entrada y especificando al menos uno de la pluralidad de comandos una transferencia de datos de salida;

transferir la pluralidad de comandos a la unidad de control;

enviar al menos un mensaje de datos de salida a la unidad de control incluyendo datos de salida que han de ser transferidos a la unidad de control, especificando el mensaje de datos de salida asociado con al menos uno de la pluralidad de comandos una transferencia de datos de salida; y

recibir al menos un mensaje de entrada procedente de la unidad de control que incluye datos de entrada que han de ser almacenados en un almacenamiento principal (106) del sistema ordenador anfitrión, especificando el mensaje de datos de entrada asociado con al menos uno de la pluralidad de comandos una transferencia de datos de entrada.

2. El método según la reivindicación 1, en el que la pluralidad de comandos es una pluralidad de palabras de comando de dispositivo (DCW) (202) cada una de las cuales está asociada con un comando de I/O, y la reunión incluye la obtención de una palabra de comando de transporte (TCW) (140) en el subsistema de canal en el sistema de ordenador anfitrión para la operación de I/O, incluyendo la TCW un campo (148) de dirección del bloque de control de comando de transporte (TCCB) que incluye una dirección de un TCCB (170) en el almacenamiento principal del sistema de ordenador anfitrión, incluyendo el TCCB la pluralidad de DCW, especificando al menos una de las DCW una transferencia de datos de entrada y especificando al menos una de las DCW una transferencia de datos de salida.

3. El método según la reivindicación 2, en el que transferir la pluralidad de comandos incluye transferir el TCCB que incluye la pluralidad de DCW a la unidad de control.

4. El método según la reivindicación 3, en el que la indicación está configurada para especificar si una condición de primera lista para transferencia inhabilitada existe en efecto, y el método comprende además:

en respuesta a la condición de que la primera lista para transferencia inhabilitada existe en efecto, enviar al menos un mensaje de datos de salida a la unidad de control después de la transferencia del TCCB y antes de recibir al menos un mensaje desde la unidad de control; y

en respuesta a la condición de que la primera lista para transferencia inhabilitada no existe en efecto, recibir al menos un mensaje desde la unidad de control antes de enviar al menos el mensaje de datos de salida.

5. El método según la reivindicación 4, en el que el mensaje procedente de la unidad de control incluye uno de un mensaje listo para transferencia que solicita que el subsistema de canal envíe un mensaje de datos de salida y de datos de entrada.

6. El método según la reivindicación 2, en el que el TCCB está incluido en una unidad de información (IU) (172) de comando de transporte enviada a la unidad de control, incluyendo la IU de comando de transporte una cabecera de comando de transporte (TCH) (176) , incluyendo la TCH un campo que indica si el subsistema de canal está solicitando una transferencia de datos bidireccional.

7. El método según la reivindicación 6, en el que el TCCB incluye un campo (186) de longitud de datos de escritura (DL) que especifica una cantidad de datos de salida que han de ser transferidos y un campo (188) de longitud de datos de lectura bidireccional (BRDL) que especifica una cantidad de datos de entrada que han de ser transferidos.

8. El método según la reivindicación 7, que comprende además, en respuesta a que la unidad de control no soporta operaciones de datos bidireccionales, recibir un mensaje (330) de respuesta de transporte procedente de la unidad de control que indica que la operación de I/O ha terminado, incluyendo el mensaje de respuesta de transporte una indicación de error de contenido de TCH en respuesta al menos a uno de:

la unidad de control que detecta que un bit de lectura (R) (192) y un bit de escritura (W) (194) en la TCH son ajustados ambos a uno y de que el TCCB no incluye la BRDL; y

la unidad de control que detecta que el bit R y el bit W están ambos establecidos a uno y que la unidad de control no soporta transferencia de datos bidireccional.

9. El método según la reivindicación 7, en el que el método comprende además recibir un mensaje (330) de respuesta de transporte procedente de la unidad de control que indica que la operación de I/O ha terminado, y el mensaje de respuesta de transporte incluye:

un campo (340) de Cómputo Residual de Longitud de Datos (DLRC) que especifica una diferencia entre un valor de campo DL en el TCCB y una cantidad de datos de salida recibidos por la unidad de control; y

un cómputo (342) residual de BRDL que especifica una diferencia entre un valor de campo de BRDL en el TCCB y una cantidad de datos de entrada enviados por la unidad de control.

10. El método según la reivindicación 9, en el que el subsistema de canal detecta un error en respuesta al menos a uno de:

un valor de DLRC que no corresponde a una diferencia entre el valor de campo DL en el TCCB y una cantidad de datos de salida enviados a la unidad de control; y

un valor de cómputo residual de BRDL que no corresponde a una diferencia entre el valor de campo de BRDL y una cantidad de datos de entrada recibidos desde la unidad de control.

11. El método según la reivindicación 2, en el que el mensaje (400) de solicitud de PRLI indica una solicitud a la unidad de control para indicar si la unidad de control soporta un protocolo en modo transporte, soportando el protocolo en modo transporte el uso de la TCW y del TCCB, y el mensaje de respuesta de PRLI incluye un campo que indica si la unidad de control soporta el protocolo en modo transporte.

12. Un producto de programa informático para realizar una operación de entrada/salida (I/O) iniciada por una instrucción de operación de I/O en un sistema de ordenador anfitrión (102) configurado para comunicación con una unidad de control (118) , comprendiendo el producto de programa informático:

un medio de almacenamiento tangible legible por un circuito de tratamiento (104) y que almacena instrucciones para ejecución por el circuito de tratamiento para realizar un método según cualquiera de las reivindicaciones 1 a 11.

13. Un aparato para realizar una operación de entrada/salida (I/O) iniciada por una instrucción de operación de I/O en un sistema de ordenador anfitrión (102) configurado para comunicación con una unidad de control (118) , estando el sistema de ordenador anfitrión configurado para realizar:

enviar, mediante un subsistema de canal (114) en el sistema de ordenador anfitrión, un mensaje (400) de solicitud de registro de proceso (PRLI) a la unidad de control para inicializar un enlace entre el subsistema de canal y la unidad de control, incluyendo el mensaje de solicitud de PRLI un campo que tiene un valor que indica si el subsistema de canal soporta transferencia de datos bidireccional;

recibir un mensaje (420) de respuesta de PRLI procedente de la unidad de control, incluyendo el mensaje de respuesta de PRLI un campo que tiene un valor que indica si la unidad de control soporta transferencia de datos bidireccional;

proporcionar una indicación a un sistema operativo anfitrión de que la transferencia de datos bidireccional es soportada; y

en respuesta a la ejecución de la instrucción de operación de I/O recibida desde el sistema de ordenador anfitrión, realizar un método que comprende:

reunir una pluralidad de comandos (202) asociados con la instrucción de operación de I/O recibida procedente del sistema de ordenador anfitrión, especificando al menos uno de la pluralidad de comandos una transferencia de datos de entrada y especificando al menos uno de la pluralidad de comandos una transferencia de datos de salida;

transferir la pluralidad de comandos a la unidad de control; enviar al menos un mensaje de datos de salida a la unidad de control incluyendo datos de salida que han de ser transferidos a la unidad de control, especificando el mensaje de datos de salida asociado con al menos uno de la pluralidad de comandos una transferencia de datos de salida; y

recibir al menos un mensaje de entrada procedente de la unidad de control que incluye datos de entrada que han de 5 ser almacenados en un almacenamiento principal (106) del sistema ordenador anfitrión, especificando el mensaje de datos de entrada asociado con al menos uno de la pluralidad de comandos una transferencia de datos de entrada.

14. El aparato según la reivindicación 13, en el que la pluralidad de comandos es una pluralidad de palabras de comando de dispositivo (DCW) (202) cada una de las cuales está asociada con un comando de I/O, y la reunión incluye la obtención de una palabra de comando de transporte (TCW) (140) en el subsistema de canal en el sistema de ordenador anfitrión para la operación de I/O, incluyendo la TCW un campo (148) de dirección del bloque de control de comando de transporte (TCCB) que incluye una dirección de un TCCB (170) en el almacenamiento principal del sistema de ordenador anfitrión, incluyendo el TCCB la pluralidad de DCW, especificando al menos una de las DCW una transferencia de datos de entrada y especificando al menos una de las DCW una transferencia de datos de salida.

15. El aparato según la reivindicación 14, en el que indicación está configurada para especificar si una condición de 15 primera lista para transferencia inhabilitada existe en efecto, y el método comprende además:

en respuesta a la condición de que la primera lista para transferencia inhabilitada existe en efecto, enviar al menos un mensaje de datos de salida a la unidad de control después de la transferencia del TCCB y antes de recibir al menos un mensaje desde la unidad de control; y

en respuesta a la condición de que la primera lista para transferencia inhabilitada no existe en efecto, recibir al menos 20 un mensaje desde la unidad de control antes de enviar al menos el mensaje de datos de salida.