IP Library Granted Patent US 11,500,648
Granted Patent B2
US 11,500,648 · App. 16/544,268 · Granted Nov 15, 2022

Method for fast booting processors in a multi-processor architecture

Inventors: Zhijun Liu (Shanghai, CN); Chekim Chhuor (Shanghai, CN); Wen Wei Tang (Shanghai, CN)
Assignee: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
G06F9/4411G06F21/44
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,500,648
App. No.
16/544,268
Granted
Nov 15, 2022
Kind
B2
Abstract

A method for preparing fast boot of an information handling apparatus. The information handling apparatus contains a first CPU configured to connect to a storage device storing firmware and a second CPU connected to the first CPU. The method contains the steps of: allocating a firmware region in memories associated with each one of the first and second CPUs respectively; and copying a firmware from a storage device to the firmware region of each one of the memories. By utilizing a system memory such as NVDIMM which provides higher access speed than NAND flash and also persistent data storage, one or more CPUs can be booted from firmware images in the NVDIMM much faster, thus saving the total booting time.

Claims (35)

1. A method for preparing fast boot of an information handling apparatus, the information handling apparatus comprising a first CPU connected to a storage device storing firmware and a second CPU connected to the first CPU; the method comprising:

allocating, in main memory associated with the first and second CPUs, a firmware region for each one of the first CPU and the second CPU, including assigning a signed label and a passphrase for each of the firmware regions;

passing the passphrase to the second CPU; and

copying the firmware from the storage device to each of the firmware regions for each of the first and second CPUs.

2. The method according to claim 1 , wherein the allocating the firmware regions for each one of the first CPU and the second CPU is performed by the first CPU, and wherein the storage device is a flash storage device.

3. The method according to claim 1 , further comprising:

detecting the main memory associated with the first CPU and the second CPU; and

creating, in the main memory, the firmware region for the first CPU and the firmware region for the second CPU.

4. The method according to claim 1 , wherein a size of the firmware region is one selected from a group consisting of 16 megabytes and 64 megabytes.

5. The method according to claim 1 , wherein the storage device is a Serial Peripheral Interface (SPI) cache connected to a Platform Controller Hub (PCH), and wherein the first CPU is directly connected to the PCH.

6. The method according to claim 1 , wherein the main memory associated with the first and second CPUs comprises a Non-Volatile Dual In-Line Memory Module (NVDIMM).

7. The method according to claim 1 , wherein the passphrase for each of the firmware regions is stored in the storage device.

8. A method of booting an information handling apparatus, the information handling apparatus comprising a first CPU connected to a storage device storing firmware and a second CPU connected to the first CPU; the method comprising the steps of:

determining whether the firmware in the storage device is stored, in main memory associated with the first and second CPUs, in a firmware region associated with each one of the first and second CPUs respectively, wherein each of the firmware regions is assigned a passphrase and a signed label;

in response to determining that the firmware is stored in the firmware region associated with at least one of the first CPU and the second CPU, booting, based on the passphrase, at least one of the first CPU and the second CPU from their respective firmware region in the main memory associated with the first and second CPUs; and

in response to determining that the firmware is not stored in the firmware region associated with at least one of the first CPU and the second CPU, booting at least one of the first CPU and the second CPU from the storage device and copying the firmware from the storage device to each of the firmware regions for each of the first and second CPUs.

9. The method according to claim 8 , wherein step a) further comprises the steps of:

checking whether the firmware is used for booting for a first time;

if it is determined that the firmware is used for booting for the first time, jumping to step c);

if it is determined that the firmware has been used for booting previously, checking, for each one of the first CPU and the second CPU, whether the firmware regions exist in the main memory associated with the first and second CPUs;

if it is determined that the firmware regions exist in the main memory associated with the first and second CPUs, booting at least one of the first CPU and the second CPU from their respective firmware region in the main memory associated with the first and second CPUs; and

if it is determined that there are no said firmware regions in the main memory associated with the first and second CPUs, booting at least one of the first CPU and the second CPU from the storage device, creating the firmware regions, and copying the firmware from the storage device to each of the firmware regions for each of the first and second CPUs respectively.

10. The method according to claim 8 , wherein the determining step is performed by the first CPU, and wherein the storage device is a flash storage device.

11. The method according to claim 9 , wherein step d) further comprises the step of comparing at least one of the following information of the firmware with that of stored information comprising any one of: build ID, build date, and version.

12. The method according to claim 9 , further comprises the step of performing an initialization and passing the passphrase from the storage device to the second CPU by the first CPU, before step f).

13. The method according to claim 9 , wherein the step of creating the firmware region in step h) further comprises allocating a firmware region in the main memory associated with the first and second CPUs, and assigning the signed label and the passphrase for each of the firmware regions.

14. The method according to claim 8 , wherein a size of the firmware region is one selected from a group consisting of 16 megabytes and 64 megabytes.

15. The method according to claim 8 , wherein the storage device is a Serial Peripheral Interface (SPI) cache connected to a Platform Controller Hub (PCH); the first CPU being directly connected to the PCH.

16. The method according to claim 8 , wherein the main memory is a Non-Volatile Dual In-Line Memory Module (NVDIMM).

17. An information handling apparatus, comprising:

a first CPU configured to connect to a storage device storing firmware;

a second CPU connected to the first CPU;

main memory associated with and connected with the first and second CPUs;

wherein the first CPU is operable to allocate, in the main memory associated with the first and second CPUs, a firmware region for each of the first and second CPUs, including assigning a signed label and a passphrase for each of the firmware regions; and

the first CPU and the second CPU further operable to copy the firmware from the storage device to each of the firmware regions for each one of the first and second CPUs respectively, and pass the passphrase to the second CPU.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2025
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD.
Reel/Frame 070267/0096 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 070269/0207 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2019
From: LIU, ZHIJUN; CHHUOR, CHEKIM; TANG, WEN WEI
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 050764/0116 →