CN101122877A - 双工系统和处理器切换方法 - Google Patents
双工系统和处理器切换方法 Download PDFInfo
- Publication number
- CN101122877A CN101122877A CN200710140376.2A CN200710140376A CN101122877A CN 101122877 A CN101122877 A CN 101122877A CN 200710140376 A CN200710140376 A CN 200710140376A CN 101122877 A CN101122877 A CN 101122877A
- Authority
- CN
- China
- Prior art keywords
- processor
- data
- cache memory
- written
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2043—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0853—Cache with multiport tag or data arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Hardware Redundancy (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种双工系统和处理器切换方法。对在运行处理器和备用处理器任何一个中发生的故障进行监测,并且当所述运行处理器中发生故障时,执行向所述备用处理器的切换。每个处理器的高速缓冲存储器均具有多个端口,通过所述多个端口可以同时读取并写入数据。所述运行处理器的高速缓冲存储器控制器通过使用与用于进行更新的端口不同端口,将用于所述运行处理器的高速缓冲存储器的更新数据转送到所述备用处理器的高速缓冲存储器。所述备用处理器的高速缓冲控制器通过使用与用于进行更新的端口不同的端口,将所接收的更新数据写入到所述备用处理器的高速缓冲存储器中。
Description
技术领域
本发明涉及双工系统和处理器切换方法,其中,运行处理器和备用处理器的每一个中均设置有高速缓冲存储器和高速缓冲存储器控制器,所述高速缓冲存储器是可通过多个端口来进行读取和写入的,并且在更新时,可以将运行处理器的高速缓冲存储器中的更新内容反映在备用处理器的高速缓冲存储器中。
背景技术
新近的通信系统包括相当多的强烈要求24小时稳定操作的计算机,如移动通信系统中的多媒体交换机。为了提高这些计算机的可靠性,采用了例如双工系统,在所述双工系统中,对处理器、高速缓冲存储器、主存储器、主存储器控制器以及用于监测运行系统和备用系统任何一个中的故障发生的故障监测器均进行双工配置;所述运行系统在正常状态下执行信息处理;而当发生故障时,进行向所述备用系统的切换。
图1是示出传统双工系统的结构的实施例的框图。该传统双工系统包括运行处理器10a和备用处理器10b。通过主存储器控制器15a将写入运行处理器10a的主存储器14a中的数据写入到备用系统的主存储器14b中。当运行处理器10a的故障监测器12a检测到发生故障时,对运行处理器10a的CPU 11a以及备用处理器10b的CPU 11b均进行复位,并在运行处理器10a与备用处理器10b之间进行切换,由此新的运行处理器的CPU通过利用包括该CPU的系统的主存储器来继续进行处理。
为了更快地访问存储器,通常的实践是设置高速缓冲存储器13a和13b。一种所谓的回写法(copy-back method)常被用作对高速缓冲存储器13a和13b的操作进行控制的方法。当运行处理器10a的CPU 11a执行指令以将数据写入到主存储器14a中时,CPU 11a并没有将数据直接写入到主存储器14a中,而是仅将数据写入到高速缓冲存储器13a中。由于高速缓冲存储器13a的容量比主存储器14a的容量小,因此当高速缓冲存储器13a溢出时,要将数据回写(复制回)到主存储器14a。即,最新数据仅存在于高速缓冲存储器13a中,直到将其写回到主存储器14a为止。
主存储器控制器15a通过主存储器控制器15b将写回到主存储器14a的数据写入备用处理器10b的主存储器14b中。当对CPU 11a和11b复位时,运行处理器10a的CPU 11a强制地将仅存在于高速缓冲存储器13a中的数据反映在主存储器14a中,并指示主存储器控制器15a停止存储器双工控制(参见日本待审专利申请公开第H06-67979和2003-223338号)。
备用处理器10b的CPU 11b通过利用备用处理器10b的主存储器14b再继续所暂停的处理。如上所述,当对CPU 11a和11b复位时,在主存储器14a和14b的双工状态持续,并且其中将高速缓冲存储器13a中的内容强制写入到主存储器14a中的所谓刷新处理(flushing)正常完成的情况下,通过备用处理器10b来再继续所述处理。
然而,当采用上述回写法时,会产生如下问题,即存在无法通过备用处理器10b再继续处理的情况。例如,当在运行处理器10a的CPU总线上出现地址奇偶检验差错时,通过软件执行的处理无法继续。因此,即使对CPU 11a和11b进行复位,也不能继续所述处理,因为不能执行对运行处理器10a的高速缓冲存储器13a的刷新,并且从运行处理器10a向备用处理器10b切换以再继续所述处理时所使用的信息,与切换前作为运行处理器的运行处理器10a中的主存储器14a的内容不一致。
此外,例如,当向高速缓冲存储器13a和运行处理器10a的部件供电的电源系统出现故障并且高速缓冲存储器13a中的数据丢失时,也不能继续所述处理,因为无法执行将仅存储在高速缓冲存储器13a中的数据刷新到主存储器14a中的刷新处理,并且从运行处理器向备用处理器10b切换以再继续所述处理时所使用的信息,与作为切换前的运行处理器的运行处理器10a的主存储器14a的内容不一致。
发明内容
鉴于这种情况提出了本发明,本发明的目的在于提供一种双工系统以及处理器切换方法,其中,通过在运行处理器和备用处理器的每一个中设置高速缓冲存储器以及高速缓冲存储器控制器,并且使得可通过多个端口来对所述高速缓冲存储器进行读写操作,而使得在对所述处理器中设置的所述高速缓冲存储器进行更新时,所述高速缓冲存储器中的内容彼此一致。
为了实现上述目的,根据本发明的双工系统包括:运行处理器,其主要执行计算;和备用处理器,其当所述运行处理器发生故障时执行计算。所述运行处理器和所述备用处理器分别包括:主存储器;存储器控制器,其控制所述主存储器的操作;高速缓冲存储器,其具有多个端口,通过所述多个端口可同时读取和写入数据;高速缓冲存储器控制器,其对通过所述多个端口读取和写入的数据进行中继,并对从所述高速缓冲存储器的数据读取和向所述高速缓冲存储器的数据写入进行控制;以及故障监测器,其对包括所述故障监测器的处理器中发生故障进行监测,并当包括所述故障监测器的处理器中发生故障时,向另一处理器通知发生故障。运行处理器的高速缓冲存储器控制器包括:在对待写入到所述运行处理器的所述高速缓冲存储器中的数据进行中继时,将该数据转送给所述备用处理器的所述高速缓冲存储器控制器的装置。所述备用处理器的所述高速缓冲存储器控制器包括:用于接收从所述运行处理器的所述高速缓冲存储器控制器转送的数据的装置;用于使用所述多个端口之一将所接收的数据写入到所述备用处理器的所述高速缓冲存储器中的装置;以及通过使用与用于写入所接收的数据的端口不同的端口,将由包括所述备用处理器的所述高速缓冲存储器控制器的处理器产生的数据写入到所述备用处理器的所述高速缓冲存储器中的装置。当故障监测器确定运行处理器中发生故障时,执行所述运行处理器与备用处理器之间的切换。
此外,在根据本发明的双工系统中,所述运行处理器的高速缓冲存储器控制器包括:用于确定待写入到所述运行处理器的所述高速缓冲存储器中的数据是否正常的装置;并且当确定该数据正常时,则将所述数据写入到所述运行处理器的所述高速缓冲存储器中,并将所述数据转送给所述备用处理器的所述高速缓冲存储器控制器。
此外,在根据本发明的双工系统中,所述运行处理器的所述高速缓冲存储器控制器包括用于当因写入到所述运行处理器的高速缓冲存储器中的数据而发生溢出时,将已写入到所述高速缓冲存储器中的数据转送给所述运行处理器的所述主存储器控制器的装置;所述运行处理器的所述主存储器控制器包括用于将从所述运行处理器的所述高速缓冲存储器控制器接收的数据写入到所述运行处理器的主存储器中并且将所述数据转送给所述备用处理器的所述主存储器控制器的装置;并且所述备用处理器的主存储器控制器包括用于将所接收的数据写入到所述备用处理器的主存储器中的装置。
此外,在根据本发明的用于在主要执行计算的运行处理器与当所述运行处理器中发生故障时执行计算的备用处理器之间进行切换的处理器切换方法中,当通过所述运行处理器的高速缓冲存储器控制器对数据进行中继时,将待写入到所述运行处理器的高速缓冲存储器中的数据转送给所述备用处理器的高速缓冲存储器控制器;通过所述备用处理器的高速缓冲存储器控制器来接收所转送的数据;通过使用所述备用处理器的高速缓冲存储器所具有的多个端口中的一个来将所接收的数据写入到所述备用处理器的高速缓冲存储器中;通过使用与用于写入所接收数据的端口不同的端口,将由所述备用处理器产生的数据写入到所述高速缓冲存储器中;确定所述运行处理器中是否发生故障;以及当确定所述运行处理器中发生故障时,在所述运行处理器与所述备用处理器之间执行切换。
此外,在根据本发明的处理器切换方法中,确定待写入到所述运行处理器的高速缓冲存储器中的数据是否正常;并且当确定所述数据正常时,则将所述数据写入到所述高速缓冲存储器中,并将所述数据转送给所述备用处理器的高速缓冲存储器控制器。
此外,在根据本发明的处理器切换方法中,当因写入到所述运行处理器的高速缓冲存储器中的数据而发生溢出时,将已写入到所述高速缓冲存储器中的数据转送给所述运行处理器的主存储器控制器;将转送给所述运行处理器的主存储器控制器的数据写入到所述运行处理器的主存储器中,并将所述数据转送给所述备用处理器的主存储器控制器;将转送给所述备用处理器的主存储器控制器的数据写入到所述备用处理器的主存储器中。
根据本发明,主要执行计算的运行处理器和当所述运行处理器发生故障时执行计算的备用存储器分别包括:高速缓冲存储器、主存储器、主存储器控制器,以及监测所述运行处理器和所述备用处理器任何一个中的故障发生的故障监测器。当所述故障监测器确定包括所述故障监测器的系统中发生故障时,所述故障监测器指示包括所述故障监测器的系统的处理器向另一系统的处理器通知发生故障。当包括故障监测器的系统的处理器是所述运行处理器时,执行向所述备用处理器的切换。在从另一系统的处理器接收到故障通知的情况下,当包括所述故障监测器的系统的处理器是所述备用处理器时,执行向所述运行处理器的切换。高速缓冲存储器具有多个端口,通过这些端口可同时执行数据的读写。在所述运行处理器和所述备用处理器的每一个中均设置有用于控制高速缓冲存储器的操作的高速缓冲存储器控制器。所述运行处理器的所述高速缓冲存储器控制器对用于所述运行处理器的高速缓冲存储器的更新数据进行中继,并且当对所述更新数据进行中继时,所述运行处理器的高速缓冲存储器将所述更新数据转送给所述备用处理器的高速缓冲存储器。所述备用处理器的高速缓冲存储器控制器通过使用与用于更新高速缓冲存储器的端口不同的端口,将从所述运行处理器接收的更新数据写入到高速缓冲存储器中。
利用此结构,当更新所述运行处理器的高速缓冲存储器的内容时,与将更新数据刷新到主存储器并行地,将更新数据本身转送到所述备用系统的高速缓冲存储器。因此,即使由于发生故障导致不能执行所述运行处理器的高速缓冲存储器的刷新处理,由于所述备用处理器的高速缓冲存储器与所述运行处理器的高速缓冲存储器中的内容彼此一致,所以可利用设置在为再继续所述处理而切换到的处理器中的高速缓冲存储器中的内容来继续所述处理。
此外,根据本发明,当对用于所述运行处理器的高速缓冲存储器的更新数据进行中继时,所述运行处理器的高速缓冲存储器控制器确定已写入到高速缓冲存储器中的数据是否正常。所述运行处理器的所述高速缓冲存储器控制器仅当确定所述更新数据正常时,才向所述备用处理器的高速缓冲存储器转送所述更新数据。
因此,仅当写入到高速缓冲存储器中的内容是正常数据时,才可以将所述数据转送给所述备用处理器的高速缓冲存储器,从而可防止进行了处理器切换后由于转送了错误数据而导致不能再继续所述处理的情况。
此外,根据本发明,当因写入到所述运行系统的处理器的高速缓冲存储器中的数据而发生溢出时,将已写入数据写入到所述运行系统的处理器的主存储器中,并且将所述数据转送给所述备用处理器的主存储器控制器,从而将所述数据写入到所述备用处理器的主存储器中。
因此,最新数据仅存在于所述高速缓冲存储器中,直到将所述数据回写到所述主存储器中为止。
附图说明
图1是示出传统双工系统的结构的实施例的框图;
图2是示出根据第一实施方式的双工系统的结构的框图;
图3是示出在根据第一实施方式的双工系统中的运行处理器的高速缓冲存储器控制器和备用处理器的高速缓冲存储器控制器的处理过程的流程图;
图4是示出在根据第一实施方式的双工系统中当运行处理器发生故障时备用处理器的高速缓冲存储器控制器的处理过程的流程图;以及
图5是示出在根据第二实施方式的双工系统中的运行处理器的高速缓冲存储器控制器和备用处理器的高速缓冲存储器控制器的处理过程的流程图。
具体实施方式
此后,基于附图来详细描述具体实施方式。
第一实施方式
图2是示出根据第一实施方式的双工系统的结构的框图。如图2所示,根据第一实施方式的双工系统包括运行处理器20a和备用处理器20b。
运行处理器20a包括至少设置有CPU 21a、故障监测器22a、高速缓冲存储器控制器23a、高速缓冲存储器24a、主存储器25a、主存储器控制器26a以及ROM 27a的处理器板。备用处理器20b也包括至少设置有CPU 21b、故障监测器22b、高速缓冲存储器控制器23b、高速缓冲存储器24b、主存储器25b、主存储器控制器26b以及ROM 27b的处理器板。
CPU 21a和21b根据存储在ROM 27a和27b中的程序来执行具体处理。故障监测器22a和22b通过通信线路互连,并且根据响应信号(例如,心跳信号)的有无来确定在任一处理器中是否出现故障。
高速缓冲存储器控制器23a和23b以可读取且可写入的方式分别连接到高速缓冲存储器24a和24b。此外,高速缓冲存储器控制器23a和23b以在二者之间可执行数据通信的方式通过通信线路互连。当对高速缓冲存储器24a或24b中的数据进行更新时,高速缓冲存储器控制器23a或23b通过通信线路向另一处理器发送更新数据。即,当通过在运行处理器20a中的处理来进行向主存储器25a的写入操作时,首先启动向高速缓冲存储器24a的写入。当启动向高速缓冲存储器24a的写入时,高速缓冲存储器控制器23a通过通信线路向备用处理器20b的高速缓冲存储器24b写入更新数据。
高速缓冲存储器24a或24b是具有第一端口241a、241b和第二端口242a、242b这两个端口的双端口存储器,根据存储在ROM上的程序,可通过第一端口241a和241b仅从运行区域读取和向该运行区域写入数据,所述运行区域用于临时存储待写入到主存储器25a和25b中的数据;通过第二端口242a和242b从维护区域读取和向该维护区域写入数据,所述维护区域仅用于读取并写入仅由每个处理器所需的数据。高速缓冲存储器控制器23a或23b仅将写入到运行区域中的更新数据转送到另一处理器的高速缓冲存储器24a或24b。
当运行处理器20a的CPU 21a执行将数据写入到主存储器25a中的指令时,CPU 21a并非将数据直接写入到主存储器25a中,而是将数据仅写入到高速缓冲存储器24a中。由于高速缓冲存储器24a具有比主存储器25a小的容量,所以当高速缓冲存储器24a溢出时,将数据回写(复制回)到主存储器25a。
主存储器控制器26a通过主存储器控制器26b将回写到主存储器25a中的数据写入到备用处理器20b的主存储器25b中。ROM 27a和27b对由运行处理器20a和备用处理器20b执行的处理程序进行存储。所存储的程序用于执行相同处理,并且通过利用主存储器25a和25b来执行。
以下将对具有上述结构的双工系统的操作进行描述。运行处理器20a的CPU 21a根据存储在ROM 27a中的程序来执行预定处理。当CPU 21a向主存储器25a写入数据时,首先通过高速缓冲存储器控制器23a将待写入到主存储器25a中的更新数据写入到高速缓冲存储器24a中。
通过第一端口241a将向高速缓冲存储器24a写入更新数据执行为向运行区域写入更新数据。高速缓冲存储器控制器23a在提供将更新数据写入到高速缓冲存储器24a的运行区域的指令时,将该更新数据转送给备用处理器20b的高速缓冲存储器24b。备用处理器20b的高速缓冲存储器控制器23b通过高速缓冲存储器24b的第一端口241b将转送来的更新数据写入到运行区域。
通常,在备用处理器20b上运行有预定的维护程序。当CPU 21b通过执行该维护程序向主存储器25b写入数据时,与在运行处理器20a中一样,通过高速缓冲存储器控制器23b将待写入到主存储器25b中的更新数据写入到高速缓冲存储器24b中。通过第二端口242b将根据维护程序的更新数据写入到高速缓冲存储器24b的维护区域中。通过第一端口241b转送的更新数据未被写入到该维护区域中。因此,即使在已通过维护程序执行了向高速缓冲存储器24b的写入时,从运行处理器20a转送来的更新数据也可被写入到高速缓冲存储器24b的运行区域中,从而使得存储在运行处理器20a的高速缓冲存储器24a的运行区域中的内容与存储在备用处理器20b的高速缓冲存储器24b的运行区域中的内容彼此一致。
图3是示出在根据第一实施方式的双工系统中运行处理器20a的高速缓冲存储器控制器23a和备用处理器20b的高速缓冲存储器控制器23b的处理过程的流程图。高速缓冲存储器控制器23a从CPU 21a接收向高速缓冲存储器24a写入更新数据的指令(步骤S301)。高速缓冲存储器控制器23a通过第一端口241a向高速缓冲存储器24a的运行区域写入更新数据(步骤S302)。
另一方面,高速缓冲存储器控制器23a向备用处理器20b的高速缓冲存储器控制器23b转发该更新数据(步骤S303)。备用处理器20b的高速缓冲存储器控制器23b接收该更新数据(步骤S304),并通过第一端口241b将该更新数据写入到高速缓冲存储器24b的运行区域中(步骤S305)。
当运行处理器20a出现故障时,运行处理器20a的故障监测器22a向CPU 21a和21b提供复位指令,并向备用处理器20b的故障监测器22b发送表示发生故障的数据。在提供复位指令时,CPU 21a和21b将运行处理器20a切换为备用系统,并将备用处理器20b切换为运行系统。
在切换后,运行处理器20b(以前的备用系统)的故障监测器22b和备用处理器20a(以前的运行系统)的故障监测器22a向高速缓冲存储器控制器23a和23b发送表示包括故障监测器22b和22a的系统是运行系统还是备用系统的数据。由此,运行处理器20b(以前的备用系统)的高速缓冲存储器控制器23b将用于向高速缓冲存储器24b写入的端口从第二端口切换为第一端口。由此,将根据来自CPU 21b的指令对高速缓冲存储器24b的更新数据写入到高速缓冲存储器24b的运行区域中。
另一方面,备用处理器20a(以前的运行系统)的高速缓冲存储器控制器23a将用于向高速缓冲存储器24a写入的端口从第一端口切换为第二端口。由此,通过来自CPU 21a的指令将针对高速缓冲存储器24a的更新数据仅写入维护区域,所述维护区域是用于根据维护程序进行写入处理的区域。
在切换后,运行处理器20b(以前的备用系统)的CPU 21b执行将写入高速缓冲存储器24b中的更新数据刷新到主存储器25b中的处理,并再继续进行处理。
图4是示出在根据第一实施方式的双工系统中当运行处理器20a出现故障时备用处理器20b的高速缓冲存储器控制器23b的处理过程的流程图。备用处理器20b的高速缓冲存储器控制器23b从CPU 21b接收复位指令(步骤S401)。高速缓冲存储器控制器23b将可以访问高速缓冲存储器24b的端口从第二端口242b切换为第一端口241b(步骤S402)。
高速缓冲存储器控制器23b执行如下刷新处理,其中将存储在高速缓冲存储器24b的运行区域中的数据通过已切换到的第一端口241b强制地写入主存储器25b(步骤S403)。由此,已切换到的以前的备用系统20b的CPU 21b可利用与发生故障的运行处理器20a的高速缓冲存储器24a中的数据相同的数据来继续所述处理。
如上所述,根据第一实施方式,当运行处理器20a的高速缓冲存储器24a的内容被更新时,与将更新数据刷新到主存储器25a中并行地将更新数据本身转送到备用处理器20b的高速缓冲存储器24b中。因此,即使当由于发生故障而导致不能执行对运行处理器20a的高速缓冲存储器24a的刷新处理时,由于备用处理器20b的高速缓冲存储器24b中的内容与运行处理器20a的高速缓冲存储器24a中的内容彼此一致,所以通过利用设置在为再继续所述处理而切换到的以前的备用系统20b中的高速缓冲存储器24b的内容可以继续所述处理。
第二实施方式
由于根据第二实施方式的双工系统的结构类似于根据第一实施方式的双工系统,所以利用相同的参考标记来指示相同的部分,并且省略了其详细描述。第二实施方式与第一实施方式的不同之处在于,用于控制高速缓冲存储器的高速缓冲存储器控制器具有确定数据是否正常的功能。
运行处理器20a的CPU 21a根据存储在ROM 27a中的程序来执行预定处理。当CPU 21a向主存储器25a写入数据时,首先通过高速缓冲存储器控制器23a将待写入到主存储器25a中的更新数据写入到高速缓冲存储器24a中。
通过第一端口241a将向高速缓冲存储器24a写入更新数据执行为向运行区域写入更新数据。高速缓冲存储器控制器23a在提供向高速缓冲存储器24a的运行区域写入更新数据的指令时,确定待写入的更新数据是否正常。该用于确定更新数据是否正常的方法不受具体限制,并且可以是可借此检查数据的正确性的诸如奇偶校验检查或者ECC检查的任意方法。
高速缓冲存储器控制器23a仅当确定待写入的更新数据正常时才将更新数据转送到备用处理器20b的高速缓冲存储器24b。备用处理器20b的高速缓冲存储器控制器23b通过高速缓冲存储器24b的第一端口241b将转送来的更新数据写入到运行区域。
通常,在备用处理器20b上运行有预定的维护程序。当CPU 21b通过执行该维护程序向主存储器25b写入数据时,与在运行处理器20a中一样,通过高速缓冲存储器控制器23b将待写入到主存储器25b中的更新数据写入到高速缓冲存储器24b中。通过第二端口242b将基于维护程序的更新数据写入到高速缓冲存储器24b的维护区域中。通过第一端口241b转送的更新数据未被写入该维护区域中。因此,即使在已通过维护程序执行了向高速缓冲存储器24b的写入时,从运行处理器20a转送的更新数据也可写入到高速缓冲存储器24b的运行区域中,从而使得存储在运行处理器20a的高速缓冲存储器24a的运行区域的内容与备用处理器20b的高速缓冲存储器24b的运行区域中的内容彼此一致。
图5是在根据第二实施方式的双工系统中运行处理器20a的高速缓冲存储器控制器23a和备用处理器20b的高速缓冲存储器控制器23b的处理过程的流程图。高速缓冲存储器控制器23a从CPU 21a接收到向高速缓冲存储器24a写入更新数据的指令(步骤S501)。高速缓冲存储器控制器23a通过第一端口241a向高速缓冲存储器24a的运行区域写入更新数据(步骤S502)。
另一方面,高速缓冲存储器控制器23a对该更新数据执行奇偶校验检查(步骤S503),并确定该更新数据是否正常(步骤S504)。当确定该更新数据不正常时(步骤S504:否),高速缓冲存储器控制器23a不向备用处理器20b转送该更新数据,而是结束该处理。
当确定该更新数据正常时(步骤S504:是),高速缓冲存储器控制器23a向备用处理器20b的高速缓冲存储器控制器23b转送该更新数据(步骤S505)。备用处理器20b的高速缓冲存储器控制器23b接收该更新数据(步骤S506),并将该更新数据通过第一端口241b写入到高速缓冲存储器24b的运行区域中(步骤S507)。
当运行处理器20a出现故障时用于切换该系统的方法与第一实施方式类似。即,运行处理器20a的故障监测器22a向CPU 21a和21b两者提供复位指令,并向备用处理器20b的故障监测器22b发送表示发生故障的数据。在提供复位指令时,CPU 21a和21b将运行处理器20a切换为备用系统,并将备用处理器20b切换为运行系统。
在切换后,运行处理器20b(以前的备用系统)的故障监测器22b和备用处理器20a(以前的运行系统)的故障监测器22a向高速缓冲存储器控制器23a和23b发送表示包括故障监测器22b和22a的系统是运行系统还是备用系统的数据。由此,运行处理器20b(以前的备用系统)的高速缓冲存储器控制器23b将用于向高速缓冲存储器24b写入的端口从第二端口切换为第一端口。由此,将根据来自CPU 21b的指令对高速缓冲存储器24b的更新数据写入到高速缓冲存储器24b的运行区域中。
另一方面,备用处理器20a(以前的运行系统)的高速缓冲存储器控制器23a将用于向高速缓冲存储器24a写入的端口从第一端口切换为第二端口。由此,将根据来自CPU 21a的指令对高速缓冲存储器24a的更新数据仅写入维护区域,所述维护区域是用于根据维护程序进行写入的区域。
在切换后,运行处理器20b(以前的备用系统)的CPU 21b执行将写入高速缓冲存储器24b中的更新数据刷新到主存储器25b中的处理,并再继续所述处理。
如上所述,根据第二实施方式,仅当写入到运行处理器20a的高速缓冲存储器24a中的内容是正常数据时,才可将该数据转送给备用处理器20b的高速缓冲存储器24b,从而可以防止在处理器切换后由于错误数据的转送而导致不能再继续所述处理。
Claims (6)
1.一种双工系统,所述双工系统包括:
运行处理器,其主要执行计算;和
备用处理器,其在所述运行处理器发生故障时执行计算;其中
所述运行处理器和所述备用处理器分别包括:
主存储器;
存储器控制器,其对所述主存储器的操作进行控制;
高速缓冲存储器,其具有多个端口,通过所述多个端口可以同时读取并写入数据;
高速缓冲存储器控制器,其对通过所述多个端口读取和写入的数据进行中继,并对从所述高速缓冲存储器读取数据和向所述高速缓冲存储器写入数据进行控制;
故障监测器,其对包括该故障监测器的处理器中发生故障进行监测,并且当包括该故障监测器的处理器中发生故障时,向另一处理器通知发生故障,并且
所述运行处理器的所述高速缓冲存储器控制器还包括用于在对待写入到所述运行处理器的所述高速缓冲存储器中的数据进行中继时,将所述数据转送到所述备用处理器的所述高速缓冲存储器控制器的装置;
所述备用处理器的所述高速缓冲存储器控制器还包括:
用于接收从所述运行处理器的所述高速缓冲存储器控制器转送来的数据的装置;
用于通过使用所述多个端口中的一个将所接收的数据写入到所述备用处理器的所述高速缓冲存储器中的装置;以及
用于通过使用与用于写入所接收的数据的端口不同的端口,将由包括所述备用处理器的所述高速缓冲存储器控制器的处理器产生的数据写入到所述备用处理器的所述高速缓冲存储器中的装置;其中
当所述故障监测器确定在所述运行处理器中已发生故障时,执行在所述运行处理器与所述备用处理器之间的切换。
2.根据权利要求1所述的双工系统,其中,所述运行处理器的所述高速缓冲存储器控制器还包括用于确定待写入到所述运行处理器的所述高速缓冲存储器中的数据是否正常的装置;其中
当确定所述数据正常时,将该数据写入到所述运行处理器的所述高速缓冲存储器中,并将该数据转送到所述备用处理器的所述高速缓冲存储器控制器。
3.根据权利要求1所述的双工系统,其中,所述运行处理器的所述高速缓冲存储器控制器还包括用于在因写入到所述运行处理器的所述高速缓冲存储器中的数据而发生溢出时,将已写入所述高速缓冲存储器中的数据转送到所述运行处理器的所述主存储器控制器的装置;
所述运行处理器的所述主存储器控制器还包括用于将从所述运行处理器的所述高速缓冲存储器控制器接收的数据写入到所述运行处理器的所述主存储器中,并且将所述数据转送到所述备用处理器的所述主存储器控制器的装置;并且
所述备用处理器的所述主存储器控制器还包括用于将所接收的数据写入到所述备用处理器的所述主存储器中的装置。
4.一种处理器切换方法,所述处理器切换方法用于在主要执行计算的运行处理器与当所述运行处理器中发生故障时执行计算的备用处理器之间执行切换,所述处理器切换方法包括以下步骤:
当通过所述运行处理器的高速缓冲存储器控制器对数据进行中继时,将待写入到所述运行处理器的高速缓冲存储器中的数据转送到所述备用处理器的高速缓冲存储器控制器;
通过所述备用处理器的所述高速缓冲存储器控制器来接收所转送的数据;
通过使用所述备用处理器的高速缓冲存储器所具有的多个端口中的一个,来将所接收的数据写入到所述备用处理器的所述高速缓冲存储器中;
通过使用与用于写入所接收的数据的端口不同的端口,将所述备用处理器产生的数据写入到所述高速缓冲存储器中;
确定在所述运行处理器中是否发生故障;以及
当确定在所述运行处理器中已发生故障时,执行在所述运行处理器与所述备用处理器之间的切换。
5.根据权利要求4所述的处理器切换方法,所述处理器切换方法还包括以下步骤:
确定待写入到所述运行处理器的所述高速缓冲存储器中的数据是否正常;以及
当确定所述数据正常时,将该数据写入到所述高速缓冲存储器中,并且将该数据转送到所述备用处理器的所述高速缓冲存储器控制器。
6.根据权利要求4所述的处理器切换方法,所述处理器切换方法还包括以下步骤:
当因写入到所述运行处理器的所述高速缓冲存储器中的数据而发生溢出时,将已写入到所述高速缓冲存储器中的数据转送到所述运行处理器的所述主存储器控制器;
将转送到所述主存储器控制器的数据写入到所述运行处理器的所述主存储器中,并将所述数据转送到所述备用处理器的所述主存储器控制器;以及
将转送到所述主存储器控制器的数据写入到所述备用处理器的所述主存储器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006218898A JP2008046685A (ja) | 2006-08-10 | 2006-08-10 | 二重化システム及び系切り換え方法 |
JP2006218898 | 2006-08-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101122877A true CN101122877A (zh) | 2008-02-13 |
Family
ID=38704946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710140376.2A Pending CN101122877A (zh) | 2006-08-10 | 2007-08-10 | 双工系统和处理器切换方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20080040552A1 (zh) |
EP (1) | EP1887471A3 (zh) |
JP (1) | JP2008046685A (zh) |
CN (1) | CN101122877A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984490A (zh) * | 2012-12-28 | 2013-03-20 | 浙江宇视科技有限公司 | 一种网络视频录像机 |
CN104008579A (zh) * | 2014-04-28 | 2014-08-27 | 北京交大思诺科技有限公司 | 高可靠不间断的数据记录方法及atp记录器 |
CN104380003A (zh) * | 2012-06-29 | 2015-02-25 | 大金工业株式会社 | 集中控制器 |
CN112731859A (zh) * | 2020-11-24 | 2021-04-30 | 江苏方天电力技术有限公司 | 一种cems环保数据传输系统的监测方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4892746B2 (ja) * | 2008-03-28 | 2012-03-07 | エヌイーシーコンピュータテクノ株式会社 | 分散共有メモリ型マルチプロセッサシステム及びプレーンデグレード方法 |
TWI413984B (zh) * | 2008-10-16 | 2013-11-01 | Silicon Motion Inc | 快閃記憶體裝置以及資料更新方法 |
JP5760556B2 (ja) | 2011-03-18 | 2015-08-12 | 富士通株式会社 | ストレージ装置、制御装置およびストレージ装置制御方法 |
US8689044B2 (en) * | 2011-11-16 | 2014-04-01 | Hewlett-Packard Development Company, L.P. | SAS host controller cache tracking |
US8694826B2 (en) * | 2012-02-29 | 2014-04-08 | Hewlett-Packard Development Company, L.P. | SAS host cache control |
CN102722916A (zh) * | 2012-05-23 | 2012-10-10 | 南京智达康无线通信科技股份有限公司 | 一种接入控制器用故障信息记录方法及故障管理系统 |
JP5949642B2 (ja) * | 2013-04-05 | 2016-07-13 | 富士ゼロックス株式会社 | 情報処理装置およびプログラム |
US9697124B2 (en) * | 2015-01-13 | 2017-07-04 | Qualcomm Incorporated | Systems and methods for providing dynamic cache extension in a multi-cluster heterogeneous processor architecture |
JP6911591B2 (ja) * | 2017-07-07 | 2021-07-28 | 富士通株式会社 | 情報処理装置、制御装置および情報処理装置の制御方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2514208B2 (ja) * | 1987-07-15 | 1996-07-10 | 富士通株式会社 | ホットスタンドバイメモリ−コピ−方式 |
JPH0667977A (ja) * | 1992-08-05 | 1994-03-11 | Nec Corp | 障害系メモリデータ転送制御方式 |
JPH06149677A (ja) * | 1992-10-31 | 1994-05-31 | Nec Corp | キャッシュメモリシステム |
US5761705A (en) * | 1996-04-04 | 1998-06-02 | Symbios, Inc. | Methods and structure for maintaining cache consistency in a RAID controller having redundant caches |
US5896492A (en) * | 1996-10-28 | 1999-04-20 | Sun Microsystems, Inc. | Maintaining data coherency between a primary memory controller and a backup memory controller |
US6195729B1 (en) * | 1998-02-17 | 2001-02-27 | International Business Machines Corporation | Deallocation with cache update protocol (L2 evictions) |
JP3298504B2 (ja) * | 1998-05-13 | 2002-07-02 | 日本電気株式会社 | メモリ制御装置 |
JP3987241B2 (ja) * | 1999-07-29 | 2007-10-03 | 株式会社東芝 | 系間情報通信システム |
JP2001092682A (ja) * | 1999-09-24 | 2001-04-06 | Fujitsu Ltd | キャッシュシステム及び二重化システム |
US6681339B2 (en) * | 2001-01-16 | 2004-01-20 | International Business Machines Corporation | System and method for efficient failover/failback techniques for fault-tolerant data storage system |
US7080197B2 (en) * | 2002-04-18 | 2006-07-18 | Lsi Logic Corporation | System and method of cache management for storage controllers |
US7293196B2 (en) * | 2002-05-08 | 2007-11-06 | Xiotech Corporation | Method, apparatus, and system for preserving cache data of redundant storage controllers |
US7162587B2 (en) * | 2002-05-08 | 2007-01-09 | Hiken Michael S | Method and apparatus for recovering redundant cache data of a failed controller and reestablishing redundancy |
US7254676B2 (en) * | 2002-11-15 | 2007-08-07 | Intel Corporation | Processor cache memory as RAM for execution of boot code |
US6941396B1 (en) * | 2003-02-19 | 2005-09-06 | Istor Networks, Inc. | Storage controller redundancy using bi-directional reflective memory channel |
US7117310B2 (en) * | 2004-02-18 | 2006-10-03 | Lsi Logic Corporation | Systems and methods for cache synchronization between redundant storage controllers |
JP4673584B2 (ja) * | 2004-07-29 | 2011-04-20 | 富士通株式会社 | キャッシュメモリ装置、演算処理装置及びキャッシュメモリ装置の制御方法 |
JP4336848B2 (ja) * | 2004-11-10 | 2009-09-30 | 日本電気株式会社 | マルチポートキャッシュメモリ及びマルチポートキャッシュメモリのアクセス制御方式 |
US7596738B2 (en) * | 2004-11-17 | 2009-09-29 | Sun Microsystems, Inc. | Method and apparatus for classifying memory errors |
US7337280B2 (en) * | 2005-02-10 | 2008-02-26 | International Business Machines Corporation | Data processing system and method for efficient L3 cache directory management |
-
2006
- 2006-08-10 JP JP2006218898A patent/JP2008046685A/ja active Pending
-
2007
- 2007-08-01 US US11/832,365 patent/US20080040552A1/en not_active Abandoned
- 2007-08-02 EP EP07015192A patent/EP1887471A3/en not_active Withdrawn
- 2007-08-10 CN CN200710140376.2A patent/CN101122877A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104380003A (zh) * | 2012-06-29 | 2015-02-25 | 大金工业株式会社 | 集中控制器 |
CN104380003B (zh) * | 2012-06-29 | 2017-06-16 | 大金工业株式会社 | 集中控制器 |
CN102984490A (zh) * | 2012-12-28 | 2013-03-20 | 浙江宇视科技有限公司 | 一种网络视频录像机 |
CN102984490B (zh) * | 2012-12-28 | 2015-11-25 | 浙江宇视科技有限公司 | 一种网络视频录像机 |
CN104008579A (zh) * | 2014-04-28 | 2014-08-27 | 北京交大思诺科技有限公司 | 高可靠不间断的数据记录方法及atp记录器 |
CN112731859A (zh) * | 2020-11-24 | 2021-04-30 | 江苏方天电力技术有限公司 | 一种cems环保数据传输系统的监测方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1887471A2 (en) | 2008-02-13 |
US20080040552A1 (en) | 2008-02-14 |
JP2008046685A (ja) | 2008-02-28 |
EP1887471A3 (en) | 2008-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101122877A (zh) | 双工系统和处理器切换方法 | |
US8504765B2 (en) | Method of improving efficiency of capacity of volume used for copy function and apparatus thereof | |
US8127097B2 (en) | Dual writing device and its control method | |
US8255649B2 (en) | Remote copy control method and system in storage cluster environment | |
US7454533B2 (en) | Redundant path control apparatus and redundant path control method | |
US20060282638A1 (en) | Storage device, configuration information management method and program | |
US6654880B1 (en) | Method and apparatus for reducing system down time by restarting system using a primary memory before dumping contents of a standby memory to external storage | |
JP4462697B2 (ja) | 記憶制御装置 | |
JP2710195B2 (ja) | 記憶装置コントローラ | |
JP5287974B2 (ja) | 演算処理システム、再同期方法、およびファームプログラム | |
WO2007099606A1 (ja) | プロセサ制御方法 | |
JP2006260141A (ja) | 記憶システムの制御方法、記憶システム、記憶制御装置、記憶システムの制御プログラム、情報処理システム | |
JP2007206949A (ja) | ディスクアレイ装置、ディスクアレイ装置の制御方法、ディスクアレイ装置の制御プログラム | |
JP4893731B2 (ja) | 通信制御装置 | |
JP2008226111A (ja) | 2重化コントローラシステム、その稼動系コントローラ | |
JP2009199540A (ja) | ストレージ装置とシステムと方法並びにプログラム | |
JP2006053713A (ja) | 二重化制御装置と二重化制御方法 | |
JPH10133926A (ja) | ミラー化ディスク復旧方法と復旧システム | |
US9311010B2 (en) | Disk array unit, and method and program for controlling power source in disk array unit | |
JPH0534877B2 (zh) | ||
JP2000347758A (ja) | 情報処理装置 | |
JPS5917467B2 (ja) | 制御用計算機のバツクアツプ方式 | |
JPH04360242A (ja) | 二重化システムの系切替装置およびその方法 | |
JP3234029B2 (ja) | 半導体記憶装置 | |
JP2008217811A (ja) | 不揮発メモリを使用したディスク制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |