库装置的制作方法

文档序号:6649794阅读:188来源:国知局
专利名称:库装置的制作方法
技术领域
本发明涉及一种用于对记录在诸如磁带、磁盘、或者磁光盘的记录介质上的数据进行写入和读取的库装置。
背景技术
近年来,许多数据库系统和电子编档系统因为需要存储大量的数据而开始采用库装置,在该库装置中存储有大量电子数据记录介质,并且可使用该库装置对记录在该记录介质上的数据进行写入和读取。图12示出现有技术的库装置的基本结构。
库装置1包括库控制器Lct,根据来自主机2的控制指令对库装置1的整体操作进行控制;多个驱动器控制器Dct1、Dct2、…、Dctn,这些驱动器控制器根据来自库控制器Lct的控制指令分别对它们所连接的记录介质驱动器单元D11和D12、D21和D22、…、以及Dn1和Dn2进行控制;以及驱动命令通道P,其使库控制器Lct与驱动器控制器Dct1、Dct2、…、以及Dctn相连。
库控制器Lct具有连接到驱动命令通道P的库控制器端口14,并且库控制器Lct经由该库控制器端口14将控制指令发送给各个驱动器控制器Dct1、Dct2、…、以及Dctn,并且从各个驱动器控制器Dct1、Dct2、…、Dctn接收状态信息;另一方面,驱动器控制器Dct1、Dct2、…、Dctn分别具有驱动器控制器端口31、41、…、51,这些端口中的每一个分别连接到驱动命令通道P,并且各个驱动器控制器Dct1、Dct2、…、Dctn分别经由这些端口将状态信息发送给库控制器Lct并且从库控制器Lct接收控制指令。
当从主机2接收到电子数据读取或者写入指令时,库控制器Lct识别要读取或者写入的电子数据的位置,并且从驱动器单元D11到Dn2中确定要从中读取或者向其写入所请求的数据的驱动器单元。接着库控制器Lct经由驱动命令通道P将电子数据读取或者写入指令发送到对由此确定的驱动器单元进行控制的驱动器控制器。
接收到电子数据读取或者写入指令的驱动器控制器执行控制,以在由库控制器Lct确定的驱动器单元上读取或者写入所请求的数据。
在此情况下,当经由驱动命令通道P接收的指令是写入指令时,经由连接在主机与驱动器单元之间的驱动通道(未示出)传输待写入的电子数据,并且将其写入该驱动器单元。另一方面,当经由驱动命令通道P接收的指令是读取指令时,将从该驱动器单元读取的电子数据经由上述驱动通道(未示出)传输给主机2。

发明内容
如图所示,在先技术的库装置1针对库控制器Lct,驱动器控制器Dct1、Dct2、…、Dctn,驱动命令通道P,以及端口14、31、41、…、51采用非冗余结构。因此,存在这样的问题如果在库控制器Lct与任一驱动器单元D11到Dn2之间出现通信故障,则不会知道沿所涉及的路径布置的哪个设备是引起该故障的原因。
具体地,由于通过库控制器Lct、驱动命令通道P和库控制器端口14分别是由各个单个设备构成的,因此,如果在这些中的任一个中出现故障,则不仅会出现无法识别故障源的问题,而且也无法继续库装置1的整体操作。
此外,因为不能识别故障源,所以采用这种非冗余结构的库装置1具有这样的问题为了快速恢复服务,必须替换全部受影响的部件,其中包括没有故障的部件,这是非常浪费的。
鉴于上述问题设计了本发明,并且本发明的目的是提供一种库装置,其中将设备构造成在该库装置的构成元件的任何一个中发生故障的情况下,该库装置能够无中断地继续整体操作。
本发明的另一个目的是提供一种库装置,其中将设备制造成能够识别在构成元件的任何一个中发生的故障源。
为了实现上述目的,在根据本发明的库装置中,以冗余结构分别构造库控制器,驱动命令通路,以及连接到驱动命令通道的库控制器端口。
在此情况下,可以通过利用第二驱动命令通道备份第一驱动命令通道来冗余地构造驱动命令通道,并且可以通过在各个冗余构造的库控制器上利用库控制器第二端口备份库控制器第一端口来冗余地构造库控制器端口;在此,可以分别将库控制器第一端口和库控制器第二端口连接到第一驱动命令通道和第二驱动命令通道。
此外,根据本发明的库装置可以包括故障源确定部分,用于确定在库控制器,驱动命令通道,和库控制器端口的任何一个中发生的故障源。
此外,在根据本发明的库装置中,通过在各个驱动器控制器上利用驱动器控制器第二端口备份驱动器控制器第一端口,来分别冗余地构造连接到驱动命令通道的驱动器控制器端口,并且各个驱动器控制器上的驱动器控制器第一端口与第一驱动命令通道并联连接,而各个驱动器控制器上的驱动器控制器第二端口与第二驱动命令通道并联连接。
在此情况下,根据本发明的库装置可以包括故障源确定部分,用于确定在库控制器,驱动器控制器,驱动命令通道,库控制器端口,和驱动器控制器端口的任何一个中出现的故障源。
在根据上述本发明的库装置中,库控制器和驱动器控制器可以分别包括用于相互通信的通信部分,并且可以将该故障源确定部分构造成在通信部分之间的通信中出现异常时对该故障的出现进行检测。


从下文参照附图阐述的说明中,将更清晰地理解本发明,其中图1是示出根据本发明的库装置的基本结构(第一结构)的图;图2是示出根据本发明的库装置的基本结构(第二结构)的图图3是示出根据本发明的库装置的第一实施例的结构的图;图4是示出图3中示出的库装置的总体操作的流程图;图5是图4中示出的子例程S13的流程图;图6是图4中示出的子例程S14的流程图;
图7是示出根据本发明的库装置的第二实施例的结构的图;图8是示出图7中示出的库装置的总体操作的流程图;图9是图8中示出的子例程S42的流程图;图10是图9中示出的子例程S52的流程图;图11是图9中示出的子例程S53的流程图;以及图12是示出在先技术的库装置的基本结构的图。
具体实施例方式
下面将参照图1描述根据本发明的库装置的第一基本结构。
库装置1包括库控制器Lct1和Lct2,其根据来自主机2的控制指令对库装置1的整体操作进行控制;驱动器控制器Dct,其根据来自库控制器Lct1和Lct2的控制指令对其所连接的存储介质驱动器进行控制;和驱动命令通道P1和P2,其将库控制器Lct1和Lct2与驱动器控制器Dct相连接。
通过使用具有相同功能的第二库控制器Lct2备份(duplicate)第一库控制器Lct1,来构造库控制器Lct1和Lct2以提供冗余,这样的设计使得当一个控制器处于工作状体(激活状态)时,另一个处于备用状态。如果激活的控制器发生故障,则将备用控制器接通以替换故障的控制器,将故障的控制设置为备用状态,并且由此无中断地继续库装置1的整体操作。
还通过利用第二驱动命令通道P2备份第一驱动命令通道P1来冗余地构造驱动命令通道P1和P2,该第一和第二驱动命令通道都使用相同的信号线等来实现,并且当一个处于工作(激活)状态时,另一个处于备用状态。
此外,还以冗余结构来构造用于将这些控制器连接到各个驱动命令通道P1和P2的、设置在第一控制器Lct1和第二库控制器Lct2的每一个上的库控制器端口,即将库控制器第一端口14和库控制器第二端口15设置在第一库控制器Lct1上,而将库控制器第一端口24和库控制器第二端口25设置在第二库控制器Lct2上。
在此,通过第一Lct间连接驱动命令通道PL1并联连接库控制器第一端接14和24,以连接到第一驱动命令通道P1;同样地,通过第二Lct间连接驱动命令通道PL2并联连接库控制器第二端口15和25,以连接到第二驱动命令通道P2。
此外,也通过利用驱动器控制器第二端口32备份驱动器控制器第一端口31来冗余地构造用于连接各个驱动命令通道P1和P2的、设置在驱动器控制器Dct上的驱动器控制器端口;在此,将驱动器控制器第一端口31连接到第一驱动命令通道P1,并且将驱动器控制器第二端口32连接到第二驱动命令通道P2。
如果在预定时间间隔内没有从驱动单元D1或者D2返回通信响应,则在第一控制器Lct1和第二库控制器Lct2中的工作(激活)库控制器(此后,为了解释的目的,假设第一库控制器Lct1是激活控制器)能够检测出在沿着第一库控制器Lct1与驱动单元D1或者D2之间的所涉及的路径的某处已经发生故障。
另选地,可以在库控制器Lct1和驱动器控制器Dct上分别设置用于经由驱动命令通道P1或者P2相互进行通信的通信单元,并且可将库控制器Lct1构造为如果在通信单元之间的通信中发生异常,则检测出在沿着在第一库控制器Lct1与驱动器控制器Dct之间所涉及路径的某处已经发生故障。
接着,如果库控制器Lct1不能经由当前激活的库控制器端口(例如,第一端口14)与驱动器单元D1或者D2进行通信(或者如果分别设置在库控制器Lct1和驱动器控制器Dct中的通信单元不能相互通信),但是不仅在使用在同一库控制器Lct1上提供的备用库控制器端口(例如第二端口15)时能够通信,而且当使用在备用库控制器Lct2上提供的、并且连接到与当前激活的库控制器端口14相同的驱动命令通道(第一驱动命令通道P1)的库控制器端口24时也能够通信,则库控制器Lct1确定在当前激活的库控制器端口14中已发生了故障,并且将激活的驱动命令通道切换到第二驱动命令通道P2,以使得能够继续库装置1的操作。
另一方面,如果库控制器Lct1不能经由当前激活的库控制器端口14与驱动器单元D1或者D2进行通信(或者如果分别设置在库控制器Lct1和驱动器控制器Dct中的通信单元不能相互通信),并且即使当使用提供在备用库控制器Lct2上的并且连接到与库控制器端口14相同的驱动命令通道(第一驱动命令通道P1)的库控制器端口24时仍然不能通信,则库控制器Lct1确定在当前激活的驱动命令通道P1中已发生了故障,并且将激活的驱动命令通道切换到第二驱动命令通道P2,以使得能够继续库装置1的操作。
此外,如果无论使用库控制器Lct1的第一端口14还是使用第二端口15,库控制器Lct1均不能与驱动器单元D1或者D2进行通信(或者如果分别设置在库控制器Lct1和驱动器控制器Dct上的通信单元不能相互通信),但当使用备用库控制器Lct2时能够进行通信,则库控制器Lct1确定该库控制器Lct1自身发生了故障,并且将激活的库控制器切换到库控制器Lct2,以便利能够继续库装置1的操作。
这样,当以如上所述的冗余结构来分别构造库装置1的构成元件,例如库控制器、驱动命令通道、和连接到驱动命令通道的库控制器端口时,不仅能够找到沿着库控制器与驱动命令通道之间所涉及的路径上发生的任何故障的位置,而且即使当已经发生故障时,也能够无中断地继续库装置1的操作。
图2示出根据本发明的库装置的第二基本结构。
图2中示出的库装置包括用于分别控制存储介质驱动器单元D11和D12、D21和D22、…、以及Dn1和Dn2的多个驱动器控制器Dct1、Dct2、…、以及Dctn。
在此,可以使用多个驱动器控制器Dct1到Dctn以及多个存储介质驱动器单元D11到Dn2来分别备份驱动器控制器和存储介质驱动器单元,或者另选地,可以通过将不同的存储器区域分配给各个驱动器单元D11到Dn2,来将多个驱动器控制器Dct1到Dctn以及多个存储介质驱动器单元D11到Dn2分别构造为非冗余设备。
即使当将驱动器控制器Dct1到Dctn以及存储介质驱动单元D11到Dn2分别构造为非冗余设备,由于这些控制器或者单元是通过并联连接多个相同设备而构造的,所以如果其中任何一个发生故障(例如,如果Dct1发生故障),而其他设备(例如,Dct2至Dctn)可用,则也能够使库装置1的整体操作继续进行。还能够通过识别其它可用设备来识别故障源。
通过第一Dct间连接驱动命令通道PD1将各个驱动器控制器Dct1到Dctn上的驱动器控制器第一端口31、41、…、51并联连接,以便连接到第一驱动命令通道P1,而通过第二Dct间连接驱动命令通道PD2将驱动器控制器第二端口32、42、…、以及52并联连接,以连接到第二驱动命令通道P2。
这样,在根据本发明的库装置1中,以冗余的结构构造在先技术的库装置中分别由单个部件构成的库控制器、驱动命令通道、库控制器端口、以及驱动器控制器端口。
利用这种结构,能够将库装置1的所有组成部分(库控制器、驱动命令通道、库控制器端口、驱动器控制器、驱动器控制器端口以及存储介质驱动器单元)构造为并联连接的多个元件的阵列,并且能够识别出在这些组成部分中的任何一个中发生的任何故障源。
即,当在沿着库控制器与驱动命令通道之间的所涉及的路径上发生故障时,能够通过使用参照图1描述的方法来识别出故障源。
例如,在驱动器控制器Dct1上的当前激活的驱动器控制器端口(例如端口31)发生故障的情况下,如果库控制器Lct1能够通过使用当前激活的驱动命令通道P1与在其它驱动器控制器Dct2到Dctn中的任何一个的控制下运转的存储介质驱动单元中的任何一个进行通信(或者能够与其它驱动器控制器Dct2到Dctn的任何一个进行通信),并且如果在将驱动命令通道切换到P2时能够与在驱动器控制器Dct1控制下运转的驱动器11和12进行通信(或者与驱动器控制器Dct1进行通信),则能够确定驱动器控制器端口31发生故障。此时,通过将激活的驱动命令通道切换到第二驱动命令通道P2来使库装置1的操作继续进行。
此外,在驱动器控制器(例如,Dct1)发生故障的情况下,如果库控制器Lct1能够通过使用当前激活的驱动命令通道P1与在其它驱动器控制器Dct2到Dctn中的任何一个的控制下运转的存储介质驱动器单元中的任何一个进行通信(或者能够与其它驱动器控制器Dct2到Dctn中的任何一个进行通信),但即使当将驱动命令通道切换到P2时,仍然不能与在驱动器控制器Dct1的控制下运转的驱动器11或者12进行通信(或者不能与驱动器控制器Dct1进行通信),则确定驱动器控制器Dct1发生故障。
在此情况下,如果将驱动器控制器构造为冗余结构,则库控制器Lct1禁止访问在驱动器控制器Dct1的控制下运转的存储介质驱动器单元11和12。
另一方面,在存储介质驱动器单元(例如D11)发生故障的情况下,如果库控制器Lct1能够通过使用当前激活的驱动命令通道P1与在其它驱动器控制器Dct2到Dctn中的任何一个控制下运转的存储介质驱动器单元中的任何一个进行通信(或者能够与其它驱动器控制器Dct2到Dctn中的任何一个进行通信),并且也能够与在同一驱动器控制器Dct1的控制下运转的其它存储介质驱动器单元D12进行通信,则确定存储介质驱动器单元D11发生故障。
接着,将参照附图来描述本发明的库装置的优选实施例。图3是示出根据本发明的库装置的第一实施例的结构的图。
库装置1包括第一库控制器Lct1和第二库控制器Lct2,其根据来自主机2的控制指令对库装置1的整体操作进行控制;多个驱动器控制器Dct1、Dct2、…、以及Dctn,其根据来自库控制器Lct1和Lct2的控制器命令分别控制它们所连接的存储介质驱动器单元D11和D12、D21和D22、…、以及Dn1和Dn2;以及,第一驱动命令通道P1和第二驱动命令通道P2,其将库控制器Lct1和Lct2连接到驱动器控制器Dct1到Dctn。
第一库控制器Lct1包括MPU 10,用于执行用于对库装置1的整体操作进行控制的各种处理;存储部分11,其是通过存储器设备等实现的,用于存储对由MPU 10执行的处理进行限定的程序和诸如用于执行该程序所需的工作数据的数据;以及,第一库控制器端口14和第二库控制器端口15,分别连接到MPU 10的数据总线12上,并且库控制器Lct1经由端口14和15将控制指令发送给驱动器控制器Dct1到Dctn并且从驱动器控制器Dct1到Dctn接收状态信息。
针对第一库控制器Lct1中的MPU 10,在存储部分11中存储有故障源确定软件13,以根据稍后将描述的流程来确定库装置1中的故障源。
第二库控制器Lct2在结构上与第一库控制器Lct1相同;即,冗余地构造控制器Lct1和Lct2,这种设计使得其中之一处于工作(激活)状态,另一个处于备用状态,并且使得如果激活的控制器发生故障,则接通备用的控制器以替代发生故障的控制器,并将发生故障的控制器设置为备用状态。
在第一库控制器Lct1与第二库控制器Lct2之间设置有库控制器间通信线3。如稍后所述,当库控制器Lct1和Lct2中的一个通知另一个库控制器其处于激活状态还是备用状态时,或者当从其它库控制器询问所述的一个库控制器关于所述一个库控制器是否能够向存储介质驱动器单元D11到Dn2发送并且从其接收指令,或者所述一个库控制器能否与驱动器控制器Dct1到Dctn进行通信时,使用该库控制器间通信线3。
还通过利用第二驱动命令通道P2备份第一驱动命令通道P1来冗余地构造驱动命令通道P1和P2,使用相同信号线等来实现上述通道P1和P2。此外,还通过使用库控制器第二端口15备份库控制器第一端口14来冗余地构造在第一库控制器Lct1上提供的库控制器端口,使用相同通信接口电路实现上述端口14和15;同样地,通过使用库控制器第二端口25备份库控制器第一端口24来冗余地构造在第二库控制器Lct2上提供的库控制器端口。
并联连接库控制器第一端口14和24,以连接到第一驱动命令通道P1,而并联连接库控制器第二端口15和25,以连接到第二驱动命令通道P2。在此通过用于连接到第一驱动命令通道P1的第一Lct间连接驱动命令通道PL1,将第二库控制器Lct2上的库控制器第一端口24与库控制器第一端口14并联连接,而通过用于连接到第二驱动命令通道P2的第二Lct间连接驱动命令通道PL2,将第二库控制器Lct2上的库控制器第二端口25与库控制器第二端口15并联连接。
同样冗余地构造在每个驱动器控制器Dct1到Dctn上提供的驱动器控制器端口。
即,通过利用驱动器控制器第二端口32备份驱动器控制器第一端口31来冗余地构造驱动器控制器Dct1上的端口,并且通过利用驱动器控制器第二端口42备份驱动器控制器第一端口41来冗余地构造在驱动器控制器Dct2上的端口,而通过利用驱动器控制器第二端口52备份驱动器控制器第一端口51来冗余地构造驱动器控制器Dctn上的端口。
接着,并联连接驱动器控制器第一端口31到51,以连接到第一驱动命令通道P1,同时并联连接驱动器控制器第二端口32和52,以连接到第二驱动命令通道P2。
在此,经由第一Dct间连接驱动命令通道PD1将驱动器控制器Dct2到Dctn上的第一端口41到51连接到第一驱动命令通道P1,而经由第二Dct间连接驱动命令通道PD2将驱动器控制器Dct2到Dctn上的第二端口42到52连接到第二驱动命令通道P2。
图4到6是示出在根据本发明的库装置1中执行的故障源检测处理的流程图。通过根据在存储部分11(21)中存储的故障确定软件13(23)执行操作的第一库控制器Lct1中的MPU 10(或者第二库控制器Lct2中的MPU 20),来执行此故障源检测处理。
在下面的描述中,假设在冗余构造的库控制器、驱动命令通道、库控制器端口以及驱动器控制器端口中,第一库控制器Lct1、第一驱动命令通道P1、库控制器第一端口14以及驱动器控制器第一端口31处于激活状态,而第二库控制器Lct2、第二驱动命令通道P2、库控制器第二端口15和25、库控制器第一端口24以及驱动器控制器第二端口32处于备用状态。
在图4示出的步骤S11中,库控制器Lct1以预定时间间隔(例如每隔一秒)向特定存储介质驱动器(例如D11)发送指令并且从特定存储介质驱动器接收指令,并且如果在预定时间间隔内没有返回响应,则检测出沿着在库控制器Lct1与存储介质驱动器D11之间所涉及的路径的某处已经发生了故障。
接着,在步骤S12中,库控制器Lct1尝试利用当前激活的驱动命令通道P1向存储介质驱动器D21到Dn1发送或者从存储介质驱动器D21到Dn1接收指令,该存储介质驱动器D21到Dn1在其它驱动器控制器Dct2到Dctn的任何一个的控制下运转。
在此,如果能够向这些存储介质驱动器D21到Dn1发送或者从其接收命令,则库控制器Lct1确定在驱动器D11、驱动器控制器Dct1或者驱动器控制器第一端口31中的任一中已发生了故障,并且促使处理分转到图5中示出的例程S13。
在另一方面,如果不能向存储介质驱动器D21到Dn1中的任何一个发送或者从其接收指令,则库控制器Lct1确定在库控制器Lct1自身、库控制器第一端口14或者第一驱动命令通道P1的任何一个中已经发生了故障,并且使处理分转到图6中示出的例程S14。
当处理因步骤S12中的确定而分转到图5示出的例程S13时,库控制器Lct1在步骤S21中向其它驱动器D12发送并且从其接收指令,该驱动器D12连接到控制驱动器D11的同一驱动器控制器Dct1。此时,如果能够向该其它驱动器D12发送并从其接收命令,则库控制器Lct1在步骤S22中确定故障源是驱动器D11;接着处理进入步骤S23,在此禁止使用驱动器D11,直到将其修复或者替换,并且终止处理。
另一方面,如果不能向其它驱动器D12发送或者从其接收命令,则在步骤S24中库控制器Lct1尝试通过使用当前处于备用状态的第二驱动命令通道P2向驱动器D11发送并从其接收指令。
如果当使用第二驱动命令通道P2时能够向驱动器D11发送并从其接收指令,则库控制器Lct1在步骤S25中确定驱动器控制器第一端口31发生故障,并且在步骤S26中,库控制器Lct1将第二驱动命令通道P2切换到激活状态,并且将第一驱动命令通道P1切换到备用状态,由此允许无中断地继续库装置1的操作。
如果即使当使用第二驱动命令通道P2时也不能向驱动器D11发送并从其接收命令,则库控制器Lct1在步骤27中确定第一驱动器控制器Dct1发生故障,并且处理进入步骤S28,在此,禁止使用连接到第一驱动器控制器Dct1的驱动器D11和D12,直到修复或者替换该第一驱动器控制器Dct1。
当处理因图4中的步骤S12的确定而分转到图6中示出的例程S14时,库控制器Lct1在步骤S31中检查是否已经库控制器Lct1上的备用第二端口15记录为故障状态(稍后将参照步骤S37进行描述)。
如果已经第二端口15已经处于故障状态,则库控制器Lct1不能访问使用第一端口14或者第二端口15的任何一个的驱动器单元D11到Dn2中的任何一个;因此,在步骤S32中,库控制器Lct1确定库控制器Lct1自身发生故障,并且在步骤S33中,将库控制器Lct1设置为备用状态,而将库控制器Lct2切换到激活状态,并且随后利用库控制器Lct2使库装置1的操作继续进行。
在将激活的系统从库控制器Lct1切换到库控制器Lct2的一种方法中,在步骤S31中已经确定其第一和第二端口都不可用的第一库控制器Lct1例如亲自将其切换到备用状态,并且同时经由库控制器间通信线3向第二库控制器Lct2发送指令,指示其切换到激活状态。
另选地,可以在库装置1中提供用于在库控制器Lct1与Lct2之间切换激活系统的激活Lct切换装置(未示出);因此,在此情况下,已经确定其第一和第二端口都不可用的第一库控制器Lct1通知激活Lct切换装置,并且激活Lct切换装置接着将激活系统从库控制器Lct1切换到库控制器Lct2。
如果在步骤S31中确定第一库控制器Lct1上的第二端口15未发生故障,则在步骤S34中,第一库控制器Lct1经由库控制器间通信线3向第二库控制器Lct2发送询问,询问第二库控制器Lct2是否能够通过使用驱动命令通道P1向驱动器单元D11到Dn2中的任何一个发送并从其接收指令。
在此,如果第二库控制器Lct2也不能向驱动器单元D11到Dn2中的任何一个发送并从其接收指令,则在步骤S35中确定第一驱动命令通道P1发生故障,并且在步骤S38中,将激活的驱动命令通道从当前使用的第一驱动命令通道P1切换到备用第二驱动命令通道P2,此后终止处理。
在此情况下,例如,如果能够向连接到驱动器控制器Dct1的驱动器D11或者D12发送并且从其接收指令,但不能向连接到驱动器控制器Dct2到Dctn的驱动器D21到Dn2中的任何一个发送并从其接收指令,则有可能连接在驱动命令控制器Dct1与Dct2之间的Dct间连接驱动命令通道PD1或者PD2发生了故障。在此,可以将设备构造成通过检查当将驱动命令通道切换到备用驱动命令通道时,是否能够向连接到驱动器控制器Dct2到Dctn的驱动器D21到Dn2发送并从其接收指令,来检测Dct间连接驱动命令通道PD1或PD2的故障。
另一方面,如果第二库控制器Lct2能够向驱动器单元D11到Dn2中的任何一个发送并从其接收命令,则在步骤S36中确定第一库控制器Lct1上的第一端口14发生故障,并且在步骤37中将第一端口14的故障状态存储在存储部分11中;接着,将激活的驱动命令通道从当前使用的第一驱动命令通道P1切换到备用的第二驱动命令通道P2,此后终止处理。
如上所述,根据图3中示出的库装置1的结构,库控制器Lct1向存储介质驱动器D11到Dn2发送并从其接收命令,并且如果在预定时间间隔内没有返回响应,则检测出在沿着库控制器Lct1与存储介质驱动器D11之间所涉及的路径上的某处已经发生了故障。
然而,根据上述方法,每次在故障源确定流程中的指定点(例如图4中的步骤S12、图5中的步骤S21和S24以及图6中的步骤S34)执行向驱动器D11到Dn2发送并从其接收指令,等待时间开始等待来自存储介质驱动器的响应;因此有可能在主机2所允许的响应时间内未完成故障源确定流程。
鉴于此,此后提出库装置1的第二实施例,在各个库控制器和驱动器控制器中提供用于相互进行通信的多个通信单元,并且当在这些通信单元之间的通信中出现异常时,确定到故障的发生。因为与必须等待来自存储介质驱动器的响应的结构相比,这种通信单元使得能够将等待时间设定得更短,所以通过对通信单元之间的通信中是否存在异常进行检测,并由此检查沿着库控制器与驱动器控制器之间所涉及的路径上是否发生任何故障,能够在更短的时间内完成故障源的确定流程。
图7是示出根据本发明的第二实施例的库装置的结构的图。
如图所示,第一库控制器Lct1具有库控制器通信单元16,其能够与在各个驱动器控制器Dct1、Dct2、…、Dctn中提供的驱动器控制器通信单元33、43、…、53进行通信。
经由库控制器第一端口14、第一驱动命令通道P1和驱动器控制器第一端口31,或者经由库控制器第二端口15、第二驱动命令通道P2和驱动器控制器第二端口32,执行库控制器通信单元16与驱动器控制器通信单元33之间的通信,并且例如以预定时间间隔(例如每隔11毫秒)发送对与连接到各个驱动器控制器Dct1、Dct2、…、Dctn的相关驱动器有关的信息(例如连接、通电/断电状态等)的询问和响应。
同样地,第二库控制器Lct2具有库控制器通信单元26,其能够与在各个驱动器控制器Dct1、Dct2、…、Dctn中提供的驱动器控制器通信单元33、43、…、53进行通信。
图8到图11是示出在图7中示出的库装置1中执行的故障源确定处理的流程图。
在图8中的步骤S41中,库控制器Lct1确定其通信单元16是否能够与控制特定存储介质驱动器(例如D11)的驱动器控制器Dct1中的通信单元33进行通信。
在此,如果通信单元16不能与通信单元33进行通信,则库控制器Lct1确定在库控制器Lct1自身、库控制器驱动端口14、第一驱动命令通道P1、驱动器控制器Dct1、或者驱动器控制器第一端口31中的任何一个中已经发生了故障,并且使处理分转到图9中示出的例程S42。
另一方面,如果在步骤S41中确定通信单元16能够与通信单元33进行通信,则在步骤S43中,库控制器Lct1向驱动器D11发送并从其接收指令;如果在预定时间间隔内返回了响应,则在步骤S44中确定未发生故障,由此终止处理。
反之,如果没有返回响应,则在步骤S45中确定在驱动器D11中发生了故障,并且处理进入步骤S46,在该步骤中,禁止使用驱动器D11,直到将其修复或者替换,此后终止处理。
如果在步骤S41中,通信单元16不能与通信单元33进行通信,则处理分转到图9中示出的例程S42。在图9中的步骤S51中,库控制器Lct1使其通信单元16通过利用当前激活的第一驱动命令通道P1,来尝试与在其它驱动器控制器Dct2到Dctn中提供的通信单元43到53中的任何一个进行通信。
在此,如果通信单元16能够与信单元43到53中的任何一个进行通信,则库控制器Lct1确定驱动器控制器Dct1或者驱动器控制器第一端口31中的任何一个中已经发生了故障,并且使处理分转到图10中示出的例程S52。
反之,如果通信单元16不能与信单元43到53中的任何一个进行通信,则库控制器Lct1确定在库控制器Lct1自身、库控制器第一端口114或者第一驱动命令通道P1中的任何一个中已经发生了故障,并且使处理分转到图11中示出的例程S53。
当处理因步骤S51中的确定而分转到图10中示出的例程S52时,在步骤S61中库控制器Lct1使其通信单元16通过利用备用第二驱动命令通道P2尝试与控制驱动器D11的驱动器控制器Dct1中的通信单元33进行通信。
如果当使用第二驱动命令通道P2时,通信单元16能够与通信单元33进行通信,则库控制器Lct1在步骤S62中确定驱动器控制器第一端口31发生故障,并且在步骤S63中将第一驱动命令通道P1设置为备用状态,而将第二驱动命令通道P2切换到激活状态,由此继续库装置1的操作。
如果即使当使用第二驱动命令通道P2时,通信单元16也不能与通信单元33进行通信,则库控制器Lct1在步骤S64中确定第一驱动器控制器Dct1发生故障,并且处理进入步骤S65,在该步骤中,禁止使用连接到第一驱动器控制器Dct1的驱动器D11和D12,直到修复或者替换了该第一驱动器控制器Dct1。
当处理因图9中的步骤S51中的确定而分转到图11的例程S53时,库控制器Lct1在步骤S71中检查是否已经将库控制器Lct1上的备用第二端口15记录为故障状态。
如果第二端口15已经处于故障状态,则库控制器Lct1在步骤S72中确定库控制器Lct1自身发生了故障,并且在步骤S73中,将库控制器Lct1设置为备用状态,而将库控制器Lct2切换到激活状态,并且此后利用库控制器Lct2继续库装置1的操作。在此,能够通过利用如图3中的库装置1的第一实施例中所述的相同方法将激活系统从库控制器Lct1切换到库控制器Lct2。
如果在步骤S71中确定第一库控制器Lct1上的第二端口15未发生故障,则在步骤S74中第一库控制器Lct1经由库控制器间通信线3向第二库控制器Lct2发送询问,询问第二库控制器Lct2其通信单元26通过利用驱动命令通道P1是否能够与驱动器控制器Dct1到Dctn中的通信单元33到53中的任何一个进行通信。
在此,如果在第二库控制器Lct2中的通信单元26也不能向驱动器控制器Dct1到Dctn中的通信单元33到53的任何一个发送并从其接收指令,则在步骤S75中确定第一驱动命令通道P1发生了故障,并且在步骤S78中将激活的驱动命令通道从当前使用的第一驱动命令通道P1切换到备用第二驱动命令通道P2,此后终止处理。
在此情况下,例如如果与驱动器控制器Dct1中的通信单元进行通信,但不能与驱动器控制器Dct2到Dctn中的通信单元43到53中的任何一个进行通信,则存在如下的可能连接在驱动器控制器Dct1与Dct2之间的Dct间连接驱动命令通道PD1或者PD2发生了故障。在此,可以将设备构造成通过对在将驱动命令通道切换到备用驱动命令通道时是否能够进行与驱动器控制器Dct2到Dctn中的通信单元43到53的通信进行检查,来检测Dct间连接驱动命令通道PD1或者PD2的故障。
另一方面,如果第二库控制器Lct2中的通信单元26能够向驱动器控制器Dct1到Dctn中的通信单元33到53中的任何一个发送并从其接收命令,则在步骤S76中确定第一库控制器Lct1上的第一端口14发生了故障,并且在步骤S77中,将第一端口14的故障状态存储在存储部分11中;接着将激活的驱动命令通道从当前使用的第一驱动命令通道P1切换到备用第二驱动命令通道P2,此后终止处理。
根据本发明的库装置,即使当库装置的构成元件中的任何一个中发生了故障,也能够无中断地继续该库装置的整体操作。
还能够识别故障源。这样防止了发生如现有技术中的替换无故障部分的情况。
本发明也能够应用于用于对记录在诸如磁带、磁盘、或者磁光盘的记录介质上的数据进行写入和读取的库装置。
虽然为了解释的目的,已经参照所选择的具体实施例描述了本发明,但本领域的技术人员应该明确能够在不脱离本发明的基本概念和范围的情况下,对本发明进行大量的修改。
本申请基于并且要求于2005年6月7日提交的在先日本专利申请2005-166812的优选权,在此通过引用并入其全部内容。
权利要求
1.一种库装置,其包括库控制器,其根据来自主机的控制指令对整体操作进行控制;一个或者多个驱动器控制器,所述驱动器控制器中的每一个根据来自所述库控制器的控制指令对与其相连的存储介质驱动单元进行控制;以及,驱动命令通道,其连接在所述库控制器与所述驱动器控制器之间,其中,所述库控制器、所述驱动命令通道以及要连接到所述驱动命令通道的库控制器端口分别被构造成冗余结构。
2.根据权利要求1所述的库装置,其中通过利用第二驱动命令通道备份第一驱动命令通道来冗余地构造所述驱动命令通道,并且在所述冗余地构造的库控制器的每一个上,通过利用库控制器第二端口备份库控制器第一端口,来冗余地构造所述库控制器端口,并且其中所述库控制器第一端口和所述库控制器第二端口被分别连接到所述第一驱动命令通道和所述第二驱动命令通道。
3.根据权利要求2所述的库装置,其包括故障源确定部分,用于确定在所述库控制器、所述驱动命令通道和所述库控制器端口中的至少任何一个中出现的故障源。
4.根据权利要求3所述的库装置,其中所述库控制器和所述驱动器控制器分别包括用于相互进行通信的通信部分,并且其中所述故障源确定部分在所述通信部分之间的通信中发生异常时,对所述故障的发生进行检测。
5.根据权利要求2所述的库装置,其中在所述一个或者多个驱动器控制器的每一个上,通过利用驱动器控制器第二端口备份驱动器控制器第一端口,来冗余地构造要连接到所述驱动命令通道的驱动器控制器端口,并且其中所述驱动器控制器上的所述驱动器控制器第一端口被并联连接,以连接到所述第一驱动命令通道,并且所述驱动器控制器上的所述驱动器控制器第二端口被并联连接,以连接到所述第二驱动命令通道。
6.根据权利要求5所述的库装置,其包括故障源确定部分,用于确定在所述库控制器、所述驱动器控制器、所述驱动命令通道、所述库控制器端口和所述驱动器控制器端口中的至少任何一个中发生的故障源。
7.根据权利要求6所述的库装置,其中所述库控制器和所述驱动器控制器分别包括用于相互进行通信的通信部分,并且其中所述故障源确定部分在所述通信部分之间的通信中发生异常时,对所述故障的发生进行检测。
全文摘要
库装置,本发明提供了一种库装置,其中将设备构造成如果该库装置的组成部分中的任何一个中发生故障,能够无中断地继续库装置的整体操作,进一步将设备构造成能够识别该故障源。库装置1包括以冗余结构构造的库控制器Lct1和Lct2,和以冗余结构构造的驱动命令通道P1和P2,其中通过利用端口15备份端口14来冗余地构造库控制器Lct1上的库控制器端口,端口14和15分别连接到冗余构造的驱动命令通道P1和P2;并且通过利用端口25备份端口24来冗余地构造库控制器Lct2上的库控制器端口,该端口24和25分别连接到冗余构造的驱动命令通道P1和P2。
文档编号G06F11/20GK1877511SQ20051011281
公开日2006年12月13日 申请日期2005年10月12日 优先权日2005年6月7日
发明者富井大介 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1