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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003860 storage Methods 0.000 claims abstract description 83
- 230000008569 process Effects 0.000 claims abstract description 33
- 238000005192 partition Methods 0.000 claims description 14
- 238000000926 separation method Methods 0.000 claims description 12
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 230000011664 signaling Effects 0.000 claims 5
- 230000004044 response Effects 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000007858 starting material Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-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
[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.
[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.
[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.
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)
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)
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 | 주식회사 히타치엘지 데이터 스토리지 코리아 | 솔리드 스테이트 드라이브의 펌웨어 구동 방법 |
-
2012
- 2012-01-03 DE DE112012005118.1T patent/DE112012005118T5/de not_active Withdrawn
- 2012-01-03 CN CN201280063935.3A patent/CN103999041B/zh not_active Expired - Fee Related
- 2012-01-03 KR KR1020147018312A patent/KR101856284B1/ko active IP Right Grant
- 2012-01-03 WO PCT/US2012/020061 patent/WO2013103335A1/en active Application Filing
- 2012-01-03 US US14/359,067 patent/US9672112B2/en active Active
- 2012-01-03 GB GB1411931.7A patent/GB2511998B/en not_active Expired - Fee Related
- 2012-01-03 BR BR112014014815-5A patent/BR112014014815B1/pt not_active IP Right Cessation
- 2012-01-03 IN IN3796CHN2014 patent/IN2014CN03796A/en unknown
- 2012-12-24 TW TW101149544A patent/TWI482015B/zh not_active IP Right Cessation
-
2017
- 2017-04-18 US US15/490,121 patent/US10613773B2/en active Active
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. |