BRPI0908825B1 - 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 - Google Patents

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 Download PDF

Info

Publication number
BRPI0908825B1
BRPI0908825B1 BRPI0908825-3A BRPI0908825A BRPI0908825B1 BR PI0908825 B1 BRPI0908825 B1 BR PI0908825B1 BR PI0908825 A BRPI0908825 A BR PI0908825A BR PI0908825 B1 BRPI0908825 B1 BR PI0908825B1
Authority
BR
Brazil
Prior art keywords
data
list
address
channel
storage address
Prior art date
Application number
BRPI0908825-3A
Other languages
English (en)
Inventor
Daniel Casper
John Flanagan
Harry Yudenfriend
Matthew Kalos
Mark Bendyk
Gustav Sittmann
Catherine Huang
Dale Riedy
Ugochukwu Njoku
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=40849165&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0908825(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 BRPI0908825A2 publication Critical patent/BRPI0908825A2/pt
Publication of BRPI0908825B1 publication Critical patent/BRPI0908825B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Executing Machine-Instructions (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Control By Computers (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Circuits Of Receivers In General (AREA)
  • Communication Control (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

fornecer endereçamento de dados indireto em um sistema de processamento de entrada/saída onde a lista de endereços de dados indireta é não-contígua sistemas, métodos e produtos programa de computador para fornecer endereçamento de dados indireto em um subsistema de e/s do sistema de processamento de e/s. o produto programa de computador inclui um meio de armazenamento tangível legível por um circuito de processamento e armazenamento de instruções para a execução pelo circuito de processamento para executar um método. o método inclui receber uma palavra de controle para uma operação de e / s. a palavra de controle inclui um endereço de dados indireto de dados associados com a operação de e/s. o endereço de dados indireto inclui uma localização a partir de uma lista de endereços de armazenamento que, coletivamente, especifica os dados, a lista abrange dois ou mais locais de armazenamento não-contíguos. os dados são coletados em resposta à lista. os dados coletados são transmitidos para uma unidade de controle no sistema de processamento de e/s.

Description

Relatório Descritivo da Patente de Invenção para: “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”.
Campo da Invenção [0001] A presente divulgação refere-se genericamente ao processamento de entrada/saída, e em particular, ao fornecimento de uma lista de endereçamento de dados indiretos não contíguos em um subsistema de E/S de um sistema de processamento de E/S.
Descrição dos Antecedentes [0002] As operações de entrada/saída (E/S, de input/output no termo em inglês) são utilizadas para transferir dados entre a memória e os dispositivos de E/S de um sistema de processamento de E/S. Especificamente, os dados são escritos a partir da memória para um ou mais dispositivos de E/S e são lidos a partir de um ou mais dispositivos de E/S para a memória, através da execução de operações de E/S.
[0003] Para facilitar o processamento de operações
de E/S, é empregado um subsistema de E/S do sistema de
processamento de E/S. O subsistema de E/S é acoplado à
memória principal e aos dispositivos de E/S do sistema de
processamento de E/S e direciona o fluxo de informações entre a memória e os dispositivos de E/S. Um exemplo de um
Petição 870160036981, de 18/07/2016, pág. 7/59
2/37 subsistema de E/S é um subsistema de canal. O subsistema de canal utiliza caminhos de canal como meios de comunicação. Cada caminho de canal inclui um canal acoplado a uma unidade de controle, 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, na sigla em inglês) para transferir dados entre os dispositivos de E/S e a memória. Uma CCW especifica o comando a ser executado. Para comandos que iniciam certas operações de E/S, a CCW designa a área de memória associada com a operação, a ação a ser tomada sempre que uma transferência para a área, ou a partir da área, é concluída, e outras opções.
[0005] Durante o processamento de E/S, uma lista de CCWs é obtida a partir da memória através de um canal. O canal analisa cada comando a partir da lista de CCWs e encaminha um número de comandos, cada comando na sua própria entidade, para uma unidade de controle acoplada ao canal. A unidade de controle processa os comandos. O canal segue o estado de cada comando e controla quando o próximo conjunto seguinte de comandos deverá ser enviado à unidade de controle para processamento. O canal assegura que cada comando seja enviado para a unidade de controle na sua própria entidade. Além disso, o canal infere certas informações associadas ao
Petição 870160036981, de 18/07/2016, pág. 8/59
3/37 processamento da resposta a partir da unidade de controle para cada comando.
[0006] A execução do processamento de E/S em uma base por CCW pode envolver uma grande quantidade de sobrecarga de processamento para o subsistema de canal, uma vez que os canais analisam as CCWs, rastreiam as informações sobre o estado, e reagem às respostas das unidades de controle. Por isso, pode ser benéfico deslocar a maior parte da carga de processamento associada com a interpretação e gestão da CCW e da informação de estado partir do subsistema de canal até as unidades de controle. A simplificação do papel dos canais na comunicação entre as unidades de controle e um sistema operacional no sistema de processamento de E/S pode aumentar a taxa de transferência de comunicação, uma vez que menos handshaking é realizado. No entanto, alterando as sequências de comando, assim como funções do subsistema de canal e as unidades de comando, permite que a quantidade de dados que são transferidos dentro de uma única operação de E/S seja maior do que um megabyte. Esta é a quantidade máxima de dados que podem ser transferidos com uma lista contínua de endereços de dados de transporte indireto quando o tamanho da página do sistema é de 4k bytes. Atualmente, a Palavra de Comando de Canal (CCW) existente não pode suportar uma transferência de dados maior do que 64k bytes no interior de
Petição 870160036981, de 18/07/2016, pág. 9/59
4/37 uma única operação de E/S por causa da limitação do campo da contagem de dois bytes na CCW. A Palavra de Controle de Transporte (TCW, na sigla em inglês) resolveu o problema, aumentando a contagem de bytes para quatro bytes na TCW, mas, em seguida, a próxima limitação de um megabyte foi encontrada porque a lista de endereço de dados indiretos de transporte (TIDAL, na sigla em inglês) deve estar contida em uma página que é de 4k bytes, que permitia apenas 256 entradas na lista de endereços.
Breve Sumário da Invenção [0007] As concretizações da invenção incluem um produto de programa de computador para fornecer dados indiretos abordados em um subsistema de entrada/saída (E/S) de um sistema de processamento de E/S. O produto de programa de computador inclui um meio de armazenamento legível tangível através de um circuito de processamento e de instruções de armazenamento para execução pelo circuito de processamento para a realização de um método. O método inclui a recepção de uma palavra de controle para uma operação de E/S. A palavra de controle inclui um endereço de dados indiretos para dados associados com a operação de E/S. O endereço de dados indiretos inclui um local de partida de uma lista de endereços de armazenamento que especificam os dados de forma coletiva, a lista se estende por dois ou mais
Petição 870160036981, de 18/07/2016, pág. 10/59
5/37 locais de armazenamento não contíguos.
[0008] Os dados recolhidos são responsivos à lista. Os dados recolhidos são transmitidos para uma unidade de controle no sistema de processamento de E/S.
[0009] Concretizações adicionais incluem um aparelho para fornecimento de endereçamento de dados indiretos em um subsistema de E/S de um sistema de processamento de E/S. O aparelho inclui um subsistema de E/S adaptado para comunicarse com uma unidade de controle no sistema de processamento de E/S. O subsistema de E/S executa um método, incluindo a recepção de palavra de controle para uma operação de E/S. A palavra de controle inclui um endereço de dados indiretos para dados associados com a operação de E/S. O endereço de dados indiretos inclui um local de partida de uma lista de endereços de armazenamento que especificam os dados de forma coletiva, a lista se estende por dois ou mais locais de armazenamento não contíguos. Os dados recolhidos são responsivos à lista. Os dados recolhidos são transmitidos à unidade de controle.
[0010] Outras concretizações incluem um método para o fornecimento de endereçamento de dados indiretos a um subsistema de E/S de um sistema de processamento de E/S. O método inclui a recepção de uma palavra de controle para uma operação de E/S. A palavra de controle inclui um endereço de
Petição 870160036981, de 18/07/2016, pág. 11/59
6/37 dados indiretos para dados associados com a operação de E/S. O endereço de dados indiretos inclui um local de partida de uma lista de endereços de armazenamento que especificam os dados de forma coletiva, a lista se estende por dois ou mais locais de armazenamento não contíguos. Os dados recolhidos são responsivos à lista. Os dados recolhidos são transmitidos para uma unidade de controle no sistema de processamento de E/S.
[0011] Outras concretizações adicionais incluem um produto de programa de computador para fornecer dados indiretos abordados em um subsistema de E/S de um sistema de processamento de E/S. O produto de programa de computador inclui um meio de armazenamento legível tangível através de um circuito de processamento e de instruções de armazenamento para execução pelo circuito de processamento para a realização de um método. O método inclui a recepção de uma palavra de controle para uma operação de E/S. A palavra de controle inclui um endereço de dados indiretos para a saída de dados de clientes da operação de E/S. O endereço de dados indiretos inclui um local de partida de uma lista de endereços de armazenamento que especificam coletivamente um local de armazenamento para a saída de dados do cliente, a lista se estende por dois ou mais locais de armazenamento não contíguos. A saída de dados de cliente é recebida a
Petição 870160036981, de 18/07/2016, pág. 12/59
7/37 partir de uma unidade de controle no sistema de processamento de E/S em resposta à operação de E/S sendo executada na unidade de controle. A saída de dados do cliente é armazenada no local de armazenamento no subsistema de E/S responsivo à lista.
[0012] Outros artigos de fabricação, aparelhos e/ou métodos de acordo com as concretizações serão ou se tornarão evidentes para um técnico no assunto após revisão das seguintes figuras e da descrição detalhada. É pretendido que todos os artigos adicionais acerca de fabricação, aparelhos e/ou métodos sejam incluídos nesta descrição, estando dentro do escopo da presente invenção, e que sejam protegidos pelas reivindicações anexas.
Breve Descrição das Figuras [0013] O objeto que é considerado como inventivo é particularmente salientado e distintamente reivindicado nas reivindicações na conclusão das especificações. O acima exposto e outros objetivos, características e vantagens da invenção são evidentes a partir da descrição detalhada que se segue, tomados em conjunto com as figuras anexas, nas quais :
[0014] A figura 1 ilustra uma concretização de um sistema de processamento de E/S que incorpora e utiliza um
Petição 870160036981, de 18/07/2016, pág. 13/59
8/37 ou mais aspectos da presente invenção;
[0015] A figura 2A ilustra um exemplo de uma palavra de comando de canal do estado da técnica;
[0016] A figura 2B ilustra um exemplo de um programa de canal de uma palavra de comando de canal do estado da técnica;
[0017] A figura 3 ilustra uma concretização de um protocolo de ligação do estado da técnica utilizado para comunicação entre um canal e unidade de controle para executar o programa de canal de uma palavra de comando de canal da figura 2B;
[0018] A figura 4 ilustra uma concretização de um programa de canal de uma palavra de controle de transporte, de acordo com um aspecto da presente invenção;
[0019] A figura 5 ilustra uma concretização de um protocolo de ligação utilizado para comunicação entre um canal e unidade de controle para executar o programa de canal de uma palavra de controle de transporte da figura 4, de acordo com um aspecto da presente invenção;
[0020] A figura 6 ilustra uma concretização de um protocolo de ligação do estado da técnica utilizado para comunicação entre um canal e unidade de controle, com o intuito de executar quatro comandos de escrita de um programa
Petição 870160036981, de 18/07/2016, pág. 14/59
9/37 de canal de uma palavra de comando de canal;
[0021] A figura 7 ilustra uma concretização de um protocolo de ligação utilizado para comunicação entre um canal e unidade de controle para processar os quatro comandos de escrita de um programa de canal de uma palavra de controle de transporte, de acordo com um aspecto da presente invenção;
[0022] A figura 8 ilustra uma concretização de uma unidade de controle e um subsistema de canal, de acordo com um aspecto da presente invenção;
[0023] A figura 9 ilustra uma concretização de uma palavra de endereço de dados indiretos de modo de transporte (TIDAW, na sigla em inglês), de acordo com um aspecto da presente invenção;
[0024] A figura 10 ilustra uma concretização de um processo para fornecer o endereçamento dados indiretos não contíguos a um subsistema de E/S; e [0025] A figura 11 ilustra uma concretização de um artigo de fabricação incorporando um ou mais aspectos da presente invenção.
[0026] A descrição detalhada esclarece as
concretizações preferenciais da invenção, juntamente com
vantagens e características, a título de exemplo com
Petição 870160036981, de 18/07/2016, pág. 15/59
10/37 referência às figuras.
Descrição Detalhada da Invenção [0027] De acordo com um aspecto da presente invenção, o processamento de entrada/saída (E/S) é facilitado. O processamento de E/S é facilitado, em um exemplo, através da redução de comunicações entre os componentes de um sistema de processamento de E/S utilizado para executar o processamento de E/S. Por exemplo, o número de trocas e sequências entre um adaptador de comunicações de E/S, tal como um canal, e uma unidade de controle, é reduzido. Isto é conseguido através do envio de uma pluralidade de comandos do adaptador de comunicações de E/S para a unidade de controle como uma entidade única para a execução pela unidade
de controle, e pela unidade de controle enviando os dados
resultantes dos comandos, se existirem, como uma entidade
única.
[0028] A pluralidade de comandos é incluída em um
bloco, aqui referida como um bloco de controle de comando de transporte (TCCB, na sigla em inglês), um endereço que é especificado em uma palavra de controle de transporte (TCW). A TCW enviada de um sistema operacional (OS, na sigla em inglês), ou outra aplicação para o adaptador de comunicações de E/S, que por sua vez encaminha o TCCB em uma mensagem de comando para a unidade de controle para processamento. A
Petição 870160036981, de 18/07/2016, pág. 16/59
11/37 unidade de controle processa cada um dos comandos na ausência de um acompanhamento do estado relativo a esses comandos individuais pelo adaptador de comunicações de E/S. A pluralidade de comandos é também referida como um programa de canal, que é analisado e executado na unidade de controle, em vez do adaptador de comunicações de E/S.
[0029] Em uma concretização exemplificativa, a TCW para uma operação de E/S inclui ponteiros que indicam a localização de dados de controle (por exemplo, o TCCB) e de dados dos clientes associados com a operação de E/S. Em uma concretização exemplificativa, os indicadores referem-se a um endereço de dados indiretos, aqui referidos como uma lista de endereços de dados indiretos de modo de transporte (TIDAL). A TIDAL inclui uma lista de endereços onde os dados estão localizados; estes endereços são aqui referidos como as palavras de endereço de dados indiretos de modo de transporte (TIDAWs). No projeto do sistema atual com páginas de 4K, a TIDAL não pode ser maior do que quatro quilo bytes (4K), limitando assim em 256, o número de TIDAWs contínuas que podem ser incluídas em uma única TIDAL (cada TIDAL é de 16 bytes). Isto limita a quantidade total de dados que podem ser transferidos por uma operação de E/S em um megabyte assumindo páginas de 4K, cada TIDAL é de 16 bytes e esta precisa estar contida em uma página de 4K. Em uma
Petição 870160036981, de 18/07/2016, pág. 17/59
12/37 concretização exemplificativa da presente invenção, esta limitação é removida, permitindo que um endereço de TIDAW indique a localização inicial das próximas TIDAWs em outro local de armazenamento o qual pode estar em uma página diferente. A marcação na TIDAW é utilizada para indicar se o endereço da TIDAW inclui um endereço de dados ou um endereço da continuação da lista de TIDAW. Desta maneira, as TIDAWs que constituem uma única TIDAL podem estar localizadas em locais de armazenamento não contíguos e, portanto, mais do que 256 TIDAWs podem ser incluídas em uma única lista de TIDAL. Isso permite que mais dados sejam transferidos dentro de uma única operação de E/S. Por exemplo, em uma concretização exemplificativa, em que o campo de contagem na TCW é de quatro bytes, cerca de quatro gigabytes (quatro gigabytes menos um byte) podem ser transferidos dentro de uma única operação de E/S.
[0030] Um exemplo de um sistema de processamento de E/S incorporando e utilizando 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, o qual adicionalmente inclui, por exemplo, uma memória principal 102, uma ou mais unidades de processamento central (CPUs, na sigla em inglês) 104, um elemento de controle de armazenamento 106, e um subsistema de canal 108. O sistema
Petição 870160036981, de 18/07/2016, pág. 18/59
13/37 hospedeiro 101 pode ser um sistema de computação em larga escala, tal como uma unidade central (mainframe) ou um servidor. O sistema de processamento de E/S 100 também inclui uma ou mais unidades 110 de controle e um ou mais dispositivos de E/S 112, cada um dos quais é descrito abaixo.
[0031] A memória principal 102 armazena dados e programas, que podem ser introduzidos 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 diferentes instâncias de máquinas virtuais. A memória principal 102 é diretamente endereçável e fornece uma alta velocidade no processamento de dados pelas CPUs 104 e pelo subsistema de canal 108.
[0032] A CPU 104 é o centro de controle do sistema de processamento de E/S 100. Ela compreende instalações de sequenciamento e de processamento para a execução de instrução, a ação de interrupção, as funções de temporização, o carregamento inicial do programa, e outras funções relacionadas com a máquina. A CPU 104 é acoplada ao elemento de controle de armazenamento 106 através de uma ligação 114, tal como um barramento (bus) bidirecional ou unidirecional.
[0033] O elemento de controle de armazenamento 106 é
Petição 870160036981, de 18/07/2016, pág. 19/59
14/37 acoplado à memória principal 102 através de uma ligação 116, tal como um barramento; às CPUs 104 através de uma ligação 114; e ao subsistema de canal 108 por meio de uma ligação 118. O elemento de controle de armazenamento 106 controla, por exemplo, filas de espera e de execução das solicitações feitas pela CPU 104 e pelo subsistema de canal 108.
[0034] Em uma concretização exemplificativa, o subsistema de canal 108 fornece uma interface de comunicação entre o sistema hospedeiro 101 e as unidades de controle 110. O subsistema de canal 108 é acoplado ao elemento de controle de armazenamento 106, tal como descrito acima, e a cada uma das unidades de controle 110 através de uma ligação 120, tal como uma ligação serial. A ligação 120 pode ser implementada como uma ligação óptica, empregando guia de ondas de modo único ou multimodo, em um tecido Fibre Channel. O subsistema de canal 108 direciona o fluxo de informações entre os dispositivos de E/S 112 e a memória principal 102. Isto alivia as CPUs 104 da tarefa de comunicar-se diretamente com os dispositivos de E/S 112 e permite o processamento de dados para proceder simultaneamente com processamento de E/S. O subsistema de canal 108 utiliza um ou mais caminhos de canal 122, como os links de comunicação na gestão do fluxo de informações para, ou a partir de dispositivos de E/S 112. Como parte do processamento de E/S, o subsistema de canal
Petição 870160036981, de 18/07/2016, pág. 20/59
15/37
108 também executa as funções de gerenciamento de caminho para testar o caminho de canal, selecionando um caminho de canal 122 disponível e iniciando a execução da operação com os dispositivos de E/S 112.
[0035] Cada caminho de canal 122 inclui um canal 124 (os canais 124 estão localizados dentro do subsistema de canal108, em um exemplo, tal como mostrado na figura 1), uma ou mais unidades de controle 110 e uma ou mais ligações 120. Em outro exemplo, também é possível existir um ou mais comutadores dinâmicos (não representados) como parte do caminho de canal 122. Um comutador dinâmico é acoplado a um canal 124 e a uma unidade de controle 110 e fornece a capacidade de interligar fisicamente quaisquer duas ligações que estão ligadas ao comutador. Em outro exemplo, também é possível existir múltiplos sistemas e, portanto, múltiplos subsistemas de canal (não representados) ligados à unidade de controle 110.
[0036] Os subcanais (não mostrados) também estão localizados dentro do subsistema de canal 108. Um subcanal é fornecido 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, tal como uma tabela) fornece a aparência lógica de um dispositivo para o programa. Cada subcanal fornece informações sobre o
Petição 870160036981, de 18/07/2016, pág. 21/59
16/37 dispositivo de E/S 112 associado e a sua fixação ao subsistema de canal 108. O subcanal também fornece informações relativas a operações de E/S e outras funções que envolvem o dispositivo de E/S 112 associado. O subcanal é o meio pelo qual o subsistema de canal 108 fornece informações sobre os dispositivos de E/S 112 associados para as CPUs 104, que obtêm esta informação através da execução de instruções de E/S.
[0037] O subsistema de canal 108 é acoplado a uma ou mais unidades de controle 110. Cada unidade de controle 110 fornece a lógica para operar e controlar um ou mais dispositivos de E/S 112 e se adapta, através da utilização de instalações comuns, às características de cada dispositivo de E/S 112 para a interface de ligação fornecida pelo canal 124. As instalações comuns fornecem, para a execução de operações de E/S, indicações relativas sobre o estado do dispositivo 112 e da unidade de controle de E/S 110, controlando o tempo de transferências de dados sobre o caminho de canal 122 e determinados níveis de controle do dispositivo de E/S 112.
[0038] Cada unidade de controle 110 é ligada através de uma ligação 126 (por exemplo, um barramento) a um ou mais dispositivos de E/S 112. Os dispositivos de E/S 112 recebem informações ou armazena informações na memória principal 102
Petição 870160036981, de 18/07/2016, pág. 22/59
17/37 e/ou outra memória. Exemplos de dispositivos de E/S 112 incluem leitores de cartões e punches, unidades de fita magnética, dispositivos de armazenamento de acesso direto, monitores, teclados, impressoras, dispositivos apontadores, dispositivos de teleprocessamento, controladores de
comunicação e equipamentos baseados em sensores, para citar
alguns.
[0039] Um ou mais dos componentes anteriores do
sistema de processamento de E/S 100 são adicionalmente
descritos em IBM® z/Archltecture Principles of Operation, Publicação N° SA22-7832-05, 6a edição, abril de 2007; Patente Norte-Americana 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). Cormier et al., emitida 24 de outubro de 1995; e na Patente Norte-Americana N° 5.526.484, intitulada Method And System For Pipelining The Processing Of Channel Command Words, Casper et al., concedida em 11 de junho de 1996, cada uma das quais é aqui incorporada por referência na sua totalidade. IBM é uma marca registrada da International Business Machines Corporation, Armonk, Nova Iorque, EUA. Outros nomes aqui utilizados podem ser marcas registradas, nomes ou marcas de produtos da International
Petição 870160036981, de 18/07/2016, pág. 23/59
18/37
Business Machines Corporation ou de outras empresas.
[0040] Em uma concretização, para transferir dados entre os dispositivos de E/S 112 e a memória 102, palavras de comando de canal (CCWs) são utilizadas. Uma CCW especifica o comando a ser executado e inclui outros campos para controlar o processamento. Um exemplo de uma CCW é descrito com referência à figura 2A. A CCW 200 inclui, por exemplo, um código de comando 202 especificando o comando a ser executado (por exemplo, ler, ler em sentido contrário, controlar, compreender e escrever); uma pluralidade de marcadores 204 utilizados para controlar a operação de E/S; para comandos que especificam a transferência de dados, um campo de contagem 206 que especifica o número de bytes na área de armazenamento designada pela CCW a ser transferida; e um endereço de dados 208 que aponta para uma localização na memória principal que inclui dados, quando o endereçamento direto é empregado, ou em uma lista (por exemplo, lista contígua) de palavras de endereço de dados indiretos modificados (MIDAWs, na sigla em inglês) a ser processada, quando o endereçamento de dados indiretos modificados é empregado. O endereçamento indireto modificado é adicionalmente descrito no Pedido de Patente Norte-Americano com Número de Série 11/464.613, intitulada Flexibly Controlling The Transfer Of Data Between Input/Output
Petição 870160036981, de 18/07/2016, pág. 24/59
19/37
Devices And Memory, Brice et al., registrada em 15 de agosto de 2006, que é aqui incorporada por referência na sua totalidade.
[0041] Uma ou mais CCWs organizadas para execução sequencial formam um programa de canal, também aqui referido como um programa de canal CCW. O programa de canal CCW é configurado, por exemplo, por um sistema operacional ou outro software. O software configura as CCWs e obtém os endereços de memória atribuída 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 definição de extensão de CCW 212 que possui um ponteiro 214 para uma localização na memória de dados que a medida de extensão 216 a ser utilizada com o comando que define a extensão. Neste exemplo, uma transmissão no canal (TIC, na sigla em inglês) 218 segue o comando de definição de extensão que referencia o programa de canal para outra área na memória (por exemplo, uma área de aplicação) que inclui um ou mais outras CCWs, tal como um localizar de registro 217 que possui um ponteiro 219 para localizar dados de registro 220, e um ou mais CCWs de gravação 221. Cada CCW de gravação 220 possui um ponteiro 222 para uma área de dados 224. A área de dados inclui um endereço de acessar diretamente os dados ou uma lista de palavras de endereço de dados (por exemplo, MIDAWs
Petição 870160036981, de 18/07/2016, pág. 25/59
20/37 ou IDAWs) para acessar indiretamente os dados. Além disso, o programa de canal de CCW 210 inclui uma área prédeterminada no subsistema de canal definida pelo endereço do dispositivo chamado de subcanal para o status 226 resultante da execução do programa de canal de CCW.
[0042] O processamento de um programa de canal de CCW é descrito com referência à figura 3, bem como com referência à figura 2B. Em particular, a figura 3 apresenta 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á em execução. O protocolo de ligação utilizado neste exemplo para as comunicações é o FICON (Fibre Connectivity). As informações sobre 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 é aqui incorporado por referência na sua totalidade.
[0043] Com referência à figura 3, um canal 300 inicia uma troca com uma unidade de controle 302 e envia um comando de definição de extensão e os dados associados ao mesmo 304 à unidade de controle 302. O comando é obtido a partir da definição de extensão de CCW 212 (figura 2B) e os dados são obtidos a partir da área de dados de definição de extensão 216. O canal 300 utiliza TIC 218 para localizar o registro
Petição 870160036981, de 18/07/2016, pág. 26/59
21/37 de localização de CCW e a CCW de gravação. Este obtém o comando de registro e de localização de dados 306 (figura 3) a partir do localizador de registro de CCW 217 (figura 2B) e dados de localização de registro 220. O comando de escrita e de dados 308 (figura 3) é obtido a partir da CCW de gravação 221 e dados área 224 (figura 2B). Cada um é enviado para a unidade de controle 302.
[0044] A unidade de controle 302 inicia uma troca 310 com o canal 300 em resposta à troca aberta do canal 300. Isto pode ocorrer antes ou depois do comando de registro e de localização de dados 306 e/ou do comando de escrita e de dados 308. Juntamente com a troca aberta, uma resposta (CMR) é encaminhada ao canal 300. A CMR fornece uma indicação ao canal 300 que a unidade de controle 302 está ativa e funcionando.
[0045] A unidade de controle 302 fornece o status para o canal 300 e termina a troca 312. Em resposta ao mesmo, o canal 300 armazena os dados, examina o status e fecha a troca 314, que indica à unidade de controle 302 que o status foi recebido.
[0046] Para escrever 4k de dados, o processamento do programa de canal de CCW acima mencionado requer duas trocas abertas e fechadas, e seis sequências. O número total de trocas e sequências entre o canal e a unidade de controle é
Petição 870160036981, de 18/07/2016, pág. 27/59
22/37 reduzido através do colapso de vários comandos do programa de canal em um TCCB. O canal, por exemplo, o canal 124 da figura 1, utiliza uma TCW para identificar a localização do TCCB, bem como locais para acessar e armazenar o status e os dados associados com a execução do programa de canal. A TCW é interpretada pelo canal e não é enviada ou visualizada pela unidade de controle.
[0047] Um exemplo de um programa de canal para escrever 4k de dados, como na figura 2B, incluindo um TCCB, em vez de CCWs individuais separadas, é descrito com referência à figura 4. Tal como mostrado, um programa de canal 400, referido 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 uma localização na memória de uma área de dados 406 ou uma TIDAL 410 (ou seja, uma lista de palavras de endereço de dados indiretos de modos de transporte (TIDAW), semelhante às MIDAWs) que aponta para a área de dados 406, e uma área de status 408. A TIDAW zero 412, TIDAW um 414 e TIDAW dois 416 (coletivamente TIDAWs de 412 a 416) podem fazer referência a diferentes locais na área de dados 406 para a aquisição ou armazenamento de dados. As TIDAWs de 412 a 416 podem referenciar blocos de dados não contíguos ou blocos de dados contíguos. As TIDAWs de 412 a 416 na TIDAL 410 podem ser localizadas sequencialmente na
Petição 870160036981, de 18/07/2016, pág. 28/59
23/37 memória ou localizados de forma na contigua, uma em relação a outra. Embora apenas três TIDAWs de 412 a 416 estejam representadas na TIDAL 410, será entendido que qualquer número de TIDAWs pode ser incluído na TIDAL 410.
[0048] O processamento de um programa de canal de TCW é descrito com referência à figura 5. O protocolo de ligação utilizado para estas comunicações é, por exemplo, Fibre Channel Protocol (FCP). Em particular, as três fases do protocolo de ligação FCP são utilizadas, permitindo que adaptadores de barramento hospedeiro sejam utilizados no suporte de FCP para realizar a transferência de dados controlados por CCWs. O FCP e as suas fases são descritas adicionalmente em Information Technology - Fibre Channel Protocol for SCSI, Third Version (FCP-3). T10 Project 1560D, Revisão 4, de 13 de setembro de 2005, a qual é aqui incorporada por referência na sua totalidade.
[0049] Com referência à figura 5, um canal 500 inicia uma troca com uma unidade de controle 502 e envia o TCCB 504 para a unidade de controle 502. Em um exemplo, o TCCB 504 e a iniciativa de sequência são transferidos para a unidade de controle 502 em um comando de FCP, referido como unidade de informação (IU) FCP_CMND ou um comando de transporte de IU. A unidade de controle 502 transmite uma transferência pronta (XFER RDY) IU 510 para o canal 500, quando esta se encontra
Petição 870160036981, de 18/07/2016, pág. 29/59
24/37 pronta para receber os dados para os comandos de escrita recebidos no TCCB 504. Em resposta a recepção da XFER RDY IU 510, o canal 500 transfere os dados 506 para a unidade de controle 502, através, por exemplo, de uma FCP_Data_IU.
[0050] A unidade de controle 502 executa os vários comandos do TCCB 504 (por exemplo, definir o comando de extensão, o comando de localização de registro, o comando de escrita como as palavras de controle do dispositivo (DCWs)) e grava os dados 506 recebidos do canal 500. Ela também fornece o status e fecha a troca 508. Como um exemplo, o status final é enviado em um quadro de status de FCP que possui um bit ativo no, por exemplo, byte 10 ou 11 da carga de uma FCP_RSP_IU, também referida como uma resposta de transporte de IU. A carga da FCP_RSP_IU pode ser utilizada para transportar o status final FICON, juntamente com informações de status.
[0051] A concretização do protocolo de ligação ilustrado na figura 5 é utilizada quando XFER_RDY é habilitada. Na concretização representada na figura 5, o canal 500 não pode enviar os dados 506 para a unidade de controle 502 até que estes sejam solicitados pela unidade de controle 502 através da XFER_RDY IU 510. Em uma concretização exemplificativa alternativa, a XFER_RDY está desativada e a unidade de controle não transmite uma XFER_RDY IU 510 para
Petição 870160036981, de 18/07/2016, pág. 30/59
25/37 o canal 500. Deste modo, o canal 500 não precisa esperar que a unidade de controle 502 solicite os dados 506 antes de enviar os mesmos. Esta concretização alternativa, onde a XFER_RDY é desativada, pode ser utilizada quando o canal 500 e a unidade de controle 502 estão localizados geograficamente distantes um em relação ao outro (por exemplo, com uma distância superior a vinte quilômetros ou superior a cinquenta quilômetros) para melhorar o desempenho. A menos que especificado de outro modo, a discussão aqui assume que a XFER_RDY está ativada.
[0052] Em outro exemplo adicional, para escrever 4k de dados de cliente, o canal 500 utiliza as fases do protocolo de ligação FCP, como se segue:
1. Transferir um TCCB na FCP_CMND IU e a iniciativa de sequência para a unidade de controle 502.
2. Aguarde uma XFER_RDY IU indicando que a unidade de controle está pronta para receber os dados.
3. Transferir a IU de dados, e a iniciativa de sequência para a unidade de controle 502.
4. O status final é enviado em um quadro de status de FCP que possui um bit ativo, por exemplo, byte 10 ou 11, da carga de FCP_RSP IU. O campo FCP_RSP_INFO ou o campo de sentido é utilizado para transportar o status final FICON
Petição 870160036981, de 18/07/2016, pág. 31/59
26/37 juntamente com informações adicionais de status.
[0053] Ao executar o programa de canal de TCW da figura 4, existe apenas uma troca aberta e fechada (ver também a figura 5), em vez de duas trocas para o programa de canal de CCW da figura 2B (ver também a figura 3). Além disso, para o programa de canal de TCW, existem quatro sequências de comunicação (ver figuras 4 e 5), em comparação com seis sequências para o programa de canal de CCW (ver figuras de 2B a 3).
[0054] O número de trocas e sequências permanece o mesmo para um programa de canal de TCW, mesmo se comandos adicionais são acrescentados ao programa. Compare, por exemplo, as comunicações do programa de canal de CCW da figura 6 com as comunicações do programa de canal de TCW da figura 7. No programa de canal de CCW da figura 6, cada um dos comandos (por exemplo, definir o comando de extensão e dados 600, localize o comando registro e dados 601, o comando de escrita e dados 602, o comando e escrita e dados 604, localiza o comando de registro e dados 606, o comando de escrita e dados 608 e o comando de escrita e dados 620) são enviados em sequências separadas a partir do canal 610 até a unidade de controle 612. Este programa de canal de CCW requer que duas trocas sejam abertas e fechadas (por exemplo, trocas abertas 622, 624 e trocas fechadas 626, 628), e dez
Petição 870160036981, de 18/07/2016, pág. 32/59
27/37 sequências de comunicações. Isto é comparado com as quatro sequências e uma troca para o programa de canal de TCW da figura 7 que realiza a mesma tarefa como o programa de canal de CCW da figura 6.
[0055] Tal como representado na figura 7, um canal
700 inicia uma troca com uma unidade de controle 702 e envia um TCCB 704 para a unidade de controle 702. O TCCB 704 inclui o comando de definição de extensão, os dois comandos de localização de registro, e os quatro comandos de escrita em DCWs, tal como descrito anteriormente. Semelhante ao exemplo representado na figura 5, a unidade de controle 702 pode utilizar uma XFER_RDY IU 710 para notificar ao canal 700 que está encontra pronto para receber dados, desde que o suporte à XFER_RDY não esteja desativado. O canal 700 transmite 16k de dados 706 a unidade de controle 702 em uma única sequência após o recebimento de XFER_RDY IU 710. O canal 700 insere uma CRC a cada 4K dos 16k de dados 706 na sequência. A inserção de uma CRC a cada 4K permite que a unidade de controle 702 verifique os 16K de dados incrementalmente, em vez carregar todos os 16K para verificação antes de completar os comandos de escrita no TCCB 704. Além disso, a unidade de controle 702 fornece o status ao canal 700 e termina a troca 708. Assim, o programa de canal de TCW da figura 7 requer muito menos comunicações para transferir a mesma quantidade
Petição 870160036981, de 18/07/2016, pág. 33/59
28/37 de dados em comparação ao programa de canal de CCW da figura 6, enquanto suporta verificação incremental de dados via inserção múltipla de CRC no fluxo de dados de saída do canal 700.
[0056] Voltando à figura 8, uma concretização do canal 124 no subsistema de canal 108 e a unidade de controle 110 da figura 1 que suporta a execução do programa de canal de TCW, são descritos em maiores detalhes. A unidade de controle 110 inclui uma lógica de controle CU 802 para analisar e processar mensagens contendo um TCCB, tal como o TCCB 704 da figura 7, bem como dados recebidos a partir do canal 124 através da conexão 120. A lógica de controle CU 802 pode extrair DCWs e dados de controle a partir do TCCB recebido na unidade de controle 110 para controlar um dispositivo, por exemplo, o dispositivo de E/S 112 através da conexão 126. A lógica de controle CU envia comandos de dispositivo 802 e dados para o dispositivo de E/S 112, e recebe informação de status e outras respostas a partir do dispositivo de E/S 112. Quando a lógica de controle CU 802 recebe os dados, tais como a primeira verificação de limite de bloco de 16K bytes de dados 706 da figura 7, a lógica de controle CU 802 escreve esses dados recebidos no buffer de dados 804 para armazenamento temporário, até que a CRC recebida para a verificação de limite de bloco esteja
Petição 870160036981, de 18/07/2016, pág. 34/59
29/37 marcada, em seguida, estes dados podem ser enviados para o dispositivo de E/S 112. Isto continua para cada verificação de limite de bloco até que a operação de E/S seja concluída.
[0057] A unidade de controle 110 pode adicionalmente incluir outros elementos de fila ou de memória (não representados) para o armazenamento de mensagem ou informações adicionais de status associadas com as comunicações entre o canal 124 e o dispositivo de E/S 112.
[0058] O canal 124 no subsistema de canal 108 inclui elementos para suportar a comunicação com a unidade de controle 110. Por exemplo, o canal 124 pode incluir a lógica de controle CHN 806 que realiza a interface com a lógica de coleta dados 812. A lógica de coleta dados 812 é descrita a seguir com referência à figura 10. Em uma concretização exemplificativa, a lógica de controle CHN 806 controla a comunicação entre o subsistema de canal 108 e a unidade de controle 110. A lógica de controle CHN 806 pode interagir diretamente na lógica de controle CU 802 através da ligação 120 para enviar comandos e receber respostas, tais como comandos de transporte e resposta de IUs. Alternativamente,
mensagens de interfaces e/ou buffers adicionais não
representados) podem ser colocados entre a lógica de controle
CHN 806 e a lógica de controle CU 802 . Os registros do
subsistema de CHN 814 podem incluir valores fixos que
Petição 870160036981, de 18/07/2016, pág. 35/59
30/37 fornecem informações de configuração e de status, bem como informações dinâmicas de status atualizadas quando comandos são transportados e respostas são recebidas. Os registros do subsistema de CHN 814 podem ser registros dedicados de hardware e/ou registros virtuais estabelecidos utilizando mapeamento de memória.
[0059] Em uma concretização, os registros do subsistema de CHN 814 incluem a TIDAL 410 e as TIDAWs de 412 a 416 da figura 4 como registros de memória mapeada.
[0060] Um exemplo de uma TIDAW 900 está representado na figura 9. A TIDAW 900 fornece endereçamento indireto de dados utilizados em um programa de canal de TCW, tais como as TIDAWs de 412 a 416 da figura 4. A TIDAW 900 inclui marcadores 902, contagem 904, e endereço 906. Cada campo (ou seja, marcadores 902, contagem 904, e endereço 906) no formato de TIDAW 900 é atribuído a um endereço de byte particular para apoiar a análise dos campos. Apesar de um arranjo de campos dentro da TIDAW 900 ser representado na figura 9, deverá ser entendido que a ordem dos campos pode ser rearranjada para ordenamentos alternativos.
[0061] Em uma concretização exemplificativa, os marcadores 902 incluem um último marcador de TIDAW e um marcador de transferência-transporte no canal (T-TIC), além de outros marcadores. O último marcador de TIDAW indica que
Petição 870160036981, de 18/07/2016, pág. 36/59
31/37 a TIDAW associada é a última TIDAW em uma TIDAL, o que é consistente com a definição de uma MIDAW. Quando a contagem de 904 vai à zero com a última marcação de TIDAW sinalizada, a transferência de dados para a operação de E/S associada está completa. A marcação T-TIC indica se o conteúdo do endereço 906 incluem os dados ou o endereço da próxima TIDAW na TIDAL. Em uma concretização exemplificativa, quando a marcação de T-TIC é definida, então o endereço 906 na TIDAW é o endereço da próxima TIDAW na TIDAL. Deste modo, o endereço 906 pode ser utilizada para acessar a uma TIDAW a um local de armazenamento não contíguo da TIDAW atual. Assim, a lista de TIDAW pode conter mais de 256 entradas, ultrapassando assim o número máximo de palavras de endereço de dados indiretos admissível nas implementações atuais. Em uma concretização exemplificativa, quando a marcação T-TIC é definida, o endereço 906 deve possuir os quatro bits de ordem fixados a zero porque a TIDAW de 16 bytes deve estar em um limite de endereço de 16 bytes. Quando a marcação TTIC não está definida, então o endereço 906 na TIDAW é o endereço de uma parte dos dados que compõe os dados que estão sendo reunidos para a operação de E/S. O tamanho dos dados é indicado no campo de contagem 904. Se a última marcação de TIDAW e a marcação T-TIC não estão definidas, então a próxima TIDAW está localizada no local de armazenamento seguinte
Petição 870160036981, de 18/07/2016, pág. 37/59
32/37 (por exemplo, que é contíguo à TIDAW atual).
[0062] Voltando à figura 10, um processo 1000 para a coleta de dados para uma operação de E/S será agora descrito de acordo com concretizações exemplificativas, e em referência ao sistema de processamento de E/S 100 da figura 1. No bloco 1002, o subsistema de canal 108 recebe uma palavra de controle para uma operação de E/S (por exemplo, uma TCW). A palavra de controle inclui um endereço de dados indiretos que aponta para o endereço inicial de uma lista de endereçamento de armazenamento (por exemplo, uma TIDAL que possui várias TIDAWs) que compõem os dados utilizados pela operação de E/S. Em concretizações exemplificativas, os dados são dados de clientes (por exemplo, dados de entrada ou de saída da operação de E/S). Em concretizações exemplificativas alternativas, os dados são dados de controle (por exemplo, um TCCB). Em uma concretização exemplificativa, a lista de endereçamento de armazenamento se estende por dois ou mais locais de armazenamento não contíguos.
[0063] No bloco 1004, os dados são coletados por instruções localizadas no subsistema de canal 108. A coleta é baseada no conteúdo da lista. Em uma concretização exemplificativa, cada entrada na lista (por exemplo, cada TIDAW) inclui tanto um endereço de armazenamento quanto uma
Petição 870160036981, de 18/07/2016, pág. 38/59
33/37 marcação T-TIC para indicar se o endereço de armazenamento é a localização de uma parte dos dados, ou se o endereço de armazenamento aponta para a localização de outra porção da lista que contém mais endereços de armazenamento. Desta maneira, uma única TIDAL pode estar contida em múltiplas páginas, removendo quaisquer restrições sobre o comprimento da TIDAL. Quando a marcação T-TIC indica que o endereço de armazenamento é a localização de uma porção dos dados (por exemplo, a marcação T-TIC não é definida), em seguida, os dados no local de armazenamento são acessados e adicionados à massa de dados. Esta adição de novos dados pode ser realizada através de qualquer maneira conhecida na técnica, tal como através da fusão com os dados que já foram reunidos, adicionando-os aos dados já coletados, etc.
[0064] Quando a marcação T-TIC indica que o endereço de armazenamento atual é a localização de outra porção da lista, então o processamento continua através do acesso a uma nova TIDAW localizada no local de armazenamento especificado. Os dados no local de armazenamento especificado na nova TIDAW são acessados e adicionados à massa de dados. Em uma concretização exemplificativa, a TIDAW inclui uma contagem 904 para especificar a quantidade de dados a serem lidos (ou escritos) a partir de cada endereço de armazenamento. Quando uma TIDAW com a última marcação de
Petição 870160036981, de 18/07/2016, pág. 39/59
34/37
TIDAW é definida, a coleta é concluída. Caso contrário, a próxima TIDAW é acessada e a coleta de dados continua.
[0065] No bloco 1006, os dados são transmitidos a uma unidade de controle 110 pelo subsistema de canal 108.
[0066] Os efeitos das técnicas de concretizações exemplificativas incluem o endereçamento de dados indiretos não contíguos em um subsistema de E/S. A permissão para que várias páginas de 4k bytes contenham a lista de endereços de armazenamento (TIDAL), faz com que o número de TIDAWs seja ilimitado, consequentemente, mais dados podem estar associados com uma única operação de E/S. Grandes transferências de dados podem reduzir a sobrecarga de comunicação, evitando o handshaking adicional e outros atrasos associados com várias mensagens menores.
[0067] Os exemplos seguintes descrevem modos nos quais as concretizações exemplificativas podem ser utilizadas para executar mais do que apenas mover grandes blocos de dados.
[0068] As concretizações exemplificativas podem ser utilizadas para auxiliar na prefixação de um programa de canal por um sistema operacional. Por exemplo, quando um programa de canal é transmitido a um sistema operacional, o sistema operacional pode modificar o programa de canal para adicionar, substituir ou modificar os comandos de CCWs ou
Petição 870160036981, de 18/07/2016, pág. 40/59
35/37
DCWs. Em uma concretização exemplificativa, isto implica que uma TCCB TIDAL será criada onde a primeira TIDAW aponta para uma área de armazenamento que contém a primeira parte do TCCB modificado. A segunda TIDAW aponta para o restante do TCCB não modificado.
[0069] As concretizações exemplificativas podem também ser utilizadas para auxiliar a prefixação de programas de canal por um hipervisor. Se o hipervisor precisar modificar o programa de canal, seria necessário criar uma TIDAL com mais uma entrada do que aquela passada pelo hóspede. Se a TIDAL passada pelo hóspede já possui o tamanho máximo (256 TIDAWs), em seguida, o hipervisor pode fazer as suas próprias modificações através da criação de uma TCCB TIDAL que possui duas TIDAWs, uma das quais é a T-TICs para a primeira TIDAW da TIDAL passada pelo hóspede.
[0070] As T-TICs da TIDAL também pode aliviar os requisitos de armazenamento para sistemas operacionais. Se o programa de canal contendo uma TCCB TIDAL tem de ser modificado, isto necessita menos armazenamento para criar uma TIDAW e T-TIC do que para o armazenamento alocado para a TCCB TIDAL do chamador além de mais uma TIDAW.
[0071] Tal como descrito acima, concretizações podem ser incorporadas na forma de processos implementados por computador e aparelhos para praticar tais processos. Em
Petição 870160036981, de 18/07/2016, pág. 41/59
36/37 concretizações exemplificativas, a invenção é concretizada no código do programa de computador executado por um ou mais elementos de rede. As concretizações compreendem um produto de programa de computador 1100, tal como representado na figura 11, em um meio utilizável de computador 1102 com a lógica de código de programa de computador 1104 contendo instruções incorporadas em meios tangíveis como um artigo de fabricação. Artigos exemplares de fabricação para o meio utilizável de computador 1102 podem incluir disquetes, CDROMs, discos rígidos, dispositivos com entrada USB (Universal Serial Bus), ou qualquer outro meio de armazenamento legível por computador, em que, quando a lógica de código de programa de computador 1104 é carregada e executada por um computador, o computador se torna um aparelho para praticar a invenção.
[0072] As concretizações compreendem a lógica de código de programa de computador 1104, por exemplo, armazenada em um meio de armazenamento, carregada em e/ou executada por um computador, ou transmitida por algum meio de transmissão, tal como fios elétricos ou cabos, através de fibras ópticas, ou via radiação eletromagnética, em que, quando a lógica de código de programa de computador 1104 é carregada e executada por um computador, o computador se torna um aparelho para praticar a invenção. Quando
Petição 870160036981, de 18/07/2016, pág. 42/59
37/37 implementados em um microprocessador de propósito geral, os segmentos da lógica de código de programa de computador 1104 configuram o microprocessador para criar circuitos lógicos específicos.
[0073] Embora a invenção tenha sido descrita com referência a concretizações exemplificativas, deverá ser entendido pelos técnicos no assunto que várias alterações podem ser feitas e equivalentes podem ser substituídos por elementos dos mesmos sem se afastarem do escopo da invenção. Além disso, muitas modificações podem ser feitas para adaptar uma situação particular ou um material aos ensinamentos da invenção sem se afastar do escopo essencial da invenção. Portanto, pretende-se que a invenção não esteja limitada às concretizações particulares reveladas como o melhor modo contemplado para realizar a presente invenção, mas que a invenção inclua todas as concretizações que se encontram dentro do escopo das reivindicações anexas. Além disso, a utilização dos termos primeiro, segundo, etc. não denotam qualquer ordem ou importância, ou seja, os termos primeiro, segundo, etc., são utilizados para distinguir um elemento de outro. Além disso, a utilização dos termos um, uma, etc. não denotam um limite de quantidade, estes denotam a presença de pelo menos um dos itens referenciados.

Claims (9)

  1. REIVINDICAÇÕES
    1. Método para fornecer endereçamento de dados indireto em um subsistema de E/S de um sistema de processamento de E/S (100), em que o método compreende:
    receber (1002) uma palavra de controle para uma operação de E/S no subsistema de E/S, a palavra de controle incluindo um endereço de dados indireto para dados associados com a operação E/S, o endereço de dados indiretos incluindo um local de partida a partir de uma lista de endereços de armazenamento que coletivamente especifica os dados, a lista abrangendo dois ou mais locais de armazenamento nãocontíguos;
    coletar (1004) dados sensíveis para a lista; e transmitir (1006) os dados coletados para uma unidade de controle no sistema de processamento de E/S (100);
    em que a lista inclui ainda um primeiro indicador associado a cada endereço de armazenamento na lista, o primeiro indicador com um primeiro valor para indicar que o endereço de armazenamento associado refere-se a uma porção dos dados e, o primeiro indicador tendo um segundo valor para indicar que o endereço de armazenamento associado refere-se a um local de armazenamento onde os endereços de armazenamento adicionais na lista estão localizados;
    Petição 870190091061, de 13/09/2019, pág. 10/17
  2. 2/4 em que para cada endereço de armazenamento na lista, a coleta inclui:
    acessar o endereço de armazenamento e o primeiro indicador associado com o endereço de armazenamento;
    adicionar os conteúdos a partir do endereço de armazenamento aos dados em resposta ao primeiro indicador que tem o primeiro valor;
    caracterizado pelo fato de:
    acessar um segundo endereço de armazenamento e um segundo indicador, localizado no endereço de armazenamento em resposta ao primeiro indicador que tem o segundo valor, e adicionar conteúdos a partir do segundo endereço de armazenamento aos dados em resposta ao segundo indicador tendo o primeiro valor.
    2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que um segundo endereço de armazenamento na lista está localizado contiguamente a um primeiro endereço de armazenamento na lista quando o primeiro indicador tem o primeiro valor, e o segundo endereço de armazenamento está localizado não contiguamente ao primeiro endereço de armazenamento quando o primeiro indicador tem o segundo valor.
  3. 3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a lista ainda inclui um campo
    Petição 870190091061, de 13/09/2019, pág. 11/17
    3/4 de contagem associado a cada endereço de armazenamento na lista, o campo de contagem indicando um número de bytes a ler a partir do endereço de armazenamento e a coleta sendo sensível aos campos de contagem e aos endereços de armazenamento.
  4. 4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que os dados incluem dados de controle.
  5. 5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que os dados incluem dados de clientes.
  6. 6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a palavra de controle é uma palavra de controle de transporte (TCW), a lista de endereços de armazenamento é uma lista de endereços de dados de transporte indireta (TIDAL), e cada endereço de armazenamento é uma palavra de endereço de dados indiretos de transporte (TIDAW).
  7. 7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o subsistema de E/S é um subsistema de canal.
  8. 8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a palavra de controle inclui
    Petição 870190091061, de 13/09/2019, pág. 12/17
    4/4 um indicador para indicar que a mesma inclui um endereço de dados indireto.
  9. 9. Sistema caracterizado pelo fato de compreender meios adaptados para a realização de todas as etapas do método, conforme definido em qualquer uma das reivindicações 1 a 8.
BRPI0908825-3A 2008-02-14 2009-02-10 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 BRPI0908825B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/031,038 US7890668B2 (en) 2008-02-14 2008-02-14 Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US12/031,038 2008-02-14
PCT/EP2009/051485 WO2009101067A2 (en) 2008-02-14 2009-02-10 Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous

Publications (2)

Publication Number Publication Date
BRPI0908825A2 BRPI0908825A2 (pt) 2016-09-20
BRPI0908825B1 true BRPI0908825B1 (pt) 2020-02-11

Family

ID=40849165

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0908825-3A BRPI0908825B1 (pt) 2008-02-14 2009-02-10 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

Country Status (18)

Country Link
US (5) US7890668B2 (pt)
EP (1) EP2176771B1 (pt)
JP (1) JP5181141B2 (pt)
KR (1) KR101174997B1 (pt)
CN (1) CN101946242B (pt)
AT (1) ATE492847T1 (pt)
BR (1) BRPI0908825B1 (pt)
CA (1) CA2704138C (pt)
CY (1) CY1111135T1 (pt)
DE (1) DE602009000463D1 (pt)
DK (1) DK2176771T3 (pt)
ES (1) ES2358314T3 (pt)
IL (1) IL207119A (pt)
PL (1) PL2176771T3 (pt)
PT (1) PT2176771E (pt)
RU (1) RU2505851C2 (pt)
SI (1) SI2176771T1 (pt)
WO (1) WO2009101067A2 (pt)

Families Citing this family (47)

* 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
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
US8108570B2 (en) 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
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
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
US7917813B2 (en) 2008-02-14 2011-03-29 International Business Machines Corporation Exception condition determination at a control unit in an I/O processing system
US8214562B2 (en) 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US7908403B2 (en) 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
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
US7899944B2 (en) 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O processing system
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8166206B2 (en) 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US7840718B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing of data to suspend operations in an input/output processing log-out system
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US7937507B2 (en) 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US7937504B2 (en) 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US8055807B2 (en) * 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US7904606B2 (en) 2008-07-31 2011-03-08 International Business Machines Corporation Transport control channel program chain linked branching
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US9116788B2 (en) * 2011-06-10 2015-08-25 International Business Machines Corporation Using extended asynchronous data mover indirect data address words
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
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
US8473641B2 (en) * 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
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
JP6206006B2 (ja) * 2013-08-30 2017-10-04 京セラドキュメントソリューションズ株式会社 データ処理装置及び画像形成装置
CN105426322B (zh) * 2015-12-31 2019-05-28 华为技术有限公司 一种数据的预取方法及装置
CN107526743B (zh) * 2016-06-21 2020-08-07 伊姆西Ip控股有限责任公司 用于压缩文件系统元数据的方法和设备
CN115221078A (zh) * 2021-04-14 2022-10-21 瑞昱半导体股份有限公司 数据传输方法与数据处理电路
US11722436B2 (en) 2021-08-24 2023-08-08 International Business Machines Corporation Transport control word architecture for physical port mirroring
US12028276B2 (en) 2021-08-24 2024-07-02 International Business Machines Corporation Transport control word architecture for virtual port mirroring
CN119247902B (zh) * 2024-09-29 2025-11-14 大族激光科技产业集团股份有限公司 一种控制系统及生产线

Family Cites Families (264)

* 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
DE3247794A1 (de) 1982-12-23 1984-06-28 Max Planck Gesellschaft zur Förderung der Wissenschaften e.V., 3400 Göttingen Abschwaecher fuer optische strahlung
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 汎用チャネル制御方式
JPS63145562A (ja) 1986-12-09 1988-06-17 Hitachi 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
EP0412268B1 (en) 1989-08-11 1996-09-11 International Business Machines Corporation Apparatus for interconnecting a control unit having a parallel bus with a channel having a serial link
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
JPH05204693A (ja) * 1992-01-29 1993-08-13 Fujitsu Ltd 例外順序保証試験方式
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 インターナショナル・ビジネス・マシーンズ・コーポレイション プロセッサと結合機能間に対するメッセ―ジ経路指定機能を有するデ―タ処理システム
US5317739A (en) 1992-03-30 1994-05-31 International Business Machines Corp. Method and apparatus for coupling data processing systems
CA2086691C (en) 1992-03-30 1997-04-08 David A. Elko Communicating messages between processors and a coupling facility
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
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
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 インターナショナル・ビジネス・マシーンズ・コーポレイション 論理径路スケジューリング装置及び実行方法
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
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
EP0712220A1 (en) 1994-11-08 1996-05-15 International Business Machines Corporation Hop-by-hop flow control in an ATM network
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
TW388982B (en) * 1995-03-31 2000-05-01 Samsung Electronics Co Ltd Memory controller which executes read and write commands out of order
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
JP3225804B2 (ja) 1995-09-05 2001-11-05 株式会社日立製作所 入出力チャネルの拡張方式
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
US6125411A (en) 1995-09-13 2000-09-26 Hitachi, Ltd. System storing plural I/O arrangement information wherein each I/O arrangement information corresponding to each operating system is created in response to more than two operating systems
GB2291990A (en) 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system
US5831985A (en) 1995-11-09 1998-11-03 Emc Corporation Method and apparatus for controlling concurrent data transmission from multiple sources in a channel communication system
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
TW384611B (en) 1997-02-14 2000-03-11 Canon Kk Data communication apparatus and method
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
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
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
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
US6546435B1 (en) * 1999-06-15 2003-04-08 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
JP2001134523A (ja) * 1999-11-09 2001-05-18 Hitachi Ltd チャネル装置、その制御方法及びチャネル制御プログラムを記録したコンピュータ読み取り可能な記録媒体
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
US6988236B2 (en) 2000-04-07 2006-01-17 Broadcom Corporation Method for selecting frame encoding parameters in 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
JP4624643B2 (ja) 2000-08-31 2011-02-02 ドルビー・ラボラトリーズ・ライセンシング・コーポレーション オーディオ・マトリックス・デコーディング装置に関する方法
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
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
US6678748B2 (en) 2000-09-29 2004-01-13 Emc Corporation Method for optimizing multiple input/output requests to a single logical device
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
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
US7660421B2 (en) 2002-06-28 2010-02-09 Hewlett-Packard Development Company, L.P. Method and system for secure storage, transmission and control of cryptographic keys
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
US6915378B2 (en) 2003-04-23 2005-07-05 Hypernova Technologies, Inc. Method and system for improving the performance of a processing system
US7085898B2 (en) 2003-05-12 2006-08-01 International Business Machines Corporation Coherency management for a “switchless” distributed shared memory computer system
US7000036B2 (en) 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
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
WO2005039130A1 (ja) * 2003-10-17 2005-04-28 Nippon Telegraph And Telephone Corporation メール配送システム、メール配送方法およびメール配送プログラム
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
US7295897B2 (en) * 2004-02-23 2007-11-13 Standard Microsystems Corporation Mapping a plurality of sensors to respective zones in a fan control system
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 データ処理システム、データ処理方法、及びプログラム
CA2609979A1 (en) 2005-06-05 2006-12-14 Starkey Laboratories, Inc. Communication system for wireless audio devices
US7970953B2 (en) 2005-06-30 2011-06-28 Intel Corporation Serial ATA port addressing
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
JP2007058646A (ja) 2005-08-25 2007-03-08 Hitachi Ltd データ処理システム
US20070072543A1 (en) 2005-09-06 2007-03-29 Nokia Corporation Enhanced signaling of pre-configured interaction message in service guide
US7577773B1 (en) 2005-09-09 2009-08-18 Qlogic, Corporation Method and system for DMA optimization
JP4527640B2 (ja) * 2005-09-15 2010-08-18 株式会社ソニー・コンピュータエンタテインメント データ読出装置
JP2007122108A (ja) 2005-10-25 2007-05-17 Hitachi Ltd セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御
US7484021B2 (en) 2005-10-27 2009-01-27 Cisco Technology, Inc. Technique for implementing virtual fabric membership assignments for devices in a storage area network
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
US8032581B2 (en) 2006-08-30 2011-10-04 International Business Machines Corporation Persistent information unit pacing
US7500030B2 (en) 2006-08-30 2009-03-03 International Business Machines Corporation Control of information units in fibre channel communications
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
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
US8254571B1 (en) 2007-12-21 2012-08-28 Voltage Security, Inc. Cryptographic system with halting key derivation function capabilities
JP2009184260A (ja) 2008-02-07 2009-08-20 Kyocera Mita Corp 画像形成装置
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
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability 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
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
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
US8108570B2 (en) 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an 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
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
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
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US8095847B2 (en) 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
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
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in 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
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
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
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
US8732357B2 (en) 2010-10-28 2014-05-20 International Business Machines Corporation Apparatus and method for dynamically enabling and disabling write XFR—RDY
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method

Also Published As

Publication number Publication date
ATE492847T1 (de) 2011-01-15
CY1111135T1 (el) 2015-06-11
US20140379948A1 (en) 2014-12-25
US9043494B2 (en) 2015-05-26
US8392619B2 (en) 2013-03-05
EP2176771A2 (en) 2010-04-21
RU2505851C2 (ru) 2014-01-27
CN101946242A (zh) 2011-01-12
CA2704138A1 (en) 2009-08-20
DK2176771T3 (da) 2011-02-14
BRPI0908825A2 (pt) 2016-09-20
US20160342525A1 (en) 2016-11-24
ES2358314T3 (es) 2011-05-09
IL207119A (en) 2014-04-30
RU2010137636A (ru) 2012-03-20
JP2011512591A (ja) 2011-04-21
PL2176771T3 (pl) 2011-05-31
DE602009000463D1 (de) 2011-02-03
CA2704138C (en) 2017-11-07
US9436272B2 (en) 2016-09-06
EP2176771B1 (en) 2010-12-22
KR20100125233A (ko) 2010-11-30
IL207119A0 (en) 2010-12-30
JP5181141B2 (ja) 2013-04-10
US20090210576A1 (en) 2009-08-20
CN101946242B (zh) 2012-09-19
US20110131343A1 (en) 2011-06-02
WO2009101067A2 (en) 2009-08-20
PT2176771E (pt) 2011-01-21
SI2176771T1 (sl) 2011-04-29
US7890668B2 (en) 2011-02-15
US9720844B2 (en) 2017-08-01
WO2009101067A3 (en) 2009-10-08
WO2009101067A4 (en) 2009-11-26
US20130179596A1 (en) 2013-07-11
KR101174997B1 (ko) 2012-08-20

Similar Documents

Publication Publication Date Title
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
CA2704133C (en) Bi-directional data transfer within a single i/o operation
US8117347B2 (en) Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8082481B2 (en) Multiple CRC insertion in an output data stream
JP2011512591A5 (pt)

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.