BRPI0908824B1 - Transferência de dados bidirecional dentro de uma única operação de e/s - Google Patents
Transferência de dados bidirecional dentro de uma única operação de e/s Download PDFInfo
- Publication number
- BRPI0908824B1 BRPI0908824B1 BRPI0908824-5A BRPI0908824A BRPI0908824B1 BR PI0908824 B1 BRPI0908824 B1 BR PI0908824B1 BR PI0908824 A BRPI0908824 A BR PI0908824A BR PI0908824 B1 BRPI0908824 B1 BR PI0908824B1
- Authority
- BR
- Brazil
- Prior art keywords
- channel
- data
- control unit
- command
- tcw
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer And Data Communications (AREA)
- Bidirectional Digital Transmission (AREA)
- Information Transfer Systems (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
- Communication Control (AREA)
- Control By Computers (AREA)
- Dc Digital Transmission (AREA)
- Control Of Conveyors (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Logic Circuits (AREA)
- Programmable Controllers (AREA)
- Multi Processors (AREA)
Abstract
transferência de dados bidirecional dentro de uma única operação de e/s um artigo de fabricação, aparelho e um método para facilitar o processamento de entrada / saída (e/s) para uma operação de e/s em um sistema de computador host configurado para comunicação com uma unidade de controle. o método inclui o sistema de computador host obtendo uma palavra de comando de transporte (tcw) para uma operação de e/s, tendo dados de entrada e saída. a tcw especifica o local dos dados de saída e um local para armazenar os dados de entrada. o sistema de computador host envia a operação de e/s para a unidade de controle para execução. o sistema de computador host reúne os dados de saída em resposta à localização dos dados de saída especificados pela tcw e, em seguida, encaminha os dados de saída para a unidade de controle para uso na execução da operação de e/s. o sistema do computador host recebe os dados de entrada da unidade de controle e armazena os dados de entrada no local especificado pela tcw.
Description
Relatório Descritivo da Patente de Invenção para: “TRANSFERÊNCIA DE DADOS BIDIRECIONAL DENTRO DE UMA ÚNICA OPERAÇÃO DE E/S.
Campo da Invenção [0001] A presente revelação refere-se em geral a processamento de entrada/saída (E/S), e em particular, ao fornecimento de uma operação de E/S que inclui dados tanto de entrada como de saída.
Antecedentes da Invenção [0002] Operações de entrada/saída (E/S) são usadas para transferir dados entre memória e dispositivos de E/S de um sistema de processamento de E/S. Especificamente, dados são gravados a partir da memória para um ou mais dispositivos de E/S, e dados são lidos de um ou mais dispositivos de E/S para memória por executar operações de E/S.
[0003] Para facilitar processamento de operações de E/S, um subsistema de E/S do sistema de processamento de E/S é empregado. O subsistema de E/S é acoplado à memória principal e aos dispositivos de E/S do sistema de processamento de E/S e orienta o fluxo de informações entre memória e os dispositivos de E/S. Um exemplo de um subsistema de E/S é um subsistema de canal. O subsistema de canal usa percursos de canal como mídia de comunicação. Cada percurso de canal inclui um canal acoplado a uma unidade de controle,
Petição 870160036789, de 15/07/2016, pág. 7/62
2/36 a unidade de controle sendo adicionalmente acoplada a um ou mais dispositivos de E/S.
[0004] O subsistema de canal pode empregar palavras de comando de canal (CCWs) para transferir dados entre os dispositivos de E/S e memória. Uma CCW especifica o comando a ser executado. Para comando 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 a partir da área for concluída, e outras opções.
[0005] Durante processamento de E/S, uma lista de CCWs é buscada da memória por um canal. O canal analisa cada comando da lista de CCWs e envia um número dos comandos, cada comando para 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 assegura que cada comando é enviado para a unidade de controle em sua própria entidade. Além disso, o canal insere certas informações associadas ao processamento da resposta a partir da unidade de controle para cada comando.
[0006] A execução de processamento de E/S em uma base por CCW pode envolver uma grande quantidade de processamento
Petição 870160036789, de 15/07/2016, pág. 8/62
3/36 overhead para o subsistema de canal, visto que os canais analisam CCWs, rastreiam informação de estado, e reagem a respostas a partir das unidades de controle. Portanto, pode ser benéfico deslocar grande parte da carga de processamento associada à interpretação e gerenciamento de CCW e informação de estado a partir do subsistema de canal para as unidades de controle. A simplificação do papel de canais em comunicar entre as unidades de controle e um sistema operacional no sistema de processamento de E/S pode aumentar a capacidade de transmissão de comunicação visto que menos handshaking é realizado. A simplificação do papel de canais em comunicação pode incluir agrupar múltiplos comandos em uma única operação de E/S. Entretanto, a alteração de sequências de comando por agrupar dois ou mais comandos juntos em uma operação de E/S única pode resultar na operação de E/S tendo tanto dados de entrada como dados de saída. Atualmente, uma operação de E/S pode suportar uma área de dados única que pode ser utilizada para entrada de dados ou saída de dados, porém não ambos na mesma operação de E/S. isso limita os tipos de comandos que podem ser agrupados juntos em uma única operação de E/S e desse modo, limita o aumento na capacidade de transmissão que pode ser obtido por agrupar comandos. Por conseguinte, há necessidade na técnica de ser capaz de transferir tanto
Petição 870160036789, de 15/07/2016, pág. 9/62
4/36 dados de entrada como dados de saída em uma única operaçao de E/S.
Sumário da Invenção [0007] Uma concretização exemplar inclui um produto de programa de computador para facilitar processamento de entrada/saída (E/S) para uma operação de E/S em um sistema de computador hospedeiro configurado para comunicação com uma unidade de controle. O produto de programa de computador inclui uma mídia de armazenamento tangível legível por um circuito de processamento e instruções de armazenamento para execução pelo circuito de processamento para executar um método. O método inclui o sistema de computador hospedeiro obtendo uma palavra de comando de transporte (TCW) para uma operação de E/S tendo dados tanto de entrada como de saída. A TCW especifica um local dos dados de saída e um local para armazenamento dos dados de entrada. O sistema de computador hospedeiro envia a operação de E/S para a unidade de controle para execução. O sistema de computador hospedeiro coleta os dados de saída responsivos ao local dos dados de saída especificados pela TCW, e então envia os dados de saída para a unidade de controle para uso na execução da operação de E/S. O sistema de computador hospedeiro recebe os dados de entrada a partir da unidade de controle e armazena os dados de entrada no local especificado pela TCW.
Petição 870160036789, de 15/07/2016, pág. 10/62
5/36 [0008] Outros produtos industriais, aparelhos, e/ou métodos de acordo com concretizações serão ou tornar-se-ão evidentes para uma pessoa versada na técnica após exame dos seguintes desenhos e descrição detalhada. Pretende-se que todos esses produtos industriais adicionais, aparelhos, e/ou métodos sejam incluídos nessa descrição, estejam incluídos no escopo da presente invenção e sejam protegidos pelas reivindicações em anexo.
Breve Descrição dos Desenhos [0009] A matéria que é considerada como a invenção é particularmente indicada e distintamente reivindicada nas reivindicações na conclusão do relatório descritivo. Os objetivos, características e vantagens acima e outros, da invenção, são evidentes a partir da seguinte descrição detalhada tomada em combinação com os desenhos em anexo nos quais:
[0010] A figura 1 mostra uma concretização de um sistema de processamento de E/S incorporando e usando um ou mais aspectos da presente invenção;
[0011] A figura 2A mostra um exemplo de uma palavra de comando de canal da técnica anterior;
[0012] A figura 2B mostra um exemplo de um programa de canal de palavra de comando de canal da técnica anterior;
Petição 870160036789, de 15/07/2016, pág. 11/62
6/36 [0013] A figura 3 mostra uma concretização de um protocolo de link da técnica anterior usado 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;
[0014] A figura 4 mostra uma concretização de um programa de canal de palavra de controle de transporte (TCW), de acordo com um aspecto da presente invenção;
[0015] A figura 5 mostra uma concretização de um protocolo de link usado para comunicar entre um canal e unidade de controle para executar o programa de canal TCW da figura 4, de acordo com um aspecto da presente invenção;
[0016] A figura 6 mostra uma concretização de um protocolo de link da técnica anterior usado para comunicar entre um canal e unidade de controle para executar quatro comandos de leitura de um programa de canal de palavra de comando de canal;
[0017] A figura 7 mostra uma concretização de um protocolo de link usado para comunicar entre um canal e unidade de controle para processar os quatro comandos de leitura de um programa de canal TCW, de acordo com um aspecto da presente invenção;
[0018] A figura 8 mostra uma concretização de uma unidade de controle e um subsistema de canal, de acordo com um aspecto da presente invenção;
Petição 870160036789, de 15/07/2016, pág. 12/62
7/36 [0019] A figura 9 mostra uma concretização de uma TCW de acordo com um aspecto da presente invenção;
[0020] A figura 10 mostra uma concretização de um programa de canal TCW, de acordo com um aspecto da presente invenção;
[0021] A figura 11 mostra uma concretização de um protocolo de link usado para comunicar entre um canal e unidade de controle para executar o programa de canal TCW da figura 10, de acordo com um aspecto da presente invenção;
[0022] A figura 12 mostra uma concretização de um processo para transferência de dados bidirecional em uma única operação de E/S, de acordo com um aspecto da persente invenção; e [0023] A figura 13 mostra uma concretização de um produto industrial incorporando um ou mais aspectos da presente invenção.
[0024] A descrição detalhada explica as concretizações preferidas da invenção, juntamente com vantagens e características, como exemplo com referência aos desenhos.
Descrição Detalhada da Invenção [0025] De acordo com um aspecto da presente invenção, o processamento de entrada/saída (E/S) é facilitado por permitir que uma operação de E/S única inclua tanto dados de
Petição 870160036789, de 15/07/2016, pág. 13/62
8/36 entrada como dados de saída. Desse modo, cada operação de E/S pode ser utilizada para transferir tanto um fluxo de entrada como um fluxo de saída. Isso facilita processamento de E/S por reduzir comunicação entre componentes de um sistema de processamento de E/S usado para executar o processamento de E/S. Por exemplo, o número de trocas e sequências entre um adaptador de comunicação de E/S, como um canal, e uma unidade de controle é reduzido. Isso é realizado por enviar uma pluralidade de comandos a partir do adaptador de comunicação de E/S para a unidade de controle como uma entidade única para execução pela unidade de controle, e pela unidade de controle enviando os dados resultantes dos comandos, caso haja, como uma entidade única. A pluralidade de palavras de comando de dispositivo (DCWs) enviadas como uma entidade única para uma unidade de controle pode incluir comandos tanto de ler como de gravar.
[0026] A pluralidade de comandos é incluída em um bloco, mencionado aqui como um bloco de controle de comando de transporte (TCCB), cujo endereço é especificado em uma palavra de controle de transporte (TCW). A TCW é enviada a partir de um sistema operacional (OS) ou outro aplicativo para o adaptador de comunicação I/P, que, por sua vez, envia o TCCB em uma mensagem de comando para a unidade de controle para processamento. A unidade de controle processa cada dos
Petição 870160036789, de 15/07/2016, pág. 14/62
9/36 comandos ausentes de um rastreamento de status em relação àqueles comandos individuais pelo adaptador de comunicação de E/S. A pluralidade de comandos também é mencionada como um programa de canal, que é analisado e executado na unidade de controle ao invés do adaptador de comunicação de E/S.
[0027] Em uma concretização exemplar, a TCW provê os ponteiros para o canal para todos os blocos de controle necessários para executar a operação de E/S. Em uma concretização exemplar, a TCW inclui ponteiros tanto para um endereço de dados de entrada como um endereço de dados de saída. Isso permite que dados sejam transferidos em ambas as direções, (por exemplo, a partir de um canal para uma unidade de controle e a partir de uma unidade de controle para um canal) em uma operação de E/S única.
[0028] Um exemplo de um sistema de processamento de E/S incorporando e usando um ou mais aspectos da presente invenção é descrito com referência à figura 1. O sistema de processamento de E/S 100 inclui um sistema hospedeiro 101, que inclui ainda, por exemplo, uma memória principal 102, uma ou mais unidades de processamento central (CPUs) 104, um elemento de controle de armazenamento 106, e um subsistema de canal 108. O sistema hospedeiro 101 pode ser um sistema de computação em grande escala, como um mainframe ou servidor. O sistema de processamento de E/S 100 também inclui
Petição 870160036789, de 15/07/2016, pág. 15/62
10/36 uma ou mais unidades de controle 110 e um ou mais dispositivos de E/S 112, cada um dos quais é descrito abaixo.
[0029] A memória principal 102 armazena dados e programas, que podem ser entrados a partir dos dispositivos de E/S 112. Por exemplo, a memória principal 102 pode incluir um ou mais sistemas operacionais (OSs) 103 que são executados por uma ou mais das CPUs 104. Por exemplo, uma CPU 104 pode executar um sistema operacional Linux® 103 e um sistema operacional z/OS® 103 como instâncias de máquina virtual diferente. A memória principal 102 é diretamente endereçável e provê processamento em alta velocidade de dados pelas CPUs 104 e subsistema de canal 108.
[0030] A CPU 104 é o centro de controle do sistema de processamento de E/S 100. Contém instalações de sequenciamento e processamento para execução de instrução, ação de interrupção, funções de temporização, carregamento de programa inicial, e outras funções relacionadas à máquina. A CPU 104 é acoplada ao elemento de controle de armazenamento 106 através de uma conexão 114, como um barramento bidirecional ou unidirecional.
[0031] O elemento de controle de armazenamento 106 é acoplado à memória principal 102 através de uma conexão 116, como um barramento; a CPUs 104 através da conexão 114; e ao subsistema de canal 108 através de uma conexão 118. O
Petição 870160036789, de 15/07/2016, pág. 16/62
11/36 elemento de controle de armazenamento 106 controla, por exemplo, enfileiramento e execução de solicitações feitas por uma ou mais da CPU 104 e subsistema de canal 108.
[0032] Em uma concretização exemplar, o subsistema de canal 108 provê uma interface de comunicação entre o sistema hospedeiro 101 e unidades de controle 110. O subsistema de canal 108 é acoplado ao elemento de controle de armazenamento 106, como descrito acima, e a cada das unidades de controle 110 através de uma conexão 120, como um link serial. A conexão 120 pode ser implementada em qualquer modo conhecido na técnica, incluindo um link ótico, empregando guias de onda de modo único ou multímodos em um pano de Canal de fibra (por exemplo, uma rede de canal de fibra) . O subsistema de canal 108 orienta o fluxo de informação entre dispositivos de E/S 112 e memória principal 102. Alivia as CPUs 104 da tarefa de comunicar diretamente com os dispositivos de E/S 112 e permite que processamento de dados prossiga simultaneamente com o processamento de E/S. O subsistema de canal 108 usa um ou mais percurso de canal 122 como os links de comunicação no gerenciamento do fluxo de informação para ou a partir dos dispositivos de E/S 112. Como parte do processamento de E/S, o subsistema de canal 108 também executa as funções de gerenciamento de percurso de teste para disponibilidade de percurso de canal,
Petição 870160036789, de 15/07/2016, pág. 17/62
12/36 seleção de um percurso de canal disponível 122 e início de execução da operação com os dispositivos de E/S 112.
[0033] Cada percurso de canal 122 inclui um canal
124 (canais 124 são localizados no subsistema de canal 108, em um exemplo, como mostrado na figura 1), uma ou mais unidades de controle 110 e uma ou mais conexões 120. Em outro exemplo, também é possível ter um ou mais comutadores dinâmicos (não mostrados) como parte do percurso de canal 122. Um comutador dinâmico pode ser acoplado a um canal 124 e uma unidade de controle 110 e fornece a capacidade de interconectar fisicamente quaisquer dois links que são ligados ao comutador. Em outro exemplo, também é possível ter múltiplos sistemas, e, portanto, múltiplos subsistemas de canal (não mostrados) ligados a uma ou mais das unidades de controle 110.
[0034] Também são localizados no subsistema de canal
108 subcanais (não mostrados). Um subcanal é fornecido para e dedicado a cada dispositivo de E/S 112 acessível a um programa através do subsistema de canal 108. Um subcanal (por exemplo, uma estrutura de dados, como uma mesa) fornece a aparência lógica de um dispositivo para o programa. Cada subcanal fornece informações referentes ao dispositivo de E/S associado 112 e sua fixação ao subsistema de canal 108. O subcanal também fornece informações referentes a operações
Petição 870160036789, de 15/07/2016, pág. 18/62
13/36 de E/S e outras funções envolvendo o dispositivo de E/S associado 112. O subcanal é o meio pelo qual o subsistema de canal 108 fornece informações sobre dispositivos de E/S associados 112 a CPUs 104, que obtêm essa informação por executar instruções E/S.
[0035] O subsistema de canal 108 é acoplado a uma ou mais unidades de controle 110. Cada unidade de controle 110 fornece lógica para operar e controla um ou mais dispositivos de E/S 112 e adapta, através do uso de instalações comuns, as características de cada dispositivo de E/S 112 à interface de link fornecida pelo canal 124. As instalações comuns fornecem a execução de operações de E/S, indicações referentes ao status do dispositivo de E/S 112 e unidade de controle 110, controle da temporização de transferências de dados sobre o percurso de canal 122 e certos níveis do controle do dispositivo de E/S 112.
[0036] Cada unidade de controle 110 é fixada através de uma conexão 126 (por exemplo, um barramento) a um ou mais dispositivos de E/S 112. Dispositivos de E/S 112 recebem informações ou armazenamento informações na memória principal 102 e/ou outra memória. Os exemplos de dispositivos de E/S 112 incluem leitoras de cartão e perfuradoras, unidades de fita magnética, dispositivos de armazenamento de acesso direto, displays, teclados, impressoras, dispositivos
Petição 870160036789, de 15/07/2016, pág. 19/62
14/36 de indicação, dispositivos de teleprocessamento, controladores de comunicação e equipamento baseado em sensor, citando alguns.
[0037] Um ou mais dos componentes acima do sistema de processamento de E/S 100 são adicionalmente descritos em “IBM® z/Architecture Principles of operation,” publicação no. SA22-7832-05, 6a edição, abril de 2007; patente US no. 5.461.721 intitulada “System for transferring data between E/S devices and main or expanded storage under dynamic control of independent indirect address words (IDAWS),” Cornier e outros, expedida em 24 de outubro de 1995, e patente US no. 5.526.484 intitulado “Method and system for pipelining the processing of channel command words, ” Casper e outros, expedida em 11 de junho de 1996, cada uma das quais é pela presente incorporada a título de referência na íntegra. IBM é uma marca registrada da International Business Machines Corporation, Armonk, Nova York, EUA. Outros nomes usados aqui podem ser marcas registradas, marcas comerciais ou nomes de produtos da International Business Machines Corporation ou outras companhias.
[0038] Em uma concretização, para transferir dados entre dispositivos de E/S 112 e memória 102, palavras de comando de canal (CCWs) são usadas. Uma CCW especifica o comando a ser executado, e inclui outros campos para
Petição 870160036789, de 15/07/2016, pág. 20/62
15/36 controlar processamento. Um exemplo de uma CCW é descrito com referência à figura 2A. Uma CCW 200 inclui, por exemplo, um código de comando 202 especificando o comando a ser executado (por exemplo, ler, ler para trás, controlar, detectar e gravar), uma pluralidade de indicadores 204 usados 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 ser transferida; e um endereço de dados 208 que aponta para um local na memória principal que inclui os dados, quando endereçamento direto é empregado, ou a uma lista (por exemplo, lista contígua) de palavras de endereço de dados indireto modificado (MIDAWs) a serem processadas; quando endereçamento de dados indireto modificado é empregado. Endereçamento indireto modificado é adicionalmente descrito no pedido US número de série 11/464.613, intitulado “Flexibly controlling the transfer of data between input/output devices and memory,” Brice e outros, depositado em 15 de agosto de 2006, que é pelo presente incorporado a título de referência na íntegra.
[0039] Uma ou mais CCWs disposta para execução sequencial formam um programa de canal, também mencionado aqui como um programa de canal CCW. O programa de canal CCW é configurado, por exemplo, por um sistema operacional ou
Petição 870160036789, de 15/07/2016, pág. 21/62
16/36 outro software. O 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 CCW de definir extensão 212 que tem um ponteiro 214 para um local na memória de dados de definir extensão 216 a serem usados com o comando de definir extensão. Nesse exemplo, uma transferência no canal (TIC) 218 segue o comando de definir extensão para encaminha o programa de canal para outra área na memória (por exemplo, uma área de aplicativo) que inclui uma ou mais outras CCWs, como um registro de localizar 217 que tem um ponteiro 219 para dados de registro de localizar 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 diretamente acessar os dados ou uma lista de palavras de endereço de dados (por exemplo, MIDAWs ou IDAWs) para indiretamente acessar os dados. Além disso, programa de canal de CCW 210 inclui uma área predeterminada no subsistema de canal definido pelo endereço de dispositivo chamado o subcanal para status 226 resultando da execução do programa de canal de CCW.
[0040] O processamento de um programa de canal de CCW é descrito com referência à figura 3, bem como com
Petição 870160036789, de 15/07/2016, pág. 22/62
17/36 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 de CCW está sendo executado. O protocolo de link usado para as comunicações é FICON (Conectividade de fibra) nesse exemplo. Informações referentes a FICON são descritas em “Fibre channel single byte command Code sets-3 mapping protocol (FC-SB-3), T11/Project 1357-D/Rev. 1.6. INCITS (março de 2003), que é pelo presente incorporado a título de referência na íntegra.
[0041] Com referência à figura 3, um canal 300 abre uma troca com uma unidade de controle 302 e envia um comando definir extensão e dados associados ao mesmo 304 para a unidade de controle 302. O comando é buscado a partir de CCW definir extensão 212 (figura 2B) e os dados são obtidos a partir da área de dados de definir extensão 216. O canal 300 usa TIC 218 para localizar a CCW de localizar registro e a CCW de leitura. Busca o comando de localizar registro 305 (figura 3) a partir da CCW de localizar registro 217 (figura 2B) e obtém os dados a partir dos dados de localizar registro 220. O comando de leitura 306 (figura 3) é buscado da CCW de leitura 221 (figura 2B) . Cada é enviado para a unidade de controle 302.
Petição 870160036789, de 15/07/2016, pág. 23/62
18/36 [0042] A unidade de controle 302 abre uma troca 308 com o canal 300, em resposta à troca aberta do canal 300. Isso pode ocorrer antes ou após o comando de localizar 305 e/ou comando de leitura 306. Juntamente com a troca aberta, uma resposta (CMR) é enviada para o canal 300. O CMR provê uma indicação para o canal 300 de que a unidade de controle 302 está ativa e em operação.
[0043] A unidade de controle 302 envia os dados solicitados 310 para o canal 300. Adicionalmente, a unidade de controle 302 provê o status para o canal 300 e fecha a troca 312. Em resposta ao mesmo, o canal 300 armazena os dados, examina o status e fecha a troca 314, que indica para a unidade de controle 302 que o status foi recebido.
[0044] O processamento do programa de canal de CCW acima para ler 4k de dados requer que duas trocas sejam abertas e fechadas e sete sequências. O número total de trocas e sequências entre o canal e unidade de controle é reduzido através de múltiplos comandos em colapso do programa de canal em um TCCB. O canal, por exemplo, canal 124 da figura 1, usa uma TCW para identificar a localização do TCCB bem como locais para acessar e armazenar status e dados associados à execução do programa de canal. A TCW é interpretada pelo canal 124 e não é enviada ou vista pela unidade de controle 110.
Petição 870160036789, de 15/07/2016, pág. 24/62
19/36 [0045] Um exemplo de um programa de canal para ler 4k de dados, como na figura 2B, porém inclui um TCCB, ao invés de CCWs individuais separados, é descrito com referência à figura 4. Como mostrado, um programa de canal 400, mencionado aqui como um programa de canal de TCW, inclui uma 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 (isto é, uma lista de palavras de endereço de dados indireto de modo de transporte (TIDAWs), similares a MIDAWs) que aponta para a área de dados 406, e uma área de status 408.
[0046] O processamento de um programa de canal de TCW é descrito com referência à figura 5. O protocolo de link usado para essas comunicações é, por exemplo, Protocolo de canal de fibra (FCP) . Em particular, três fases do protocolo de link FCP são usadas, permitindo que adaptadores de barramento hospedeiro sejam usados que suportam FCP para executar transferências de dados controladas por CCWs. FCP e suas fases são descritas adicionalmente em “Information technology - fibre channel protocol for SCSI, terceira versão (FCP-3),” T10 Project 1560-D, revisão 4, 13 de setembro de 2005, que é pelo presente incorporado aqui a título de referência na íntegra.
Petição 870160036789, de 15/07/2016, pág. 25/62
20/36 [0047] 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. Em um exemplo, o TCCB 504 e iniciativa de sequência são transferidos para a unidade de controle 502 em um comando FCP, mencionado como unidade de informação de FCP_CMMD (IU) ou uma IU de comando de transporte. A unidade de controle 502 executa os múltiplos comandos do TCCB 504 (por exemplo, comando de definir extensão, comando de localizar registro, comando de leitura como palavras de controle de dispositivo (DCWs)) e envia dados 506 para o canal 500 através, por exemplo, de uma IU de FCP_Data. Também fornece status e fecha a troca 508. Como um exemplo, status final é enviado em um quadro de status FCP que tem um bit ativo em, por exemplo, byte 10 ou 11 da carga útil de uma IU FCP_RSP, também mencionada como IU de resposta de transporte. A carga útil de FCP_RSP_IU pode ser usada para transportar status de término FICON juntamente com informações de status adicional.
[0048] Em um exemplo adicional, para gravar 4k de dados de cliente, o canal 500 usa as fases de protocolo de link FCP, como a seguir:
[0049] Transferir um TCCB na IU FCP_CMND.
Petição 870160036789, de 15/07/2016, pág. 26/62
21/36 [0050] Transferir a IU de dados, e iniciativa de sequência para a unidade de controle 502. (Transferência de FCP pronta desabilitada) [0051] O status final é enviado em um quadro de status FCP que tem um bit ativo, por exemplo, no byte 10 ou 11 da Carga Útil de IU FCP_RSP. O campo FCP_RES_INFO ou campo de detecção é usado para transportar status de término FICON juntamente com informação de status adicional.
[0052] Por executar o programa de canal TCW da figura 4, há somente uma troca aberta e fechada (vide também a figura 5), ao invés de duas trocas para o programa de canal de CCW da figura 2B (vide também a figura 3) . Além disso, para o programa de canal de TCW, há três sequências de comunicação (vide as figuras 4-5) em comparação com sete sequências para o programa de canal de CCW (vide as figuras 2B-3).
[0053] O número de trocas e sequências permanece igual para um programa de canal de TCW, mesmo se comandos adicionais forem adicionados ao programa. Comparar, por exemplo, a comunicação do programa de canal de CCW da figura 6 com a comunicação do programa de canal de TCW da figura 7. No programa de canal de CCW da figura 6, cada dos comandos (por exemplo, comando de definir extensão 600, comando de localizar registro 601, comando de leitura 602, comando de
Petição 870160036789, de 15/07/2016, pág. 27/62
22/36 leitura 604, comando de leitura 606, comando de localizar registro 607 e comando de leitura 608) é enviado em sequências separadas a partir do canal 610 para a unidade de controle 612. Além disso, cada bloco de 4k de dados (por exemplo, dados 614-620) é enviado em sequências separadas a partir da unidade de controle 612 para o canal 610. Esse programa de canal de CCW requer que duas trocas sejam abertas e fechadas (por exemplo, abrir trocas 622, 624 e fechar trocas 628, 628) e quatorze sequências de comunicação. Isso é 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] Como mostrado 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 definir extensão, os dois comandos de localizar registro, e os quatro comandos de leitura em DCWs, como descrito acima. Em resposta ao recebimento do TCCB 704, a unidade de controle 702 executa os comandos e envia, em uma sequência única, os 16k de dados 706 para o canal 700. Adicionalmente, a unidade de controle 702 provê status para o canal 700 e fecha a troca 708. Desse modo, o programa de canal de TCW requer muito menos comunicação para transferir
Petição 870160036789, de 15/07/2016, pág. 28/62
23/36 a mesma quantidade de dados que o programa de canal de CCW da figura 6.
[0055] Voltando agora para a figura 8, uma concretização do canal 124 no subsistema de canal 108 e unidade de controle 110 e canal 124 da figura 1 que suportam execução de programa de canal de TCW são mostrados em maior detalhe. A unidade de controle 110 inclui lógica de controle de CU 802 para analisar e processar mensagens de comando contendo um TCCB, como o TCCB 704 da figura 7, recebidas do canal 124 através da conexão 120. A lógica de controle de CU 802 pode extrair DCWs e controlar dados a partir do TCCB recebido na unidade de controle 110 para controlar um dispositivo, por exemplo, dispositivo de E/S 112 através da conexão 126. A lógica de controle de CU 802 envia comandos de dispositivo e dados para o dispositivo de E/S 112 e recebe informações de status e outro feedback a partir 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 direcionando o dispositivo de E/S 112. Para gerenciar os problemas de conflito de reserva de dispositivo em potencial que podem originar quando a unidade de controle 110 recebe múltiplas solicitações para acessar o mesmo dispositivo de E/S 112, a lógica de controle de CU 802 rastreia e armazena mensagens de dispositivo ocupado e dados
Petição 870160036789, de 15/07/2016, pág. 29/62
24/36 associados em uma fila de dispositivo ocupado 804. Em uma concretização exemplar, um OS 103 da figura 1 reserva o dispositivo de E/S 112 para impedir que outros OSs 103 acessem o dispositivo de E/S 112 enquanto a reserva está ativa. Embora a reserva de dispositivo não seja necessária para todas as operações de E/S, a reserva de dispositivo pode ser usada para suportar operações que necessitam de acesso exclusivo por uma duração fixa de tempo, por exemplo, formatação de disco.
[0056] A unidade de controle 110 pode incluir ainda outros elementos de memória ou buffer (não mostrados) para armazenar múltiplas mensagens ou informações de status associadas a comunicações entre o canal 124 e o dispositivo de E/S 112. Por exemplo, um registro localizado na unidade de controle 110 pode incluir um parâmetro de troca de unidade de controle máximo 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 comunicação com a unidade de controle 110. Em uma concretização exemplar, a lógica de controle CHN 806 controla comunicação entre o subsistema de canal 108 e a unidade de controle 110. A lógica de controle CHN 806 pode diretamente fazer interface com a lógica de
Petição 870160036789, de 15/07/2016, pág. 30/62
25/36 controle de CU 802 através da conexão 120 para enviar comandos e receber respostas, como IUs de resposta e comando de transporte. Alternativamente, interfaces de envio de mensagem e/ou buffers (não mostrados) podem ser colocadas entre a lógica de controle CHN 806 e a lógica de controle de CU 802.
[0058] Uma concretização exemplar de uma palavra de controle de transporte (TCW) 900 é mostrada na figura 9. A TCW 900 é utilizada pelo canal 124 para configurar a operação de E/S e não é enviada para a unidade de controle 110. A TCW mostrada na figura 9 provê dados tanto de entrada como saída em uma operação de E/S única.
[0059] Em uma TCW exemplar 900 mostrada na figura 9, um campo de formato 902 igual a “00b indica que o que segue é uma TXW 900. A TCW 900 também inclui bits reservados 904 para uso futuro possível.
| [0060] | A | TCW | 900 também inclui | um campo | de |
| indicadores | 906. | Os | cinco primeiros bits | do campo | de |
| indicadores | 906 | são | reservados para uso | futuro e | são |
| definidos em | zero | . O | sexto bit do campo de indicadores | 906 |
é um indicador de leitura TIDAL. Em uma concretização exemplar, o indicador de leitura TIDAL é definido em um quando o campo de endereço de dados de entrada 918 contém um endereço de um TIDAL. Se o indicador de leitura de TIDAL for
Petição 870160036789, de 15/07/2016, pág. 31/62
26/36 definido em zero, então o campo de endereço de dados de entrada 918 contém um endereço de dados. O sétimo bit do campo de indicadores 906 é um indicador TIDAL TCCB. Em uma concretização exemplar, o indicador TIDAL TCCB é definido em um quando o campo de endereço TCCB 922 contém um endereço de um TIDAL. Se o indicador TIDAL TCCB for definido em zero, então o campo de endereço TCCB 922 diretamente endereça o TCCB. O indicador TIDAL TCCB permite que o software do sistema operacional ou o hiper-visor dispor em camada programas de canal de usuário de prefixo e função. O oitavo bit do campo de indicadores 906 é um indicador de gravar TIDAL. Em uma concretização exemplar, o indicador de gravar TIDAL é definido em um quando o campo de endereço de dados de saída 916 contém um endereço de um TIDAL. Se o indicador de gravar TIDAL é definido em zero, então o campo de endereço de dados de saída 916 contém um endereço de dados.
[0061] O nono até vigésimo quarto bits do campo de indicadores 906 são reservados para uso futuro.
[0062] A TCW 900 também inclui um campo de comprimento de TCCB 910 que indiretamente representa o comprimento do TCCB e pode ser utilizado para determinar o comprimento efetivo do TCCB.
[0063] Os bits de ler/gravar 912 na TCW 900 são utilizados para indicar se dados estão sendo lidos e/ou
Petição 870160036789, de 15/07/2016, pág. 32/62
27/36 gravados como resultado de executar a TCW 900. Em uma concretização exemplar, o bit de ler nos bits de ler/gravar 912 é definido em um para indicar que dados de entrada estão sendo transferidos a partir de um dispositivo de E/S 112 para armazenamento de sistema (por exemplo, memória principal 102) no sistema hospedeiro 101 como um resultado de executar a TCW 900. O bit de gravar nos bits de ler/gravar 912 é definido em um para indicar que dados de saída estão sendo transferidos a partir da armazenamento do sistema (por exemplo, memória principal 102) no sistema hospedeiro 101 para um dispositivo de E/S como resultado de executar a TCW 900.
[0064] O campo de endereço de dados de saída 916 inclui o endereço para os dados de saída (caso haja). Como descrito anteriormente, o conteúdo do campo de endereço de dados de saída 916 pode ser um endereço de um TIDAL para dados de saída (por exemplo, um endereço indireto) ou o endereço efetivo dos dados de saída (por exemplo, um endereço direto) . O campo de endereço de dados de entrada 918 inclui o endereço para os dados de entrada (caso haja). Como descrito anteriormente, o conteúdo do campo de endereço de dados de entrada 918 pode ser um endereço de um TIDAL para dados de entrada ou o endereço efetivo dos dados de entrada. Em uma concretização exemplar, o campo de endereço de dados
Petição 870160036789, de 15/07/2016, pág. 33/62
28/36 de saída 916 e o campo de endereço de dados de entrada 918 são implementados como sessenta e quatro endereços de bits.
[0065] A TCW 900 também inclui um campo de endereço de bloco de status de transporte 920. Uma porção (por exemplo, a parte de status estendido) de um status de conclusão em uma IU de resposta de transporte para uma operação de E/S é armazenada nesse endereço. O campo de endereço TCCB 922 na TCW 900 inclui um endereço onde o TCCB é localizado na armazenamento do sistema. Como descrito anteriormente, o TCCB no bloco de controle onde as DCWs a serem executadas para a TCW 900 residem. Também como descrito anteriormente, o conteúdo do campo de endereço TCCB 922 pode ser um endereço de um TIDAL para o TCCB ou o endereço efetivo do TCCB. Em uma concretização exemplar, o campo de endereço de bloco de status de transporte 920 e o campo de endereço TCCB 922 são implementados como endereços de sessenta e quatro bits.
[0066] O campo de contagem de saída 924 na TCW 900 indica a quantidade de dados de saída a ser transferida pela TCW/TCCB para uma operação de saída. Em uma concretização exemplar, o campo de contagem de saída 924 especifica o número de bytes na área de armazenamento de saída projetada pela TCW (o endereço de dados de saída 916) para ser transferida. O campo de contagem de entrada 926 na TCW 900
Petição 870160036789, de 15/07/2016, pág. 34/62
29/36 indica a quantidade de dados de entrada a serem transferidos pelo TCW/TCB para uma operação de entrada. Em uma concretização exemplar, o campo de contagem de entrada 926 especifica o número de bytes na área de armazenamento de saída projetado pela TCW (o endereço de dados de entrada 918) para ser transferido. Vários campos adicionais na TCW 900 são reservados: campo reservado 928, campo reservado 930 e campo reservado 932. O campo de endereço interrogar-TCW 934 contém o endereço de outra TCW e é usado pelo canal 124 para interrogar aquele estado de uma operação sob a iniciativa de uma instrução E/S de cancelar subcanal.
[0067] A TCW mostrada 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 mostrados na figura 9 não são incluídos .
[0068] A figura 10 mostra uma concretização de um programa de canal TCW, de acordo com um aspecto da presente invenção quando dados tanto de entrada como de saída são incluídos em uma operação de E/S única. Como mostrado na figura 10, um programa de canal TCW 1000 inclui uma TCW 1002 especificando um local na memória de um TCCB 1004, um local na memória para armazenar dados de entrada 1006 ou um TIDAL 1010 (isto é, uma lista de palavras de endereço de dados
Petição 870160036789, de 15/07/2016, pág. 35/62
30/36 indireto de modo de transporte (TIDAWs) que aponta para o local para os dados de entrada 1006, um local na memória de uma área de dados de saída 1014 ou um TIDAL 1012 que aponta para a área de dados de saída 1006, e uma área de status 1008.
[0069] O processamento do programa de canal TCW 1000 mostrado na figura 10 é descrito com referência à figura 11. Com referência à figura 11, um canal 1100 abre uma troca com uma unidade de controle 1102 e envia um TCCB 1104 e dados de saída 1105 localizados na área de dados de saída 1014 especificada pelo TCW 1002 para a unidade de controle 1102. O canal 1100 determina quantos dados enviar com base no valor da contagem de saída 924 na TCW 1002. A unidade de controle 1102 executa os múltiplos comandos do TCCB 1104 (por exemplo, comando definir extensão, comando localizar registro, comando escrever e comando ler como palavras de controle de dispositivo (DCWs) recebe os dados de saída 1105 a partir do canal 1100 e envia dados de entrada 1106 de acordo com a contagem de dados na DCW para o canal 1100 através, por exemplo, de uma IU FCP_Data. O canal 1100 armazena os dados de entrada 1106 no local especificado pela TCW 1002. A unidade de controle 1102 também fornece status e fecha a troca 1108. Desse modo, dados são entrados no canal 110 e
Petição 870160036789, de 15/07/2016, pág. 36/62
31/36 transmitidos para a unidade de controle 1102 em um programa de canal TCW único 1000 (ou operação de E/S).
[0070] A figura 12 mostra uma concretização de um processo para transferência de dados bidirecionais em uma operação de E/S única, de acordo com um aspecto da presente invenção. Em uma concretização exemplar, o processamento mostrado na figura 12 ocorre em um sistema de computador hospedeiro que está em comunicação de rede com uma unidade de controle. O sistema de computador hospedeiro pode incluir um sistema de processamento de E/S que executa o processo. Adicionalmente, o sistema de processamento de E/S pode incluir um subsistema de canal que executa o processo. No bloco 1202, uma TCW é obtida pelo computador hospedeiro. Em uma concretização exemplar, a TCW é obtida (ou recebida) de um sistema operacional rodando no computador hospedeiro. A TCW inclui tanto um endereço de dados de saída 916 como campo de contagem de saída 924, e um endereço de dados de entrada 918 e campo de contagem de dados de entrada 926. Em uma concretização exemplar, a TCW inclui dados de saída quando o bit de gravar nos bits de ler/gravar 912 é definido em um e a TCW inclui dados de entrada quando o bit de ler nos bits de ler/gravar 912 é definido em um. No bloco 1204 o local de TCCB especificado pela TCW 922 é buscado e enviado para a
Petição 870160036789, de 15/07/2016, pág. 37/62
32/36 unidade de controle. O TCCB contém as DCWs que informam a unidade de controle quais operações de E/S executar.
[0071] No bloco 1206, os dados de saída são coletados a partir do local especificado pela TCW (se o bit de gravar nos bits de ler/gravar 912 é definido em um). A quantidade de dados coletados a ser incluída nos dados de saída se baseia no valor do campo de contagem de dados de saída 924. Como descrito anteriormente, o endereço de dados de saída pode ser um endereço direto dos dados de saída ou um endereço indireto dos dados de saída. Um endereço indireto se refere a um endereço contendo uma lista de um ou mais endereços (por exemplo, um TIDAL) que apontam para uma pluralidade de locais de armazenamento que coletivamente compõem os dados de saída. Um endereço direto se refere a um endereço contendo os dados de saída. Em uma concretização exemplar, o indicador de gravar TIDAL no campo de indicadores 906 na TCW é definido em um quando o campo de endereço de dados de saída 916 contém um endereço de um TIDAL, e definido em zero quando o campo de endereço de dados de saída 916 contém o endereço dos dados de saída.
[0072] No bloco 1208, os dados de saída são enviados para a unidade de controle. Para esse exemplo XFER_RDY é desabilitado.
Petição 870160036789, de 15/07/2016, pág. 38/62
33/36 [0073] No bloco 1210, dados de entrada são recebidos a partir da unidade de controle como resultado de executar a operação de E/S. No bloco 1212, os dados de entrada são armazenados no local especificado pela TCW (o endereço de dados de entrada 918). Em uma concretização exemplar, a TCW inclui dados de entrada quando o bit de leitura nos bits de ler/gravar 912 é definido em um. Como descrito anteriormente, o endereço de dados de entrada 918 pode ser um endereço direto para armazenar os dados de entrada, ou alternativamente pode ser um endereço para uma lista de endereços (por exemplo, um TIDAL ou endereço indireto) que apontam para uma pluralidade de locais de armazenamento, cada armazenando porções dos dados de entrada. Em uma concretização exemplar, o indicador de leitura TIDAL no campo de indicadores 906 na TCW é definido em um quando o campo de endereço de dados de entrada 918 contém um endereço de um TIDAL, e definido em zero quando o campo de endereço de dados de entrada 918 contém o endereço dos dados de entrada.
[0074] Efeitos técnicos de concretizações exemplares incluem a capacidade de incluir dados tanto de entrada como de saída em uma operação de E/S única. Isso fornece flexibilidade em agrupar DCWs e pode levar a uma diminuição no número de trocas necessárias entre um canal e uma unidade de controle.
Petição 870160036789, de 15/07/2016, pág. 39/62
34/36 [0075] Como descrito acima, as concretizações podem ser incorporadas na forma de processos implementados em computador e aparelhos para pôr em prática esses processos. Em concretizações exemplares, a invenção é incorporada em código de programa de computador executado por um ou mais elementos de rede. As concretizações incluem um produto de programa de computador 1300 como mostrado na figura 13 em uma mídia usável em computador 1302 com lógica de código de programa de computador 1304 contendo instruções incorporadas em mídia tangível como um produto industrial. Produtos industriais exemplares para mídia usável em computador 1302 podem incluir disquetes, CD-ROMs, unidades rígidas, barramento serial universal (USB) unidades flash, ou qualquer outra mídia de armazenamento legível em computador, 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 pôr em prática a invenção.
[0076] As concretizações incluem lógica de código de programa de computador 1304, por exemplo, quer armazenada em uma mídia de armazenamento, carregada em e/ou executada por um computador, ou transmitida através de alguma mídia de transmissão, como através de fiação elétrica ou cablagem, através de fibra ótica, ou via radiação eletromagnética, em
Petição 870160036789, de 15/07/2016, pág. 40/62
35/36
| que, quando a | logica | de | código de | programa | de | computador | |
| 1304 é carregada em | e | executada | por | um | computador, o | ||
| computador se | torna | um | aparelho | para | pôr | em | prática a |
invenção. Quando implementados em um microprocessador de propósito geral, os segmentos da logica de código de programa de computador 1304 configuram o microprocessador para criar circuitos de lógica específicos.
[0077] Embora a invenção tenha sido descrita com referência a concretizações exemplares, será entendido por aqueles versados na técnica que várias alterações podem ser feitas e equivalentes podem ser substituídos por elementos das mesmas sem se afastar do escopo da invenção. Além disso, muitas modificações podem ser feitas para adaptar uma situação ou material específico aos ensinamentos da invenção sem se afastar do escopo essencial da mesma. Portanto, pretende-se que a invenção não seja limitada à concretização específica revelada como o melhor modo considerado para realizar essa invenção, porém que a invenção incluirá todas as concretizações compreendidas no escopo das reivindicações anexas. Além disso, o uso dos termos primeiro, segundo, etc., não indicam nenhuma ordem ou importância, porém ao invés os termos primeiro, segundo, etc., são usados para distinguir um elemento do outro. Além disso, o uso dos termos um, uma,
Petição 870160036789, de 15/07/2016, pág. 41/62
36/36 etc., não indicam uma limitaçao de quantidade, porém ao invés indicam a presença de pelo menos um do item referenciado.
Claims (3)
1. Método para facilitar o processamento de E/S para uma operação de E/S em um sistema de computador host configurado para comunicação com uma unidade de controle caracterizado pelo fato de que compreende:
obter (1202) uma palavra de comando de transporte para uma operação de E/S, tendo dados de entrada e de saída, a palavra de comando de transporte especificando um local dos dados de saída e um local para armazenar os dados de entrada;
coletar (1206) os dados de saída em resposta à localização dos dados de saída especificados pela palavra de comando de transporte;
encaminhar (1208) a operação de E/S e os dados de saída para a unidade de controle para execução;
receber (1210) os dados de entrada da unidade de controle; e armazenar (1212) os dados de entrada no local especificado pela palavra de comando de transporte para armazenar os dados de entrada.
2/3
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a operação de E/S inclui um ou mais comandos a serem executados pela operação de E/S.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que um ou ambos do local dos dados de saída e do local para armazenar os dados de entrada são os endereços diretos.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que um ou ambos o local dos dados de saída e do local para armazenar os dados de entrada são os endereços indiretos.
caracterizado pelo fato de que a palavra de comando de transporte é obtida a partir de um sistema operacional host.
9. Sistema de computador host caracterizado pelo fato de que compreende meios adaptados para realizar todas as
Petição 870190100067, de 07/10/2019, pág. 11/19
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a palavra de comando de transporte especifica ainda um tamanho dos dados de saída, e a coleta de dados de saída é mais sensível ao tamanho dos dados de saída.
Petição 870190100067, de 07/10/2019, pág. 10/19
3/3 etapas do método, conforme definido em qualquer uma das reivindicações 1 a 8.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/030,954 | 2008-02-14 | ||
| US12/030,954 US7941570B2 (en) | 2008-02-14 | 2008-02-14 | Bi-directional data transfer within a single I/O operation |
| PCT/EP2009/051450 WO2009101053A1 (en) | 2008-02-14 | 2009-02-09 | Bi-directional data transfer within a single i/o operation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI0908824A2 BRPI0908824A2 (pt) | 2016-09-20 |
| BRPI0908824B1 true BRPI0908824B1 (pt) | 2020-02-11 |
Family
ID=40749233
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0908824-5A BRPI0908824B1 (pt) | 2008-02-14 | 2009-02-09 | Transferência de dados bidirecional dentro de uma única operação de e/s |
Country Status (18)
| Country | Link |
|---|---|
| US (4) | US7941570B2 (pt) |
| EP (1) | EP2218009B1 (pt) |
| JP (1) | JP4917174B2 (pt) |
| KR (1) | KR101175001B1 (pt) |
| CN (1) | CN101939730B (pt) |
| AT (1) | ATE497212T1 (pt) |
| BR (1) | BRPI0908824B1 (pt) |
| CA (1) | CA2704133C (pt) |
| CY (1) | CY1111535T1 (pt) |
| DE (1) | DE602009000687D1 (pt) |
| DK (1) | DK2218009T3 (pt) |
| ES (1) | ES2359614T3 (pt) |
| IL (1) | IL207120A (pt) |
| MX (1) | MX2010008883A (pt) |
| PL (1) | PL2218009T3 (pt) |
| PT (1) | PT2218009E (pt) |
| SI (1) | SI2218009T1 (pt) |
| WO (1) | WO2009101053A1 (pt) |
Families Citing this family (59)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7500023B2 (en) | 2006-10-10 | 2009-03-03 | International Business Machines Corporation | Facilitating input/output processing by using transport control words to reduce input/output communications |
| US7502873B2 (en) | 2006-10-10 | 2009-03-10 | International Business Machines Corporation | Facilitating access to status and measurement data associated with input/output processing |
| US8108570B2 (en) | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
| 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 |
| US7899944B2 (en) | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting in an I/O processing system |
| US7840718B2 (en) | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing of data to suspend operations in an input/output processing log-out system |
| 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 |
| US8082481B2 (en) | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
| US8001298B2 (en) | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data in an I/O processing system |
| 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 |
| 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 |
| US7941570B2 (en) | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
| US7840717B2 (en) | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing a variable length device command word at a control unit in an I/O processing system |
| 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 |
| US8196149B2 (en) | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output 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 |
| US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
| US8312189B2 (en) * | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
| US8095847B2 (en) | 2008-02-14 | 2012-01-10 | International Business Machines Corporation | Exception condition handling at a channel subsystem in an I/O processing system |
| US7908403B2 (en) | 2008-02-14 | 2011-03-15 | International Business Machines Corporation | Reserved device access contention reduction |
| 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 |
| 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 |
| 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 |
| US8732357B2 (en) | 2010-10-28 | 2014-05-20 | International Business Machines Corporation | Apparatus and method for dynamically enabling and disabling write XFR—RDY |
| US8677027B2 (en) | 2011-06-01 | 2014-03-18 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
| US8364854B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
| US8738811B2 (en) | 2011-06-01 | 2014-05-27 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
| US8583988B2 (en) | 2011-06-01 | 2013-11-12 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
| US9021155B2 (en) | 2011-06-01 | 2015-04-28 | International Business Machines Corporation | Fibre channel input/output data routing including discarding of data transfer requests in response to error detection |
| US8364853B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
| US8473641B2 (en) * | 2011-06-30 | 2013-06-25 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
| US8312176B1 (en) | 2011-06-30 | 2012-11-13 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
| US8549185B2 (en) | 2011-06-30 | 2013-10-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
| 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 |
| JP5805546B2 (ja) * | 2012-01-13 | 2015-11-04 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
| US9473591B1 (en) | 2012-12-21 | 2016-10-18 | Emc Corporation | Reliable server transport over fibre channel using a block device access model |
| US9712427B1 (en) | 2012-12-21 | 2017-07-18 | EMC IP Holding Company LLC | Dynamic server-driven path management for a connection-oriented transport using the SCSI block device model |
| US9531765B1 (en) | 2012-12-21 | 2016-12-27 | Emc Corporation | System and method for maximizing system data cache efficiency in a connection-oriented data proxy service |
| US9237057B1 (en) | 2012-12-21 | 2016-01-12 | Emc Corporation | Reassignment of a virtual connection from a busiest virtual connection or locality domain to a least busy virtual connection or locality domain |
| US9407601B1 (en) | 2012-12-21 | 2016-08-02 | Emc Corporation | Reliable client transport over fibre channel using a block device access model |
| US9563423B1 (en) * | 2012-12-21 | 2017-02-07 | EMC IP Holding Company LLC | System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service |
| US9232000B1 (en) | 2012-12-21 | 2016-01-05 | Emc Corporation | Method and system for balancing load across target endpoints on a server and initiator endpoints accessing the server |
| US9270786B1 (en) | 2012-12-21 | 2016-02-23 | Emc Corporation | System and method for proxying TCP connections over a SCSI-based transport |
| US9514151B1 (en) | 2012-12-21 | 2016-12-06 | Emc Corporation | System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service |
| US9647905B1 (en) | 2012-12-21 | 2017-05-09 | EMC IP Holding Company LLC | System and method for optimized management of statistics counters, supporting lock-free updates, and queries for any to-the-present time interval |
| US9591099B1 (en) | 2012-12-21 | 2017-03-07 | EMC IP Holding Company LLC | Server connection establishment over fibre channel using a block device access model |
| AU2013364131B2 (en) * | 2012-12-21 | 2019-07-04 | Deka Products Limited Partnership | System, method, and apparatus for electronic patient care |
| US9473590B1 (en) | 2012-12-21 | 2016-10-18 | Emc Corporation | Client connection establishment over fibre channel using a block device access model |
| US9509797B1 (en) | 2012-12-21 | 2016-11-29 | Emc Corporation | Client communication over fibre channel using a block device access model |
| US9473589B1 (en) | 2012-12-21 | 2016-10-18 | Emc Corporation | Server communication over fibre channel using a block device access model |
| US8918542B2 (en) | 2013-03-15 | 2014-12-23 | International Business Machines Corporation | Facilitating transport mode data transfer between a channel subsystem and input/output devices |
| US8990439B2 (en) | 2013-05-29 | 2015-03-24 | International Business Machines Corporation | Transport mode data transfer between a channel subsystem and input/output devices |
| US9960981B2 (en) * | 2015-10-08 | 2018-05-01 | Sony Corporation | Communication device, communication method, program, and communication system |
| US10963295B2 (en) * | 2017-09-08 | 2021-03-30 | Oracle International Corporation | Hardware accelerated data processing operations for storage data |
| KR101980190B1 (ko) * | 2017-09-25 | 2019-05-21 | 서울대학교산학협력단 | 입출력 디바이스 제어 장치, 그것의 동작 방법 및 입출력 디바이스 제어 장치 드라이버의 동작 방법 |
Family Cites Families (262)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US625399A (en) * | 1899-05-23 | And carl werder | ||
| GB1264096A (pt) | 1970-06-27 | 1972-02-16 | ||
| US3693161A (en) * | 1970-07-09 | 1972-09-19 | Burroughs Corp | Apparatus for interrogating the availability of a communication path to a peripheral device |
| US4004277A (en) | 1974-05-29 | 1977-01-18 | Gavril Bruce D | Switching system for non-symmetrical sharing of computer peripheral equipment |
| US3943283A (en) * | 1974-06-17 | 1976-03-09 | International Business Machines Corporation | Bidirectional single wire data transmission and wrap control |
| US4080649A (en) * | 1976-12-16 | 1978-03-21 | Honeywell Information Systems Inc. | Balancing the utilization of I/O system processors |
| US4207609A (en) * | 1978-05-08 | 1980-06-10 | International Business Machines Corporation | Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system |
| US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
| US4374415A (en) | 1980-07-14 | 1983-02-15 | International Business Machines Corp. | Host control of suspension and resumption of channel program execution |
| US4414644A (en) | 1981-04-03 | 1983-11-08 | International Business Machines Corporation | Method and apparatus for discarding data from a buffer after reading such data |
| US4455605A (en) | 1981-07-23 | 1984-06-19 | International Business Machines Corporation | Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices |
| US4497022A (en) * | 1982-10-19 | 1985-01-29 | International Business Machines Corporation | Method and apparatus for measurements of channel operation |
| US4604709A (en) * | 1983-02-14 | 1986-08-05 | International Business Machines Corp. | Channel communicator |
| US4564903A (en) * | 1983-10-05 | 1986-01-14 | International Business Machines Corporation | Partitioned multiprocessor programming system |
| US4779188A (en) | 1983-12-14 | 1988-10-18 | International Business Machines Corporation | Selective guest system purge control |
| US4870566A (en) | 1984-08-27 | 1989-09-26 | International Business Machines Corp. | Scannerless message concentrator and communications multiplexer |
| JPS61123970A (ja) | 1984-11-20 | 1986-06-11 | Fujitsu Ltd | デ−タ転送制御方式 |
| US4837677A (en) | 1985-06-14 | 1989-06-06 | International Business Machines Corporation | Multiple port service expansion adapter for a communications controller |
| US4760518A (en) * | 1986-02-28 | 1988-07-26 | Scientific Computer Systems Corporation | Bi-directional databus system for supporting superposition of vector and scalar operations in a computer |
| JPS6336461A (ja) | 1986-07-31 | 1988-02-17 | Pfu Ltd | 汎用チャネル制御方式 |
| JPS63236152A (ja) | 1987-03-24 | 1988-10-03 | Fujitsu Ltd | I/oキユ−イング制御方法 |
| US4926320A (en) | 1987-04-07 | 1990-05-15 | Nec Corporation | Information processing system having microprogram-controlled type arithmetic processing unit |
| US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
| US4866609A (en) | 1988-06-22 | 1989-09-12 | International Business Machines Corporation | Byte count handling in serial channel extender with buffering for data pre-fetch |
| JPH0283757A (ja) | 1988-09-21 | 1990-03-23 | Hitachi Ltd | 通信制御システム |
| US5016160A (en) * | 1988-12-15 | 1991-05-14 | International Business Machines Corporation | Computer system having efficient data transfer operations |
| US5185736A (en) * | 1989-05-12 | 1993-02-09 | Alcatel Na Network Systems Corp. | Synchronous optical transmission system |
| DE69028462T2 (de) | 1989-08-11 | 1997-03-27 | Ibm | Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller Verbindung |
| GB9012970D0 (en) | 1989-09-22 | 1990-08-01 | Ibm | Apparatus and method for asynchronously delivering control elements with pipe interface |
| EP0424618A3 (en) * | 1989-10-24 | 1992-11-19 | International Business Machines Corporation | Input/output system |
| DE3938520A1 (de) * | 1989-11-21 | 1991-05-29 | Teves Gmbh Alfred | Verfahren und system zur messdatenerfassung und -auswertung |
| AU650242B2 (en) * | 1989-11-28 | 1994-06-16 | International Business Machines Corporation | Methods and apparatus for dynamically managing input/output (I/O) connectivity |
| JPH04649A (ja) | 1990-04-18 | 1992-01-06 | Nec Corp | リモートチャネル装置の障害情報転送方式 |
| CA2037708C (en) | 1990-05-04 | 1998-01-20 | Richard J. Eickemeyer | General purpose compound apparatus for instruction-level parallel processors |
| CA2054026A1 (en) * | 1990-10-31 | 1992-05-01 | William Monroe Turpin | Goal oriented electronic form system |
| US5170472A (en) * | 1991-03-28 | 1992-12-08 | International Business Machines Corp. | Dynamically changing a system i/o configuration definition |
| US5644712A (en) * | 1991-06-05 | 1997-07-01 | International Business Machines Corporation | Indirect addressing of channels via logical channel groups |
| US5386512A (en) | 1991-07-19 | 1995-01-31 | International Business Machines Corporation | System for deriving and testing mutual capability set after receiving updated capability from other processors and before requesting service information |
| JPH0580104A (ja) * | 1991-09-20 | 1993-04-02 | Cmk Corp | モータ用プリント配線板の製造方法 |
| US5805808A (en) | 1991-12-27 | 1998-09-08 | Digital Equipment Corporation | Real time parser for data packets in a communications network |
| US5301321A (en) | 1992-02-21 | 1994-04-05 | International Business Machines Corporation | Method and system for the minimization of conflicting activities with respect to an object stored within a data processing system |
| US5388219A (en) * | 1992-03-02 | 1995-02-07 | International Business Machines Corporation | Efficient channel and control unit for host computer |
| JP2532194B2 (ja) * | 1992-03-30 | 1996-09-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | プロセッサと結合機能間に対するメッセ―ジ経路指定機能を有するデ―タ処理システム |
| CA2086691C (en) * | 1992-03-30 | 1997-04-08 | David A. Elko | Communicating messages between processors and a coupling facility |
| US5317739A (en) * | 1992-03-30 | 1994-05-31 | International Business Machines Corp. | Method and apparatus for coupling data processing systems |
| US5600805A (en) * | 1992-06-15 | 1997-02-04 | International Business Machines Corporation | Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems |
| US5452455A (en) * | 1992-06-15 | 1995-09-19 | International Business Machines Corporation | Asynchronous command support for shared channels for a computer complex having multiple operating systems |
| US5414851A (en) * | 1992-06-15 | 1995-05-09 | International Business Machines Corporation | Method and means for sharing I/O resources by a plurality of operating systems |
| US5265240A (en) | 1992-07-24 | 1993-11-23 | International Business Machines Corporation | Channel measurement method and means |
| US5301323A (en) * | 1992-10-30 | 1994-04-05 | International Business Machines Corp. | Data processing system including dynamic channel path management |
| JP2566728B2 (ja) * | 1992-10-30 | 1996-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 論理径路スケジューリング装置及び実行方法 |
| US5367661A (en) * | 1992-11-19 | 1994-11-22 | International Business Machines Corporation | Technique for controlling channel operations in a host computer by updating signals defining a dynamically alterable channel program |
| US5526484A (en) | 1992-12-10 | 1996-06-11 | International Business Machines Corporation | Method and system for pipelining the processing of channel command words |
| JP2840511B2 (ja) | 1992-12-10 | 1998-12-24 | 富士通株式会社 | 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法 |
| US5528755A (en) * | 1992-12-22 | 1996-06-18 | International Business Machines Corporation | Invalid data detection, recording and nullification |
| US5517670A (en) * | 1992-12-30 | 1996-05-14 | International Business Machines Corporation | Adaptive data transfer channel employing extended data block capability |
| US5461721A (en) | 1993-04-14 | 1995-10-24 | International Business Machines Corporation | System for transferring data between I/O devices and main or expanded storage under dynamic control of independent indirect address words (IDAWs) |
| US5465359A (en) | 1993-11-01 | 1995-11-07 | International Business Machines Corporation | Method and system for managing data and users of data in a data processing system |
| US5584039A (en) | 1993-11-08 | 1996-12-10 | International Business Machines Corporation | System for coordinating execution of multiple concurrent channel programs without host processor involvement using suspend and resume commands to control data transfer between I/O devices |
| JP3528094B2 (ja) | 1994-02-09 | 2004-05-17 | 株式会社日立製作所 | バス利用方法および記憶制御装置 |
| US6769009B1 (en) | 1994-05-31 | 2004-07-27 | Richard R. Reisman | Method and system for selecting a personalized set of information channels |
| US5907684A (en) * | 1994-06-17 | 1999-05-25 | International Business Machines Corporation | Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image |
| US5548791A (en) * | 1994-07-25 | 1996-08-20 | International Business Machines Corporation | Input/output control system with plural channel paths to I/O devices |
| US5860022A (en) | 1994-07-26 | 1999-01-12 | Hitachi, Ltd. | Computer system and method of issuing input/output commands therefrom |
| EP0712220A1 (en) | 1994-11-08 | 1996-05-15 | International Business Machines Corporation | Hop-by-hop flow control in an ATM network |
| US5564040A (en) * | 1994-11-08 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for providing a server function in a logically partitioned hardware machine |
| US5613163A (en) | 1994-11-18 | 1997-03-18 | International Business Machines Corporation | Method and system for predefined suspension and resumption control over I/O programs |
| US5671441A (en) * | 1994-11-29 | 1997-09-23 | International Business Machines Corporation | Method and apparatus for automatic generation of I/O configuration descriptions |
| US5600793A (en) * | 1994-12-20 | 1997-02-04 | International Business Machines Corporation | Method and system of bi-directional parallel port data transfer between data processing systems |
| US5680580A (en) * | 1995-02-28 | 1997-10-21 | International Business Machines Corporation | Remote copy system for setting request interconnect bit in each adapter within storage controller and initiating request connect frame in response to the setting bit |
| US5742845A (en) * | 1995-06-22 | 1998-04-21 | Datascape, Inc. | System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network |
| JP3601552B2 (ja) * | 1995-07-05 | 2004-12-15 | ソニー株式会社 | 双方向放送システム、双方向放送方法および双方向放送の受信装置 |
| US5996026A (en) * | 1995-09-05 | 1999-11-30 | Hitachi, Ltd. | Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information |
| JP3225804B2 (ja) * | 1995-09-05 | 2001-11-05 | 株式会社日立製作所 | 入出力チャネルの拡張方式 |
| WO1997010549A1 (fr) * | 1995-09-13 | 1997-03-20 | Hitachi, Ltd. | Systeme de calcul electronique |
| GB2291990A (en) | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Flash-memory management system |
| US5831985A (en) | 1995-11-09 | 1998-11-03 | Emc Corporation | Method and apparatus for controlling concurrent data transmission from multiple sources in a channel communication system |
| US5793983A (en) * | 1996-01-22 | 1998-08-11 | International Business Machines Corp. | Input/output channel interface which automatically deallocates failed subchannel and re-segments data block for transmitting over a reassigned subchannel |
| US5812877A (en) * | 1996-03-15 | 1998-09-22 | Adaptec, Inc. | I/O command block chain structure in a memory |
| US5758190A (en) | 1996-04-09 | 1998-05-26 | International Business Machines Corporation | Control unit threshold timeout controls for software missing interrupt handlers in operating systems |
| US5768620A (en) | 1996-04-09 | 1998-06-16 | International Business Machines Corporation | Variable timeout method in a missing-interrupt-handler for I/O requests issued by the same operating system |
| US5894583A (en) | 1996-04-09 | 1999-04-13 | International Business Machines Corporation | Variable timeout method for improving missing-interrupt-handler operations in an environment having I/O devices shared by one or more systems |
| US6044444A (en) | 1996-05-28 | 2000-03-28 | Emc Corporation | Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected |
| US6108655A (en) * | 1996-07-19 | 2000-08-22 | Cisco Technology, Inc. | Method and apparatus for transmitting images and other objects over a computer network system |
| SG74611A1 (en) | 1997-02-14 | 2000-08-22 | Canon Kk | Data communication apparatus and method |
| US5812881A (en) * | 1997-04-10 | 1998-09-22 | International Business Machines Corporation | Handshake minimizing serial to parallel bus interface in a data processing system |
| JP3697831B2 (ja) | 1997-04-18 | 2005-09-21 | 株式会社日立製作所 | コンピュータシステム |
| TW375529B (en) * | 1997-05-14 | 1999-12-01 | Sega Corp | Data transmission method and game system using the same |
| US5918028A (en) * | 1997-07-08 | 1999-06-29 | Motorola, Inc. | Apparatus and method for smart host bus adapter for personal computer cards |
| US6263380B1 (en) * | 1997-10-14 | 2001-07-17 | Mitutoyo Corporation | Measurement data processing unit |
| US6070070A (en) | 1998-01-20 | 2000-05-30 | Aeris.Net | Method and apparatus for remote telephony switch control |
| US6654954B1 (en) | 1998-02-17 | 2003-11-25 | International Business Machines Corporation | Computer system, program product and method utilizing executable file with alternate program code attached as a file attribute |
| US6460087B1 (en) * | 1998-02-25 | 2002-10-01 | Kdd Corporation | Method of transferring file |
| US6128311A (en) * | 1998-02-26 | 2000-10-03 | 3Com Corporation | Method and system for interfacing parallelly interfaced devices through a serial bus |
| US6360282B1 (en) | 1998-03-25 | 2002-03-19 | Network Appliance, Inc. | Protected control of devices by user applications in multiprogramming environments |
| US6353612B1 (en) | 1998-06-19 | 2002-03-05 | Brocade Communications Systems, Inc. | Probing device |
| US6693880B2 (en) | 1998-09-10 | 2004-02-17 | International Business Machines Corporation | System of controlling the flow of information between senders and receivers across links being used as channels |
| US6202095B1 (en) * | 1998-10-07 | 2001-03-13 | International Business Machines Corporation | Defining characteristics between processing systems |
| US6185631B1 (en) | 1998-10-14 | 2001-02-06 | International Business Machines Corporation | Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence |
| US6230218B1 (en) | 1998-10-14 | 2001-05-08 | International Business Machines Corporation | Apparatus for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence |
| US6343335B1 (en) | 1998-10-29 | 2002-01-29 | International Business Machines Corporation | System for repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry |
| US6195330B1 (en) * | 1998-11-05 | 2001-02-27 | David C. Sawey | Method and system for hit-less switching |
| KR100273641B1 (ko) | 1998-11-11 | 2000-12-15 | 윤종용 | 공통 메모리 스위치에서 셀 그룹 처리장치 및 그 처리방법 |
| JP3990833B2 (ja) | 1998-12-11 | 2007-10-17 | キヤノン株式会社 | 通信制御方法及び装置 |
| US6347334B1 (en) * | 1999-01-06 | 2002-02-12 | Mcdata Corporation | Self-description extended link service for networks |
| US6772207B1 (en) | 1999-01-28 | 2004-08-03 | Brocade Communications Systems, Inc. | System and method for managing fibre channel switching devices |
| US6351779B1 (en) * | 1999-03-12 | 2002-02-26 | Agilent Technologies, Inc. | Extension library to standard visa library for support of complex I/O functions |
| US6484217B1 (en) | 1999-04-20 | 2002-11-19 | International Business Machines Corporation | Managing shared devices in a data processing system |
| US6738647B1 (en) | 1999-04-23 | 2004-05-18 | Numerex Corporation | Method and system for expanding the data payload of data messages transported via a cellular network control channel |
| US6401223B1 (en) | 1999-05-21 | 2002-06-04 | Unisys Corporation | Programmable system for invalidating pending requests within a data processing system |
| 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 |
| US6609165B1 (en) * | 1999-09-27 | 2003-08-19 | International Business Machines Corporation | Method and apparatus for using fibre channel extended link service commands in a point-to-point configuration |
| US6651125B2 (en) | 1999-09-28 | 2003-11-18 | International Business Machines Corporation | Processing channel subsystem pending I/O work queues based on priorities |
| US7046665B1 (en) | 1999-10-26 | 2006-05-16 | Extreme Networks, Inc. | Provisional IP-aware virtual paths over networks |
| US6718419B1 (en) | 1999-11-17 | 2004-04-06 | Globespanvirata, Inc. | System and method for extending the number of addressable physical devices on a data bus |
| US6922548B1 (en) | 2000-04-24 | 2005-07-26 | Microsoft Corporation | Providing remote network driver interface specification services over a wireless radio-frequency medium |
| US6584511B1 (en) * | 2000-03-24 | 2003-06-24 | Unisys Corporation | Loop initialization procedure exception handling for fibre channel transmissions |
| US6963940B1 (en) | 2000-03-30 | 2005-11-08 | International Business Machines Corporation | Measuring utilization of individual components of channels |
| AU2001249821A1 (en) | 2000-04-07 | 2001-10-30 | Broadcom Homenetworking, Inc. | A transceiver method and signal therefor embodied in a carrier wave for a frame-based communications network |
| US6658603B1 (en) | 2000-04-17 | 2003-12-02 | International Business Machines Corporation | Method and apparatus for efficiently generating and implementing engine error codes and verifying the correctness of the implementation of the engine error codes |
| US6594785B1 (en) | 2000-04-28 | 2003-07-15 | Unisys Corporation | System and method for fault handling and recovery in a multi-processing system having hardware resources shared between multiple partitions |
| US6862322B1 (en) | 2000-05-19 | 2005-03-01 | International Business Machines Corporation | Switchable-bandwidth optical receiver |
| US6609161B1 (en) | 2000-06-01 | 2003-08-19 | Adaptec, Inc. | Two-dimensional execution queue for host adapters |
| US7142520B1 (en) | 2000-06-16 | 2006-11-28 | Nokia Mobile Phones Ltd. | Method and apparatus for mobile internet protocol regional paging |
| JP2002016655A (ja) | 2000-06-28 | 2002-01-18 | Sony Corp | 伝送方法、伝送システム、伝送装置及び伝送制御装置 |
| US6662319B1 (en) | 2000-08-31 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | Special encoding of known bad data |
| TW576122B (en) | 2000-08-31 | 2004-02-11 | Dolby Lab Licensing Corp | Method for apparatus for audio matrix decoding |
| US6694390B1 (en) | 2000-09-11 | 2004-02-17 | Intel Corporation | Managing bus transaction dependencies |
| US7292597B2 (en) | 2000-09-28 | 2007-11-06 | Teridian Semiconductor Corp. | Method and apparatus for transparent implementation of link-suspend capabilities in network devices |
| US6665739B2 (en) | 2000-09-29 | 2003-12-16 | Emc Corporation | Method for enabling overlapped input/output requests to a logical device using assigned and parallel access unit control blocks |
| US6950888B1 (en) | 2000-09-29 | 2005-09-27 | International Business Machines Corporation | Method, system and program products for determining whether I/O constraints exist for controllers of a computing environment |
| US6751683B1 (en) | 2000-09-29 | 2004-06-15 | International Business Machines Corporation | Method, system and program products for projecting the impact of configuration changes on controllers |
| US6594712B1 (en) | 2000-10-20 | 2003-07-15 | Banderacom, Inc. | Inifiniband channel adapter for performing direct DMA between PCI bus and inifiniband link |
| US6697983B1 (en) | 2000-10-24 | 2004-02-24 | At&T Wireless Services, Inc. | Data link layer tunneling technique for high-speed data in a noisy wireless environment |
| US6622268B2 (en) | 2000-11-29 | 2003-09-16 | Intel Corp | Method and apparatus for propagating error status over an ECC protected channel |
| US7127514B2 (en) | 2000-12-28 | 2006-10-24 | Microsoft Corporation | Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client |
| US7155569B2 (en) | 2001-02-28 | 2006-12-26 | Lsi Logic Corporation | Method for raid striped I/O request generation using a shared scatter gather list |
| US6834363B2 (en) | 2001-03-22 | 2004-12-21 | International Business Machines Corporation | Method for prioritizing bus errors |
| US6898202B2 (en) | 2001-06-27 | 2005-05-24 | International Business Machines Corporation | Method, apparatus and computer program for informing a requesting device of port configuration changes in a computer network switching device |
| US20030056000A1 (en) * | 2001-07-26 | 2003-03-20 | Nishan Systems, Inc. | Transfer ready frame reordering |
| US6910149B2 (en) | 2001-09-24 | 2005-06-21 | Intel Corporation | Multi-device link aggregation |
| US6754738B2 (en) | 2001-09-28 | 2004-06-22 | International Business Machines Corporation | Low overhead I/O interrupt |
| US7315911B2 (en) | 2005-01-20 | 2008-01-01 | Dot Hill Systems Corporation | Method for efficient inter-processor communication in an active-active RAID system using PCI-express links |
| US6859866B2 (en) | 2001-10-01 | 2005-02-22 | International Business Machines Corporation | Synchronizing processing of commands invoked against duplexed coupling facility structures |
| US6745299B2 (en) | 2001-11-19 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms |
| US7512133B2 (en) * | 2001-12-03 | 2009-03-31 | International Business Machines Corporation | Method and apparatus for obtaining multiple port addresses by a fibre channel from a network fabric |
| US7599360B2 (en) | 2001-12-26 | 2009-10-06 | Cisco Technology, Inc. | Methods and apparatus for encapsulating a frame for transmission in a storage area network |
| US7085860B2 (en) | 2002-01-11 | 2006-08-01 | International Business Machines Corporation | Method and apparatus for a non-disruptive recovery of a single partition in a multipartitioned data processing system |
| US7007142B2 (en) | 2002-02-19 | 2006-02-28 | Intel Corporation | Network data storage-related operations |
| US7099814B2 (en) * | 2002-03-29 | 2006-08-29 | International Business Machines Corportion | I/O velocity projection for bridge attached channel |
| US6898723B2 (en) | 2002-04-01 | 2005-05-24 | Mitac International Corp. | Method for verifying clock signal frequency of computer sound interface that involves checking whether count value of counter is within tolerable count range |
| US7543087B2 (en) | 2002-04-22 | 2009-06-02 | Alacritech, Inc. | Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device |
| JP4704659B2 (ja) | 2002-04-26 | 2011-06-15 | 株式会社日立製作所 | 記憶装置システムの制御方法および記憶制御装置 |
| US20030208581A1 (en) | 2002-05-02 | 2003-11-06 | Behren Paul D. Von | Discovery of fabric devices using information from devices and switches |
| US7120728B2 (en) | 2002-07-31 | 2006-10-10 | Brocade Communications Systems, Inc. | Hardware-based translating virtualization switch |
| US7107385B2 (en) | 2002-08-09 | 2006-09-12 | Network Appliance, Inc. | Storage virtualization by layering virtual disk objects on a file system |
| US6826661B2 (en) | 2002-08-30 | 2004-11-30 | Veritas Operating Corporation | Methods and systems for storage architectures |
| US20040054776A1 (en) | 2002-09-16 | 2004-03-18 | Finisar Corporation | Network expert analysis process |
| US7539777B1 (en) | 2002-10-25 | 2009-05-26 | Cisco Technology, Inc. | Method and system for network time protocol forwarding |
| US7080094B2 (en) | 2002-10-29 | 2006-07-18 | Lockheed Martin Corporation | Hardware accelerated validating parser |
| US7418574B2 (en) | 2002-10-31 | 2008-08-26 | Lockheed Martin Corporation | Configuring a portion of a pipeline accelerator to generate pipeline date without a program instruction |
| US7202801B2 (en) | 2002-12-11 | 2007-04-10 | Geospatial Technologies, Inc. | Method and apparatus for an automated location-based, dynamic notification system (ALDNS) |
| US7277387B2 (en) | 2003-01-30 | 2007-10-02 | Wind River Systems, Inc. | Package manager |
| US7324455B2 (en) | 2003-03-14 | 2008-01-29 | International Business Machines Corporation | Transfer of error-analysis and statistical data in a fibre channel input/output system |
| JP2004280717A (ja) * | 2003-03-18 | 2004-10-07 | Matsushita Electric Works Ltd | 遠隔制御監視システム及びそれに用いる情報通信方法 |
| US6915378B2 (en) | 2003-04-23 | 2005-07-05 | Hypernova Technologies, Inc. | Method and system for improving the performance of a processing system |
| 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 |
| US7266296B2 (en) | 2003-06-11 | 2007-09-04 | Intel Corporation | Architecture and method for framing control and data bursts over 10 Gbit Ethernet with and without WAN interface sublayer support |
| TWI271626B (en) | 2003-06-17 | 2007-01-21 | Delta Electronics Inc | Data transmission method for microprocessors of programmable logic controller |
| US7684401B2 (en) | 2003-07-21 | 2010-03-23 | Qlogic, Corporation | Method and system for using extended fabric features with fibre channel switch elements |
| US7124207B1 (en) | 2003-08-14 | 2006-10-17 | Adaptec, Inc. | I2O command and status batching |
| US7149823B2 (en) | 2003-08-29 | 2006-12-12 | Emulex Corporation | System and method for direct memory access from host without processor intervention wherein automatic access to memory during host start up does not occur |
| KR100829471B1 (ko) | 2003-10-17 | 2008-05-19 | 니폰덴신뎅와 가부시키가이샤 | 메일 배송 시스템, 메일 배송방법 및 메일 배송 프로그램 |
| KR20050043426A (ko) | 2003-11-06 | 2005-05-11 | 삼성전자주식회사 | 파이프라인 버스 시스템에서 커맨드 전송 방법 및 장치 |
| US20050105456A1 (en) | 2003-11-18 | 2005-05-19 | Cookson Christopher J. | Double-sided optical disc |
| US7581033B2 (en) | 2003-12-05 | 2009-08-25 | Unisys Corporation | Intelligent network interface card (NIC) optimizations |
| US7634582B2 (en) | 2003-12-19 | 2009-12-15 | Intel Corporation | Method and architecture for optical networking between server and storage area networks |
| US7564791B2 (en) | 2003-12-29 | 2009-07-21 | Intel Corporation | Monitoring packet flows |
| US7382733B2 (en) | 2004-02-12 | 2008-06-03 | International Business Machines Corporation | Method for handling reordered data packets |
| US7133988B2 (en) | 2004-02-25 | 2006-11-07 | Hitachi, Ltd. | Method and apparatus for managing direct I/O to storage systems in virtualization |
| TWI369616B (en) | 2004-02-27 | 2012-08-01 | Eplus Capital Inc | System and method for user creation and direction of a rich-content life-cycle |
| US20050223291A1 (en) | 2004-03-24 | 2005-10-06 | Zimmer Vincent J | Methods and apparatus to provide an execution mode transition |
| JP2005293363A (ja) | 2004-04-01 | 2005-10-20 | Toshiba Corp | ディスクアレイコントローラおよび情報処理装置 |
| US8171170B2 (en) | 2004-04-30 | 2012-05-01 | Emc Corporation | Storage switch task processing synchronization |
| US7240273B2 (en) | 2004-05-13 | 2007-07-03 | Industrial Technology Research Institute | Cyclic redundancy check modification for message length detection and error detection |
| US7555554B2 (en) | 2004-08-06 | 2009-06-30 | Microsoft Corporation | System and method for generating selectable extension to media transport protocol |
| US7711871B1 (en) * | 2004-08-30 | 2010-05-04 | Crossroads Systems, Inc. | Interface device and method for command processing |
| US7443798B2 (en) | 2004-09-03 | 2008-10-28 | Agere Systems Inc. | Transmit adaptive equalization for communication system with one or more serial data channels |
| US7577772B2 (en) | 2004-09-08 | 2009-08-18 | Qlogic, Corporation | Method and system for optimizing DMA channel selection |
| GB2419198A (en) | 2004-10-14 | 2006-04-19 | Hewlett Packard Development Co | Identifying performance affecting causes in a data storage system |
| US7398335B2 (en) | 2004-11-22 | 2008-07-08 | Qlogic, Corporation | Method and system for DMA optimization in host bus adapters |
| JP4575119B2 (ja) | 2004-11-25 | 2010-11-04 | 株式会社日立製作所 | ストレージシステム |
| US7164425B2 (en) | 2004-12-21 | 2007-01-16 | Qlogic Corporation | Method and system for high speed network application |
| US7672323B2 (en) | 2005-01-14 | 2010-03-02 | Cisco Technology, Inc. | Dynamic and intelligent buffer management for SAN extension |
| US7526633B2 (en) | 2005-03-23 | 2009-04-28 | Qualcomm Incorporated | Method and system for encoding variable length packets with variable instruction sizes |
| JP2006277583A (ja) | 2005-03-30 | 2006-10-12 | Hitachi Ltd | データ処理システム、データ処理方法、及びプログラム |
| JP2006338538A (ja) * | 2005-06-03 | 2006-12-14 | Nec Electronics Corp | ストリームプロセッサ |
| US8169938B2 (en) | 2005-06-05 | 2012-05-01 | Starkey Laboratories, Inc. | Communication system for wireless audio devices |
| US7797463B2 (en) | 2005-06-30 | 2010-09-14 | Intel Corporation | Hardware assisted receive channel frame handling via data offset comparison in SAS SSP wide port applications |
| US7970953B2 (en) | 2005-06-30 | 2011-06-28 | Intel Corporation | Serial ATA port addressing |
| JP2007034392A (ja) * | 2005-07-22 | 2007-02-08 | Nec Electronics Corp | 情報処理装置及びデータ処理方法 |
| JP2007058646A (ja) | 2005-08-25 | 2007-03-08 | Hitachi Ltd | データ処理システム |
| TW200733733A (en) | 2005-09-06 | 2007-09-01 | Nokia Corp | Enhanced signaling of pre-configured interaction message in service guide |
| US7577773B1 (en) | 2005-09-09 | 2009-08-18 | Qlogic, Corporation | Method and system for DMA optimization |
| JP4527640B2 (ja) | 2005-09-15 | 2010-08-18 | 株式会社ソニー・コンピュータエンタテインメント | データ読出装置 |
| JP2007122108A (ja) | 2005-10-25 | 2007-05-17 | Hitachi Ltd | セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御 |
| US7484021B2 (en) | 2005-10-27 | 2009-01-27 | Cisco Technology, Inc. | Technique for implementing virtual fabric membership assignments for devices in a storage area network |
| US20070162631A1 (en) | 2005-12-28 | 2007-07-12 | International Business Machines Corporation | Method for selectable software-hardware internet SCSI |
| US7594057B1 (en) | 2006-01-09 | 2009-09-22 | Qlogic, Corporation | Method and system for processing DMA requests |
| JP2007199975A (ja) | 2006-01-26 | 2007-08-09 | Hitachi Ltd | データ処理システム及びデータ処理方法 |
| US7743197B2 (en) | 2006-05-11 | 2010-06-22 | Emulex Design & Manufacturing Corporation | System and method for virtualizing PCIe devices |
| US9032164B2 (en) | 2006-02-17 | 2015-05-12 | Emulex Corporation | Apparatus for performing storage virtualization |
| US20080040519A1 (en) | 2006-05-02 | 2008-02-14 | Alacritech, Inc. | Network interface device with 10 Gb/s full-duplex transfer rate |
| US8381214B2 (en) | 2006-05-05 | 2013-02-19 | Microsoft Corporation | Extensible job submission |
| US7630405B1 (en) | 2006-05-27 | 2009-12-08 | Cisco Technology, Inc. | Techniques for ensuring synchronized processing at remote fiber channel and fiber connectivity networks |
| US7826349B2 (en) | 2006-05-30 | 2010-11-02 | Intel Corporation | Connection management mechanism |
| US20080043563A1 (en) | 2006-08-15 | 2008-02-21 | International Business Machines Corporation | Flexibly controlling the transfer of data between input/output devices and memory |
| US7500030B2 (en) | 2006-08-30 | 2009-03-03 | International Business Machines Corporation | Control of information units in fibre channel communications |
| US8032581B2 (en) | 2006-08-30 | 2011-10-04 | International Business Machines Corporation | Persistent information unit pacing |
| US7502873B2 (en) | 2006-10-10 | 2009-03-10 | International Business Machines Corporation | Facilitating access to status and measurement data associated with input/output processing |
| US7500023B2 (en) | 2006-10-10 | 2009-03-03 | International Business Machines Corporation | Facilitating input/output processing by using transport control words to reduce input/output communications |
| US7668984B2 (en) | 2007-01-10 | 2010-02-23 | International Business Machines Corporation | Low latency send queues in I/O adapter hardware |
| US7797414B2 (en) | 2007-01-31 | 2010-09-14 | International Business Machines Corporation | Establishing a logical path between servers in a coordinated timing network |
| US8942219B2 (en) | 2007-04-13 | 2015-01-27 | Hart Communication Foundation | Support for network management and device communications 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 |
| US7631128B1 (en) | 2007-06-28 | 2009-12-08 | Emc Corporation | Protocol controller for a data storage system |
| US8020074B2 (en) | 2007-08-24 | 2011-09-13 | Datadirect Networks, Inc. | Method for auto-correction of errors in a RAID memory system |
| JP2009184260A (ja) | 2008-02-07 | 2009-08-20 | Kyocera Mita Corp | 画像形成装置 |
| 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 |
| 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 |
| US7899944B2 (en) | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting 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 |
| 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 |
| US8001298B2 (en) | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data in an I/O processing system |
| US8166206B2 (en) | 2008-02-14 | 2012-04-24 | International Business Machines Corporation | Cancel instruction and command for determining the state of an I/O operation |
| US7890668B2 (en) | 2008-02-14 | 2011-02-15 | International Business Machines Corporation | Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous |
| US8117347B2 (en) | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
| US7908403B2 (en) | 2008-02-14 | 2011-03-15 | International Business Machines Corporation | Reserved device access contention reduction |
| 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 |
| US8312189B2 (en) | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
| US8196149B2 (en) | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output processing system |
| 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 |
| 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 |
| US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
| US8108570B2 (en) | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
| 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 |
| 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 |
| US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
| GB2460841B (en) | 2008-06-10 | 2012-01-11 | Virtensys Ltd | Methods of providing access to I/O devices |
| US7983257B2 (en) | 2008-07-18 | 2011-07-19 | Emulex Design & Manufacturing Corporation | Hardware switch for hypervisors and blade servers |
| US8055807B2 (en) | 2008-07-31 | 2011-11-08 | International Business Machines Corporation | Transport control channel program chain linking including determining sequence order |
| US7937504B2 (en) | 2008-07-31 | 2011-05-03 | International Business Machines Corporation | Transport control channel program message pairing |
| US20100064072A1 (en) | 2008-09-09 | 2010-03-11 | Emulex Design & Manufacturing Corporation | Dynamically Adjustable Arbitration Scheme |
| JP5107880B2 (ja) | 2008-12-10 | 2012-12-26 | 株式会社日立製作所 | データ転送処理装置及び方法 |
| CN101551736B (zh) | 2009-05-20 | 2010-11-03 | 杭州华三通信技术有限公司 | 基于地址指针链表的缓存管理装置和方法 |
| US8332542B2 (en) | 2009-11-12 | 2012-12-11 | International Business Machines Corporation | Communication with input/output system devices |
| US8914812B2 (en) | 2010-01-08 | 2014-12-16 | International Business Machines Corporation | Controlling operations according to another system's architecture |
| US8583988B2 (en) | 2011-06-01 | 2013-11-12 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
-
2008
- 2008-02-14 US US12/030,954 patent/US7941570B2/en active Active
-
2009
- 2009-02-09 DK DK09709853.7T patent/DK2218009T3/da active
- 2009-02-09 PL PL09709853T patent/PL2218009T3/pl unknown
- 2009-02-09 AT AT09709853T patent/ATE497212T1/de active
- 2009-02-09 DE DE602009000687T patent/DE602009000687D1/de active Active
- 2009-02-09 BR BRPI0908824-5A patent/BRPI0908824B1/pt active IP Right Grant
- 2009-02-09 PT PT09709853T patent/PT2218009E/pt unknown
- 2009-02-09 CA CA2704133A patent/CA2704133C/en active Active
- 2009-02-09 WO PCT/EP2009/051450 patent/WO2009101053A1/en not_active Ceased
- 2009-02-09 SI SI200930020T patent/SI2218009T1/sl unknown
- 2009-02-09 CN CN2009801042047A patent/CN101939730B/zh active Active
- 2009-02-09 JP JP2010546302A patent/JP4917174B2/ja active Active
- 2009-02-09 MX MX2010008883A patent/MX2010008883A/es active IP Right Grant
- 2009-02-09 EP EP09709853A patent/EP2218009B1/en active Active
- 2009-02-09 KR KR1020107016962A patent/KR101175001B1/ko active Active
- 2009-02-09 ES ES09709853T patent/ES2359614T3/es active Active
-
2010
- 2010-07-21 IL IL207120A patent/IL207120A/en active IP Right Grant
-
2011
- 2011-02-07 CY CY20111100137T patent/CY1111535T1/el unknown
- 2011-03-30 US US13/075,993 patent/US8495253B2/en active Active
-
2013
- 2013-06-13 US US13/917,280 patent/US8892781B2/en active Active
-
2014
- 2014-11-17 US US14/543,368 patent/US9298379B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| KR20100107485A (ko) | 2010-10-05 |
| JP2011512587A (ja) | 2011-04-21 |
| US20090210581A1 (en) | 2009-08-20 |
| WO2009101053A1 (en) | 2009-08-20 |
| DE602009000687D1 (de) | 2011-03-10 |
| US20150074295A1 (en) | 2015-03-12 |
| CA2704133C (en) | 2017-11-07 |
| IL207120A0 (en) | 2010-12-30 |
| SI2218009T1 (sl) | 2011-05-31 |
| PT2218009E (pt) | 2011-03-16 |
| US8495253B2 (en) | 2013-07-23 |
| IL207120A (en) | 2014-04-30 |
| ES2359614T3 (es) | 2011-05-25 |
| US20130282929A1 (en) | 2013-10-24 |
| ATE497212T1 (de) | 2011-02-15 |
| BRPI0908824A2 (pt) | 2016-09-20 |
| CY1111535T1 (el) | 2015-08-05 |
| US8892781B2 (en) | 2014-11-18 |
| MX2010008883A (es) | 2010-09-07 |
| CN101939730A (zh) | 2011-01-05 |
| EP2218009B1 (en) | 2011-01-26 |
| CN101939730B (zh) | 2013-10-09 |
| US7941570B2 (en) | 2011-05-10 |
| KR101175001B1 (ko) | 2012-08-20 |
| PL2218009T3 (pl) | 2011-06-30 |
| JP4917174B2 (ja) | 2012-04-18 |
| US20110196993A1 (en) | 2011-08-11 |
| US9298379B2 (en) | 2016-03-29 |
| DK2218009T3 (da) | 2011-04-18 |
| CA2704133A1 (en) | 2009-08-20 |
| EP2218009A1 (en) | 2010-08-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101939730B (zh) | 用于单个i/o操作内的双向数据传输的方法和装置 | |
| BRPI0908825B1 (pt) | Fornecer endereçamento de dados indireto em um sistema de processamento de entrada/saída onde a lista de endereços de dados indiretos é não-contígua | |
| KR101242896B1 (ko) | I/o 처리 시스템의 채널 서브시스템에서 제어 블록에 대한 간접 데이터 주소지정 제공 | |
| CN101939731B (zh) | 处理变长设备命令字的系统和方法 | |
| BRPI0908135B1 (pt) | comando de computador e resposta para determinar o estado de uma operação de e/s | |
| US20090210769A1 (en) | Multiple crc insertion in an output data stream |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
| B06T | Formal requirements before examination [chapter 6.20 patent gazette] |
Free format text: PARECER 6.20 |
|
| 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 11/02/2020, OBSERVADAS AS CONDICOES LEGAIS. |