JP5785477B2 - ミラー化データ・ストレージ・システムにおけるエラーを検出するための方法、コンピュータ・プログラム及びシステム - Google Patents

ミラー化データ・ストレージ・システムにおけるエラーを検出するための方法、コンピュータ・プログラム及びシステム Download PDF

Info

Publication number
JP5785477B2
JP5785477B2 JP2011242664A JP2011242664A JP5785477B2 JP 5785477 B2 JP5785477 B2 JP 5785477B2 JP 2011242664 A JP2011242664 A JP 2011242664A JP 2011242664 A JP2011242664 A JP 2011242664A JP 5785477 B2 JP5785477 B2 JP 5785477B2
Authority
JP
Japan
Prior art keywords
ecc
recovered
data set
copy
value
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.)
Active
Application number
JP2011242664A
Other languages
English (en)
Other versions
JP2012104112A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2012104112A publication Critical patent/JP2012104112A/ja
Application granted granted Critical
Publication of JP5785477B2 publication Critical patent/JP5785477B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • 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
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Description

本発明は、ミラー化データ・ストレージ・システムに係り、さらに詳細に説明すれば、ミラー化データ・ストレージ・システムにおけるエラーを検出することに係る。
ストレージ・システム(例えば、ディスク・システム又はコンピュータのメモリ・サブシステム)では、障害後に動作を継続するようにストレージを複製又はミラーすることが一般的である。メモリ・サブシステムでは、これをメモリ・ミラーリングと称し、ディスク・ストレージ・システムでは、これをRAID 1と称する。
ディスクは、コンピュータ・システムの本質的に信頼性の低いコンポーネントである。ミラーリングとは、ディスク・ハードウェア障害の場合にシステムがデータを継続して処理するか又は速やかにデータを回復することができるように、システムが自動的にデータの複数のコピーを維持することを可能にする技術である。ミラーリングは、ディスクの非信頼性に対処する場合には、これを局所的に行うことができ、より精巧な災害時回復スキームの一部を形成する場合には、これを遠隔的に行うことができ、高可用性システムについては、これを局所的及び遠隔的の両方で行うことができる。通常、データは物理的に同一のドライブ上にミラー化される。但し、基礎をなす物理フォーマットがミラーリング・プロセスから隠される場合、このプロセスは、論理ドライブに適用することができる。一般に、ミラーリングは、ディスク・アレイのようなハードウェア形式の解決策として提供されるか、又はオペレーティング・システムにおけるソフトウェア形式の解決策として提供される。
作業ストレージ・システムでは、ストレージから読み戻された値における少数のエラーを見出すことは珍しくない。ランダム・アクセス・メモリ(RAM)の場合、不良セル及び一時的な障害に起因してエラーが生じる。一時的な障害は、アルファ粒子又は宇宙線がRAM内で相互作用することに起因する。これらの希なエラーに対処するために、システムはエラー検出及び訂正コード(ECC)を含む。
ECCは、ストレージのブロックの要約としてデータの幾つかの余分なビットを格納する。データを再びロードする場合、ECC(Ec)は、ロードされたデータ(Dr)から再計算され、ストレージから読み取られたECC要約(E)と比較される。それらが異なっていれば、ECCは、(幾つかのエラーについて)元の値を回復するためにどのビットをトグルすべきかを示すことができる。
任意の特定のECCシステムは、ストレージの所与のブロックにおいて、当該システムが検出可能なエラーの数及び当該システムが訂正可能なエラーの数に制限を有する。例えば、或るECCシステムは、単一ビット・エラーを訂正するか又はエラーのペアを検出するのに十分な情報を保持することを保証する。かかるシステムにおいて、当該ブロック内の3ビットが破損していれば、当該ECCシステムは、そのエラーを検出することもあるし、検出しないこともある。そのエラーが検出されなければ、当該ECCシステムは、そのエラーと正しい値を区別することができない。
ミラーリング及びECCの両方を備えたシステムでは、これらの2つは、次のような意味で独立しているのが普通である。すなわち、ミラー化システムの各側がECCを有し、そしてECCが訂正不能エラーを検出すれば、唯1つのオプションは、他のミラー化システムからのデータを使用することである。
図1は、第1のミラー化システム110及び第2のミラー化システム120を備えた、ミラー化データ・ストレージ・システム100を示す。
第1のミラー化システム110は、ストレージ媒体に格納されたデータセットD1(参照番号111)を有する。データセットD1に対しECCアルゴリズム130を適用することにより、ECC値E1(参照番号112)が生成される。
同様に、第2のミラー化システム120は、ストレージ媒体に格納されたデータセットD2(参照番号121)を有する。データセットD2に対し同じECCアルゴリズム130を適用することにより、ECC値E2(参照番号122)が生成される。
第1のミラー化システム110における回復済みデータ151は、点線によって示されるように、ストレージ媒体から読み取られ且つデータセットD1と同じであるべき回復済みデータセットDr1(参照番号113)を含む。回復済みデータセットDr1に対しECCアルゴリズム130を適用することにより、予期されたECC値Ec1(参照番号114)が生成される。点線によって示されるように、ストレージ媒体から読み取られた回復済みECC値Er1(参照番号115)は、ECC値E1と同じであるべきである。
第2のミラー化システム120における回復済みデータ152は、ストレージ媒体から読み取られ且つデータセットD2と同じであるべき回復済みデータセットDr2(参照番号123)を含む。回復済みデータセットDr2に対しECCアルゴリズム130を適用することにより、予期されたECC値Ec2(参照番号124)が生成される。点線によって示されるように、ストレージ媒体から読み取られた回復済みECC値Er2(参照番号125)は、ECC値E2と同じであるべきである。
各ミラー化システムは、1セットのデータ(D1、D2)及び1セットのECC値(E1、E2)を有する。E1=ECC(D1)及びE2=ECC(D2)となるように、両方のミラー化システムについて同じアルゴリズムが使用される。読み取り時には、回復済みデータ(Dr1、Dr2)を使用することにより、予期されたECC値Ec1=ECC(Dr1)、Ec2=ECC(Dr2)が計算される。Ec1=E1であれば、D1が有効であり、Ec2=E2であれば、D2が有効である。不一致は、データ又はECC値のどれが破損していることを示す。何れか1つが一致すれば、そのデータは正しいと仮定される。両方が一致すれば、選択は任意である。ECCが検出しないエラーは、破損データの読み取りを可能にするであろう。
また、エラーを検出するために、Dr1及びDr2を比較することも可能であろう。(エラー訂正をパスしたとしても)Dr1及びDr2が一致しなければ、ECCが検出しないエラーが検出されることになるが、そのエラーを訂正することはできない。というのは、Dr1及びDr2のうちどれが正しいかを知ることができないからである。
コンピュータ・クラスタのサイズが増大し且つストレージ・サイズが増大するにつれて、システム全体におけるエラーの数が増加する。
本発明の第1の側面に従って、第1のエラー検出及び訂正コード(ECC)アルゴリズムを適用する第1のミラー化システム及び第2のECCアルゴリズムを適用する第2のミラー化システムを備えたミラー化データ・ストレージ・システムにおけるエラーを検出するための方法が提供される。この方法は、
前記第1及び第2のミラー化システムの各々における回復済みデータを読み取るステップと、
4つの計算済みECC値を生成するように前記第1及び第2のECCアルゴリズムの両方を適用することにより、前記第1及び第2のミラー化システムの各々における前記回復済みデータを処理するステップと、
前記計算済みECC値を使用して、前記第1及び第2のミラー化システムの正しい回復済みデータを決定するステップを有する。
本発明の第2の側面に従って、前記第1の側面に従った方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラムが提供される。
本発明の第3の側面に従って、ミラー化データ・ストレージ・システムにおけるエラーを検出するためのシステムであって、
第1のエラー検出及び訂正コード(ECC)アルゴリズムを適用する第1のミラー化システムと、
第2のECCアルゴリズムを適用する第2のミラー化システムと、
前記;第1及び第2のミラー化システムの各々における回復済みデータを読み取るためのデータ回復コンポーネントと、
4つの計算済みECC値を生成するように前記第1及び第2のECCアルゴリズムの両方を適用することにより、前記第1及び第2のミラー化システムの各々における回復済みデータを処理するためのエラー訂正コード適用コンポーネントと、
前記計算済みECC値を使用して、前記第1及び第2のミラー化システムの正確な回復済みデータを決定するための比較コンポーネントを備えるシステムが提供される。
発明と見なされる主題は、特許請求の範囲において特定され且つ明確に記載されている。本発明の目的、特徴及び効果に加えて、その構成及び動作の方法は、添付の図面とともに以下の詳細な説明を参照することによって最も良く理解されるであろう。
本発明は、各ミラー化システムが異なるECCを有するミラー化データ・ストレージ・システムにおいて、両方のミラー化システムからの読み取りを行うとともに、ECCによって検出されない破損を検出するために比較を行うことが可能であるという効果を奏する。
従来技術に従った公知のミラー化データ・ストレージ・システムの概略図である。 本発明に従ったミラー化データ・ストレージ・システムの概略図である。 本発明に従ったシステムのブロック図である。 本発明を実装することができるコンピュータ・システムのブロック図である。 本発明に従った方法のフローチャートである。
説明を簡単にし且つ明瞭にするため、図面中の要素は、必ずしも正確な尺度で描かれていないことに留意されたい。例えば、明瞭さのために、或る要素の次元は、他の要素に対し誇張されていることがある。さらに、適切であると考えられる場合には、複数の図面中の対応するか又は類似した特徴を示すために、同一の参照番号が複数の図面中で使用されることがある。
本発明を十分に理解することができるように、以下の詳細な説明では、多くの特定の詳細事項が開示される。しかし、本発明は、これらの特定の詳細事項なしで実施できることを理解されたい。また、本発明を不明瞭にしないように、周知の方法、手順及びコンポーネントは、詳細には開示されていない。
本発明に従った方法及びシステムが実装されるミラー化データ・ストレージ・システムでは、2つのミラー化データ・コピーについて、異なるエラー検出及び訂正コード(ECC)アルゴリズムが使用される。エラーは、他方のECCアルゴリズムではなく、一方のECCアルゴリズムによって検出されることがある。読み取り回復済みのデータは、4つの計算済みECC値を生成するように両方のECCアルゴリズムによって処理され、その各々は互いに他の1つと比較される。正しいミラー化システムは、2つのECCセットの相互比較(cross-comparison)によって決定することができる。さらに、或るミラー化システムにおけるECC値のペアは、破損データ及び破損ECC値を識別するために使用することができる。
図2は、第1のミラー化システム210及び第2のミラー化システム220を備えた、ミラー化データ・ストレージ・システム200を示す。
第1のミラー化システム210は、ストレージ媒体に格納されたデータセットD1(参照番号211)を有する。データセットD1に対し第1のECCアルゴリズムであるECCa(参照番号231)を適用することにより、ECC値E1(参照番号212)が生成される。ECC値E1は格納される。
第2のミラー化システム220は、ストレージ媒体に格納されたデータセットD2(参照番号221)を有する。データセットD2に対し第2の異なるECCアルゴリズムであるECCb(参照番号232)を適用することにより、ECC値E2(参照番号222)が生成される。ECC値E2は格納される。
第1のミラー化システム210における回復済みデータ251は、回復済みデータセットDr1(参照番号213)を含む。回復済みデータセットDr1に対し第1のECCアルゴリズムであるECCa(参照番号231)及び第2のECCアルゴリズムであるECCb(参照番号232)を適用することにより、ECC値E1a(参照番号214)及びE1b(参照番号215)がそれぞれ生成される。
第2のミラー化システム220における回復済みデータ252は、回復済みデータセットDr2(参照番号223)を含む。回復済みデータセットDr2に対し第1のECCアルゴリズムであるECCa(参照番号231)及び第2のECCアルゴリズムであるECCb(参照番号232)を適用することにより、ECC値E2a(参照番号224)及びE2b(参照番号225)がそれぞれ生成される。
さらに、回復済みデータ251及び252は、各ミラー化システムにおける回復済みECC値として、Er1(参照番号216)及びEr2(参照番号226)を含む。
異なるECCアルゴリズムは、E1=ECCa(D1)及びE2=ECCb(D2)となるように、2つのミラー化システムについて使用される。これが機能する仮定とは、2つのECCアルゴリズムを使用すると、一方のアルゴリズムによって検出されるが他方のアルゴリズムによって検出されないエラーが存在するだろうというものである。その結果、検出されないエラーの場合は、システムをより弾力的にすることができる。
読み取り時には、回復済みデータ(Dr1、Dr2)を両方のECCアルゴリズムによって処理することにより、4つの計算済みECC値として、E1a、E1b、E2a、E2b(但し、Enxはデータnに適用されるECCアルゴリズムxである)が生成される。この段階で、回復済みECC値(Er1、Er2)に対して行うことができる比較は、次の通りである。
Er1=E1a
Er1=E2a
Er2=E2b
Er2=E1b。
各比較が生成することができる3つの結果は、次の通りである。
(x)一致
(y)不一致(ECCは訂正可能)
(z)不一致(ECCは訂正不能)
かかる比較の任意の結果は、必ずしも実際の結果ではない。例えば、Er又はDrの多数の破損が生じ且つこれが他の有効な結果のように見える場合にも、一致が生じることがあるからである。不一致は、Er及びDrの一方又は両方の破損から生じることがある。
このように、各ミラー化システムが異なるECCを有するミラー化データ・ストレージ・システムは、両方のミラー化システムからの読み取りを行うとともに、ECCによって検出されない破損を検出するために比較を行うことが可能である。
第1のデータ比較は、2つのミラー化システムの回復済みデータDr1及びDr2の間で行うことができる。このデータ比較が不一致(Dr1≠Dr2)の結果を生成する場合、2つのECCセットの相互比較によって、正しいミラー化システムが決定される。
もし、E1b≠Er2であるがE2a=Er1であれば、Dr1は破損しており、Dr2は正常である。Dr1が破損しているのは、Dr1がE1bを生成するために使用され、そしてE1bが回復済みEr2と一致しないからである。Dr2が正常であるのは、Dr2がE2aを生成するために使用され、そしてE2aが回復済みEr1と一致するからである。
また、Dr1及びDr2のデータ比較を行うことなく、利益を得ることも可能である。各ミラー化システムが異なるECCを有するミラー化データ・ストレージ・システムでは、ECC値のペアを使用することにより、破損データ(Dr1、Dr2)及び破損ECC値(Er1、Er2)を区別することが可能である。
もし、Er1≠E1aであり且つEr2≠E1bであれば、Dr1が破損している蓋然性が最も高い。というのは、その両方のECC値が不一致となっているからである。Er1≠E1aであり且つEr1≠E2bである場合は、データではなくEr1が破損している蓋然性がある。というのは、Er1を使用する両方のECC値が不一致となっているからである。
図3は、本発明に従ったシステム300の実施形態を示す。ミラー化システム310、320の各々は、格納済みデータ312、322を保持するとともに、ECCコンポーネント314、324によって計算されるような格納済みECC値313、323を保持する、データ・ストレージ311、321を有する。2つのミラー化システム310、320の各々は、それらのECCコンポーネント314、324において、異なるECCアルゴリズム、すなわちアルゴリズム1(参照番号315)及びアルゴリズム2(参照番号325)をそれぞれ使用する。
各ミラー化システム310、320は、回復コンポーネント330、340を有する。回復コンポーネント330、340は、データ332、342及びECC値333、343を回復するためのデータ回復コンポーネント331、341を有する。ECC適用(applier)コンポーネント334、344は、回復済みデータに対しアルゴリズム1及びアルゴリズム2(それ自体のミラー化システムのECCアルゴリズム及び他方のミラー化システムのECCアルゴリズム)を適用するために設けられる。
回復コンポーネント330、340に設けられた比較コンポーネント335、345は、回復済みデータを他方のミラー化システムと比較するとともに、回復済みECC値をECC適用コンポーネント334、344の結果と比較する。エラー検出コンポーネント336、346は、正しいデータ値を決定する。
図4は、本発明の諸側面を実装するための典型的なコンピュータ・システムを示す。当該コンピュータ・システムに設けられるデータ処理システム400は、プログラム・コードを格納及び/又は実行するのに適しており、バス・システム403を通してメモリ要素に対し直接的に又は間接的に結合された少なくとも1つのプロセッサ401を含む。これらのメモリ要素は、プログラム・コードの実行中に使用されるローカル・メモリ、バルク・ストレージ、プログラム・コードの実行中にバルク・ストレージからの取り出し回数を減少させるために少なくとも或るプログラム・コードの一時的記憶領域を提供するキャッシュ・メモリを含むことができる。
これらのメモリ要素は、読み取り専用メモリ(ROM)404及びランダム・アクセス・メモリ(RAM)405の形式を有するシステム・メモリ402を含むことができる。基本入出力システム(BIOS)406は、ROM 404内に格納することができる。オペレーティング・システム408を含むシステム・ソフトウェア407は、RAM 405内に格納することができる。ソフトウェア・アプリケーション410も、RAM 405内に格納することができる。
また、システム400は、磁気ディスク・ドライブのような1次ストレージ手段411と、磁気ディスク・ドライブ及び光ディスク・ドライブのような2次ストレージ手段412を含むことができる。これらのドライブ及びそれらに関連するコンピュータ可読媒体は、システム400のためのコンピュータ実行可能命令、データ構造、プログラム・モジュール及び他のデータの不揮発性ストレージを提供する。ソフトウェア・アプリケーションは、1次及び2次ストレージ手段411、412及びシステム・メモリ402上に格納することができる。
システム400は、ネットワーク・アダプタ416を介する1つ以上の遠隔コンピュータへの論理接続を使用して、ネットワーク化環境内で動作することができる。
入出力装置413は、直接的に又は介在するI/Oコントローラを通してシステム400に結合することができる。ユーザは、キーボードのような入力装置、ポインティング・デバイス又は他の入力装置(例えば、マイクロホン、ジョイ・スティック、ゲーム・パッド、衛星放送アンテナ、スキャナ等)を通して、コマンド及び情報をシステム400に入力することができる。出力装置は、スピーカ、プリンタ等を含むことができる。また、ディスプレイ装置414は、ビデオ・アダプタ415のようなインタフェースを介してシステム・バス403に接続される。
図5は、本発明に従った方法のフローチャート500を示す。フローチャート500の左側510は、第1のミラー化システムにおけるプロセスを示し、フローチャート500の右側520は、第2のミラー化システムにおけるプロセスを示す。
第1のミラー化システムでは、データセットD1が格納される(ステップ511)。第1のECCアルゴリズムであるECCaを適用することにより(ステップ512)、ECC値E1が生成され且つ格納される(ステップ513)。読み取り回復時には、データDr1及びECC値Er1が回復される(ステップ514)。回復済みデータDr1に対し第1のECCアルゴリズムであるECCaを適用することにより、ECC値E1aが生成される(ステップ515)。回復済みデータDr1に対し他方のミラー化システムにおいて使用されるような第2のECCアルゴリズムであるECCbを適用することにより、ECC値E1bが生成される(ステップ516)。
第2のミラー化システムでは、データセットD2が格納される(ステップ521)。第2のECCアルゴリズムであるECCbを適用することにより(ステップ522)、ECC値E2が生成され且つ格納される(ステップ523)。読み取り回復時には、データDr2及びECC値Er2が回復される(ステップ524)。回復済みデータDr2に対し他方のミラー化システムにおいて使用されるような第1のECCアルゴリズムであるECCaを適用することにより、ECC値E2aが生成される(ステップ525)。回復済みデータDr2に対し第2のECCアルゴリズムであるECCbを適用することにより、ECC値E2bが生成される(ステップ526)。
次に、これらの結果が2つのミラー化システムの間で比較される。第1のミラー化システムの回復済みデータDr1が、第2のミラー化システムの回復済みデータDr2と比較される(ステップ530)。第1のミラー化システムの回復済みECC値Er1が、第1のECCアルゴリズムを使用してDr1及びDr2から決定された計算済みECC値E1a及びE2aと比較される(ステップ531)。第2のミラー化システムの回復済みECC値Er2が、第2のECCアルゴリズムを使用してDr1及びDr2から決定された計算済みECC値E1b及びE2bと比較される(ステップ532)。
相互比較によって、Dr1又はDr2の正しい値が決定される(ステップ533)。当該相互比較によって、正しいのが回復済みデータDr1/Dr2又は回復済みECC値Er1/Er2のどれであるかということも決定される(ステップ534)。その後、正しいデータが戻される(ステップ535)。
本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態又はハードウェア及びソフトウェア要素の両方を含む実施形態の形式を取ることができる。物理メモリの場合には、ハードウェアの実施形態が使用される蓋然性が高い。ディスク・ストレージの場合には、ハードウェアの実施形態又はソフトウェアの実施形態の何れかを使用することができる。
本発明は、コンピュータ又は任意の命令実行システムに関連して又はこれらによって使用するためのプログラム・コードを提供する、コンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラムの形式を取ることができる。この記載の目的上、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置等に関連して又はこれらによって使用するためのプログラムを保持し、格納し、通信し、伝送し、移送する、任意の装置とすることができる。
媒体は、電子、磁気、光学、電磁気、赤外線又は半導体式のシステム(若しくは装置)又は伝送媒体とすることができる。コンピュータ可読媒体の例には、半導体又は固体メモリ、磁気テープ、取り外し可能なフレキシブル・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、剛体磁気ディスク及び光ディスクがある。光ディスクの例には、読み取り専用のCD−ROM、読み書き可能なCD−R/W及びDVDがある。
本発明の範囲から逸脱することなく、前述の実施形態に対し種々の改良及び修正を行うことができる。
200・・・ミラー化データ・ストレージ・システム
210・・・第1のミラー化システム
211・・・データセットD1
212・・・ECC値E1
213・・・回復済みデータセットDr1
214・・・計算済みECC値E1a
215・・・計算済みECC値E1b
216・・・回復済みECC値Er1
220・・・第2のミラー化システム
221・・・データセットD2
222・・・ECC値E2
223・・・回復済みデータセットDr2
224・・・計算済みECC値E2a
225・・・計算済みECC値E2b
226・・・回復済みECC値Er2
231・・・第1のECCアルゴリズムECCa
232・・・第1のECCアルゴリズムECCb
251・・・回復済みデータ
252・・・回復済みデータ
310、320・・・ミラー化システム
311、321・・・データ・ストレージ
312、322・・・格納済みデータ
313、323・・・格納済みECC値
314、324・・・ECCコンポーネント
315・・・ECCアルゴリズム1
325・・・ECCアルゴリズム2
330、340・・・回復コンポーネント
331、341・・・データ回復コンポーネント
332、342・・・回復済みデータ
333、343・・・回復済みECC値
334、344・・・ECC適用コンポーネント
335、345・・・比較コンポーネント
336、346・・・エラー検出コンポーネント

Claims (15)

  1. ミラー化データ・ストレージ・システムにおけるエラーを検出するための方法であって、
    データ・セットの第1のコピー及び第1のエラー訂正コード(ECC)値を第1のミラー化システムに格納するステップであって、前記第1のECC値は、第1のエラー訂正コード(ECC)アルゴリズムを前記データ・セットに適用することによって生成される、前記格納するステップと、
    前記データ・セットの第2のコピー及び第2のECC値を第2のミラー化システムに格納するステップであって、前記第2のECC値は、第2のECCアルゴリズムを前記データ・セットに適用することによって生成され、前記第2のECCアルゴリズムは、前記第1のECCアルゴリズムと異なる、前記格納するステップと、
    前記データ・セットの回復済み第1のコピー及び前記データ・セットの回復済み第2のコピーをそれぞれ生成するように、前記第1のミラー化システムにおける前記データ・セットの前記格納済み第1のコピー及び前記第2のミラー化システムにおける前記データ・セットの前記格納済み第2のコピーを読み取るステップと、
    前記第1のECCアルゴリズムを前記データ・セットの前記回復済み第1のコピーに適用することにより、第1の計算済みECC値を生成し、前記第2のECCアルゴリズムを前記データ・セットの前記回復済み第1のコピーに適用することにより、第2の計算済みECC値を生成し、前記第1のECCアルゴリズムを前記データ・セットの前記回復済み第2のコピーに適用することにより、第3の計算済みECC値を生成し、前記第2のECCアルゴリズムを前記データ・セットの前記回復済み第2のコピーに適用することにより、第4の計算済みECC値を生成するステップと、
    前記第1、第2、第3及び第4の計算済みECC値を使用して、前記第1及び第2のミラー化システムの正しい前記回復済みデータを決定するステップを有する、方法。
  2. 回復済み第1のECC値及び回復済み第2のECC値をそれぞれ生成するように、前記第1のミラー化システムにおける前記格納済み第1のECC値及び前記第2のミラー化システムにおける前記格納済み第2のECC値を読み取るステップを有する、請求項1に記載の方法。
  3. 前記回復済み第1のECC値を、前記第1及び第3の計算済みECC値と比較するステップを有する、請求項2に記載の方法。
  4. 前記回復済み第2のECC値を、前記第2及び第4の計算済みECC値と比較するステップを有する、請求項2に記載の方法。
  5. 前記データ・セットの前記回復済み第1のコピー及び前記データ・セットの前記回復済み第2のコピーのうちどれが正しいかを決定するステップを有する、請求項1に記載の方法。
  6. 前記第1及び第2のミラー化システムのうちの1つの前記データ・セットの前記回復済み第1のコピー及び前記データ・セットの前記回復済み第2のコピー並びに前記回復済み第1のECC値及び前記回復済み第2のECC値のうちどれが正しいかを決定するステップを有する、請求項2に記載の方法。
  7. 前記ミラー化データ・ストレージ・システムが、メモリ・ミラーリングを使用するメモリ・サブシステム又は新磁気ディスク制御機構(RAID)システムを使用するディスク・ストレージ・システムから成るグループから選択される、請求項1に記載の方法。
  8. ミラー化データ・ストレージ・システムにおけるエラーを検出するためのコンピュータ・ソフトウェア・プログラムであって、少なくとも1つのコンピュータ・システムにより実行される場合に、前記少なくとも1つのコンピュータ・システムに、
    第1のミラー化システムにおいて第1のエラー訂正コード(ECC)アルゴリズムをデータ・セットに適用させて、第1のECC値を生成させ、前記データ・セットの第1のコピー及び前記第1のECC値は、前記第1のミラー化システムに格納され、
    第2のミラー化システムにおいて第2のエラー訂正コード・アルゴリズムを前記データ・セットに適用させて、第2のECC値を生成させ、前記データ・セットの第2のコピー及び前記第2のECC値は、前記第2のミラー化システムに格納され、前記第2のECCアルゴリズムは、前記第1のECCアルゴリズムと異なり、
    前記データ・セットの回復済み第1のコピー及び前記データ・セットの回復済み第2のコピーをそれぞれ生成するように、前記第1のミラー化システムにおける前記データ・セットの前記格納済み第1のコピー及び前記第2のミラー化システムにおける前記データ・セットの前記格納済み第2のコピーを読み取らせ、
    前記第1のECCアルゴリズムを前記データ・セットの前記回復済み第1のコピーに適用することにより、第1の計算済みECC値を生成させ、前記第2のECCアルゴリズムを前記データ・セットの前記回復済み第1のコピーに適用することにより、第2の計算済みECC値を生成させ、前記第1のECCアルゴリズムを前記データ・セットの前記回復済み第2のコピーに適用することにより、第3の計算済みECC値を生成させ、前記第2のECCアルゴリズムを前記データ・セットの前記回復済み第2のコピーに適用することにより、第4の計算済みECC値を生成させ、
    前記第1、第2、第3及び第4の計算済みECC値を使用させて、前記第1及び第2のミラー化システムの正しい前記回復済みデータを決定させる、コンピュータ・ソフトウェア・プログラム。
  9. ミラー化データ・ストレージ・システムにおけるエラーを検出するためのシステムであって、
    データ・セットの第1のコピー及び第1のエラー訂正コード(ECC)値を格納する第1のミラー化システムであって、前記第1のECC値は、第1のエラー訂正コード(ECC)アルゴリズムを前記データ・セットに適用することによって生成される、前記第1のミラー化システムと、
    前記データ・セットの第2のコピー及び第2のECC値を格納する第2のミラー化システムであって、前記第2のECC値は、第2のECCアルゴリズムを前記データ・セットに適用することによって生成され、前記第2のECCアルゴリズムは、前記第1のECCアルゴリズムと異なる、前記第2のミラー化システムと、
    前記データ・セットの回復済み第1のコピー及び前記データ・セットの回復済み第2のコピーをそれぞれ生成するように、前記第1のミラー化システムにおける前記データ・セットの前記格納済み第1のコピー及び前記第2のミラー化システムにおける前記データ・セットの前記格納済み第2のコピーを読み取るためのデータ回復コンポーネントと、
    前記第1のECCアルゴリズムを前記データ・セットの前記回復済み第1のコピーに適用することにより、第1の計算済みECC値を生成し、前記第2のECCアルゴリズムを前記データ・セットの前記回復済み第1のコピーに適用することにより、第2の計算済みECC値を生成し、前記第1のECCアルゴリズムを前記データ・セットの前記回復済み第2のコピーに適用することにより、第3の計算済みECC値を生成し、前記第2のECCアルゴリズムを前記データ・セットの前記回復済み第2のコピーに適用することにより、第4の計算済みECC値を生成する、エラー訂正コード適用コンポーネントと、
    前記エラー訂正コード適用コンポーネントによって生成された前記第1、第2、第3及び第4の計算済みECC値を使用して、前記第1及び第2のミラー化システムの正しい回復済みデータを決定するための比較コンポーネントを備える、システム。
  10. 前記データ回復コンポーネントは、回復済み第1のECC値及び回復済み第2のECC値をそれぞれ生成するように、前記第1のミラー化システムにおける前記格納済み第1のECC値及び前記第2のミラー化システムにおける前記格納済み第2のECC値をさらに読み取る、請求項9に記載のシステム。
  11. 前記比較コンポーネントは、前記回復済み第1のECC値を、前記第1及び第3の計算済みECC値と比較する、請求項10に記載のシステム。
  12. 前記比較コンポーネントは、前記回復済み第2のECC値を、前記第2及び第4の計算済みECC値と比較する、請求項10に記載のシステム。
  13. 前記データ・セットの前記回復済み第1のコピー及び前記データ・セットの前記回復済み第2のコピーのうちどれが正しいかを決定するためのエラー検出コンポーネントを備える、請求項9に記載のシステム。
  14. 前記第1及び第2のミラー化システムのうちの1つの前記データ・セットの前記回復済み第1のコピー及び前記データ・セットの前記回復済み第2のコピー並びに前記回復済み第1のECC値及び前記回復済み第2のECC値のうちどれが正しいかを決定するためのエラー検出コンポーネントを備える、請求項10に記載のシステム。
  15. 前記ミラー化データ・ストレージ・システムが、メモリ・ミラーリングを使用するメモリ・サブシステム又は新磁気ディスク制御機構(RAID)システムを使用するディスク・ストレージ・システムから成るグループのうちの1つである、請求項9に記載のシステム。
JP2011242664A 2010-11-09 2011-11-04 ミラー化データ・ストレージ・システムにおけるエラーを検出するための方法、コンピュータ・プログラム及びシステム Active JP5785477B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP10190468 2010-11-09
EP10190468.8 2010-11-09

Publications (2)

Publication Number Publication Date
JP2012104112A JP2012104112A (ja) 2012-05-31
JP5785477B2 true JP5785477B2 (ja) 2015-09-30

Family

ID=46020791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011242664A Active JP5785477B2 (ja) 2010-11-09 2011-11-04 ミラー化データ・ストレージ・システムにおけるエラーを検出するための方法、コンピュータ・プログラム及びシステム

Country Status (3)

Country Link
US (1) US8874958B2 (ja)
JP (1) JP5785477B2 (ja)
CN (1) CN102708021B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008069B (zh) * 2013-02-22 2018-06-15 中兴通讯股份有限公司 一种数据保护方法、装置及设备
US9411694B2 (en) * 2014-02-12 2016-08-09 Micron Technology, Inc. Correcting recurring errors in memory
JP6350411B2 (ja) * 2015-06-25 2018-07-04 京セラドキュメントソリューションズ株式会社 情報処理装置及び画像形成装置
TWI575531B (zh) 2015-08-10 2017-03-21 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置
US9761306B1 (en) 2016-03-08 2017-09-12 Toshiba Memory Corporation Resistive memory device and method of programming the same
CN108664362B (zh) * 2017-03-31 2021-06-15 龙芯中科技术股份有限公司 内存镜像的处理方法、内存控制器及用户设备
US10740202B2 (en) * 2018-02-07 2020-08-11 Excelero Storage Ltd. System and method for efficient comparison of mirrored storage devices
JP7099050B2 (ja) * 2018-05-29 2022-07-12 セイコーエプソン株式会社 回路装置、電子機器及び移動体
CN112637217B (zh) * 2020-12-24 2022-11-25 企商在线(北京)数据技术股份有限公司 基于诱饵生成的云计算系统的主动防御方法及装置
WO2024023737A1 (en) * 2022-07-26 2024-02-01 Zero-Error Systems Pte. Ltd. Error detection, error correction or error detection and correction (edac) for electronic devices, electronic circuits or electronic systems

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3685078D1 (de) * 1985-09-09 1992-06-04 Hitachi Ltd Speicherpruefgeraet.
JPS62256061A (ja) * 1986-04-30 1987-11-07 Hitachi Ltd 冗長構成設定可能主記憶装置
JP3106947B2 (ja) * 1996-02-28 2000-11-06 日本電気株式会社 不揮発性半導体記憶装置
JP3494292B2 (ja) * 2000-09-27 2004-02-09 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションデータの誤り訂正支援方法、コンピュータ装置、アプリケーションデータ提供システム、および記憶媒体
JP2003346432A (ja) * 2002-05-22 2003-12-05 Internatl Business Mach Corp <Ibm> データ記憶装置およびデータ処理方法
US7386754B2 (en) * 2003-10-16 2008-06-10 Seagate Technology Llc Method and apparatus to improve magnetic disc drive reliability using excess un-utilized capacity
US20060077750A1 (en) * 2004-10-07 2006-04-13 Dell Products L.P. System and method for error detection in a redundant memory system
US7774684B2 (en) 2006-06-30 2010-08-10 Intel Corporation Reliability, availability, and serviceability in a memory device
US7899988B2 (en) 2008-02-28 2011-03-01 Harris Corporation Video media data storage system and related methods
JP2010102640A (ja) * 2008-10-27 2010-05-06 Nec Computertechno Ltd メモリコントローラ、コンピュータ、およびメモリミラーリング方法
US8200925B2 (en) * 2008-10-31 2012-06-12 Mosaid Technologies Incorporated Data mirroring in serial-connected memory system
TWI396202B (zh) * 2008-11-14 2013-05-11 Phison Electronics Corp 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法
CN101800084A (zh) 2009-02-06 2010-08-11 上海德科电子仪表有限公司 基于循环冗余校验的可编程器件的数据保护方法
US8234461B2 (en) * 2009-03-31 2012-07-31 General Electric Company Systems and method for data survivability
TWI479669B (zh) * 2009-04-01 2015-04-01 Ind Tech Res Inst 太陽模組高透光與光捕捉封裝結構
US8645789B2 (en) * 2011-12-22 2014-02-04 Sandisk Technologies Inc. Multi-phase ECC encoding using algebraic codes
KR20130086887A (ko) * 2012-01-26 2013-08-05 삼성전자주식회사 메모리 버퍼, 이를 포함하는 장치들 및 이의 데이터 처리 방법
US8910017B2 (en) * 2012-07-02 2014-12-09 Sandisk Technologies Inc. Flash memory with random partition

Also Published As

Publication number Publication date
US8874958B2 (en) 2014-10-28
CN102708021A (zh) 2012-10-03
US20120117418A1 (en) 2012-05-10
JP2012104112A (ja) 2012-05-31
CN102708021B (zh) 2015-05-13

Similar Documents

Publication Publication Date Title
JP5785477B2 (ja) ミラー化データ・ストレージ・システムにおけるエラーを検出するための方法、コンピュータ・プログラム及びシステム
US10789117B2 (en) Data error detection in computing systems
US10877860B2 (en) Copying data from mirrored storage to auxiliary storage arrays co-located with primary storage arrays
US9715436B2 (en) System and method for managing raid storage system having a hot spare drive
US7444360B2 (en) Method, system, and program for storing and using metadata in multiple storage locations
US7487394B2 (en) Recovering from abnormal interruption of a parity update operation in a disk array system
US7689890B2 (en) System and method for handling write commands to prevent corrupted parity information in a storage array
US9535784B2 (en) Self monitoring and self repairing ECC
US8484506B2 (en) Redundant array of independent disks level 5 (RAID 5) with a mirroring functionality
JP4324088B2 (ja) データ複製制御装置
US9804923B2 (en) RAID-6 for storage system employing a hot spare drive
US20190354452A1 (en) Parity log with delta bitmap
US20120317439A1 (en) Enhanced Storage Device Replacement System And Method
WO2013080299A1 (ja) データ管理装置、データコピー方法、およびプログラム
US10802934B2 (en) Systems and methods to prevent system crashes due to link failure in memory mirroring mode
US9043655B2 (en) Apparatus and control method
US20150067252A1 (en) Communicating outstanding maintenance tasks to improve disk data integrity
US10809940B1 (en) Multilevel resiliency
US9697357B2 (en) Antivirus scan during a data scrub operation
JP2008041080A (ja) 記憶制御システム、記憶制御システムの制御方法、ポートセレクタ、及びコントローラ
US9542266B2 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit
US20220091785A1 (en) Verified write command in active-active replication
JPWO2013080299A1 (ja) データ管理装置、データコピー方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150622

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150724

R150 Certificate of patent or registration of utility model

Ref document number: 5785477

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150