Protecting accelerators from malicious network functions
US-2022417257-A1 · Dec 29, 2022 · US
US11803445B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11803445-B2 |
| Application number | US-202217577714-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 18, 2022 |
| Priority date | Jan 18, 2022 |
| Publication date | Oct 31, 2023 |
| Grant date | Oct 31, 2023 |
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.
Boot failure protection on smartNICs and other computing devices is described. During a power-on stage of a booting process for a computing device, a boot loading environment is directed to install an application programming interface (API) able to be invoked to control operation of a hardware-implemented watchdog. During an operating system loading stage of the booting process, the application programming interface is invoked to enable the hardware-implemented watchdog. During an operating system hand-off stage of the booting process, a last watchdog refresh of the hardware-implemented watchdog is performed, and execution of the boot loading environment is handed off to a kernel boot loader of an operating system. The application programming interface may not be accessible after the hand off to the kernel boot loader.
Opening claim text (preview).
Therefore, the following is claimed: 1. A system for boot failure protection, comprising: at least one computing device comprising a hardware-implemented watchdog and at least one hardware processor; and program instructions stored in memory and executable by the at least one computing device that, when executed by the at least one hardware processor, direct the at least one computing device to: during a power-on stage of a booting process for the at least one computing device, direct a boot loading environment to install an application programming interface (API) able to be invoked to control operation of the hardware-implemented watchdog, wherein the API comprises a first portion code configured to control operation of the hardware-implemented watchdog based on a type of the at least one computing device, a second portion code configured to control operation of another hardware-implemented watchdog based on other types of computing devices, and the first portion of code and the second portion of code are included in a single image of a bare-metal hypervisor executable on the at least one computing device; during an operating system loading stage of the booting process, invoke the application programming interface to enable the hardware-implemented watchdog; and during an operating system hand-off stage of the booting process, perform a last watchdog refresh of the hardware-implemented watchdog and hand off execution of the boot loading environment to a kernel boot loader of an operating system, wherein the application programming interface is not accessible after the hand off to the kernel boot loader. 2. The system of claim 1 , wherein the at least one computing device is further directed to: invoke the application programming interface through an application programming interface call to perform at least one of: enable the hardware-implemented watchdog; disable the hardware-implemented watchdog; access a type of the hardware-implemented watchdog; access a physical memory address for the hardware-implemented watchdog; identify a minimum countdown period in which the hardware-implemented watchdog is capable of being configured; and identify a maximum countdown period in which the hardware-implemented watchdog is capable of being configured. 3. The system of claim 1 , wherein: the booting process comprises loading operating system components into random-access memory (RAM) of the at least one computing device; the boot loading environment is a Unified Extensible Firmware Interface (UEFI) boot loading environment; and the application programming interface is installed by storing a driver in a directory that directs the UEFI boot loading environment to install the driver during the power-on stage of the booting of the at least one computing device. 4. The system of claim 1 , wherein the boot loading environment is a Unified Extensible Firmware Interface (UEFI) boot loading environment. 5. The system of claim 1 , wherein the at least one computing device is further directed to execute a first stage boot loader, the first stage boot loader being a UEFI applicable executed in the UEFI boot loading environment; and wherein the first stage boot loader invokes the application programming interface to enable the hardware-implemented watchdog. 6. The system of claim 1 , wherein: the at least one computing device is at least one smart network interface card (smartNIC); and the program instructions are at least a portion of firmware of the at least one computing device stored in non-volatile memory. 7. The system of claim 1 , wherein: the hardware-implemented watchdog is configured to send a reset signal when a first predetermined amount of time elapses without receipt of a first refresh signal; the reset signal directs the at least one computing device to enter into a safe mode or perform a device reset; and the hardware-implemented watchdog is initialized using a second predetermined amount of time, the second predetermined amount of time being greater than the first predetermined amount of time. 8. A computer-implemented method for boot failure protection, comprising: during a power-on stage of a booting process for at least one computing device, installing, by a boot loading environment, an application programming interface (API) able to be invoked to control operation of a hardware-implemented watchdog of the at least one computing device, wherein the API comprises a first portion code configured to control operation of the hardware-implemented watchdog based on a type of the at least one computing device, a second portion code configured to control operation of another hardware-implemented watchdog based on other types of computing devices, and the first portion of code and the second portion of code are included in a single image of a bare-metal hypervisor executable on the at least one computing device; during an operating system loading stage of the booting process, invoking, by a first stage boot loader, the application programming interface to enable the hardware-implemented watchdog; and during an operating system hand-off stage of the booting process, performing, by the boot loading environment, a last watchdog refresh of the hardware-implemented watchdog and hand off execution of the boot loading environment to a kernel boot loader of an operating system, wherein the application programming interface is not accessible after the hand off to the kernel boot loader. 9. The computer-implemented method of claim 8 , further comprising performing at least one of: invoking the application programming interface through an application programming interface call to perform at least one of: enable the hardware-implemented watchdog; disabling the hardware-implemented watchdog; access a type of the hardware-implemented watchdog; accessing a physical memory address for the hardware-implemented watchdog; identifying a minimum countdown period in which the hardware-implemented watchdog is capable of being configured; and identifying a maximum countdown period in which the hardware-implemented watchdog is capable of being configured. 10. The computer-implemented method of claim 8 , wherein: the booting process comprises loading operating system components into random-access memory (RAM) of the at least one computing device; the boot loading environment is a Unified Extensible Firmware Interface (UEFI) boot loading environment; and the computer-implemented method further comprises installing the application programming interface by storing a driver in a directory that directs the UEFI boot loading environment to install the driver during the power-on stage of the booting of the at least one computing device. 11. The computer-implemented method of claim 8 , the boot loading environment is a Unified Extensible Firmware Interface (UEFI) boot loading environment. 12. The computer-implemented method of claim 8 , wherein the first stage boot loader is a UEFI applicable executed in the UEFI boot loading environment. 13. The computer-implemented method of claim 8 , wherein: the at least one computing device is at least one smart network interface card (smartNIC); and the computer-implemented method is performed via execution of program instructions are at least a portion of firmware of the at least one computing device stored in non-volatile memory. 14. The computer-implemented method of claim 8 , wherein: the hardware-implemented watchdog is configured to send a reset signal when a first predetermined amount of time elapses without receipt of a first refresh signal; the reset signal directs the at least one computing device to en
Boot up procedures · CPC title
Bare-metal, i.e. hypervisor runs directly on hardware · CPC title
by exceeding a time limit, i.e. time-out, e.g. watchdogs · CPC title
Resetting or repowering · CPC title
involving virtual machines · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.