BRPI0908135B1 - comando de computador e resposta para determinar o estado de uma operação de e/s - Google Patents

comando de computador e resposta para determinar o estado de uma operação de e/s Download PDF

Info

Publication number
BRPI0908135B1
BRPI0908135B1 BRPI0908135-6A BRPI0908135A BRPI0908135B1 BR PI0908135 B1 BRPI0908135 B1 BR PI0908135B1 BR PI0908135 A BRPI0908135 A BR PI0908135A BR PI0908135 B1 BRPI0908135 B1 BR PI0908135B1
Authority
BR
Brazil
Prior art keywords
control unit
channel
status
interrogation
command
Prior art date
Application number
BRPI0908135-6A
Other languages
English (en)
Inventor
Daniel Casper
Gustav Sittmann Iii
Njoku Ugochukwu
Harry Yudenfriend
Scott Carlson
Roger Hathorn
John Flanagan
Catherine Huang
Matthew Kalos
Louis Ricci
Dale Riedy
Original Assignee
International Business Machines Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation filed Critical International Business Machines Corporation
Publication of BRPI0908135A2 publication Critical patent/BRPI0908135A2/pt
Publication of BRPI0908135B1 publication Critical patent/BRPI0908135B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Control By Computers (AREA)
  • Programmable Controllers (AREA)

Abstract

COMANDO DE COMPUTADOR E RESPOSTA PARA DETERMINAR O ESTADO DE UMA OPERAÇÃO DE E/S. O estado de uma operação de entrada / saída (E/S) em um sistema de processamento de E/S é determinado. A solicitação para a realização da operação de E/S é recebida de um sistema operacional de E/S em um subsistema d e canal e encaminhada para uma unidade de controle que controla um dispositivo de E/S para executar a operação de E/S. Após uma determinada quantidade de tempo passa sem receber a indicação da unidade de controle que a operação de E/S está concluída, um solicitação de interrogatório foi recebida no subsistema de canal de E/S do sistema operacional para determinar o estado da operação de E/S. Um comando de interrogação é enviado a partir do subsistema de canal para a unidade de controle. A resposta é recebida a partir da unidade de controle, a resposta indica um estado do dispositivo E/S que executa a operação de E/S, um estado da unidade de controle que controla o dispositivo de E/S que executa a operação de E/S, e o estado da operação de E/S (...).

Description

CAMPO DA INVENÇÃO
[0001] A presente descrição refere-se, de um modo geral, ao processamento de entrada/ saída e, em particular, à determinação do estado de uma operação de E/ S.
ANTECEDENTES DA INVENÇÃO
[0002] As operações de entrada/ saída (E/ S) são utilizadas para transferir dados entre a memória e os dispositivos de E/ S de um sistema de processamento de E/ S. Especificamente, os dados são gravados da memória para um ou mais dispositivos de E/ Se os dados são lidos de um ou mais dispositivos de E/ S para a memória executando operações de E/ S.
[0003] Para facilitar o processamento de operações de E/ S, é utilizado um subsistema de E/ S do sistema de processamento de E/ S. O subsistema de E/ S é acoplado à memória principal e aos dispositivos de E/ S do sistema de processamento de E/ Se direciona o fluxo de informações entre a memória e os dispositivos de E/ S. Um exemplo de um subsistema de E/ Sé um subsistema de canal. O subsistema de canal utiliza caminhos de canais como meios de comunicação. Cada caminho de canal inclui um canal acoplado a uma unidade de controle, estando a unidade de controle ainda acoplada a um ou mais dispositivos de E/ S.
[0004] O sistema operacional pode empregar palavras de comando de canal (CCWs) passando-as para o subsistema de canal para transferir dados entre os dispositivos de E/ S e a memória. Uma CCW especifica o comando a ser executado. Para comandos que iniciam certas operações de E/ S, a CCW designa a área de memória associada à operação, a ação a ser tomada sempre que uma transferência para ou da área estiver concluida e outras opções.
[0005] Durante o processamento de E/ S, uma lista de CCWs é obtida da memória por um canal. O canal analisa cada comando a partir da lista de CCWs e encaminha um número de comandos, cada comando na sua própria entidade, para uma unidade de controle acoplada ao canal. A unidade de controle então processa os comandos. O canal rastreia o estado de cada comando e controla quando o próximo conjunto de comandos deve ser enviado para a unidade de controle para processamento. O canal garante que cada comando seja enviado para a unidade de controle em sua própria entidade. Além disso, o canal obtém certas informações associadas ao processamento da resposta da unidade de controle para cada comando.
[0006] Dependendo do protocolo de link utilizado, um sistema operacional pode ter dificuldade em tomar uma decisão informada sobre a ação a ser tomada com uma operação de E/ S que está levando mais tempo do que o esperado ou alocado para conclusão. Consequentemente, existe uma necessidade de proporcionar ao sistema operacional uma forma de determinar o estado de uma operação de E/ S e de determinar uma ação a ser tomada para uma operação de E/ S que está demorando mais tempo do que o tempo esperado ou atribuído para execução.
BREVE SUMÁRIO DA INVENÇÃO
[0007] As concretizações da invenção incluem um produto de programa de computador para determinar um estado de uma operação de entrada / saida (E/ S) num sistema de processamento de E/ S. O produto de programa de computador compreende um meio de armazenamento tangível legivel por um circuito de processamento e armazenando instruções para executar pelo circuito de processamento para executar um método. 0 método compreende receber, num subsistema de canal, uma solicitação para executar a operação de E/ S a partir de um sistema operacional E/ S e encaminhar a solicitação a partir do subsistema de canal para uma unidade de controle que controla um dispositivo E/ S para executar a operação E/ S. 0 método compreende ainda, depois de uma quantidade de tempo predeterminada passar sem receber indicação da unidade de controle que a operação de E/ S é completada, receber, no subsistema de canal, uma solicitação de interrogação do sistema operacional de E/ S para determinar o estado da operação de E/ S, responsive à recepção da solicitação de interrogação no subsistema de canal, enviar um comando de interrogação do subsistema de canal para a unidade de controle para determinar o estado da operação de E/ S e receber, no subsistema de canal, uma resposta da unidade de controle indicando o estado da operação de E/ S. A resposta inclui informações indicando um estado do dispositivo de E/ S executando a operação de E/ S, um estado da unidade de controle que controla o dispositivo de E/ S executando a operação de E/ S e o estado da operação de E/ S sendo executada.
[0008] As concretizações adicionais incluem um aparelho adaptado para comunicar com uma unidade de controle que controla um dispositivo de entrada/ saida (E/ S) que executa uma operação de E/ S num sistema de processamento de E/ S. O aparelho compreende um subsistema de canal para comunicação com um sistema operacional E/ S e a unidade de controle. O subsistema de canal executa um método compreendendo a recepção de uma solicitação para executar a operação de E/ S a partir do sistema operacional de E/ S e encaminhar a solicitação para a unidade de controle que controla o dispositivo de E/ S para executar a operação de E/ S. 0 método compreende ainda, depois de uma quantidade predeterminada de tempo passar sem receber indicação da unidade de controle de que a operação de E/ S está completa, receber uma solicitação de interrogação do sistema operacional de E/ S para determinar um estado da operação de E/ S, responsivo à recepção da solicitação de interrogação, enviar um comando de interrogação à unidade de controle para determinar o estado da operação de E/ S e receber uma resposta da unidade de controle indicando o estado da operação de E/ S. A resposta inclui informações indicando um estado do dispositivo de E/ S executando a operação de E/ S, um estado da unidade de controle que controla o dispositivo de E/ S executando a operação de E/ S e o estado da operação de E/ S sendo executada.
[0009] Outras concretizações incluem um método para determinar um estado de uma operação de entrada/ saida (E/ S) num sistema de processamento de E/ S. 0 método compreende a recepção, num subsistema de canal, de uma solicitação para executar a operação de E/ S a partir de um sistema operacional de E/ Se encaminhar a solicitação do subsistema de canal para uma unidade de controle que controla um dispositivo de E/ S para executar a Operação de E/ S. O método compreende ainda, depois de uma quantidade de tempo predeterminada passar sem receber indicação da unidade de controle que a operação de E/ S é completada, receber, no subsistema de canal, uma solicitação de interrogação do sistema operacional de E/ S para determinar o estado da operação de E/ S, responsivo à recepção da solicitação de interrogação no subsistema de canal, enviar um comando de interrogação do subsistema de canal para a unidade de controle para determinar o estado da operação de E/ S e receber, no subsistema de canal, uma resposta da unidade de controle indicando o estado da operação de E/ S. A resposta inclui informações indicando um estado do dispositivo de E/ S executando a operação de E/ S, um estado da unidade de controle que controla o dispositivo de E/ S executando a operação de E/ S e o estado da operação de E/ S sendo executada.
[0010] Outros sistemas, métodos e/ ou produtos de programas de computador de acordo com as concretizações serão ou tornar-se-ão evidentes para um especialista na técnica após a revisão dos desenhos e descrição detalhada seguintes. Pretende-se que todos estes sistemas, métodos e/ ou artigos de fabricação adicionais sejam incluídos nesta descrição, estejam dentro do escopo da presente invenção e sejam protegidos pelas reivindicações anexas.
BREVE DESCRIÇÃO DOS DESENHOS
[0011] O assunto, que é considerado como a invenção, é particularmente apontado e reivindicado distintamente nas reivindicações na conclusão do relatório descritivo. Os objetos anteriores e outros, características e vantagens da invenção são evidentes a partir da descrição detalhada a seguir, tomada em conjunto com os desenhos anexos, nos quais:
[0012] A figura 1 ilustra uma concretização de um sistema de processamento E/ S incorporando e utilizando um ou mais aspectos da presente invenção;
[0013] A figura 2A ilustra um exemplo de uma palavra de comando de canal;
[0014] A figura 2B ilustra um exemplo de um programa de canal de palavra de comando de canal;
[0015] A figura 3 ilustra uma concretização de um protocolo de link utilizado na comunicação entre um canal e unidade de controle para executar o programa de canal de palavra de comando de canal da figura 2B;
[0016] A figura 4 ilustra uma concretização de um programa de canal de palavra de controle de transporte, de acordo com um aspecto da presente invenção;
[0017] A figura 5 ilustra uma concretização de um protocolo de link utilizado para comunicar entre um canal e unidade de controle para executar o programa de canal de palavra de controle de transporte da figura 4, de acordo com um aspecto da presente invenção;
[0018] A figura 6 ilustra uma concretização de um protocolo de link utilizado para comunicar entre um canal e uma unidade de controle de modo a executar quatro comandos de leitura de um programa de canal de palavra de comando de canal;
[0019] A figura 7 ilustra uma concretização de um protocolo de link utilizado para comunicação entre um canal e uma unidade de controle para processar os quatro comandos de leitura de um programa de canal de palavra de controle de transporte, de acordo com um aspecto da presente invenção;
[0020] A figura 8 ilustra uma concretização de uma unidade de controle e um canal, de acordo com um aspecto da presente invenção;
[0021] A figura 9 representa uma concretização de uma Palavra de Controle de Transporte (TCW) incluindo um campo de Endereço de TCW de interrogação, de acordo com um aspecto da presente invenção;
[0022] A figura 10 representa uma concretização de uma DCW de Interrogação de acordo com um aspecto da presente invenção;
[0023] A figura 11 ilustra uma concretização de uma IU de Resposta de Transporte de acordo com um aspecto da presente invenção;
[0024] A figura 12A ilustra uma concretização de um processo executado pela operação de E/ S para decidir quando solicitar o estado de uma operação de E/ S a partir da unidade de controle de acordo com um aspecto da invenção.
[0025] A figura 12B ilustra uma concretização de um processo para interrogar uma unidade de controle para determinar o estado de uma operação de E/ S de acordo com um aspecto da invenção.
[0026] A figura 13 ilustra uma concretização de um produto de programa de computador que incorpora um ou mais aspectos da presente invenção.
[0027] A descrição detalhada explica as concretizações preferidas da invenção, juntamente com vantagens e características, a titulo de exemplo com referência aos desenhos.
DESCRIÇÃO DETALHADA DA INVENÇÃO
[0028] De acordo com um aspecto da presente invenção, o processamento de entrada/ saida (E/ S) é facilitado. Por exemplo, o processamento de E/ Sé facilitado facilitando prontamente o acesso à informação, tal como dados de status e de medição, associados ao processamento de E/ S. Além disso, o processamento de E/ Sé facilitado, num exemplo, reduzindo a comunicação entre componentes de um sistema de processamento de E/ S utilizado para executar o processamento de E/ S. Por exemplo, o número de trocas e sequências entre um adaptador de comunicações de E/ S, tal como um canal, e uma unidade de controle é reduzido. Isto é conseguido enviando uma pluralidade de comandos do adaptador de comunicações de E/ S para a unidade de controle como uma única entidade para execução pela unidade de controle, e pela unidade de controle enviar os dados resultantes dos comandos, se existirem, como uma entidade única.
[0029] A pluralidade de comandos está incluída num bloco, aqui referido como um bloco de controle de comando de transporte (TCCB), cujo endereço é especificado numa palavra de controle de transporte (TCW) . A TCW é enviada de um sistema operacional ou outro aplicativo para o adaptador de comunicações de E/ S, que por sua vez encaminha o TCCB em uma mensagem de comando para a unidade de controle para processamento. A unidade de controle processa cada um dos comandos sem um rastreamento do estado relativamente a esses comandos individuais pelo adaptador de comunicações de E/ S. A pluralidade de comandos é também referida como um programa de canal, que é analisado e executado na unidade de controle em vez do adaptador de comunicações de E/ S.
[0030] Numa concretização exemplar, a unidade de controle gera uma mensagem de resposta incluindo informações de status e status estendido em resposta à execução do programa de canal. A unidade de controle pode também gerar uma mensagem de resposta sem executar o programa de canal sob um número limitado de cenários de comunicação, por exemplo, para informar o adaptador de comunicações de E/ S de que o programa de canal não será executado. A unidade de controle pode incluir um número de elementos para suportar a comunicação entre o adaptador de comunicações de E/ S e dispositivos de E/ S, bem como para suportar a execução do programa de canal. Por exemplo, a unidade de controle pode incluir lógica de controle para analisar e processar mensagens, para além de uma ou mais filas, temporizadores e registadores para facilitar a comunicação e a monitorização de estado. 0 adaptador de comunicação de E/ S analisa a mensagem de resposta, extrai as informações de status e de status estendida e executa cálculos adicionais usando as informações extraídas, como determinar uma palavra de medição estendida.
[0031] Um exemplo de um sistema de processamento de E/ S que incorpora e utiliza um ou mais aspectos da presente invenção é descrito com referência à figura 1. O sistema de processamento E/ S 100 inclui, por exemplo, uma memória principal 102, uma ou mais unidades centrais de processamento (CPUs) 104, um elemento de controle de armazenamento 106, um subsistema de canal 108, uma ou mais unidades de controle 110 e um ou mais dispositivos de E/ S 112, cada um dos quais é descrito abaixo.
[0032] A memória principal 102 armazena dados e programas que podem ser inseridos a partir de dispositivos de E/ S 112. Por exemplo, a memória principal 102 pode incluir um ou mais sistemas operacionais 103 que são executados por uma ou mais das CPUs 104. A memória principal 102 é diretamente direcionável e proporciona processamento de alta velocidade de dados pelas CPUs 104 e pelo subsistema de canal 108.
[0033] A CPU 104 é o centro de controle do sistema de processamento E/ S 100. Contém instalações de sequências e processamento para a execução da instrução, ação de interrupção, funções de temporização, carregamento inicial do programa e outras funções relacionadas com a máquina. A CPU 104 é acoplada ao elemento de controle de armazenamento 106 através de uma ligação 114, tal como um barramento bidirecional ou unidirecional.
[0034] O elemento de controle de armazenamento 106 é acoplado à memória principal 102 através de uma ligação 116, tal como um barramento; para as CPUs 104 através da ligação 114; e ao subsistema de canal 108 através de uma ligação 118. O elemento de controle de armazenamento 106 controla, por exemplo, a formação de fila e a execução de solicitações feitas pela CPU 104 e pelo subsistema de canal 108.
[0035] O subsistema de canal 108 está acoplado ao elemento de controle de armazenamento 106, como descrito acima, e a cada uma das unidades de controle 110 através de uma ligação 120, tal como uma ligação em série. A ligação 120 pode ser implementada como uma ligação óptica, empregando guias de onda de modo único ou multimodos. O subsistema de canal 108 direciona o fluxo de informação entre os dispositivos de E/ S 112 e a memória principal 102. Alivia as CPUs 104 da tarefa de se comunicar diretamente com os dispositivos de E/ S 112 e permite que o processamento de dados prossiga simultaneamente com o processamento de E/ S. O subsistema de canal 108 utiliza um ou mais caminhos de canal 122 como os links de comunicação no gerenciamento do fluxo de informação para ou a partir de dispositivos de E/ S 112. Como parte do processamento de E/ S, o subsistema de canal 108 executa também as funções de teste de gerenciamento de caminho para disponibilidade de percurso de canal, seleção de um percurso de canal disponível 122 e inicio da execução da operação com os dispositivos de E/ S 112.
[0036] Cada percurso de canal 122 inclui um canal 124 (os canais 124 estão localizados dentro do subsistema de canal 108, num exemplo, como mostrado na figura 1), uma ou mais unidades de controle 110 e uma ou mais ligações 120. Em outro exemplo, também é possivel ter um ou mais comutadores dinâmicos (não representados) como parte do percurso de canal 122. Um comutador dinâmico é acoplado a um canal 124 e a uma unidade de controle 110 e proporciona a capacidade de interconectar fisicamente quaisquer dois links que estão ligados ao canal comutador. Em outro exemplo, é também possivel ter múltiplos sistemas, portanto, subsistemas de canais múltiplos (não representados) ligados à unidade de controle 110.
[0037] Também localizados dentro do subsistema de canal 108 são subcanais (não ilustrados) . Um subcanal é fornecido e dedicado a cada dispositivo de E/ S 112 acessivel a um programa através do subsistema de canal 108. Um subcanal (por exemplo, uma estrutura de dados, tal como uma tabela) representa o estado lógico de um dispositivo para o programa. Cada subcanal fornece informação relativa ao dispositivo de E/ S associado 112 e a sua ligação ao subsistema de canal 108. O subcanal também fornece informação sobre operações de E/ S e outras funções envolvendo o dispositivo de E/ S associado 112. O subcanal é o meio através do qual o subsistema de canal 108 fornece informações sobre dispositivos de E/ S 112 associados a sistemas operacionais em executados em CPUs 104, os quais obtém estas informações executando instruções de E/ S.
[0038] O subsistema de canal 108 está acoplado a uma ou mais unidades de controle 110. Cada unidade de controle 110 proporciona lógica para operar e controlar um ou mais dispositivos de E/ S 112 e adapta, através da utilização de instalações comuns, as características de cada dispositivo de E/ S 112 com a interface de link proporcionada pelo canal 124. As instalações comuns proporcionam a execução de operações de E/ S, indicações relativas ao status do dispositivo de E/ S 112 e da unidade de controle 110, o controle da temporização das transferências de dados através do canal 122 e certos niveis de controle do dispositivo de E/ S 112.
[0039] Cada unidade de controle 110 está ligada através de uma ligação 126 (por exemplo, um barramento) a um ou mais dispositivos de E/ S 112. Os dispositivos de E/ S 112 recebem informação ou armazenam informação na memória principal 102 e/ou outra memória. Exemplos de dispositivos E/ S 112 incluem leitores e punções de cartões, unidades de fita magnética, dispositivos de armazenamento de acesso direto, monitores, teclados, impressoras, dispositivos apontadores, dispositivos de teleprocessamento, controladores de comunicação e equipamento baseado em sensores, para citar apenas alguns.
[0040] Um ou mais dos componentes acima do sistema de processamento E/ S 100 são descritos adicionalmente em "IBM® z/Architecture Principles of Operation", Publicação No. SA22-7832-05, 6a Edição, Abril de 2007; US Patent No. 5,461,721 intitulada "System for Transferring data Between I/O Devices and Main or Expanded Storage Under Dynamic Control of Independet Indirect Address Words (IDAWS)", Cormier et al., concedida em 24 de Outubro de 1995, e a Patente US No. 5 526 484, intitulada "Method And System for Pipelining The Processing Of Channel Command Words", Casper et ai., Concedida em 11 de Junho de 1996 , cada urn dos quais é aqui incorporado por referência na sua totalidade. IBM é uma marca registada de International Business Machines Corporation, Armonk, Nova Iorque, EUA. Outros nomes aqui usados podem ser marcas reqistradas, marcas reqistradas ou nomes de produtos da International Business Machines Corporation ou de outras empresas.
[0041] Numa concretização, para transferir dados entre dispositivos E/ S 112 e memória 102, são utilizadas palavras de comando de canal (CCWs). Uma CCW especifica o comando a ser executado e inclui outros campos para controlar o processamento. Um exemplo de uma CCW é descrito com referência à figura 2A. Uma CCW 200 inclui, por exemplo, um código de comando 202 que especifica o comando a ser executado (por exemplo, leitura, leitura inversa, controle, detecção e escrita); uma pluralidade de flags 204 utilizados para controlar a operação de E/ S; para comandos que especificam a transferência de dados, um campo de contagem 206 que especifica o número de bytes na área de armazenamento designada pela CCW a transferir; e um endereço de dados 208 que aponta para uma localização na memória principal que inclui dados, quando é utilizado o endereçamento direto ou para uma lista (por exemplo, lista contigua) de palavras de endereço de dados indireto modificada (MIDAWs) a ser processada, quando endereçamento de dados indiretos modificado é empregado. O endereçamento indireto modificado é ainda descrito no pedido dos Estados Unidos da América número de série 11/464.613, intitulado "Flexibly Controlling the Transfer of Data Between Input/Output Devices and Memory",Brice et al., depositado em 15 de agosto de 2006, que é aqui incorporado por referência em sua totalidade.
[0042] Uma ou mais CCWs dispostas para execução sequencial formam um programa de canal, também aqui referido como um programa de canal CCW. O programa de canal CCW é configurado, por exemplo, por um sistema operacional ou outro software. 0 software configura as CCWs e obtém os endereços de memória atribuídos ao programa de canal. Um exemplo de um programa de canal CCW é descrito com referência à figura 2B. Um programa de canal CCW 210 inclui, por exemplo, uma extensão de definição CCW 212 que tem um apontador 214 para um local na memória de dados de extensão de definição 216 a utilizar com o comando de extensão de definição. Neste exemplo, uma transferência no canal (TIC) 218 segue o comando de extensão de definição que refere o programa de canal para outra área na memória (por exemplo, uma área de aplicação) que inclui uma ou mais outras CCWs, tal como um registro de localização 217 que tem um ponteiro 219 para localizar dados de registro 220 e uma ou mais CCWs de leitura 221. Cada CCW de leitura 220 tem um ponteiro 222 para uma área de dados 224. A área de dados inclui um endereço para acessar diretamente os dados ou uma lista de palavras de endereço de dados, por exemplo, MIDAWs ou IDAWs) para acessar indiretamente os dados. Além disso, o programa de canal CCW 210 inclui uma área predeterminada no subsistema de canal definido pelo endereço de dispositivo chamado subcanal para o status 226 resultante da execução do programa de canal CCW.
[0043] O processamento de um programa de canal CCW é descrito com referência à figura 3, bem como com referência à figura 2B. Em particular, a figura 3 mostra um exemplo das várias trocas e sequências que ocorrem entre um canal e uma unidade de controle quando um programa de canal CCW está a ser executado. O protocolo de link utilizado para as comunicações é FICON (Fiber Connectivity) , neste exemplo. As informações sobre EICON estão descritas em "Fibre Channel Single Byte Command Code Sets-2 Mapping Protocol (FC-SB-3), Til/ Project 1357-D/Rev. 1.6, INCITS (março de 2003), que é aqui incorporado por referência na sua totalidade.
[0044] Fazendo referência à figura 3, um canal 300 abre uma troca com uma unidade de controle 302 e envia um comando de definição de extensão e dados associados a ela 304 à unidade de controle 302. O comando é obtido a partir CCW de definição de extensão 212 (Figura 2B) e os dados são obtidos a partir da área de dados de definição de extensão 216. O canal 300 utiliza TIC 218 para localizar a CCW de localização de registro e a CCW de leitura. Ele obtém o comando de localização de registro 305 (figura 3) a partir da CCW de localização de registro 217 (figura 2B) e obtém os dados a partir dos dados de localização de registro 220. O comando de leitura 306 (figura 3) é obtido da CCW de leitura 221 (figura 2B) . Cada um é enviado para a unidade de controle 302 .
[0045] A unidade de controle 302 abre uma troca 308 com o canal 300, em resposta à troca aberta do canal 300. Isto pode ocorrer antes ou depois do comando de localização 305 e/ ou comando de leitura 306. Junto com a troca aberta, uma resposta (CMR) é encaminhada para o canal 300. A CMR fornece uma indicação para o canal 300 de que a unidade de controle 302 está ativa e em funcionamento.
[0046] A unidade de controle 302 envia os dados 310 solicitados ao canal 300. Adicionalmente, a unidade de controle 302 fornece o estado ao canal 300 e fecha a central 312. Em resposta a isto, o canal 300 armazena os dados, examina o estado e fecha a troca 314, que indica à unidade de controle 302 que o estado foi recebido.
[0047] O processamento do programa de canal de CCW acima para ler 4k de dados requer duas trocas a serem abertas e fechadas e sete sequências. O número total de trocas e sequências entre o canal e a unidade de controle é reduzido através do colapso de múltiplos comandos do programa de canal em um TCCB. O canal, por exemplo, o canal 124 da figura 1, utiliza uma TCW para identificar a localização do TCCB, bem como locais para aceder e armazenar o estado e os dados associados à execução do programa de canal. A TCW é interpretada pelo canal e não é enviada ou vista pela unidade de controle.
[0048] Um exemplo de um programa de canal para ler 4k de dados, como na figura 2B, mas inclui um TCCB, em vez de CCW individuais separadas, é descrito com referência à figura 4. Conforme ilustrado, um programa de canal 400, referido aqui como um programa de canal TCW, inclui um TCW 402 especificando uma localização na memória de um TCCB 404, bem como um local na memória de uma área de dados 406 ou um TIDAL 410 (por exemplo, uma lista de palavras de endereço de dados indiretos do modo de transporte (TIDAWs), semelhante aos MIDAWs) que aponta para a área de dados 406, e uma área de estado 408. As TCWs, TCCBs e o estado são descritos em maiores detalhes abaixo.
[0049] O processamento de um programa de canais TCW é descrito com referência à figura 5. O protocolo de link utilizado para estas comunicações é, por exemplo, protocolo de canal de fibra (Fibre Channel Protocol -FCP) . Em particular, são utilizadas três fases do protocolo de link FCP, permitindo que adaptadores de barramento de acolhimento sejam utilizados que suportem FCP para executar transferências de dados controladas por CCWs. FCP e suas fases são descritos mais adiante em "Tecnologia de Informação - Protocolo de Canal de Fibra para SCSI, Terceira Versão (FCP-3)", TIO Project 1560-D, Revisão 4, 13 de setembro de 2005, que é aqui incorporado por referência em sua totalidade.
[0050] Com referência à figura 5, um canal 500 abre uma troca com uma unidade de controle 502 e envia TCCB 504 para a unidade de controle 502. Num exemplo, o TCCB 504 e a iniciativa de sequência são transferidos para a unidade de controle 502 num comando FCP, referido como Unidade de informação (IU) FCP CMND ou um comando de transporte IU. A unidade de controle 502 executa os comandos múltiplos do TCCB 504 (por exemplo, define o comando de extensão, localiza o comando de registro, lê o comando como palavras de controle do dispositivo (DCWs)) e encaminha os dados 506 para o canal 500 através, por exemplo, de um FCP_Data IU. Ele também fornece status e fecha a troca 508. Como exemplo, o status final é enviado em uma estrutura de status FCP que tem um bit ativo, por exemplo, no byte 10 ou 11 da carga útil de um FCP_RSP_IU, também referido como uma IU de resposta de transporte. A carga útil do FCP_RES_IU pode ser usada para transportar o status final do FICON juntamente com informações de status adicionais, incluindo parâmetros que suportam o cálculo de palavras de medição e notificar o canal 500 do número máximo de trocas abertas suportadas pela unidade de controle 502.
[0051] Num outro exemplo, para escrever 4k de dados de cliente, o canal 500 utiliza as fases de protocolo de link FCP, como se segue: 1. Transferir um TCCB no FCP_CMND IU. 2. Transfere a IU de dados e a iniciativa de sequência para a unidade de controle 502. (FCP Transfer Ready desativado) 3. Status final é enviado em um quadro de status FCP que tem um bit ativo, por exemplo, byte 10 ou 11 do FCP RSP IU Payload. O campo FCP RES INFO ou campo de sentido é utilizado para transportar o estado de terminação FICON juntamente com informações de estado adicionais, incluindo parâmetros que suportam o cálculo de palavras de medição estendidas e notificar o canal 500 do número máximo de trocas abertas suportado pela unidade de controle 502.
[0052] Executando o programa de canal de TCW da figura 4, existe apenas uma troca aberta e fechada (ver também a Figura 5), em vez de duas trocas para o programa de canal CCW da figura 2B (ver também a Figura 3). Além disso, para o programa de canais de TCW, existem três sequências de comunicação (ver figuras 4-5), em comparação com sete sequências para o programa de canal de CCW (ver figuras 2B- 3) .
[0053] O número de trocas e sequências permanece o mesmo para um programa de canal de TCW, mesmo se forem adicionados comandos adicionais ao programa. Compare, por exemplo, comunicações do programa de canal CCW da figura 6 com as comunicações do programa de canais TCW da figura 7. No programa de canal CCW da figura 6, cada um dos comandos (por exemplo, definir comando de extensão 600, comando de localização de registro 601, comando de leitura 602, comando de leitura 604, comando de leitura 606, comando de localização de registro 607 e comando de leitura 608) são enviados em sequências separadas do canal 610 para controle (612) . Além disso, cada bloco de dados de 4k (por exemplo, dados 614-620) é enviado em sequências separadas da unidade de controle 612 para o canal 610. Este programa de canal CCW requer duas centrais abertas e fechadas (por exemplo, 622, 624 e trocas fechadas 626, 628), e catorze sequências de comunicações. Isto é comparado com as três sequências e uma troca para o programa de canal de TCW da figura 7, que realiza a mesma tarefa que o programa de canal de CCW da figura 6.
[0054] Conforme ilustrado na figura 7, um canal 700 abre uma troca com uma unidade de controle 702 e envia um TCCB 704 para a unidade de controle 702. O TCCB 704 inclui o comando de extensão de definição, os dois comandos de registro de localização e os quatro comandos de leitura em DCWs, como descrito acima. Em resposta à recepção do TCCB 704, a unidade de controle 702 executa os comandos e envia, numa única sequência, os 16k de dados 706 para o canal 700. Adicionalmente, a unidade de controle 702 proporciona status ao canal 700 e fecha a troca 708 Assim, o programa de canal TCW requer muito menos sobrecarga para transferir a mesma quantidade de dados que o programa de canal de CCW da figura 6 .
[0055] Voltando agora à figura 8, uma concretização da unidade de controle 110 e do canal 124 da figura 1 que suporta a execução do programa de canal de TCW é representada em maiores detalhes. A unidade de controle 110 inclui a lógica de controle CU 802 para analisar e processar mensagens de comando contendo um TCCB, tal como o TCCB 704 da figura 7, recebido a partir do canal 124 através da ligação 120. A lógica de controle CU 802 pode extrair DCWs e dados de controle da TCCB recebidos na unidade de controle 110 para controlar um dispositivo, por exemplo, o dispositivo de E/ S 112 através da ligação 126. A lógica de controle CU 802 envia comandos e dados do dispositivo para o dispositivo de E/ S 112, bem como recebe informações de estado e outro feedback do dispositivo de E/ S 112. Por exemplo, o dispositivo de E/ S 112 pode estar ocupado devido a uma solicitação de reserva anterior direcionada ao dispositivo de E/ S 112. Para gerenciar potenciais problemas de contenção de reserva de dispositivo que possam surgir quando a unidade de controle 110 recebe múltiplas solicitações para acessar ao mesmo dispositivo de E/ S 112, a lógica de controle CU 802 mantém o registro e armazena mensagens de dispositivo ocupado e dados associados numa fila de dispositivo ocupado 804.
[0056] A lógica de controle CU 802 pode aceder e controlar outros elementos dentro da unidade de controle 110, tais como temporizadores CU 806 e registadores CU 808. Os temporizadores CU 806 podem incluir funções de temporizador múltiplas para rastrear o tempo que uma sequência de operações de E / completo. Os temporizadores CU 806 podem ainda incluir um ou mais temporizadores de contagem decrescente para monitorizar e anular operações de E/ S e comandos que não terminam dentro de um periodo predeterminado. Os registros CU 808 podem incluir valores fixos que fornecem informações de configuração e estado, bem como informação de estado dinâmico que é atualizada à medida que os comandos são executados pela lógica de controle CU 802. A unidade de controle 110 pode incluir outros elementos tampão ou de memória (não representados) para armazenar múltiplas mensagens ou informação de estado associadas com comunicação entre o canal 124 e o dispositivo de E/ S 112. Os registros CU 808 podem incluir um parâmetro de troca de unidade de controle mínimo que define o número máximo de trocas de unidade de controle abertas que a unidade de controle 110 suporta.
[0057] O canal 124 no subsistema de canal 108 inclui múltiplos elementos para suportar a comunicação com a unidade de controle 110. Por exemplo, o canal 124 pode incluir a lógica de controle CHN 810 que faz interface com os temporizadores de subsistema CHN 812 e os registros de subsistema CHN 814. Numa concretização exemplar, a lógica de controle CHN 810 controla a comunicação entre o subsistema de canal 108 e a unidade de controle 110. A lógica de controle CHN 810 pode interagir diretamente com a lógica de controle CU 802 através da ligação 120 para enviar comandos e receber respostas, tais como ordens de transporte e IUs de resposta. Alternativamente, podem ser colocadas interfaces de mensagens e/ ou memórias intermediárias (não representadas) entre a lógica de controle CHN 810 e a lógica de controle CU 802. Os temporizadores de subsistema CHN 812 podem incluir funções de temporizador múltiplas para rastrear quanto tempo uma sequência de operações de E/S leva para ser concluída, em adição ao tempo rastreado pela unidade de controle 110. Os temporizadores de subsistema CHN 812 podem ainda incluir um ou mais contadores regressivos para monitorar e abortar sequências de comandos que não terminem dentro de um período predeterminado. Os registros de subsistema CHN 814 podem incluir valores fixos que fornecem informações de configuração e de status, bem como informações de status dinâmico, atualizadas à medida que os comandos são transportados e as respostas são recebidas.
[0058] O quadro de resposta do comando FICON (CMR) da unidade de controle não faz parte da Extensão do Canal de Fibra (FCX), protocolo de modo de transporte. A remoção do CMR do protocolo modo de transporte ajuda a melhorar o desempenho da FCX. 0 CMR em FICON informa o canal que a unidade de controle recebeu e faz o envio de canal executar o comando. Quando o canal FICON recebe o CMR, o canal marca o subcanal como "subcanal e dispositivo ativo".
[0059] Em todos os ambientes de computação, interrupções em vários dispositivos de E/ S podem ocorrer. Se um sistema operacional que solicitou uma operação em um dispositivo de E/ S não consegue detectar uma interrupção, isso pode causar operações em um sistema de processamento de dados para abrandar e, finalmente, cessar. Um handler de interrupção de falha (MIH) é um mecanismo incluídos, por exemplo, no sistema operacional 103 que é útil na detecção de interrupções perdidas sincronizando operações de E/ S que estão em andamento e determinando se o tempo levado por um dispositivo de E/ S para executar uma operação excedeu uma quantidade predeterminada "normal" de tempo atribuído ou conjunto para a execução da operação. Se o tempo de MIH é atingido, e o dispositivo de E/ S não completou a execução da operação, esta é uma indicação de que uma interrupção pode ter sido perdida, uma falha de link ocorreu, uma falha de adaptador ocorreu, ocorreu um erro de unidade de controle, ou uma reserva foi realizada por um sistema de compartilhamento por mais tempo do que o esperado.
[0060] Quando o MIH de sistema operacional expira para EICON, ou seja, o tempo de MIH é atingido, ele olha para ver se o subcanal foi ou não foi marcado "sub-canal e dispositivo ativo" para determinar quais medidas tomar em seguida. Para FCX, o subcanal permanece "Inicio pendente" durante toda a operação. Assim, com FCX, quando MIH expira, o sistema de operação de E/ S pode não informar o estado da operação E/ S, porque o estado subcanal permanece "Inicio pendente" para toda a operação.
[0061] De acordo com um aspecto da presente invenção, imediatamente antes de um tempo limite de interrupção de falha, por exemplo, um segundo antes do tempo MIH ser atingido, o sistema operacional utiliza um comando interrogar para determinar o estado da operação de E/ S da unidade de controle. O comando interrogar pode ser iniciado com uma instrução de cancelar subcanal antes do tempo previsto para a conclusão da execução da operação de E/ S decorrido, e a operação de E/ S não foi concluída.
[0062] Há vários benefícios do comando interrogar. Por exemplo, o comando interrogar é executado quando um tempo limite MIH está prestes a ocorrer, removendo assim a necessidade de um CMR em cada operação de E/ S. A remoção da obrigação de o CMR em cada operação de E/ S melhora o desempenho FCX reduzindo o tráfego de tecido e overhead de canal e adaptador. Além disso, o comando interrogar transfere informações para a unidade de controle sobre o sistema operacional para o registro pela unidade de controle se ocorrer um tempo limite. Outra vantagem é que a unidade de controle fornece informações de estado detalhadas sobre a operação de E/S de volta para o sistema operacional, enquanto que a CMR para EICON apenas indica que a unidade de controle está a executar a E/ S. Além disso, se uma operação de E/ S é perdida, as informações trocadas pelo comando interrogar são muito úteis para a determinação de problemas.
[0063] Implementação do interrogatório aqui descrito envolve uma instrução de cancelar subcanal e um campo de endereço de TCW de Interrogação em uma TCW e é descrita a partir da perspectiva subsistema de canal, um comando interrogar e resposta a partir da perspectiva subsistema de canal, e um comando de interrogar e resposta do controle perspectiva da unidade. Cada um destes é descrito abaixo.
[0064] Uma concretização exemplar de uma palavra de controle de transporte (TCW) 900 está representada na figura 9. A TCW 900 é utilizada pelo canal 124 para configurar a operação de E/ S e não é enviado para a unidade de controle 110. A TCW representada na figura 9 é para a implementação do interrogatório a partir da perspectiva subsistema de canal.
[0065] Numa TCW 900 exemplar representada na figura 9, um campo de formato 902 igual a, por exemplo, "00b" indica que o que se segue é uma TCW 900. A TCW 900 também inclui um campo de tag 906. Os primeiros cinco bits do campo de tag 906 estão reservados para uso futuro e são definidos a zero. O sexto bit do campo de tag 906 é um flag de endereço de dados TIDAL. Numa concretização exemplificativa, o flag de endereço de dados TIDAL é ajustado para um quando o campo de endereço de dados 914 contém um endereço de uma TIDAL. Se o flag endereço de dados TIDAL é definido como zero, então o campo de endereço de dados 914 contém um endereço de dados. O sétimo bit do campo flag 906 é um flag TCCB TIDAL. Numa concretização exemplificativa, o flag TCCB TIDAL é definido como um em que o campo de endereço TCCB 922 contém o endereço de um TCCB TIDAL. Se o flag TCCB TIDAL está definido para zero, então o campo de endereço TCCB 922 aborda diretamente o TCCB. Os bits oito a vinte e quatro do campo de flag 906 são reservados para uso futuro. O campo 907 pode ser reservado para uso futuro.
[0066] A TCW 900 também inclui um campo de comprimento de TCCB 910, o que representa indiretamente o comprimento do TCCB e pode ser utilizada para determinar o comprimento real do TCCB. Um campo de R/ W 910 inclui bits de leitura/ escrita utilizados para indicar se os dados são lidos e/ ou escritos como um resultado da execução da TCW 900. Numa concretização exemplificativa, o bit de leitura nos bits de leitura / gravação é ajustado para um para indicar que os dados de entrada são transferidos a partir de um dispositivo de E/ S 112 para armazenamento do sistema (por exemplo, a memória principal 102) no sistema host 101, como um resultado da execução da TCW 900. O bit de escrita nos bits de leitura/ escrita é ajustado para um para indicar que os dados de saida estão sendo transferidos a partir do armazenamento do sistema (por exemplo, a memória principal 102) no sistema host 101 para um dispositivo de E/ S como um resultado da execução da TCW 900. O campo 912 pode ser reservado para uso futuro.
[0067] O campo de endereço 914 pode incluir um endereço direto ou um endereço indireto para os 6 bits de campo de flag. O conteúdo do campo de endereço 914 pode ser um endereço de uma TIDAL (uma lista de palavras de endereço de dados de modos de transporte indireto) para dados de saida ou o real endereço dos dados de saida. O conteúdo do campo de endereço 914 pode ser um endereço de uma TIDAL para os dados de entrada ou do endereço real dos dados de entrada. Numa concretização exemplar, o endereço de dados de saida e o endereço de dados de entrada são incluídos num único campo 914, e um campo 916 está reservado para uso futuro. Alternativamente, o endereço de dados de saida e o endereço de dados de entrada podem ser divididos entre os campos 914 e 916 .
[0068] A TCW 900 também inclui um campo de transporte de status do bloco de endereços 920. Uma porção (por exemplo, a parte de estado estendido) de um status de conclusão em uma resposta de transporte IU para uma operação de E/ S é armazenado neste endereço. O campo de endereço de TCCB 922 na TCW 900 inclui um endereço onde o TCCB está localizado no armazenamento do sistema. Este é o bloco de controle onde as DCWs a serem executadas para TCW 900 residem. Além disso, tal como descrito no bit 7 do campo de flag, o conteúdo do campo de endereço do TCCB 922 pode ser um endereço de uma TIDAL para o TCCB ou do endereço real do TCCB. Um campo de contador de bytes de dados 924 na TCW 900 indica a quantidade de dados de saida para ser transferido pela TCW para uma operação de saida, ou a quantidade de dados de entrada para ser transferido pela TCW para uma operação de entrada. O campo 926 pode ser reservado para uso futuro. Alternativamente, os dados de saida contar e os dados de entrada informações de contagem pode ser dividida entre os campos 924 e 926. Vários campos adicionais na TCW 900 são reservadas: campo reservado 928, campo reservado 930 e campo reservado 932 .
[0069] De acordo com um aspecto da invenção, a TCW 900 é expandida, por exemplo, de 32 bytes para 64 bytes, para permitir mais espaço para as funções futuras. Uma tal função é uma função de interrogação, tornada possivel por um campo de endereço de TCW de interrogação 934 que contém um valor de interrogação que indica se uma interrogação deve ser realizada se uma E/ S não for concluída em um periodo de tempo estipulado. O campo de endereço de TCW de interrogação 934 pode conter o endereço de outra TCW e pode ser usado pelo canal 124 para interrogar o estado de uma operação no âmbito da iniciativa de uma instrução de cancelar subcanal de E/ S, explicado em detalhes abaixo.
[0070] A TCW 900 pode ser configurada pelo software a ser utilizado pelo canal para conduzir as operações de E/ S. A TCW representada na figura 9 é um exemplo de como uma palavra de comando pode ser configurada. Outras configurações são possíveis, onde campos adicionais são incluídos e/ ou campos representados na figura 9 não estão incluídos.
[0071] De acordo com um aspecto da presente invenção, uma instrução de cancelar subcanal é executada para determinar o estado da unidade de controle, se o subcanal de inicio de FCX já tiver sido enviado para um canal. Se o subcanal é "Inicio pendente", e o subcanal de inicio tiver sido enviado para o canal, e o valor do campo de endereço de TCW de interrogar na TCW não é zero, então o cancelamento de instruções enfileira um comando interrogar no subcanal que pode ser enviado para a unidade de controle pelo subsistema de canal. Este comando de interrogar pode fazer com que as informações sejam retornadas a partir da unidade de controle sobre o estado da operação a ser interrogado, em uma fase de transferência de dados ou na parte de estado estendido da resposta de transporte IU. O protocolo da operação interrogar pode ser implementado como se segue.
[0072] Se uma operação de E/ S de FCX está ativa, o endereço TCW de Interrogar na TCW para a operação de E/ S é usado para apontar para uma TCW de interrogar. Se o canal encontra um valor de zero de Endereço de TCW de Interrogar, o canal não irá iniciar a interrogação. Antes de um tempo limite de falha de interrupção (MIH), o sistema operacional atualiza a palavra de Endereço de TCW de Interrogar na TCW com o endereço de TCW de Interrogar se o sistema operacional quer interrogar o dispositivo E/ S. Se o OS só quer enviar a instrução de cancelar sem a realização de um interrogatório, em seguida, o sistema operacional deixa a Endereço de TCW de Interrogar na TCW definido como zero. A iniciativa de interrogar é então passada para o subsistema de canal com a instrução de cancelar. A instrução cancelar executa o cancelamento corrente arquitetado, mas se o subcanal for "Inicio pendente" com um subcanal de inicio de FCX e o inicio foi passado para o canal, então o subsistema de canal é dado a iniciativa de interrogar a unidade de controle.
[0073] De acordo com aspectos da invenção, se o subcanal for ocioso, interrupção pendente com o status primário ou de alerta, ou é um dispositivo ativo somente, a iniciativa de emitir o comando interrogar é descartado. Se o canal recebe a iniciativa de interrogar em um subcanal "inicio pendente", e o inicio ainda está na fila no canal, o canal descarta a iniciativa de interrogar. Se o canal recebe a iniciativa de interrogar, e o canal já tem uma operação interrogar em andamento, o canal descarta a nova iniciativa de interrogar.
[0074] Se o canal recebe a iniciativa para interrogar uma UA que está pendente de inicio e tem uma troca aberta para a unidade de controle, o subsistema de canal executa a interrogação. De acordo com um aspecto da invenção, na execução da interrogação, o subsistema de canal faz o seguinte. O subsistema de canal obtém o endereço de TCW de Interrogar na TCW atual para obter o valor de ponteiro para buscar a TCW de Interrogar. Se o ponteiro é todos os zeros, o canal descarta o interrogatório. Neste caso, o sistema operacional quer fazer uma instrução cancelar, mas não um interrogatório. Se o ponteiro é válido, o subsistema de canal continua. 0 subsistema de canal abre uma nova troca e envia a DCW interrogar dentro de um TCCB, dirigida pela TCW interrogar, à unidade de comando em um comando de transporte IU. Esta operação é sincronizada pelo canal para a sua conclusão. Se a operação de interrogar não completar no espaço de tempo definido pelo canal, o canal tanto aborta a operação interrogar e a operação que está a ser interrogada. 0 subcanal é então devolvido para o sistema operacional com o status de verificação de controle de interface.
[0075] A unidade de controle recebe e executa o comando interrogar, transferindo as informações interrogar sobre a UA de volta para o subsistema de canal na IU de resposta de transporte ou como IU de dados com base no comando na IU de comando de transporte. A operação original que está ativa na UA que está sendo interrogada não é afetada. O subsistema de E/ S pode gerar um status intermediário de interrupção com um bit de interrogação completa definido para um que relata a conclusão da interrogação para o sistema operacional.
[0076] De acordo com um aspecto da presente invenção, o comando interrogar é um comando único que pode ser o mesmo para todos os tipos de unidades de controle que suportam FCX. A IU de comando de transporte para uma interrogação contém apenas uma DCW. Este comando de DCW de interrogação pode ter até 232 bytes de dados de controle associados, o que pode ser uma informação que é transmitida para a unidade de controle, indicando por que a interrogação está sendo executada.
[0077] O comando interrogar transporta informação incluida na DCW de interrogar 1010 e os dados de controle de interrogar 1020 que fazem parte de um comando interrogar 1000 como mostrado na figura 10. A unidade de controle responde com a IU de resposta de transporte que retorna informações sobre a operação de E/ S de volta para o OS. O formato das informações devolvidas na IU de resposta de transporte de acordo com um aspecto da invenção é mostrado como número 1100 na figura 11.
[0078] A figura 10 representa uma concretização de uma DCW 1000 de acordo com um aspecto da presente invenção. Numa concretização exemplar, a DCW 1000 tem oito bytes de comprimento, mais o comprimento no campo de contagem de dados de controle 1014. A DCW inclui um campo de comando 1011, um campo de flag 1012, um campo reservado 1013, um campo de contagem de dados de controle (CD) 1014, e um campo de contagem de byte de dados 1015, 1016, 1017 e 1018. O campo de comando de DCW 1011 tem um byte de comprimento e é o mesmo que o byte de comando de CCW utilizado numa CCW (mas pode incluir códigos de comando adicionais não utilizados por uma CCW). O campo de flag 1012 inclui oito bits. Numa concretização exemplar, o segundo bit é um comando de cadeia para a próxima DCW 1000 num TCCB. Quando este bit de flag está definido para zero, indica que esta é a última DCW 1000 do programa de DCW no TCCB. Os outros bits no campo de flag 1016 são reservados e definidos para zero. Uma DCW de interrogar 1000 tem um campo de código de comando de DCW 1011 contendo um 40 hex. O campo de contagem de dados de controle 1014 indica a quantidade de dados de controle de interrogação que está incluída com a DCW. Os campos 1015- 1018 incluem a contagem de dados de 4 bytes de dados de leitura que pode ser transferida pela DCW de interrogar.
[0079] Se a contagem de dados de controle 1014 do DCW de interrogar é maior do que zero, então os dados de controle de interrogar são especificados na DCW. Os dados de controle de interrogar 1020 enviados para a unidade de controle é para fins de registro dependentes do dispositivo e é usado para ajudar na depuração de tempos limite de E/ S.
[0080] De acordo com um aspecto da invenção, os dados de controle de interrogação 1020 tem o formato descrito abaixo. Com referência à figura 10, byte 0 da palavra 0 {campo Fmt 1021} dos dados de controle de interrogação 1020 contém um valor inteiro não sinalizado que define o layout ou formato (FMT) dos dados de interrogação. O byte 1 da palavra 0 (campo RC 1022) contém um valor inteiro não sinalizado ou código de razão (RC), que indica a razão pela qual uma operação de interrogação foi iniciada pelo sistema operacional. O significado dos valores de RC pode ser como a seguir. 0 Razão de interrogação não é especificado. 1 Tempo limite: tempo limite detectado por programa para a operação que está sendo interrogada. 2-255 Reservados.
[0081] O byte 2 da palavra 0 dos dados de controle de interrogação (campo RCQ 1023) contém um valor inteiro não assinado que indica a informação adicional sobre a razão da operação de interrogação ter sido iniciada, referido como o Qualificador de Código de Razão (RCQ). Quando o campo RC 1022 contém o valor de um, o significado dos valores RCQ pode ser como a seguir: 0 Qualificador de razao de interrogação não especificado. 1 Primário: 0 tempo limite é detectado pelo programa primário. 2 Secundário: 0 tempo limite é detectado pelo programa secundário. 3-255 Reservados.
[0082] Quando o campo de RC 1022 não contém o valor um, o RCQ pode não ter significado.
[0083] O byte 3 da palavra 0 (campo LPM 1024} contém a máscara de percurso lógico (LMP) que foi usada quando a operação que está sendo interrogada estava iniciando por um comando de inicio de subcanal.
[0084] Referindo-se à palavra 1 dos dados de controle de interrogação, o byte 0 da palavra 1 (campo PAM 1025} contém um valor de uma Máscara de Percurso Disponível (PAM) no momento que a operação de interrogação é iniciada. O byte 1 de palavra 1 (campo PIM 1026) contém um valor de uma máscara de percurso instalado (PIM) no momento em que é iniciada a operação de interrogação. Os bytes 2-3 da palavra 1 (campo Tempo limite 1027) são indicativos de um valor de tempo limite que indica um tempo previsto para a conclusão da operação de E/ S. Quando o campo RC 1022 contém o valor de um campo RCQ 1023 contém o valor de um ou dois, bytes 2- 3 da palavra 1 contêm o intervalo de tempo limite usado pelo programa em segundos inteiros não sinalizados.
[0085] Referindo-se à palavra 2 dos dados de controle de interrogação 1020, byte 0 (campo Flags 1028) contém flags que têm informações sobre a interrogação. O significado de cada bit de flag pode ser dado como a seguir: Bit 0 Modo de múltiplos percursos. Bit 1 Recuperação de percurso de programa. A interrogação é emitida durante o percurso de recuperação pelo programa. Bit 2 Critico. 0 dispositivo é um dispositivo critico para o programa. Bits 3-7 Reservados.
[0086] Como mostrado na figura 10, bytes 1-3 da palavra 2 (campo 1029} e bytes 0-3 da palavra 3 (campo 1030} também podem ser reservados para uso futuro. As palavras 4- 5 (campo Tempo, 1040) podem conter informações sobre a hora que a operação de interrogação foi iniciada. As palavras 6- 7 (campo 1050} podem conter um identificador de programa para identificar o programa que iniciou a operação de interrogação. O conteúdo deste campo pode ser dependente do programa. As palavras 8-N (campo 1060) podem conter informação que depende do programa.
[0087] A informação do status final para o comando de interrogação pode ser ajustada pela unidade de controle de uma carga útil de IU de resposta de transporte, como mostrado na figura 11. Na IU de resposta de transporte 1100, palavras 0-7 podem conter uma carga útil de status 1110, incluindo o status final e flags de status. As palavras 8- 23 podem conter uma carga útil de status estendida 1120, que pode ser armazenada no endereço de bloco de status na memória z pelo endereço do bloco de status de transporte na TCW para a interrogação.
[0088] Como mostrado na figura 11, a palavra de 8 bytes 0 (campo ES 1121), contém o comprimento de status estendido (ES), que indica o tamanho da carga de ES. A palavra 8, byte 1 (campo flags ES 1122) inclui flags ES. Os bits de flag 5-7 indicam o código do tipo. O código de tipo define o formato da área de status da carga útil ES. 0 código de tipo para uma interrogação é 3. A codificação de três bits definindo a área de status pode ser dada a seguir: 0 Código de Tipo 0. Nenhuma informação nas áreas de status. 1 Código de tipo 1. Status de fim de E/ S válido. 2 Código de tipo 2. Status de erro encerrado. 3 Código do tipo 3. O status estendido é uma resposta de interrogação, e o formato é mostrado na figura 11. 4-7 Reservado.
[0089] A palavra 8, bytes 2 e 3 {campo de status 1123} e a palavra 9 (campo de status 1124) contêm informações indicando um status da operação de E/ S. Para a operação de E/ S, o valor nestes campos pode ser zero para uma interrogação.
[0090] As palavras 11-23 da carga útil de status de transporte estendido 1120 pode ser a área de status de interrogação. O byte 0 da palavra 11 (campo Formato 1126) contém um valor inteiro não sinalizado que define o layout da área de status de interrogação. Se o valor deste campo é zero, os conteúdos do status de interrogação são insignificantes. As seguintes definições de área de status de interrogação se aplicam quando o byte de formato é definido para um (01h).
[0091] O byte 1 da palavra 11 (campo Flags 1127) contém informações sobre a área de status de interrogação. O significado de cada bit de flag pode ser dado como a seguir: Bit 0 Estado de controle de largura válido: Quando o bit 0 é um, o campo de estado da unidade de controle contém informações significativas. Quando o bit 0 é zero, o campo de estado da unidade de controle não tem nenhum significado. Bit 1 Estado de dispositivo válido: Quando o bit 1 é um, o campo de estado do dispositivo contém informações significativas. Quando o bit 1 é zero, o campo de estado do dispositivo não tem nenhum significado. Bit 2 Estado de operação válido: Quando o bit 2 é um, o campo de operação de estado contém informações significativas. Quando o bit 2 é zero, o campo de estado de operação não tem significado. Bits 3-7 Reservados.
[0092] O byte 2 da palavra 11 (campo de estado de unidade de controle 1128) contém um inteiro não sinalizado de 8 bits que indica um estado atual da unidade de controle para o dispositivo de E/ S. O significado de cada valor pode ser determinado como a seguir: 0 Ocupado: A unidade de controle está ocupada, e o campo de dados dependente do dispositivo pode conter informações adicionais sobre o estado ocupado. 1 Recuperação: A unidade de controle está realizando um processo de recuperação, e o campo de dados dependente do dispositivo pode conter informações adicionais sobre o estado de recuperação. 2 Interrogação máxima: A unidade de controle está executando o número máximo de operações de interrogação que ela suporta. 3-127 Reservados. 128-255 Significados dependentes do dispositivo.
[0093] O byte 3 da palavra 11 (campo de estado do dispositivo 1129) contém um inteiro não sinalizado de 8 bits que indica um estado atual do dispositivo E/ S. O significado deste byte pode ser dado a seguir: 0 Identificação de grupo de percurso: O campo de informação dependente do estado contém informações que identificam um grupo de percurso que tem o dispositivo reservado. 1 Ocupado Longo: A unidade de controle está em um estado de ocupado longo. O significado de ocupado longo depende do dispositivo, e o campo dependente do dispositivo pode conter informações adicionais sobre o estado de ocupado longo. 2 Recuperação: O dispositivo está realizando um processo de recuperação. 3-127 Reservado. 128-255 Significados dependentes do dispositivo.
[0094] O byte 0 de palavra 12 (estado de campo de operação 1030) contém um número inteiro sem sinal de 8 bits que indica se uma operação de E/ S está presente no dispositivo e, quando presente, o estado da operação. O significado deste valor de byte pode ser dado como a seguir. 0 Nenhuma operação E/ S está presente. 1 Uma operação E/ S está presente e em execução. 2 Uma operação E/ S está presente e aguardando a conclusão de uma operação E/ S que foi iniciada por uma outra configuração. 3 Uma operação de E/ S está presente e aguardando a conclusão de uma operação de E/ S, que foi iniciada a partir do mesmo ponto do dispositivo. 4Uma operação de E/ S está presente e esperando para executar uma operação dependente do dispositivo. 5-127 Reservados. 128-255 Significados dependentes do dispositivo.
[0095] O campo 1031 pode ser reservado para uso futuro.
[0096] As palavras 13-15 (campo 1140) podem conter informações dependente do estado. O conteúdo deste campo depende do dispositivo. Se este campo tem significado é designado pelo CS, DS, e os campos OS 1128, 1129, e 1130, respectivamente.
[0097] A palavra 16 (campo 1150) pode conter um identificador de nivel de dispositivo ou token que identifica o nivel de implementação do dispositivo.
[0098] Palavras 17-23 (campo 1160) podem conter informações dependentes do dispositivo. Se este campo tem significado pode ser designado pelo CS, DS e campos OS 1128, 1129, e 1130, respectivamente.
[0099] De acordo com concretizações exemplares, a partir do estado de unidade de controle, o estado do dispositivo e informações sobre o estado operacional retornados na IU de resposta de transporte para uma interrogação, o OS 103 pode tomar uma decisão informada sobre as medidas a tomar no que diz respeito a uma operação de E/ S que está demorando mais do que um certo tempo para ser concluída.
[0100] A figura 12A ilustra um método que utiliza o sistema operacional para decidir quando solicitar o estado de uma operação de E/ S da unidade de controle de acordo com aspectos da invenção. Quando um pop temporizador ocorre na etapa 1265, o handler de interrupção de falha (MIH) do sistema operacional recebe o controle na etapa 1270. Por exemplo, o MIH recebe controlar uma vez por segundo depois de um pop temporizador ocorre. A MIH varre todas as operações E/ S ativas que tenham sido emitidas por todos os aplicativos, middleware e subsistemas em execução no sistema operacional na etapa 1271. A determinação é feita na etapa 1272 se uma operação E/ S está prestes a expirar, por exemplo, dentro de um segundo do tempo limite para a operação de E/ S. Se assim for, a determinação é feita se a operação de E/ Sé para o modo de transporte (FCX) na etapa 1273. Se a operação de E/ Sé para o modo de transporte, em seguida, uma DCW de interrogar é construída, e a TCW ativa é atualizada para apontar para o comando de interrogar na etapa 1250. Caso contrário, o processo prossegue a partir da etapa 1274 para a etapa 1278 em que "herança"convencional de processamento MIH é realizada. A partir da etapa 1250, o processamento MIH continua na fase 1271 ou termina na etapa 1290, até um temporizador pop ocorrer, por exemplo, um segundo mais tarde na etapa 1265. Se, na etapa 1272, determina-se que a operação de E/ S não está prestes a expirar, em seguida, é feita uma verificação para ver se o tempo de operação E/ S excedeu o tempo alocado na etapa 1275. Se a operação de E/ S não excedeu o seu tempo previsto, então o processamento de herança tradicional (convencional) MIH ocorre na etapa 1278. Se o tempo de operação E/ S, efetivamente, expira, em seguida, é feita uma verificação para ver se o comando de interrogar foi emitido na etapa 1276. Se o comando de interrogar não tiver sido emitido, esta é uma indicação de que o comando não foi um comando do modo de transporte (FCX), e processamento de recuperação de herança MIH é realizado 1278. Se, no entanto, é determinado na etapa 1276 que o comando de interrogar foi emitido e foi concluido com êxito, em seguida, os resultados de interrogação são examinados na etapa 1279 para determinar se o dispositivo é reservado para outro sistema. Se a informação de interrogar indica que o dispositivo está reservado para outro sistema 1140, então não há erro, e uma falta de interrupção não ocorreu. Assim, o processamento termina 1290. Se o dispositivo não está reservado para algum outro sistema, as informações retornadas pela interrogação são colocadas em um registro a ser escrito para o conjunto de dados LOGREC de sistema para fins de diagnóstico na etapa 1277. O processamento, em seguida, continua com o processamento de herança MIH na etapa 1278.
[0101] A figura 12B ilustra um método para determinar um estado de uma operação de E/ S de acordo com aspectos da invenção. Uma solicitação para iniciar uma operação de E/ S é enviada de um sistema operacional 103 para o subsistema de canal 108 na etapa 1205 e a uma unidade de controle 110, na etapa 1207. Na etapa 1210, a solicitação é recebida e processada na unidade de controle 110. Se a operação de E/ S se aproxima do fim do seu tempo de execução atribuído, tal como descrito no parágrafo anterior, a operação de interrogar é iniciada pelo sistema operacional, na etapa 1250 mostrada tanto na figura 12A quanto na figura 12B.
[0102] A interrogação começa na etapa 1250 na qual o sistema operacional 103 configura os blocos de controle de interrogação na memória do sistema 102 e envia o subcanal de cancelamento para o subsistema de canal 108. O subsistema de canal 108 determina se a interrogação deve ser enviada para a unidade de controle. Se as condições acima descritas não são cumpridas para fazer uma interrogação, o processamento de herança MIH encerra a operação de E/ S e simula um erro de volta para o iniciador da E/ S. Se as condições de interrogação são atendidas, a solicitação de interrogação é enviada a partir do subsistema de canal 108 para a unidade de controle 110 na etapa 1225. Na etapa 1230, a unidade de controle 110 recebe a solicitação de interrogação. Na etapa 1235, a unidade de controle 110 envia uma resposta de interrogação para o subsistema de canal 108, que indica o estado da operação de E/ S, a unidade de controle 110, e o dispositivo de E/ S 112 executando a operação de E/ S de interrogação. Na etapa 1240, a resposta de interrogação é recebida no subsistema de canal 108, o que gera uma interrupção para o sistema operacional. O OS recebe a resposta de interrogação na etapa 1245, cria uma entrada LOGREC para gravar as informações de estado na unidade de controle e, em seguida, prossegue com o processamento de herança MIH como descrito acima.
[0103] Deve-se notar que nem todas as etapas mostradas na figura 12 precisam ser realizadas para determinar o estado de uma operação de E/ S. Além disso, a ordem das etapas mostradas nas figuras 12Ae 12B são exemplos de como os processos podem ser realizados. Além disso, etapas adicionais que não são mostradas nas figuras 12A e 12B podem ser realizadas.
[0104] Como descrito acima, concretizações podem ser incorporadas na forma de processos implementados em computador e aparelhos para a prática de tais processos. Em concretizações exemplares, a invenção é concretizada no código do programa de computador executado por um ou mais elementos de rede. As variantes compreendem um produto de programa de computador 1300, como representado na figura 13 em um meio legível por computador 1302 com a lógica de código de programa de computador 1304 contendo instruções incorporadas em meios tangíveis como um artigo de fabricação. Artigos exemplares de fabricação para meio legível por computador 1302 podem incluir disquetes, CD-ROMs, discos rígidos, drives flash de barramento serial universal (Universal Serial Bus - USB), ou qualquer outro meio de armazenamento legível por computador, em que, quando a lógica de código de programa de computador 1304 é carregada em e executado por um computador, o computador se torna um aparelho para praticar a invenção. As variantes compreendem lógica de código de programa de computador 1304, por exemplo, seja armazenado num meio de armazenamento, carregado em e/ ou executado por um computador, ou transmitido sobre algum meio de transmissão, tal como mais de fios elétricos ou cabos, através de fibras ópticas, ou via radiação eletromagnética, em que, quando a lógica de código de programa de computador 1304 é carregada em e executada por um computador, o computador se torna um aparelho para praticar a invenção. Quando implementado num microprocessador de uso geral, os segmentos de lógica de código de programa de computador 1304 configuram o microprocessador para criar circuitos lógicos específicos.
[0105] Embora a invenção tenha sido descrita com referência às concretizações exemplares, deverá ser entendido por aqueles versados na técnica que várias alterações podem ser feitas e equivalentes podem ser substituídos por elementos destes sem se afastarem do escopo da invenção. Além disso, podem ser feitas muitas modificações para adaptar uma situação particular ou um material aos ensinamentos da invenção sem afastamento do escopo essencial da mesma. Portanto, pretende-se que a invenção não seja limitada à concretização particular revelada como o melhor modo contemplado para realizar a presente invenção, mas que a invenção inclua todas as concretizações que caem dentro do escopo das reivindicações anexas. Além disso, o uso dos termos primeira, segunda, etc., não denota qualquer ordem ou importância, mas sim os termos primeiro, segundo, etc., são utilizados para distinguir um elemento de um outro. Além disso, a utilização dos termos um, uma, etc., não denotam um limite de quantidade, mas em vez denotar a presença de pelo menos um do item referenciado.

Claims (7)

1. Método para determinar o estado de uma operação de entrada / saida (E/S) em um sistema de processamento de E/S (100) compreendendo: receber, em um subsistema do canal (108), uma solicitação para a realização da operação de E/S de um sistema operacional de E/S; encaminhar a solicitação do subsistema de canal (108) para uma unidade de controle (110) que controla um dispositivo de E/S (112) para a execução da operação de E/S, caracterizado pelo fato de que: após uma pré-determinada quantidade de tempo que passa sem receber a indicação da unidade de controle (110) que a operação de E/S está concluída, receber, no subsistema de canal (108), uma solicitação de interrogatório do sistema operacional de E/S para determinar o estado da operação E/S; em resposta ao recebimento da solicitação de interrogatório no subsistema do canal (108), enviar um comando de interrogatório do subsistema de canal (108) para a unidade de controle (110) para determinar o estado da operação E/S; e receber, no subsistema de canal (108), uma resposta da unidade de controle (110) que indica o estado da operação E/S, em que a resposta inclui informações que indicam um estado do dispositivo E/S que executa a operação E/S, um estado da unidade de controle (110) que controla o dispositivo de E/S (112) que executa a operação E/S e o estado da operação E/S que está sendo executada.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a operação de E/S está associada a um periodo de tempo para a conclusão, e a quantidade de tempo pré-determinada é menor do que o periodo de tempo para a conclusão.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o comando de interrogatório inclui informação indicando o motivo e quando o comando de interrogatório foi enviado.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as informações incluídas na resposta que indica o estado da unidade de controle (110) indicam se a unidade de controle (110) está ocupada, está realizando uma operação de recuperação, ou está respondendo a outras solicitações de interrogatório.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as informações incluídas na resposta que indica o estado do dispositivo de E/S (112) indicam se o dispositivo de E/S (112) está reservado por um grupo de caminho ou outro sistema de processamento de E/S (100), se a unidade de controle (110) está em um estado muito ocupado, ou se o dispositivo de E/S (112) está realizando um processo de recuperação.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as informações incluídas na resposta que indica o estado das operações de E/S indicam se uma operação está presente, executando, aguardando a conclusão de uma outra operação de E/S, ou aguardando por desempenho de uma operação dependente do dispositivo.
7. Aparelho caracterizado pelo fato de que compreende meios adaptados para realizar todas as etapas do método, conforme definido em qualquer uma das reivindicações 1 a 6.
BRPI0908135-6A 2008-02-14 2009-02-09 comando de computador e resposta para determinar o estado de uma operação de e/s BRPI0908135B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/030,989 2008-02-14
US12/030,989 US8108570B2 (en) 2008-02-14 2008-02-14 Determining the state of an I/O operation
PCT/EP2009/051461 WO2009101056A2 (en) 2008-02-14 2009-02-09 Computer command and response for determining the state of an i/o operation

Publications (2)

Publication Number Publication Date
BRPI0908135A2 BRPI0908135A2 (pt) 2017-07-25
BRPI0908135B1 true BRPI0908135B1 (pt) 2020-10-13

Family

ID=40849178

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0908135-6A BRPI0908135B1 (pt) 2008-02-14 2009-02-09 comando de computador e resposta para determinar o estado de uma operação de e/s

Country Status (11)

Country Link
US (1) US8108570B2 (pt)
EP (1) EP2243086B1 (pt)
JP (1) JP4917175B2 (pt)
KR (1) KR101242959B1 (pt)
CN (1) CN101971154B (pt)
AT (1) ATE511675T1 (pt)
BR (1) BRPI0908135B1 (pt)
CA (1) CA2704136C (pt)
IL (1) IL207122A (pt)
MX (1) MX2010008886A (pt)
WO (1) WO2009101056A2 (pt)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040023379A (ko) * 2002-09-11 2004-03-18 이문기 과일을 첨가한 소시지의 제조방법
US7500023B2 (en) 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US7502873B2 (en) 2006-10-10 2009-03-10 International Business Machines Corporation Facilitating access to status and measurement data associated with input/output processing
US7899944B2 (en) 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O processing system
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
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
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
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
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
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
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
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8095847B2 (en) 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output 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
US7908403B2 (en) 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
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
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
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
US7904606B2 (en) 2008-07-31 2011-03-08 International Business Machines Corporation Transport control channel program chain linked branching
US8055807B2 (en) * 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US7937504B2 (en) 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US9015362B2 (en) 2010-07-16 2015-04-21 International Business Machines Corporation Monitoring network performance and detecting network faults using round trip transmission times
US8732357B2 (en) 2010-10-28 2014-05-20 International Business Machines Corporation Apparatus and method for dynamically enabling and disabling write XFR—RDY
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
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
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
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
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
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
CN103376404B (zh) * 2012-04-27 2017-06-13 富泰华工业(深圳)有限公司 芯片的输入/输出接口识别方法
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
JP6265192B2 (ja) * 2015-09-25 2018-01-24 コニカミノルタ株式会社 通信装置、通信システムおよびアプリケーションプログラム
US11275675B2 (en) 2020-03-31 2022-03-15 International Business Machines Corporation Validation of a subset of a plurality of responses during protocol testing

Family Cites Families (171)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1264096A (pt) 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
US4374415A (en) 1980-07-14 1983-02-15 International Business Machines Corp. Host control of suspension and resumption of channel program execution
US4455605A (en) 1981-07-23 1984-06-19 International Business Machines Corporation Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices
US4779188A (en) 1983-12-14 1988-10-18 International Business Machines Corporation Selective guest system purge control
JPS6154527A (ja) * 1984-08-24 1986-03-18 Hitachi Ltd デイスク制御装置
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 汎用チャネル制御方式
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
EP0412268B1 (en) 1989-08-11 1996-09-11 International Business Machines Corporation Apparatus for interconnecting a control unit having a parallel bus with a channel having a serial link
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 リモートチャネル装置の障害情報転送方式
JP2744113B2 (ja) * 1990-04-26 1998-04-28 株式会社東芝 計算機システム
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
JPH0553881A (ja) * 1991-08-29 1993-03-05 Mitsubishi Electric Corp ログアウト方式
US5388219A (en) 1992-03-02 1995-02-07 International Business Machines Corporation Efficient channel and control unit for host computer
CA2086691C (en) 1992-03-30 1997-04-08 David A. Elko Communicating messages between processors and a coupling facility
US5301323A (en) * 1992-10-30 1994-04-05 International Business Machines Corp. Data processing system including dynamic channel path management
JP2840511B2 (ja) 1992-12-10 1998-12-24 富士通株式会社 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法
US5526484A (en) 1992-12-10 1996-06-11 International Business Machines Corporation Method and system for pipelining the processing of channel command words
US5517670A (en) 1992-12-30 1996-05-14 International Business Machines Corporation Adaptive data transfer channel employing extended data block capability
US5461721A (en) 1993-04-14 1995-10-24 International Business Machines Corporation System for transferring data between I/O devices and main or expanded storage under dynamic control of independent indirect address words (IDAWs)
US5465359A (en) 1993-11-01 1995-11-07 International Business Machines Corporation Method and system for managing data and users of data in a data processing system
US5584039A (en) 1993-11-08 1996-12-10 International Business Machines Corporation System for coordinating execution of multiple concurrent channel programs without host processor involvement using suspend and resume commands to control data transfer between I/O devices
JP3528094B2 (ja) 1994-02-09 2004-05-17 株式会社日立製作所 バス利用方法および記憶制御装置
US5860022A (en) 1994-07-26 1999-01-12 Hitachi, Ltd. Computer system and method of issuing input/output commands therefrom
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
US5758190A (en) 1996-04-09 1998-05-26 International Business Machines Corporation Control unit threshold timeout controls for software missing interrupt handlers in operating systems
US5894583A (en) 1996-04-09 1999-04-13 International Business Machines Corporation Variable timeout method for improving missing-interrupt-handler operations in an environment having I/O devices shared by one or more systems
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
US5901327A (en) 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
JPH1011228A (ja) * 1996-06-24 1998-01-16 Fujitsu Ltd ディスクアレイ制御装置
TW384611B (en) 1997-02-14 2000-03-11 Canon Kk Data communication apparatus and method
US5918028A (en) 1997-07-08 1999-06-29 Motorola, Inc. Apparatus and method for smart host bus adapter for personal computer cards
JPH11175412A (ja) * 1997-12-12 1999-07-02 Nec Corp ディスク制御装置における状態情報採取方式及びプログラムを記録した機械読み取り可能な記録媒体
US6360282B1 (en) 1998-03-25 2002-03-19 Network Appliance, Inc. Protected control of devices by user applications in multiprogramming environments
US6353612B1 (en) 1998-06-19 2002-03-05 Brocade Communications Systems, Inc. Probing device
US6693880B2 (en) 1998-09-10 2004-02-17 International Business Machines Corporation System of controlling the flow of information between senders and receivers across links being used as channels
US6185631B1 (en) 1998-10-14 2001-02-06 International Business Machines Corporation Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6230218B1 (en) 1998-10-14 2001-05-08 International Business Machines Corporation Apparatus for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
JP3139548B2 (ja) * 1998-10-22 2001-03-05 日本電気株式会社 エラーリトライ方法、エラーリトライシステム及びその記録媒体
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
TW549004B (en) * 1999-06-15 2003-08-21 Matsushita Electric Works Ltd Portable programming device for supervisory remote control system
US6718139B1 (en) 1999-09-13 2004-04-06 Ciena Corporation Optical fiber ring communication system
US6651125B2 (en) * 1999-09-28 2003-11-18 International Business Machines Corporation Processing channel subsystem pending I/O work queues based on priorities
US6584511B1 (en) 2000-03-24 2003-06-24 Unisys Corporation Loop initialization procedure exception handling for fibre channel transmissions
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
US6633925B2 (en) 2000-09-29 2003-10-14 Emc Corporation Operating system for generating overlapped input-output requests to a device in a disk array storage
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
US6898202B2 (en) 2001-06-27 2005-05-24 International Business Machines Corporation Method, apparatus and computer program for informing a requesting device of port configuration changes in a computer network switching device
US20030056000A1 (en) 2001-07-26 2003-03-20 Nishan Systems, Inc. Transfer ready frame reordering
US7315911B2 (en) 2005-01-20 2008-01-01 Dot Hill Systems Corporation Method for efficient inter-processor communication in an active-active RAID system using PCI-express links
US6754738B2 (en) 2001-09-28 2004-06-22 International Business Machines Corporation Low overhead I/O interrupt
US6859866B2 (en) 2001-10-01 2005-02-22 International Business Machines Corporation Synchronizing processing of commands invoked against duplexed coupling facility structures
US6745299B2 (en) 2001-11-19 2004-06-01 Hewlett-Packard Development Company, L.P. Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms
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
US7543087B2 (en) 2002-04-22 2009-06-02 Alacritech, Inc. Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device
US7120728B2 (en) 2002-07-31 2006-10-10 Brocade Communications Systems, Inc. Hardware-based translating virtualization switch
CN1214592C (zh) * 2002-08-06 2005-08-10 华为技术有限公司 多通道数据直接内存访问系统和方法
US7107385B2 (en) 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US6826661B2 (en) 2002-08-30 2004-11-30 Veritas Operating Corporation Methods and systems for storage architectures
US20040054776A1 (en) 2002-09-16 2004-03-18 Finisar Corporation Network expert analysis process
US7539777B1 (en) 2002-10-25 2009-05-26 Cisco Technology, Inc. Method and system for network time protocol forwarding
US7080094B2 (en) 2002-10-29 2006-07-18 Lockheed Martin Corporation Hardware accelerated validating parser
US7386704B2 (en) 2002-10-31 2008-06-10 Lockheed Martin Corporation Pipeline accelerator including pipeline circuits in communication via a bus, 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
US7058735B2 (en) 2003-06-02 2006-06-06 Emulex Design & Manufacturing Corporation Method and apparatus for local and distributed data memory access (“DMA”) control
TWI271626B (en) 2003-06-17 2007-01-21 Delta Electronics Inc Data transmission method for microprocessors of programmable logic controller
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7124207B1 (en) 2003-08-14 2006-10-17 Adaptec, Inc. I2O command and status batching
US7149823B2 (en) 2003-08-29 2006-12-12 Emulex Corporation System and method for direct memory access from host without processor intervention wherein automatic access to memory during host start up does not occur
JP2005115600A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd 情報処理装置及び方法
US7558827B2 (en) * 2003-10-17 2009-07-07 Nippon Telegraph And Telephone Corporation Mail distribution system, mail distribution method, and mail distribution program
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
US7382733B2 (en) 2004-02-12 2008-06-03 International Business Machines Corporation Method for handling reordered data packets
US7133988B2 (en) 2004-02-25 2006-11-07 Hitachi, Ltd. Method and apparatus for managing direct I/O to storage systems in virtualization
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
US7711871B1 (en) 2004-08-30 2010-05-04 Crossroads Systems, Inc. Interface device and method for command processing
US7443798B2 (en) 2004-09-03 2008-10-28 Agere Systems Inc. Transmit adaptive equalization for communication system with one or more serial data channels
US7577772B2 (en) 2004-09-08 2009-08-18 Qlogic, Corporation Method and system for optimizing DMA channel selection
GB2419198A (en) 2004-10-14 2006-04-19 Hewlett Packard Development Co Identifying performance affecting causes in a data storage system
US7398335B2 (en) 2004-11-22 2008-07-08 Qlogic, Corporation Method and system for DMA optimization in host bus adapters
JP4575119B2 (ja) 2004-11-25 2010-11-04 株式会社日立製作所 ストレージシステム
US7164425B2 (en) 2004-12-21 2007-01-16 Qlogic Corporation Method and system for high speed network application
US7672323B2 (en) 2005-01-14 2010-03-02 Cisco Technology, Inc. Dynamic and intelligent buffer management for SAN extension
US7526633B2 (en) 2005-03-23 2009-04-28 Qualcomm Incorporated Method and system for encoding variable length packets with variable instruction sizes
JP2006277583A (ja) 2005-03-30 2006-10-12 Hitachi Ltd データ処理システム、データ処理方法、及びプログラム
US7970953B2 (en) 2005-06-30 2011-06-28 Intel Corporation Serial ATA port addressing
JP2007058646A (ja) 2005-08-25 2007-03-08 Hitachi Ltd データ処理システム
US20070072543A1 (en) 2005-09-06 2007-03-29 Nokia Corporation Enhanced signaling of pre-configured interaction message in service guide
US7577773B1 (en) 2005-09-09 2009-08-18 Qlogic, Corporation Method and system for DMA optimization
JP4527640B2 (ja) 2005-09-15 2010-08-18 株式会社ソニー・コンピュータエンタテインメント データ読出装置
JP2007122108A (ja) 2005-10-25 2007-05-17 Hitachi Ltd セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御
US7484021B2 (en) 2005-10-27 2009-01-27 Cisco Technology, Inc. Technique for implementing virtual fabric membership assignments for devices in a storage area network
JP4786312B2 (ja) * 2005-11-22 2011-10-05 株式会社日立製作所 記憶制御装置及び記憶制御装置のエラー情報管理方法
US20070162631A1 (en) 2005-12-28 2007-07-12 International Business Machines Corporation Method for selectable software-hardware internet SCSI
US7594057B1 (en) 2006-01-09 2009-09-22 Qlogic, Corporation Method and system for processing DMA requests
JP2007199975A (ja) 2006-01-26 2007-08-09 Hitachi Ltd データ処理システム及びデータ処理方法
US9032164B2 (en) 2006-02-17 2015-05-12 Emulex Corporation Apparatus for performing storage virtualization
US7743197B2 (en) 2006-05-11 2010-06-22 Emulex Design & Manufacturing Corporation System and method for virtualizing PCIe devices
US20080040519A1 (en) 2006-05-02 2008-02-14 Alacritech, Inc. Network interface device with 10 Gb/s full-duplex transfer rate
US8381214B2 (en) 2006-05-05 2013-02-19 Microsoft Corporation Extensible job submission
US7826349B2 (en) 2006-05-30 2010-11-02 Intel Corporation Connection management mechanism
US20080043563A1 (en) 2006-08-15 2008-02-21 International Business Machines Corporation Flexibly controlling the transfer of data between input/output devices and memory
US7500030B2 (en) 2006-08-30 2009-03-03 International Business Machines Corporation Control of information units in fibre channel communications
US8032581B2 (en) 2006-08-30 2011-10-04 International Business Machines Corporation Persistent information unit pacing
US7502873B2 (en) 2006-10-10 2009-03-10 International Business Machines Corporation Facilitating access to status and measurement data associated with input/output processing
US7500023B2 (en) 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
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
US7765336B2 (en) 2007-06-11 2010-07-27 Emulex Design & Manufacturing Corporation Autonomous mapping of protected data streams to fibre channel frames
US8020074B2 (en) * 2007-08-24 2011-09-13 Datadirect Networks, Inc. Method for auto-correction of errors in a RAID memory system
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
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
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
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output 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
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
US8166206B2 (en) 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
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
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
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
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
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
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
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
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US7908403B2 (en) 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
US7904605B2 (en) 2008-02-14 2011-03-08 International Business Machines Corporation Computer command and response for determining the state of an I/O operation
GB2460841B (en) 2008-06-10 2012-01-11 Virtensys Ltd Methods of providing access to I/O devices
US7983257B2 (en) 2008-07-18 2011-07-19 Emulex Design & Manufacturing Corporation Hardware switch for hypervisors and blade servers
US20100064072A1 (en) 2008-09-09 2010-03-11 Emulex Design & Manufacturing Corporation Dynamically Adjustable Arbitration Scheme
JP5107880B2 (ja) 2008-12-10 2012-12-26 株式会社日立製作所 データ転送処理装置及び方法

Also Published As

Publication number Publication date
BRPI0908135A2 (pt) 2017-07-25
IL207122A0 (en) 2010-12-30
KR101242959B1 (ko) 2013-03-13
EP2243086A2 (en) 2010-10-27
CA2704136A1 (en) 2009-08-20
CN101971154A (zh) 2011-02-09
MX2010008886A (es) 2010-08-31
JP2011512588A (ja) 2011-04-21
IL207122A (en) 2014-06-30
CA2704136C (en) 2017-01-03
US20090210573A1 (en) 2009-08-20
WO2009101056A2 (en) 2009-08-20
ATE511675T1 (de) 2011-06-15
JP4917175B2 (ja) 2012-04-18
CN101971154B (zh) 2013-10-30
WO2009101056A3 (en) 2009-11-05
US8108570B2 (en) 2012-01-31
KR20100126283A (ko) 2010-12-01
EP2243086B1 (en) 2011-06-01

Similar Documents

Publication Publication Date Title
BRPI0908135B1 (pt) comando de computador e resposta para determinar o estado de uma operação de e/s
US8166206B2 (en) Cancel instruction and command for determining the state of an I/O operation
US7904605B2 (en) Computer command and response for determining the state of an I/O operation
KR101190998B1 (ko) 입력/출력 동작을 모니터링하기 위한 데이터 처리
US8176222B2 (en) Early termination of an I/O operation in an I/O processing system
US9298379B2 (en) Bi-directional data transfer within a single I/O operation
US9330042B2 (en) Determining extended capability of a channel path
US8082481B2 (en) Multiple CRC insertion in an output data stream
PT2245545E (pt) Proporcionamento de um endereço de dados indirecto para um bloco de controlo num subsistema de canal de um sistema de processamento de e/s

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 13/10/2020, OBSERVADAS AS CONDICOES LEGAIS.