[go: up one dir, main page]

WO2016171648A1 - Configuration of configurable components - Google Patents

Configuration of configurable components Download PDF

Info

Publication number
WO2016171648A1
WO2016171648A1 PCT/US2015/026652 US2015026652W WO2016171648A1 WO 2016171648 A1 WO2016171648 A1 WO 2016171648A1 US 2015026652 W US2015026652 W US 2015026652W WO 2016171648 A1 WO2016171648 A1 WO 2016171648A1
Authority
WO
WIPO (PCT)
Prior art keywords
computing device
definition information
configuration
configurable components
hardware definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2015/026652
Other languages
French (fr)
Inventor
Kevin Boyum
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Priority to PCT/US2015/026652 priority Critical patent/WO2016171648A1/en
Publication of WO2016171648A1 publication Critical patent/WO2016171648A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Definitions

  • a small non-volatile memory device called a Field Replaceable Unit (FRU)
  • EEPROM is typically placed on a circuit board of a product to store information such as product name, serial number, and other attributes of the product or device. In some instances this product or device is configurable late in the manufacturing process or in the field (after the FRU EEPROM has been programmed).
  • Figure 1 illustrates an example computing device that may utilize a dynamic configuration manager
  • Figure 2 illustrates an example flow diagram for an example process for dynamically determining hardware definition information for a configurable and re-configurable computing device.
  • Example systems and methods described herein include a dynamic FRU EEPROM that comprehends configuration changes on any computing device and presents a combined set of hardware definition information for the computing device to an external management agent, where the combined set of hardware definition information accurately represents a current state of configurable or re-configurable components of the computing device.
  • Normal FRU EEPROM devices are typically pre-programmed with appropriate data at some point in a manufacturing process.
  • a static, pre-programmed FRU EEPROM may not be sufficient for some computing devices because a computing device may include optional subassemblies that may be added or configured differently late in the manufacturing process or even after the computing device is in the field.
  • Example systems and methods described herein enable FRU EEPROM contents to be dynamic, adjusting to the configuration of the computing device, so that external management agents can properly identify, monitor, and manage this computing device regardless of when the configuration changes.
  • a product that has multiple subassemblies that can be added typically utilizes a separate FRU EEPROM for each subassembly so that a management agent may comprehend these components in the overall design.
  • a separate FRU EEPROM for instance an off-the-shelf module, or one that is not electronic in nature.
  • physical switches or identification signals that aid in identifying the presence and the type of a subassembly may be added to each subassembly. A management agent may then account for these subassemblies based on a lookup table with subassembly information.
  • this strategy is prone to error due to, for example, forgetting to adjust switches.
  • this strategy requires management firmware to be written specifically for each type of subassembly device which requires a non-trivial amount of device-specific software work to be done in the management agent.
  • a managed device When a managed device is configurable, some entity should be responsible for comprehending any changes to the device such that a management agent can properly identify, monitor, and manage the device. In various examples, the external management agent is responsible for this task.
  • software development at the management agent level may be unduly expensive.
  • the inclusion of device specific code within a management agent that supports many different products may result in bloated, inefficient, and complex code, and therefore may result in longer development times and increased development headcount costs.
  • Systems and methods described herein utilizes a small amount of focused firmware or hardware development language work and may reduce work required to modify the management agent software.
  • FIG. 1 illustrates an example computing device 100 that may utilize a dynamic configuration manager 120 to dynamically monitor the configuration of components associated with the computing device 100.
  • the dynamic configuration manager 120 may be implemented in software, firmware and/or hardware.
  • the example computing device 100 may include embedded firmware and hardware components in order to provide for multiple configurations for multiple selectable and/or configurable components 160.
  • the example computing device 100 may be any type of computing device such as a portable computer or communication device, a standalone server computer, a blade server, etc.
  • the example computing device 100 may include a CPU (central processing unit) 110, at least one memory device 115, and a power supply 140.
  • the power supply 140 is coupled to an electrical interface 145 that is coupled to an external power supply such as an AC power supply 150.
  • the computing device 100 may include an operating system component 155 including, for example, an operating system driver component and a pre-boot BIOS (Basic Input/Output System) component stored in ROM (read only memory), and coupled to the CPU 110.
  • the CPU 110 may have a non-transitory memory device 115.
  • the memory device 115 may have one or more of ROM, programmable flash memory or erasable programmable ROM (EPROM).
  • EPROM erasable programmable ROM
  • the memory device 115 may be integrally formed with the CPU 110 or may be an external memory device.
  • the memory device 115 may include program code that may be executed by the CPU 110. For example, one or more processes may be performed to execute a user control interface 175 and/or software applications 180.
  • the dynamic configuration manager 120 serves as a dynamic EEPROM FRU in order to dynamically determine FRU data that represents hardware definition information specific for the selectable/configurable components 160 of the computing device 100.
  • the hardware definition information may include one or more parameters such as serial number, part name, manufacturing information, reorder information, physical dimensions.
  • configuration manager 120 may update the hardware definition information for the computing device 100 to accurately reflect the attributes of the various components of the computing device 100, and account for configuration changes that occur.
  • the dynamic configuration manager 120 may include a processor 125, referred to herein as the dynamic configuration manager (DCM) processor 125.
  • the DCM processor 125 may be a microcontroller that presents itself as a FRU EEPROM memory device to the system in which the computing device 100 is coupled.
  • the DCM processor 125 may also be a field programmable gate array (FPGA), a complex programmable logic device (CPLD), or any other programmable logic device.
  • FPGA field programmable gate array
  • CPLD complex programmable logic device
  • the dynamic configuration manager 120 may also include a configuration parameter memory 130.
  • the configuration parameter memory 130 is illustrated as being internal to the dynamic configuration manager 120, but external memory may also be utilized.
  • configuration parameter memory 130 may be used by the DCM processor 125 to store the hardware definition information dynamically determined by the DCM processor 125.
  • the DCM processor 125 may develop the hardware definition information "on-the- fly" based on parameters stored in the configuration parameter memory 130 and based on configuration settings determined for the selectable/configurable components 160 as well as any other components of the computing device 100.
  • the configuration parameter memory 130 may store data indicative of hardware definition information associated with the selectable/configurable components 160 as well as any other components associated with the computing device 100.
  • the configuration parameter memory 130 may store data indicative of a look-up table that includes any possible configuration settings for the selectable/configurable components 160 as well as any other components associated with the computing device 100.
  • the look-up table may store configuration parameters indicative of any of the following:
  • the look-up table may also store data indicative of power information for the various configurations of the selectable/configurable components 160 as well as any other components associated with the computing device 100.
  • the power information may include any of the following: • Nominal voltage
  • the DCM processor 125 determines a combined set of hardware definition information by combining the changeable hardware definition information of any of the selectable/configurable components 160 or any other components of the computing device 100.
  • the combined set of hardware definition information may be stored in the configuration parameter memory 130 or in other memory such as, for example, the memory 115.
  • the dynamic configuration manager 120 may include a communication interface 135.
  • the communication interface 135 may, in various examples, include a communications bus such as an inter-IC (integrated circuit) communications (I2C) bus or a serial peripheral interface (SPI) bus.
  • the dynamic configuration manager 120 may also receive requests (e.g., from a
  • the dynamic configuration manager 120 may communicate a signal indicative of the combined set of hardware definition information for the computing device 100 to the
  • the computing device 100 may also include a network interface 165 and other hardware 170 known to those skilled in the art.
  • the network interface 165 may be coupled to a network such as an intranet, a local area network (LAN), a wireless local area network (WLAN), the Internet, etc., where the other underlying components are a part of the network or at least coupled to the network.
  • LAN local area network
  • WLAN wireless local area network
  • Figure 2 illustrates an example flow diagram for an example process 200 for dynamically determining hardware definition information for a configurable and re-configurable computing device.
  • the process 200 is exemplary only and may be modified.
  • the example process 200 of Figure 2 will now be described with further references to Figure 1.
  • the process 200 may begin with the dynamic configuration manager 120 retrieving configuration information from the selectable/configurable components 160, as well as from any other components of the computing device 100, block 210.
  • the retrieved configuration information identifies current settings of a plurality of possible configurations for each of the selectable/configurable components 160.
  • the configuration information may be retrieved by the dynamic configuration manager 120 by reading presence and type bits directly from the selectable/configurable components 160 or reading the type information through the
  • communications interface 135 such as an I2C bus or SPI bus.
  • the dynamic configuration manager 120 determines a combined set of hardware definition information for the computing device 100 at block 220.
  • the determination at block 220 may, in various examples, be based on the retrieved configuration information of the configurable components and further based on data stored in the configuration parameter memory 130, the stored data being indicative of hardware definition information associated with the configurable components. Examples of configuration parameters that may be stored in the configuration parameter memory 130 are described above.
  • the stored data may be stored in look-up table form.
  • the dynamic configuration manager 120 stores the combined set of hardware definition information for the computing device 100 in memory.
  • the combined set of hardware definition information may be stored in the configuration parameter memory 130, in the memory 115, or in other memory internal or external to the dynamic configuration manager 120.
  • the combined set of hardware definition information may be stored as a data structure.
  • the dynamic configuration manager 120 monitors the
  • the dynamic configuration manager 120 detects that the subassembly or other configuration change exists and also determine the characteristics of the subassembly or configuration change.
  • Methods to detect the change include, but are not limited to reading presence and type bits directly from the selectable/configurable components 160 or reading the type information through the communications interface 135 such as an I2C bus or SPI bus.
  • the configuration changes detected at block 240 may include any detectable configuration change that may occur on the computing device 100 that results in changes in the combined set of hardware definition information.
  • Examples of configuration changes may include, but are not limited to, the de-allocation of hardware on the computing device 100, altering the power mode of a component on the computing device 100, or changing the operating mode of a component (e.g. changing a protocol). All of these configuration changes could affect attributes of the combined set of hardware definition information such as power utilized by the computing device 100, the operating mode of the computing device 100, and even the name of the computing device 100 (e.g. a storage card may be called a "SATA Storage Card” or a "SAS Storage Card” depending on the operating mode of the same storage controller).
  • the dynamic configuration manager 120 modifies the stored combined set of hardware definition information to reflect the change in configuration based on the change in configuration and based on the data indicative of hardware definition information stored in the configuration parameter memory 130.
  • the dynamic configuration manager 120 receives a request from a management agent external to the computing device 100 for the combined set of hardware definition information for the computing device 100. In response to receiving the request, the dynamic configuration manager 120 communicates a signal indicative of the combined set of hardware definition information for the computing device to the management agent via the communication interface 135. The detection of configuration changes at block 240 and receiving the requests at block 250 continue as needed (e.g., periodically, continuously and/or randomly).

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

An example method includes retrieving configuration information from configurable components of a computing device, the configuration information identifying select ones of a plurality of possible configurations for each of the configurable components. The example method further includes determining a combined set of hardware definition information for the computing device based on the retrieved configuration information of the configurable components and based on data stored in a memory, the stored data being indicative of hardware definition information associated with the configurable components. The example method further includes storing the combined set of hardware definition information for the computing device in the memory.

Description

CONFIGURATION OF CONFIGURABLE COMPONENTS
BACKGROUND
[0001] A small non-volatile memory device called a Field Replaceable Unit (FRU)
EEPROM is typically placed on a circuit board of a product to store information such as product name, serial number, and other attributes of the product or device. In some instances this product or device is configurable late in the manufacturing process or in the field (after the FRU EEPROM has been programmed).
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] For a more complete understanding of various examples, reference is now made to the following description taken in connection with the accompanying drawings in which:
[0003] Figure 1 illustrates an example computing device that may utilize a dynamic configuration manager; and
[0004] Figure 2 illustrates an example flow diagram for an example process for dynamically determining hardware definition information for a configurable and re-configurable computing device.
DETAILED DESCRIPTION
[0005] Example systems and methods described herein include a dynamic FRU EEPROM that comprehends configuration changes on any computing device and presents a combined set of hardware definition information for the computing device to an external management agent, where the combined set of hardware definition information accurately represents a current state of configurable or re-configurable components of the computing device.
[0006] Normal FRU EEPROM devices are typically pre-programmed with appropriate data at some point in a manufacturing process. However, a static, pre-programmed FRU EEPROM may not be sufficient for some computing devices because a computing device may include optional subassemblies that may be added or configured differently late in the manufacturing process or even after the computing device is in the field. Example systems and methods described herein enable FRU EEPROM contents to be dynamic, adjusting to the configuration of the computing device, so that external management agents can properly identify, monitor, and manage this computing device regardless of when the configuration changes.
[0007] In various examples, a product that has multiple subassemblies that can be added, typically utilizes a separate FRU EEPROM for each subassembly so that a management agent may comprehend these components in the overall design. However, not all subassemblies are able to be fitted with a separate FRU EEPROM (for instance an off-the-shelf module, or one that is not electronic in nature). In other various examples, physical switches or identification signals that aid in identifying the presence and the type of a subassembly may be added to each subassembly. A management agent may then account for these subassemblies based on a lookup table with subassembly information. However, this strategy is prone to error due to, for example, forgetting to adjust switches. In addition, this strategy requires management firmware to be written specifically for each type of subassembly device which requires a non-trivial amount of device-specific software work to be done in the management agent.
[0008] When a managed device is configurable, some entity should be responsible for comprehending any changes to the device such that a management agent can properly identify, monitor, and manage the device. In various examples, the external management agent is responsible for this task. However, software development at the management agent level may be unduly expensive. The inclusion of device specific code within a management agent that supports many different products may result in bloated, inefficient, and complex code, and therefore may result in longer development times and increased development headcount costs. Systems and methods described herein utilizes a small amount of focused firmware or hardware development language work and may reduce work required to modify the management agent software.
[0009] In various examples, using an external management agent to track changes in a configurable device requires that the management agent have access to all the data (discrete presence and type signals, communication busses, etc.) for the subassemblies or configurable devices. This may require additional hardware and in some cases may not even be possible. Systems and methods described herein accomplish this configuration tracking utilizing a simple, focused microcontroller or logic device that is present on the configurable device and may monitor the configurable entities using signals over communication busses present on the configurable device. [0010] Referring now to the figures, Figure 1 illustrates an example computing device 100 that may utilize a dynamic configuration manager 120 to dynamically monitor the configuration of components associated with the computing device 100. The dynamic configuration manager 120 may be implemented in software, firmware and/or hardware. The example computing device 100 may include embedded firmware and hardware components in order to provide for multiple configurations for multiple selectable and/or configurable components 160. The example computing device 100 may be any type of computing device such as a portable computer or communication device, a standalone server computer, a blade server, etc. The example computing device 100 may include a CPU (central processing unit) 110, at least one memory device 115, and a power supply 140. The power supply 140 is coupled to an electrical interface 145 that is coupled to an external power supply such as an AC power supply 150.
[0011] The computing device 100 may include an operating system component 155 including, for example, an operating system driver component and a pre-boot BIOS (Basic Input/Output System) component stored in ROM (read only memory), and coupled to the CPU 110. In various examples, the CPU 110 may have a non-transitory memory device 115. In various examples, the memory device 115 may have one or more of ROM, programmable flash memory or erasable programmable ROM (EPROM). In various examples, the memory device 115 may be integrally formed with the CPU 110 or may be an external memory device. The memory device 115 may include program code that may be executed by the CPU 110. For example, one or more processes may be performed to execute a user control interface 175 and/or software applications 180.
[0012] The dynamic configuration manager 120 serves as a dynamic EEPROM FRU in order to dynamically determine FRU data that represents hardware definition information specific for the selectable/configurable components 160 of the computing device 100. The hardware definition information may include one or more parameters such as serial number, part name, manufacturing information, reorder information, physical dimensions. The dynamic
configuration manager 120 may update the hardware definition information for the computing device 100 to accurately reflect the attributes of the various components of the computing device 100, and account for configuration changes that occur.
[0013] In various embodiments, the dynamic configuration manager 120 may include a processor 125, referred to herein as the dynamic configuration manager (DCM) processor 125. The DCM processor 125 may be a microcontroller that presents itself as a FRU EEPROM memory device to the system in which the computing device 100 is coupled. In various examples, the DCM processor 125 may also be a field programmable gate array (FPGA), a complex programmable logic device (CPLD), or any other programmable logic device.
[0014] The dynamic configuration manager 120 may also include a configuration parameter memory 130. The configuration parameter memory 130 is illustrated as being internal to the dynamic configuration manager 120, but external memory may also be utilized. The
configuration parameter memory 130 may be used by the DCM processor 125 to store the hardware definition information dynamically determined by the DCM processor 125. In various embodiments, the DCM processor 125 may develop the hardware definition information "on-the- fly" based on parameters stored in the configuration parameter memory 130 and based on configuration settings determined for the selectable/configurable components 160 as well as any other components of the computing device 100.
[0015] The configuration parameter memory 130 may store data indicative of hardware definition information associated with the selectable/configurable components 160 as well as any other components associated with the computing device 100. In various examples, the configuration parameter memory 130 may store data indicative of a look-up table that includes any possible configuration settings for the selectable/configurable components 160 as well as any other components associated with the computing device 100. The look-up table may store configuration parameters indicative of any of the following:
• Date of manufacture
• Manufacturer
• Product name
• Serial number
• Part number
• Version number
• Board revision
[0016] The look-up table may also store data indicative of power information for the various configurations of the selectable/configurable components 160 as well as any other components associated with the computing device 100. The power information may include any of the following: • Nominal voltage
• Minimum voltage
• Maximum voltage
• Ripple and noise peak-to-peak voltage
• Minimum current load
• Maximum current load
• Maximum negative voltage deviation
• Maximum positive voltage deviation
[0017] As is described below, the DCM processor 125 determines a combined set of hardware definition information by combining the changeable hardware definition information of any of the selectable/configurable components 160 or any other components of the computing device 100. The combined set of hardware definition information may be stored in the configuration parameter memory 130 or in other memory such as, for example, the memory 115.
[0018] In order to communicate with and retrieve hardware definition information from the selectable/configurable components 160 and the other components of the computing device 100, the dynamic configuration manager 120 may include a communication interface 135. The communication interface 135 may, in various examples, include a communications bus such as an inter-IC (integrated circuit) communications (I2C) bus or a serial peripheral interface (SPI) bus. The dynamic configuration manager 120 may also receive requests (e.g., from a
management agent external to the computing device 100) for the combined set of hardware definition information for the computing via the communication interface 135. In response to the request, the dynamic configuration manager 120 may communicate a signal indicative of the combined set of hardware definition information for the computing device 100 to the
management agent via the communication interface 135.
[0019] The computing device 100 may also include a network interface 165 and other hardware 170 known to those skilled in the art. The network interface 165 may be coupled to a network such as an intranet, a local area network (LAN), a wireless local area network (WLAN), the Internet, etc., where the other underlying components are a part of the network or at least coupled to the network.
[0020] Figure 2 illustrates an example flow diagram for an example process 200 for dynamically determining hardware definition information for a configurable and re-configurable computing device. The process 200 is exemplary only and may be modified. The example process 200 of Figure 2 will now be described with further references to Figure 1.
[0021] The process 200 may begin with the dynamic configuration manager 120 retrieving configuration information from the selectable/configurable components 160, as well as from any other components of the computing device 100, block 210. The retrieved configuration information identifies current settings of a plurality of possible configurations for each of the selectable/configurable components 160. The configuration information may be retrieved by the dynamic configuration manager 120 by reading presence and type bits directly from the selectable/configurable components 160 or reading the type information through the
communications interface 135 such as an I2C bus or SPI bus.
[0022] After the various configuration information has been retrieved at block 210, the dynamic configuration manager 120 determines a combined set of hardware definition information for the computing device 100 at block 220. The determination at block 220 may, in various examples, be based on the retrieved configuration information of the configurable components and further based on data stored in the configuration parameter memory 130, the stored data being indicative of hardware definition information associated with the configurable components. Examples of configuration parameters that may be stored in the configuration parameter memory 130 are described above. The stored data may be stored in look-up table form.
[0023] At block 230, the dynamic configuration manager 120 stores the combined set of hardware definition information for the computing device 100 in memory. The combined set of hardware definition information may be stored in the configuration parameter memory 130, in the memory 115, or in other memory internal or external to the dynamic configuration manager 120. The combined set of hardware definition information may be stored as a data structure.
[0024] At block 240, the dynamic configuration manager 120 monitors the
selectable/configurable components 160 and the other components of the computing device 100 in order to detect changes in configurations of these components subsequent to storing the combined set of hardware definition information at block 230. In detecting the configuration, the dynamic configuration manager 120 detects that the subassembly or other configuration change exists and also determine the characteristics of the subassembly or configuration change.
Methods to detect the change include, but are not limited to reading presence and type bits directly from the selectable/configurable components 160 or reading the type information through the communications interface 135 such as an I2C bus or SPI bus.
[0025] The configuration changes detected at block 240 may include any detectable configuration change that may occur on the computing device 100 that results in changes in the combined set of hardware definition information. Examples of configuration changes may include, but are not limited to, the de-allocation of hardware on the computing device 100, altering the power mode of a component on the computing device 100, or changing the operating mode of a component (e.g. changing a protocol). All of these configuration changes could affect attributes of the combined set of hardware definition information such as power utilized by the computing device 100, the operating mode of the computing device 100, and even the name of the computing device 100 (e.g. a storage card may be called a "SATA Storage Card" or a "SAS Storage Card" depending on the operating mode of the same storage controller).
[0026] Subsequent to detecting a change in configuration at block 240, the dynamic configuration manager 120 modifies the stored combined set of hardware definition information to reflect the change in configuration based on the change in configuration and based on the data indicative of hardware definition information stored in the configuration parameter memory 130.
[0027] At block 250, the dynamic configuration manager 120 receives a request from a management agent external to the computing device 100 for the combined set of hardware definition information for the computing device 100. In response to receiving the request, the dynamic configuration manager 120 communicates a signal indicative of the combined set of hardware definition information for the computing device to the management agent via the communication interface 135. The detection of configuration changes at block 240 and receiving the requests at block 250 continue as needed (e.g., periodically, continuously and/or randomly).
[0028] Various examples described herein are described in the general context of method steps or processes, which may be implemented in one example by a software program product or component, embodied in a machine-readable medium, including executable instructions, such as program code, executed by entities in networked environments. Generally, program modules may include routines, programs, objects, components, data structures, etc. which may be designed to perform particular tasks or implement particular abstract data types. Executable instructions, associated data structures, and program modules represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps or processes.
[0029] Software implementations of various examples can be accomplished with standard programming techniques with rule-based logic and other logic to accomplish various database searching steps or processes, correlation steps or processes, comparison steps or processes and decision steps or processes.
[0030] The foregoing description of various examples has been presented for purposes of illustration and description. The foregoing description is not intended to be exhaustive or limiting to the examples disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of various examples. The examples discussed herein were chosen and described in order to explain the principles and the nature of various examples of the present disclosure and its practical application to enable one skilled in the art to utilize the present disclosure in various examples and with various modifications as are suited to the particular use contemplated. The features of the examples described herein may be combined in all possible combinations of methods, apparatus, modules, systems, and computer program products.
[0031] It is also noted herein that while the above describes examples, these descriptions should not be viewed in a limiting sense. Rather, there are several variations and modifications which may be made without departing from the scope as defined in the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A device, comprising:
a memory storing data indicative of hardware definition information associated with configurable components of a computing device; and
a processor for executing a dynamic configuration manager, the dynamic configuration manager to:
retrieve configuration information from the configurable components, the configuration information identifying select ones of a plurality of possible configurations for each of the configurable components,
determine, based on the retrieved configuration information of the configurable components and based on the stored data indicative of hardware definition information associated with the configurable components, a combined set of hardware definition information for the computing device; and
store the combined set of hardware definition information for the computing device in the memory.
2. The device of claim 1, wherein the dynamic configuration manager:
detects a change in configuration of one of the configurable components subsequent to storing the combined set of hardware definition information; and
based on the change in configuration and based on the stored data indicative of hardware definition information, modifies the stored combined set of hardware definition information to reflect the change in configuration.
3. The device of claim 2, wherein, the detected change in configuration includes at least one of: an addition of a component to the computing device;
a de-allocation of hardware of the computing device;
a change in a power mode of one of the configurable components of the computing device; or
a change in an operating mode of one of the configurable components of the computing device.
4. The device of claim 1, wherein the dynamic configuration manager receives a request for the combined set of hardware definition information for the computing device and, in response to receiving the request, communicates a signal indicative of the combined set of hardware definition information for the computing device.
5. The device of claim 1, wherein the dynamic configuration manager retrieves the configuration information from the configurable components via at least one of an inter-IC Communications (I2C) bus, or a serial peripheral interface (SPI) bus.
6. A method, comprising:
retrieving configuration information from configurable components of a computing device, the configuration information identifying select ones of a plurality of possible configurations for each of the configurable components,
determining a combined set of hardware definition information for the computing device based on the retrieved configuration information of the configurable components and based on data stored in a memory, the stored data being indicative of hardware definition information associated with the configurable components; and
storing the combined set of hardware definition information for the computing device in the memory.
7. The method of claim 6, further comprising:
detecting a change in configuration of one of the configurable components subsequent to storing the combined set of hardware definition information; and
based on the change in configuration and based on the stored data indicative of hardware definition information, modifying the stored combined set of hardware definition information to reflect the change in configuration.
8. The method of claim 7, wherein, the detected change in configuration includes at least one of: an addition of a component to the computing device;
a de-allocation of hardware of the computing device; a change in a power mode of one of the configurable components of the computing device; or
a change in an operating mode of one of the configurable components of the computing device.
9. The method of claim 6, further comprising:
receiving a request for the combined set of hardware definition information for the computing device; and
in response to receiving the request, communicating a signal indicative of the combined set of hardware definition information for the computing device.
10. The method of claim 6, wherein the configuration information is retrieved from the configurable components via at least one of an inter-IC Communications (I2C) bus, or a serial peripheral interface (SPI) bus.
11. A computer program product, embodied on a non-transitory computer-readable medium, comprising:
computer code to retrieve configuration information from configurable components of a computing device, the configuration information identifying select ones of a plurality of possible configurations for each of the configurable components,
computer code to determine a combined set of hardware definition information for the computing device based on the retrieved configuration information of the configurable components and based on data stored in a memory, the stored data being indicative of hardware definition information associated with the configurable components; and
computer code to store the combined set of hardware definition information for the computing device in the memory.
12. The computer program product of claim 11, further comprising:
computer code to detect a change in configuration of one of the configurable components subsequent to storing the combined set of hardware definition information; and
computer code to modify, based on the change in configuration and based on the stored data indicative of hardware definition information, the stored combined set of hardware definition information to reflect the change in configuration.
13. The computer program product of claim 12, wherein, the detected change in configuration includes at least one of:
an addition of a component to the computing device;
a de-allocation of hardware of the computing device;
a change in a power mode of one of the configurable components of the computing device; or
a change in an operating mode of one of the configurable components of the computing device.
14. The computer program product of claim 11, further comprising:
computer code to receive a request for the combined set of hardware definition information for the computing device; and
computer code to communicate a signal indicative of the combined set of hardware definition information for the computing device in response to receiving the request.
15. The computer program product of claim 11, wherein the configuration information is retrieved from the configurable components via at least one of an inter-IC Communications (I2C) bus, or a serial peripheral interface (SPI) bus.
PCT/US2015/026652 2015-04-20 2015-04-20 Configuration of configurable components Ceased WO2016171648A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2015/026652 WO2016171648A1 (en) 2015-04-20 2015-04-20 Configuration of configurable components

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/026652 WO2016171648A1 (en) 2015-04-20 2015-04-20 Configuration of configurable components

Publications (1)

Publication Number Publication Date
WO2016171648A1 true WO2016171648A1 (en) 2016-10-27

Family

ID=57143280

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/026652 Ceased WO2016171648A1 (en) 2015-04-20 2015-04-20 Configuration of configurable components

Country Status (1)

Country Link
WO (1) WO2016171648A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050114554A1 (en) * 2003-11-25 2005-05-26 Kameran Azadet Peripheral controller with shared EEPROM
US20060092861A1 (en) * 2004-07-07 2006-05-04 Christopher Corday Self configuring network management system
WO2013180703A1 (en) * 2012-05-30 2013-12-05 Hewlett-Packard Development Company, L.P. Server profile templates
US20140130028A1 (en) * 2012-11-07 2014-05-08 Hiroshi Maeda Information processing apparatus and network system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050114554A1 (en) * 2003-11-25 2005-05-26 Kameran Azadet Peripheral controller with shared EEPROM
US20060092861A1 (en) * 2004-07-07 2006-05-04 Christopher Corday Self configuring network management system
WO2013180703A1 (en) * 2012-05-30 2013-12-05 Hewlett-Packard Development Company, L.P. Server profile templates
US20140130028A1 (en) * 2012-11-07 2014-05-08 Hiroshi Maeda Information processing apparatus and network system

Similar Documents

Publication Publication Date Title
CN103218180B (en) Disk localization method and positioner
JP2016058083A (en) System and method for managing multiple BIOS default settings
US20140040646A1 (en) Method and apparatus for power throttling of highspeed multi-lane serial links
US7921230B2 (en) USB devices pre-configuration for KVM switch
CN116302471A (en) Apparatus, system and method for intelligent tuning of overclocking frequencies
US9348604B2 (en) System and method for inventory collection optimization by selective binding of the pre-boot drivers
US9342606B2 (en) Intelligent software installation
US20160103688A1 (en) Method of Starting Computing System
US9477458B2 (en) Dynamic timeout determination for microcontroller management of firmware updates
US9411695B2 (en) Provisioning memory in a memory system for mirroring
US10474517B2 (en) Techniques of storing operational states of processes at particular memory locations of an embedded-system device
US20200117261A1 (en) Backup power supply based configuration data application
US10998072B2 (en) Configurable voltage regulator controllers
CN103440146A (en) BIOS updating method based on cloud storage
US9152584B2 (en) Providing bus resiliency in a hybrid memory system
WO2016087002A1 (en) Voltage regulator mechanism, electronic device, method and computer program
WO2016171648A1 (en) Configuration of configurable components
US11403243B2 (en) Mainboard of a server and method of populating DIMM slots of a mainboard
CN107729188A (en) Data back up method, device and electronic equipment
US10872019B2 (en) Load and save recovery partition using mobile device
CN108021381A (en) The upgrading method for one-chip computer and device of equipment
US10976792B2 (en) Input power scaling of power supply devices
CN107977294B (en) Method and device for monitoring temperature of electronic element
CN119201252B (en) Function configuration method, computer program product, device and storage medium
US11843094B2 (en) Information handling system with operating system dependent battery management

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15890055

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15890055

Country of ref document: EP

Kind code of ref document: A1