Memory device with secure boot updates and self recovery
US-2024406008-A1 · Dec 5, 2024 · US
US2017123779A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2017123779-A1 |
| Application number | US-201514925768-A |
| Country | US |
| Kind code | A1 |
| Filing date | Oct 28, 2015 |
| Priority date | Oct 28, 2015 |
| Publication date | May 4, 2017 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The present disclosure relates to updating a firmware image on a coherent hardware accelerator concurrently with executing operations on the coherent hardware accelerator. According to one embodiment, while executing accelerator-enabled operations on the coherent hardware accelerator, a system stores a firmware update package in a local memory on the coherent hardware accelerator. Once the firmware update package is stored in local memory on the coherent hardware accelerator, the system restarting the coherent hardware accelerator by pausing the execution of at least a first operation initiated on the coherent hardware accelerator and applying the firmware update package to the firmware image on the coherent hardware accelerator. Once the firmware update package is applied to the coherent hardware accelerator, the system resumes the operation on the coherent hardware accelerator.
Opening claim text (preview).
1 - 8 . (canceled) 9 . A computer program product to update a firmware image on a coherent hardware accelerator concurrently with executing operations on the coherent hardware accelerator, the computer program product comprising: a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code configured to perform a function comprising: while executing a set of operations on the coherent hardware accelerator, storing a firmware update package in a local memory on the coherent hardware accelerator; restarting the coherent hardware accelerator by: pausing the execution of at least a first operation initiated on the coherent hardware accelerator; and applying the firmware update package to the firmware image on the coherent hardware accelerator; and while resuming the paused operation on the coherent hardware accelerator, querying a configuration of the updated coherent hardware accelerator and making the configuration available to an operating system for discovery and use in one or more subsequent operations. 10 . The computer program product of claim 9 , wherein pausing the first operation executing on the coherent hardware accelerator comprises saving at least one of: one or more interrupt source numbers identifying the paused operation; a range of memory mapped input/output (I/O) (MMIO) addresses associated with the paused operation; a program counter associated with an instruction most recently executed by the paused operation; or a most recently executed I/O command associated with the paused operation. 11 . The computer program product of claim 10 , wherein resuming the paused operations comprises restoring at least one of the one or more interrupt source numbers, the range of MMIO addresses associated with the paused operation, the program counter associated with an instruction most recently executed by the operation, or the most recently executed I/O command associated with the operation. 12 . The computer program product of claim 9 , wherein the function further comprises: after pausing the first operation executing on the coherent hardware accelerator, resuming the paused operation using a software algorithm executing on a processor other than the hardware accelerator. 13 . The computer program product of claim 9 , wherein the set of operations executing on the coherent hardware accelerator is paused in response to at least one of: detecting a timeout condition when the set of operations attempts to transmit a command to the coherent hardware accelerator; or detecting a reserved value when the set of operations queries the coherent hardware accelerator for a state of the coherent hardware accelerator. 14 . (canceled) 15 . A system to update a firmware image on a coherent hardware accelerator concurrently with executing operations on the coherent hardware accelerator, the system comprising: a processor; and a memory storing one or more instructions which, when executed by the processor, performs a function comprising: while executing a set of operations on the coherent hardware accelerator, storing a firmware update package in a local memory on the coherent hardware accelerator; restarting the coherent hardware accelerator by: pausing the execution of at least a first operation initiated on the coherent hardware accelerator; and applying the firmware update package to the firmware image on the coherent hardware accelerator; and while resuming the paused operation on the coherent hardware accelerator, querying a configuration of the updated coherent hardware accelerator and making the configuration available to an operating system for discovery and use in one or more subsequent operations. 16 . The system of claim 15 , wherein pausing the first operation executing on the coherent hardware accelerator comprises saving at least one of: one or more interrupt source numbers identifying the paused operation; a range of memory mapped input/output (I/O) (MMIO) addresses associated with the paused operation; a program counter associated with an instruction most recently executed by the paused operation; or a most recently executed I/O command associated with the paused operation. 17 . The system of claim 16 , wherein resuming the paused operations comprises restoring at least one of the one or more interrupt source numbers, the range of MMIO addresses associated with the paused operation, the program counter associated with an instruction most recently executed by the operation, or the most recently executed I/O command associated with the operation. 18 . The system of claim 15 , wherein the function further comprises: after pausing the first operation executing on the coherent hardware accelerator, resuming the paused operation using a software algorithm executing on a processor other than the hardware accelerator. 19 . The system of claim 15 , wherein the set of operations executing on the coherent hardware accelerator is paused in response to at least one of: detecting a timeout condition when the set of operations attempts to transmit a command to the coherent hardware accelerator; or detecting a reserved value when the set of operations queries the coherent hardware accelerator for a state of the coherent hardware accelerator. 20 . (canceled) 21 . The computer program product of claim 9 , wherein the first operation is included in the set, wherein the set of operations comprises a set of accelerator-enabled operations, wherein pausing the first operation executing on the coherent hardware accelerator comprises saving at least one of: one or more interrupt source numbers identifying the paused operation; a range of memory mapped input/output (I/O) (MMIO) addresses associated with the paused operation; a program counter associated with an instruction most recently executed by the paused operation; or a most recently executed I/O command associated with the paused operation. 22 . The computer program product of claim 21 , wherein pausing the first operation executing on the coherent hardware accelerator comprises saving, in respective instances, each of: the one or more interrupt source numbers identifying the paused operation; the range of memory mapped input/output (I/O) (MMIO) addresses associated with the paused operation; the program counter associated with the instruction most recently executed by the paused operation; and the most recently executed I/O command associated with the paused operation. 23 . The computer program product of claim 22 , wherein resuming the paused operation comprises restoring: at least one of the one or more interrupt source numbers, the range of MMIO addresses associated with the paused operation, the program counter associated with an instruction most recently executed by the operation, or the most recently executed I/O command associated with the operation. 24 . The computer program product of claim 23 , wherein resuming the paused operation comprises restoring: at least one of the one or more interrupt source numbers, the range of MMIO addresses associated with the paused operation, the program counter associated with an instruction most recently executed by the operation, and the most recently executed I/O command associated with the operation. 25 . The computer program product of claim 24 , wherein the function further comprises: after pausing the operation executing on the coherent hardware accelerator, resuming the paused operation using a software algorithm executing on a processor
Interrupt packet, e.g. event · CPC title
Updates (security arrangements therefor G06F21/57) · CPC title
Virtual address space management · CPC title
for multiple virtual address spaces, e.g. segmentation (G06F12/1036 takes precedence) · CPC title
using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.