Firmware access agent for computing device
A method for firmware access on a computing device includes, at a firmware access agent of the computing device, receiving a read request for firmware instructions from a hardware logic component of the computing device. The read request is generated as part of a boot sequence of the hardware logic component, and is received via a data interface communicatively coupling the hardware logic device and the firmware access agent. The firmware access agent retrieves the firmware instructions over a computer network from a remote firmware storage system separate from the computing device. The firmware instructions are provided to the hardware logic component via the data interface, such that the hardware logic component executes the firmware instructions and continues the boot sequence.
1 . A method for firmware access on a computing device, the method comprising:
at a firmware access agent of the computing device, receiving a read request for firmware instructions from a hardware logic component of the computing device, the read request generated as part of a boot sequence of the hardware logic component, and the read request received via a data interface communicatively coupling the hardware logic device and the firmware access agent;
retrieving, via the firmware access agent over a computer network, the firmware instructions from a remote firmware storage system of a remote server computing device that is separate from the computing device, wherein the computer network includes at least one of a local area network (LAN) and a wide area network (WAN); and
providing the firmware instructions from the firmware access agent to the hardware logic component via the data interface, such that the hardware logic component executes the firmware instructions and continues the boot sequence.
2 . The method of claim 1 , wherein the hardware logic component is one of two or more hardware logic components of the computing device, and wherein the firmware access agent retrieves separate sets of firmware instructions for each of the two or more hardware logic components from the remote firmware storage system.
3 . The method of claim 2 , wherein each of the two or more hardware logic components are communicatively coupled with the firmware access agent via different respective data interfaces.
4 . The method of claim 1 , wherein the data interface is associated with an interface identifier, and wherein the firmware instructions are retrieved from the remote firmware storage system based at least in part on the interface identifier.
5 . The method of claim 4 , wherein the interface identifier corresponds to one or more physical pins of the firmware access agent to which the data interface is connected.
6 . The method of claim 1 , wherein the firmware access agent includes a cache, and wherein the firmware instructions are retrieved from the remote firmware storage system based at least in part on a determination that the firmware instructions are not already stored in the cache.
7 . The method of claim 6 , wherein the cache is organized as two or more cache slices used for caching firmware instructions corresponding to two or more hardware logic components of the computing device.
8 . The method of claim 6 , further comprising receiving a second read request for second firmware instructions from a second hardware logic component of the computing device, determining that the second firmware instructions are cached in the cache of the firmware access agent, and providing the second firmware instructions to the second hardware logic component from the cache.
9 . The method of claim 1 , further comprising, at the firmware access agent of the computing device, receiving a write request to modify the firmware instructions from the hardware logic component, and transmitting the write request to the remote firmware storage system.
10 . The method of claim 1 , wherein retrieving the firmware instructions from the remote firmware storage system over the computer network includes:
at a communication interface of the computing device, receiving a firmware request from the firmware access agent;
packetizing the firmware request into one or more network data packets;
transmitting the one or more network data packets over the computer network to the remote server computing device; and
receiving the firmware instructions over the computer network from the remote server computing device.
11 . The method of claim 1 , wherein the computing device is one of two or more computing devices serviced by the remote firmware storage system, such that the remote firmware storage system stores respective sets of firmware instructions accessible to each of the two or more computing devices.
12 . The method of claim 1 , wherein the computer network includes the WAN.
13 . A computing device, comprising:
a hardware logic component; and
a firmware access agent configured to:
receive a read request for firmware instructions from the hardware logic component, the read request generated as part of a boot sequence of the hardware logic component, and the read request received via a data interface communicatively coupling the hardware logic device and the firmware access agent;
retrieve the firmware instructions over a computer network from a remote firmware storage system of a remote server computing device that is separate from the computing device, wherein the computer network includes at least one of a local area network (LAN) and a wide area network (WAN); and
provide the firmware instructions from the firmware access agent to the hardware logic component via the data interface, such that the hardware logic component executes the firmware instructions and continues the boot sequence.
14 . The computing device of claim 13 , wherein the hardware logic component is one of two or more hardware logic components of the computing device, and wherein the firmware access agent retrieves separate sets of firmware instructions for each of the two or more hardware logic components from the remote firmware storage system.
15 . The computing device of claim 13 , wherein the data interface is associated with an interface identifier, and wherein the firmware instructions are retrieved from the remote firmware storage system based at least in part on the interface identifier.
16 . The computing device of claim 13 , wherein retrieving the firmware instructions from the remote firmware storage system over the computer network includes:
at a communication interface of the computing device, receiving a firmware request from the firmware access agent;
packetizing the firmware request into one or more network data packets;
transmitting the one or more network data packets over the computer network to the remote server computing device; and
receiving the firmware instructions over the computer network from the remote server computing device.
17 . The computing device of claim 13 , wherein the computer network includes the WAN.
18 . A method for firmware access on a computing device, the method comprising:
at a firmware access agent of the computing device, receiving a read request for firmware instructions from a hardware logic component of the computing device, the read request generated as part of a boot sequence of the hardware logic component, and the read request received via a serial peripheral interface (SPI) bus communicatively coupling the hardware logic device and the firmware access agent;
retrieving, via the firmware access agent over a computer network, the firmware instructions from a remote firmware storage system of a remote server computing device that is separate from the computing device, wherein the computer network includes at least one of a local area network (LAN) and a wide area network (WAN);
providing the firmware instructions from the firmware access agent to the hardware logic component via the data interface, such that the hardware logic component executes the firmware instructions and continues the boot sequence;
at the firmware access agent, receiving a second read request for second firmware instructions from a second hardware logic component of the computing device, the second read request received via a second SPI bus communicatively coupling the second hardware logic device and the firmware access agent; and
providing the second firmware instructions to the second hardware logic component via a cache of the firmware access agent.
19 . The method of claim 18 , wherein retrieving the firmware instructions from the remote firmware storage system over the computer network includes:
at a communication interface of the computing device, receiving a firmware request from the firmware access agent;
packetizing the firmware request into one or more network data packets;
transmitting the one or more network data packets over the computer network to the remote server computing device; and
receiving the firmware instructions over the computer network from the remote server computing device.
20 . The method of claim 18 , wherein the computer network includes the WAN.