IP Library › Granted Patent US 12,493,410
Granted Patent B2
US 12,493,410 · App. 17/997,030 · Granted Dec 9, 2025

Accelerating system boot times via host-managed device memory

Inventors: Kevin Yufu Li (Shanghai, CN); Zhenfu Chai (Shanghai, CN); Lei Zhu (Shanghai, CN); Junjie He (Shanghai, CN); Shijie Liu (Shanghai, CN); Tao Xu (Shanghai, CN)
Assignee: Intel Corporation
G06F3/061G06F3/0632G06F3/0673
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 12,493,410
App. No.
17/997,030
Filed
Oct 25, 2022
Granted
Dec 9, 2025
Kind
B2
Art Unit
2138
USPC
711/154
Abstract

Systems, apparatuses and methods may provide for technology that initializes a host-managed device memory (HDM) as a temporary proxy for a system memory, wherein the HDM is associated with an accelerator. The technology also creates a shadow copy of boot firmware code in the HDM and executes one or more boot instructions in the shadow copy of the boot firmware code. In one example, the one or more boot instructions are to be one or more of executed before an initialization of the system memory or executed in parallel with the initialization of the system memory.

Claims (59)

1 . A system comprising:

a host processor circuit;

an accelerator circuit coupled to the host processor circuit, the accelerator circuit including host-managed device memory (HDM);

system memory; and

non-volatile memory including instruction to cause the host processor circuit to:

initialize the HDM as a temporary proxy for the system memory until the system memory is initialized;

create a shadow copy of boot firmware code in the HDM;

execute one or more boot instructions in the shadow copy of the boot firmware code, the one or more boot instructions to be executed before an initialization of the system memory;

detect a completion of the initialization of the system memory by an operating system (OS); and

update a memory map based on memory information associated with the one or more boot instructions and the completion of the initialization of the system memory by the OS.

2 . The system of claim 1 , wherein the instructions cause the host processor circuit to confirm that the HDM supports operation of the HDM as the temporary proxy before initializing the HDM as the temporary proxy.

3 . The system of claim 2 , wherein to confirm that the HDM supports operation of the HDM as the temporary proxy, the instructions cause the host processor circuit to detect one or more of a hardware initialization flag in the accelerator circuit or an identifier in a white list, the identifier corresponding to the accelerator circuit.

4 . The system of claim 1 , wherein to initialize the HDM as the temporary proxy, the instructions cause the host processor circuit to enable a memory mode in the HDM.

5 . The system of claim 1 , wherein the one or more boot instructions include driver execution environment phase instructions.

6 . The system of claim 1 , wherein the instructions cause the host processor circuit to:

enumerate at least one device coupled to the host processor circuit via at least one port, the at least one device including the accelerator circuit; and

based on confirming that the accelerator circuit supports operation of the HDM as the temporary proxy, initialize the HDM as the temporary proxy.

7 . A semiconductor apparatus comprising:

one or more substrates; and

logic circuitry coupled to the one or more substrates, the logic circuitry including one or more of configurable logic circuitry or fixed-functionality hardware logic circuitry, the logic circuitry to:

initialize host-managed device memory (HDM) as a temporary proxy for system memory until the system memory is initialized, the HDM associated with an accelerator circuit;

create a shadow copy of boot firmware code in the HDM;

execute one or more boot instructions in the shadow copy of the boot firmware code, the one or more boot instructions to be executed in parallel with the initialization of the system memory;

assign the initialization of the system memory to a processor core; and

generate a memory map based on memory information associated with the one or more boot instructions and a completion of the initialization of the system memory by the processor core.

8 . The semiconductor apparatus of claim 7 , wherein the logic circuitry is to confirm that the HDM supports operation of the HDM as the temporary proxy before initializing the HDM as the temporary proxy.

9 . The semiconductor apparatus of claim 8 , wherein to confirm that the HDM supports operation of the HDM as the temporary proxy, the logic circuitry is to detect one or more of a hardware initialization flag in the accelerator circuit or an identifier in a white list, the identifier corresponding to the accelerator circuit.

10 . The semiconductor apparatus of claim 7 , wherein to initialize the HDM as the temporary proxy, the logic circuitry is to enable a memory mode in the HDM.

11 . The semiconductor apparatus of claim 7 , wherein the one or more boot instructions include driver execution environment phase instructions.

12 . The semiconductor apparatus of claim 7 , wherein the logic circuitry includes transistor channel regions that are positioned within the one or more substrates.

13 . The semiconductor apparatus of claim 7 , wherein the logic circuitry is to:

enumerate at least one device coupled to the logic circuitry via at least one port, the at least one device including the accelerator circuit; and

based on confirming that the accelerator circuit supports operation of the HDM as the temporary proxy, initialize the HDM as the temporary proxy.

14 . At least one computer readable storage medium comprising instructions to cause a host processor circuit to:

initialize host-managed device memory (HDM) as a temporary proxy for system memory until the system memory is initialized, the HDM associated with an accelerator circuit;

create a shadow copy of boot firmware code in the HDM;

execute one or more boot instructions in the shadow copy of the boot firmware code, the one or more boot instructions to be executed before an initialization of the system memory;

detect a completion of the initialization of the system memory by an operating system (OS); and

update a memory map based on memory information associated with the one or more boot instructions and the completion of the initialization of the system memory by the OS.

15 . The at least one computer readable storage medium of claim 14 , wherein the instructions cause the host processor circuit to confirm that the HDM supports operation of the HDM as the temporary proxy before initializing the HDM as the temporary proxy.

16 . The at least one computer readable storage medium of claim 15 , wherein to confirm that the HDM supports operation of the HDM as the temporary proxy, the instructions cause the host processor circuit to detect one or more of a hardware initialization flag in the accelerator circuit or an identifier in a white list, the identifier corresponding to the accelerator circuit.

17 . The at least one computer readable storage medium of claim 14 , wherein to initialize the HDM as the temporary proxy, the instructions cause the host processor circuit to enable a memory mode in the HDM.

18 . The at least one computer readable storage medium of claim 14 , wherein the one or more boot instructions include driver execution environment phase instructions.

19 . The at least one computer readable storage medium of claim 14 , wherein the instructions cause the host processor circuit to:

enumerate at least one device coupled to the host processor circuit via at least one port, the at least one device including the accelerator circuit; and

based on confirming that the accelerator circuit supports operation of the HDM as the temporary proxy, initialize the HDM as the temporary proxy.

20 . A method comprising:

initializing, by executing an instructions with a host processor circuit, host-managed device memory (HDM) as a temporary proxy for system memory until the system memory is initialized, the HDM associated with an accelerator circuit;

creating, by executing an instruction with the host processor circuit, a shadow copy of boot firmware code in the HDM;

executing, with the host processor circuit, one or more boot instructions in the shadow copy of the boot firmware code, the one or more boot instructions executed in parallel with the initialization of the system memory;

assigning, by executing an instruction with the host processor circuit, the initialization of the system memory to a processor core; and

generating, by executing an instruction with the host processor circuit, a memory map based on memory information associated with the one or more boot instructions and a completion of the initialization of the system memory by the processor core.

21 . The method of claim 20 , including confirming that the HDM supports operation of the HDM as the temporary proxy before initializing the HDM as the temporary proxy.

22 . The method of claim 21 , wherein confirming that the HDM supports operation of the HDM as the temporary proxy includes detecting one or more of a hardware initialization flag in the accelerator circuit or an identifier in a white list, the identifier corresponding to the accelerator circuit.

23 . The method of claim 20 , wherein initializing the HDM as the temporary proxy includes enabling a memory mode in the HDM.

24 . The method of claim 20 , wherein the one or more boot instructions include driver execution environment phase instructions.

25 . The method of claim 20 , including:

enumerating at least one device coupled to the host processor circuit via at least one port, the at least one device including the accelerator circuit; and

based on confirming that the accelerator circuit supports operation of the HDM as the temporary proxy, initialize the HDM as the temporary proxy.

Continuity (1)
Related Publication 20230176735A1 · Jun 8, 2023
References Cited (15)
US 20080005549A1 · Ke · 2008 [cited by applicant]
US 20090158023A1 · Kern · 2009 [cited by examiner]
US 20130326206A1 · Lueck et al. · 2013 [cited by applicant]
US 20150310044A1 · Isaacson · 2015 [cited by examiner]
US 20160117225A1 · Yu · 2016 [cited by examiner]
US 20170052896A1 · Nachimuthu et al. · 2017 [cited by applicant]
US 20170371834A1 · Pignatelli · 2017 [cited by examiner]
US 20190042279A1 · Rothman · 2019 [cited by examiner]
US 20190050335A1 · Natu et al. · 2019 [cited by applicant]
US 20210373790A1 · Henderson · 2021 [cited by examiner]
CN 101097522A · 2008 [cited by applicant]
CN 104115136A · 2014 [cited by applicant]
CN 110659221A · 2020 [cited by applicant]
International Search Report and Written Opinion for Application No. PCT/CN2020/091722, mailed Feb. 22, 2021, 9 pages. [cited by applicant]
Compute Express Link Consortium, Inc., “Compute ExPress Link”, Jun. 2019, Revision 1.1, 250 pages. [cited by applicant]