JP5914660B2 - データ信頼性を検出するための方法及び装置 - Google Patents

データ信頼性を検出するための方法及び装置 Download PDF

Info

Publication number
JP5914660B2
JP5914660B2 JP2014526354A JP2014526354A JP5914660B2 JP 5914660 B2 JP5914660 B2 JP 5914660B2 JP 2014526354 A JP2014526354 A JP 2014526354A JP 2014526354 A JP2014526354 A JP 2014526354A JP 5914660 B2 JP5914660 B2 JP 5914660B2
Authority
JP
Japan
Prior art keywords
data block
source data
reliability
error
reliability maintenance
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
JP2014526354A
Other languages
English (en)
Other versions
JP2014529793A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2014529793A publication Critical patent/JP2014529793A/ja
Application granted granted Critical
Publication of JP5914660B2 publication Critical patent/JP5914660B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、コンピュータ技術の分野に関し、特にデータ信頼性を検出するための方法及び装置に関する。
コンピュータキーサービスの適用の増加に従って、コンピュータシステムの信頼性の要求がますます高まっている。特に経済や金融などのデータ信頼性に対する高い要求を有する分野では、処理プログラムや格納されている情報にエラーが発生すると、計り知れない損失が生じる可能性がある。従って、プログラム及び格納されている情報の信頼性を向上させることが重要である。
データ信頼性を検出するための2つの手段が従来技術において存在する。第1の方法は、プロセスコードセグメントの2つの複製を物理メモリに格納し、当該プロセスコードセグメントを固定サイズの記憶エリアに分割し、分割結果に基づきプロセスコードセグメントエリアと複製との間の整合性を維持するため、整合性維持スレッドとして対応する個数のカーネルスレッドを起動するというものである。あるプログラムコードセグメントにエラーがあることが検出された場合、回復処理が実行される。第2の方法は、データのブレークポイントを予め設定し、データにエラーがあることが検出されると、所定のブレークポイントにロールバックするか、又はデータをリロードし、プログラムを再起動するというものである。
本発明の実現形態では、本発明者は、従来技術が以下の問題を有することに気づいた。
第1の方法が利用されるとき、エラーを有するデータブロックに対してエラーが再発生する可能性が大きく、信頼性は、データが信頼できるか判断するためのバイトに基づき連続的に2回比較される必要があり、信頼性を維持するカーネルスレッドの個数はデータブロックの個数と同じであり、過剰なカーネルスレッドが存在することになり、これにより、システムのオーバヘッドを増大させ、システムマネージメントにとって不便なものとなる。第2の方法が利用されるとき、プログラムリセットはシステム時間を浪費し、システムのオーバヘッドを増加させ、いくつかの適用シナリオでは、プログラムリセットは、サービスに対して大きな影響を与えるため、実行が禁止される。
データを検出及び回復する効率性を向上させるため、本発明の実施例は、データ信頼性を検出するための方法及び装置を提供する。技術的手段は以下の通りである。
本発明の実施例は、データ信頼性を検出するための方法であって、
ソースデータを複数のソースデータブロックに分割するステップと、
各ソースデータブロックについて対応する複製データブロックを生成するステップであって、前記複製データブロックと前記ソースデータブロックとはそれぞれ異なる物理メモリブロックに格納される、生成するステップと、
各ソースデータブロックに従って、前記ソースデータブロックについて対応する信頼性維持データ構造を生成するステップと、
中央処理ユニットの第1信頼性維持スレッドが前記ソースデータブロックの信頼性チェック値を取得するため、前記第1信頼性維持スレッドに登録される信頼性維持データ構造に対応するソースデータブロックを検出するように、前記第1信頼性維持スレッドに前記信頼性維持データ構造を登録し、前記信頼性チェック値と前記ソースデータブロックに対応する信頼性維持データ構造に前記ソースデータブロックにより記録された信頼性チェック値とを比較し、異なる場合、前記ソースデータブロックにエラーが発生していることを示し、前記エラーを有するソースデータブロックを前記エラーを有するソースデータブロックに対応する複製データブロックにより置換するステップと、
を有する方法を提供する。
本発明の実施例は、データ信頼性を検出するための装置であって、
ソースデータを複数のソースデータブロックに分割するよう構成される分割モジュールと、
各ソースデータブロックについて対応する複製データブロックを生成するよう構成される第1生成モジュールであって、前記複製データブロックと前記ソースデータブロックとはそれぞれ異なる物理メモリブロックに格納される、第1生成モジュールと、
各ソースデータブロックに従って前記ソースデータブロックについて対応する信頼性維持データ構造を生成するよう構成される第2生成モジュールと、
中央処理ユニットの第1信頼性維持スレッドが、前記ソースデータブロックの信頼性チェック値を取得するため、前記第1信頼性維持スレッドに登録される信頼性維持データ構造に対応するソースデータブロックを検出するように、前記第1信頼性維持スレッドに前記信頼性維持データ構造を登録し、前記信頼性チェック値と前記ソースデータブロックに対応する信頼性維持データ構造に前記ソースデータブロックにより記録された信頼性チェック値とを比較し、異なる場合、前記ソースデータブロックにエラーが発生していることを示し、前記エラーを有するソースデータブロックを前記エラーを有するソースデータブロックに対応する複製データブロックにより置換するよう構成される検出モジュールと、
を有する装置を提供する。
本発明の実施例に提供される技術的手段は、以下の効果を奏する。ソースデータブロックについて、対応する複製データブロックと対応する信頼性維持データ構造とが生成され、中央処理ユニットにおける少数のスレッドが利用され、エラーが発生しているか判断するため、ソースデータブロックの信頼性チェック値が、ソースデータブロックに対応する信頼性維持データ構造にソースデータブロックにより記録された信頼性チェック値と比較され、エラーの発生後に置換用の複製データが利用され、これにより、データ信頼性に対する迅速な検出をし、エラーデータの復元処理の課題を実現し、システムオーバヘッドを低減する。
本発明の実施例による技術的手段をより明確に説明するため、実施例を説明するための添付した図面が以下において簡単に紹介される。明らかに、以下の説明における添付した図面は、本発明の一部の実施例であり、当業者は、創作的な努力なく添付した図面から他の図面を導出するかもしれない。
図1は、本発明の実施例1に提供されるデータ信頼性を検出するための方法の概略的なフローチャートである。 図2Aは、本発明の実施例2に提供されるデータ信頼性を検出するための方法の概略的なフローチャートである。 図2Bは、本発明の実施例2に提供されるデータ信頼性を検出するための方法の概略的なフローチャートである。 図3は、本発明の実施例3に提供されるデータ信頼性を検出するための装置の概略的な構成図である。
本発明の課題、技術的手段及び効果をより明確にするため、本発明の実施例は、添付した図面を参照して以下において詳細に説明される。
[実施例1]
本発明の実施例1は、データ信頼性を検出するための方法を提供し、それのフローチャートが図1に示され、以下を含む。
ステップ101:ソースデータを複数のソースデータブロックに分割する。
ステップ102:各ソースデータブロックについて対応する複製データブロックを生成し、複製データブロックとソースデータブロックとはそれぞれ異なる物理メモリブロックに格納される。
ステップ103:各ソースデータブロックに従って当該ソースデータブロックについて対応する信頼性維持データ構造を生成する。
ステップ104:中央処理ユニットの第1信頼性維持スレッドがソースデータブロックの信頼性チェック値を取得するため、第1信頼性維持スレッドに登録される信頼性維持データ構造に対応するソースデータブロックを検出するように、第1信頼性維持スレッドに信頼性維持データ構造を登録し、信頼性チェック値とソースデータブロックに対応する信頼性維持データ構造にソースデータブロックにより記録された信頼性チェック値とを比較し、異なる場合、ソースデータブロックにエラーが発生していることを示し、エラーを有するソースデータブロックをエラーを有するソースデータブロックに対応する複製データブロックにより置換する。
本発明の実施例では、ソースデータブロックについて、対応する複製データブロックと対応する信頼性維持データ構造とが生成され、中央処理ユニットにおける少数のスレッドが利用され、エラーが発生しているか判断するため、ソースデータブロックの信頼性チェック値が、ソースデータブロックに対応する信頼性維持データ構造にソースデータブロックにより記録された信頼性チェック値と比較され、エラーの発生後に置換用の複製データが利用され、これにより、データ信頼性に対する迅速な検出をし、エラーデータの復元処理の課題を実現し、システムオーバヘッドを低減する。
[実施例2]
本発明の実施例2は、データ信頼性を検出するための方法を提供し、それのフローチャートが図2A及び2Bに示され、以下を含む。
ステップ201:ソースデータを複数のソースデータブロックに分割する。
信頼性の検出を要求するソースデータは、同一サイズのソースデータブロックに分割される。ソースデータはサイズに基づき平均的に分割されず、ページフレームの整数倍に従って分割され、このため、最後に分割されたソースデータブロックのサイズは、他のソースデータブロックのサイズと異なる。ページフレームは、メモリ管理における概念であり、バーチャルメモリ(すなわち、論理アドレス)アドレスを物理メモリアドレスに自動変換可能な回路がCPUに追加され、当該回路を簡単化するため、RAM(Random Access Memory)は、4KB又は8KBの長さのブロックに分割され、当該ブロックはページフレームと呼ばれる。
本発明の実施例では、信頼性検出を要求するソースデータは、実行中のカーネルコード、プログラムコード及びキーデータなどのシステムにとって重要なデータであってもよい。
ステップ202:各ソースデータブロックについて対応する複製データブロックを生成し、複製データブロックとソースデータブロックとはそれぞれ異なる物理メモリブロックに格納される。
各ソースデータブロックについて対応する複製データブロックが生成され、それは、ソースデータブロックにおいてエラーが発生した後の置換用に利用されるバックアップデータである。複製データブロックとソースデータブロックとは別々に格納され、それぞれ異なる物理メモリブロックに配置される。例えば、ソースデータブロックはNUMA(Non Uniform Memory Access Architecture)メモリのブロックに格納され、複製データブロックは、ソースデータブロックと異なるNUMAメモリのブロックに格納される。
ステップ203:各ソースデータブロックに従って当該ソースデータブロックについて対応する信頼性維持データ構造を生成する。
具体的には、生成された各信頼性維持データ構造は、1つずつそれの対応するソースデータブロックに対応する。信頼性維持データ構造は、少なくとも以下のデータ、ソースデータブロックのデータサイズ、メモリにおけるソースデータブロックのスタートアドレス、メモリにおける複製データブロックのスタートアドレス、信頼性チェック値、エラー情報及び検出時間などの信頼性検出情報を含む。信頼性チェック値は、ソースデータブロックの正確さを判断するのに利用され、多数の利用可能なチェックアルゴリズムが存在する。例えば、信頼性チェック値は、MD5(Message Digest Algorithm 5)アルゴリズム、CRC32(Cyclic Redundancy Check)アルゴリズム又はSHA1(Secure Hash Algorithm)アルゴリズムを介して取得されてもよく、本発明の実施例はこれに限定されるものでない。
ステップ204:中央処理ユニットに第1信頼性維持スレッドが存在するか判断する。
存在する場合、ステップ206を実行し、存在しない場合、ステップ205を実行し、ここで、第1信頼性維持スレッドは、中央処理ユニットのノードMにおいて生成される。
中央処理ユニットのノードMの第1信頼性維持スレッドは、第1信頼性維持スレッドに対応するメモリブロックを検出するだけであり、中央処理ユニットのノードNの第2信頼性維持スレッドは、第2信頼性維持スレッドに対応するメモリブロックを検出するだけであり、これら2つのメモリブロックは同一のメモリブロックでない。従って、ソースデータブロックを格納するメモリブロックは、中央処理ユニットのノードMの第1信頼性維持スレッドに対応するメモリブロックであり、複製データブロックを格納するメモリブロックは、中央処理ユニットのノードNの第2信頼性維持スレッドに対応するメモリブロックであると想定される。
ステップ205:中央処理ユニットのノードNにおいて第1信頼性維持スレッドを生成する。
ステップ206:第1のリンクされたリストにソースデータブロックに対応する信頼性維持データ構造を追加し、中央処理ユニットのノードMの第1信頼性維持スレッドに第1のリンクされたリストを登録する。
中央処理ユニットのノードMの第1信頼性維持スレッドに対応するメモリブロックにおけるソースデータブロックに対応する全ての信頼性維持データ構造が、第1のリンクされたリストに追加され、中央処理ユニットのノードMの第1信頼性維持スレッドは、第1のリンクされたリストの信頼性維持データ構造におけるソースデータブロックのメモリのスタートアドレスに従ってソースデータブロックを見つけてもよく、ソースデータブロックを検出する。
ステップ207:中央処理ユニットのノードM上の第1信頼性維持スレッドは、ある周期に従って、第1信頼性維持スレッドに登録された信頼性維持データ構造に対応するソースデータブロックを検出する。
具体的な検出処理は以下を含む。
ステップ2071:信頼性維持データ構造が第1信頼性維持スレッドに登録された第1のリンクされたリストに存在するか判断し、存在しない場合、第1信頼性維持スレッドを登録解除する。
各信頼性維持データ構造は、1つのソースデータブロックに対応し、従って、信頼性維持データ構造が存在する場合、それは、検出を必要とするソースデータブロックが依然として存在することを示す。信頼性維持データ構造が存在する場合、ステップ2072が実行され、信頼性維持データ構造が存在しない場合、中央処理ユニットの現在のノードM上の第1信頼性維持スレッドが登録解除される。
ステップ2072:ソースデータブロックの信頼性チェック値を計算する。
チェック計算は、同一のチェックアルゴリズムを介しソースデータブロックに対して実行され、これは、信頼性チェックコードを生成するため、信頼性維持データ構造が組み込まれるとき、信頼性チェック値を計算するのに利用される。
ステップ2073:ソースデータブロックの信頼性チェック値と、ソースデータブロックに対応する信頼性維持データ構造にソースデータブロックにより記録される信頼性チェック値とを比較し、異なる場合、それはソースデータブロックにエラーが発生していることを示し、エラーを有するソースデータブロックをエラーを有するソースデータブロックに対応する複製データブロックにより置換する。
計算後に取得されたソースデータブロックの信頼性チェック値を、信頼性維持データ構造が組み込まれているときにソースデータブロックにより記録された信頼性チェック値とを比較する。2つの信頼性チェック値が同一である場合、それはソースデータブロックにエラーが発生していないことを示し、第1信頼性維持スレッドが次のソースデータブロックを検出し続けるように、ステップ2079が実行される。2つの信頼性チェック値が異なる場合、それはソースデータブロックにエラーが発生していることを示し、エラーを有するソースデータブロックを置換するため、ステップ2074が実行される。
ステップ2074:メモリページテーブルを修正し、エラーを有するソースデータブロックのメモリアドレスを、エラーを有するソースデータブロックに対応する複製データブロックのメモリアドレスにより置換する。
メモリページテーブルが修正され、エラーを有するソースデータブロックのメモリアドレスが、エラーを有するソースデータブロックに対応する複製データブロックのメモリアドレスと置換され、すなわち、ソースデータブロックは、エラーを有するソースデータブロックに対応する複製データブロックにより置換され、その後、複製データブロックと他のソースデータブロックとが同一のメモリブロックに格納される。
ステップ2075:エラーを有するソースデータブロックを置換する対応する複製データブロックについて信頼性維持データ構造を生成し、第2のリンクされたリストに複製データブロックの信頼性維持データ構造を追加する。
このとき、エラーを有するソースデータブロックは、エラーを有するソースデータブロックに対応する複製データブロックにより置換され、すなわち、複製データブロックはソースデータブロックに変更されるが、信頼性維持データ構造は複製データブロックに対応し、従って、複製データブロックに対応するデータ構造は、ソースデータブロックに変更された複製データブロックについて生成される。生成された信頼性維持データ構造のコンテンツは、ステップ203における信頼性維持データ構造のコンテンツと同じであり、当該時点に発生したエラーは、新たに生成された信頼性維持データ構造のエラー情報のフィールドに記録され、エラーが発生した時間が、検出時間のフィールドに記録される。
ステップ2076:中央処理ユニットのノードN上に第2信頼性維持スレッドが存在するか判断し、存在する場合、中央処理ユニットのノードNの第2信頼性維持スレッドに第2のリンクされたリストを登録し、存在しない場合、中央処理ユニットのノードN上に第2信頼性維持スレッドを生成し、中央処理ユニットのノードN上の第2信頼性維持スレッドに第2のリンクされたリストを登録する。
エラーを有するソースデータブロックを置換する対応する複製データブロックについて、信頼性維持データ構造が生成された後、中央処理ユニットのノードNにおいて、信頼性維持プロセスが存在するか判断され、存在する場合、第2のリンクされたリストが、中央処理ユニットのノードNの第2信頼性維持スレッドに登録され、存在しない場合、中央処理ユニットのノードN上に第2信頼性維持スレッドが生成され、第2のリンクされたリストが、中央処理ユニットのノードN上の第2信頼性維持スレッドに登録される。
データの置換後、ソースデータブロックを置換するのに利用される各複製データブロックについて、信頼性維持データ構造が生成され、新たに生成された全ての信頼性維持データ構造が、中央処理ユニットのノードN上の第2信頼性維持スレッドに登録されてもよく、中央処理ユニットのノードN上の第2信頼性維持スレッドが、エラーを有するソースデータブロックを置換するこれらの複製データブロックの信頼性を検出するのに利用される。
ステップ2077:ある頻度に従って第2信頼性維持スレッドが第2信頼性維持スレッドに登録されるソースデータブロックを検出するように、中央処理ユニットのノードN上の第2信頼性維持スレッドをトリガする。
中央処理ユニットのノードNに登録される第2信頼性維持スレッドは、第2信頼性維持スレッドに登録されたソースデータブロックを検出するためトリガされ、第2信頼性維持データ構造は、検出を実行するため第2のリンクされたリストの信頼性維持データ構造のスタートアドレスに従って、ソースデータブロックを検出し、当該プロセスは、中央処理ユニットのノードM上の第1信頼性維持スレッドの検出処理と同じであり、ここでは再度説明しない。
ステップ2078:エラーを有するソースデータブロックを修復し、当該修復が成功した場合、エラーを有するソースデータブロックを複製データに変更し、中央処理ユニットの第1信頼性維持スレッドからそれの対応する信頼性維持データ構造を登録解除し、修復が不成功であった場合、メモリからエラーを有するソースデータブロックを削除し、エラーを有するソースデータブロックに対応する複製データブロックに従って新たな複製データブロックを再生成する。
修復方法は以下の通りである。ソースデータブロックの1つの場所にエラーが発生した場合、それの対応する複製データブロックの当該場所のコンテンツが、エラーを有するソースデータブロックに複製される。
修復が成功した場合、メモリのページテーブルが修正され、エラーを有するソースデータブロックのメモリアドレスが、エラーを有するソースデータブロックに対応する複製データブロックのメモリアドレスと置換され、すなわち、エラーを有するソースデータブロックが複製データに変更される。また、エラーを有するソースデータブロックに対応する信頼性維持データ構造は、中央処理ユニットのノードM上の第1信頼性維持スレッドから登録解除される。
データ修復が、ハードウェアに生じた問題などある理由のため不成功であった場合、エラーを有するソースデータブロックはメモリから削除され、エラーを有するソースデータブロックを置換する複製データブロックのメモリアドレスに格納されている複製データブロックを再生成するため、エラーを有するソースデータブロックを置換する複製データブロックに従って複製が実行される。このとき、置換されたソースデータブロックと再生成された複製データブロックとは、異なる物理メモリブロックに配置される。また、エラーの修復が不成功であったことがシステムに通知され、ログとして記録され、ユーザは、ログに従ってエラーの原因をサーチし、システムをベストな状態に維持するため、ソフトウェア及びハードウェアを維持する。
ステップ2079:次のソースデータブロックを検出し続ける。
ソースデータブロックはホットスポットの程度又は範囲に基づき複数のタイプに分類され、各タイプのソースデータブロックは、特定の検出頻度に従ってデータ信頼性を検出するための信頼性維持スレッドを有することに留意すべきであり、これにより、検出頻度とソースデータブロックのホットスポットの程度又は範囲との間の関連付けが生成される。
本発明の実施例では、ソースデータブロックについて、対応する複製データブロックと対応する信頼性維持データ構造とが生成され、中央処理ユニットの少数のスレッドが利用され、ソースデータブロックの信頼性チェック値が、エラーの発生を判断するため、ソースデータブロックに対応する信頼性維持データ構造にソースデータブロックにより記録された信頼性チェック値と比較され、エラーの発生後の置換用に複製データが利用され、これにより、データ信頼性に対する迅速な検出と、エラーデータの回復処理の課題を実現し、システムオーバヘッドを低減する。
[実施例3]
本発明の実施例3は、データ信頼性を検出するための装置30を提供し、それの構成図が図3に示され、
ソースデータを複数のソースデータブロックに分割するよう構成される分割モジュール301と、
各ソースデータブロックについて対応する複製データブロックを生成するよう構成される第1生成モジュール302であって、複製データブロックとソースデータブロックとはそれぞれ異なる物理メモリブロックに格納される、第1生成モジュール302と、
各ソースデータブロックに従って当該ソースデータブロックについて対応する信頼性維持データ構造を生成するよう構成される第2生成モジュール303と、
中央処理ユニットの第1信頼性維持スレッドが、ソースデータブロックの信頼性チェック値を取得するため、第1信頼性維持スレッドに登録される信頼性維持データ構造に対応するソースデータブロックを検出するように、第1信頼性維持スレッドに信頼性維持データ構造を登録し、信頼性チェック値とソースデータブロックに対応する信頼性維持データ構造にソースデータブロックにより記録された信頼性チェック値とを比較し、異なる場合、ソースデータブロックにエラーが発生していることを示し、エラーを有するソースデータブロックをエラーを有するソースデータブロックに対応する複製データブロックにより置換するよう構成される検出モジュール304と、
を有する。
検出モジュールは、
中央処理ユニットに第1信頼性維持スレッドが存在するか判定するよう構成される判定ユニット3041と、
存在する場合、リンクされたリストにソースデータブロックに対応する信頼性維持データ構造を追加し、リンクされたリストを中央処理ユニットの第1信頼性維持スレッドに登録するよう構成される第1登録ユニット3042と、
存在しない場合、中央処理ユニット上に第1信頼性維持スレッドを生成し、リンクされたリストにソースデータブロックに対応する信頼性維持データ構造を追加し、リンクされたリストを中央処理ユニットの第1信頼性維持スレッドに登録するよう構成される第2登録ユニット3043と、
メモリページテーブルを修正し、エラーを有するソースデータブロックのメモリアドレスをエラーを有するソースデータブロックに対応する複製データブロックのメモリアドレスにより置換するよう構成される修正ユニット3044と、
を有する。
データ信頼性を検出するための装置は更に、
エラーを有するソースデータブロックを置換する対応する複製データブロックについて信頼性維持データ構造を生成し、複製データブロックの信頼性維持データ構造を中央処理ユニットの第2信頼性維持スレッドに登録するよう構成される第3生成モジュール305と、
エラーを有するソースデータブロックを修復するよう構成される修復モジュール306と、
修復が成功した場合、エラーを有するソースデータブロックを複製データに変更し、中央処理ユニットの第1信頼性維持スレッドから対応する信頼性維持データ構造を登録解除するよう構成される第1実行モジュール307と、
修復が不成功であった場合、メモリからエラーを有するソースデータブロックを削除し、エラーを有するソースデータブロックに対応する複製データブロックに従って新たな複製データブロックを再生成するよう構成される第2実行モジュール308と、
を有する。
本発明の実施例では、ソースデータブロックについて、対応する複製データブロックと対応する信頼性維持データブロックとが生成され、中央処理ユニットにおいて少数のスレッドが利用され、ソースデータブロックの信頼性チェック値が、エラーの発生を判断するため、ソースデータブロックに対応する信頼性維持データ構造にソースデータブロックにより記録される信頼性チェック値と比較され、エラー発生後の置換用に複製データが利用され、これにより、データ信頼性に対する迅速な検出とエラーデータの回復処理の課題とを実現し、システムオーバヘッドを低減する。
本発明の実施例では、実施例3の装置の原理と方法のアイデアは、実施例1及び2の原理と方法のアイデアと同じであり、実施例1及び2と同じ実施例3の部分はここでは再度説明しない。
当業者は、実施例による方法のステップの全て又は一部が関連するハードウェアに指示するプログラムによって実現されてもよいことを理解すべきである。プログラムは、コンピュータ可読記憶媒体に格納されてもよい。記憶媒体は、例えば、ROM、磁気ディスク又は光ディスクなどであってもよい。
上記説明は、本発明の単なる例示的な実施例であり、本発明を限定することを意図するものでない。本発明の趣旨及び原理から逸脱することなくなされる任意の変更、均等な置換又は改良は、本発明の保護範囲内に属するべきである。

Claims (8)

  1. データ信頼性を検出するための方法であって、
    ソースデータを複数のソースデータブロックに分割するステップと、
    各ソースデータブロックについて対応する複製データブロックを生成するステップであって、前記複製データブロックと前記ソースデータブロックとはそれぞれ異なる物理メモリブロックに格納される、生成するステップと、
    各ソースデータブロックに従って、前記ソースデータブロックについて対応する信頼性維持データ構造を生成するステップと、
    中央処理ユニットの第1信頼性維持スレッドが前記ソースデータブロックの信頼性チェック値を取得するため、前記第1信頼性維持スレッドに登録される信頼性維持データ構造に対応するソースデータブロックを検出するように、前記第1信頼性維持スレッドに前記信頼性維持データ構造を登録し、前記信頼性チェック値と前記ソースデータブロックに対応する信頼性維持データ構造に前記ソースデータブロックにより記録された信頼性チェック値とを比較し、異なる場合、前記ソースデータブロックにエラーが発生していることを示し、前記エラーを有するソースデータブロックを前記エラーを有するソースデータブロックに対応する複製データブロックにより置換するステップと、
    を有し、
    前記エラーを有するソースデータブロックを前記エラーを有するソースデータブロックに対応する複製データブロックにより置換するステップの後、当該方法は更に、
    前記エラーを有するソースデータブロックを置換する対応する複製データブロックについて信頼性維持データ構造を生成し、前記複製データブロックの信頼性維持データ構造を前記中央処理ユニットの第2信頼性維持スレッドに登録するステップを有する方法。
  2. 前記中央処理ユニットの第1信頼性維持スレッドに前記信頼性維持データ構造を登録するステップは、
    前記中央処理ユニットに前記第1信頼性維持スレッドが存在するか判断するステップと、
    存在する場合、リンクされたリストに前記ソースデータブロックに対応する信頼性維持データ構造を追加し、前記中央処理ユニットの第1信頼性維持スレッドに前記リンクされたリストを登録するステップと、
    存在しない場合、前記中央処理ユニット上に第1信頼性維持スレッドを生成し、リンクされたリストに前記ソースデータブロックに対応する信頼性維持データ構造を追加し、前記中央処理ユニットの第1信頼性維持スレッドに前記リンクされたリストを登録するステップと、
    を含む、請求項1記載の方法。
  3. 前記ソースデータブロックを前記エラーを有するソースデータブロックに対応する複製データブロックにより置換するステップは、メモリページテーブルを修正し、前記エラーを有するソースデータブロックのメモリアドレスを前記エラーを有するソースデータブロックに対応する複製データブロックのメモリアドレスにより置換することを含む、請求項1記載の方法。
  4. 前記エラーを有するソースデータブロックを前記エラーを有するソースデータブロックに対応する複製データブロックにより置換するステップの後、当該方法は更に、
    前記エラーを有するソースデータブロックを修復するステップと、
    前記修復が成功した場合、前記エラーを有するソースデータブロックを複製データに変更し、前記中央処理ユニットの第1信頼性維持スレッドから対応する信頼性維持データ構造を登録解除するステップと、
    前記修復が不成功であった場合、メモリから前記エラーを有するソースデータブロックを削除し、前記エラーを有するソースデータブロックに対応する複製データブロックに従って新たな複製データブロックを再生成するステップと、
    を有する、請求項1記載の方法。
  5. データ信頼性を検出するための装置であって、
    ソースデータを複数のソースデータブロックに分割するよう構成される分割モジュールと、
    各ソースデータブロックについて対応する複製データブロックを生成するよう構成される第1生成モジュールであって、前記複製データブロックと前記ソースデータブロックとはそれぞれ異なる物理メモリブロックに格納される、第1生成モジュールと、
    各ソースデータブロックに従って前記ソースデータブロックについて対応する信頼性維持データ構造を生成するよう構成される第2生成モジュールと、
    中央処理ユニットの第1信頼性維持スレッドが、前記ソースデータブロックの信頼性チェック値を取得するため、前記第1信頼性維持スレッドに登録される信頼性維持データ構造に対応するソースデータブロックを検出するように、前記第1信頼性維持スレッドに前記信頼性維持データ構造を登録し、前記信頼性チェック値と前記ソースデータブロックに対応する信頼性維持データ構造に前記ソースデータブロックにより記録された信頼性チェック値とを比較し、異なる場合、前記ソースデータブロックにエラーが発生していることを示し、前記エラーを有するソースデータブロックを前記エラーを有するソースデータブロックに対応する複製データブロックにより置換するよう構成される検出モジュールと、
    前記エラーを有するソースデータブロックを置換する対応する複製データブロックについて信頼性維持データ構造を生成し、前記複製データブロックの信頼性維持データ構造を前記中央処理ユニットの第2信頼性維持スレッドに登録するよう構成される第3生成モジュールと、
    を有する装置。
  6. 前記検出モジュールは、
    前記中央処理ユニットに前記第1信頼性維持スレッドが存在するか判定するよう構成される判定ユニットと、
    存在する場合、リンクされたリストに前記ソースデータブロックに対応する信頼性維持データ構造を追加し、前記リンクされたリストを前記中央処理ユニットの第1信頼性維持スレッドに登録するよう構成される第1登録ユニットと、
    存在しない場合、前記中央処理ユニット上に第1信頼性維持スレッドを生成し、リンクされたリストに前記ソースデータブロックに対応する信頼性維持データ構造を追加し、前記リンクされたリストを前記中央処理ユニットの第1信頼性維持スレッドに登録するよう構成される第2登録ユニットと、
    を有する、請求項記載の装置。
  7. 前記検出モジュールは更に、メモリページテーブルを修正し、前記エラーを有するソースデータブロックのメモリアドレスを前記エラーを有するソースデータブロックに対応する複製データブロックのメモリアドレスにより置換するよう構成される修正ユニットを有する、請求項記載の装置。
  8. 前記エラーを有するソースデータブロックを修復するよう構成される修復モジュールと、
    前記修復が成功した場合、前記エラーを有するソースデータブロックを複製データに変更し、前記中央処理ユニットの第1信頼性維持スレッドから対応する信頼性維持データ構造を登録解除するよう構成される第1実行モジュールと、
    前記修復が不成功であった場合、メモリから前記エラーを有するソースデータブロックを削除し、前記エラーを有するソースデータブロックに対応する複製データブロックに従って新たな複製データブロックを再生成するよう構成される第2実行モジュールと、
    を更に有する、請求項記載の装置。
JP2014526354A 2011-08-23 2011-08-23 データ信頼性を検出するための方法及び装置 Active JP5914660B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/078796 WO2012119410A1 (zh) 2011-08-23 2011-08-23 一种检测数据可靠性的方法和装置

Publications (2)

Publication Number Publication Date
JP2014529793A JP2014529793A (ja) 2014-11-13
JP5914660B2 true JP5914660B2 (ja) 2016-05-11

Family

ID=45579277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014526354A Active JP5914660B2 (ja) 2011-08-23 2011-08-23 データ信頼性を検出するための方法及び装置

Country Status (9)

Country Link
US (1) US9195543B2 (ja)
EP (1) EP2738677B1 (ja)
JP (1) JP5914660B2 (ja)
KR (1) KR101615833B1 (ja)
CN (1) CN102356384B (ja)
AU (1) AU2011361394B2 (ja)
BR (1) BR112014004176B1 (ja)
ES (1) ES2539260T3 (ja)
WO (1) WO2012119410A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104813306B (zh) * 2012-11-21 2017-07-04 相干逻辑公司 具有散布处理器dma‑fifo的处理系统
DE102013209453A1 (de) * 2013-05-22 2014-11-27 Robert Bosch Gmbh Verfahren und Vorrichtungen zum Bereitstellen von Informationen zu Wartungs- und Servicezwecken einer Batterieeinheit
DE102013209427A1 (de) * 2013-05-22 2014-11-27 Robert Bosch Gmbh Verfahren und Vorrichtungen zum Bereitstellen von Informationen zu Wartungs- und Servicezwecken einer Batterieeinheit
DE102013209446A1 (de) * 2013-05-22 2014-11-27 Robert Bosch Gmbh Verfahren und Vorrichtungen zum Bereitstellen von Informationen zu Wartungs- und Servicezwecken einer Batterie
CN103279712B (zh) * 2013-05-28 2016-05-25 华为技术有限公司 增强系统安全性的方法、校验装置及安全系统
CN104461759B (zh) * 2014-11-27 2018-05-11 杭州华为企业通信技术有限公司 一种内存多位错误的处理方法及装置
KR102297541B1 (ko) 2014-12-18 2021-09-06 삼성전자주식회사 메모리 영역의 신뢰성에 기초하여 데이터를 저장하는 저장 장치 및 스토리지 시스템
CN105869309A (zh) * 2016-03-24 2016-08-17 广州广电运通信息科技有限公司 驱动模块内存数据监测方法及装置
KR20180023267A (ko) * 2016-08-25 2018-03-07 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
CN108009054A (zh) * 2017-12-27 2018-05-08 江苏徐工信息技术股份有限公司 一种双eMMC备份存储系统及方法
CN109324920B (zh) * 2018-10-09 2022-03-04 杭州兔小二科技实业有限公司 一种对字节数组进行校验修正的方法和智能设备
CN110083540B (zh) * 2019-04-29 2023-04-28 北京口袋时尚科技有限公司 接口测试方法及装置
DE112019007379T5 (de) * 2019-05-31 2022-02-17 Micron Technology, Inc. Flash-speicher-architektur, die redundanz der verbindungsverbindung implementiert
CN112053737B (zh) * 2020-08-21 2022-08-26 国电南瑞科技股份有限公司 一种在线并行处理的软错误实时检错与恢复方法及系统
CN112506900A (zh) * 2020-11-27 2021-03-16 中广核工程有限公司 核电厂通风管三维数据检查方法、装置、设备及存储介质
US11861177B2 (en) * 2021-08-06 2024-01-02 Micron Technology, Inc. Configurable verify level for a set of data in a memory device

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181755A (ja) * 1992-01-06 1993-07-23 Hitachi Ltd 仮想記憶方式
JP3575811B2 (ja) * 1992-05-07 2004-10-13 株式会社日立製作所 記憶装置
JPH0962586A (ja) * 1995-08-25 1997-03-07 Fujitsu Ltd 情報処理装置及び情報処理装置におけるデータ処理方法
US7228469B2 (en) * 2003-01-02 2007-06-05 Fujitsu Limited Portable information device, method for recovering data in portable information device, and computer product
US7237141B2 (en) * 2003-06-19 2007-06-26 Lsi Corporation Method for recovering data from a redundant storage object
US7325155B2 (en) * 2004-09-14 2008-01-29 Seagate Technology Llc Embedded system with reduced susceptibility to single event upset effects
DE602005015482D1 (de) 2004-12-08 2009-08-27 Ge Aviat Systems Llc System und verfahren zur erhöhten fehlererkennung in speicherperipherien
US20060294299A1 (en) * 2005-06-28 2006-12-28 Intel Corporation Techniques to verify storage of information
US7853825B2 (en) 2005-08-16 2010-12-14 Hewlett-Packard Development Company, L.P. Methods and apparatus for recovering from fatal errors in a system
US7523323B2 (en) 2005-09-15 2009-04-21 Intel Corporation Method and apparatus for quick resumption
CN101501653B (zh) * 2006-02-06 2012-04-04 X档案公司 磁盘的长期备份
US8161353B2 (en) * 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
CN100445963C (zh) * 2007-02-15 2008-12-24 华为技术有限公司 一种实现高可靠性空闲链表的方法及装置
US8751859B2 (en) * 2007-05-10 2014-06-10 International Business Machines Corporation Monitoring lost data in a storage system
US7694191B1 (en) * 2007-06-30 2010-04-06 Emc Corporation Self healing file system
US8739009B1 (en) * 2007-12-27 2014-05-27 Marvell International Ltd. Methods and apparatus for defect detection and correction via iterative decoding algorithms
US7770065B2 (en) * 2008-02-06 2010-08-03 Inventec Corporation File data restoring system and method of computer operating system and software thereof
WO2010035316A1 (ja) * 2008-09-24 2010-04-01 富士通株式会社 メモリ制御装置およびメモリ制御方法
US9003259B2 (en) * 2008-11-26 2015-04-07 Red Hat, Inc. Interleaved parallel redundancy check calculation for memory devices
US8341496B2 (en) * 2009-02-06 2012-12-25 Microsoft Corporation Redundant data in storage medium
CN101650680A (zh) 2009-07-27 2010-02-17 浪潮电子信息产业股份有限公司 一种基于连续快照的持续数据保护的方法
US8407516B2 (en) * 2009-12-23 2013-03-26 Intel Corporation Controlling memory redundancy in a system
CN101901174B (zh) * 2010-07-28 2012-07-18 西安交通大学 基于代码段多副本对比机制提高程序可靠性方法
US20120096310A1 (en) * 2010-10-18 2012-04-19 Brocade Communications Systems, Inc. Redundancy logic
EP2756399B1 (en) * 2011-09-12 2021-01-20 Microsoft Technology Licensing, LLC Querying and repairing data
US9152502B2 (en) * 2012-12-21 2015-10-06 Microsoft Technology Licensing, Llc Data error detection and correction using hash values

Also Published As

Publication number Publication date
JP2014529793A (ja) 2014-11-13
BR112014004176B1 (pt) 2021-09-14
KR20140050738A (ko) 2014-04-29
AU2011361394B2 (en) 2015-07-09
CN102356384A (zh) 2012-02-15
EP2738677B1 (en) 2015-03-18
US9195543B2 (en) 2015-11-24
CN102356384B (zh) 2013-04-24
BR112014004176A2 (pt) 2017-06-13
WO2012119410A1 (zh) 2012-09-13
US20130124914A1 (en) 2013-05-16
KR101615833B1 (ko) 2016-04-26
EP2738677A1 (en) 2014-06-04
EP2738677A4 (en) 2014-07-23
ES2539260T3 (es) 2015-06-29
AU2011361394A1 (en) 2014-03-20

Similar Documents

Publication Publication Date Title
JP5914660B2 (ja) データ信頼性を検出するための方法及び装置
US10387255B2 (en) Data reconstruction method in distributed storage system, apparatus, and system
US9152500B1 (en) Hash collision recovery in a deduplication vault
US9715521B2 (en) Data scrubbing in cluster-based storage systems
RU2449358C1 (ru) Распределенная файловая система и способ управления согласованностью блоков данных в такой системе
US7913114B2 (en) Repair of a corrupt data segment used by a de-duplication engine
US20200097452A1 (en) Data deduplication device, data deduplication method, and data deduplication program
US20100223495A1 (en) Minimize damage caused by corruption of de-duplicated data
EP2342661A1 (en) Matrix-based error correction and erasure code methods and apparatus and applications thereof
US10489244B2 (en) Systems and methods for detecting and correcting memory corruptions in software
US8639968B2 (en) Computing system reliability
JP2017521791A (ja) スタンバイノードデータベースを再構築するための方法及び装置
CN117178265A (zh) 基于快照的数据损坏检测
CN111625396B (zh) 备份数据的校验方法、服务器及存储介质
US9471409B2 (en) Processing of PDSE extended sharing violations among sysplexes with a shared DASD
US11645333B1 (en) Garbage collection integrated with physical file verification
WO2017146721A1 (en) Fault isolation in transaction logs
JP5891842B2 (ja) ストレージシステム
CN108255640B (zh) 分布式存储中冗余数据快速恢复方法及装置
CN118394565A (en) Exclusive OR calculation method, device and product of storage system
Malinowski et al. Hashing and data integrity: Reliability of hashing and granularity size reduction
Lu et al. CARP: Handling silent data errors and site failures in an integrated program and storage replication mechanism
JP2019159721A (ja) ストレージ装置、制御方法及び制御プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150331

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160404

R150 Certificate of patent or registration of utility model

Ref document number: 5914660

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250