(57)【要約】【課題】  データをホログラフィック・データ・ストレージにデステージングするためのシステム、方法、及びプログラムを提供する。【解決手段】  ホログラフィック・データ・ストレージによる格納のためのデータが、ホログラフィック・ストレージ・セグメントのレプリカであるデータ・セグメントとして、中間データ・ストレージ内に配置される。データ・ファイルはデータ・セグメントに集約され、デステージング制御部は、セグメントが一杯であるかどうか、時間閾値に達したか、又はセグメントの閾値の値が「オープン」のものであるかどうかといった複数のポリシーに従って、データ・セグメントのホログラフィック・データ・ストレージへのデステージングを決定する。中間データ・ストレージは、少なくともデータ・デステージング・システムへの入力を有するソースの数に等しいパーティション数に配置することができ、パーティションは、整数倍のデータ・セグメントを含む。【選択図】      図１
2010527468.tif 000002
【特許請求の範囲】
【請求項１】
データをホログラティック・データ・ストレージに提供するように構成されたデータ・デステージング・システムであって、
データを格納するように構成された中間データ・ストレージと、
ホログラフィック・ストレージ・セグメントのレプリカであるデータ・セグメントとして前記中間データ・ストレージに格納するためにデータを配置し、データを前記データ・セグメントに集約し、複数のポリシーに基づいて、前記データ・セグメントの前記ホログラフィック・データ・ストレージへのデステージングを決定するように構成された、デステージング制御部と、
を備えるデータ・デステージング・システム。
【請求項２】
前記デステージング制御部は、前記中間データ・ストレージを、少なくとも前記データ・デステージング・システムへの入力を有するソースの数と等しいパーティションの数に配置するようにさらに構成され、前記パーティションは、整数倍の前記データ・セグメントを含む、請求項１に記載のデータ・デステージング・システム。
【請求項３】
前記デステージング制御部は、一杯ではない前記データ・セグメントにパディングを追加するように構成され、かつ、前記ホログラフィック・データ・ストレージへのデステージングを決定する、請求項１に記載のデータ・デステージング・システム。
【請求項４】
前記デステージング制御部は、（ａ）前記集約されたデータが前記データ・セグメントを満たすこと、及び（ｂ）少なくとも前記データ・セグメントへの前記データの集約が少なくとも閾値時間を満たす時間にわたって行なわれることの一方に基づいて、前記データ・セグメントの前記ホログラフィック・データ・ストレージへのデステージングを決定するように構成される、請求項３に記載のデータ・デステージング・システム。
【請求項５】
前記デステージング制御部は、データを、複数の「オープン」の前記データ・セグメントに集約するように構成され、（ａ）前記集約されたデータが前記「オープン」のデータ・セグメントを満たすこと、及び（ｂ）「オープン」の前記データ・セグメントの数が少なくとも閾値を満たすことの一方に基づいて、前記「オープン」のデータ・セグメントの少なくとも１つの前記デステージングを決定するように構成される、請求項３に記載のデータ・デステージング・システム。
【請求項６】
前記デステージング制御部は、新しいデータが前記パディングを有するデステージングされたデータ・セグメントに提供された場合、前記パディングを上書きすることによって前記新しいデータを付加するようにさらに構成される、請求項３に記載のデータ・デステージング・システム。
【請求項７】
前記デステージング制御部は、前記パディングを有する前記デステージングされたデータ・セグメントを取り出し、前記取り出されたデータ・セグメントを前記中間データ・ストレージに格納して前記新しいデータを付加し、前記データ・セグメントの前記ホログラフィック・データ・ストレージへのデステージングを決定するように構成される、請求項６に記載のデータ・デステージング・システム。
【請求項８】
コンピュータ上で実行されたとき、コンピュータに、
ホログラフィック・ストレージ・セグメントのレプリカであるデータ・セグメントとして中間データ・ストレージに格納するためにデータを配置させ、
前記データを前記データ・セグメントに集約させ、
複数のポリシーに基づいて、前記データ・セグメントの前記ホログラフィック・データ・ストレージへのデステージングを決定させる、
コンピュータ可読プログラムを与えるコンピュータ使用可能媒体を含む、コンピュータ・プログラム製品。
【請求項９】
前記コンピュータ可読プログラムは、コンピュータ上で実行されたとき、前記コンピュータに、前記中間データ・ストレージを、少なくとも前記データ・デステージング・システムへの入力を有するソースの数と等しいパーティションの数にさらに配置させ、前記パーティションは、整数倍の前記データ・セグメントを含む、請求項８に記載のコンピュータ・プログラム製品。
【請求項１０】
前記コンピュータ可読プログラムは、コンピュータ上で実行されたとき、前記コンピュータに、一杯ではない前記データ・セグメントにパディングをさらに追加させ、前記決定するステップは、前記ホログラフィック・データ・ストレージへのデステージングを決定する、請求項８に記載のコンピュータ・プログラム製品。
【請求項１１】
前記コンピュータ可読プログラムは、コンピュータ上で実行されたとき、前記コンピュータに、（ａ）前記集約されたデータが前記データ・セグメントを満たすこと、及び（ｂ）少なくとも前記データ・セグメントへの前記データの集約が少なくとも閾値期間を満たす時間にわたって行なわれることの一方に基づいて、前記データ・セグメントの前記ホログラフィック・データ・ストレージへの前記デステージングを決定させる、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１２】
前記コンピュータ可読プログラムは、コンピュータ上で実行されたとき、前記コンピュータに、データを複数の「オープン」の前記データ・セグメントに集約させ、（ａ）前記集約されたデータが前記「オープン」のデータ・セグメントを満たすこと、及び（ｂ）「オープン」の前記データ・セグメントの数が少なくとも閾値を満たすことの一方に基づいて、前記「オープン」のデータ・セグメントの少なくとも１つの前記デステージングを決定させる、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１３】
前記コンピュータ可読プログラムは、コンピュータ上で実行されたとき、前記コンピュータに、新しいデータが前記パディングを有するデステージングされたデータ・セグメントに提供された場合、前記パディングを上書きすることによって前記新しいデータを付加させる、請求項１０に記載のコンピュータ・プログラム製品。
【請求項１４】
前記コンピュータ可読プログラムは、コンピュータ上で実行されたとき、前記コンピュータに、前記パディングを有する前記デステージングされたデータ・セグメントを取り出し、前記取り出されたデータ・セグメントを前記中間データ・ストレージに格納して前記新しいデータを付加し、前記データ・セグメントの前記ホログラフィック・データ・ストレージへのデステージングを決定させる、請求項１３に記載のコンピュータ・プログラム製品。
【請求項１５】
請求項１乃至請求項７のいずれに記載のデータ・デステージング・システムを含むデータ・ストレージ・システム。
【請求項１６】
データをデステージングする方法であって、
ホログラフィック・ストレージ・セグメントのレプリカであるデータ・セグメントとして中間データ・ストレージに格納するためにデータを配置するステップと、
前記データを前記データ・セグメントに集約するステップと、
複数のポリシーに基づいて、前記データ・セグメントの前記ホログラフィック・データ・ストレージへのデステージングを決定するステップと、
を含む方法。
【請求項１７】
前記中間データ・ストレージを、少なくとも前記データ・デステージング・システムへの入力を有するソースの数と等しいパーティションの数に配置するステップをさらに含み、前記パーティションは、整数倍の前記データ・セグメントを含む、請求項１６に記載の方法。
【請求項１８】
一杯ではない前記データ・セグメントにパディングを追加するステップをさらに含み、前記決定するステップは、前記ホログラフィック・データ・ストレージへのデステージングを決定する、請求項１６又は請求項１７のいずれかに記載の方法。
【請求項１９】
前記データ・セグメントの前記ホログラフィック・データ・ストレージへの前記デステージングを決定する前記ステップは、（ａ）前記集約されたデータが前記データ・セグメントを満たすこと、及び（ｂ）少なくとも前記データ・セグメントへの前記データの集約が少なくとも閾値期間を満たす時間にわたって行なわれることの一方に基づいている、請求項１６乃至請求項１８のいずれかに記載の方法。
【請求項２０】
（ａ）集約されたデータが「オープン」のデータ・セグメントを満たすこと、及び、（ｂ）「オープン」の前記データ・セグメントの数が少なくとも閾値を満たすことの一方に基づいて、データを複数の「オープン」の前記データ・セグメントに集約するステップをさらに含む、請求項１６乃至請求項１９のいずれかに記載の方法。
【請求項２１】
新しいデータが前記パディングを有するデステージングされたデータ・セグメントに提供された場合、前記パディングを上書きすることによって前記新しいデータを付加する、請求項１８に記載の方法。
【請求項２２】
前記パディングを有する前記データ・セグメントを取り出し、前記取り出されたデータ・セグメントを前記中間データ・ストレージに格納して前記関連したデータを付加し、前記データ・セグメントの前記ホログラフィック・データ・ストレージへのデステージングを決定するステップをさらに含む、請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホログラフィック・データ・ストレージに関し、より具体的には、ホログラフィック・データ・ストレージによる格納のためにデータを配置することに関する。
【背景技術】
【０００２】
ホログラフィック・ストレージは、高密度のデータ記憶能力を含む。データは、本質的に２次元であり、ラスタ・パターンで配列された多数のビットからなる矩形のイメージを含むデータ・ビームを用いることによって、ホログラフィック媒体に記録される。このデータ・ビーム及び参照ビームは、ホログラティック媒体に別個に向けられ、交差し干渉して干渉波面（interference wave front）を形成し、これがホログラフィック媒体中にホログラムとして知られるホログラフィック・イメージとして記録される。付加的なホログラムを、ホログラフィック媒体の直線状の軌跡に沿って様々な深さで記録し、大容量データ・ストレージを提供することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、データをホログラフィック・データ・ストレージにデステージングするためのシステム、方法、及びプログラムを提供する。
【課題を解決するための手段】
【０００４】
データ・デステージング・システム及びコンピュータ・プログラムは、ホログラフィック・データ・ストレージにデータを提供し、例えばホログラムとして格納するために、データをデータ・セグメントに集約する。
【０００５】
１つの実施形態においては、データ・デステージング・システムは、データを格納するように構成された中間データ・ストレージと、ホログラフィック・ストレージ・セグメントのレプリカであるデータ・セグメントとして中間データ・ストレージ内に格納するためにデータを配置して、データをデータ・セグメントに集約し、複数のポリシーに基づいて、データ・セグメントのホログラフィック・データ・ストレージへのデステージングを決定するように構成されたデステージング制御部とを含む。
【０００６】
別の実施形態においては、デステージング制御部は、中間データ・ストレージを、少なくともデータ・デステージング・システムへの入力を有するソースの数と等しいパーティションの数に配置するようにさらに構成され、パーティションは、整数倍のデータ・セグメントを含む。
【０００７】
更に別の実施形態においては、デステージング制御部は、一杯ではないデータ・セグメントにパディングを追加するように構成され、かつ、ホログラフィック・データ・ストレージへのデステージングを決定する。
【０００８】
更に別の実施形態においては、デステージング制御部は、（ａ）集約されたデータがデータ・セグメントを満たすこと、及び（ｂ）データの集約が少なくとも閾値時間を満たす時間にわたって行なわれることの一方に基づいて、データ・セグメントのホログラフィック・データ・ストレージへのデステージングを決定するように構成される。
【０００９】
別の実施形態においては、デステージング制御部は、データを、複数の「オープン（open）」のデータ・セグメントに集約するように構成され、（ａ）集約されたデータが「オープン」のデータ・セグメントを満たすこと、及び（ｂ）「オープン」のデータ・セグメントの数が少なくとも閾値を満たすことの一方に基づいて、「オープン」のデータ・セグメントの少なくとも１つのデステージングを決定するように構成される。
【００１０】
更に別の実施形態においては、デステージング制御部は、新しいデータがパディングを有するデステージングされたデータ・セグメントに提供された場合、パディングを上書きすることによって、新しいデータを付加するようにさらに構成される。
【００１１】
更なる実施形態においては、デステージング制御部は、パディングを有するデータ・セグメントを取り出し、取り出されたデータ・セグメントを中間データ・ストレージに格納して関連するデータを付加し、かつ、データ・セグメントのホログラフィック・データ・ストレージへのデステージングを決定するように構成される。
【００１２】
本発明のより完全な理解のために、添付の図面と併せて次の詳細な説明を参照すべきである。
【図面の簡単な説明】
【００１３】
【図１】データをホストからホログラフィック媒体にデステージングするためのデータ・デステージング・システムの実施形態を示すブロック図である。
【図２】データ・デステージングの１つの実施形態を示すフローチャートである。
【図３】デステージングされたデータを再びオープンにする実施形態を示すフローチャートである。
【図４】データを複数のホストからホログラフィック媒体にデステージングするためのデータ・デステージング・システムのパーティションを説明する図である。
【発明を実施するための形態】
【００１４】
本発明は、同様の番号が同じ又は類似の要素を表す図面を参照して、次の説明の好ましい実施形態において説明される。本発明は、本発明の目的を達成するための最良の形態に関して説明されるが、当業者であれば、本発明の精神又は範囲から逸脱することなく、これらの教示に照らして変形を達成できることを理解するであろう。
【００１５】
図１を参照すると、例えば、ホログラフィック・イメージ１２３のような、ホスト・システム１００のホスト・ディスク・ストレージ１０１からのデータを、ホログラフィック・データ・ストレージ１２０のホログラフィック媒体１２１に格納する際の効率を提供する、データ・デステージング・システム１０の１つの実施形態が示される。
【００１６】
ホログラフィック・データ・ストレージ１２０による格納のためにデータは、ホログラフィック・ストレージ・セグメントのレプリカであるデータ・セグメント１１３として中間データ・ストレージ１１１内に配置され、つまり、データ・セグメント１１３は、本質的に、ホログラフィック媒体１２１上に格納されたホログラム１２３と同じ容量又はストレージ・サイズ、又はホログラフィック媒体上に格納された整数のホログラム・セグメントと同じ容量又はストレージ・サイズの揮発性メモリ、不揮発性メモリ、又はディスクの領域である。
【００１７】
データ・ファイルは、「オープン」のセグメントと呼ばれるデータ・セグメント１１３に集約される。デステージング制御部１１４は、セグメントが一杯であるかどうか、時間閾値に達したか、又はセグメントの閾値の値が「オープン」のものであるかどうかといった複数のポリシーに従って、データ・セグメントのホログラフィック・データ・ストレージへのデステージングを決定する。データ・セグメントがホログラフィック媒体１２１にデステージングされると、それらは「クローズにされた（closed）」セグメント１２３になる。デステージング制御部１１４はまた、データ・ファイルのデータ・セグメント１１３への集約を行なうこともできる。
【００１８】
本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はハードウェア要素とソフトウェア要素の両方を含む実施形態の形態をとることができる。好ましい実施形態において、本発明は、これらに限られるものではないが、常駐ソフトウェア、マイクロコード、ファームウェア等を含むソフトウェアにおいて実施される。
【００１９】
さらに、本発明は、コンピュータ又は任意の命令実行システムによって又はそれと関連させて用いるためのプログラム・コードを与える、コンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラムの形態をとることができる。この説明のために、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置、又はデバイスによって又はこれらと関連させて用いるためのプログラムを含み、格納し、伝達し、伝搬し、又は転送することができる任意の装置とすることができる。
【００２０】
この媒体は、電子的、磁気的、光学的、電磁的、赤外線、又は半導体システム（又は装置若しくはデバイス）、或いは伝搬媒体とすることができる。コンピュータ可読媒体の例には、半導体又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛性磁気ディスク及び光ディスクが含まれる。最新の光ディスクの例には、コンパクト・ディスク−読み取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−読み取り／書き込み（ＣＤ−Ｒ／Ｗ）、ＤＶＤ、ＨＤ−ＤＶＤ、及びブルー・レイが含まれる。
【００２１】
プログラム・コードの格納及び／又は実行に適した、中間データ・ストレージ１１１のようなデータ処理システムは、システム・バスを通してメモリ要素に直接又は間接的に結合された、デステージング制御部１１４のような少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に用いられるローカル・メモリ、大容量記憶装置、及び、実行中にコードを大容量記憶装置から取り出す回数を減らすために少なくとも幾つかのプログラム・コードの一時的保存を提供するキャッシュ・メモリを含むことができる。
【００２２】
入力／出力又はＩ／Ｏデバイス（これらに限られるものではないが、キーボード、ディスプレイ、ポインティング・デバイス等を含む）は、直接、又は介在するＩ／Ｏコントローラを通して、中間データ・ストレージ１１１に結合することができる。中間データ・ストレージ１１１への及びこの中での接続は、介在するプライベート又はパブリック・ネットワークを含む接続リンクを含むことができる。通信リンクは、ＲＳ−２３２又はＲＳ−４２２などのシリアル相互接続、イーサネット接続、ＳＣＳＩ相互接続、ＥＳＣＯＮ相互接続（「ＥＳＣＯＮ」はＩＢＭ社の商標）、ＦＩＣＯＮ相互接続（「ＦＩＣＯＮ」はＩＢＭ社の商標）、ローカル・エリア・ネットワーク（ＬＡＮ）、プライベート広域ネットワーク（ＷＡＮ）、パブリック広域ネットワーク、ストレージ・エリア・ネットワーク（ＳＡＮ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、インターネット、及びそれらの組み合わせを含むことができる。
【００２３】
中間データ・ストレージ１１１は、ホログラフィック・データ・ストレージ１２０及び／又はホスト・システム１００の一部として、又は別個のエンティティとして実装することができる。
【００２４】
ホログラフィック・セグメント１２３より小さいファイルはひとまとめにされ、よって、ホログラフィック媒体１２１上のスペースを節約する。ホスト・システム１００は、例えばホスト・システム１００によってメモリ内に保持される、集約の基準を決定することができる。集約は、クレジットカード取引などの類似の取引、データの共通ユーザ又はユーザの組等に基づいて行なうことができる。デステージング制御部１１４は、セグメントを集約しながら、オープン・ホログラム・セグメント・ディレクトリ１１２を保持する。さらに、述べられるように、デステージング制御部は、セグメントがクローズになるまで、セグメントを追跡する。
【００２５】
さらに図２を参照すると、データ・セグメントのホログラフィック・データ・ストレージへのデステージングを判断するプロセスのためのポリシーの例が示される。デステージング制御部１１４は、ポリシーを用いて、オープン・ホログラフィック・セグメント１１３をクローズ・ホログラフィック・セグメントに移行し、クローズ・ホログラフィック・セグメント１２３をホログラフィック媒体にデステージングする。ポリシーは、ユーザにより直接、又はホスト・システムを介して提供することができ、デステージング制御部１１４により格納される。プロセスは、ステップ２００で開始し、ステップ２０２に進み、そこで、集約されるデータがオープン・ホログラフィック・セグメント１１３に書き込まれる。プロセスは、ホログラフィック・セグメントが一杯（full）であるかどうかのチェックを行なう決定ステップ２０４に続く。そのセグメントに書き込まれたデータの量が閾値を上回った場合、ホログラフィック・セグメントは一杯である可能性がある。閾値の例は、データが、残り１０％といったセグメント容量の百分率に達したことであってもよく、又は、閾値は、例えば将来の更新を可能にするように、残りの容量を集約されるデータの平均サイズより大きくするといった、集約されるデータの平均サイズに関連させてもよく、或いは、閾値は、集約される次のデータが残りの容量を上回るといった実際の比較であってもよい。
【００２６】
セグメントが一杯である場合、プロセスは、データを圧縮するか否かをチェックするステップ２１４に続く。圧縮についてのこの決定は、全てのセグメントについて真であるグローバルなユーザ設定可能パラメータに基づいてもよく、又はこの特定のセグメントについてのみ真であるユーザ設定可能パラメータに基づいてもよい。圧縮が望まれる場合、ステップ２１８において、ホログラフィック・セグメント内のデータが圧縮される。圧縮が望まれない場合、プロセスは、直接ステップ２２４に続く。ステップ２２４において、圧縮後もセグメントが依然として一杯であるかどうかのチェックを行なう。一杯でない場合、プロセスはステップ２０２に戻り、セグメントにより多くのデータを書き込むことを可能にする。ステップ２２４においてセグメントが一杯である場合、プロセスは、下記に説明されるステップ２２６に続く。
【００２７】
ステップ２０４において、セグメントが一杯でなかった場合、プロセスはステップ２０６に進み、セグメント又はセグメントの組が、時間Ｔ１より長くオープンにされたかどうかをチェックする。時間Ｔ１は、ユーザ設定可能なものにすることができる。ステップ２０６における決定がＹＥＳである場合、プロセスは、下記に説明されるステップ２１６に進む。
【００２８】
ステップ２０６における決定がＮＯである場合、プロセスは、中間データ・ストレージ１１１内のオープン・ホログラフィック・セグメントの数がユーザ設定可能な数Ｎ１より大きいかどうかのチェックを行なうステップ２０８に続く。数Ｎ１は、中間データ・ストレージ１１１において利用可能な総容量と、ホログラフィック・セグメント１１３のサイズとに密接に関連し得る。より正確な数Ｎ１は、式（１）のように計算することができる。式（１）におい、Ｂは、必要に応じて予備容量が使用可能であるように、オープン・ホログラフィック・セグメントの数をメモリ全体より少ない何らかの数に制限するための、ユーザ設定可能なバッファ容量パラメータである。
Ｎ１＝（総容量）／（セグメントのサイズ）−Ｂ  （式１）
【００２９】
ステップ２０８における決定が、中間データ・ストレージ１１１内にＮ１より多いオープン・セグメントが存在することを意味するＹＥＳである場合、プロセスは、最も長時間使われていない（書き込まれていない）オープン・ホログラフィック・セグメントが選択されるステップ２０９に進む。次いで、このセグメントに、全ての更なるステップが施される。ステップ２０９から、プロセスは、後に説明されるステップ２１６に進む。
【００３０】
オープン・セグメントからクローズ・セグメントへと移行させ、セグメントをデステージングするための、更なるポリシーが存在し得る。例えば、ステップ２０８における決定がＮＯである場合、プロセスはステップ２１０に進み、そのセグメントに書き込まれたデータ・ファイルのバージョン数が、数Ｖ１より大きいかどうかをチェックする。数Ｖ１は、ユーザ設定可能なものにすることができる。ステップ２１０における決定がＹＥＳである場合、プロセスはステップ２１６に進む。
【００３１】
決定がＮＯである場合、プロセスはステップ２１２に進み、セグメントのクローズがユーザによりトリガされたのかどうかをチェックする。その決定がＮＯである場合、プロセスは、より多くのデータをそのオープン・セグメントに書き込むことを可能にするステップ２０２に戻る。他の場合には、プロセスは、そのセグメント内のデータを圧縮するか否かのチェックを行なうステップ２１６に進む。この圧縮についての決定は、全てのセグメントについて真であるグローバルなユーザ設定可能パラメータに基づいてもよく、又はこのセグメントについてのみ真であるユーザ設定可能なパラメータに基づいてもよい。圧縮が望まれる場合、ステップ２２０において、ホログラフィック・セグメント内のデータが圧縮され、プロセスはステップ２２２に続く。ステップ２２０の圧縮技術は、必須ではないが、ステップ２１８のものと同じであることが好ましく、ステップ２２０において、圧縮後、新しいデータをデータ・セグメントに追加しても又は追加しなくてもよい。代替的に、ステップ２２０は、ＥＣＣ符号化技術及び／又は暗号化技術とすることができ、或いは、ステップ２１６及びステップ２２０を省略することができる。
【００３２】
圧縮が望まれない場合、プロセスは、例えばセグメントを満たすために、ホログラフィック・セグメント内の残りのスペースをパッド・パターン（pad-pattern）で満たし、パディング（padding）をセグメントに追加する、ステップ２２２に直接進む。随意的に、パッド・パターンは、全体的又は部分的にＥＣＣ又はＣＲＣを含むことができる。
【００３３】
ステップ２２２から、プロセスは、ステップ２２６に進む。ステップ２２６において、オープン・ホログラフィック・セグメントをクローズにし、追加のデータがそのセグメントに書き込まれるのを防止する。プロセスは、ホログラフィック・ストレージ１２０によって、クローズ・ホログラフィック・セグメントのデータがホログラフィック媒体１２１に書き込まれる、ステップ２２８に続く。これらのステップは、セグメントのホログラフィック媒体１２１へのデステージングと考えられる。
【００３４】
プロセスは、データをミラーリングする必要があるかどうかの判断を行なうことができるステップ２３０に進む。この判断は、全てのセグメントについて真であるグローバル変数に基づいてもよく、又は特定のセグメントに関してのみ真である変数に基づいてもよい。ステップ２３０においてデータのミラーリングが望まれない場合、プロセスは、終了ステップ２４０に進む。他の場合には、ステップ２３０における判断がＹＥＳである場合、ステップ２３２において、データがホログラフィック媒体にミラーリングされる。ステップ２３２から、処理は終了ステップ２４０に進む。
【００３５】
追加のポリシーは、ライト・スルー・ポリシー（write-through policy）を含むことができ、これにより、ホスト・システムは、ステップ２４５において、データをホログラフィック媒体にライト・スルーするよう、中間データ・ストレージ１１１に命令する。これは、データの保持及びコンプライアンスのために特に重要である。ライト・スルーの一例として、ホスト・システムは、ＳＣＳＩ  ＭＯＤＥ  ＳＥＬＥＣＴコマンドを介して、受信するデータをライト・スルーするよう、中間データ・ストレージ１１１に命令する。ホストは、ライト・スルーされることになる、受信データの量をバイトで指定する。データがホスト・システム１００から中間データ・ストレージ１１１に入って来るとき、データは、オープン・ホログラフィック・セグメント１１３内にバッファリングされる。指定された量のデータを受信すると、ステップ２２６において、オープン・セグメントは、自動的にクローズ・セグメントに移行し、データがホログラフィック媒体１２１に書き込まれる。
【００３６】
ステップ２４５の１つの代替的な実施形態において、ホストは、ＭＯＤＥ  ＳＥＬＥＣＴコマンドを用いてオープン・セグメント１１３を作成し、ＭＯＤＥ  ＳＥＮＳＥコマンドを用いてオープン・セグメントをクローズにする。このように、ホスト・システムは、オープン・セグメントをいつ（どれだけ速く）クローズにするかを制御することができる。
【００３７】
さらに図３を参照すると、ステップ３００において「一杯ではない」がクローズにされたホログラム・セグメントに新しいデータが到着した場合、ステップ３１０において、そのホログラム・セグメントが、ホログラフィック媒体１２１から取り出され、再びオープンにされる。ステップ３２０において、新しいデータは、パディングを上書きすることによって、ホログラム・セグメントに付加される。ステップ３３０において、デステージング制御部１１４は、再び、図２のプロセスのステップの１つ又は複数を行ない、データ・セグメントのクローズ及びホログラフィック・データ・ストレージへのデステージングを決定する。例えば、セグメントが新しいデータで満たされるか又は最大時間を再び上回った場合、ホログラム・セグメントが再びクローズにされる。
【００３８】
クローズにされたが一杯ではないセグメントの再びオープンにすることは、各々のクレジットカード使用者が所定のクレジットカードについての自分の買物を追跡するためのオープン・セグメントを有するクレジットカード業界にとって価値がある。例えば、オープン・セグメントは、各々の支払請求周期の初め、又は支払請求周期の開始後の最初の課金時に作成され、その後、その支払請求周期の終わりにクローズにされる。
【００３９】
さらに図１及び図２を参照すると、フロー図で提供されるデステージング制御部１１４又はホスト・システム１００のポリシーのより詳細な説明は、次の通りである。
【００４０】
ステップ２０４のポリシー（ａ）に関しては、ホログラム・セグメントをクローズにするための閾値容量は、ユーザ設定可能である。閾値容量を上回る場合、ホログラム・セグメントがクローズにされ、ホログラフィック媒体に書き込まれる。この閾値容量は、ＭＢで、ＧＢで、又は「ホログラフィック・ページ」で指定することができる。各ホログラフィック・ページが所定の容量を保持し、整数のページが閾値として指定される場合、ホログラフィック・ページの閾値が好ましい。
【００４１】
ステップ２１４のポリシー（ｂ）は、圧縮の随意的な選択を可能にする。ポリシー（ｅ）の１つの変形は、そのセグメントが、例えば９０％満たされるといった閾値容量に達するまで、オープン・ホログラム・セグメント内のデータを圧縮しないというものである。その閾値に達すると、付加的なデータのための場所をあけるために、要求に応じてデータを圧縮する。このポリシーは、ポリシー（ａ）に用いられるパディングの量を軽減するために設計される。
【００４２】
ステップ２０６のポリシー（ｃ）に関しては、ホログラム・セグメントをオープンにしたままにできる最大時間は、ユーザ設定可能なものにすることができる。ホログラム・セグメントのオープン時間は、第１のデータが書き込まれたときに開始する。
【００４３】
最大時間を超過していないがホログラム・セグメントが一杯になった場合（ステップ２０４）、ホログラム・セグメントがクローズにされ、ホログラフィック媒体に書き込まれる。
【００４４】
最大時間を超過し、ホログラム・セグメントがセグメント容量限界まで満たされない場合、ステップ２２２において、スペースの残りが、パッド・パターン（換言すれば、非データ・パターン）で埋められて満たされ、次に、ホログラム・セグメントがクローズにされ、ホログラフィック媒体に書き込まれる。パッド・パターンを有するホログラム・セグメントのいずれも、クローズ・ホログラム・セグメント・ディレクトリ１０２及び１２３において「一杯ではない」としてマーク付けされる。１つの代替的な実施形態においては、パディングのために用いられる非データ・パターンは、ホログラム・セグメント内のデータに付加的な保護を追加する何らかのＣＲＣ又はＥＣＣデータを含むこともできる。
【００４５】
ステップ２１２のポリシー（ｄ）に関しては、ユーザは、ホログラム・セグメントをクローズにする（換言すれば、強制）することができる。ホログラム・セグメントが一杯でない場合、この好ましい実施形態は、ポリシー（ａ）についてのものと同じ論理を適用し、残りのスペースを埋め、新しいデータにセグメントを取り出させ、パッド・パターンの上に新しいデータを付加させる。このホログラム・セグメントの強制クローズは、停電、或いは、火災又はハリケーンなどの間近に迫った災害に応答することができる。
【００４６】
ステップ２０８のポリシー（ｅ）は、ポリシー（ｄ）の変形である。ポリシー（ｅ）においては、限られた数のオープン・ホログラム・セグメントだけが許容される。多過ぎるオープン・ホログラム・セグメントが存在するとき、必要に応じて、最長時間未使用（ＬＲＵ）のセグメントがまずクローズにされ、新しいホログラフィック・セグメントの作成を可能にする。代替的に、オープン・ホログラム・セグメントが多すぎるときは、多数のホログラム・セグメントの少数のセグメントへの集約をトリガする。
【００４７】
ステップ２１０のポリシー（ｆ）は、所定のデータ・ファイルの全てのバージョンがオープン・ホログラム・セグメントに格納されるというものである。このバージョンの格納により、貴重なファイルになされた変更の履歴を完全に記録することが可能になる。従って、ポリシー（ｆ）は、ファイルのバージョンが上書きされるのではなく保存される、ホログラフィックＷＯＲＭの論理形態である。ポリシー（ｆ）の有利な点は、全てのバージョンが共通の場所に格納されるので、ユーザが、これらのバージョンを取り出すためにホログラフィック媒体に何度もアクセスする必要がないことである。
【００４８】
ステップ２３０のポリシー（ｇ）は、ＲＡＩＤ−１エミュレーションのために、オープン・ホログラム・セグメント間でファイルをミラーリング（複製）できるというものである。このように、ホログラフィック媒体から１つのクローズ・ホログラム・セグメントを読み取ることができない場合、異なるホログラム・セグメントにアクセスすることができる。ミラーリングの別の例は、３つ又はそれ以上のホログラム・セグメントをＲＡＩＤストライプ内に分散させ得るというものであり、パリティが、ＲＡＩＤ−３又はＲＡＩＤ−４エミュレーションのために１つのホログラム・セグメントに格納されるか、或いは、パリティが、ＲＡＩＤ−５エミュレーションのためにホログラム・セグメントにわたって分散される。
【００４９】
ステップ２２８及び／又はステップ２３２において、中間データ・ストレージ１１１は、クローズ・セグメントを、単一のホログラム又は単一グループのホログラムとして、ホログラフィック媒体１２１に書き出し、情報を生成し、又はクローズ・ホログラム・セグメント・ディレクトリ１２２に追加し、新たにクローズにされたホログラム・ディレクトリをホスト１００に転送し、そこで、ホスト・ディスク１０１上に格納することができる全体のホログラム・ディレクトリ１０２を更新するために用いられる。この時点で、中間データ・ストレージ１１１は、クローズにされたばかりのホログラム・セグメントについての如何なる情報の保持も停止する。
【００５０】
各オープン・ホログラム・セグメント１１３について、「オープン・ホログラム・セグメント・ディレクトリ」１１２が、中間データ・ストレージ１１１に保持される。これは、どのファイルがオープン・セグメント１１３のどこに格納されているかを記録する。オープン・セグメント１１３がクローズにされた場合、ディレクトリ１２２のようなホログラフィック媒体１２１上に格納するために、ホログラム・セグメント・ディレクトリ１１２が複製され、中間ディスク・ストレージ１１１上のクローズ・ホログラム・セグメント内に埋め込まれる。さらに、ホログラム・セグメント・ディレクトリ１１２は、ホスト・ディスク１０１上のクローズ・ホログラム・セグメント・ディレクトリ１０２として複製されるので、ホスト１００は、ホログラフィック媒体１２１に格納したどの情報も利用可能である。媒体ディレクトリは、ホログラフィック媒体上に保持することができ、その媒体がホログラフィック・データ・ストレージから除去可能である場合、媒体１２１上のクローズ・セグメント１２３の配置を制御するために、デステージング制御部又はデータ・ストレージ１２０に必要な全ての情報を含む。
【００５１】
ポリシーは、ホスト１００のレベルで実行できるが、好ましい実施形態は、ポリシーを中間データ・ストレージ１１１のレベルで実行されるので、ホストにプロセスによる負担がかからず、このインテリジェンスを必要としないことで、ホログラフィック・ストレージ１２０をコスト削減できる。
【００５２】
図４は、データを、複数のホスト１００Ａ、１００Ｂ、１００Ｃからホログラフィック媒体１２１にデステージングするためのデータ・デステージング・システム４００のパーティションを示す。
【００５３】
中間データ・ストレージ４１１は、図１の中間データ・ストレージ１１１と類似しており、各パーティション１１７Ａ、１１７Ｂ、１１７Ｃ内に多数のオープン・ホログラム・セグメント１１３Ａ、１１３Ｂ、１１３Ｃを保持する。パーティションの数は、少なくとも、データ・デステージング・システム４００への入力を有するソース又はホストの数と等しい。上述のように、ホログラム・セグメント１１３Ａ、１１３Ｂ、１１３Ｃは、ホログラフィック・ストレージ・セグメントのレプリカであり、つまり、データ・セグメント１１３は、本質的に、ホログラフィック媒体１２１上に格納されたホログラム１２３と同じ容量又はストレージ・サイズであるか、或いはホログラフィック媒体上に格納された整数のホログラム・セグメントと同じ容量又はストレージ・サイズである揮発性メモリ、不揮発性メモリ、又はディスクの領域である。パーティション１１７Ａ、１１７Ｂ、１１７Ｃは、整数倍のデータ・セグメントを含む。パーティションは様々なサイズとすることができ、ホストは、例えば異なるアプリケーションに対して１つ又は複数のパーティションを有することができる。代替的に、ホスト１００Ａ、１００Ｂ、及び１００Ｃは、同じホスト・システムの異なるアプリケーションを含むことができる。
【００５４】
データは、例えば「仮想トラックのデステージング」操作１０５を用いて、各ホスト１００Ａ、１００Ｂ、１００Ｃにより、中間データ・ストレージ４１１上のそれぞれのパーティション１１７Ａ、１１７Ｂ、１１７Ｃに書き込まれる。「仮想トラックのデステージング」操作は、ＳＣＳＩ書き込みコマンド、ｉＳＣＳＩコマンド、ＧｂＥＮコマンド、又はデータをホスト・システム１００Ａ、１００Ｂ、１００Ｃから中間データ・ストレージ４１１の適切なパーティション１１７Ａ、１１７Ｂ、１１７Ｃに送信するいずれかの他の操作とすることもできる。ホスト・システム１００Ａ、１００Ｂ、１００Ｃ、及び中間データ・ストレージ４１１は、ストレージ・エリア・ネットワークのようなネットワーク上で通信状態にあってもよい。
【００５５】
デステージング制御部１１４は、ホスト１００Ａ、１００Ｂ、１００Ｃの各々について、別個のポリシー１１８Ａ、１１８Ｂ、１１８Ｃを用いることができる。ポリシーは、別個のホストによって与えられ、デステージング制御部１１４によって格納される。ポリシー１１８Ａ、１１８Ｂ、１１８Ｃは、特定のパーティションと関連付けられたものとして示されるが、デステージング制御部のメモリ内に格納されており、セグメント１１３Ａ、１１３Ｂ、１１３Ｃとは関連付けられていない。上述のように、ユーザが選択できるポリシーに応じて、デステージング制御部は、図２及び図３に示される選択されたポリシーに従って、ホストについてのデステージングを決定する。
【００５６】
各オープン・ホログラム・セグメント１１３Ａ、１１３Ｂ、１１３Ｃについて、「オープン・ホログラム・セグメント・ディレクトリ」１１２Ａ、１１２Ｂ、１１２Ｃが、中間データ・ストレージ４１１の各パーティション１１７Ａ、１１７Ｂ、１１７Ｃ内に保持される。これは、どのファイルが、オープン・セグメント１１３Ａ、１１３Ｂ、１１３Ｃのどこに格納されているかを記録する。オープン・セグメント１１３Ａ、１１３Ｂ、１１３Ｃがクローズにされると、クローズ・ディレクトリ１２２のようなホログラフィック媒体１２１上に格納するために、ホログラム・セグメント・ディレクトリ１１２Ａ、１１２Ｂ、１１２Ｃが複製され、中間データ・ストレージ４１１上のクローズ・ホログラム・セグメント内に埋め込まれる。さらに、ホログラム・セグメント・ディレクトリ１１２Ａは、ホスト・ディスク１０１Ａ上のクローズ・ホログラム・セグメント・ディレクトリ１０２Ａとして複製され、ホログラム・セグメント・ディレクトリ１１２Ｂは、ホスト・ディスク１０１Ｂ上のクローズ・ホログラム・セグメント・ディレクトリ１０２Ｂとして複製され、ホログラム・セグメント・ディレクトリ１１２Ｃは、ホスト・ディスク１０１Ｃ上のクローズ・ホログラム・セグメント・ディレクトリ１０２Ｃとして複製されるので、ホスト１００Ａ、１００Ｂ、１００Ｃは、どの情報がそれぞれホログラフィック媒体１２１上に格納されたのかを知っている。媒体ディレクトリ１２４は、ホログラフィック媒体上に保持することができ、その媒体がホログラフィック・データ・ストレージから除去可能である場合、媒体１２１上のクローズ・セグメント１２３の配置を制御するために、デステージング制御部又はデータ・ストレージ１２０に必要な全ての情報を含む。
【００５７】
ポリシー１１８Ａ、１１８Ｂ、１１８Ｃは、ホスト１００Ａ、１００Ｂ、１００Ｃのレベルで実行できるが、好ましい実施形態は、ポリシー１１８Ａ、１１８Ｂ、１１８Ｃを中間データ・ストレージ４１１のレベルで各パーティション１１７Ａ、１１７Ｂ、１１７Ｃに対して実行するので、ホストにプロセスによる負担がかからず、このインテリジェンスを必要としないことで、ホログラフィック・ストレージ１２０をコスト削減できる。
【００５８】
当業者であれば、上述した方法に対して、ステップの順序の変更を含む変更をなし得ることを理解するであろう。ポリシー・ステップの１つ又は複数を省略することができ、又は、他のものを付加することもできる。さらに、当業者であれば、ここに示されるものとは異なる特定の構成要素の配置を用い得ることを理解するであろう。
【００５９】
本発明の好ましい実施形態が詳細に説明されたが、当業者であれば、以下の特許請求の範囲に述べられる本発明の範囲から逸脱することなく、これらの実施形態に対する修正及び適応を思い付くことができることは明らかである。
【符号の説明】
【００６０】
１０、４００：データ・デステージング・システム
１００、１００Ａ、１００Ｂ、１００Ｃ：ホスト・システム
１０１、１０１Ａ、１０１Ｂ、１０１Ｃ：ホスト・ディスク
１０２、１０２Ａ、１０２Ｂ、１０２Ｃ：ホログラム・ディレクトリ
１１１、４１１：中間データ・ストレージ
１１３、１１３Ａ、１１３Ｂ、１１３Ｃ：ホログラム・セグメント
１１４：デステージング制御部
１１７Ａ、１１７Ｂ、１１７Ｃ：パーティション
１１８Ａ、１１８Ｂ、１１８Ｃ：ポリシー
１２０：ホログラフィック・データ・ストレージ
１２１：ホログラフィック媒体
１２２：ホログラム・セグメント・ディレクトリ
１２３：ホログラフィック・セグメント
１２４：媒体ディレクトリ
【図１】
2010527468.tif 000003
【図２】
2010527468.tif 000004
【図３】
2010527468.tif 000005
【図４】
2010527468.tif 000006
【手続補正書】
【提出日】平成21年11月9日(2009.11.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データをホログラティック・データ・ストレージに提供するように構成されたデータ・デステージング・システムであって、
データを格納するように構成された中間データ・ストレージと、
ホログラフィック・ストレージ・セグメントのレプリカであるデータ・セグメントとして前記中間データ・ストレージに格納するためにデータを配置し、データを前記データ・セグメントに集約し、複数のポリシーに基づいて、前記データ・セグメントの前記ホログラフィック・データ・ストレージへのデステージングを決定するように構成された、デステージング制御部と、
を備えるデータ・デステージング・システム。
【請求項２】
前記デステージング制御部は、前記中間データ・ストレージを、少なくとも前記データ・デステージング・システムへの入力を有するソースの数と等しいパーティションの数に配置するようにさらに構成され、前記パーティションは、整数倍の前記データ・セグメントを含む、請求項１に記載のデータ・デステージング・システム。
【請求項３】
前記デステージング制御部は、一杯ではない前記データ・セグメントにパディングを追加するように構成され、かつ、前記ホログラフィック・データ・ストレージへのデステージングを決定する、請求項１に記載のデータ・デステージング・システム。
【請求項４】
前記デステージング制御部は、（ａ）前記集約されたデータが前記データ・セグメントを満たすこと、及び（ｂ）少なくとも前記データ・セグメントへの前記データの集約が少なくとも閾値時間を満たす時間にわたって行なわれることの一方に基づいて、前記データ・セグメントの前記ホログラフィック・データ・ストレージへのデステージングを決定するように構成される、請求項３に記載のデータ・デステージング・システム。
【請求項５】
前記デステージング制御部は、データを、複数の「オープン」の前記データ・セグメントに集約するように構成され、（ａ）前記集約されたデータが前記「オープン」のデータ・セグメントを満たすこと、及び（ｂ）「オープン」の前記データ・セグメントの数が少なくとも閾値を満たすことの一方に基づいて、前記「オープン」のデータ・セグメントの少なくとも１つの前記デステージングを決定するように構成される、請求項３に記載のデータ・デステージング・システム。
【請求項６】
前記デステージング制御部は、新しいデータが前記パディングを有するデステージングされたデータ・セグメントに提供された場合、前記パディングを上書きすることによって前記新しいデータを付加するようにさらに構成される、請求項３に記載のデータ・デステージング・システム。
【請求項７】
前記デステージング制御部は、前記パディングを有する前記デステージングされたデータ・セグメントを取り出し、前記取り出されたデータ・セグメントを前記中間データ・ストレージに格納して前記新しいデータを付加し、前記データ・セグメントの前記ホログラフィック・データ・ストレージへのデステージングを決定するように構成される、請求項６に記載のデータ・デステージング・システム。
【請求項８】
請求項１乃至請求項７のいずれに記載のデータ・デステージング・システムを含むデータ・ストレージ・システム。
【請求項９】
コンピュータに、
ホログラフィック・ストレージ・セグメントのレプリカであるデータ・セグメントとして中間データ・ストレージに格納するためにデータを配置するステップと、
前記データを前記データ・セグメントに集約するステップと、
複数のポリシーに基づいて、前記データ・セグメントの前記ホログラフィック・データ・ストレージへのデステージングを決定するステップと、
を実行させるための、コンピュータ・プログラム。
【請求項１０】
データをデステージングする方法であって、
ホログラフィック・ストレージ・セグメントのレプリカであるデータ・セグメントとして中間データ・ストレージに格納するためにデータを配置するステップと、
前記データを前記データ・セグメントに集約するステップと、
複数のポリシーに基づいて、前記データ・セグメントの前記ホログラフィック・データ・ストレージへのデステージングを決定するステップと、
を含む方法。
【請求項１１】
前記中間データ・ストレージを、少なくとも前記データ・デステージング・システムへの入力を有するソースの数と等しいパーティションの数に配置するステップをさらに含み、前記パーティションは、整数倍の前記データ・セグメントを含む、
請求項１０に記載の方法。
【請求項１２】
一杯ではない前記データ・セグメントにパディングを追加するステップをさらに含み、前記決定するステップは、前記ホログラフィック・データ・ストレージへのデステージングを決定する、請求項１０又は請求項１１のいずれかに記載の方法。
【請求項１３】
前記データ・セグメントの前記ホログラフィック・データ・ストレージへの前記デステージングを決定する前記ステップは、（ａ）前記集約されたデータが前記データ・セグメントを満たすこと、及び（ｂ）少なくとも前記データ・セグメントへの前記データの集約が少なくとも閾値期間を満たす時間にわたって行なわれることの一方に基づいている、請求項１０乃至請求項１２のいずれかに記載の方法。
【請求項１４】
（ａ）集約されたデータが「オープン」のデータ・セグメントを満たすこと、及び、（ｂ）「オープン」の前記データ・セグメントの数が少なくとも閾値を満たすことの一方に基づいて、データを複数の「オープン」の前記データ・セグメントに集約するステップをさらに含む、請求項１０乃至請求項１３のいずれかに記載の方法。
【請求項１５】
新しいデータが前記パディングを有するデステージングされたデータ・セグメントに提供された場合、前記パディングを上書きすることによって前記新しいデータを付加する、請求項１２に記載の方法。
【請求項１６】
前記パディングを有する前記データ・セグメントを取り出し、前記取り出されたデータ・セグメントを前記中間データ・ストレージに格納して前記関連したデータを付加し、前記データ・セグメントの前記ホログラフィック・データ・ストレージへのデステージングを決定するステップをさらに含む、請求項１５に記載の方法。
【国際調査報告】
2010527468.tif 000007
2010527468.tif 000008
2010527468.tif 000009