# US 12,001,826 B2 · Device firmware update techniques

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,826 B2
- Document ID: US12001826B2
- Status: Granted
- Kind: B2
- Application number: 16/858,504
- Filed: 2020-04-24
- Published: 2020-08-13
- Granted: 2024-06-04
- Earliest claimed: 2020-04-24
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Kevin Liedtke; James R. Hearn; Scott P. Dubal; Jeffery Oliver; Patrick J. Mclaughlin; Sharada Ashok Shiddibhavi; Daniel K. Osawa; Kelly J. Couch; Maciej Plucinski
- Web page: https://patentgrep.com/patent/US12001826B2

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 21/572: {Secure firmware programming, e.g. of basic input output system [BIOS]}
- G06F 2221/033: Test or assess software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Examples described herein relate to a network interface receiving a firmware update from one or more packets. In some examples, the one or more packets indicate a start of a firmware update. In some examples, the network interface can also perform authenticating the start of firmware update indication and based on authentication of the firmware update, permit a firmware update of a device. In some examples, the device is one or more of: Board Management Controller (BMC), central processing unit (CPU), network interface, Ethernet controller, storage controller, memory controller, display engine, graphics processing unit (GPU), accelerator device, or peripheral device. In some examples, an end of firmware update indicator is received in the one or more packets. In some examples, communications are maintained through a port during a firmware change.

## Claims

### Claim 1

A method comprising:
at a network interface, receiving a firmware update for the network interface in one or more packets;
storing the firmware update in a firmware memory region for access;
selecting a first interface for use to access the firmware update and connect to a network interface port; and
de-selecting a second interface that uses a current firmware from connection to the network interface port.

### Claim 2 (depends on 1)

The method of claim 1, comprising:
authenticating the firmware update and
based on authentication of the firmware update, permitting the firmware update of the network interface.

### Claim 3 (depends on 1)

The method of claim 1, comprising:
at the network interface, receiving the firmware update for a device in one or more packets, wherein the device comprises one or more of: a Board Management Controller (BMC), a central processing unit (CPU), a storage controller, a memory controller, a display engine, a graphics processing unit (GPU), an accelerator device, or a peripheral device;
authenticating the firmware update for the device; and
based on authentication of the firmware update for the device, permitting a firmware update of the device.

### Claim 4 (depends on 1)

The method of claim 1, comprising:
indicating a status of the firmware update as either successful or unsuccessful at a network address.

### Claim 5 (depends on 1)

The method of claim 1, comprising maintaining communication using the network interface port during a firmware change.

### Claim 6 (depends on 1)

The method of claim 1, wherein the network interface port is allocated for manageability communications, the manageability communications comprising one or more of: heartbeat packets, probe messages, telemetry collection, and various keep alive packets, Address Resolution Protocol (ARP) messages, acknowledgements (ACKs), or neighbor solicitation.

### Claim 7 (depends on 1)

The method of claim 1, comprising:
initiating transmission of the firmware update from a remote trusted source; and
storing the received firmware update into a volatile memory device.

### Claim 8 (depends on 7)

The method of claim 7, comprising:
one or more devices accessing firmware from the volatile memory device, the one or more devices comprising one or more of: a Board Management Controller (BMC), a central processing unit (CPU), the network interface, a storage controller, a memory controller, a display engine, a graphics processing unit (GPU), an accelerator device, or a peripheral device.

### Claim 9 (depends on 7)

The method of claim 7, comprising:
erasing the firmware update from the volatile memory device based on removal of power from the volatile memory device.

### Claim 10

An apparatus comprising:
a network interface comprising an interface and circuitry to:
receive a firmware update for the network interface from one or more packets store the firmware update in a firmware memory region for access;
select a first interface for use to access the firmware update and connect to a network interface port; and
de-select a second interface that uses a current firmware from connection to the network interface port.

### Claim 11 (depends on 10)

The apparatus of claim 10, comprising at least one processor to:
authenticate the firmware update and
based on authentication of the firmware update, permit an update of firmware of the network interface.

### Claim 12 (depends on 10)

The apparatus of claim 10, comprising at least one processor and wherein
the network interface is to receive the firmware update for a device in one or more packets, wherein the device comprises one or more of: a Board Management Controller (BMC), a central processing unit (CPU), a storage controller, a memory controller, a display engine, a graphics processing unit (GPU), an accelerator device, or a peripheral device;
the at least one processor is to authenticate the firmware update for the device; and
based on authentication of the firmware update for the device, the at least one processor is to permit a firmware update of the device.

### Claim 13 (depends on 10)

The apparatus of claim 10, comprising at least one processor to:
indicate a status of the firmware update as either successful or unsuccessful at a network address.

### Claim 14 (depends on 10)

The apparatus of claim 10, wherein the network interface is to maintain communication using the network interface port during a change of firmware.

### Claim 15 (depends on 10)

The apparatus of claim 10, wherein the network interface port is allocated for manageability communications, the manageability communications comprising one or more of: heartbeat packets, probe messages, telemetry collection, and various keep alive packets, Address Resolution Protocol (ARP) messages, acknowledgements (ACKs), or neighbor solicitation.

### Claim 16 (depends on 10)

The apparatus of claim 10, comprising at least one processor to:
initiate transmission of the firmware update from a remote trusted source; and
store the received firmware update into a volatile memory device.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein one or more devices are to access the firmware update from the volatile memory device, the one or more devices comprising: a Board Management Controller (BMC), a central processing unit (CPU), the network interface, a storage controller, a memory controller, a display engine, a graphics processing unit (GPU), an accelerator device, or a peripheral device.

### Claim 18 (depends on 17)

The apparatus of claim 17, comprising circuitry to erase the firmware update from the volatile memory device based on removal of power to the volatile memory device.

### Claim 19 (depends on 10)

The apparatus of claim 10, comprising a server, data center, or rack, wherein the server, data center, or rack are coupled to the network interface and wherein the server, data center, or rack comprise circuitry to utilize the firmware update.
