JP2010231249A - Information processor and memory control method therefor - Google Patents

Information processor and memory control method therefor Download PDF

Info

Publication number
JP2010231249A
JP2010231249A JP2008332984A JP2008332984A JP2010231249A JP 2010231249 A JP2010231249 A JP 2010231249A JP 2008332984 A JP2008332984 A JP 2008332984A JP 2008332984 A JP2008332984 A JP 2008332984A JP 2010231249 A JP2010231249 A JP 2010231249A
Authority
JP
Japan
Prior art keywords
shared memory
standby
active
cpu
memory
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
Application number
JP2008332984A
Other languages
Japanese (ja)
Inventor
Satoshi Hatakeyama
智 畠山
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 JP2008332984A priority Critical patent/JP2010231249A/en
Priority to PCT/JP2009/006688 priority patent/WO2010073510A1/en
Publication of JP2010231249A publication Critical patent/JP2010231249A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2038Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2043Error 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor securing high reliability by safely switching from a current-use system to a stand-by system when a CPU of the current-use system malfunctions and to provide a memory control method for the information processor. <P>SOLUTION: The information processor has: a current-use system access controller for inhibiting or permitting write-in from the current-use system to a shared memory; a current-use system CPU for making the current-use system access controller permit write-in to the shared memory only when notification data which a stand-by system is notified are written in the shared memory, and for, when the notification data are written in the shared memory, notifying the stand-by system of write-in notification showing that the notification data has been already written in the shared memory; and a stand-by system CPU for, when being notified of the write-in notification by the current-use system CPU, reading the notification data from the shared memory, and for storing the notification data into the stand-by system memory, and for, when the current-use system is switched to the stand-by system, executing processing by using the notification data stored in the stand-by system memory. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、情報処理装置およびそのメモリ制御方法に関する。   The present invention relates to an information processing apparatus and a memory control method thereof.

近年の情報処理装置では、万一故障した場合であっても、運用を継続できるように冗長化構成を採用したものが増加してきている。冗長化構成には用途に応じてさまざまな種類があるが、一般的に、一瞬の停止も許されない環境で用いられる情報処理装置は、装置内に複数のCPUを搭載し、現用系のCPUが故障したとき待機系のCPUに切り換えることにより信頼性の向上をはかっている。   In recent years, an increasing number of information processing apparatuses adopt a redundant configuration so that operation can be continued even if a failure occurs. There are various types of redundant configurations depending on the application, but in general, an information processing device used in an environment where a momentary stoppage is not allowed is equipped with a plurality of CPUs, and the active CPU is When a failure occurs, the reliability is improved by switching to a standby CPU.

冗長化構成を採用した背景技術の情報処理装置では、現用系と待機系の間で情報処理装置の動作を規定するための設定情報や処理中のデータの情報を共有していない。そのため、情報処理装置を現用系から待機系に切り替えた場合に、情報処理装置の動作が変わってしまう問題がある。また、情報処理装置を通信システムに用いる場合は、情報処理装置を現用系から待機系に切り替えたときに処理中の通信データが消失し、通信データの連続性を失ってしまう問題があった。   In the information processing apparatus of the background art that adopts the redundant configuration, setting information for defining the operation of the information processing apparatus and information of data being processed are not shared between the active system and the standby system. For this reason, there is a problem that the operation of the information processing apparatus changes when the information processing apparatus is switched from the active system to the standby system. Further, when the information processing apparatus is used in a communication system, there is a problem that communication data being processed is lost when the information processing apparatus is switched from the active system to the standby system, and the continuity of the communication data is lost.

これらの問題を解決するため、特許文献1には、現用系のCPUと待機系のCPUとの間に共用メモリを備えた情報処理装置が記載されている。これにより、現用系のCPUが一部のデータを共用メモリに蓄積し、待機系のCPUが当該データを読み出せるため、情報処理装置は、データの連続性を保障することができる。   In order to solve these problems, Patent Document 1 describes an information processing apparatus including a shared memory between an active CPU and a standby CPU. As a result, the active CPU accumulates a part of the data in the shared memory, and the standby CPU can read the data, so that the information processing apparatus can guarantee the continuity of the data.

また、特許文献2には、待機系のCPUが動作するときに誤って共用メモリのデータを破壊しないようにする方法が記載されている。
特開昭63−61338号公報 特開平8−129508号公報
Further, Patent Document 2 describes a method for preventing the data in the shared memory from being accidentally destroyed when the standby CPU operates.
JP-A-63-61338 JP-A-8-129508

上述した特許文献1および特許文献2では、現用系のCPUが暴走した場合に、共用メモリ内の不特定の領域に誤ったデータを書き込み、共用メモリ上のデータを破壊することがある。また、現用系のCPUが共用メモリへデータ書き込み中に停止した場合に、共用メモリ上のデータが不連続になることもある。このような場合、情報処理装置は、現用系から待機系へ切り替わったときに壊れたデータにもとづいて動作するため、異常動作や動作停止などの重大な問題を引き起こすおそれがある。   In Patent Document 1 and Patent Document 2 described above, when the active CPU runs away, incorrect data may be written to an unspecified area in the shared memory, and the data on the shared memory may be destroyed. In addition, when the active CPU stops while writing data to the shared memory, the data on the shared memory may become discontinuous. In such a case, the information processing apparatus operates based on the broken data when switching from the active system to the standby system, which may cause a serious problem such as abnormal operation or operation stop.

本発明の目的は、現用系のCPUに異常が発生したときに、安全に現用系から待機系へ切り換えることができる、高い信頼性を保障する情報処理装置およびそのメモリ制御方法を提供することである。   SUMMARY OF THE INVENTION An object of the present invention is to provide an information processing apparatus and a memory control method therefor that can ensure high reliability and can safely switch from the active system to the standby system when an abnormality occurs in the active CPU. is there.

上記目的を達成するために、本発明の情報処理装置は、現用系および待機系からアクセス可能な第1の共用メモリと、現用系からの前記第1の共用メモリへの書き込みを禁止または許可する現用系の第1のアクセス制御装置と、待機系からのみアクセス可能な待機系のメモリと、現用系からの要求に応じて待機系に割り込み信号を出力する待機系の割り込みコントローラと、待機系からの要求に応じて現用系に割り込み信号を出力する現用系の割り込みコントローラと、待機系に通知する通知データを前記第1の共用メモリに書き込むときのみ前記現用系の第1のアクセス制御装置に該第1の共用メモリへの書き込みを許可させ、前記通知データを前記第1の共用メモリに書き込むと、前記待機系の割り込みコントローラに割り込み信号を出力させることにより、該通知データを該第1の共用メモリに書き込み済みであることを示す書き込み通知を待機系に通知する現用系のCPUと、前記現用系のCPUから前記書き込み通知が通知されると、前記通知データを前記第1の共用メモリから読み出し、該通知データを前記待機系のメモリに保存し、前記現用系の割り込みコントローラに割り込み信号を出力させることにより、該通知データを該第1の共用メモリから読み出し済みであることを示す読み出し通知を現用系に通知し、現用系から待機系に切り替わると、前記待機系のメモリに保存された通知データを用いて処理を実行する待機系のCPUを有する。   In order to achieve the above object, an information processing apparatus of the present invention prohibits or permits a first shared memory accessible from an active system and a standby system, and writing from the active system to the first shared memory. A first access control device for the active system, a standby memory accessible only from the standby system, a standby interrupt controller for outputting an interrupt signal to the standby system in response to a request from the active system, and a standby system The active interrupt controller that outputs an interrupt signal to the active system in response to the request of the active system and the first access control device of the active system only when the notification data to be notified to the standby system is written to the first shared memory. When writing to the first shared memory is permitted and the notification data is written to the first shared memory, an interrupt signal is output to the standby interrupt controller. As a result, the active CPU that notifies the standby system of a write notification indicating that the notification data has been written to the first shared memory, and the write notification are notified from the active CPU. The notification data is read from the first shared memory, the notification data is stored in the standby memory, and an interrupt signal is output to the active interrupt controller, whereby the notification data is read from the first shared memory. A standby CPU that notifies the active system of a read notification indicating that it has been read from the shared memory, and executes processing using the notification data stored in the standby system memory when switching from the active system to the standby system Have

本発明によれば、情報処理装置の現用系のCPUに異常が発生したときに、安全に現用系から待機系へ切り換えることができ、高い信頼性を保障できる。   According to the present invention, when an abnormality occurs in the active CPU of the information processing apparatus, it is possible to safely switch from the active system to the standby system, and to ensure high reliability.

次に本発明について図面を参照して詳細に説明する。   Next, the present invention will be described in detail with reference to the drawings.

本発明では、現用系のCPUあるいは待機系のCPUが共用メモリへ書き込みを実施しないとき、共用メモリへの書き込みを禁止する。さらに、待機系のCPUは、現用系のCPUから通知されたデータを現用系のCPUがアクセスできない待機系のメモリに保存することにより、データの保全をはかる。   In the present invention, when the active CPU or standby CPU does not write to the shared memory, writing to the shared memory is prohibited. Further, the standby CPU preserves data by storing data notified from the active CPU in a standby memory that cannot be accessed by the active CPU.

(第1の実施の形態)
次に本発明の第1の実施の形態について説明する。
(First embodiment)
Next, a first embodiment of the present invention will be described.

図1は第1の実施の形態の情報処理装置の構成を示すブロック図である。   FIG. 1 is a block diagram illustrating a configuration of the information processing apparatus according to the first embodiment.

図1に示すように、第1の実施の形態の情報処理装置1は、現用系として、CPU10、メモリ11、第1のアクセス制御装置12および割り込みコントローラ13を有し、待機系として、CPU20、メモリ21、第1のアクセス制御装置22および割り込みコントローラ23を有し、共通部として、記録媒体30、記録媒体インタフェース部31および第1の共用メモリ32を有する。   As shown in FIG. 1, the information processing apparatus 1 according to the first embodiment includes a CPU 10, a memory 11, a first access control device 12, and an interrupt controller 13 as an active system, and a CPU 20, It has a memory 21, a first access control device 22, and an interrupt controller 23, and has a recording medium 30, a recording medium interface unit 31, and a first shared memory 32 as common parts.

記録媒体30には、情報処理装置1の所定の機能を提供するための現用系用のプログラムおよび待機系用のプログラムが記録される。なお、記録媒体30は、磁気ディスク、半導体メモリ、光ディスクあるいはその他の記録媒体であってもよい。   The recording medium 30 stores an active program and a standby program for providing predetermined functions of the information processing apparatus 1. The recording medium 30 may be a magnetic disk, a semiconductor memory, an optical disk, or other recording medium.

記録媒体30に記録された現用系用のプログラムは、現用系のCPU10によって記憶媒体インタフェース装置31を介して現用系のメモリ11に読み込まれる。CPU10はメモリ11に読み込んだプログラムにしたがって処理を実行する。   The working program recorded in the recording medium 30 is read into the working memory 11 by the working CPU 10 via the storage medium interface device 31. The CPU 10 executes processing according to the program read into the memory 11.

一方、記録媒体30に記録された待機系用のプログラムは、待機系のCPU20によって記憶媒体インタフェース装置31を介して待機系のメモリ21に読み込まれる。CPU20はメモリ21に読み込んだプログラムにしたがって処理を実行する。   On the other hand, the standby program recorded in the recording medium 30 is read by the standby CPU 20 into the standby memory 21 via the storage medium interface device 31. The CPU 20 executes processing according to the program read into the memory 21.

現用系のメモリ11は、現用系用のプログラムおよび現用系のCPU10が処理するデータを記憶するための記憶装置である。メモリ11には、現用系のCPU10のみがアクセス可能であり、待機系のCPU20はアクセスできない。   The active memory 11 is a storage device for storing an active program and data processed by the active CPU 10. Only the active CPU 10 can access the memory 11, and the standby CPU 20 cannot access it.

一方、待機系のメモリ21は、待機系用のプログラムおよび待機系のCPU20が処理するデータを記憶するための記憶装置である。メモリ21には、待機系のCPU20のみがアクセス可能であり、現用系のCPU10はアクセスできない。   On the other hand, the standby memory 21 is a storage device for storing a standby program and data processed by the standby CPU 20. Only the standby CPU 20 can access the memory 21, and the active CPU 10 cannot access it.

第1の共用メモリ32は、現用系と待機系の間の情報伝達のために用いられるメモリであり、CPU10およびCPU20の両方からアクセス可能である。第1の共用メモリ32として、例えばマルチポートを備えたRAM(Random Access Memory)が用いられる。   The first shared memory 32 is a memory used for information transmission between the active system and the standby system, and is accessible from both the CPU 10 and the CPU 20. As the first shared memory 32, for example, a RAM (Random Access Memory) having a multiport is used.

現用系の第1のアクセス制御装置12は、CPU10の第1の共用メモリ32への書き込みを制限するための装置であり、例えば各種の論理回路からなるLSIによって実現できる。第1のアクセス制御装置12には、CPU10によって、CPU10から第1の共用メモリ32への書き込みを許可するか禁止するかが設定される。第1のアクセス制御装置12は、通常は第1の共用メモリ32への書き込みを禁止するように設定されており、CPU10が第1の共用メモリ32へ書き込みを実施するときのみ第1の共用メモリ32への書き込みを許可するように設定される。第1の共用メモリ32への書き込みが許可されると、CPU10が第1の共用メモリ32にアクセスするとき、第1のアクセス制御装置12は、第1の共用メモリ32へCS(チップセレクト)信号を出力する。逆に、第1の共用メモリ32への書き込みが禁止されると、第1のアクセス制御装置12は、CS信号をインアクティブに固定し、CPU10が誤って第1の共用メモリ32にデータを書き込むことを防止する。   The active first access control device 12 is a device for restricting the writing of the CPU 10 to the first shared memory 32, and can be realized by, for example, an LSI including various logic circuits. In the first access control device 12, the CPU 10 sets whether to allow or prohibit writing from the CPU 10 to the first shared memory 32. The first access control device 12 is normally set to prohibit writing to the first shared memory 32, and only when the CPU 10 writes to the first shared memory 32, the first shared memory 32 is set. 32 is set so as to allow writing to 32. When writing to the first shared memory 32 is permitted, when the CPU 10 accesses the first shared memory 32, the first access control device 12 sends a CS (chip select) signal to the first shared memory 32. Is output. Conversely, when writing to the first shared memory 32 is prohibited, the first access control device 12 fixes the CS signal to inactive, and the CPU 10 erroneously writes data to the first shared memory 32. To prevent that.

一方、待機系の第1のアクセス制御装置22は、CPU20の第1の共用メモリ32への書き込みを制限するための装置であり、その実現方法は、第1のアクセス制御装置12と同様である。   On the other hand, the first access control device 22 of the standby system is a device for restricting writing to the first shared memory 32 of the CPU 20, and the method of realizing it is the same as that of the first access control device 12. .

待機系の割り込みコントローラ23は、現用系のCPU10からの要求に応じて待機系のCPU20に割り込み信号を出力する装置である。現用系のCPU10は、第1の共用メモリ32へデータを書き込んだことを、割り込みコントローラ23に待機系のCPU20に割り込み信号を出力させることにより、待機系のCPU20に通知する。   The standby interrupt controller 23 is a device that outputs an interrupt signal to the standby CPU 20 in response to a request from the active CPU 10. The active CPU 10 notifies the standby CPU 20 that data has been written to the first shared memory 32 by causing the standby controller 20 to output an interrupt signal to the interrupt controller 23.

一方、現用系の割り込みコントローラ13は、待機系のCPU20からの要求に応じて現用系のCPU10に割り込み信号を出力する装置である。待機系のCPU20は、第1の共用メモリ32からデータを読み出したことを、割り込みコントローラ13に現用系のCPU10に割り込み信号を出力させることにより、現用系のCPU10に通知する。   On the other hand, the active interrupt controller 13 is a device that outputs an interrupt signal to the active CPU 10 in response to a request from the standby CPU 20. The standby CPU 20 notifies the active CPU 10 that the data has been read from the first shared memory 32 by causing the interrupt controller 13 to output an interrupt signal to the active CPU 10.

現用系では、CPU10、記録媒体31、メモリ11、第1の共用メモリ32、第1のアクセス制御装置12および割り込みコントローラ13が内部バス14を介して接続される。   In the active system, the CPU 10, the recording medium 31, the memory 11, the first shared memory 32, the first access control device 12, and the interrupt controller 13 are connected via the internal bus 14.

一方、待機系では、CPU20、記録媒体31、メモリ21、第1の共用メモリ32、第1のアクセス制御装置22および割り込みコントローラ23が内部バス24を介して接続される。   On the other hand, in the standby system, the CPU 20, the recording medium 31, the memory 21, the first shared memory 32, the first access control device 22 and the interrupt controller 23 are connected via the internal bus 24.

次に図1に示した現用系のCPU10の第1の共用メモリ32へのデータ書き込み処理手順について図2のフローチャートを参照して説明する。   Next, the data write processing procedure to the first shared memory 32 of the active CPU 10 shown in FIG. 1 will be described with reference to the flowchart of FIG.

CPU10はメモリ11に保存された現用系用のプログラムにしたがって以下に記載する処理を実行する。   The CPU 10 executes the processing described below according to the working system program stored in the memory 11.

CPU10は、処理を開始すると(ステップS1)、まず、待機系のCPU20に通知すべきデータ(以降、通知データと称する)が発生するまで待機する(ステップS2)。なお、通知データとしては、情報処理装置の動作を規定するための設定情報などがある。利用者によって情報処理装置の動作を規定するための設定情報が変更されると、情報処理装置1は、当該設定情報を現用系のCPU10が参照できるように現用系のメモリ11に保存する。さらに、情報処理装置1は、現用系のCPU10で異常が発生し、待機系に切り替わる場合に備えて、当該設定情報を待機系のCPU20も参照できるようにしておく。   When the process starts (step S1), the CPU 10 waits until data to be notified to the standby CPU 20 (hereinafter referred to as notification data) is generated (step S2). The notification data includes setting information for defining the operation of the information processing apparatus. When the setting information for defining the operation of the information processing apparatus is changed by the user, the information processing apparatus 1 stores the setting information in the working memory 11 so that the working CPU 10 can refer to the setting information. Further, the information processing apparatus 1 makes it possible for the standby CPU 20 to refer to the setting information in preparation for the occurrence of an abnormality in the active CPU 10 and switching to the standby system.

通知データが発生すると、CPU10は、待機系のCPU20が第1の共用メモリ32からデータを読み出し中か否かを判別する(ステップS3)。なお、待機系のCPU20が通知データを読み出し中にCPU10が別の通知データを書き込むと、待機系のCPU20が読み出し中の通知データは破壊されるおそれがある。このため、CPU10は、待機系のCPU20が第1の共用メモリ32から通知データを読み出し中の場合、完了するまで待機する。第1の実施の形態では、現用系のCPU10は、通知データを第1の共用メモリ32へ書き込み済みであること(以降、書き込み通知と称する)を、割り込みコントローラ23に待機系のCPU20に割り込み信号を出力させることにより、待機系のCPU20に通知する。一方、待機系のCPU20は、通知データを第1の共用メモリ32から読み出し済みであること(以降、読み出し通知と称する)を、割り込みコントローラ13に現用系のCPU10に割り込み信号を出力させることにより、現用系のCPU10に通知する。したがって、現用系のCPU10は、書き込み通知を待機系のCPU20に通知してから、読み出し通知が待機系のCPU20から通知されるまでの間は、待機系のCPU20が第1の共用メモリ32からデータを読み出し中であると判別する。一方、それ以外の期間は、待機系のCPU20が第1の共用メモリ32からデータを読み出し中でないと判別する。   When the notification data is generated, the CPU 10 determines whether or not the standby CPU 20 is reading data from the first shared memory 32 (step S3). Note that if the CPU 10 writes other notification data while the standby CPU 20 is reading the notification data, the notification data being read by the standby CPU 20 may be destroyed. Therefore, when the standby CPU 20 is reading the notification data from the first shared memory 32, the CPU 10 waits until the completion. In the first embodiment, the active CPU 10 informs the interrupt controller 23 to the standby CPU 20 that the notification data has been written to the first shared memory 32 (hereinafter referred to as write notification). Is output to the standby CPU 20. On the other hand, the standby CPU 20 indicates that the notification data has been read from the first shared memory 32 (hereinafter referred to as a read notification), and causes the interrupt controller 13 to output an interrupt signal to the active CPU 10. Notify the active CPU 10. Therefore, the standby CPU 20 receives data from the first shared memory 32 from the time when the standby CPU 20 notifies the standby CPU 20 of the write notification until the read notification is notified from the standby CPU 20. Is being read out. On the other hand, during other periods, it is determined that the standby CPU 20 is not reading data from the first shared memory 32.

待機系のCPU20が第1の共用メモリ32から通知データを読み出し中でない場合、CPU10は、第1のアクセス制御装置12に第1の共用メモリ32へ書き込みを許可するように設定する(ステップS4)。続いて、CPU10は、通知データを第1の共用メモリ32へ書き込む(ステップS5)。第1の共用メモリ32へ通知データを書き込むと、CPU10は、第1のアクセス制御装置12に第1の共用メモリ32へ書き込みを禁止するように設定する(ステップS6)。   When the standby CPU 20 is not reading the notification data from the first shared memory 32, the CPU 10 sets the first access control device 12 to permit writing to the first shared memory 32 (step S4). . Subsequently, the CPU 10 writes the notification data to the first shared memory 32 (step S5). When the notification data is written to the first shared memory 32, the CPU 10 sets the first access control device 12 to prohibit writing to the first shared memory 32 (step S6).

第1のアクセス制御装置12に第1の共用メモリ32へ書き込みを禁止するように設定すると、CPU10は、割り込みコントローラ23に待機系のCPU20に割り込み信号を出力させることにより、書き込み通知を待機系のCPU20に通知する(ステップS7)。CPU10は、書き込み通知を待機系のCPU20に通知すると、ステップS2へ移行し、再度待機系に通知するデータが発生するまで待機する。   When the first access control device 12 is set to prohibit writing to the first shared memory 32, the CPU 10 causes the interrupt controller 23 to output an interrupt signal to the standby CPU 20, thereby sending a write notification to the standby system. The CPU 20 is notified (step S7). When the CPU 10 notifies the standby CPU 20 of the write notification, the CPU 10 proceeds to step S2 and waits until data to notify the standby system again occurs.

次に図1に示した待機系のCPU20の第1の共用メモリ32からのデータ読み出し処理手順について図3のフローチャートを参照して説明する。   Next, a data read processing procedure from the first shared memory 32 of the standby CPU 20 shown in FIG. 1 will be described with reference to the flowchart of FIG.

CPU20はメモリ21に保存された待機系用のプログラムにしたがって以下に記載する処理を実行する。   The CPU 20 executes processing described below in accordance with a standby system program stored in the memory 21.

CPU20は、処理を開始すると(ステップS11)、まず、書き込み通知が現用系のCPU10から通知されるまで待機する(ステップS12)。なお、書き込み通知は、割り込みコントローラ23から割り込み信号を受信することにより通知される。   When starting the processing (step S11), the CPU 20 first waits until a writing notification is notified from the active CPU 10 (step S12). Note that the write notification is made by receiving an interrupt signal from the interrupt controller 23.

書き込み通知が現用系のCPU10から通知されると、CPU20は、通知データを第1の共用メモリ32から読み出し、読み出した通知データをメモリ21に保存する(ステップS13)。なお、待機系のCPU20が第1の共用メモリ32へ書き込むことはないため、第1のアクセス制御装置22は、常に第1の共用メモリ32へ書き込みを禁止するように設定される。続いて、CPU20は、割り込みコントローラ13に現用系のCPU10に割り込み信号を出力させることにより、読み出し通知を現用系のCPU10に通知する(ステップS14)。   When the write notification is notified from the active CPU 10, the CPU 20 reads the notification data from the first shared memory 32 and stores the read notification data in the memory 21 (step S13). Since the standby CPU 20 does not write to the first shared memory 32, the first access control device 22 is set to always prohibit writing to the first shared memory 32. Subsequently, the CPU 20 causes the interrupt controller 13 to output an interrupt signal to the active CPU 10, thereby notifying the active CPU 10 of a read notification (step S14).

CPU20は、読み出し通知を現用系のCPU10に通知すると、ステップS32へ移行し、再度、書き込み通知が現用系のCPU10から通知されるまで待機する。   When the CPU 20 notifies the active CPU 10 of the read notification, the CPU 20 proceeds to step S32 and waits again until the write notification is notified from the active CPU 10.

第1の実施の形態の情報処理装置は、共用メモリへの書き込みを制限する。現用系のCPUあるいは待機系のCPUが共用メモリへデータを書き込んでいないとき、共用メモリへの書き込みは禁止されているので、運用中に共用メモリのデータが破壊される可能性は低くなる。   The information processing apparatus according to the first embodiment restricts writing to the shared memory. When the active CPU or standby CPU is not writing data to the shared memory, writing to the shared memory is prohibited, so the possibility that the data in the shared memory is destroyed during operation is low.

また、待機系のCPUは、現用系のCPUが通知データを共用メモリへ書き込み終わったタイミングで当該データを読み出し、読み出したデータを現用系からアクセスできない待機系のメモリに保存する。現用系から待機系に切り替わると、待機系のCPUは、共用メモリに保存されたデータではなく、待機系のメモリに保存されたデータにしたがって動作する。また、現用系のCPUが通知データを共用メモリへ書き込んでいるときに停止した場合、書き込み通知が待機系のCPUに通知されず、待機系のCPUは共用メモリからデータを読み出さない。このため、書き込み途中の不連続なデータが待機系で使用されるおそれがなくなる。   The standby CPU reads the data when the active CPU has finished writing the notification data to the shared memory, and stores the read data in the standby memory that cannot be accessed from the active system. When the active system is switched to the standby system, the standby CPU operates according to the data stored in the standby memory, not the data stored in the shared memory. If the active CPU is stopped while writing the notification data to the shared memory, the write notification is not notified to the standby CPU, and the standby CPU does not read the data from the shared memory. For this reason, there is no possibility that discontinuous data during writing is used in the standby system.

また、現用系のCPUは共用メモリへの書き込みを禁止にしてから書き込み通知を待機系のCPUに通知する。つまり、現用系のCPUが暴走し、共用メモリの通知データが破壊された場合、書き込み通知が待機系のCPUに通知されず、待機系のCPUは共用メモリからデータを読み出さない。このため、破壊された通知データが待機系で使用されるおそれがなくなる。   The active CPU notifies the standby CPU of a write notification after prohibiting writing to the shared memory. That is, when the active CPU runs away and the notification data in the shared memory is destroyed, the write notification is not notified to the standby CPU, and the standby CPU does not read the data from the shared memory. For this reason, there is no possibility that the destroyed notification data is used in the standby system.

これにより、第1の実施の形態の情報処理装置は、現用系のCPUに異常が発生したときに、安全に現用系から待機系へ切り換えることができ、高い信頼性を保障できる。   As a result, the information processing apparatus according to the first embodiment can safely switch from the active system to the standby system when an abnormality occurs in the active CPU, thereby ensuring high reliability.

(第2の実施の形態)
第2の実施の形態では、通信システムで用いられる情報処理装置について説明する。
(Second Embodiment)
In the second embodiment, an information processing apparatus used in a communication system will be described.

図4は第2の実施の形態の情報処理装置の構成を示すブロック図である。   FIG. 4 is a block diagram illustrating a configuration of the information processing apparatus according to the second embodiment.

図4に示すように、第2の実施の形態の情報処理装置1は、現用系として、CPU10、メモリ11、第1のアクセス制御装置12および割り込みコントローラ13を有し、待機系として、CPU20、メモリ21、第1のアクセス制御装置22および割り込みコントローラ23を有し、共通部として、記録媒体30、記録媒体インタフェース部31、第1の共用メモリ32、外部入出力装置34および外部バス切り替え器35を有する。   As shown in FIG. 4, the information processing apparatus 1 according to the second embodiment includes a CPU 10, a memory 11, a first access control device 12, and an interrupt controller 13 as an active system, and a CPU 20, It has a memory 21, a first access control device 22, and an interrupt controller 23. As a common unit, a recording medium 30, a recording medium interface unit 31, a first shared memory 32, an external input / output device 34, and an external bus switch 35 Have

CPU10、メモリ11、第1のアクセス制御装置12、割り込みコントローラ13、CPU20、メモリ21、第1のアクセス制御装置22、割り込みコントローラ23、記録媒体30、記録媒体インタフェース部31、第1の共用メモリ32の構成は第1の実施の形態と同一である。   CPU 10, memory 11, first access control device 12, interrupt controller 13, CPU 20, memory 21, first access control device 22, interrupt controller 23, recording medium 30, recording medium interface unit 31, first shared memory 32 The configuration is the same as that of the first embodiment.

外部入出力装置34は、外部の通信機器とデータを送受信する機能をもつ、通信システムで用いられる周知の通信装置が備える装置である。外部入出力装置34の例としては、LANコントローラや無線LANコントローラなどがある。   The external input / output device 34 is a device provided in a known communication device used in a communication system, which has a function of transmitting / receiving data to / from an external communication device. Examples of the external input / output device 34 include a LAN controller and a wireless LAN controller.

外部バス切り替え器35は、現用系または待機系のいずれで処理するかによって外部入出力装置の接続先を切り替える装置であり、例えば各種の論理回路からなるLSIによって実現できる。   The external bus switch 35 is a device that switches the connection destination of the external input / output device depending on whether the processing is performed in the active system or the standby system, and can be realized by an LSI including various logic circuits, for example.

外部入出力装置34および外部切り替え器35は、外部バス36を介して接続される。   The external input / output device 34 and the external switch 35 are connected via an external bus 36.

第1の実施の形態の情報処理装置では、情報処理装置の動作を規定するための設定情報を通知データとして用いる例を示した。第2の実施の形態の情報処理装置では、外部の通信機器から受信したデータを通知データとして用いる例を示す。   In the information processing apparatus according to the first embodiment, the example in which the setting information for defining the operation of the information processing apparatus is used as the notification data has been described. The information processing apparatus according to the second embodiment shows an example in which data received from an external communication device is used as notification data.

第2の実施の形態の情報処理装置は、外部の通信機器からデータを受信すると、受信したデータをメモリ11に格納し、格納したデータに対して所定の処理を実施し、所定の処理を実施したデータを外部の通信機器に送信する。なお、所定の処理とは、情報処理装置の機能に応じて異なる処理であり、例えば、外部の通信機器から受信したデータを別の通信機器に送信するために、当該データに含まれるアドレス情報を書き換える処理などがある。   When the information processing apparatus according to the second embodiment receives data from an external communication device, the information processing apparatus stores the received data in the memory 11, performs predetermined processing on the stored data, and performs the predetermined processing. Send the data to an external communication device. The predetermined process is a process that differs depending on the function of the information processing apparatus. For example, in order to transmit data received from an external communication device to another communication device, address information included in the data is changed. There is a process to rewrite.

現用系のCPU10は、外部の通信機器からデータを受信すると、受信したデータを、第1の共用メモリ32を介して待機系のCPU20に送信する。待機系のCPU20は、現用系のCPU10から受信したデータをメモリ21に保存する。   When the active CPU 10 receives data from an external communication device, it transmits the received data to the standby CPU 20 via the first shared memory 32. The standby CPU 20 stores the data received from the active CPU 10 in the memory 21.

また、現用系のCPU10は、外部の通信機器から受信したデータに対して所定の処理を実施し、外部の通信機器に送信すると、当該データに対する処理の完了を、第1の共用メモリ32を介して待機系のCPU20に通知する。待機系のCPU20は、現用系のCPU10から処理の完了が通知されたデータをメモリ21から消去する。   Further, when the active CPU 10 performs predetermined processing on the data received from the external communication device and transmits the data to the external communication device, the completion of the processing for the data is notified via the first shared memory 32. To the standby CPU 20. The standby CPU 20 erases the data notified of the completion of processing from the active CPU 10 from the memory 21.

情報処理装置1は、現用系のCPU10に異常が発生すると、現用系から待機系へ切り換える。情報処理装置1が待機系に切り替わると、待機系のCPU20は、外部バス切り替え器35を待機系へ切り替える。また、待機系のCPU20は、メモリ21に保存されているデータに対して所定の処理を実施し、所定の処理を実施したデータを外部の通信機器に送信する。   When an abnormality occurs in the active CPU 10, the information processing apparatus 1 switches from the active system to the standby system. When the information processing apparatus 1 is switched to the standby system, the standby CPU 20 switches the external bus switch 35 to the standby system. In addition, the standby CPU 20 performs a predetermined process on the data stored in the memory 21 and transmits the data subjected to the predetermined process to an external communication device.

第2の実施の形態によれば、情報処理装置が通信システムに用いられる場合において、現用系のCPUに異常が発生したときに、処理中のデータを消失することなく、通信データの連続性を保つことが可能になる。   According to the second embodiment, when an information processing apparatus is used in a communication system, when an abnormality occurs in the active CPU, the continuity of communication data is reduced without losing data being processed. It becomes possible to keep.

(第3の実施の形態)
第1の実施の形態で示した情報処理装置は、現用系のCPUが通知データを共用メモリへ書き込んだことを待機系のCPUに通知するために割り込みコントローラを使用した。一方、情報処理装置が複数の共用メモリを有する場合は、共用メモリを使用して、現用系のCPUが通知データを共用メモリへ書き込んだことを待機系のCPUに通知してもよい。第3の実施の形態では、割り込みコントローラを使用せず、共用メモリを使用して現用系のCPUが通知データを共用メモリへ書き込んだことを待機系のCPUに通知する方法を説明する。
(Third embodiment)
The information processing apparatus shown in the first embodiment uses an interrupt controller to notify the standby CPU that the active CPU has written the notification data to the shared memory. On the other hand, when the information processing apparatus has a plurality of shared memories, the standby CPU may be notified that the active CPU has written the notification data to the shared memory using the shared memory. In the third embodiment, a method of notifying the standby CPU that the active CPU has written the notification data to the shared memory using the shared memory without using the interrupt controller will be described.

図5は第3の実施の形態の情報処理装置の構成を示すブロック図である。   FIG. 5 is a block diagram illustrating a configuration of the information processing apparatus according to the third embodiment.

図5に示すように、第3の実施の形態の情報処理装置1は、現用系として、CPU10、メモリ11、第1のアクセス制御装置12および第2のアクセス制御装置15を有し、待機系として、CPU20、メモリ21、第1のアクセス制御装置22および第2のアクセス制御装置25を有し、共通部として、記録媒体30、記録媒体インタフェース部31、第1の共用メモリ32および第2の管理用共用メモリ33を有する。   As illustrated in FIG. 5, the information processing apparatus 1 according to the third embodiment includes a CPU 10, a memory 11, a first access control device 12, and a second access control device 15 as active systems, and a standby system. As a common unit, a recording medium 30, a recording medium interface unit 31, a first shared memory 32, and a second access control device 25 are included. A management shared memory 33 is included.

CPU10、メモリ11、第1のアクセス制御装置12、CPU20、メモリ21、第1のアクセス制御装置22、記録媒体30、記録媒体インタフェース部31および第1の共用メモリ32の構成は第1の実施の形態と同一である。   The configurations of the CPU 10, the memory 11, the first access control device 12, the CPU 20, the memory 21, the first access control device 22, the recording medium 30, the recording medium interface unit 31, and the first shared memory 32 are the same as those in the first embodiment. The form is the same.

第2の共用メモリ33は、現用系のCPU10が通知データを第1の共用メモリ32へ書き込んだことを待機系のCPU20に通知するために用いられるメモリである。第2の共用メモリ33は、CPU10およびCPU20の両方からアクセス可能である。第2の共用メモリ33として、例えばマルチポートを備えたRAM(Random Access Memory)が用いられる。   The second shared memory 33 is a memory used to notify the standby CPU 20 that the active CPU 10 has written notification data to the first shared memory 32. The second shared memory 33 is accessible from both the CPU 10 and the CPU 20. As the second shared memory 33, for example, a RAM (Random Access Memory) having a multiport is used.

現用系の第2のアクセス制御装置15は、CPU10の第2の共用メモリ33への書き込みを制限するための装置であり、その実現方法は、第1のアクセス制御装置12と同様である。   The active second access control device 15 is a device for restricting writing to the second shared memory 33 by the CPU 10, and the method of realizing it is the same as that of the first access control device 12.

一方、待機系の第2のアクセス制御装置25は、CPU20の第2の共用メモリ33への書き込みを制限するための装置であり、その実現方法は、第1のアクセス制御装置12と同様である。   On the other hand, the second access control device 25 of the standby system is a device for restricting writing to the second shared memory 33 by the CPU 20, and the method of realizing the same is the same as that of the first access control device 12. .

現用系では、CPU10、記録媒体31、メモリ11、第1の共用メモリ32、第1のアクセス制御装置12、第2の共用メモリ33および第2のアクセス制御装置15が内部バス14を介して接続される。   In the active system, the CPU 10, the recording medium 31, the memory 11, the first shared memory 32, the first access control device 12, the second shared memory 33, and the second access control device 15 are connected via the internal bus 14. Is done.

一方、待機系では、CPU20、記録媒体31、メモリ21、第1の共用メモリ32、第1のアクセス制御装置22、第2の共用メモリ33および第2のアクセス制御装置25が内部バス24を介して接続される。   On the other hand, in the standby system, the CPU 20, the recording medium 31, the memory 21, the first shared memory 32, the first access control device 22, the second shared memory 33, and the second access control device 25 are connected via the internal bus 24. Connected.

次に図5に示した現用系のCPU10の第1の共用メモリ32へのデータ書き込み処理手順について図6のフローチャートを参照して説明する。   Next, the data write processing procedure to the first shared memory 32 of the active CPU 10 shown in FIG. 5 will be described with reference to the flowchart of FIG.

CPU10はメモリ11に保存された現用系用のプログラムにしたがって以下に記載する処理を実行する。   The CPU 10 executes the processing described below according to the working system program stored in the memory 11.

CPU10は、処理を開始すると(ステップS21)、まず、通知データが発生するまで待機する(ステップS22)。   When starting the processing (step S21), the CPU 10 first waits until notification data is generated (step S22).

通知データが発生すると、CPU10は、待機系のCPU20が第1の共用メモリ32からデータを読み出し中か否かを判別する(ステップS23)。なお、第3の実施の形態の情報処理装置1は、通知データが発生したことを現用系のCPU10が待機系のCPU20に通知するために、第2の共用メモリ33に書き込み情報および読み出し情報を備える。書き込み情報および読み出し情報の例として、書き込みカウンタおよび読み出しカウンタがある。書き込みカウンタおよび読み出しカウンタは、情報処理装置の起動時は0に初期化されている。現用系のCPU10は、第1の共用メモリ32に通知データを書き込むと第2の共用メモリ33の書き込みカウンタをカウントアップする。一方、待機系のCPU20は、第1の共用メモリ32から通知データを読み出すと第2の共用メモリ33の読み出しカウンタをカウントアップする。待機系のCPU20は、書き込みカウンタの値が読み出しカウンタの値より大きいと、読み出していない通知データが第1の共用メモリ32に存在すると判別する。また、現用系のCPU10は、書き込みカウンタの値が読み出しカウンタの値より大きいと、待機系のCPU20が第1の共用メモリ32から通知データを読み出し中であると判別する。   When the notification data is generated, the CPU 10 determines whether or not the standby CPU 20 is reading data from the first shared memory 32 (step S23). In the information processing apparatus 1 according to the third embodiment, in order for the active CPU 10 to notify the standby CPU 20 that notification data has been generated, write information and read information are stored in the second shared memory 33. Prepare. Examples of write information and read information include a write counter and a read counter. The write counter and the read counter are initialized to 0 when the information processing apparatus is activated. The active CPU 10 counts up the write counter of the second shared memory 33 when the notification data is written in the first shared memory 32. On the other hand, when the standby CPU 20 reads the notification data from the first shared memory 32, it counts up the read counter of the second shared memory 33. When the value of the write counter is larger than the value of the read counter, the standby CPU 20 determines that notification data that has not been read exists in the first shared memory 32. Further, when the value of the write counter is larger than the value of the read counter, the active CPU 10 determines that the standby CPU 20 is reading the notification data from the first shared memory 32.

待機系のCPU20が第1の共用メモリ32から通知データを読み出し中でない場合、CPU10は、第1のアクセス制御装置12に第1の共用メモリ32へ書き込みを許可するように設定する(ステップS24)。続いて、CPU10は、通知データを第1の共用メモリ32へ書き込む(ステップS25)。第1の共用メモリ32へ通知データを書き込むと、CPU10は、第1のアクセス制御装置12に第1の共用メモリ32へ書き込みを禁止するように設定する(ステップS26)。   When the standby CPU 20 is not reading the notification data from the first shared memory 32, the CPU 10 sets the first access control device 12 to permit writing to the first shared memory 32 (step S24). . Subsequently, the CPU 10 writes the notification data to the first shared memory 32 (step S25). When the notification data is written to the first shared memory 32, the CPU 10 sets the first access control device 12 to prohibit writing to the first shared memory 32 (step S26).

次に、CPU10は、第2のアクセス制御装置15に第2の共用メモリ33へ書き込みを許可するように設定する(ステップS27)。続いて、CPU10は、第2の共用メモリ33の書き込みカウンタをカウントアップする(ステップS28)。第2の共用メモリ33の書き込みカウンタをカウントアップすると、CPU10は、第2のアクセス制御装置15に第2の共用メモリ33へ書き込みを禁止するように設定する(ステップS29)。   Next, the CPU 10 sets the second access control device 15 to permit writing to the second shared memory 33 (step S27). Subsequently, the CPU 10 counts up the write counter of the second shared memory 33 (step S28). When the write counter of the second shared memory 33 is counted up, the CPU 10 sets the second access control device 15 to prohibit writing to the second shared memory 33 (step S29).

CPU10は、第2のアクセス制御装置15に第2の共用メモリ33へ書き込みを禁止するように設定すると、ステップS22へ移行し、再度、通知データが発生するまで待機する。   When the CPU 10 sets the second access control device 15 to prohibit writing to the second shared memory 33, the CPU 10 proceeds to step S22 and waits again until notification data is generated.

次に図5に示した待機系のCPU20の第1の共用メモリ32からのデータ読み出し処理手順について図7のフローチャートを参照して説明する。   Next, a data read processing procedure from the first shared memory 32 of the standby CPU 20 shown in FIG. 5 will be described with reference to the flowchart of FIG.

CPU20はメモリ21に保存された待機系用のプログラムにしたがって以下に記載する処理を実行する。   The CPU 20 executes processing described below in accordance with a standby system program stored in the memory 21.

CPU20は、処理を開始すると(ステップS31)、まず、現用系のCPU10によって第1の共用メモリ32に通知データが書き込まれるまで待機する(ステップS32)。なお、現用系のCPU10によって第1の共用メモリ32に通知データが書き込まれたか否かは、第2の共用メモリ33に格納されている書き込みカウンタの値と読み出しカウンタの値を比較することにより判別する。   When starting the processing (step S31), the CPU 20 first waits until notification data is written in the first shared memory 32 by the active CPU 10 (step S32). Whether or not the notification data has been written to the first shared memory 32 by the active CPU 10 is determined by comparing the value of the write counter stored in the second shared memory 33 with the value of the read counter. To do.

現用系のCPU10によって第1の共用メモリ32に通知データが書き込まれると、CPU20は、通知データを第1の共用メモリ32から読み出し、読み出したデータをメモリ21に保存する(ステップS33)。なお、待機系のCPU20が第1の共用メモリ32へ書き込むことはないため、第1のアクセス制御装置22は、常に第1の共用メモリ32へ書き込みを禁止するように設定される。   When the notification data is written in the first shared memory 32 by the active CPU 10, the CPU 20 reads the notification data from the first shared memory 32 and stores the read data in the memory 21 (step S33). Since the standby CPU 20 does not write to the first shared memory 32, the first access control device 22 is set to always prohibit writing to the first shared memory 32.

次に、CPU20は、第2のアクセス制御装置25に第2の共用メモリ33へ書き込みを許可するように設定する(ステップS34)。続いて、CPU20は、第2の共用メモリ33の読み出しカウンタをカウントアップする(ステップS35)。第2の共用メモリ33の読み出しカウンタをカウントアップすると、CPU20は、第2のアクセス制御装置25に第2の共用メモリ33へ書き込みを禁止するように設定する(ステップS36)。   Next, the CPU 20 sets the second access control device 25 to permit writing to the second shared memory 33 (step S34). Subsequently, the CPU 20 counts up the read counter of the second shared memory 33 (step S35). When the read counter of the second shared memory 33 is counted up, the CPU 20 sets the second access control device 25 to prohibit writing to the second shared memory 33 (step S36).

CPU20は、第2のアクセス制御装置25に第2の共用メモリ33へ書き込みを禁止するように設定すると、ステップS32へ移行し、再度、現用系のCPU10によって第1の共用メモリ32に通知データが書き込まれるまで待機する。   When the CPU 20 sets the second access control device 25 to prohibit writing to the second shared memory 33, the CPU 20 proceeds to step S 32, and notification data is again sent to the first shared memory 32 by the active CPU 10. Wait until it is written.

第3の実施の形態の情報処理装置は、共用メモリへの書き込みを制限する。現用系のCPUあるいは待機系のCPUが共用メモリへデータを書き込んでいないとき、共用メモリへの書き込みは禁止されているので、運用中に共用メモリのデータが破壊される可能性は低くなる。   The information processing apparatus according to the third embodiment restricts writing to the shared memory. When the active CPU or standby CPU is not writing data to the shared memory, writing to the shared memory is prohibited, so the possibility that the data in the shared memory is destroyed during operation is low.

また、待機系のCPUは、現用系のCPUが通知データを共用メモリへ書き込み終わったタイミングで当該データを読み出し、読み出したデータを現用系からアクセスできない待機系のメモリに保存する。現用系から待機系に切り替わると、待機系のCPUは、共用メモリに保存されたデータではなく、待機系のメモリに保存されたデータにしたがって動作する。現用系のCPUが通知データを共用メモリへ書き込んでいるときに停止した場合、第2の共用メモリの書き込み情報が更新されず、待機系のCPUは共用メモリからデータを読み出さない。このため、書き込み途中の不連続なデータが待機系で使用されるおそれがなくなる。   The standby CPU reads the data when the active CPU has finished writing the notification data to the shared memory, and stores the read data in the standby memory that cannot be accessed from the active system. When the active system is switched to the standby system, the standby CPU operates according to the data stored in the standby memory, not the data stored in the shared memory. If the active CPU stops while writing notification data to the shared memory, the write information in the second shared memory is not updated, and the standby CPU does not read data from the shared memory. For this reason, there is no possibility that discontinuous data during writing is used in the standby system.

また、現用系のCPUは共用メモリへの書き込みを禁止にしてから、第2の共用メモリの書き込み情報を更新し、通知データを共用メモリへ書き込んだことを待機系のCPUに通知する。つまり、現用系のCPUが暴走し、共用メモリの通知データが破壊された場合、第2の共用メモリの書き込み情報が更新されず、待機系のCPUは共用メモリからデータを読み出さない。このため、破壊された通知データが待機系で使用されるおそれがなくなる。   Also, after the current CPU prohibits writing to the shared memory, it updates the write information of the second shared memory and notifies the standby CPU that the notification data has been written to the shared memory. That is, when the active CPU runs out of control and the notification data in the shared memory is destroyed, the write information in the second shared memory is not updated, and the standby CPU does not read data from the shared memory. For this reason, there is no possibility that the destroyed notification data is used in the standby system.

つまり、第3の実施の形態によれば、第1の実施の形態に示した割り込みコントローラを使用せずに、第1の実施の形態の情報処理装置と同様の効果を得ることが可能になる。第3の実施の形態の情報処理装置は、現用系のCPUに異常が発生したときに、安全に現用系から待機系へ切り換えることができ、高い信頼性を保障できる。   That is, according to the third embodiment, it is possible to obtain the same effect as that of the information processing apparatus according to the first embodiment without using the interrupt controller shown in the first embodiment. . The information processing apparatus according to the third embodiment can safely switch from the active system to the standby system when an abnormality occurs in the active CPU, thereby ensuring high reliability.

(第4の実施の形態)
第4の実施の形態では、通信システムで用いられる情報処理装置について説明する。
(Fourth embodiment)
In the fourth embodiment, an information processing apparatus used in a communication system will be described.

図8は第4の実施の形態の情報処理装置の構成を示すブロック図である。   FIG. 8 is a block diagram illustrating the configuration of the information processing apparatus according to the fourth embodiment.

図8に示すように、第4の実施の形態の情報処理装置1は、現用系として、CPU10、メモリ11、第1のアクセス制御装置12および第2のアクセス制御装置15を有し、待機系として、CPU20、メモリ21、第1のアクセス制御装置22および第2のアクセス制御装置25を有し、共通部として、記録媒体30、記録媒体インタフェース部31、第1の共用メモリ32、第2の管理用共用メモリ33、外部入出力装置34および外部バス切り替え器35を有する。   As illustrated in FIG. 8, the information processing apparatus 1 according to the fourth embodiment includes a CPU 10, a memory 11, a first access control device 12, and a second access control device 15 as active systems, and a standby system. As a common unit, there are a recording medium 30, a recording medium interface unit 31, a first shared memory 32, a second access control unit 25, and a CPU 20, a memory 21, a first access control device 22 and a second access control device 25. A management shared memory 33, an external input / output device 34, and an external bus switch 35 are provided.

CPU10、メモリ11、第1のアクセス制御装置12、第2のアクセス制御装置15、CPU20、メモリ21、第1のアクセス制御装置22、第2のアクセス制御装置25、記録媒体30、記録媒体インタフェース部31、第1の共用メモリ32および第2の共用メモリ32の構成は第3の実施の形態と同一である。   CPU 10, memory 11, first access control device 12, second access control device 15, CPU 20, memory 21, first access control device 22, second access control device 25, recording medium 30, and recording medium interface unit The configurations of 31, the first shared memory 32 and the second shared memory 32 are the same as those of the third embodiment.

また、外部入出力装置34および外部バス切り替え器35の構成は第2の実施の形態と同一である。   The configurations of the external input / output device 34 and the external bus switch 35 are the same as those in the second embodiment.

本構成を採ることにより、第4の実施の形態の情報処理装置は、第2の実施の形態に示した割り込みコントローラを使用せずに、第2の実施の形態の情報処理装置と同様の効果を得ることが可能になる。つまり、第4の実施の形態の情報処理装置は、情報処理装置が通信システムに用いられる場合において、現用系のCPUに異常が発生したときに、処理中のデータを消失することなく、通信データの連続性を保つことが可能になる。   By adopting this configuration, the information processing apparatus according to the fourth embodiment has the same effects as the information processing apparatus according to the second embodiment without using the interrupt controller described in the second embodiment. Can be obtained. That is, in the information processing apparatus according to the fourth embodiment, when the information processing apparatus is used in a communication system, when an abnormality occurs in the active CPU, the communication data is not lost. Can be maintained.

第1の実施の形態の情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus of 1st Embodiment. 図1に示した現用系のCPUの共用メモリへのデータ書き込み処理手順を示すフローチャートである。3 is a flowchart showing a data write processing procedure to a shared memory of an active CPU shown in FIG. 1. 図1に示した待機系のCPUの共用メモリからのデータ読み出し処理手順を示すフローチャートである。3 is a flowchart showing a procedure for reading data from a shared memory of a standby CPU shown in FIG. 1. 第2の実施の形態の情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus of 2nd Embodiment. 第3の実施の形態の情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus of 3rd Embodiment. 図5に示した現用系のCPUの共用メモリへのデータ書き込み処理手順を示すフローチャートである。6 is a flowchart showing a data write processing procedure to a shared memory of the active CPU shown in FIG. 5. 図5に示した待機系のCPUの共用メモリからのデータ読み出し処理手順を示すフローチャートである。6 is a flowchart showing a data read processing procedure from a shared memory of a standby CPU shown in FIG. 5. 第4の実施の形態の情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus of 4th Embodiment.

符号の説明Explanation of symbols

1 情報処理装置
10、20 CPU
11、21 メモリ
12、22 第1のアクセス制御装置
13、23 割り込みコントローラ
14、24 内部バス
15、25 第2のアクセス制御装置
30 記録媒体
31 記録媒体インタフェース部
32 第1の共用メモリ
33 第2の共用メモリ
34 外部入出力装置
35 外部バス切り替え器
36 外部バス
1 Information processing apparatus 10, 20 CPU
11, 21 Memory 12, 22 First access control device 13, 23 Interrupt controller 14, 24 Internal bus 15, 25 Second access control device 30 Recording medium 31 Recording medium interface unit 32 First shared memory 33 Second Shared memory 34 External input / output device 35 External bus switch 36 External bus

Claims (5)

現用系および待機系からアクセス可能な第1の共用メモリと、
現用系からの前記第1の共用メモリへの書き込みを禁止または許可する現用系の第1のアクセス制御装置と、
待機系からのみアクセス可能な待機系のメモリと、
現用系からの要求に応じて待機系に割り込み信号を出力する待機系の割り込みコントローラと、
待機系からの要求に応じて現用系に割り込み信号を出力する現用系の割り込みコントローラと、
待機系に通知する通知データを前記第1の共用メモリに書き込むときのみ前記現用系の第1のアクセス制御装置に該第1の共用メモリへの書き込みを許可させ、前記通知データを前記第1の共用メモリに書き込むと、前記待機系の割り込みコントローラに割り込み信号を出力させることにより、該通知データを該第1の共用メモリに書き込み済みであることを示す書き込み通知を待機系に通知する現用系のCPUと、
前記現用系のCPUから前記書き込み通知が通知されると、前記通知データを前記第1の共用メモリから読み出し、該通知データを前記待機系のメモリに保存し、前記現用系の割り込みコントローラに割り込み信号を出力させることにより、該通知データを該第1の共用メモリから読み出し済みであることを示す読み出し通知を現用系に通知し、現用系から待機系に切り替わると、前記待機系のメモリに保存された通知データを用いて処理を実行する待機系のCPUと、
を有する情報処理装置。
A first shared memory accessible from the active system and the standby system;
A first access control device for the working system that prohibits or permits writing to the first shared memory from the working system;
A standby memory accessible only from the standby system, and
A standby interrupt controller that outputs an interrupt signal to the standby system in response to a request from the active system;
An active interrupt controller that outputs an interrupt signal to the active system in response to a request from the standby system;
Only when the notification data to be notified to the standby system is written in the first shared memory, the active first access control device is allowed to write to the first shared memory, and the notification data is sent to the first shared memory. When writing to the shared memory, the standby interrupt controller outputs an interrupt signal to notify the standby system of a write notification indicating that the notification data has been written to the first shared memory. CPU,
When the write notification is notified from the active CPU, the notification data is read from the first shared memory, the notification data is stored in the standby memory, and an interrupt signal is sent to the active interrupt controller. Is output to the active system, and when the active system is switched to the standby system, the notification data is stored in the standby system memory. A standby CPU that executes processing using the notified data,
An information processing apparatus.
現用系および待機系からアクセス可能であり、現用系から待機系に通知する通知データを格納する第1の共用メモリと、
現用系からの前記第1の共用メモリへの書き込みを禁止または許可する現用系の第1のアクセス制御装置と、
待機系からのみアクセス可能な待機系のメモリと、
現用系および待機系からアクセス可能であり、前記通知データを現用系から前記第1の共用メモリに書き込み済みであることを示す書き込み情報および前記通知データを待機系で前記第1の共用メモリから読み出し済みであることを示す読み出し情報を格納する第2の共用メモリと、
現用系からの前記第2の共用メモリへの書き込みを禁止または許可する現用系の第2のアクセス制御装置と、
待機系からの前記第2の共用メモリへの書き込みを禁止または許可する待機系の第2のアクセス制御装置と、
前記通知データを前記第1の共用メモリに書き込むときのみ前記現用系の第1のアクセス制御装置に該第1の共用メモリへの書き込みを許可させ、前記書き込み情報を前記第2の共用メモリに書き込むときのみ前記現用系の第2のアクセス制御装置に該第2の共用メモリへの書き込みを許可させ、前記通知データを前記第1の共用メモリに書き込むと、前記第2の共用メモリの前記書き込み情報を更新する現用系のCPUと、
前記読み出し情報を前記第2の共用メモリに書き込むときのみ前記待機系の第2のアクセス制御装置に該第2の共用メモリへの書き込みを許可させ、前記現用系のCPUから前記書き込み情報が前記第2の共用メモリに書き込まれると、前記通知データを前記第1の共用メモリから読み出し、該通知データを前記待機系のメモリに保存し、前記第2の共用メモリの前記読み出し情報を更新し、現用系から待機系に切り替わると、前記待機系のメモリに保存された通知データを用いて処理を実行する待機系のCPUと、
を有する情報処理装置。
A first shared memory that is accessible from the active system and the standby system, and stores notification data to be notified from the active system to the standby system;
A first access control device for the working system that prohibits or permits writing to the first shared memory from the working system;
A standby memory accessible only from the standby system, and
Write information indicating that the notification data has been written from the active system to the first shared memory and the notification data can be accessed from the active system and the standby system and read from the first shared memory in the standby system A second shared memory for storing read information indicating that it has been completed;
A second access control device for the working system that prohibits or permits writing to the second shared memory from the working system;
A second access control device for the standby system that prohibits or permits writing to the second shared memory from the standby system;
Only when the notification data is written to the first shared memory, the active first access control device is allowed to write to the first shared memory, and the write information is written to the second shared memory. The write information of the second shared memory is written only when the second access control device of the active system is allowed to write to the second shared memory and the notification data is written to the first shared memory. An active CPU that updates
Only when the read information is written to the second shared memory, the second access control device of the standby system is allowed to write to the second shared memory, and the write information is sent from the active CPU to the second shared memory. 2, the notification data is read from the first shared memory, the notification data is stored in the standby memory, the read information of the second shared memory is updated, When the system is switched from the standby system to the standby system, the standby system CPU executes processing using the notification data stored in the standby system memory;
An information processing apparatus.
外部の通信機器とデータを送受信する外部入出力装置と、
現用系または待機系のいずれで処理するかによって前記外部入出力装置の接続先を切り替える外部バス切り替え器と、をさらに有する請求項1または2記載の情報処理装置。
An external input / output device for transmitting / receiving data to / from an external communication device;
The information processing apparatus according to claim 1, further comprising: an external bus switch that switches a connection destination of the external input / output device depending on whether processing is performed in an active system or a standby system.
現用系および待機系からアクセス可能な第1の共用メモリと、
現用系からの前記第1の共用メモリへの書き込みを禁止または許可する現用系の第1のアクセス制御装置と、
待機系からのみアクセス可能な待機系のメモリと、
現用系からの要求に応じて待機系に割り込み信号を出力する待機系の割り込みコントローラと、
待機系からの要求に応じて現用系に割り込み信号を出力する現用系の割り込みコントローラと、を有する情報処理装置のメモリ制御方法であって、
現用系のCPUが、
待機系に通知する通知データを前記第1の共用メモリに書き込むときのみ前記現用系の第1のアクセス制御装置に該第1の共用メモリへの書き込みを許可させ、
前記通知データを前記第1の共用メモリに書き込むと、前記待機系の割り込みコントローラに割り込み信号を出力させることにより、該通知データを該第1の共用メモリに書き込み済みであることを示す書き込み通知を待機系に通知し、
待機系のCPUが、
前記現用系のCPUから前記書き込み通知が通知されると、前記通知データを前記第1の共用メモリから読み出し、該通知データを前記待機系のメモリに保存し、前記現用系の割り込みコントローラに割り込み信号を出力させることにより、該通知データを該第1の共用メモリから読み出し済みであることを示す読み出し通知を現用系に通知し、
現用系から待機系に切り替わると、前記待機系のメモリに保存された通知データを用いて処理を実行するメモリ制御方法。
A first shared memory accessible from the active system and the standby system;
A first access control device for the working system that prohibits or permits writing to the first shared memory from the working system;
A standby memory accessible only from the standby system, and
A standby interrupt controller that outputs an interrupt signal to the standby system in response to a request from the active system;
A memory control method for an information processing apparatus, comprising: an active interrupt controller that outputs an interrupt signal to an active system in response to a request from a standby system;
The active CPU is
Only when the notification data to be notified to the standby system is written to the first shared memory, the active first access control device is allowed to write to the first shared memory,
When the notification data is written to the first shared memory, a write notification indicating that the notification data has been written to the first shared memory is generated by causing the standby interrupt controller to output an interrupt signal. Notify the standby system,
The standby CPU
When the write notification is notified from the active CPU, the notification data is read from the first shared memory, the notification data is stored in the standby memory, and an interrupt signal is sent to the active interrupt controller. To notify the active system of a read notification indicating that the notification data has been read from the first shared memory,
A memory control method for executing a process using notification data stored in a memory of the standby system when the active system is switched to a standby system.
現用系および待機系からアクセス可能であり、現用系から待機系に通知する通知データを格納する第1の共用メモリと、
現用系からの前記第1の共用メモリへの書き込みを禁止または許可する現用系の第1のアクセス制御装置と、
待機系からのみアクセス可能な待機系のメモリと、
現用系および待機系からアクセス可能であり、前記通知データを現用系から前記第1の共用メモリに書き込み済みであることを示す書き込み情報および前記通知データを待機系で前記第1の共用メモリから読み出し済みであることを示す読み出し情報を格納する第2の共用メモリと、
現用系からの前記第2の共用メモリへの書き込みを禁止または許可する現用系の第2のアクセス制御装置と、
待機系からの前記第2の共用メモリへの書き込みを禁止または許可する待機系の第2のアクセス制御装置と、を有する情報処理装置のメモリ制御方法であって
現用系のCPUが、
前記通知データを前記第1の共用メモリに書き込むときのみ前記現用系の第1のアクセス制御装置に該第1の共用メモリへの書き込みを許可させ、
前記書き込み情報を前記第2の共用メモリに書き込むときのみ前記現用系の第2のアクセス制御装置に該第2の共用メモリへの書き込みを許可させ、
前記通知データを前記第1の共用メモリに書き込むと、前記第2の共用メモリの前記書き込み情報を更新し、
待機系のCPUが、
前記読み出し情報を前記第2の共用メモリに書き込むときのみ前記待機系の第2のアクセス制御装置に該第2の共用メモリへの書き込みを許可させ、
前記現用系のCPUから前記書き込み情報が前記第2の共用メモリに書き込まれると、前記通知データを前記第1の共用メモリから読み出し、該通知データを前記待機系のメモリに保存し、前記第2の共用メモリの前記読み出し情報を更新し、
現用系から待機系に切り替わると、前記待機系のメモリに保存された通知データを用いて処理を実行するメモリ制御方法。
A first shared memory that is accessible from the active system and the standby system, and stores notification data to be notified from the active system to the standby system;
A first access control device for the working system that prohibits or permits writing to the first shared memory from the working system;
A standby memory accessible only from the standby system, and
Write information indicating that the notification data has been written from the active system to the first shared memory and the notification data can be accessed from the active system and the standby system and read from the first shared memory in the standby system A second shared memory for storing read information indicating that it has been completed;
A second access control device for the working system that prohibits or permits writing to the second shared memory from the working system;
A second access control device for a standby system that prohibits or permits writing to the second shared memory from the standby system, and a memory control method for an information processing device, wherein the active CPU includes:
Only when the notification data is written to the first shared memory, the active first access control device is allowed to write to the first shared memory;
Only when the write information is written to the second shared memory, the second access control device of the active system is allowed to write to the second shared memory,
When the notification data is written to the first shared memory, the write information of the second shared memory is updated,
The standby CPU
Only when the read information is written to the second shared memory, the second access control device of the standby system is allowed to write to the second shared memory,
When the write information is written from the active CPU to the second shared memory, the notification data is read from the first shared memory, the notification data is stored in the standby memory, and the second Update the read information of the shared memory of
A memory control method for executing a process using notification data stored in a memory of the standby system when the active system is switched to a standby system.
JP2008332984A 2008-12-26 2008-12-26 Information processor and memory control method therefor Pending JP2010231249A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008332984A JP2010231249A (en) 2008-12-26 2008-12-26 Information processor and memory control method therefor
PCT/JP2009/006688 WO2010073510A1 (en) 2008-12-26 2009-12-08 Information processor and memory control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008332984A JP2010231249A (en) 2008-12-26 2008-12-26 Information processor and memory control method therefor

Publications (1)

Publication Number Publication Date
JP2010231249A true JP2010231249A (en) 2010-10-14

Family

ID=42287168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008332984A Pending JP2010231249A (en) 2008-12-26 2008-12-26 Information processor and memory control method therefor

Country Status (2)

Country Link
JP (1) JP2010231249A (en)
WO (1) WO2010073510A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04111039A (en) * 1990-08-31 1992-04-13 Toshiba Corp Other system memory control method for complex system
JPH10289121A (en) * 1997-04-14 1998-10-27 Sumitomo Sitix Corp Dual computer system
JP2004070642A (en) * 2002-08-06 2004-03-04 Fujitsu Access Ltd Communication system for performing data transfer through shared memory

Also Published As

Publication number Publication date
WO2010073510A1 (en) 2010-07-01

Similar Documents

Publication Publication Date Title
JP5161791B2 (en) Information processing apparatus, integrated circuit, method, and program
JP2011108252A (en) Memory card, data processor, and control method and setting method for memory card
US6880104B2 (en) Computer system for mutual communication through network and its memory management method
JP2010113712A (en) Method, device and system for storing data in cache in power failure
KR20110007072A (en) Memory device
US20120144094A1 (en) Data storage apparatus and method for controlling flash memory
JP2006277078A (en) Log information management device, method and program
KR100827287B1 (en) Semiconductor secondary memory unit and data saving method using the same
JP2015035007A (en) Computer, control program, and dump control method
EP1589427B1 (en) Boot control system
JP2010231249A (en) Information processor and memory control method therefor
JP5251142B2 (en) Transfer device, transfer device control method, and information processing device
JP2008046981A (en) System controller, information processor, and input/output request control method
JP2008287727A (en) Storage device
JP2006260393A (en) Cpu system
JP5661313B2 (en) Storage device
KR20080112601A (en) Memory device sharing bootram and dataram and system booting method including the memory device
JP4911449B2 (en) Recording medium protection device
JP2005209178A (en) Memory protection unit, memory protection method, and memory protection program
JP2009054116A (en) Memory system and information processor
JP2006120098A (en) Cache memory device and management method for the same
JP2006209371A (en) Controller
KR100362572B1 (en) Duplication method and duplication processor apparatus for communication apparatus
JP2009193310A (en) Memory access control method
KR100818725B1 (en) Multi-port semiconductor memory device having shared bank, semiconductor memory system having the same, and Refresh method thereof