JP2009175879A - Duplex system and memory copy method - Google Patents

Duplex system and memory copy method Download PDF

Info

Publication number
JP2009175879A
JP2009175879A JP2008011847A JP2008011847A JP2009175879A JP 2009175879 A JP2009175879 A JP 2009175879A JP 2008011847 A JP2008011847 A JP 2008011847A JP 2008011847 A JP2008011847 A JP 2008011847A JP 2009175879 A JP2009175879 A JP 2009175879A
Authority
JP
Japan
Prior art keywords
address
write
data
memory
copy method
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.)
Granted
Application number
JP2008011847A
Other languages
Japanese (ja)
Other versions
JP5321782B2 (en
Inventor
Masao Murai
政夫 村井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008011847A priority Critical patent/JP5321782B2/en
Publication of JP2009175879A publication Critical patent/JP2009175879A/en
Application granted granted Critical
Publication of JP5321782B2 publication Critical patent/JP5321782B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a duplex system for matching the contents of a main storage device under simple configuration and control and its memory copy method. <P>SOLUTION: This duplex system is characterized by providing write destination changing parts 113, 120 and 230 for performing write to a preliminary system main memory 240 without performing write to a current system main memory 140 in a write through operation. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、二重化システムに関し、特に、現用系・予備系切り替え時に処理継続を可能にするためのメモリコピー方法に関する。   The present invention relates to a duplex system, and more particularly to a memory copy method for enabling processing to be continued when switching between an active system and a standby system.

通信サービスに用いられる通信装置は高い信頼性が求められ、一瞬でも停止することは許されない。そのため、この種の通信装置では冗長構成が採用される。   A communication device used for a communication service is required to have high reliability and cannot be stopped even for a moment. Therefore, a redundant configuration is adopted in this type of communication apparatus.

冗長構成を採用する二重化システムにおいて、現用系のデータ処理モジュールから予備系のデータ処理モジュールへの切り換えを行う前後で、処理を継続するには、現用系モジュールの主記憶装置及びキャッシュメモリの内容と予備系モジュールの主記憶装置及びキャッシュメモリの内容とが一致していなければならない。   In a redundant system employing a redundant configuration, in order to continue the process before and after switching from the active data processing module to the standby data processing module, the contents of the main storage device and cache memory of the active system module The contents of the main memory and the cache memory of the standby module must match.

これら主記憶装置及びキャッシュメモリの内容を互いに一致させておく方法として、現用系モジュールの主記憶装置にデータが書き込まれるたびに、予備系モジュールの主記憶装置へも同じデータを書き込む方法がある(例えば、特許文献1又は2参照)。   As a method of making the contents of the main storage device and the cache memory coincide with each other, there is a method of writing the same data to the main storage device of the standby module each time data is written to the main storage device of the active module ( For example, see Patent Document 1 or 2.)

特開昭64−19438号公報JP-A 64-19438 特開2001−92682号公報JP 2001-92682 A

現用系モジュールの主記憶装置にデータが書き込まれるたびに、予備系モジュールの主記憶装置へも同じデータを書き込む方法は、処理に時間がかかるという問題点がある。上記特許文献1には、この問題点を解決するための方法も記載されているが、FIFOを設けなければならず、構成及び制御が複雑になるという別の問題点がある。   The method of writing the same data to the main storage device of the standby module every time data is written to the main storage device of the active module has a problem that it takes time. Although the method for solving this problem is also described in Patent Document 1, there is another problem that a FIFO must be provided and the configuration and control become complicated.

そこで、本発明は、簡易な構成及び制御で主記憶装置の内容を一致させることができる二重化システム及びそのメモリコピー方法を提供することを目的とする。   SUMMARY OF THE INVENTION An object of the present invention is to provide a duplex system and a memory copy method thereof that can match the contents of a main storage device with a simple configuration and control.

本発明の一形態によれば、二重化システムにおいて、ライトスルー動作の際に、現用系の主記憶装置への書き込みを行うことなく、予備系の主記憶装置に対して書き込みを行う書き込み先変更手段を設けたことを特徴とする二重化システムが得られる。   According to one aspect of the present invention, in the duplex system, the write destination changing means for writing to the standby main storage device without writing to the active main storage device during the write-through operation. A duplex system characterized in that is provided.

また、本発明の他の形態によれば、二重化システムのメモリコピー方法において、ライトスルー動作の際に、現用系の主記憶装置への書き込みを行うことなく、予備系の主記憶装置に対して書き込みを行うようにしたことを特徴とするメモリコピー方法が得られる。   According to another aspect of the present invention, in a memory copy method of a duplex system, a write-through operation can be performed on a standby main storage device without writing to the active main storage device. A memory copy method characterized in that writing is performed can be obtained.

本発明によれば、アドレス変換部を設け、ライトスルー動作の際に、現用系の主記憶装置ではなく予備系の主記憶装置へ書き込みを行うようにしたことで、簡易な構成及び制御で、短時間で現用系と予備系の主記憶装置の内容を一致させることができる。   According to the present invention, the address conversion unit is provided, and in the write-through operation, writing is performed to the standby main storage device instead of the active main storage device. The contents of the active and standby main storage devices can be matched in a short time.

以下、図面を参照して本発明の実施の形態について詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

まず、本発明の原理について説明する。   First, the principle of the present invention will be described.

一般に、コンピュータシステムでは、処理部とメインメモリ(主記憶装置)との間に、これらの動作速度の差を補うキャッシュメモリが設けられる。データの書き込みは、データキャッシュメモリに対して行われ、同時にあるいは後に、データキャッシュメモリに書き込まれたデータがメインメモリに書き込まれる。データキャッシュメモリへデータを書き込むと同時にメインメモリへそのデータを書き出す方式は、ライトスルーと呼ばれる。   Generally, in a computer system, a cache memory that compensates for the difference in operating speed is provided between a processing unit and a main memory (main storage device). Data is written to the data cache memory, and simultaneously or later, the data written to the data cache memory is written to the main memory. A method of writing data to the main memory at the same time as writing data to the data cache memory is called write-through.

二重化システムにおいても、現用系及び予備系の各モジュールにおいて同様の構成が採用される。そして、各モジュールごとに、処理部がメインメモリに対してデータをライト、リードするとき、CPU内のデータキャッシュメモリを利用する。   In the redundant system, the same configuration is adopted in each of the active and standby modules. For each module, the data cache memory in the CPU is used when the processing unit writes and reads data to and from the main memory.

通常、データキャッシュメモリとメインメモリとの間のコヒーレンスを保つためのデータキャッシュメモリの書き戻しやライトスルーは、データキャッシュメモリのデータをメインメモリの該当番地にライトすることにより行われる。   Usually, data cache memory write-back or write-through for maintaining coherence between the data cache memory and the main memory is performed by writing data in the data cache memory to a corresponding address in the main memory.

これに対し、本発明では、ライトスルーの場合のみ、現用系のデータキャッシュメモリに書き込んだデータを現用系のメインメモリの該当番地にライトせず、待機側の(予備系)モジュールのメインメモリの該当番地へライトする。現用系のデータキャッシュメモリとメインメモリとの間のコヒーレンスは、データキャッシュメモリの書き戻しにより実現される。これにより、現用系のメインメモリの内容を予備系のメインメモリへコピーする動作を行うことなく、それらの記憶内容を一致させることができる。   In contrast, in the present invention, only in the case of write-through, the data written in the active data cache memory is not written to the corresponding address of the active main memory, and the main memory of the standby (standby) module is not written. Write to the corresponding address. Coherence between the active data cache memory and the main memory is realized by writing back the data cache memory. As a result, the stored contents can be matched without performing the operation of copying the contents of the active main memory to the standby main memory.

このような動作を実現するため、本発明の二重化システムは、ライトスルーされるデータをPCI等の外部バス側に送出し、予備モジュール側にデータを渡す書き込み先変更部を有している。この書き込み先変更部は、ライトスルーを検出したとき、CPUから外部へ出力されるアドレス値をPCI等の外部バス側を示すアドレス値に変更するアドレス変更部、変更されたアドレスを元に戻すPCIバス等の外部バスに接続される外部バスインタフェース、アドレス値に応じてアドレス信号を振り分けるアドレスデコーダを含む。   In order to realize such an operation, the duplex system of the present invention has a write destination changing unit that sends write-through data to the external bus side such as PCI and passes the data to the spare module side. The write destination changing unit, when detecting a write-through, an address changing unit that changes an address value output from the CPU to the outside to an address value indicating the external bus side such as PCI, and a PCI that restores the changed address to the original. An external bus interface connected to an external bus such as a bus, and an address decoder that distributes address signals according to address values are included.

以上のように、本発明の二重化システムでは、ライトスルー動作を利用することにより、コピー動作と同じ結果を得ることができ、コピー専用の動作が不要となる。   As described above, in the duplex system of the present invention, by using the write-through operation, the same result as the copy operation can be obtained, and the copy-dedicated operation becomes unnecessary.

本発明は、冗長構成のデータ処理モジュールで、切り替え時において、無瞬断で切り替え、及び処理の継続性が求められる通信システムにおける冗長構成のデータ処理モジュールに適用される。   The present invention is applied to a redundant data processing module in a communication system that is a redundant data processing module and requires switching without interruption and switching process continuity.

次に、本発明の一実施の形態に係る二重化システムついて説明する。   Next, a duplex system according to an embodiment of the present invention will be described.

図1の二重化システムは、一対の同一構成のモジュール100及び200を有し、一方が現用系(運用中)、他方が予備系(待機中)として用いられる冗長構成になっている。   The duplex system of FIG. 1 has a pair of identically configured modules 100 and 200, and has a redundant configuration in which one is used as an active system (in operation) and the other is used as a standby system (standby).

モジュール100は、CPUデバイス110、CPUデバイス110から出力されたアドレス信号をデコードするアドレスデコーダ120、アドレスデコーダ120で指定されるメインメモリ140、及びPCIインタフェース130を含む。   The module 100 includes a CPU device 110, an address decoder 120 that decodes an address signal output from the CPU device 110, a main memory 140 specified by the address decoder 120, and a PCI interface 130.

また、CPUデバイス110は、処理部111とデータキャッシュメモリ112、及びデータキャッシュメモリ112から出力されたアドレス信号を変換するアドレス変換部113を含む。なおアドレス変換部113はライトスルーのときのみアドレス変換を行い、それ以外ではアドレス変換を行わない。   The CPU device 110 also includes a processing unit 111, a data cache memory 112, and an address conversion unit 113 that converts an address signal output from the data cache memory 112. The address conversion unit 113 performs address conversion only at the time of write-through, and does not perform address conversion at other times.

同様に、モジュール200は、CPUデバイス210、CPUデバイス210から出たアドレスをデコードするアドレスデコーダ220、アドレスデコーダ220で指定されるメインメモリ240、及びPCIインタフェース230を含む。   Similarly, the module 200 includes a CPU device 210, an address decoder 220 that decodes an address output from the CPU device 210, a main memory 240 specified by the address decoder 220, and a PCI interface 230.

また、CPUデバイス210は、処理部211とデータキャッシュメモリ212、及びデータキャッシュメモリ212から出力されたアドレス信号を変換するアドレス変換部213を含む。なおアドレス変換部213はライトスルーのときのみアドレス変換を行い、それ以外ではアドレス変換を行わない。   The CPU device 210 includes a processing unit 211, a data cache memory 212, and an address conversion unit 213 that converts an address signal output from the data cache memory 212. The address conversion unit 213 performs address conversion only at the time of write-through, and does not perform address conversion at other times.

モジュール100とモジュール200は、PCIインタフェース130,230を介してPCIバスで接続されており、相互にデータの転送を行うことができる。   The module 100 and the module 200 are connected by a PCI bus via the PCI interfaces 130 and 230, and can transfer data to each other.

次に、図1の二重化システムの動作について、図2乃至図8をも参照して、詳細に説明する。なお、以下では、その説明を簡単にするため、データキャッシュメモリ112及び212が、夫々二つのアドレス・データの組を格納することができるエリアを有するものとする。また、アドレスやデータの具体的な数値は、便宜的なものに過ぎない。   Next, the operation of the duplex system in FIG. 1 will be described in detail with reference to FIGS. In the following, in order to simplify the description, it is assumed that the data cache memories 112 and 212 each have an area that can store two sets of addresses and data. In addition, specific numerical values of addresses and data are merely for convenience.

まず、図1の状態では、モジュール100が運用中で、モジュール200が待機中である。この状態で、CPUデバイス110の処理部111から、“03500”番地に“5482”のデータをライトする要求が出たとする。   First, in the state of FIG. 1, the module 100 is in operation and the module 200 is on standby. In this state, it is assumed that the processing unit 111 of the CPU device 110 issues a request to write the data “5482” at the address “03500”.

図1に示すように、データキャッシュメモリ112は、処理部111からの要求を受けて内部を検索し、“03500”番地が存在することを見つけ、キャッシュヒットと判断する。そして、データキャッシュメモリ112は、“03500”番地に“5482”のデータをライトする。同時に、データキャッシュメモリ112は、ライトスルー動作として、“03500”番地に“5482”のデータをライトする要求をアドレス変換部113へ渡す。   As shown in FIG. 1, the data cache memory 112 searches the inside upon receiving a request from the processing unit 111, finds that the address “03500” exists, and determines that it is a cache hit. Then, the data cache memory 112 writes the data “5482” at the address “03500”. At the same time, the data cache memory 112 passes a request to write the data “5482” to the address “03500” to the address conversion unit 113 as a write-through operation.

アドレス変換部113は、ライトスルーのときアドレス変換動作を行い、それ以外のときアドレス変換動作を行わない。即ち、アドレス変換部113は、ライトスルーのときのみアドレス変換手段として動作する。アドレス変換動作は、例えばメインメモリ140,240のアドレスが0〜9999のとき、変換後のアドレスがその範囲外の値となるように行われる。ここでは、入力されたアドレスに対して+40000の処理を行うものとする。この結果、ライトスルー動作として、“03500”番地に“5482”のデータをライトする要求を受けた、アドレス変換部113は、“43500”番地に“5482”のデータをライトする要求をアドレスデコーダ120に出力する。   The address conversion unit 113 performs an address conversion operation at the time of write-through, and does not perform an address conversion operation at other times. That is, the address conversion unit 113 operates as an address conversion unit only during write-through. The address conversion operation is performed so that, for example, when the addresses of the main memories 140 and 240 are 0 to 9999, the converted address becomes a value outside the range. Here, it is assumed that +40000 processing is performed on the input address. As a result, as a write-through operation, the address conversion unit 113 that has received a request to write data “5482” to the address “03500” issues a request to write data “5482” to the address “43500”. Output to.

アドレスデコーダ120は、入力されたアドレスに応じて、メインメモリ140にアクセスし、あるいはPCIインタフェース130へその要求を引き渡す。即ち、アドレスデコーダ120は、振分手段として機能する。ここでは、入力されたアドレスが0〜9999のとき、メインメモリ140にアクセスし、アドレス40000〜49999のとき、PCIインタフェース130へそのアクセス要求を引き渡す。   The address decoder 120 accesses the main memory 140 or passes the request to the PCI interface 130 according to the input address. That is, the address decoder 120 functions as a distribution unit. Here, when the input address is 0 to 9999, the main memory 140 is accessed, and when the address is 40000 to 49999, the access request is delivered to the PCI interface 130.

PCIインタフェース130は、入力されたアクセス要求をPCIバスを介してモジュール200のPCIインタフェース230へ送る。   The PCI interface 130 sends the input access request to the PCI interface 230 of the module 200 via the PCI bus.

PCIインタフェース230は、モジュール100からのアクセス要求に含まれるアドレスを内部アドレスに変換する。即ち、PCIインタフェース230は、アドレス逆変換手段として機能する。ここでは、入力されたアドレスに対して−40000の処理を行う。そして、PCIインタフェース230は、その結果をアドレスデコーダ220へ出力する。その結果、モジュール100の発した“03500”番地に“5482”のデータをライトするというアクセス要求が、モジュール200のアドレスデコーダ220に入力される。   The PCI interface 230 converts an address included in the access request from the module 100 into an internal address. That is, the PCI interface 230 functions as an address reverse conversion unit. Here, a process of -40000 is performed on the input address. Then, the PCI interface 230 outputs the result to the address decoder 220. As a result, an access request for writing “5482” data to the address “03500” issued by the module 100 is input to the address decoder 220 of the module 200.

アドレスデコーダ220は“03500”番地が、メインメモリ240向けの番地であると判断し、このアクセス要求をメインメモリ240に渡す。こうして、メインメモリ240の“03500”番地にデータ“5482”がライトされる。   The address decoder 220 determines that the address “03500” is an address for the main memory 240 and passes this access request to the main memory 240. In this way, data “5482” is written to address “03500” in the main memory 240.

以上のように、アドレス変換部113、アドレスデコーダ120、及びPCIインタフェース230が、書き込み先変更手段として機能する。   As described above, the address conversion unit 113, the address decoder 120, and the PCI interface 230 function as a write destination changing unit.

次に、CPUデバイス110の処理部111から、“03200”番地に“1357”のデータをライトする要求が出たとする。   Next, it is assumed that the processing unit 111 of the CPU device 110 issues a request to write data “1357” at address “03200”.

図2に示すように、データキャッシュメモリ112は、処理部111からの要求を受けて内部を検索し、“03200”番地が存在することを見つけ、キャッシュヒットと判断する。そして、データキャッシュメモリ112は、“03200”番地に“1357”のデータをライトする。同時に、データキャッシュメモリ112は、ライトスルー動作として、“03200”番地に“1357”のデータをライトする要求をアドレス変換部113へ渡す。   As shown in FIG. 2, the data cache memory 112 receives the request from the processing unit 111, searches the inside, finds that the address “03200” exists, and determines that it is a cache hit. Then, the data cache memory 112 writes the data “1357” at the address “03200”. At the same time, the data cache memory 112 passes a request to write the data “1357” to the address “03200” to the address conversion unit 113 as a write-through operation.

アドレス変換部113は、入力されたアドレスに対して+40000の処理を行い、“43200”番地に“1357”のデータをライトする要求をアドレスデコーダ120に出力する。   The address conversion unit 113 performs a process of +40000 on the input address and outputs a request for writing the data “1357” to the address “43200” to the address decoder 120.

アドレスデコーダ120は、入力されたアドレスが“43200”番地なので、そのアクセス要求をPCIインタフェース130へ引き渡す。   Since the input address is “43200”, the address decoder 120 delivers the access request to the PCI interface 130.

PCIインタフェース130は、入力されたアクセス要求をPCIバスを介してモジュール200のPCIインタフェース230へ送る。   The PCI interface 130 sends the input access request to the PCI interface 230 of the module 200 via the PCI bus.

PCIインタフェース230は、モジュール100から入力されたアドレスに対して−40000の処理を行い、アドレスデコーダ220へ出力する。その結果、モジュール100の発した“03200”番地に“1357”のデータをライトするというアクセス要求が、モジュール200のアドレスデコーダ220に入力される。   The PCI interface 230 performs a process of −40000 on the address input from the module 100 and outputs the result to the address decoder 220. As a result, an access request to write “1357” data to the address “03200” issued by the module 100 is input to the address decoder 220 of the module 200.

アドレスデコーダ220は“03200”番地が、メインメモリ240向けの番地であると判断し、このアクセス要求をメインメモリ240に渡す。こうして、メインメモリ240の“03200”番地にデータ“1357”がライトされる。   The address decoder 220 determines that the address “03200” is an address for the main memory 240 and passes this access request to the main memory 240. Thus, the data “1357” is written to the address “03200” in the main memory 240.

図2の動作を終了した時点で、データキャッシュメモリ112は二つの格納エリアを使い切っている。この状態で、CPUデバイス110の処理部111から、“03800”番地に“1642”のデータをライトする要求が出たとする。   When the operation of FIG. 2 is completed, the data cache memory 112 has used up two storage areas. In this state, it is assumed that the processing unit 111 of the CPU device 110 issues a request to write data “1642” at address “03800”.

図3に示すように、データキャッシュメモリ112は、内部を検索して“03800”番地を探すが見つからないので、キャッシュミスかつキャッシュ空きなしと判断する。それからデータキャッシュメモリ112は、二つの格納エリアの一方のデータを、メインメモリ140の対応番地に書き戻し、格納エリアに空きを作る。このとき、処理部111及びデータキャッシュメモリ112は、キャッシュ書き戻し手段として機能する。   As shown in FIG. 3, the data cache memory 112 searches the inside for the address “03800” but cannot find it, but determines that there is a cache miss and no cache is available. Then, the data cache memory 112 writes back one of the data in the two storage areas to the corresponding address in the main memory 140 to make a space in the storage area. At this time, the processing unit 111 and the data cache memory 112 function as cache write-back means.

ライトスルー動作の場合とは異なり、書き戻し動作の際、アドレス変換部113はアドレス変換動作を行わない。つまり、“03500”番地に“5482”をライトするアクセス要求が、CPUデバイス110からアドレスデコーダに渡される。   Unlike the case of the write-through operation, the address conversion unit 113 does not perform the address conversion operation during the write-back operation. That is, an access request for writing “5482” to the address “03500” is passed from the CPU device 110 to the address decoder.

アドレスデコーダ120は、“03500”番地がメインメモリ140向けの番地であると判断し、このアクセス要求をメインメモリ140に渡す。その結果、メインメモリ140の“03500”番地にデータ“5482”がライトされる。こうして、データキャッシュメモリ112に空き領域が一つできる。また、メインメモリ140と240の“03500”番地のデータが一致する。   The address decoder 120 determines that the address “03500” is an address for the main memory 140 and passes this access request to the main memory 140. As a result, data “5482” is written to address “03500” in the main memory 140. Thus, one free area is created in the data cache memory 112. Further, the data at addresses “03500” in the main memories 140 and 240 match.

続いて、先にCPUデバイス110の処理部111から出された“03800”番地に“1642”のデータをライトする要求の処理が再開される。   Subsequently, the processing of the request to write the data “1642” to the address “03800” previously output from the processing unit 111 of the CPU device 110 is resumed.

図4に示すように、“03800”番地に“1642”のデータをライトする要求に応じて、キャッシュメモリ112の空き領域にアドレス“03800”とデータ“1642”が書き込まれる。同時にライトスルー動作でアドレス変換部113にアクセス要求が渡される。   As shown in FIG. 4, the address “03800” and the data “1642” are written in the free area of the cache memory 112 in response to a request to write the data “1642” to the address “03800”. At the same time, an access request is passed to the address conversion unit 113 by a write-through operation.

アドレス変換部113は、アドレスに対して+40000の処理を行う。これにより、CPUデバイス110からアドレス“43800”番地に“1642”をライトするアクセス要求がアドレスデコーダ120に渡される。   The address conversion unit 113 performs +40000 processing on the address. As a result, an access request for writing “1642” to the address “43800” is passed from the CPU device 110 to the address decoder 120.

アドレスデコーダ120は“43800”番地がPCIバス向けの番地と判断し、このアクセス要求をメインメモリ140に渡さず、PCIインタフェース130に渡す。   The address decoder 120 determines that the address “43800” is an address for the PCI bus, and passes this access request to the PCI interface 130 without passing it to the main memory 140.

PCIインタフェース130は、PCIバスを介して、待機中のモジュール200のPCIインタフェース230にこのアクセス要求を渡す。   The PCI interface 130 passes this access request to the PCI interface 230 of the waiting module 200 via the PCI bus.

PCIインタフェース230は、内部アドレス変換のために入力されたアドレスに対して−40000の処理を行い、アドレスデコーダ220に対して、アドレス“03800”番地にデータ“1642”をライトするアクセス要求として渡す。   The PCI interface 230 performs a process of −40000 on the address input for internal address conversion, and passes it to the address decoder 220 as an access request for writing data “1642” at address “03800”.

アドレスデコーダ220は、“03800”番地がメインメモリ240向けの番地と判断し、このアクセス要求をメインメモリ240に渡す。こうして、メインメモリ240の“03800”番地にデータ“1642”がライトされる。   The address decoder 220 determines that the address “03800” is an address for the main memory 240 and passes this access request to the main memory 240. Thus, the data “1642” is written to the address “03800” of the main memory 240.

次に、CPUデバイス110の処理部111から“03200”番地のリード要求が出たとする。この場合、図5に示すように、データキャッシュメモリ112が内部を検索し、キャッシュヒットと判断して、データキャッシュメモリ112の“03200”番地からデータ“1357”をリードする。このアクセスでは、メインメモリ140へのアクセスは行われず、データキャッシュメモリ112からのリードとなる。したがって、処理部111は特別な処理時間を要しない。   Next, it is assumed that a read request at address “03200” is issued from the processing unit 111 of the CPU device 110. In this case, as shown in FIG. 5, the data cache memory 112 searches the inside, determines that there is a cache hit, and reads data “1357” from address “03200” of the data cache memory 112. In this access, the main memory 140 is not accessed, and the data cache memory 112 is read. Therefore, the processing unit 111 does not require any special processing time.

次に、モジュール100,200間で、現用系−予備系の切り替えを行う場合の動作について説明する。   Next, the operation when switching between the active system and the standby system between the modules 100 and 200 will be described.

まず、図6に示すように、運用中のモジュール100が待機状態へと切り替えられる。   First, as shown in FIG. 6, the operating module 100 is switched to the standby state.

詳述すると、処理部111よりデータキャッシュメモリ112の記憶内容を全てメインメモリ140に書き戻すためのキャッシュ全書き戻し指示が出力される。   More specifically, the processing unit 111 outputs a cache full write-back instruction for writing back all the stored contents of the data cache memory 112 to the main memory 140.

データキャッシュメモリ112は、キャッシュ全書き戻し指示に応じて、記憶領域にある全てのデータをメインメモリ140に書き戻す処理を行う。このとき、処理部111とデータキャッシュメモリ112は、書き戻し手段として機能する。   The data cache memory 112 performs a process of writing back all data in the storage area to the main memory 140 in response to the cache full write back instruction. At this time, the processing unit 111 and the data cache memory 112 function as write-back means.

アドレス変換部113は、書き戻し動作なのでアドレス変換を行わず、データキャッシュメモリ112内のアドレスがそのままCPUデバイス112からアドレスデコーダ120に渡される。   The address conversion unit 113 does not perform address conversion because it is a write-back operation, and the address in the data cache memory 112 is passed from the CPU device 112 to the address decoder 120 as it is.

アドレスデコーダ120は、入力されるアドレスがメインメモリ140を示しているので、そのアクセス要求をメインメモリ140に渡す。メインメモリ140は、アクセス要求に応じて、書き戻しデータを対応するアドレスにライトする。   The address decoder 120 passes the access request to the main memory 140 because the input address indicates the main memory 140. The main memory 140 writes the write-back data to the corresponding address in response to the access request.

データキャッシュメモリ112の内容が全てメインメモリ140に書き戻されたとき、メインメモリ140とメインメモリ240の記憶内容は完全に一致する。しかも、データキャッシュメモリ112,212は、メインメモリ140,240に比べて容量が非常に少ないので、データキャッシュメモリ112,212のデータを全てを書き戻す時間は特に問題にならない。   When the entire contents of the data cache memory 112 are written back to the main memory 140, the stored contents of the main memory 140 and the main memory 240 are completely identical. In addition, since the data cache memories 112 and 212 have a very small capacity compared to the main memories 140 and 240, the time for rewriting all the data in the data cache memories 112 and 212 is not particularly problematic.

なお、モジュール200のメインメモリ240には、モジュール100のキャッシュ全書き戻しが行われる前であっても、正しいデータが格納されている。したがって、モジュール200は、いつでも運用動作への移行が可能である。しかしながら、モジュール200を運用中にしてしまうと、モジュール200でのモジュール200でのライトスルー動作によるメインメモリ140へのライトと、モジュール100のキャッシュ全書き戻し動作が競合する。それゆえ、モジュール200は、モジュール100のデータキャッシュメモリのキャッシュ全書き戻し動作が終わるまで、運用動作は行わない。   It should be noted that correct data is stored in the main memory 240 of the module 200 even before the cache 100 is completely written back. Therefore, the module 200 can be shifted to an operation operation at any time. However, if the module 200 is in operation, the writing to the main memory 140 by the write-through operation in the module 200 in the module 200 and the cache full write-back operation of the module 100 conflict. Therefore, the module 200 does not perform the operation operation until the cache full write-back operation of the data cache memory of the module 100 is completed.

モジュール100のキャッシュ全書き戻し動作が終了した後、モジュール200を運用中に変更されたとする。また、その後、CPUデバイス210の処理部211から“03250”番地に“3366”のデータをライトする要求が出力されたとする。   It is assumed that the module 200 is changed during operation after the cache full write-back operation of the module 100 is completed. After that, it is assumed that a request to write “3366” data to “03250” is output from the processing unit 211 of the CPU device 210.

図7に示すように、データキャッシュメモリ212は、“03250”番地を検索し、キャッシュヒットではないが、キャッシュに空きがあることを認識する。そして、データキャッシュメモリ212は、空き領域に“03250”番地とデータ“3366”とを互いに対応付けてライトする。同時に、データキャッシュメモリ212は、ライトスルー動作でアドレス変換部213にアクセス要求を渡す。   As shown in FIG. 7, the data cache memory 212 searches for the address “03250” and recognizes that there is an empty space in the cache although it is not a cache hit. Then, the data cache memory 212 writes the address “03250” and the data “3366” in association with each other in the free space. At the same time, the data cache memory 212 passes an access request to the address conversion unit 213 by a write-through operation.

アドレス変換部213は、入力されたアドレスに対して+40000の処理を行う。これにより、CPUデバイス210からアドレス“43250”番地に“3366”をライトするアクセス要求がアドレスデコーダ220に渡される。   The address conversion unit 213 performs +40000 processing on the input address. As a result, an access request for writing “3366” to the address “43250” is passed from the CPU device 210 to the address decoder 220.

アドレスデコーダ220は、“43250”番地がPCI向けの番地であると判断し、このアクセス要求をメインメモリ240に渡さず、PCIインタフェース230に渡す。   The address decoder 220 determines that the address “43250” is an address for PCI, and passes this access request to the PCI interface 230 without passing it to the main memory 240.

PCIインタフェース230は、待機中のモジュール100のPCIインタフェース130にこのアクセス要求を渡す。   The PCI interface 230 passes this access request to the PCI interface 130 of the waiting module 100.

PCIインタフェース130は、内部アドレス変換のために入力されたアドレスに対して−40000の処理を行う。そして、PCIインタフェース130は、アドレスデコーダ120に対して、アドレス“03250”番地に“3366”をライトするアクセスとして渡す。   The PCI interface 130 performs a process of −40000 on the address input for the internal address conversion. Then, the PCI interface 130 passes the address decoder 120 as an access for writing “3366” to the address “03250”.

アドレスデコーダ120は、“03250”番地がメインメモリ140向けの番地と判断し、このアクセスをメインメモリ140に渡す。メインメモリ140は、“03250”番地にデータ“3366”をライトする。   The address decoder 120 determines that the address “03250” is an address for the main memory 140 and passes this access to the main memory 140. The main memory 140 writes data “3366” at address “03250”.

次に、CPUデバイス210の処理部211から“03200”番地のリード要求が出されたとする。   Next, it is assumed that a read request at address “03200” is issued from the processing unit 211 of the CPU device 210.

図8に示すように、データキャッシュメモリ212は、内部を検索し、“03200”番地が存在しないので、キャッシュミスと判断する。そして、データキャッシュメモリ212は、メインメモリ240にアクセスするためリード要求をアドレス変換部213へ渡す。   As shown in FIG. 8, the data cache memory 212 searches the inside and determines that there is a cache miss because the address “03200” does not exist. Then, the data cache memory 212 passes a read request to the address conversion unit 213 to access the main memory 240.

このリード要求は、ライトスルー動作ではないので、アドレス変換部213はアドレス変換を行わない。その結果、CPUデバイス210から“03200”番地のリードアクセス要求がアドレスデコーダ220に渡される。   Since this read request is not a write-through operation, the address conversion unit 213 does not perform address conversion. As a result, a read access request at address “03200” is passed from the CPU device 210 to the address decoder 220.

アドレスデコーダ220は、“03200”番地がメインメモリ240向けの番地であると判断して、このアクセス要求をメインメモリ240に渡す。メインメモリ240は、“03200”番地に格納されたデータ“1357”をリードデータとして返す。   The address decoder 220 determines that the address “03200” is an address for the main memory 240 and passes this access request to the main memory 240. The main memory 240 returns the data “1357” stored at the address “03200” as read data.

リードデータ“1357”は処理部211に渡されると同時にデータキャッシュメモリ212にも書き込まれる。   The read data “1357” is transferred to the processing unit 211 and written to the data cache memory 212 at the same time.

以上説明したように、本実施の形態に係る二重化システムでは、データキャッシュメモリのライトスルー動作時のみライトデータのアドレスを変換することにより、運用中モジュールのライトデータがリアルタイムで待機中モジュールにコピーされる。これにより、モジュールの切り替え後に、これから運用中になるモジュールは直ちに運用可能状態になる。しかも運用中モジュールのデータライト時のデータコピー動作は処理能力に影響しない。つまり、この二重化システムでは、CPUのライト動作において、ライトのたびに別モジュールにライトデータのコピーをしているにもかかわらず、キャッシュ動作が可能であるため、メモリアクセス時間を犠牲にせず、データコピー動作を行うことができる。   As described above, in the duplex system according to the present embodiment, the write data of the operating module is copied to the waiting module in real time by converting the address of the write data only during the write-through operation of the data cache memory. The As a result, after the module is switched, the module that is in operation immediately becomes ready for operation. In addition, the data copy operation during data write of the operating module does not affect the processing capability. In other words, in this redundant system, in the write operation of the CPU, the cache operation is possible even though the write data is copied to another module for each write, so the memory access time is not sacrificed. A copy operation can be performed.

また、本実施の形態に係る二重化システムは、関連する二重化システムにアドレス変換部を追加するのみで実現可能であり、このアドレス変換部はCPUデバイス内に持つことができるので、コストをかけずに作製することができる。   In addition, the duplex system according to the present embodiment can be realized only by adding an address conversion unit to the related duplex system, and since this address conversion unit can be included in the CPU device, the cost is not increased. Can be produced.

さらに、アドレス変換にてアクセスを制御するため、アドレス変換部をCPUデバイス内に持たせた場合、CPUデバイスに新たな端子を追加することなく実現できるので、CPUデバイスのコスト増加がほとんど無い。   Furthermore, since access is controlled by address conversion, if the address conversion unit is provided in the CPU device, it can be realized without adding a new terminal to the CPU device, so there is almost no increase in the cost of the CPU device.

以上、本発明について一実施の形態に即して詳細に説明したが、本発明は上記実施の形態に限定されるものではない。   Although the present invention has been described in detail according to one embodiment, the present invention is not limited to the above embodiment.

例えば、上記実施の形態では、PCIバス及びPCIインタフェースにて二つのモジュールを接続しているが、他のバス及び/又はインタフェース等、例えばRIO(ラピッドIO)や、CPUバスを用いることもできる。   For example, in the above embodiment, two modules are connected by a PCI bus and a PCI interface, but other buses and / or interfaces, such as RIO (rapid IO) or a CPU bus can also be used.

また、アドレスデコーダにおいて、アドレスを細かくデコードすることで、データのコピー先をアドレスに応じて分けるようにしてもよい。   Further, in the address decoder, the data copy destination may be divided according to the address by finely decoding the address.

さらに、PCIインタフェース及びアドレスデコーダをCPUデバイスに取り込み、CPUデバイスからは、PCIインタフェースの端子、及びメインメモリの端子を出す構成にするようにしてもよい。   Further, the PCI interface and the address decoder may be taken into the CPU device, and the PCI interface terminal and the main memory terminal may be output from the CPU device.

さらにまた、待機中のモジュールにおいてデータライト動作が行われた時に、待機中のモジュールから運用中のモジュールにPCIバスを通してデータのライトが来ないように、待機中のCPUデバイスはデータキャッシュメモリを禁止状態としておいてもよい。または、データキャッシュメモリのモードをライトスルー禁止としておいてもよい。   Furthermore, when a data write operation is performed in a waiting module, the waiting CPU device prohibits the data cache memory so that data is not written from the waiting module to the operating module through the PCI bus. It may be in a state. Alternatively, the data cache memory mode may be set to write-through prohibition.

本発明の一実施の形態に係る二重化システムの構成及び動作を説明するためのブロック図である。It is a block diagram for demonstrating a structure and operation | movement of the duplex system which concerns on one embodiment of this invention. 図1の二重化システムの動作を説明するためのブロック図である。It is a block diagram for demonstrating operation | movement of the duplex system of FIG. 図1の二重化システムの動作を説明するためのブロック図である。It is a block diagram for demonstrating operation | movement of the duplex system of FIG. 図1の二重化システムの動作を説明するためのブロック図である。It is a block diagram for demonstrating operation | movement of the duplex system of FIG. 図1の二重化システムの動作を説明するためのブロック図である。It is a block diagram for demonstrating operation | movement of the duplex system of FIG. 図1の二重化システムの動作を説明するためのブロック図である。It is a block diagram for demonstrating operation | movement of the duplex system of FIG. 図1の二重化システムの動作を説明するためのブロック図である。It is a block diagram for demonstrating operation | movement of the duplex system of FIG. 図1の二重化システムの動作を説明するためのブロック図である。It is a block diagram for demonstrating operation | movement of the duplex system of FIG.

符号の説明Explanation of symbols

100,200 モジュール
110,210 CPUデバイス
111,211 処理部
112,212 データキャッシュメモリ
113,213 アドレス変換部
120,220 アドレスデコーダ
130,230 PCIインタフェース
140,240 メインメモリ
100, 200 Module 110, 210 CPU device 111, 211 Processing unit 112, 212 Data cache memory 113, 213 Address conversion unit 120, 220 Address decoder 130, 230 PCI interface 140, 240 Main memory

Claims (10)

二重化システムにおいて、ライトスルー動作の際に、現用系の主記憶装置への書き込みを行うことなく、予備系の主記憶装置に対して書き込みを行う書き込み先変更手段を設けたことを特徴とする二重化システム。   In a duplex system, there is a duplex feature characterized by providing write destination change means for writing to the standby main storage device without writing to the active main storage device during the write-through operation. system. 請求項1に記載の二重化システムにおいて、
前記書き込み先変更手段は、
ライトスルー動作時のみ書き込み先アドレスに対して予め定められた変換を行って変換済アドレスを出力し、それ以外は未変換アドレスを出力するアドレス変換手段と、
前記変換済アドレスを現用系と予備系を接続する外部バスへ出力するとともに、前記未変換アドレスを前記現用系の主記憶装置へ出力する振分手段と、
前記外部バスからの前記変換済アドレスを逆変換するアドレス逆変換手段と、
を含むことを特徴とする二重化システム。
The duplex system according to claim 1,
The write destination changing means is
Address conversion means for performing a predetermined conversion on the write destination address only during the write-through operation and outputting a converted address, and otherwise outputting an untranslated address;
Distribution means for outputting the converted address to an external bus connecting the active system and the standby system, and outputting the untranslated address to the main memory device of the active system;
Address reverse conversion means for reversely converting the translated address from the external bus;
A duplex system characterized by including:
請求項2に記載の二重化システムにおいて、
前記アドレス変換手段が、CPUデバイス内に設けられたアドレス変換部であることを特徴とする二重化システム。
The duplex system according to claim 2,
The duplex system, wherein the address conversion means is an address conversion unit provided in a CPU device.
請求項1に記載の二重化システムにおいて、
キャッシュミスの際、キャッシュ書き戻しを行う書き戻し手段を有することを特徴とする二重化システム。
The duplex system according to claim 1,
A duplex system comprising write-back means for performing cache write-back when a cache miss occurs.
請求項1に記載の二重化システムにおいて、
現用系・予備系切り換えの際、キャッシュ書き戻しを行う書き戻し手段を有することを特徴とする二重化システム。
The duplex system according to claim 1,
A duplex system comprising a write-back means for performing cache write-back when switching between the active system and the standby system.
二重化システムのメモリコピー方法において、ライトスルー動作の際に、現用系の主記憶装置への書き込みを行うことなく、予備系の主記憶装置に対して書き込みを行うようにしたことを特徴とするメモリコピー方法。   In a memory copy method of a duplex system, a memory is characterized in that, during a write-through operation, a write is made to a standby main storage device without writing to the active main storage device. Copy method. 請求項6に記載のメモリコピー方法において、
ライトスルー動作時のみ書き込み先アドレスに対して予め定められた変換を行って変換済アドレスを出力し、それ以外は未変換アドレスを出力するステップと、
前記変換済アドレスを現用系と予備系を接続する外部バスへ出力し、前記未変換アドレスを前記現用系の主記憶装置へ出力するステップと、
前記外部バスからの前記変換済アドレスを逆変換するステップと、
を含むことを特徴とするメモリコピー方法。
The memory copy method according to claim 6,
Performing a predetermined conversion on the write destination address only during the write-through operation and outputting the converted address; otherwise, outputting the unconverted address;
Outputting the translated address to an external bus connecting the active system and the standby system, and outputting the untranslated address to the main memory device of the active system;
Reverse-converting the translated address from the external bus;
A memory copy method comprising:
請求項7に記載のメモリコピー方法において、
CPUデバイス内で、前記書き込み先アドレスに対して予め定められた変換を行うことを特徴とするメモリコピー方法。
The memory copy method according to claim 7,
A memory copy method, wherein a predetermined conversion is performed on the write destination address in a CPU device.
請求項6に記載のメモリコピー方法において、
キャッシュミスの際、キャッシュ書き戻しを行うステップを含むことを特徴とするメモリコピー方法。
The memory copy method according to claim 6,
A memory copy method comprising a step of performing cache write-back upon a cache miss.
請求項6に記載のメモリコピー方法において、
現用系・予備系切り換えの際、キャッシュ書き戻しを行うステップを含むことを特徴とするメモリコピー方法。
The memory copy method according to claim 6,
A memory copy method comprising a step of performing cache write-back when switching between an active system and a standby system.
JP2008011847A 2008-01-22 2008-01-22 Redundant system and memory copy method Expired - Fee Related JP5321782B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008011847A JP5321782B2 (en) 2008-01-22 2008-01-22 Redundant system and memory copy method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008011847A JP5321782B2 (en) 2008-01-22 2008-01-22 Redundant system and memory copy method

Publications (2)

Publication Number Publication Date
JP2009175879A true JP2009175879A (en) 2009-08-06
JP5321782B2 JP5321782B2 (en) 2013-10-23

Family

ID=41030923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008011847A Expired - Fee Related JP5321782B2 (en) 2008-01-22 2008-01-22 Redundant system and memory copy method

Country Status (1)

Country Link
JP (1) JP5321782B2 (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57101958A (en) * 1980-12-16 1982-06-24 Fujitsu Ltd Memory address extension system
JPH0667979A (en) * 1992-08-21 1994-03-11 Nec Commun Syst Ltd Control system for main storage device
JPH07182241A (en) * 1993-12-22 1995-07-21 Toshiba Corp Cache memory control device
JPH07271624A (en) * 1994-03-30 1995-10-20 Toshiba Corp Cache flashing method for duplex memory of fault tolerant computer system
JP2514208B2 (en) * 1987-07-15 1996-07-10 富士通株式会社 Hot stand-by memory-copy method
JP2000181738A (en) * 1998-12-18 2000-06-30 Fujitsu Ltd Duplex system and memory control method
JP2001092682A (en) * 1999-09-24 2001-04-06 Fujitsu Ltd Cache system and duplex system
JP2001142787A (en) * 1999-11-15 2001-05-25 Oki Electric Ind Co Ltd Microprocessor
JP2001222468A (en) * 2000-02-10 2001-08-17 Toshiba Corp Load/store instruction control circuit in microprocessor and method for controlling load/store instruction
JP2003140966A (en) * 2001-11-01 2003-05-16 Fujitsu Ltd Cache memory control system of computer system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57101958A (en) * 1980-12-16 1982-06-24 Fujitsu Ltd Memory address extension system
JP2514208B2 (en) * 1987-07-15 1996-07-10 富士通株式会社 Hot stand-by memory-copy method
JPH0667979A (en) * 1992-08-21 1994-03-11 Nec Commun Syst Ltd Control system for main storage device
JPH07182241A (en) * 1993-12-22 1995-07-21 Toshiba Corp Cache memory control device
JPH07271624A (en) * 1994-03-30 1995-10-20 Toshiba Corp Cache flashing method for duplex memory of fault tolerant computer system
JP2000181738A (en) * 1998-12-18 2000-06-30 Fujitsu Ltd Duplex system and memory control method
JP2001092682A (en) * 1999-09-24 2001-04-06 Fujitsu Ltd Cache system and duplex system
JP2001142787A (en) * 1999-11-15 2001-05-25 Oki Electric Ind Co Ltd Microprocessor
JP2001222468A (en) * 2000-02-10 2001-08-17 Toshiba Corp Load/store instruction control circuit in microprocessor and method for controlling load/store instruction
JP2003140966A (en) * 2001-11-01 2003-05-16 Fujitsu Ltd Cache memory control system of computer system

Also Published As

Publication number Publication date
JP5321782B2 (en) 2013-10-23

Similar Documents

Publication Publication Date Title
US10002085B2 (en) Peripheral component interconnect (PCI) device and system including the PCI
US20050169061A1 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
KR20170052576A (en) Exchanging ecc metadata between memory and host system
KR20220116362A (en) Final level cache system and corresponding method
US8051325B2 (en) Multiprocessor system and failure recovering system
US20230195633A1 (en) Memory management device
US8250260B2 (en) Method, arrangement, data processing program and computer program product for exchanging message data in a distributed computer system
US20120047311A1 (en) Method and system of handling non-aligned memory accesses
KR20150095139A (en) Direct Memory Access controller and system for accessing to channel buffer directly
JP2010244580A (en) External device access apparatus
CN110781107A (en) Low-delay fusion IO control method and device based on DRAM interface
KR20200015233A (en) Semiconductor memory module including nonvolatile memory devices
US7596661B2 (en) Processing modules with multilevel cache architecture
JP4693843B2 (en) Memory control device and memory control method
US10621082B2 (en) Information processing device that guarantees consistency in access spaces
US8751702B2 (en) Communication processing device that stores communication data in buffers, image forming apparatus, and method of communication processing
JP6294732B2 (en) Data transfer control device and memory built-in device
JP5321782B2 (en) Redundant system and memory copy method
JP2008140078A (en) Bus bridge device, information processor, and data transfer control method
CN116483259A (en) Data processing method and related device
US20140250285A1 (en) Inter-domain memory copy method and apparatus
JP2006331391A (en) Data processor and data processing method
JP2008287727A (en) Storage device
JP2005301714A (en) Multi-cpu system, its data transfer method, and its program
JP4030951B2 (en) Data duplication apparatus and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121024

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130619

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130702

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees