磁盘单元的计算机控制最佳配对的制作方法

文档序号:6742347阅读:131来源:国知局
专利名称:磁盘单元的计算机控制最佳配对的制作方法
技术领域
本发明与数据处理领域有关。更具体地说,本发明允许计算机系统中的磁盘单元以最佳方式配对。
一个采用“磁盘单元镜象(Disk Unit Mirroring)”技术的计算机系统把数据的完全相同的拷贝保存在被指定彼此互为镜象的一对磁盘单元上。如果一个镜象对(a mirrored pair)中的一个磁盘单元出现故障,系统能使用该镜象对中另一个单元上的数据拷贝,直至出现故障的单元被修复并重建它的数据拷贝为止。如果一个磁盘单元的输入/输出控制器出现故障,而该单元的镜象磁盘单元是联接在另一个控制器上,该系统仍能继续运行,使用联接在那另一个控制器上的磁盘单元。同样,如果联接到一个I/O(输入/输出)处理器或总线(BUS)上的全部磁盘单元所具有的镜象磁盘单元被联接到不同的I/O处理器或总线上,那么该系统能经受一个I/O处理器或总线的故障而继续运行。
一个带有镜象的计算机系统抵御其数据不能被访问的情况(例如当由于磁头损坏而使数据受破坏或者由于某部件故障而使数据暂时不能得到,下文中这些数据统称为“不可能访问数据(inaccessible data)”)的能力与硬件联接方式和磁盘单元被安排成镜象对的方式有直接关系。同样的硬件可能提供出极好的或者糟糕的保护能力。
当一位顾客或服务代表构成一个用于镜象存贮的系统时,此人便有责任把磁盘单元安排成若干镜象对。这种磁盘单元的配对工作要求有了解硬件的物理联接的专家,从而使从一对磁盘单元到系统的硬件路径尽可能是重复的(或者说互为镜象的),借以通过减少单一硬件故障点的数目来提高保护能力的水平。这位对磁盘单元配对的人还必须知道和遵守其他系统与镜象的限制,例如保证一个镜象对中的磁盘单元是可以独立服务的,以及配对的磁盘服务器类型应相似等等。
用于镜象的磁盘单元的人工配对是困难的、既费时间又易于出错,而且经常会造成无效的组合或者是最佳配对和最佳保护的组合。
每当计算机系统的结构改变时,例如计算机系统重新联接(recable),或者用备件替换损坏的单元时,磁盘单元镜象人工配对问题就成为突出的问题。每当系统结构改变时,计算机系统的防止“不可访问数据”的保护能力水平便可能降低,而且不为用户所知。显然,这种情况是不希望发生的,因为用户会对他的计算机系统的保护能力水平之类的安全性能有一种错觉。为了使用户得到适当的保护,他应该通知他的专家去决定在他的计算机系统中的磁盘单元是否需要重新配对。
本发明的主要目的是提供一种磁盘单元自动配对的方法。
本发明的另一个目的是提供一种在镜象系统中对磁盘单元自动配对的方法,它使计算机系统防止“不可访问数据”的保护能力(level of Protection)达到最佳。
本发明的再一个目的是检测已有配对磁盘单元的计算机系统的结构的改变,如果该结构改变造成了保护能力的降低,则对磁盘单元重新配对。
这些以及其他目的都是由本文披露的“磁盘单元计算机控制最佳配对”来完成的。
一个计算机系统含有一个或多个磁盘单元,它们联接到放在磁盘机箱内的控制器上。一个或多个磁盘机箱联到一个I/O(输入/输出)处理器上。一个或多个I/O处理器被联到一条总线(BSS)上。该计算机系统可以含有一条或多条总线。
对一个计算机系统中的磁盘单元配对,首先要对具有相同设备类型的全部磁盘单元按地址排序。对具有相同设备类型且在每个磁盘箱中有相同数目磁盘单元的每一组磁盘单元指定为一个段(segment)。要处理的第一个段含有每个磁盘箱中磁盘单元数的最大值。只要可能,磁盘单元要与处在不同总线上的其他磁盘单元配对。这一点提供了抵御因数据丢失或计算机系统中某一部件损坏造成“不可访问数据”的最高保护能力水平。对于不能做到这一点的其余磁盘单元,则要与处在不同I/O处理器的磁盘单元配对。这提供了次高级保护能力水平。对于不能做到这一点的其余磁盘单元,则要与处在不同控制器上的磁盘单元配对,这提供了再次一级的保护能力水平。如果这一点还不能做到,则所剩磁盘单元要与处在不同磁盘箱的磁盘单元配对,这提供了更次一级的保护能力水平。如果这一点还不能做到,则所剩下的磁盘单元便落入保护能力水平限之下,因而不能在这一段(segment)所表示的磁盘单元范围内配对。保护能力限值可以根据计算机系统的性质而调高或调低。其余段以类似方式处理。
如果磁盘单元不能在它们的字段内配对,就将它们放到备用清单中。对备用清单上的磁盘单元可采取几种尝试进行配对。如果所有这些尝试都失败了,则将具有最低保护能力水平的那些磁盘单元配对打破,并把它们加入到备用清单中,然后再对该备用清单中的磁盘单元进行配对尝试。这种打破具有最低保护能力水平的磁盘单元配对并将它们加入到备用清单的过程要一直继续到计算机系统中全部磁盘单元都配上对为止。
在所有单元配对之后,将一个磁盘对与其他的磁盘对进行了比较,看是否能通过互换配偶来提高保护能力水平。重复进行这种磁盘单元对的比较,直至达到最佳的保护能力水平为止。
每次计算机系统启动时,都要进行一次检验,以确定是否因结构改变而降低了保护能力水平。如果是这样,便询问用户是否愿意将计算机系统的磁盘单元重新配对以提高保护能力水平。


图1A给出需要磁盘配对的一个简单计算机系统的硬件图。
图1B给出图1A所示计算机系统的字段清单及所选定的配对。
图2A给出需要磁盘配对的一个较复杂一些的计算机系统的硬件图。
图2B给出图2A所示计算机系统的字段清单,备用清单,以及初步选定的配对。
图2C给出图2A所示计算机系统的字段清单及最后选定的配对。
图2D给出另一个计算机系统在改变其结构之前的硬件图。
图3-8给出本发明的流程图。
图9A-9C给出本发明的屏幕显示。
图1A给出本发明的计算机系统10的硬件图。处理器20与总线21和总线22相联。总线21与I/O处理器31和32相联。总线22与I/O处理器33和34相联。I/O处理器31与磁盘箱41和42相联。磁盘箱41含有控制器51及磁盘单元61和62。磁盘箱42含有控制器52及磁盘单元63和64。I/O处理器32与磁盘箱43相联。磁盘箱43含有控制器53及磁盘单元65和66。I/O处理器33与磁盘箱44和45相联。磁盘箱44含有控制器54及磁盘单元67和68。磁盘箱45含有控制器55及磁盘单元69和70。I/O处理器34与磁盘箱46相联。磁盘箱46含有控制器56及磁盘单元71和72。在该最佳实施例中,计算机系统是IBM Application System/400中型计算机,当然可以用需要磁盘单元配对的任何其他计算机系统。
图2A给出本发明的计算机系统11的硬件图。计算机系统11与图1A中的计算机系统10几乎完全相同,但I/O处理器34不与磁盘箱46相联,代之以I/O处理器35直连与控制器57和控制器58相联。控制器57与磁盘单元73相联,控制器58与磁盘单元74相联。
图3-8所示的本发明的流程图给出图1A、2A及2D中适当编程的处理器20如何运行来提高防止“不可访问数据”的保护能力水平。首先将解释图3-8来说明如何对图1A所示计算机系统10的磁盘单元配对。在此之后,将再重新观察图3-8来解释如何对较复杂些的计算机系统11中的磁盘单元来配对。最后,由图3-8来说明图2D所示改变计算机结构怎样降低了保护能力水平、用户如何被告知这一事实以及用户怎样能要求磁盘单元重新配对。
计算机系统10的磁盘单元的配对现在参考图3,块101查问用户是否要初始化配对。如果是,块131检验看是否每个设备类型有偶数个磁盘单元。如果不是,则表明不能进行配对,于是在块132显示出错误信息,程序在块120结束。如果块131得到肯定回答,则在块200调用图4所示子程序“Pairup(配对)”。现在参考图4,块201按I/O地址对一个类型的所有磁盘单元进行排队。图1A中的计算机系统10的所有磁盘单元具有同一设备类型。图1A中的磁盘单元61-72每一个有一相应的I/O地址。为了便于说明本例,假定磁盘单元61-72具有相应的设备地址61-72,并依此排序。块202查问是否有一个要处理的设备类型。因为我们有一个设备类型要处理,故块202得到肯定回答。
块204为每个磁盘箱中有相同数目磁盘单元的每一组磁盘单元定义一个段。计算机系统10有6个磁盘箱41-46,它们每一个有相同的磁盘单元数-2。所以,块204为这一组定义一个段。块205查问是否存在要处理的段。因为我们有一个段要处理,块206选定唯一的段作为每个单元箱内具有最大数量磁盘单元的段。块207选定该段的分隔线(divider)位于磁盘单元66和67之间(图1B)。块207也将在必要时将分隔线调整到磁盘箱之间。这样做是为了保证磁盘箱和磁盘箱配对。这样配对是人们所希望的,因为如果一个磁盘箱坏了,只需另一个磁盘箱继续工作,直到坏了的磁盘箱被修好或被替换。这种调整对于计算机系统10是不需要的,因为该段的段分隔线已经在磁盘箱43和磁盘箱44之间。
在本最佳实施例中,块208从段上部最靠近分隔线的磁盘单元(磁盘单元66)开始,从段下部为该磁盘单元选择可能的配偶,并从最靠近段分隔线的磁盘单元选起。在本例中,块208首先选定磁盘单元67作为磁盘单元66的可能配偶。然后块300调用图5中的“计算保护能力水平”子程序。
考虑过其他实施方案,它们会以与本最佳实施例不同的选择方法来选定可能配偶,这些实施方案仍属于本发明的精神和范围。例如,另一种选择方法会从该段的相关部分的始端开始来选择第一个磁盘单元及其可能的配偶,并沿着这一目录清单向下选择下一个可能的配偶。
现在参考图5,该计算保护能力水平子程序确定可能磁盘单元对66和67的保护能力水平。块321将保护能力水平初始化为零。这里把“保护能力水平(Level of Protection)”定义为使由于单个部件故障点造成的不可访问数据为最少的能力。当引起不可访问数据的部件故障点为最少时,保护能力水平为最高。反过来,当有最多的单元故障点能引起不可访问数据时便认为其保护能力水平最低。在最佳实施例的计算机系统结构中,总线级保护是最好的,给它一个任意值32点。I/O处理器级保护次之,赋值16点。控制器级保护更次之,赋值8点。设备级保护更次之,赋值4点。保护能力水平限给定值为3。这些值是任意的设计选择,可以根据计算机系统的结构和其他因素来改变。
块301查问这些磁盘单元是否在不同总线上。因为磁盘单元66在总线21上,而磁盘单元67在总线22上(图1A),故块301得到肯定回答,于是块302对这对磁盘单元设定其保护能力水平为总线级保护水平(32点)。这是在计算机系统10中的防止不可访问数据的最高保护能力水平,因为计算机系统10将不会因为单个部件故障造成不可访问数据。该子程序在块310返回到图4中的块220。
块220对计算保护能力水平子程序中确定的保护能力水平值按次级因素(如果存在的话)加分。这些次级因素用于打破具有相同保护能力水平的可能配偶之间的纽带。次级因素的一个实例是希望将占有各自机箱中相同位置的磁盘单元配对。换句话说,由于美学的和适用性的原因,最好是将占有其机箱中左侧位置的磁盘单元与同样占有其机箱中左侧位置的另一个磁盘单元配对。其他次级因素也能在块220中考虑,例如优先将一个满磁盘单元与一个空磁盘单元配对(以改善开始建立镜象时的性能)。次级因素也被赋予数值,但这些值应低于由计算保护能力水平子程序赋予最低保护能力水平之值。
在我们的实例中,假定有一个次级因素在一个磁盘机箱中左侧的与左侧的配对,右侧的与右侧的配对。这个次级因素被赋予任意值2。
块220确定磁盘单元66占据其机箱中的“右”侧,而磁盘单元67占据其机箱中的“左”侧位置。所以,不满足次级因素条件,因此对这个具有总线级能力水平的可能配对,没有在其32点上再额外加点。
块221确定是否这一可能配对的保护能力水平高于先前的可能配对。如果是,则块211保留这个新的最好可能配对。在我们的实例中,块211将保留磁盘单元67作为最佳配偶,因为它是这时唯一的可能配偶。块210问在段的下半部是否存在磁盘单元66的另一个可能的配偶。因为磁盘单元68-72都是磁盘单元66的可能配偶,故控制流程在块208、300、220、221、211及210之间对于全部可能配偶进行循环。在我们的实施例中,计算保护能力水平子程序确定所有可能的配偶具有总线级保护(32点),但块220对磁盘单元68、70和72额外增加2点,因为它们位于各自机箱的“右”侧。因为磁盘单元68是第一个获得额外加点的磁盘单元,它被认为是最佳可能配偶。
块212检验磁盘单元对66和68的保护能力水平是否超出保护能力限。在该最佳实施例中,总线级保护是最好的,其次是I/O处理器级保护、控制器级保护以及设备级保护。在本最佳实施例中,保护能力水平限设置成低于设备级保护,这意味着如果要配对的两个磁盘单元是处在同一个磁盘箱内,则配对不能接受,于是将不完成配对。注意这一保护能力限可以根据所需要的最低保护能力水平来调整。例如,一个更敏感的计算机系统可能要求将保护能力限设置得更高些。
请注意,对于从最好到最差的保护能力水平可以根据一个具体的计算机系统的结构而给予不同的规定。例如,如果一个计算机系统的结构是磁盘箱直接与单一总线相联,那么最高保护能力水平就将是设备级保护。在这另一种实施例中,图5将被修改,使块321直接与块311相联从而越过块301-306。
在我们的实例中,块212确定磁盘单元66和68的保护能力水平超过保护能力水平限,块213将单元66与单元68配对。如果块212被给予否定的回答,则这两个磁盘单元将不被配对。不论那种情况,控制流程都进到块214,在那里确定在段上部是否还有要处理的磁盘单元。在我们的实例中,磁盘单元65-61还留在那里待处理,故块214得到肯定回答,控制流程返回到块208,为目录清单的下一个磁盘单元-磁盘单元65选择可能的配偶。块208-221重复进行,直至对段上部所有磁盘单元进行过配对尝试为止。
磁盘单元65-61按上述相同方式配对。所有单元都能在下半段中找到提供总线级保护能力的配偶。磁盘单元65与磁盘单元67配对。类似地,磁盘单元61、62、63及64分别与磁盘单元71、72、69及70配对。图1B给出段中各磁盘单元是如何配对的。
再来参考图4,块214确定没有更多的段上部磁盘单元要考虑了,于是块215将没有配对的磁盘单元放到备用清单上。因为所有磁盘单元都已成功地配对了,故没有磁盘单元被放入备用清单,于是控制流程移到块205,来看是否有另一个段要处理。因为在我们的实例中只有一段,故块205得到否定回答,于是块202检验是否有不同设备类型的磁盘单元要处理。在最佳实施例中每种设备类型是分别处理的,以保证镜象配对的兼容性。因为在我们的实例中所有的磁盘单元具有同一设备类型,块202得到否定回答,于是子程序在块225处返回到图3中的块103。
图3中的块103查问是否在备用清单中有任何磁盘单元。如果磁盘单元因其可能的配对没能超过指定的保护能力水平限。从而不能配对,或者如果段上部含有的磁盘单元数与段下部磁盘单元数不同,那么没能配对的磁盘单元便被放入备用清单。在我们的实例中,所有磁盘单元都被成功地配对,于是块103得到否定回答,从而跳过了块400中的调用备用单元配对子程序(如图6所示)。对于图6所示的备用单元配对子程序将在下文中讨论图2所示计算机系统11的磁盘单元配对时再详细讨论。
再参考图3,块500调用图7所示“最佳化”子程序。该子程序确定所选定的配对能否通过各磁盘单元对之间互换配偶来实现配对最佳化。现在参考图7,块501确定是否存在要最佳化的磁盘单元设备类型。在我们的实例中,如所讨论的那样,所有磁盘单元61-72具有相同的设备类型,因此我们确有一种设备类型要最佳化。块502检验第一组磁盘单元配对。在我们的实例中首先检验配对61+71及62+72。块503暗中对这些对磁盘单元互换配偶看能否造成更高的保护能力水平。所以,块503认为磁盘单元61和72为可能的配偶,以及磁盘单元62和71为可能配偶。
图5所示的计算保护能力水平子程序在块300中被调用,并按前已讨论过的方式运行,并返回到块504。这个子程序确定可能配偶61和72以及可能配偶62和71都有总线级保护能力。块504确定因为配对61+71及62+72也有总线级保护能力,互换配偶将不会提供更好的保护能力水平。所以,块504得到否定回答,控制流程返回到块502去检验另一组配对。控制流程在块502至504之间循环,直到所有配对组都被检查完毕为止。因为在我们的实例的计算机系统10中所有磁盘单元配对都具有总线级保护能力,所以没有配对的在块505中互换配偶来重新配对。当块502确定再没有配对组要检查了的时候,它得到否定回答,于是循环返回块501。当块501确定再没有其他设备类型的磁盘单元要最佳化时,在块510中的子程序便返回到图3中的块110。
再参考图3,此时向用户显示一组屏幕信息,通告在块110中对计算机系统每个磁盘单元选定的配对情况。图9A中给出对于图1A所示计算机系统10的这种屏幕信息实例。在这一屏幕上确认出计算机系统10中每个磁盘对的保护能力水平,并询问用户这一点是否可以被接受。用户可以审视保护能力水平。并决定希望通过增加更多部件或以不同方式联接他已有的部件来重新构成他的硬件系统,借以改善其保护能力水平。在这种情况下,用户将拒绝已做的配对,块111得到否定回答,于是程序在块120结束。如果用户接受所做配对,则块112继续下去,以传统方式按所接受的配对对计算机系统生成镜象。在我们的实例中,这意味着在磁盘单元61上和磁盘单元71上存有相同的数据。类似地,在磁盘单元62和72、63和69、64和75、65和67、以及66和68上将存有相同的数据。在完成这些工作之后,计算机系统10便能够防止由单个部件故障点造成不可访问数据,这里所说单个部件故障点可以是一个总线、一个I/O处理器、控制器、磁盘箱或磁盘单元。图1B给出如何造成段81以及如何将段81中的各磁盘单元配对。
对图2所示计算机系统11的磁盘单元配对图2A给出计算机系统11,它所涉及的配对过程比图1A所示计算机系统10要复杂些。这里将再次看一看图3-8所示流程图,以解释如何将计算机系统11的磁盘单元配对。如前已说明的,计算机系统11与图1A所示计算机系统10几乎完全相同,只是I/O处理器34不与磁盘箱46相联。代之以I/O处理器35直接与控制器57及控制器58相联。控制器57与磁盘单元73相联,控制器58与磁盘单元74相联。所以,磁盘单元73和74与其他磁盘单元不同,它们俩被认为是各自独占自己的磁盘箱(用相同数码73和74来代表其磁盘箱)。所以,磁盘箱73和74含有的磁盘单元数少于计算机系统11中所有其他磁盘箱所含有的磁盘单元数。
现在参考图3,块101查问是否用户要初始化配对。如果是,则在块131中确认其磁盘单元数为偶数之后在块200中调用图4所示配对子程序。现在参考图4,块201按设备类型内的I/O地址对所有磁盘单元排队。图2所示计算机系统中全部磁盘单元为同一设备类型。块202查问是否有要处理的设备类型。因为我们有一个设备类型要处理,块202得到肯定回答。图2A中的磁盘单元61-70及73-74各有一伴随的I/O地址。为便于说明此例,假定磁盘单元61-70及73-74有相应的设备地址61-70及73-74,并据此排队。
块204为每个磁盘箱中有相同数目磁盘单元的每一组磁盘单元定义一个段。计算机系统11有5个磁盘箱各含2个磁盘单元。计算机系统11还有两个磁盘箱73-74各含有一个磁盘单元。所以,块204为这两个磁盘箱组定义了二个段。这样做是为了鼓励磁盘箱与磁盘箱配对。块205查问是否存在要处理的段。我们当前有两个段要处理,而块206开始选定在每个磁盘箱中磁盘单元数最多的那个段。在我们的实例中,这是图2B所示的段91,它含有磁盘单元61-70。块207初始选择该段的分隔线在段91的中点,即磁盘单元65和66之间,但立即注意到这个选择会把磁盘箱43分成两半,而这是不希望的,于是块207将段分隔线调整到磁盘单元64和65之间(这样便在磁盘箱42和43之间)。
块208在段上部取最靠近分隔线的磁盘单元(磁盘单元64)并在段下部为该磁盘单元选择可能的配偶,从最靠近分隔线的磁盘单元选起。
在我们的实例中,块208选定磁盘单元65作为可能的配偶。然后,块300调用图5所示计算保护能力水平子程序。
现在参考图5,计算保护能力水平子程序确定可能的磁盘单元配对64和65的保护能力水平。块301查问这些磁盘单元是否在不同的总线上。因为这两个磁盘单元都在总线21上(图2A),块301得到否定的回答。然后303查问这些磁盘单元是否在不同的I/O处理器上。因为磁盘单元64在I/O处理器31上,而磁盘单元65在I/O处理器32上(图2A),所以块303得到肯定的回答,于是块304将这一对磁盘单元的保护能力水平置成I/O处理器级保护能力。在块310子程序返回到图4中的块220。
块220没有因为任何次级因素而对其保护能力水平加分,因为磁盘单元64占有其磁盘箱中的“右”侧位置,而磁盘单元65占有其磁盘箱中的“左”侧位置。
块221确认这一可能配对是目前最好的,所以块221把它存贮起来。块210查问是否在段下部还能为磁盘单元64找到另一个可能的配偶。因为磁盘单元66-70也是磁盘单元64的可能配偶,控制流程对所有这些可能配偶在块208、300、220、221、211及210之间循环。在我们的实例中,计算保护能力水平子程序确定可能配偶66有I/O处理器级保护能力,而可能配偶67-70全有总线级保护能力。
块220还对磁盘单元66、68及70额外加分。磁盘单元68被选定为磁盘单元64的最佳可能配偶。
块212检验磁盘单元64和68的保护能力水平是否起过保护能力水平限。在我们的实例中,块212确认磁盘单元64和68的保护能力水平超过了保护能力水平限,于是块213将磁盘单元64与磁盘单元68配对。如果块212得到否定回答,则这两个磁盘单元不被配对。不论哪一种情况,控制流程都移到块214,在那里确定在段上部是否还有磁盘单元要处理。在我们的实例中,还留下磁盘单元63-61要处理,故块214得到肯定回答,于是控制流程返回到块208去为目录清单上的下一个磁盘单元(磁盘单元63)选择可能的配偶。将重复块208-221,直至对段上部全部磁盘单元都进行了配对尝试为止。
磁盘单元63-61按上面讨论过的相同方式来配对。它们全都能在段下部找到可提供总线级保护能力的配偶。磁盘单元63与磁盘单元67配对。类似地,磁盘单元62和61分别与磁盘单元70和69配对。
现在参考图4,块214确定已经再没有上部磁盘单元要考虑,于是块215将所有尚未配对的磁盘单元放到备用清单上。注意到磁盘单元65和66尚未配对,所以这些磁盘单元被放到备用清单上。
控制流程移到块205,看是否还有另一个段要处理。因为在我们的实例中有两个段要处理,现在图4将处理第二段,如图2B中段92所示。图4将磁盘单元73和74配对,因为它们是该段中唯一的一对磁盘单元,并赋予这一个可能的配对以控制器级保护能力。控制器级保护能力确实也超过了保护能力水平限,故这两个单元在块213中配对。块205确定已再没有要处理的段,块202确定再没有要处理的设备类型,于是子程序在块225返回到图3中的块103。图2B给出到目前为止这些磁盘单元如何配对,并给出在备用清单93中含有磁盘单元65及66。
图3中的块203查问备用清单上是否有磁盘单元。如果因为可能配对没超过指定的保护能力水平限,因而它们不能配对,或者如果段上部所含磁盘单元数目与段下部所含单元数不同,则未被配对的磁盘单元被放到备用清单中。因为备用清单93含有磁盘单元65和66,块103得到肯定回答,并且块400调用图6中的备用单元配对子程序。
块401对备用清单循环,选定磁盘单元的可能配对。在我们的实例中,因为磁盘单元65和66是当前在备用清单上的仅有磁盘单元,故它们被选定为可能的一对。在块300中再调用计算保护能力水平子程序(图5)。该子程序在块311确定磁盘单元65和66是在同一磁盘箱中。该子程序返回到图6中的块402。块402确定将磁盘单元65与66配对是无效的,因为它们的保护能力水平没有超过保护能力水平限。所以,磁盘单元65和66仍为没有配对的,而块403得到肯定的回答。
然后备用单元配对子程序执行块411、300、412及413。这一组功能块试图通过以不同的顺序处理备用清单,即从底部的两个可能配偶索引开始,以代替原来的从顶部开始,借以为备用清单92上的磁盘单元65找到另一个可能的配偶。因为磁盘单元65的唯一可能配偶是磁盘单元66,而这在先前已确定为无效配偶,故这一组功能块在寻找有效配偶方面没有取得成功。块421、422及423的执行也是试图找到另一个配偶。这组功能块也没有成功,于是块423得到肯定回答。注意到块402、412、422每个所完成的功能与图4中的块220、221、211、210、212及213所完成的功能极为相似。
块440将具有最低保护能力水平的已有配对拆开并把它们加到备用清单93中。在我们的实例中,磁盘单元73和74有最低保护能力水平控制器级保护能力。所以这一对被拆开,磁盘单元73和74被加入到备用清单93。控制流程返回块401,在那里尝试将现在在备用清单上的磁盘单元(磁盘单元65、66、73及74)配对。这一次情况进展好得多,在块401、300、402及403中磁盘单元65与磁盘单元73配对,磁盘单元66与磁盘单元74配对。这些配对有总线级保护能力,所以块403得到否定回答,子程序在块450返回图3中的块500。这时磁盘单元的配对结果示于图2C。
在块500调用图7所示最佳化子程序。因为全部配对单元都有总线级保护能力,故没发生配偶互换,子程序返回到图3中的块110。
再参考图3,在块110向用户显示屏幕信息,告知计算机系统的每一个磁盘单元所选定的配对。对图2所示计算机系统11的这个屏幕显示结果举例示于图9B。这一屏幕信息确认出计算机系统11中每个磁盘单元的保护能力水平,并询问用户这个结果是否可以接受。如果用户接受这种配对,则在块112对各磁盘单元做出镜象,于是程序在块120结束。
结构变化检测本发明的另一个方面是能够检测结构变化和计算结构变化前后保护能力水平。如果结构变化(增加、删除、替代、或重放硬件)导致保护能力水平降低,则警告用户注意这一事实,从而能够采取改正行动,例如拆开现有磁盘单元对并重新配对。
让我们假定图2D所示计算机系统曾利用上述技术对它的全部磁盘单元都已配好对,其配对情况是磁盘单元61+69、62+70、63+67、64+65、以及66+68。除64+65外,其他各对都有总线级保护能力。对64+65有I/O处理器级保护能力。
用户增加了磁盘单元73和74,以及相应的控制器57和58、I/O处理器35,从而改变了计算机系统12的结构,使计算机系统12看来与图2A所示计算机系统11相似。
再参考图3,如果块101确认此时用户不想初始化配对,块102便确定在计算机系统中是否发生了结构变化。在本最佳实施例中,计算机系统是借助保留最后一次已知的设备I/O地址的记录并将它与该设备当前的I/O地址进行比较来确定这一点的,这种比较工作是作为“初始程序加载(Initial Proqram Load)(IPL)的一部分。计算机系统也知道何时增加了新的部件,因为用户必须完成结构重组操作才能使计算机系统承认这些新部件。这里,块102检测出因增加磁盘单元73和74造成的结构变化,于是块600调用图8所示结构变化子程序。
现在参考图8,块601查问是否有未配对的磁盘单元。在我们的实例中,新增加的磁盘单元73和74还没有被配对,故块601得到肯定回答。块602为磁盘单元73选择可能的配偶-在这种情况下,唯一可能的尚未配对的配偶是磁盘单元74。块300调用图5所示计算保护能力水平子程序,它在块305-306中确定可能配对73和74有控制器级保护能力,并返回到图8中的块601。块601确定再没有要配对的磁盘单元,于是控制流程移到块605。块605查问计算机系统的新的保护能力水平是否低于原来的保护能力水平。通过在本最佳实施例中采取的最小公分母方法(least Common denominator approach)得出先前的保护能力水平是I/O处理器级保护能力水平,因为有一个磁盘单元对曾有I/O处理器级保护能力水平。通过同样方法得到新的保护能力水平是控制器级保护能力水平。所以计算机系统12的保护能力水平因结构变化而降低了,于是块605得到肯定回答。另一种办法是计算机系统能跟踪每个磁盘单元的保护能力水平,并通知用户是否某单元的保护能力降低了。块606向用户显示一屏幕信息,显示出计算机系统12的降低了的保护能力水平。图9C给出这种屏幕信息的一例。
然后用户得到一选择机会去接受这个较低的保护能力水平和按所指出的那样将新单元配在一起。如果用户接受该保护能力水平,块611确定是否该配对处于保护能力水平限以上。如果是,则块612将原先拆开的磁盘单元再配在一起并在块620返回图3中的块115。在我们的实例中,假定用户不接受计算机系统12的已降低的保护能力水平,于是块610得到否定回答。块615确定用户是否想要打破现存配对并将计算机系统的磁盘单元重新配对。如果不是,则子程序在块620返回图3中的块115。在我们的实例中,用户确实想打破现存配对并对计算机系统12的磁盘单元重新配对,于是块615得到肯定的回答。块616指出应对配对初始化,并在块620返回到图3中的块115。
现在再参考图3,块115查问是否应对配对初始化。如果不是,则程序在块120结束。因为在图8中的块616曾指出应该对配对初始化,故块115得到肯定回答,于是控制流程回到块200,在那里计算机系统12的磁盘单元,包括增加的磁盘单元73和74,按前面对计算机系统11所讨论过的相同方式重新配对。
尽管通过最佳实施例及其多种变化的实施例描述了本发明,但精通本领域技术的人们将会理解,这里在细节上可以做各种改变而不会偏离本发明的精神、范围和教导。例如,本发明也能用于对磁盘单元以外的其他类型存贮设备进行配对。此外,这些存贮设备也可以因其他理由而配对,不必只是为了生成镜象。因此,这里所披露的内容只受下列权利要求所确定的范围限制。
权利要求
1.使一组磁盘单元最佳配对的一种方法,其特征在于下列由计算机执行的步骤选定第一磁盘单元;选定第二磁盘单元,这里的第一和第二磁盘单元为第一可能配对;对所述第一可能配对计算其第一保护能力水平;选定第三磁盘单元,这里的第一和第三磁盘单元构成第二可能配对;确定该第二可能配对的第二保护能力水平;如果所述第二保护能力水平不超过所述第一保护水平,则把所述第一和第二磁盘单元配在一起。
2.根据权利要求1的方法,其特征在于只有当所述第一保护能力水平超过一个保护能力水平限时才完成所述配对步骤。
3.根据权利要求1的方法,其特征在于下述步骤如果所述第二保护能力水平超过所述第一保护能力水平,则将第一和第三磁盘单元配在一起。
4.根据权利要求3的方法,其特征在于只有当所述第二保护能力水平超过一个保护能力水平限时才完成所述配对步骤。
5.根据权利要求1的方法,其特征在于下述步骤选定第四磁盘单元,这里第一和第四磁盘单元构成第三可能配对;确定该第三可能配对的第三保护能力水平;以及如果所述第二和所述第三保护能力水平不超过所述第一保护能力水平,则将第一和第二磁盘单元配在一起。
6.根据权利要求5的方法,其特征在于只有当所述第一保护能力水平超过一个保护能力水平限时才完成所述配对步骤。
7.根据权利要求5的方法,其特征在于下述步骤如果所述第二保护能力水平超过所述第一保护能力水平,而且所述第三保护能力水平不超过所述第二保护能力水平,则将第一和第三磁盘单元配对在一起。
8.根据权利要求7的方法,其特征在于只有当所述第二保护能力水平超过一个保护能力水平限时才完成配对步骤。
9.保护计算机系统防止出现不可访问数据的一种方法,所述计算机系统有第一组磁盘单元联接到第一总线上及第二组磁盘单元联接到第二总线上,所述方法的特征在于由机器执行的下述步骤将所述第一组磁盘单元中的每个磁盘单元与所述第二组磁盘单元中的一个磁盘单元配对。
10.保护计算机系统防止出现不可访问数据的一种方法,所述计算机系统有一组磁盘箱与一个总线相联,所述每一个磁盘箱含有一组磁盘单元,所述方法的特征在于下述由机器执行的步骤将所述磁盘单元组中的每个磁盘单元与装在所述磁盘箱组中另外一个磁盘箱中的一个磁盘单元配对。
11.保护计算机系统防止出现不可访问数据的一种方法,所述计算机系统有第一磁盘单元组与第一I/O处理器相联,有第二磁盘单元组与第二I/O处理器相联,而第三磁盘单元组与第三I/O处理器相联,所述第一与第二I/O处理器与第一总线相联,所述第三I/O处理器与第二总线相联,所述方法的特征在于下述由机器执行的步骤将所述第一组磁盘单元中的一些与所述第三组磁盘单元中的磁盘单元配对,从而提供总线级保护能力水平;将所述第二组磁盘单元中的一些与所述第三组磁盘单元中的磁盘单元配对,从而提供总线级保护能力水平;以及将所述第一组磁盘单元中的剩余部分与来自第二组磁盘单元中的相应的剩余部分配对,从而提供I/O处理器级保护能力水平。
12.保护计算机系统防止出现不可访问数据的一种方法,所述计算机系统有一组配对的磁盘单元,所述方法的特征在于由机器执行的下列步骤检测出计算机系统中的结构变化;确定所述结构变化是否造成了防止不可访问数据的保护能力水平的降低;以及通知用户关于所述保护能力水平降低的情况。
13.根据权利要求12的方法,其特征在于下列步骤对磁盘单元重新配对,从而使防止不可访问数据的保护能力水平达到最大。
14.使一组磁盘单元1-N的配对达到最佳化的一种方法,其特征在于包括下列由机器执行的步骤(a)选择一个磁盘单元X,这里X是所述一组磁盘单元1-N中的一个;(b)取出一个磁盘单元Y,这里Y是所述一组磁盘单元1-N中的一个,但与磁盘单元X不同,这里的第一和第二磁盘单元组成可能的配对X+Y;(c)计算可能配对X+Y的保护能力水平;(d)重复设定Y等于所述一组磁盘单元1-N中的不同单元,并重复步骤(c);以及(e)将磁盘单元X与步骤(b)到(d)中确定的磁盘单元Y配对,使其具有最高保护能力水平。
15.根据权利要求14的方法,其中,如果该最高保护能力水平没有超过一个保护能力水平限,则不实行步骤(e)。
16.根据权利要求15的方法,其特征在于下述步骤(f)重复设置X等于所述一组磁盘单元1-N中先前未配对的不同单元并重复步骤(b)至(e)。
17.根据权利要求16的方法,还包含下列步骤(g)重复步骤(b)至(f),其至所述一组磁盘单元1-N全都配成对为止。
18.根据权利要求17的方法,还包含下列步骤(h)在第一对磁盘单元和第二对磁盘单元之间交换配偶,如果所述调换配偶能对第一对和第二对磁盘单元都能造成较原来高的保护能力水平,则进行这种配偶调换,否则便不调换。
19.对一组磁盘单元1-N使其配对实现最佳化的一种方法,这里所述一组磁盘单元1-N被分成两段,第一组为1到M,第二组为M+1到N,所述方法的特征在于下述由机器执行的步骤(a)选择一个磁盘单元X,这里的X是所述第一组磁盘单元1到M中的一个;(b)取出一个磁盘单元Y,这里Y是所述第一组磁盘单元1到M中的一个,但与磁盘单元X不同,这里磁盘单元X和Y构成可能的配对X+Y;(c)计算可能配对X+Y的保护能力水平;(d)重复设定Y等于所述第一组磁盘单元1-M中不同的单元并重复步骤(c);以及(e)将磁盘单元X与步骤(b)至(d)所确定的磁盘单元Y配对,使其具有最高的保护能力水平。
20.根据权利要求19的方法,其特征在于只有当最高保护能力超过保护能力水平限时才实现步骤(e)。
21.根据权利要求20的方法,其特征在于下列步骤(f)重复设定X等于所述一组磁盘单元1至M中的先前没有配对的不同单元,并重复步骤(b)至(e)。
22.根据权利要求21的方法,其特征在于下述步骤(g)选择一个磁盘单元X,这里X是所述第二组磁盘单元M+1至N中的一个;(h)取出一个磁盘单元Y,这里Y所述第二组磁盘单元M+1至N中的一个,但不同于磁盘单元X,这里磁盘单元X和Y构成可能的配对X+Y;(i)对可能的配对X+Y计算其保护能力水平;(j)重复设定Y等于所述第二组磁盘单元M+1至N中的不同单元,并重复步骤(i);以及(k)将磁盘单元X与步骤(h)至(j)确定的磁盘单元Y配对,使其具有最高保护能力水平。
23.根据权利要求22的方法,其特征在于只有当该最高保护能力水平超过保护能力水平限时才去实现步骤(k)。
24.根据权利要求23的方法,其特征在于下述步骤(l)重复设定X等于所述一组磁盘单元M+1至N中先前没有配对的不同单元并重复步骤(g)至(k)。
25.根据权利要求24的方法,其特征在于所有没能在步骤(a)至(l)中配对的磁盘单元被放入备用清单,该清单中含有备用磁盘单元1至S。
26.根据权利要求25的方法,其特征在于下列步骤(m)选择一个磁盘单元b,这里b是所述备用清单中的磁盘单元之一;(n)取出一个磁盘单元c,这里c是所述备用清单中的磁盘单元之一,但不同于磁盘单元b,这里磁盘单元b和c构成可能的配对b+c;(o)计算可能配对b+c的保护能力水平;(p)重复设定c等于所述备用清单上的磁盘单元中的不同单元并重复步骤(o);以及(q)将磁盘单元b与步骤(n)至(p)确定的磁盘单元c配对,使其具有最高保护能力水平。
27.根据权利要求26的方法,其特征在于只有当最高保护能力水平超过保护能力水平限时才实现步骤(q)。
28.根据权利要求27的方法,其特征在于下述步骤(r)重复设定b等于所述一组磁盘单元1至S中先前没有被配上对的不同单元并重复步骤(m)至(q)。
29.根据权利要求28的方法,如果任何磁盘单元1-S仍未被配对,则其特征在于下列步骤(s)确定在步骤(a)至(l)中配对的有最低保护能力水平的磁盘单元对X+Y;(t)将步骤(a)至(l)中配对的有最低保护能力水平的磁盘单元对加到备用清单中;并且(u)重复步骤(m)至(t)直至所有磁盘单元1至N都配上对。
30.根据权利要求29的方法,其特征在于下列步骤(v)将某第一对磁盘单元与某第二对磁盘单元互换配偶,如果所述互换会造成第一和第二对磁盘单元都具有较原来高的保护能力水平,则这种互换生效。
31.根据权利要求24的方法,其特征在于下述步骤(w)将某第一对磁盘单元与某第二对磁盘单元互换配偶,如果所述互换会造成第一和第二对磁盘单元都具有较原来高的保护能力水平,则这种互换生效。
全文摘要
披露了一种计算机系统中磁盘单元配对的方法,用于需要得到镜象存贮的场合,在可能情况下,磁盘单元将与处在不同总线上的磁盘单元配对,或与处在不同I/O处理器上的磁盘单元、不同控制器上的磁盘单元或不同磁盘箱中的单元配对。任何不能配对的磁盘单元将放到备用清单上,以对该备用清单上的磁盘单元配对。如果所有配对尝试都失败了,则打破具有最低保护能力水平的磁盘单元配对,并将它们加入到备用清单,然后再尝试将备用清单上的磁盘单元配对。
文档编号G11C29/00GK1053695SQ9010600
公开日1991年8月7日 申请日期1990年12月21日 优先权日1990年1月24日
发明者丹尼斯·R·马丁, 迈克尔·J·麦克德莫特, 斯图尔特·D·卜卢姆理, 罗伯特·H·萨廷, 罗伯特·L·温格 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1