BRPI0811669B1 - método, controlador de armazenamento e equipamento para priorização de interrupções em um controlador de armazenamento - Google Patents
método, controlador de armazenamento e equipamento para priorização de interrupções em um controlador de armazenamento Download PDFInfo
- Publication number
- BRPI0811669B1 BRPI0811669B1 BRPI0811669A BRPI0811669A BRPI0811669B1 BR PI0811669 B1 BRPI0811669 B1 BR PI0811669B1 BR PI0811669 A BRPI0811669 A BR PI0811669A BR PI0811669 A BRPI0811669 A BR PI0811669A BR PI0811669 B1 BRPI0811669 B1 BR PI0811669B1
- Authority
- BR
- Brazil
- Prior art keywords
- host
- interrupts
- storage controller
- interruptions
- storage
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/24—Interrupt
- G06F2213/2404—Generation of an interrupt or a group of interrupts after a predetermined number of interrupts
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Exchange Systems With Centralized Control (AREA)
Abstract
método, controlador de armazenamento e equipamento para priorização de interrupções em um controlador de armazenamento um controlador de armazenamento recebe um comando de controle de interrupções de um dispositivo de computador anfitrião, conhecido como host. o controlador de armazenamento gera uma primeira pluralidade de interrupções, em resposta a solicitações de acesso recebidas do host para pelo menos um dispositivo de armazenamento acoplado ao controlador de armazenamento, onde a primeira pluralidade de interrupções indica se o acesso a pelo menos esse único dispositivo de armazenamento é permitido ao host. o controlador de armazenamento gera uma segunda pluralidade de interrupções, para o host, que abrange interrupções não solicitadas as quais são diferentes da primeira pluralidade de interrupções. o controlador de armazenamento controla quantas da primeira pluralidade de interrupções e quantas da segunda pluralidade de interrupções enviar ao host, baseado no comando de controle de interrupções recebido.
Description
‘‘MÉTODO, CONTROLADOR DE ARMAZENAMENTO E EQUIPAMENTO PARA PRIORIZAÇÃO DE INTERRUPÇÕES EM UM CONTROLADOR DE ARMAZENAMENTO”
Campo técnico da invenção [001] A invenção se refere à priorização de interrupções em um controlador de armazenamento baseada em comandos de controle de interrupções recebidos de um dispositivo de comutador anfitrião, conhecido como host.
Antecedentes da invenção [002] Determinados sistemas de tecnologia de armazenamento de informação podem abranger um controlador de armazenamento que é acoplado a uma pluralidade de hosts e a uma pluralidade de dispositivos de armazenamento. O controlador de armazenamento controla o acesso dos hosts à pluralidade de dispositivos de armazenamento mantendo bloqueios lógicos correspondentes aos dispositivos de armazenamento. Quando um host envia um comando ao controlador de armazenamento para acessar um dispositivo de armazenamento, o controlador de armazenamento determina se o dispositivo de armazenamento já está bloqueado para acesso por um outro host. Se estiver, o controlador de armazenamento pode fazer o host esperar pelo acesso ao dispositivo de armazenamento. A fim de indicar o status ao host, o controlador de armazenamento pode enviar uma interrupção em resposta ao comando, onde a interrupção pode ser referida como uma “interrupção sensível a uma solicitação de acesso” ou uma “interrupção de atenção”. Por exemplo, se o controlador de armazenamento determina que o dispositivo de armazenamento não está mais bloqueado para acesso por um outro host, o controlador de armazenamento pode determinar qual de uma pluralidade de hosts à espera pode agora ter acesso ao dispositivo de armazenamento. Então, o controlador de armazenamento pode enviar a interrupção sensível à solicitação de acesso ao host determinado, onde a mesma indica ao host determinado que o acesso ao dispositivo de
Petição 870190073616, de 31/07/2019, pág. 11/29
-2 / 18armazenamento pode ser realizado pelo host determinado. Além disso, se o controlador de armazenamento determina que o dispositivo de armazenamento está bloqueado para acesso por um outro host, então o controlador de armazenamento pode indicar ao host que o comando para estabelecer um bloqueio não foi bem sucedido como a resposta ao comando.
[003] Em determinados sistemas, quando o host tenta assegurar um bloqueio por meio de um comando do host, a resposta do controlador de armazenamento ao comando do host indica ao host que este obteve o bloqueio. Se o host não puder obter o bloqueio, a resposta do controlador de armazenamento ao comando do host indica ao host que este não obteve o bloqueio. Enquanto o host está esperando pelo bloqueio que não pôde obter, o estado do bloqueio pode mudar e o controlador de armazenamento pode suscitar uma interrupção de atenção a esse host para comunicar ao mesmo que o bloqueio foi concedido. Ao receber a interrupção de atenção, o host pode enviar um comando de “mensagem lida”, e em resposta pode ser fornecida uma mensagem de “bloqueio concedido”. Além disso, um host que mantém um bloqueio quando um outro host não consegue obter o bloqueio pode receber uma atenção de contenção se o host que mantém o bloqueio houvesse solicitado que o host fosse informado de quaisquer potenciais atenções de contenção para o bloqueio, onde a contenção de atenção pode ser fornecida através da interrupção de atenção e de mecanismos de “mensagens lidas”.
[004] Em determinadas situações, o controlador de armazenamento pode assincronamente enviar outras interrupções para a pluralidade de hosts. Estas outras interrupções podem ser referidas como “interrupções não solicitadas” já que são geradas pelo controlador de armazenamento sem serem explicitamente solicitadas pelos hosts. Por exemplo, o controlador de armazenamento pode enviar interrupções de mudança de estado para os hosts. Outras “interrupções não solicitadas”, tais como interrupções que indicam o status de operações de cópias sendo realizadas pelo controlador de armazenamento também podem ser enviadas pelo controlador de armazenamento aos hosts.
Petição 870190073616, de 31/07/2019, pág. 12/29
-3 / 18SUMÁRIO DA INVENÇÃO [005] Conforme um aspecto da invenção, um controlador de armazenamento recebe um comando de controle de armazenamento de um host. O controlador de armazenamento gera uma primeira pluralidade de interrupções, em resposta a solicitações de acesso recebidas de um host para, pelo menos, um dispositivo de armazenamento acoplado ao controlador de armazenamento, onde a primeira pluralidade de interrupções indica se o acesso a pelo menos esse único dispositivo é permitido ao host. O controlador de armazenamento gera uma segunda pluralidade de interrupções, para o host, que abrange interrupções não solicitadas as quais são diferentes da primeira pluralidade de interrupções. O controlador de armazenamento controla quantas da primeira pluralidade de interrupções e quantas da segunda pluralidade de interrupções enviar ao host, baseado no comando de controle de interrupções recebido.
[006] Em determinadas concretizações, uma proporção predeterminada da primeira pluralidade de interrupções e da segunda pluralidade de interrupções que devem ser enviadas ao host durante um período de tempo é indicada no comando de controle de interrupções recebido. Em determinadas concretizações adicionais, a segunda pluralidade de interrupções abrange interrupções de mudança de estado.
[007] Em concretizações adicionais, o comando de controle de interrupções recebido é processado pelo controlador de armazenamento para determinar quantas da primeira pluralidade de interrupções estão esperando para ser enviadas ao host, e para determinar quantas da segunda pluralidade de interrupções estão esperando para ser enviadas ao host. Uma primeira percentagem predeterminada da primeira pluralidade de interrupções, que estão esperando para ser enviadas ao host, são enviadas ao host. Uma segunda percentagem predeterminada da segunda pluralidade de interrupções, que estão esperando para ser enviadas ao host, são enviadas ao host, onde a primeira
Petição 870190073616, de 31/07/2019, pág. 13/29
-4 / 18percentagem predeterminada e a segunda percentagem predeterminada são indicadas no comando de controle de interrupções. Em determinadas concretizações, a primeira percentagem predeterminada e a segunda percentagem predeterminada são indicadas pelo host no comando de controle de interrupções proveniente do host que é recebido pelo controle de armazenamento.
[008] Em outras concretizações adicionais, uma pluralidade de hosts que inclui o host é acoplada a um controlador de armazenamento, e uma pluralidade de dispositivos de armazenamento que incluem, pelo menos, um único dispositivo de armazenamento é acoplada ao controlador de armazenamento. Uma pluralidade de bloqueios é mantida pelo armazenamento de controle para controlar o acesso à pluralidade de dispositivos de armazenamento pela pluralidade de hosts, onde um host selecionado de uma pluralidade de hosts recebe permissão para acessar um dispositivo de armazenamento selecionado de uma pluralidade de dispositivos de armazenamento, baseado em um bloqueio selecionado da pluralidade de bloqueios que controla o acesso ao dispositivo de armazenamento selecionado.
[009] Em determinadas concretizações, o comando de controle de interrupções é atualizado no host. O comando de controle de interrupções atualizado é enviado pelo host para o controle de armazenamento. O controle de armazenamento controla quantas da primeira pluralidade de interrupções e quantas da segunda pluralidade de interrupções devem ser enviadas ao host, baseado no comando de controle de interrupções atualizado.
BREVE DESCRIÇÃO DOS DESENHOS [0010] As concretizações da invenção serão agora descritas a título de ilustração apenas, fazendo referência aos respectivos desenhos que as acompanham, nos quais:
Petição 870190073616, de 31/07/2019, pág. 14/29
-5 / 18[0011] A figura 1 ilustra um diagrama de blocos de um ambiente de computador, de acordo com determinadas concretizações;
[0012] A figura 2 ilustra um diagrama de blocos que exibe aplicativos e estruturas de dados implementados em um host exemplar e o controlador de armazenamento do ambiente de computador, de acordo com determinadas concretizações;
[0013] A figura 3 ilustra operações para a priorização de interrupções em um controlador de armazenamento baseado em comandos de controle de interrupções recebidos de hosts, de acordo com determinadas concretizações;
[0014] A figura 4 ilustra operações de seleção de uma proporção de interrupções sensíveis a solicitações de acesso em relação a outras interrupções não solicitadas para enviar a um host, de acordo com determinadas concretizações;
[0015] A figura 5 ilustra operações para o envio de interrupções a um host, onde uma certa percentagem de interrupções sensíveis a solicitações de acesso que estão esperando no armazenamento de controle são enviadas ao host, e uma certa percentagem das outras interrupções não solicitadas que estão esperando no controlador de armazenamento são enviadas ao host, de acordo com determinadas concretizações;
[0016] A figura 6 ilustra um diagrama de blocos de uma arquitetura de computador no qual determinados aspectos das concretizações descritas são implementados.
DESCRIÇÃO DETALHADA [0017] A descrição seguinte refere-se aos desenhos que acompanham o presente documento, os quais ilustram várias concretizações. Entende-se que outras concretizações podem ser utilizadas e que mudanças estruturais e operacionais podem ser feitas.
Petição 870190073616, de 31/07/2019, pág. 15/29
-6 / 18[0018] A figura 1 ilustra um diagrama de blocos de um ambiente de computador 100, de acordo com determinadas concretizações. No ambiente de computador 100, um controlador de armazenamento 102 é acoplado a uma pluralidade de hosts 104a, 104b, ... 104n, e a uma pluralidade de dispositivos de armazenamento 106a, 106b, ..., 106m. O acoplamento entre os hosts 104a. 104n e o controlador de armazenamento 102, e o acoplamento entre os dispositivos de armazenamento 106 a...106m e o controlador de armazenamento 102 pode ser direto ou pode ser através de uma rede adequada que seja conhecida entre especialistas, tais como uma rede de área de armazenamento, uma rede de área local, a Internet, uma rede de área estendida, etc.
[0019] O controlador de armazenamento 102 e os hosts 104a... 104n podem abranger qualquer dispositivo computacional adequado que seja conhecido entre especialistas, tal como um servidor, um computador pessoal, uma estação de trabalho, um computador de grande porte, um dispositivo de telefonia, ou qualquer dispositivo computacional que seja adequado. Em determinadas concretizações, o controlador de armazenamento 102 é um primeiro dispositivo computacional e um host exemplar, tal como o host 104a, podendo abranger um segundo dispositivo computacional. Os dispositivos de armazenamento 106a ... 106m podem incluir quaisquer dispositivos de armazenamento que sejam adequados, conhecidos entre especialistas, tais como dispositivos de armazenamento de acesso direto, discos rígidos, unidades de fita, etc.
[0020] O controlador de armazenamento 102 inclui um aplicativo de gerenciamento de bloqueios 108 e um aplicativo de gerenciamento de interrupções 109 que incluem quaisquer aplicativos adequados implementados em software, hardware, firmware ou qualquer combinação por conseguinte. O aplicativo de gerenciamento de bloqueio 108 usa uma pluralidade de bloqueios 110a, 100b, . 110r para controlar o acesso dos hosts 104a.104n aos dispositivos de armazenamento 106a...106m. Por exemplo, se o host 106a recebeu permissão para acessar o dispositivo de armazenamento 106b pelo
Petição 870190073616, de 31/07/2019, pág. 16/29
-7 / 18aplicativo de gerenciamento de bloqueio 108, então a presença do bloqueio 110b pode indicar que o dispositivo de armazenamento 106b está bloqueado. Outros hosts além do host 106a não recebem permissão para acessar o dispositivo de armazenamento enquanto o bloqueio 110b é mantido para o dispositivo de armazenamento 106b.
[0021] O armazenamento de controle 102 pode gerar diferentes tipos de interrupções, onde as interrupções geradas podem ser enviadas aos hosts 104a... 104n ou podem esperar para serem enviadas aos hosts 104a...104n. Um primeiro tipo de interrupção pode ser referida como interrupções sensíveis a solicitações de acesso 110, e as interrupções sensíveis a solicitações de acesso 110 são geradas pelo controlador de armazenamento 102 em resposta a solicitações de acesso para os dispositivos de armazenamento 106a...106m recebidas dos hosts 104a...104n. Um segundo tipo de interrupção pode ser referida como outras interrupções não solicitadas 112, e as outras interrupções não solicitadas 112 podem ser geradas pelo controlador de armazenamento 102 para indicar eventos tais como mudanças de estado, a conclusão de certas tarefas, a ocorrência de certos eventos, etc., para os hosts 104a...104n. As outras interrupções não solicitadas 112 podem incluir qualquer interrupção não especificamente solicitada pelos hosts 104a...104n que são geradas pelo controlador de armazenamento 102 para enviar para os hosts 104a...104n.
[0022] O controlador de armazenamento 102 pode incluir comandos de controle de interrupções 114 que são recebidos dos hosts 104a.104n. Informações incluídas nos comandos de controle de interrupções 114 podem ter sido criadas ou atualizadas por usuários dos hosts 104a.104n e enviadas dos hosts 104a...104n para o controlador de armazenamento 102. Os comandos de controle de interrupções 114 para um host selecionado, tal como o host 104a, podem incluir informações sobre como controlar o fluxo de vários tipos de interrupções enviadas aos hosts selecionados e provenientes do controlador de armazenamento 102. Por exemplo, comandos de controle de interrupções correspondentes ao host selecionado podem indicar que uma certa proporção
Petição 870190073616, de 31/07/2019, pág. 17/29
-8 / 18deve ser preservada entre interrupções sensíveis às solicitações de acesso 110 e outras interrupções não solicitadas 112 que são enviadas do controlador de armazenamento 102 ao host selecionado.
[0023] Em resposta a solicitações de acesso para os dispositivos de armazenamento feitas pelo host selecionado, se este não receber interrupções sensíveis a solicitações de acesso 110 por um certo período de tempo, os aplicativos do host selecionado podem congelar enquanto esperam por acesso aos dispositivos de armazenamento. Para evitar a ocorrência de tal situação, o host selecionado pode enviar a informação incluída nos comandos de controle de interrupções 114 ao controlador de armazenamento 102. Em determinadas concretizações, o aplicativo de gerenciamento de interrupções 109 usa os comandos de controle de interrupções 114 para controlar o fluxo de interrupções sensíveis a solicitações de acesso 110 e outras interrupções não solicitadas 112 aos hosts 104a.. .104n.
[0024] A figura 2 ilustra um diagrama de blocos que mostra aplicativos e estrutura de dados implementados em um host exemplar 104a e o controlador de armazenamento 102 do ambiente de computador 100, de acordo com determinadas concretizações. Enquanto a figura 2 mostra que o host exemplar é o host 104a, o host exemplar pode corresponder a quaisquer dos outros hosts 104b...104n mostrados na FIG.1.
[0025] O host exemplar 104a inclui um aplicativo do host 200, comandos de solicitações de acesso 202, e comandos de controle de interrupções 204. O aplicativo do host 200 pode enviar os comandos de solicitação de acesso 202 ao controlador de armazenamento 102 para acessar os dispositivos de armazenamento 106a...106m. Os comandos de controle de interrupções 204 mantidos no host 104a podem ser criados por um usuário do host 104a. Por exemplo, em determinadas concretizações após certos comandos de controle de interrupção 204 serem criados por um usuário, este poderá no futuro atualizar os comandos de controle de interrupções 204 para refletir um novo requisito relativo ao recebimento de interrupções no host 104a. Os
Petição 870190073616, de 31/07/2019, pág. 18/29
-9 / 18comandos de controle de interrupções 204 são inicialmente enviados do host 104a para o controlador de armazenamento 102, e atualizações para os comandos de controle de interrupções 204 são propagadas do host 104a para o controlador de armazenamento 102.
[0026] O controlador de armazenamento 102 mantém as informações 206 correspondentes ao host exemplar 102a. Outros hosts
102b...102n têm as informações correspondentes a eles associadas no controle de armazenamento 102. As informações 206 podem incluir as interrupções sensíveis a solicitações de acesso 208, também referidas como uma primeira pluralidade de interrupções, e outras interrupções não solicitadas 210, também referidas como uma segunda pluralidade de interrupções. A(s) informação(ções) 206 para o host exemplar 102a também pode(m) incluir os atuais comandos de controle de interrupções 212 do host exemplar 104 que foram recebidas no controlador de armazenamento 102.
[0027] O aplicativo de gerenciamento de interrupções 109 do controlador de armazenamento 102, recebe no controlador de armazenamento 102, um comando de controle de interrupção 204 do host 104a e armazena o comando de controle de interrupções 204 nos atuais comandos de interrupções 212. O controlador de armazenamento 102 gera uma primeira pluralidade de interrupções 206, em resposta a solicitações de acesso 202 recebidas do host 104a por pelo menos um dispositivo de armazenamento acoplado ao controlador de armazenamento 102, onde a primeira pluralidade de interrupções 206 indica se o acesso a pelo menos esse único dispositivo de armazenamento é permitido ao host 104a. O controlador de armazenamento 102 gera uma segunda pluralidade de interrupções para o host 104a. O aplicativo de gerenciamento de interrupções 109 no controlador de armazenamento 102 controla quantas da primeira pluralidade de interrupções 210 deverão ser enviadas ao host 104a, baseado no comando de controle de interrupções recebido 212.
[0028] A fig. 3 ilustra operações para a priorização de interrupções em um controlador de armazenamento 102 baseadas nos comandos de controle
Petição 870190073616, de 31/07/2019, pág. 19/29
-10 / 18de interrupções recebidos dos hosts, de acordo com determinadas concretizações. As operações ilustradas na fig.3 podem ser implementadas nos hosts 104a...104n e no controlador de armazenamento 102 do ambiente de computador 100.
[0029] O controle inicia no bloco 300, onde um host 104a mantém um comando de controle de interrupções 204 que pode ser usado por um controlador de armazenamento 102 para controlar o fluxo de diferentes tipos de interrupções para o host 104a. O host envia (no bloco 302) o comando de controle de interrupções 204 para o controlador de armazenamento 102 e depois envia (no bloco 304) solicitações de acesso 202 para pelo menos um dispositivo de armazenamento incluído nos dispositivos de armazenamento 106a. 106m para o controlador de armazenamento 102.
[0030] No bloco 306, o controlador de armazenamento 102 recebe um comando de controle de interrupções 204 do host 104a. No bloco 308, o controlador de armazenamento 102 recebe as solicitações de acesso 202 do host 104 para pelo menos um dispositivo de armazenamento.
[0031] O controle prossegue do bloco 310 e 312 para o bloco 314, onde no bloco 314 o controlador de armazenamento 102 controla quantas das interrupções sensíveis a solicitações de acesso e quantas das outras interrupções não solicitadas enviar ao host 104a, baseado no comando de controle de interrupções recebido 212. O controlador de armazenamento 102 envia (no bloco 316) o número determinado de interrupções sensíveis a solicitações de acesso e o número determinado de outras interrupções não solicitadas ao host 104a.
[0032] O host 104a recebe (no bloco 318) o número determinado de interrupções sensíveis a solicitações de acesso e o número determinado de outras interrupções não solicitadas do controlador de armazenamento 102. Visto que o host 104a indicou ao controlador de armazenamento 102 através de comandos de controle de interrupções 204, como o fluxo das interrupções sensíveis a solicitações de acesso e das outras interrupções não solicitadas deveriam ser gerenciadas, o tempo de espera para o aplicativo do host 200 pode
Petição 870190073616, de 31/07/2019, pág. 20/29
-11 / 18ser mantido a um nível administrável no host 104a, e a probabilidade de realizar operações de carga do programa inicial no host 104a como um resultado de não recebimento de interrupções sensíveis a solicitações de acesso 208 é reduzida.
[0033] A figura 4 ilustra operações de seleção de uma proporção entre interrupções sensíveis às solicitações de acesso e outras interrupções não solicitadas para envio a um host, de acordo com determinadas concretizações.
[0034] As operações ilustradas na fig.4 podem ser implementadas no controlador de armazenamento 102 do ambiente de computador 100.
[0035] O controle começa no bloco 400, onde o host 104a indicou no comando de controle de interrupções 204 uma proporção predeterminada entre as interrupções sensíveis às solicitações de acesso e as outras interrupções não solicitadas que se espera receber no host. Por exemplo, o host 104a pode ter indicado que em um grupo de interrupções enviadas ao host 104a, a proporção predeterminada é de 0.5, isto é, para cada interrupção sensível a solicitações de acesso 208 que é enviada ao host 104a, duas outras interrupções não solicitadas 210 também devem ser enviadas ao host 104a.
[0036] O controle prossegue para o bloco 402, onde o controlador de armazenamento 102 determina quantas das interrupções sensíveis a solicitações de acesso 208 e quantas das outras interrupções não solicitadas 210 enviar ao host 104a, baseado na proporção predeterminada indicada. O controlador de armazenamento 102 envia (no bloco 404) ao host 104a o número determinado de interrupções que são interrupções sensíveis a solicitações de acesso e também envia (no bloco 406) ao host 104a o número determinado de outras interrupções não solicitadas.
[0037] Portanto, fig. 4 ilustra determinadas concretizações nas quais uma proporção predeterminada da primeira pluralidade de interrupções 208 e da segunda pluralidade de interrupções 210 que estão para ser enviadas ao host durante um período de tempo é indicada no comando de controle de interrupções recebido 212.
Petição 870190073616, de 31/07/2019, pág. 21/29
-12 / 18[0038] A fig. 5 ilustra operações para enviar a um host uma certa percentagem de interrupções sensíveis a solicitações de acesso que estão esperando no controlador de armazenamento 102, e uma certa percentagem das outras interrupções não solicitadas que estão esperando no controlador de armazenamento 102, de acordo com determinadas concretizações. As operações ilustradas na fig.5 podem ser implementadas no controlador de armazenamento 102 do ambiente de computador 100.
[0039] O controle começa no bloco 500 onde o host 104a indicou no comando de controle de interrupções 204 o seguinte:
[0040] (i) uma primeira percentagem predeterminada de interrupções sensíveis a solicitações de acesso 208 que estão esperando para ser enviadas ao host 104a que o host 104a prefere receber; e [0041] (ii) uma segunda percentagem predeterminada das outras interrupções não solicitadas 210 que estão esperando para ser enviadas ao host 104a que o host 104a prefere receber.
[0042] O controle prossegue para o bloco 502, onde o controlador de armazenamento 102 determina quantas das interrupções sensíveis a solicitações de acesso estão esperando para ser enviadas ao host 104a. O controlador de armazenamento 102 também determina (no bloco 504) quantas das outras interrupções não solicitadas estão esperando para serem enviadas ao host 104a.
[0043] O controlador de armazenamento 102 envia (no bloco 506) ao host 104a a primeira percentagem predeterminada das interrupções sensíveis a solicitações de acesso que estão esperando para ser enviadas ao host 104a. O controlador de armazenamento 102 também envia (no bloco 508) ao host a segunda percentagem predeterminada das outras interrupções não solicitadas que estão esperando para ser enviadas ao host 104a.
[0044] Portanto, a fig.5 ilustra determinadas concretizações nas quais o controlador de armazenamento 102 envia uma certa percentagem dos diferentes tipos de interrupções esperando em uma fila no controlador de
Petição 870190073616, de 31/07/2019, pág. 22/29
-13 / 18armazenamento 102 ao host 104a. Por exemplo, o controlador de armazenamento 102 pode em uma concretização exemplar enviar 20% das interrupções sensíveis a solicitações de acesso 208 que estão esperando em uma fila no controlador de armazenamento 102 e 30% das outras interrupções não solicitadas 210 que estão esperando em uma fila no controlador de armazenamento 102.
[0045] Determinadas concretizações controlam o fluxo de interrupções sensíveis a solicitações de acesso 208 dirigidas a um host, baseadas em comandos de controle de interrupções 212 recebidos do host. Controlando o fluxo de diferentes tipos de interrupções nas concretizações, a presença de outras interrupções não solicitadas 210 não podem evitar que as interrupções sensíveis a solicitações de acesso 208 sejam enviadas ao host. Como resultado, a probabilidade de aplicativos do host esperando por acesso para um dispositivo de armazenamento é reduzida.
[0046] As técnicas descritas podem ser implementadas como um método, aparelho ou artigo de fabricação envolvendo um software, firmware, microcódigo, hardware e/ou qualquer combinação relacionada. O termo “artigo de fabricação” como usado aqui refere-se a código ou lógica implementada em um meio, onde tal meio pode constar de lógica de hardware (por exemplo, um chip de circuito integrado, Matriz de Porta Programável (PGA), Application Specific Integrated Circuit (ASIC), etc.) ou meio de armazenamento passível de leitura por computador, tais como meios de armazenamento magnético (por exemplo, unidades de disco rígido, disquetes, fitas, etc.), armazenamentos ópticos (CDROMs, discos ópticos, etc.), dispositivos de memória volátil e não-volátil [por exemplo, Memória de leitura eletricamente apagável e programável (EEPROM), Memória somente para leitura (ROM), Memória programável somente para leitura (PROM), Memória de acesso aleatório (RAM), Memória de acesso aleatório dinâmica (DRAM), Memória de acesso aleatório estática (SRAM), flash, firmware, lógica programável, etc.]. O código no meio de armazenamento passível de leitura por computador é acessado e executado por um processador. O meio no qual o
Petição 870190073616, de 31/07/2019, pág. 23/29
-14 / 18código ou a lógica é codificado pode também abranger sinais de transmissão propagando-se através do espaço ou de um meio de transmissão tais como uma fibra óptica, fio de cobre, etc. O sinal de transmissão no qual o código ou lógica é codificado pode ainda abranger um sinal sem fio, transmissão de satélite, ondas de rádio, sinais infravermelhos, etc. O sinal de transmissão no qual o código ou a lógica é codificado é capaz de ser transmitido por uma estação de transmissão e recebido por uma estação de recepção, onde o código ou a lógica codificado no sinal de transmissão pode ser decodificado e armazenado em hardware ou em um meio passível de leitura por computador nas estações ou dispositivos de recepção e transmissão. Além disso, o “artigo de fabricação” pode abranger uma combinação de componentes de hardware e software nos quais o código é concretizado, processado, e executado. É claro que aqueles que são especializados neste campo conseguirão reconhecer que muitas modificações podem ser feitas sem que ocorra um distanciamento do escopo das concretizações, e que o artigo de fabricação pode abranger qualquer meio de suporte de informação. Por exemplo, o artigo de fabricação abrange um meio de armazenamento contendo instruções armazenadas que, quando executadas por uma máquina, resultam na realização de operações.
[0047] Certas concretizações podem tomar a forma de um hardware inteiro ou de um software inteiro ou podem conter elementos de ambos, hardware e software. Em uma concretização preferida, a invenção é implementada em software, que inclui, mas não se limita a, um firmware, software residente, microcódigo, etc.
[0048] Além disso, certas concretizações podem tomar a forma de um produto de programa de computador acessível de um meio utilizável por computador ou passível de leitura por computador fornecendo um código de programa para uso por ou em conexão com um computador ou qualquer sistema de execução de instrução. Para os propósitos desta descrição, um meio utilizável por computador ou passível de leitura por computador pode ser qualquer aparelho que pode conter, armazenar, comunicar, propagar ou transportar o programa para
Petição 870190073616, de 31/07/2019, pág. 24/29
-15 / 18uso por ou em conexão com o sistema de execução de instrução, aparelho, ou dispositivo. O meio pode ser eletrônico, magnético, óptico, eletromagnético, infravermelho, ou sistema semicondutor (aparelho ou dispositivo) ou um meio de propagação. Exemplos de um meio passível de leitura por computador incluem um semicondutor ou memória de estado sólido, fita magnética, um disquete de computador removível, uma memória de acesso aleatório (RAM), uma memória somente para leitura (ROM), um disco magnético rígido e um disco óptico. Exemplos atuais de discos ópticos incluem disco compacto □ memória somente para leitura (CD-ROM), disco compacto regravável (CD-RW) e disco digital versátil (DVD).
[0049] Os termos “determinadas concretizações”, “uma concretização”, “concretização”, “concretizações”, “a concretização”, “as concretizações”, “uma ou mais concretizações”, “algumas concretizações”, e “uma concretização” significam uma ou mais (mas não todas) concretizações a menos que expressamente especificados de outra maneira. Os termos “incluindo”, “abrangendo (ou constando de)”, “tendo” e respectivas variações significam “incluindo mas não limitadas a”, a menos que expressamente especificados de outra maneira. A lista de itens enumerada não sugere que todos ou quaisquer dos itens sejam mutuamente exclusivos, a menos que expressamente especificado de outra maneira. Os termos “um/a”, “o/a” , “os/as” significam “um ou mais”, a menos que expressamente especificado de outra maneira.
[0050] Dispositivos que estão em comunicação entre si não precisam estar em comunicação constante entre si, a menos que expressamente especificado de outra maneira. Além disso, dispositivos que estão em comunicação entre si podem se comunicar direta ou indiretamente através de um ou mais intermediários. Além disso, uma descrição de uma concretização com vários componentes em comunicação uns com os outros não sugere que todos estes componentes são necessários. Pelo contrário, uma variedade de componentes opcionais são descritos para ilustrar a ampla variedade de possíveis concretizações.
Petição 870190073616, de 31/07/2019, pág. 25/29
-16 / 18[0051] Além disso, embora as etapas do processo, as etapas do método, algoritmos ou similares possam ser descritos numa ordem seqüencial, tais processos, métodos ou algoritmos podem ser configurados para funcionar em ordens alternadas. Em outras palavras, qualquer seqüência ou ordem de etapas que venha a ser descrita não indica necessariamente uma exigência de que as etapas sejam seguidas naquela ordem. As etapas dos processos descritos aqui podem ser realizadas em qualquer ordem prática. Além disso, algumas etapas podem ser realizadas simultaneamente, em paralelo ou concomitantemente.
[0052] Quando um único dispositivo ou artigo for aqui descrito, estará claro que mais de um dispositivo/artigo (cooperem eles ou não) poderá ser usado em lugar de um dispositivo/artigo. Do mesmo modo, onde mais de um dispositivo ou artigo for descrito (cooperem eles ou não), ficará claro que um único dispositivo/artigo poderá ser usado em lugar de mais de um dispositivo ou artigo. A funcionalidade e/ou características de um dispositivo podem ser alternativamente concretizadas por um ou mais outros dispositivos que não sejam explicitamente descritos como tendo tal funcionalidade/características. Dessa maneira, outras concretizações não precisam incluir o dispositivo descrito.
[0053] A fig.6 ilustra a arquitetura de um sistema de computação 600, onde em determinadas concretizações o controlador de armazenamento 104 e os hosts 102a...102n do ambiente de computação 100 da FIG. 1 podem ser implementados de acordo com a arquitetura do sistema de computação 600. O sistema de computação 600 também pode ser referido como um sistema, e pode incluir um circuito 602 que pode em determinadas concretizações incluir um processador 604. O sistema 600 também pode incluir uma memória 606 (por exemplo, um dispositivo de memória volátil), e armazenamento 608. O armazenamento 608 pode incluir um dispositivo de memória não-volátil ( por exemplo, EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, firmware, lógica programável, etc.), unidade de disco magnético, unidade de disco óptico, unidade de fita, etc. O armazenamento 608 pode abranger um dispositivo de
Petição 870190073616, de 31/07/2019, pág. 26/29
-17 / 18armazenamento interno, um dispositivo de armazenamento anexado e/ou um dispositivo de armazenamento acessível a rede. O sistema 600 pode incluir uma lógica de programa 610 incluindo o código 612 que pode ser carregado na memória 606 e executado pelo processador 604 ou pelo circuito 602. Em determinadas concretizações, a lógica de programa 610 incluindo o código 612 pode ser armazenada no armazenamento 608. Em determinadas outras concretizações, a lógica de programa 610 pode ser implementada no circuito 602. Portanto, enquanto a fig. 6 mostra a lógica de programa 610 separadamente dos outros elementos, a lógica de programa 610 pode ser implementada na memória 606 e/ou o circuito 602.
[0054] Determinadas concretizações podem visar a um método para a implantação de instrução de computador por uma pessoa ou um processo automatizado integrando códigos de leitura por computador em um sistema de computador, onde o código em combinação com o sistema de computador é habilitado a realizar as operações das concretizações descritas.
[0055] Pelo menos algumas das operações ilustradas nas figs. 1-6 podem ser realizadas paralelamente como também seqüencialmente. Em concretizações alternativas, algumas das operações podem ser realizadas seguindo uma ordem diferente, podem ser modificadas ou podem ser removidas.
[0056] Além disso, muitos dos componentes de hardware e de software foram descritos em módulos separados a título de ilustração. Tais componentes podem ser integrados em um número menor de componentes ou divididos em um número maior de componentes. Além disso, determinadas operações descritas como realizadas por um componente específico podem ser realizadas por outros componentes.
[0057] As estruturas de dados e componentes mostradosou mencionados nas figs. 1-6 são descritos como tendo tipos específicosde informação. Em concretizações alternativas, as estruturas de dadose componentes podem ser estruturados de um modo diferente e ter menos, mais ou
Petição 870190073616, de 31/07/2019, pág. 27/29
-18 / 18diferentes campos ou diferentes funções daquelas mostradas ou mencionadas nas figuras.
[0058] Portanto, as descrições das concretizações, feitas anteriormente, foram apresentadas a título de ilustração. Não têm o propósito de serem completas (de esgotar todas as possibilidades existentes) ou de restringir ou limitar as concretizações à forma exata das descrições anteriores. Muitas modificações e variações podem ser feitas levando-se em consideração os ensinamentos fornecidos acima.
Claims (13)
1 - MÉTODO PARA PRIORIZAÇÃO DE INTERRUPÇÕES EM UM CONTROLADOR DE ARMAZENAMENTO caracterizado pelas etapas de:
receber, em um controlador de armazenamento, um comando de controle de interrupções proveniente de um host;
gerar, no controlador de armazenamento, uma primeira pluralidade de interrupções, em resposta às solicitações de acesso recebidas do host para pelo menos um dispositivo de armazenamento acoplado ao controlador de armazenamento, onde a primeira pluralidade de interrupções indica se o acesso a pelo menos esse único dispositivo de armazenamento é permitido ao host;
gerar, no controlador de armazenamento, uma segunda pluralidade de interrupções, onde a segunda pluralidade de interrupções abrange interrupções não solicitadas para o host as quais são diferentes da primeira pluralidade de interrupções; e controlar, no controlador de armazenamento, quantas da primeira pluralidade de interrupções e quantas da segunda pluralidade de interrupções enviar ao host, baseado no comando de controle de interrupções recebido.
2. MÉTODO PARA PRIORIZAÇÃO DE INTERRUPÇÕES EM UM CONTROLADOR DE ARMAZENAMENTO, de acordo com a reivindicação 1, caracterizado por:
a proporção predeterminada da primeira pluralidade de interrupções e da segunda pluralidade de interrupções que estão para ser enviadas ao host durante um período de tempo ser indicada no comando de controle de interrupções recebido.
3. MÉTODO PARA PRIORIZAÇÃO DE INTERRUPÇÕES EM UM CONTROLADOR DE ARMAZENAMENTO, de acordo com a reivindicação 1, caracterizado por:
Petição 870190126104, de 01/12/2019, pág. 5/10
-2 / 6o comando de controle de interrupções recebido ser processado pelo controlador de armazenamento para realizar a determinação de quantas da primeira pluralidade de interrupções estão esperando para ser enviadas ao host;
a determinação de quantas da segunda pluralidade de interrupções estão esperando para ser enviadas ao host;
o envio, ao host, de uma primeira percentagem predeterminada da primeira pluralidade de interrupções que estão esperando para ser enviadas ao host; e o envio, ao host, de uma segunda percentagem predeterminada da segunda pluralidade de interrupções que estão esperando para ser enviadas ao host, onde a primeira percentagem predeterminada e a segunda percentagem predeterminada são indicadas no comando de controle de interrupções.
4. MÉTODO PARA PRIORIZAÇÃO DE INTERRUPÇÕES EM UM CONTROLADOR DE ARMAZENAMENTO, de acordo com a reivindicação 1, caracterizado por:
a segunda pluralidade de interrupções abranger interrupções de mudança de estado.
5. MÉTODO PARA PRIORIZAÇÃO DE INTERRUPÇÕES EM UM CONTROLADOR DE ARMAZENAMENTO caracterizado por incluir as etapas de:
enviar, de um host, um comando de controle de interrupções para um controlador de armazenamento;
enviar, de um host, solicitações de acesso para pelo menos um dispositivo de armazenamento acoplado ao controlador de armazenamento, onde em resposta às solicitações de acesso o controlador de armazenamento gera uma primeira pluralidade de interrupções que indica se o acesso para pelo menos esse único dispositivo de
Petição 870190126104, de 01/12/2019, pág. 6/10
-3 / 6armazenamento é permitido ao host, onde o controlador de armazenamento gera uma segunda pluralidade de interrupções, onde a segunda pluralidade de interrupções abrange interrupções não solicitadas para o host as quais são diferentes da primeira pluralidade de interrupções, e onde o controlador de armazenamento determina quantas da primeira pluralidade de interrupções e quantas da segunda pluralidade de interrupções enviar ao host, baseado no comando de controle de interrupções; e receber, no host, aquelas interrupções determinadas pelo controlador de armazenamento para enviar ao host.
6. MÉTODO PARA PRIORIZAÇÃO DE INTERRUPÇÕES EM UM CONTROLADOR DE ARMAZENAMENTO, de acordo com a reivindicação 5, caracterizado por:
o comando de controle de interrupções enviado pelo host para o controlador de armazenamento indicar uma proporção predeterminada da primeira pluralidade de interrupções e da segunda pluralidade de interrupções que estão para ser enviadas ao host durante um período de tempo.
7. MÉTODO PARA PRIORIZAÇÃO DE INTERRUPÇÕES EM UM CONTROLADOR DE ARMAZENAMENTO, de acordo coma a reivindicação 5, caracterizado por:
o controlador de armazenamento processar o comando de controle de interrupções para determinar quantas da primeira pluralidade de interrupções estão esperando para ser enviadas ao host, e para determinar quantas da segunda pluralidade de interrupções estão esperando para ser enviadas ao host, abrangendo ainda o método as etapas de receber, no host, uma primeira percentagem predeterminada da primeira pluralidade de interrupções que estão esperando para ser enviadas ao host; e
Petição 870190126104, de 01/12/2019, pág. 7/10
-4 / 6receber, no host, uma segunda percentagem predeterminada da segunda pluralidade de interrupções que estão esperando para ser enviadas ao host, onde a primeira percentagem predeterminada e a segunda percentagem predeterminada são indicadas no comando de controle de interrupções.
8. MÉTODO PARA PRIORIZAÇÃO DE INTERRUPÇÕES EM UM CONTROLADOR DE ARMAZENAMENTO, de acordo com o método da reivindicação 1 ou da reivindicação 5, caracterizado por:
a primeira percentagem predeterminada e a segunda percentagem predeterminada serem indicadas pelo host no comando de controle de interrupções enviado pelo host para o controlador de armazenamento.
9. MÉTODO PARA PRIORIZAÇÃO DE INTERRUPÇÕES EM UM CONTROLADOR DE ARMAZENAMENTO, de acordo com a reivindicação 1 ou a reivindicação 5, caracterizado por:
uma pluralidade de hosts que inclui o host ser acoplada ao controlador de armazenamento;
uma pluralidade de dispositivos de armazenamento que inclui pelo menos um único dispositivo de armazenamento ser acoplada ao controlador de armazenamento; e uma pluralidade de bloqueios ser mantida pelo controlador de armazenamento para controlar o acesso à pluralidade de dispositivos de armazenamento pela pluralidade de hosts, onde um host selecionado da pluralidade de hosts tem permissão para acessar um dispositivo de armazenamento selecionado da pluralidade de dispositivos de armazenamento baseado em um bloqueio selecionado da pluralidade de bloqueios que controla o acesso ao dispositivo de armazenamento selecionado.
Petição 870190126104, de 01/12/2019, pág. 8/10
-5 / 6-
10. MÉTODO PARA PRIORIZAÇÃO DE INTERRUPÇÕES EM UM CONTROLADOR DE ARMAZENAMENTO, de acordo com a reivindicação 1 ou a reivindicação 5, caracterizado por incluir as etapas de:
atualizar o comando de controle de interrupções no host; e enviar, pelo host, o comando de controle de interrupções atualizado, para o controlador de armazenamento, onde o controlador de armazenamento controla quantas da primeira pluralidade de interrupções e quantas da segunda pluralidade de interrupções enviar ao host, baseado no comando de controle de interrupções atualizado.
11. CONTROLADOR DE ARMAZENAMENTO, incluindo memória e processador acoplado à memória, caracterizado por:
o processador realizar as etapas de acordo com qualquer uma das reivindicações de 1 a 4 e de 8 a 10.
12. CONTROLADOR DE ARMAZENAMENTO, caracterizado por incluir:
um controlador de armazenamento de acordo com o reivindicado na reivindicação 11; e um host acoplado ao controlador de armazenamento.
13. EQUIPAMENTO PARA PRIORIZAÇÃO DE INTERRUPÇÕES EM UM CONTROLADOR DE ARMAZENAMENTO, caracterizado por incluir:
meios para receber, no controlador de armazenamento, um comando de controle de interrupções de um host;
meios para gerar, no controlador de armazenamento, uma primeira pluralidade de interrupções em resposta às solicitações de acesso recebidas de um host para pelo menos um dispositivo de armazenamento acoplado ao controlador de armazenamento, onde a primeira pluralidade de interrupções indica se o acesso a pelo menos esse único dispositivo de armazenamento é permitido ao host;
Petição 870190126104, de 01/12/2019, pág. 9/10
-6 / 6meios para gerar, no controlador de armazenamento, uma segunda pluralidade de interrupções, onde a segunda pluralidade de interrupções abrange interrupções não solicitadas para o host, as quais são diferentes da primeira pluralidade de interrupções; e meios para controlar, no controlador de armazenamento, quantas da primeira pluralidade de interrupções e quantas da segunda pluralidade de interrupções enviar ao host, baseado no comando de controle de interrupções recebido.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/772,742 US7613860B2 (en) | 2007-07-02 | 2007-07-02 | Prioritization of interrupts in a storage controller based on interrupt control directives received from hosts |
| US11/772,734 US7617345B2 (en) | 2007-07-02 | 2007-07-02 | Prioritization of interrupts in a storage controller based on interrupt control directives received from hosts |
| PCT/EP2008/058148 WO2009003903A1 (en) | 2007-07-02 | 2008-06-26 | Prioritization of interrupts in a storage controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI0811669A2 BRPI0811669A2 (pt) | 2016-11-08 |
| BRPI0811669B1 true BRPI0811669B1 (pt) | 2020-01-14 |
Family
ID=39767043
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0811669A BRPI0811669B1 (pt) | 2007-07-02 | 2008-06-26 | método, controlador de armazenamento e equipamento para priorização de interrupções em um controlador de armazenamento |
Country Status (6)
| Country | Link |
|---|---|
| EP (1) | EP2165264B1 (pt) |
| KR (1) | KR101154800B1 (pt) |
| AT (1) | ATE486321T1 (pt) |
| BR (1) | BRPI0811669B1 (pt) |
| DE (1) | DE602008003233D1 (pt) |
| WO (1) | WO2009003903A1 (pt) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5076967B2 (ja) * | 2008-02-27 | 2012-11-21 | 富士通株式会社 | 情報処理システム、情報処理システムの制御方法、および情報処理システムの制御プログラム |
| US8023522B2 (en) | 2009-03-30 | 2011-09-20 | Intel Corporation | Enabling long-term communication idleness for energy efficiency |
| US8560750B2 (en) * | 2011-05-25 | 2013-10-15 | Lsi Corporation | Systems and methods for advanced interrupt scheduling and priority processing in a storage system environment |
| US9535777B2 (en) * | 2013-11-22 | 2017-01-03 | Intel Corporation | Defect management policies for NAND flash memory |
| IL239113A (en) | 2015-06-01 | 2016-12-29 | Elbit Systems Land & C4I Ltd | A system and method for determining audio characteristics from a body |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5542076A (en) * | 1991-06-14 | 1996-07-30 | Digital Equipment Corporation | Method and apparatus for adaptive interrupt servicing in data processing system |
| US6615305B1 (en) * | 1998-08-27 | 2003-09-02 | Intel Corporation | Interrupt pacing in data transfer unit |
| DE10160298A1 (de) * | 2001-12-07 | 2003-06-18 | Bosch Gmbh Robert | Verfahren und Vorrichtung zur Verarbeitung von Interrput-Signalen |
| US7065598B2 (en) * | 2002-12-20 | 2006-06-20 | Intel Corporation | Method, system, and article of manufacture for adjusting interrupt levels |
-
2008
- 2008-06-26 KR KR1020107000830A patent/KR101154800B1/ko not_active Expired - Fee Related
- 2008-06-26 BR BRPI0811669A patent/BRPI0811669B1/pt active IP Right Grant
- 2008-06-26 AT AT08774332T patent/ATE486321T1/de not_active IP Right Cessation
- 2008-06-26 DE DE602008003233T patent/DE602008003233D1/de active Active
- 2008-06-26 EP EP08774332A patent/EP2165264B1/en active Active
- 2008-06-26 WO PCT/EP2008/058148 patent/WO2009003903A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| EP2165264B1 (en) | 2010-10-27 |
| BRPI0811669A2 (pt) | 2016-11-08 |
| DE602008003233D1 (de) | 2010-12-09 |
| KR20100037099A (ko) | 2010-04-08 |
| KR101154800B1 (ko) | 2012-07-03 |
| WO2009003903A1 (en) | 2009-01-08 |
| EP2165264A1 (en) | 2010-03-24 |
| ATE486321T1 (de) | 2010-11-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7617345B2 (en) | Prioritization of interrupts in a storage controller based on interrupt control directives received from hosts | |
| US12436922B2 (en) | Heterogeneous distributed file system using different types of storage mediums | |
| ES2626655T3 (es) | Conmutación por error de clientes agrupados | |
| US7792916B2 (en) | Management of cluster-wide resources with shared variables | |
| BR112017002518B1 (pt) | Método implementado por computador e sistema de computador para acesso de dados seguro após falha de armazenamento | |
| CN112328435A (zh) | 目标数据备份和恢复的方法、装置、设备及存储介质 | |
| US9128826B2 (en) | Data storage architecuture and system for high performance computing hash on metadata in reference to storage request in nonvolatile memory (NVM) location | |
| CN107526536B (zh) | 用于管理存储系统的方法和系统 | |
| US9436814B2 (en) | Fail-safe licensing for software applications | |
| US10936350B2 (en) | Active drive API | |
| CN107526537B (zh) | 用于锁定存储系统中的存储区域的方法和系统 | |
| MX2008008604A (es) | Sistema de almacenamiento distribuido con interfaz para servicios al cliente via la web. | |
| US10394457B2 (en) | Controller-mediated volume transformation in a shared-resource environment | |
| JP2010086538A (ja) | ハードウェアベースのアンチウィルススキャンサービス | |
| CN101410850A (zh) | 加密存储系统中的数据 | |
| WO2007070658A1 (en) | System and method for detecting unauthorized boots | |
| CN112534412B (zh) | 单侧可靠的远程直接存储器操作 | |
| US20140337457A1 (en) | Using network addressable non-volatile memory for high-performance node-local input/output | |
| US11880567B2 (en) | Quorum in a distributed system | |
| US7613860B2 (en) | Prioritization of interrupts in a storage controller based on interrupt control directives received from hosts | |
| CN115244535A (zh) | 用于保护文件夹免受未授权文件修改的系统和方法 | |
| US11042636B2 (en) | Using trap storage units to detect malicious processes | |
| EP2165264B1 (en) | Prioritization of interrupts in a storage controller | |
| CN107301021B (zh) | 一种利用ssd缓存对lun进行加速的方法和装置 | |
| CN119487491A (zh) | 用于保护用于从计算实例访问远程资源的秘密的隔离运行时环境 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B06T | Formal requirements before examination [chapter 6.20 patent gazette] | ||
| B06A | Patent application procedure suspended [chapter 6.1 patent gazette] | ||
| B06A | Patent application procedure suspended [chapter 6.1 patent gazette] | ||
| B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
| B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 14/01/2020, OBSERVADAS AS CONDICOES LEGAIS. |