Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DEVICE CONFIGURATION PRIOR TO INITIALIZATION OF A SYSTEM
Document Type and Number:
WIPO Patent Application WO/2015/047277
Kind Code:
A1
Abstract:
Examples disclose a method, system, and computer readable media to configure a device within a computing system. The examples process configuration data when standby power is applied to the device. Additionally, the examples configure the device based on the configuration data, wherein the device is configured prior to initialization of the computing system.

Inventors:
ZIARNIK GREGORY P (US)
PIWONKA MARK A (US)
DURHAM MICHAEL R (US)
Application Number:
PCT/US2013/061960
Publication Date:
April 02, 2015
Filing Date:
September 26, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HEWLETT PACKARD DEVELOPMENT CO (US)
International Classes:
G06F15/177
Foreign References:
US20130054986A12013-02-28
US20100306520A12010-12-02
US20050289335A12005-12-29
US20020062455A12002-05-23
Other References:
See also references of EP 3049957A4
Attorney, Agent or Firm:
PINKSTON, Caroline S. et al. (Intellectual Property Administration3404 East Harmony Road Mail Stop 3, Fort Collins Colorado, US)
Download PDF:
Claims:
CLAIMS

We clann .

1.. A computing system comprising:

a ower circuit to t ansmit standby power to a device

a Biemw associated ith the device to maintain conf guration data; and tie device to.

process the configuration data from the memory once receiving the standby power; and

configure itself based on the confit&iraiion dat

wherein the device is configured prior to initialization of the comput ng system.

2, The confuti g system of claim 1. further comprising;.

a register infernal to the device to program a value corres ondin to the configuration d a, wherein die v&fue indicates a fimetio ality of a hardware component associa ed with She register,

3, The computing system of claim 1 herein to initialise the computing s stem, the power circuit is further to transmit main power to the device..

4, The computf ng system of el ai I further com pri si ng :

a register to configure a thermal circuit through the configuration data, wherein the the mal circuit is configured prior to the- initialization of the computing system,

5 , The computf ng system of el ai I further com pri si n :

hardware component to operate based upon a register internal to the device programmed with a value corresponding to the configuration data,

6, A non-transitory machine-readable storage edium encoded with instructions executable by a processor of a computing system, the storage medium comprising instructions to: apply standhy power to a device within the computing system;

process configuration data of the device and

configure the device based OR the configuration data,

here n the device is configured prior to inifi&i eatien of the computing system.

7. The t¾0«-t$m¾fory machine-readable storage medium including the instructions of cl m

6 wherein to configure the device based on the configuration data the medium: comprises further instructions to:

program a register interna! to the device with a value corresponding to the configuration d a, wherein the value nd cates a taeiiof lity of a hardware corresponding to the egister.

8, he machine-readable storage medium including the instructions of claim

7 wherein the register is programmed to configure at least one of the following ins, thermal mana ement, aid cooling. farss. The tK -trandt r machine-readable storage medium including the Instructions of claim 6 further comprising instructions to':

apply main power to the computing system and

initialise the computing system,

10, The non t a i or machsae-readable storage .medium including the i s ru tions of claim 6 wherein to configure the device based on the configuration data the medium comprises further instructions to:

obtain a value fro a data structure;

ro ram: a register internal to the device with the value; and

configure pins on the device based on the value programmed in the register.

1 1 , Λ method to configure a device within a computing s stem, the method comprising

processing configuration data of the device when standby power s applied to the device; and

configurin the device based on the configuration data, wherein the device is configured prior io Mi t tlim of the computing system

12, Tlie mehod of claim: J ! further comprising:

applying a main power to a main processing ami for the initialization of the computing system.

13, The meth d of claim ! 1. wherein processing the configuration data further comprises: otrtainltig a value eon¾sp ndi«g to the coisfigitratlou data rom a table: and

programming a register internal to the device with the value, wherein the vaue indicates a tXmeti naliiy of a hardware associated with the register.

1 , he met od of claim 11 further om risng

plugging the computing system to an alternating current (AC) ower source to apply the standby power to the device,

15, The method of cl im: } l wherein configuring the device further com ris s

programng a register internal to the devce with a value corresponding to the configuration data, wherein the register configures a hardware component associated with the device.

Description:
l>E¥iCK Pi¾SO& TO I. 3T.|At3ZA ' Fi03S O A SYSTE

[000 ij A computing system may c ftflgu e various electrical devices when the computing system is initialised, T ese confi rati ns of the electrical devices may pertain to circuits, co i g, and ard are fuiictiotiaJity to affect the operations of ine com uting system, EF D SCRIPTION OF THE J>I WJ €iS

[0002] In the ace-oinpanying drawings, like nuaien&ls refer to like components or blocks. The following detailed description references the drawin s, where n;

[0003] FIG, 1 is ¾ block diagram of an example computing s s em including a. power circuit to deliver stand power to a device, the device processes configuration, data from a mem r and confi u es itself based on the eoa%¾mtion data,

[0004] FIG. 2Λ is a diagram of mi example computing system to receive alternating current (AC) power by a power circuit * the power circuit delivers standby power to configure a device prior to delivery of ma power to the device:

[0005] FIG. 2B is a diagram of m example data structure urdnding co fi urat on data fo a register internal to a device, the data structure includes a function of the register, an associated hardware, and a value in which to program a corresponding register;

[0006] FIG. 3 is a flowchar of an example method to process configuration data and configure a device based on the conjur ti n dat prio to initiaji¾ation of a computing system;

[000? j IG, 4 i a flowchart of an example method to plug a computing s stem into m AC source to receive standby power to configure a device accordingly; and

[0008] FIG. 5 is a. flowchart, of an example computing device with a processor to execute instructions in a luac ine-readabie storage medi for applying a standby power to a device, processing configuration data, and configuring a device based on the configuration data prior to applying a main power to the device,

0ET LEi> ESCMP IO

[0009] A computing s stem ma configure its interna! components upon an initialization of a basic input output system BIOS) : BIOS is a standard defining an interface through which electrical devices in the computing system may be configured Configuration may p iti to cedin , hardware components, and other docmnent&tioR to aiYect. the computing syst m function and performance. Electronic devices internal to the computing system ma be designed. In such a way thai they have an appropriate configuration at Initialization (e.g.., booting up) of the computing system,. These devices s ou d default lo a correct configuration or tbe computing system may aot boot up. Additionally, if the devices are configured incorrectly, this a cause a ecsntention between the incorrectly co fi ured electrical devices and may cause latency in booting up the omputin s st m and may also cause damage. For xampl , a pin which includes m electrical connection coming from the electrical device, may used exclusively tor utp t thus. co» «fing the pin as input may cause lite pi to not function or cause damage to the computing system. Additionally, the space of the device may be limited., itom using an additional dedicated: pin to load a dtfTerent configumtkw may not e feasible.

fOOlOJ To address these iss es, an implementation disclosed herein configures, a de ice within a computing system prior to m initialization, of the com uting system. Applying standby power to die device, signals to She device to obtain configuration data within a memory, lite device may then process this configuration data and configure itself based on this configurator* data The device is configured prior to the .initialisation of tbe computing system. Configuring the device prior to the initialization of the competing system reduces a latency associated with bootin up the computing system, as tbe device may already be configured upon iaitiaHratlom Additionally, configuring the device prior to tbe initialization of the computing system, ensures the device is correctly configured for booting up the computing system,

f O! lj in another implementation, a register infernal to the device Is programmed wish a value corresponding to the conigorat!on data, in this implementation, the register may store the value which relates to a condition of a hardware component. This provides control and flexibility as the hardware component: may be managed b the device through programming the register with the value. For example, each pin coming from the device m y be configured through each register, Programming: each register with a different value enables each pin to perform a different functionality. Further, this also allows the device to change functionalities of each pin. For example, one pin ma i clude an input, another pin may include output, while yet another pin may operate as input ant! ou put. The device may change the ft ctionahfe of these pins on another configuration. £0012] hi a. further implementation, the de ice ma include a data, table to identify the value based on the configuration data, Providing the data table with the value to program the register internal to the device provides an automatic configuration without user input. Conlgating the device prior to initialization of the computing system based OH die conigufatiori data enables several variations of coa tations cross various devices, Additionally, ¾ra mk a particular egi ter with the value fro the dat table enables the device to be used in different comp tin system platforms, as the device may configure itself from the table rather than from a platform - specific interface. Further, this enables the device lor use m multiple platforms, as opposed to e ch platform using a specific device to that plafibrat. Furthermore, using the table to identify values tor configuring the device removes a dedicated simpping pin which may fee used to receive configuration data. This also sa e* space within the computing s tem as reducing a number of pins coming f om the device,

£00 B] In summary, implementations disclosed herein reduce latenc associated with initializing a computing s stem. Additionally, the implementations disclosed herein enable the device for multiple configurations among various computing systems.

£0014] Referring now to the figures, FIG.. I is a block diagram of an example computing system. 102. including a power circuit 104 to deliver standby p er 106 to a device 108. By applying the standby power 106, the device 108 may obtain configuration data 1 12 from an associated memory 10 and process the eon uration data at module 1 14 for configuring the device 08 at module 1 16. The device 108 is eonfigwed prior to art initialisation of the com uting system: 102 for booting tip. Configuring the device- 108 prior to the mitialbation of the computing system 102 removes latency associated with iutt the c m. uting system as the device ma already be configured upon initialiiatiaa. The computing system 102 is m electronic device that may be ro rammed to carry out a finite set of operations and as such may include a centra! processing unit (CPU) in addition to the device 108 and the power circuit 304. implementations of th computing system 102 Include a mobile device, a client device:, personal computer, desktop computer, laptop, tablet, notebook, video game console, or other type of electronic device capable of executing various applications and carrying out operations. Additionally, although FIG. 1 illustrates the computing system 102 as including the power circuit 304 and the device iOS, implementations should not be limited to this depict on a$ this was done for iltaratkm purposes, for example, the computing syst m 102 may also include a oihedxwd and a central rocessing unit (CPU).

| 015 The power circuit 1 4 is a type of power processing circuit i Eternal to the computing system J 02 which applies the standby power 106 to the device 108. As such, die power circuit 104 may connect to an external power source (not illustrated), such as an alternating current (AC) power source to apply the standby power 106 to the device 108. The power circuit 104 m y receive owe from the external source and filter, convert, and/or condition the received power to obtain the standby power 106, I one impk entation, the power circuit 104 rosy als deliver a main power in addition to the standby power 106 to the device 101, hi another implementation, the power circuit 104 may he connected to the AC power source and include a low voltage rail to transmit the standby power 106 and a high voltage tx l to transmit the m in power to the device 108, 1« this implementation, the computing system 102 may turn m (i.e., h ot up), thus receiving a higher magnitude of power (e.g., the ma n power) on the high voltage rail, The ma n power initializes the computing system 102 lor boating up. The initialisation of the computing system 1 2 may include the hoot up or power on of the com uting system 102 and as such, may include powering on the CPU a sd operating system, for configuring die overall computing sy m 102, implementations of the power dtedt 104 include a power management circuit:, convener, rectifier, power storage, power fact r correcting ci cuit, circuit logic, amplifier, or other type of power circuit 104 capable of receiving an input power to bta n the standby power 1 6 for the deliver to the device 108, fO l ] The standb power 106 is an auxiliary power applied to the device 108 by the power circuit 104 when the computing system 102 s connected to the external power s urce. The standby power 100 operate as a signal to the device 108 to read the configuration data 1 12 when she computing device is connected. In one implementation, once the computing system 02 Is turned on (i.e., booted up),, the power drcitii 104 delivers he main power to the device 108 in addition to the standby power 100;. however, if the computing system 102 is powered down, the standb power 1 Go ' remains for application to die device 108. in this implementation, when the computing system. 102 is disconnected tram the external power source, the standby power 106 is removed., implementations of the standby power 106 include current, voltage, and or other electrical charge capable of a plication to the device 108.

£0017] The device 108 is an integrated circuit that may manage at least one hard are component and/or at leas! one particular use within the computing system 02 and as such, may include a coraSrolier, such as m I O c ntroller * for e in the c mparin s stem 102. The device 1 8 is us d in addition to the CPU on the modieAoard (not illustrated) of the c mputing s stem 102. In this mplementat n, trie CPU manages the overall operation of the computing system 102 while the device 108 may mange at least on hardware component and/or m nage one particular use of the mpu in system 102.. In this re ard, the device 1.08 ma operate as n auxiliary processor while the CPU ope ates as the ain processing unit In another implementation, the device 108 may include a firmware-based device with machine-readable instmctions executable by the device 1 B. I this im lementation, the device lOS mclo es a firmware-based, device, such as a super I O, apphcatiou^peoiie integrated circuit (ASIC) which may be customized for a specific purpose or particular se, raiher th i for general functioning of the computing system 102. The device 108 may operate with firmware (i.e.,, machine-readable instriictt «s) stored in the memory 11 in addition to the configuration data 112, When the atmptituig syst m 102 is connected to the external power source (hut not yet turned on), the standby power 106 is applied so the device 1 8 may read the configuration data 112 from the memory 1 10, The device 1.0$ oses the configuration data 1 12 to configure its pins, and program desired registers tor initialK ions. Once the c<a*tput» g system 102 is turned on and receives the main power,, the device L08 may already be configured and operating without a basic interface or other type of interface to configure upon Mtialmng the computing system 102, Although FIG. 1 illustrates the device 108 as including the memory 1 10 and modules 1 14*\ 16 this was done for illustration purposes rather than limiting implementations. For exam le, the device 108 may also include a programmable register and/or port, etc. The programmable registers are written with values by the device iOE which correspond to the configuration data. 1 12. The values written to the programmable registers indicate a Ibnctionality of the hardware component that corresponds to that pr grammable register. ImplemeRtati ns of the device 108 include the super MO, Integrated circuit, ASIC, auxiliary cessor auxiliary controller, embedded system:, chipset, microchip, semiconductor, or other type of electronic componen capable of recei ing the standby power 106 for configuraflon,

£00! S| The memory 1.10 is a storage arm internal o the device 10S which maintains the configuration data 1 12, Its one implementation, the standby power 106 ma energize the memory 110 tor the device 108 to retrieve the configuration data 1 12. In another ii«pi ¾entat!on, the memory 110 includes a non-volaiiie memory to maintain the coilgurati n data 1 1:2. In a former im leme t tion the memory HO may include a data table with values corresponding to the conizatio data for the device 108 to program a register. Implementations of the memory 1 10 elude a non-vd file memory, volatile memory, flash memory, local storage, storage rea, memory butler, cache, random access memory (RAM),, dynamic RAM, Electrically Erasable Fro ¾ r«able Read-Ot y memory (EEPROM), read-only memory (ROM), storage drive, or other storage area capable of maintaining the configuration data 1 12,

|¾019] The configuration data 1 12 is a series of variables stored by the memory 1 10 for configuring the device 1 8. I this. manner, the configuration data 1 12 Instincts the device 1 8 how to configure itself is ne im lem n ation, the configuration data 1 12 may include strapping data to define a ioeat on of t e de ice 108 on a mothemoard within the computing system 102, In this iBip enieotatiom the computing system 102 may Include msdtl le devices ø» multiple motherboards, thus the strapping data identifies the location of which device on wh ch mot-heAoard, etc. Additionally, the strapping data may be used to identify a particular configuration among multiple configurations for a particular device with a particular roomefboard, etc. Including the strapping data as the configuration data ! 12 decreases a num er of pins on the device 108 and reduces the overall space of the device 108 as a dedicated strapping pin to drive each type of configuration for the de ic 1 8 .is removed, in another im l mentators, the configuration data 1 12 may include as identification of a articula register whhin the device 1.08, As ock the Idemilc iofi of the particular r gister may be used to determine the value in which to program that reg ster. This implementation is described in detail in a. later figure.

£0020] At module 1.14, the device 108 processes the configuration data 1 12 retrieved from the memory 1 1 , Applying the standby power 106 to the device 108 signals to the device 108 to obtain the configuration data 1 12 tor processing at module 114 In one implem ntation of module 114, the device 108 may ini! e a data table or dam structure to tde lfy a value con«sp ttd g to the co figamdon data. Using the value from the data table, the device 108 may program a register to confi ure a hardware component that corresponds to the register. This implementation is discussed in detail, in later figures, i lementations of the module 1 1 include a sei of instructions, process, operation, logic, algorithm, technique * logical iunetioo, firmwire, an or software execuishle by the device 108 to process the configuration data ! 12,

|002 i j .At module 1 16, the device 108 is configured based on the configuration data 1 12 within the memory 1 10, In one implementation of module 1 16, the device 108 m y write values to desired registers (nor illustrated) to configure the device 108 within the computing system 102, By writing values to the desired registers witMn the device 108, enables di confi uration of hard are components that correspond to the desired registers. The device 1 8 is configured si module 116 prior to the initia!kstioo of the computing system 102. The initialisation of the eornpuririg s stem 102 may i clude booting up the CPU nd¾ the computing system 102.. Implementations of the module 116 include a set of instructions, process, operation, logic, algorithm, technique, logical function, ironware, and/or software executable by the device !OS for∞¾%uring the device 108 based on the configuration data ! 12,

[0022] FIG. 2.A is a diagram, of an. exam le computing system 1.02 t receive in ut power and deliver standby power 106 to configure a device I OS prior to delivery of a main power 220 for ¾iti¾ii«atioa of ihe computing s stem 2. The devic 108 may load configuration data, when the computing system 102 may be con nected to an external power source, During tie com>eetion of the computing system 102 to the external power source, the power circuit 104 may receive m alternating current (AC) power 218 and supply the standby power 106 to the device.. This enables the device 108 to load a cust m configuration prior to the computing system 102 turning on or booting up. Although throughout this application, examples of configuring hard are compo ents such as pins and registers are illustrated and/or described, rnipiemait&uons should no be limited. For example, the cQ»%uratk>» data, may contain program code for the device lOS operation such as; pit* configuration; fan control; thermal ptotect on; function e abled sable; internal/external device addresses, coramuni cation protocols; bus speed; communication bus width; debugging informatio , computing system capability data; programmable register values; and signal sifting timing.

[0023] The AC power 218 i an electrical charge provided to the power circuit 104 upon the computing system 102 connecting to the external power source (not illustrated). The power circuit 104 a control lite amottnt of power delivered ID the device 108, M one implementation,, the AC power 218 is delivered continuously to the powe circuit 104 while the computing system 102. is plugged, into (i.e., connected) to the external power source, in this implementation, the power circui 1.06 provides the standby power 1 0 even though, the computing sy tem 102 may not yet be i itial zed, or tuned on.

f : 0024j The main power 220 is applied to the computing system 102 and ire device 10S to tniiialke the overall Ilmetioning of the computing system 102. In one implementation,, the power 220 is provided to a central processing unit (CPU) to tmtiai e an operating system for the overall ftntetiomng of the computing system 1.02. In this hnptemeat n,. a user may boot up the computing system 102 by i tiating a power state of the power circuit 104 to deliver the main power 220, Implementations of the main power 220 include current, volta e, and/or other electrical charge capable of initi lli g the computing system 102.

£0025] The register 222 stor s a h of kteuation (i.e., value) in mch a way that the device 108 may read or write out the bit of information. ' The bit of information represents a condition of a hardware com onen interna! to the computing system 102. in this im lementat on, the device 108 manages at least one of the ha dware components (not illustrated) Internal to the computing s stem 102.. In. this regard, the register 222 is a placeholder for infhmiaiion about she ha dware J½erkmabty, The value 2:24 indicates a functionality of a hardware component associated with the register 222. In another i pIeme ation, the register 222 configures a thermal circuit through the conftgomion data. In this impleme tation, the thermal circuit s configured prior to the initializatio of the computing sys em 102. Configuring the the mal circuit which may include a thermal s nsor and/or a cooling fan prior to the initi lling the computing system 102, may prevent damage or other type of thermal issues prior to the boot op of the computing system: 102,

|002 ] The value 2:24 is the bit of information programmer! into the register 222 by the device 108, Uslog the configuration data, the value 224 may he identified using a data table or data stmet re as m F l 2 . identifying the value 224 from the data table, enables the device 108 to program and/or write the value 224 to the register 222. Bach value in HG. 2B may represent a various functionality among the hardware components.

[002?] FIG, 28 s a diagram of an example data structure 212 including configuration data to identify a corresponding, value, Applying a standby power t a device, the device may obtain the configuration data from a memory. The device may process the cons iration data to identify the corresponding value, function, and/or hardware.. The device uses the corresponding value, fiinetion, and or hardware to program a register for hardware functionality, The device r grams the register for the coofigtir iort prior to an imtializatiori of a computing system. In one implementation, the data structure may include a fa le with the data to dciemtwe a. corresponding val e, function, and or hardware given a particular register, in this implementation, the configuration data includes an Identification of the particular register, so the device may Identity the corresponding fimctianing, hardware, and/or value for configuration. For example, the configuration data stored in a memory of the device may identify one of the register (REG L, ' BEG 2, EG 3),. thus the device ma process this configaiadon data to determine the corresponding value (0X02, 0X00, 0X01 .

|;0028] Each of th corresponding values (0X02, 0X00, 0X01) correlate to a hardware component (PIN, THERMAL, BUS WIDTH) and in which manner the hardware component is Co fm\< (OUTPUT, MONITOR, CO M). For example, the eonOgwatioo data r c ed by di device may indenhry register i (REG !} which configures a p n associated with the device. In this example, the device may determine the eofrespoadiiig value (0X02) which represents the pm is to operate as output, Irs another example, the >n%tr t on data, may identify register 2 (REG 2) which configures a thermal circuit internal to the com uting system. The device may t en determine the corresponding value (0X1 ) 0) which represents the thermal circuit is to monitor a thermal aspect of the computing system, in farther example, the configaration a identify register 3 (EBO 3) which c nfigures a bus width. The device may then determine e corresponding value (0X01 ) which represents t e bits width is for eojnnrunieahon. The values (0X0:2, 0X00, OXO J) are xs anirued into various internal registers to the device for eouflguraiion, Although FIG, 28 depicts the data sirwcture with various registers (REG I , REG 2, and REG. 3 . hardware functions (OUTPUT, MONITOR, COMM), hardware com on nts (FIN, THERMAL. BUS WiDTB and corres ondin values (0X02, 0X00,, 0X0J), this was done tor iliustration pu poses rather than limiting implementations. For example, the registers may include multiple registers, the corresponding values may inckide binary values, the hardware innefioris may include additional functions such as enaWe disahle, inpuPbntpni, and the hardware components may include additional components such as tan control etc, In another implementation., the cosfiguraikst dais may include strapping data which identifies a configuration amon various conli irations of she device. The strapping data may be used to identify a particular configuration tor the device among multiple coni rattons. In this implementation, there tmy be multiple devices internal to the computing stem, thus each device may include a different configuration, Additionally, this implementation enables the device for use among various platforms among various computing systems, f0029j FIG. 3 is a flowchart of an xam l method to process configuration dat and configure a device based m the eonigMmtion dais prior to initialkation of a computing system. The device is a t nts ware-based device which m include memory and program code stored i n the memory, such as an embedded system. The firmware contained i die device are m&eMase-readabie imim iions which provide the control program for the device and as such may be stored sad/or m inta ned in a non*vdati!e m mory associated with the device. The configuration data includes; information which instructs die configuration of the device:. The configuration data may reside in a memory associated with die d vice, so when sta db powe is applied to the de e, the eor lpration data may be obtained Is one implementation, the configuration data may include identifying data which m y correspond to a valise within a data structure, in this implementation, the device may obtain the value from the data structu e using the configuration data and program the value int a register associated with the device. The register may include information which ma be programmed in such a way dual it instructs the de ice how to use a hardware component associated with die register. For example, the register may be associated with pins on the device and as such, the value programmed into the register ma include input, output, etc, Implementations of the register may include an electronic register, hardware register, and/or processor register. In another implementation,, the configuration data may include strapping data which identifies the type of configuration fo use with the device. In a further implementation, the configuration data may include a fi etionality of bow the device is to operate, Configuring the device prior to the iniiia!imi of the computing system, enables the device to toad the configuration data tor booting up the co uting system. This enables the device to load a custom configuration prior to the computing system power on. Additionally, this m decrease latency in booting up the computing system, in discussin FIG. 3, references may be made to the components in FIGS, 2B to provide contextual exampl s, f urther, although FIG, 3 is described as implemented by a device 10S as m FIG. L it ma be executed an other suitable components. For example, FIG, 3 may be implemented in the for of executable instructions on a machine-readable storage medium, such as sdi ie-readable storage medium 504 as m FIG. 5, In another example, FIG, 3 may he im lemented by a processor associated with the computing system, to m nage functionality and configurati n of the v ce 108,

| 030] At operation 302, the device may p ocess configuration data obtained, r m the memory associated with the device when standby power is applied. At this operation, the device may be plugged into an alternating current (AC) source, but main power may not be applied yet. In this implementation, the computing system m be plugged into a wail outlet and receive AC current which in turn is applied, to the device within the computing system, lie main power w be received by the c futin sys em tel tamed on tills Im lemet i n, the standby power s a lower magnitude of current than the main power applied to the computing device. In th s manner, the device ma be configured tram, standby power prior to initialising the computing system with the ma n power. The standby power is a type of auxiliary power from which ie device may react the eoftltgoratton data fr sii a lash memor of the device. This config ration: data s used to configure the hardware interna! to the computing system, by programming the desired registers for iniiiali n ti .. Tims when the main power is applied and the computing system is initialized, die device ma already be configured md operating property without a b sic input output system. (BIOS) or other type of configuration interface.

[0031 ] ¾ another Implementation of operation 3 , the device uses configuration data to program a register haemal to the device. The register configures a hardware component within the computing system that is associated with the device. For example, the registe may include functioning of fans, thermal monitoring, pin configuration, thermal protection, etc. fe this implementation, m val e programmed into me register cofresponds to the functioning of the hardware component. For example, the hardware i«poneai may include the pin configuration n the device, thus the valt.se programmed into the register may indicate whether a particular pin may funct on as input, output serial port, parallel port etc. fa. a further implemeafeMioft of operation 302 s the device ma process the configuration data, in accordance with a data table. The configuration data may identify the particular register i which to program, thus the device uses the table to determine the value corresponding to the parti eular register in which to program that register. The value programmed into the register defines the fu ctioriality of the hardware com o ted associated with the device.

0032] At o e a ion 30 the device is configured based on the c nfiguratio data processed at operati n 302. The device is configured prior to applying the main power to the computing systa for initialization. Irs this implementation, the device is configured prio to the computing system booting up. In another implementation, the thermal system of the computing system may he configured through, registers internal to the device prior to applying the ma power to the computing system for initiitii^tkm This reduces the traction time of eonf!prirtg the thermal s stem: when experiencing Issues from initial ballon. In a further implementation upon processing operation 304, the method may proceed to applying the ain power to the compiling system, for initialisation. 0033] FIG. 4 a flowchart of an ex m le method to plug a computing s stem into m alternating -cui ent (AC) source to receive standby power and eofriigure a device, accordingly. The device processes conf gurati n data to obtain a value cone poHdi to the eo«%urati n data front a data table m a n vola il memory of the device, the device ma i>e configured, wit the value obtained front the data table by programming the internal register ith the value. ' ne configuration data may include m identification of a particular internal register, thus the tabic may include the cordigarateoii data to identity the particular internal register and the corres ondi g value to write into the particular infernal register. Additionally, the configmtion of he device occurs prior to applying a main power for imtialkatton of the competing system, Pr grammi each internal register with the value corresponding to the o nllgut¾ti n data may control the tlnjctloaaliiy of each pi si ( e,, electrical connection) and/or other hardwire eotnponerrts t us providing flexibility to multiple different co»%uratioas of the device, in discussing FIG, 4, references ma he mad to the components in FIGS, Ϊ-ΙΒ to provide contextual examples, F rther, although FIG, 4 s described as imptee ted by a device 108 as in. FIG; 1 , it may be executed on other suitable c mponents. For example, FIG, 4 .may be implemente by a processor associated with the computing system to manage functionality and configuration, of the device 108, la another example, FIG. 4 may be implemented in the form of executable instructions on a machine-readable storage medium, such, as mac «e«Feadable storage medium 504 as in FIG, 5,

£0034] At operation 402, the computing system is plugged into the AC power source. The AC power source rovides the iow of el ectrical charge to the computing system . The AC power source provides current so the computing system and in turn, the device. In one implementation, operation 02 may .include conditioning the AC current freui the AC power source Into direct current (DC), The AC power source provides two different power rails to the computing system. These power rai s include the standby power and a m in power. The AC power source provides the standby power so the computing system and device on the lower powered rail, when plugged into the AC source. The standby power Is a lesser magnitude of power than the .main power. In other words, the main power is a higher magnitude of power than the standby power, The m n power is delivered on. the higher powered rail to the computing system when the computing system is turned n and/or booted up, in this implementation, the standby power is a minimal amount of power applied to the device for configuration. The c mputing system includes the device as part of the system, thus the device may receive standby power a$ at operafion 40 en the computing s stem is plugged into the AC source. In turn, wfeen the confutin s stem is unplugged fem the AC source, the standby power is removed: from the device.

[0035] At operation 404, e d vice receives th standby power when the computing stem is plugged vto the AC source as at operation 402.. The standby power, as opposed to the main, power, provides a standby content to the d ce when the computing system may be powered (e.g.., plugged into the AC power s u ce), but has n t started up yet In this Implementation, the standby power is a lower magnitude of current than the main pow applied at operation 414.

[0036] At operation 406-, the device ma obtain the configuration dat from a mem cay and process the co figuration data when the standby power received at operation 404 is applied to the device,, in one Implementation, the device may proceed to operation 408 u n, processing the configamion data, Operation 406 ma be similar in functionary to operation 302 as m PIG. 3.

[003?] At operation 08, the device may obtain a alue from a table comtsponding to the configu tion data processe at operation 406, At tbi s p ration, the device ma include a data -table or other type of data structure and using the configuration data obtained from the mem r at ope aion 406, the device ma identity the value corresponding to the configuration data, The configuration, data is a means for identifying the particular value within the table to program a register for a hardware eorsilgurabors as at operation 41:2. For example, the configuration data, raay include identifying a location of the value in the data table or the particular reg ter in which to program for the configuration of the device at operation 10.. Obtaining the value from the table, enables the table to include multiple configurations for various devices as the table ma be specific to he device. The configuration data may identify the particular register, thus using this identification, the -table includes tire value in which to pr gr m that particular register. The value programmed into tie register deities, the functionality of the cotrapondisag hard are component P>3$] At operation 410, the device ma configure itself based the c tfipration data obtained from the memory at operation 406, The device is configured p io to the application of the main power for indialkatiou of the com uting s st m a$ at operations 414-416, In one implementation, the device may obtain a ine corresponding to the configuration data from a table as at operation 408. In another implementation, rather than utilizing the table to identi y the value to configure the hardware component, the configuration data may instruct the device bow t configure the hard a e c m onents within the computing system. Operation 41.0 may be sim lar in functionality to operation 304 as in P 3, 3.

[0039] A o erat on 412, he device ma program an Interna! register with the value obtained at operation 408. Programming the interna! register with the value,, enables a hardware eoniponesi t at ma be configured through that Internal register with a functionality of the hardware component For example, the device ma include at least one internal register to configure th functionality of an electrical connection (i.e., pin) thai consists of an electrical conductor from the de ice to other various com nents hi this example, the value programmed into the internal re iste indicates whether the pin is to iunction as input output, ittput outpu^ etc. in this manner, the value obtained at operation 408 may indicate the functionality of tire hardware component. Ϊ» another implementation * the thermal system of the computing system may be configured by writing the value to the register camispondirsg to the thermal system. In this implementation, the thermal system may e configured prior its he application of the main power to initialize the computing system as at operations 414-416, Configuring the thermal sys em prior to the initialisation of the computing system r uc the reaction time trout a detected issue upon the ihaikation of th computing system,

[0040] At operation 414, the computing system may turn on and apply a main power to a ma n processing unit (e.g., central processing unit) for the initialisation of the computing system as at operation 416. Th main power enables the operating system communicating with the main processing uni of the computing system to manage the overall i!mchoning of the computing system. The main processing unit, also referred to as the central processing unit (CPU) is a hardware com onent within the computing system that performs the basic arithmetical, logical and inp«t o¾ipi« operations of the system. In this implementation, the device may include an anxHiary processing unit to manage various hardware componen s within the computing system, while the CPU manages the overall functioning of the computing system, lit another implementation, when the main power shuts, down, but the comput ng system and/or device remains plugged into the AC source, the standby power as at operation 404 remains..

| 0 i ] At operation 41.6, once appl ing the main power as at operation 404, the method proceeds to initialize die computing system, in this implementation, the central processing unit of the computing system may initialise to star powering on. Additionally * in this implementation the device configured at operation 410, unlike the centra! processing unit, is a tl on ware-based device that may mana e the jRifsc£c»½Iity of me of hardware components In the c mputing $y«tem. The fnmw&re i$ machine-readable instructions and as such, is stored within the device in a notv-volatife memory to provide the control program ibr the device.

| 042] FIG 5 h a block diagram of m example computing device 500 with a processor 502 to execute irsstrudi rts. 506-522 within a machine-readable storage -medi m 504. Specifically, the c m ut n device 580 with the processor 502 s to apply a standby power to a device, process contigurMioii data, aw! configure the device based o the configuration data. The device s configured prior to a plying a nmin power to the device and or Inkialixing a computing system associated w th the device. Although the computing device 50 includes processor 502 and ftt& ne-resdafole storage medium 50 , it may also include other components thai ou d be Stable to one skilled in the art.. For example, the computing device 500 m inciiide the power circuit 104 and/or memory 1 10 as in FIG. I. The computing device SOO is an electronic device with the processor 502 capable of executing instructions 506-522, aad as suc , e diments of the computing device 500 include a mobile de ce, client device, personal computer, desktop computer; laptop, tablet, video game console, or other type of electronic device capable of executing instnictioas 506-522. Hie imtmctions 506-522 may be implemented as eth d^ fime&om, operations, and other processes implemented as machine-readable instructions stored on the storage medium 504, which may be nots-iratsitory, such s h dware storage devices e.g., random access memory (RAM), read only memory (ROM), erasable programmable ROM, electrically erasable ROM, hard drives, and fks memory).

[0043 ] The processor 502 may fetch, decode, and execute instructions 506-522 ¾> apply stand y p wer, process eoafiguratsoo. data, and configure the device based on the eceifjf -atiea data prior to mWalkation of the computing sys em:. In ne implementation,, upon executin iasirudions 506 » 512, the processor 502 m execute instructions 520 arid/or 522. In ano er implementation, pon executing insrasetions 506-510, the processor 502 may execute instruciions 51 -518 id proceed to instmetioris 520 and/or 522. The processor 502 executes instructi ns 506-510 to: apply the standby power o the device with½ the eotnpudng system; process the configuration data obtained from, the memory of the device; and configure the device based on the configuration data. The configuration of the device occurs prior to applying the main power to the computing system tor the irtiii alt natio of the computing system. The processor 502 may execute instruction 512 to program a register internal to the dev ce wit a value obtained fern a table, M aft alternative to instaetion 51.2, the processor 502 ma execute instructions 514-518 to configure pins associated with the dev ce, instruetiotrs 514-518 include: obtain a value front a data structure; program the register interna! to the device the value obtained from t e data structure; and configure the pirn associated with the device based on the value programmed into the register, The rocessor 502 may proceed to execute instructions 520-522 to: apply the main power to the computing device, the twain power may als he applied to fee device; and initializing the computing system from the application of the main power, implementations of the ressor 502 may include w integrated circuit, a microchip, processor, chipset electronic circuit,, microprocessor semiconductor, microcontroller, central processing unit (CPU), graphics processing unit (GPU), semiconductor, or other type of prograremahle device capable of executing i»§tnictio*is 506-522.

| 044] The machine-readable s rag medium 504 in ludes nst uctions 506-522 for the processor 502 to f tch, decode, and execute. In another mhodi ent, the machine-readable storage di m 504 may he an electronic, magnetic, optical, memory, storage, fissh-dnve, or other physical device that contains or stores executabl instructions. Th«s s the machine-readable storage m dium 504 may include, for example. Random Access Memory (RAM), a« Electrically Erasable Programmable Read-Only Memory fEH RO ), a. storage drive, a. mem r cache, network storage, a Compact Disc- Read Only Memory (CDRQM) and the like. As such, the machine -readable storage medium 504 may include an application and/or finst are which can be uifced independently and/or in conjunction with the processor 502 to fetch, decode., and/or execute instructions of the maehke^eadab!e storage medium 504.. The application and/or firmware may be stored on the machine-readable storage medium 504 and/or stored on another location of the computing device 500..

|0045] in summary, implementations disclosed herein reduce latency associated with initialising a computing system. Additionally, the implementations disclosed herein enable the device for multiple configurations amon various computing systems.