(57)【要約】【課題】  ガベージコレクションの発生を低減し、ＳＳＤへのデータ書込み性能の低下を防止するデータ管理装置及び方法を提案する。【解決手段】  ＳＳＤに保存したキー・バリューデータを管理するデータ管理部と、データ管理部からの要求に応じてＳＳＤの記憶領域上に所定サイズのファイルを適宜作成し、作成したファイルを管理するファイル管理部とをデータ管理装置に設け、ファイル管理部がＳＳＤにおけるブロックの整数倍のサイズでファイルを作成し、データ管理部が、保存対象のキー・バリューデータをファイルに追記的に書き込むようファイル管理部に要求すると共に、各ファイルにおける有効なキー・バリューデータの数を管理し、有効なキー・バリューデータが存在しなくなったファイルについては、当該ファイルを削除するようファイル管理部に要求するようにした。
2015121938.tif 000002
【特許請求の範囲】
【請求項１】
保存対象のデータであるバリューと、当該バリューに固有のキーとからなるキー・バリューデータをＳＳＤ（Solid  State  Drive）に保存するデータ管理装置において、
前記ＳＳＤに保存した前記キー・バリューデータを管理するデータ管理部と、
前記データ管理部からの要求に応じて前記ＳＳＤの記憶領域上に所定サイズのファイルを適宜作成し、作成した前記ファイルを管理するファイル管理部と
を備え、
前記ファイルは、
前記ＳＳＤにおけるデータの消去単位であるブロックの整数倍のファイルサイズを有し、
前記データ管理部は、
保存対象の前記キー・バリューデータを前記ファイルに追記的に書き込むよう前記ファイル管理部に要求すると共に、前記ファイルにおける更新された前記キー・バリューデータの更新前のデータ及び削除された前記キー・バリューデータを無効化して、各前記ファイルにおける有効な前記キー・バリューデータの数をそれぞれ管理し、
有効な前記キー・バリューデータが存在しなくなった前記ファイルについては、当該ファイルを削除するよう前記ファイル管理部に要求する
ことを特徴とするデータ管理装置。
【請求項２】
前記ファイル管理部は、
保存対象の前記キー・バリューデータを、全体として前記ＳＳＤにおけるデータの書込み単位であるページのサイズの直近の整数倍となるようにパディングデータを付加して前記ファイルに書き込む
ことを特徴とする請求項１に記載のデータ管理装置。
【請求項３】
前記データ管理部は、
前記ファイル内の有効な前記キー・バリューデータのデータ量が予め設定された閾値よりも小さい場合に、当該ファイル内の有効な前記キー・バリューデータをすべて他の前記ファイルにコピーするよう前記ファイル管理部に要求すると共に、コピー元の前記ファイルにおける他の前記ファイルにコピーした各前記キー・バリューデータをすべて無効化する
ことを特徴とする請求項２に記載のデータ管理装置。
【請求項４】
前記データ管理部は、
削除対象の前記ファイル内の有効な前記キー・バリューデータを他の前記ファイルにコピーする際、各前記キー・バリューデータから前記パディングデータをそれぞれ削除するよう前記ファイル管理部に要求する
ことを特徴とする請求項３に記載のデータ管理装置。
【請求項５】
前記データ管理部は、
前記ファイルの作成を前記ファイル管理部に要求する際、前記ＳＳＤ内の連続した記憶領域を確保するよう前記ファイル管理部に要求する
ことを特徴とする請求項１に記載のデータ管理装置。
【請求項６】
前記ＳＳＤに書き込む前記キー・バリューデータを一時的に記憶するメモリを備え、
前記データ管理部は、
前記ファイル内の有効な前記キー・バリューデータを他の前記ファイルにコピーする際、前記メモリに記憶されている前記キー・バリューデータについては、当該キー・バリューデータを前記メモリから読み出してコピー先の他の前記ファイルに書き込むよう前記ファイル管理部に要求する
ことを特徴とする請求項３に記載のデータ管理装置。
【請求項７】
保存対象のデータであるバリューと、当該バリューに固有のキーとからなるキー・バリューデータをＳＳＤ（Solid  State  Drive）に保存するデータ管理装置によるデータ管理方法において、
前記データ管理装置は、
前記ＳＳＤに保存した前記キー・バリューデータを管理するデータ管理部と、
前記データ管理部からの要求に応じて前記ＳＳＤの記憶領域上に所定サイズのファイルを適宜作成し、作成した前記ファイルを管理するファイル管理部と
を有し、
前記ファイルは、
前記ＳＳＤにおけるデータの消去単位であるブロックの整数倍のファイルサイズを有し、
前記データ管理部が、保存対象の前記キー・バリューデータを前記ファイルに追記的に書き込むよう前記ファイル管理部に要求すると共に、前記ファイルにおける更新された前記キー・バリューデータの更新前のデータ及び削除された前記キー・バリューデータを無効化して、各前記ファイルにおける有効な前記キー・バリューデータの数をそれぞれ管理する第１のステップと、
前記データ管理部が、有効な前記キー・バリューデータが存在しなくなった前記ファイルについては、当該ファイルを削除するよう前記ファイル管理部に要求する第２のステップと
ことを特徴とするデータ管理方法。
【請求項８】
前記第１のステップにおいて、
前記ファイル管理部は、保存対象の前記キー・バリューデータを、全体として前記ＳＳＤにおけるデータの書込み単位であるページのサイズの直近の整数倍となるようにパディングデータを付加して前記ファイルに書き込む
ことを特徴とする請求項７に記載のデータ管理方法。
【請求項９】
前記第２のステップにおいて、データ管理部は、
前記ファイル内の有効な前記キー・バリューデータのデータ量が予め設定された閾値よりも小さい場合に、当該ファイル内の有効な前記キー・バリューデータをすべて他の前記ファイルにコピーするよう前記ファイル管理部に要求すると共に、コピー元の前記ファイルにおける他の前記ファイルにコピーした各前記キー・バリューデータをすべて無効化する
ことを特徴とする請求項８に記載のデータ管理方法。
【請求項１０】
前記第２のステップにおいて、前記データ管理部は、
削除対象の前記ファイル内の有効な前記キー・バリューデータを他の前記ファイルにコピーする際、各前記キー・バリューデータから前記パディングデータをそれぞれ削除するよう前記ファイル管理部に要求する
ことを特徴とする請求項９に記載のデータ管理方法。
【請求項１１】
前記第１のステップにおいて、前記データ管理部は、
前記ファイルの作成を前記ファイル管理部に要求する際、前記ＳＳＤ内の連続した前記記憶領域を確保するよう前記ファイル管理部に指示を与える
ことを特徴とする請求項７に記載のデータ管理方法。
【請求項１２】
前記データ管理装置は、
前記ＳＳＤに書き込む前記キー・バリューデータを一時的に記憶するメモリを備え、
前記第２のステップにおいて、前記データ管理部は、
前記ファイル内の有効な前記キー・バリューデータを他の前記ファイルにコピーする際、前記メモリに記憶されている前記キー・バリューデータについては、当該キー・バリューデータを前記メモリから読み出してコピー先の他の前記ファイルに書き込むよう前記ファイル管理部に要求する
ことを特徴とする請求項９に記載のデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理装置及び方法に関し、特にＫＶＳ（Key-Value  Store）方式によりデータをＳＳＤ（Solid  State  Drive）に格納して管理するデータ管理装置に適用して好適なものである。
【背景技術】
【０００２】
近年、記憶装置としてＳＳＤが広く用いられるようになってきた。ＳＳＤは、フラッシュメモリ等の半導体メモリを記憶媒体として利用した記憶装置であり、ハードディスク装置と比べてアクセス性能及び省電力性に優れ、かつ振動及び衝撃に強いという利点がある。【０００３】
ＳＳＤでは、記憶領域が所定サイズ（例えば２〔MB〕）のブロックと呼ばれる単位領域に分けて管理される。この場合、ＳＳＤへのデータの書き込みは、ブロックよりもサイズが小さい（例えば４〔kB〕）ページと呼ばれる単位で行われるが、書き込まれたデータの消去はブロック単位でしか行うことができない。【０００４】
このためＳＳＤでは、あるブロックに書き込まれたデータの更新又は消去を、そのブロックのデータを一旦他のブロックに移動させ、移動元のブロックに格納されているデータをすべて消去する、いわゆるガベージコレクションと呼ばれる処理により行っている。【０００５】
一方、近年、データの保存・管理方式の１つとして、ＫＶＳと呼ばれる方式が注目されている。ＫＶＳは、保存対象のデータ（値：value）に対してキー（Key）と呼ばれる固有の文字列や数値を付加し、データをそのキーとセットで保存する方式であり、対応するキーを指定することで所望するデータを記憶装置から読み出すことができる。なお、以下においては、保存対象のデータをValue（バリュー）、キーをKey、ValueにKeyが付加されたデータをKey-Value（キー・バリュー）データと呼ぶものとする。【０００６】
下記特許文献１には、ＳＳＤ向けのＫＶＳによるデータ管理方式として、ログ構造の追記式でデータをＳＳＤに格納する方式が開示されている。このデータ管理方式によれば、ＳＳＤの特性であるランダムアクセスによる性能の低下を軽減できるという利点がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許公開第２０１２／０２６５９２４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところが、かかる特許文献１に開示されたデータ管理方式によると、ＳＳＤに対するデータの書き込みを続け、書込み処理がＳＳＤの記憶領域を周回し、既にデータが格納されているブロックにデータを書き込む必要が生じた場合に上述のガベージコレクションが発生し、その分書込み性能が低下するという問題があった。【０００９】
一方、ＫＶＳ機能が搭載されたサーバ装置の中には、Key-Valueデータを一時的にサーバ装置内のメモリ上に保持し、メモリに保持したKey-Valueデータを所定のタイミングでハードディスク装置やＳＳＤ等の記憶装置に書き込む構成のものがある。【００１０】
このようなサーバ装置では、装置がダウンした場合に、メモリに保持しているKey-Valueデータのうちの未だ記憶装置に書き込んでいないKey-Valueデータをロストするおそれがあるため、当該Key-Valueデータをメモリへの書き込みと同期して記憶装置に書き込むなどしてデータのロストを防止する必要がある。【００１１】
従って、かかるサーバ装置における記憶装置としてＳＳＤを適用するに際しては、上述のようなガベージコレクションに起因するＳＳＤのデータ書込み特性の低下の発生をできる限り低減し得る工夫が必要となる。【００１２】
本発明は以上の点を考慮してなされたもので、ガベージコレクションの発生を低減し、ＳＳＤへのデータ書込み性能の低下を防止するデータ管理装置及び方法を提案しようとするものである。
【課題を解決するための手段】
【００１３】
かかる課題を解決するため本発明においては、保存対象のデータであるバリューと、当該バリューに固有のキーとからなるキー・バリューデータをＳＳＤ（Solid  State  Drive）に保存するデータ管理装置において、前記ＳＳＤに保存した前記キー・バリューデータを管理するデータ管理部と、前記データ管理部からの要求に応じて前記ＳＳＤの記憶領域上に所定サイズのファイルを適宜作成し、作成した前記ファイルを管理するファイル管理部とを設け、前記ファイルは、前記ＳＳＤにおけるデータの消去単位であるブロックの整数倍のファイルサイズを有し、前記データ管理部が、保存対象の前記キー・バリューデータを前記ファイルに追記的に書き込むよう前記ファイル管理部に要求すると共に、前記ファイルにおける更新された前記キー・バリューデータの更新前のデータ及び削除された前記キー・バリューデータを無効化して、各前記ファイルにおける有効な前記キー・バリューデータの数をそれぞれ管理し、有効な前記キー・バリューデータが存在しなくなった前記ファイルについては、当該ファイルを削除するよう前記ファイル管理部に要求するようにした。【００１４】
また本発明においては、保存対象のデータであるバリューと、当該バリューに固有のキーとからなるキー・バリューデータをＳＳＤ（Solid  State  Drive）に保存するデータ管理方法において、前記データ管理装置は、前記ＳＳＤに保存した前記キー・バリューデータを管理するデータ管理部と、前記データ管理部からの要求に応じて前記ＳＳＤの記憶領域上に所定サイズのファイルを適宜作成し、作成した前記ファイルを管理するファイル管理部とを有し、前記ファイルは、前記ＳＳＤにおけるデータの消去単位であるブロックの整数倍のファイルサイズを有し、前記データ管理部が、保存対象の前記キー・バリューデータを前記ファイルに追記的に書き込むよう前記ファイル管理部に要求すると共に、前記ファイルにおける更新された前記キー・バリューデータの更新前のデータ及び削除された前記キー・バリューデータを無効化して、各前記ファイルにおける有効な前記キー・バリューデータの数をそれぞれ管理する第１のステップと、前記データ管理部が、有効な前記キー・バリューデータが存在しなくなった前記ファイルについては、当該ファイルを削除するよう前記ファイル管理部に要求する第２のステップとを設けるようにした。【００１５】
かかるデータ管理装置及びデータ管理方法によれば、ファイルがＳＳＤのブロックの整数倍のファイルサイズを有するため、有効なキー・バリューデータが存在しなくなったファイルを削除する際に、ＳＳＤにおいてガベージコレクションが発生しない。また本データ管理装置及びデータ管理方法によれば、有効なキー・バリューデータが存在しなくなったファイルが逐次削除されるためキー・バリューデータの書き込みがＳＳＤの記憶領域を周回することに起因するガベージコレクションの発生を低減させることができる。
【発明の効果】
【００１６】
本発明によれば、ＳＳＤにおけるガベージコレクションの発生を極力抑えることができ、かくしてガベージコレクションの発生を低減し、ＳＳＤへのデータ書込み性能の低下を防止するデータ管理装置及び方法を実現できる。
【図面の簡単な説明】
【００１７】
【図１】第１〜第５の実施の形態によるデータ管理装置のハードウェア構成を示すブロック図である。
【図２】第１〜第５の実施の形態によるデータ管理装置のＫＶＳ機能に関する論理構成を示すブロック図である。
【図３】Key-Value管理テーブル及びファイル管理テーブルの構成と、ＳＳＤに格納されるKey-Valueデータのデータフォーマットとを示す概念図である。
【図４】第１の実施の形態によるデータ書込み処理の処理手順を示すフローチャートである。
【図５】第２の実施の形態によるKey-Value管理テーブルの構成を示す概念図である。
【図６】第２の実施の形態によるファイル管理テーブルの構成を示す概念図である。
【図７】第２〜第５の実施の形態によるデータ書込み処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下図面について、本発明の一実施の形態を詳述する。
【００１９】
（１）第１の実施の形態
（１−１）本実施の形態によるデータ管理装置の構成
図１において、１は全体として本実施の形態によるデータ管理装置を示す。このデータ管理装置１は、パーソナルコンピュータや、ワークステーション又はメインフレームなどから構成されるコンピュータ装置であり、内部バス２を介して相互に接続されたＣＰＵ（Central  Processing  Unit）３、メモリ４、ＳＳＤ５、通信制御部６、入力装置７及び表示装置８を備えて構成される。
【００２０】
ＣＰＵ３は、データ管理装置１全体の動作制御を司るプロセッサである。またメモリ４は、主記憶装置として用いられる半導体メモリであり、ＣＰＵ３のワークメモリとして利用されるほか、ＳＳＤ５に読書きするKey-Valueデータを一時的に記憶するキャッシュメモリとしても用いられる。
【００２１】
ＳＳＤ５は、フラッシュメモリ等の不揮発性の半導体メモリからなる二次記憶装置であり、各種プログラム及び各種データを長期的に保存するために利用される。通信制御部６は、例えばＮＩＣ（Network  Interface  Card）から構成され、外部機器との通信時におけるプロトコル制御を行う。
【００２２】
入力装置７は、例えばキーボード及びマウスなどから構成され、ユーザがデータ管理装置１に対する各種の操作入力を行う際に利用される。また表示装置８は、液晶ディスプレイなどから構成され、各種画面や各種情報を表示するために利用される。
【００２３】
図２は、本データ管理装置１に搭載されたＫＶＳ機能に関するデータ管理装置１の論理構成を示す。この図２から明らかなように、データ管理装置１は、機能としてＫＶＳ１０及びファイルシステム１１を備えて構成される。
【００２４】
ＫＶＳ１０は、ＣＰＵ３がメモリ４に格納された図示しないＫＶＳプログラムを実行することにより具現化される機能である。ＫＶＳ１０は、ＳＳＤ５に保存したKey-ValueデータＤＡを管理する機能を有するデータ管理部１２を備える。データ管理部１２は、入力装置７を介して入力されたユーザからの書込み要求に応じて、要求されたKey-ValueデータＤＡのＳＳＤ５への書き込みをファイルシステム１１に要求すると共に、ＳＳＤ５における当該Key-Valueデータの保存場所を管理する。またデータ管理部１２は、ユーザからのKeyを指定したValueの読出し要求に応じて、指定されたKeyに対応するValueのＳＳＤ５上の保存場所を特定し、当該ValueのＳＳＤ５からの読み出しをファイルシステム１１に要求する。
【００２５】
ファイルシステム１１は、ＣＰＵ３がメモリ４に格納された図示しないファイルシステムプログラムを実行することにより具現化される機能であり、ファイル管理部１４を備える。ファイル管理部１４は、ＫＶＳ１０のデータ管理部１２からの要求に応じてＳＳＤ５の記憶領域１５上に所定サイズのファイルを適宜作成し、作成したファイルを管理する。そしてファイル管理部１４は、データ管理部１２からの要求に応じて、要求されたKey-ValueデータＤＡをファイルＦＬに書き込むようにしてＳＳＤ５に保存する。
【００２６】
ＳＳＤ５は、フラッシュメモリ等の半導体メモリが提供する記憶領域１５と、記憶領域１５に対するデータの読み書きを制御するコントローラ１６とから構成される。記憶領域１５は、コントローラ１６により、所定サイズの複数のブロックＢＬに分けて管理されると共に、各ブロックＢＬはさらに複数のページＰＧに分割されて管理される。上述のようにＳＳＤ５に対するデータの書き込みはページＰＧ単位で行われ、ＳＳＤ５からのデータの消去はブロックＢＬ単位で行われる。
【００２７】
（１−２）本実施の形態のデータ管理方式
次に、本実施の形態のデータ管理装置１におけるデータ管理方式について説明する。本データ管理装置１は、ＳＳＤ５の記憶領域１５上に当該ＳＳＤ５のブロックＢＬの整数倍のファイルサイズを有するファイルＦＬを作成し、保存対象のKey-ValueデータＤＡを追記的にこのファイルＦＬに書き込むと共に、各ファイルＦＬにおける有効なKey-ValueデータＤＡの数を管理し、当該有効なKey-ValueデータＤＡが存在しなくなったファイルＦＬについては逐次削除する点を特徴の１つとしている。
【００２８】
実際上、本データ管理装置１の場合、ＫＶＳ１０のデータ管理部１２は、初期時、ファイルシステム１１に対してKey-ValueデータＤＡを書き込むためのファイルＦＬの作成を要求する一方、この後、ユーザからの書込み要求があったKey-ValueデータＤＡについては、そのファイルＦＬに追記的に書き込むようファイルシステム１１のファイル管理部１４に要求する。
【００２９】
またデータ管理部１２は、かかるファイルＦＬに新たなKey-ValueデータＤＡを追記できなくなった場合には、Key-ValueデータＤＡを書き込むための新たなファイルＦＬの作成をファイル管理部１４に要求する一方、この後、ユーザからの書込み要求があったKey-ValueデータＤＡについては、その新たなファイルＦＬに追記的に書き込むようファイル管理部１４に要求する。そしてデータ管理部１２は、これ以降、同様の処理を繰り返す。
【００３０】
この際、データ管理部１２は、更新されたKey-ValueデータＤＡの更新前のデータや削除されたKey-ValueデータＤＡについては無効化されたデータとして、無効化されていないKey-ValueデータＤＡ（有効なKey-ValueデータＤＡ）については、どのファイルＦＬのどの位置に格納されているかをメモリ４（図１）上に作成したデータ管理テーブル１３を用いて管理する。
【００３１】
またデータ管理部１２は、各ファイルＦＬに格納されている有効なKeyの数（有効なKey-ValueデータＤＡの数）及び各ファイルＦＬの空き容量についても、かかるデータ管理テーブル１３を用いて管理する。この場合において、データ管理部１２は、新たなファイルＦＬの作成をファイル管理部１４に要求した場合、それまでKey-ValueデータＤＡの書き込みに利用していたファイルＦＬについては、その空き容量を「０」として管理する。
【００３２】
そしてデータ管理部１２は、空き容量が「０」のファイル（つまり新たなKey-ValueデータＤＡの書込み先としては使用されなくなったファイル）ＦＬであって、格納されたすべてのKey-ValueデータＤＡが更新又は削除等により無効化されたファイルＦＬ（つまり有効なKey-Valueデータの数が「０」となったファイルＦＬ）については、そのファイルＦＬの削除をファイルシステムのファイル管理部１４に要求する。
【００３３】
この場合において、本データ管理装置１では、上述のようにかかるファイルＦＬのサイズはＳＳＤ５のブロックＢＬの整数倍に選定されているため、ファイルシステム１１のファイル管理部１４がＳＳＤ５からファイルＦＬを削除する際もＳＳＤ５においてガベージコレクションは発生しない。また本データ管理装置１では、上述のように有効なKey-Valueデータが存在しなくなったファイルＦＬを逐次削除するため、Key-ValueデータＤＡの書き込みがＳＳＤ５の記憶領域１５を周回することに起因するガベージコレクションの発生を低減させることができる。従って、本データ管理装置１によれば、ＳＳＤ５におけるガベージコレクションの発生を極力抑えることができる。
【００３４】
図３は、上述したデータ管理テーブル１３の構成と、ＳＳＤ５に格納されたKey-ValueデータＤＡのデータフォーマットとを示す。この図３の上段に示すように、データ管理テーブル１３は、Key-Value管理テーブル２０及びファイル管理テーブル２１から構成される。
【００３５】
Key-Value管理テーブル２０は、Key及びValueの関係を管理するために利用されるテーブルであり、図３に示すように、Key欄２０Ａ、ファイル名欄２０Ｂ及びオフセット欄２０Ｃから構成される。
【００３６】
そしてKey欄２０Ａには、ＳＳＤ５に書き込まれた各Key-ValueデータＤＡにそれぞれ付与されたKeyがそれぞれ格納され、ファイル名欄２０Ｂには、対応するKeyが関連付けられたValueが書き込まれたファイルＦＬのファイル名が格納される。またオフセット欄２０Ｃには、対応するKeyが関連付けられたValueの対応するファイルＦＬの先頭からのオフセット量（例えばキロバイト単位）が格納される。
【００３７】
従って、図３の場合、「Key1」というKeyが付与されたKey-ValueデータＤＡは「File1」というファイルＦＬの先頭から「128」の位置に格納されており、「Key2」というKeyが付与されたKey-ValueデータＤＡは「File2」というファイルＦＬの先頭から「16」の位置に格納されていることが示されている。
【００３８】
またファイル管理テーブル２１は、ＳＳＤ５に格納された各ファイルＦＬに格納されているKeyの数（正確にはKey-ValueデータＤＡの数）と、各ファイルＦＬの空き容量とを管理するために利用されるテーブルであり、ファイル名欄２１Ａ、Key数欄２１Ｂ及び空き容量欄２１Ｃから構成される。
【００３９】
そしてファイル名欄２１Ａには、ＳＳＤ５上に作成された各ファイルＦＬのファイル名がそれぞれ格納され、Key数欄２１Ｂには、対応するファイルＦＬに格納されている有効なKeyの数（正確には有効なKey-ValueデータＤＡの数）が格納される。また空き容量欄２１Ｃには、対応するファイルＦＬの現在の空き容量（例えばメガバイト単位）が格納される。
【００４０】
従って、図３の場合、「File1」というファイルＦＬについては、有効なKey数（有効なKey-ValueデータＤＡの数）が「１」、空き容量が「０」であり、「File2」というファイルＦＬについては、有効なKey数が「２」、空き容量が「32」であることが示されている。
【００４１】
一方、図３の下段に示すように、Key-ValueデータＤＡは、ＳＳＤ５の記憶領域１５（図２）においてページＰＧ、ひいてはブロックＢＬを跨がないようにするため、必要に応じてパディングデータＰＤが付加されてファイルＦＬに格納される。従って、パディングデータＰＤのデータサイズは、当該パディングデータＰＤを付加したKey-ValueデータＤＡのデータサイズが全体としてＳＳＤ５におけるページＰＧのサイズ（ページサイズ）の直近の整数倍となるように選定される。
【００４２】
例えばKey-ValueデータＤＡのデータサイズがページサイズの0.8倍の場合、そのKey-ValueデータＤＡにはページサイズの0.2倍のデータ量を有するパディングデータＰＤが付加され、Key-ValueデータＤＡのデータサイズがページサイズの2.3倍の場合、そのKey-ValueデータＤＡにはページサイズの0.7倍のデータ量を有するパディングデータＰＤが付加される。
【００４３】
なお図３は、ファイル管理テーブル２１の最上段のエントリ（行）と対応する「File1」というファイルＦＬには、「Key1」というKey及び「Value1」というValueデータからなるKey-ValueデータＤＡの更新前のデータと、「Key2」というKey及び「Value2」というValueデータからなるKey-ValueデータＤＡの更新前のデータと、「Key1」というKey及び「Value1」というValueデータからなるKey-ValueデータＤＡの更新後のデータとが格納されていることを示している場合の一例である。
【００４４】
また図３では、ファイル管理テーブル２１の２段目のエントリと対応する「File2」というファイルＦＬには、「Key3」というKey及び「Value3」というValueデータからなるKey-ValueデータＤＡと、「Key2」というKey及び「Value2」というValueデータからなるKey-ValueデータＤＡの更新後のデータとが格納されていたが、「Value2」というKey-ValueデータＤＡがその後削除（「Deleted」）されたことが示されている。
【００４５】
図４は、Key-ValueデータＤＡをＳＳＤ５上のファイルＦＬに書き込む際にＫＶＳ１０のデータ管理部１２により実行されるデータ書込み処理の処理手順を示す。データ管理部１２は、この図４に示す処理手順に従って、要求されたKey-ValueデータＤＡをＳＳＤ５上の対応するファイルＦＬに書き込むようファイルシステム１１のファイル管理部１４に指示を与える。
【００４６】
実際上、データ管理部１２は、ユーザからデータ書込み要求及び保存対象のKey-ValueデータＤＡが与えられると、このデータ書込み処理を開始し、まず、ファイル管理テーブル２１（図３）を参照して、現在、Key-ValueデータＤＡの書込みに使用しているファイル（以下、適宜、これをデータ書込み先ファイルと呼ぶ）ＦＬに、保存対象のKey-ValueデータＤＡを書き込むだけの空き容量があるかを判断する（ＳＰ１）。
【００４７】
そしてデータ管理部１２は、この判断で肯定結果を得るとステップＳＰ３に進む。これに対してデータ管理部１２は、ステップＳＰ１の判断で否定結果を得ると、ファイル管理テーブル２１における現在のデータ書込み先ファイルＦＬの空き容量を「０」に変更すると共に、新たなデータ書込み先ファイルＦＬの作成をファイルシステム１１のファイル管理部１４に要求する（ＳＰ２）。
【００４８】
かくしてファイル管理部１４は、この要求に応じて、ＳＳＤ５におけるブロックサイズの整数倍の所定サイズを有するファイルＦＬをＳＳＤ５上に作成する。そしてファイル管理部１４は、この後、次のデータ書込み先ファイルＦＬを作成するまで、このとき作成したファイルＦＬを新たなデータ書込み先ファイルＦＬとして取り扱う。
【００４９】
続いて、データ管理部１２は、保存対象のKey-ValueデータＤＡ及びそのデータ書込み要求をファイルシステム１１のファイル管理部１４に送信する（ＳＰ３）。かくして、ファイル管理部１４は、データ管理部１２から与えられたKey-ValueデータＤＡに対して合計データ量がＳＳＤ５のページサイズの直近の整数倍となるようにパディングデータＰＤを付加した後、このKey-ValueデータＤＡ及びその書込み要求をＳＳＤ１６のコントローラ１６に与えることにより、当該Key-ValueデータＤＡをデータ書込み先ファイルＦＬに書き込ませる。
【００５０】
次いで、データ管理部１２は、ファイル管理テーブル２１におけるデータ書込み先ファイルＦＬに対応するエントリのKey数欄２１Ｂ及び空き容量欄２１Ｃを更新する（ＳＰ４）。具体的に、データ管理部１２は、かかるエントリのKey数欄２１Ｂに格納されているKey数を「１」増加させると共に、空き容量欄２１Ｃに格納されている空き容量を、そのときデータ書込み先ファイルＦＬに書き込んだKey-ValueデータＤＡを差し引いた値に更新する。
【００５１】
この後、データ管理部１２は、ステップＳＰ３においてデータ書込み先ファイルＦＬに書き込ませたKey-ValueデータＤＡがＫＶＳ１０において新規に追加されたものであるか否かを判断する（ＳＰ５）。そしてデータ管理部１２は、この判断で肯定結果を得るとステップＳＰ９に進む。
【００５２】
これに対して、ステップＳＰ５の判断で否定結果を得ることは、かかるKey-ValueデータＤＡの書き込みが既に書き込まれたKey-ValueデータＤＡの更新であることを意味する。かくして、このときデータ管理部１２は、かかるKey-ValueデータＤＡにおける更新前のKey-ValueデータＤＡを無効にするため、Key-Value管理テーブル２０における対応するエントリを参照して、ファイル管理テーブル２１における更新前のKey-ValueデータＤＡが格納されているファイル（以下、これを更新前データ格納ファイルと呼ぶ）ＦＬと対応するエントリのKey数欄２１Ｂに格納されているKey数を「１」だけ減少させる。
【００５３】
続いて、データ管理部１２は、ファイル管理テーブル２１を参照して、ステップＳＰ６の処理の結果、更新前データ格納ファイルＦＬ内の有効なKeyの数（有効なKey-ValueデータＤＡの数）が「０」となり、かつ当該ファイルＦＬの空き容量が「０」であるか否かを判断する（ＳＰ７）。そしてデータ管理部１２は、この判断で否定結果を得るとステップＳＰ９に進む。
【００５４】
これに対して、データ管理部１２は、ステップＳＰ７の判断で肯定結果を得ると、ファイルシステム１１に対してかかる更新前データ格納ファイルＦＬの削除を要求する（ＳＰ８）。
【００５５】
かくして、この要求を受信したファイルシステム１１のファイル管理部１４は、ＳＳＤ５のコントローラ１６（図２）に対して既存のＴＲＭＩコマンドを送信することにより、その更新前データ格納ファイルＦＬに含まれるすべてのページを無効化するよう指示を与える。また、このＴＲＭＩコマンドを受信したＳＳＤ５のコントローラ１６は、ＳＳＤ５における対応するページに格納されたKey-Valueデータを消去する。これにより、上述の更新前データ格納ファイルＦＬがＳＳＤ５から削除される。
【００５６】
次いで、データ管理部１２は、Key-Value管理テーブル２０の内容を更新する（ＳＰ９）。具体的に、データ管理部１２は、保存対象のKey-ValueデータＤＡが新規にＳＳＤ５に格納された場合には、Key-Value管理テーブル２０にそのKey-ValueデータＤＡを登録する。またデータ管理部１２は、そのKey-ValueデータＤＡの書き込みが、既にＳＳＤ５に格納されているKey-ValueデータＤＡの更新等であった場合には、Key-Value管理テーブル２０のエントリのうち、そのKey-ValueデータＤＡに対応するエントリのファイル名欄２０Ｂ（図３）に格納されているファイル名や、オフセット欄２０Ｃ（図３）に格納されているオフセット量を必要に応じて更新する。そしてデータ管理部１２は、この後、このデータ書込み処理を終了する。
【００５７】
（１−３）本実施の形態の効果
以上のように本実施の形態のデータ管理装置１では、ＳＳＤ５の記憶領域１５上にブロックの整数倍のファイルサイズを有するファイルＦＬを作成し、当該ファイルＦＬに保存対象のKey-ValueデータＤＡを追記的に書き込む一方、各ファイルＦＬにおける有効なKeyの数（有効なKey-ValueデータＤＡの数）を管理し、有効なKeyの数が「０」となったファイルＦＬについては逐次削除するため、ＳＳＤ５におけるガベージコレクションの発生を極力抑えることができる。かくするにつき、本データ管理装置１によれば、ガベージコレクションの発生を低減し、ＳＳＤ５へのデータ書込み性能の低下を防止することができる。
【００５８】
（２）第２の実施の形態
上述した第１の実施の形態によるデータ管理装置１では、上述のようにデータ書込み先ファイルＦＬに追記的にKey-ValueデータＤＡを書き込み、ガベージコレクションの発生を抑制するため、更新又は削除により無効化されたKey-ValueデータＤＡについても、そのKey-ValueデータＤＡ単独での更新前データ格納ファイルＦＬからの削除は行わない。このため、第１の実施の形態によるデータ管理装置１では、無効化されたKey-ValueデータＤＡを多く含んだファイルＦＬがＳＳＤ５内に存在する可能性があり、ＳＳＤ５の利用効率が低くなるおそれがあるという課題がある。
【００５９】
そこで、本実施の形態のデータ管理装置３０では、ＳＳＤ５に格納されているKey-ValueデータＤＡが更新された場合、当該Key-ValueデータＤＡの更新前のデータが書き込まれている更新前データ格納ファイルＦＬにおける有効なKey-ValueデータＤＡの合計データ量が予め定められた閾値（例えばファイルサイズの50〔％〕）よりも小さくなったときには、その更新前データ格納ファイルＦＬにおける有効なKey-ValueデータＤＡをすべてデータ書込み先ファイルＦＬにコピーした後に、そのファイルＦＬをＳＳＤ５から削除する。
【００６０】
図５は、このようなデータ管理装置３０において、図３について上述した第１の実施の形態のKey-Value管理テーブル２０に代えて利用される本実施の形態のKey-Value管理テーブル３１を示す。このKey-Value管理テーブル３１は、Key欄３１Ａ、ファイル名欄３１Ｂ、オフセット欄３１Ｃ及びデータサイズ欄３１Ｄから構成される。
【００６１】
そしてKey欄３１Ａ、ファイル名欄３１Ｂ及びオフセット欄３１Ｃには、それぞれ第１の実施の形態のKey-Value管理テーブル２０のKey欄２０Ａ、ファイル名欄２０Ｂ及びオフセット欄２０Ｃと同様の情報が格納される。またデータサイズ欄３１Ｄには、対応するKey-ValueデータＤＡのパディングデータＰＤ（図３）を含むデータサイズが格納される。
【００６２】
また図６は、図３について上述した第１の実施の形態のファイル管理テーブル２１に代えて適用される本実施の形態のファイル管理テーブル３２を示す。このファイル管理テーブル３２は、ファイル名欄３２Ａ、Key数欄３２Ｂ、空き容量欄３２Ｃ及び合計有効データ量欄３２Ｄから構成される。
【００６３】
そして、ファイル名欄３２Ａ、Key数欄３２Ｂ、空き容量欄３２Ｃには、それぞれ第１の実施の形態のファイル管理テーブル２１のファイル名欄２１Ａ、Key数欄２１Ｂ及び空き容量欄２１Ｃと同様の情報が格納される。また合計有効データ量欄３２Ｄには、対応するファイルＦＬ内の有効なKey-Valueデータ（パディングデータＰＤを含む）ＤＡの合計データ量（以下、これを合計有効データ量と呼ぶ）が格納される。
【００６４】
図７は、Key-ValueデータＤＡをＳＳＤ５上のファイルＦＬに書き込む際に本実施の形態のＫＶＳ３３（図２）のデータ管理部３４（図２）により実行される本実施の形態のデータ書込み処理手順を示す。本実施の形態のデータ書込み処理は、ステップＳＰ１３における処理が異なる点と、ステップＳＰ１６〜ステップＳＰ１９の処理が付け加えられている点を除いて第１の実施の形態のデータ書込み処理と同様に行われる。
【００６５】
実際上、データ管理部３４は、ユーザからのデータ書込み要求及び保存対象のKey-Valueデータが与えられると、このデータ書込み処理を開始し、ステップＳＰ１０〜ステップＳＰ１２を図４のステップＳＰ１〜ステップＳＰ３と同様に処理する。
【００６６】
続いて、データ管理部３４は、ファイル管理テーブル３２におけるデータ書込み先ファイルＦＬと対応するエントリのファイル名欄３２Ａ、Key数欄３２Ｂ、空き容量欄３２Ｃ及び合計有効データ量欄３２Ｄをそれぞれ更新する（ＳＰ１３）。
【００６７】
次いで、データ管理部３４は、かかるKey-ValueデータＤＡがＫＶＳ３３において新規に追加されたものであるか否かを判断する（ＳＰ１４）。この判断は、保存対象のKey-ValueデータＤＡのKeyがKey-Value管理テーブル３１に未だ登録されていないか否かを判断することにより行われる。そしてデータ管理部３４は、この判断で肯定結果を得るとステップＳＰ２２に進む。
【００６８】
これに対して、データ管理部３４は、ステップＳＰ１４の判断で否定結果を得ると、かかるKey-ValueデータＤＡの更新前のデータを無効にするため、Key-Value管理テーブル３１における保存対象のKey-ValueデータＤＡのKeyと同じKeyがKey欄３１Ａに格納されているエントリのファイル名欄３１Ｂを参照して、そのKey-ValueデータＤＡの更新前のデータが格納されているファイル（更新前データ格納ファイル）ＦＬを特定し、ファイル管理テーブル３２における更新前データ格納ファイルＦＬと対応するエントリのKey数欄３２Ｂに格納されているKey数を「１」だけ減少させる。さらに、前述のKey-Value管理テーブル３１の同エントリのデータサイズ欄３１Ｄを参照して、そのKey-ValueデータＤＡの更新前のデータサイズを特定し、前述のファイル管理テーブル３２の同エントリの有効データ量欄３２Ｄを更新前のデータサイズだけ減少させる。
【００６９】
次いで、データ管理部３４は、かかる更新前データ格納ファイルＦＬにおける有効なKey-ValueデータＤＡの合計有効データ量をファイル管理テーブル３２から読み出し、読み出した合計有効データ量と、予め設定されている閾値とを比較する（ＳＰ１６）。そしてデータ管理部３４は、この比較結果に基づいて、かかる合計有効データ量が閾値よりも小さいか否かを判断する（ＳＰ１７）。
【００７０】
データ管理部３４は、この判断で否定結果を得るとステップＳＰ２２に進む。これに対して、データ管理部３４は、ステップＳＰ１７の判断で肯定結果を得ると、かかる更新前データ格納ファイルＦＬにおける有効なKey-ValueデータＤＡをデータ書込み先ファイルＦＬにコピーするようファイルシステム１１のファイル管理部１４に指示を与える（ＳＰ１８）。かくしてファイル管理部１４は、この指示に従って、かかる更新前データ格納ファイルＦＬから有効なKey-ValueデータＤＡをすべてデータ書込み先ファイルＦＬにコピーする。
【００７１】
またデータ管理部３４は、ステップＳＰ１８において行われたデータコピーの内容に応じてKey-Value管理テーブル３１及びファイル管理テーブル３２をそれぞれ更新する（ＳＰ１９）。この結果、ファイル管理テーブル３２における更新前データ格納ファイルＦＬと対応するエントリのKey数欄４２Ｂに格納されている有効なKey数（Key-Valueデータ数）が「０」に更新されることになる。
【００７２】
この後、データ管理部３４は、ファイル管理テーブル２１を参照して、ステップＳＰ１９の処理の結果、更新前データ格納ファイルＦＬのKey数（Key-Valueデータ数）が「０」となり、かつ当該更新前データ格納ファイルＦＬの空き容量が「０」であるか否かを判断する（ＳＰ２０）。なお、データ管理部３４は、この判断では常に肯定結果を得ることになる。
【００７３】
かくしてデータ管理部３４は、この後、ステップＳＰ２１及びステップＳＰ２２を図４のデータ書込み処理のステップＳＰ８及びステップＳＰ９と同様に処理する。ただしデータ管理部３４は、ステップＳＰ２２において、ステップＳＰ９の処理に加えて、Key-Value管理テーブル３１のデータサイズ欄３１も更新する。そしてデータ管理部３４は、この後、このデータ書込み処理を終了する。
【００７４】
以上の本実施の形態のデータ管理装置３０によれば、格納されたKey-ValueデータＤＡの更新等により合計有効データ量が閾値未満となったファイルＦＬをその都度削除することができる。かくするにつき、本データ管理装置３０によれば、第１の実施の形態のデータ管理装置１により得られる効果に加えて、ＳＳＤ５の利用効率を向上できるという効果をも得ることができる。
【００７５】
（３）第３の実施の形態
上述の第１及び第２の実施の形態によるデータ管理装置３０では、Key-ValueデータＤＡをＳＳＤ５に書き込む際、Key-ValueデータＤＡがページを跨がないようにするため、合計サイズがページサイズの整数倍となるようにKey-ValueデータＤＡにパディングデータＰＤ（図３）を付加している。このため、かかるデータ管理装置３０によると、かかるパディングデータＰＤの分だけＳＳＤ５の利用効率が低下することになる。
【００７６】
そこで本実施の形態のデータ管理装置４０（図２）では、図７について上述した第２の実施の形態によるデータ書込み処理のステップＳＰ１８において、ＫＶＳ４１（図２）のデータ管理部４２（図２）が、更新前データ格納ファイルＦＬに書き込まれている有効なKey-ValueデータＤＡをデータ書込み先ファイルＦＬにコピーする際に、これらのKey-ValueデータＤＡからパディングデータＰＤをそれぞれ除去するようファイルシステム１１のファイル管理部１４（図２）に要求する。
【００７７】
かくして、かかる指示が与えられたファイル管理部１４は、元のファイルＦＬに書き込まれている個々の有効なKey-ValueデータＤＡに付加されたパディングデータＰＤを削除し、これらKey-ValueデータＤＡの合計のデータサイズがページＰＧ（図２）の直近の整数倍となるようにパディングデータＰＤを付加した上で、これら有効なKey-ValueデータＤＡをデータ書込み先ファイルＦＬに纏めて書き込む。
【００７８】
以上の本実施の形態のデータ管理装置４０によれば、更新前データ格納ファイルＦＬに書き込まれている有効なKey-ValueデータＤＡをデータ書込み先ファイルＦＬにコピーする際に余分なパディングデータＰＤを削除することができるため、第１の実施の形態のデータ管理装置１により得られる効果に加えて、ＳＳＤ５の利用効率をより一層と向上できるという効果をも得ることができる。
【００７９】
（４）第４の実施の形態
一般的なＳＳＤでは、ファイルシステムで取り扱う論理的なアドレスをＳＳＤのコントローラで内部の物理アドレスに変換している。この変換処理の内容はファイルシステムからは認識できないため、ファイル作成時にファイルサイズを指定してファイルシステム上で連続領域を確保したとしても、ＳＳＤのブロック内のページが連続領域として確保されない場合がある。一般的には、逐次的な書き込みであれば、連続したＳＳＤのページが割り当てられるが、既にランダムにデータが書き込まれた状態であれば、連続領域が割り当てられるかは確実なものではない。
【００８０】
そこで本実施の形態では、第１〜第３の実施の形態によるデータ管理装置１，３０，４０）に対して、ＳＳＤ５がブロックＢＬ（図２）内の連続したページＰＧ（図２）をファイルＦＬに割り当て、ファイルＦＬの先頭が連続したブロックＢＬ内のページＰＧの先頭になるようにするインタフェース（コマンド）を設ける。
【００８１】
そして本実施の形態のデータ管理装置５０では、ＫＶＳ５１（図２）のデータ管理部５２（図２）が、図４について上述したデータ書込み処理のステップＳＰ２や、図７について上述したデータ書込み処理のステップＳＰ１１において、かかるコマンド（以下、これを連続領域割当て指定コマンドと呼ぶ）をファイルシステム６３（図２）に送信する。
【００８２】
また、この連続領域割当て指定コマンドを受信したファイルシステム５３（図２）のファイル管理部５４（図２）は、当該連続領域割当て指定コマンドに応じた要求をＳＳＤ５のコントローラ１６に送信する。これによりファイルシステム５３のファイル管理部５４によりファイルシステム５３上で連続した領域のファイルＦＬが作成されると共に、ＳＳＤ５内において、かかるファイルＦＬ用の記憶領域として、連続した記憶領域がコントローラ１６により確保される。
【００８３】
以上の本実施の形態のデータ管理装置５０によれば、ファイルＦＬがＳＳＤ５の連続した記憶領域上に形成されるため、図４について上述したデータ書込み処理のステップＳＰ８や、図７について上述したデータ書込み処理のステップＳＰ２１におけるファイルＦＬの削除時において、ブロック単位でのデータ削除が行われる。かくするにつき、本データ管理装置５０によれば、第１〜第３の実施の形態のデータ管理装置１，３０，４０により得られる効果に加えて、ファイルＦＬの削除処理を高速化させることができるという効果をも得ることができる。
【００８４】
（５）第５の実施の形態
第２の実施の形態のデータ管理装置４０では、図７について上述したデータ書込み処理のステップＳＰ１８において、更新前データ格納ファイルＦＬ内の有効なKey-ValueデータＤＡをデータ書込み先ファイルＦＬにコピーする際、更新前データ格納ファイルＦＬからデータ書込み先ファイルＦＬにコピーしている。
【００８５】
この場合において、ＫＶＳ３１がインメモリ型の場合、コピー対象のKey-ValueデータＤＡがメモリ４（図１）上に存在する場合があり、このような場合、コピー対象のKey-ValueデータＤＡを更新前データ格納ファイルＦＬからデータ書込み先ファイルＦＬにコピーするよりも、メモリ４からデータ書込み先ファイルＦＬにコピーした方がコピー速度を向上させることができる。
【００８６】
そこで本実施の形態のデータ管理装置６０（図２）では、図７について上述したデータ書込み処理のステップＳＰ１８において、更新前データ格納ファイルＦＬに格納されている有効なKey-ValueデータＤＡをデータ書込み先ファイルＦＬにコピーする際、そのKey-ValueデータＤＡがメモリ４上に存在する場合には、当該Key-ValueデータＤＡをメモリ４からデータ書込み先ファイルＦＬにコピーする。
【００８７】
実際上、本データ管理装置６０の場合、図７について上述したデータ書込み処理のステップＳＰ１８において、ＫＶＳ６１（図２）のデータ管理部６２（図２）は、更新前データ格納ファイルＦＬにおける有効なKey-ValueデータＤＡがメモリ４上に存在するか否かをそれぞれ判断する。
【００８８】
そしてデータ管理部６２は、かかる有効なKey-ValueデータＤＡのうち、メモリ４上に存在するKey-ValueデータＤＡについては、そのKey-ValueデータＤＡをメモリ４から読み出し、読み出したKey-ValueデータＤＡを、データ書込み先ファイルＦＬに書き込むべき旨のデータ書込み要求と共にファイルシステム１１のファイル管理部１４に送信する。かくしてファイル管理部１４は、データ管理部６２からデータ書込み要求と共に与えられたKey-ValueデータＤＡをデータ書込み先ファイルＦＬに書き込む。
【００８９】
またデータ管理部６２は、かかる有効なKey-ValueデータＤＡのうち、メモリ４上に存在しないKey-ValueデータＤＡについては、当該Key-ValueデータＤＡの更新前のデータが格納されている更新前データ格納ファイルＦＬからデータ書込み先ファイルＦＬにコピーするようファイル管理部１４に指示を与える。かくしてファイル管理部１４は、この指示に従って、かかる更新前データ格納ファイルＦＬに書き込まれているKey-ValueデータＤＡをデータ書込み先ファイルＦＬにコピーする。
【００９０】
以上の本実施の形態のデータ管理装置６０によれば、図７について上述したデータ書込み処理のステップＳＰ１８において、Key-ValueデータＤＡの更新前のデータが格納されていた更新前データ格納ファイルＦＬからデータ書込み先ファイルＦＬに有効なKey-Valueデータをコピーする際、更新前データ格納ファイルＦＬからコピー対象のKey-ValueデータＤＡを読み出すための処理負荷を低減することができる。かくするにつき、本実施の形態のデータ管理装置６０によれば、第２の実施の形態のデータ管理装置３０により得られる効果に加えてコピー速度を向上させることができるという効果をも得ることができる。
【００９１】
（６）他の実施の形態
なお上述の第１〜第５の実施の形態においては、データ管理装置１，４０，５０，６０，７０がＳＳＤ５を内部記憶装置として保持する場合について述べたが、本発明はこれに限らず、データ管理装置１，４０，５０，６０，７０がＳＳＤ５を外部記憶装置として利用する場合にも本発明を適用することができる。
【００９２】
また上述の第２、第３及び第５の実施の形態においては、更新前データ格納ファイルＦＬやメモリ４に格納されている有効なKey-ValueデータＤＡをデータ書込み先ファイルＦＬにコピーする際に、各Key-ValueデータＤＡからパディングデータＰＤをそれぞれ除去した上で、これらをKey-ValueデータＤＡまとめてデータ書込み先ファイルＦＬにコピーするようにした場合について述べたが、本発明はこれに限らず、これらの有効なKey-ValueデータＤＡのうちの少なくともValueをデータ圧縮した上でデータ書込み先ファイルＦＬにコピーするようにしても良い。このようにすることによって、ＳＳＤ５の利用効率をより一層と向上できるという効果を得ることができる。
【符号の説明】
【００９３】
１，３０，４０，５０，６０……データ管理装置、３……ＣＰＵ、４……メモリ、５……ＳＳＤ、１０，３３，４１，５１，６１……ＫＶＳ、１１……ファイルシステム、１２，３４，４２，５２，６２……データ管理部、１３……データ管理テーブル、１４，５４……ファイル管理部、１５……記憶領域、１６……コントローラ、２０，３１……Key-Value管理テーブル、２１，３２……ファイル管理テーブル、ＤＡ……Key-Valueデータ、ＦＬ……ファイル、ＢＬ……ブロック、ＰＧ……ページ、ＰＤ……パディングデータ。
【図１】
2015121938.tif 000003
【図２】
2015121938.tif 000004
【図３】
2015121938.tif 000005
【図４】
2015121938.tif 000006
【図５】
2015121938.tif 000007
【図６】
2015121938.tif 000008
【図７】
2015121938.tif 000009
【国際調査報告】
2015121938.tif 000010
2015121938.tif 000011
2015121938.tif 000012
2015121938.tif 000013