Nothing Special   »   [go: up one dir, main page]

JP6231135B2 - データ保護方法、装置及び設備 - Google Patents

データ保護方法、装置及び設備 Download PDF

Info

Publication number
JP6231135B2
JP6231135B2 JP2015558333A JP2015558333A JP6231135B2 JP 6231135 B2 JP6231135 B2 JP 6231135B2 JP 2015558333 A JP2015558333 A JP 2015558333A JP 2015558333 A JP2015558333 A JP 2015558333A JP 6231135 B2 JP6231135 B2 JP 6231135B2
Authority
JP
Japan
Prior art keywords
data
storage
storage space
protection
address
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
JP2015558333A
Other languages
English (en)
Other versions
JP2016511901A (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.)
ZTE Corp
Original Assignee
ZTE 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 ZTE Corp filed Critical ZTE Corp
Publication of JP2016511901A publication Critical patent/JP2016511901A/ja
Application granted granted Critical
Publication of JP6231135B2 publication Critical patent/JP6231135B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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
    • G06F11/167Error detection by comparing the memory output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、情報技術分野に関し、具体的に、データ保護方法、装置及び設備に関する。
一部の特殊な分野において、一部のデータ及びファイルは非常に重要で、データを紛失したりエラーが発生したりすると、大きい損失をもたらすことになるが、電子製品の特徴により、完全に信頼できる記憶設備は有り得ず、全てのデータの紛失又はエラーの防止を確保できる方法もない。
既存の記憶設備おける記憶ユニットのデータの読み取り・書き込みを行う場合、記憶ユニットがホスト(Host)のライトコマンドに基づいてHostからのデータを記憶し、また、Hostのリードコマンドに基づいて、Hostに対応する記憶データを返送する。しかし、実際において、このような記憶が完全に信頼できるものではなく、記憶ユニットに記憶されたデータを紛失したり、エラーが発生したりする。通常の記憶設備の保護は専門的な駆動及びアプリケーションソフトウェアを必要とし、システム運行効率が高くない。
本発明の実施例は、効率的な記憶設備のデータ保護を実現できるデータ保護方法、装置及び設備を提供する。
本発明の実施例の一態様によると、
ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に書き込みし、且つ、前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に書き込みすることと、ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定することと、前記復元データを前記リードコマンドの応答データとすることと、を備えるデータ保護方法を提供する。
前記保護ユニットは少なくとも二つの保護サブユニットを備え、前記第2の記憶空間は前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間を備える。
前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に書き込みすることが、前記保護データをそれぞれ、前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間に書き込みすることを備える。
前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定することが、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の各記憶サブ空間における記憶データに基づいて、前記復元データを特定することを含む。
前記方法が、データ変換モードに応じて、前記記憶対象データに対して変換処理を行って、前記保護データを得ることをさらに備える。
前記第1の記憶空間中の記憶データと前記第2の記憶空間における各記憶サブ空間中の記憶データに基づいて、前記復元データを特定することが、前記データ変換モードに応じて、前記第2の記憶空間における第1の記憶サブ空間中の記憶データに対して前記変換処理に対する逆変換処理を行って、第1の逆変換処理後のデータを得ることと、前記第1の記憶空間中の記憶データと前記第1の記憶サブ空間に対応する逆変換処理後のデータとが一致するか否かを判定して、第1の判定結果を取得することと、前記第1の判定結果がYESである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定することと、前記第1の判定結果がNOである場合、前記第2の記憶空間における第2の記憶サブ空間中の記憶データに対して前記変換処理に対する逆変換処理を行って、第2の逆変換処理後のデータを得て、且つ、前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定することと、を備える。
前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定することが、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータとが一致するか否かを判定して、第2の判定結果を取得することと、前記第2の判定結果がYESである場合、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータのうちいずれかを前記復元データとして特定することと、前記第2の判定結果がNOである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定することと、を備える。
前記データ変換モードはホストにより設定されるものである。
本発明の実施例の他の一態様によると、ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に書き込みし、且つ、前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に書き込みするように構成されるライトモジュールと、ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定するように構成される特定モジュールと、前記復元データを前記リードコマンドの応答データとするように構成される応答モジュールと、を備えるデータ保護装置を提供する。
前記保護ユニットは少なくとも二つの保護サブユニットを備え、前記第2の記憶空間は前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間を備える。
前記ライトモジュールは、ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に書き込みし、且つ、前記保護データをそれぞれ、前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間に書き込みするように構成されるライトユニットを備える。
前記特定モジュールは、ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間における各記憶サブ空間中の記憶データに基づいて、前記復元データを特定するように構成される特定ユニットを備える。
前記装置は、データ変換モードに応じて、前記記憶対象データに対して変換処理を行って、前記保護データを得るように構成される変換モジュールをさらに備える。
前記特定ユニットは、前記データ変換モードに応じて、前記第2の記憶空間における第1の記憶サブ空間中に記憶されたデータに対して前記変換処理に対する逆変換処理を行って、第1の逆変換処理後のデータを得るように構成される変換サブユニットと、前記第1の記憶空間中の記憶データと前記第1の記憶サブ空間に対応する逆変換処理後のデータとが一致するか否かを判定して、第1の判定結果を取得するように構成される第1の判定サブユニットと、前記第1の判定結果がYESである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定するように構成される第1の特定サブユニットと、前記第1の判定結果がNOである場合、前記第2の記憶空間における第2の記憶サブ空間中の記憶データに対して前記変換処理に対する逆変換処理を行って、第2の逆変換処理後のデータを得て、且つ、前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定するように構成される第2の特定サブユニットと、を備える。
前記第2の特定サブユニットが、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータとが一致するか否かを判定して、第2の判定結果を取得するように構成される第2の判定サブユニットと、前記第2の判定結果がYESである場合、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータのうちいずれかを前記復元データとして特定するように構成される第3の特定サブユニットと、前記第2の判定結果がNOである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定するように構成される第4の特定サブユニットと、を備える。
本発明の実施例の他の一態様によると、ホストと、インターフェース制御ユニットと、記憶ユニットと、保護ユニットと、を備え、前記インターフェース制御ユニットが、ホストと、記憶ユニットと、保護ユニットにそれぞれ接続され、前記インターフェース制御ユニットが上述したデータ保護装置を備える記憶設備を提供する。
本発明の実施例によると、記憶対象データに対応する保護データを保護ユニットに書き込みし、対応するリードコマンドを受信した場合、保護ユニットと記憶ユニット中の記憶データに基づいて、記憶対象データの復元データを特定してリードコマンドの応答データとすることで、効率的な記憶設備のデータ保護を実現することができる。
ここで説明する図面は本発明を理解させるためのもので、本発明の一部を構成し、本発明における実施例と共に本発明を解釈し、本発明を不当に限定するものではない。
図1は、本発明の実施例に係わるデータ保護方法のプロセスを示すフローチャート図である。 図2は、通常の記憶設備の設計構成の概念図である。 図3Aは、リアルタイム保護機能付き記憶設備の設計構成の概念図である。 図3Bは、図3Aに示すインターフェース制御ユニットの実現を示す概念図である。 図4は、リアルタイム保護機能付き記憶設備によるデータの書き込みを示す概念図である。 図5は、リアルタイム保護機能付き記憶設備によるデータ読み取りを示す概念図である。 図6は、データ自動復旧を示すフローチャート概念図である。
本発明の実施例の目的、技術案及びメリットを明確にするため、以下、図面を参照しつつ具体的な実施例について詳しく説明する。ここで、互いに衝突しない限り、本願の実施例及び実施例中の特徴を互いに結合することができる。
図1は、本発明の実施例に係わるデータ保護方法のプロセスを示すフローチャート図であり、図1を参照すると、本発明の実施例においてデータ保護方法を提供し、前記方法は以下のステップを含む。
ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に記憶し、且つ、
前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に記憶し(ステップ101)、
ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定し(ステップ102)、
前記復元データを前記リードコマンドの応答データとする(ステップ103)。
このように、記憶対象データに対応する保護データを保護ユニットに書き込みし、対応するリードコマンドを受信した場合、保護ユニットと記憶ユニット中の記憶データに基づいて、記憶対象データの復元データを特定してリードコマンドの応答データとすることで、効率的な記憶設備のデータ保護を実現する。
ここで、ホストは、CPU、PCI Master等のデータ操作を自発的に発することのできる設備から構成されることができる。
記憶ユニットと保護ユニットは、各種の記憶設備からなることができ、記憶設備として、例えばSDRAM、FLASH、EEPROM記憶チップ又はフラッシュカード等の外部記憶設備を用いることができる。
前記保護データは前記記憶対象データのエラー検出訂正データを含むことができ、この場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定することが、
前記第2の記憶空間中のエラー検出訂正データに基づいて、前記第1の記憶空間中の記憶データにエラー検出演算を行って、エラー検出結果を得ることと、
エラー検出結果がエラー発生である場合、前記第1の記憶空間中の記憶データを前記復元データとして特定することと、
エラー検出結果がエラー未発生である場合、エラー検出訂正データに基づいて、前記第1の記憶空間中の記憶データにエラー訂正処理を行って、エラー訂正処理後のデータを得て、該エラー訂正処理後のデータを前記復元データとして特定することと、を含むことができる。
又は、前記保護データは前記記憶対象データの二つ以上のバックアップデータを含むことができ、この場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定することが、
前記第1の記憶空間中の記憶データと前記第2の記憶空間中の前記二つ以上のバックアップデータ中のいずれかのバックアップデータに対応する記憶データが一致するか否かを判定し、一致すると、前記第1の記憶空間中の記憶データを前記復元データとして特定し、そうでないと、前記第2の記憶空間における前記二つ以上のバックアップデータのそれぞれに対応する記憶データが一致するか否かを判定し、一致すると、前記第2の記憶空間における前記二つ以上のバックアップデータ中のいずれかのバックアップデータに対応する記憶データを前記復元データと特定し、そうでないと、前記第1の記憶空間中の記憶データを前記復元データとして特定することを含むことができる。
本発明の実施例において、前記保護ユニットは少なくとも二つの保護サブユニットを含むことができ、前記第2の記憶空間は前記少なくとも二つ保護サブユニットのそれぞれにおける前記アドレスとに対応する記憶サブ空間を含むことができる。
前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に記憶することが、
前記保護データをそれぞれ、前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間に書き込みすることを含むことができる。
前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定することが、
前記第1の記憶空間中の記憶データと前記第2の記憶空間における各記憶サブ空間中の記憶データに基づいて、前記復元データを特定することを含むことができる。
前記方法が、
データ変換モードに応じて、前記記憶対象データに対して変換処理を行って、前記保護データを得ることをさらに含むことが好ましい。
前記第1の記憶空間中の記憶データと前記第2の記憶空間における各記憶サブ空間中の記憶データに基づいて、前記復元データを特定することが、
前記データ変換モードに応じて、前記第2の記憶空間における第1の記憶サブ空間に記憶されたデータに対して前記変換処理に対する逆変換を行って、第1の逆変換処理後のデータを得ることと、
前記第1の記憶空間中の記憶データと前記第1の記憶サブ空間中の対応する逆変換処理後のデータとが一致するか否かを判定し、第1の判定結果を取得することと、
前記第1の判定結果がYESである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定することと、
前記第1の判定結果がNOである場合、前記第2の記憶空間における第2の記憶サブ空間中の記憶データに対して前記変換処理に対する逆変換処理を行って第2の逆変換処理後のデータを得て、前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定することと、を含むことができる。
ここで、データ変換モードは、例えば、データを反転するか、あるエラー訂正アルゴリズムに従って処理を行う等である。
前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定することは、
前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータとが一致するか否かを判定して第2の判定結果を取得することと、
前記第2の判定結果がYESである場合、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータのうちいずれかを前記復元データとして特定することと、
前記第2の判定結果がNOである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定することと、を含むことができる。
ここで、前記少なくとも二つの保護サブユニットは、例えば、少なくとも二つの記憶リードライトモジュールである。少なくとも二つの記憶リードライトモジュールのデータに同時にエラーが発生する可能性が極めて低いので、信頼性の高いデータ記憶保護を実現することができる。
また、前記データ変換モードは、予め設定されたデフォルトモードであることができ、又は、ホストにより設定されるものであることもでき、例えば、ホストにより前記ライトコマンドに含まれるモード指示情報によって設定することもできる。
本発明の実施例をさらに説明するため、以下、本発明の実施例の好適な実施形態を説明する。
図2は、通常の記憶設備の設計構成の概念図であり、図2を参照すると、ホスト(Host)はデータをそのまま、記憶ユニット中のあるアドレスに対応する記憶空間に書き込みし、該記憶空間からデータを読み取る。
図3Aは、本好適な実施形態のリアルタイム保護機能付き記憶設備の設計構成の概念図であり、図3Bは、図3Aに示すインターフェース制御ユニットの実現を示す概念図であり、図3Aと図3Bを参照すると、インターフェース制御ユニットはそれぞれ、ホスト、記憶ユニット、保護ユニットに接続され、インターフェース制御ユニットはデータを記憶ユニットにそのまま送信し、データは変換ユニットによる変換を経て、変換後のデータが保護ユニットに書き込まれる。
図3Aと図3Bに対応し、本好適な実施形態のリアルタイム保護機能付き記憶設備のデータ書き込みプロセスを図4に示し、具体的には、以下のステップを含む。
今回の処理プロセスを開始する(ステップ401)。
Hostが、ライトコマンドをインターフェース変換ユニットに送信する(ステップ402)。
インターフェース変換ユニットが、受信したアドレスを下層の記憶設備にそのまま送信する(ステップ403)。
インターフェース変換ユニットが、受信したデータを下層の記憶設備にそのまま送信する(ステップ404)。
インターフェース変換ユニットが、自分のデフォルト設定されたデータ変換モード又はHostによりライトコマンドを介して設定したデータ変換モードに応じて、受信したデータに対して変換を行ってから保護ユニットに送信する(ステップ405)。
今回のプロセスを終了する(ステップ406)。
図5は、本好適な実施形態のリアルタイム保護機能付き記憶設備によるデータ読み取りプロセスを示す概念図であり、図5を参照すると、リアルタイム保護機能付き記憶設備によるデータ読み取りプロセスは、以下の具体的なステップを含む。
今回の処理プロセスを開始する(ステップ501)。
Hostが、データリートコマンドをインターフェース変換ユニットに送信する(ステップ502)。
インターフェース変換ユニットが、アドレスを記憶ユニット及び保護ユニットにそのまま送信する(ステップ503)。
インターフェース変換ユニットが、書き込みプロセスに用いられた変換モードに応じて、保護ユニットから読み取ったデータに逆変換を行って変換後のデータを得て、変換後のデータと記憶ユニットから読み取ったデータとを比較し、一致すると、記憶ユニットから読み取ったデータをそのままHostに送信してプロセスを終了し、一致しないと、エラーの発生を検出したので、図6に示すデータ自動復旧プロセスに移行する(ステップ504)。
図6は、本好適な実施形態のデータ自動復旧プロセスを示す概念図であり、図6を参照すると、データ自動復旧プロセスは以下のステップを含む。
今回の処理プロセスを開始する(ステップ601)。
インターフェース変換ユニットが、二つの変換ユニット(変換ユニット1と変換ユニット2)中のデータを同時に復元し、復元データ1と復元データ2を形成する(ステップ602)。
復元データ1と復元データ2を比較し、一致しないと、復元データにエラーが発生したことを表し、記憶ユニットから読み取ったデータをHostにそのまま送信する(ステップ603)。
復元データ1と復元データ2を比較し、一致すると、復元データが正確であると判定し、復元データに基づいて記憶ユニットのデータに復旧を行って、復元データ1又は復元データ2(即ち、図に示す「正確なデータ」)をHostに送信する(ステップ604)。
該プロセスを終了する(ステップ605)。
本発明の実施例によるとさらに、データ保護装置を提供し、前記装置は、
ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に記憶し、且つ、前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に記憶するように構成されるライトモジュールと、
ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定するように構成される特定モジュールと、
前記復元データを前記リードコマンドの応答データとするように構成される応答モジュールと、を備える。
このように、記憶対象データに対応する保護データを保護ユニットに書き込みし、対応するリードコマンドを受信した場合、保護ユニットと記憶ユニット中の記憶データに基づいて、記憶対象データの復元データを特定してリードコマンドの応答データとすることで、効率的な記憶設備のデータ保護を実現することができる。
ここで、前記保護ユニットは少なくとも二つの保護サブユニットを含むことができ、前記第2の記憶空間は前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間を含むことができる。
前記ライトモジュールは、
ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に記憶し、且つ、前記保護データをそれぞれ、前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間に書き込みするように構成されるライトユニットを備えることができる。
前記特定モジュールは、
ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間における各記憶サブ空間中の記憶データに基づいて、前記復元データを特定するように構成される特定ユニットを備えることができる。
前記装置が、
データ変換モードに応じて、前記記憶対象データに対して変換処理を行って、前記保護データを得るように構成される変換モジュールをさらに含むことが好ましい。
前記特定ユニットは、
前記データ変換モードに応じて、前記第2の記憶空間における第1の記憶サブ空間中に記憶したデータに対して前記変換処理に対する逆変換を行って、第1の逆変換処理後のデータを得るように構成される変換サブユニットと、
前記第1の記憶空間中の記憶データと前記第1の記憶サブ空間に対応する逆変換処理後のデータとが一致するか否かを判定して第1の判定結果を取得するように構成される第1の判定サブユニットと、
前記第1の判定結果がYESである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定するように構成される第1の特定サブユニットと、
前記第1の判定結果がNOである場合、前記第2の記憶空間における第2の記憶サブ空間中の記憶データに対して前記変換処理に対する逆変換処理を行って第2の逆変換処理後のデータを得て、前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定するように構成される第2の特定サブユニットと、を備えることができる。
ここで、前記第2の特定サブユニットは、
前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータとが一致するか否かを判定して第2の判定結果を取得するように構成される第2の判定サブユニットと、
前記第2の判定結果がYESである場合、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータのうちいずれかを前記復元データとして特定するように構成される第3の特定サブユニットと、
前記第2の判定結果がNOである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定するように構成される第4の特定サブユニットと、を備えることができる。
本発明の実施例によるとさらに、記憶設備を提供する。前記記憶設備は、ホストと、インターフェース制御ユニットと、記憶ユニットと、保護ユニットと、を備え、前記インターフェース制御ユニットは、ホスト、記憶ユニット、保護ユニットにそれぞれ接続され、上述したデータ保護装置を備える。
ここで、インターフェース制御ユニットは、プログラム可能な論理素子(PLD)又はASICチップからなることができる。
通常の記憶設備の保護は、ソフトウェアとハードウェアの結合によって実現され、コストが高いと共に、専門的なソフトウェアの支援が必要であって、製品の開発に特別な要求が求められている。本発明の実施例に係わる上記記憶設備よると、挿入式システム又は他の中小型設備に適用し、実現が簡単で、駆動及び応用ソフトウェアに特別な要求が求められておらず、ハードウェアのみによって実現し、システムの運行効率が極めて高い。
以上は、本発明の実施例の実施形態に過ぎず、当業者であれば本発明の実施例の原理を離脱しない範囲内で改良乃至変更することができ、これらは全て本発明の保護範囲内に含まれる。
本発明により提供される技術案によると、記憶対象データに対応する保護データを保護ユニットに書き込みし、対応するリードコマンドを受信した場合、保護ユニットと記憶ユニット中の記憶データに基づいて、記憶対象データの復元データを特定してリードコマンドの応答データとすることで、効率的な記憶設備のデータ保護を実現することができる。

Claims (6)

  1. データ保護方法であって、
    ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に書き込みし、且つ、前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に書き込みすることと、
    ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定することと、
    前記復元データを前記リードコマンドの応答データとすることと、を備え
    前記保護ユニットは少なくとも二つの保護サブユニットを備え、前記第2の記憶空間は前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間を備え、
    前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に書き込みすることが、
    前記保護データをそれぞれ、前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間に書き込みすることを備え、
    前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定することが、
    前記第1の記憶空間中の記憶データと前記第2の記憶空間における各記憶サブ空間中の記憶データに基づいて、前記復元データを特定することを備え、
    前記データ保護方法は、
    データ変換モードに応じて、前記記憶対象データに対して変換処理を行って、前記保護データを得ることをさらに備え、
    前記第1の記憶空間中の記憶データと前記第2の記憶空間における各記憶サブ空間中の記憶データに基づいて、前記復元データを特定することが、
    前記データ変換モードに応じて、前記第2の記憶空間における第1の記憶サブ空間中の記憶データに対して前記変換処理に対する逆変換処理を行って、第1の逆変換処理後のデータを得ることと、
    前記第1の記憶空間中の記憶データと前記第1の記憶サブ空間に対応する逆変換処理後のデータとが一致するか否かを判定して、第1の判定結果を取得することと、
    前記第1の判定結果がYESである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定することと、
    前記第1の判定結果がNOである場合、前記第2の記憶空間における第2の記憶サブ空間中の記憶データに対して前記変換処理に対する逆変換処理を行って、第2の逆変換処理後のデータを得て、且つ、前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定することと、を備えるデータ保護方法。
  2. 前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定することが、
    前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータとが一致するか否かを判定して、第2の判定結果を取得することと、
    前記第2の判定結果がYESである場合、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータのうちいずれかを前記復元データとして特定することと、
    前記第2の判定結果がNOである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定することと、を備える請求項に記載の方法。
  3. 前記データ変換モードはホストにより設定されるものである請求項に記載の方法。
  4. データ保護装置であって、
    ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に書き込みし、且つ、前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に書き込みするように構成されるライトモジュールと、
    ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定するように構成される特定モジュールと、
    前記復元データを前記リードコマンドの応答データとするように構成される応答モジュールと、を備え
    前記保護ユニットは少なくとも二つの保護サブユニットを備え、前記第2の記憶空間は前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間を備え、
    前記ライトモジュールは、
    ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に書き込みし、且つ、前記保護データをそれぞれ、前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間に書き込みするように構成されるライトユニットを備え、
    前記特定モジュールは、
    ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間における各記憶サブ空間中の記憶データに基づいて、前記復元データを特定するように構成される特定ユニットを備え、
    前記データ保護装置は、
    データ変換モードに応じて、前記記憶対象データに対して変換処理を行って、前記保護データを得るように構成される変換モジュールをさらに備え、
    前記特定ユニットは、
    前記データ変換モードに応じて、前記第2の記憶空間における第1の記憶サブ空間中に記憶されたデータに対して前記変換処理に対する逆変換処理を行って、第1の逆変換処理後のデータを得るように構成される変換サブユニットと、
    前記第1の記憶空間中の記憶データと前記第1の記憶サブ空間に対応する逆変換処理後のデータとが一致するか否かを判定して、第1の判定結果を取得するように構成される第1の判定サブユニットと、
    前記第1の判定結果がYESである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定するように構成される第1の特定サブユニットと、
    前記第1の判定結果がNOである場合、前記第2の記憶空間における第2の記憶サブ空間中の記憶データに対して前記変換処理に対する逆変換処理を行って、第2の逆変換処理後のデータを得て、且つ、前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定するように構成される第2の特定サブユニットと、を備えるデータ保護装置。
  5. 前記第2の特定サブユニットが、
    前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータとが一致するか否かを判定して、第2の判定結果を取得するように構成される第2の判定サブユニットと、
    前記第2の判定結果がYESである場合、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータのうちいずれかを前記復元データとして特定するように構成される第3の特定サブユニットと、
    前記第2の判定結果がNOである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定するように構成される第4の特定サブユニットと、を備える請求項に記載の装置。
  6. ホストと、インターフェース制御ユニットと、記憶ユニットと、保護ユニットと、を備え、前記インターフェース制御ユニットが、前記ホストと、前記記憶ユニットと、前記保護ユニットにそれぞれ接続され、前記インターフェース制御ユニットが請求項4又は5に記載のデータ保護装置を備える記憶設備。
JP2015558333A 2013-02-22 2013-11-14 データ保護方法、装置及び設備 Active JP6231135B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310057355.XA CN104008069B (zh) 2013-02-22 2013-02-22 一种数据保护方法、装置及设备
CN201310057355.X 2013-02-22
PCT/CN2013/087153 WO2014127650A1 (zh) 2013-02-22 2013-11-14 一种数据保护方法、装置及设备

Publications (2)

Publication Number Publication Date
JP2016511901A JP2016511901A (ja) 2016-04-21
JP6231135B2 true JP6231135B2 (ja) 2017-11-15

Family

ID=51368729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015558333A Active JP6231135B2 (ja) 2013-02-22 2013-11-14 データ保護方法、装置及び設備

Country Status (6)

Country Link
US (1) US10191670B2 (ja)
EP (1) EP2960777B1 (ja)
JP (1) JP6231135B2 (ja)
KR (1) KR102114642B1 (ja)
CN (1) CN104008069B (ja)
WO (1) WO2014127650A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10579613B2 (en) * 2017-08-08 2020-03-03 International Business Machines Corporation Database recovery using persistent address spaces
CN109635598A (zh) * 2017-10-09 2019-04-16 中兴通讯股份有限公司 一种数据保护方法、装置及存储介质
US10528422B2 (en) * 2017-11-13 2020-01-07 Stmicroelectronics International N.V. Redundant storage of error correction code (ECC) checkbits for validating proper operation of a static random access memory (SRAM)
CN110083478B (zh) * 2018-01-25 2024-04-19 东莞力晶科技有限公司 一种数据恢复方法、数据恢复系统以及固态硬盘
US11194477B2 (en) 2018-01-31 2021-12-07 Micron Technology, Inc. Determination of a match between data values stored by three or more arrays
DE102018112816A1 (de) * 2018-05-29 2019-12-05 Infineon Technologies Ag Adresscodierter Zugriff auf Speicher
CN109992444A (zh) * 2019-03-25 2019-07-09 深圳忆联信息系统有限公司 一种基于硬件的端对端数据保护方法、装置、计算机设备及存储介质
CN111125794B (zh) * 2019-12-31 2023-09-26 海光云芯集成电路设计(上海)有限公司 访存控制方法、系统及存储装置控制器

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198608A (ja) * 1997-01-08 1998-07-31 Mitsubishi Electric Corp メモリカード
JP3891539B2 (ja) * 2000-06-15 2007-03-14 シャープ株式会社 半導体装置およびその制御装置
JP4751163B2 (ja) * 2005-09-29 2011-08-17 株式会社東芝 メモリシステム
US7620875B1 (en) * 2006-03-07 2009-11-17 Xilinx, Inc. Error correction code memory system with a small footprint and byte write operation
KR100845529B1 (ko) * 2007-01-03 2008-07-10 삼성전자주식회사 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
US7873803B2 (en) * 2007-09-25 2011-01-18 Sandisk Corporation Nonvolatile memory with self recovery
JP2009217875A (ja) * 2008-03-07 2009-09-24 Nec Corp メモリ装置、及び、その制御方法
CN101625897B (zh) 2008-07-11 2012-05-30 群联电子股份有限公司 用于快闪存储器的数据写入方法、储存系统与控制器
CN101477447A (zh) * 2009-01-21 2009-07-08 杭州华三通信技术有限公司 磁盘快照方法与装置
KR101543245B1 (ko) * 2009-03-18 2015-08-11 삼성전자주식회사 에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템
US8874958B2 (en) * 2010-11-09 2014-10-28 International Business Machines Corporation Error detection in a mirrored data storage system
JP5297479B2 (ja) * 2011-02-14 2013-09-25 エヌイーシーコンピュータテクノ株式会社 ミラーリング復旧装置、および、ミラーリング復旧方法
CN102855194B (zh) 2012-08-08 2015-05-13 北京君正集成电路股份有限公司 数据存储方法和存储器

Also Published As

Publication number Publication date
US20150378630A1 (en) 2015-12-31
KR20150120366A (ko) 2015-10-27
EP2960777A4 (en) 2016-02-24
WO2014127650A1 (zh) 2014-08-28
JP2016511901A (ja) 2016-04-21
EP2960777A1 (en) 2015-12-30
CN104008069A (zh) 2014-08-27
EP2960777B1 (en) 2020-01-01
KR102114642B1 (ko) 2020-06-08
CN104008069B (zh) 2018-06-15
US10191670B2 (en) 2019-01-29

Similar Documents

Publication Publication Date Title
JP6231135B2 (ja) データ保護方法、装置及び設備
KR101969008B1 (ko) 영구 메모리에서의 에러 처리 기술
US9477545B2 (en) Error correcting system and method for server
US9678760B2 (en) Memory card and storage system having authentication program and method for operating thereof
US20130282996A1 (en) Systems and methods for migrating data
US10475517B2 (en) Characterizing and operating a non-volatile memory device
CN103279406B (zh) 一种内存的隔离方法和装置
US20150019904A1 (en) Data processing system and operating method thereof
WO2017143843A1 (zh) 元数据修复方法及装置
KR20160046225A (ko) 고장 제어 기능을 구비한 캐시 메모리
US20180067806A1 (en) Confirming memory marks indicating an error in computer memory
TW201543496A (zh) 資料處理方法、記憶體控制電路單元以及記憶體儲存裝置
US20120144245A1 (en) Computing device and method for detecting pci system errors in the computing device
US8533560B2 (en) Controller, data storage device and program product
US10044500B2 (en) Error correction coding redundancy based data hashing
US20150067192A1 (en) System and method for adjusting sas addresses of sas expanders
CN105354107A (zh) NOR Flash的数据传输方法及系统
JP2011048742A (ja) ミラーリング制御装置、ミラーリング制御回路、ミラーリング制御方法およびそのプログラム
TWI533316B (zh) 錯誤修正方法以及記憶體裝置
US9417954B2 (en) Data storage device and method for operating the same
US10176043B2 (en) Memory controller
US11327882B2 (en) Method and apparatus for eliminating bit disturbance errors in non-volatile memory devices
CN101470644A (zh) 操作系统恢复装置与方法
US8756420B2 (en) System and method for encrypting and storing data
JP5916204B2 (ja) メモリ装置及びメモリパトロールによるデータ化け回避方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170804

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171018

R150 Certificate of patent or registration of utility model

Ref document number: 6231135

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