(57)【要約】【課題】データ読み書きの処理時間が長くなること。【解決手段】本発明の情報処理装置は、対象データを記憶装置に格納すると共に、当該対象データを参照するアドレスデータを記憶装置に格納して、当該アドレスデータを参照して記憶装置に格納された対象データにアクセスする情報処理装置であって、対象データを読み出す際に、当該対象データを参照するアドレスデータに関連付けた論理アドレスを割り当てる読み出し手段と、対象データを新たに記憶装置に書き込む際に、論理アドレスに関連付けられたアドレスデータを用いて、対象データの書き込みを行う書き込み手段と、を備えた。【選択図】図８
2018163580.tif 000002
【特許請求の範囲】
【請求項１】
対象データを記憶装置に格納すると共に、当該対象データを参照するアドレスデータを前記記憶装置に格納して、当該アドレスデータを参照して前記記憶装置に格納された前記対象データにアクセスする情報処理装置であって、
前記対象データを読み出す際に、当該対象データを参照する前記アドレスデータに関連付けた論理アドレスを割り当てる読み出し手段と、
前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う書き込み手段と、
を備えた、
情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記読み出し手段は、前記対象データを読み出す際に、前記論理アドレスに物理アドレスを割り当てずに、前記対象データを参照する前記アドレスデータに関連付けた前記論理アドレスを割り当て、
前記書き込み手段は、前記物理アドレスが割り当てられていない前記論理アドレスに関連付けられた前記アドレスデータにて参照される前記対象データを新たに書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う、
情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記書き込み手段は、前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを新たに参照することで、前記対象データを新たに書き込む、
情報処理装置。
【請求項４】
請求項１乃至３のいずれかに記載の情報処理装置であって、
前記読み出し手段は、前記論理アドレスに関連付けられた前記アドレスデータが参照する前記対象データを参照する際に、前記論理アドレスに対応する物理アドレスを割り当て、当該物理アドレスに、前記論理アドレスに関連付けられた前記アドレスデータにて参照される前記対象データを読み出す、
情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記書き込み手段は、前記物理アドレスに読み出された前記対象データを新たに前記記憶装置に書き込む際に、当該物理アドレスに対応する前記論理アドレスに関連付けられた前記アドレスデータを新たに参照することで、前記対象データの書き込みを行う、
情報処理装置。
【請求項６】
請求項１乃至５のいずれかに記載の情報処理装置であって、
前記アドレスデータは、当該アドレスデータが参照する前記対象データのデータ内容に固有のコンテンツアドレスデータである、
情報処理装置。
【請求項７】
対象データを記憶装置に格納すると共に、当該対象データを参照するアドレスデータを前記記憶装置に格納して、当該アドレスデータを参照して前記記憶装置に格納された前記対象データにアクセスする情報処理装置に、
前記対象データを読み出す際に、当該対象データを参照する前記アドレスデータに関連付けた論理アドレスを割り当てる読み出し手段と、
前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う書き込み手段と、
を実現させるためのプログラム。
【請求項８】
記憶装置と、
対象データを前記記憶装置に格納すると共に、当該対象データを参照するアドレスデータを前記記憶装置に格納して、当該アドレスデータを参照して前記記憶装置に格納された前記対象データにアクセスする情報処理装置と、
を備え、
前記情報処理装置は、
前記対象データを読み出す際に、当該対象データを参照する前記アドレスデータに関連付けた論理アドレスを割り当てる読み出し手段と、
前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う書き込み手段と、
を備えた、
ストレージシステム。
【請求項９】
対象データを記憶装置に格納すると共に、当該対象データの内容に基づいて設定され当該対象データを参照するアドレスデータを前記記憶装置に格納して、当該アドレスデータを介して前記記憶装置に格納された前記対象データにアクセスする情報処理装置によるデータ読み書き方法であって、
前記対象データを読み出す際に、当該対象データを参照する前記アドレスデータに関連付けた論理アドレスを割り当て、
前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う、
データ読み書き方法。
【請求項１０】
請求項９に記載のデータ読み書き方法であって、
前記対象データを読み出す際に、前記論理アドレスに物理アドレスを割り当てずに、前記対象データを参照する前記アドレスデータに関連付けた前記論理アドレスを割り当て、
前記物理アドレスが割り当てられていない前記論理アドレスに関連付けられた前記アドレスデータにて参照される前記対象データを新たに書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う、
データ読み書き方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置にかかり、特に、記憶装置に対するデータを読み書きする情報処理装置に関する。
【背景技術】
【０００２】
近年、コンピュータの発達及び普及に伴い、種々の情報がデジタルデータ化されている。このようなデジタルデータを保存しておく装置として、磁気テープや磁気ディスクなどの記憶装置がある。そして、保存すべきデータは日々増大し、膨大な量となるため、大容量なストレージシステムが必要となっている。また、記憶装置に費やすコストを削減しつつ、信頼性も必要とされる。これに加えて、後にデータを容易に取り出すことが可能であることも必要である。その結果、自動的に記憶容量や性能の増大を実現できると共に、重複記憶を排除して記憶コストを削減し、さらには、冗長性の高いストレージシステムが望まれている。
【０００３】
このような状況に応じて、近年では、特許文献１に示すように、コンテンツアドレスストレージシステムが開発されている。このコンテンツアドレスストレージシステムは、データを分散して複数の記憶装置に記憶すると共に、このデータの内容に応じて特定される固有のコンテンツアドレスによって、当該データを格納した格納位置が特定される。
【０００４】
具体的には、図１に示すように、ファイルなど書き込み対象となるデータＡを所定容量のブロックデータＤに分割して圧縮し、記憶装置に書き込む。このとき、ブロックデータＤの内容からコンテンツアドレスＣＡを算出し、ブロックデータＤの格納位置がコンテンツアドレスＣＡにて特定されることとなる。ここで、上記コンテンツアドレスは、データの内容に応じて固有となるよう生成される値、例えばデータのハッシュ値、に基づいて生成される。このため、重複データであれば同じ格納位置のデータを参照することで、同一内容のデータを取得することができる。従って、重複データを別々に格納する必要がなく、重複記録を排除して、データ容量の削減を図ることができる。
【０００５】
また、ブロックデータＤを格納する際には、図１に示すように、ブロックデータＤを複数のフラグメントＤ１〜Ｄ９に分割する。そして、複数のフラグメントＤ１〜Ｄ９に、冗長データとなるフラグメントＤ１０〜Ｄ１２をさらに付加して、これら複数のフラグメントをそれぞれ複数の記憶装置にそれぞれ格納する。これにより、データの冗長性を高めている。
【０００６】
そして、上述したようなコンテンツアドレスストレージシステムでは、後に、コンテンツアドレスを指定することにより、当該コンテンツアドレスにて特定される格納位置に格納されているデータつまりフラグメントを読み出し、複数のフラグメントから分割前の所定のデータを復元することができる。
【０００７】
また、コンテンツアドレスストレージシステムでは、図２および特許文献２に示すように、ツリー型ファイルシステムが用いられている。これは、格納したデータを参照するコンテンツアドレス自体を、さらに上位階層に位置するコンテンツアドレスにて参照し、コンテンツアドレスをツリー構造に形成して格納している、というものである。これにより、上位階層から下位階層に向かって、コンテンツアドレスの参照先を辿っていくことで、目的の格納データにアクセスすることができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４３７２６７１号公報
【特許文献２】特許第５５５６０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ここで、コンテンツアドレスストレージシステムは、重複排除機能から、データのバックアップに用いることにより、データ容量の削減を図ることができる。ところが、バックアップ対象全体を記憶装置にバックアップすると、バックアップ時間はその量に比例し長くなる、という問題が生じる。
【００１０】
上記問題を解消するために、差分・増分のみをバックアップすることもできるが、リストアの処理が煩雑となることや、不要なバックアップ世代を削除するには再度フルバックアップを取ることとなる。このため、多くのバックアップソフトウェアでは、図３に示すような合成バックアップと言われる仕組みを提供している。バックアップソフトウェアは、前回のフルバックアップと、その後の差分・増分バックアップから、最も新しい部分を読み込み、別のファイルに書くことで最新のバックアップイメージを作成する。コンテンツアドレスストレージシステムでは、合成処理を行っても書き込んだデータは重複するため、格納データ容量の削減を図ることはできる。しかしながら、バックアップイメージ全体を読み書きするため、合成処理の時間はバックアップ量に比例して長くなる、という問題がある。
【００１１】
また、アプリケーションの中には、図４に示すように、ファイルの削除部分（斜線部分）を一旦マークしておき、後刻、新たにファイル全体を書き直すことでストレージを再利用可能にする処理を行うものがある。例えば、テープ媒体を扱うことを想定していたアプリケーションでは、その動作をディスク上でシミュレートする。このときも、読んだデータをそのまま書きこむため、コンテンツアドレスストレージシステムでは、データ容量の削減を図ることができる。しかしながら、データを一旦読み、書き込むため、格納データ量の削減を図ることはできるものの、処理時間はデータ量に比例して長くなる、という問題がある。
【００１２】
このため、本発明の目的は、上述した課題である、ストレージシステムにおいて処理時間が長くなる、ということを解決することにある。
【課題を解決するための手段】
【００１３】
本発明の一形態である情報処理装置は、
対象データを記憶装置に格納すると共に、当該対象データを参照するアドレスデータを前記記憶装置に格納して、当該アドレスデータを参照して前記記憶装置に格納された前記対象データにアクセスする情報処理装置であって、
前記対象データを読み出す際に、当該対象データを参照する前記アドレスデータに関連付けた論理アドレスを割り当てる読み出し手段と、
前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う書き込み手段と、
を備えた、
という構成をとる。
【００１４】
また、本発明の一形態であるプログラムは、
対象データを記憶装置に格納すると共に、当該対象データを参照するアドレスデータを前記記憶装置に格納して、当該アドレスデータを参照して前記記憶装置に格納された前記対象データにアクセスする情報処理装置に、
前記対象データを読み出す際に、当該対象データを参照する前記アドレスデータに関連付けた論理アドレスを割り当てる読み出し手段と、
前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う書き込み手段と、
を実現させる、
という構成をとる。
【００１５】
また、本発明の一形態であるストレージシステムは、
記憶装置と、
対象データを前記記憶装置に格納すると共に、当該対象データを参照するアドレスデータを前記記憶装置に格納して、当該アドレスデータを参照して前記記憶装置に格納された前記対象データにアクセスする情報処理装置と、
を備え、
前記情報処理装置は、
前記対象データを読み出す際に、当該対象データを参照する前記アドレスデータに関連付けた論理アドレスを割り当てる読み出し手段と、
前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う書き込み手段と、
を備えた、
という構成をとる。
【００１６】
また、本発明の一形態であるデータ読み書き方法は、
対象データを記憶装置に格納すると共に、当該対象データの内容に基づいて設定され当該対象データを参照するアドレスデータを前記記憶装置に格納して、当該アドレスデータを介して前記記憶装置に格納された前記対象データにアクセスする情報処理装置によるデータ読み書き方法であって、
前記対象データを読み出す際に、当該対象データを参照する前記アドレスデータに関連付けた論理アドレスを割り当て、
前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う、
という構成をとる。
【発明の効果】
【００１７】
本発明は、以上のように構成されることにより、情報処理装置における処理時間の短縮を図ることができる。
【図面の簡単な説明】
【００１８】
【図１】コンテンツアドレスストレージシステムにおけるデータ格納処理を示す模式図である。
【図２】コンテンツアドレスのツリー構造の一例を示す図である。
【図３】バックアップ処理の一例を示す図である。
【図４】バックアップ処理の一例を示す図である。
【図５】本発明の実施形態１におけるストレージシステムの構成を示すブロック図である。
【図６】図１に開示したストレージシステムにおけるデータ読み書きの様子を示す図である。
【図７】本発明におけるストレージシステムの他の構成例を示す図である。
【図８】本発明の実施形態２における情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１９】
＜実施形態１＞
本発明の第１の実施形態を、図５乃至図７を参照して説明する。図５は、ストレージシステムの構成を説明するための図である。図６は、データ読み書きの様子を説明するための図である。図７は、ストレージシステムの他の構成例を説明するための図である。
【００２０】
［構成］
図５に示すように、本実施形態におけるストレージシステムは、コンテンツアドレスを用いてデータを読み書きする機能を有するデータ格納装置２０と、かかるデータ格納装置２０に対してデータの読み書きを行うユーザアプリケーションが動作するクライアント装置１０と、を備えている。
【００２１】
上記データ格納装置２０は、演算装置と記憶装置とを備えた情報処理装置にて構成されている。そして、データ格納装置２０は、記憶装置に、データ格納部２１を有している。また、データ格納装置２０は、演算装置がプログラムを実行することで構築された、データ読み出し部２２、コンテンツアドレス読み出し部２３、データ書き込み部２４、コンテンツアドレス書き込み部２５、を備えている。そして、これらの構成により、上述した図１及び図２に示すように、データを分割したブロックデータ（対象データ）をコンテンツアドレス（アドレスデータ）を用いて読み書きしたり、コンテンツアドレスをツリー構造にして格納しているブロックデータを参照する、ことを実現している。
【００２２】
具体的に、上記データ読み出し部２２とデータ書き込み部２４は、データ格納部２１に対してブロックデータの読み書きを行う。なお、データ格納部２１にブロックデータを書き込む際には、ブロックデータの内容からＳＨＡ（Secure Hash Algorithm）といったハッシュ関数を用いて算出したハッシュ値をコンテンツアドレスとし、当該コンテンツアドレスにてブロックデータの格納位置を特定する。
【００２３】
また、コンテンツアドレス読み出し部２３は、ファイルの読み出し要求があったときに、当該ファイルを構成するブロックデータそのものの代わりに、ブロックデータを参照するコンテンツアドレス（ハッシュ値）を返却する。また、コンテンツアドレス書き込み部２５は、ブロックデータを書き込むとき、当該ブロックデータの代わりに、既にデータ格納部２１に格納されている同一内容のブロックデータのハッシュ値を参照することで、書き込みを行う。
【００２４】
上記クライアント装置１０は、演算装置と記憶装置とを備えた情報処理装置にて構成されている。そして、クライアント装置１０は、演算装置がプログラムを実行することで構築された、ユーザアプリケーション１１、バッファ管理部１２、読み出し部１３、データ読み出し部１４、コンテンツアドレス読み出し部１５、書き込み部１６、データ書き込み部１７、コンテンツアドレス書き込み部１８、を備えている。
【００２５】
上記読み出し部１３と書き込み部１６は、一般的なＯＳ（Operating System）では、ユーザアプリケーション１１からの読み出し要求であるREADシステムコールや、書き込み要求であるWRITEシステムコールのようなものが該当する。バッファ管理部１２は、ユーザアプリケーション１１、読み出し部１３、書き込み部１６が使用するメモリを管理する。なお、バッファ管理部１２は、ＯＳのメモリ管理手段を変更することによっても実現可能であるが、ＯＳのメモリ管理とは別に専用の管理手段を実装してもよい。
【００２６】
データ読み出し部１４、コンテンツアドレス読み出し部１５、データ書き込み部１７、コンテンツアドレス書き込み部１８については、以下の動作説明時に詳述する。なお、クライアント装置１０の読み出し部１３、データ読み出し部１４、コンテンツアドレス読み出し部１５、データ格納装置２０のデータ読み出し部２２、コンテンツアドレス読み出し部２３は、協働して、動作説明時に説明するようデータを読み出す読み出し手段として機能する。また、クライアント装置１０の書き込み部１６、データ書き込み部１７、コンテンツアドレス書き込み部１８、データ格納装置２０のデータ書き込み部２４、コンテンツアドレス書き込み部２５は、協働して、動作説明時に説明するようデータを書き込む書き込み手段として機能する。
【００２７】
例えば、読み出し手段は、ユーザアプリケーション１１がデータの読み出しを行ったとき、データそのものの読み込みを一旦遅延させ、データのコンテンツアドレスを元にしたポインタで扱う。そして、書き込み手段は、ユーザアプリケーション１１が読み込んだデータを直後に書き込んだときに、データのコンテンツアドレスを用いて書き込みする。このように、データのコンテンツアドレスを用いて読み書きすることで、ブロックデータ自体の転送を不要とし、処理効率を高めている。
【００２８】
［動作］
次に、上述したストレージシステムによるデータ読み書きの動作を、主に図６を参照して説明する。なお、データ格納部２１には、既にブロックデータと、当該ブロックデータを参照するコンテンツアドレスと、が格納されている状態であるとする。そして、かかる状態において、クライアント装置１０がバックアップ処理を行い、特に、上述した合成処理や再利用処理を行い、読んだデータをそのまま書き込む場合を説明する。
【００２９】
ユーザアプリケーション１１がファイルの読み出しを要求すると、読み出し部１３は、データ格納装置２０に対し、コンテンツアドレス読み出し部１５を経由して、読み出し要求を行う。そして、結果として、読み出し要求したファイルを構成するブロックデータのコンテンツアドレスであるハッシュ値を得る。
【００３０】
具体的に、読み出し部１３は、まず、バッファ管理部１２に、データを格納する領域の割り当てを要求する。このとき、図６に示すように、論理アドレスは割り当てるが、当該論理アドレスに対応する物理アドレスは割り当てない。つまり、アドレス変換テーブル上では、論理アドレスに物理アドレスを割り当てず、当該論理アドレスにコンテンツアドレスが関連付けられる。そして、読み出し部１３は、読み出し要求に応じて、割り当てた論理アドレスをポインタとして返却する。これにより、ユーザアプリケーション１１は、ファイルの読み出し時に、対象となるブロックデータを参照するコンテンツアドレスを取得する。つまり、読み出し処理の際には、データの中身を参照しない場合には、コンテンツアドレスのみが取得され、データ（ブロックデータ）自体を扱わない。このため、データ格納装置２０とクライアント装置１０との間では、コンテンツアドレスのやりとりだけが発生し、ブロックデータのデータ転送が行われない。
【００３１】
そして、読み出し部１３は、上述したように論理アドレスだけを割り当てて読み出したデータの中身を参照する要求を行うと、例外処理が発生する。すると、バッファ管理部１２は、まず、論理アドレスに物理アドレスを割り当てる。そして、論理アドレスに関連付けられているアドレスデータが参照するブロックデータを、割り当てた物理アドレスに格納して読み出す。
【００３２】
このように、本実施形態では、データの読み出し時に、一般的なＯＳにおけるページアウトと同様のことが行われる。つまり、一般的なＯＳでは、メモリが不足したときにページアウトし、メモリからディスクに一時退避すると共に、ページアウトしたアドレスにアクセスすると、例外処理が行われ、ディスクからメモリにその内容を戻す、ことが行われる。同様に、本実施形態では、上述したデータ参照時に、物理アドレスが割り当てられていない論理アドレスにアクセスがあると、データ読み出し部１４，２２を経由して、物理アドレスを割り当ててデータそのものを読み込み、ユーザアプリケーション１１が参照可能となる。このときには、データ格納装置２０からクライアント装置１０にデータ転送が行われる。
【００３３】
なお、上述した例外処理を行うか否かの判断は、例えば、アドレス変換テーブルのエントリから行うことができる。一般的なアドレス変換テーブルには、そのエントリが物理アドレスと対応づけられているか否かを示すビットがある。そのビットが有効なときには、エントリの内容に従い物理アドレスに変換されメモリアクセスが行われるが、無効なときには、例外が発生する。エントリの残ったビットで、データ格納装置２０に格納されたデータであることと、そのコンテンツアドレスを示す。なお、上記は一例であって、別の方法で上述した例外処理を行うか否かを判断してもよい。
【００３４】
次に、ユーザアプリケーション１１が書き込み要求を行ったときの動作を説明する。まず、上述したように、ブロックデータの読み出しだけで参照されておらず、読み出された直後のブロックデータの書き込みを行う場合を説明する。つまり、物理アドレスが割り当てられていない論理アドレスが関連付けられたコンテンツアドレスが参照するブロックデータの書き込みを行う場合を説明する。
【００３５】
書き込み部１６は、物理アドレスが割り当てられていない論理アドレスを参照するポインタの書き込み要求を受けると、コンテンツアドレス書き込み部１８を経由し、データ格納装置２０に書き込み要求を送る。データ格納装置２０のコンテンツアドレス書き込み部２５は、書き込み要求を受けると、既に記憶されているデータと重複しているデータを書き込むときと同様の処理で書き込み処理を行う。例えば、データ格納装置２０に格納されているコンテンツアドレスを、新たな書き込みデータとして参照することで、このコンテンツアドレスが参照しているブロックデータを新たに格納することができる。つまり、新たなブロックデータを実際には書き込むことなく、既に記憶されているブロックデータを参照して、新たに格納したこととする。これにより、データ格納装置２０からクライアント装置１０にデータ転送を行うことなく、対象となるデータをデータ格納装置２０に格納したとすることができ、さらに重複記憶を排除することができる。
【００３６】
また、書き込み部１６は、上述したように、ブロックデータの読み出し時に当該ブロックデータが参照され、論理アドレスに割り当てられた物理アドレスに格納されているデータを変更することなく書き込む場合も、上述同様に書き込み処理を行う。つまり、データ格納装置２０に格納されているコンテンツアドレスを新たな書き込みデータとして参照することで、このコンテンツアドレスが参照しているブロックデータを新たに格納することができる。これにより、上記とは逆に、クライアント装置１０からデータ格納装置２０にデータ転送を行うことなく、対象となるデータをデータ格納装置２０に格納したとすることができ、データ転送量を削減し、処理効率の向上を図ることができる。なお、データの変更がないことは、ハッシュ値を元に確認してもよく、一部のＯＳのメモリ管理で採用されているcopy on writeの仕組みを用い、変更が無いことを確認してもよい。
【００３７】
以上のように、本実施形態によると、ユーザアプリケーション１１が、合成処理や再利用処理に例示されるように、読んだデータをそのまま書き込む場合には、データの読み出し、書き込みを、論理アドレスへのポインタで扱い、データそのものを参照することが無い。このため、重複排除を実現しつつ、データ転送処理量を削減し、処理を効率化することができるため、処理時間の短縮を図ることができる。なお、ユーザアプリケーション１１がデータの参照を行う場合であっても、データを変更しないのであれば、上述同様に、書き込みを論理アドレスへのポインタで扱うため、データ転送量を削減することができる。
【００３８】
また、ユーザアプリケーション１１からの読み出しおよび書き込みの要求が実データをともなわず、ハッシュ値（コンテンツアドレス）のみで行えるため、データ格納装置２０の負荷を大きく軽減することができる。例えば、コンテンツアドレスストレージでは、一般的に、ファイルを数KBから数100KBのブロックデータに分割し、ハッシュ値を計算し重複排除を行っている。これに対し、ハッシュ値は、数10バイトであり、さらに頻繁に参照されるハッシュ値は、データ格納装置２０のメモリ上に配置されている。このため、読み出し時においてはデータ格納装置において、ディスクアクセスを大幅に軽減することができる。また、書き込み時においても、データブロックの分割やハッシュ値の計算が必要なくなるため、負荷を軽減できる。
【００３９】
ここで、図７に、ストレージシステムの他の構成例を説明する。上記では、ユーザアプリケーション１１が動作する装置を他のクライアント装置１０として説明したが、データ格納装置２０上でアプリケーションを動作させてもよい。例えば、図７に示すデータ格納装置１００のように、合成処理部１１１をデータ格納装置１００に備え、さらに、上述した各部１１２〜１１８をデータ格納装置１００に備えてもよい。これにより、合成処理をデータ格納装置１００内で実施する場合、ブロックデータ自体の読み書きをせず、コンテンツアドレスのみで処理できるため、処理時間の短縮や負荷の軽減を図ることができる。
【００４０】
＜実施形態２＞
次に、本発明の第２の実施形態を、図８を参照して説明する。図８は、実施形態２における情報処理装置の構成を示すブロック図である。なお、本実施形態における情報処理装置は、実施形態１で説明したストレージシステムの構成の概略を示している。
【００４１】
図８に示すように、情報処理装置２００は、
対象データを記憶装置に格納すると共に、当該対象データを参照するアドレスデータを記憶装置に格納して、当該アドレスデータを参照して記憶装置に格納された対象データにアクセスする情報処理装置であって、
対象データを読み出す際に、当該対象データを参照するアドレスデータに関連付けた論理アドレスを割り当てる読み出し手段２０１と、
対象データを新たに記憶装置に書き込む際に、論理アドレスに関連付けられたアドレスデータを用いて、対象データの書き込みを行う書き込み手段２０２と、
を備えている。
【００４２】
上記構成の情報処理装置によると、読み出したデータをそのまま書き込む場合には、データの読み出し、書き込みを、論理アドレスに関連付けられたアドレスデータを用いて行う。つまり、物理アドレスを割り当てることなく、アドレスデータにて参照され格納されているデータそのものを扱う必要がない。その結果、データ転送処理量を削減し、処理を効率化することができるため、処理時間の短縮や処理負荷の低減を図ることができる。
【００４３】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置、プログラム、ストレージシステム、データ読み書き方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
【００４４】
（付記１）
対象データを記憶装置に格納すると共に、当該対象データを参照するアドレスデータを前記記憶装置に格納して、当該アドレスデータを参照して前記記憶装置に格納された前記対象データにアクセスする情報処理装置であって、
前記対象データを読み出す際に、当該対象データを参照する前記アドレスデータに関連付けた論理アドレスを割り当てる読み出し手段と、
前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う書き込み手段と、
を備えた、
情報処理装置。
【００４５】
（付記２）
付記１に記載の情報処理装置であって、
前記読み出し手段は、前記対象データを読み出す際に、前記論理アドレスに物理アドレスを割り当てずに、前記対象データを参照する前記アドレスデータに関連付けた前記論理アドレスを割り当て、
前記書き込み手段は、前記物理アドレスが割り当てられていない前記論理アドレスに関連付けられた前記アドレスデータにて参照される前記対象データを新たに書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う、
情報処理装置。
【００４６】
（付記３）
付記２に記載の情報処理装置であって、
前記書き込み手段は、前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを新たに参照することで、前記対象データを新たに書き込む、
情報処理装置。
【００４７】
（付記４）
付記１乃至３のいずれかに記載の情報処理装置であって、
前記読み出し手段は、前記論理アドレスに関連付けられた前記アドレスデータが参照する前記対象データを参照する際に、前記論理アドレスに対応する物理アドレスを割り当て、当該物理アドレスに、前記論理アドレスに関連付けられた前記アドレスデータにて参照される前記対象データを読み出す、
情報処理装置。
【００４８】
（付記５）
付記４に記載の情報処理装置であって、
前記書き込み手段は、前記物理アドレスに読み出された前記対象データを新たに前記記憶装置に書き込む際に、当該物理アドレスに対応する前記論理アドレスに関連付けられた前記アドレスデータを新たに参照することで、前記対象データの書き込みを行う、
情報処理装置。
【００４９】
（付記６）
付記１乃至５のいずれかに記載の情報処理装置であって、
前記アドレスデータは、当該アドレスデータが参照する前記対象データのデータ内容に固有のコンテンツアドレスデータである、
情報処理装置。
【００５０】
（付記７）
対象データを記憶装置に格納すると共に、当該対象データを参照するアドレスデータを前記記憶装置に格納して、当該アドレスデータを参照して前記記憶装置に格納された前記対象データにアクセスする情報処理装置に、
前記対象データを読み出す際に、当該対象データを参照する前記アドレスデータに関連付けた論理アドレスを割り当てる読み出し手段と、
前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う書き込み手段と、
を実現させるためのプログラム。
【００５１】
（付記８）
記憶装置と、
対象データを前記記憶装置に格納すると共に、当該対象データを参照するアドレスデータを前記記憶装置に格納して、当該アドレスデータを参照して前記記憶装置に格納された前記対象データにアクセスする情報処理装置と、
を備え、
前記情報処理装置は、
前記対象データを読み出す際に、当該対象データを参照する前記アドレスデータに関連付けた論理アドレスを割り当てる読み出し手段と、
前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う書き込み手段と、
を備えた、
ストレージシステム。
【００５２】
（付記９）
対象データを記憶装置に格納すると共に、当該対象データの内容に基づいて設定され当該対象データを参照するアドレスデータを前記記憶装置に格納して、当該アドレスデータを介して前記記憶装置に格納された前記対象データにアクセスする情報処理装置によるデータ読み書き方法であって、
前記対象データを読み出す際に、当該対象データを参照する前記アドレスデータに関連付けた論理アドレスを割り当て、
前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う、
データ読み書き方法。
【００５３】
（付記１０）
付記９に記載のデータ読み書き方法であって、
前記対象データを読み出す際に、前記論理アドレスに物理アドレスを割り当てずに、前記対象データを参照する前記アドレスデータに関連付けた前記論理アドレスを割り当て、
前記物理アドレスが割り当てられていない前記論理アドレスに関連付けられた前記アドレスデータにて参照される前記対象データを新たに書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを用いて、前記対象データの書き込みを行う、
データ読み書き方法。
【００５４】
（付記１１）
付記１０に記載のデータ読み書き方法であって、
前記対象データを新たに前記記憶装置に書き込む際に、前記論理アドレスに関連付けられた前記アドレスデータを新たに参照することで、前記対象データを新たに書き込む、
データ読み書き方法。
【００５５】
（付記１２）
付記９乃至１１のいずれかに記載のデータ読み書き方法であって、
前記論理アドレスに関連付けられた前記アドレスデータが参照する前記対象データを参照する際に、前記論理アドレスに対応する物理アドレスを割り当て、当該物理アドレスに、前記論理アドレスに関連付けられた前記アドレスデータにて参照される前記対象データを読み出す、
データ読み書き方法。
【００５６】
（付記１３）
付記１２に記載のデータ読み書き方法であって、
前記物理アドレスに読み出された前記対象データを新たに前記記憶装置に書き込む際に、当該物理アドレスに対応する前記論理アドレスに関連付けられた前記アドレスデータを新たに参照することで、前記対象データの書き込みを行う、
データ読み書き方法。
【００５７】
なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【００５８】
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【００５９】
１０  クライアント装置
１１  ユーザアプリケーション
１２  バッファ管理部
１３  読み出し部
１４  データ読み出し部
１５  コンテンツアドレス読み出し部
１６  書き込み部
１７  データ書き込み部
１８  コンテンツアドレス書き込み部
２０  データ格納装置
２１  データ格納部
２２  データ読み出し部
２３  コンテンツアドレス読み出し部
２４  データ書き込み部
２５  コンテンツアドレス書き込み部
１００  データ格納装置
１１１  合成処理部
１１２  バッファ管理部
１１３  読み出し部
１１４  データ読み出し部
１１５  コンテンツアドレス読み出し部
１１６  書き込み部
１１７  データ書き込み部
１１８  コンテンツアドレス書き込み部
１２０  データ格納部
２００  情報処理装置
２０１  データ読み出し手段
２０２  データ書き込み手段
【図１】
2018163580.tif 000003
【図２】
2018163580.tif 000004
【図３】
2018163580.tif 000005
【図４】
2018163580.tif 000006
【図５】
2018163580.tif 000007
【図６】
2018163580.tif 000008
【図７】
2018163580.tif 000009
【図８】
2018163580.tif 000010