Remote access controller device update system

A remote access controller device update system includes a memory system that is configured to store a BIOS firmware image including BIOS code and first remote access controller information. A BIOS is coupled to the memory system and is configured to utilize BIOS code stored on the memory system. A remote access controller device is coupled to the memory system and is configured to determine that the BIOS firmware image is stored in the memory system, and identify the first remote access controller information included in the BIOS firmware image. The remote access controller device then determines that the first remote access controller information provides an update to second remote access controller information stored on the remote access controller device and, in response, stores the first remote access controller information on the remote access controller device and performs at least one operation using the first remote access controller information.

BACKGROUND

The present disclosure relates generally to information handling systems, and more particularly to updating remote access controller devices used in information handling systems.

Information handling systems such as server devices and/or other computing devices known in the art, are sometimes provided with remote access controller devices such as, for example, the integrated DELL® Remote Access Controller (iDRAC) available in server devices provided by DELL® Inc. of Round Rock, Tex., United States. Conventional remote access controller devices may be provided across server device platforms using a common remote access controller firmware that is utilized by remote access controller devices included in any of the server devices in any of the server device platforms. For example, the remote access controller firmware discussed above may be provided via a binary file that includes code and server-device-platform-specific tables that are utilized by the remote access controller devices, with the server-device-platform-specific tables provided for different server-device-platform-specific topologies (e.g., thermal tables for one or more server device platform topologies, General Purpose Input/Output (GPIO) map tables for one or more server device platform topologies, sensor tables for one or more server device platform topologies, fan tables for one or more server device platform topologies, power parameter tables for one or more server device platform topologies, Peripheral Component Interconnect (PCI) tables for one or more server device platform topologies, etc.), and utilized by the remote access controller devices depending on the particular server device platform of the server device they are included in. However, the provisioning of server-device-platform tables in the remote access controller firmware can raise some issues.

For example, the inclusion of thermal tables for one or more server-device-platform topologies in the remote access controller firmware may require the development and release of new remote access controller firmware each time a new server device platform is developed (or an existing server device platform is modified) in a manner that requires new thermal tables for the new server device platform topology provided in that new server device platform. In a specific example, the modification of processing system configurations across one or more server device platforms (e.g., to utilize different numbers of cores, provide different processing system Thermal Design Powers (TDPs), and/or other processing system configuration modifications known in the art) may require the development and release of new/modified remote access controller firmware with new thermal tables that allow the remote access controller devices to support those processing system configurations (e.g., even when those processing system modifications do not provide any user-recognizable feature changes). As will be appreciated by one of skill in the art, the development, testing, validation, and release of new/modified remote access controller firmware can take several months, which is relatively time and resource intensive for remote access controller firmware that would otherwise be updated approximately once or twice per year.

Accordingly, it would be desirable to provide remote access controller device update system that addresses the issues discussed above.

SUMMARY

According to one embodiment, an Information Handling System (IHS) includes a remote access controller processing system; and a remote access controller memory system that is coupled to the remote access controller processing system and that includes instructions that, when executed by the remote access controller processing system, cause the remote access controller processing system to provide a remote access controller engine that is configured to: determine that a Basic Input/Output System (BIOS) firmware image is stored in a BIOS memory system; identify first remote access controller information that is included in the BIOS firmware image; determine that the first remote access controller information provides an update to second remote access controller information that is stored on a remote access controller database; store, in response determining that the first remote access controller information provides the update to the second remote access controller information, the first remote access controller information on the remote access controller database; and perform at least one operation using the first remote access controller information.

DETAILED DESCRIPTION

Referring now toFIG. 2, an embodiment of a networked system200is illustrated. In the illustrated embodiment, the networked system200includes a plurality of server devices202a,202b, and up to202c, any of which may utilize the remote access controller device update system of the present disclosure. In an embodiment, any or all of the server devices202a-202cmay be provided by the IHS100discussed above with reference toFIG. 1, and/or may include some or all of the components of the IHS100. However, while illustrated and discussed as being provided by server devices, one of skill in the art in possession of the present disclosure will recognize that a variety of computing devices may be provided in the networked system200and may operate similarly as the server devices202a-202cdiscussed below to utilize the remote access controller device update system of the present disclosure. In the illustrated embodiment, each of the server devices202a-202care coupled to a network204such as, for example, a Local Area Network (LAN), the Internet, combinations thereof, and/or any other network that would be apparent to one of skill in the art in possession of the present disclosure. Furthermore, an update management system206is coupled to the network204and, as discussed in the specific examples provided below, operates to provide updates to the server devices202a-202c. However, while the updates discussed below are described as BIOS firmware updates and remote access controller information updates, one of skill in the art in possession of the present disclosure will appreciate that remote access controller devices may be updated as part of a variety other types of updates as discussed below using the remote access controller device update system of the present disclosure. A such, while a specific networked system200has been illustrated and described, one of skill in the art in possession of the present disclosure will recognize that the remote access controller device update system of the present disclosure may include a variety of components and component configurations while remaining within the scope of the present disclosure as well.

Referring now toFIG. 3, an embodiment of a server device300is illustrated that may provide any or all of the server devices202a-202cdiscussed above with reference toFIG. 2. As such, the server device300may be provided by the IHS100discussed above with reference toFIG. 1and/or may include some or all of the components of the IHS100. Furthermore, while illustrated and discussed as being provided by a server device300, one of skill in the art in possession of the present disclosure will recognize that the functionality of the server device300discussed below may be provided by other computing devices that are configured to operate similarly as the server device300discussed below. In the illustrated embodiment, the server device300includes a chassis302that houses the components of the server device300, only some of which are illustrated below. For example, the chassis302may house a Basic Input/Output System (BIOS) processing system (not illustrated, but which may include the processor102discussed above with reference toFIG. 1) and a BIOS memory system (not illustrated, but which may include the memory114discussed above with reference toFIG. 1) that is coupled to the BIOS processing system and that includes instructions that, when executed by the BIOS processing system, cause the BIOS processing system to provide a BIOS304that is configured to perform the functionality of the BIOS and/or server devices discussed below.

The chassis302may also house a remote access controller device306that may be provided by an integrated DELL® Remote Access Controller (iDRAC) available from DELL® Inc. of Round Rock, Tex., United States, a Baseboard Management Controller (BMC), and/or other remote access controller systems that would be apparent to one of skill in the art in possession of the present disclosure. As such, the remote access controller device306may provide an out-of-band management platform for the server device300, and may be included on a separate expansion card in the server device300, integrated into a motherboard in the server device306, and/or in a variety of other manners that provide the remote access controller device306with resources that are separate from the rest of the server device300, a browser-based and/or command-line interface for managing and monitoring the server device300, and/or other remote access controller functionality that would be apparent to one of skill in the art in possession of the present disclosure. In some embodiments, the remote access controller device306may be provided by the IHS100discussed above with reference toFIG. 1and/or may include some or all of the components of the IHS100. As illustrated inFIG. 3and discussed below, the BIOS304may be coupled to the remote access controller device306via a communication channel307that may be provided by a Shared Memory Architecture (SMA) interface and/or other communication channels known in the art.

The chassis302may also include a secondary memory system that is illustrated and described below as being provided by a Serial Peripheral Interface (SPI) memory system308that one of skill in the art in possession of the present disclosure will recognize may be provided by a BIOS memory system such as a BIOS SPI ROM/flash memory, although one of skill in the art in possession of the present disclosure will recognize that other types of memory systems that operate similarly to the SPI memory system308discussed below will fall within the scope of the present disclosure as well. As illustrated, each of the BIOS304and the remote access controller device306may be coupled to the SPI memory system308via communication channels309aand309b, respectively, that may be provided by SPI interfaces and/or other direct access communication channels known in the art.

The chassis302may also house a communication system310that is coupled to the SPI memory system308and that may be provided by a Network Interface Controller (NIC), wireless communication systems (e.g., BLUETOOTH®, Near Field Communication (NFC) components, WiFi components, etc.), and/or any other communication components that one of skill in the art in possession of the present disclosure would recognize allows information to be provided on the SPI memory system308via the network204discussed above with reference toFIG. 2. However, while remote access controller information is discussed below as being provided on the SPI memory system308remotely vis the network204, one of skill in the art in possession of the present disclosure will recognize that remote access controller information may be provided on the SPI memory system308in other manners that will fall within the scope of the present disclosure as well. Thus, while a specific server device300has been illustrated, one of skill in the art in possession of the present disclosure will recognize that server devices (or other devices operating according to the teachings of the present disclosure in a manner similar to that described below for the server device300) may include a variety of components and/or component configurations for providing conventional server device functionality, as well as the functionality discussed below, while remaining within the scope of the present disclosure as well.

Referring now toFIG. 4, an embodiment of a remote access controller device400is illustrated that may provide the remote access controller device306discussed above with reference toFIG. 3. As such, the remote access controller device300may be provided by the IHS100discussed above with reference toFIG. 1and/or may include some or all of the components of the IHS100, and in specific examples may be provided by an iDRAC available from DELL® Inc. of Round Rock, Tex., United States, a BMC, and/or other remote access controller systems that would be apparent to one of skill in the art in possession of the present disclosure. Furthermore, while illustrated and discussed as being provided by specific remote access controller devices, one of skill in the art in possession of the present disclosure will recognize that the functionality of the remote access controller device400discussed below may be provided by other devices that are configured to operate similarly as the remote access controller device400discussed below. In the illustrated embodiment, the remote access controller device400includes a chassis402that houses or supports the components of the remote access controller device400, only some of which are illustrated below. For example, the chassis402may be provided by a card or other circuit board that may be coupled to a motherboard in the server device300, may be part of (or integrated into) a motherboard in the server device300, and/or provided in a variety of other manners that will fall within the scope of the present disclosure.

As illustrated inFIG. 4, the chassis402may also house or support a remote access controller processing system (not illustrated, but which may include the processor102discussed above with reference toFIG. 1) and a remote access controller memory system (not illustrated, but which may include the memory114discussed above with reference toFIG. 1) that is coupled to the remote access controller processing system and that includes instructions that, when executed by the remote access controller processing system, cause the remote access controller processing system to provide a remote access controller engine404that is configured to perform the functionality of the remote access controller engines and/or remote access controller devices discussed below. The chassis402may also house a storage system (not illustrated, but which may include the storage108discussed above with reference toFIG. 1) that is coupled to the remote access controller engine404(e.g., via a coupling between the storage system and the processing system) and that includes a remote access controller database406that is configured to store any of the information utilized by the remote access controller engine404discussed below.

The chassis402may also house a communication system408that is coupled to the remote access controller engine404(e.g., via a coupling between the communication system408and the processing system) and that may be provided by a Network Interface Controller (NIC), wireless communication systems (e.g., BLUETOOTH®, Near Field Communication (NFC) components, WiFi components, etc.), and/or any other communication components that one of skill in the art in possession of the present disclosure would recognize as providing access to the SRI memory system308discussed above with reference toFIG. 3. However, while a specific remote access controller device400has been illustrated, one of skill in the art in possession of the present disclosure will recognize that remote access controller devices (or other devices operating according to the teachings of the present disclosure in a manner similar to that described below for the remote access controller device400) may include a variety of components and/or component configurations for providing conventional remote access controller device functionality, as well as the functionality discussed below, while remaining within the scope of the present disclosure as well.

Referring now toFIG. 5, an embodiment of a method500for updating a remote access controller device is illustrated. As discussed below, the systems and methods of the present disclosure provide remote access controller information updates for a remote access controller device as part of more regularly released BIOS information updates. For example, the remote access controller device update system of the present disclosure may include a memory system that is configured to store a BIOS firmware image that includes BIOS code and first remote access controller information. A BIOS is coupled to the memory system and is configured to utilize BIOS code that is stored on the memory system. A remote access controller device is coupled to the memory system and is configured to determine that the BIOS firmware image is stored in the memory system, and identify the first remote access controller information included in the BIOS firmware image. The remote access controller device then determines that the first remote access controller information provides an update to second remote access controller information that is stored on the remote access controller device and, in response, stores the first remote access controller information on the remote access controller device and performs at least one operation using the first remote access controller information. Thus, updates may be provided for remote access controller devices without the need to develop and release new remote access controller firmware each time an update of the remote access controller device is required.

The method500begins at block502where a remote access controller device determines that a BIOS firmware image is stored on a BIOS memory system. In an embodiment, at block502, a BIOS firmware image may be provided on a secondary memory system in a server device. As will be appreciated by one of skill in the art in possession of the present disclosure, BIOS firmware updates are often developed and released for the BIOS included in server devices at relatively regular intervals, particular when compared to remote access controller updates that are developed and released for remote access controller devices in those server devices. As such, BIOS firmware images that include those BIOS firmware updates may be provided to server devices for use in updating the BIOS firmware utilized to provide the BIOS in those server devices. For example,FIG. 6Aillustrates how the update management system206may perform BIOS firmware update operations600that include transmitting a BIOS firmware image via the network204to the server device202a. However, while the BIOS firmware image is illustrated and described as being provided on the server device202avia the network202a, one of skill in the art in possession of the present disclosure will recognize that BIOS firmware images may be provided on server devices in a variety of manners that will fall within the scope of the present disclosure as well.

As illustrated inFIG. 6B, the BIOS firmware update operations600may include the communication system308in the server device202a/300receiving the BIOS firmware image transmitted by the firmware management system206, and that BIOS firmware image then being stored in the SPI memory system308. With reference toFIG. 6C, an embodiment of a BIOS firmware image602that may be provided on the SPI memory system308via the BIOS firmware update operations600is illustrated, and includes a BIOS Image Information Block (IIB) structure604, BIOS code606that provides the BIOS firmware update, and remote access controller information608that, as discussed in the specific examples provided below, may include updated server-device-platform-specific tables and/or software patch(es) for use by the remote access controller device306. As will be appreciated by one of skill in the art in possession of the present disclosure, the BIOS code606in the BIOS firmware image602may provide an update for BIOS firmware utilized by the BIOS304in the server device202a/300, and while not discussed in detail below, the BIOS304may be configured to access the BIOS code606in the BIOS firmware image602via the communication channel309aand update its BIOS firmware with that BIOS code606.

In an embodiment, the remote access controller information608may be provided in a signed binary format, integrated into the BIOS firmware image602, and described in the BIOS IIB structure604via, for example, start and end addresses in the SPI memory system308for the remote access controller information608, a hash value for the remote access controller information608, and/or other IIB structure information known in the art. As discussed below, in some embodiments, the BIOS firmware image602may be securely signed, the BIOS IIB structure604may be securely signed, and/or the remote access controller information608may be securely signed in order to provide security associated with the use of the remote access controller information608discussed below.

In the specific examples discussed below, the remote access controller information608provides updated server-device-platform-specific tables and/or software patch(es) for use by the remote access controller device306with the server device202a/300. For example, a processing system configuration in the server device202amay be modified to utilize additional processing system cores, change the TDP of the processing system, and/or provide other processing system modifications that operate to change the thermal topology of the server device202a, which one of skill in the art in possession of the present disclosure will appreciate will require an update to the service-device-platform-specific thermal tables and/or software patch(es) that are utilized by the remote access controller device306with the server device202a/300. As such, the update management system206may be used to develop those updated service-device-platform-specific thermal tables and/or software patch(es), and provide those updated service-device-platform-specific thermal tables and/or software patch(es) to the server device202aas part of the BIOS firmware image602as discussed above. However, while the updated remote access controller information is illustrated and described as being provided by service-device-platform-specific thermal tables and/or software patch(es), the remote access controller device information may include other service-device-platform-specific tables, bug fixes for the remote access controller device306, and/or any other remote access controller information that would be apparent to one of skill in the art in possession of the present disclosure.

The method500then proceeds to block504where the remote access controller device identifies first remote access controller information in the BIOS firmware image. In an embodiment, at block504, the remote access controller device306in the server device202a/300may identify the BIOS firmware image602in the SPI memory system308. For example, following the storage of the BIOS firmware image602on the SPI memory system308, the server device202a/300may be powered off and then powered on again, reset, and/or otherwise initialized and, in response, the remote access controller engine404in the remote access controller device306/400may operate to access the SRI memory system308and read and validate the BIOS firmware image602(e.g., as part of “root-of-trust” operations for the server device202a/300). As will be appreciated by one of skill in the art in possession of the present disclosure, as part of the validation of the BIOS firmware image602at block504, the remote access controller engine404may utilize a variety of validation techniques known in the art to validate a signature provided with the BIOS firmware image602. Furthermore, one of skill in the art in possession of the present disclosure will appreciate that, in the event the BIOS firmware image602cannot be validated, the remote access controller engine404may ignore the BIOS firmware image602, log a BIOS firmware image validation error, display a BIOS firmware image validation warning, cause the BIOS firmware image602to be removed from the SRI memory system308, and/or perform other non-validated information operations that would be apparent to one of skill in the art in possession of the present disclosure.

Following the identification (and in some embodiments, the validation) of the BIOS firmware image602, at block504the remote access controller engine404in the remote access controller device306/400may operate to access and validate the BIOS IIB structure604. As will be appreciated by one of skill in the art in possession of the present disclosure, as part of the validation of the BIOS IIB structure604at block504, the remote access controller engine404may utilize a variety of validation techniques known in the art to validate a signature provided with the BIOS IIB structure604. Furthermore, one of skill in the art in possession of the present disclosure will appreciate that, in the event the BIOS IIB structure604cannot be validated, the remote access controller engine404may ignore the BIOS firmware image602and/or the BIOS IIB structure604, log a BIOS IIB structure validation error, display a BIOS IIB structure validation warning, cause the BIOS firmware image602to be removed from the SRI memory system308, and/or perform other non-validated information operations that would be apparent to one of skill in the art in possession of the present disclosure.

Following the identification (and in some embodiments, the validation) of the BIOS IIB structure604, at block504the remote access controller engine404in the remote access controller device306/400may utilize the BIOS IIB structure604to identify the remote access controller information608. As discussed above, the BIOS IIB structure604may describe the remote access controller information608via, for example, start and end addresses in the SRI memory system308for the remote access controller information608, a hash value for the remote access controller information608, and/or other IIB structure information known in the art. As such, at block504, the remote access controller engine404may identify the remote access controller information608via its start and end addresses in the SRI memory system308identified by the BIOS IIB structure604. In some embodiments, at block504the remote access controller engine404ma validate the remote access controller information608. As will be appreciated by one of skill in the art in possession of the present disclosure, as part of the validation of the remote access controller information608at block504, the remote access controller engine404may utilize a variety of validation techniques known in the art to validate a signature (and/or the hash value for the remote access controller information608in the BIOS IIB structure604) provided with the remote access controller information608. Furthermore, one of skill in the art in possession of the present disclosure will appreciate that, in the event the remote access controller information608cannot be validated, the remote access controller engine404may ignore the BIOS firmware image602and/or the remote access controller information608, log a remote access controller information validation error, display a remote access controller information validation warning, cause the BIOS firmware image602to be removed from the SRI memory system308, and/or perform other non-validated information operations that would be apparent to one of skill in the art in possession of the present disclosure.

As such, continuing with the example in which the remote access controller information608is provided by server-device-platform-specific thermal tables and/or software patch(es), at block504and during initialization operations for the server device202a/300, the remote access controller engine404in the remote access controller device306/400may access the SRI memory system308, validate/authenticate the BIOS firmware image602, validate/authenticate the BIOS IIB structure604, use the BIOS IIB structure604to identify the server-device-platform-specific thermal tables and/or software patch(es), and validate/authenticate the server-device-platform-specific thermal tables and/or software patch(es). However, while specific remote access controller information identification in a BIOS firmware update has been described that includes several validation/authentication operations, one of skill in the art in possession of the present disclosure will appreciate that remote access controller information may be identified in a BIOS firmware update in a variety of manners that will fall within the scope of the present disclosure as well. For example, in some embodiments, the BIOS304in the server device202a/300may operate to identify the remote access controller information608in the BIOS firmware image602(e.g., in a manner similar to that described above by the remote access controller device306/400), and then transmit the remote access controller information608to the remote access controller device306/400via the communication channel307.

The method500then proceeds to decision block506where it is determined whether the first remote access controller information updates second remote access controller information on the remote access controller device. In an embodiment, at decision block506, the remote access controller engine404in the remote access controller device306/400may compare the remote access controller information608identified in the BIOS firmware update image602at block504with remote access controller information608stored in the remote access controller database406. For example,FIGS. 7A and 7Billustrate how the remote access controller engine404in the remote access controller device306/400may perform remote access controller information retrieval operations700to retrieve at least some of the remote access controller information608stored in the remote access controller database406, and determine whether the remote access controller information608updates remote access controller information that is stored in its remote access controller database406.

In a specific example, remote access controller information stored on the remote access controller database406in the remote access controller device306/400may include a first version of server-device-platform-specific thermal tables and/or software patch(es) that are utilized by the remote access controller engine404with the server device202a/300, and at decision block506the remote access controller engine404in the remote access controller device306/400may perform the remote access controller information retrieval operations700to retrieve a second version of server-device-platform-specific thermal tables and/or software patch(es) provided in the remote access controller information608stored in the remote access controller database406, and determine whether second version of the server-device-platform-specific thermal tables and/or software patch(es) provided in the remote access controller information608is a more recent version than the first version of the server-device-platform-specific thermal tables and/or software patch(es) stored in its remote access controller database406. However, while a specific example is provided, one of skill in the art in possession of the present disclosure will appreciate that updated remote access controller information may be identified in a variety of manners that will fall within the scope of the present disclosure as well.

If, at decision block506, it is determined that the first remote access controller information does not update the second remote access controller information on the remote access controller device, the method500proceeds to block508where the remote access controller device ignores the first remote access controller device. In an embodiment, at block508and in response to determining that the remote access controller information608does not provide an update to remote access controller information stored in the remote access controller database406, the remote access controller engine404in the remote access controller device306/400may ignore the remote access controller information608. As will be appreciated by one of skill in the art in possession of the present disclosure, the remote access controller information stored in the remote access controller database406may be the same as, or newer than, the remote access controller information608such that the remote access controller information608does not provide an update to remote access controller information stored in the remote access controller database406, and thus the remote access controller engine404need to utilize that remote access controller information608and may ignore it.

As such, continuing with the example in which the remote access controller information608is provided by server-device-platform-specific thermal tables and/or software patch(es), server-device-platform-specific thermal tables and/or software patch(es) already stored in the remote access controller database406may be the same version as, or a newer version than, the server-device-platform-specific thermal tables and/or software patch(es) included in the remote access controller information608such that those server-device-platform-specific thermal tables and/or software patch(es) do not provide an update to server-device-platform-specific thermal tables and/or software patch(es) already stored in the remote access controller database406, and thus the remote access controller engine404need not utilize the server-device-platform-specific thermal tables and/or software patch(es) included in the remote access controller information608and may ignore them. As will be appreciated by one of skill in the art in possession of the present disclosure, in some embodiments a remote access controller firmware update (which as discussed above is released relatively less often then the BIOS firmware updates) may be provided in the SPI memory system308along with the BIOS firmware image, and the update/version check performed as discussed above may allow the remote access controller engine404in the remote access controller device306/400to identify the most recent update/version of the remote access controller information included in each of the BIOS firmware image and the remote access controller firmware update, and select that update/version of the remote access controller information for use with the server device202a/300.

If at decision block506, it is determined that the first remote access controller information updates second remote access controller information on the remote access controller device, the method500proceeds to block510where the remote access controller device copies the first remote access controller information to the remote access controller device. In an embodiment, at block510and in response to determining that the remote access controller information608provides an update to remote access controller information stored in the remote access controller database406, the remote access controller engine404in the remote access controller device306/400may operate to copy the remote access controller information608from the SRI memory system308to the remote access controller database406. For example, with reference toFIG. 7C, the remote access controller engine404is illustrated as performing remote access controller information copy operations702to copy the remote access controller information608(e.g., retrieved from the SRI memory system308via the remote access controller information retrieval operations700discussed above) to the remote access controller database406. In a specific example, the remote access controller information copy operations702at block510may include overwriting the remote access controller information in the remote access controller database406with the remote access controller information608retrieved from BIOS firmware image602in the SRI memory system308. Following the copying of the remote access controller information608to the remote access controller database406, the remote access controller engine404in the remote access controller device306/400may allow the server device202a/300to complete initialization operations and enter a runtime state.

As such, continuing with the example in which the remote access controller information608is provided by server-device-platform-specific thermal tables and/or software patch(es), the server-device-platform-specific thermal tables and/or software patch(es) included in the remote access controller information608may be a newer version than the server-device-platform-specific thermal tables and/or software patch(es) already stored in the remote access controller database406such that the server-device-platform-specific thermal tables and/or software patch(es) included in the remote access controller information608provide an update to server-device-platform-specific thermal tables and/or software patch(es) already stored in the remote access controller database406, and the remote access controller engine404may operate to overwrite the server-device-platform-specific thermal tables and/or software patch(es) already stored in the remote access controller database406with the server-device-platform-specific thermal tables and/or software patch(es) included in the remote access controller information608.

Furthermore, one of skill in the art in possession of the present disclosure will appreciate how the remote access controller information608may provide an update to the remote access controller device306/400if that remote access controller information608is provided for utilization by the remote access controller device306/400with server device202a/300and there is no similar remote access controller information included in the remote access controller database406(e.g., “new” server-device-platform-specific tables and/or software patch(es) (e.g., that do not correspond to any earlier-version server-device-platform-specific tables and/or software patch(es)) may be developed and provided to the remote access controller device306/400in the BIOS firmware image602while remaining within the scope of the present disclosure as well.

The method500then proceeds to block512where the remote access controller device performs operation(s) using the first remote access controller information. In an embodiment, at block512, the remote access controller engine404in the remote access controller device306/400may utilize the remote access controller information608to perform one or more operations. As such, continuing with the example in which the remote access controller information608is provided by server-device-platform-specific thermal tables and/or software patch(es), at block512the remote access controller engine404may utilize the server-device-platform-specific thermal tables and/or software patch(es) included in the remote access controller information608that is now stored in the remote access controller database406in order to perform one or more thermal operations for the server device202a/300(e.g., for a processing system included in the server device202a/300) and/or one or more software patching operations for the remote access controller engine404or remote access controller device306/400. However, while a specific example is provided, one of skill in the art in possession of the present disclosure will appreciate that a remote access controller device may utilize updated remote access controller information provided via the teachings of the present disclosure in any of a variety of manners that will fall within the scope of the present disclosure.

Thus, systems and methods have been described that provide remote access controller server-device-platform-specific table and/or software patch updates in more regularly released BIOS firmware updates. For example, the remote access controller device update system of the present disclosure may include a BIOS SPI ROM/flash memory that is configured to store a BIOS firmware image including BIOS code, first remote access controller server-device-platform-specific tables, and/or software patch(es). A BIOS is coupled to the BIOS SPI ROM/flash memory and is configured to utilize BIOS code stored on the memory system. A remote access controller device is coupled to the BIOS SPI ROM/flash memory and is configured to determine that the BIOS firmware image is stored in the BIOS SPI ROM/flash memory, and identify the first remote access controller server-device-platform-specific tables and/or software patch(es) included in the BIOS firmware image. The remote access controller device then determines that the first remote access controller server-device-platform-specific tables and/or software patch(es) provide an update to second remote access controller server-device-platform-specific tables and/or software patch(es) stored on the remote access controller device and, in response, stores the first remote access controller server-device-platform-specific tables and/or software patch(es) on the remote access controller device and performs at least one operation using the first remote access controller server-device-platform-specific tables and/or software patch(es). Thus, the update of server-device-platform-specific tables and/or software patch(es) on remote access controller devices is enabled without the need to develop and release new remote access controller firmware each time an update of the server-device-platform-specific tables and/or software patch(es) on the remote access controller device is required, reducing the number of releases (and associated development) of remote access controller firmware, and allowing for the provision of a “golden” remote access controller firmware image (i.e., that does not include the server-device-platform-specific tables and/or software patch(es)).