G06F9/4408

Storage device enumeration in information handling systems

Methods, systems, and computer programs encoded on computer storage medium, for identifying storage devices of an IHS, wherein a BIOS of the IHS is associated with a first enumeration order of the storage devices; enumerating the storage devices such that a particular storage device of the storage devices is enumerated as the first enumerated storage device for both the BIOS and an OS of the IHS, including: determining that an OS installation mode is enabled, and in response, i) exposing only the particular storage device, and ii) disabling the remaining storage devices to; determining that a LUN is set by the BIOS as the first enumerated storage device, including setting an unique identifier (UID) for the particular storage device, and in response fetching data associated with the LUN based on the UID; parsing the LUN data; assigning, based on the parsing, the LUN as the first enumerated storage device.

TRUSTED PLATFORM MODULE PROTECTION FOR NON-VOLATILE MEMORY EXPRESS (NVME) RECOVERY

An information handling system is configured to support first and second boot sequences, which invokes first and second bootloaders respectively. The bootloaders may be stored in an NVMe storage boot partition. Each bootloader may be associated with a corresponding encryption key generated by a trusted platform module, which may seal the first and second keys in accordance with one or more measurements taken during the respective boot sequences. The system determines whether a boot sequence in progress comprises is to invoke the first or second bootloader. The system then unseals the appropriate encryption key to access the appropriate bootloader. The first bootloader may be a host OS bootloader and the second bootloader may be for a recovery resource invoked when the host OS fails to load. The recovery resource may enables BIOS to connect to a remote store and download an image via a HTTP mechanism.

AUTOMATIC POPULATION OF BOOT VOLUMES VIA PROVIDED URLS
20230093402 · 2023-03-23 ·

A storage system (400) includes a storage processor (420-1) such as a storage card resident in a host server (410-1) and coupled to the storage device (450-1). The storage processor (420-1) may be configured to create a virtual volume (428-1), store content derived from an image (492) downloaded from a URL storage corresponding to the virtual volume (428-1), and present the virtual volume (428-1) to the host server as a boot LUN. A management infrastructure (480) can be used to create a library (490) of images (492, 494) corresponding to different storage system characteristics and used to selected which URL is provided to the storage processor (420-1).

Booting an application from multiple memories

A method includes using a memory address map, locating a first portion of an application in a first memory and loading a second portion of the application from a second memory. The method includes executing in place from the first memory the first portion of the application, during a first period, and by completion of the loading of the second portion of the application from the second memory. The method further includes executing the second portion of the application during a second period, wherein the first period precedes the second period.

System and method for recovering an operating system after a runtime hang using a dual-flash device
11481278 · 2022-10-25 · ·

One embodiment provides a computer implemented method for recovering an operating system (OS) after a runtime hang using a dual-flash device. The method includes detecting a first runtime hang of a server; initiating a first reboot from a hard disk; detecting a second runtime hang of the server; and initiating a second reboot from the dual-flash device.

Customizing program logic for booting a system

A technique for generating a customized program logic for booting a target system includes determining the hardware devices operatively connected with the target system. A list of identifiers of the determined hardware devices is sent to a server system. The server system selects from a set of drivers for each of the device identifiers in the list at least one driver operable to control the identified device to generate a sub-set of said set of drivers. The server system retrieves a core program logic being free of any drivers of the target system and sends the core program logic and the driver sub-set to the target system. The target system creates the customized program logic using the combination of the core program logic and the driver sub-set.

System on chip for reducing wake-up time, method of operating same, and computer system including same
11635800 · 2023-04-25 · ·

A system on chip (SoC) includes an internal read-only memory (ROM) configured to store a first boot loader; a first internal static random access memory (SRAM) configured to receive a second boot loader output from a booting device, store the second boot loader, and perform a booting sequence according to control of the first boot loader; a second internal SRAM configured to receive a third boot loader output from the booting device, store the third boot loader, and perform a wake-up sequence according to control of the first boot loader; and a dynamic random access memory (DRAM) controller configured to load an operating system (OS) from the booting device into a DRAM according to control of the second boot loader.

Configurable NAND firmware search parameters
11635951 · 2023-04-25 · ·

Disclosed in some examples are memory devices which include electrically programmable elements that specify values for one or more firmware search parameters for use by the bootloader in locating and reading the firmware object. The values of the firmware search parameters may be dynamically selected at manufacturing time by modifying the configuration of the electrically programmable elements by applying or not applying a specified voltage to the electrically programmable elements. In some examples, an electrically programmable element may include: a fuse, an anti-fuse, and/or an e-fuse.

COMPUTER SYSTEM AND METHOD FOR BOOTING UP THE COMPUTER SYSTEM

A computer system and a method for booting up the computer system. In the computer system, a first memory device stores a first firmware, and a second memory device stores a second firmware. A programmable device is connected to the first memory device and the second memory device, comprising a selector device and a monitor circuit. The selector device provides a path switch function for selecting the first memory device or the second memory device as the selected firmware. The computer system has a processor connected with the programmable device, which can load and execute the selected firmware according to the path switch function. When the computer system is powered on, the monitor circuit determines whether the processor successfully loads and executes the selected firmware. If unsuccessful, the monitor circuit changes the path switch function to load and execute an alternatively selected firmware after the processor is reset.

METHOD, COMPUTER PROGRAM AND APPARATUS FOR PERFORMING A BOOT PROCESS FOR A SYSTEM
20220326961 · 2022-10-13 ·

The present invention relates to a method, to a computer program containing instructions and to an apparatus for performing a boot process for a system that supports redundant copies of boot images. In a first step, an active copy of the boot images is determined (S1). Then the active copy of the boot images is processed (S2). In response to a successful boot process, another copy of the boot images is then set (S3) as the active copy for a subsequent boot process.