JP4667093B2 - 二重化記憶装置及び二重化記憶装置の制御方法 - Google Patents

二重化記憶装置及び二重化記憶装置の制御方法 Download PDF

Info

Publication number
JP4667093B2
JP4667093B2 JP2005076591A JP2005076591A JP4667093B2 JP 4667093 B2 JP4667093 B2 JP 4667093B2 JP 2005076591 A JP2005076591 A JP 2005076591A JP 2005076591 A JP2005076591 A JP 2005076591A JP 4667093 B2 JP4667093 B2 JP 4667093B2
Authority
JP
Japan
Prior art keywords
data
memory
read
control unit
unit
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.)
Expired - Fee Related
Application number
JP2005076591A
Other languages
English (en)
Other versions
JP2006260160A (ja
Inventor
俊和 植木
孝治 石塚
孝夫 松井
誠 畑井田
由佳 細川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005076591A priority Critical patent/JP4667093B2/ja
Priority to EP05253910A priority patent/EP1703400B1/en
Priority to DE602005023261T priority patent/DE602005023261D1/de
Priority to CNB2005100832600A priority patent/CN100375962C/zh
Priority to KR1020050063641A priority patent/KR100720913B1/ko
Priority to US11/237,934 priority patent/US7467261B2/en
Publication of JP2006260160A publication Critical patent/JP2006260160A/ja
Application granted granted Critical
Publication of JP4667093B2 publication Critical patent/JP4667093B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/005Circuit means for protection against loss of information of semiconductor storage devices
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、データを保持するメモリとその入出力系統とが二重化され、信頼性が高められた二重化記憶装置及びその制御方法に関する。
現在、産業上で計算機が必要とされる範囲は広がり、計算機には一層の信頼性が求められている。計算機に求められる信頼性には、一つには、計算機に使用される資源(CPU(Central Processing Unit)、メモリ、ハードディスク等)が故障しても計算機が継続動作可能な耐故障性があり、一つには、情報伝達の過程で生じるビット反転等のデータエラーを検出/訂正可能な耐エラー性がある。
計算機に求められる信頼性を高める方法の一つに、資源を多重化することが挙げられる。例えば、特許文献1〜4によれば、メモリが二重化され、同一のデータを二重化されたメモリに書き込み、読み出し時にそれぞれのメモリから読み出されたデータが比較され、処理に使用するデータを選択する構成が記載される。
すると、一方のメモリが故障しても残りのメモリに格納されるデータを使用することができるため、耐故障性が高められる。また、二重化されたメモリから読み出されたデータが一致して初めて処理に使用されるため、比較の過程でエラーの検出/訂正が行われ、耐エラー性が高められる。
特開昭62−140153号公報 特開平4−149653号公報 特開昭57−101950号公報 特開平8−297588号公報
メモリは、メモリに対する読み出し要求や書き込み要求を処理するメモリコントローラにより制御される。近年DIMM(Dual Inline Memory Module)の大容量化、データ転送の高速化によりこのメモリコントローラに使用するLSI(Large Scale Integration)は複雑な構成となり、LSI内部でエラーが発生する可能性や外乱などにより外部から影響を受ける可能性が高くなっている。
メモリが二重化される場合、各メモリに対する入出力系統も二重化され、各入出力系統にメモリコントローラが設けられる。そして、通常は2つのメモリコントローラが対称に(つまり、同期を取って)動作する。しかし、全く同じ条件で動作させると対称に(つまり、同期を取って)動くLSIでも、内部で発生するエラーや外乱などが原因で、各入出力系統に設けられるメモリコントローラの動作が異なるようになる場合がある。
二重化メモリのメモリコントローラの動作が非対称に(非同期に)なると、例えば、データのタイミングがずれる、データが喪失する、データの順序が入れ替わる、などの現象が計算機に発生する可能性がある。例えば、データのタイミングがずれるだけで、読み出し時にそれぞれのメモリから読み出されたデータが一致しなくなる。この場合、データ自体が破壊されたわけではなく、計算機としては、どちらのデータを処理に使用すべきかを判定できないため、計算機の継続動作が不可能になる。
こうして、従来技術においては、メモリが二重化されていても、メモリコントローラに使用するLSIの不調により、計算機の動作を停止させる必要が生じる。すると、メモリを二重化しても、計算機の継続動作が不可能になり、計算機に求められる信頼性が低下してしまう場合があるという課題を有していた。
そこで、本発明の目的は、計算機に求められる信頼性を低下させることなく、計算機の継続動作を一層可能にする二重化記憶装置及び二重化記憶装置の制御方法を提供することにある。
上記目的は、本発明の第一の側面として、同一のデータを保持する第1及び第2のメモリと、入力される読み出し制御信号に基づき前記第1及び前記第2のメモリよりそれぞれ読み出されるデータのいずれかを選択するセレクタとを備える二重化記憶装置であって、前記読み出し制御信号が入力されるとき、該読み出し制御信号を識別する識別子を該入力される読み出し制御信号に付与して出力する要求管理部と、前記要求管理部より出力される読み出し制御信号に基づき、前記第1のメモリからデータを読み出し、該第1のメモリから読み出されるデータを前記要求管理部より出力される読み出し制御信号に付与される前記識別子と共に出力する第1の主メモリ制御部と、前記要求管理部より出力される読み出し制御信号と、前記第1の主メモリ制御部が読み出すデータとが入力され、前記入力されるデータを前記要求管理部より出力される読み出し制御信号に付与される前記識別子と共に出力する第1の副メモリ制御部と、前記要求管理部より出力される読み出し制御信号に基づき、前記第2のメモリからデータを読み出し、該第2のメモリから読み出されるデータを前記要求管理部より出力される読み出し制御信号に付与される前記識別子と共に出力する第2の主メモリ制御部と、前記要求管理部より出力される読み出し制御信号と、前記第2の主メモリ制御部が読み出すデータとが入力され、前記入力されるデータを前記要求管理部より出力される読み出し制御信号に付与される前記識別子と共に出力する第2の副メモリ制御部と、前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性と、前記第2の主メモリ制御部と前記第2の副メモリ制御部とから入力される前記識別子の同一性とを確認する同期検査部と、前記確認の結果に基づき、前記セレクタを制御するセレクタ制御部とを有することを特徴とする二重化記憶装置を提供することにより達成される。
上記発明の側面においてより好ましい実施例によれば、前記同期検査部により、前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性及び前記第2の主メモリ制御部と前記第2の副メモリ制御部とから入力される前記識別子の同一性が共に確認される場合に、前記第1のメモリから読み出されるデータと前記第2のメモリから読み出されるデータとが一致するかを確認する一致検査部を有し、前記セレクタ制御部は、前記一致検査部により一致が確認されない場合、システムエラーを出力する。
上記発明の側面においてより好ましい実施例によれば、前記セレクタ制御部は、前記同期検査部により、前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性が確認される場合、前記第1のメモリより読み出されるデータが選択されるよう前記セレクタを制御し、前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性が確認されない場合、かつ、前記第2の主メモリ制御部と前記第2の副メモリ制御部とから入力される前記識別子の同一性が確認される場合、前記第2のメモリより読み出されるデータが選択されるよう前記セレクタを制御する。
上記発明の側面においてより好ましい実施例によれば、前記セレクタ制御部は、前記同期検査部により、前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性及び前記第2の主メモリ制御部と前記第2の副メモリ制御部とから入力される前記識別子の同一性が共に確認されない場合、システムエラーを出力する。
上記発明の側面においてより好ましい実施例によれば、前記データに付与された誤り検出/訂正符号を検査する符号検査部を有し、前記セレクタ制御部は、前記符号検査部により、前記第1のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出されない場合、前記第1のメモリより読み出されるデータが選択されるよう前記セレクタを制御し、前記第1のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出される場合、かつ、前記第2のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出されない場合、前記第2のメモリより読み出されるデータが選択されるよう前記セレクタを制御する。
上記発明の側面においてより好ましい実施例によれば、前記セレクタ制御部は、前記符号検査部により、前記第1のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出される場合、かつ、前記第2のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出される場合、システムエラーを出力する。
また、上記目的は、第二の側面として、同一のデータを保持する第1及び第2のメモリと、入力される読み出し制御信号に基づき前記第1及び前記第2のメモリよりそれぞれ読み出されるデータのいずれかを選択するセレクタとを備える二重化記憶装置の制御方法であって、前記二重化記憶装置は、前記読み出し制御信号が入力されるとき、該読み出し制御信号を識別する識別子を生成し、前記二重化記憶装置は、前記読み出し制御信号に基づき、前記第1のメモリからデータを読み出し、該第1のメモリから読み出されるデータに前記読み出し制御信号に付与される前記識別子を追加して、第1の主データを生成し、前記二重化記憶装置は、前記第1のメモリから読み出されるデータに前記読み出し制御信号に付与される前記識別子を追加して、第1の副データを生成し、前記二重化記憶装置は、前記読み出し制御信号に基づき、前記第2のメモリからデータを読み出し、該第2のメモリから読み出されるデータに前記読み出し制御信号に付与される前記識別子を追加して、第2の主データを生成し、前記二重化記憶装置は、前記第2のメモリから読み出されるデータに前記読み出し制御信号に付与される前記識別子を追加して、第2の副データを生成し、前記二重化記憶装置は、前記第1の主データと前記第1の副データにそれぞれ含まれる前記識別子の同一性と、前記第2の主データと前記第2の副データとにそれぞれ含まれる前記識別子の同一性とを確認し、前記二重化記憶装置は、前記確認の結果に基づき、前記セレクタを制御することを特徴とする制御方法を提供することにより達成される。
本発明の実施形態の二重化記憶装置を用いれば、計算機に求められる信頼性を低下させることなく、計算機の継続動作を一層可能にする。
以下、本発明の実施の形態について図面に従って説明する。しかしながら、本発明の技術的範囲はかかる実施の形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
図1は、本実施形態における二重化記憶装置の構成例を示す図である。二重化記憶装置は、図示省略されたバスを介してCPU(Central Processing Unit)に接続されており、CPUより入力される要求信号に応じた処理を行う。
例えば、書き込み要求であれば、二重化記憶装置は、書き込み要求と共に入力される書き込みデータをメモリ1Aとメモリ1Bの指定されたアドレスに格納し、CPUに処理結果を通知する。こうして、メモリ1Aとメモリ1Bには同一のデータが格納される。また、読み出し要求101であれば、二重化記憶装置は、指定されたアドレスからデータを読み出し、読み出されたデータを含むデータ104をCPUに出力するか、システムエラー108をCPUに通知する。
本実施形態の二重化記憶装置においては、データを格納する記憶素子を複数含むメモリが二重化され(メモリ1Aとメモリ1B)、それに伴い入出力系統も二重化されている。ここでは、メモリ1Aから読み出されるデータが使用される入出力系統をA系統、メモリ1Bから読み出されるデータが使用される入出力系統をB系統と呼んで区別することにする。
本実施形態の二重化記憶装置の特徴として、読み出し要求101が入力されると、管理部30が、その読み出し要求101を識別する識別子(制御ID)を生成し、読み出し要求101に付加する。この制御IDが付与された読み出し要求をメモリ制御信号102として、後述するメモリ制御部に出力する。
読み出し要求101には、読み出し先として指定されるアドレス、読み出しであることを示すリードコマンド(書き込みであれば、ライトコマンドとなる)等が含まれる。管理部30は、各読み出し要求101が二重化記憶装置に入力される時間や、その内容(指定アドレスやコマンド)が異なれば、異なる識別子となるよう、重複しない制御IDを生成し、各読み出し要求を識別可能とする。
この重複しない制御IDにより、二重化記憶装置は、異なるタイミングで入力された要求を処理する同期ずれエラーを検出する。なお、本実施形態では、読み出し要求に対し、制御IDを生成するが、書き込み要求に対し制御IDを発行しても構わない。
また、本実施形態の二重化記憶装置の別の特徴として、各入出力系統に対し2つのメモリ制御部が設けられる。即ち、A系では、メモリ1Aに対して、メモリ制御部2A1とメモリ制御部2A2が、B系では、メモリ1Bに対して、メモリ制御部2B1とメモリ制御部2B2が設けられる。管理部30は、読み出し要求101が入力されると、同一のメモリ制御信号102を4つのメモリ制御部に対して出力する。
メモリ制御部2A1、2A2は、メモリ1Aを制御し、メモリ制御部2B1、2B2は、メモリ2Bを制御する。各メモリ制御部は、メモリに対する書き込み要求に応じて、書き込み要求と共に入力される書き込みデータを指定されたアドレスに書き込む。
また、メモリに対する読み出し要求101に応じて、各メモリ制御部は、読み出し先の指定アドレス+リードコマンド103をメモリに出力して、データ41を読み出す。そして、各メモリ制御部は、メモリから読み出したデータ41に、メモリ制御信号102より得られる制御IDを含むヘッダを追加して、ヘッダ付データ104を後段のデータ制御部10に与える。
データ制御部10は、ECC検査部(符号検査部)、同期検査部、一致検査部5、セレクタ制御部6、バスセレクタ7を含む。ECC検査部と同期検査部は、A系統、B系統にそれぞれ設けられる。
ECC検査部3A、3Bは、ヘッダ付データ104に含まれるヘッダとデータにそれぞれ含まれる誤り検出/訂正符号(ECC: Error Checking and Correct Code)に基づき、訂正不可能なビットエラーを検出する符号検査を行う。符号検査により訂正不可能なビットエラーが検出されると、各ECC検査部は、セレクタ制御部6に、符号エラー105を通知する。
同期検査部4A、4Bは、ヘッダ付データ104に含まれるヘッダに含まれる制御IDに基づき、各入出力系統に2つ含まれるメモリ制御部が同期していない状態である同期エラーを検出する同期検査を行う。同期検査により同期エラーが検出されると、各同期検査部は、セレクタ制御部6に、同期エラー106を通知する。
同期検査部4A、4Bは、ヘッダ全体が一致するかにより、一致しない場合、同期エラーとすることができる。また、同期検査部4A、4Bは、ヘッダに含まれる制御IDが一致しない場合、同期エラーと判定しても良い。
一致検査部5は、各同期検査部、各ECC検査部において検出できない多重障害を検出するため、各同期検査部、各ECC検査部においてエラーが検出されなかった場合に、メモリ1Aから読み出されたデータと、メモリ1Bから読み出されたデータとが一致するかを確認する一致検査を行う。一致検査部5は、セレクタ制御部6に、一致検査の結果107を通知する。
セレクタ制御部6は、各ECC検査部、各同期検査部における検査結果に応じて、A系統かB系統かを選択する選択信号108をバスセレクタ7に入力する。セレクタ制御部6は、エラーが通知されていない方の系統を選択する選択信号108をバスセレクタ7に入力する。
例えば、ECC検査部3Aが符号エラー105を通知する場合、セレクタ制御部6は、B系統を選択する選択信号108をバスセレクタ7に入力する。同期検査部4Bが同期エラー106を通知する場合、セレクタ制御部6は、A系統を選択する選択信号108をバスセレクタ7に入力する。
そして、両系統からエラーが通知される場合、セレクタ制御部6は、システムエラー109を出力する。また、一致検査部5による一致検査で両データの不一致が確認される場合も、セレクタ制御部6は、システムエラー109を出力する。
バスセレクタ7は、セレクタ制御部6からの選択信号に基づき、使用する入出力系統を切り替える。なお、図1において、B系統における信号の内容は、A系統における信号の内容と同じであるため、番号付けは省略されている。
図2は、本実施形態におけるメモリ制御部の詳細な構成例を示す図である。図2には、A系統に関する構成が示されるが、メモリ制御部2B1、2B2の構成もメモリ制御部2A1、2A2と同様である。
読み出し制御信号102には、アドレス、リードコマンド、制御IDが含まれる。アドレスは、メモリ上のデータの位置を示す情報である。リードコマンドは、読み出し要求であることを示す。制御IDは、読み出し要求を一意に識別する識別子であり、管理部30により生成される。
管理部30より入力される読み出し制御信号102に含まれる情報のうち、アドレス201は、アドレスキュー11、21に格納される。そして、管理部30より入力される読み出し制御信号102に含まれる情報のうち、リードコマンド+制御ID202がコマンドキュー12、22に格納される。
コマンドキュー12、22は、リードコマンド、制御IDを格納するレジスタである。読み出し要求において、アドレスキュー11に入ったアドレスと同期して動作する。コマンドキュー12、22に有効なコマンドが格納される場合、順次、メモリ1Aに対してリードコマンドが実行される。
コマンドキュー12からは、コマンドの実行時に、ヘッダの生成に必要な情報がヘッダ生成部13へ出力される。この情報の中には、制御ID203が含まれる。
アドレスキュー11、21は、コマンドキュー12、22と同期して動作する。メモリ1Aへのリードコマンドの実行と同期して、アドレスキュー11、21に格納されたアドレスがメモリ1Aに送信される。
こうして、メモリには、リードコマンド+アドレス103が入力される。そして、読み出されたデータ41が、データキュー14、24に格納される。データキュー14、24は、メモリ1Aから読み出されたデータ41を蓄えるレジスタである。
ヘッダ生成部13は、データ送信に必要なヘッダ302を生成すると共に、メモリ1Aから読み出したデータ41が到達するまで、ヘッダ302の送信を待ち合わせる制御を行う。また、ヘッダ生成部13は、セレクタ15を制御し、ヘッダとデータの順序が、ヘッダ+データとなるようセレクタ制御信号301を出力する。更に、データキュー14、24の管理を行い、データキュー14、24内の資源が枯渇した場合、コマンドキュー12、22に対して出力を停止させるようBUSY信号を出力する。
セレクタ15は、ヘッダ生成部13より入力されるセレクタ制御信号301に基づき、ヘッダ+データとして送信されるようヘッダ系とデータ系を切り替える。また、セレクタ15は、データキュー14に対し、必要なデータを出力させる制御を行うために、リードポインタ制御信号303を出力する。セレクタ15からのリードポインタ制御信号に基づき、データキュー14は、必要なパケット長のデータを出力する。
こうして、メモリ1Aから読み出されたデータ41に、ヘッダ生成部13で生成されたヘッダが付与され、ヘッダ付データ104がメモリ制御部から後段のデータ制御部に入力される。
図3は、ヘッダ付データ104の構成例を示す図である。ヘッダ付データ104は、ヘッダ44とデータ41に分解される。そのうちヘッダ44は、更に、ヘッダ本体45と、ヘッダ本体45に対する冗長符合であるECC46に分解される。ヘッダ本体45には、制御ID203が含まれる。
また、データ41も、更に、データ本体42と、データ本体に対する冗長符号であるECC43に分解される。ヘッダに対するECC46、データに対するECC43により、伝送過程でのビット反転が検出される。
図4は、本実施形態におけるデータ制御部10の詳細な構成例を示す図である。図1に示すECC検査部3A、3Bの前段には、データ制御部10に入力されるヘッダ付データ104をヘッダ44とデータ41に分解するためのヘッダデータ分離部(HD分離部)がメモリ制御部に合わせて4つ(HD分離部8A1、8A2、8B1、8B2)設けられる。
また、図1に示すECC検査部3A、3Bが、データのECC43を検査するデータECC検査部31A、31Bと、ヘッダのECC46を検査するヘッダECC検査部32A、32Bに分かれている。そして、同期検査部4A、4Bの後段に、一旦分離されたヘッダ44とデータ41を再合成するための合成部9A、9Bが設けられる。以上の点が、図1より詳細になった箇所である。
HD分離部8A1は、メモリ制御部2A1より入力されるヘッダ付データ104を、ヘッダHa1とデータDa1に分離する。同様に、HD分離部8A2は、メモリ制御部2A2より入力されるヘッダ付データ104を、ヘッダHa2とデータDa2に分離する。そして、データDa1、Da2は、データECC検査部31Aに、ヘッダHa1、Ha2は、ヘッダECC検査部32Aに入力される。
データECC検査部31Aは、データDa1、Da2のいずれかに訂正不可能なビットエラーを検出すると、データに関する符号エラー105dをセレクタ制御部6に入力する。ヘッダECC検査部32Aは、ヘッダHa1、Ha2のいずれかに訂正不可能なビットエラーを検出すると、ヘッダに関する符号エラー105hをセレクタ制御部6に入力する。
ヘッダECC検査部32Aは、続いて、ヘッダHa1、Ha2を同期検査部4Aに入力する。同期検査部4Aは、ヘッダに含まれる制御IDに基づき、同期エラーを検出すると、セレクタ制御部6に、同期エラー106を通知する。
合成部9A、9Bは、分離されたヘッダ44とデータ41を再合成し、バスセレクタ7に入力する。また、合成部9A、9Bは、データ41を一致検査部5に入力する。
残りの箇所については、図1における説明と同じであり、略す。
図5は、本実施形態におけるセレクタ制御部6の動作を説明するフローチャートである。まず、セレクタ制御部6は、データECCエラーが発生したかを判定する(S1)。データECC検査部31A、31Bにより、データに関する符号エラー105dが入力されれば、セレクタ制御部6は、データECCエラーが発生したと判定する。その場合、どちらの系統でエラーが発生したかも、セレクタ制御部6に通知される。
データECCエラーが発生していない場合(S1No)、セレクタ制御部6は、ヘッダECCエラーが発生したかを判定する(S2)。ヘッダECC検査部32A、32Bにより、ヘッダに関する符号エラー105hが入力されれば、セレクタ制御部6は、ヘッダECCエラーが発生したと判定する。その場合、どちらの系統でエラーが発生したかも、セレクタ制御部6に通知される。
ヘッダECCエラーが発生していない場合(S2No)、セレクタ制御部6は、同期エラーが発生したかを判定する(S3)。同期検査部4A、4Bにより、同期エラー106が入力されれば、セレクタ制御部6は、同期エラーが発生したと判定する。その場合、どちらの系統でエラーが発生したかも、セレクタ制御部6に通知される。
符号検査、同期検査によりエラーが検出されない場合(S3No)、セレクタ制御部6は、メモリ1Aとメモリ1Bから読み出されたデータが一致するかを判定する(S4)。両系のデータが一致すれば(S4Yes)、どちらの系統のデータを使用してもよいことになり、この場合セレクタ制御部6は、メモリ1Aから読み出されたデータが使用されるようセレクタを制御する選択信号を出力する(S8)。この場合、メモリ1Aから読み出されたデータが使用されるようセレクタを制御しても構わない。
符号検査、同期検査によりエラーが検出されないものの、両系のデータが一致しない場合(S4No)、どちらのデータを使用すべきかを判定することはできず、セレクタ制御部6は、システムエラーを出力する(S7)。
また、符号検査又は同期検査においてエラーが検出される場合(S1Yes、S2Yes、S3Yes)、セレクタ制御部6は、エラーが検出されたのが、A系統であるかを判定する(S5)。エラーがB系統で検出される場合(S5No)、セレクタ制御部6は、メモリ1Aから読み出されたデータが使用されるようセレクタを制御する選択信号を出力する(S8)。
エラーがA系統で検出される場合(S5Yes)、セレクタ制御部6は、B系統においてもエラーが検出されたかを判定する(S6)。B系統においては、エラーが検出されていない場合(S6No)、セレクタ制御部6は、メモリ1Bから読み出されたデータが使用されるようセレクタを制御する選択信号を出力する(S9)。
エラーがA系統でもB系統でも検出された場合(S6Yes)、セレクタ制御部6は、システムエラーを出力する(S7)。以上に説明した図5の動作をまとめると、図6の表のようになる。
以下、具体例で動作を説明する。
図7は、本実施形態における二重化記憶装置の通常時の動作を説明する図である。メモリ1Aから読み出されたデータ41が、メモリ制御部2A1、2A2に入力される。メモリ制御部2A1、2A2は、同一のヘッダを付して、ECC検査部3Aにヘッダ付データ104を入力する。
ECC検査部3Aでは、ヘッダとデータについての符号検査が行われる。ここでは、エラーは検出されない。ECC検査部3Aは、同期検査部4Aにヘッダを入力する。
同期検査部4Aでは、ヘッダの同期検査が行われる。ここでも、エラーは検出されない。同様の処理が、B系統でも行われ、ECC検査部3Bでは符号検査が、同期検査部4Bでは同期検査が行われる。ここでもやはり、エラーは検出されない。
最終的に、メモリ1Aから読み出されたデータと、メモリ1Bから読み出されたデータとが一致検査部5に入力され、一致検査が行われる。そして、エラーが検出されないことから、セレクタ制御部6が、例えば、メモリ1Aから読み出されたデータが使用されるようバスセレクタ7を制御する。
図8は、二重化記憶装置が同期検査において片系のエラーを検出する例を説明する図である。メモリ1Aから読み出されたデータ41が、メモリ制御部2A1、2A2に入力される。図8では、メモリ制御部2A1と2A2において、同期ずれが発生し、メモリ制御部2A2において異なるヘッダ81が付与される。
ECC検査部3Aでは、ヘッダとデータについての符号検査が行われる。ここでは、エラーは検出されない。同期ずれのヘッダではあるが、伝送過程におけるビット反転は発生せず、ECCエラーとはならないためである。
そして、ECC検査部3Aは、同期検査部4Aにヘッダを入力する。同期検査部4Aでは、ヘッダの同期検査が行われる。ここで、同期エラーが検出される。そして、同期検査部4Aは、A系統において同期エラーが検出されたことをセレクタ制御部6に通知する。
同様の処理が、B系統でも行われ、ECC検査部3Bでは符号検査が、同期検査部4Bでは同期検査が行われる。B系統では、エラーは検出されない。最終的に、セレクタ制御部6が、メモリ1Bから読み出されたデータが使用されるようバスセレクタ7を制御する。
図9は、二重化記憶装置が同期検査において両系のエラーを検出する例を説明する図である。メモリ1Aから読み出されたデータ41が、メモリ制御部2A1、2A2に入力される。図8では、メモリ制御部2A1と2A2において、同期ずれが発生し、メモリ制御部2A2において異なるヘッダ81が付与される。更に、メモリ制御部2B1と2B2において、同期ずれが発生し、メモリ制御部2B1において異なるヘッダ81が付与される。
ECC検査部3Aでは、ヘッダとデータについての符号検査が行われる。ここでは、エラーは検出されない。同期ずれのヘッダではあるが、伝送過程におけるビット反転は発生せず、ECCエラーとはならないためである。
そして、ECC検査部3Aは、同期検査部4Aにヘッダを入力する。同期検査部4Aでは、ヘッダの同期検査が行われる。ここで、同期エラーが検出される。そして、同期検査部4Aは、A系統において同期エラーが検出されたことをセレクタ制御部6に通知する。
同様の処理が、B系統でも行われ、ECC検査部3Bでは符号検査が、同期検査部4Bでは同期検査が行われる。その結果、同期検査部4Bで、同期エラーが検出される。そして、同期検査部4Bは、B系統において同期エラーが検出されたことをセレクタ制御部6に通知する。
この場合、セレクタ制御部6は、A系統、B系統で共にエラーが検出されたため、システムエラーを通知する。
図10は、二重化記憶装置がヘッダのECC検査において片系のエラーを検出する例を説明する図である。メモリ1Aから読み出されたデータ41が、メモリ制御部2A1、2A2に入力される。メモリ制御部2A1、2A2は、同一のヘッダを付して、ECC検査部3Aにヘッダ付データ104を入力する。図8では、ECC検査部3Aへの伝送過程において、メモリ制御部2A2から出力されたヘッダにビット反転が生じるものとする(図10では、ビット反転が生じたヘッダ82が、ヘッダとECCを結合しても正方形にならない図形として描かれる)。
ECC検査部3Aでは、ヘッダとデータについての符号検査が行われる。ここで、ヘッダに関する符号エラーが検出される。そして、ECC検査部3Aは、A系統において同期エラーが検出されたことをセレクタ制御部6に通知する。
同様の処理が、B系統でも行われ、ECC検査部3Bでは符号検査が、同期検査部4Bでは同期検査が行われる。B系統では、エラーは検出されない。最終的に、セレクタ制御部6が、メモリ1Bから読み出されたデータが使用されるようバスセレクタ7を制御する。
図11は、二重化記憶装置がデータのECC検査において片系のエラーを検出する例を説明する図である。メモリ1Aから読み出されたデータ41が、メモリ制御部2A1、2A2に入力される。メモリ制御部2A1、2A2は、同一のヘッダを付して、ECC検査部3Aにヘッダ付データ104を入力する。図11では、ECC検査部3Aへの伝送過程において、メモリ制御部2A2から出力されたデータにビット反転が生じるものとする(図11では、ビット反転が生じたデータ83が、読み出されたデータ41を示す図形に、黒く塗りつぶされた半円が付された図形として描かれる)。
ECC検査部3Aでは、ヘッダとデータについての符号検査が行われる。ここで、データに関する符号エラーが検出される。そして、ECC検査部3Aは、A系統において同期エラーが検出されたことをセレクタ制御部6に通知する。
同様の処理が、B系統でも行われ、ECC検査部3Bでは符号検査が、同期検査部4Bでは同期検査が行われる。B系統では、エラーは検出されない。最終的に、セレクタ制御部6が、メモリ1Bから読み出されたデータが使用されるようバスセレクタ7を制御する。
図12は、二重化記憶装置がデータのECC検査において両系のエラーを検出する例を説明する図である。メモリ1Aから読み出されたデータ41が、メモリ制御部2A1、2A2に入力される。メモリ制御部2A1、2A2は、同一のヘッダを付して、ECC検査部3Aにヘッダ付データ104を入力する。
図12では、ECC検査部3Aへの伝送過程において、メモリ制御部2A2から出力されたデータにビット反転が生じるものとする(図12では、ビット反転が生じたデータ83が、読み出されたデータ41を示す図形に、黒く塗りつぶされた半円が付された図形として描かれる)。更に、ECC検査部3Bへの伝送過程においても、メモリ制御部2B1から出力されたデータにビット反転が生じるものとする。
ECC検査部3Aでは、ヘッダとデータについての符号検査が行われる。ここで、データに関する符号エラーが検出される。そして、ECC検査部3Aは、A系統において同期エラーが検出されたことをセレクタ制御部6に通知する。
同様の処理が、B系統でも行われ、ECC検査部3Bで、データに関する符号エラーが検出される。そして、ECC検査部3Bは、B系統において同期エラーが検出されたことをセレクタ制御部6に通知する。
この場合、セレクタ制御部6は、A系統、B系統で共にエラーが検出されたため、システムエラーを通知する。
図13は、二重化記憶装置がデータの一致検査においてエラーを検出する例を説明する図である。符号検査、同期検査ではエラーは検出されないが、メモリ1Aから読み出されたデータと、メモリ1Bから読み出されたデータとが異なる、多重障害の場合を示す。
まず、メモリ1Aから読み出されたデータ41が、メモリ制御部2A1、2A2に入力される。メモリ制御部2A1、2A2は、同一のヘッダを付して、ECC検査部3Aにヘッダ付データ104を入力する。
ECC検査部3Aでは、ヘッダとデータについての符号検査が行われる。ここでは、エラーは検出されない。ECC検査部3Aは、同期検査部4Aにヘッダを入力する。同期検査部4Aでは、ヘッダの同期検査が行われる。ここでも、エラーは検出されない。
同様の処理が、B系統でも行われ、ECC検査部3Bでは符号検査が、同期検査部4Bでは同期検査が行われる。B系統においてもやはり、エラーは検出されない。
最終的に、メモリ1Aから読み出されたデータと、メモリ1Bから読み出されたデータとが一致検査部5に入力され、一致検査が行われる。そして、一致検査により初めて、データの不一致が確認される。この場合、セレクタ制御部6は、どちらのデータを使用すべきかを判定することはできず、システムエラーを出力する。
なお、本実施形態の説明にあたり、各入出力系統において、メモリから読み出されたデータのコピーがメモリ制御部に入力されるが、メモリから読み出されたデータを二分割し、各入出力系統のメモリ制御部に入力する構成でもよい。例えば、メモリ1Aから読み出される72ビットのデータ(データ部分64ビット+ECC部分8ビット)を36ビット(データ部分32ビット+ECC部分4ビット)に分割し、前半をメモリ制御部2A1に、後半をメモリ制御部2A2に入力する構成でもよい。
以上に説明した実施形態によれば、従来であれば、計算機を停止させ、信頼性を低下させる原因となっていた誤動作の発生を抑えることができ、計算機に求められる信頼性を低下させることなく、計算機の継続動作を一層可能にする。例えば、二重化記憶装置を使用する計算機において発生する現象(データのタイミングがずれる、データが喪失する、データの順序が入れ替わる等)を抑えることができる。
以上まとめると付記のようになる。
(付記1)
同一のデータを保持する第1及び第2のメモリと、入力される読み出し制御信号に基づき前記第1及び前記第2のメモリよりそれぞれ読み出されるデータのいずれかを選択するセレクタとを備える二重化記憶装置であって、
前記読み出し制御信号が入力されるとき、該読み出し制御信号を識別する識別子を該入力される読み出し制御信号に付与して出力する要求管理部と、
前記要求管理部より出力される読み出し制御信号に基づき、前記第1のメモリからデータを読み出し、該第1のメモリから読み出されるデータを前記要求管理部より出力される読み出し制御信号に付与される前記識別子と共に出力する第1の主メモリ制御部と、
前記要求管理部より出力される読み出し制御信号と、前記第1の主メモリ制御部が読み出すデータとが入力され、前記入力されるデータを前記要求管理部より出力される読み出し制御信号に付与される前記識別子と共に出力する第1の副メモリ制御部と、
前記要求管理部より出力される読み出し制御信号に基づき、前記第2のメモリからデータを読み出し、該第2のメモリから読み出されるデータを前記要求管理部より出力される読み出し制御信号に付与される前記識別子と共に出力する第2の主メモリ制御部と、
前記要求管理部より出力される読み出し制御信号と、前記第2の主メモリ制御部が読み出すデータとが入力され、前記入力されるデータを前記要求管理部より出力される読み出し制御信号に付与される前記識別子と共に出力する第2の副メモリ制御部と、
前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性と、前記第2の主メモリ制御部と前記第2の副メモリ制御部とから入力される前記識別子の同一性とを確認する同期検査部と、
前記確認の結果に基づき、前記セレクタを制御するセレクタ制御部とを有することを特徴とする二重化記憶装置。
(付記2)
付記1において、更に、
前記同期検査部により、前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性及び前記第2の主メモリ制御部と前記第2の副メモリ制御部とから入力される前記識別子の同一性が共に確認される場合に、前記第1のメモリから読み出されるデータと前記第2のメモリから読み出されるデータとが一致するかを確認する一致検査部を有し、
前記セレクタ制御部は、前記一致検査部により一致が確認されない場合、システムエラーを出力することを特徴とする二重化記憶装置。
(付記3)
付記1又は2において、
前記セレクタ制御部は、前記同期検査部により、前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性が確認される場合、前記第1のメモリより読み出されるデータが選択されるよう前記セレクタを制御し、前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性が確認されない場合、かつ、前記第2の主メモリ制御部と前記第2の副メモリ制御部とから入力される前記識別子の同一性が確認される場合、前記第2のメモリより読み出されるデータが選択されるよう前記セレクタを制御することを特徴とする二重化記憶装置。
(付記4)
付記1又は2において、
前記セレクタ制御部は、前記同期検査部により、前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性及び前記第2の主メモリ制御部と前記第2の副メモリ制御部とから入力される前記識別子の同一性が共に確認されない場合、システムエラーを出力することを特徴とする二重化記憶装置。
(付記5)
付記1において、更に、
前記データに付与された誤り検出/訂正符号を検査する符号検査部を有し、
前記セレクタ制御部は、前記符号検査部により、前記第1のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出されない場合、前記第1のメモリより読み出されるデータが選択されるよう前記セレクタを制御し、前記第1のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出される場合、かつ、前記第2のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出されない場合、前記第2のメモリより読み出されるデータが選択されるよう前記セレクタを制御することを特徴とする二重化記憶装置。
(付記6)
付記5において、
前記セレクタ制御部は、前記符号検査部により、前記第1のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出される場合、かつ、前記第2のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出される場合、システムエラーを出力することを特徴とする二重化記憶装置。
(付記7)
同一のデータを保持する第1及び第2のメモリと、入力される読み出し制御信号に基づき前記第1及び前記第2のメモリよりそれぞれ読み出されるデータのいずれかを選択するセレクタとを備える二重化記憶装置の制御方法であって、
前記二重化記憶装置は、前記読み出し制御信号が入力されるとき、該読み出し制御信号を識別する識別子を生成し、
前記二重化記憶装置は、前記読み出し制御信号に基づき、前記第1のメモリからデータを読み出し、該第1のメモリから読み出されるデータに前記読み出し制御信号に付与される前記識別子を追加して、第1の主データを生成し、
前記二重化記憶装置は、前記第1のメモリから読み出されるデータに前記読み出し制御信号に付与される前記識別子を追加して、第1の副データを生成し、
前記二重化記憶装置は、前記読み出し制御信号に基づき、前記第2のメモリからデータを読み出し、該第2のメモリから読み出されるデータに前記読み出し制御信号に付与される前記識別子を追加して、第2の主データを生成し、
前記二重化記憶装置は、前記第2のメモリから読み出されるデータに前記読み出し制御信号に付与される前記識別子を追加して、第2の副データを生成し、
前記二重化記憶装置は、前記第1の主データと前記第1の副データにそれぞれ含まれる前記識別子の同一性と、前記第2の主データと前記第2の副データとにそれぞれ含まれる前記識別子の同一性とを確認し、
前記二重化記憶装置は、前記確認の結果に基づき、前記セレクタを制御することを特徴とする制御方法。
(付記8)
付記7において、更に、
前記二重化記憶装置は、前記第1の主データと前記第1の副データにそれぞれ含まれる前記識別子の同一性及び前記第2の主データと前記第2の副データとにそれぞれ含まれる前記識別子の同一性が共に確認される場合に、前記第1のメモリから読み出されるデータと前記第2のメモリから読み出されるデータとが一致するかを確認し、
前記二重化記憶装置は、前記データの一致が確認されない場合、システムエラーを出力することを特徴とする制御方法。
(付記9)
付記7又は8において、
前記二重化記憶装置は、前記前記第1の主データと前記第1の副データとにそれぞれ含まれる前記識別子の同一性が確認される場合、前記第1のメモリより読み出されるデータが選択されるよう前記セレクタを制御し、
前記二重化記憶装置は、前記第1の主データと前記第1の副データとにそれぞれ含まれる前記識別子の同一性が確認されない場合、かつ、前記第2の主データと前記第2の副データとにそれぞれ含まれる前記識別子の同一性が確認される場合、前記第2のメモリより読み出されるデータが選択されるよう前記セレクタを制御することを特徴とする制御方法。
(付記10)
付記7又は8において、
前記二重化記憶装置は、前記第1の主データと前記第1の副データとにそれぞれ含まれる前記識別子の同一性及び前記第2の主データと前記第2の副データとにそれぞれ含まれる前記識別子の同一性が共に確認されない場合、システムエラーを出力することを特徴とする制御方法。
(付記11)
付記7において、
前記データには、誤り検出/訂正符号が付与されており、
前記二重化記憶装置は、前記第1のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出されない場合、前記第1のメモリより読み出されるデータが選択されるよう前記セレクタを制御し、
前記二重化記憶装置は、前記第1のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出される場合、かつ、前記第2のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出されない場合、前記第2のメモリより読み出されるデータが選択されるよう前記セレクタを制御することを特徴とする制御方法。
(付記12)
付記11において、
前記二重化記憶装置は、前記第1のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出される場合、かつ、前記第2のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出される場合、システムエラーを出力することを特徴とする制御方法。
本実施形態における二重化記憶装置の構成例を示す図である。 本実施形態におけるメモリ制御部の詳細な構成例を示す図である。 ヘッダ付データの構成例を示す図である。 本実施形態におけるデータ制御部の詳細な構成例を示す図である。 本実施形態におけるセレクタ制御部の動作を説明するフローチャートである。 本実施形態における二重化記憶装置の動作をまとめた表である。 本実施形態における二重化記憶装置の通常時の動作を説明する図である。 二重化記憶装置が同期検査において片系のエラーを検出する例を説明する図である。 二重化記憶装置が同期検査において両系のエラーを検出する例を説明する図である。 二重化記憶装置がヘッダのECC検査において片系のエラーを検出する例を説明する図である。 二重化記憶装置がデータのECC検査において片系のエラーを検出する例を説明する図である。 二重化記憶装置がデータのECC検査において両系のエラーを検出する例を説明する図である。 二重化記憶装置がデータの一致検査においてエラーを検出する例を説明する図である。
符号の説明
1 メモリ、2 メモリ制御部、3 ECC検査部、4 同期検査部、5 一致検査部、6 セレクタ制御部、7 バスセレクタ、8 HD分離部、9 合成部、10 データ制御部、11、21 アドレスキュー、12、22 コマンドキュー、13、23 ヘッダ生成部、14、24 データキュー、15、25 セレクタ、30 管理部、31 データECC検査部、32 ヘッダECC検査部、41 読み出しデータ、42 ヘッダ本体、43 ECC、44 ヘッダ、45 ヘッダ本体、46 ECC、101 読み出し要求、102 読み出し制御信号、103 アドレス+リードコマンド、104 ヘッダ付きデータ、105 ECCエラー通知、106 同期エラー通知、107 一致エラー、108 選択信号、109 システムエラー通知、、108 システムエラー通知、201 メモリアドレス、202 コマンド+制御ID、203 制御ID、301 セレクタ制御信号、302 ヘッダ、303 リードポインタ制御信号

Claims (10)

  1. 同一のデータを保持する第1及び第2のメモリと、入力される読み出し制御信号に基づき前記第1及び前記第2のメモリよりそれぞれ読み出されるデータのいずれかを選択するセレクタとを備える二重化記憶装置であって、
    前記読み出し制御信号が入力されるとき、該読み出し制御信号を識別する識別子を該入力される読み出し制御信号に付与して出力する要求管理部と、
    前記要求管理部より出力される読み出し制御信号に基づき、前記第1のメモリからデータを読み出し、該第1のメモリから読み出されるデータを前記要求管理部より出力される読み出し制御信号に付与される前記識別子と共に出力する第1の主メモリ制御部と、
    前記要求管理部より出力される読み出し制御信号と、前記第1の主メモリ制御部が読み出すデータとが入力され、前記入力されるデータを前記要求管理部より出力される読み出し制御信号に付与される前記識別子と共に出力する第1の副メモリ制御部と、
    前記要求管理部より出力される読み出し制御信号に基づき、前記第2のメモリからデータを読み出し、該第2のメモリから読み出されるデータを前記要求管理部より出力される読み出し制御信号に付与される前記識別子と共に出力する第2の主メモリ制御部と、
    前記要求管理部より出力される読み出し制御信号と、前記第2の主メモリ制御部が読み出すデータとが入力され、前記入力されるデータを前記要求管理部より出力される読み出し制御信号に付与される前記識別子と共に出力する第2の副メモリ制御部と、
    前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性と、前記第2の主メモリ制御部と前記第2の副メモリ制御部とから入力される前記識別子の同一性とを確認する同期検査部と、
    前記確認の結果に基づき、前記セレクタを制御するセレクタ制御部とを有することを特徴とする二重化記憶装置。
  2. 請求項1において、更に、
    前記同期検査部により、前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性及び前記第2の主メモリ制御部と前記第2の副メモリ制御部とから入力される前記識別子の同一性が共に確認される場合に、前記第1のメモリから読み出されるデータと前記第2のメモリから読み出されるデータとが一致するかを確認する一致検査部を有し、
    前記セレクタ制御部は、前記一致検査部により一致が確認されない場合、システムエラーを出力することを特徴とする二重化記憶装置。
  3. 請求項1又は2において、
    前記セレクタ制御部は、前記同期検査部により、前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性が確認される場合、前記第1のメモリより読み出されるデータが選択されるよう前記セレクタを制御し、前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性が確認されない場合、かつ、前記第2の主メモリ制御部と前記第2の副メモリ制御部とから入力される前記識別子の同一性が確認される場合、前記第2のメモリより読み出されるデータが選択されるよう前記セレクタを制御することを特徴とする二重化記憶装置。
  4. 請求項1又は2において、
    前記セレクタ制御部は、前記同期検査部により、前記第1の主メモリ制御部と前記第1の副メモリ制御部とから入力される前記識別子の同一性及び前記第2の主メモリ制御部と前記第2の副メモリ制御部とから入力される前記識別子の同一性が共に確認されない場合、システムエラーを出力することを特徴とする二重化記憶装置。
  5. 請求項1において、更に、
    前記データに付与された誤り検出/訂正符号を検査する符号検査部を有し、
    前記セレクタ制御部は、前記符号検査部により、前記第1のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出されない場合、前記第1のメモリより読み出されるデータが選択されるよう前記セレクタを制御し、前記第1のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出される場合、かつ、前記第2のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出されない場合、前記第2のメモリより読み出されるデータが選択されるよう前記セレクタを制御することを特徴とする二重化記憶装置。
  6. 請求項5において、
    前記セレクタ制御部は、前記符号検査部により、前記第1のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出される場合、かつ、前記第2のメモリより読み出されたいずれかのデータにおいて、訂正不可能な誤りが検出される場合、システムエラーを出力することを特徴とする二重化記憶装置。
  7. 同一のデータを保持する第1及び第2のメモリと、入力される読み出し制御信号に基づき前記第1及び前記第2のメモリよりそれぞれ読み出されるデータのいずれかを選択するセレクタとを備える二重化記憶装置の制御方法であって、
    前記二重化記憶装置は、前記読み出し制御信号が入力されるとき、該読み出し制御信号を識別する識別子を生成し、
    前記二重化記憶装置は、前記読み出し制御信号に基づき、前記第1のメモリからデータを読み出し、該第1のメモリから読み出されるデータに前記読み出し制御信号に付与される前記識別子を追加して、第1の主データを生成し、
    前記二重化記憶装置は、前記第1のメモリから読み出されるデータに前記読み出し制御信号に付与される前記識別子を追加して、第1の副データを生成し、
    前記二重化記憶装置は、前記読み出し制御信号に基づき、前記第2のメモリからデータを読み出し、該第2のメモリから読み出されるデータに前記読み出し制御信号に付与される前記識別子を追加して、第2の主データを生成し、
    前記二重化記憶装置は、前記第2のメモリから読み出されるデータに前記読み出し制御信号に付与される前記識別子を追加して、第2の副データを生成し、
    前記二重化記憶装置は、前記第1の主データと前記第1の副データにそれぞれ含まれる前記識別子の同一性と、前記第2の主データと前記第2の副データとにそれぞれ含まれる前記識別子の同一性とを確認し、
    前記二重化記憶装置は、前記確認の結果に基づき、前記セレクタを制御することを特徴とする制御方法。
  8. 請求項7において、更に、
    前記二重化記憶装置は、前記第1の主データと前記第1の副データにそれぞれ含まれる前記識別子の同一性及び前記第2の主データと前記第2の副データとにそれぞれ含まれる前記識別子の同一性が共に確認される場合に、前記第1のメモリから読み出されるデータと前記第2のメモリから読み出されるデータとが一致するかを確認し、
    前記二重化記憶装置は、前記データの一致が確認されない場合、システムエラーを出力することを特徴とする制御方法。
  9. 請求項7又は8において、
    前記二重化記憶装置は、前記前記第1の主データと前記第1の副データとにそれぞれ含まれる前記識別子の同一性が確認される場合、前記第1のメモリより読み出されるデータが選択されるよう前記セレクタを制御し、
    前記二重化記憶装置は、前記第1の主データと前記第1の副データとにそれぞれ含まれる前記識別子の同一性が確認されない場合、かつ、前記第2の主データと前記第2の副データとにそれぞれ含まれる前記識別子の同一性が確認される場合、前記第2のメモリより読み出されるデータが選択されるよう前記セレクタを制御することを特徴とする制御方法。
  10. 請求項7又は8において、
    前記二重化記憶装置は、前記第1の主データと前記第1の副データとにそれぞれ含まれる前記識別子の同一性及び前記第2の主データと前記第2の副データとにそれぞれ含まれる前記識別子の同一性が共に確認されない場合、システムエラーを出力することを特徴とする制御方法。
JP2005076591A 2005-03-17 2005-03-17 二重化記憶装置及び二重化記憶装置の制御方法 Expired - Fee Related JP4667093B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2005076591A JP4667093B2 (ja) 2005-03-17 2005-03-17 二重化記憶装置及び二重化記憶装置の制御方法
EP05253910A EP1703400B1 (en) 2005-03-17 2005-06-23 Dual storage apparatus and control method for the dual storage apparatus
DE602005023261T DE602005023261D1 (de) 2005-03-17 2005-06-23 Duale Speichervorrichtung und Verfahren dergleichen
CNB2005100832600A CN100375962C (zh) 2005-03-17 2005-07-07 双重存储装置及该双重存储装置的控制方法
KR1020050063641A KR100720913B1 (ko) 2005-03-17 2005-07-14 이중화 기억 장치 및 이중화 기억 장치의 제어 방법
US11/237,934 US7467261B2 (en) 2005-03-17 2005-09-29 Dual storage apparatus and control method for the dual storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005076591A JP4667093B2 (ja) 2005-03-17 2005-03-17 二重化記憶装置及び二重化記憶装置の制御方法

Publications (2)

Publication Number Publication Date
JP2006260160A JP2006260160A (ja) 2006-09-28
JP4667093B2 true JP4667093B2 (ja) 2011-04-06

Family

ID=36616917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005076591A Expired - Fee Related JP4667093B2 (ja) 2005-03-17 2005-03-17 二重化記憶装置及び二重化記憶装置の制御方法

Country Status (6)

Country Link
US (1) US7467261B2 (ja)
EP (1) EP1703400B1 (ja)
JP (1) JP4667093B2 (ja)
KR (1) KR100720913B1 (ja)
CN (1) CN100375962C (ja)
DE (1) DE602005023261D1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006019426B4 (de) 2006-04-26 2008-03-13 Qimonda Ag Speichermodulsteuerung, Speichersteuerung und entsprechende Speicheranordnung sowie Verfahren zur Fehlerkorrektur
WO2008120352A1 (ja) * 2007-03-29 2008-10-09 Fujitsu Limited 情報処理装置、エラー処理方法
US7873803B2 (en) * 2007-09-25 2011-01-18 Sandisk Corporation Nonvolatile memory with self recovery
FR2922037B1 (fr) * 2007-10-05 2011-07-15 Thales Sa Procede de securisation de donnees en memoire vive
US8589737B2 (en) 2008-06-20 2013-11-19 Freescale Semiconductor, Inc. Memory system with redundant data storage and error correction
WO2009153624A1 (en) * 2008-06-20 2009-12-23 Freescale Semiconductor, Inc. A system for distributing available memory resource
US7882388B2 (en) * 2008-08-21 2011-02-01 Sierra Wireless America, Inc. Dual independent non volatile memory systems
US8589775B2 (en) * 2011-03-14 2013-11-19 Infineon Technologies Ag Error tolerant flip-flops
US9110658B2 (en) * 2011-04-29 2015-08-18 International Business Machines Corporation Automatic verification and synthesis for weak memory models
CN103765580B (zh) * 2011-08-31 2016-11-16 飞思卡尔半导体公司 集成电路装置以及识别外部信号路径内存在断开连接的方法
JP5910356B2 (ja) * 2012-06-29 2016-04-27 富士通株式会社 電子装置、電子装置制御方法及び電子装置制御プログラム
TWI557636B (zh) * 2012-11-12 2016-11-11 慧榮科技股份有限公司 儲存媒體、存取系統及方法
CN103095968B (zh) * 2012-12-28 2014-04-16 中央电视台 播出系统多场景自适应应急整备方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675804A (ja) * 1992-07-08 1994-03-18 Internatl Business Mach Corp <Ibm> 記憶制御システム
JPH08234922A (ja) * 1994-10-25 1996-09-13 Hewlett Packard Co <Hp> 鏡像化メモリ用エラー検出システム
JP2002032269A (ja) * 2000-07-14 2002-01-31 Nippon Telegr & Teleph Corp <Ntt> 通信エラー回復方法及びその装置
JP2003337758A (ja) * 2003-05-01 2003-11-28 Mitsubishi Electric Corp 二重化メモリシステム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3521240A (en) * 1968-03-06 1970-07-21 Massachusetts Inst Technology Synchronized storage control apparatus for a multiprogrammed data processing system
JPS52117004A (en) * 1976-03-29 1977-10-01 Hitachi Ltd Error control for loop transmission
JPS57101950A (en) 1980-12-17 1982-06-24 Oki Electric Ind Co Ltd Double storage device control system
US4543652A (en) * 1982-10-04 1985-09-24 Hitachi, Ltd. Time-division switching unit
JPS62140153A (ja) 1985-12-16 1987-06-23 Nec Corp 二重化デ−タ処理装置
JPS62140183A (ja) 1985-12-16 1987-06-23 Matsushita Electric Ind Co Ltd 画像処理装置
JPH04149653A (ja) 1990-10-09 1992-05-22 Fujitsu Ltd 二重化メモリの読出し比較システム
JPH0535606A (ja) * 1991-07-25 1993-02-12 Nec Corp 電子デイスク装置
KR0154741B1 (ko) * 1995-02-08 1998-11-16 김광호 듀얼포트 메모리 장치 및 듀얼포트 메모리 장치의 시리얼데이타 출력방법
JPH08297588A (ja) 1995-04-25 1996-11-12 Fujitsu Ltd 二重照合装置
US5680611A (en) * 1995-09-29 1997-10-21 Electronic Data Systems Corporation Duplicate record detection
KR100205031B1 (ko) * 1996-09-23 1999-06-15 이계철 이중화 제어시스템의 동기제어 장치
JP3588529B2 (ja) * 1997-01-28 2004-11-10 株式会社東芝 半導体装置およびその応用システム装置
JP2000123485A (ja) 1998-10-19 2000-04-28 Sony Corp 記録装置および方法
JP4190114B2 (ja) * 1999-11-10 2008-12-03 株式会社ルネサステクノロジ マイクロコンピュータ
US6532524B1 (en) * 2000-03-30 2003-03-11 Cypress Semiconductor Corp. Port prioritization scheme
US6766429B1 (en) * 2000-08-31 2004-07-20 International Business Machines Corporation Low cost and high RAS mirrored memory
CN1280734C (zh) * 2001-09-07 2006-10-18 皇家菲利浦电子有限公司 用于分段存取控制的控制装置和方法和具有该控制装置的视频存储器装置
KR100506062B1 (ko) * 2002-12-18 2005-08-05 주식회사 하이닉스반도체 복합형 메모리 장치
KR100604817B1 (ko) * 2003-05-19 2006-07-26 삼성전자주식회사 이중 포맷 구조의 저장매체 및 이를 이용한 데이터 백업방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675804A (ja) * 1992-07-08 1994-03-18 Internatl Business Mach Corp <Ibm> 記憶制御システム
JPH08234922A (ja) * 1994-10-25 1996-09-13 Hewlett Packard Co <Hp> 鏡像化メモリ用エラー検出システム
JP2002032269A (ja) * 2000-07-14 2002-01-31 Nippon Telegr & Teleph Corp <Ntt> 通信エラー回復方法及びその装置
JP2003337758A (ja) * 2003-05-01 2003-11-28 Mitsubishi Electric Corp 二重化メモリシステム

Also Published As

Publication number Publication date
KR20060101151A (ko) 2006-09-22
DE602005023261D1 (de) 2010-10-14
KR100720913B1 (ko) 2007-05-25
EP1703400A3 (en) 2009-03-04
EP1703400B1 (en) 2010-09-01
US20060212656A1 (en) 2006-09-21
CN100375962C (zh) 2008-03-19
CN1834930A (zh) 2006-09-20
JP2006260160A (ja) 2006-09-28
US7467261B2 (en) 2008-12-16
EP1703400A2 (en) 2006-09-20

Similar Documents

Publication Publication Date Title
JP4667093B2 (ja) 二重化記憶装置及び二重化記憶装置の制御方法
US7444540B2 (en) Memory mirroring apparatus and method
JP2008046979A (ja) メモリコントローラおよびメモリ制御方法
US7568054B2 (en) Duplicate synchronization system and method of operating duplicate synchronization system
JP2008262325A (ja) メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体
WO2012046343A1 (ja) メモリモジュール冗長化方法、記憶処理装置、及びデータ処理装置
JP5174603B2 (ja) メモリの誤り訂正方法,誤り検出方法、及びそれを用いたコントローラ
JP5213061B2 (ja) ミラーリング制御装置、ミラーリング制御回路、ミラーリング制御方法およびそのプログラム
JPH0442691B2 (ja)
JP2014010712A (ja) 電子装置、電子装置制御方法及び電子装置制御プログラム
JP5556086B2 (ja) 二重化システム、及び、二重化方法
JP7477574B2 (ja) メモリミラーリング装置、及びメモリミラーリング方法
JP2007323190A (ja) データ通信を行う計算制御システム及びその通信方法
US7337247B2 (en) Buffer and method of diagnosing buffer failure
WO2010035316A1 (ja) メモリ制御装置およびメモリ制御方法
JP7485877B2 (ja) 情報処理システム、処理方法、およびプログラム
JP4292477B2 (ja) 二重化プロセッサ装置
JP4921216B2 (ja) メモリ制御回路、記憶システム、情報処理装置、および、メモリ制御方法
JP3913221B2 (ja) 情報処理装置
JP2008192108A (ja) 二重化情報処理システム
JP2006004133A (ja) 情報処理装置におけるエラー訂正、検出装置
JP2005085170A (ja) クラスタシステム及び多数決制御方法
JP2002207641A (ja) データ転送回路及び故障検出方法
JP2002007223A (ja) メモリチップ縮退制御装置
JP2012048775A (ja) 半導体装置、半導体装置におけるメモリの試験方法および試験プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070803

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101220

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: 20110105

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4667093

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees