(58)【調査した分野】(Int.Cl.,DB名)
ホストと、インターフェース制御ユニットと、記憶ユニットと、保護ユニットと、を備え、前記インターフェース制御ユニットが、前記ホストと、前記記憶ユニットと、前記保護ユニットにそれぞれ接続され、前記インターフェース制御ユニットが請求項4又は5に記載のデータ保護装置を備える記憶設備。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施例は、効率的な記憶設備のデータ保護を実現できるデータ保護方法、装置及び設備を提供する。
【課題を解決するための手段】
【0005】
本発明の実施例の一態様によると、
ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に書き込みし、且つ、前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に書き込みすることと、ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定することと、前記復元データを前記リードコマンドの応答データとすることと、を備えるデータ保護方法を提供する。
【0006】
前記保護ユニットは少なくとも二つの保護サブユニットを備え、前記第2の記憶空間は前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間を備える。
【0007】
前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に書き込みすることが、前記保護データをそれぞれ、前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間に書き込みすることを備える。
【0008】
前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定することが、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の各記憶サブ空間における記憶データに基づいて、前記復元データを特定することを含む。
【0009】
前記方法が、データ変換モードに応じて、前記記憶対象データに対して変換処理を行って、前記保護データを得ることをさらに備える。
【0010】
前記第1の記憶空間中の記憶データと前記第2の記憶空間における各記憶サブ空間中の記憶データに基づいて、前記復元データを特定することが、前記データ変換モードに応じて、前記第2の記憶空間における第1の記憶サブ空間中の記憶データに対して前記変換処理に対する逆変換処理を行って、第1の逆変換処理後のデータを得ることと、前記第1の記憶空間中の記憶データと前記第1の記憶サブ空間に対応する逆変換処理後のデータとが一致するか否かを判定して、第1の判定結果を取得することと、前記第1の判定結果がYESである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定することと、前記第1の判定結果がNOである場合、前記第2の記憶空間における第2の記憶サブ空間中の記憶データに対して前記変換処理に対する逆変換処理を行って、第2の逆変換処理後のデータを得て、且つ、前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定することと、を備える。
【0011】
前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定することが、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータとが一致するか否かを判定して、第2の判定結果を取得することと、前記第2の判定結果がYESである場合、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータのうちいずれかを前記復元データとして特定することと、前記第2の判定結果がNOである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定することと、を備える。
【0012】
前記データ変換モードはホストにより設定されるものである。
【0013】
本発明の実施例の他の一態様によると、ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に書き込みし、且つ、前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に書き込みするように構成されるライトモジュールと、ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定するように構成される特定モジュールと、前記復元データを前記リードコマンドの応答データとするように構成される応答モジュールと、を備えるデータ保護装置を提供する。
【0014】
前記保護ユニットは少なくとも二つの保護サブユニットを備え、前記第2の記憶空間は前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間を備える。
【0015】
前記ライトモジュールは、ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に書き込みし、且つ、前記保護データをそれぞれ、前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間に書き込みするように構成されるライトユニットを備える。
【0016】
前記特定モジュールは、ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間における各記憶サブ空間中の記憶データに基づいて、前記復元データを特定するように構成される特定ユニットを備える。
【0017】
前記装置は、データ変換モードに応じて、前記記憶対象データに対して変換処理を行って、前記保護データを得るように構成される変換モジュールをさらに備える。
【0018】
前記特定ユニットは、前記データ変換モードに応じて、前記第2の記憶空間における第1の記憶サブ空間中に記憶されたデータに対して前記変換処理に対する逆変換処理を行って、第1の逆変換処理後のデータを得るように構成される変換サブユニットと、前記第1の記憶空間中の記憶データと前記第1の記憶サブ空間に対応する逆変換処理後のデータとが一致するか否かを判定して、第1の判定結果を取得するように構成される第1の判定サブユニットと、前記第1の判定結果がYESである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定するように構成される第1の特定サブユニットと、前記第1の判定結果がNOである場合、前記第2の記憶空間における第2の記憶サブ空間中の記憶データに対して前記変換処理に対する逆変換処理を行って、第2の逆変換処理後のデータを得て、且つ、前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定するように構成される第2の特定サブユニットと、を備える。
【0019】
前記第2の特定サブユニットが、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータとが一致するか否かを判定して、第2の判定結果を取得するように構成される第2の判定サブユニットと、前記第2の判定結果がYESである場合、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータのうちいずれかを前記復元データとして特定するように構成される第3の特定サブユニットと、前記第2の判定結果がNOである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定するように構成される第4の特定サブユニットと、を備える。
【0020】
本発明の実施例の他の一態様によると、ホストと、インターフェース制御ユニットと、記憶ユニットと、保護ユニットと、を備え、前記インターフェース制御ユニットが、ホストと、記憶ユニットと、保護ユニットにそれぞれ接続され、前記インターフェース制御ユニットが上述したデータ保護装置を備える記憶設備を提供する。
【発明の効果】
【0021】
本発明の実施例によると、記憶対象データに対応する保護データを保護ユニットに書き込みし、対応するリードコマンドを受信した場合、保護ユニットと記憶ユニット中の記憶データに基づいて、記憶対象データの復元データを特定してリードコマンドの応答データとすることで、効率的な記憶設備のデータ保護を実現することができる。
【発明を実施するための形態】
【0023】
本発明の実施例の目的、技術案及びメリットを明確にするため、以下、図面を参照しつつ具体的な実施例について詳しく説明する。ここで、互いに衝突しない限り、本願の実施例及び実施例中の特徴を互いに結合することができる。
【0024】
図1は、本発明の実施例に係わるデータ保護方法のプロセスを示すフローチャート図であり、
図1を参照すると、本発明の実施例においてデータ保護方法を提供し、前記方法は以下のステップを含む。
ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に記憶し、且つ、
前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に記憶し(ステップ101)、
ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定し(ステップ102)、
前記復元データを前記リードコマンドの応答データとする(ステップ103)。
【0025】
このように、記憶対象データに対応する保護データを保護ユニットに書き込みし、対応するリードコマンドを受信した場合、保護ユニットと記憶ユニット中の記憶データに基づいて、記憶対象データの復元データを特定してリードコマンドの応答データとすることで、効率的な記憶設備のデータ保護を実現する。
【0026】
ここで、ホストは、CPU、PCI Master等のデータ操作を自発的に発することのできる設備から構成されることができる。
【0027】
記憶ユニットと保護ユニットは、各種の記憶設備からなることができ、記憶設備として、例えばSDRAM、FLASH、EEPROM記憶チップ又はフラッシュカード等の外部記憶設備を用いることができる。
【0028】
前記保護データは前記記憶対象データのエラー検出訂正データを含むことができ、この場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定することが、
前記第2の記憶空間中のエラー検出訂正データに基づいて、前記第1の記憶空間中の記憶データにエラー検出演算を行って、エラー検出結果を得ることと、
エラー検出結果がエラー発生である場合、前記第1の記憶空間中の記憶データを前記復元データとして特定することと、
エラー検出結果がエラー未発生である場合、エラー検出訂正データに基づいて、前記第1の記憶空間中の記憶データにエラー訂正処理を行って、エラー訂正処理後のデータを得て、該エラー訂正処理後のデータを前記復元データとして特定することと、を含むことができる。
【0029】
又は、前記保護データは前記記憶対象データの二つ以上のバックアップデータを含むことができ、この場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定することが、
前記第1の記憶空間中の記憶データと前記第2の記憶空間中の前記二つ以上のバックアップデータ中のいずれかのバックアップデータに対応する記憶データが一致するか否かを判定し、一致すると、前記第1の記憶空間中の記憶データを前記復元データとして特定し、そうでないと、前記第2の記憶空間における前記二つ以上のバックアップデータのそれぞれに対応する記憶データが一致するか否かを判定し、一致すると、前記第2の記憶空間における前記二つ以上のバックアップデータ中のいずれかのバックアップデータに対応する記憶データを前記復元データと特定し、そうでないと、前記第1の記憶空間中の記憶データを前記復元データとして特定することを含むことができる。
【0030】
本発明の実施例において、前記保護ユニットは少なくとも二つの保護サブユニットを含むことができ、前記第2の記憶空間は前記少なくとも二つ保護サブユニットのそれぞれにおける前記アドレスとに対応する記憶サブ空間を含むことができる。
前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に記憶することが、
前記保護データをそれぞれ、前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間に書き込みすることを含むことができる。
前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定することが、
前記第1の記憶空間中の記憶データと前記第2の記憶空間における各記憶サブ空間中の記憶データに基づいて、前記復元データを特定することを含むことができる。
【0031】
前記方法が、
データ変換モードに応じて、前記記憶対象データに対して変換処理を行って、前記保護データを得ることをさらに含むことが好ましい。
前記第1の記憶空間中の記憶データと前記第2の記憶空間における各記憶サブ空間中の記憶データに基づいて、前記復元データを特定することが、
前記データ変換モードに応じて、前記第2の記憶空間における第1の記憶サブ空間に記憶されたデータに対して前記変換処理に対する逆変換を行って、第1の逆変換処理後のデータを得ることと、
前記第1の記憶空間中の記憶データと前記第1の記憶サブ空間中の対応する逆変換処理後のデータとが一致するか否かを判定し、第1の判定結果を取得することと、
前記第1の判定結果がYESである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定することと、
前記第1の判定結果がNOである場合、前記第2の記憶空間における第2の記憶サブ空間中の記憶データに対して前記変換処理に対する逆変換処理を行って第2の逆変換処理後のデータを得て、前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定することと、を含むことができる。
【0032】
ここで、データ変換モードは、例えば、データを反転するか、あるエラー訂正アルゴリズムに従って処理を行う等である。
【0033】
前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定することは、
前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータとが一致するか否かを判定して第2の判定結果を取得することと、
前記第2の判定結果がYESである場合、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータのうちいずれかを前記復元データとして特定することと、
前記第2の判定結果がNOである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定することと、を含むことができる。
【0034】
ここで、前記少なくとも二つの保護サブユニットは、例えば、少なくとも二つの記憶リードライトモジュールである。少なくとも二つの記憶リードライトモジュールのデータに同時にエラーが発生する可能性が極めて低いので、信頼性の高いデータ記憶保護を実現することができる。
【0035】
また、前記データ変換モードは、予め設定されたデフォルトモードであることができ、又は、ホストにより設定されるものであることもでき、例えば、ホストにより前記ライトコマンドに含まれるモード指示情報によって設定することもできる。
【0036】
本発明の実施例をさらに説明するため、以下、本発明の実施例の好適な実施形態を説明する。
図2は、通常の記憶設備の設計構成の概念図であり、
図2を参照すると、ホスト(Host)はデータをそのまま、記憶ユニット中のあるアドレスに対応する記憶空間に書き込みし、該記憶空間からデータを読み取る。
【0037】
図3Aは、本好適な実施形態のリアルタイム保護機能付き記憶設備の設計構成の概念図であり、
図3Bは、
図3Aに示すインターフェース制御ユニットの実現を示す概念図であり、
図3Aと
図3Bを参照すると、インターフェース制御ユニットはそれぞれ、ホスト、記憶ユニット、保護ユニットに接続され、インターフェース制御ユニットはデータを記憶ユニットにそのまま送信し、データは変換ユニットによる変換を経て、変換後のデータが保護ユニットに書き込まれる。
【0038】
図3Aと
図3Bに対応し、本好適な実施形態のリアルタイム保護機能付き記憶設備のデータ書き込みプロセスを
図4に示し、具体的には、以下のステップを含む。
今回の処理プロセスを開始する(ステップ401)。
Hostが、ライトコマンドをインターフェース変換ユニットに送信する(ステップ402)。
インターフェース変換ユニットが、受信したアドレスを下層の記憶設備にそのまま送信する(ステップ403)。
インターフェース変換ユニットが、受信したデータを下層の記憶設備にそのまま送信する(ステップ404)。
インターフェース変換ユニットが、自分のデフォルト設定されたデータ変換モード又はHostによりライトコマンドを介して設定したデータ変換モードに応じて、受信したデータに対して変換を行ってから保護ユニットに送信する(ステップ405)。
今回のプロセスを終了する(ステップ406)。
【0039】
図5は、本好適な実施形態のリアルタイム保護機能付き記憶設備によるデータ読み取りプロセスを示す概念図であり、
図5を参照すると、リアルタイム保護機能付き記憶設備によるデータ読み取りプロセスは、以下の具体的なステップを含む。
今回の処理プロセスを開始する(ステップ501)。
Hostが、データリートコマンドをインターフェース変換ユニットに送信する(ステップ502)。
インターフェース変換ユニットが、アドレスを記憶ユニット及び保護ユニットにそのまま送信する(ステップ503)。
インターフェース変換ユニットが、書き込みプロセスに用いられた変換モードに応じて、保護ユニットから読み取ったデータに逆変換を行って変換後のデータを得て、変換後のデータと記憶ユニットから読み取ったデータとを比較し、一致すると、記憶ユニットから読み取ったデータをそのままHostに送信してプロセスを終了し、一致しないと、エラーの発生を検出したので、
図6に示すデータ自動復旧プロセスに移行する(ステップ504)。
【0040】
図6は、本好適な実施形態のデータ自動復旧プロセスを示す概念図であり、
図6を参照すると、データ自動復旧プロセスは以下のステップを含む。
今回の処理プロセスを開始する(ステップ601)。
インターフェース変換ユニットが、二つの変換ユニット(変換ユニット1と変換ユニット2)中のデータを同時に復元し、復元データ1と復元データ2を形成する(ステップ602)。
復元データ1と復元データ2を比較し、一致しないと、復元データにエラーが発生したことを表し、記憶ユニットから読み取ったデータをHostにそのまま送信する(ステップ603)。
復元データ1と復元データ2を比較し、一致すると、復元データが正確であると判定し、復元データに基づいて記憶ユニットのデータに復旧を行って、復元データ1又は復元データ2(即ち、図に示す「正確なデータ」)をHostに送信する(ステップ604)。
該プロセスを終了する(ステップ605)。
【0041】
本発明の実施例によるとさらに、データ保護装置を提供し、前記装置は、
ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に記憶し、且つ、前記記憶対象データに対応する保護データを保護ユニットにおける前記アドレスに対応する第2の記憶空間に記憶するように構成されるライトモジュールと、
ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間中の記憶データに基づいて、前記記憶対象データの復元データを特定するように構成される特定モジュールと、
前記復元データを前記リードコマンドの応答データとするように構成される応答モジュールと、を備える。
【0042】
このように、記憶対象データに対応する保護データを保護ユニットに書き込みし、対応するリードコマンドを受信した場合、保護ユニットと記憶ユニット中の記憶データに基づいて、記憶対象データの復元データを特定してリードコマンドの応答データとすることで、効率的な記憶設備のデータ保護を実現することができる。
【0043】
ここで、前記保護ユニットは少なくとも二つの保護サブユニットを含むことができ、前記第2の記憶空間は前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間を含むことができる。
前記ライトモジュールは、
ホストから送信されたアドレス及び記憶対象データを含むライトコマンドを受信した場合、前記記憶対象データを記憶ユニットにおける前記アドレスに対応する第1の記憶空間に記憶し、且つ、前記保護データをそれぞれ、前記少なくとも二つの保護サブユニットのそれぞれにおける前記アドレスに対応する記憶サブ空間に書き込みするように構成されるライトユニットを備えることができる。
前記特定モジュールは、
ホストから送信された前記アドレスを含むリードコマンドを受信した場合、前記第1の記憶空間中の記憶データと前記第2の記憶空間における各記憶サブ空間中の記憶データに基づいて、前記復元データを特定するように構成される特定ユニットを備えることができる。
【0044】
前記装置が、
データ変換モードに応じて、前記記憶対象データに対して変換処理を行って、前記保護データを得るように構成される変換モジュールをさらに含むことが好ましい。
前記特定ユニットは、
前記データ変換モードに応じて、前記第2の記憶空間における第1の記憶サブ空間中に記憶したデータに対して前記変換処理に対する逆変換を行って、第1の逆変換処理後のデータを得るように構成される変換サブユニットと、
前記第1の記憶空間中の記憶データと前記第1の記憶サブ空間に対応する逆変換処理後のデータとが一致するか否かを判定して第1の判定結果を取得するように構成される第1の判定サブユニットと、
前記第1の判定結果がYESである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定するように構成される第1の特定サブユニットと、
前記第1の判定結果がNOである場合、前記第2の記憶空間における第2の記憶サブ空間中の記憶データに対して前記変換処理に対する逆変換処理を行って第2の逆変換処理後のデータを得て、前記第1の記憶空間中の記憶データと、前記第1の逆変換処理後のデータと、前記第2の逆変換処理後のデータとに基づいて、前記復元データを特定するように構成される第2の特定サブユニットと、を備えることができる。
【0045】
ここで、前記第2の特定サブユニットは、
前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータとが一致するか否かを判定して第2の判定結果を取得するように構成される第2の判定サブユニットと、
前記第2の判定結果がYESである場合、前記第1の逆変換処理後のデータと前記第2の逆変換処理後のデータのうちいずれかを前記復元データとして特定するように構成される第3の特定サブユニットと、
前記第2の判定結果がNOである場合、前記第1の記憶空間中の記憶データを前記復元データとして特定するように構成される第4の特定サブユニットと、を備えることができる。
【0046】
本発明の実施例によるとさらに、記憶設備を提供する。前記記憶設備は、ホストと、インターフェース制御ユニットと、記憶ユニットと、保護ユニットと、を備え、前記インターフェース制御ユニットは、ホスト、記憶ユニット、保護ユニットにそれぞれ接続され、上述したデータ保護装置を備える。
ここで、インターフェース制御ユニットは、プログラム可能な論理素子(PLD)又はASICチップからなることができる。
【0047】
通常の記憶設備の保護は、ソフトウェアとハードウェアの結合によって実現され、コストが高いと共に、専門的なソフトウェアの支援が必要であって、製品の開発に特別な要求が求められている。本発明の実施例に係わる上記記憶設備よると、挿入式システム又は他の中小型設備に適用し、実現が簡単で、駆動及び応用ソフトウェアに特別な要求が求められておらず、ハードウェアのみによって実現し、システムの運行効率が極めて高い。
【0048】
以上は、本発明の実施例の実施形態に過ぎず、当業者であれば本発明の実施例の原理を離脱しない範囲内で改良乃至変更することができ、これらは全て本発明の保護範囲内に含まれる。