硬件設(shè)備的對(duì)象到健康控制信息的轉(zhuǎn)換的制作方法
【專利摘要】本文公開的各示例涉及硬件設(shè)備的對(duì)象到健康控制信息的轉(zhuǎn)換。各示例包括從面向?qū)ο蟮臄?shù)據(jù)庫采集硬件設(shè)備的對(duì)象,所述對(duì)象包括由所述硬件設(shè)備確定的運(yùn)行參數(shù)值。各示例進(jìn)一步包括將所述對(duì)象轉(zhuǎn)換成健康控制器可用的健康控制信息。
【專利說明】硬件設(shè)備的對(duì)象到健康控制信息的轉(zhuǎn)換
【背景技術(shù)】
[0001]諸如臺(tái)式計(jì)算機(jī)、筆記本計(jì)算機(jī)等之類的計(jì)算設(shè)備可以針對(duì)該計(jì)算設(shè)備的各組件監(jiān)視其運(yùn)行的物理特性,如所產(chǎn)生的熱量、功耗,等等。這樣的計(jì)算設(shè)備還可以嘗試將這樣的物理特性維持在期望的操作范圍內(nèi)。例如,計(jì)算設(shè)備可以操作冷卻風(fēng)扇,以將該計(jì)算設(shè)備的組件的工作溫度維持在期望的操作范圍內(nèi)。
【專利附圖】
【附圖說明】
[0002]下面的詳細(xì)描述參照附圖,其中:
[0003]圖1是包括健康控制器以及與該健康控制器交互的健康驅(qū)動(dòng)器的示例性計(jì)算設(shè)備的框圖;
[0004]圖2是包括用于存儲(chǔ)與硬件設(shè)備關(guān)聯(lián)的對(duì)象的面向?qū)ο蟮臄?shù)據(jù)庫的示例性計(jì)算設(shè)備的框圖;
[0005]圖3是用于將面向?qū)ο蟮臄?shù)據(jù)庫的對(duì)象轉(zhuǎn)換成可由健康控制器使用的健康控制信息的示例性計(jì)算設(shè)備的框圖;
[0006]圖4是用于利用計(jì)算設(shè)備的健康控制器控制該計(jì)算設(shè)備的運(yùn)行參數(shù)的示例性方法的流程圖;并且
[0007]圖5是用于在經(jīng)過更新時(shí)間段之后采集硬件設(shè)備的更新對(duì)象的示例性方法的流程圖。
【具體實(shí)施方式】
[0008]如上面提到的,計(jì)算設(shè)備可以嘗試將各種計(jì)算設(shè)備組件的物理特性維持在期望的操作范圍內(nèi)。例如,計(jì)算設(shè)備的健康控制器可以監(jiān)視該計(jì)算設(shè)備的各組件的運(yùn)行參數(shù),如溫度、功耗、頻率等等。在這樣的示例中,健康控制器可以從該計(jì)算設(shè)備的諸如溫度傳感器和功率傳感器之類的各傳感器接收讀數(shù),且可以響應(yīng)于這些讀數(shù)而控制該計(jì)算設(shè)備的運(yùn)行參數(shù)。例如,健康控制器可以基于從溫度傳感器接收到的讀數(shù)來控制該計(jì)算設(shè)備的冷卻風(fēng)扇的速度,以平衡可接受的組件溫度和風(fēng)扇噪音水平。
[0009]在一些示例中,與計(jì)算設(shè)備的擴(kuò)展槽連接的擴(kuò)展卡,如外圍組件互聯(lián)(PCI)卡以及快速PCI (PCI Express)卡,可能對(duì)該計(jì)算設(shè)備的運(yùn)行參數(shù)具有相當(dāng)?shù)拇蟮挠绊?。例?像圖形處理單元(GPU)這樣的擴(kuò)展卡可能比計(jì)算設(shè)備的中央處理單元(CPU)消耗更多功率,并且可能生成更多熱量。因此,一些擴(kuò)展卡包括內(nèi)部健康管理功能,以監(jiān)視并調(diào)整擴(kuò)展卡的運(yùn)行參數(shù)。
[0010]通過訪問由擴(kuò)展卡取得的內(nèi)部測(cè)量結(jié)果,計(jì)算設(shè)備的健康控制器可以更好地管理該計(jì)算設(shè)備的整體運(yùn)行參數(shù)以及聲學(xué)性能。然而,由擴(kuò)展卡內(nèi)部地取得的運(yùn)行參數(shù)測(cè)量結(jié)果經(jīng)常不可由與該擴(kuò)展卡連接的計(jì)算設(shè)備的健康控制器利用。例如,許多健康控制器包括專用集成電路(ASIC),該ASIC監(jiān)視來自與該ASIC的專用寄存器直接連接的傳感器的運(yùn)行參數(shù)測(cè)量結(jié)果。然而,在連接至擴(kuò)展槽時(shí),許多擴(kuò)展卡不具有與健康控制器ASIC的直接硬件連接,且不支持可以允許健康控制器輪訓(xùn)擴(kuò)展卡內(nèi)部測(cè)量結(jié)果的硬件接口協(xié)議。
[0011]為了解決這些問題,本文描述的各示例提供了一種包括面向?qū)ο蟮臄?shù)據(jù)庫的計(jì)算設(shè)備,該面向?qū)ο蟮臄?shù)據(jù)庫用于存儲(chǔ)與硬件設(shè)備關(guān)聯(lián)的對(duì)象,該與硬件設(shè)備關(guān)聯(lián)的對(duì)象包括硬件設(shè)備確定的運(yùn)行參數(shù)值。本文描述的各示例還包括一種健康驅(qū)動(dòng)器,用于從數(shù)據(jù)庫采集對(duì)象,并將對(duì)象轉(zhuǎn)換成計(jì)算設(shè)備的健康控制器可用的且表示硬件設(shè)備所確定的運(yùn)行參數(shù)值的健康控制信息。在這樣的示例中,像擴(kuò)展卡這樣的硬件設(shè)備的設(shè)備驅(qū)動(dòng)器可以將內(nèi)部運(yùn)行參數(shù)測(cè)量結(jié)果存儲(chǔ)在面向?qū)ο蟮臄?shù)據(jù)庫的對(duì)象中,且健康驅(qū)動(dòng)器可以獲得該對(duì)象,并將該測(cè)量結(jié)果以健康控制器可用的格式提供給健康控制器。
[0012]以這樣的方式,本文描述的各示例可以使得擴(kuò)展卡所確定的運(yùn)行參數(shù)值能夠被傳遞到計(jì)算設(shè)備健康控制器,而不需要對(duì)現(xiàn)有的擴(kuò)展卡進(jìn)行硬件改變,不需要使用復(fù)雜的硬件協(xié)議或設(shè)備專用的軟件應(yīng)用程序。此外,本文描述的各示例可以允許健康控制器利用來自具有關(guān)聯(lián)驅(qū)動(dòng)器的任意擴(kuò)展卡的內(nèi)部測(cè)量結(jié)果,其中該關(guān)聯(lián)驅(qū)動(dòng)器用于向面向?qū)ο蟮臄?shù)據(jù)庫發(fā)布測(cè)量結(jié)果。此外,通過發(fā)布面向?qū)ο蟮臄?shù)據(jù)庫的對(duì)象中的內(nèi)部測(cè)量結(jié)果,本文描述的各示例可以使健康驅(qū)動(dòng)器能夠解釋并適當(dāng)?shù)卦O(shè)置測(cè)量結(jié)果的格式,以為健康控制器使用,而不需要硬件設(shè)備的先驗(yàn)知識(shí)。
[0013]現(xiàn)在參考圖各圖,圖1是一種示例性計(jì)算設(shè)備100的框圖,計(jì)算設(shè)備100包括健康控制器160以及與健康控制器160交互的健康驅(qū)動(dòng)器120。如本文所用的,“計(jì)算設(shè)備”可以為臺(tái)式機(jī)、筆記本電腦、工作站、服務(wù)器、計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備、芯片組、或任意其它處理設(shè)備或裝置。在圖1的示例中,計(jì)算設(shè)備100包括面向?qū)ο蟮臄?shù)據(jù)庫110、健康驅(qū)動(dòng)器120以及健康控制器160。
[0014]在圖1的示例中,面向?qū)ο蟮臄?shù)據(jù)庫110可以將對(duì)象130存儲(chǔ)在數(shù)據(jù)庫110中。如本文所用的,“對(duì)象”為被格式為適于作為在面向?qū)ο蟮木幊讨械膶?duì)象運(yùn)行的數(shù)據(jù)結(jié)構(gòu)的信息的集合。因此,本文中,對(duì)象可以稱作“面向?qū)ο蟮木幊虒?duì)象”。在一些示例中,對(duì)象可以包括至少一個(gè)數(shù)據(jù)字段,可以與至少一種方法關(guān)聯(lián),或其結(jié)合。此外,如本文所用的,“面向?qū)ο蟮臄?shù)據(jù)庫”為用于管理并存儲(chǔ)面向?qū)ο蟮木幊虒?duì)象的數(shù)據(jù)庫。盡管圖1在面向?qū)ο蟮臄?shù)據(jù)庫110中顯示了一個(gè)對(duì)象,但數(shù)據(jù)庫110可以存儲(chǔ)并管理多個(gè)對(duì)象。
[0015]對(duì)象130可以與硬件設(shè)備關(guān)聯(lián)。在一些示例中,對(duì)象130可以包括硬件設(shè)備標(biāo)識(shí)字段,用于存儲(chǔ)識(shí)別關(guān)聯(lián)的硬件設(shè)備的硬件設(shè)備標(biāo)識(shí)信息132。在其它示例中,對(duì)象130可以包括在另一個(gè)對(duì)象中,用于存儲(chǔ)硬件設(shè)備的各種類型的數(shù)據(jù)。在一些示例中,硬件設(shè)備可以為連接至計(jì)算設(shè)備100的擴(kuò)展槽的擴(kuò)展卡。例如,硬件設(shè)備可以為連接至計(jì)算設(shè)備100的PCI槽的PCI擴(kuò)展卡,連接至計(jì)算設(shè)備100的PCI Express槽的PCI Express擴(kuò)展卡,或連接至計(jì)算設(shè)備100的適當(dāng)擴(kuò)展槽的任意其它類型的擴(kuò)展卡。示例性擴(kuò)展卡包括例如:包括圖形處理單元(GPU)的顯卡或其它卡,聲卡等等。在其它示例中,硬件設(shè)備可以為計(jì)算設(shè)備100的任意其它類型的硬件設(shè)備,例如,處理器、ASIC、存儲(chǔ)設(shè)備,等等。例如,硬件設(shè)備可以為處理器、ASIC、或計(jì)算設(shè)備100的主板的其它電路、或連接至計(jì)算設(shè)備100的主板的其它電路。
[0016]在圖1的示例中,對(duì)象130可以包括至少一個(gè)運(yùn)行參數(shù)值字段,用于存儲(chǔ)運(yùn)行參數(shù)值134。如本文所用的,“運(yùn)行參數(shù)值”表示與硬件設(shè)備的運(yùn)行關(guān)聯(lián)的物理特性。運(yùn)行參數(shù)值可以為表示例如與硬件設(shè)備關(guān)聯(lián)的溫度、風(fēng)扇速度、功率、電壓、電流、濕度、高度等的值。在一些示例中,硬件設(shè)備可以測(cè)量、估計(jì)、或確定硬件設(shè)備的至少一個(gè)運(yùn)行參數(shù)的值。例如,擴(kuò)展卡可以包括用于測(cè)量擴(kuò)展卡的處理器附近的溫度的溫度傳感器,用于確定擴(kuò)展卡的風(fēng)扇速度的傳感器,或用于測(cè)量擴(kuò)展卡的功耗的傳感器等,或其結(jié)合。
[0017]在圖1的示例中,面向?qū)ο蟮臄?shù)據(jù)庫110可以將硬件設(shè)備所確定的硬件設(shè)備的運(yùn)行參數(shù)值134存儲(chǔ)在與硬件設(shè)備關(guān)聯(lián)的數(shù)據(jù)庫110的對(duì)象130中。在一些示例中,數(shù)據(jù)庫110可以將硬件設(shè)備所確定的運(yùn)行參數(shù)值134存儲(chǔ)在與硬件設(shè)備關(guān)聯(lián)的對(duì)象130的運(yùn)行參數(shù)值字段中。例如,數(shù)據(jù)庫110可以將利用擴(kuò)展卡的溫度傳感器測(cè)量的擴(kuò)展卡的溫度值存儲(chǔ)在與該擴(kuò)展卡關(guān)聯(lián)的數(shù)據(jù)庫110的對(duì)象中??梢砸跃幋a在機(jī)器可讀存儲(chǔ)介質(zhì)上的可執(zhí)行指令的形式、電路的形式、或其結(jié)合的形式實(shí)現(xiàn)面向?qū)ο蟮臄?shù)據(jù)庫110的功能。
[0018]在一些示例中,數(shù)據(jù)庫110可以將硬件設(shè)備所確定的運(yùn)行參數(shù)值存儲(chǔ)為與從硬件設(shè)備采集的運(yùn)行參數(shù)值的格式不同的格式。例如,數(shù)據(jù)庫110可以從與硬件設(shè)備交互的設(shè)備驅(qū)動(dòng)器接收硬件設(shè)備所確定的運(yùn)行參數(shù)值。在這樣的示例中,設(shè)備驅(qū)動(dòng)器可以在數(shù)據(jù)庫110存儲(chǔ)之前,改變從硬件設(shè)備采集的運(yùn)行參數(shù)值的格式。在其它示例中,數(shù)據(jù)庫110可以將硬件設(shè)備所確定的運(yùn)行參數(shù)值存儲(chǔ)為從硬件設(shè)備采集的運(yùn)行參數(shù)值的格式。
[0019]如上面所提到的,計(jì)算設(shè)備100包括健康控制器160。健康控制器160可以包括用于根據(jù)接收到的運(yùn)行參數(shù)值管理計(jì)算設(shè)備100的運(yùn)行參數(shù)的電路和機(jī)器可讀指令的結(jié)合。例如,健康控制器160可以接收表示計(jì)算設(shè)備100的組件(例如,處理器,等)或連接至計(jì)算設(shè)備100的組件(例如,擴(kuò)展卡)的溫度、風(fēng)扇速度、功耗、電壓、電流、濕度、高度等的運(yùn)行參數(shù)值,并根據(jù)至少一個(gè)接收到的運(yùn)行參數(shù)值直接或間接控制計(jì)算設(shè)備100的運(yùn)行參數(shù)(例如,風(fēng)扇速度、功耗,等等)。
[0020]在一些示例中,健康控制器160可以包括健康管理ASIC(例如,風(fēng)扇控制器、超級(jí)1/0,等等)以及編碼在機(jī)器可讀存儲(chǔ)介質(zhì)上的、可由健康管理ASIC (例如,健康管理固件)執(zhí)行的指令。在一些示例中,機(jī)器可讀存儲(chǔ)介質(zhì)可以與健康管理ASIC分開,且健康管理ASIC可以采集、解碼并執(zhí)行存儲(chǔ)在機(jī)器可讀存儲(chǔ)介質(zhì)上的指令,以實(shí)現(xiàn)本文關(guān)于健康控制器160描述的功能。
[0021]在圖1的示例中,計(jì)算設(shè)備100還包括健康驅(qū)動(dòng)器120,用于與健康控制器160交互。健康驅(qū)動(dòng)器120包括采集模塊122以及轉(zhuǎn)換模塊124。在一些示例中,健康驅(qū)動(dòng)器120可以包括其它模塊。健康驅(qū)動(dòng)器120可以為與健康控制器160的電路(例如,健康管理ASIC,等等)交互的設(shè)備驅(qū)動(dòng)器。如本文所用的,“設(shè)備驅(qū)動(dòng)器”為包括提供硬件設(shè)備與計(jì)算設(shè)備的操作系統(tǒng)和計(jì)算設(shè)備的至少一個(gè)應(yīng)用程序中的至少一個(gè)之間的接口的機(jī)器可讀指令集的信息。
[0022]在一些示例中,包括健康驅(qū)動(dòng)器120的任意模塊的健康驅(qū)動(dòng)器120可以被實(shí)現(xiàn)為編碼在機(jī)器可讀存儲(chǔ)介質(zhì)上的可執(zhí)行指令的形式。如本文所用的,“機(jī)器可讀存儲(chǔ)介質(zhì)”可以為任意電的、磁的、光的或其它物理存儲(chǔ)設(shè)備,用于包含或存儲(chǔ)像可執(zhí)行指令、數(shù)據(jù)等這樣的信息。例如,本文描述的任意機(jī)器可讀存儲(chǔ)介質(zhì)可以為隨機(jī)存取存儲(chǔ)器(RAM)、閃存、存儲(chǔ)驅(qū)動(dòng)(例如,硬盤)、只讀光盤存儲(chǔ)器(CD-ROM)等等中的任意一種,或其組合。此外,本文描述的任意機(jī)器可讀存儲(chǔ)介質(zhì)可以為非瞬態(tài)的。
[0023]采集模塊122可以從數(shù)據(jù)庫110采集對(duì)象130。在一些示例中,模塊122可以詢問數(shù)據(jù)庫110至少一次,以發(fā)現(xiàn)對(duì)象130。例如,通過詢問數(shù)據(jù)庫110至少一次,模塊122可以確定數(shù)據(jù)庫110是否包括包含健康控制器160可以使用的運(yùn)行參數(shù)值的任意對(duì)象。例如,模塊122可以針對(duì)連接至計(jì)算設(shè)備100的指定類型的硬件設(shè)備(例如,視頻卡)詢問數(shù)據(jù)庫110,識(shí)別健康控制器感興趣的硬件設(shè)備,然后詢問數(shù)據(jù)庫110哪個(gè)感興趣的硬件設(shè)備包括健康控制器160感興趣的運(yùn)行參數(shù)值(例如,溫度值)。在其它示例中,模塊122可以執(zhí)行其它詢問,以在數(shù)據(jù)庫110中發(fā)現(xiàn)感興趣的對(duì)象。
[0024]在數(shù)據(jù)庫110響應(yīng)于模塊122的詢問而識(shí)別出包括健康控制器160感興趣的運(yùn)行參數(shù)值的對(duì)象之后,模塊122可以從數(shù)據(jù)庫110采集該對(duì)象,以獲得該對(duì)象中包括的運(yùn)行參數(shù)值。例如,如果模塊122通過對(duì)數(shù)據(jù)庫110的至少一次詢問確定對(duì)象130包括健康控制器160感興趣的運(yùn)行參數(shù)值,那么模塊122可以采集對(duì)象130,以獲得運(yùn)行參數(shù)值134。例如,模塊122可以通過使用之前在詢問過程中從數(shù)據(jù)庫110接收的識(shí)別信息來訪問數(shù)據(jù)庫110中的對(duì)象130。在一些示例中,模塊122可以定期采集對(duì)象130,以隨著運(yùn)行參數(shù)值134被更新而采集其更新版本。
[0025]轉(zhuǎn)換模塊124可以將采集的對(duì)象130轉(zhuǎn)換成健康控制器160可用的且表示硬件設(shè)備所確定的運(yùn)行參數(shù)值134的健康控制信息182。在運(yùn)行參數(shù)值134為健康控制器160可用的格式的示例中,模塊124可以通過從對(duì)象130中提取運(yùn)行參數(shù)值134,來將對(duì)象130轉(zhuǎn)換成健康控制信息182。在這樣的示例中,模塊124可以從對(duì)象130中提取值134,并將值134作為健康控制信息182提供給健康控制器160。在一些示例中,模塊124可以進(jìn)一步將提取的值134轉(zhuǎn)換成健康控制器160可以接收并使用信息的格式。
[0026]在其它示例中,模塊124可以根據(jù)包括在對(duì)象130中的、用于提供運(yùn)行參數(shù)值134的上下文的信息,將運(yùn)行參數(shù)值134轉(zhuǎn)換成健康控制信息182。在這樣的示例中,模塊124可以進(jìn)一步將值134轉(zhuǎn)換成具有健康控制器160可以接收并使用信息的格式的健康控制信息182。例如,對(duì)象130可以包括提供運(yùn)行參數(shù)值134的上下文的至少一個(gè)字段,例如,值134的測(cè)量結(jié)果的單位(例如,攝氏、華氏,等)、值134的格式(例如,整數(shù)、浮點(diǎn),等等)、值134的精度、值134的范圍(例如,最小值和最大值)、值134的臨界極限、值134的更新速率,等等。在其它示例中,對(duì)象130中可以具有額外的或其它字段。
[0027]在一些示例中,模塊124可以利用此附加信息中的一些或全部,以將值134轉(zhuǎn)換成健康控制器160可用的健康控制信息182。例如,模塊124可以至少利用指示的范圍值,以將值134歸一化為以對(duì)象130中指示的值范圍的比例表示值134的值。此外或可替代地,模塊124可以轉(zhuǎn)換對(duì)象130,使得所產(chǎn)生的健康控制信息182具有健康控制器160的寄存器可以接受的格式(例如,8位值)。例如,模塊124可以通過將值134轉(zhuǎn)換為相對(duì)于對(duì)象130中指示的范圍值歸一化的8位值,來將采集的對(duì)象130轉(zhuǎn)換成健康控制信息182。在一些示例中,將對(duì)象130轉(zhuǎn)換成健康控制信息182之后,健康驅(qū)動(dòng)器120可以將健康控制信息182提供給健康控制器160。例如,健康驅(qū)動(dòng)器120可以將健康控制信息182存儲(chǔ)在健康控制器160的寄存器中,例如,健康控制器160的健康管理ASIC的通用寄存器。
[0028]在圖1的示例中,健康控制器160包括控制模塊162,用于根據(jù)從健康驅(qū)動(dòng)器120接收的健康控制信息182來控制計(jì)算設(shè)備100的運(yùn)行參數(shù)。控制模塊162的功能可以被實(shí)現(xiàn)為編碼在機(jī)器可讀存儲(chǔ)介質(zhì)上的可執(zhí)行指令的形式、電路的形式或其結(jié)合。例如,控制模塊162可以被實(shí)現(xiàn)為編碼在機(jī)器可讀存儲(chǔ)介質(zhì)(例如,固件)上的由健康控制器160的電路(例如,健康管理ASIC)可執(zhí)行的指令的形式。在一些示例中,本文與圖1關(guān)聯(lián)描述的功能可以與本文與圖2-5中的任意圖關(guān)聯(lián)描述的功能結(jié)合提供。
[0029]圖2是示例性計(jì)算設(shè)備200的框圖,計(jì)算設(shè)備200包括面向?qū)ο蟮臄?shù)據(jù)庫110,用于存儲(chǔ)與硬件設(shè)備關(guān)聯(lián)的對(duì)象230。計(jì)算設(shè)備200可以包括操作系統(tǒng)(OS)模塊250,用于實(shí)現(xiàn)計(jì)算設(shè)備200的操作系統(tǒng)。在圖2的示例中,OS模塊250可以包括如上面與圖1關(guān)聯(lián)描述的面向?qū)ο蟮臄?shù)據(jù)庫110,且附加地包括通信模塊212。OS模塊250還可以包括數(shù)據(jù)庫接口模塊252。包括數(shù)據(jù)庫110的OS模塊250的功能可以被實(shí)現(xiàn)為編碼在機(jī)器可讀存儲(chǔ)介質(zhì)上的可執(zhí)行指令的形式、電路的形式或其結(jié)合。
[0030]計(jì)算設(shè)備200還包括如上面與圖1關(guān)聯(lián)描述的健康控制器160以及健康驅(qū)動(dòng)器120。在圖2的示例中,健康控制器160還包括寄存器264和266,且健康驅(qū)動(dòng)器120還包括提供模塊226。計(jì)算設(shè)備200還可以包括擴(kuò)展槽246,用于容納硬件設(shè)備。在圖2的示例中,擴(kuò)展卡240可以連接至擴(kuò)展槽264。計(jì)算設(shè)備200還可以包括擴(kuò)展卡驅(qū)動(dòng)器248,用于與擴(kuò)展卡240交互。擴(kuò)展卡240可以為如上面與圖1關(guān)聯(lián)描述的任意類型的擴(kuò)展卡。在一些示例中,擴(kuò)展卡240可以包括處理器242以及溫度傳感器244,溫度傳感器244與處理器242相鄰,用于確定(例如,測(cè)量、檢測(cè)等)處理器242附近的溫度。如本文所用的,“處理器”可以為以下中的至少一種:中央處理單元(CPU)、基于半導(dǎo)體的微處理器、GPU、配置用于檢索并執(zhí)行指令的現(xiàn)場(chǎng)可以編程門陣列(FPGA)、適用于檢索并執(zhí)行存儲(chǔ)在機(jī)器可讀存儲(chǔ)介質(zhì)上的指令的其它電路或其結(jié)合。在一些示例中,擴(kuò)展卡240可以為顯卡,且處理器242可以為GPU。擴(kuò)展卡驅(qū)動(dòng)器248可以為擴(kuò)展卡240的設(shè)備驅(qū)動(dòng)器。例如,驅(qū)動(dòng)器248可以為擴(kuò)展卡240與至少OS模塊250之間的接口的設(shè)備驅(qū)動(dòng)器。
[0031]在圖2的示例中,面向?qū)ο蟮臄?shù)據(jù)庫110可以將對(duì)象230存儲(chǔ)在數(shù)據(jù)庫110中。盡管圖2在面向?qū)ο蟮臄?shù)據(jù)庫110中顯示了一個(gè)對(duì)象,但數(shù)據(jù)庫110可以存儲(chǔ)并管理多個(gè)對(duì)象。對(duì)象230可以與硬件設(shè)備關(guān)聯(lián)。在一些示例中,硬件設(shè)備可以為上面與圖1關(guān)聯(lián)描述的任意硬件設(shè)備。在圖2的示例中,對(duì)象230可以與擴(kuò)展卡240關(guān)聯(lián)。在這樣的示例中,對(duì)象230可以將識(shí)別關(guān)聯(lián)的擴(kuò)展卡240的擴(kuò)展卡標(biāo)識(shí)信息232存儲(chǔ)在對(duì)象230的硬件設(shè)備標(biāo)識(shí)字段中。在其它示例中,對(duì)象230可以包括在可以存儲(chǔ)關(guān)聯(lián)的擴(kuò)展卡240的各種類型的數(shù)據(jù)的另一個(gè)對(duì)象中。對(duì)象230還可以包括至少一個(gè)運(yùn)行參數(shù)值字段,用于存儲(chǔ)運(yùn)行參數(shù)值。在圖2的示例中,對(duì)象230的運(yùn)行參數(shù)值字段可以包括溫度值字段,用于存儲(chǔ)溫度值234。
[0032]如上面與圖1關(guān)聯(lián)描述的,面向?qū)ο蟮臄?shù)據(jù)庫110可以將由硬件設(shè)備確定的硬件設(shè)備的運(yùn)行參數(shù)值存儲(chǔ)在與該硬件設(shè)備關(guān)聯(lián)的數(shù)據(jù)庫110的對(duì)象中。例如,數(shù)據(jù)庫110可以將由擴(kuò)展卡240確定的擴(kuò)展卡240的溫度值234存儲(chǔ)在與擴(kuò)展卡240關(guān)聯(lián)的對(duì)象230中。
[0033]例如,擴(kuò)展卡240可以利用溫度傳感器244確定擴(kuò)展卡240的溫度值234 (例如,處理器242附近的溫度)。在一些示例中,擴(kuò)展卡驅(qū)動(dòng)器248可以經(jīng)由擴(kuò)展槽246從擴(kuò)展卡240采集所確定的溫度值234。在這樣的示例中,數(shù)據(jù)庫110可以從擴(kuò)展卡驅(qū)動(dòng)器248接收溫度值234。在這樣的示例中,數(shù)據(jù)庫110可以將由擴(kuò)展卡240確定的擴(kuò)展卡240的溫度值234存儲(chǔ)在與擴(kuò)展卡240關(guān)聯(lián)的對(duì)象230的運(yùn)行參數(shù)值字段中。在一些示例中,數(shù)據(jù)庫110可以以與從硬件設(shè)備獲得的溫度值234的格式不同的格式存儲(chǔ)硬件設(shè)備所確定的溫度值234。例如,擴(kuò)展卡驅(qū)動(dòng)器248可以在數(shù)據(jù)庫110存儲(chǔ)之前改變從硬件設(shè)備采集的溫度值234的格式。在其它示例中,數(shù)據(jù)庫110可以以從擴(kuò)展卡240獲得的溫度值234的格式存儲(chǔ)擴(kuò)展卡240所確定的溫度值234。
[0034]在圖2的示例中,計(jì)算設(shè)備200的操作系統(tǒng)可以包括數(shù)據(jù)庫接口模塊252,用于作為數(shù)據(jù)庫110和計(jì)算設(shè)備200的各應(yīng)用程序(例如,設(shè)備驅(qū)動(dòng)器)之間的接口。例如,OS模塊250可以包括數(shù)據(jù)庫接口模塊252。在圖2的示例中,擴(kuò)展卡驅(qū)動(dòng)器248和健康驅(qū)動(dòng)器120可以經(jīng)由OS模塊250的數(shù)據(jù)庫接口模塊252與數(shù)據(jù)庫110通信。例如,擴(kuò)展卡驅(qū)動(dòng)器248可以經(jīng)由數(shù)據(jù)庫接口模塊252向數(shù)據(jù)庫110提供運(yùn)行參數(shù)值(例如,溫度值234),且健康驅(qū)動(dòng)器120可以經(jīng)由數(shù)據(jù)庫接口模塊252詢問數(shù)據(jù)庫110以及從數(shù)據(jù)庫110接收對(duì)象。在一些示例中,像驅(qū)動(dòng)器248和120這樣的設(shè)備驅(qū)動(dòng)器可以經(jīng)由應(yīng)用程序接口(API)消息與OS模塊250的數(shù)據(jù)庫接口模塊252通信。在一些示例中,面向?qū)ο蟮臄?shù)據(jù)庫110可以與OS模塊250分開。在這樣的示例中,OS模塊250的數(shù)據(jù)庫接口模塊252可以與和OS模塊250分開的數(shù)據(jù)庫110交互。
[0035]在一些示例中,數(shù)據(jù)庫110可以包括通信模塊212,用于經(jīng)由數(shù)據(jù)庫接口模塊252與計(jì)算設(shè)備200的各應(yīng)用程序(例如,設(shè)備驅(qū)動(dòng)器)通信。例如,通信模塊212可以經(jīng)由計(jì)算設(shè)備的操作系統(tǒng)的數(shù)據(jù)庫接口模塊252接收來自與硬件設(shè)備關(guān)聯(lián)的設(shè)備驅(qū)動(dòng)器的運(yùn)行參數(shù)值。在圖2的示例中,通信模塊212可以經(jīng)由OS模塊250的數(shù)據(jù)庫接口模塊252接收來自擴(kuò)展卡驅(qū)動(dòng)器248的與擴(kuò)展卡240關(guān)聯(lián)的溫度值234。在這樣的示例中,數(shù)據(jù)庫110可以將利用通信模塊212接收的溫度值234存儲(chǔ)在數(shù)據(jù)庫110的對(duì)象中,例如對(duì)象230中。
[0036]計(jì)算設(shè)備200還包括健康控制器160,如上面與圖1的計(jì)算設(shè)備100關(guān)聯(lián)描述的,健康控制器160可以接收硬件設(shè)備的運(yùn)行參數(shù)值,并直接或間接控制計(jì)算設(shè)備200的運(yùn)行參數(shù)。如上面與圖1的計(jì)算設(shè)備100關(guān)聯(lián)描述的,健康控制器160可以包括根據(jù)接收的運(yùn)行參數(shù)值管理計(jì)算設(shè)備200的運(yùn)行參數(shù)的電路和機(jī)器可讀指令的結(jié)合。
[0037]在一些示例中,健康控制器160可以包括至少一個(gè)寄存器,用于接收來自健康驅(qū)動(dòng)器120的至少一個(gè)值(或其它信息),以在確定如何控制計(jì)算設(shè)備200的至少一個(gè)運(yùn)行參數(shù)中使用。在圖2的示例中,健康控制器160包括多個(gè)這樣的寄存器,包括控制寄存器264以及閾值寄存器266。在一些示例中,健康控制器160的電路(例如,健康管理ASIC)可以包括這些寄存器。盡管圖2顯示了健康控制器160的兩個(gè)寄存器,但健康控制器160可以包括任意數(shù)量的寄存器。在一些不例中,健康控制器160的、用于接收來自健康驅(qū)動(dòng)器120的信息的至少一個(gè)寄存器可以為通用寄存器,其不是在硬件中專用于固定功能寄存器(例如,連接在硬件中,接收溫度傳感器的讀數(shù)),而可以通過由電路執(zhí)行的機(jī)器可讀指令(例如,固件)用于任意合適的目的。例如,寄存器264和266中的至少一個(gè)可以為通用寄存器。在其它示例中,健康控制器160的至少一個(gè)寄存器可以為用于接收指定類型的信息(例如,溫度信息)的固定功能寄存器。在一些不例中,健康控制器160可以包括通用寄存器和固定功能寄存器的結(jié)合,用于接收來自健康驅(qū)動(dòng)器120的信息。
[0038]在圖2的示例中,如上面與圖1關(guān)聯(lián)描述的,健康驅(qū)動(dòng)器120包括采集模塊122和轉(zhuǎn)換模塊124。采集模塊122可以經(jīng)由數(shù)據(jù)庫接口模塊252從數(shù)據(jù)庫110采集對(duì)象230。如上面與圖1關(guān)聯(lián)描述的,模塊122可以詢問數(shù)據(jù)庫110至少一次,以發(fā)現(xiàn)對(duì)象230。模塊122可以經(jīng)由數(shù)據(jù)庫接口模塊252詢問數(shù)據(jù)庫110。如上面與圖1和對(duì)象130關(guān)聯(lián)描述的,轉(zhuǎn)換模塊124可以將采集的對(duì)象230轉(zhuǎn)換成健康控制器160可用的且表示硬件設(shè)備所確定的運(yùn)行參數(shù)值的健康控制信息182。在圖2的示例中,轉(zhuǎn)換模塊124可以將采集的對(duì)象230轉(zhuǎn)換成健康控制器160可用的且表示擴(kuò)展卡240所確定并包括在對(duì)象230中的溫度值234的健康控制信息182。
[0039]在圖2的示例中,健康驅(qū)動(dòng)器120進(jìn)一步包括提供模塊226,提供模塊226可以將模塊124生成的健康控制信息182提供給健康控制器160的控制寄存器264。在這樣的示例中,模塊124可以生成健康控制信息182,使得其具有控制寄存器264可接收的格式。例如,如果控制寄存器264為8位寄存器,那么模塊124可以將對(duì)象230轉(zhuǎn)換成具有8位值的健康控制信息182。
[0040]如上面與圖1的計(jì)算設(shè)備100關(guān)聯(lián)描述的,健康控制器160包括控制模塊162,用于根據(jù)從健康驅(qū)動(dòng)器120接收的健康控制信息182來控制計(jì)算設(shè)備200的運(yùn)行參數(shù)。在一些示例中,計(jì)算設(shè)備200可以包括至少一個(gè)風(fēng)扇215,并且模塊162所控制的計(jì)算設(shè)備200的運(yùn)行參數(shù)可以為風(fēng)扇215的風(fēng)扇速度。例如,模塊162可以向風(fēng)扇215提供風(fēng)扇控制信號(hào)286,用于控制風(fēng)扇215的速度。在這樣的不例中,模塊162可以根據(jù)在控制寄存器264接收的健康控制信息182確定信號(hào)286的電平。
[0041]在一些示例中,轉(zhuǎn)換模塊124可以進(jìn)一步推出與對(duì)象230的運(yùn)行參數(shù)值關(guān)聯(lián)的閾值信息284。在這樣的示例中,如上面與圖1的對(duì)象130關(guān)聯(lián)描述的,對(duì)象230可以包括用于提供對(duì)象230的運(yùn)行參數(shù)值的上下文的信息。例如,對(duì)象230可以包括溫度值234(例如,運(yùn)行參數(shù)值)以及值范圍信息236。在一些示例中,值范圍信息236可以表示值234的可接受范圍、值234的臨界極限等,或其結(jié)合。
[0042]在這樣的示例中,模塊124可以根據(jù)范圍值信息236推出閾值信息284。例如,模塊124可以根據(jù)信息236推出表示值234的可接受范圍的上邊界、值234的臨界極限等的閾值信息284。在一些示例中,模塊124可以生成閾值寄存器266可接收的格式(例如,8位數(shù)據(jù)值)的信息284。在這樣的示例中,提供模塊226可以將閾值信息284提供給健康控制器160的閾值寄存器266。
[0043]在一些示例中,健康控制器160可以根據(jù)健康控制信息182和閾值信息284控制計(jì)算設(shè)備200的運(yùn)行參數(shù)。例如,健康控制信息182可以表示溫度值234,且閾值信息284可以表示值234的范圍或臨界極限。在這樣的示例中,控制模塊162可以將在寄存器264接收的健康控制信息182與在寄存器266接收的閾值信息284作比較,以確定風(fēng)扇控制信號(hào)286的電平。例如,如果信息182指示溫度值234超過閾值信息284所表示的閾值,則模塊162可以經(jīng)由信號(hào)286提高風(fēng)扇215的速度。
[0044]在其它示例中,健康驅(qū)動(dòng)器120可以向寄存器266提供不同于信息182的健康控制信息。在一些示例中,健康驅(qū)動(dòng)器120可以分別向健康控制器160的多個(gè)寄存器提供至少一個(gè)硬件設(shè)備的健康控制信息。例如,健康控制器160的多個(gè)寄存器可以接收一個(gè)硬件設(shè)備的不同健康控制信息,健康控制器160的多個(gè)寄存器可以接收不同硬件設(shè)備的健康控制信息,健康控制器160的至少一個(gè)寄存器可以接收與提供的健康控制信息關(guān)聯(lián)的閾值信息,或其結(jié)合。在一些示例中,本文與圖2關(guān)聯(lián)描述的各功能可以和本文與圖1和圖3-5中任意圖關(guān)聯(lián)描述的各功能結(jié)合提供。
[0045]圖3是示例性計(jì)算設(shè)備300的框圖,計(jì)算設(shè)備300用于將面向?qū)ο蟮臄?shù)據(jù)庫110的對(duì)象轉(zhuǎn)換成健康控制器160可用的健康控制信息182。在圖3的示例中,如上面與圖1和圖2關(guān)聯(lián)描述的,計(jì)算設(shè)備300包括面向?qū)ο蟮臄?shù)據(jù)庫110以及健康控制器160。計(jì)算設(shè)備300還包括處理器313以及編碼有健康驅(qū)動(dòng)器320的指令322、324、325、326和328的機(jī)器可讀存儲(chǔ)介質(zhì)317。在其它示例中,存儲(chǔ)介質(zhì)317可以包括其它指令。在一些示例中,指令322、324、325、326和328以及本文與存儲(chǔ)介質(zhì)317關(guān)聯(lián)描述的任意其它指令可以遠(yuǎn)程存儲(chǔ)在本地計(jì)算設(shè)備300外。健康驅(qū)動(dòng)器320可以為與健康控制器160交互的硬件驅(qū)動(dòng)器。
[0046]在圖3的示例中,處理器313可以提取、解碼并執(zhí)行存儲(chǔ)介質(zhì)317上存儲(chǔ)的指令,以實(shí)現(xiàn)下面描述的功能。在其它示例中,存儲(chǔ)在存儲(chǔ)介質(zhì)317上的任意指令的功能可以被實(shí)現(xiàn)為電路形式、編碼在機(jī)器可讀存儲(chǔ)介質(zhì)上的可執(zhí)行指令形式、或其結(jié)合。
[0047]在一些示例中,數(shù)據(jù)庫110可以包括多個(gè)硬件設(shè)備中的每一個(gè)的對(duì)象。例如,數(shù)據(jù)庫110可以包括各自與相應(yīng)硬件設(shè)備關(guān)聯(lián)并包括關(guān)聯(lián)的硬件設(shè)備的信息的對(duì)象370、372和374。本文中,包括硬件設(shè)備信息的對(duì)象370、372和374中的每一個(gè)可以稱作“硬件設(shè)備對(duì)任”象。
[0048]在圖3的示例中,硬件設(shè)備對(duì)象370可以與連接至計(jì)算設(shè)備300的擴(kuò)展槽346的擴(kuò)展卡340關(guān)聯(lián)。計(jì)算設(shè)備300可以包括擴(kuò)展卡驅(qū)動(dòng)器348 (例如,設(shè)備驅(qū)動(dòng)器),用于與擴(kuò)展卡340交互。硬件設(shè)備對(duì)象372可以與連接至計(jì)算設(shè)備300的擴(kuò)展槽347的擴(kuò)展卡342關(guān)聯(lián)。計(jì)算設(shè)備300可以包括擴(kuò)展卡驅(qū)動(dòng)器349 (例如,設(shè)備驅(qū)動(dòng)器),用于與擴(kuò)展卡342交互。數(shù)據(jù)庫110還可以包括其它硬件設(shè)備對(duì)象,例如,與其它硬件設(shè)備(例如,計(jì)算設(shè)備300的顯卡或存儲(chǔ)設(shè)備)關(guān)聯(lián)的硬件設(shè)備對(duì)象374。
[0049]在圖3的示例中,對(duì)象370可以包括表示擴(kuò)展卡340 (即,關(guān)聯(lián)的硬件設(shè)備)的至少一個(gè)屬性的硬件設(shè)備屬性371。硬件設(shè)備的硬件設(shè)備屬性可以包括例如以下中的至少一種:硬件設(shè)備的類型(例如,視頻卡、聲卡、存儲(chǔ)設(shè)備,等等)、設(shè)備供應(yīng)商、設(shè)備連接的擴(kuò)展槽的標(biāo)識(shí)、設(shè)備的功耗屬性、或設(shè)備的任意其它屬性,或其結(jié)合。硬件設(shè)備對(duì)象372可以包括表示與對(duì)象372關(guān)聯(lián)的擴(kuò)展卡342的至少一個(gè)屬性的硬件設(shè)備屬性373,且硬件設(shè)備對(duì)象374可以包括表示與對(duì)象374關(guān)聯(lián)的硬件設(shè)備的至少一個(gè)屬性的硬件設(shè)備屬性375。
[0050]在一些示例中,硬件設(shè)備對(duì)象370和372可以額外分別包括對(duì)象330和331,對(duì)象330和331均包括由關(guān)聯(lián)硬件設(shè)備所確定的該關(guān)聯(lián)硬件設(shè)備的至少一個(gè)運(yùn)行參數(shù)值。在本文中,包括運(yùn)行參數(shù)值的對(duì)象330和331均可以稱作“運(yùn)行參數(shù)對(duì)象”。在圖3示例中,運(yùn)行參數(shù)對(duì)象330可以包括與對(duì)象370關(guān)聯(lián)的擴(kuò)展卡340的至少一個(gè)運(yùn)行參數(shù)值332。例如,數(shù)據(jù)庫110可以將擴(kuò)展卡340所確定的且從驅(qū)動(dòng)器348接收的運(yùn)行參數(shù)值332存儲(chǔ)在運(yùn)行參數(shù)對(duì)象330中。類似地,在一些示例中,數(shù)據(jù)庫110可以將擴(kuò)展卡342所確定的且從驅(qū)動(dòng)器349接收的運(yùn)行參數(shù)值333存儲(chǔ)在運(yùn)行參數(shù)對(duì)象331中。在圖3的示例中,驅(qū)動(dòng)器348和349可以如上面與圖2關(guān)聯(lián)描述的與數(shù)據(jù)庫110通信。在一些示例中,數(shù)據(jù)庫110的一些硬件設(shè)備對(duì)象(例如,硬件設(shè)備對(duì)象374)可以不包括運(yùn)行參數(shù)對(duì)象。
[0051]在圖3的示例中,指令322可以詢問數(shù)據(jù)庫110,如上面與圖1關(guān)聯(lián)描述的。在圖3的示例中,指令322可以針對(duì)連接至計(jì)算設(shè)備300的任意指定類型的硬件設(shè)備的標(biāo)識(shí)詢問數(shù)據(jù)庫110。例如,指令322可以針對(duì)視頻卡或任意其它類型的設(shè)備的標(biāo)識(shí)詢問數(shù)據(jù)庫110。在一些示例中,數(shù)據(jù)庫110可以根據(jù)硬件設(shè)備對(duì)象的硬件設(shè)備屬性確定與該對(duì)象關(guān)聯(lián)的硬件設(shè)備是否為指定類型的設(shè)備。指令322可以從數(shù)據(jù)庫110接收指定類型的硬件設(shè)備的標(biāo)識(shí)。指令322可以經(jīng)由詢問通信392詢問數(shù)據(jù)庫110。由處理器313執(zhí)行的指令可以與數(shù)據(jù)庫110通信,如上面與圖1和圖2的健康驅(qū)動(dòng)器120關(guān)聯(lián)描述的。
[0052]在指令322接收硬件設(shè)備的標(biāo)識(shí)之后,指令324可以從數(shù)據(jù)庫110采集數(shù)據(jù)庫110所識(shí)別的指定類型的至少一個(gè)硬件設(shè)備中的每一個(gè)的運(yùn)行參數(shù)對(duì)象,且該指定類型的至少一個(gè)硬件設(shè)備中的每一個(gè)的運(yùn)行參數(shù)對(duì)象存儲(chǔ)在數(shù)據(jù)庫110中。例如,如果指令322針對(duì)顯卡詢問數(shù)據(jù)庫110,且作為響應(yīng),數(shù)據(jù)庫110識(shí)別出與硬件設(shè)備對(duì)象370關(guān)聯(lián)的擴(kuò)展卡340,則指令324可以經(jīng)由至少一個(gè)對(duì)象通信394采集硬件設(shè)備對(duì)象370的運(yùn)行參數(shù)對(duì)象330。
[0053]指令326可以將采集的運(yùn)行參數(shù)對(duì)象330轉(zhuǎn)換成健康控制信息182,其中健康控制信息182表示由硬件設(shè)備確定的且包括在運(yùn)行參數(shù)對(duì)象330中的與對(duì)象330關(guān)聯(lián)的硬件設(shè)備的運(yùn)行參數(shù)值332。在這樣的示例中,如上面與圖1轉(zhuǎn)換模塊124關(guān)聯(lián)描述的,指令326可以將對(duì)象330轉(zhuǎn)換成健康控制器160可用其控制計(jì)算設(shè)備300的運(yùn)行參數(shù)的健康控制信息182。在一些示例中,指令326可以通過根據(jù)對(duì)象330中包括的提供運(yùn)行參數(shù)值332的上下文的信息,將運(yùn)行參數(shù)值332轉(zhuǎn)換成健康控制器160可用的格式,來將采集的運(yùn)行參數(shù)對(duì)象330轉(zhuǎn)換成健康控制信息182。在這樣的示例中,除了包括至少一個(gè)運(yùn)行參數(shù)值之外,運(yùn)行參數(shù)對(duì)象可以包括至少一個(gè)運(yùn)行參數(shù)值的上下文信息,例如,與至少一個(gè)運(yùn)行參數(shù)值關(guān)聯(lián)的范圍信息。
[0054]在圖3的示例中,例如,運(yùn)行參數(shù)對(duì)象330可以包括至少一個(gè)運(yùn)行參數(shù)值332的范圍信息334,且運(yùn)行參數(shù)對(duì)象331可以包括至少一個(gè)運(yùn)行參數(shù)值333的范圍信息335。在這樣的示例中,指令326可以通過根據(jù)范圍信息334,將運(yùn)行參數(shù)值332轉(zhuǎn)換成健康控制器160可用的格式,來將采集的運(yùn)行參數(shù)對(duì)象330轉(zhuǎn)換成健康控制信息182。
[0055]在一些示例中,指令326將對(duì)象330轉(zhuǎn)換成健康控制信息182,其中健康控制信息182以范圍信息334所表示的值范圍的比例表示運(yùn)行參數(shù)值332。在這樣的示例中,以這樣的方式,指令326可以根據(jù)范圍信息334表示的范圍歸一化運(yùn)行參數(shù)值332。在一些示例中,指令326還可以生成健康控制器160的寄存器(例如,通用或固定功能寄存器)可接受的格式的健康控制信息182。
[0056]例如,健康控制器160的寄存器可以為可接收O至255之間的值的8位寄存器。在這樣的示例中,指令326可以將對(duì)象330轉(zhuǎn)換成以范圍信息334所表示的值范圍的比例的8位格式表示運(yùn)行參數(shù)值332的健康控制信息182。在這樣的示例中,指令326可以根據(jù)等式[(V-LL)/(UL-LL) X255] = H,將運(yùn)行參數(shù)值(“V”)332轉(zhuǎn)換成歸一化的8位值的健康控制信息(“H”)182,以包括下極限(“LL”)和上極限(“UL”)的值范圍的比例表示該值。例如,運(yùn)行參數(shù)對(duì)象330可以包括由擴(kuò)展卡340(例如,GPU)確定的擴(kuò)展卡340的溫度值332 (例如,80攝氏度),且還可以包括表示擴(kuò)展卡340的溫度值332的可接受范圍(例如,5-120攝氏度)的范圍信息334。在這樣的示例中,指令326可以根據(jù)上述等式(例如,[(80-5)/(120-5) X 255] = 166),將溫度值332轉(zhuǎn)換為歸一化的8位值的健康控制信息182。
[0057]指令328可以如上面與圖2的提供模塊226關(guān)聯(lián)描述的,將健康控制信息182提供給健康控制器160。如上面與圖1和圖2關(guān)聯(lián)描述的,健康控制器160可以根據(jù)接收的健康控制信息182控制計(jì)算設(shè)備300的運(yùn)行參數(shù)。
[0058]在其它示例中,響應(yīng)于指令322查詢連接至計(jì)算設(shè)備300的任意指定類型的硬件設(shè)備的標(biāo)識(shí),數(shù)據(jù)庫110可以識(shí)別指令322所指定的類型的多個(gè)硬件設(shè)備。在這樣的示例中,對(duì)于數(shù)據(jù)庫110所識(shí)別的指定類型的每個(gè)硬件設(shè)備,指令322可以確定與該硬件設(shè)備關(guān)聯(lián)的運(yùn)行參數(shù)對(duì)象是否存儲(chǔ)在數(shù)據(jù)庫110中。例如,對(duì)于每個(gè)識(shí)別的設(shè)備,指令322可以詢問數(shù)據(jù)庫110,以確定數(shù)據(jù)庫110是否包括該設(shè)備的運(yùn)行參數(shù)對(duì)象。在一些示例中,數(shù)據(jù)庫110的硬件設(shè)備對(duì)象可以包括不同類型運(yùn)行參數(shù)值的不同運(yùn)行參數(shù)對(duì)象。例如,包括溫度值的硬件設(shè)備對(duì)象可以包括用于存儲(chǔ)溫度值的溫度對(duì)象,包括功耗值的硬件設(shè)備對(duì)象可以包括用于存儲(chǔ)功耗值的功率對(duì)象,等等。在這樣的示例中,對(duì)于所識(shí)別的硬件設(shè)備,指令322可以詢問數(shù)據(jù)庫110,以確定該設(shè)備是否包括特定類型的運(yùn)行參數(shù)對(duì)象,例如,溫度對(duì)象。
[0059]在一些示例中,指令324包括選擇指令325,且如果針對(duì)數(shù)據(jù)庫響應(yīng)于查詢指定類型的硬件設(shè)備所識(shí)別的多個(gè)硬件設(shè)備,確定對(duì)應(yīng)的運(yùn)行參數(shù)對(duì)象存儲(chǔ)在數(shù)據(jù)庫中,則可以觸發(fā)選擇指令325。在一些示例中,健康控制器160可以不具有足夠的寄存器來接收具有關(guān)聯(lián)運(yùn)行參數(shù)對(duì)象的每個(gè)硬件設(shè)備的健康控制信息182。在這樣的示例中,選擇指令325可以選擇至少一個(gè)目標(biāo)硬件設(shè)備,針對(duì)其向健康控制器160的可用寄存器提供控制信息。例如,響應(yīng)于指令322的查詢,數(shù)據(jù)庫110可以指示硬件設(shè)備對(duì)象370和372分別包括運(yùn)行參數(shù)對(duì)象330和331。響應(yīng)于此,指令324可以確定多個(gè)指定類型的硬件設(shè)備的運(yùn)行參數(shù)對(duì)象存儲(chǔ)在數(shù)據(jù)庫110中,并觸發(fā)選擇指令325。
[0060]指令325可以根據(jù)識(shí)別的硬件設(shè)備各自的屬性,在數(shù)據(jù)庫110所識(shí)別的多個(gè)硬件設(shè)備中識(shí)別目標(biāo)硬件設(shè)備。例如,指令325可以根據(jù)包括在與識(shí)別的硬件設(shè)備關(guān)聯(lián)的硬件設(shè)備對(duì)象中的硬件設(shè)備屬性,來識(shí)別目標(biāo)硬件設(shè)備。例如,指令325可以根據(jù)硬件供應(yīng)商、設(shè)備連接的擴(kuò)展槽、設(shè)備的功耗信息等,或其結(jié)合,來選擇健康控制器160感興趣的硬件設(shè)備。指令325還可以經(jīng)由對(duì)象通信394采集與識(shí)別的目標(biāo)硬件設(shè)備關(guān)聯(lián)的運(yùn)行參數(shù)對(duì)象。在這樣的示例中,指令326可以將采集的運(yùn)行參數(shù)對(duì)象轉(zhuǎn)換成健康控制信息182,指令328可以向健康控制器160提供該健康控制信息182。在一些示例中,指令325可以根據(jù)健康控制器160的多少個(gè)寄存器可以用于從健康驅(qū)動(dòng)器320接收信息,來選擇多個(gè)目標(biāo)硬件設(shè)備。
[0061]在其它示例中,如果指令324確定數(shù)據(jù)庫110所識(shí)別的多個(gè)硬件設(shè)備對(duì)應(yīng)的運(yùn)行參數(shù)對(duì)象存儲(chǔ)在數(shù)據(jù)庫中,則指令324可以采集該多個(gè)硬件設(shè)備的運(yùn)行參數(shù)對(duì)象。例如,指令324可以經(jīng)由至少一個(gè)對(duì)象通信394采集對(duì)象。然而,健康控制器160可以不具有足夠的寄存器來接收從每個(gè)運(yùn)行參數(shù)對(duì)象轉(zhuǎn)換的健康控制信息182。在這樣的示例中,指令326可以將每個(gè)運(yùn)行參數(shù)對(duì)象轉(zhuǎn)換成多個(gè)健康控制值,并選擇至少一個(gè)健康控制值以提供給健康控制器160的可用寄存器,其中每個(gè)健康控制值表示對(duì)象之一的運(yùn)行參數(shù)值。
[0062]例如,指令326可以將采集的每個(gè)運(yùn)行參數(shù)對(duì)象(例如,對(duì)象330和331)轉(zhuǎn)換成各自表示來自對(duì)應(yīng)的運(yùn)行參數(shù)對(duì)象的運(yùn)行參數(shù)值的健康控制值。在一些示例中,指令326可以將各對(duì)象轉(zhuǎn)換成健康控制值,如上面與利用圖1的轉(zhuǎn)換模塊124將各對(duì)象轉(zhuǎn)換成健康控制信息關(guān)聯(lián)所描述的。在轉(zhuǎn)換采集的運(yùn)行參數(shù)對(duì)象之后,指令326可以根據(jù)健康控制值的相應(yīng)級(jí)數(shù)選擇至少一個(gè)健康控制值。在一些示例中,所選的值的數(shù)量取決于健康控制器160可用的寄存器的數(shù)量。指令328可以將選擇的健康控制值作為健康控制信息182提供給健康控制器160。
[0063]在一些示例中,各指令可以在生成的那些健康控制值中選擇最大的健康控制值。例如,指令326可以將采集的每個(gè)運(yùn)行參數(shù)對(duì)象轉(zhuǎn)換成表示包括在對(duì)象之一中的運(yùn)行參數(shù)值(例如,溫度值)的健康控制值,該健康控制值是被歸一化為以對(duì)象中指示的運(yùn)行參數(shù)值的范圍的比例表示該值的值。在一些示例中,在轉(zhuǎn)換各對(duì)象之后,指令326可以選擇一個(gè)或多個(gè)最大的健康控制值,且指令328可以將所選的值作為健康控制信息182提供給健康控制器160。在一些示例中,本文與圖3關(guān)聯(lián)描述的功能可以和本文與圖1-2和圖4-5關(guān)聯(lián)描述的功能結(jié)合提供。
[0064]圖4是利用計(jì)算設(shè)備的健康控制器控制計(jì)算設(shè)備的運(yùn)行參數(shù)的示例性方法400的流程圖。盡管下面參照?qǐng)D2的計(jì)算設(shè)備200描述方法400的執(zhí)行,不過還可以利用其它合適的組件(例如,計(jì)算設(shè)備100或300)描述方法400的執(zhí)行。此外,方法400可以被實(shí)現(xiàn)為編碼在機(jī)器可讀存儲(chǔ)介質(zhì)上的可執(zhí)行指令的形式、電路的形式,或其結(jié)合。
[0065]在方法400的405,聯(lián)接至計(jì)算設(shè)備200的硬件設(shè)備可以確定硬件設(shè)備的運(yùn)行參數(shù)值。例如,硬件設(shè)備可以為連接至計(jì)算設(shè)備200的擴(kuò)展槽246的擴(kuò)展卡240。在一些示例中,運(yùn)行參數(shù)值可以為由擴(kuò)展卡240的溫度傳感器244確定的擴(kuò)展卡240的溫度值234。在其它示例中,擴(kuò)展卡240可以確定擴(kuò)展卡240的不同運(yùn)行參數(shù)的值。
[0066]在410,硬件設(shè)備的驅(qū)動(dòng)器可以將確定的運(yùn)行參數(shù)值存儲(chǔ)在計(jì)算設(shè)備200的面向?qū)ο蟮臄?shù)據(jù)庫110的對(duì)象230中。該驅(qū)動(dòng)器可以例如為用于與擴(kuò)展卡240交互的擴(kuò)展卡驅(qū)動(dòng)器248。在一些示例中,驅(qū)動(dòng)器248可以將確定的運(yùn)行參數(shù)值(例如,溫度值234)存儲(chǔ)在對(duì)象230中。在415,用于與計(jì)算設(shè)備200的健康控制器160交互的健康驅(qū)動(dòng)器120可以從數(shù)據(jù)庫110采集對(duì)象230。驅(qū)動(dòng)器248和120可以如上面與圖2關(guān)聯(lián)描述的與數(shù)據(jù)庫110通信。
[0067]在420,如上面與圖1關(guān)聯(lián)描述的,健康驅(qū)動(dòng)器120可以將采集的對(duì)象230轉(zhuǎn)換成健康控制器160可用的且表示對(duì)象230中存儲(chǔ)的運(yùn)行參數(shù)值的健康控制信息182。例如,健康控制信息182可以表示擴(kuò)展卡240所確定的溫度值234。在425,健康控制器160可以根據(jù)健康控制信息182來控制計(jì)算設(shè)備200的運(yùn)行參數(shù)。例如,如上面與圖2關(guān)聯(lián)描述的,健康控制器160可以根據(jù)健康控制信息182的值來控制計(jì)算設(shè)備200的風(fēng)扇215的速度。
[0068]圖5是在經(jīng)過更新時(shí)間段之后采集硬件設(shè)備的更新對(duì)象的示例性方法500的流程圖。盡管下面參照?qǐng)D2的計(jì)算設(shè)備200描述方法500的執(zhí)行,不過還可以利用其它合適的組件(例如,計(jì)算設(shè)備100或300)描述方法500的執(zhí)行。此外,方法500可以被實(shí)現(xiàn)為編碼在機(jī)器可讀存儲(chǔ)介質(zhì)上的可執(zhí)行指令的形式、電路的形式,或其結(jié)合。
[0069]在方法500的505,聯(lián)接至計(jì)算設(shè)備200的硬件設(shè)備可以確定硬件設(shè)備的運(yùn)行參數(shù)值。例如,連接至計(jì)算設(shè)備200的擴(kuò)展槽246的擴(kuò)展卡240可以確定擴(kuò)展卡240的運(yùn)行參數(shù)。在510,硬件設(shè)備的驅(qū)動(dòng)器(例如,擴(kuò)展卡驅(qū)動(dòng)器248)可以將確定的運(yùn)行參數(shù)值存儲(chǔ)在計(jì)算設(shè)備200的面向?qū)ο蟮臄?shù)據(jù)庫110的對(duì)象230中。在515,用于與計(jì)算設(shè)備200的健康控制器160交互的健康驅(qū)動(dòng)器120可以從數(shù)據(jù)庫110采集對(duì)象230。計(jì)算設(shè)備200的驅(qū)動(dòng)器可以如上面與圖2關(guān)聯(lián)描述的與數(shù)據(jù)庫110通信。
[0070]在520,健康驅(qū)動(dòng)器120可以根據(jù)采集的對(duì)象230中指示的更新速率來確定運(yùn)行參數(shù)值的更新時(shí)間段。例如,采集的對(duì)象可以包括運(yùn)行參數(shù)值(例如,溫度值234)在對(duì)象230中更新的速率。在其它示例中,采集的對(duì)象230可以不包括運(yùn)行參數(shù)值的更新速率。在這樣的示例中,健康驅(qū)動(dòng)器120可以將運(yùn)行參數(shù)值的更新時(shí)間段設(shè)置為健康驅(qū)動(dòng)器120中指定的默認(rèn)時(shí)間段,或其自身確定運(yùn)行參數(shù)值的更新時(shí)間段。在525,如上面與圖1關(guān)聯(lián)描述的,健康驅(qū)動(dòng)器120可以將采集的對(duì)象230轉(zhuǎn)換成健康控制器160可用的且表示對(duì)象230中存儲(chǔ)的運(yùn)行參數(shù)值(例如,溫度值234)的健康控制信息182。健康驅(qū)動(dòng)器120可以進(jìn)一步將健康控制信息182提供給健康控制器160。在530,如上面與圖2關(guān)聯(lián)描述的,健康控制器160可以根據(jù)接收的健康控制信息182來控制計(jì)算設(shè)備200的運(yùn)行參數(shù)。
[0071]在535,健康驅(qū)動(dòng)器120可以確定從采集對(duì)象230開始,是否已經(jīng)過了更新時(shí)間段。如果否,則健康驅(qū)動(dòng)器120可以繼續(xù)檢查是否已經(jīng)過了更新時(shí)間段。如果已經(jīng)過了更新時(shí)間段,則方法500可以繼續(xù)到515,在515,健康控制器120可以從數(shù)據(jù)庫110采集硬件設(shè)備(例如,擴(kuò)展卡240)的更新對(duì)象230。在這樣的示例中,硬件設(shè)備的驅(qū)動(dòng)器可以用硬件設(shè)備所確定的新的值更新運(yùn)行參數(shù)值。在一些示例中,方法500可以繼續(xù)到520并根據(jù)包括在更新對(duì)象230中的更新速率確定新的更新時(shí)間段。在其它示例中,如果健康控制器120已經(jīng)確定了運(yùn)行參數(shù)值的更新時(shí)間段,則方法500可以繼續(xù)到525而不確定更新時(shí)間段。
[0072]在525,健康驅(qū)動(dòng)器120可以將更新對(duì)象230轉(zhuǎn)換成健康控制器160可用的且表示包括在更新對(duì)象230中的更新運(yùn)行參數(shù)值的更新健康控制信息182。健康驅(qū)動(dòng)器120可以將更新健康控制信息182提供給健康控制器160。在530,健康控制器160可以根據(jù)更新健康控制信息182來控制計(jì)算設(shè)備200的運(yùn)行參數(shù)。以這樣的方式,健康驅(qū)動(dòng)器120可以根據(jù)更新運(yùn)行參數(shù)值定期生成更新的健康控制信息。
【權(quán)利要求】
1.一種計(jì)算設(shè)備,包括: 面向?qū)ο蟮臄?shù)據(jù)庫,用于將由硬件設(shè)備確定的所述硬件設(shè)備的運(yùn)行參數(shù)值存儲(chǔ)在所述數(shù)據(jù)庫的與所述硬件設(shè)備關(guān)聯(lián)的對(duì)象中; 健康控制器;以及 健康驅(qū)動(dòng)器,用于與所述健康控制器交互,所述健康驅(qū)動(dòng)器包括: 采集模塊,用于從所述數(shù)據(jù)庫采集所述對(duì)象;和 轉(zhuǎn)換模塊,用于將所采集的對(duì)象轉(zhuǎn)換成所述健康控制器可用的且表示所述硬件設(shè)備所確定的所述運(yùn)行參數(shù)值的健康控制信息, 其中所述健康控制器包括控制模塊,用于根據(jù)從所述健康驅(qū)動(dòng)器接收的所述健康控制信息控制所述計(jì)算設(shè)備的運(yùn)行參數(shù)。
2.根據(jù)權(quán)利要求1所述的計(jì)算設(shè)備,進(jìn)一步包括: 擴(kuò)展端口,用于容納所述硬件設(shè)備,其中所述硬件設(shè)備包括擴(kuò)展卡, 其中所述數(shù)據(jù)庫用于從與所述擴(kuò)展卡交互的擴(kuò)展卡驅(qū)動(dòng)器接收所述運(yùn)行參數(shù)值。
3.根據(jù)權(quán)利要求2所述的計(jì)算設(shè)備,其中: 所述硬件設(shè)備包括溫度傳感器,用于確定所述硬件設(shè)備的處理器附近的溫度; 所述硬件設(shè)備的所述運(yùn)行參數(shù)值包括利用所述溫度傳感器確定的溫度值;并且 所述計(jì)算設(shè)備的所述運(yùn)行參數(shù)包括所述計(jì)算設(shè)備的風(fēng)扇的風(fēng)扇速度。
4.根據(jù)權(quán)利要求2所述的計(jì)算設(shè)備,其中所述數(shù)據(jù)庫包括: 通信模塊,用于經(jīng)由所述計(jì)算設(shè)備的操作系統(tǒng)的數(shù)據(jù)庫接口模塊,從與所述硬件設(shè)備關(guān)聯(lián)的設(shè)備驅(qū)動(dòng)器接收所述運(yùn)行參數(shù)值。
5.根據(jù)權(quán)利要求1所述的計(jì)算設(shè)備,所述健康驅(qū)動(dòng)器進(jìn)一步包括: 提供模塊,用于將所述健康控制信息提供給所述健康控制器的第一寄存器,所述健康控制信息具有所述第一寄存器可接收的格式。
6.根據(jù)權(quán)利要求5所述的計(jì)算設(shè)備,其中: 所述轉(zhuǎn)換模塊進(jìn)一步用于推出與所述對(duì)象的所述運(yùn)行參數(shù)值關(guān)聯(lián)的閾值信息; 所述提供模塊進(jìn)一步用于將所述閾值信息提供給所述健康控制器的第二寄存器,所述范圍信息具有所述第二寄存器可接收的格式; 所述第一寄存器和所述第二寄存器為通用寄存器;并且 所述健康控制器用于根據(jù)所述健康控制信息以及所述閾值信息控制所述計(jì)算設(shè)備的所述運(yùn)行參數(shù)。
7.一種非瞬態(tài)機(jī)器可讀存儲(chǔ)介質(zhì),被編碼有由計(jì)算設(shè)備的處理器可執(zhí)行的指令,所述存儲(chǔ)介質(zhì)包括用于以下操作的指令: 針對(duì)連接至所述計(jì)算設(shè)備的指定類型的任意硬件設(shè)備的標(biāo)識(shí),詢問所述計(jì)算設(shè)備的面向?qū)ο蟮臄?shù)據(jù)庫; 從所述數(shù)據(jù)庫采集所述數(shù)據(jù)庫所識(shí)別的所述指定類型的硬件設(shè)備的運(yùn)行參數(shù)對(duì)象,且所述數(shù)據(jù)庫所識(shí)別的所述指定類型的硬件設(shè)備的運(yùn)行參數(shù)對(duì)象存儲(chǔ)在所述數(shù)據(jù)庫中; 將所采集的運(yùn)行參數(shù)對(duì)象轉(zhuǎn)換成健康控制信息,所述健康控制信息表示由所述硬件設(shè)備確定的且包括在所述運(yùn)行參數(shù)對(duì)象中的所述硬件設(shè)備的運(yùn)行參數(shù)值,其中所述健康控制信息可由所述健康控制器使用,以控制所述計(jì)算設(shè)備的運(yùn)行參數(shù);以及 將所述健康控制信息提供給所述健康控制器。
8.根據(jù)權(quán)利要求7所述的存儲(chǔ)介質(zhì),其中用于詢問的指令包括用于以下操作的指令: 針對(duì)所述數(shù)據(jù)庫所識(shí)別的所述指定類型的每個(gè)硬件設(shè)備,確定該硬件設(shè)備的運(yùn)行參數(shù)對(duì)象是否存儲(chǔ)在所述數(shù)據(jù)庫中。
9.根據(jù)權(quán)利要求8所述的存儲(chǔ)介質(zhì),其中用于采集的指令包括選擇指令,和用于在針對(duì)所述數(shù)據(jù)庫所識(shí)別的多個(gè)硬件設(shè)備確定相應(yīng)的運(yùn)行參數(shù)對(duì)象存儲(chǔ)在所述數(shù)據(jù)庫中時(shí)觸發(fā)所述選擇指令的指令,所述選擇指令包括用于以下操作的指令: 根據(jù)所識(shí)別的硬件設(shè)備的相應(yīng)屬性,在所述多個(gè)硬件設(shè)備中識(shí)別目標(biāo)硬件設(shè)備;以及 采集與所述目標(biāo)硬件設(shè)備關(guān)聯(lián)的所述運(yùn)行參數(shù)對(duì)象。
10.根據(jù)權(quán)利要求8所述的存儲(chǔ)介質(zhì),其中用于采集的指令包括用于以下操作的指令: 如果針對(duì)所述數(shù)據(jù)庫所識(shí)別的多個(gè)硬件設(shè)備確定相應(yīng)的運(yùn)行參數(shù)對(duì)象存儲(chǔ)在所述數(shù)據(jù)庫中,則采集所述多個(gè)硬件設(shè)備的所述運(yùn)行參數(shù)對(duì)象。
11.根據(jù)權(quán)利要求10所述的存儲(chǔ)介質(zhì),其中: 用于轉(zhuǎn)換的指令包括用于以下操作的指令: 將所采集的運(yùn)行參數(shù)對(duì)象轉(zhuǎn)換成健康控制值,每個(gè)所述健康控制值表示包括在所述運(yùn)行參數(shù)對(duì)象中相應(yīng)的一個(gè)中的運(yùn)行參數(shù)值;以及 根據(jù)所述健康控制值的相應(yīng)級(jí)數(shù)選擇所述健康控制值中的一個(gè);并且用于提供的指令包括用于將所選擇的健康控制值作為所述健康控制信息提供給所述健康控制器的指令。
12.根據(jù)權(quán)利要求7所述的存儲(chǔ)介質(zhì),其中: 所采集的運(yùn)行參數(shù)對(duì)象包括與所述運(yùn)行參數(shù)值關(guān)聯(lián)的范圍信息;并且 所述健康控制信息以所述范圍信息所指示的值范圍的比例表示所述運(yùn)行參數(shù)值。
13.—種方法,包括: 利用聯(lián)接至計(jì)算設(shè)備的硬件設(shè)備,確定所述硬件設(shè)備的運(yùn)行參數(shù)值; 利用所述硬件設(shè)備的驅(qū)動(dòng)器,將所確定的運(yùn)行參數(shù)值存儲(chǔ)在所述計(jì)算設(shè)備的面向?qū)ο蟮臄?shù)據(jù)庫的對(duì)象中; 利用所述計(jì)算設(shè)備的健康控制器的驅(qū)動(dòng)器,從所述數(shù)據(jù)庫采集所述對(duì)象; 利用所述健康控制器的所述驅(qū)動(dòng)器,將所采集的對(duì)象轉(zhuǎn)換成所述健康控制器可用的且表示所述運(yùn)行參數(shù)值的健康控制信息;以及 利用所述健康控制器,根據(jù)所述健康控制信息控制所述計(jì)算設(shè)備的運(yùn)行參數(shù)。
14.根據(jù)權(quán)利要求13所述的方法,進(jìn)一步包括: 根據(jù)所述對(duì)象中指示的更新速率確定所述運(yùn)行參數(shù)值的更新時(shí)間段;以及從采集所述對(duì)象開始,在經(jīng)過所述更新時(shí)間段之后,從所述數(shù)據(jù)庫采集所述硬件設(shè)備的更新對(duì)象。
15.根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括: 利用所述健康控制器的所述驅(qū)動(dòng)器,將所述更新對(duì)象轉(zhuǎn)換成所述健康控制器可用的且表示包括在所述更新對(duì)象中的更新運(yùn)行參數(shù)值的更新健康控制信息;以及 利用所述健康控制器,根據(jù)所述更新健康控制信息控制所述計(jì)算設(shè)備的運(yùn)行參數(shù)。
【文檔編號(hào)】G06F1/00GK104272213SQ201280073081
【公開日】2015年1月7日 申請(qǐng)日期:2012年6月28日 優(yōu)先權(quán)日:2012年6月28日
【發(fā)明者】安德魯·L·威爾特齊烏斯, 羅伯特·李·克萊恩 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)