BR112016001232B1 - Método operacional em um controlador de hospedeiro, memória legível por computador e dispositivo hospedeiro - Google Patents

Método operacional em um controlador de hospedeiro, memória legível por computador e dispositivo hospedeiro Download PDF

Info

Publication number
BR112016001232B1
BR112016001232B1 BR112016001232-1A BR112016001232A BR112016001232B1 BR 112016001232 B1 BR112016001232 B1 BR 112016001232B1 BR 112016001232 A BR112016001232 A BR 112016001232A BR 112016001232 B1 BR112016001232 B1 BR 112016001232B1
Authority
BR
Brazil
Prior art keywords
error
host
host controller
software
tasks
Prior art date
Application number
BR112016001232-1A
Other languages
English (en)
Other versions
BR112016001232A2 (pt
BR112016001232A8 (pt
Inventor
Assaf Shacham
Maya Haim
Ital Lanel
Original Assignee
Qualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112016001232A2 publication Critical patent/BR112016001232A2/pt
Publication of BR112016001232A8 publication Critical patent/BR112016001232A8/pt
Publication of BR112016001232B1 publication Critical patent/BR112016001232B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

SISTEMA ROBUSTO DE RECUPERAÇÃO DE ERRO DE HARDWARE / SOFTWARE. A presente invenção se refere a um método para detecção e recuperação de erro, em que um controlador de acolhimento e um software de acolhimento colaboram em conjunto. O controlador de acolhimento pode: detectar uma condição de erro, definir uma interrupção ou registro de erro e / ou suspender a execução ou processamento de uma tarefa no controlador de acolhimento. O software de acolhimento pode: detectar uma condição de erro como resultado do controlador de acolhimento ter definido a interrupção ou registro de erro; realizar o tratamento do erro e apagar a condição de erro. O controlador de acolhimento então retoma a execução ou processamento de tarefas mediante a detecção de que a condição de erro foi apagada pelo software de acolhimento.

Description

CAMPO
[0001] O presente pedido de patente de utilidade reivindica prioridade ao Pedido de Patente Provisório US n° 61/857,571, intitulado “Robust Hardware/Software Error Recovery System”, depositado em 23 de julho de 2013, o qual é cedido ao seu cessionário e aqui expressamente incorporado por referência.
CAMPO
[0002] Vários aspectos se referem em geral à recuperação de erro de sistemas de hardware/software, e mais particularmente a um sistema, método e/ou dispositivo em que a recuperação de erro é sincronizada através de hardware e software.
ANTECEDENTES
[0003] Um sistema de hospedeiro pode compreender um controlador de hospedeiro I/O (hardware), um software de hospedeiro de entrada/saída (I/O) (por exemplo, um driver) e um dispositivo de destino (target) I/O. O controlador de hospedeiro pode se comunicar com o dispositivo de destino I/O para enviar/receber tarefas (por exemplo, de dados, comandos, etc.). O software de hospedeiro pode fornecer as tarefas para o controlador de hospedeiro.
[0004] Os erros de funcionamento de hardware às vezes ocorrem, por exemplo, em um controlador. Visto que o hardware funciona mais rápido do que software, é difícil para o software intervir, por exemplo, para se recuperar de ou corrigir tais erros. Em muitos casos, o evento que necessitou de intervenção já passou, e o estado do sistema de hospedeiro mudou pelo tempo que leva para o software responder. Além disso, o hardware (por exemplo, controlador) ainda pode estar realizando operações quando o software está tentando investigar seu estado (por exemplo, o estado do controlador de hospedeiro e o sistema de hospedeiro).
[0005] Consequentemente, existe uma necessidade de proporcionar um mecanismo para permitir que o software intervenha de forma eficiente no funcionamento do hardware para se recuperar de erros.
SUMÁRIO
[0006] Um controlador de hospedeiro é fornecido compreendendo uma interface para acessar um ou mais registos e um circuito de processamento acoplado à interface. O circuito de processamento pode ser adaptado para: (a) processar uma ou mais tarefas de uma fila de tarefas; (b) monitorar as condições de erro ao processar as tarefas; (c) definir um registo de erro mediante a detecção de uma condição de erro no processamento de tarefas; (d) interromper a execução da tarefa ou processamento de tarefas; (e) consultar o registo de erro para verificar se a condição de erro foi apagada; e/ou (f) retomar a execução ou o processamento de tarefas mediante a detecção de que a condição de erro foi apagada. O controlador de hospedeiro pode interromper a execução ou o processamento de tarefas ao terminar um dentre uma tarefa em curso, um comando em curso e uma instrução em curso. O registo de erro pode ser localizado em um espaço de registro compartilhado acessível ao tratamento de erros de software externo ao controlador de hospedeiro. Em um exemplo, uma condição de erro pode ser apagada por um software de tratamento de erros externo. Em algumas implementações, as tarefas podem incluir pelo menos uma da operação de ler ou escrever com um dispositivo de armazenamento externo.
[0007] Um método operacional em um controlador de hospedeiro também é fornecido. O controlador de hospedeiro pode processar uma ou mais tarefas de uma fila de tarefas enquanto monitora as condições de erro. Um registo de erro pode ser definido pelo controlador de hospedeiro após a detecção de uma condição de erro no processamento de tarefas. Além disso, a execução de tarefas ou processamento de tarefas pode ser interrompida pelo controlador de hospedeiro. O controlador de hospedeiro pode interromper a execução ou o processamento de tarefas ao terminar um de uma tarefa em curso, um comando em curso e uma instrução em curso. O controlador de hospedeiro pode então pesquisar o registro de erro (ou algum outro sinalizador, registro e/ou indicador) para determinar se a condição de erro foi apagada. O registo de erro pode ser localizado em um espaço de registro compartilhado acessível ao software de tratamento de erros externo ao controlador de hospedeiro. Ao detectar que a condição de erro foi apagada, o controlador de hospedeiro pode retomar a execução ou processamento de tarefas. O controlador de hospedeiro pode ainda instruir um dispositivo de destino externo com o qual o controlador de hospedeiro se comunica para apagar algumas ou todas as tarefas no dispositivo de destino externo.
[0008] Um meio de armazenamento legível por processador não transitório com uma ou mais instruções também é fornecido, o qual, quando executado por pelo menos um circuito de processamento, faz com que o pelo menos um circuito de processamento de: (a) processe uma ou mais tarefas de um fila de tarefas; (b) monitore as condições de erro ao processar as tarefas; (c) defina um registo de erro mediante a detecção de uma condição de erro no processamento de tarefas; (d) interrompa a execução de tarefas ou o processamento de tarefas; (e) consulte o registo de erro para verificar se a condição de erro foi apagada; e/ou (f) retome a execução ou o processamento de tarefas mediante a detecção de que a condição de erro foi apagada.
[0009] Também é fornecido um dispositivo hospedeiro que compreende: um ou mais registos, um controlador de hospedeiro e um circuito de processamento acoplado ao controlador de hospedeiro e o um ou mais registos. O circuito de processamento executa um software de hospedeiro, em que o software de hospedeiro pode ser adaptado para executar tratamento de erro no controlador de hospedeiro por: (a) pesquisa de um registro de erro para verificar se um erro foi definido pelo controlador de hospedeiro; (b) realização de tratamento de erro após a detecção de que o registo de erro foi definido; e/ou (c) limpeza do registo de erro mediante a conclusão do tratamento de erros. O circuito de processamento e controlador de hospedeiro podem ser integrados em um único dispositivo semicondutor. Em um exemplo, pelo menos um dos softwares de hospedeiro e controlador de hospedeiro pode realizar adicionalmente pelo menos um de: (a) apagar todas as tarefas pendentes em uma fila de tarefas do dispositivo hospedeiro; (b) limpar tarefas específicas pendentes na fila de tarefas do dispositivo hospedeiro; e/ou (c) instruir um dispositivo fonte externo com o qual o controlador de hospedeiro se comunica para apagar algumas ou todas as tarefa no dispositivo de destino.
[0010] É também fornecido um método realizado por software em um dispositivo hospedeiro. Um registo de erro pode ser consultado pelo software de hospedeiro para determinar se um erro foi definido por um controlador de hospedeiro. O tratamento de erro pode ser realizado mediante a detecção de que o registro de erro foi definido. O registo de erro pode ser apagado após a conclusão do tratamento de erros. Em um exemplo, o método pode ainda compreender: (a) apagar todas as tarefas pendentes em uma fila de tarefas do dispositivo hospedeiro; (b) apagar tarefas específicas pendentes na fila de tarefas do dispositivo hospedeiro; e/ou (c) instruir um dispositivo de destino externo com a qual o controlador de hospedeiro se comunica a apagar algumas ou todas as tarefas no dispositivo de destino.
[0011] Além disso, é provido um dispositivo hospedeiro, que compreende: um circuito de processamento que executa um software de hospedeiro e um controlador de hospedeiro acoplado ao circuito de processamento. O controlador de hospedeiro e o software de hospedeiro são adaptados para: (a) detectar uma condição de erro no controlador de hospedeiro; (b) definir uma interrupção ou registro de erro pelo controlador de hospedeiro; (c) interromper a execução ou processamento de tarefas pelo controlador de hospedeiro; (d) detecção de uma condição de erro no software de hospedeiro como resultado do controlador de hospedeiro ter definido a interrupção ou registro de erro (e) realizar o tratamento de erros por pelo menos um dos softwares de hospedeiro e controlador de hospedeiro; (f) apagar a condição de erro pelo software de hospedeiro; e/ou (g) retomar a execução ou processamento de tarefas no controlador de hospedeiro ao detectar que a condição de erro foi apagada pelo software de hospedeiro. O controlador de hospedeiro e o software de hospedeiro podem ter acesso a um espaço de registo compartilhado que inclui a interrupção ou registro de erro. O software de hospedeiro pode verificar registos para determinar os detalhes da condição de erro.
[0012] É provido um método operacional em um dispositivo hospedeiro, que compreende: (a) detectar uma condição de erro em um controlador de hospedeiro; (b) definir uma interrupção ou registro de erro pelo controlador de hospedeiro; (c) interromper a execução ou processamento de tarefas pelo controlador de hospedeiro; (d) detectar uma condição de erro em um software de hospedeiro como resultado do controlador de hospedeiro ter definido a interrupção ou registro de erro; (e) realizar o tratamento de erros por pelo menos um dos softwares de hospedeiro e controlador de hospedeiro; (f) apagar a condição de erro pelo software de hospedeiro; e/ou (g) retomar a execução ou processamento de tarefas no controlador de hospedeiro ao detectar que a condição de erro foi apagada pelo software de hospedeiro. Pelo menos um dos softwares de hospedeiro e controlador de hospedeiro pode ainda executar pelo menos um dos seguintes: (a) apagar todas as tarefas pendentes em uma fila de tarefas do dispositivo hospedeiro; (b) apagar tarefas específicas pendentes na fila de tarefas do dispositivo hospedeiro; e/ou (c) instruir um dispositivo alvo com o qual o controlador de hospedeiro se comunica para apagar algumas ou todas as tarefa no dispositivo de destino.
DESCRIÇÃO DAS FIGURAS
[0013] A FIG. 1 é um diagrama em blocos de um sistema que compreende um dispositivo hospedeiro acoplado a um dispositivo I/O de destino externo através de um barramento, em que o dispositivo hospedeiro é adaptado para interromper operações mediante a ocorrência de um erro para permitir que o software recupere ou corrija o erro.
[0014] A FIG. 2 ilustra uma abordagem exemplar para detecção de erro em um sistema de hardware/software.
[0015] A FIG. 3 ilustra um método exemplar operacional em um controlador de hospedeiro para interromper e descartar uma sequência de tarefas.
[0016] A FIG. 4 é um diagrama em blocos que ilustra um dispositivo hospedeiro adaptado para facilitar a correção de erros e recuperação entre hardware e software.
[0017] A FIG. 5 é um diagrama em blocos de um controlador de hospedeiro exemplar que pode ser adaptado para facilitar o tratamento de erros.
[0018] A FIG. 6 ilustra um método exemplar operacional entre um controlador de hospedeiro e software de hospedeiro para executar a detecção e recuperação de erros.
[0019] A FIG. 7 ilustra um método exemplar operacional pelo controlador de hospedeiro para detecção e recuperação de erros.
[0020] A FIG. 8 ilustra um método exemplar operacional por software de hospedeiro para detecção e recuperação de erros.
DESCRIÇÃO DETALHADA
[0021] A descrição apresentada a seguir em ligação com os desenhos anexos pretende ser uma descrição de várias configurações e não se destina a representar as configurações em que apenas os conceitos e características aqui descritos podem ser praticados. A seguinte descrição inclui detalhes específicos para a finalidade de fornecer uma compreensão ampla de vários conceitos. No entanto, será evidente para os peritos na arte que estes conceitos podem ser praticados sem estes detalhes específicos. Em alguns casos, circuitos, estruturas, técnicas e componentes bem conhecidos são mostrados na forma de diagrama em blocos para evitar obscurecer os conceitos e características descritas.
[0022] Os vários conceitos apresentados ao longo desta descrição podem ser implementados através de uma ampla variedade de sistemas de telecomunicações, arquiteturas de rede, dispositivos eletrônicos, dispositivos móveis, dispositivos de computação e/ou padrões de comunicação. VISÃO GERAL
[0023] Vários aspectos e características da presente invenção se referem a um congelamento, interrupção ou suspensão do funcionamento do software mediante a ocorrência de um erro para permitir que o software trate o erro (por exemplo, realizar a recuperação ou corrigir o erro). Por exemplo, um dispositivo hospedeiro pode incluir um controlador de hospedeiro e software, em que o controlador de hospedeiro é adaptado ou concebido para interromper as operações de hardware em locais conhecidos (por exemplo, em um determinado ponto de uma fila) e/ou estado mediante a ocorrência de um erro. O controlador de hospedeiro congela, interrompe ou suspende toda a atividade, de tal forma que o software pode investigar ou tratar o(s) erro(s), enquanto o controlador de hospedeiro e qualquer dispositivo(s) de destino externo(s) estão em um estado congelado ou suspenso. Quando o controlador de hospedeiro encontra um erro e desencadeia uma interrupção de software, ele para toda a atividade de hardware até instruído a retomar a atividade pelo software. Da mesma forma, quando o software decide intervir, por qualquer motivo, na atividade do hardware, o software ordena que o controlador de hospedeiro interrompa ou pause as operações. O controlador de hospedeiro pode concluir um comando em curso e interromper/suspender sua operação em um local conhecido (por exemplo, dentro de um determinado ponto de uma fila) ou estado. Um dispositivo de destino externo pode esperar que o controlador de hospedeiro inicie a atividade, de modo que o dispositivo de destino também é interrompido ou suspenso quando o controlador de hospedeiro interrompe ou suspende sua própria atividade. O controlador de hospedeiro pode indicar ao software (por exemplo, em execução no dispositivo hospedeiro) que está agora em um estado congelado ou em pausa. O software pode intervir, investigar o estado em curso no controlador de hospedeiro e o dispositivo de destino, executar um procedimento de tratamento de erros (por exemplo, procedimento de recuperação de erro, procedimento de correção de erro, ou qualquer outro procedimento), enquanto não há processos paralelos em execução (ou seja, o hardware é interrompido ou suspenso). Quando o procedimento é concluído pelo software, ele pode direcionar o controlador de hospedeiro para retomar suas operações. A eliminação de condições de competição de hardware/software e incertezas simplifica a recuperação de erros e outros procedimentos de hardware/software.
AMBIENTE OPERACIONAL EXEMPLAR
[0024] A FIG. 1 é um diagrama em blocos de um sistema que compreende um dispositivo hospedeiro 102 acoplado a um dispositivo I/O de destino externo 104 através de um barramento 106, em que o dispositivo hospedeiro é adaptado para suspender operações mediante a ocorrência de um erro, para permitir que o software recupere ou corrija o erro. O dispositivo hospedeiro 102 pode incluir software de hospedeiro 108, uma fila de tarefas 109, um ou mais registos 107 e/ou um controlador de hospedeiro 110. O dispositivo I/O de destino 104 pode incluir um controlador 112, uma fila de tarefas 114 e um dispositivo de armazenamento 116. A fila de tarefas de hospedeiro 109 pode manter as tarefas (por exemplo, operações ou comandos) sendo enviadas para o dispositivo I/O de destino 104. Por exemplo, essa fila de tarefas de hospedeiro 109 pode ser usada pelo software de hospedeiro 108 para proporcionar tarefas para o controlador de hospedeiro 110 e pode ser usada para manter as tarefas até que elas sejam enviadas para o dispositivo I/O de destino 104. Os registros 107 (por exemplo, dentro do controlador de hospedeiro ou em outro lugar dentro do dispositivo hospedeiro 102) podem servir para transferir informações de estado entre o software 108 e/ou o controlador de hospedeiro 110. Por exemplo, os registros 107 podem conter informações sobre quais tarefas na fila de tarefas de hospedeiro 109 foram enviadas para o dispositivo I/O de destino 104 e quais não foram.
[0025] Em uma forma de realização, o dispositivo I/O de destino 104 pode ser separado ou externo ao dispositivo hospedeiro 102 ou pode ser integrado como parte de um chip semicondutor único juntamente com o dispositivo hospedeiro 102. Em um exemplo, o dispositivo I/O de destino 104 pode ser um dispositivo de armazenamento instantâneo que é compatível com o padrão Embedded Multi-Media Controller (eMMC) pelo Joint Electron Device Engineering Council (JEDEC). Em tal exemplo, o dispositivo hospedeiro 102 pode ler e/ou escrever dados (por exemplo, identificados na fila de tarefas de hospedeiro 109) de/para o dispositivo I/O alvo 104.
[0026] A FIG. 2 ilustra uma abordagem exemplar para detecção de erro em um sistema de hardware/software. O software de hospedeiro 108 pode gerar tarefas 1 ... n 204 e fornecer-lhes 206a para o controlador de hospedeiro 110. O controlador de hospedeiro 110, em seguida, envia as tarefas 1 ... n 206b para o controlador de destino 112 que a proporciona 206c à fila de tarefa 114, onde elas podem ser executadas ou processadas 208 pelo dispositivo I/O de destino 104. A “tarefa” aqui descrita pode ser tarefas de dados e/ou não dados. O dispositivo I/O de destino 104 pode enviar confirmações ou indicadores de volta para o dispositivo hospedeiro 102 após a execução ou processamento de cada tarefa.
[0027] De acordo com uma característica, após a detecção de um erro 210, o controlador de hospedeiro 110 pode ser adaptado para congelar/suspender a sua execução ou processamento 212. Tal ponto de congelamento/suspensão pode ser, por exemplo, após o processamento de uma tarefa em curso (por exemplo, uma combinação específica/pluralidade de comandos), um comando (por exemplo, uma combinação específica/pluralidade de instruções básicas), uma instrução (por exemplo, uma instrução em curso). O controlador de hospedeiro 110, em seguida, define um ou mais registros de erro 214 que fazem com que uma interrupção de erro seja disparada/detectada 216 pelo software de hospedeiro 108. Após a detecção de tal interrupção de erro 216 pelo software de hospedeiro 108, o software de hospedeiro 108 pode verificar a condição de erro dos registos 218 (por exemplo, determinar o tipo de erro, etc.), suspender a sequência de tarefas 220 (por exemplo, suspender a geração e/ou processamento de tarefas), e executar tratamento de 222. Em um exemplo, esse tratamento de erro pode incluir limpar/remover uma ou mais tarefas pendentes t ... w 224a. Por exemplo, isso pode envolver a remoção das tarefas específicas t ...w da fila de tarefas de hospedeiro 109 e/ou instrução do controlador de hospedeiro 110 para removê-las ou não executar essas tarefas específicas. Além disso, quando as tarefas t ... w já foram enviadas para o dispositivo I/O de destino 104, o software de hospedeiro 108 pode enviar mensagens adicionais 224b para o controlador de dispositivo de destino 112 para apagar uma ou mais tarefas t ... w e/ou removê-las da fila de tarefas de dispositivo de destino 114.
[0028] Ao completar suas operações de tratamento de erro 222, o software de hospedeiro 108 pode, em seguida, apagar a interrupção de erro e/ou registros de erro 228 e/ou instruir o controlador de hospedeiro 110 para fazê-lo 230. Ao receber a indicação de que o tratamento de erro foi concluído, o controlador de hospedeiro pode retomar a execução de tarefas restantes 232 na fila de tarefas de hospedeiro 109. Desta forma, o controlador de hospedeiro 110 colabora com o software de hospedeiro 108 para lidar com a recuperação de erros, evitando condições de disputa entre eles.
[0029] A FIG. 3 ilustra um método operacional exemplar em um controlador de hospedeiro para suspender e descartar uma sequência de tarefas. Após a detecção de uma condição de erro, o software de hospedeiro pode emitir um indicador de suspensão 302 (por exemplo, escrever “1” para uma breve suspensão em um primeiro registo configurável) ou usar outro método para a emissão de uma instrução, indicador, sinalizador de “suspensão”, ou interrupção para o controlador de hospedeiro. O software de hospedeiro pode, então, pesquisar o indicador de suspensão (por exemplo, uma breve suspensão no primeiro registo configurável) até que o indicador de interrupção está completo ou definido 304 (por exemplo, definido como “1” ou Alta). Ou seja, mesmo que o software de hospedeiro tenha anteriormente definido o indicador de suspensão, ele pode ter que verificar para certificar-se de que todos os outros processos pararam para confirmar que o indicador de interrupção está realmente definido. Deve ser notado que, em vez de sondar quanto ao indicador de suspensão, uma interrupção, ou outro método de comunicação, pode ser usada para notificar o software de hospedeiro quando o indicador de suspensão é completamente definido.
[0030] O controlador de hospedeiro pode, em seguida, verificar se há tarefas adicionais em sua fila de tarefas. Por exemplo, o controlador de hospedeiro pode ler um registro de tarefa 306 para averiguar se existem tarefas a serem executadas ou pendentes. Se o registo de tarefas é claro (task_register = 0), isso significa que todas as tarefas foram executadas (isto é, sem tarefas pendentes na fila de tarefas), em seguida, o controlador de hospedeiro pode apagar o indicador de suspensão (por exemplo, breve suspensão no primeiro registo configurável é definida para “0” ou Baixa) 308 e retomar operações.
[0031] Caso contrário, se o registo de tarefas é definido (por exemplo, task_register = "1" ou Alta), o controlador de hospedeiro pode definir um indicador de limpeza de fila para apagar todas as tarefas ou para apagar tarefas específicas na fila de tarefas 310. O controlador de hospedeiro pode, em seguida, consultar o indicador de limpeza de fila (ou um registro correspondente) para verificar se as tarefas foram apagadas da fila de tarefas 312. Uma vez que essas etapas de recuperação/correção de erros foram concluídas, o controlador de hospedeiro pode redefinir o indicador de suspensão (breve suspensão = 0 ou Baixa) 314 e retomar a execução ou processamento de tarefas. DISPOSITIVO HOSPEDEIRO EXEMPLAR
[0032] A FIG. 4 é um diagrama em blocos que ilustra um dispositivo hospedeiro adaptado para facilitar a correção e recuperação de erros entre hardware e software. O dispositivo hospedeiro 402 pode incluir um circuito de processamento 404, um controlador de hospedeiro 406, um meio/dispositivo de armazenamento legível por processador 408, um dispositivo de memória 430, um circuito transceptor 412 e um barramento 410. O controlador de hospedeiro 406 pode obter as tarefas de uma fila de tarefas 422 dentro de um dispositivo de memória 430 e executar as tarefas e/ou enviar as tarefas (por exemplo, incluindo dados e comandos) para um dispositivo de destino através do circuito transceptor. Por exemplo, o controlador de hospedeiro 406 pode realizar operações de leitura e/ou escrita no dispositivo de destino (por exemplo, dispositivo de armazenamento externo). O controlador de hospedeiro 406 pode manter as informações de estado para as tarefas sendo processadas em um ou mais registos 420 que podem estar dentro do controlador de hospedeiro 406, o dispositivo de memória 430, ou em outro lugar. O controlador de hospedeiro 406 pode ser adaptado para suspender seu processamento das tarefas na fila de tarefa 422 após a detecção de um erro e ou desencadear uma interrupção de software ou definir um sinalizador (por exemplo, dentro de um registo) para informar o software de hospedeiro da ocorrência de uma condição de erro.
[0033] O circuito de processamento pode ser adaptado para executar software de hospedeiro e/ou circuitos funcionais. Por exemplo, um módulo/circuito de detecção de erros 414 pode ser adaptado para detectar ou monitorar quando o controlador de hospedeiro 406 definiu um sinalizador de erro ou desencadeou uma suspensão de erro. Um módulo/circuito de tratamento de erro 416 pode ser adaptado para executar a recuperação ou correção de erro no controlador de hospedeiro 406. Por exemplo, esse módulo/circuito de tratamento de erro 416 pode apagar uma ou mais tarefas na fila de tarefas 422 e/ou redefinir um ou mais dos registos 420. Um módulo/circuito de limpeza de condição de erro 418 pode apagar a interrupção de software, apagar um ou mais sinalizadores definidos pelo controlador de hospedeiro 406, e/ou de outra forma informar o controlador de hospedeiro 406 de que o erro foi tratado e que o controlador de hospedeiro 406 pode retomar o processamento. Ao ser notificado de que o tratamento de erro foi apagado, o controlador de hospedeiro 406 pode retomar o processamento de tarefas na fila de tarefas. O meio/dispositivo de armazenamento legível por processador 408 pode incluir instruções de detecção de erros, instruções de tratamento de erro 426, e/ou instruções de limpeza de condição de erro 428 que podem ser executadas pelo circuito de processamento 404 para executar suas funções.
[0034] A FIG. 5 é um diagrama em blocos de um controlador de hospedeiro exemplar 502 que pode ser adaptado para facilitar o tratamento de erro. Neste exemplo, o controlador de hospedeiro 502 pode incluir um circuito de processamento de controlador 504 acoplado a um ou mais registos 508, e/ou um circuito de interface de entrada/saída 510. O circuito de processamento de controlador 504 pode incluir um módulo/circuito de processamento de tarefas, um módulo/circuito de detecção de condição de erro 512, um módulo/circuito de suspensão de tarefa 514, um módulo/circuito indicador de condição de erro 516 e/ou um módulo/circuito de consulta de limpeza de erro 518.
[0035] O módulo/circuito de processamento de tarefas pode recuperar uma tarefa a partir de uma fila de tarefas, processar a tarefa recuperada, e depois processar a próxima tarefa na fila de tarefas. Tais tarefas podem incluir, por exemplo, realizar operações de leitura ou escrita a partir de/para um dispositivo de destino externo. O módulo/circuito de detecção de condição de erro 512 pode determinar se ocorreu um erro no processamento das tarefas. Em resposta à detecção de uma condição de erro, o módulo/circuito de suspensão de tarefa 514 pode suspender, interromper e/ou congelar processamento adicional pelo controlador de hospedeiro 502 (por exemplo, suspender o processamento de quaisquer outras tarefas). O circuito de processamento de controlador pode terminar ou concluir uma tarefa em curso e, em seguida, suspender qualquer processamento adicional. O módulo/circuito indicador de condição de erro 516 pode definir um sinalizador, registro e/ou uma interrupção de hardware/software para indicar que uma condição de erro foi detectada pelo controlador de hospedeiro 502. Isso pode permitir que software externo ou interno execute o tratamento de erro para tratar a condição de erro. O módulo/circuito de consulta de limpeza de erro 518 pode determinar se e/ou quando a condição de erro foi tratada, de modo que o módulo/circuito de processamento de tarefas pode retomar a operação.
[0036] Em um exemplo, o controlador de hospedeiro 502 pode estar acoplado a um dispositivo de armazenamento 506 (por exemplo, através do circuito de interface I/O 510, a fim de obter uma ou mais instruções de operação. Por exemplo, o dispositivo de armazenamento 506 pode incluir instruções de processamento de tarefas 519 para processar tarefas de uma fila de tarefas, instruções de detecção de condição de erro 520 para detectar erros durante o processamento de tarefas, instruções de suspensão de tarefas 522 para suspender o processamento de tarefas quando é detectado um erro, instruções de indicador de condição de erro 524 para definir um sinalizador, registro ou outro indicador que permita ao software intervir para fins de recuperação de erros e/ou instruções de consulta de limpeza de erro 526 que permitam ao controlador de hospedeiro para monitorar, detectar e/ou pesquisar quanto a uma limpeza do sinalizador definido anteriormente, registro ou indicador (ou seja, para uma indicação de que a condição de erro foi tratada).
[0037] A FIG. 6 ilustra um método operacional exemplar entre um controlador de hospedeiro e software de hospedeiro para executar a detecção e recuperação de erros. O controlador de hospedeiro pode: (a) detectar uma condição de erro 602 (por exemplo, com base em uma notificação do software de hospedeiro), (b) definir uma interrupção ou registro de erro 604, e/ou (c) suspender a execução ou processamento de tarefas 606. O software de hospedeiro pode: (d) detectar uma condição de erro como resultado do controlador de hospedeiro ter definido a interrupção ou registro de erro 608, (e) realizar o tratamento de erro 610, e/ou eliminar a condição de erro 612 (ao terminar o tratamento de erros). O controlador de hospedeiro pode, em seguida, retomar a execução ou processamento de tarefas mediante a detecção de que condição de erro foi apagada pelo software de hospedeiro 614. Note que o software de hospedeiro pode ser executado por um circuito de processamento acoplado ao controlador de hospedeiro. O circuito de processamento e controlador de hospedeiro podem ser integrados em um único dispositivo semicondutor. O controlador de hospedeiro e software de hospedeiro podem ter acesso a um espaço de registo compartilhado incluindo a interrupção ou registro de erro.
[0038] Em um exemplo, realizar o tratamento de erros por pelo menos um dentre o software de hospedeiro e o controlador de hospedeiro inclui pelo menos um de: (i) apagar toda tarefa pendente em uma fila de tarefas do dispositivo hospedeiro; (ii) apagar tarefas específicas pendentes na fila de tarefas do dispositivo hospedeiro; e/ou (iii) instruir um dispositivo alvo com o qual o controlador de hospedeiro se comunica para apagar algumas ou todas as tarefas no dispositivo de destino.
[0039] Em outros exemplos de realização de tratamento de erros em pelo menos um dos softwares de hospedeiro e controlador de hospedeiro, tarefas pendentes não podem ou não precisam de ser apagadas da fila de tarefas do dispositivo hospedeiro e/ou a fila de tarefa no dispositivo de destino.
[0040] Note que o controlador de hospedeiro pode suspender a execução ou processamento de tarefas mediante o término de uma tarefa em curso, um comando em curso e uma instrução em curso.
[0041] A FIG. 7 ilustra um método operacional exemplar pelo controlador de hospedeiro para a detecção e recuperação de erros. O controlador de hospedeiro pode processar tarefas 702 (por exemplo, de uma fila de tarefas). Por exemplo, uma tarefa pode ser uma operação de leitura e/ou escrita de/para um dispositivo de destino externo. O controlador de hospedeiro pode monitorar as condições de erro ao processar as tarefas 704. O controlador de hospedeiro pode definir um registo de erro mediante a detecção de uma condição de erro no processamento de tarefas 706. Além disso, o controlador de hospedeiro suspende a execução/ processamento de tarefas 708. A suspensão do processamento pelo controlador de hospedeiro também congela o estado de registos, de modo que o tratamento de erros pode ser realizado pelo software de hospedeiro. Enquanto suspenso, o controlador de hospedeiro pode consultar o registo de erro para verificar se a condição de erro foi apagada 710. Note que, em outros exemplos, um registo, indicador, bandeira ou outro mecanismo diferente pode ser usado para indicar ao controlador de hospedeiro que a condição de erro foi tratada ou apagada. Ao detectar que a condição de erro foi apagada, o controlador de hospedeiro pode retomar a execução/processamento 712.
[0042] A FIG. 8 ilustra um método operacional exemplar pelo software de hospedeiro para detecção e recuperação de erros. Ao receber/detectar uma interrupção de erro de um registro de interrupção de erro 802, o software de hospedeiro pode ler a última resposta e/ou o último registo de índice de resposta 804. O software de hospedeiro pode também ler um registo de tratamento de erro para verificar o índice e comando de tarefa com erro 806. O software de hospedeiro pode, em seguida, realizar uma sequência de interrupção de tarefas ou operações 808 e prosseguir com uma sequência de detecção e tratamento de erro 810.
[0043] Embora os aspectos, arranjos e formas de realização acima discutidos são discutidos com detalhes e particularidade específicos, um ou mais dos componentes, medidas, características e/ou funções ilustradas nas Figuras 1, 2, 3, 4, 5, 6, 7 e/ou 8 podem ser rearranjados e/ou combinados em um único componente, etapa, característica ou função ou incorporados em vários componentes, etapas ou funções. Elementos, componentes, etapas e/ou funções adicionais podem também ser adicionados ou não utilizados sem afastamento da presente descrição. Os aparelhos, dispositivos e/ou componentes ilustrados nas Figs. 1, 2, 4 e/ou 5 podem ser configurados para executar ou empregar um ou mais dos métodos, características, parâmetros e/ou etapas descritos nas Figs. 2, 3, 6, 7 e/ou 8. Os novos algoritmos descritos neste documento podem também ser eficazmente aplicados em software e/ou embutidos no hardware.
[0044] Além disso, deve ser notado que pelo menos algumas implementações foram descritas como um processo que é ilustrado como um fluxograma, um diagrama de fluxo, um diagrama de estrutura ou um diagrama em blocos. Embora um fluxograma possa descrever as operações como um processo sequencial, muitas das operações podem ser realizadas em paralelo ou simultaneamente. Além disso, a ordem das operações pode ser rearranjada. Um processo é encerrado quando suas operações são concluídas. Um processo pode corresponder a um modo, uma função, um procedimento, uma sub-rotina, um subprograma, etc. Quando um processo corresponde a uma função, a sua conclusão corresponde a um retorno da função para a função de chamada ou a função principal. Os vários métodos descritos neste documento podem ser parcialmente ou integralmente implementados por programação (por exemplo, instruções e/ou dados) que podem ser armazenados em uma mídia de armazenamento não transitória, legível por máquina, legível por computador e/ou legível por processador, e executados por um ou mais processadores, máquinas e/ou dispositivos.
[0045] Os especialistas na arte irão ainda apreciar que os vários blocos lógicos, módulos, circuitos, e etapas de algoritmo ilustrativos descritos em ligação com as formas de realização aqui divulgadas podem ser implementados como hardware, software, firmware, middleware, microcódigo, ou qualquer combinação dos mesmos. Para ilustrar claramente esta permutabilidade, vários componentes ilustrativos, blocos, módulos, circuitos e etapas foram descritos acima, em geral em termos de sua funcionalidade. Se essa funcionalidade é implementada como hardware ou software, depende da aplicação e das limitações de projeto específicas impostas ao sistema em geral.
[0046] As várias características associadas com os exemplos aqui descritos e mostrados nos desenhos anexos podem ser implementadas em diferentes exemplos e implementações sem afastamento do escopo da presente descrição. Portanto, embora certas construções e disposições específicas tenham sido descritas e mostradas nos desenhos anexos, tais formas de realização são meramente ilustrativas e não restritivas do âmbito da descrição, uma vez que várias outras adições e modificações, e deleções de, as formas de realização descritas serão evidentes para aquele de conhecimento comum na arte. Assim, o âmbito da invenção é apenas determinado pela linguagem literal, e equivalentes legais, das reivindicações que seguem.

Claims (10)

1. Método operacional em um controlador de hospedeiro (110; 406), caracterizado pelo fato de que compreende: definir um registro de erros (107; 420) mediante detecção, por hardware de controlador de hospedeiro, de uma condição de erro no processamento de tarefas por um circuito de processamento (404); suspender, pelo hardware de controlador de hospedeiro, execução de tarefas ou processamento de tarefas pelo circuito de processamento (404); e retomar a execução ou processamento de tarefas, pelo hardware de controlador de hospedeiro, mediante detecção de que a condição de erro foi removida por um software de hospedeiro (108) que opera no circuito de processamento (404).
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: processar uma ou mais tarefas de uma fila de tarefas; e monitorar condições de erro ao processar as tarefas.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: pesquisar o registro de erros (107; 420) para verificar se a condição de erro foi removida pelo software controlador de hospedeiro.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o controlador de hospedeiro (110; 406) suspende execução ou processamento de tarefas ao finalizar um dentre uma tarefa atual, um comando atual e uma instrução atual.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o registro de erros está localizado em um espaço de registro compartilhado acessível ao software de tratamento de erros externo ao controlador de hospedeiro (110; 406).
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: instruir um dispositivo de destino externo (104) com o qual o controlador de hospedeiro se comunica para remover algumas ou todas as tarefas no dispositivo de destino externo (104).
7. Memória legível por computador, caracterizada pelo fato de que contém gravado na mesma o método conforme definido em qualquer uma das reivindicações 1 a 6.
8. Dispositivo hospedeiro (102; 402), caracterizado pelo fato de que compreende: um ou mais registros incluindo um registro de erros (107; 420); um controlador de hospedeiro (110; 406) incluindo hardware configurado para detectar um erro em execução de tarefas ou em processamento de tarefas e definir o registro de erros (107; 420) quando tal erro é detectado; um circuito de processamento (404) acoplado ao controlador de hospedeiro e aos um ou mais registros e que executa um software de hospedeiro, em que o software de hospedeiro é adaptado para realizar tratamento de erros (222) no controlador de hospedeiro (110; 406) por: consultar, pelo software de hospedeiro, o registro de erros (107; 420) para verificar se um erro foi definido pelo controlador de hospedeiro (110; 406); realizar tratamento de erros (222), pelo software de hospedeiro, mediante detecção de que o registro de erros (107; 420) foi definido; e remover, por um software de hospedeiro, o registro de erros (107; 420) mediante a conclusão de tratamento de erros (222).
9. Dispositivo hospedeiro (102; 402), de acordo com a reivindicação 8, caracterizado pelo fato de que o circuito de processamento (404) e o controlador de hospedeiro (110; 406) são integrados em um único dispositivo semicondutor.
10. Dispositivo hospedeiro (102; 402), de acordo com a reivindicação 8, caracterizado pelo fato de que pelo menos um entre o software de hospedeiro e o controlador de hospedeiro realiza adicionalmente pelo menos um dentre: remover todas as tarefas pendentes em uma fila de tarefas do dispositivo de hospedeiro (102; 402); remover tarefas específicas pendentes na fila de tarefas do dispositivo de hospedeiro (102; 402); e instruir um dispositivo de destino externo (104) com o qual o controlador de hospedeiro (110; 406) se comunica para remover algumas ou todas as tarefas no dispositivo de destino externo (104).
BR112016001232-1A 2013-07-23 2014-07-23 Método operacional em um controlador de hospedeiro, memória legível por computador e dispositivo hospedeiro BR112016001232B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361857571P 2013-07-23 2013-07-23
US61/857,571 2013-07-23
US14/338,279 2014-07-22
US14/338,279 US9442793B2 (en) 2013-07-23 2014-07-22 Robust hardware/software error recovery system
PCT/US2014/047908 WO2015013460A1 (en) 2013-07-23 2014-07-23 Robust hardware/software error recovery system

Publications (3)

Publication Number Publication Date
BR112016001232A2 BR112016001232A2 (pt) 2017-09-05
BR112016001232A8 BR112016001232A8 (pt) 2022-08-16
BR112016001232B1 true BR112016001232B1 (pt) 2022-10-25

Family

ID=52391538

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016001232-1A BR112016001232B1 (pt) 2013-07-23 2014-07-23 Método operacional em um controlador de hospedeiro, memória legível por computador e dispositivo hospedeiro

Country Status (18)

Country Link
US (1) US9442793B2 (pt)
EP (2) EP3985512B1 (pt)
JP (1) JP6162336B2 (pt)
KR (1) KR101770949B1 (pt)
CN (1) CN105408868B (pt)
AR (1) AR097140A1 (pt)
AU (1) AU2014293070A1 (pt)
BR (1) BR112016001232B1 (pt)
CA (1) CA2917578A1 (pt)
CL (1) CL2016000185A1 (pt)
HK (1) HK1219325A1 (pt)
MX (1) MX349374B (pt)
MY (1) MY182582A (pt)
PH (1) PH12016500030B1 (pt)
SA (1) SA516370444B1 (pt)
SG (1) SG11201510140PA (pt)
TW (1) TWI591478B (pt)
WO (1) WO2015013460A1 (pt)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9442793B2 (en) * 2013-07-23 2016-09-13 Qualcomm Incorporated Robust hardware/software error recovery system
US10007586B2 (en) 2016-01-08 2018-06-26 Microsoft Technology Licensing, Llc Deferred server recovery in computing systems
US10606678B2 (en) 2017-11-17 2020-03-31 Tesla, Inc. System and method for handling errors in a vehicle neural network processor
US11307921B2 (en) 2017-12-08 2022-04-19 Apple Inc. Coordinated panic flow
US10860412B2 (en) * 2017-12-08 2020-12-08 Apple Inc. Coordinated panic flow
KR102429433B1 (ko) * 2018-01-18 2022-08-04 삼성전자주식회사 영상 표시 장치 및 그 구동 방법
CN109669802A (zh) * 2018-11-13 2019-04-23 北京时代民芯科技有限公司 一种用于edac验证的可配置存储器验证系统
US11960350B2 (en) * 2021-08-04 2024-04-16 Samsung Electronics Co., Ltd. System and method for error reporting and handling
TWI789075B (zh) * 2021-10-26 2023-01-01 中華電信股份有限公司 偵測應用程式的異常執行的電子裝置及方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513346A (en) * 1993-10-21 1996-04-30 Intel Corporation Error condition detector for handling interrupt in integrated circuits having multiple processors
US6223299B1 (en) 1998-05-04 2001-04-24 International Business Machines Corporation Enhanced error handling for I/O load/store operations to a PCI device via bad parity or zero byte enables
US6546482B1 (en) 1999-05-07 2003-04-08 Advanced Micro Devices, Inc. Invalid configuration detection resource
US6615374B1 (en) * 1999-08-30 2003-09-02 Intel Corporation First and next error identification for integrated circuit devices
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
US6802039B1 (en) * 2000-06-30 2004-10-05 Intel Corporation Using hardware or firmware for cache tag and data ECC soft error correction
US6966042B2 (en) * 2003-03-13 2005-11-15 International Business Machine Corporation System for detecting and reporting defects in a chip
US7493513B2 (en) * 2003-04-29 2009-02-17 International Business Machines Corporation Automatically freezing functionality of a computing entity responsive to an error
US20060277444A1 (en) * 2005-06-03 2006-12-07 Nicholas Holian Recordation of error information
CN101901177B (zh) * 2010-01-22 2012-11-21 威盛电子股份有限公司 多核微处理器及其除错方法
US8782461B2 (en) * 2010-09-24 2014-07-15 Intel Corporation Method and system of live error recovery
US8775863B2 (en) 2011-05-31 2014-07-08 Freescale Semiconductor, Inc. Cache locking control
US9442793B2 (en) * 2013-07-23 2016-09-13 Qualcomm Incorporated Robust hardware/software error recovery system

Also Published As

Publication number Publication date
MX2016000818A (es) 2016-05-24
TWI591478B (zh) 2017-07-11
EP3985512C0 (en) 2024-01-10
CN105408868B (zh) 2018-10-30
EP3025233B1 (en) 2022-03-09
EP3025233A1 (en) 2016-06-01
JP2016532192A (ja) 2016-10-13
US20150033071A1 (en) 2015-01-29
PH12016500030A1 (en) 2016-04-04
CN105408868A (zh) 2016-03-16
WO2015013460A1 (en) 2015-01-29
SA516370444B1 (ar) 2018-08-08
PH12016500030B1 (en) 2016-04-04
JP6162336B2 (ja) 2017-07-12
MY182582A (en) 2021-01-25
CL2016000185A1 (es) 2016-07-29
KR101770949B1 (ko) 2017-08-24
KR20160034939A (ko) 2016-03-30
US9442793B2 (en) 2016-09-13
AR097140A1 (es) 2016-02-24
SG11201510140PA (en) 2016-02-26
AU2014293070A1 (en) 2016-03-03
BR112016001232A2 (pt) 2017-09-05
EP3985512A1 (en) 2022-04-20
HK1219325A1 (zh) 2017-03-31
EP3985512B1 (en) 2024-01-10
TW201516652A (zh) 2015-05-01
CA2917578A1 (en) 2015-01-29
BR112016001232A8 (pt) 2022-08-16
MX349374B (es) 2017-07-25

Similar Documents

Publication Publication Date Title
BR112016001232B1 (pt) Método operacional em um controlador de hospedeiro, memória legível por computador e dispositivo hospedeiro
US8850262B2 (en) Inter-processor failure detection and recovery
JP4641546B2 (ja) 入出力(i/o)エラーをハンドリングするための方法及びシステム
US10713128B2 (en) Error recovery in volatile memory regions
US9372743B1 (en) System and method for storage management
US9389937B2 (en) Managing faulty memory pages in a computing system
US20170149925A1 (en) Processing cache data
US20170147422A1 (en) External software fault detection system for distributed multi-cpu architecture
WO2015148080A1 (en) Low-overhead detection of unauthorized memory modification using transactional memory
JP6963552B2 (ja) ブロックアトミック実行モデルを利用するプロセッサベースシステムにおける部分的に実行された命令ブロックのリプレイ
US9411666B2 (en) Anticipatory protection of critical jobs in a computing system
US20170052841A1 (en) Management apparatus, computer and non-transitory computer-readable recording medium having management program recorded therein
US10599530B2 (en) Method and apparatus for recovering in-memory data processing system
US8689059B2 (en) System and method for handling system failure
US9696986B2 (en) Managing a code load
US9075902B2 (en) Tracking errors in a computing system
US9176806B2 (en) Computer and memory inspection method
JP2010026830A (ja) システムに負荷をかけないデータバックアップ方法
CN117193932A (zh) 一种基于Hypervisor的虚拟核心监控方法、装置及电子设备
JP2013222360A (ja) 計算機および計算機システムにおける障害処理方法

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 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: 20 (VINTE) ANOS CONTADOS A PARTIR DE 23/07/2014, OBSERVADAS AS CONDICOES LEGAIS