WO2016171648A1 - Configuration de composants configurables - Google Patents

Configuration de composants configurables 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
Application number
PCT/US2015/026652
Other languages
English (en)
Inventor
Kevin Boyum
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/fr
Publication of WO2016171648A1 publication Critical patent/WO2016171648A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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

Un procédé donné à titre d'exemple consiste à récupérer des informations de configuration à partir des composants configurables d'un dispositif informatique, les informations de configuration identifiant les configurations sélectionnées parmi une pluralité de configurations possibles pour chacun des composants configurables. Le procédé donné à titre d'exemple consiste également à déterminer un ensemble combiné d'informations de définition de matériel pour le dispositif informatique d'après les informations de configuration récupérées des composants configurables et d'après les données stockées dans une mémoire, les données stockées indiquant des informations de définition de matériel associées aux composants configurables. Le procédé donné à titre d'exemple consiste également à stocker l'ensemble combiné d'informations de définition de matériel pour le dispositif informatique dans la mémoire.
PCT/US2015/026652 2015-04-20 2015-04-20 Configuration de composants configurables WO2016171648A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2015/026652 WO2016171648A1 (fr) 2015-04-20 2015-04-20 Configuration de composants configurables

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/026652 WO2016171648A1 (fr) 2015-04-20 2015-04-20 Configuration de composants configurables

Publications (1)

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

Family

ID=57143280

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/026652 WO2016171648A1 (fr) 2015-04-20 2015-04-20 Configuration de composants configurables

Country Status (1)

Country Link
WO (1) WO2016171648A1 (fr)

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 (fr) * 2012-05-30 2013-12-05 Hewlett-Packard Development Company, L.P. Modèles de profil de serveur
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 (fr) * 2012-05-30 2013-12-05 Hewlett-Packard Development Company, L.P. Modèles de profil de serveur
US20140130028A1 (en) * 2012-11-07 2014-05-08 Hiroshi Maeda Information processing apparatus and network system

Similar Documents

Publication Publication Date Title
US20140040646A1 (en) Method and apparatus for power throttling of highspeed multi-lane serial links
US20140195794A1 (en) Electronic device with baseboard management controller updating system
US7921230B2 (en) USB devices pre-configuration for KVM switch
US10747287B2 (en) Backup power supply based configuration data application
US10474517B2 (en) Techniques of storing operational states of processes at particular memory locations of an embedded-system device
US9342606B2 (en) Intelligent software installation
JP2020030812A (ja) 更新されたファームウェアコードの検索
US9477458B2 (en) Dynamic timeout determination for microcontroller management of firmware updates
US9152584B2 (en) Providing bus resiliency in a hybrid memory system
US8347285B2 (en) Embedded agent for self-healing software
CN103440146A (zh) 一种基于云存储的更新bios的方法
US20070005860A1 (en) Interrupt control system and method
US10998072B2 (en) Configurable voltage regulator controllers
TWI624790B (zh) 設定建構指示符以啟用或停用特徵之技術
US9411695B2 (en) Provisioning memory in a memory system for mirroring
US20160253277A1 (en) Shared pci interrupt line management
WO2016087002A1 (fr) Mécanisme de régulation de tension, dispositif électronique, procédé et programme d'ordinateur
US11403243B2 (en) Mainboard of a server and method of populating DIMM slots of a mainboard
CN104111845A (zh) 处理装置与系统程序变更方法
WO2016171648A1 (fr) Configuration de composants configurables
US11847086B2 (en) Method and apparatus for configuring MMIOH base address of server system
US10628309B1 (en) Loading a serial presence detect table according to jumper settings
CN116302471A (zh) 用于超频频率的智能调谐的装置、系统和方法
US10872019B2 (en) Load and save recovery partition using mobile device
US10976792B2 (en) Input power scaling of power supply devices

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