Memory device with secure boot updates and self recovery
US-2024406008-A1 · Dec 5, 2024 · US
US2017010896A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2017010896-A1 |
| Application number | US-201514791612-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jul 6, 2015 |
| Priority date | Jul 6, 2015 |
| Publication date | Jan 12, 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.
A method of updating a bootloader includes a slave controller that includes a central processing unit in communication with non-volatile memory having a shared memory architecture. The shared memory architecture including a non-volatile application memory block having application code and a non-volatile launcher memory block having bootloader code for initiating the slave controller. The method including a step of storing updated code to an application memory block of the non-volatile memory. The updated code includes a first code section having application code for application functions, a second code section having updated bootupdater code, and a third code section having image code for an updated bootloader. Slave controller receives indication to update the bootloader code stored in the non-volatile launcher memory block and then executes the bootupdater stored in the application memory block to update the bootloader stored in the launcher memory block from the image code for an updated bootloader.
Opening claim text (preview).
What is claimed is: 1 . A method of updating a bootloader in a slave controller, the slave controller including a central processing unit in communication with non-volatile memory having a shared memory architecture, the shared memory architecture including a non-volatile application memory block having application code and a non-volatile launcher memory block having bootloader code for initiating the slave controller: storing updated code to an application memory block of the non-volatile memory, the updated code including a first code section including application code for application functions, a second code section including updated bootupdater code, and a third code section having image code for an updated bootloader; receiving an indication to update the bootloader code stored in the non-volatile launcher memory block; and executing the bootupdater stored in the application memory block to update the bootloader stored in launcher memory block from the image code for an updated bootloader. 2 . The method of claim 1 further comprising storing shared code for at least one shared function to a shared memory block of the non-volatile memory. 3 . The method of claim 1 wherein the indication to update the bootloader code occurs at startup when having the image for updated bootloader code stored in the application memory block is newer than the bootloader code stored in the launcher memory block. 4 . The method of claim 1 wherein the indication to update the bootloader code occurs when the slave controller receives a command to update the bootloader stored in launcher memory block. 5 . The method of claim 4 wherein the slave controller is in communication with a master controller. 6 . The method of claim 4 wherein the launcher memory block also includes code operable to call shared functions, to call launcher proprietary functions, and to call application callback functions. 7 . The method of claim 5 wherein the slave controller is a component of a battery management system (BMS) that includes the master controller, the slave controller having applications for measuring current flow and voltages for a vehicle battery, including HV batteries. 8 . The method of claim 5 wherein the slave controller is a body control module is a module that controls a load selected from the group consisting of lights, wipers, motors, receivers, transmitters and combinations thereof. 9 . The method of claim 5 wherein the slave controller and the master controller are each independent microcontrollers that include a microprocessor. 10 . The method of claim 5 wherein at least one additional slave controller is in communication with the master controller. 11 . A control system having a shared memory architecture, the control system comprising: a master controller having a first central processing unit and a first memory; a slave controller having a second central processing unit and a second memory, the slave controller in communication with the master controller, the second memory including non-volatile memory having: a launcher memory block having bootloader code encoded therein; a shared memory block having shared code encoded thereon; and an application memory block having a first code section having application code for application functions, a second code section having updated bootupdater code, and a third code section having image code for an updated bootloader, the second central processing unit configured to receive an indication to update the bootloader code stored in the launcher memory block and execute the bootupdater code stored in the application memory block to update to bootloader stored in the launcher memory block from the image code for an updated bootloader. 12 . The control system of claim 11 wherein the indication to update the bootloader code occurs at startup when having the image for updated bootloader code stored in the application memory block is newer than the bootloader code stored in the launcher memory block. 13 . The control system of claim 11 wherein the indication to update the bootloader code occurs when the slave controller receives a command to update the bootloader stored in launcher memory block. 14 . The control system of claim 11 wherein the launcher memory block also includes code operable to call shared functions, to call launcher proprietary functions, and to call application callback functions. 15 . The control system of claim 11 wherein the slave controller is a component of a battery management system (BMS) that includes the master controller, the slave controller having applications for measuring current flow and voltages for a vehicle battery, including a high voltage battery. 16 . The control system of claim 11 wherein the slave controller is a body control module is a module that controls a load selected from the group consisting of lights, wipers, motors, receivers, transmitters and combinations thereof. 17 . The control system of claim 11 wherein the slave controller and the master controller are each independent microcontrollers that include a microprocessor. 18 . The control system of claim 11 further comprising at least one additional slave controller in communication with the master controller.
Bootstrapping (security arrangements therefor G06F21/57) · CPC title
with a shared cache · 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.