IP Library › Granted Patent US 12,306,952
Granted Patent B2
US 12,306,952 · App. 17/793,664 · Granted May 20, 2025

Component access to ROM-stored firmware code over firmware controller exposed virtual ROM link

Inventors: Glen Douglas Dower (Fort Collins, CO); Peter Seiler (Fort Collins, CO)
Assignee: Hewlett-Packard Development Company, L.P.
G06F21/575G06F21/572G06F2221/033
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,306,952
App. No.
17/793,664
Granted
May 20, 2025
Kind
B2
Abstract

A read-only memory (ROM) stores firmware code for a hardware component. A firmware controller is directly physically connected to the hardware component and to the ROM. The firmware controller exposes a virtual ROM link to the hardware component. The hardware component accesses the firmware code over the virtual ROM link exposed by the firmware controller.

Claims (52)

1. A computing device comprising:

a hardware component;

a read-only memory (ROM) storing firmware code for the hardware component and second firmware code for a second hardware component; and

a firmware controller directly physically connected to the hardware component, the second hardware component, and the ROM, the firmware controller to expose (i) a virtual ROM link to the hardware component over which the hardware component is to access the firmware code and (ii) a second virtual ROM link to the second hardware component over which the second hardware component is to access the second firmware code,

wherein the firmware controller is to:

perform secure boot authentication of the firmware code stored on the ROM prior to permitting the hardware component to access the firmware code over the virtual ROM link;

perform secure boot authentication of the second firmware code stored on the ROM prior to permitting the second hardware component to access the second firmware code over the second virtual ROM link;

control starting of the hardware component so that the hardware component remains unstarted until the firmware controller has successfully performed the secure boot authentication of the firmware code;

control starting of the second hardware component so that the second hardware component remains unstarted until the firmware controller has successfully performed the secure boot authentication of the second firmware code; and

stagger starting of the hardware component and the second hardware component as the firmware controller successfully performs the secure boot authentication of the firmware code and the secure boot authentication of the second firmware code.

2. The computing device of claim 1 , wherein the hardware component accesses the firmware code over the virtual ROM link as if the hardware component were directly physically connected to the ROM,

and wherein the hardware component is not directly physically connected to the ROM.

3. The computing device of claim 1 , wherein the virtual ROM link mimics a direct physical connection between the hardware component and the ROM,

and wherein the hardware component is not directly physically connected to the ROM.

4. The computing device of claim 1 , further comprising a plurality of physical lines between the firmware controller and the hardware component and the second hardware component and shared by the hardware component and the second hardware component,

wherein the firmware controller exposes the virtual ROM link and the second virtual ROM link to the hardware component and the second hardware component, respectively, over the plurality of physical lines.

5. The computing device of claim 1 , further comprising:

a plurality of first physical lines between the firmware controller and the hardware component over which the firmware controller exposes the virtual ROM link; and

a plurality of second physical lines between the firmware controller and the second hardware component over which the firmware controller exposes the second virtual ROM link,

wherein the second hardware component is not connected to any of the plurality of first physical lines and the hardware component is not connected to any of the plurality of second physical lines.

6. The computing device of claim 1 , wherein the firmware controller comprises:

a first processing core that exposes the virtual ROM link to the hardware component; and

a second processing core that exposes the second virtual ROM link to the second hardware component.

7. The computing device of claim 1 , wherein the computing device further comprises a mainboard on which the hardware component, the ROM, and the firmware controller are disposed as respective integrated circuits (ICs).

8. A computing device comprising:

a hardware component;

a read-only memory (ROM) storing firmware code for the hardware component and second firmware code for a second hardware component; and

a firmware controller directly physically connected to the hardware component, the second hardware component, and the ROM, the firmware controller to expose (i) a virtual ROM link to the hardware component over which the hardware component is to access the firmware code and (ii) a second virtual ROM link to the second hardware component over which the second hardware component is to access the second firmware code,

wherein the firmware controller is to:

perform secure boot authentication of the firmware code stored on the ROM prior to permitting the hardware component to access the firmware code over the virtual ROM link;

perform secure boot authentication of the second firmware code stored on the ROM prior to permitting the second hardware component to access the second firmware code over the second virtual ROM link;

restrict starting of the hardware component until the firmware controller has successfully performed the secure boot authentication of the firmware code;

restrict starting of the second hardware component until the firmware controller has successfully performed the secure boot authentication of the second firmware code; and

stagger starting of the hardware component and the second hardware component after the firmware controller successfully performs the secure boot authentication of the firmware code and the secure boot authentication of the second firmware code.

9. The computing device of claim 8 , wherein the hardware component accesses the firmware code over the virtual ROM link as if the hardware component were directly physically connected to the ROM, and wherein the hardware component is not directly physically connected to the ROM.

10. The computing device of claim 8 , wherein the virtual ROM link mimics a direct physical connection between the hardware component and the ROM, and wherein the hardware component is not directly physically connected to the ROM.

11. The computing device of claim 8 , wherein the firmware controller is to perform secure boot authentication of the firmware code prior to permitting the hardware component to access the firmware code over the virtual ROM link.

12. The computing device of claim 8 , wherein the firmware controller is to perform secure boot authentication of the second firmware code prior to permitting the second hardware component to access the second firmware code over the second virtual ROM link.

13. A firmware controller comprising:

a plurality of component terminals to directly physically connect the firmware controller to a hardware component and a second hardware component;

a plurality of read-only memory (ROM) terminals to directly physically connect the firmware controller to a ROM storing firmware code for the hardware component and second firmware code for the second hardware component; and

hardware logic to expose (i) a virtual ROM link to the hardware component over which the hardware component is to access the firmware code and (ii) a second virtual ROM link to the second hardware component over which the second hardware component is to access the second firmware code,

wherein the firmware controller is to:

perform secure boot authentication of the firmware code stored on the ROM prior to permitting the hardware component to access the firmware code over the virtual ROM link;

perform secure boot authentication of the second firmware code stored on the ROM prior to permitting the second hardware component to access the second firmware code over the second virtual ROM link;

control starting of the hardware component so that the hardware component remains unstarted until the firmware controller has successfully performed the secure boot authentication of the firmware code;

control starting of the second hardware component so that the second hardware component remains unstarted until the firmware controller has successfully performed the secure boot authentication of the second firmware code; and

stagger starting of the hardware component and the second hardware component as the firmware controller successfully performs the secure boot authentication of the firmware code and the secure boot authentication of the second firmware code.

14. The firmware controller of claim 13 , wherein the hardware component accesses the firmware code over the virtual ROM link as if the hardware component were directly physically connected to the ROM, and wherein the hardware component is not directly physically connected to the ROM.

15. The firmware controller of claim 13 , wherein the virtual ROM link mimics a direct physical connection between the hardware component and the ROM, and wherein the hardware component is not directly physically connected to the ROM.

16. The firmware controller of claim 13 , wherein the hardware logic is to perform secure boot authentication of the firmware code prior to permitting the hardware component to access the firmware code over the virtual ROM link.

17. The firmware controller of claim 13 , wherein the hardware logic is to perform secure boot authentication of the second firmware code prior to permitting the second hardware component to access the second firmware code over the second virtual ROM link.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2022
From: DOWER, GLEN DOUGLAS; SEILER, PETER
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 060541/0781 →
Continuity (1)
Related Publication 20230049419A1 · Feb 16, 2023
References Cited (16)
US 7603562B2 · Flynn · 2009 [cited by examiner]
US 7774596B2 · Flynn · 2010 [cited by applicant]
US 9189631B2 · Liu · 2015 [cited by examiner]
US 9419897B2 · Cherian · 2016 [cited by examiner]
US 10282185B2 · Leonelli · 2019 [cited by examiner]
US 12008359B2 · Jayakumar · 2024 [cited by examiner]
US 20090327738A1 · Flynn · 2009 [cited by examiner]
US 20110296408A1 · Lo · 2011 [cited by examiner]
US 20140101424A1 · Krishnamurthy · 2014 [cited by examiner]
US 20140379923A1 · Oberg · 2014 [cited by examiner]
US 20160293274A1 · Schuh et al. · 2016 [cited by applicant]
US 20170039053A1 · Siluvainathan · 2017 [cited by examiner]
US 20190253264A1 · Singaravelu et al. · 2019 [cited by applicant]
US 20210248238A1 · Chen · 2021 [cited by examiner]
US 20210312056A1 · Kloth · 2021 [cited by examiner]
US 20210326431A1 · Zhang · 2021 [cited by examiner]