专利名称:用于媒体区域网络的实时故障切换恢复的制作方法
本申请根据35U.S.C.119(e)要求于2002年8月2日提交的序列号为60/400635的美国临时专利申请的优先权,在此合并其教益。
技术区域本发明涉及用于在媒体区域(media area)网络中实现存储设备的故障切换(fail-over)恢复的技术。
背景技术:
在广播工业中,存在媒体区域网络(MANs),其包括作为执行非实时操作系统的中央处理器的形式的主系统。主总线适配器连接主系统和存储系统,该存储系统包括一个或多个存储设备。每一个设备可采用单机磁盘或廉价盘(Inexpensive disk)的冗余阵列(RAID)形式。实际上,每一个存储设备保存了对于编辑和/或广播可访问的数字化视频。为了确保可靠性,MAN中的所有组件具有容错性并且尽可能地具有冗余特性,以在出现故障时提供实时恢复。当存储在存储系统的一个或多个存储设备中的视频经历实况传输时,这种实时恢复变得特别关键。
当MAN中出现故障时,对故障的定位能够影响恢复所需的时间。例如,考虑与分配给存储设备的端口有关的故障。当这种故障出现时,错误信号传播到可以将错误信号传送到主总线适配器的光纤信道结构中。主总线适配器典型地具有在故障端口和备选端口之间进行切换以从故障中恢复的能力。不幸地,当前的主总线适配器没有固有地支持媒体区域网络的实时需求。现有的主总线适配器通常引入了明显的等待时间。在错误的接收和端口间的切换之间可以出现差不多10秒的延迟。这些延迟带来相当大的困难。一些主总线适配器的制造商现在提供故障切换恢复软件来管理端口故障。不幸地,这些软件没有证明是透明或是无缝的。经验测试显示这种软件引起差不多15秒的等待延迟。
因此,需要一种用于在MAN中提供故障的近似实时恢复的技术。
发明内容
简要地,根据本发明,一种媒体区域网络(MAN)包括主系统、具有至少一个存储设备的存储系统以及连接主系统和存储系统的主总线适配器。在主总线适配器中,当错误出现时,端口驱动器监控由存储系统产生的一个或多个错误信号的出现。响应错误信号,端口驱动器自动发起故障端口和备选端口之间的切换,以实现故障切换恢复。针对故障切换恢复将响应分配到端口驱动器保证了端口故障的及时处理,从而减少了潜在的等待延迟。
图1示出了根据本原理实现实时故障切换恢复的MAN的方框示意图;图2示出了用于执行图1的MAN中的存储设备所产生的服务中断的任务的步骤的流程图表示;以及图3示出了在服务于图2所示的中断期间,检测错误的确定类型后用于执行实时故障切换恢复的步骤的流程图表示。
具体实施例方式
图1示出了媒体区域网络(MAN)10的演示实施例的方框示意图,包括通过主总线适配器14连接到存储系统16的主系统12。存储系统16包括一个或多个存储设备,如设备18所示。每一个存储设备18可采用单个设备或廉价盘的冗余阵列(RAID)形式。每一个存储设备18具有以压缩的格式或非压缩的格式存储例如数字化视频的大容量的数字化信息的容量。在存储系统16中,光纤信道结构20将每一个存储设备18连接到主总线适配器14上。光纤信道结构20典型采用一个或多个传统光纤信道转换器和相关链路(未示出)。
主总线适配器14提供在主系统12和存储系统16之间的可切换路径。因此,主总线适配器14包括运行实时操作系统的处理器形式的实时核22,例如可以从Wind River System,Inc.,Alameda,California得到的VxWorksTM操作系统,尽管存在其它实时操作系统且易于使用。实时核22控制低水平(lower level)的小型计算机系统接口(SCSI)的界面端口驱动器24,其根据本发明提供实时故障切换恢复功能。具体地,低水平端口驱动器24包括用于监控单个端口状态的逻辑(采用专用电路或可编程处理器形式)和将信息从和向存储系统16传送的相关链路(未显示)。为了确保冗余,每一个存储设备18通过双链路和双端口来保持与主总线适配器的连接。端口之一及其相关链路用作备选,而其它端口和相关链路保持有效。在故障的情况下(例如,先前的有效端口和/或相关链路的故障),低水平端口驱动器24切换到备选端口(和其相关链路)以实现故障切换恢复。因此,如有关图2和3的更详细所述,低水平端口驱动器24执行与端口切换有关的决策(以及涉及激活冗余存储设备和/或设备控制器的决策)。因此,低水平端口控制器24减轻了主系统12减少等待延迟的该责任。低水平端口驱动器24还用于通过光纤信道结构20便于SCSI I/O业务的通信。
在图1的MAN10的演示实施例中,主总线适配器14通过双联接(例如,每一信道两个链路和两个端口)与光纤信道结构20连接。存储系统18同样通过每RAID底盘两个连接与光纤信道结构20相连。按照这种方式,两个主端口中的任一个能与每RAID底盘的两个RAID控制器(未示出)中的任一个通信。这使得能够在端口和两个RAID控制器之间进行独立的故障切换。每一个主端口能够使用RAID底盘中的任一个RAID控制器。在故障情况下,能够出现主端口切换而无需切换RAID控制器,且能够出现RAID控制器切换,而无需切换主端口。
主系统12通过使用执行非实时操作系统的处理器的形式的非实时核26来提供MAN10的整个控制,例如来自Microsoft Corporation的Windows操作系统、来自Sun Microsystems,Santa Clara,California的Solaris操作系统或Linux操作系统。非实时核26通过消息技术与主总线适配器进行通信,而不是与每一个存储设备18的直接连接,以管理存储系统16和主系统12之间信息的通信。
图2示出了由图1的低水平端口驱动器24执行的方法的步骤的流程图,以实现图1的存储系统16中存储设备18所产生的服务中断任务。当执行步骤100时,开始服务中断的任务,期间,低水平端口驱动器24检查图1的存储设备18是否以正常方式完成了命令。如果是,则在图2的步骤110中,低水平端口驱动器24将告知图1的主系统12该命令的成功完成。在步骤100中不成功的执行存储系统命令之后,在步骤120中检查错误是否是可校正的。换句话说,低水平端口驱动器24确定是否能够通过切换到备选端口或控制器来校正出现的错误。在图2的步骤130中,当确定不存在校正动作时,图1的主系统12接收到带有该效果的通知。在可校正的错误出现的情况下,在图2的步骤140中,低水平端口驱动器24继续将与产生错误的存储设备有关的端口(未示出)标记为无效。此后,在图2的步骤150中,低水平端口驱动器24设置故障切换恢复任务(即,选择备选端口的任务)的时间。
图3示出了由图1的低水平端口驱动器24执行的故障切换恢复任务的步骤的流程图。当执行图3的步骤200时,开始故障切换恢复任务,期间低水平端口驱动器24等待来自图2的中断任务的信号,所述信号指示了故障切换恢复任务应该发生。当发现故障切换恢复任务现在已经变为有效时,在图3的步骤210中,图1的低水平端口驱动器24将来自无效(即,故障)端口的所有请求设置在队列中。此后,在图3中的步骤215中,低水平端口驱动器24典型地利用第三方进程退出系统(TPPLO)命令来取消来自初始但现在是无效端口的端口所有请求。接下来,在图3的步骤220中,检查TPPLO命令是否失败。当在步骤220中检测到TPPLO命令的失败时,在步骤225中,图1的低水平端口驱动器24作出与存储设备18有关的控制器(未示出)(典型是RAID控制器)失败或与控制器有关的路径失败的推论。在这种环境下,图1的低水平端口驱动器24将通过启动冗余RAID控制器来发起恢复。
步骤225(或当TPPLO命令没有失败时是步骤220)之后,在图3的步骤230中,图1的低水平端口驱动器24完成(即,“整理(cleanup)”)来自任一存储设备18的任意现有测试单元准备好(TUR)响应。最后,在步骤240中,低水平端口驱动器24开始通过新的有效备选端口发出命令,包括以前在步骤210中送入队列以重试的命令。此后,程序执行分支返回到步骤200,以等待恢复任务。
前面描述了通过使低水平端口驱动器24监控故障(无效)端口并然后切换到备选端口以实现恢复,来实现在媒体区域网络中的存储设备的故障切换恢复技术。
权利要求
1.一种媒体区域网络,包括存储系统,包括用于存储数字化信息的至少一个存储设备;主系统,用于提供媒体区域网络的整体控制;以及主总线适配器,用于提供主系统和存储系统之间的链路,主总线适配器具有低水平端口驱动器,包括监控装置,用于通过有效端口来监控所述存储系统和所述主总线适配器之间通信,以及切换装置,用于实时切换到备选端口,从而实现通信失败情况下的故障切换恢复。
2.根据权利要求1的媒体区域网络,其特征在于监控装置还包括用于确定存储系统是否成功地完成了至少一个命令的装置。
3.根据权利要求2的媒体区域网络,其特征在于监控装置还包括用于确定是否能够通过故障切换恢复来校正至少一个命令的不成功完成的装置。
4.根据权利要求3的媒体区域网络,其特征在于切换装置还包括用于当确定能够通过故障切换恢复来校正至少一个命令的不成功完成时,设置故障切换恢复的时间的装置。
5.根据权利要求4的媒体区域网络,其特征在于设置故障切换恢复的时间的装置还包括将来自出现故障的初始端口的请求送入备选端口的队列的装置;取消初始端口上所有未完成的请求的装置;以及通过备选端口发出至少一个命令的装置。
6.一种用于在媒体区域网络中实现故障切换恢复的方法,所述媒体区域网络包括具有用于存储数字化信息的至少一个存储设备的存储系统、用于提供媒体区域网络的整体控制的主系统和用于提供主系统和存储系统之间的链路的主总线适配器,所述方法包括以下步骤在所述主总线适配器的低水平端口驱动器处,监控存储系统和主总线适配器之间的通信状态,并且在故障的情况下在低水平端口驱动器处发起到有效备选端口的切换,从而实现故障切换恢复。
7.根据权利要求6的方法,其特征在于监控存储系统和主总线适配器之间的通信状态的步骤还包括步骤确定存储系统是否成功地完成了至少一个命令。
8.根据权利要求7的方法,其特征在于还包括步骤确定是否能够通过故障切换恢复来校正至少一个命令的不成功完成。
9.根据权利要求8的方法,其特征在于还包括步骤当确定能够通过故障切换恢复来校正至少一个命令的不成功完成时,设置故障切换恢复的时间。
10.根据权利要求9的方法,其特征在于还包括步骤将来自出现故障的初始端口的请求送入备选端口的队列;取消在初始端口未完成的所有请求;以及通过备选端口发出至少一个命令。
11.根据权利要求10的方法,其特征在于还包括步骤检测是否出现未完成命令的取消,如果没有出现,则发起任意失败存储系统控制器的故障切换恢复。
全文摘要
一种媒体区域网络(10),包括具有至少一个用于存储数字化信息的存储设备(18)的存储系统(16)。主总线(14)适配器提供了存储系统和用于提供媒体区域网络的整体控制的主系统(12)之间的链路。在主总线适配器中,低水平端口驱动器(24)监控存储系统和主总线适配器之间的通信。如果通信失败,低水平端口驱动器发起从故障端口到备选端口的切换,从而实现故障切换恢复。针对故障切换恢复将响应分配到端口驱动器保证了端口故障的及时处理,从而减少了潜在的等待延迟。
文档编号G06F13/10GK1714343SQ03818495
公开日2005年12月28日 申请日期2003年7月3日 优先权日2002年8月2日
发明者尼尔·谢默斯·麦克唐奈, 戴维·阿龙·克劳瑟, 丹尼尔·埃德温·巴梅, 罗伯特·雷蒙德·伍德 申请人:草谷(U.S)公司