BR112014014815B1 - Dispositivo de computação, método e meio de armazenamento para realização de cópia de segurança de firmware - Google Patents

Dispositivo de computação, método e meio de armazenamento para realização de cópia de segurança de firmware Download PDF

Info

Publication number
BR112014014815B1
BR112014014815B1 BR112014014815-5A BR112014014815A BR112014014815B1 BR 112014014815 B1 BR112014014815 B1 BR 112014014815B1 BR 112014014815 A BR112014014815 A BR 112014014815A BR 112014014815 B1 BR112014014815 B1 BR 112014014815B1
Authority
BR
Brazil
Prior art keywords
computing device
firmware
backup
operating system
volatile memory
Prior art date
Application number
BR112014014815-5A
Other languages
English (en)
Other versions
BR112014014815A2 (pt
Inventor
John D. Roche
Baraneedharan Anbazhagan
Jayne E. Scott
Diep V. Nguyen
Original Assignee
Hewlett-Packard Development Company, L.P.
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 Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Publication of BR112014014815A2 publication Critical patent/BR112014014815A2/pt
Publication of BR112014014815B1 publication Critical patent/BR112014014815B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

realização de cópia de segurança de firmware durante início de dispositivo. modalidades de exemplo aqui divulgadas referem-se a fazer cópia de segurança do firmware. um sistema operacional pode ser iniciado. durante o processo de inicialização, memória pode ser definida. o firmware pode ser feito copiado por segurança para armazenamento com base na memória definida.

Description

FUNDAMENTOS
[001] Dispositivos de computação, tais como computadores portáteis e de mesa são utilizados por consumidores em todo o mundo. Alguns desses dispositivos de computação são vendidos como sistemas incluindo um pacote de software do fabricante. Por exemplo, um dispositivo portátil pode vir com uma imagem de sistema operacional que é empacotada software adicional. Quando o dispositivo é executado primeiro, um Sistema de Entrada / Saída Básico pode ser usado para inicializar o sistema para começar a executar instruções da imagem de sistema operacional.
BREVE DESCRIÇÃO DOS DESENHOS
[002] A seguinte descrição detalhada faz referência aos desenhos, em que: As Figuras 1A e 1B são diagramas de blocos de dispositivos de computação que são capazes de fazer cópia de segurança de firmware para um dispositivo de armazenamento durante um processo de inicialização se uma bandeira foi definida ao iniciar, de acordo com vários exemplos; A Figura 2 é um fluxograma de um método para fazer cópia de segurança de firmware com base em um pedido definido durante um processo de iniciar, de acordo com um exemplo; A Figura 3 é um fluxograma de um método para fazer cópia de segurança de um Sistema de Entrada / Saída Básico usando um processo de separação, de acordo com um exemplo; e A Figura 4 é um diagrama de blocos de um dispositivo de computação capaz de criar uma cópia de segurança de um firmware do dispositivo de computação com base na definição de uma memória não volátil ao iniciar um sistema operacional, de acordo com um exemplo.
DESCRIÇÃO DETALHADA
[003] Consumidores hoje têm muitos dispositivos, como computadores portáteis, computadores de mesa, computadores pessoais todos em um, etc. Estes dispositivos podem ser comprados por um usuário e fabricados por um fabricante. O fabricante pode incluir componentes, como uma interface de firmware, um sistema operacional, outro software empacotado, um processador ou vários processadores, memória, etc., para implementar o dispositivo.
[004] Durante fabricação, vários componentes dos respectivos dispositivos podem incluir diferentes níveis de compilação ou código. Por exemplo, uma interface de firmware, como um sistema de entrada / saída básico (BIOS), pode estar em um nível de código, enquanto uma imagem de software em um disco rígido está em outro nível de código. Como tal, atualizações podem ser feitas de forma independente. Quando os certos níveis de compilação para cada um dos componentes são definidos, o dispositivo pode ser considerado pronto para enviar a um usuário.
[005] Funções de cópia de segurança e / ou restauração podem ser adicionadas para o dispositivo. Exemplos de funções de cópia de segurança e / ou restauração incluem uma imagem de restauração de sistema a ser armazenada no armazenamento como um disco rígido, cópia de segurança de firmware, ou algo semelhante. Em um exemplo, uma cópia de segurança de BIOS pode ser armazenada no disco rígido. Como tal, se um problema com o BIOS surge em um momento posterior, a cópia de segurança pode ser utilizada para restaurar o BIOS e / ou inicializar o dispositivo. Pode ser vantajoso enviar um aparelho para o cliente com o BIOS de cópia de segurança no disco rígido de modo que se uma atualização futura do BIOS falhar, se o BIOS se torna corrompido, ou algo semelhante, uma cópia de segurança conhecida e boa pode ser usada.
[006] No entanto, colocar uma cópia do BIOS em um disco rígido de um produto que também vem uma imagem de software incluindo, por exemplo, um sistema operacional, pode ser um desafio para os desenvolvedores e fabricantes. Um desafio que pode surgir é que os discos rígidos, com imagem formada, precisariam esperar para ter imagem formada até depois de um BIOS final ser desenvolvido e verificado. Mudanças de BIOS podem ser úteis para corrigir uma variedade de problemas e / ou para fazer uma variedade de melhorias. Como tal, pode ser vantajoso esperar até mais tarde para finalizar o BIOS do que a imagem de software.
[007] Assim, várias modalidades aqui divulgadas referem- se a armazenar firmware de cópia de segurança em uma unidade de armazenamento como um disco rígido. O armazenamento pode ser, por exemplo, um disco rígido com uma imagem de software como com uma imagem de sistema operacional instalada. O sistema operacional pode ser inicializado quando um usuário, como um cliente, executa o software na imagem. Ao inicializar o sistema operacional, uma memória, tal como uma bandeira, pode ser ajustada. A memória pode ser uma memória não volátil associada com o BIOS, um local de memória associado com o BIOS, etc. Além disso, a memória pode ser usada para indicar que na próxima inicialização, o BIOS deve ser copiado de segurança para a unidade de armazenamento.
[008] Durante o processo de inicialização, o BIOS pode verificar o local de memória para determinar se a memória foi definida. Se definida, o BIOS faz o dispositivo fazer cópia de segurança do BIOS para um local, por exemplo, um local de memória da unidade de armazenamento. Em certos exemplos, o local pode ser baseado na especificação e / ou um padrão. Por exemplo, o local e / ou a unidade de armazenamento pode corresponder a ou ser associado com a especificação de Interface de firmware extensível unificada (UEFI), a especificação EFI, uma especificação proprietária, ou semelhantes. Em certos exemplos, um único local em uma unidade de armazenamento ou disco rígido pode ser esperado para estar disponível para armazenar o BIOS. Em outros exemplos, o local da cópia de segurança pode ser variável e armazenado em uma memória não volátil associada com o BIOS depois da cópia de segurança. Com a abordagem acima, um fabricante pode atualizar o BIOS de um dispositivo depois de uma imagem de disco rígido para o dispositivo ter sido definida e ainda ter a capacidade de ter uma cópia de segurança do BIOS fornecida com o sistema armazenado no disco rígido.
[009] As Figuras 1A e 1B são diagramas de blocos de dispositivos de computação que são capazes de fazer a cópia de segurança de firmware para um dispositivo de armazenamento durante o processo de inicialização se uma bandeira foi definida ao iniciar, de acordo com vários exemplos. Dispositivos de computação 100a, 100b incluem componentes que podem ser utilizados para fazer cópia de segurança de firmware para uma unidade de armazenamento. Os dispositivos de computação respectivos 100a, 100b podem ser um computador portátil, um computador de mesa, um dispositivo de computação tablet, um dispositivo sem fio, um servidor, uma estação de trabalho, ou qualquer outro dispositivo de computação que utiliza firmware para inicialização e operação de transferência do dispositivo de computação para outro sistema operacional. Em certos exemplos, o dispositivo de computação 100a pode incluir firmware 110, um módulo de início 112, um módulo de inicialização 114, um módulo de cópia de segurança 116, e uma memória não volátil 118. Um dispositivo de computação 100b pode incluir ainda uma unidade de armazenamento 120, um processador 130, memória 132, interfaces de entrada / saída 134, um ou mais dispositivos de entrada 140, um ou mais dispositivo de saída 142, etc.
[010] O dispositivo de computação 100 pode incluir firmware 110. O firmware 110 pode ser armazenado em uma memória não volátil 118 do dispositivo de computação 100a. A memória não volátil 118 pode ser eletrônica, magnética, óptica, ou usar outra tecnologia de armazenamento físico. Além disso, a memória não volátil 118 pode ser implementada como Memória Apenas de Leitura Programável Eletricamente Apagável (EEPROM), memória Flash, Memória Apenas de Leitura Programáve (PROM), memória de acesso aleatório não volátil (NVRAM), ou similares. Além disso, o firmware 110 pode cumprir uma norma ou especificação, como EFI ou UEFI, uma especificação proprietária, ou semelhantes. Além disso, o firmware 110, por exemplo, um BIOS, pode incluir instruções que podem ser executadas pelo processador 130. Em determinados cenários, certas partes da memória não volátil 118 podem ser utilizadas para as instruções de firmware de BIOS, enquanto a outra memória não volátil associada 118 é usada para armazenar variáveis e / ou bandeiras que podem ser utilizadas em associação com o firmware 110. As instruções podem ser utilizadas para iniciar o dispositivo de computação 100 e virar a execução do dispositivo de computação 100 para um sistema operacional.
[011] Em certos exemplos, durante uma execução de início, por exemplo, uma primeira execução, do dispositivo de computação 100, o firmware 110 pode girar sobre execução do dispositivo de computação 100 para o módulo de início 112. O módulo de início 112 pode incluir instruções, que, quando executadas pelo processador 130, inicializa um sistema operacional e / ou outras aplicações do dispositivo de computação 100. Como tal, o módulo de início 112 pode ser parte de um primeiro mecanismo de execução que um fabricante ou outro usuário do dispositivo de computação 100 instala no dispositivo de computação 100. Além disso, o início do sistema operacional pode incluir a personalização de um ou mais programas e / ou drivers para um usuário. Por exemplo, o início pode ser usado para criar um nome de usuário inicial e / ou senha, um registro do dispositivo de computação 100, etc. Além disso, início pode incluir a separação, registro e / ou definição de outras aplicações.
[012] O módulo de início 112 pode ser adicionado ao dispositivo de computação 100 como, por exemplo, uma imagem de software colocada em uma unidade de armazenamento 120 do dispositivo de computação 100. Ao iniciar o dispositivo de computação 100, o módulo de início 112 pode definir uma bandeira ou outra memória em uma memória não volátil 118 do dispositivo de computação 100 para fazer cópia de segurança do firmware 110. O módulo de início 112 pode usar uma instrumentação de gerenciamento como a Instrumentação de Gerenciamento de Windows (WMI), uma instrumentação de gerenciamento proprietária, ou algo semelhante para definir a memória não volátil 118. Em certos exemplos, a instrumentação de gerenciamento é um programa que pode ser usado para fazer a interface de programas de nível superior como um aplicativo executando em um sistema operacional com componentes instrumentados como uma memória não volátil associada ao firmware 110. Em determinados cenários, durante o processo de inicialização e / ou após o processo de inicialização ter sido concluído, o dispositivo de computação 100 pode ser reinicializado.
[013] Quando o dispositivo de computação 100 é inicializado, um módulo de inicialização 114 pode iniciar um processo de inicialização executando no processador 130. O processo de inicialização inicializa interfaces do dispositivo de computação 100, tais como interfaces de entrada / saída 134, interfaces de armazenamento, ou semelhantes. Por exemplo, uma interface de entrada do dispositivo de computação 100 pode ser conectada a um dispositivo de entrada 140, tal como um teclado, um mouse, um controlo remoto, um miniteclado, uma interface de toque, um microfone, ou outros semelhantes. Além disso, uma interface de saída pode ser conectada a um dispositivo de saída 142, como um monitor, um alto-falante, um amplificador, um projetor, uma impressora, um dispositivo de mensagens, ou outros semelhantes. Durante o processo de inicialização, o módulo de inicialização 114 pode determinar se a memória ou bandeira indicando que o firmware deve ser feito cópia de segurança foi definida. Se a memória ou bandeira tiver sido definida, o processo de inicialização pode fazer o módulo de cópia de segurança 116 fazer cópia de segurança do firmware 110.
[014] Como tal, o módulo de cópia de segurança 116 faz cópia de segurança do firmware 110 para uma unidade de armazenamento 120 durante o processo de inicialização se a bandeira ou memória foi definida. Em certos exemplos, o firmware 110 inclui uma informação binária de um BIOS ou outro firmware de inicialização para o dispositivo de computação 100, ou um componente do dispositivo de computação 100. A informação binária pode incluir instruções usadas pelo BIOS e / ou informações de definição padrão. Em determinados cenários, outras informações de definição podem ser armazenadas em outro local e / ou não ter cópia de segurança. O módulo de cópia de segurança 116 pode criar um firmware de cópia de segurança com base no firmware para armazenar na unidade de armazenamento 120 e causa armazenamento do firmware de cópia de segurança. Em certos cenários, o local do firmware de cópia de segurança pode basear-se em uma norma ou especificação, tais como a UEFI, uma especificação proprietária, etc. O módulo de cópia de segurança 116 pode modificar ainda o firmware 110 ao gerar o firmware de cópia de segurança. Isso pode ser feito, por exemplo, para limpar uma ou mais variáveis de memória associadas com o firmware 110 que também podem ser gravadas em cópia de segurança. Em determinados cenários, modificação pode ser usada para definir o firmware de cópia de segurança com informações de definição padrões que podem ter sido armazenadas e / ou atualizadas no firmware 110 durante uma inicialização anterior.
[015] Em alguns exemplos, a unidade de armazenamento 120 é uma unidade de armazenamento fixa, como um disco rígido, uma unidade removível, como uma unidade de armazenamento de Barramento Serial Universal (USB), ou armazenamento externo, como armazenamento sobre um dispositivo de rede. Em certos exemplos, um sistema de armazenamento fixo é uma memória que se destina a ser utilizada como uma solução de memória permanente. Um sistema de armazenamento fixo pode incluir um único ou vários dispositivos de armazenamento agrupados para uma tal solução de memória permanente. Por exemplo, armazenamento fixo pode incluir armazenamento não removível. Os termos "fixo" e "não removível"podem ser refletidos para a finalidade pretendida da solução de armazenamento. Assim, soluções de armazenamento tanto "fixas" e "não removíveis"podem ser removidas para reparo, manutenção, atualização, etc. Exemplos de tais dispositivos de armazenamento fixos incluem discos rígidos, unidades de estado sólido, matrizes ou gabinetes de armazenamento, incluindo pelo menos uma das unidades ou discos, ou semelhantes. Além disso, em alguns exemplos, esses dispositivos de armazenamento podem ser determinados a serem fixos com base em uma dificuldade para remover, substituir ou reparar os dispositivos de armazenamento. Além disso, os termos "fixo" e "não removível"podem ser utilizados para diferenciar entre esses dispositivos e meios de armazenamento “removíveis”, tais como fitas, disquetes, CDs, unidades USB removíveis, etc.
[016] Em certas modalidades, um dispositivo de armazenamento fixo ou não removível como um disco rígido interno, uma unidade de estado sólido interna, um compartimento interno ou externo, ou algo semelhante pode incluir um conjunto de imagens de software ou software incluindo instruções do módulo de início 112. Além disso, o firmware de cópia de segurança pode ser armazenado no mesmo dispositivo de armazenamento durante o processo de inicialização. Por exemplo, a inicialização do dispositivo de computação 100 pode incluir criação de uma partição na unidade de armazenamento 120. O firmware de cópia de segurança pode ser armazenado na partição.
[017] Um processador 130, tal como uma unidade de processamento central (CPU) ou um microprocessador adequado para recuperação e execução de instruções e / ou circuitos eletrônicos pode ser configurado para executar a funcionalidade de qualquer um dos módulos 112, 114, 116 aqui descritos. Em determinados cenários, instruções e / ou outras informações, tais como informações de firmware binárias, podem ser armazenadas na memória 132 ou em outra memória durante o processo de cópia de segurança. Além disso, em certas modalidades, alguns componentes podem ser utilizados para implementar a funcionalidade de outros componentes aqui descritos.
[018] Cada um dos módulos 112, 114, 116 pode incluir, por exemplo, dispositivos de hardware, incluindo circuito eletrônico para implementar a funcionalidade aqui descrita. Em adição ou como alternativa, cada módulo 112, 114, 116 pode ser implementado como uma série de instruções codificadas no meio de armazenamento legível por máquina do dispositivo de computação 100 e executáveis pelo processador 130. Deve notar-se que, em algumas modalidades, alguns módulos são implementados como dispositivos de hardware, enquanto outros módulos são implementados como instruções executáveis.
[019] A Figura 2 é um fluxograma de um método para fazer cópia de segurança de firmware com base em um pedido definido durante um processo de inicialização, de acordo com um exemplo. Execução do método 200 pode ser implementado por um dispositivo de computação, por exemplo, dispositivo de computação 100, ou outro dispositivo de computação, tais como dispositivo de computação 400. Método 200 pode ser implementado na forma de instruções executáveis armazenadas em um meio de armazenamento legível por máquina, e / ou na forma de circuitos eletrônicos.
[020] Método 200 pode iniciar em 202 e proceder para 204, onde um dispositivo de computação inicializa um sistema operacional para executar no dispositivo de computação. Em alguns exemplos, o dispositivo de computação é um laptop, um computador de mesa, uma estação de trabalho, um servidor ou outro computador que inclui firmware para inicializar o dispositivo de computação, bem como um sistema operacional separado. O início do sistema operacional pode ser usado para preparar o sistema operacional para executar no computador. Além disso, o início pode ser utilizado para personalizar o computador para um novo usuário. No exemplo de um computador pessoal, um novo usuário pode comprar o computador de um fabricante ou ponto de venda. O computador pessoal pode incluir uma imagem de software incluindo um sistema operacional e / ou outros programas. Quando o usuário liga o computador, por exemplo, pela primeira vez, o computador pode iniciar a execução de instruções na imagem de software para preparar o computador para uso com o usuário. A preparação pode incluir, por exemplo, registro do computador pessoal, o sistema operacional do computador pessoal, registro de outros programas, etc. Além disso, preparação pode incluir a criação de um nome de usuário e / ou senha para o usuário.
[021] Em 206, durante o processo de inicialização, o computador pode definir uma memória, tal como uma memória não volátil, para indicar um pedido de cópia de segurança para o firmware do computador. O firmware pode incluir, por exemplo, o BIOS, UEFI, etc. Como tal, o firmware pode ser usado para inicializar o computador em 208. O computador pode ser reinicializado ou, de outro modo redefinido. O comando de reinicialização pode ser uma reinicialização de aquecimento de software utilizada durante o processo de inicialização. Adicionalmente ou alternativamente, o computador pode ser desligado e iniciado. Em alguns exemplos, a memória pode ser definida na memória volátil que não é redefinida durante uma reinicialização de aquecimento.
[022] Durante o processo de inicialização, em 210, o computador pode verificar a memória não volátil para determinar se o pedido de cópia de segurança está presente. Se o pedido de cópia de segurança não estiver presente, o computador pode continuar a inicializar. Em determinados cenários, se o pedido de cópia de segurança não estiver presente, o computador pode continuar a inicializar.
[023] Se o pedido de cópia de segurança estiver presente, o computador faz a cópia de segurança do firmware associado com o pedido para uma unidade de armazenamento em 212. Em certos exemplos, o firmware associado com o pedido pode ser considerado firmware utilizável. Em certas modalidades, firmware utilizável é firmware localizado em uma memória, como NVRAM, do computador onde o firmware utilizável pode ser executado para executar sua função pretendida. Em alguns exemplos, um firmware utilizável pode ser um BIOS que inclui informação armazenada no primeiro local de memória executado pelo processador. Como observado acima, a unidade de armazenamento pode ser dispositivo de armazenamento, fixo ou removível. Além disso, a unidade de armazenamento pode ser um disco fixo, tal como uma unidade de disco rígido, que inclui uma imagem de software, por exemplo, informação sobre um sistema operacional que pode ser utilizado para iniciar o processo de inicialização. A cópia de segurança do firmware pode incluir criação de uma imagem de firmware de cópia de segurança. A imagem de firmware pode ser uma imagem binária da informação incluída no firmware. Adicionalmente ou alternativamente, partes da imagem de firmware, que pode incluir dados variáveis, podem ser apagada ou definida para um estado padrão. Em determinados cenários, uma porção do firmware pode incluir o estado padrão e / ou apagado e / ou locais de memória que podem precisar ser limpos. Em seguida, a imagem de firmware de cópia de segurança pode ser armazenada na unidade de armazenamento. Em alguns exemplos, a unidade de armazenamento é um disco fixo e o firmware de cópia de segurança é armazenado em uma partição. A partição pode ser salva exclusivamente para o firmware de cópia de segurança. Além disso, em determinados cenários, o firmware de cópia de segurança pode ser armazenado em um local com base em um padrão ou especificação, tais como a especificação UEFI, especificações proprietárias, ou semelhantes.
[024] O computador pode continuar a desempenhar outras funções, como continua a inicializar para um sistema operacional. Além disso, o computador pode limpar o pedido de cópia de segurança. Com essa abordagem, a cópia de segurança é realizada uma vez, quando o sistema operacional ou o software de sistema é inicializado pela primeira vez. Além disso, em determinados cenários, opções para substituir o firmware de cópia de segurança podem ser desativadas no firmware depois do firmware ter tido uma cópia de segurança uma vez.
[025] A Figura 3 é um fluxograma de um método para fazer cópia de segurança de um Sistema de Entrada / Saída Básico usando um processo de separação, de acordo com um exemplo. Execução do processo 300 pode ser implementada por um computador, por exemplo, o dispositivo de computação 100, ou outro dispositivo de computação, tal como dispositivo de computação 400. Método 300 pode ser implementado na forma de instruções executáveis armazenadas em um meio de armazenamento legível por máquina, e / ou sob a forma de circuitos eletrônicos.
[026] Método 300 começa em 302, onde o computador está em um estado em que ele está pronto para ser definido. Em determinados cenários, o computador pode estar em um estado onde ele tem um sistema operacional instalado, mas não personalizado para um usuário. Por exemplo, o computador pode estar em um estado onde o usuário comprou o computador de um fabricante ou ponto de venda, mas o computador ainda não foi iniciado pelo usuário. O computador pode ser pré- carregado com uma imagem de software, por exemplo, uma imagem que inclui um sistema operacional e / ou outro software integrado, que pode necessitar ser definido ou iniciado. Como observado acima, o fabricante pode desejar ter uma imagem de firmware, como uma imagem de BIOS de cópia de segurança armazenada no armazenamento, como um disco rígido associado ao computador. No entanto, pode ser um desafio colocar de forma eficiente a imagem de firmware ou BIOS em um armazenamento pré-carregado enquanto mantendo a flexibilidade para mudar o BIOS ou firmware.
[027] Quando um cliente compra o computador, o cliente pode ligar o computador. Em 304, o computador inicia um processo de separação a partir de uma imagem de sistema. A imagem de sistema pode incluir um sistema operacional e / ou outro software que pode ser executado por um processador do computador. O processo de separação pode incluir o início do sistema operacional e / ou um ou mais pacotes de software. O processo de separação também pode ser usado para registrar o computador, o sistema operacional, os pacotes de software, etc. Além disso, o processo de separação pode ser usado para personalizar os nomes de usuário, senhas, etc.
[028] O software pode ser agrupado para a venda do computador. A vantagem de agrupar o software em conjunto para um fabricante é que o fabricante pode pré-carregar uma imagem de software incluindo o sistema operacional e pacotes de software para o computador para armazenamento que vem com o computador. Este processo permite um processo de fabricação mais simples. Durante o processo de separação, em 306, uma instrumentação de gerenciamento como WMI ou uma instrumentação proprietária pode ser usada para definir uma bandeira de memória não volátil. Em certos exemplos, uma bandeira é um ou mais bits são utilizados para armazenar um valor binário ou código que tem um significado atribuído. Neste cenário, quando a bandeira for definida, o significado atribuído é que se a bandeira for definida, durante o processo de inicialização, o computador faz a cópia de segurança do firmware, por exemplo, o BIOS do computador.
[029] Em 308, o computador pode criar e / ou verificar se uma partição está presente para armazenar um firmware de cópia de segurança, como o BIOS. O processo de criação / verificação pode ocorrer durante o processo de separação, por exemplo, quando a bandeira é definida. Adicionalmente ou alternativamente, o processo de criação / verificação pode ocorrer durante um processo de inicialização controlado por um firmware do computador.
[030] Em 310, o computador é reinicializado. A reinicialização pode ser parte do processo de separação usando uma reinicialização suave e / ou pode ser considerada o próximo ciclo de inicialização, desligamento, do computador. Quando o computador é inicializado, um processo de inicialização pode ser executado utilizando um firmware ou BIOS. O computador pode verificar o local de memória que foi definido para determinar se o local de memória foi definido.
[031] Se a bandeira é definida, o computador gera e armazena uma BIOS ou firmware de cópia de segurança para a partição em 312. Em certas modalidades, a cópia de segurança inclui a criação de uma imagem de firmware do firmware e / ou BIOS. A imagem de firmware é então armazenada na partição. Em certas modalidades, a imagem de firmware pode ser uma cópia binária do BIOS ou firmware atual. Em outras modalidades, a imagem de firmware pode ser uma cópia do BIOS ou firmware atual com modificações. Modificações podem incluir, por exemplo, a limpeza ou definição de um ou mais locais de memória para um estado padrão. Esta informação pode ser incluída em uma ou mais instruções de firmware usadas para cópia de segurança. Além disso, em determinados cenários, o computador pode limpar o local de memória que foi definido quando a cópia de segurança é feita. Adicionalmente ou alternativamente, para aumentar segurança, o local de memória pode ser definido para outro estado, onde um novo BIOS não pode substituir o BIOS de cópia de segurança armazenado na partição.
[032] O computador pode continuar outro processamento. Por exemplo, o computador pode continuar a inicializar o sistema operacional. Com esta abordagem, um BIOS ou firmware de cópia de segurança pode ser armazenado em um dispositivo de armazenamento associado ao computador sem necessidade de intervenção de um usuário e sem necessidade de um fabricante colocar a cópia de segurança no armazenamento durante fabricação.
[033] A Figura 4 é um diagrama de blocos de um dispositivo de computação capaz de criar uma cópia de segurança de um firmware do dispositivo de computação com base na definição de uma memória não volátil ao iniciar um sistema operacional, de acordo com um exemplo. O dispositivo de computação 400 inclui, por exemplo, um processador 410, um meio de armazenamento legível por máquina 420 incluindo instruções 422, 424 para iniciar o dispositivo de computação 400 para uso, e um segundo meio de armazenamento legível por máquina 440 incluindo instruções 442, 444 para inicialização do dispositivo de computação 400 e fazer cópia de segurança de firmware. Em determinados cenários, o segundo meio de armazenamento legível por máquina 440 inclui firmware, como um BIOS, para inicializar o dispositivo de computação 400, fazer cópia de segurança do firmware para um dispositivo de armazenamento, entregar o controle do dispositivo de computação 400 para um sistema operacional, e / ou executar outros processos de computação. Dispositivo de computação 400 pode ser, por exemplo, um computador notebook, um computador de mesa, um servidor, uma estação de trabalho, um dispositivo de computação de quadro negro, ou qualquer outro dispositivo de computação com o firmware de inicialização separado de um sistema operacional. Em certas modalidades, firmware de inicialização, tal como um BIOS, pode ser considerado o primeiro código executado por um dispositivo de computação que subsequentemente transforma execução do dispositivo de computação para outro software, tais como um sistema operacional. O firmware de inicialização também pode ser utilizado para iniciar e identificar dispositivos de sistema.
[034] Processador 410 pode ser, pelo menos, uma unidade central de processamento (CPU), pelo menos um microprocessador com base em semicondutor, pelo menos uma unidade de processamento de gráfico (GPU), outros dispositivos de hardware adequados para recuperação e execução de instruções armazenadas no meio de armazenamento legível por máquina 420, ou 440, ou suas combinações. Por exemplo, o processador 410 pode incluir múltiplos núcleos em um chip, incluir múltiplos núcleos em vários chips, múltiplos núcleos em vários dispositivos (por exemplo, se o dispositivo de computação 400 inclui vários dispositivos de nó), ou suas combinações. Processador 410 pode buscar, decodificar e executar instruções 422, 424, 442, 444 para implementar execução de várias tarefas, por exemplo, métodos 200 e 300. Como uma alternativa ou em complemento à recuperação e execução de instruções, processador 410 pode incluir pelo menos um circuito integrado (IC), uma outra lógica de controle, outros circuitos eletrônicos, ou combinações dos mesmos, que incluem um certo número de componentes eletrônicos para executar a funcionalidade de instruções 422, 424, 442, 444.
[035] Meio de armazenamento legível por máquina 420, 440 pode ser qualquer dispositivo de armazenamento físico, eletrônico, magnético, óptico ou outro que contém ou armazena instruções executáveis. Exemplos de meios de armazenamento de legíveis por máquina incluem memória de acesso aleatório (RAM), uma memória de acesso aleatório programável eletricamente apagável (EEPROM), uma unidade de armazenamento, uma memória apenas de leitura de Disco Compacto (CD-ROM), e assim por diante. Como tal, os meios de armazenamento legíveis por máquina podem ser não transitórios. Conforme descrito em detalhes aqui, meio de armazenamento legível por máquina 420, 440 pode ser codificado com uma série de instruções executáveis para inicialização do dispositivo de computação 400, início do software no dispositivo de computação 400 e automaticamente fazer cópia de segurança de firmware do dispositivo de computação 400.
[036] Em um exemplo, meio de armazenamento legível por máquina 440 pode incluir instruções que pertencem a um firmware de inicialização para o dispositivo de computação 400. Além disso, instruções de inicialização 442 podem ser executadas para inicializar o dispositivo de computação 400 em um estado utilizável. Durante a execução das instruções de inicialização 442, o processador pode procurar para ver se uma bandeira de cópia de segurança é definida em uma memória não volátil do dispositivo de computação 400. Se a bandeira de cópia de segurança não é definida, a execução do dispositivo de computação 400 pode ser transferida para software armazenado em um meio de armazenamento legível por máquina 420. Em certos exemplos, meio de armazenamento legível por máquina 420 pode ser carregado com um sistema operacional e / ou outro software.
[037] Em um exemplo, o software pode incluir instruções de início 422. Em certos exemplos, instruções de início 422 são executadas para personalizar o dispositivo de computação 400 para uma nova entidade, tal como um usuário. As instruções de início 422 podem ser usadas para iniciar o sistema operacional do dispositivo de computação 400. Exemplos de um tal início incluem determinação de um nome de usuário e / ou senha para o usuário, registrar o dispositivo de computação 400 e / ou o sistema operacional, registrar outro pacote de software, carregar unidades, ou semelhante. Como parte do início do dispositivo de computação 400, o processador 410 pode definir a bandeira de cópia de segurança na memória não volátil. Definir a bandeira de cópia de segurança faz o dispositivo de computação, na próxima inicialização, criar uma cópia de segurança de um firmware para uma unidade de armazenamento. Em certos exemplos, o firmware pode incluir informação contida no meio de armazenamento legível por máquina 440. Além disso, em determinados cenários, as instruções de início 422 podem fazer o dispositivo de computação 400 redefinir. Em outros cenários, instruções de sistema operacional (SO) 424 podem causar redefinição, ou o dispositivo de computação 400 pode ser desligado e ligado.
[038] Em uma inicialização subsequente, as instruções de inicialização 442 são executadas para realizar um processo de inicialização. Desta vez, quando o processador 410 verifica para ver se a bandeira foi definida, determina-se que a bandeira foi definida. A determinação que a bandeira foi definida faz as instruções de cópia de segurança 444 serem executadas. As instruções de cópia de segurança podem ser usadas para criar uma cópia de segurança do firmware. Como mencionado acima, uma cópia de segurança pode incluir informação binária do firmware. Além disso, o firmware tendo cópia de segurança pode ser considerado firmware utilizável. As instruções de cópia de segurança 444 também podem ser utilizadas para armazenar a cópia de segurança para a unidade de armazenamento. Em determinados cenários, a unidade de armazenamento pode ser meio de armazenamento legível por máquina 420. Por exemplo, o meio de armazenamento legível por máquina 420 pode ser um disco fixo que permite tal armazenamento. Em alguns exemplos, as instruções de inicialização 422 e / ou as instruções de cópia de segurança 444 podem ser utilizadas para criar e / ou verificar uma partição na unidade de armazenamento em que a cópia de segurança pode ser armazenada. A criação e / ou verificação da partição pode ser baseada em um padrão ou especificação, por exemplo, EFI, UEFI, especificações proprietárias, ou semelhantes. Como tal, a cópia de segurança pode ser usada para restaurar uma imagem de firmware e / ou usada para inicializar o dispositivo de computação 400.

Claims (17)

1. Dispositivo de computação (400), compreendendo: uma primeira memória não volátil (118) incluindo firmware; instruções de início executáveis no dispositivo de computação (400) para executar um início compreendendo iniciar um sistema operacional a partir de uma imagem de sistema operacional e registrar o dispositivo de computação com um vendedor do dispositivo durante uma primeira execução do dispositivo de computação (400), caracterizadopelo fato de que durante o início do sistema operacional, as instruções de início são executáveis para definir uma sinalização de memória não volátil (118) para fazer cópia de segurança do firmware; instruções de inicialização (422) executáveis para inicializar o dispositivo de computação (400) usando um processo de inicialização após uma reinicialização do dispositivo de computação executada seguindo a definição da sinalização de memória não volátil, o processo de inicialização baseado no firmware na primeira memória não volátil; e instruções de cópia de segurança executáveis no dispositivo de computação (400) para automaticamente fazer cópia de segurança do firmware para uma segunda memória não volátil (118) durante o processo de inicialização em resposta à sinalização de memória não volátil (118) ser definida.
2. Dispositivo de computação (400), de acordo com a reivindicação 1, caracterizadopelo fato de que o firmware inclui informação binária de um sistema de entrada / saída básico.
3. Dispositivo de computação (400), de acordo com a reivindicação 2, caracterizadopelo fato de que as instruções de cópia de segurança são executáveis para criar um firmware de cópia de segurança para armazenar na segunda memória não volátil (118) durante a cópia de segurança.
4. Dispositivo de computação (400), de acordo com a reivindicação 3, caracterizadopelo fato de que as instruções de cópia de segurança são executáveis para modificar o firmware de cópia de segurança para incluir informações de definição.
5. Dispositivo de computação (400), de acordo com a reivindicação 1, caracterizadopelo fato de que o início compreende ainda criação de uma partição na segunda memória não volátil, em que a segunda memória não volátil (118) é um disco fixo, e em que o firmware de cópia de segurança é armazenado na partição.
6. Dispositivo de computação (400), de acordo com a reivindicação 1, caracterizadopelo fato de que as instruções de início são executáveis para usar uma instrumentação de gerenciamento para definir a sinalização de memória não volátil (118) durante o início do sistema operacional.
7. Dispositivo de computação (400), de acordo com a reivindicação 1, caracterizadopelo fato de que o início compreende ainda separação de uma ou mais aplicações.
8. Dispositivo de computação (400), de acordo com a reivindicação 1, caracterizadopelo fato de que o início durante a primeira execução compreende ainda personalizar o dispositivo de computação para um usuário do dispositivo de computação, a personalização compreendendo receber informação de entrada a partir do usuário.
9. Dispositivo de computação (400), de acordo com a reivindicação 1, caracterizadopelo fato de que a primeira execução do dispositivo de computação (400) é a primeira execução em seguida de uma compra do dispositivo de computador (400).
10. Método, compreendendo: realizar um início de um dispositivo de computação durante uma primeira execução do dispositivo de computação, o início compreendendo: iniciar um sistema operacional do dispositivo de computação; registrar o dispositivo de computação com um vendedor do dispositivo de computação (400); caracterizadopelo fato de que durante o início, definir automaticamente uma sinalização em uma memória não volátil (118) para indicar um pedido de cópia de segurança; após uma reinicialização do dispositivo de computação (400) seguindo a definição da sinalização na memória não volátil, inicializar o dispositivo de computação (400) incluindo verificar a memória não volátil (118) para determinar se a sinalização está definida; e em resposta à sinalização ser definida, fazer cópia de segurança de um firmware do dispositivo de computação (400) para uma unidade de armazenamento (120).
11. Método, de acordo com a reivindicação 10, caracterizadopelo fato de que fazer cópia de segurança do firmware compreende: criar uma imagem de firmware de cópia de segurança, e armazenar a imagem de firmware de cópia de segurança na unidade de armazenamento (120).
12. Método, de acordo com a reivindicação 11, caracterizadopelo fato de que o início compreende a separação de uma imagem de software incluindo o sistema operacional e um aplicativo.
13. Método, de acordo com a reivindicação 12, caracterizadopelo fato de que a imagem de software é incluída na unidade de armazenamento (120).
14. Meio de armazenamento legível por máquina não transitório (420), armazena instruções que, quando executadas por pelo menos um processador de um dispositivo, faz o dispositivo: executar um início compreendendo iniciar um sistema operacional a partir de uma imagem de sistema operacional e registrar o dispositivo com um vendedor do dispositivo durante uma primeira execução do dispositivo; caracterizadopelo fato de que durante o início do sistema operacional, define uma sinalização em uma memória não volátil (118) do dispositivo, e inicializar o dispositivo após uma reinicialização seguindo uma definição da sinalização na memória não volátil, a inicialização do dispositivo de computação (400) compreendendo criar automaticamente uma cópia de segurança de um firmware do dispositivo em uma unidade de armazenamento (120) em resposta à sinalização ser definida.
15. Meio de armazenamento legível por máquina não transitório (420), de acordo com a reivindicação 14, caracterizadopelo fato de que compreende ainda instruções que, quando executadas pelo menos um processador, fazem o dispositivo: inicializar o dispositivo através de um processo de inicialização; e durante o processo de inicialização, verificar a memória não volátil (118) para determinar se a sinalização foi definida.
16. Meio de armazenamento legível por máquina não transitório (420), de acordo com a reivindicação 15, caracterizadopelo fato de que o início do sistema operacional inclui criação de uma partição da unidade de armazenamento (120), e em que a cópia de segurança do firmware é armazenada na partição.
17. Meio de armazenamento legível por máquina não transitório (420), de acordo com a reivindicação 14, caracterizadopelo fato de que o início compreende ainda personalizar o dispositivo para um usuário do dispositivo, a personalização compreendendo receber uma informação de entrada a partir do usuário.
BR112014014815-5A 2012-01-03 2012-01-03 Dispositivo de computação, método e meio de armazenamento para realização de cópia de segurança de firmware BR112014014815B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/020061 WO2013103335A1 (en) 2012-01-03 2012-01-03 Backing up firmware during initialization of device

Publications (2)

Publication Number Publication Date
BR112014014815A2 BR112014014815A2 (pt) 2017-06-13
BR112014014815B1 true BR112014014815B1 (pt) 2021-11-03

Family

ID=48745330

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014014815-5A BR112014014815B1 (pt) 2012-01-03 2012-01-03 Dispositivo de computação, método e meio de armazenamento para realização de cópia de segurança de firmware

Country Status (9)

Country Link
US (2) US9672112B2 (pt)
KR (1) KR101856284B1 (pt)
CN (1) CN103999041B (pt)
BR (1) BR112014014815B1 (pt)
DE (1) DE112012005118T5 (pt)
GB (1) GB2511998B (pt)
IN (1) IN2014CN03796A (pt)
TW (1) TWI482015B (pt)
WO (1) WO2013103335A1 (pt)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9563497B2 (en) * 2012-12-19 2017-02-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Correcting a failure associated with a current firmware image
EP2989583B1 (en) * 2013-04-23 2018-10-10 Hewlett-Packard Development Company, L.P. Configuring a system
US10733288B2 (en) 2013-04-23 2020-08-04 Hewlett-Packard Development Company, L.P. Verifying controller code and system boot code
EP2989547B1 (en) 2013-04-23 2018-03-14 Hewlett-Packard Development Company, L.P. Repairing compromised system data in a non-volatile memory
CN104142838A (zh) * 2014-07-02 2014-11-12 青岛海信移动通信技术股份有限公司 一种移动通信终端开机启动的方法和设备
US20160188414A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Fault tolerant automatic dual in-line memory module refresh
CN105843631B (zh) * 2015-01-12 2019-02-15 芋头科技(杭州)有限公司 一种提高系统固件烧写速度的方法
CN104598334B (zh) * 2015-01-13 2018-02-27 联想(北京)有限公司 一种信息处理方法及电子设备
JP6600240B2 (ja) * 2015-12-08 2019-10-30 キヤノン株式会社 情報処理装置、ファームウェア更新方法、およびプログラム
CN107273241B (zh) * 2016-04-06 2021-02-26 北京航天发射技术研究所 一种重要参数的冗余备份和自动恢复方法
CN107797642B (zh) * 2016-09-07 2019-12-06 华为技术有限公司 一种备电方法及装置
US10725792B2 (en) * 2016-12-15 2020-07-28 Western Digital Technologies, Inc. Non-volatile storage device with multiple boot partitions
WO2018190846A1 (en) 2017-04-13 2018-10-18 Hewlett-Packard Development Company, L.P. Boot data validity
US10061933B1 (en) 2018-01-09 2018-08-28 Booz Allen Hamilton Inc. System and method for controlling the power states of a mobile computing device
CN108762785A (zh) * 2018-05-29 2018-11-06 四川斐讯信息技术有限公司 一种固件升级过程中恢复出厂的方法和系统
WO2020159533A1 (en) 2019-02-01 2020-08-06 Hewlett-Packard Development Company, L.P. Security credential derivation
US10726133B1 (en) * 2019-02-04 2020-07-28 Dell Products L.P. Securely loading UEFI images at runtime
US11520662B2 (en) 2019-02-11 2022-12-06 Hewlett-Packard Development Company, L.P. Recovery from corruption
US11169819B2 (en) * 2019-05-01 2021-11-09 Dell Products L.P. Information handling system (IHS) and method to proactively restore firmware components to a computer readable storage device of an IHS
US11347856B2 (en) * 2019-05-24 2022-05-31 Dell Products L.P. Bios method to block compromised preboot features
US20230195898A1 (en) * 2020-06-24 2023-06-22 Hewlett-Packard Development Company, L.P. Bios backup
CN113190256B (zh) * 2021-05-27 2023-03-28 新华三技术有限公司 一种升级方法、装置及设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2772103B2 (ja) * 1990-03-28 1998-07-02 株式会社東芝 計算機システム立上げ方式
EP1293904A1 (en) * 2001-09-14 2003-03-19 Hewlett-Packard Company Method of initiating a backup procedure
TWI251771B (en) * 2001-12-28 2006-03-21 Asustek Comp Inc Module and method for automatic restoring BIOS device, and the computer-readable recording media of storing the program codes thereof
KR20040008007A (ko) 2002-07-15 2004-01-28 에임텍 주식회사 무선단말기 펌웨어 업그레이드 방법
US7143275B2 (en) 2002-08-01 2006-11-28 Hewlett-Packard Development Company, L.P. System firmware back-up using a BIOS-accessible pre-boot partition
US7231512B2 (en) * 2002-12-18 2007-06-12 Intel Corporation Technique for reconstituting a pre-boot firmware environment after launch of an operating system
US7136994B2 (en) * 2003-05-13 2006-11-14 Intel Corporation Recovery images in an operational firmware environment
TWM241755U (en) 2003-07-01 2004-08-21 Key Technology Corp Small storage device with built-in BIOS
US7313685B2 (en) 2004-07-23 2007-12-25 Hewlett-Packard Development Company, L.P. Unattended BIOS recovery
TW200713037A (en) 2005-09-06 2007-04-01 Benq Corp System and method for updating firmware
CN1983204A (zh) 2005-12-15 2007-06-20 英业达股份有限公司 使用lpc接口且能修复bios功能之除错装置及其除错方法
US8495415B2 (en) 2006-05-12 2013-07-23 International Business Machines Corporation Method and system for maintaining backup copies of firmware
TW200805083A (en) * 2006-07-12 2008-01-16 Inventec Corp Method of reading OpROM image from storage device
US20080270652A1 (en) * 2007-04-30 2008-10-30 Jeffrey Kevin Jeansonne System and method of tamper-resistant control
TW200847021A (en) * 2007-05-17 2008-12-01 Asustek Comp Inc Automatic backup, restore and update BIOS computer system
US8185886B2 (en) * 2007-06-26 2012-05-22 Intel Corporation Method and apparatus to enable dynamically activated firmware updates
US7987353B2 (en) 2008-01-09 2011-07-26 International Business Machines Corporation Remote BIOS for servers and blades
KR20090124073A (ko) * 2008-05-29 2009-12-03 (주)이노튜브 사용자 설정 장비의 펌웨어 업그레이드와 초기화 방법 및시스템
TWI359378B (en) 2008-07-03 2012-03-01 Asustek Comp Inc Booting method of computer system
TWI460658B (zh) * 2008-09-26 2014-11-11 Insyde Software Corp In the BIOS stage to perform a quick boot and general boot method
US8880207B2 (en) * 2008-12-10 2014-11-04 The University Of Queensland Multi-parametric analysis of snore sounds for the community screening of sleep apnea with non-gaussianity index
US8983870B2 (en) * 2010-08-18 2015-03-17 Snap-On Incorporated Apparatus and method for managing software applications using partitioned data storage devices
KR20120050062A (ko) * 2010-11-10 2012-05-18 주식회사 히타치엘지 데이터 스토리지 코리아 솔리드 스테이트 드라이브의 펌웨어 구동 방법

Also Published As

Publication number Publication date
US9672112B2 (en) 2017-06-06
WO2013103335A1 (en) 2013-07-11
US10613773B2 (en) 2020-04-07
CN103999041A (zh) 2014-08-20
GB2511998A (en) 2014-09-17
US20170220278A1 (en) 2017-08-03
US20140325203A1 (en) 2014-10-30
TW201333684A (zh) 2013-08-16
KR101856284B1 (ko) 2018-06-25
CN103999041B (zh) 2018-03-27
GB201411931D0 (en) 2014-08-20
TWI482015B (zh) 2015-04-21
DE112012005118T5 (de) 2014-10-16
BR112014014815A2 (pt) 2017-06-13
IN2014CN03796A (pt) 2015-10-16
GB2511998B (en) 2020-10-21
KR20140109401A (ko) 2014-09-15

Similar Documents

Publication Publication Date Title
US10613773B2 (en) Backing up firmware during initialization of device
US9703635B2 (en) Method, computer program, and computer for restoring set of variables
US9626181B2 (en) Systems and methods to securely inject binary images and code into firmware
US8086839B2 (en) Authentication for resume boot path
US9372754B2 (en) Restoring from a legacy OS environment to a UEFI pre-boot environment
TWI335536B (en) Information handling system (ihs) method and for updating a non-volatile memory (nvm) included in an information handling system
JP5889933B2 (ja) コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ
JP7022809B2 (ja) コンピュータシステム、および、その安全管理方法、および、コンピュータソフトウェア製品
WO2012012218A2 (en) Providing platform independent memory logic
CN103718165A (zh) Bios闪存攻击保护和通知
CN113672250A (zh) 用于存储器设备固件升级的接口和热重置路径
US11120166B1 (en) Generation of a firmware configured for use in restricting the use of a firmware tool
JP5561791B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2018014687A1 (zh) 一种参数传递方法、装置及计算机存储介质
US11354109B1 (en) Firmware updates using updated firmware files in a dedicated firmware volume
US11106457B1 (en) Updating firmware runtime components
US10838737B1 (en) Restoration of memory content to restore machine state
RU129674U1 (ru) Компьютер с защитой от несанкционированного доступа
EP4035041A1 (en) Secure buffer for bootloader
TWI726436B (zh) 電腦基本輸入輸出系統bios修復方法及實施該修復方法之電腦系統
US10691444B1 (en) Launching updated firmware files stored in a dedicated firmware volume

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 03/01/2012, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 12A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2755 DE 24-10-2023 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.