(57)【要約】      （修正有）【課題】メタデータに対して効率良くアクセスすることができるストレージ及び情報処理システムを提供する。【解決手段】ストレージ１は、データを格納する記憶媒体２と、前記記憶媒体にデータを書き込む処理及び前記記憶媒体からデータを読み出す処理を行う複数のアクセス手段３、４と、前記複数のアクセス手段が、前記記憶媒体にデータを書きこんだ位置を示す位置情報を含む第１のメタデータを格納する第１の格納手段５と、前記記憶媒体におけるデータの格納位置を示す位置情報を含む第２のメタデータを格納する第２の格納手段６と、を含む。前記複数のアクセス手段は、前記第２のメタデータを用いて前記記憶媒体からデータを読み出す。【選択図】図１
2020052852.tif 000002
【特許請求の範囲】
【請求項１】
データを格納する記憶媒体と、
前記記憶媒体にデータを書き込む処理及び前記記憶媒体からデータを読み出す処理を行う複数のアクセス手段と、
前記複数のアクセス手段が、前記記憶媒体にデータを書きこんだ位置を示す位置情報を含む第１のメタデータを格納する第１の格納手段と、
前記記憶媒体におけるデータの格納位置を示す位置情報を含む第２のメタデータを格納する第２の格納手段と、を含み、
前記複数のアクセス手段は、前記第２のメタデータを用いて前記記憶媒体からデータを読み出す、
ストレージ。
【請求項２】
前記複数のアクセス手段のうち、前記記憶媒体にデータを書き込むアクセス手段は、前記記憶媒体にデータを書きこんだ場合、当該記憶媒体にデータを書き込んだ位置を示す位置情報を、第１のメタデータに書き込む、
請求項１に記載のストレージ。
【請求項３】
前記複数のアクセス手段のうち、前記記憶媒体にデータを書き込むアクセス手段は、前記記憶媒体において、既にデータが記憶されている位置とは異なる位置にデータを書き込む、
請求項１又は２に記載のストレージ。
【請求項４】
前記第１のメタデータにおける位置情報を用いて、前記第２のメタデータに含まれる位置情報を更新する更新手段を更に含む、
請求項１乃至３のいずれか１項に記載のストレージ。
【請求項５】
前記更新手段は、前記第１のメタデータにおける位置情報を、前記第２のメタデータに含まれる位置情報にコピーする、
請求項４に記載のストレージ。
【請求項６】
前記更新手段は、前回の更新時から、前記第１のメタデータに新たに書き込まれた位置情報を、差分として、前記第２のメタデータに追加する、
請求項４に記載のストレージ。
【請求項７】
前記更新手段は、前記新たに書き込まれた位置情報を前記第２のメタデータ及び前記第３のメタデータに追加した場合、前記新たに書き込まれた位置情報を前記第１のメタデータから削除する、
請求項６に記載のストレージ。
【請求項８】
前記記憶媒体におけるデータの格納位置を示す位置情報を含む第３のメタデータを格納する第３の格納手段を更に含み、
前記複数のアクセス手段は、前記第２のメタデータ又は第３のメタデータを用いて前記記憶媒体からデータを読み出す、
請求項１乃至７のいずれか１項に記載のストレージ。
【請求項９】
請求項１乃至８のいずれか１項に記載のストレージと、
１以上のコンピュータとを含み、
前記複数のアクセス手段のうち、第１のアクセス手段は、前記コンピュータからデータの書き込み要求を受けると、前記記憶媒体にデータを書き込み、
前記複数のアクセス手段のうち、第２のアクセス手段は、前記コンピュータからデータの読み出し要求を受けると、前記記憶媒体にデータを書き込む、
情報処理システム。
【請求項１０】
データを格納する記憶媒体と、
前記記憶媒体にデータを書き込む第１のサーバと、
前記記憶媒体からデータを読み出す第２のサーバと、
前記第１のサーバは、前記第１のサーバが前記記憶媒体にデータを書き込んだ位置を示す位置情報を含む第１のメタデータを格納し、
前記第２のサーバは、前記記憶媒体におけるデータの格納位置を示す位置情報を含む第２のメタデータを格納し、当該第２のメタデータを用いて前記記憶媒体からデータを読み出す、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、メタデータを用いてデータを管理するストレージ及びシステムに関する。
【背景技術】
【０００２】
近年、ＳＳＤ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）や、ＨＤＤ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）等のような記憶媒体を用いてデータを管理する手法が、主流になりつつある。このような記憶媒体を含むストレージ装置は、外部装置からの要求に対して、内蔵するアクセス手段及びメタデータを用いて、記憶媒体上のデータにアクセスを行う。
【０００３】
メタデータは、記憶媒体におけるデータの格納位置を示す位置情報を含む。具体的に、ストレージ装置におけるアクセス手段は、外部装置からデータの読み出し要求を受けると、メタデータに含まれる位置情報を参照し、記憶媒体上において当該データの格納位置を特定することで、記憶媒体からデータの読み出しを行っている。また、ストレージ装置におけるアクセス手段は、外部装置からデータの書き込み要求を受けると、記憶媒体上にデータを書き込み、当該データを書き込んだ位置を示す位置情報を、メタデータに書き込む。
【０００４】
なお、このようなストレージ装置は、ストレージ装置１つにつき、メタデータを１つ含むことが多い。
【０００５】
メタデータを用いてデータの管理を行う技術の１例として、特許文献１が挙げられる。特許文献１に記載のファイルシステムでは、ストレージ装置上の所定領域にメタデータを記憶させる。メタデータには、ファイルデータとファイルデータが格納された位置とを互いに関連付けたマップ情報及びその他諸々の情報が含められている。ストレージ装置にファイルデータを書き込む際は、まず、所定領域に格納されているメタデータ群を読み出し、メタデータ群を解析し、解析結果とファイルデータのサイズから、ファイルデータを書き込む位置を特定する。書き込む位置を特定すると、ファイルデータに関するメタデータを生成し、ストレージ装置の所定領域に、生成したメタデータを書き込む。この時、メタデータには、ファイルデータが実際にどの位置（ブロック）に記憶されるのかを表すマップ情報を含める。また、そのマップ情報に従って、ファイルデータをストレージ装置に書き込む。
【０００６】
また、メタデータの読み出しを高速化する技術の一例として、特許文献２が挙げられる。特許文献２に記載の技術は、各物理ボリュームに格納されている、ボリューム・グループ管理用のメタデータのうち、１つの物理ボリュームに一括化することが可能なメタデータを一括化し、当該一括化メタデータからメタデータの読み出しを行うことで、各物理ボリュームのメタデータ読み出しを高速化する。また、特許文献２に記載の技術では、一括化メタデータとして、元の物理ボリュームの先頭に配置されているメタデータ１〜ｎの複製を使用する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１５―１７９３２８号公報
【特許文献２】特開２００４―２６５１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、メタデータを用いてデータの管理を行うストレージ装置では、リアルタイムで取得されたデータを記憶媒体に書き込みつつ、分析のために、記憶媒体から過去に書き込まれたデータを読み出す処理が行われる場合がある。このような処理では、複数のアクセス手段を平行して用いて、データの読み出しや書き込みが行われることが多い。複数のアクセス手段が１つのメタデータに対してデータを書き込む際は、書き込み競合によるデータ破壊を防ぐため、当該メタデータに対して排他制御等が行われる。
【０００９】
従って、特定のアクセス手段が、メタデータに位置情報を書き込んでいる間、他のアクセス手段は、当該メタデータに対してアクセスすることができない。
【００１０】
特許文献１及び特許文献２に記載の技術は、特定のアクセス手段が、マップ情報を含むメタデータにデータの書き込みを行っている場合、他のアクセス手段は当該メタデータに対してアクセスすることができなくなる。従って、特許文献１及び２に記載の技術では、メタデータに対して、効率良くアクセスすることができない。
【００１１】
本願発明は、上記課題を解決し、メタデータに対して効率良くアクセスすることができるストレージ及び情報処理システムを提供することができる。
【課題を解決するための手段】
【００１２】
本願発明のストレージは、データを格納する記憶媒体と、前記記憶媒体にデータを書き込む処理及び前記記憶媒体からデータを読み出す処理を行う複数のアクセス手段と、前記複数のアクセス手段が、前記記憶媒体にデータを書きこんだ位置を示す位置情報を含む第１のメタデータを格納する第１の格納手段と、前記記憶媒体におけるデータの格納位置を示す位置情報を含む第２のメタデータを格納する第２の格納手段と、を含み、前記複数のアクセス手段は、前記第２のメタデータを用いて前記記憶媒体からデータを読み出す。
【００１３】
本願発明の情報処理システムは、データを格納する記憶媒体と、前記記憶媒体にデータを書き込む第１のサーバと、前記記憶媒体からデータを読み出す第２のサーバと、前記第１のサーバは、前記第１のサーバが前記記憶媒体にデータを書き込んだ位置を示す位置情報を含む第１のメタデータを格納し、前記第２のサーバは、前記記憶媒体におけるデータの格納位置を示す位置情報を含む第２のメタデータを格納し、当該第２のメタデータを用いて前記記憶媒体からデータを読み出す。
【発明の効果】
【００１４】
本願発明は、メタデータに対して効率良くアクセスすることができるストレージ及び情報処理システムを提供する
【図面の簡単な説明】
【００１５】
【図１】ストレージ１の構成を示す図である。
【図２】データを書き込む処理を示すフローチャートである。
【図３】データを読み出す処理を示すフローチャートである。
【図４】ストレージ装置１０の構成を示す図である。
【図５】更新処理の動作を示すフローチャートである。
【図６】書き込み用メタデータ５０の具体例を示す図である。
【図７】読み出し用メタデータ６０の具体例を示す図である。
【図８】更新処理の概念図である。
【図９】ストレージ装置１１の構成を示す図である。
【図１０】ストレージ装置１２の構成を示す図である。
【図１１】本願発明を実現するコンピュータの１例を示す図である。
【発明を実施するための形態】
【００１６】
＜第１の実施形態＞
［構成］
本願発明の第１の実施形態を、図面を参照して説明する。図１は、第１の実施形態における、ストレージ１の構成を示す図である。
【００１７】
ストレージ１は、記憶媒体２、第１のアクセス手段３、第２のアクセス手段４、第１の格納手段５、及び第２の格納手段６を含む。ストレージ１は、気象予報、株価の動向分析、又は商品の売れ筋分析等のような、データを蓄積しつつ、過去に蓄積されたデータを分析する技術に適用することが可能である。
【００１８】
記憶媒体２は、データを格納する媒体である。具体的に、記憶媒体２は、データの書き込み及び読み出しが可能な媒体である。記憶媒体３０の具体例として、ＳＳＤ、ＨＤＤ、フラッシュメモリ、ＳＤカード、ｅＭＭｃ（ｅｍｂｅｄｄｅｄ  Ｍｕｌｔｉ  Ｍｅｄｉａ  Ｃａｒｄ）等が挙げられるが、本願発明はこれらに限定されない。
【００１９】
第１のアクセス手段３は、記憶媒体２及び第１の格納手段５にアクセスを行う手段である。第１のアクセス手段３は、外部装置からデータの書き込み要求を受けると、記憶媒体２に当該データを書き込む処理を行う。第１のアクセス手段３は、記憶媒体２にデータを書き込む際、記憶媒体２において既にデータが記憶されている位置とは異なる位置にデータを書き込む。第１のアクセス手段３が、記憶媒体２にデータを書き込む処理の詳細な説明については後述する。
【００２０】
第２のアクセス手段４は、記憶媒体２及び第２の格納手段６にアクセスを行う手段である。第２のアクセス手段４は、外部装置からデータの読み出し要求を受けると、記憶媒体２からデータを読み出す処理を行う。例えば、第１のアクセス手段３及び第２のアクセス手段４は、ストレージ１におけるプロセッサ等により構成される。しかし、第１のアクセス手段３及び第２のアクセス手段４は、外部装置及び記憶媒体と通信可能なものであれば、どのような構成でも構わない。
【００２１】
第１の格納手段５は、第１のアクセス手段３が記憶媒体２にデータを書き込んだ位置を示す位置情報を含む第１のメタデータを格納する。第１のアクセス手段３は、記憶媒体２にデータを書き込んだ場合、当該データを書き込んだ位置を示す位置情報を第１のメタデータに書き込む。メタデータとは、外部装置から要求されたデータの論理アドレスを、記憶媒体２における物理アドレスに変換する変換テーブルである。なお、位置情報の具体例については後述する。
【００２２】
第２の格納手段６は、記憶媒体２におけるデータの格納位置を示す位置情報を含む第２のメタデータを格納する。なお、第１の格納手段５及び第２の格納手段６は、メモリ等のように、メタデータを格納可能なものであれば、どのような構成でも構わない。第２のアクセス手段４は、記憶媒体２からデータを読み出す際、第２の格納手段６に格納された第２のメタデータを用いて、当該データが格納された位置を特定し、記憶媒体２から当該データを読み出す。なお、第１のメタデータが有する位置情報は、特定のタイミングで、第２のメタデータが有する位置情報に更新される。特定のタイミングの具体例については後述する。
［動作］
次に、本願発明の第１の実施形態における主な動作を説明する。
【００２３】
図２は、データを書き込む処理を示すフローチャートである。
【００２４】
第１のアクセス手段３は、外部装置からデータの書き込み要求を受けると（Ｓ１）、記憶媒体２に当該データを書き込む処理を行う（Ｓ２）。
【００２５】
第１のアクセス手段３は、記憶媒体２にデータを書き込んだ場合、当該データを書き込んだ位置を示す位置情報を第１のメタデータに書き込む（Ｓ３）。
【００２６】
図３は、データを読み出す処理を示すフローチャートである。
【００２７】
第２のアクセス手段４は、外部装置からデータの読み出し要求を受けると（Ｓ１１）、第２の格納手段６に格納された第２のメタデータを用いて、当該データが格納された位置を特定する（Ｓ１２）。
【００２８】
第２のアクセス手段４は、当該特定した位置を用いて、記憶媒体２から読み出し要求を受けたデータを読み出す（Ｓ１３）。
【００２９】
これにより、第１の実施形態に係る本願発明は、メタデータに対して効率良くアクセスすることができる。
【００３０】
その理由は、ストレージ１が、データを格納する記憶媒体２と、記憶媒体２にデータを書き込む第１のアクセス手段３と、記憶媒体２からデータを読み出す第２のアクセス手段４と、第１のアクセス手段３が記憶媒体２にデータを書き込んだ位置を示す位置情報を含む第１のメタデータを格納する第１の格納手段５と、記憶媒体２におけるデータの格納位置を示す位置情報を含む第２のメタデータを格納する第２の格納手段６と、を含み、第２のアクセス手段４は、第２のメタデータを用いて記憶媒体２からデータを読み出すからである。
＜第２の実施形態＞
［構成］
本願発明の第２の実施形態を、図面を参照して説明する。図４は、第１の実施形態における、ストレージ装置１０の構成を示す図である。
【００３１】
ストレージ装置１０は、記憶媒体３０、アクセス手段４０、書き込み用メタデータ５０、読み出し用メタデータ６０、及び更新手段７０を含む。
【００３２】
外部装置２０は、アクセス手段４０に対して、データの書き込み要求やデータの読み出し要求等を行う。データの書き込み要求及び読み出し要求は、当該データの容量及び当該データの位置を示す情報を含む。外部装置２０は、ホストコンピュータ等の装置を含む。なお、外部装置２０は、ストレージ装置１０と通信可能な外部装置であるならば、どのような装置を用いても構わない。図４に記載のように、ストレージ装置１０は、複数の外部装置２０と接続可能である。
【００３３】
記憶媒体３０は、データの書き込み及び読み出しが可能な媒体である。記憶媒体３０の具体例として、ＳＳＤ、ＨＤＤ、フラッシュメモリ、ＳＤカード、ｅＭＭｃ等が挙げられるが、本願発明はこれらに限定されない。また、記憶媒体３０は、複数の媒体を組み合わせ、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｌｌａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）を構成しても良いし、１つの媒体を用いても良い。
【００３４】
アクセス手段４０は、記憶媒体３０と、書き込み用メタデータ５０と、読み出し用メタデータ６０とにアクセスし、データの書き込み又はデータの読み出しを行なう。
【００３５】
具体的に、アクセス手段４０は、外部装置２０からデータの書き込み要求を受けると、記憶媒体３０にデータを書き込み、当該データを書き込んだ位置を示す位置情報を、書き込み用メタデータ５０に書き込む。
【００３６】
なお、アクセス手段４０が記憶媒体３０にデータを書き込む際は、記憶媒体３０において、既にデータが記憶されている位置とは異なる位置にデータを書き込む。具体的には、アクセス手段４０が、特定の位置へデータを書き込む要求を受けた際、当該特定の位置にデータが既に書き込まれていた場合は上書きせず、当該特定の位置とは別の位置にデータを書き込む。もし、既に記憶媒体３０に書き込まれたデータを上書きしてしまった際、読み出し用メタデータ６０には、当該上書きされたデータではなく、当該上書きされる前のデータに関する位置情報が含まれる場合がある。つまり、記憶媒体３０に上書きを行ってしまうと、読み出し用メタデータ６０に含まれる位置情報と実際にデータが書き込まれた位置とで、位置情報の不整合が生じてしまい、データを読み出す際に不具合を生じるおそれがある。従って、アクセス手段４０が、上記のようにデータを書き込む処理は、当該不整合を防ぐ点で有効である。なお、アクセス手段４０は、最後に記憶媒体３０に書き込みを行なった位置の続きから、データを書き込んでも良い。アクセス手段４０は、当該位置を把握するために、メタデータを用いても良いし、最後に書き込みを行なった位置を別途記憶するメモリを用意し、当該メモリを用いても良い。しかし、アクセス手段４０は、当該手法に限られず、既にデータが記憶されている位置とは異なる位置にデータを書き込めるのであれば、どのような方法を用いても良い。
【００３７】
なお、アクセス手段４０が上書きをせずにデータを書き込むことで、記憶媒体３０の容量が不足した場合は、媒体を新たに追加する。
【００３８】
上記のように、記憶媒体３０に対して上書きを行わないストレージ装置１０は、気象予報、株価の動向分析、又は商品の売れ筋分析等のような、データを蓄積しつつ、過去に蓄積されたデータを分析する技術に適用した場合に、特に効果を奏する。なぜなら、当該ストレージ装置１０は、過去に蓄積したデータに対して上書きを行わないため、全てのデータを、記憶媒体３０への格納時の状態のままで蓄積しているためである。
【００３９】
また、アクセス手段４０は、外部装置２０からデータの読み出し要求があった場合は、読み出し用メタデータ６０にアクセスし、当該読み出し用メタデータ６０に含まれる位置情報を参照し、読み出し要求に対応するデータの位置を特定する。アクセス手段４０は、当該特定した位置を用いて、記憶媒体３０から、読み出し要求に対応するデータを読み出す。
【００４０】
なお、図４では、ストレージ装置１０が３つのアクセス手段４０を含む構成を説明したが、本願発明はこれに限られない。例えば、ストレージ装置１０は、２以上のアクセス手段４０を含むことが可能である。
【００４１】
書き込み用メタデータ５０は、アクセス手段４０が記憶媒体３０にデータを書き込んだ位置を示す位置情報を含む。なお、書き込み用メタデータ５０は、バッファや、メモリ等のような、格納手段に格納されても良い。
【００４２】
読み出し用メタデータ６０は、記憶媒体３０におけるデータの格納位置を示す位置情報を含む。図４に記載のように、ストレージ装置１０は、複数の読み出し用メタデータ６０を含むことが可能である。図４では、一例として、２つの読み出し用メタデータ６０が例示されているが、当該２つの読み出し用メタデータ６０にそれぞれ含まれる位置情報は、同一のものである。なお、図４では、ストレージ装置１０が２つの読み出し用メタデータ６０を含む構成を説明したが、本願発明はこれに限られない。例えば、ストレージ装置１０は、１以上の読み出し用メタデータ６０を含むことが可能である。
【００４３】
読み出し用メタデータ６０には、更新手段７０及び外部装置２０からデータの読み出し要求を受けたアクセス手段４０のみが、アクセスすることが可能である。なお、読み出し用メタデータ６０は、メモリ等の格納手段に格納されても良い。
【００４４】
更新手段７０は、書き込み用メタデータ５０及び読み出し用メタデータ６０にアクセスし、読み出し用メタデータ６０に含まれる位置情報を更新する処理を行う。具体的に、更新手段７０は、特定のタイミングで、書き込み用メタデータ５０にアクセスし、当該書き込み用メタデータ５０に含まれる位置情報を用いて、読み出し用メタデータ６０に含まれる位置情報を更新する（以後、更新処理と呼称する）。
【００４５】
なお、更新処理は、前回の更新時から、新たに書き込み用メタデータ５０に書き込まれた位置情報を、差分として、読み出し用メタデータ６０に追加する処理でも良いし、書き込み用メタデータ５０に含まれる全ての位置情報を、読み出し用メタデータ６０にコピーする処理でも良い。特定のタイミングとは、一定の時間間隔毎、特定の時間毎、又は外部装置２０から読み出し要求を受けたタイミングを示す。更新手段７０が行う更新処理の、詳細な説明については後述する。
［動作］
次に、本願発明の第２の実施形態における主な動作を説明する。
【００４６】
図５は、更新処理の動作を示すフローチャートである。
【００４７】
更新手段７０は、特定のタイミングの場合（Ｓ２１でＹｅｓ）、書き込み用メタデータ５０にアクセスする（Ｓ２２）。
【００４８】
更新手段７０は、書き込み用メタデータ５０に含まれる位置情報を用いて、読み出し用メタデータ６０を更新する（Ｓ２３）。
［具体例］
第２の実施形態の主な具体例を、図４に記載の構成図を用いながら説明する。
【００４９】
本具体例では、主に、アクセス手段４０が外部装置２０からデータ書き込み要求を受けた場合の処理と、アクセス手段４０が外部装置２０からデータ読み出し要求を受けた場合の処理と、更新手段７０が行う更新処理について説明する。
【００５０】
はじめに、アクセス手段４０が外部装置２０からデータの書き込み要求を受けた場合の処理について、具体例を用いて説明する。
【００５１】
アクセス手段４０は、外部装置２０からデータの書き込み要求を受けると、記憶媒体３０にデータを書き込み、当該データを書き込んだ位置を示す位置情報を、書き込み用メタデータ５０に書き込む。
【００５２】
図６に、アクセス手段４０が、位置情報を書き込んだ書き込み用メタデータ５０の具体例を示す。
【００５３】
書き込み用メタデータ５０は、論理アドレス５１と物理アドレス５２とを含む。
【００５４】
論理アドレス５１とは、外部装置２０が書き込み要求を行った位置を示す情報である。
【００５５】
物理アドレス５２とは、記憶媒体３０に格納されたデータの格納位置を示す情報である。なお、論理アドレス５１及び物理アドレス５２は、アドレス及びデータ量を用いて位置の情報を表現しても良い。例えば、論理アドレス５１は、アドレス「ＡＡ」からＹＹバイトという情報で、位置を表現しても良いし、当該情報に対応する物理アドレス５２は、「Ｄｉｓｃ１、アドレス２からＹＹバイト」という情報で、位置の情報を表現しても良い。なお、論理アドレス５１及び物理アドレス５２は、位置の情報を表現するものであれば、どのような手法を用いても構わない。また、位置情報は、物理アドレス５２の情報でも良いし、物理アドレス５２及びデータ量の情報でも良い。
【００５６】
具体的に、アクセス手段４０は、外部装置２０から、アドレス「ＺＺ」からＸＸバイト書き込むというデータの書き込み要求を受け、記憶媒体３０の「Ｄｉｓｃ３、アドレス１」ＸＸバイト書き込んだ場合、論理アドレス５１には「ＺＺ」を、物理アドレス５２には「Ｄｉｓｃ３、アドレス１」を書き込む。
【００５７】
次に、アクセス手段４０が外部装置２０からデータ読み出し要求を受けた場合の処理について、具体例を用いて説明する。
【００５８】
アクセス手段４０は、外部装置２０からデータ読み出し要求を受けると、読み出し用メタデータ６０にアクセスし、当該読み出し用メタデータ６０に含まれる位置情報を参照し、読み出し要求に対応するデータの、記憶媒体３０における位置を特定する。
【００５９】
図７に、読み出し用メタデータ６０の具体例を示す。
【００６０】
読み出し用メタデータ６０は、論理アドレス６１と物理アドレス６２とを含む。
【００６１】
論理アドレス６１とは、外部装置２０が読み出し要求を行うアドレスを示す情報である。
【００６２】
物理アドレス６２とは、記憶媒体３０に格納されたデータの格納位置を示すアドレスの情報である。なお、論理アドレス６１及び物理アドレス６２も、論理アドレス５１及び物理アドレス５２と同様に、アドレス及びデータ量を用いて位置の情報を表現しても良い。
【００６３】
具体的に、アクセス手段４０は、外部装置２０から、アドレス「ＡＡ」からＹＹバイト読み出す、というデータの読み出し要求を受けると、読み出し用メタデータ６０の論理アドレス６１及び物理アドレス６２を参照する。アクセス手段４０は、論理アドレス６１及び物理アドレス６２を参照した結果、アドレス「ＡＡ」に対応するデータは、記憶媒体３０における「Ｄｉｓｃ１、アドレス２」という位置に格納されていることを特定する。アクセス手段４０は、「Ｄｉｓｃ１、アドレス２」からＹＹバイト読み出し、当該データを外部装置２０へ送信する。
【００６４】
次に、更新手段７０が行う更新処理について、具体例を用いて説明する。
【００６５】
更新手段７０は、書き込み用メタデータ５０及び読み出し用メタデータ６０にアクセスし、読み出し用メタデータ６０に含まれる位置情報を更新する処理を行う。本具体例では、更新処理の一例として、前回の更新時から、新たに書き込み用メタデータ５０に書き込まれた位置情報を、差分として、読み出し用メタデータ６０に追加する処理について説明する。
【００６６】
図８に、更新処理の概念図を示す。図８に示す更新処理の概念図は、上半分に、書き込み用メタデータ５０の概念図を示し、下半分に、読み出し用メタデータ６０の概念図を示す。また、図８に示す概念図では、更新処理について、３つのステップを用いて説明する。図８に示す概念図において、上半分に記載のステップ１と下半分に記載のステップ１とは、同様の時刻を示す。
【００６７】
ステップ１では、書き込み用メタデータ５０の概念図及び読み出し用メタデータ６０の概念図が、同一の位置情報を含むことを示す。
【００６８】
ここで、ステップ２において、アクセス手段４０が、書き込み用メタデータ５０に対して、新たな位置情報を書き込んだとする。当該新たな位置情報を、新たな位置情報８０と呼称する。ステップ２を参照すると、書き込み用メタデータ５０の概念図に、新たな位置情報８０が追加されたことがわかる。なお、ステップ２の時点では、読み出し用メタデータ６０に対して、新たな位置情報８０は追加されていない。従って、ステップ２の時点では、外部装置２０から、新たな位置情報８０に対応するデータの読み出し要求があったとしても、新たな位置情報８０に対応するデータを読み出すことはできない。なお、ステップ２の時点であっても、新たな位置情報８０以前のデータについては、読み出すことが可能である。
【００６９】
ステップ３では、更新手段７０が更新処理を行い、新たな位置情報８０が読み出し用メタデータ６０に追加された具体例を示す。ステップ３に示す書き込み用メタデータ５０の概念図及び読み出し用メタデータ６０の概念図は、同一の位置情報を含むことを示す。
【００７０】
なお、アクセス手段４０は、所望の位置情報を検索する際、新たな位置情報８０から参照し、所望の位置情報が見つからない場合に、新たな位置情報８０以外の位置情報を参照しても良い。
【００７１】
これにより、第２の実施形態に係る本願発明は、メタデータに対して効率良くアクセスすることができる。その理由は、書き込み用メタデータ５０と読み出し用メタデータ６０とを分けて管理することで、読み出し用メタデータ６０において書き込み競合が発生するおそれが低下するからである。
【００７２】
また、第２の実施形態に係る本願発明は、更新手段７０が更新処理を行い、読み出し用メタデータ６０に含まれる位置情報をアップデートすることで、外部装置２０は新しく記憶媒体３０に記憶されたデータを読み出すことができる。なお、読み出し用メタデータ６０に含まれる位置情報は、その性質上、すでに記憶媒体３０へのデータの書き込みが終了しているデータの位置を示す。従って、読み出し用メタデータ６０に含まれる位置情報を用いてデータの読み出しを行なった場合、記憶媒体３０に書き込み中のデータを読み出すことはない。つまり、本願発明は、リアルタイムのデータを蓄積するような技術分野に適用したとしても、書き込等によりリアルタイムで値が変化してしまうようなデータを読み出すことを防ぐことができる。当該構成は、気象予報、過去の株価の動向分析、又は商品の売れ筋分析等のような、データを蓄積しつつも、過去に蓄積されたデータを分析する技術において、特に効果がある。
【００７３】
更に、第２の実施形態に係る本願発明は、アクセス手段４０と、読み出し用メタデータ６０とを複数含むため、効率的に、外部装置２０からの読み出し要求に応えることができる。
【００７４】
なお、１つの読み出し用メタデータ６０に対して、複数のアクセス手段４０が、同時に位置情報の読み出しを行なった場合、メタデータを格納するメモリ等が有するバス（メタデータにアクセスする為の手段）の帯域が圧迫され、当該メタデータの読み出し性能が低下する可能性がある。しかし、第２の実施形態に係る本願発明は、読み出し用メタデータ６０を複数含むため、当該メタデータの読み出し性能の低下を防ぐことができる。
【００７５】
なお、本具体例における書き込み用メタデータ５０の説明として、読み出し用メタデータ６０と同一の位置情報を含むと説明したが、本願発明はこれに限定されるわけではない。例えば、更新手段７０は、書き込み用メタデータ５０に含まれる位置情報を読み出し用メタデータ６０に追加した後、当該追加した位置情報を書き込み用メタデータ５０から削除しても良い。こうすることで、書き込み用メタデータ５０の容量を削減することができる。
【００７６】
なお、本実施形態では、メタデータがストレージ装置１０に含まれる実施形態を説明したが、本願発明はこれに限られない。例えば、書き込み用のメタデータ５０を含むサーバと、読み出し用のメタデータ６０を含む複数のサーバとが、単一の記憶媒体に接続された情報処理システムでも良い。この場合、各サーバ間は、ネットワークで接続され、記憶媒体に対しては、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ−Ｅｘｐｒｅｓｓ）等のような、高速なインターフェースで接続することで、実現可能である。
【００７７】
なお、ストレージ装置１０は、更に、キャッシュを含んでも良い。例えば、外部装置２０から読み出し要求を受けると、記憶媒体３０からキャッシュへ対象のデータが送信され、当該キャッシュから、アクセス手段４０へ対象のデータが送信されるという構成でも良い。
［プログラム］
本願発明におけるプログラムは、コンピュータに、本願発明の処理を実行させるプログラムである。このプログラムをコンピュータにインストールし、実行することによって、本願発明を実現することができる。
【００７８】
ここで、本願発明におけるプログラムを実行することによって、本願発明を実現するコンピュータについて図１１を用いて説明する。
【００７９】
図１１は、本願発明実現するコンピュータの一例を示すブロック図である。
【００８０】
図１１に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【００８１】
ＣＰＵ１１１は、記憶装置１１３に格納された、本願発明におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性の記憶装置である。また、本願発明におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本願発明におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００８２】
また、記憶装置１１３は、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、入力機器１１８との間のデータ伝送を仲介する。入力機器１１８とは、例えば、キーボード及びマウス並びにタッチパネル等が挙げられる。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００８３】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と他のコンピュータとの間のデータ伝送を仲介する。
【００８４】
また、記録媒体１２０の具体例としては、ＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ（登録商標））及びＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）等の汎用的な半導体記憶デバイス、又はフレキシブルディスク（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）等の磁気記憶媒体が挙げられる。更に、記録媒体１２０の具体例としては、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの光学記憶媒体も挙げられる。
＜第１の変形例＞
本願発明の第２の実施形態における第１の変形例について、図面を用いて説明する。なお、第２の実施形態と同様の説明については省略する。
【００８５】
図９は、第１の変形例におけるストレージ装置１１の構成を示す図である。
【００８６】
図９に示すとおり、第１の変形例におけるストレージ装置１１は、第２の実施形態と異なり、読み出し用メタデータ６０を１つ含む。
【００８７】
アクセス手段４０は、外部装置２０から読み出し要求を受けると、読み出し用メタデータ６０に含まれる位置情報を参照し、記憶媒体３０から、読み出し要求に対応するデータを読み出す。
【００８８】
メタデータに対してデータを書き込む際は、書き込み競合が発生するため、排他制御等が行われ、当該メタデータに対して効率良くアクセスをすることができないが、メタデータに対してデータを読み出す際は、競合は発生しないため、排他制御等は行われない。従って、第１の変形例におけるストレージ装置１１は、読み出し用メタデータ６０を１つ含む構成であっても、メタデータに対して効率良くアクセスすることができる。
【００８９】
なお、複数のアクセス手段４０が、１つの読み出し用メタデータ６０に対して同時に位置情報の読み出しを行なった場合、メタデータが有するバス（メタデータにアクセスする為の手段）の帯域が圧迫され、当該メタデータの読み出し性能が低下するおそれがある。従って、本願発明は、メタデータの読み出し性能が低下しない範囲で、読み出し用メタデータ６０の個数を設定することが望ましい。
＜第２の変形例＞
本願発明の第２の実施形態における第２の変形例について、図面を用いて説明する。なお、第２の実施形態と同様の説明については省略する。
【００９０】
図１０は、第２の変形例におけるストレージ装置１２の構成を示す図である。
【００９１】
図１０に示すとおり、第２の変形例におけるストレージ装置１２は、アクセス手段４０の代わりに、書き込み用アクセス手段２００と、読み出し用アクセス手段２２０と、読み出し用アクセス手段２４０とを含む。また、第２の変形例におけるストレージ装置１２は、書き込み用メタデータ５０の代わりに、書き込み用メタデータ２１０を含む。更に、第２の変形例におけるストレージ装置１２は、読み出し用メタデータ６０の代わりに、読み出し用メタデータ２３０と、読み出し用メタデータ２５０とを含む。
【００９２】
書き込み用アクセス手段２００は、外部装置２０から書き込み要求を受けると、記憶媒体３０にデータを書き込み、当該データを書き込んだ位置を示す位置情報を、書き込み用メタデータ２１０に書き込む。
【００９３】
読み出し用アクセス手段２２０は、外部装置２０から読み出し要求を受けると、読み出し用メタデータ２３０に含まれる位置情報を参照し、記憶媒体３０から、読み出し要求に対応するデータを読み出す。
【００９４】
読み出し用アクセス手段２４０は、外部装置２０から読み出し要求を受けると、読み出し用メタデータ２５０に含まれる位置情報を参照し、記憶媒体３０から、読み出し要求に対応するデータを読み出す。
【００９５】
このように、第２の変形例では、書き込み用メタデータにアクセスする手段と、読み出し用メタデータにアクセスする手段とが、それぞれ分けられて構成されている。また、アクセス手段とメタデータとが、用途に応じて、それぞれ組として構成されている。具体的に、第２の変形例では、書き込み用アクセス手段２００及び書き込み用メタデータ２１０の組と、読み出し用アクセス手段２２０及び読み出し用メタデータ２３０の組と、読み出し用アクセス手段２４０及び読み出し用メタデータ２５０の組との３つの組で構成されている。なお、第２の変形例では、ストレージ装置１２が３つの組を含む構成で説明したが、本願はこれに限られない。
【００９６】
このように、アクセス手段とメタデータとが、用途に応じて組として構成されているため、第２の変形例におけるストレージ装置１２は、メタデータにアクセスするアクセス手段を１つに限定することができる。つまり、第２の変形例におけるストレージ装置１２は、メタデータにアクセスするアクセス手段を１つに限定することにより、１つのメタデータに対して複数のアクセス手段がアクセスすることを防ぐことができる。
【００９７】
ここまで、本願発明を実施するための形態を説明してきたが、本願発明は上述した実施形態に限定されるものではない。例えば、本明細書で記載したフローチャートにおける処理の順序はあくまでも一例に過ぎず、本願発明を実施する際に矛盾のない範囲で変更する事が可能である。また、本明細書で記載した構成はあくまでも一例に過ぎず、本願発明を実施する際に矛盾のない範囲で構成を変更する事が可能である。即ち、本願発明は、本願発明を実施する際に矛盾のない範囲で当業者が理解し得る様々な態様を適用することができ、上記各実施形態の変形例や、その組合せ等も、本願発明の技術的範囲に含まれる。
［付記］
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
（付記１）
データを格納する記憶媒体と、
前記記憶媒体にデータを書き込む処理及び前記記憶媒体からデータを読み出す処理を行う複数のアクセス手段と、
前記複数のアクセス手段が、前記記憶媒体にデータを書きこんだ位置を示す位置情報を含む第１のメタデータを格納する第１の格納手段と、
前記記憶媒体におけるデータの格納位置を示す位置情報を含む第２のメタデータを格納する第２の格納手段と、を含み、
前記複数のアクセス手段は、前記第２のメタデータを用いて前記記憶媒体からデータを読み出す、
ストレージ。
（付記２）
前記複数のアクセス手段のうち、前記記憶媒体にデータを書き込むアクセス手段は、前記記憶媒体にデータを書きこんだ場合、当該記憶媒体にデータを書き込んだ位置を示す位置情報を、第１のメタデータに書き込む、
付記１に記載のストレージ。
（付記３）
前記複数のアクセス手段のうち、前記記憶媒体にデータを書き込むアクセス手段は、前記記憶媒体において、既にデータが記憶されている位置とは異なる位置にデータを書き込む、
付記１又は２に記載のストレージ。
（付記４）
前記第１のメタデータにおける位置情報を用いて、前記第２のメタデータに含まれる位置情報を更新する更新手段を更に含む、
付記１乃至３のいずれか１項に記載のストレージ。
（付記５）
前記更新手段は、前記第１のメタデータにおける位置情報を、前記第２のメタデータに含まれる位置情報にコピーする、
付記４に記載のストレージ。
（付記６）
前記更新手段は、前回の更新時から、前記第１のメタデータに新たに書き込まれた位置情報を、差分として、前記第２のメタデータに追加する、
付記４に記載のストレージ。
（付記７）
前記更新手段は、前記新たに書き込まれた位置情報を前記第２のメタデータ及び前記第３のメタデータに追加した場合、前記新たに書き込まれた位置情報を前記第１のメタデータから削除する、
付記６に記載のストレージ。
（付記８）
前記記憶媒体におけるデータの格納位置を示す位置情報を含む第３のメタデータを格納する第３の格納手段を更に含み、
前記複数のアクセス手段は、前記第２のメタデータ又は第３のメタデータを用いて前記記憶媒体からデータを読み出す、
付記１乃至７のいずれか１項に記載のストレージ。
（付記９）
付記１乃至８のいずれか１項に記載のストレージと、
１以上のコンピュータとを含み、
前記複数のアクセス手段のうち、第１のアクセス手段は、前記コンピュータからデータの書き込み要求を受けると、前記記憶媒体にデータを書き込み、
前記複数のアクセス手段のうち、第２のアクセス手段は、前記コンピュータからデータの読み出し要求を受けると、前記記憶媒体にデータを書き込む、
情報処理システム。
（付記１０）
データを格納する記憶媒体と、
前記記憶媒体にデータを書き込む第１のサーバと、
前記記憶媒体からデータを読み出す第２のサーバと、
前記第１のサーバは、前記第１のサーバが前記記憶媒体にデータを書き込んだ位置を示す位置情報を含む第１のメタデータを格納し、
前記第２のサーバは、前記記憶媒体におけるデータの格納位置を示す位置情報を含む第２のメタデータを格納し、当該第２のメタデータを用いて前記記憶媒体からデータを読み出す、
情報処理システム。
（付記１１）
前記更新手段は、前記新たに書き込まれた位置情報を前記第２のメタデータ及び前記第３のメタデータに追加した場合、前記新たに書き込まれた位置情報を前記第１のメタデータから削除する、
付記７に記載のストレージ。
（付記１２）
データを格納する記憶媒体と、
前記記憶媒体にデータを書き込む第１のアクセス手段と、
前記記憶媒体からデータを読み出す第２のアクセス手段と、
前記第１のアクセス手段が前記記憶媒体にデータを書き込んだ位置を示す位置情報を含む第１のメタデータを格納する第１の格納手段と、
前記記憶媒体におけるデータの格納位置を示す位置情報を含む第２のメタデータを格納する第２の格納手段と、を含み、
前記第２のアクセス手段は、前記第２のメタデータを用いて前記記憶媒体からデータを読み出す、
ストレージ。
【符号の説明】
【００９８】
１    ストレージ
２    記憶媒体
３    第１のアクセス手段
４    第２のアクセス手段
５    第１の格納手段
６    第２の格納手段
１０    ストレージ装置
２０    外部装置
３０    記憶媒体
４０    アクセス手段
５０    書き込み用メタデータ
５１    論理アドレス
５２    物理アドレス
６０    読み出し用メタデータ
６１    論理アドレス
６２    物理アドレス
７０    更新手段
８０    新たな位置情報
１１０    コンピュータ
１１１    ＣＰＵ
１１２    メインメモリ
１１３    記憶装置
１１４    入力インターフェイス
１１５    表示コントローラ
１１６    データリーダ／ライタ
１１７    通信インターフェイス
１１８    入力機器
１１９    ディスプレイ装置
１２０    記録媒体
２００    書き込み用アクセス手段
２１０    書き込み用メタデータ
２２０    読み出し用アクセス手段
２３０    読み出し用メタデータ
２４０    読み出し用アクセス手段
２５０    読み出し用メタデータ
【図１】
2020052852.tif 000003
【図２】
2020052852.tif 000004
【図３】
2020052852.tif 000005
【図４】
2020052852.tif 000006
【図５】
2020052852.tif 000007
【図６】
2020052852.tif 000008
【図７】
2020052852.tif 000009
【図８】
2020052852.tif 000010
【図９】
2020052852.tif 000011
【図１０】
2020052852.tif 000012
【図１１】
2020052852.tif 000013