控制共享磁盘的方法和系统技术方案

技术编号:2889107 阅读:165 留言:0更新日期:2012-04-11 18:40
在包括至少两个计算机(10,20)、一个共享磁盘驱动器(14)和将计算机(10,20)与磁盘驱动器(14)连接起来的磁盘驱动器总线(15)的系统中控制共享磁盘驱动器(14)的方法,其特征在于:使用共享磁盘驱动器(14)的第一计算机(10) -在一个磁盘任务之前,检查第二计算机(20)是否已经发出它已在共享磁盘驱动器(14)中做了修改的通知; -响应于所检测到的通知,从其高速缓冲存储器中擦除与在共享磁盘驱动器中已被改变的区域相应的数据; -执行磁盘任务;以及 -向第二计算机(20)通知在磁盘驱动器(14)已被改变的数据。(*该技术在2016年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及双工计算机系统,尤其涉及两个计算机部件能够用来控制同一磁盘驱动器上的数据的机构。在例如交换中心中使用的容错系统中,已经知道将数据写入两个单独的磁盘驱动器。也知道对计算机进行双工操作,使得当一个计算机部件发生故障时,另一个计算机可以继续工作。在这样一个系统中,活动部件控制着两个磁盘驱动器。非活动部件或者被保留,或者发生故障,但是它通常不控制各磁盘驱动器。也已经知道在计算机的主存储器中存储磁盘驱动器的最后读取的区域,因为至少某些这些区域(例如目录)可能必被再次读取。参照附图说明图1,双工计算机通常是以这样一种方式设计的,使得只有计算机10和20中的一台(例如10)使用磁盘驱动器14和/或磁盘驱动器24。另一计算机(该情形下为20)被保留或发生故障。第一磁盘驱动器总线15将两个计算机部件与第一磁盘驱动器14连接起来。相应地,第二磁盘驱动器总线25将两个计算机部件与第二磁盘驱动器24连接起来。图1示出每个计算机部件10和20分别包括两个磁盘驱动器控制器13a和13b以及23a和23b的一种实施方式。另一方案是,每个计算机部件10和20可以包括一个磁盘驱动器控制器,该控制器具有到磁盘驱动器总线15和25的单独接口。磁盘驱动器总线15和25可以例如是SCSI(小型计算机系统接口)总线,并且磁盘驱动器14和24可以相应地是具有SCSI接口的磁盘驱动器。图1也示出一个将计算机10和20连接起来的双向消息总线30。计算机10和20经过消息总线30交换维护消息,例如,它们需要相互的状态等。图1的系统示出具有两个磁盘驱动器14和24,因为在双工系统中,磁盘驱动器通常是重复的。在这个例子中,磁盘驱动器总线也被做成重复的。就本专利技术所相关的,磁盘驱动器14和24也可以连接到一个公共磁盘驱动器总线15或25。然而,本专利技术涉及对各磁盘驱动器进行控制,而不管系统中可能包括的任何其他磁盘驱动器。因而,磁盘驱动器和磁盘驱动器总线的数目对于本专利技术不是重要的。将磁盘驱动器14的数据高速缓存到一个计算机10的主存储器12中对于本领域内熟练的技术人员而言是公知的技术。这种高速缓存是基于这种实际观察当对磁盘驱动器14的某些部分执行一个磁盘任务时,可能不久执行与相同部分相关的另一个磁盘任务。因此,最好将与磁盘驱动器14的某些最近使用区域相应的数据存储在主存储器12中。为了对一个磁盘驱动器进行高速缓存,通常从主存储器12中保留某个区域。另一方案是,磁盘驱动器控制器13a和13b可以含有单独的高速缓冲存储器。问题在于双工计算机的利用,在由于将磁盘驱动器高速缓存于计算机10和20的主存储器12和22中而提升操作时,每个计算机具有至少利用一个磁盘驱动器14和24的能力。如果一个计算机部件(例如10)修改了磁盘驱动器14上的数据,另一计算机部件(该情形下为20)不必知道。如果该计算机20依赖于其主存储器中的高速缓存数据而不从磁盘驱动器14读最近更新的数据,该系统产生混乱。由于容错,计算机部件10和20具有单独的主存储器,使得计算机10和20不能直接向相互的主存储器写已被改变的磁盘驱动器14的区域。根据以上所述,本专利技术的目的在于提供一种两个计算机部件能够用来以可靠方式在共享磁盘驱动器中高速缓存数据的方法和系统。本专利技术的目的是利用独立权利要求的公开为特征的方法和系统实现的。最佳实施方式在从属权利要求中提出。本专利技术是基于这种构思需要使用一个磁盘驱动器的计算机部件确信另一个计算机部件不同时使用该磁盘驱动器,然后该计算机检查另一计算机是否已经修改了该磁盘驱动器中的任何数据。如果磁盘驱动器中的数据已被改变,则从其主存储器中擦除与该数据相应的高速缓存数据。之后,执行一个磁盘任务,并且向另一计算机通知在磁盘驱动器中的被改变的数据。根据本专利技术的方法和系统的主要优点是,共享的磁盘数据不能由两个计算机控制,使得数据仍被高速缓存于两个计算机的主存储器中。另外,为便于实现,本专利技术几乎不对磁盘控制软件进行增加。考虑到由于复制两个计算机系统而将在任何情形下需要这种改变,通常不必向系统进行报告。将参照图1并结合最佳实施方式更详细地描述本专利技术,图1示出包括双工磁盘驱动器的双工计算机部件。根据本专利技术的用于控制由两个计算机10和20共享的磁盘驱动器14的方法能够在图1所示的系统中执行,例如以下述步骤进行。假设第一计算机10想要使用第一磁盘驱动器14。由于系统对称性,该方法由另一计算机以相应方式工作。(i)检查另一计算机20是否已经发出对在磁盘驱动器14中已做修改的通知;(ii)如果另一计算机20已经发出对在磁盘驱动器14中已做修改的通知,则擦除与磁盘驱动器14中改变区域相应的数据的高速缓存;(iii)执行一个磁盘任务;(iv)如果在该磁盘任务中改变磁盘驱动器14中的数据,则向另一计算机通知磁盘驱动器14中的改变区域。该磁盘任务可以包括几条对磁盘驱动器14的命令。在该处理中,必须以某些方式避免另一计算机20使用磁盘驱动器14。这是非常有利地以这样一种方式执行的,使得在该磁盘任务之前,第一计算机10例如利用SCSI命令RESERVE为其自身保留该磁盘驱动器。于是,在该磁盘任务之后,可以利用SCSI命令RELEASE释放该磁盘驱动器。在每个磁盘任务之后能够释放该磁盘驱动器。另一方案是,仅当另一计算机指示它需要访问该磁盘驱动器时才可释放。这种对磁盘驱动器需要的指示或者经过消息总线30或者经过磁盘驱动器总线15传送。如果计算机10未能设法保留磁盘驱动器14,则另一计算机20已保留了该磁盘驱动器。第一计算机10于是可以向第二计算机20发送它需要该磁盘驱动器14的指示。此后,第一计算机10可以尝试再次保留磁盘驱动器14。最好将新尝试的次数和总的时间限制为预定的值。选择这样的预定时间,使得另一计算机20将不能够在该时间内完成其磁盘任务并且应当释放磁盘驱动器14。另一方案是,可以有两个预定时间限制。较短的时间限制(例如5秒)用于短保留,较长的时间限制(可以是几分钟)用于长保留,例如在格式化和封装磁盘驱动器期间。如果另一计算机20在与预定时间限制相应的时间内未释放磁盘驱动器14,则向该计算机20发送一个询问,问其是否已保留了磁盘驱动器14。如果对于该询问未收到预期的回答,则认为另一计算机20在执行磁盘任务时出现故障。在这种情形下,向磁盘驱动器14发送复位命令,并进行新的保留尝试。根据本专利技术的一个实施方式,计算机10和20之间的以及从计算机到磁盘驱动器14的信号传输都经过磁盘驱动器总线15进行。当使用具有SCSI接口的磁盘驱动器时该实施方式尤其适用,因为SCSI包括定义很好的协议,利用该协议除了传统上与磁盘驱动器相关的命令之外,还能传送其他命令。SCSI版本II在ANSI标准X3.141-1994中定义。根据本专利技术另一实施方式,计算机10和20之间的信号传输经过独立于磁盘驱动器总线的消息总线进行。这种独立的消息总线30示于图1。根据本专利技术的方法最好实现为双工计算机系统的磁盘控制软件的一部分。根据本专利技术对磁盘控制软件增加的部分存储在存储磁盘控制软件其他部分的存储器中。如果根据本专利技术在计算机之间的信号传送是经过独立于磁盘驱动器总线的并连接两台计算机的消息总线进行的,则该消息总线不必构成已知本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:皮卡·考伊弗尼耶米
申请(专利权)人:诺基亚电信公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1