通过rfid的多槽口服务器管理的制作方法

文档序号:6361918阅读:134来源:国知局
专利名称:通过rfid的多槽口服务器管理的制作方法
通过RFID的多槽口服务器管理
背景技术
1.领域本发明总地涉及计算机系统,更具体地涉及具有多个处理器的服务器的初始化和管理。2.描述计算系统正变得越来越复杂。随着计算系统包括更多的处理器、更多个槽口以及更复杂的互连机制,初始化处理变成负担且耗时。对具有多个处理器的服务器系统,诸如4路和8路系统(不丧失一般性),例如确定系统初始化处理过程中结构内的处理器的有效网络所花费的时间和努力正在增加。在一些计算系统中,这种增加的初始化处理的显著部分已被推至基本输入/输出系统(BIOS)固件以供处理。使用BIOS实现系统拓朴发现任务以询问系统互连上的处理器是低效率的,但在当前系统中是必需的。随着计算系统扩展至结构上的更高数量的处理器和服务器组件,这种扩展初始化处理时间和努力消极地影响了系统引导的性能。


本发明的特征和优势将从本发明下面的详细描述中变得明显,在附图中:图1是根据本发明一实施例的计算系统的图;图2是示出根据本发明一实施例的RFID标签的内容的图;图3是示出根据本发明一实施例的示例性路由表的图;图4是根据本发明一个实施例的系统初始化处理的流程图;以及图5是根据本发明一个实施例的系统初始化处理的流程图;详细描述本发明的一个实施例是使用嵌入到计算系统中的处理器内的射频标识(RFID)标签以辅助系统初始化处理的系统和方法。RFID标签在初始化处理期间提供至计算系统的其它组件除系统互连以外的独立通信路径。当计算系统被上电时,系统中的每个处理器可使其RFID标签广播与处理器互连位置和初始化状态有关的数据。在一个实施例中,RFID标签可由计算系统的平台控制中枢(PCH)中的RFID接收器感测,并且每个处理器的互连位置和初始化状态数据可被存储在PCH内的选定寄存器中。当在系统初始化处理期间BIOS执行时,BIOS可访问这些PCH寄存器以获得处理器的数据。互连位置和初始化状态数据可由BIOS使用以选择最佳路由表并至少部分地基于最佳路由表和RFID标签数据来配置计算系统中的虚拟网络,而不需要各自地询问系统互连上的每个处理器。这导致改善的系统引导时间并确保最佳死锁释放路由被用于互连。当提供增加的RAS(可靠性、可用性和可服务性)的系统被部署时,死锁释放路由可能是重要的。本说明书中对本发明的“一个实施例”或“一实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,在本说明书通篇的多个位置出现的短语表现“在一个实施例中”不一定全部指向同一实施例。
在一个实施例中,本发明可实现在支持可从英特尔公司商业购得的快速路径互连(QPI)技术的计算系统中实现,尽管也可采用其它系统互连。QPI是与某些英特尔处理器一起使用的高速的、分组的点对点互连。狭窄的高速链路允许处理器在分布式共享存储器式平台架构中通信。相比于较早的前侧总线架构,QPI提供高得多的带宽并具有低等待时间。QPI具有高效的架构,这允许取得比先前技术更好的互连性能。它提供针对低等待时间和高伸缩性优化的侦听协议,以及允许事务快速完成的分组和通道(lane)结构。可靠性、可用性和可服务性(RAS)特征被建立在该架构中以满足关键任务服务器的需要。计算系统初始化进程的开始是施加电能,使所有关键时钟电路稳定,并随后控制各重置信号的发布以使计算系统以可预测和可控制的方式开始操作。在这种背景下,重置被定义为一组基于硬件的事件,这些事件建立一初始硬件状态。初始化被定义为一组指令序列,该指令序列跟随在重置之后并预备硬件以执行引导固件。引导固件(或BIOS)然后预备该系统用于操作系统(OS)的加载和向操作系统(OS)传递控制。这些硬件和引导固件活动的一个目的是使其任务高效地完成,因此要尽可能快地将控制移交给OS。这对必须落入4或59的可靠性的系统来说是重要的。在那些系统上,在一日历年中只允许一次或两次系统引导。必要地使系统引导进程尽可能地快以允许系统管理器更具灵活性以对计算系统提供服务。当计算系统首先脱离重置并且BIOS开始执行时,任务之一是发现哪些资源可供使用以及如何将它们互连。在这里各硬件功能在它们单独地配置处理器槽口的同时扮演一角色,如同自举处理器做的那样。然而,系统自举处理器(SBSP)随后检查其可用的信息,并通过方法进程以确定存在哪些资源、哪些资源有功能,如果资源处于降级状态,则配置这些资源以最佳和可靠的方式为OS作预备。该进程被称为拓朴发现。在已有系统中,在系统初始化期间,通过留驻在处理器的功率控制单元(POT)中的软件执行QPI拓朴发现。然而,仅对距离QPI网络上的BIOS两跳范围内的处理器才能以这种方式执行拓朴发现。在具有配置成“风车”或环形架构的八个槽口和多达八个处理器的示例性系统中,这通常意味着六槽口无法使其QPI链路由连接至这些槽口的处理器的PCU上运行的Pcode配置。相反,BIOS必须为这六个处理器配置QPI链路,作为QPI发现处理的一部分。为此,BIOS必须发现系统互连中的每个QPI链路,如果该链路未直接连接于执行该BIOS的处理器则训练该链路用于慢操作模式,发现任何附加处理器槽口能力(例如支持虚拟网络(VN)O或VNl),确保在发现的QPI路由拓朴中不存在死锁,确保该拓朴基于所发现的链路是最佳的,确定这些QPI链路是否存在任何错误,并最后训练所有这些链路以用于快速操作模式。BIOS QPI发现处理一般花费几十分钟来运行(例如在当前的4路和8路系统中),并且在某些情形下仅确保无死锁路由,但不是最佳的QPI配置。另外,BIOS无从知晓被安装在远端槽口上的处理器是否在处理器的内建自检(BIST)的任何方面已失败,直到拓朴发现结束之后。本发明的实施例通过使用嵌入到处理器中的RFID标签改善用于系统互连的拓朴发现进程。图1是根据本发明一个实施例的计算系统的图。计算系统100在特定配置中示出八个处理器,然而在其它计算系统中可使用不同数量的处理器和不同的配置。计算系统100中的每个处理器被连接至主板上的物理槽口(未示出)。在一些实现中,安装比可用槽口更少的处理器。例如,计算系统可提供八个槽口,但只有其中的六个槽口被处理器占据。可根据本发明的实施例发现哪些槽口安装有处理器以及这些处理器中的哪些被初始化并发挥功能。如图1的示例性配置所示,计算系统100包括处理器0102、处理器1104、处理器2106、处理器3108、处理器4110、处理器5112、处理器6114以及处理器7116。每个处理器包括功率控制单元(PCU)(未示出),用于控制处理器的上电和初始化。在一个实施例中,槽口可仅具有三个链路。因此,在该示例性系统配置中,处理器0102可具有至处理器1104、处理器7116和处理器4110的链路。处理器1104可具有至处理器0102、处理器2106和处理器5112的链路。其它处理器可具有如图所示的链路。在图1所示的示例性配置中,处理器0102也可用作系统引导自举处理器(SBSP)并具有对平台控制中枢(PCH) 118的直接媒体接口(DMI)连接。PCH118包括芯片集组件以控制计算系统中的其它组件(为简化起见未示出)的通信和操作。PCH控制计算系统的功率初始化顺序。PCH118包括可管理引擎(ME) 142。ME包括微处理器以实现计算系统的远程访问和管理,即便该系统被断开。ME142可通过边带通信信道与处理器通信或通过网络与其它计算平台(图1中未示出)通信。计算系统100还包括在串行外围接口(SPI)上耦合至PCH的闪存144,该闪存144存储B10S120。在一个实施例中,B10S120在处理器0102的处理核上执行。典型地,在系统初始化处理期间,处理器中的ME和P⑶在BIOS之前执行。在本发明的实施例中,每个处理器包括RFID标签。如图1所示,处理器0102包括RFID标签0122,处理器1104包括RFID标签1124,处理器2106包括RFID标签2126,处理器3108包括RFID标签3128,处理器4110包括RFID标签4130,处理器5112包括RFID标签5132,处理器6114包括RFID标签6134,而处理器7116包括RFID标签7136。如传统已知的那样,每个RFID标签在RF信号上传输关于处理器的数据。PCHl 18包括用于从RFID标签接收RF信号的RFID接收器138。每个RFID标签的数据唯一地标识其中嵌入有该RFID标签的处理器。在被转让给本发明的同一受让人并援引包含于此的由Shahidzadeh等人于2009年 11 月 20 日提交的题为“Radio-Frequency Reconfigurations of MicroelectronicSystems in Commercial Packages (商用封装件中的微电子系统的射频重配置)”的S/N12/592, 212的美国专利申请中记载了将RFID标签嵌入到处理器。RFID接收器130接收RF信号并将RF信号中包含的RFID标签数据传递至PCH。PCH确定RFID标签数据来自哪个处理器,并将该RFID标签数据存储在PCH中选定的一个或多个RFID寄存器140中。一旦来自一个或多个处理器的数据被存储在RFID寄存器中,ME142和B10S120可访问该RFID寄存器并使用数据以供系统初始化,包括确定系统互连拓朴和发现。由于该数据可在系统上电过程中较早地访问,总系统初始化时间得以减少,因为ME和/或BIOS在执行系统初始化任务(例如确定最佳路由配置)时可使用可用数据,而不是明确地且单独地询问QPI链路上的各处理器。确定最佳无死锁路由对具有四个或更多个处理器的服务器而言通常是很难解决的问题,但在本发明的实施例中,如果ME和/或BIOS在发现前已知哪些处理器被安装,则可使用查找表进行路由而不是复杂且耗时的慢行的算法。在其它实施例中,RFID寄存器可经由南桥芯片集(1/0控制中枢(ICH))中的总拥有成本(TCO)端口通过基带管理控制器(BMC)进行访问。图2是示出根据本发明一实施例的RFID标签200的内容的图。在一个实施例中,RFID标签包括下列数据字段。在其它实施例中,与处理器关联的其它数据也可被存储在RFID标签中并被发送至PCH。槽口标识符(ID) 200可以是一个序号,该序号唯一地标识发送RFID标签的处理器物理就位的主板上的处理器槽口。在具有八个槽口的一实施例中,槽口 ID可以是从0-7的任何序号。在其它实施例中,可使用标识槽口的其它序号或指示符。能力ID204可定义处理器的能力,并可包括中央处理单元(CPU) ID。内建自检(BIOS)状态206包括处理器的BIST处理的结果,包括高速缓存结果、I/O结果等。BIST结果可以是作为上电的结果由处理器确定的。当处理器包括多个核时,BIST状态可包括对于每个核的BIST结果(即专门针对核的BIST结果)。将BIST结果包括在RFID标签数据中提供了优于当前方法和系统的优势,当前方法和系统提供了将BIST结果加载到处理器内的EAX寄存器中的处理器,EAX寄存器仅由QPI链路(它仅可在系统互连拓朴和发现处理完成后使用)上的BIOS访问(在取第一 BIOS码时并仅针对本地BIST结果,而不针对远端BIST结果)。远端BIST结果是不可见的,直到经由QPI链路和SBSP固件代理的处理器发现已被选择之后。然而,在本发明的实施例中,将BIST结果存储在PCH中的RFID寄存器允许BIOS较早地访问BIST结果而不必直接询问处理器。这导致对具有四个以上的槽口的系统更快的上电自检(POST)操作并允许在发现前选择最佳的路由。在FRB(故障弹性引导)场景中,BIOS需要知晓哪些CPU核和高速缓存片段在其关联的BIST测试中失败。BIOS将禁用在测试中失败的任何核或高速缓存片段,但它需要重置。使用本发明的实施例,BIOS将知晓必须禁用哪些核和高速缓存片段,这允许将重置结合到单个事件中。另外,由于BIOS如今在将核或高速缓存片段用于POST或平台操作之前已知道出错的核或高速缓存片段,因此它可被禁用而不会有运行时间错误的风险。这将直接导致更稳定和强健的平台,因为代码不会在有缺陷的硬件上执行。另外,从槽口 ID和能力ID,B10S能关联节点ID,并在发现前知晓哪些处理器被安装在计算系统中、可能的QPI链路数目以及正确的无死锁路由。这允许BIOS基于动态改变计算系统的拓朴和处理器的BIST结果来维持每个支持的RAS模式的最佳路由表。这可在原先架构的BIOS取期间完成,但在QPI发现之前。每个槽口可以有一个以上的节点ID(每个节点ID对应于一逻辑处理器)。BIST结果可以是零(指示没有错误)或非零(指示在BIST期间处理器中出现错误)。图3是示出根据本发明一实施例的示例性路由表的图;可以有任何数量的路由表存储在计算系统中。在一个实施例中,针对安装在计算系统中的每个唯一编号的处理器具有预定的最佳路由表。例如,如果安装的处理器的数目为8,则可选择一预定的最佳路由表。如果系统配置改变(例如处理器中的一个或多个出故障并且无法运转),则可选择与新配置对应的不同的最佳路由表。最佳路由表可以是预定的并被存储在闪存或PCH中。当安装的处理器的数目小于由计算系统支持的处理器的最大数时,可通过使用规则来指定某些槽口的使用。在一实施例中,为了取得无死锁路由,使用示例性拓朴需要两个虚拟网络(VN0和VNl)。在一实施例中,在偶数节点发出的消息使用VN0,在奇数节点发出的消息使用VNl,并且该消息横越最末跳至目的地并切换至VN0。图4是根据本发明一个实施例的系统初始化处理的流程图;在方框400,PCHl 18使系统中的每个处理器顺序地开始其通电。在一个实施例中,这可通过对每个处理器断言XXRESET信号而发起。每个处理器执行BIST。每个处理器将至少BIST结果、其槽口 ID及其能力ID存储到其RFID标签中,并根据已知的RF方法来广播该RFID标签。在方框402,PCH在由RFID接收器138感测到的RF信号中从处理器接收RFID标签,并将RFID标签数据存储在RFID寄存器140中。在一个实施例中,存在与每个槽口关联的一组RFID寄存器。当没有数据被存储在与槽口关联的RFID寄存器中时,BIOS可推断在对该处理器上电时存在错误,或者槽口是空的。一旦RFID标签数据被存储,PCH118可在一个实施例中解除对XXRESET信号的断言,由此在方框404允许BIOS开始从闪存中取代码。接着,在方框406,B10S120从RFID寄存器140执行和读取关于已广播其RFID标签处理器的RFID标签数据。在方框408,BIOS使用RFID标签数据来基于可得的处理器特性、占据的槽口和BIST结果来确定最佳路由表。BIOS也可使用RFID标签数据来进一步配置计算系统。例如,如果RFID标签数据指示某些槽口没有被处理器占据,则可避免对这些空槽口进行初始化的尝试。在另一示例中,如果计算系统用户选择对当前配置的系统不可能的RAS拓朴,BIOS能够立即向用户指示这种情况。图5是根据本发明一个实施例的系统初始化处理的流程图;图5描述了 BIOS和RFID标签数据的可管理引擎(ME)处理。在方框500,B10S开始上电自检(POST)处理。作为POST的一部分,BIOS检查RFID寄存器140以观察是否已存储了来自处理器的RFID标签数据。如果不存在RFID标签数据,则在方框504ME将这种状态感测为BIOS重置矢量未被执行。这可能意味着一个或多个处理器或处理器核无法正确地上电,或者意味着对该处理器的系统互连链路无法初始化。在方框506,ME发送警报至基带管理控制器(BMC)和/或系统管理器以报告错误。如果在方框502检测到RFID标签数据,在方框508,ME将每个处理器的BIST结果记录到系统事件日志中并参与正常系统引导进程。如果在方框502检测到RFID标签数据,在方框510,BIOS基于从存储的RFID标签数据得知的槽口拓朴来确定最佳路由表。在方框512,B10S基于当前拓朴配置计算系统的QPI虚拟网络。接着,在方框514,BIOS对QPI链路的物理和电气特性设置等化(EQ)参数并发起QPI链路至QPI快速模式的训练。在方框516,BIOS将控制移交给OS。在其它实施例中,本发明可实现在支持除QPI以外的系统互连技术的计算系统中,这些系统互连技术例如由HyperTransport协会定义的HyperTransport(HT)或其它互连。尽管下面的操作可描述为连续的进程,但其中一些操作事实上可并行地或同时地执行。另外,在一些实施例中,操作的顺序可被重排。本文描述的技术不仅限于任何具体硬件或软件配置,它们可在任何计算或处理环境中找到应用性。这些技术可以硬件、软件或其两者的组合来实现。这些技术可实现在可编程机上执行的程序中,所述可编程机例如是移动计算机或固定计算机、个人数字助理、机顶盒、蜂窝电话和寻呼机以及各自包含处理器、可由处理器读出的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及一个或多个输出设备的其它电子设备。将程序代码施加于使用输入设备输入的数据以执行所述功能并产生输出信息。输出信息可被施加至一个或多个输出设备。本领域内技术人员应当知道,本发明可通过各种计算机系统配置来实践,包括多处理器系统、小型计算机、大型计算机等等。本发明也可在其中由通过通信网络链接的远程处理设备执行任务的分布式计算环境中实现。每个程序可实现在高级程序化语言或面向目标的编程语言中以与处理系统通信。然而,如果需要,程序可实现为汇编语言或机器语言。在任一情形下,语言可被编译或解释。
程序指令可用来使通过该指令编程的通用处理系统或专用处理系统执行本文描述的操作。替代地,这些操作可由包含用于执行这些操作的硬连线逻辑的专用硬件组件来执行,或由编程的计算机组件和自定义的硬件组件的任何组合来执行。本文所述的方法可作为计算机程序产品提供,该计算机程序产品可包括其上存储有指令的机器可读介质,这些指令可被用来对处理系统或其它电子器件编程以执行这些方法。本文中使用的术语“机器可读介质”应当包括能够存储或编码一系列指令以由机器执行并使机器执行本文所述的任何一种方法的任何介质。术语“机器可读介质”因此应当包括,但不仅限于,固态存储器、光盘和磁盘。此外,现有技术中常见地以一种形式或另一种形式(例如程序、例程、进程、应用、模块、逻辑等)将软件说成是采取一个动作或导致一个结果。这些表达只是陈述通过处理系统执行的软件使处理器执行一动作并产生一结果的速记方式。
权利要求
1.一种计算系统,包括: 多个处理器,每个处理器包括射频(RF)标识(ID)标签以在RF信号上广播与所述处理器关联的RFID标签数据,每个处理器通过系统互连耦合至多个其它处理器; 耦合至所述处理器中的至少一个处理器的平台控制中枢(PCH),所述PCH包括RFID接收器以从所述处理器上的RFID标签接收RF信号以及多个RFID寄存器,以存储从所述处理器接收的RFID标签数据;以及 耦合至所述PCH以存储基本输入/输出系统(BIOS)的闪存,所述BIOS从所述PCH中的RFID寄存器读取RFID标签数据以确定所述系统互连的最佳路由表。
2.如权利要求1所述的计算系统,其特征在于,所述RFID标签数据包括处理器的互连位置和初始化状态。
3.如权利要求2所述的计算系统,其特征在于,所述RFID标签数据包括所述处理器的能力ID,并且所述互连位置包括槽口 ID。
4.如权利要求2所述的计算系统,其特征在于,所述初始化状态包括所述处理器的内建自检(BIST)状态。
5.如权利要求4所述的计算系统,其特征在于,所述PCH进一步包括微控制器,用于当关于处理器的RFID标签数据在RFID寄存器中可用时将处理器的BIST状态存储在系统事件日志中,并当关于处理器的RFID标签数据在RFID寄存器中不可用时将警报发送至所述计算系统的基带管理控制器。
6.如权利要求1所述的计算系统,其特征在于,所述BIOS至少部分地基于所述最佳路由表为系统互连配置虚拟网络而无需询问所述系统互连上的每个处理器。
7.如权利要求6所述的计算系统,其特征在于,所述BIOS对系统互连链路设置等化参数并发起所述链路至快速模式的训练。
8.如权利要求1所述的计算系统,其特征在于,所述系统互连包括快速路径互连。
9.一种初始化计算系统的方法,包括: 对所述计算系统中的多个处理器中的每一个上电,每个处理器包括射频(RF)标识(ID)标签,每个处理器通过系统互连耦合至多个其它处理器; 在RF信号上通过每个处理器中的RFID标签广播与所述处理器关联的RFID标签数据; 通过耦合至所述处理器中的至少一个处理器的平台控制中枢(PCH)中的RFID接收器从所述处理器上的RFID标签接收RF信号; 将来自所述RF信号的RFID标签数据存储在PCH中的多个RFID寄存器中;以及 通过基本输入/输出系统(BIOS)从所述RFID寄存器读出RFID标签数据并使用所述RFID标签数据来确定所述系统互连的最佳路由表。
10.如权利要求9所述的方法,其特征在于,所述RFID标签数据包括处理器的互连位置和初始化状态。
11.如权利要求10所述的方法,其特征在于,所述RFID标签数据包括所述处理器的能力ID,并且所述互连位置包括槽口 ID。
12.如权利要求10所述的方法,其特征在于,所述初始化状态包括所述处理器的内建自检(BIST)状态。
13.如权利要求12所述的方法,其特征在于,所述PCH包括微控制器,所述微控制器当关于处理器的RFID标签数据在RFID寄存器中可用时将处理器的BIST状态记录在系统事件日志中,并当关于处理器的RFID标签数据在RFID寄存器中不可用时将警报发送至所述计算系统的基带管理控制器。
14.如权利要求9所述的方法,其特征在于,还包括BIOS至少部分地基于所述最佳路由表为系统互连配置虚拟网络而无需询问所述系统互连上的每个处理器。
15.如权利要求14所述的方法,其特征在于,还包括所述BIOS对系统互连链路设置等化参数并发起所述链路至快速模式的训练。
16.如权利要求15所述的方法,其特征在于,还包括所述BIOS将控制移交给操作系统(OS)。
17.如权利要求9所述的方法,其特征在于,所述系统互连包括快速路径互连。
18.如权利要求9所述的方法,其特征在于,还包括所述BIOS在上电自检(POST)模式下确定所述最佳路由表。
19.如权利要求12所述的方法,其特征在于,还包括所述BIOS访问所述处理器的BIST状态而无需询问所述系统互连 上的处理器。
全文摘要
使用嵌入到计算系统中的处理器之内的射频标识(RFID)标签以帮助系统初始化处理。RFID标签在初始化处理期间提供除系统互连以外的至计算系统的其它组件的独立通信路径。当计算系统被上电时,系统中的每个处理器可使其RFID标签广播与处理器互连位置和初始化状态有关的数据。RFID标签可由计算系统的平台控制中枢(PCH)中的RFID接收器感测,并且每个处理器的互连位置和初始化状态数据可被存储在PCH内的选定寄存器中。当在系统初始化处理期间BIOS执行时,BIOS可访问这些PCH寄存器以获得处理器的数据。互连位置和初始化状态数据可由BIOS使用以选择最佳路由表并至少部分地基于最佳路由表和RFID标签数据来配置计算系统中的实际网络,而不需要各自地询问系统互连上的每个处理器。
文档编号G06K17/00GK103154916SQ201180047390
公开日2013年6月12日 申请日期2011年7月18日 优先权日2010年8月2日
发明者R·C·斯旺森, V·J·齐默, M·布鲁苏, M·A·罗斯曼, P·萨克斯库马 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1