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 PDF

Info

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
Application number
BRPI0908824-5A
Other languages
English (en)
Inventor
Daniel Casper
John Flanagan
Matthew Kalos
Gustav Sittmann
Catherine Huang
Ugochukwu Njoku
Dale Riedy
Original Assignee
International Business Machines Corporation.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=40749233&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0908824(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by International Business Machines Corporation. filed Critical International Business Machines Corporation.
Publication of BRPI0908824A2 publication Critical patent/BRPI0908824A2/pt
Publication of BRPI0908824B1 publication Critical patent/BRPI0908824B1/pt

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)

REIVINDICAÇÕES
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.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o sistema de computador host inclui um sistema de processamento de E/S e o método é executado pelo sistema de processamento de E/S. 7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o sistema de computador host inclui um subsistema de canal e o método é executado pelo subsist ema de canal . 8. Método, de acordo com a reivindicação 1,
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.
BRPI0908824-5A 2008-02-14 2009-02-09 Transferência de dados bidirecional dentro de uma única operação de e/s BRPI0908824B1 (pt)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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.