通信系统中失效隔离的系统和方法

文档序号:6649949阅读:127来源:国知局
专利名称:通信系统中失效隔离的系统和方法
技术领域
本发明一般涉及数据存储系统领域。具体地,本发明包括一种用于在数据通信架构(fabric)中隔离错误条件的系统。
背景技术
在图1中,计算机存储系统10包括主机服务器(“主机”)12、数据处理服务器14、数据存储设备16例如廉价/独立磁盘冗余阵列(“RAID”)、和数据通信系统18。传统上,对信息的请求由主机12发起,由通信系统18传输,并由数据处理服务器14处理。数据处理服务器从数据存储设备16接收数据,并将数据通过通信系统传回主机12。类似地,主机12可将数据写到数据存储设备16中。
通信系统18可以是通信总线、点到点网络、或其他通信方案。图2示出了一通信架构20,其包括对称多处理器(“SMP复合体”)22、架构控制器24、和主机适配器26。SMP复合体22是数据处理服务器14(图1)的组件,并且主机适配器26是主机服务器12的接口(图1)。各种错误条件可在这些组件的任何一个中发生。这些错误条件可以是关键性的,即使该设备无法正常工作,或者可以是暂时性的。如果发生了关键性的错误条件,则必须重新启动或更换失效的设备。然而,暂时性错误可根据其严重性和错误发生的频率来处理。
某些错误产生于有故障的缆线、功率瞬态、或有缺陷的组件。这些类型的错误中的某些可由通信架构20作为虚假事件容忍和应对。然而,大量非关键性错误可能指示即将发生的组件失效或组件处于非稳定状态从而需要重新初始化。可使用计数器来跟踪这些非关键性错误。当计数器超过一预定阈值时,可通过重置设备、停顿(quiesce)设备从而可修理该设备、或隔离设备以避免未来的错误来采取纠正动作。
一个问题是通信架构20的任何组件的失效可产生称为感应错误(sympathy error)的附加错误条件。这些感应错误不正确地增加了错误计数器的计数。为了应对这种情况,必须把阈值设置得比本来需要的更高,以避免过早地重置设备、停顿设备、或隔离设备。这导致了这样的一种系统,该系统能知道错误条件和最可能的失效组件,但没有以足够的频率感知错误以便克服人为高阈值。当架构组件的数量增加时,只是使得该问题更严重了。因此,希望有一种用于隔离和处理错误条件的系统。此外,希望在最小可能的时间量中解决错误条件。
在Cooper等人的美国专利4,627,054中描述了一种用于在一处理器总线上连接起来的多个计算机处理单元(“CPU”)的互连和隔离机制。Cooper公开了隔离失效的CPU从而系统的其余部分可继续操作。然而,Cooper没有集中于检测该失效或可被向回关联到该失效组件的任何失效。
在美国专利4,999,838中,Horikawa公开了这样一种系统,在该系统中一组主处理器具有外围处理器,以及用于在失效后将该外围处理器返回到操作状态的装置。然而,Horikawa没有公开一种诊断错误条件以在完全失效之前确定哪一个外围处理器有故障并需要维修的方法。
在美国专利5,237,677中,Hirosawa等人公开了使用服务处理器来检测远程处理单元中的故障。Hirosawa描述了存储故障信息并使用该存储的信息来教导系统在以后遇到故障时如何纠正故障。然而,该系统试图基于当前故障数据以及存储的故障数据来生成标准化的恢复过程。这要求故障条件继续下去,直到有故障设备失效或者一错误阈值被超过。因此,希望有一种迫使错误显示自身从而可将其隔离的系统。
在美国专利6,182,248中,Armstrong等人描述了一种错误注入电路和方法,该电路和方法通过将逻辑驱动到高或低,模拟正常噪声和错误条件,并监视总线通信流(时钟、数据信号、错误信号)来在总线上生成故障。然而,计算机存储系统10的通信架构20是一种要求特定的和复杂的诊断模式的极为复杂的系统。因此,希望有一种在复杂系统中隔离错误的系统。

发明内容
这里公开的本发明利用一种强制诊断系统来隔离通信架构的有故障组件。这是通过驱动该通信架构通过总线稳定化、强制错误检测、以及关联已知资源状态的严格序列来完成的。该过程辨别感应错误并指示真正的失效组件。该强制诊断系统允许计算机存储系统通过重置设备、停顿设备以便修理、或隔离设备以避免进一步的错误来恢复正常操作并处理组件错误条件。此外,该诊断系统消除了对人为高错误阈值的需要。
SMP复合体接收到一启动事件例如从主机适配器发送的中断,并开始适配器热启动过程。在热启动期间,系统抛弃动态数据结构并返回到微代码的开始。这类似于没有重新引导过程的冷启动。在这个过程中,停顿通信总线,并停止待处理的通信事务。然后SMP复合体检查架构状态寄存器以查看是否发生了架构协议违反。然后,SMP复合体寻找主机适配器已失效的证据。随后,SMP复合体寻找适配器热启动过程已超时的指示。分析该信息以确定几种不同故障情形中的一个,以便确定哪些错误条件是感应的,而哪些错误条件是真正的。
从本说明书中以下对本发明的描述中以及从在所附权利要求中特别指出的新颖特征中可清楚地了解本发明的各种其他目标和优点。因此,为了实现以上描述的目标,本发明包括此后在附图中示出的、在对优选实施例的详细描述中完整描述的、并在权利要求中特别指出的特征。然而,这些附图和描述仅公开了可实施本发明的各种方式中的几种。


图1的框图示出了包括主机服务器、数据处理服务器、数据存储设备、和数据通信系统的计算机存储系统。
图2的框图示出了包括处理装置、架构控制器、和通信适配器的通信架构。
图3的框图示出了根据本发明的通信架构,该通信架构包括包括软件子组件的SMP复合体、架构控制器、和主机适配器。
图4的流程图示了一动态拥有者算法。
图5a的框图示出了一空白恢复表。
图5b的框图示了在已记录了一恢复事件后的图5的恢复表。
图5c的框图示出了在一更高优先级的恢复事件已盖写了先前记录的事件之后的图5b的恢复表。
具体实施例方式
本发明是基于使用强制诊断模式以将真正的故障条件从感应错误中辨别出来,并隔离计算机存储系统的通信架构中的失效组件。可通过使用标准编程或工程技术以产生软件、固件、硬件、或其任何组合,将这里公开的本发明实现为方法、装置或制造物品。这里使用的术语“制造物品”指在硬件或计算机可读介质例如光存储设备、以及易失性或非易失性存储设备中实现的代码或逻辑。这种硬件可包括但不限于现场可编程门阵列(“FPGA”)、专用集成电路(“ASIC”)、复杂可编程逻辑器件(“CPLD”)、可编程逻辑阵列(“PLA”)、微处理器、或其他类似的处理装置。
参照附图,其中相似的部件由相同的参考数字和符号表示,图3的流程图示出了包括处理装置122、架构控制器124、和主机适配器126的通信架构120。SMP复合体122包括软件子组件122a。通信架构120将SMP复合体122连接到主机适配器126,并且主机适配器将通信架构120连接到主机服务器(“主机”)。主机适配器包括一存储装置,该存储装置可包括用于报告内部适配器错误的错误信息记录(“EIR”)126a。处理装置122可以是数据处理服务器或对称多处理器(“SMP”)复合体。
在本发明的该实施例中,可存储五种根本不同的错误条件(1)组件超时,(2)适配器热启动超时,(3)架构中断,(4)适配器失效,和(5)适配器中断。组件超时指示一架构组件未能提供确认。适配器中断指示适配器检测到失效但还没有在内部失效。架构中断指示已发生总线协议违反。适配器热启动超时强烈指示已在适配器中已发生内部错误从而阻止它对来自处理装置的通信请求作出响应。
图4的流程图示出了一同步序列200。在步骤202,软件子组件122a检测出一启动事件。启动事件可以是适配器中断(错误#5)、组件超时(错误#1)、或架构中断(错误#3)。在步骤204,软件子组件发出热启动指令,使得架构控制器124停止互相之间以及与主机适配器126的通信。
在步骤206,软件子组件122a在预定时间段中等待架构中断(错误#3)和适配器中断(错误#5)到达SMP复合体122。架构中断被放置在架构中断寄存器122b(图3)中,而适配器中断被放置在适配器中断寄存器122c(图3)中。随后,软件子组件确定在主机适配器126(图3)中是否存在错误信息记录(“EIR”)126a,并且如果是这样,则在步骤208中将该EIR复制到SMP复合体中以便分析。在步骤210中,评估错误、超时、和中断以确定哪一个组件真正应对错误负责。下面探讨各种情形。
在第一种情形中,接收到的唯一错误是组件超时(错误#1),其指示主机适配器126未能确认一消息。在SMP复合体122中递增一阈值计数器122d。因为未检测到适配器热启动超时(错误#2),这指示适配器的工作足够正常以确认热启动的开始,所以在此时不需要重置。
在第二种情形中,所接收到的唯一错误是适配器热启动超时(错误#2),其指示一先前正常工作的主机适配器126未能对热启动指令作出响应。这里,递增阈值计数器122d,并且重置主机适配器126。
在第三种情形中,所接收到的唯一错误是架构中断(错误#3),其指示架构控制器124已观察到主机适配器126的架构协议违反。递增阈值计数器122d,但不启动恢复步骤。
在第四种情形中,所接收到的唯一错误是适配器失效(错误#4),其指示主机适配器126已将一内部失效记录为EIR 126a。某种事件,例如设备失效,阻止了主机适配器126向软件子组件122a发送一适配器中断(错误#5)。在本发明的一个实施例中,该软件子组件122a将最终向主机适配器126传送一心跳消息。当主机适配器126未能对该心跳消息作出响应时,将生成一组件超时(错误#1)。在这种情况下,所有其他错误都被认为是感应的。递增阈值计数器122d并重置主机适配器126。
在第五种情形中,所观察到的唯一错误条件是适配器中断(错误#5)。因为未形成EIR 126a(错误#4),主机适配器126很可能未能完成热启动过程。因此,递增阈值计数器122d并且重置主机适配器。
组件超时(错误#1)伴随以除适配器失效(错误#4)之外的任何其他错误条件指示或者在主机适配器126中发生了微代码失效,或者主机适配器正在丢弃或损坏消息。递增阈值计数器并且重置主机适配器126。
架构中断(错误#3)伴随以任何其他错误条件指示主机适配器126已产生一总线协议违反但未能通过生成适配器失效(错误#4)或中断(错误#5)而声明责任。递增阈值计数器122d,并且重置主机适配器126。
适配器失效(错误#4)伴随以任何其他错误条件指示适配器已声明责任,并且所有其他错误消息是感应的。递增阈值计数器122d,并且重置主机适配器126。
如果出现多个错误条件,则传统系统通常将递增阈值计数器122d相应的次数。因为这些错误中的一些或大多数可能是感应错误,所以应当避免重复递增阈值计数器122d。因此,将错误按重要性排列,并认为较不重要的错误是感应的。
一旦该分析过程已完成,则将执行诸如热启动或重置的恢复动作。然而,多个错误可能导致计划安排多个恢复动作。为了避免冗余的恢复动作,将各恢复事件积累为单个动作过程。以这种方式,一次地应用对于系统和组件的最佳恢复动作。
图5a、5b、5c示出了驻留在SMP复合体122中的指示出系统资源的恢复表122e。在图5a中,还没有记录恢复动作。在分析过程(图4的步骤210)中,将恢复动作记录到恢复表,如图5b所示。在图5c中,在图5b中示出的恢复动作已基于对附加的错误条件的分析由具有更高优先级的恢复动作盖写。一旦分析完成,并且所有恢复动作已被记录到恢复表122e,则执行所记录的恢复动作。
构建计算机支持系统的领域中的技术人员可开发本发明的其他实施例。然而,在以上说明书中所使用的术语和表达在那里仅被用作描述的术语,而不是用作限制的术语,并且在使用这样的术语和表达时没有意图要把所示出和描述的特征及其部分的等价物排除在外,并认识到本发明的范围仅由后面的权利要求定义和限定。
权利要求
1.一种失效隔离系统,包括包括软件子组件的处理装置,该软件子组件适于接收包括真正错误消息和感应错误消息的多个错误消息,并从该感应错误消息中辨别该真正错误消息;主机适配器;以及通信架构控制器,其通过第一通信通道连接到所述主机适配器,并通过第二通信通道连接到所述处理装置。
2.根据权利要求1的失效隔离系统,其中所述处理装置包括对称多处理器(“SMP”)复合体。
3.根据权利要求1的失效隔离系统,其中所述处理装置包括阈值计数器。
4.根据权利要求1的失效隔离系统,其中所述处理装置包括恢复表。
5.根据权利要求1的失效隔离系统,其中所述处理装置包括架构中断寄存器且所述多个错误消息包括架构中断消息,并且所述处理装置适于将所述架构中断消息复制到所述架构中断寄存器。
6.根据权利要求1的失效隔离系统,其中所述处理装置包括适配器中断寄存器且所述多个错误消息包括适配器中断消息,并且所述处理装置适于将所述适配器中断消息复制到所述适配器中断寄存器。
7.根据权利要求1的失效隔离系统,其中所述处理装置包括第一存储装置且所述主机适配器包括用于记录错误信息记录(“EIR”)的第二存储装置,并且所述处理装置适于将所述EIR复制到所述第一存储装置。
8.根据权利要求4的失效隔离系统,其中将第一恢复动作写到所述恢复表。
9.根据权利要求8的失效隔离系统,其中将具有比所述第一恢复动作更高优先级的第二恢复动作写到所述恢复表,来替换所述第一恢复动作。
10.一种隔离失效的方法,包括以下步骤检测启动事件;启动热启动过程;暂停预定时间段,以允许包括真正错误消息和感应错误消息的多个错误消息到达处理装置,该处理装置包括软件子部件;以及评估所述多个错误消息以从所述感应错误消息辨别出所述真正错误消息。
11.根据权利要求10的方法,还包括在所述评估步骤之前,如果错误信息记录(“EIR”)存在,则将该错误信息记录从主机适配器复制到所述处理装置的步骤。
12.根据权利要求10的方法,其中所述启动事件是架构中断。
13.根据权利要求10的方法,其中所述启动事件是适配器中断。
14.根据权利要求10的方法,其中所述启动事件是组件超时。
15.根据权利要求10的方法,还包括将第一恢复动作写到恢复表的步骤。
16.根据权利要求15的方法,还包括将具有比所述第一恢复动作更高优先级的第二恢复动作写到所述恢复表来替换所述第一恢复动作的步骤。
17.一种包括数据存储介质的制造物品,所述数据存储介质包括一组可由处理装置执行以实现算法的机器可读指令,所述算法包括以下步骤检测启动事件;启动热启动过程;暂停预定时间段,以允许包括真正错误消息和感应错误消息的多个错误消息到达处理装置,该处理装置包括软件子部件;以及评估所述多个错误消息以从所述感应错误消息辨别出所述真正错误消息。
18.根据权利要求17的制造物品,还包括在所述评估步骤之前,如果错误信息记录(“EIR”)存在,则将该错误信息记录从主机适配器复制到所述处理装置的步骤。
19.一种提供用于管理支持系统的服务的方法,包括将计算机可读代码集成到计算系统中,其中该计算机可读代码结合该计算系统能够执行以下步骤检测启动事件;启动热启动过程;暂停预定时间段,以允许包括真正错误消息和感应错误消息的多个错误消息到达处理装置,该处理装置包括软件子部件;以及评估所述多个错误消息以从所述感应错误消息辨别出所述真正错误消息。
20.根据权利要求19的提供服务的方法,还包括在所述评估步骤之前,如果错误信息记录(“EIR”)存在,则将该错误信息记录从主机适配器复制到所述处理装置的步骤。
21.一种失效隔离系统,包括包括软件子组件的处理装置,该软件子组件适于接收包括真正错误消息和感应错误消息的多个错误消息,并从该感应错误消息中辨别出该真正错误消息。
22.根据权利要求21的失效隔离系统,还包括通过第一通信通道连接到所述处理装置的通信架构控制器。
23.根据权利要求21的失效隔离系统,其中所述处理装置包括对称多处理器(“SMP”)复合体。
24.根据权利要求21的失效隔离系统,其中所述处理装置包括阈值计数器。
25.根据权利要求21的失效隔离系统,其中所述处理装置包括恢复表。
26.根据权利要求21的失效隔离系统,其中所述处理装置包括架构中断寄存器且所述多个错误消息包括架构中断消息,并且所述处理装置适于将所述架构中断消息复制到所述架构中断寄存器。
27.根据权利要求21的失效隔离系统,其中所述处理装置包括适配器中断寄存器且所述多个错误消息包括适配器中断消息,并且所述处理装置适于将所述适配器中断消息复制到所述适配器中断寄存器。
28.根据权利要求21的失效隔离系统,其中所述处理装置包括第一存储装置,并且适于接收错误信息记录(“EIR”)并将所述该EIR复制到所述第一存储装置。
29.根据权利要求25的失效隔离系统,其中将第一恢复动作写到所述恢复表。
30.根据权利要求29的失效隔离系统,其中将具有比所述第一恢复动作更高优先级的第二恢复动作写到所述恢复表,来替换所述第一恢复动作。
全文摘要
一种包括通信架构的计算机系统启动强制诊断以隔离和识别从感应错误条件辨别出的真正错误条件。仅对每个真正错误条件递增错误计数器,从而消除了将错误计数器阈值设置得人为地高的需要。将恢复事件记录在恢复表中,并且仅在诊断过程完成后才启动恢复动作。这防止了恢复动作的重复,以及当低级恢复动作之后将是更高级恢复动作时不必要地执行低级恢复动作。
文档编号G06F11/00GK1776629SQ20051011497
公开日2006年5月24日 申请日期2005年11月16日 优先权日2004年11月18日
发明者D·F·德阿劳若, P·M·里查兹, B·A·里纳尔迪, T·C·索伦森 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1