恢复服务器机架中刀片服务处理器的失败闪存的方法和系统的制作方法

文档序号:6513917阅读:257来源:国知局
专利名称:恢复服务器机架中刀片服务处理器的失败闪存的方法和系统的制作方法
技术领域
本发明一般地涉及计算机领域,尤其涉及封装在服务器机架中的多个刀片(blade)服务器。更特别地,本发明涉及用于自动地恢复刀片服务处理器的失败闪存的方法和系统。
背景技术
服务器刀片计算机在单个机架(刀片机架)中提供高密度服务器板(刀片)。典型的服务器刀片计算机在图1中说明,标识为服务器刀片机架102。服务器刀片机架102包括多个可热插拔的服务器刀片104a-n。在服务器刀片机架102中典型地存在十四个服务器刀片104。服务器刀片104的操作由标识为管理模块108的逻辑来协调,该管理模块108典型地包括用于控制输入/输出(I/O)功能、与网络106(例如因特网或局域网)接口、并且分配作业和数据到不同服务器刀片104的处理器。
管理模块108的另一个功能是编程服务器刀片104中的闪速只读存储器(闪速存储器)。该闪存操作更新服务器刀片104中的固件,产生最佳操作。但是,因为服务器刀片104是可热插拔的,当服务器刀片104处于可能需要几分钟的闪存操作中时,通常没有什么防止工程师从服务器刀片机架102的中平面或后平面(没有显示)中无意地移除服务器刀片104。当部分闪存的服务器刀片104重新安装到服务器刀片机架102或另一个机架中时,它将经常出故障。当重新安装到服务器刀片机架102中时,重新安装的服务器刀片104中的自诊断逻辑将识别到,闪存操作未能完全执行。但是,服务器刀片104将失败于不知道它在服务器刀片机架102中的总线地址或物理位置的点,因此不能用失败闪存来通知管理模块108该问题。
类似地,即使服务器刀片104没有从服务器刀片机架102中移除,但是闪存操作失败,管理模块108将可能不知道失败。再次,服务器刀片104将不能通知管理模块108该问题。
因此,需要一种使得服务器刀片在导致服务器刀片不知道它在服务器刀片机架中的位置的失败闪存操作之后,能够与服务器刀片机架中的管理模块通信的方法和系统。

发明内容
本发明涉及一种用于恢复多个服务器刀片计算机中在服务器刀片中的服务处理器上的闪存更新操作期间丢失的服务器刀片的方法和系统。因为闪存更新失败,丢失的服务器刀片不知道它在管理通路上的位置,该管理通路典型的形式可能是连接服务器刀片机架中的服务器刀片和管理模块的中平面或总线。丢失的服务器刀片将指示闪存失败的信号放在管理通路上。该信号放在为这种消息保留的特殊信道上。管理模块接收信号,然后确定多个服务器刀片中哪个因闪存更新失败而丢失。
如果多个闪存更新失败同时发生,管理模块阻塞与除一个外所有丢失服务器刀片的通信,并且重新闪存该一个未被阻塞的服务器刀片,从而使得该一个未被阻塞的服务器刀片能够定义它在管理通路上的位置(地址)。其他丢失服务器刀片中每个顺序地解除阻塞,重新闪存,从而使得能够定义它们在管理通路上的位置。
本发明的上面,以及另外目的、特征和优点将在下面详细描述中变得明白。


认为表征本发明的新特征在附加权利要求书中陈述。但是,本发明自身,以及优选使用模式,其更多目的和优点,当结合附随附图阅读时通过参考下面说明实施方案的详细描述来最好地理解。
图1描述连接到网络的服务器刀片机架的现有技术图;
图2a说明包括与管理模块相关联、用于隔离和定位因闪存失败而丢失的服务器刀片的刀片阻塞器的刀片机架。
图2b描述服务刀片的一个中服务处理器中非易失性存储器的结构;图3是恢复单个丢失服务器刀片所采取步骤的流程图;以及图4是恢复多于一个丢失服务器刀片所采取步骤的流程图。
具体实施例方式
现在参考图2a,描绘根据本发明优选实施方案的服务器刀片机架200的示意框图。为了清楚,仅一个管理模块202和三个服务器刀片204a-n被描绘。但是,在优选实施方案中,备用管理模块202(没有显示)包括在服务器刀片机架200中,并且服务器刀片机架200具有能够连接十四或更多服务器刀片204的中平面206。
管理模块202是能够管理多个服务器刀片204的逻辑。管理模块202经由标识为中平面206的管理通路连接到服务器刀片204a-n。中平面206是安装在服务器刀片机架200中间的后平面,其包含另外的电子设备或卡,包括服务器刀片204可以插入其中的电路和插口。中平面206包含用于管理模块202和服务器刀片204a-n之间,以及服务器刀片204a-n自身之间,经由各自的服务处理器208a-n安全内部通信的至少一个总线。
管理模块202能够检测系统中每个服务器刀片204,电源模块210,和中平面206的存在、数量、类型和修正级别。管理模块202也可以指示闪存操作并且识别闪存操作的失败,如下面更多描述的。
每个服务器刀片204具有至少一个中央处理单元(CPU)212,和非易失性存储器(NVM)214。优选地,NVM 214是闪速只读存储器(“闪速ROM”或“闪速存储器”),其可以称作块的存储为单位擦除并重新编程。NVM 214也可以包括非易失性电可擦除可编程只读存储器(EEPROM),其类似于闪速存储器,除了EEPROM以字节级擦除和重新写入,并且通常比闪速存储器的容量小。
当服务器刀片204从制造商发货时,NVM 214典型地使用固件预先烧制,包括基本输入/输出系统(BIOS)以及用于监控服务器刀片204的软件。这种监控可能包括经由对冷却风扇215的速度调节来调节操作温度,控制直接存取存储设备(DASD),监控并控制整个系统的电压,确定服务器刀片204的通电状态,请求对共享键盘、视频、鼠标、光盘只读存储器(CD-ROM)和/或软盘驱动器的访问,以及监控运行在服务器刀片204上的操作系统(OS)。为了利用更新和其他优化,该固件由管理模块202周期性地更新,其将固件更新重新闪存到NVM214中。
例如,可存取到管理模块202(虽然不一定在其中)的更新闪存码216可以下载到任何或所有服务处理器208。每个服务处理器208控制闪存码216到其各自相关NVM 214中的闪存。如果闪存码216到NVM214中的闪存失败,那么服务器刀片204的管理可能丢失。
例如,考虑更新闪存码216到NVM 214a中的失败闪存操作的下面实例。在闪存操作期间,服务器刀片204a可能在闪存操作完成之前物理地从其插槽中移除。类似地,在闪存期间可能存在间歇的电源故障或尖峰信号,或者可能仅仅存在使得闪存未能完成的控制、时序或者任何其他软件或硬件错误。这种失败可能导致服务器刀片204a的服务处理器208a“忘记”它在中平面206上的地址,从而服务器刀片204a的地址,如下面所描述的。
现在参考图2b,NVM 214划分成两个部分保护区218和闪存区220。存储在保护区218中的是不可擦除(不能够重写)的代码,其可能包括与NVM 214相关联的服务器刀片204的重要产品数据(VPD)例如序列号、型号和通用唯一标识符(UUID)。保护区218也可能包括跟踪数据,包括服务器刀片204在过去曾经安装到哪个其他服务器刀片机架200,如果存在的话。但是,保护区218不包括服务器刀片204在说明为中平面206的管理通路上的当前地址(“管理通路标识”)。
中平面206包含服务器刀片204可以插入其中的插口222。当服务器刀片204插入到特定插口222中时,物理位置为该服务器刀片204建立。例如,考虑服务器刀片204a插入到插口222a中。描绘为I2C逻辑224a的控制逻辑,其符合Phillips的IC(集成电路)间标准(在此引用其全部内容作为参考,并且通常称作“I2C”),检测插口222a中服务器刀片204a的存在。和管理模块202一起操作的I2C逻辑224a,将中平面206中总线上的物理地址分配给服务器刀片204a,当服务器刀片204a插入到插口222a中时。优选地,每个服务器刀片204与优选地连接到中平面206的唯一I2C逻辑224相关联,如图2a中描绘的。作为选择,单个I2C逻辑224可以由所有服务器刀片204使用。
作为选择,每个插口刀片204可以具有在中平面206上唯一的因特网协议(IP)地址。也就是,中平面206可以使用IP寻址协议来支持内部通信,其中连接或结合到中平面206的每个设备包含由在服务器刀片机架200内部或外部的逻辑(没有显示)指定的IP地址。例如,动态主机配置协议(DHCP)服务器110,如图1中所示,可以用来将IP地址分配给服务器刀片204a。此后,与服务器刀片204a的通信经由与服务器刀片204a相关联的网络接口卡(NIC)226a。
管理模块202管理刀片地址列表228,其是中平面206上所有管理通路位置(或者是物理总线地址如果使用插口222,或者是IP地址如果使用NIC 226)的列表。该刀片地址列表228用来在图3和4描述的步骤中识别丢失服务器刀片204。
再次参考图2a,以典型的方式,位于管理模块202和中平面206之间的是刀片阻塞器230,其选择性地阻塞管理模块202与服务器刀片204中指定服务处理器208的任何组合之间的通信。刀片阻塞器230的默认状态允许管理模块202和服务器刀片204之间(经由各自服务处理器208)的无限制通信,其中管理模块202和服务器刀片204之间的特定通信根据来自管理模块202的信号/命令而阻塞。刀片阻塞器230用来隔离特定服务器刀片204的服务处理器208,当多个服务器刀片204的服务处理器208丢失时,如图4中描述的。
同样与中平面206相关联的是存在检测设备232。可能是I2C设备的存在检测设备232能够与管理模块202通信,以识别哪个服务器刀片204安装在中平面206上。
现在参考图3,描绘在本发明优选实施方案中恢复丢失服务器刀片所采取的步骤的流程图。在启动程序302处开始,服务器刀片的服务处理器中的闪速ROM使用固件的更新来闪存(块304)。从管理模块下载到服务处理器的该固件优选地是上面参考图2a-b描述的。也就是,下载(闪存)到闪速ROM的闪存区中的该固件是先前存储固件的更新,并且包括优化相关服务器刀片的操作的代码。
在闪存操作期间,服务器刀片的逻辑位置可能变成未定义直到闪存操作成功地完成。闪存操作可能因上面讨论的原因而没有成功地完成。如果没有(询问块306),服务器刀片发送错误信号(块308)。该错误信号在管理模块和服务器刀片之间的中平面中的特定地址(物理布线或IP地址)上发送。例如,如果服务器机架具有十四个服务器刀片的插口,每个具有在中平面总线上的唯一地址,那么中平面总线上的第十五个地址为指示服务器刀片中闪速ROM的失败闪存操作的错误信号而保留。
但是,管理模块仅从错误信号中将不知道哪个服务器刀片未能使用更新的固件闪存其闪速ROM。因此,管理模块首先检查标识为服务器机架系统一部分的所有服务器刀片的位置(地址)列表(块310)。管理模块然后通过比较(应当在系统上的所有服务器刀片的)服务器刀片地址列表上的位置和当前具有与管理模块的通信能力的服务器刀片的地址,来确定哪个服务器刀片“丢失”(因在失败闪存操作期间其位置未定义)。该通信能力可以通过监控到和从服务器刀片的通信量并且使用如上参考图2a描述的存在检测设备232来由管理模块实现。在列表上但是没有与管理模块通信的服务器刀片被推论为丢失服务器(块312)。
然后管理模块,优选地使用图2中描述的I2C逻辑224,向服务器刀片提供(块314)其当前管理通路位置(物理位置或IP地址)。该当前位置标识优选地通过转换来自图2a中所示刀片地址列表228的当前位置标识来提供。既然管理模块和服务器刀片知道服务器刀片的恢复位置标识,管理模块可以重新闪存服务器刀片中的闪速ROM(块316),并且过程结束(结束程序块318)。
可能存在两个或多个服务器刀片失败的情况。图4中所示的步骤满足处理该情况的优选方法。虽然步骤描述为仅两个服务器刀片未能正确地闪存新的固件,该方法适合于任何数目的服务器刀片,如这里描述的。
以启动程序块402开始,管理模块闪存第一和第二服务器刀片的闪速ROM(块404)。如果它们都失败(询问块406),那么两个服务器刀片都将丢失。一个(或者优选地两个都)服务器刀片将失败信号放置在连接到管理模块的中平面总线上,其接收失败信号(块408)。如果第一和第二服务器刀片都发送失败信号,那么管理模块可能接收重复的失败信号,指示两个失败的闪存。作为选择,管理模块可能仅接收到单个失败信号,对于全部两个服务器刀片,两个服务器刀片都或者仅一个服务器刀片发送失败信号。
管理模块不能通信到全部两个服务器刀片,因为如果两个服务器刀片同时在特定地址将发生的冲突问题。因此,管理模块必须首先使用图2a中描述的刀片阻塞器将服务器刀片之一阻塞出去(块410)。以图3中描述的相同方式,管理模块然后重新建立未被阻塞的服务器刀片的位置标识,并且重新闪存那个服务器刀片闪速ROM(块412)。接下来,管理模块指示刀片阻塞器以解除阻塞该被阻塞的服务器刀片,另一个丢失服务器刀片的标识位置被建立,并且它的闪速ROM以上述相同方式重新闪存(块414),从而结束过程(结束程序块416)。
如果存在多于一个因固件到闪速ROM的失败闪存而已经丢失的服务器刀片,那么刀片阻塞器继续一次阻塞所有除了一个服务器刀片,当每个服务器刀片的标识位置被重新建立时。
本发明因此提供一种恢复因失败闪存而已经丢失的丢失服务器刀片的可靠方法和系统。通过识别丢失的服务器刀片,服务器刀片的更新固件可以重新闪存,允许服务器刀片以最大效率操作。
应当理解,本发明至少一些方面可能作为选择地以程序产品实现。定义本发明上功能的程序可以经由多种信号承载介质传递到数据存储系统或计算机系统,其包括但不局限于,不可写存储介质(例如CD-ROM),可写存储介质(例如软盘,硬盘驱动器,读/写CD ROM,光介质),以及通信介质,例如计算机和电话网络,包括以太网。应当理解,因此,在这种信号承载介质中,当承载或编码指示本发明中的方法功能的计算机可读指令时,代表本发明的备选实施方案。此外,应当理解,本发明可能由具有硬件,软件,或者软件和硬件组合形式的装置的系统来实现,如在这里或其等价物中描述的。
虽然本发明已经参考优选实施方案详细地显示和描述,本领域技术人员应当理解,形式和细节的各种改变可能在其中进行,而不背离本发明的本质和范围。
权利要求
1.一种方法,包括试图从管理模块下载计算机代码到第一数据处理单元,该第一数据处理单元是由管理模块管理的多个数据处理单元中的一个,该多个数据处理单元由管理通路连接到管理模块;响应计算机代码未能正确地下载从而导致第一数据处理单元不能定义它在管理通路上的管理通路位置,使用管理通路上的特殊地址将失败信号从第一数据处理单元发送到管理模块;比较当前有效数据处理单元的管理通路位置和为所有多个数据处理单元而保留的所有管理通路位置的列表,该当前有效数据处理单元来自多个数据处理单元;以及推断第一数据处理单元的管理通路位置为在所有管理通路位置列表上的管理通路位置而不是当前有效数据处理单元之一的管理通路位置。
2.根据权利要求1的方法,还包括在推断第一数据处理单元的管理通路位置之后提供管理通路位置到第一数据处理单元。
3.根据权利要求2的方法,其中第一数据处理单元的管理通路位置使用符合I2C总线规范并且连接到管理通路的控制逻辑提供到第一数据处理单元。
4.根据权利要求3的方法,其中控制逻辑在管理模块的控制下。
5.根据权利要求1的方法,还包括识别作为失败计算机代码下载的结果不知道其管理通路位置的第二数据处理单元;阻塞从管理模块到第二数据处理单元的通信;以及提供第一管理通路位置到第一数据处理单元。
6.根据权利要求5的方法,还包括随后解除阻塞第二数据处理单元和管理模块之间的通信;以及提供第二管理通路位置到第二数据处理单元。
7.根据权利要求1的方法,其中多个数据处理单元是服务器刀片。
8.根据权利要求7的方法,其中管理模块和服务器刀片是服务器刀片机架的组件。
9.根据权利要求1的方法,其中数据处理单元的每个具有网络接口卡(NIC),并且其中第一数据处理单元的管理通路位置是因特网协议(IP)地址。
10.根据权利要求1的方法,其中计算机代码下载到第一数据处理单元的服务处理器中。
11.根据权利要求1的方法,其中计算机代码试图闪存到第一数据处理单元中的服务处理器中的闪速存储器中。
12.一种系统,包括管理模块;多个数据处理系统;将管理模块连接到多个数据处理系统的管理通路;为管理通路上的多个数据处理系统保留的保留管理通路位置列表;以及连接到管理通路的存在检测设备,其中如果计算机代码到多个数据处理系统中的第一数据处理系统的下载失败并且使得第一数据处理系统的管理通路位置变成由第一数据处理系统未定义,那么存在检测设备在管理通路上的特殊地址上检测来自第一数据处理系统的失败信号,从而导致管理模块比较保留管理通路位置的列表和在管理通路上当前有效的数据处理单元的位置,以恢复管理通路位置到第一数据处理单元。
13.根据权利要求12的系统,还包括控制逻辑,其符合I2C总线规范,用于将管理通路位置恢复到第一数据处理系统。
14.根据权利要求13的系统,还包括阻塞器,用于阻塞从管理模块到未能下载软件的第二数据处理系统的通信,其中第一数据处理单元可以使其管理通路位置被恢复,当第二数据处理系统被阻塞时,并且在解除阻塞该阻塞器之后第二数据处理系统可以随后使其管理通路位置被恢复。
15.根据权利要求12的系统,还包括第一数据处理单元中的服务处理器;以及第一数据处理单元中的服务处理器中的闪速存储器,其中计算机代码是从管理模块闪存到闪速存储器的代码更新。
16.根据权利要求12的系统,其中多个数据处理单元是服务器机架中的服务器刀片。
17.一种计算机程序产品,存储在计算机可使用介质上,包括试图从管理模块下载计算机代码到第一数据处理单元的程序代码,该第一数据处理单元是由管理模块管理的多个数据处理单元中的一个,该多个数据处理单元由管理通路连接到管理模块;响应计算机代码未能正确地下载从而导致第一数据处理单元不能定义它在管理通路上的管理通路位置,使用管理通路上的特殊地址将失败信号从第一数据处理单元发送到管理模块的程序代码;比较当前有效数据处理单元的管理通路位置和为所有多个数据处理单元而保留的所有管理通路位置的列表的程序代码,该当前有效数据处理单元来自多个数据处理单元;以及因为是在所有管理通路位置列表上的管理通路位置但不是当前有效数据处理单元之一的管理通路位置,推断第一数据处理单元的管理通路位置的程序代码。
18.根据权利要求17的计算机程序产品,还包括用于在推断第一数据处理单元的管理通路位置之后提供管理通路位置到第一数据处理单元的程序代码。
19.根据权利要求17的计算机程序产品,还包括用于识别作为失败计算机代码下载的结果不知道其管理通路位置的第二数据处理单元的程序代码;用于阻塞从管理模块到第二数据处理单元的通信的程序代码;以及用于提供第一管理通路位置到第一数据处理单元的程序代码。
20.根据权利要求19的计算机程序产品,还包括用于随后解除阻塞第二数据处理单元和管理模块之间的通信的程序代码;以及用于提供第二管理通路位置到第二数据处理单元的程序代码。
全文摘要
一种在多个服务器刀片计算机中,用于恢复在服务器刀片中的服务处理器上的闪存更新操作期间丢失的服务器刀片的方法和系统。因为闪存更新失败,丢失的服务器刀片不知道它在管理通路上的位置,该管理通路典型的形式可能是连接服务器刀片机架中的服务器刀片和管理模块的中平面或总线。丢失的服务器刀片将指示闪存失败的信号放置在管理通路上。信号放置在为这种消息而保留的特殊信道上。管理模块接收信号,然后确定多个服务器刀片中哪个因闪存更新失败而丢失。
文档编号G06F11/00GK1655519SQ20051000642
公开日2005年8月17日 申请日期2005年1月31日 优先权日2004年2月12日
发明者杰拉德·尼古拉斯·巴克勒, 杰弗里·迈克尔·弗兰克, 多纳德·欧格尼·约翰逊, 卡尔·A·莫雷尔, 戴维·罗伯特·伍德哈姆 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1