標(biāo)識(shí)刀片設(shè)備的存儲(chǔ)器以用于由包括刀片設(shè)備的分區(qū)的操作系統(tǒng)使用
【專利說(shuō)明】
【背景技術(shù)】
[0001]刀片系統(tǒng)可以包括安裝到刀片外殼中的多個(gè)刀片設(shè)備。每個(gè)刀片設(shè)備可以是例如刀片服務(wù)器。在一些示例中,用戶可以設(shè)置刀片系統(tǒng)的分區(qū)以包括安裝在刀片外殼中的一個(gè)、多個(gè)或全部刀片設(shè)備。在這些示例中,分區(qū)可以運(yùn)行操作系統(tǒng)(OS)并且利用OS來(lái)運(yùn)行應(yīng)用。
【附圖說(shuō)明】
[0002]下面的詳細(xì)說(shuō)明參考了附圖,在附圖中:
[0003]圖1是在將第一邏輯處理器布置成系統(tǒng)固件(SFW)執(zhí)行模式而操作系統(tǒng)(OS)由至少第二邏輯處理器來(lái)執(zhí)行的示例刀片系統(tǒng)的框圖;
[0004]圖2是將分區(qū)的多個(gè)邏輯處理器布置成SFW執(zhí)行模式而OS由分區(qū)的另一邏輯處理器執(zhí)行的示例刀片系統(tǒng)的框圖;
[0005]圖3是將系統(tǒng)的分區(qū)的邏輯處理器布置成SFW執(zhí)行模式并且使得與邏輯處理器相關(guān)聯(lián)的存儲(chǔ)器可供分區(qū)的OS使用的示例系統(tǒng)的框圖;
[0006]圖4是在利用第二邏輯處理器執(zhí)行OS的期間將第一邏輯處理器保持在系統(tǒng)管理模式(SMM)中的示例方法的流程圖;以及
[0007]圖5是使得被配置為在不同的SFW域中操作的分區(qū)的第一和第二邏輯處理器的存儲(chǔ)器可供分區(qū)的OS使用的示例方法的流程圖。
【具體實(shí)施方式】
[0008]如上所述,刀片系統(tǒng)的分區(qū)可以運(yùn)行操作系統(tǒng)(OS)并且利用OS來(lái)運(yùn)行應(yīng)用。運(yùn)行OS的分區(qū)可以包括多個(gè)刀片設(shè)備,每個(gè)刀片設(shè)備都包括邏輯處理器和存儲(chǔ)器。每個(gè)邏輯處理器可以被包括在集成電路(IC)(例如,芯片)上。包括至少一個(gè)中央處理單元(CPU)的IC在本文中可以被稱為“CPU 1C”。在一些示例中,除了邏輯處理器之外,CPU IC可以包括用于管理刀片設(shè)備的存儲(chǔ)器的至少一個(gè)集成存儲(chǔ)器控制器。在這些示例中,CPUIC的存儲(chǔ)器控制器能夠管理相對(duì)有限量的存儲(chǔ)器,這會(huì)限制在刀片設(shè)備上可用的存儲(chǔ)器的量,因此限制在分區(qū)中可用的存儲(chǔ)器的量。
[0009]通過(guò)將附加的刀片設(shè)備添加到分區(qū),可以將更多的存儲(chǔ)器添加到分區(qū)中。然而,由OS所運(yùn)行的一些應(yīng)用的許可證成本可以基于可供應(yīng)用使用的邏輯處理器的數(shù)量來(lái)計(jì)算。因此,由于所添加的刀片設(shè)備的邏輯處理器的可用性,將刀片設(shè)備添加到分區(qū)可能大幅度增加一些應(yīng)用的許可證成本。
[0010]為了解決這些問(wèn)題,本文所描述的示例可以與刀片系統(tǒng)的分區(qū)有關(guān),其中分區(qū)用于執(zhí)行OS并且包括分別包含第一邏輯處理器和第二邏輯處理器的擴(kuò)展刀片設(shè)備和計(jì)算刀片設(shè)備,其中第一邏輯處理器和第二邏輯處理器要在不同的系統(tǒng)固件(SFW)域內(nèi)操作。本文所描述的示例可以將擴(kuò)展刀片設(shè)備的第一邏輯處理器布置成SFW執(zhí)行模式,在該模式中第一邏輯處理器用于執(zhí)行SFW實(shí)例的指令,而OS由至少計(jì)算刀片設(shè)備的第二邏輯處理器來(lái)執(zhí)行。本文所描述的示例可以進(jìn)一步使得與第一邏輯處理器相關(guān)聯(lián)的擴(kuò)展刀片設(shè)備的存儲(chǔ)器可供OS使用。
[0011]通過(guò)將第一和第二邏輯處理器布置在不同的SFW域中,而不向OS標(biāo)識(shí)第一邏輯處理器,本文所描述的示例可以使分區(qū)的OS能夠使用擴(kuò)展刀片設(shè)備的存儲(chǔ)器,而不將擴(kuò)展刀片設(shè)備的第一邏輯處理器暴露于OS或由OS運(yùn)行的應(yīng)用。如此,本文所描述的示例可以使分區(qū)能夠使用擴(kuò)展刀片設(shè)備的存儲(chǔ)器,以用來(lái)運(yùn)行OS和應(yīng)用,而不會(huì)由于擴(kuò)展刀片設(shè)備的邏輯處理器增加應(yīng)用許可證成本。
[0012]在本文所描述的示例中,通過(guò)在由分區(qū)執(zhí)行OS期間將擴(kuò)展刀片設(shè)備的邏輯處理器布置成SFW執(zhí)行模式,邏輯處理器仍可用來(lái)執(zhí)行SFW實(shí)例的指令,以便例如在擴(kuò)展刀片設(shè)備處采集錯(cuò)誤信息,或者以其他方式在SFW實(shí)例的指令控制下管理擴(kuò)展刀片設(shè)備的資源,同時(shí)保持不能由OS使用。
[0013]另外,通過(guò)在不同的SFW域中操作擴(kuò)展刀片設(shè)備和計(jì)算刀片設(shè)備的邏輯處理器,本文所描述的示例可以使分區(qū)能夠利用具有不同設(shè)計(jì)的邏輯處理器的擴(kuò)展刀片設(shè)備和計(jì)算刀片設(shè)備。在這些示例中,擴(kuò)展刀片設(shè)備可以包括比計(jì)算刀片設(shè)備的邏輯處理器更廉價(jià)的邏輯處理器。通過(guò)這種方式,本文所描述的示例可以使分區(qū)的存儲(chǔ)器能夠由比計(jì)算刀片設(shè)備更廉價(jià)的擴(kuò)展刀片設(shè)備提供的存儲(chǔ)器來(lái)補(bǔ)充。
[0014]現(xiàn)在參考附圖,圖1是將第一邏輯處理器132布置成SFW執(zhí)行模式而OS由至少第二邏輯處理器142執(zhí)行的示例刀片系統(tǒng)100的框圖。在本文所描述的示例中,刀片系統(tǒng)可以是計(jì)算系統(tǒng),其包括刀片外殼和安裝在刀片外殼中的至少一個(gè)刀片設(shè)備。在圖1的示例中,刀片系統(tǒng)100包括刀片設(shè)備130和140,每個(gè)刀片設(shè)備都安裝在刀片系統(tǒng)100的刀片外殼中。刀片系統(tǒng)100可以利用刀片設(shè)備130和140中的每一個(gè)的資源來(lái)運(yùn)行OS 115。例如,OS 115可以由包括至少刀片設(shè)備130和140的刀片系統(tǒng)100的分區(qū)108來(lái)運(yùn)行。
[0015]如本文所使用的,“刀片設(shè)備”可以是物理計(jì)算設(shè)備,其包括存儲(chǔ)器和至少一個(gè)邏輯處理器,并且能夠安裝到刀片外殼上。在一些示例中,刀片設(shè)備可以是模塊化的計(jì)算設(shè)備,其能夠物理地安裝到刀片外殼上以用于操作,其包括一些核心計(jì)算資源(例如,CPU IC和存儲(chǔ)器),并且不包括一些外圍設(shè)備計(jì)算資源(例如,電源、冷卻風(fēng)扇、外部網(wǎng)絡(luò)端口等等、或其組合)。如本文所使用的,“刀片外殼”可以是接收多個(gè)刀片設(shè)備并且針對(duì)接收到的刀片設(shè)備提供至少一個(gè)外圍設(shè)備資源的底盤。例如,刀片外殼可以包括冷卻所安裝的刀片設(shè)備的風(fēng)扇、將電力提供給所安裝的刀片設(shè)備的至少一個(gè)電源、用于所安裝的刀片設(shè)備的外部網(wǎng)絡(luò)端口,等等,或者其組合。
[0016]在圖1的示例中,刀片設(shè)備130可以包括邏輯處理器132以及與邏輯處理器132相關(guān)聯(lián)的存儲(chǔ)器134。在本文所述的示例中,邏輯處理器132在本文中可以被稱為“擴(kuò)展”邏輯處理器132,而刀片設(shè)備130在本文中可以被稱為“擴(kuò)展”刀片設(shè)備130。在一些示例中,刀片設(shè)備130可以包括多個(gè)邏輯處理器,其中的一些或全部的邏輯處理器具有關(guān)聯(lián)的存儲(chǔ)器。刀片設(shè)備140可以包括邏輯處理器142。在一些示例中,刀片設(shè)備140可以包括與邏輯處理器142關(guān)聯(lián)的存儲(chǔ)器。在本文所述的示例中,邏輯處理器142在本文中可以被稱為“計(jì)算”邏輯處理器142,而刀片設(shè)備140在本文中可以被稱為“計(jì)算”刀片設(shè)備140。在一些示例中,刀片設(shè)備140可以包括多個(gè)邏輯處理器,其中的一些或全部具有關(guān)聯(lián)的存儲(chǔ)器。如本文所使用的,“邏輯處理器”可以是CPU IC、CPU IC的CPU( S卩,多核CPU IC上的多個(gè)核中的一個(gè))、或CPU IC的CPU (或核)上的線程。
[0017]本文所描述的任何擴(kuò)展刀片設(shè)備或計(jì)算刀片設(shè)備可以是如上所述的刀片設(shè)備。在本文所描述的示例中,擴(kuò)展刀片設(shè)備可以是被指定為提供存儲(chǔ)器而不是邏輯處理器,以用于由包括該刀片設(shè)備的分區(qū)的OS使用的刀片設(shè)備。在本文所描述的示例中,計(jì)算刀片設(shè)備可以是被指定為提供存儲(chǔ)器和邏輯處理器,以用于由包括該刀片設(shè)備的分區(qū)的OS使用的刀片設(shè)備。在一些示例中,分區(qū)的每個(gè)刀片設(shè)備可以被指定為在描述分區(qū)的配置的各方面的分區(qū)配置信息中的擴(kuò)展刀片設(shè)備或計(jì)算刀片設(shè)備。另外,本文所述的任何擴(kuò)展邏輯處理器或計(jì)算邏輯處理器可以是如上所述的邏輯處理器。在本文描述的示例中,擴(kuò)展邏輯處理器可以是擴(kuò)展刀片設(shè)備的邏輯處理器,而計(jì)算邏輯處理器可以是計(jì)算刀片設(shè)備的邏輯處理器。
[0018]如本文所使用的,與邏輯處理器“關(guān)聯(lián)”的存儲(chǔ)器(或者邏輯處理器的“關(guān)聯(lián)”存儲(chǔ)器)是由集成在包括邏輯處理器或構(gòu)成邏輯處理器的CPU IC上的存儲(chǔ)器控制器管理的存儲(chǔ)器。例如,包括與邏輯處理器關(guān)聯(lián)的存儲(chǔ)器的刀片設(shè)備可以包括至少一個(gè)存儲(chǔ)器模塊以及包括至少一個(gè)邏輯處理器(例如,CPU或核)以及至少一個(gè)管理存儲(chǔ)器模塊的集成的存儲(chǔ)器控制器的CPU ICo在一些示例中,刀片設(shè)備可以包括多個(gè)CPU 1C,每個(gè)CPU IC都包括至少一個(gè)管理刀片設(shè)備的存儲(chǔ)器模塊的集成的存儲(chǔ)器控制器。如本文所使用的,存儲(chǔ)器模塊可以是例如雙內(nèi)聯(lián)存儲(chǔ)器模塊(DIMM)、單內(nèi)聯(lián)存儲(chǔ)器模塊(SIMM)、或包括多個(gè)存儲(chǔ)器設(shè)備的任意其他類型的存儲(chǔ)器模塊。
[0019]在圖1的示例中,刀片設(shè)備130包括機(jī)器可讀存儲(chǔ)介質(zhì)120,其中編碼有包括指令122、124和126的SFW實(shí)例121。在一些示例中,SFW實(shí)例121可以包括附加的指令。如本文所使用的,“機(jī)器可讀存儲(chǔ)介質(zhì)”可以是電的、磁的、光的或其他物理存儲(chǔ)裝置,以包含或存儲(chǔ)例如可執(zhí)行指令、數(shù)據(jù)等信息。例如,本文所描述的任何機(jī)器可讀存儲(chǔ)介質(zhì)可以是隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(R0M)、易失性存儲(chǔ)器、非易失性存儲(chǔ)器、閃存、存儲(chǔ)驅(qū)動(dòng)器(例如,硬盤驅(qū)動(dòng)器)、固態(tài)驅(qū)動(dòng)器、任意類型的存儲(chǔ)磁盤(例如,壓縮盤只讀存儲(chǔ)器(⑶-R0M)、任何其他類型的壓縮盤,DVD等),等等,或其組合中的任一種。此外,本文所述的任何機(jī)器可讀存儲(chǔ)介質(zhì)可以是非暫時(shí)性的。本文所描述的任何“存儲(chǔ)器”可以是至少一個(gè)機(jī)器可讀存儲(chǔ)介質(zhì)的至少一部分。
[0020]在圖1的示例中,SFW實(shí)例121的指令能夠由邏輯處理器132來(lái)執(zhí)行以實(shí)施如下面結(jié)合SFW實(shí)例121所描述的功能。邏輯處理器132可以取得、解碼和執(zhí)行存儲(chǔ)在存儲(chǔ)介質(zhì)120上的指令以實(shí)施下面描述的功能。在圖1的示例中,存儲(chǔ)介質(zhì)120可以是存儲(chǔ)SFW實(shí)例121的ROM。在一些示例中,存儲(chǔ)介質(zhì)120可以包含在安裝于刀片系統(tǒng)100的刀片設(shè)備外殼中的另一刀片設(shè)備上。如本文所使用的,“系統(tǒng)固件實(shí)例”(或“SFW實(shí)例”)可以是引導(dǎo)并且管理刀片設(shè)備的資源的一組機(jī)器可執(zhí)行指令。例如,在重置之后,刀片設(shè)備的邏輯處理器可以開(kāi)始執(zhí)行SFW實(shí)例的指令以初始化邏輯處理器以用于操作,以及初始化刀片設(shè)備的其他資源,例如與邏輯處理器關(guān)聯(lián)的存儲(chǔ)器。在一些示例中,邏輯處理器和關(guān)聯(lián)的存儲(chǔ)器的初始化可以包括由SFW實(shí)例實(shí)現(xiàn)的加電自測(cè)試(POST)。
[0021]當(dāng)由邏輯處理器執(zhí)行時(shí),SFff實(shí)例的指令還可以將邏輯處理器配置為在與SFW實(shí)例相關(guān)聯(lián)的SFW域中操作。如本文所使用的,與SFW實(shí)例相關(guān)聯(lián)的“系統(tǒng)固件域”(或者“SFW域”)可以是如下的環(huán)境:當(dāng)在引導(dǎo)之后執(zhí)行SFW實(shí)例的指令時(shí),由SFW實(shí)例引導(dǎo)的邏輯處理器可以操作。在一些示例中,SFff域可以包括多個(gè)SFW資源,包括例如SFW數(shù)據(jù)結(jié)構(gòu)和SFW代碼(即,機(jī)器可執(zhí)行指令)。如本文所使用的,作為SFW域的部分操作的邏輯處理器可以是對(duì)SFW域的SFW資源具有訪問(wèn)權(quán)的邏輯處理器。在一些示例中,SFW域的SFW資源(例如,SFW數(shù)據(jù)結(jié)構(gòu)和SFW代碼)可以被存儲(chǔ)在SFW域的系統(tǒng)管理存儲(chǔ)器區(qū)域(例如,SMRAM)中。在這些示例中,作為SFW域的部分操作的邏輯處理器可以是對(duì)存儲(chǔ)在SFW域的系統(tǒng)管理存儲(chǔ)器區(qū)域中的SFW資源具有訪問(wèn)權(quán)的邏輯處理器。作為SFW域的部分操作的邏輯處理器并不總是對(duì)系統(tǒng)管理存儲(chǔ)器區(qū)域中的SFW資源具有訪問(wèn)權(quán)。相反,邏輯處理器可以有時(shí)(例如,在引導(dǎo)時(shí))、在一些模式下(例如,系統(tǒng)管理模式(SMM))等情況下具有訪問(wèn)權(quán)。在本文所描述的示例中,具有這種受限訪問(wèn)權(quán)的邏輯處理器仍可以被視為對(duì)系統(tǒng)管理存儲(chǔ)器區(qū)域中的SFW資源具有訪問(wèn)權(quán)。在一些示例中,系統(tǒng)管理存儲(chǔ)器區(qū)域可以是被安裝在刀片外殼中并且包括對(duì)該區(qū)域具有訪問(wèn)權(quán)的邏輯處理器的至少一個(gè)刀片設(shè)備的機(jī)器可讀存儲(chǔ)介質(zhì)的至少一部分。
[0022]SFff數(shù)據(jù)結(jié)構(gòu)可以包括例如高級(jí)配置和功率接口(ACPI)表、系統(tǒng)管理B1S(SMB1S)表、存儲(chǔ)器數(shù)據(jù)結(jié)構(gòu)、中斷矢量、信號(hào)量等,或其組合。SFW數(shù)據(jù)結(jié)構(gòu)可以通過(guò)邏輯處理器執(zhí)行SFW實(shí)例的指令來(lái)生成并且存儲(chǔ)在系統(tǒng)管理存儲(chǔ)器區(qū)域中。SFW代碼可