Boot failure protection on smartNICs and other computing devices

US11803445B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11803445-B2
Application numberUS-202217577714-A
CountryUS
Kind codeB2
Filing dateJan 18, 2022
Priority dateJan 18, 2022
Publication dateOct 31, 2023
Grant dateOct 31, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11803445B2 cover?
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…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1417. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 31 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).