ES2349376T3 - Reducción de contiendas de acceso a dispositivos reservados. - Google Patents
Reducción de contiendas de acceso a dispositivos reservados. Download PDFInfo
- Publication number
- ES2349376T3 ES2349376T3 ES09711029T ES09711029T ES2349376T3 ES 2349376 T3 ES2349376 T3 ES 2349376T3 ES 09711029 T ES09711029 T ES 09711029T ES 09711029 T ES09711029 T ES 09711029T ES 2349376 T3 ES2349376 T3 ES 2349376T3
- Authority
- ES
- Spain
- Prior art keywords
- order
- busy
- control unit
- queue
- message
- 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
- 230000009467 reduction Effects 0.000 title description 4
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000004044 response Effects 0.000 claims abstract description 52
- 238000004891 communication Methods 0.000 claims abstract description 45
- 238000004590 computer program Methods 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 abstract 1
- 108091006146 Channels Proteins 0.000 description 149
- 230000008569 process Effects 0.000 description 51
- 238000012546 transfer Methods 0.000 description 16
- 238000001514 detection method Methods 0.000 description 7
- 239000000835 fiber Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000003455 independent Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Selective Calling Equipment (AREA)
- Multi Processors (AREA)
- Exchange Systems With Centralized Control (AREA)
- Details Of Television Systems (AREA)
Abstract
Un método para reducir la contienda de acceso a dispositivos reservados en una unidad de control, en comunicación con una pluralidad de sistemas operativos a través de uno o más canales, comprendiendo el método: recibir (1102) un mensaje de órdenes en la unidad de control desde un primer sistema operativo de la pluralidad de sistemas operativos a través de uno o más canales, donde el mensaje de órdenes incluye una orden de operación de E/S para el dispositivo que está en comunicación con la unidad de control; recibir (1104) un indicador de dispositivo ocupado desde el dispositivo, donde el indicador de dispositivo ocupado notifica a la unidad de control que el dispositivo está reservado por un segundo sistema operativo de la pluralidad de sistemas operativos; poner en cola (1106) el mensaje de órdenes en la cola de dispositivos ocupados, como respuesta al indicador de dispositivo ocupado; supervisar (1108) el dispositivo esperando un indicador de dispositivo terminado, donde el indicador de dispositivo terminado notifica a la unidad de control que el dispositivo está listo para recibir una nuevo orden de operación de E/S; y dar servicio (1110) a la cola de dispositivos ocupados para efectuar la orden de operación de E/S, como respuesta al indicador de dispositivo terminado; caracterizado porque: donde el mensaje de órdenes es un mensaje de la unidad de información de órdenes de transporte, incluyendo un bloque de control de órdenes de transporte (TCCB) que mantiene la orden de operación de E/S como parte de un programa del canal de la palabra de control de transporte (TCW) y que comprende además: iniciar un temporizador de dispositivo ocupado como respuesta a la puesta en cola del mensaje de órdenes en la cola de dispositivos ocupados; leer un valor del temporizador de dispositivos ocupados como respuesta al servicio a la cola de dispositivos ocupados, para efectuar la orden de la operación de E/S; y entregar el valor del temporizador de dispositivos ocupados en un mensaje de la unidad de información de respuesta de transporte al primer sistema operativo, a través de uno o más canales.
Description
Reducción de contiendas de acceso a dispositivos
reservados.
La presente divulgación está relacionada en
general con procesos de entrada/salida y, en particular, con reducir
los problemas de competencia de dispositivos asociados con
múltiples peticiones para acceder a un dispositivo reservado.
Las operaciones de entrada/salida (E/S) se
utilizan para transferir datos entre la memoria y los dispositivos
de E/S de un sistema de procesos de E/S. Específicamente, los datos
se graban desde la memoria a uno o más dispositivos de E/S, y los
datos se leen desde uno o más dispositivos de E/S a la memoria,
ejecutando operaciones de E/S.
Para facilitar el proceso de las operaciones de
E/S, se emplea un subsistema de E/S del sistema de proceso de E/S.
El subsistema de E/S está acoplado a la memoria principal y a los
dispositivos de E/S del sistema de proceso de E/S y dirige el flujo
de información entre la memoria y los dispositivos de E/S. Un
ejemplo de subsistema de E/S es un subsistema de canales. El
subsistema de canales utiliza caminos de canales como medios de
comunicaciones. Cada camino de canal incluye un canal acoplado a una
unidad de control (CU), estando acoplada además la unidad de
control a uno o más dispositivos de E/S.
El subsistema de canales puede emplear palabras
de órdenes del canal (CCW) para transferir datos entre los
dispositivos de E/S y la memoria. Una CCW especifica la orden a
ejecutar. Para órdenes que inician ciertas operaciones de E/S, la
CCW designa la zona de memoria asociada con la operación, la acción
a tomar cuando ha de completarse una transferencia hacia o desde la
zona, y otras opciones.
Durante el proceso de E/S, se extrae una lista
de CCW desde la memoria por un canal. El canal analiza cada orden
en la lista de CCW y reenvía un número de órdenes, cada una de las
órdenes con su propia entidad, a una unidad de control acoplada al
canal. La unidad de control procesa entonces las órdenes. El canal
hace un seguimiento del estado de cada orden y controla cuándo ha
de enviarse el siguiente conjunto de órdenes a la unidad de control
para su proceso. El canal asegura que cada orden es enviada a la
unidad de control en su propia entidad. Además, el canal infiere
cierta información asociada con el proceso de la respuesta desde la
unidad de control para cada orden.
La realización del proceso de E/S en base a las
CCW puede implicar una gran cantidad de sobrecarga de proceso para
el subsistema de canales, ya que los canales analizan las CCW, hacen
el seguimiento de la información de estado, y reaccionan a
respuestas desde las unidades de control. Por tanto, puede ser
beneficioso desviar mucha de la carga de proceso asociada con la
interpretación y gestión de las CCW y la información de estado
desde el subsistema de canales a las unidades de control. La
simplificación del papel de los canales en la comunicación entre
las unidades de control y un sistema operativo en el sistema de
proceso de E/S puede aumentar el rendimiento de la comunicación, ya
que se realizan menos comprobaciones iniciales.
Pueden surgir problemas adicionales al gestionar
peticiones de canales controlados por múltiples sistemas operativos
para dar órdenes a un dispositivo común de E/S a través de una
unidad de control. Los sistemas operativos múltiples pueden existir
en un sistema central común o bien a través de múltiples sistemas
centrales, donde cada sistema central incluya un subsistema de
canales y elementos de proceso. Cuando múltiples sistemas
operativos intentan acceder a un dispositivo común de E/S que ha de
ser reservado, la unidad de control recibe típicamente un indicador
de dispositivo ocupado desde el dispositivo de E/S y envía el
indicador de dispositivo ocupado a los canales controlados por los
sistemas operativos que solicitan el acceso. La petición de acceso
puede ser una orden para realizar una operación de E/S con o sin
reserva. Una vez que el dispositivo de E/S queda libre, la unidad
de control envía un indicador de final del dispositivo a los
sistemas operativos, a través de sus respectivos canales, para
notificarles que el dispositivo de E/S está disponible. Los
subsistemas de canales pueden hacer entonces nuevamente la
solicitud que se intentó previamente, siendo el primer canal del
momento apropiado el que gana la carrera con respecto a los demás
canales que compiten por el acceso al dispositivo de E/S. Un
sistema central que responda más rápido puede bloquear efectivamente
los sistemas centrales que respondan más lentamente, ya que se
conceden las solicitudes de reserva al primer solicitante en ese
momento. Por ejemplo, a un sistema operativo que está ejecutándose
en un sistema central que está más lejos en distancia desde el
dispositivo de E/S puede impedírsele el acceso al dispositivo de E/S
durante periodos de tiempo largos, ya que un sistema operativo que
se ejecute en un sistema central que esté más cercano al dispositivo
de E/S, experimenta un retardo más corto en el transporte de las
comunicaciones. Así, a medida que aumenta la lucha por reservar el
dispositivo de E/S y las subsiguientes peticiones de acceso, la
disparidad entre los sistemas operativos para acceder al
dispositivo de E/S aumenta también. Consecuentemente, existe la
necesidad en la técnica para la reducción de la contienda de los
dispositivos de E/S reservados en la unidad de control en
comunicación con una pluralidad de sistemas operativos a través de
uno o más canales.
El documento US 2005/0102456 divulga un método
para llevar a cabo el arbitraje de los accesos a un recurso
compartido, de acuerdo con la parte
pre-caracterizadora de la reivindicación 1.
La invención proporciona un método como se
reivindica en la reivindicación 1 y los correspondientes sistema y
programa de ordenador.
La materia objeto que se considera como
invención está particularmente indicada y distintamente reivindicada
en las reivindicaciones al final de la memoria. Los objetos
anteriores y otros objetos, características y ventajas de la
invención son evidentes a partir de la siguiente descripción
detallada, tomada conjuntamente con los dibujos que se acompañan,
en los cuales:
La figura 1 representa un modo de realización
del sistema de proceso de E/S que incorpora y utiliza uno o más
aspectos de la presente invención;
La figura 2A representa un ejemplo de la palabra
de órdenes del canal de la técnica anterior;
La figura 2B representa un ejemplo del programa
de un canal de la palabra de órdenes del canal de la técnica
anterior;
La figura 3 representa un modo de realización
del protocolo de enlace de la técnica anterior, utilizado en la
comunicación entre un canal y la unidad de control, para ejecutar el
programa del canal de la palabra de órdenes del canal de la figura
2B;
La figura 4 representa un modo de realización de
un programa de canal de la palabra de control del transporte, de
acuerdo con un aspecto de la presente invención;
La figura 5 representa un modo de realización de
un protocolo de enlace utilizado para comunicarse entre un canal y
una unidad de control, para ejecutar el programa del canal de la
palabra de control del transporte de la figura 4, de acuerdo con un
aspecto de la presente invención;
La figura 6 representa un modo de realización de
un protocolo de enlace de la técnica anterior utilizado 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
palabra de órdenes del canal;
La figura 7 representa un modo de realización de
un protocolo de enlace utilizado para comunicarse entre un canal y
una unidad de control, para procesar las cuatro órdenes de lectura
de un programa de canal de la palabra de control del transporte, de
acuerdo con un aspecto de la presente invención;
La figura 8 representa un modo de realización de
una unidad de control y un canal, de acuerdo con un aspecto de la
presente invención;
La figura 9 representa un modo de realización de
un mensaje de respuesta comunicado desde una unidad de control a un
canal, de acuerdo con un aspecto de la presente invención;
La figura 10 representa un modo de realización
de una unidad de control en comunicación con una pluralidad de
sistemas centrales, de acuerdo con un aspecto de la presente
invención;
La figura 11 representa un modo de realización
de un proceso para la reducción de contiendas de acceso a un
dispositivo reservado; y
La figura 12 representa un modo de realización
de un producto de programa de ordenador que incorpora uno o más
aspectos de la presente invención.
La descripción detallada explica los modos de
realización preferidos de la invención, conjuntamente con las
ventajas y características, a modo de ejemplo, con referencia a los
dibujos.
De acuerdo con un aspecto de la presente
invención, el proceso de entrada/salida (E/S) se facilita con la
reducción en la lucha por acceder a un dispositivo de E/S reservado.
Por ejemplo, se facilita el proceso de E/S habilitando fácilmente
el acceso a la información, tal como datos de estado y de
mediciones, asociada con el proceso de E/S. Además, el proceso de
E/S se facilita, en un ejemplo, reduciendo las comunicaciones entre
componentes de un sistema de proceso de E/S utilizado para realizar
el proceso de E/S. Por ejemplo, el número de intercambios y
secuencias entre un adaptador de comunicaciones de E/S de un sistema
central, tal como un canal y la unidad de control, se reduce. Esto
se consigue enviando una pluralidad de órdenes desde el adaptador
de comunicaciones de E/S a la unidad de control como una sola
entidad, para la ejecución por la unidad de control, y mediante el
envío de datos de la unidad de control, que resulten de las órdenes,
si las hay, como una sola entidad.
La pluralidad de órdenes se incluye en un
bloque, denominado en esta memoria bloque de control de órdenes de
transporte (TCCB), una dirección del cual se especifica en una
palabra de control del transporte (TCW). La TCW es enviada desde un
sistema operativo u otra aplicación al adaptador de comunicaciones
de E/S, que a su vez reenvía el TCCB en un mensaje de órdenes a la
unidad de control para su proceso. La unidad de control procesa
cada una de las órdenes ausentes un seguimiento del estado relativo
a esas órdenes individuales por el adaptador de comunicaciones de
E/S. La pluralidad de órdenes es también denominada programa del
canal, que es analizado y ejecutado en la unidad de control en
lugar de hacerlo en el adaptador de comunicaciones de E/S.
En un ejemplo de modo de realización, la unidad
de control genera un mensaje de respuesta que incluye la información
de estado y la información extendida del estado, como respuesta a
la ejecución del programa del canal. La unidad de control puede
generar también un mensaje de respuesta sin ejecutar el programa del
canal bajo un número limitado de escenarios de comunicaciones, por
ejemplo, para informar al adaptador de comunicaciones de E/S de que
el programa no será ejecutado. La unidad de control puede incluir un
cierto número de elementos para dar soporte a la comunicación entre
el adaptador de comunicaciones de E/S y los dispositivos de E/S,
así como para el soporte de la ejecución del programa del canal. Por
ejemplo, la unidad de control puede incluir una lógica de control
para analizar y procesar mensajes, además de una o más colas,
temporizadores y registradores para facilitar la comunicación y la
supervisión del estado. El adaptador de comunicaciones de E/S
analiza el mensaje de respuesta, extrayendo el estado y la
información extendida del estado, y realiza cálculos adicionales
utilizando la información extraída.
Cuando múltiples sistemas operativos que se
ejecutan en uno o más sistemas centrales intentan acceder a un
dispositivo de E/S reservado, a través de una unidad de control en
comunicación con uno o más adaptadores de E/S del uno o más
sistemas centrales, puede surgir la contienda de acceso. Con el fin
de realizar ciertas operaciones de E/S, el dispositivo de E/S puede
ser reservado para acceso exclusivo a un conjunto de canales (grupo
de caminos) bajo el control de un sistema operativo solicitante.
Puede establecerse un grupo de caminos con el fin de permitir que
exista una reserva de dispositivo de múltiples canales con vuelta al
mismo sistema central. Una vez que se ha reservado el dispositivo
de E/S, los subsiguientes intentos de otros sistemas operativos
para reservar o utilizar el dispositivo de E/S quedan bloqueados, y
el dispositivo de E/S devuelve un indicador de dispositivo ocupado.
En un ejemplo de modo de realización, se ponen en cola múltiples
órdenes que incluyen peticiones de reserva recibidas en la unidad
de control para el dispositivo de E/S, mientras que esté presente
el indicador de dispositivo ocupado. Como respuesta a la supresión
por el dispositivo de E/S del indicador de dispositivo ocupado, por
ejemplo, con un indicador de terminación de dispositivo, la unidad
de control da servicio a la cola y determina la siguiente orden a
procesar. La cola puede emplear diversas técnicas de gestión de
colas, tales como el servicio de primera en entrar primera en salir
(FIFO), el servicio basado en prioridades, y el servicio de todos
contra todos. El servicio FIFO gestiona órdenes en el orden en que
se reciben. El servicio basado en prioridades permite servir las
órdenes de prioridad más alta por delante de las órdenes de
prioridad más baja. El servicio de todos contra todos gestiona por
turno cada conexión de comunicaciones de sistemas operativos
diferentes. Utilizando una cola para gestionar peticiones de acceso
a un dispositivo de E/S reservado, se simplifica la comunicación
entre la unidad de control y los adaptadores de E/S controlados por
los sistemas operativos, y reduce la lucha para impedir una
respuesta más lenta de los sistemas centrales para que no queden
bloqueados desproporcionadamente por los sistemas centrales que
responden más rápidamente.
Con referencia a la figura 1, se describe un
ejemplo de sistema de proceso de E/S que incorpora y utiliza uno o
más aspectos de la presente invención. El sistema 100 de proceso de
E/S incluye un sistema central 101 que incluye a su vez, por
ejemplo, una memoria principal 102, una o más unidades centrales de
proceso (CPU) 104, un elemento 106 de control de almacenamiento y
un subsistema 108 de canales. El sistema central 101 puede ser un
sistema de computación a gran escala, tal como un ordenador o
servidor principal. El sistema 100 de proceso de E/S incluye
también una o más unidades 110 de control y uno o más dispositivos
112 de E/S, cada uno de los cuales se describe a continuación.
La memoria principal 102 almacena datos y
programas, que pueden ser introducidos desde los dispositivos 112
de E/S. Por ejemplo, la memoria principal 102 puede incluir uno o
más sistemas operativos (OS) 103, que se ejecutan por una o más de
las CPU 104. Por ejemplo, una CPU 104 puede ejecutar un sistema
operativo Linux® 103 y un sistema operativo z/OS® 103 como
diferentes ejemplos de máquinas virtuales. La memoria principal 102
puede ser direccionada directamente y proporciona un proceso de
datos de alta velocidad por las CPU 104 y por el subsistema 108 de
canales.
La CPU 104 es el centro de control del sistema
100 de proceso de E/S. Contiene recursos de secuenciación y proceso
para la ejecución de instrucciones, la acción de interrupción,
funciones de sincronismo, carga inicial de programas y otras
funciones relativas a la máquina. La CPU 104 está acoplada al
elemento 106 de control a través de la conexión 114, tal como un
bus bidireccional o unidireccional.
El elemento 106 de control del almacenamiento
está acoplado a la memoria principal 102 a través de una conexión
116, tal como un bus; a las CPU 104 a través de la conexión 114; y
al subsistema 108 de canales a través de la conexión 118. El
elemento 106 de control del almacenamiento controla, por ejemplo,
las colas y la ejecución de peticiones hechas por la CPU 104 y el
subsistema 108 de canales.
En un ejemplo de modo de realización, el
subsistema 108 de canales proporciona un interfaz de comunicaciones
entre el sistema central 101 y las unidades 110 de control. El
subsistema 108 de canales está acoplado al elemento 106 de control
del almacenamiento, como 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 puede ser implementada como
un enlace óptico, empleando guías de ondas de modo único o de modos
múltiples en una estructura de Canales de Fibra. El subsistema 108
de canales dirige el flujo de información entre dispositivos 112 de
E/S y la memoria principal 102. Alivia la tarea de las CPU 104 de
comunicarse directamente con los dispositivos 112 de E/S y permite
el proceso de datos para continuar concurrentemente con el proceso
de E/S. El subsistema 108 de canales utiliza uno o más caminos 122
de canales como enlaces de comunicaciones al gestionar el flujo de
información hacia y desde los dispositivos 112 de E/S. Como parte
del proceso de E/S, el subsistema 108 de canales realiza también
las funciones de gestión de caminos de comprobación de la
disponibilidad de caminos de canales, seleccionando un camino de
canal disponible 122 e iniciando la ejecución de la operación con
los dispositivos 112 de E/S.
Cada camino 122 de canal incluye un canal 124
(los canales 124 está situados dentro del subsistema 108 de
canales, en un ejemplo, como se ilustra en la figura 1), una o más
unidades 110 de control y una o más conexiones 120. En otro
ejemplo, es posible también tener uno o más interruptores dinámicos
(no representados) como parte del camino 122 del canal. Un
interruptor dinámico está acoplado a un canal 124 y una unidad 110
de control proporciona la capacidad de interconectar físicamente
dos enlaces cualesquiera que estén unidos al interruptor. En otro
ejemplo, también es posible tener múltiples sistemas, y por tanto
múltiples subsistemas de canales (no representados) unidos a la
unidad 110 de control.
Situados también dentro del subsistema 108 de
canales, hay subcanales (no ilustrados). Se proporciona un subcanal
que es exclusivo para cada dispositivo 112 de E/S accesible a un
programa a través del subsistema 108 de canales. Un subcanal (por
ejemplo, una estructura de datos, tal como una tabla) proporciona la
apariencia lógica de un dispositivo para el programa. Cada subcanal
proporciona información concerniente al dispositivo 112 de E/S
asociado y su unión al subsistema 108 de canales. El subcanal
proporciona también información concerniente a las operaciones de
E/S y otras funciones que implican al dispositivo 112 de E/S
asociado. El subcanal es el medio por el cual el subsistema 108 de
canales proporciona información sobre los dispositivos 112 de E/S
asociados a las CPU 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 la lógica para accionar y controlar uno o más
dispositivos 112 de E/S y adapta, a través del uso de recursos
comunes, las características de cada dispositivo 112 de E/S, al
interfaz de enlace proporcionado por el canal 124. Los recursos
comunes proporcionan la ejecución de las operaciones de E/S, las
indicaciones concernientes al estado del dispositivo 112 de E/S y
de la unidad 110 de control, el control de los tiempos de
transferencias de datos sobre el camino 122 del canal y ciertos
niveles de control del dispositivo 112 de E/S.
Cada unidad 110 de control está unida 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/o en otra
memoria. Ejemplos de dispositivos 112 de E/S incluyen lectores y
perforadores de tarjetas, unidades de cinta magnética, dispositivos
de almacenamiento de acceso directo, pantallas, teclados,
impresoras, dispositivos de apuntamiento, dispositivos de
teleproceso, controladores de comunicaciones y equipos basados en
sensores, por nombrar algunos.
Uno o más de los componentes del sistema 100 de
proceso de E/S están descritos con más detalle en "IBM®
z/Arquitecture Principles of Operation" (Principios de
funcionamiento de la Arquitectura z de IBM®) Publicación núm.
SA22-7832-05, 6ª edición, Abril de
2007; la Patente de Estados Unidos núm. 5.461.721 titulada "System
for transfering Data Between I/O Devices And Main or Expanded
Storage Under Dynamic Control Of Independent Indirect Address Words
(IDAWS)" (Sistema para la transferencia de datos entre
dispositivos de E/S y almacenamiento principal o expandido bajo el
control dinámico de palabras de direcciones indirectas
independientes (IDAWS)), de Cormier y otros colaboradores,
publicada el 24 de Octubre de 1995; y la patente de Estados Unidos
núm. 5.526.484 titulada "Method And System For Pipelining The
Processing Of Channel Command Words", (Método y sistema para
yuxtaposición del proceso de palabras de órdenes del canal) de
Casper y otros colaboradores, publicada el 11 de Junio de 1996. IBM
es una marca comercial registrada de International Business Machines
Corporation, Armonk, Nueva York, USA. Otros nombres utilizados en
esta memoria pueden ser marcas comerciales registradas, marcas
comerciales o nombres de productos de International Business
Machines Corporation o de otras compañías.
En un modo de realización, para transferir datos
entre dispositivos 112 de E/S y la memoria 102, se utilizan las
palabras de órdenes del canal (CCW). Una CCW especifica la orden a
ejecutar, e incluye otros campos para controlar el proceso. Se
describe un ejemplo de CCW con referencia a la figura 2A. Una CCW
200 incluye, por ejemplo, un código 202 de órdenes que especifica
la orden a ejecutar (por ejemplo, lectura, lectura hacia atrás,
control, sentido y escritura); una pluralidad de señalizadores 204
utilizados para controlar la operación de E/S; para órdenes que
especifican la transferencia de datos, un campo 206 de conteo que
especifica el número de bytes en la zona de almacenamiento
designada por la CCW a transferir; y una dirección 208 de datos que
apunta a un lugar de la memoria principal que incluye datos, cuando
se emplea el direccionamiento, o a una lista (por ejemplo, una
lista contigua) de palabras de direcciones indirectas modificadas de
datos (MIDAW) a procesar, cuando se emplea el direccionamiento
indirecto modificado de datos. El direccionamiento indirecto
modificado se describe con más detalle en la Solicitud de Patente
publicada de Estados Unidos con el número 2008/0043563, titulada
"Flexibly Controlling The Transfer Of Data Between Input/Output
Devices And Memory" ("Control flexible de la transferencia de
datos entre dispositivos de Entrada/Salida y memoria") de Brice y
otros colaboradores, presentada el 15 de Agosto de 2006.
Una o más CCW organizadas para la ejecución
secuencial forman un programa de canal, denominado también en esta
memoria como programa de canal CCW. El programa de canal CCW se
establece, por ejemplo, por un sistema operativo u otro software.
El software establece las CCW y obtiene las direcciones de memoria
asignadas al programa del canal. Se describe un ejemplo de programa
de canal CCW con referencia a la figura 2B. Un programa 210 de
canal CCW incluye, por ejemplo, una CCW 112 de definición de alcance
que tiene un puntero 214 a un lugar de memoria de datos 216 de
definición de alcance a utilizar con la orden de definición de
alcance. En este ejemplo, una transferencia en el canal (TIC) 218
sigue la orden de definición de alcance que lleva al programa del
canal a otra zona de la memoria (por ejemplo, una zona de
aplicaciones) que incluye una o más de otras CCW, tales como un
registro 217 de localización que tiene un puntero 219 para localizar
datos 220 de registro, y una o más CCW 221 de lectura. Cada CCW 220
de lectura tiene un puntero 222 a una zona 224 de datos. La zona de
datos incluye una dirección para acceder directamente a los datos o
una lista de palabras de direcciones de datos (por ejemplo las
MIDAW o las IDAW) para acceder indirectamente a los datos. Además,
el programa 210 de canal CCW incluye una zona predeterminada en el
subsistema del canal, definida por la dirección del dispositivo,
llamado subcanal, para el estado 226 resultante de la ejecución del
programa de canal CCW.
Se describe el proceso de un programa de canal
CCW con referencia a la figura 3, así como con referencia a la
figura 2B. En particular, la figura 3 muestra un ejemplo de diversos
intercambios y secuencias que tienen lugar entre un canal y una
unidad de control cuando se está ejecutando un programa de canal
CCW. El protocolo de enlace utilizado para la comunicación es el
FICON (Conectividad de Fibra), en este ejemplo. La información
relativa a FICON está descrita en ``Protocolo de correspondencia
para Conjuntos de Código de Órdenes de un solo byte para Canales de
Fibra - 3 (FC-SB-3), Proyecto
1357-D de T11/Rev. 1.6, INCITS (Marzo de 2003).
Haciendo referencia a la figura 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 304 asociados con ella, a la unidad
302 de control. La orden es extraída desde la CCW 212 de definición
de alcance (figura 2B) y se obtienen los datos desde la zona 216 de
datos de definición de alcance. El canal 300 usa una TIC 218 para
localizar la CCW de localización de registros y la CCW de lectura.
Extrae la orden 305 de localización de registros (figura 3) desde la
CCW 217 de localización de registros (figura 2B) y obtiene los
datos a partir de los datos 220 de localización de registros. La
orden 306 de lectura (figura 3) es extraída desde la CCW 221 de
lectura (figura 2B). Cada una es enviada a la unidad 302 de
control.
La unidad 302 de control abre un intercambio 308
con el canal 300, como respuesta al intercambio abierto del canal
300. Esto puede tener lugar antes o después de una orden 305 de
localización y/o de una orden 306 de lectura. Junto con el
intercambio abierto, se reenvía una respuesta (CMR) al canal 300. La
CMR proporciona una indicación al canal 300 de que la unidad 302 de
control está activa y operativa.
La unidad 302 de control envía los datos 310
solicitados al canal 300. Además, la unidad 302 de control
proporciona el estado al canal 300 y cierra el intercambio 312.
Como respuesta a eso, el canal 300 almacena 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 proceso del programa de canal CCW citado para
leer 4k de datos requiere abrir y cerrar dos intercambios y siete
secuencias. El número total de intercambios y secuencias entre el
canal y la unidad de control se reduce colapsando múltiples órdenes
del programa del canal en un TCCB. El canal, por ejemplo el canal
124 de la figura 1, utiliza una TCW para identificar el lugar del
TCCB, así como los lugares para acceder y almacenar el estado y los
datos asociados con la ejecución del programa del canal. La TCW es
interpretada por el canal y no es enviada ni vista por la unidad de
control.
En la figura 4 se describe un ejemplo de un
programa de canal para leer 4k de datos, como en la figura 2B, pero
que incluye un TCCB, en lugar de las CCW individuales
independientes. Como está ilustrado, un programa 400 de canal,
denominado en esta memoria como programa de canal TCW, incluye una
TCW 402 que especifica un lugar en la memoria de un TCCB 404, así
como un lugar en la memoria de una zona 406 de datos o una TIDAL 410
(es decir, una lista de palabras de direcciones de datos de modo
indirecto de transferencia (TIDAW), similares a las MIDAW) que
apunta a la zona 406 de datos, y una zona 408 de estado. Las TCW,
los TCCB y los estados se describen con más detalle a
continuación.
Se describe el proceso de un programa de canal
TCW haciendo referencia a la figura 5. El protocolo de enlace
utilizado para estas comunicaciones es, por ejemplo, el Protocolo de
Canal de Fibra (FCP). En particular, se utilizan tres fases del
protocolo de enlace FCP, que permiten utilizar los adaptadores del
bus del ordenador principal que dan soporte a FCP para realizar
transferencias de datos controlados por las CCW. El FCP y sus fases
se describen con más detalle en "Information Technology -
Protocolo de Canal de Fibra para SCSI, Tercera versión
(FCP-3)" Proyecto 1560-D de T10,
Revisión 4, 13 de Septiembre de 2005.
Haciendo referencia a la figura 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 la
iniciativa de secuencia son transferidos a la unidad 502 de control
en una orden FCP, denominada unidad de información (IU) de FCP_CMND
u orden IU de transporte. La unidad 502 de control ejecuta las
múltiples órdenes del TCCB 504 (por ejemplo, la orden de definición
de alcance, la orden de localización de registro, la orden de
lectura, como palabras de control del dispositivo (DCW)) y reenvía
los datos 506 al canal 500 a través, por ejemplo, de una FCP_Data
IU. También proporciona el estado y cierra el intercambio 508. Como
ejemplo, el estado final es enviado en un marco de estados de FCP
que tiene un bit activo, por ejemplo, en el byte 10 u 11 de la carga
útil de una FCP_RSP IU, denominada también como respuesta IU del
transporte. La carga útil de la FCP_RSP IU se puede utilizar para
transportar el estado de finalización de FICON junto con información
adicional de estado, incluyendo parámetros que dan soporte al
cálculo de las palabras de medición extendida y notifican al canal
500 el número máximo de intercambios abiertos admitidos por la
unidad 502 de control.
En un ejemplo adicional, para grabar 4k de datos
de clientes, el canal 500 utiliza las fases del protocolo de enlace
FCP, como sigue:
- 1.
- Transferir un TCCB en la FCP_CMND IU.
- 2.
- Transferir la IU de datos, y la iniciativa de secuencia a la unidad 502 de control.
- 3.
- El estado final es enviado en un marco de estados de FCP que tiene un bit activo, por ejemplo, en el byte 10 u 11 de la carga útil de la FCP_RSP IU. El campo FCP_RSP_INFO o campo de detección, se utiliza para transportar el estado de finalización de FICON junto con información adicional de estado, incluyendo parámetros que dan soporte al cálculo de palabras de medición extendida y notifican al canal 500 el número máximo de intercambios abiertos admitidos por la unidad 502 de control.
Al ejecutar el programa del canal TCW de la
figura 4, solamente hay abierto y cerrado un intercambio (véase
también la figura 5), en lugar de dos intercambios para el programa
de canal CCW de la figura 2B (véase también la figura 3). Además,
para el programa del canal TCW, hay tres secuencias de
comunicaciones (véanse las figuras 4-5), en
comparación con las siete secuencias del programa de canal CCW
(véanse las figuras 2B-3).
El número de intercambios y secuencias permanece
inalterado para un programa de canal TCW, aún cuando se añadan
órdenes adicionales al programa. Compárese, por ejemplo, las
comunicaciones para el programa de canal CCW de la figura 6, con
las comunicaciones del programa de canal TCW de la figura 7. En el
programa de canal CCW de la figura 6, cada una de las órdenes (por
ejemplo, la orden 600 de definición de alcance, la orden 601 de
definición de localización de registro, la orden 602 de lectura, la
orden 604 de lectura, la orden 606 de lectura, la orden 607 de
localización de registro y la orden 608 de lectura) son enviadas en
secuencias independientes desde el canal 610 a la unidad 612 de
control. Además, cada bloque de 4k de datos (por ejemplo, los datos
614-620) es enviado en secuencias independientes
desde la unidad 612 de control al canal 610. Este programa de canal
CCW requiere abrir y cerrar dos intercambios (por ejemplo, abrir
intercambios 622, 624 y cerrar intercambios 626, 628), y catorce
secuencias de comunicaciones. Esto puede compararse con las tres
secuencias y un intercambio del programa de canal TCW de la figura
7, que consigue la misma tarea que el programa del canal CCW de la
figura 6.
Como se representa en la figura 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 de las DCW, como se ha descrito
anteriormente. Como respuesta a la recepción de la TCCB 704, la
unidad 702 de control ejecuta las órdenes y envía, en una sola
secuencia, los 16k de datos 706 al canal 700. Además, la unidad 702
de control proporciona el estado al canal 700 y cierra el
intercambio 708. Así, el programa del canal TCW requiere muchas
menos comunicaciones para transferir la misma cantidad de datos que
el programa de canal CCW de la figura 6.
Volviendo ahora a la figura 8, se representa con
mayor detalle un modo de realización de la unidad 110 de control y
del canal 124 de la figura 1, que dan soporte a la ejecución del
programa del canal TCW. La unidad 110 de control incluye la lógica
802 de control de la CU para analizar y procesar mensajes de órdenes
de proceso que contienen un TCCB, tal como el TCCB 704 de la figura
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 las DCW y los datos de
control desde el 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, para realizar una o más órdenes de
operación de E/S. La lógica 802 de control de la CU envía órdenes
de dispositivo y datos al dispositivo 112 de E/S, y recibe
información de estado y otra retro-información
desde el dispositivo 112 de E/S. Por ejemplo, el dispositivo 112 de
E/S puede estar ocupado debido a una solicitud previa de reserva
que tenga como objetivo el dispositivo 112 de E/S. Para gestionar
los problemas potenciales de lucha por la reserva del dispositivo,
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 el seguimiento y almacena los
mensajes de dispositivo ocupado y los datos asociados en una cola
804 de dispositivos ocupados (DB). En un ejemplo de modo de
realización, un sistema operativo (OS) 103 de la figura 1, reserva
el dispositivo 112 de E/S para evitar que otros OS 103 accedan al
dispositivo 112 de E/S mientras la reserva está activa. Aunque la
reserva del dispositivo no se requiere en todas las operaciones de
E/S, la reserva de dispositivos se puede utilizar para dar soporte
a operaciones que necesitan acceso exclusivo durante un tiempo fijo,
por ejemplo, el formateo de un disco.
La lógica 802 de control puede acceder y
controlar otros elementos dentro de la unidad 110 de control, tales
como temporizadores 806 de CU y registros 808 de CU. Los
temporizadores 806 de CU pueden incluir múltiples funciones de
temporización para hacer el seguimiento de cuánto tiempo tarda en
completarse una secuencia de operaciones de E/S. Los temporizadores
806 de CU pueden incluir además uno o más temporizadores de cuenta
atrás para supervisar y abortar las operaciones de E/S y las órdenes
que no se completan dentro de un periodo predeterminado. Los
registradores 808 de CU pueden incluir valores fijos que
proporcionan información de configuración e información de estado,
así como información dinámica de estado que es actualizada como
órdenes cuando se ejecutan por la lógica 802 de control. La unidad
110 de control puede incluir además otros elementos de memoria
intermedia o de memoria principal (no representados) para almacenar
múltiples mensajes o información de estado asociada con las
comunicaciones entre el canal 124 y el dispositivo 112 de E/S. Los
registradores 808 de CU pueden incluir un parámetro máximo de
intercambios de la unidad de control que define el número máximo de
intercambios de apertura de la unidad de control, que puede admitir
la unidad 110 de control.
El canal 124 del subsistema 108 de canales
incluye múltiples elementos para dar soporte a las comunicaciones
con la unidad 110 de control. Por ejemplo, el canal 124 puede
incluir una lógica 810 de control de CHN que hace de interfaz con
los temporizadores 812 del subsistema CHN y con los registradores
814 del subsistema de CHN. En un ejemplo de modo de realización, la
lógica 810 de control de CHN controla la comunicación entre el
subsistema 108 de canales y la unidad 110 de control. La lógica 810
de control de CHN puede tener un interfaz directo 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 las IU de órdenes y respuesta del
transporte. Alternativamente, los interfaces de mensajería y/o las
memorias intermedias (no representadas) pueden ser colocadas entre
la lógica 810 de control de CHN y la lógica 802 de control de la
CU. Los temporizadores 812 del subsistema de CHN pueden incluir
múltiples funciones de temporizador para hacer un seguimiento de
cuánto tiempo tarda en completarse una secuencia de operaciones de
E/S, además del tiempo en el que ha hecho un seguimiento la unidad
110 de control. Los temporizadores 812 del subsistema de CHN pueden
incluir además uno o más temporizadores de cuenta atrás para
supervisar y abortar secuencias de órdenes que no se completan
dentro de un periodo predeterminado. Los registradores 814 del
subsistema de CHN pueden incluir valores fijos que proporcionan
información sobre la configuración y el estado, así como
información dinámica del estado, actualizada cuando las órdenes son
transportadas y se reciben las respuestas.
En la figura 9 se representa un ejemplo de
mensaje 900 de respuesta, por ejemplo, una IU de respuesta de
transporte, comunicada desde la unidad 110 de control al canal 124
al terminar un programa de canal TCW. El mensaje 900 de respuesta
proporciona información de estado al canal 124 y puede indicar que
debe cerrarse un intercambio abierto entre el canal 124 y la unidad
110 de control. La información de estado proporcionada cuando se
ejecuta un programa de canal TCW (por ejemplo, como se representa
en las figuras 5 y 7) incluye información adicional más allá de la
información de estado enviado al completarse un programa de canal
CCW (por ejemplo, como se representa en las figuras 3 y 6). El
mensaje 900 de respuesta incluye una sección 902 de estado y una
sección 904 de estado extendida. Cuando el canal 124 recibe el
mensaje 900 de respuesta, almacena partes de la sección 902 de
estado en el subcanal para el dispositivo sobre el que estaba
operando la TCW y de la sección 904 de estado extendida en un lugar
de la memoria definido por la TCW asociada con el programa de canal
TCW que disparó el mensaje 900 de respuesta. Por ejemplo, una TCW
puede designar una sección de la memoria principal 102 de la figura
1, para el almacenamiento de la sección 904 de estado extendido.
La sección 902 de estado del mensaje 900 de
respuesta puede incluir múltiples campos, tales como una cabecera
906 de direcciones, señalizadores 914 de estado (1), un parámetro
máximo 910 de intercambio de la unidad de control, señalizadores
912 de respuesta, código 914 de respuesta, cuenta residual 916,
longitud 918 de la respuesta, lugar reservado 920, tipo 922 de
detección de SPC-4, señalizadores 924 de estado (2),
señalizadores 926 de estado (3), estado 928 del dispositivo, y una
palabra 930 de comprobación de redundancia longitudinal (LRC). Cada
campo de la sección 902 de estado está asignado a una dirección de
byte en particular para dar soporte al análisis del mensaje 900 de
respuesta. Aunque en la figura 9 se representa una configuración de
campos dentro de la sección 902 de estado, se comprenderá que el
orden de los campos puede ser reorganizado para alternar las
órdenes dentro del alcance de la divulgación. Más aún, los campos
del mensaje 900 de respuesta pueden ser omitidos o combinados
dentro del alcance de la invención, por ejemplo, combinando los
señalizadores 924 de estado (2) y los 926 (3) en un solo campo. El
SPC-4 se describe con más detalle en "Órdenes
Principales SCSI - 4 (SPC-4)" Proyecto
T10/1731-D, Rev. 11, INCITS (Mayo de 2007).
En un ejemplo de modo de realización, la
cabecera 906 de direcciones está fijada con el mismo valor que el
recibido por la unidad 110 de control en el TCCB que inició el
programa de canal TCW. Aunque no se requiere la cabecera 906 de
direcciones, la inclusión de la cabecera 906 de direcciones puede
dar soporte a las pruebas para hacer un seguimiento de los mensajes
de órdenes y respuestas sobre un dispositivo 112 de E/S, mientras
se accede a múltiples dispositivos 112 de E/S.
Los señalizadores 908 de estado (1) pueden
indicar información tal como el estado de éxito de una operación de
E/S. Múltiples bits dentro de los señalizadores 908 de estado (1)
pueden proporcionar información de estado adicional.
El parámetro máximo 910 de intercambios de la
unidad de control identifica el número máximo de intercambios que
la unidad 110 de control permite abrir al canal 124. Un valor de
cero puede informar al canal 124 que la unidad 110 de control no
está alterando el valor actual que está utilizando el canal 124. En
un ejemplo de modo de realización, el canal 124 establece un valor
por defecto para el número máximo de intercambios abiertos, por
ejemplo 64, que la unidad 110 de control puede modificar a través
del parámetro máximo 910 de intercambios de la unidad de control.
El valor del parámetro máximo 910 de intercambios de la unidad de
control enviado en el mensaje 900 de repuesta, puede ser el valor
real deseado o un valor simiente para una ecuación. Por ejemplo, el
valor en el parámetro máximo 910 de intercambios de la unidad de
control puede ser incrementado y/o multiplicado por el canal 124
para determinar el número real máximo de intercambios abiertos, por
ejemplo, un valor "1" interpretado como "32" por el
canal
124.
124.
Utilizando el valor por defecto para el número
máximo de intercambios abiertos, se entrega a cada unidad 110 de
control y al canal 124 un punto de partida común que puede ser
modificado según determine la unidad 110 de control. En un modo de
realización, el canal 124 comprueba el parámetro máximo 910 de
intercambios de la unidad de control, recibido en el mensaje 900 de
respuesta desde la unidad 110 de control, para determinar si el
parámetro máximo 910 de intercambios de la unidad de control es
menor que el valor por defecto o el valor recibido previamente. Si
el nuevo número es menor que el número actual de intercambios
abiertos, el canal 124 no dirige nuevas órdenes de E/S a la unidad
110 de control hasta que el número actual de intercambios utilizado
sea menor que el nuevo límite.
En un ejemplo de modo de realización, el campo
912 de señalizadores de respuesta utiliza la definición estándar
como definida en el FCP (mencionado anteriormente) y puede ser
fijado a un valor por defecto, por ejemplo, dos. El código 914 de
respuesta puede ser equivalente al campo de estado del Interfaz de
Pequeños Sistemas de Ordenador (SCSI) y puede ser fijado a un valor
por defecto, tal como cero. La cuenta residual 916 para las órdenes
de lectura o escritura indica la diferencia entre cuántos bytes se
ordenó leer o grabar, y el número de bytes realmente leídos o
grabados. La longitud 918 de la respuesta es una cuenta adicional de
bytes de información en el mensaje 900 de respuesta, tras el lugar
920 reservado. La longitud 918 de respuesta da soporte a los
mensajes 900 de respuesta de tamaño variable. El tipo 922 de
detección de SPC-4 puede ser asignado a un valor
particular basado en el tipo de mensaje, por ejemplo una IU de
respuesta de transporte = 7F hexadecimal. En un modo de realización
los señalizadores 924 de estado (2) son fijados a un valor de 80
hexadecimal, para indicar que la operación de E/S se ha completado,
con un valor válido de la cuenta residual 916. Los señalizadores
926 de estado (3) se fijan en un valor de uno cuando la operación de
E/S se ha completado, indicando que el estado extendido 904 está
incluido como parte del mensaje 900 de respuesta. El estado 928 del
dispositivo retransmite información de estado generada por el
dispositivo 112 de E/S. La palabra 930 de LRC es una palabra de
comprobación que cubre los demás campos de la sección 902 de estado
del mensaje 900 de respuesta, para verificar la integridad de la
sección 902 de estado. La palabra 930 de LRC puede ser generada
mediante la aplicación
de una operación "o-exclusiva" en un valor simiente inicial con cada campo incluido en el cálculo de LRC en sucesión.
de una operación "o-exclusiva" en un valor simiente inicial con cada campo incluido en el cálculo de LRC en sucesión.
La sección 904 de estado extendido proporciona
información al subsistema 108 de canales y al OS 103 asociado con
la unidad 110 de control de la operación, en un modo de transporte
capaz de ejecutar un programa de canal TCW. La sección 904 de
estado extendido puede dar soporte a definiciones configurables con
distintos tipos de definiciones de estado para cada tipo. En un
ejemplo de modo de realización, la sección 904 de estado extendido
incluye una cabecera de estado del transporte (TSH) 932, una zona de
estado de transporte (TSA) 934 y una palabra 936 de LRC de la TSH
932 y de la TSA 934. La TSH 932 puede incluir la longitud 940 del
estado extendido, los señalizadores 942 de estado extendido, una
compensación 944 de DCW, una cuenta residual 946 de DCW y un lugar
reservado 948. La TSH 932 es común para los distintos formatos,
estando definido cada formato por un código tipo en los
señalizadores 942 de estado extendido. La TSA 934 puede incluir un
parámetro 950 de tiempo total del dispositivo, un parámetro 952 de
tiempo diferido, un parámetro 954 de tiempo en cola, un parámetro
956 de tiempo de ocupación del dispositivo, un parámetro 958 de
solamente tiempo activo del dispositivo y datos añadidos 960 de
detección del dispositivo. Cada uno de estos campos se describe con
más detalle a su vez.
La longitud 940 de estado extendido es el tamaño
de la sección 904 de estado extendido. En un ejemplo de modo de
realización, los señalizadores 942 de estado extendido tienen la
definición siguiente:
- Bit 0 - La compensación 944 de la DCW es válida.
- Bit 1 - La cuenta residual 946 de la DCW es válida.
- Bit 2 - Este bit fijado en uno informa al OS 103 de la figura 1 de una manera definitiva cuando la unidad 110 de control tuvo que acceder a medios lentos para datos, por ejemplo, una falta de caché.
- Bit 3 - Los parámetros 950 - 958 son válidos. El código tipo fijado en uno y este bit fijado en uno indica que todos los parámetros o los parámetros de tiempos 950-958 son válidos.
- Bit 4 - Reservado.
- Bits 5 a 7 - Estos tres bits son del código tipo que define el formato de la TSA 934 de la sección 904 de estado extendido. Los nombres de las codificaciones son:
- 0. Reservado.
- 1. Estado de E/S. La sección 904 de estado extendido contiene estado de finalización válido para la operación E/S de modo-transporte.
- 2. Excepción de E/S. La sección 904 de estado extendido contiene información relativa a la terminación de la operación E/S de modo-transporte, debido a una condición de excepción.
- 3. Estado de interrogación. La sección 904 de estado extendido contiene el estado de una operación de interrogación.
- 4 a 7. Reservados.
La compensación 944 de la DCW indica una
compensación en el TCCB de una DCW que ha fallado. De forma similar,
la cuenta residual 946 de la DCW indica la cuenta residual de bytes
de una DCW que ha fallado (es decir, cuando se interrumpió la
ejecución de la DCW).
En un ejemplo de modo de realización, la
definición de TSA 934 cuando el código tipo de los señalizadores
942 de E/S indica un tipo de estado de E/S, incluye parámetros
950-958 de tiempo, así como opcionalmente los datos
añadidos 960 de detección del dispositivo. Los parámetros
950-958 de tiempo representan valores de tiempo y
pueden ser convertidos a escala en cualquier unidad de tiempo, tal
como microsegundos. Los temporizadores 806 de CU de la figura 8 se
utilizan para calcular los parámetros 950-958 de
tiempo, y se pueden emplear también los registradores 808 de CU
para capturar los valores de los temporizadores 806 de CU en un
evento de disparo.
El parámetro 950 de tiempo total del dispositivo
es el tiempo transcurrido desde el momento en que la unidad 110 de
control recibió la IU de la orden de transporte, hasta que envió la
IU de respuesta del transporte (es decir, el mensaje 900 de
respuesta) para la operación de E/S. El parámetro 952 de tiempo
diferido indica el tiempo diferido de la unidad de control. Este es
el tiempo acumulado por la unidad 110 de control trabajando con el
dispositivo 112 de E/S cuando no se realiza ninguna comunicación con
el canal 124. En los programas de canal CCW, tal como el
representado en la figura 3, la unidad 302 de control se desconecta
del canal 300 durante este tiempo.
El parámetro 954 de tiempo en la cola es el
tiempo en el que la operación de E/S está en cola en la unidad 110
de control, pero no incluye el tiempo en cola con el dispositivo
ocupado cuando el dispositivo 112 de E/S está reservado por un OS
103 diferente del mismo u otro sistema principal 101. El parámetro
956 de tiempo de ocupación del dispositivo es el tiempo en el que
la IU de la orden de transporte está en cola en la unidad 110 de
control, esperando por causa de la ocupación de un dispositivo
originada porque el dispositivo 112 de E/S ha sido reservado por un
OS 103 diferente en el mismo o en otro sistema principal 101.
El parámetro 958 de solamente el tiempo en que
el dispositivo está activo, es el tiempo transcurrido entre la
terminación de un canal (CE) y la terminación de un dispositivo (DE)
en la unidad 110 de control, cuando la unidad 110 de control
mantiene la CE hasta que hay disponible una DE. La CE puede indicar
que la parte de una operación de E/S que implique una transferencia
de datos o información de control entre el canal 124 y la unidad
110 de control, ha sido completada. La DE puede indicar que la parte
del dispositivo de una operación de E/S se ha completado.
Los datos añadidos 960 de detección del
dispositivo es un estado complementario que la unidad 110 de control
proporciona condicionalmente como respuesta a un bit de
comprobación de unidad activa (UC) en el estado 928 del
dispositivo.
La palabra 936 de LRC es una palabra de
comprobación de redundancia longitudinal de la TSH 932 y de la TSA
934, calculadas de una manera similar a la de la palabra 930 de LRC
en la sección 902 de estado del mensaje 900 de respuesta. La
palabra 936 de LRC puede ser calculada con un número variable de
palabras, dependiendo del número de palabras incluidas en los datos
añadidos 960 de detección del dispositivo.
Volviendo ahora a la figura 10, se representan
múltiples sistemas principales 101 en comunicación con la unidad
110 de control, a través de las conexiones 120. Cada sistema
principal 101 incluye un subsistema 108 de canales con uno o más
canales 124. Aunque solamente se ha representado un canal 124 en
cada sistema principal 101 de la figura 10, se comprenderá que cada
sistema principal 101 puede incluir múltiples canales 124
controlados por múltiples OS 103. Los sistemas principales 101
incluyen también otros elementos del sistema de proceso, como se ha
reasentado anteriormente y se ha descrito con referencia a la figura
1, es decir, una o más CPU 104 acopladas al elemento 106 de
almacenamiento y a la memoria principal 102. Cada sistema principal
101 puede ejecutar uno o más OS 103, siendo cada OS 103 capaz de
hacer una solicitud de reserva para acceso exclusivo al dispositivo
112 de E/S. El OS 103 de cada sistema principal 101 puede controlar
individualmente uno o más canales 124, para iniciar las operaciones
de E/S. Los OS 103 pueden utilizar diferentes subcanales (no
representados) sobre uno o más canales 124, para comunicarse con la
unidad 110 de control.
Cada conexión 120 entre un canal 124 y la unidad
110 de control, puede ser una conexión directa. Alternativamente,
las conexiones 120 pueden pasar a través de uno o más interruptores
dinámicos 1002, como parte de una construcción de fibra óptica,
para reducir el número de conexiones físicas en la unidad 110 de
control.
Como se ha descrito anteriormente con referencia
a la figura 8, la lógica 802 de control de la CU analiza y procesa
los mensajes de órdenes que contienen los TCCB, tal como el TCCB 704
de la figura 7, recibidos desde los canales 124 a través de las
conexiones 120. Algunas órdenes recibidas en la lógica 802 de
control de la CU pueden incluir una petición de reserva de
dispositivo. Aunque no se requiere la reserva de dispositivos en
todas las operaciones de E/S, la reserva de dispositivos puede ser
solicitada en base a los OS 103 para las operaciones de E/S que
requieren un acceso exclusivo al dispositivo 112 de E/S. Por
ejemplo, distintos OS 103 puede solicitar ambos la lectura de
bloques de datos en el dispositivo 112 de E/S. La unidad 110 de
control puede dar servicio a cada solicitud de lectura sin reservar
el dispositivo 112 de E/S. Sin embargo, cuando uno de los OS 103
reserva el dispositivo 112 de E/S en uno de los canales 124, se
bloquean otros OS 103 que intenten acceder al dispositivo 112 de
E/S cuando el dispositivo 112 de E/S está reservado.
\newpage
En un ejemplo de modo de realización, la lógica
802 de control de la CU recibe un indicador de dispositivo ocupado
desde el dispositivo 112 de E/S, cuando el dispositivo 112 de E/S
está reservado para un OS 113. Como la lógica 802 de control recibe
mensajes de órdenes mientras el indicador de dispositivo ocupado
está presente, la lógica 802 de control puede colocar los mensajes
de órdenes en la cola 804 de DB. Los mensajes de órdenes pueden
contener información de identificación que establece un OS 103 en
particular y/o un canal 124 asociado con cada mensaje de órdenes.
En un ejemplo alternativo de modo de realización, la lógica 802 de
control mantiene el seguimiento del OS 103 en particular y/o del
canal 124 asociado con cada mensaje de órdenes de los registradores
808 de CU. Cuando el dispositivo 112 de E/S deja de estar reservado,
lo notifica a la lógica 802 de control a través de un indicador de
dispositivo terminado. Como respuesta al indicador de dispositivo
terminado, la lógica 802 de control de la CU da servicio a la cola
804 de DB para extraer un mensaje de órdenes para que lo realice el
dispositivo 112 de E/S. El mensaje de órdenes extraído puede dar
como resultado nuevamente una reserva del dispositivo 112 de E/S,
ocasionando retardos adicionales en el servicio a mensajes de
órdenes pendientes. Alternativamente, el mensaje de órdenes
extraído puede no requerir una reserva del dispositivo 112 de E/S
(por ejemplo, no se necesita un acceso exclusivo al dispositivo 112
de E/S), permitiendo el servicio adicional de la cola 804 de DB
para realizar mensajes adicionales de órdenes en sucesión.
El servicio a la cola 804 de DB se puede
realizar utilizando una diversidad de técnicas para gestionar la
cola 804 de DB. Por ejemplo, la cola 804 de DB se puede gestionar
como una FIFO para extraer cada mensaje de órdenes en el orden en
que fue colocado en la cola 804 de DB. Alternativamente, la cola 804
de DB puede ser servida como una cola de prioridades. La prioridad
de los mensajes de órdenes grabados en la cola 804 de DB pueden ser
incluidos en un campo dentro de cada mensaje de órdenes que es
transportado por la unidad 110 d control. Se puede establecer
cualquier número de prioridades para una gama de opciones
programadas. Cuando se da servicio a la cola 804 de DB como una
cola de prioridad, se extrae el mensaje de prioridad más alta en la
cola 804 de DB antes que los mensajes de órdenes de prioridad
inferior cuando son servidos. La cantidad de tiempo que los
mensajes de órdenes permanecen en la cola 804 de DB puede ser
supervisada para aumentar la prioridad de los mensajes de órdenes
en un cierto periodo de tiempo, para asegurar que son servidos.
Otro enfoque para dar servicio a la cola 804 de DB es el servicio de
"todos contra todos". Utilizando el servicio de todos contra
todos, el OS 103 (o el canal 124) asociado con cada mensaje de
órdenes de la cola 804 de DB, es analizado para dar servicio a la
cola 804 de DB en base a cada OS 103. El servicio de todos contra
todos proporciona acceso para cada enlace de comunicaciones, para
impedir la disparidad potencial que puede surgir si un OS 103 envía
una ráfaga de múltiples solicitudes de acceso a la unidad 110 de
control.
Cuando un mensaje de órdenes se pone en cola en
la cola 804 de DB, se inicia un temporizador de dispositivo ocupado
en los registradores 808 de CU. Al dar servicio a la cola 804 de DB
para realizar una orden de operaciones de E/S, se lee el valor del
temporizador de dispositivo ocupado de los registradores 808 de CU,
para determinar cuánto tiempo estaba pendiente el mensaje de
órdenes en la cola 804 de DB. El valor del temporizador de
dispositivo ocupado en informado en el parámetro 956 de tiempo de
dispositivo ocupado del mensaje 900 de respuesta de la figura 9.
Puede haber múltiples temporizadores de dispositivo ocupado en los
registradores 808 de CU para dar soporte a múltiples OS 103.
Alternativamente, el temporizador de dispositivo ocupado en los
registradores 808 de CU puede ser un temporizador funcionando
continuamente con valores de tiempo de dispositivo ocupado
capturados en los registradores 808 de CU para múltiples OS 103, y
entregados a cada respectivo OS 103 a través de los canales
124.
A medida que se ponen en cola múltiples mensajes
de órdenes en la cola 804 de DB, se supervisa la profundidad de la
cola 804 de DB. Si la cola 804 de DB está llena de manera que no se
pueden poner en cola más mensajes de órdenes, la lógica 802 de
control de la CU puede entregar un mensaje de dispositivo ocupado a
todos los OS 103 que envían nuevos mensajes de órdenes cuando la
cola 804 de DB está llena. La lógica 802 de control de la CU puede
entonces enviar un mensaje de finalización del dispositivo para
indicar que el dispositivo 112 de E/S está listo, lo cual puede
disparar los OS 103 para que reenvíen los mensajes de órdenes a
través de uno o más canales 124. Alternativamente, algunos de los
mensajes de órdenes de la cola 804 de DB pueden ser devueltos a los
OS 103 con una indicación de dispositivo ocupado y limpiarlo de la
cola 804 de DB. De nuevo, la lógica 802 de control de la CU puede
enviar un mensaje de dispositivo finalizado para indicar que el
dispositivo 112 de E/S está listo, lo cual puede disparar a los OS
103 para que reenvíen los mensajes de órdenes a través de uno o más
canales 124.
Al gestionar la cola 804 de DB, la lógica 802 de
control de la CU puede notificar a los OS 103 una condición de
ocupación bajo una diversidad de escenarios, más allá de la
condición de cola llena. Por ejemplo, la lógica 802 de control
puede utilizar los temporizadores 806 de CU para supervisar el
tiempo en que los mensajes de órdenes permanecen en la cola 804 de
DB. Cuando se pone en cola un mensaje de órdenes durante un periodo
de tiempo mayor que un periodo de expiración de órdenes, mientras
el dispositivo 112 de E/S está reservado (por ejemplo, el indicador
de finalización de dispositivo no ha sido recibido), entonces el
mensaje de órdenes se elimina de la cola 804 de DB y se envía un
mensaje de dispositivo ocupado en una IU de FCP_RSP al que origina
el mensaje de órdenes. El periodo de expiración de órdenes puede ser
fijado en un valor fijo, tal como 30 segundos, o ser configurable.
En un ejemplo de modo de realización, cuando se recibe un nuevo
mensaje de órdenes mientras el dispositivo 112 de E/S ha sido
reservado durante un periodo mayor que el periodo de expiración de
dispositivo ocupado, la lógica 802 de control de la CU no coloca el
nuevo mensaje de órdenes en la cola 804 de DB. La lógica 802 de
control de la CU envía un mensaje de dispositivo ocupado en la IU de
FCP_RSP al que origina el nuevo mensaje de órdenes.
El OS 103 puede supervisar también el tiempo
transcurrido hasta que se completa un mensaje de órdenes de
solicitud. Como respuesta a la determinación de que ya ha
transcurrido el periodo de expiración del sistema operativo, el OS
103 puede enviar la reposición de un mensaje de fidelidad a la
unidad 110 de control, para intentar liberar el dispositivo 112 de
E/S. Como respuesta a eso, la unidad 110 de control entra en un
periodo de recuperación de la expiración del sistema operativo. Si
se recibe un nuevo mensaje de órdenes durante el periodo de
recuperación de la expiración del sistema operativo, la lógica 802
de control de la CU no coloca el nuevo mensaje de órdenes en la
cola 804 de DB. La lógica 802 de control de la CU responde con un
mensaje de dispositivo ocupado en la IU de FCP_RSP al que origina
el nuevo mensaje de órdenes.
Volviendo ahora a la figura 11, se describirá
ahora un proceso 1100 para reducir la contienda de acceso a un
dispositivo reservado, en una unidad de control en comunicación con
una pluralidad de OS a través de uno o más canales, de acuerdo con
ejemplos de modos de realización, y con referencia al sistema 100 de
proceso de E/S de la figura 1 y la vista detallada de la unidad 110
de control de la figura 10. En el bloque 1102, la unidad 110 de
control recibe un mensaje de órdenes desde un primer OS de una
pluralidad de OS 103, a través de uno o más canales 124, donde el
mensaje de órdenes incluye una orden de operación de E/S para el
dispositivo 112 de E/S en comunicación con la unidad 110 de
control. El mensaje de órdenes puede ser una IU de órdenes de
transporte, incluyendo un TCCB con múltiples DCW como parte de un
programa de canal TCW. En el bloque 1104, la unidad 110 de control
recibe un indicador de dispositivo ocupado desde el dispositivo 112
de E/S. El indicador de dispositivo ocupado notifica a la unidad
110 de control que un segundo OS de la pluralidad de OS 103 ha
reservado el dispositivo 112 de E/S.
En el bloque 1106, la unidad 110 de control pone
en cola el mensaje de órdenes en la cola 804 de DB, como respuesta
al indicador de dispositivo ocupado. A medida que se reciben
mensajes de órdenes adicionales en la unidad 110 de control, los
mensajes de órdenes se ponen en cola en la cola 804 de DB.
En el bloque 1108, la unidad 110 de control
supervisa el dispositivo 112 de E/S a la espera de un indicador de
dispositivo terminado, donde el indicador de dispositivo terminado
notifica a la unidad 110 de control que el dispositivo 112 de E/S
está listo para recibir una nueva orden de operaciones de E/S. En el
bloque 1110, la unidad 110 de control da servicio a la cola 804 de
DB para extraer un mensaje de órdenes y realizar las órdenes de
operaciones de E/S, como respuesta al indicador de dispositivo
terminado. La cola 804 de DB puede ser servida utilizando un
servicio FIFO, un servicio basado en prioridad, o un servicio de
todos contra todos, como se ha descrito previamente.
Los efectos técnicos de los ejemplos de modos de
realización incluyen una reducción en la contienda de acceso a un
dispositivo reservado en un sistema de proceso de E/S. Utilizando
una cola de dispositivo ocupado para almacenar temporalmente
mensajes de órdenes recibidos mientras un dispositivo está
reservado, se permite a una unidad de control gestionar el orden
del servicio de mensajes de órdenes desde diferentes OS, sin
sobrecargar los subsistemas de canales de los sistemas principales
que originaron los mensajes de órdenes. Las ventajas incluyen
manejar múltiples mensajes de órdenes sin interrumpir la ejecución
de un programa de canal TCW sobre una unidad de control. Así, la
cola de dispositivo ocupado gestiona la contienda de acceso a un
dispositivo reservado, mientras que se ganan también ventajas de un
mayor rendimiento de las comunicaciones debido en parte al
intercambio de menos mensajes por programa de canal. Se puede
utilizar una diversidad de técnicas de servicio de colas de
dispositivo ocupado, dependiendo de las preferencias del diseñador
del sistema o del cliente. En ejemplos de modos de realización, los
mensajes de órdenes que se originan desde sistemas principales que
responden más lentamente, son servidos equitativamente con respecto
a los sistemas principales que responden más rápidamente.
Como se ha descrito anteriormente, los modos de
realización pueden ser materializados en forma de procesos
implementados por ordenador y por aparatos para poner en práctica
esos procesos. En ejemplos de modos de realización, la invención
está materializada en código de programa de ordenador ejecutado por
uno o más elementos de red. Los modos de realización incluyen un
producto 1200 de programa de ordenador, como se representa en la
figura 12, sobre un medio 1202 utilizable en ordenador con una
lógica 1204 de código de programa de ordenador que contiene
instrucciones materializadas en medios tangibles, como un artículo
de fábrica. Ejemplos de artículos de fábrica para el medio 1202
utilizable por ordenador pueden incluir disquetes,
CD-ROM, unidades de disco, unidades flash del bus
serie universal (USB), o cualquier otro medio de almacenamiento
legible por ordenador, donde, cuando la lógica 1204 del código de
programa de ordenador está cargada y ejecutada por un ordenador,
este ordenador se convierte en un aparato para poner en práctica la
invención. Los modos de realización incluyen una lógica 1204 de
código de programa de ordenador, por ejemplo, ya esté almacenada en
un medio de almacenamiento, cargada y ejecutada por un ordenador, o
transmitida por un medio de transmisión, por ejemplo por hilos o
cableado eléctrico, a través de fibra óptica, o a través de
radiación electromagnética, donde, cuando la lógica 1204 de código
de programa de ordenador está cargada y ejecutada por un ordenador,
este ordenador se convierte en un aparato para poner en práctica la
invención. Cuando se implementa en un microprocesador de propósito
general, los segmentos de la lógica 1204 de código de programa de
ordenador configuran el microprocesador para crear circuitos
lógicos específicos.
Claims (5)
1. Un método para reducir la contienda de acceso
a dispositivos reservados en una unidad de control, en comunicación
con una pluralidad de sistemas operativos a través de uno o más
canales, comprendiendo el método:
- recibir (1102) un mensaje de órdenes en la unidad de control desde un primer sistema operativo de la pluralidad de sistemas operativos a través de uno o más canales, donde el mensaje de órdenes incluye una orden de operación de E/S para el dispositivo que está en comunicación con la unidad de control;
- recibir (1104) un indicador de dispositivo ocupado desde el dispositivo, donde el indicador de dispositivo ocupado notifica a la unidad de control que el dispositivo está reservado por un segundo sistema operativo de la pluralidad de sistemas operativos;
- poner en cola (1106) el mensaje de órdenes en la cola de dispositivos ocupados, como respuesta al indicador de dispositivo ocupado;
- supervisar (1108) el dispositivo esperando un indicador de dispositivo terminado, donde el indicador de dispositivo terminado notifica a la unidad de control que el dispositivo está listo para recibir una nuevo orden de operación de E/S; y
- dar servicio (1110) a la cola de dispositivos ocupados para efectuar la orden de operación de E/S, como respuesta al indicador de dispositivo terminado;
- caracterizado porque:
- donde el mensaje de órdenes es un mensaje de la unidad de información de órdenes de transporte, incluyendo un bloque de control de órdenes de transporte (TCCB) que mantiene la orden de operación de E/S como parte de un programa del canal de la palabra de control de transporte (TCW) y que comprende además:
- iniciar un temporizador de dispositivo ocupado como respuesta a la puesta en cola del mensaje de órdenes en la cola de dispositivos ocupados;
- leer un valor del temporizador de dispositivos ocupados como respuesta al servicio a la cola de dispositivos ocupados, para efectuar la orden de la operación de E/S; y
- entregar el valor del temporizador de dispositivos ocupados en un mensaje de la unidad de información de respuesta de transporte al primer sistema operativo, a través de uno o más canales.
\vskip1.000000\baselineskip
2. El método de la reivindicación 1, que
comprende además:
- recibir mensajes de órdenes adicionales que incluyen órdenes adicionales de operaciones de E/S en la unidad de control, desde la pluralidad de sistemas operativos a través de uno o más canales;
- poner en cola los mensajes de órdenes adicionales en la cola de dispositivos ocupados, como respuesta al indicador de dispositivo ocupado; y
- dar servicio a la cola de dispositivos ocupados para realizar las órdenes adicionales de operaciones de E/S, donde el servicio de la cola de dispositivos ocupados se realiza como uno entre un servicio de primero en entrar primero en salir (FIFO), un servicio basado en prioridades y un servicio de todos contra todos.
\vskip1.000000\baselineskip
3. El método de la reivindicación 1, que
comprende además:
- entregar un mensaje de dispositivo ocupado como respuesta a uno o más entre:
- la recepción de un mensaje de órdenes adicional en la unidad de control mientras la cola de dispositivos ocupados está llena;
- la recepción de un mensaje adicional de órdenes en la unidad de control mientras el indicador de final de dispositivo no se ha recibido dentro del periodo de expiración del dispositivo ocupado;
- la recepción del mensaje de órdenes adicional en la unidad de control, dentro de un periodo de recuperación de la expiración del sistema operativo; y
- la determinación de que el indicador de final de dispositivo no se ha recibido dentro del periodo de expiración de la orden.
\vskip1.000000\baselineskip
4. Un sistema que comprende medios adaptados
para llevar a cabo todos los pasos del método de acuerdo con
cualquier reivindicación precedente del método.
5. Un programa de ordenador que comprende
instrucciones para llevar a cabo todos los pasos del método de
acuerdo con cualquier reivindicación precedente del método, cuando
dicho programa de ordenador se ejecuta en un sistema de
ordenador.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/030,961 US7908403B2 (en) | 2008-02-14 | 2008-02-14 | Reserved device access contention reduction |
US30961 | 2008-02-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2349376T3 true ES2349376T3 (es) | 2010-12-30 |
Family
ID=40671405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES09711029T Active ES2349376T3 (es) | 2008-02-14 | 2009-02-09 | Reducción de contiendas de acceso a dispositivos reservados. |
Country Status (14)
Country | Link |
---|---|
US (1) | US7908403B2 (es) |
EP (1) | EP2174227B1 (es) |
JP (1) | JP5159900B2 (es) |
KR (1) | KR101231555B1 (es) |
CN (1) | CN101946244B (es) |
AT (1) | ATE482430T1 (es) |
CY (1) | CY1111221T1 (es) |
DE (1) | DE602009000227D1 (es) |
DK (1) | DK2174227T3 (es) |
ES (1) | ES2349376T3 (es) |
PL (1) | PL2174227T3 (es) |
PT (1) | PT2174227E (es) |
SI (1) | SI2174227T1 (es) |
WO (1) | WO2009101050A1 (es) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI237771B (en) * | 2004-03-22 | 2005-08-11 | Via Tech Inc | Media player control system and control method used therein |
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 |
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 |
US8166206B2 (en) | 2008-02-14 | 2012-04-24 | International Business Machines Corporation | Cancel instruction and command for determining the state of an I/O operation |
US7840718B2 (en) | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing of data to suspend operations in an input/output processing log-out system |
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 |
US7941570B2 (en) | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
US7899944B2 (en) | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting in an I/O processing system |
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 |
US8001298B2 (en) | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data in an I/O processing system |
US8312189B2 (en) | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
US8196149B2 (en) | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output processing system |
US7937507B2 (en) | 2008-02-14 | 2011-05-03 | International Business Machines Corporation | Extended measurement word determination at a channel subsystem of an I/O processing system |
US8082481B2 (en) | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
US8117347B2 (en) | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
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 |
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 |
US8108570B2 (en) | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
US8176222B2 (en) * | 2008-02-14 | 2012-05-08 | International Business Machines Corporation | Early termination of an I/O operation in an I/O processing system |
US7917813B2 (en) | 2008-02-14 | 2011-03-29 | International Business Machines Corporation | Exception condition determination at a control unit in an I/O processing system |
US8055807B2 (en) * | 2008-07-31 | 2011-11-08 | International Business Machines Corporation | Transport control channel program chain linking including determining sequence order |
US7937504B2 (en) | 2008-07-31 | 2011-05-03 | International Business Machines Corporation | Transport control channel program message pairing |
US7904606B2 (en) | 2008-07-31 | 2011-03-08 | International Business Machines Corporation | Transport control channel program chain linked branching |
US8332542B2 (en) | 2009-11-12 | 2012-12-11 | International Business Machines Corporation | Communication with input/output system devices |
US8725923B1 (en) * | 2011-03-31 | 2014-05-13 | Emc Corporation | BMC-based communication system |
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 |
US8738811B2 (en) | 2011-06-01 | 2014-05-27 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8364854B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8364853B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8583988B2 (en) | 2011-06-01 | 2013-11-12 | 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 |
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 |
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 |
US8346978B1 (en) * | 2011-06-30 | 2013-01-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8312176B1 (en) | 2011-06-30 | 2012-11-13 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
KR101412706B1 (ko) * | 2012-05-15 | 2014-06-30 | 엠디에스테크놀로지 주식회사 | 엠투엠 단말기의 응용프로그램 통신 제어 시스템 및 그 방법 |
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 |
US10310923B1 (en) | 2014-08-28 | 2019-06-04 | Seagate Technology Llc | Probabilistic aging command sorting |
TWI575384B (zh) * | 2015-09-04 | 2017-03-21 | 慧榮科技股份有限公司 | 通道控制裝置 |
US10025727B2 (en) * | 2016-02-05 | 2018-07-17 | Honeywell International Inc. | Relay mechanism to facilitate processor communication with inaccessible input/output (I/O) device |
US10831403B2 (en) | 2017-05-19 | 2020-11-10 | Seagate Technology Llc | Probabalistic command aging and selection |
US10901654B2 (en) * | 2018-10-30 | 2021-01-26 | International Business Machines Corporation | Buffer credit management in a data storage system |
KR102491362B1 (ko) * | 2021-02-01 | 2023-01-26 | 주식회사 드림에이스 | 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치 |
Family Cites Families (124)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1264096A (es) | 1970-06-27 | 1972-02-16 | ||
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 |
US4380046A (en) | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
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 |
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 |
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 |
EP0424618A3 (en) | 1989-10-24 | 1992-11-19 | International Business Machines Corporation | Input/output system |
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 |
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 |
US5388219A (en) * | 1992-03-02 | 1995-02-07 | International Business Machines Corporation | Efficient channel and control unit for host computer |
US5526484A (en) | 1992-12-10 | 1996-06-11 | International Business Machines Corporation | Method and system for pipelining the processing of channel command words |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
TW384611B (en) | 1997-02-14 | 2000-03-11 | Canon Kk | Data communication apparatus and method |
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 |
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 |
JP3990833B2 (ja) | 1998-12-11 | 2007-10-17 | キヤノン株式会社 | 通信制御方法及び装置 |
US6772207B1 (en) | 1999-01-28 | 2004-08-03 | Brocade Communications Systems, Inc. | System and method for managing fibre channel switching devices |
US6484217B1 (en) | 1999-04-20 | 2002-11-19 | International Business Machines Corporation | Managing shared devices in a data processing system |
US6718139B1 (en) | 1999-09-13 | 2004-04-06 | Ciena Corporation | Optical fiber ring communication system |
US6651125B2 (en) | 1999-09-28 | 2003-11-18 | International Business Machines Corporation | Processing channel subsystem pending I/O work queues based on priorities |
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 |
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 |
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 |
US6694390B1 (en) | 2000-09-11 | 2004-02-17 | Intel Corporation | Managing bus transaction dependencies |
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 |
US6834363B2 (en) | 2001-03-22 | 2004-12-21 | International Business Machines Corporation | Method for prioritizing bus errors |
US6754738B2 (en) | 2001-09-28 | 2004-06-22 | International Business Machines Corporation | Low overhead I/O interrupt |
US6859866B2 (en) | 2001-10-01 | 2005-02-22 | International Business Machines Corporation | Synchronizing processing of commands invoked against duplexed coupling facility structures |
US6745299B2 (en) | 2001-11-19 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms |
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 |
US7007142B2 (en) * | 2002-02-19 | 2006-02-28 | Intel Corporation | Network data storage-related operations |
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 |
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 |
US7181744B2 (en) * | 2002-10-24 | 2007-02-20 | International Business Machines Corporation | System and method for transferring data between virtual machines or other computer entities |
US7539777B1 (en) | 2002-10-25 | 2009-05-26 | Cisco Technology, Inc. | Method and system for network time protocol forwarding |
US7080094B2 (en) | 2002-10-29 | 2006-07-18 | Lockheed Martin Corporation | Hardware accelerated validating parser |
US20040136241A1 (en) | 2002-10-31 | 2004-07-15 | Lockheed Martin Corporation | Pipeline accelerator for improved computing architecture and related system and method |
US7202801B2 (en) | 2002-12-11 | 2007-04-10 | Geospatial Technologies, Inc. | Method and apparatus for an automated location-based, dynamic notification system (ALDNS) |
US7277387B2 (en) | 2003-01-30 | 2007-10-02 | Wind River Systems, Inc. | Package manager |
US7324455B2 (en) | 2003-03-14 | 2008-01-29 | International Business Machines Corporation | Transfer of error-analysis and statistical data in a fibre channel input/output system |
US6915378B2 (en) | 2003-04-23 | 2005-07-05 | Hypernova Technologies, Inc. | Method and system for improving the performance of a processing system |
US7000036B2 (en) * | 2003-05-12 | 2006-02-14 | International Business Machines Corporation | Extended input/output measurement facilities |
US7085898B2 (en) | 2003-05-12 | 2006-08-01 | International Business Machines Corporation | Coherency management for a “switchless” distributed shared memory computer system |
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 |
KR20050043426A (ko) * | 2003-11-06 | 2005-05-11 | 삼성전자주식회사 | 파이프라인 버스 시스템에서 커맨드 전송 방법 및 장치 |
US20050105456A1 (en) | 2003-11-18 | 2005-05-19 | Cookson Christopher J. | Double-sided optical disc |
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 |
US20050223291A1 (en) | 2004-03-24 | 2005-10-06 | Zimmer Vincent J | Methods and apparatus to provide an execution mode transition |
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 |
US7443798B2 (en) | 2004-09-03 | 2008-10-28 | Agere Systems Inc. | Transmit adaptive equalization for communication system with one or more serial data channels |
GB2419198A (en) | 2004-10-14 | 2006-04-19 | Hewlett Packard Development Co | Identifying performance affecting causes in a data storage system |
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 | データ処理システム、データ処理方法、及びプログラム |
US7718917B2 (en) | 2005-07-08 | 2010-05-18 | Gm Global Technology Operations, Inc. | Hybrid laser and resistance welding system and method |
CN100458757C (zh) * | 2005-07-28 | 2009-02-04 | 大唐移动通信设备有限公司 | 嵌入式实时操作系统中多核处理器的核间通信方法及装置 |
US7386636B2 (en) * | 2005-08-19 | 2008-06-10 | International Business Machines Corporation | System and method for communicating command parameters between a processor and a memory flow controller |
JP2007058646A (ja) | 2005-08-25 | 2007-03-08 | Hitachi Ltd | データ処理システム |
US20070072543A1 (en) * | 2005-09-06 | 2007-03-29 | Nokia Corporation | Enhanced signaling of pre-configured interaction message in service guide |
JP4527640B2 (ja) | 2005-09-15 | 2010-08-18 | 株式会社ソニー・コンピュータエンタテインメント | データ読出装置 |
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 |
CN100454278C (zh) * | 2006-01-19 | 2009-01-21 | 联想(北京)有限公司 | 计算机系统及其i/o端口访问控制方法 |
US9032164B2 (en) | 2006-02-17 | 2015-05-12 | Emulex Corporation | Apparatus for performing storage virtualization |
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 |
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 |
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 |
US7797414B2 (en) | 2007-01-31 | 2010-09-14 | International Business Machines Corporation | Establishing a logical path between servers in a coordinated timing network |
US8670746B2 (en) | 2007-04-13 | 2014-03-11 | Hart Communication Foundation | Enhancing security in a wireless network |
US8020074B2 (en) | 2007-08-24 | 2011-09-13 | Datadirect Networks, Inc. | Method for auto-correction of errors in a RAID memory system |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
US7899944B2 (en) | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting in an I/O processing system |
US8117347B2 (en) | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
US8082481B2 (en) | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
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 |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
US8196149B2 (en) | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output processing system |
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 |
US8001298B2 (en) | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data in an I/O processing system |
US7904605B2 (en) | 2008-02-14 | 2011-03-08 | International Business Machines Corporation | Computer command and response for determining the state of an I/O operation |
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 |
US7941570B2 (en) | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single 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 |
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 |
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 |
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 |
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 |
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 |
-
2008
- 2008-02-14 US US12/030,961 patent/US7908403B2/en active Active
-
2009
- 2009-02-09 AT AT09711029T patent/ATE482430T1/de active
- 2009-02-09 SI SI200930011T patent/SI2174227T1/sl unknown
- 2009-02-09 JP JP2010546300A patent/JP5159900B2/ja active Active
- 2009-02-09 CN CN200980104761.9A patent/CN101946244B/zh active Active
- 2009-02-09 PT PT09711029T patent/PT2174227E/pt unknown
- 2009-02-09 WO PCT/EP2009/051445 patent/WO2009101050A1/en active Application Filing
- 2009-02-09 ES ES09711029T patent/ES2349376T3/es active Active
- 2009-02-09 DK DK09711029.0T patent/DK2174227T3/da active
- 2009-02-09 PL PL09711029T patent/PL2174227T3/pl unknown
- 2009-02-09 DE DE602009000227T patent/DE602009000227D1/de active Active
- 2009-02-09 KR KR1020107016959A patent/KR101231555B1/ko active IP Right Grant
- 2009-02-09 EP EP09711029A patent/EP2174227B1/en active Active
-
2010
- 2010-11-12 CY CY20101101026T patent/CY1111221T1/el unknown
Also Published As
Publication number | Publication date |
---|---|
JP5159900B2 (ja) | 2013-03-13 |
SI2174227T1 (sl) | 2010-12-31 |
WO2009101050A1 (en) | 2009-08-20 |
US20090210583A1 (en) | 2009-08-20 |
ATE482430T1 (de) | 2010-10-15 |
DK2174227T3 (da) | 2010-11-08 |
CY1111221T1 (el) | 2015-06-11 |
PL2174227T3 (pl) | 2011-02-28 |
EP2174227B1 (en) | 2010-09-22 |
KR101231555B1 (ko) | 2013-02-08 |
EP2174227A1 (en) | 2010-04-14 |
JP2011512585A (ja) | 2011-04-21 |
CN101946244A (zh) | 2011-01-12 |
PT2174227E (pt) | 2010-10-22 |
US7908403B2 (en) | 2011-03-15 |
DE602009000227D1 (de) | 2010-11-04 |
KR20100107484A (ko) | 2010-10-05 |
CN101946244B (zh) | 2012-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2349376T3 (es) | Reducción de contiendas de acceso a dispositivos reservados. | |
JP5159901B2 (ja) | 制御装置と通信するように構成されたホスト・コンピュータ・システムにおける入出力(i/o)操作に関するi/o処理を容易にするための方法 | |
JP4917174B2 (ja) | 制御装置と通信するように構成されたホスト・コンピュータ・システムにおける入出力(i/o)操作用の入出力処理を容易にするためのコンピュータ・プログラム、装置、および方法 | |
EP3462326B1 (en) | Nvme device, and methods for reading and writing nvme data | |
US7937507B2 (en) | Extended measurement word determination at a channel subsystem of an I/O processing system | |
KR101243005B1 (ko) | I/o 처리 시스템의 제어 유닛에서 가변 길이 디바이스 명령어 워드의 처리 | |
KR101190998B1 (ko) | 입력/출력 동작을 모니터링하기 위한 데이터 처리 | |
ES2358314T3 (es) | Facilitación de direccionamiento de datos indirectos en un sistema de tratamiento de entrada/salida, en donde la lista de direcciones de datos indirectos es no contigua. | |
EP2849076B1 (en) | Dma transmission method and system | |
WO2016127552A1 (zh) | 一种直接内存存取dma控制器及数据传输的方法 | |
EP3470971B1 (en) | Method, apparatus, and system for accessing memory device | |
US7689744B1 (en) | Methods and structure for a SAS/SATA converter | |
JP2011529589A (ja) | チェーン・リンク分岐を有するトランスポート制御チャネル・プログラムを処理するための方法、コンピュータ・プログラム及び装置 | |
EP3077914B1 (en) | System and method for managing and supporting virtual host bus adaptor (vhba) over infiniband (ib) and for supporting efficient buffer usage with a single external memory interface | |
US8868806B2 (en) | Methods and structure for hardware management of serial advanced technology attachment (SATA) DMA Non-Zero Offsets in a serial attached SCSI (SAS) expander | |
CN110515535A (zh) | 硬盘读写控制方法、装置、电子设备及存储介质 | |
CN117218773A (zh) | 一种硬盘柜控制方法、装置、介质 | |
JP2021082096A (ja) | 情報処理装置及び情報処理プログラム | |
CN116149453A (zh) | 控制器、电子设备和数据传输系统 | |
JPH065521B2 (ja) | メツセージ・バツフア・システム | |
JPH04364556A (ja) | データ転送方法 |