JP5235692B2 - データアクセス装置及びデータアクセスプログラム - Google Patents

データアクセス装置及びデータアクセスプログラム Download PDF

Info

Publication number
JP5235692B2
JP5235692B2 JP2009006497A JP2009006497A JP5235692B2 JP 5235692 B2 JP5235692 B2 JP 5235692B2 JP 2009006497 A JP2009006497 A JP 2009006497A JP 2009006497 A JP2009006497 A JP 2009006497A JP 5235692 B2 JP5235692 B2 JP 5235692B2
Authority
JP
Japan
Prior art keywords
data
compressed data
decompression
cache memory
compressed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009006497A
Other languages
English (en)
Other versions
JP2010165151A (ja
JP2010165151A5 (ja
Inventor
偉雄 藤田
成浩 的場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009006497A priority Critical patent/JP5235692B2/ja
Publication of JP2010165151A publication Critical patent/JP2010165151A/ja
Publication of JP2010165151A5 publication Critical patent/JP2010165151A5/ja
Application granted granted Critical
Publication of JP5235692B2 publication Critical patent/JP5235692B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storing Facsimile Image Data (AREA)

Description

この発明は、記録媒体から指定のブロックの圧縮データを読み込んで、その圧縮データをキャッシュメモリに格納し、その圧縮データに対する伸長処理を実施するデータアクセス装置及びデータアクセスプログラムに関するものである。
以下の特許文献1には、シーケンシャルなデータをアクセスすることが可能なデータアクセス装置が開示されている。
このデータアクセス装置では、文書データを連続して読み出す場合に生じる処理の遅れを防止するため、文書データの読み出し指令を受けて、記録媒体から文書データを読み出した後、次の文書データの読み出し指令を受けると、次の文書データの読み出しと同時に、先に読み出した文書データの伸長処理を実施するようにしている。
これにより、文書データの読み出しと伸長処理が並列に実施されるため、処理の高速化が図られる。
特開平6−52286号公報(段落番号[0007])
従来のデータアクセス装置は以上のように構成されているので、シーケンシャルなデータを読み出す際の処理の高速化を図ることができるが、例えば、カーナビゲーションシステムのように、ユーザーの操作や自動車の移動に伴って発生するランダムなファイルアクセスには対応することができない。また、先読み処理が可能なデータと即時読み出しが必要なデータが混在する場合には対応することができないなどの課題があった。
この発明は上記のような課題を解決するためになされたもので、ランダムアクセスとシーケンシャルアクセスが混在している場合でも、処理の高速化を図ることができるデータアクセス装置及びデータアクセスプログラムを得ることを目的とする。
この発明に係るデータアクセス装置は、記録媒体から指定のブロックの圧縮データを読み込んで、その圧縮データをキャッシュメモリに書き込むデータ取得処理を実施する圧縮データ取得手段と、そのキャッシュメモリに格納された圧縮データの伸長処理を実施するデータ伸長手段と、データ読出し要求時を除きそのキャッシュメモリの中の未だ伸長処理が施されていない圧縮データに対してデータ伸長手段を起動し、データの伸長を指示するデータ伸長制御手段と、データの先読み処理要求を受けると、その圧縮データ取得手段を起動して、指定のブロックの圧縮データのデータ取得処理を指示し、データ読み出し要求を受けると、データ伸長制御手段によるデータ伸長手段の起動を停止させ、その圧縮データ取得手段を起動して、指定のブロックの圧縮データのデータ取得処理と上記ブロックに続く次のブロックの圧縮データのデータ取得処理を指示するとともに、そのデータ伸長手段を起動して、そのキャッシュメモリに書き込まれた指定のブロックの圧縮データに対する伸長処理を指示し、そのデータ伸長手段による伸長処理と圧縮データ取得手段による次のブロックの圧縮データのデータ取得処理を並行して実施させる制御手段とを設け、圧縮データ取得手段は、圧縮データをキャッシュメモリに書き込む際に、圧縮データの管理情報に伸長状態が未伸長であると設定し、データ伸長手段は、キャッシュメモリに格納された圧縮データの伸長処理を行う際に、伸長状態を伸長処理中であると変更し、伸長処理後の圧縮データをキャッシュメモリに格納する際に、伸長状態を伸長済であると変更するようにしたものである。
この発明によれば、記録媒体から指定のブロックの圧縮データを読み込んで、その圧縮データをキャッシュメモリに書き込むデータ取得処理を実施する圧縮データ取得手段と、そのキャッシュメモリの中に格納された圧縮データの伸長処理を実施するデータ伸長手段と、データ読出し要求時を除きそのキャッシュメモリの中の未だ伸長処理が施されていない圧縮データに対してデータ伸長手段を起動し、データの伸長を指示するデータ伸長制御手段と、データの先読み処理要求を受けると、その圧縮データ取得手段を起動して、指定のブロックの圧縮データのデータ取得処理を指示し、データ読み出し要求を受けると、データ伸長制御手段によるデータ伸長手段の起動を停止させ、その圧縮データ取得手段を起動して、指定のブロックの圧縮データのデータ取得処理と上記ブロックに続く次のブロックの圧縮データのデータ取得処理を指示するとともに、そのデータ伸長手段を起動して、そのキャッシュメモリに書き込まれた指定のブロックの圧縮データに対する伸長処理を指示し、そのデータ伸長手段による伸長処理と圧縮データ取得手段による次のブロックの圧縮データのデータ取得処理を並行して実施させる制御手段とを設け、圧縮データ取得手段は、圧縮データをキャッシュメモリに書き込む際に、圧縮データの管理情報に伸長状態が未伸長であると設定し、データ伸長手段は、キャッシュメモリに格納された圧縮データの伸長処理を行う際に、伸長状態を伸長処理中であると変更し、伸長処理後の圧縮データをキャッシュメモリに格納する際に、伸長状態を伸長済であると変更するように構成したので、ランダムアクセスとシーケンシャルアクセスが混在している場合でも、処理の高速化を図ることができる効果がある。

この発明の実施の形態1によるデータアクセス装置を示す構成図である。 この発明の実施の形態1によるデータアクセス装置1のアクセス制御処理部15の処理内容を示すフローチャートである。 この発明の実施の形態1によるデータアクセス装置1のデータ伸長制御処理部16の処理内容を示すフローチャートである。 この発明の実施の形態1によるデータアクセス装置1のデータ取得処理部13の処理内容を示すフローチャートである。 この発明の実施の形態1によるデータアクセス装置1のデータ伸長処理部14の処理内容を示すフローチャートである。 データ圧縮形式を示す説明図である。 キャッシュメモリ3に格納されるデータの形式を示す説明図である。 データの先読み処理要求が連続して発生する場合の処理のタイミングを示す説明図である。 データの先読み処理要求が発生せずに、シーケンシャルなデータ読み出し要求が連続して発生する場合の処理のタイミングを示す説明図である。
実施の形態1.
図1はこの発明の実施の形態1によるデータアクセス装置を示す構成図である。
図1において、データアクセス装置1は記録媒体2から指定のブロックの圧縮データを読み込んで、その圧縮データをキャッシュメモリ3に格納し、その圧縮データに対する伸長処理を実施する装置である。
記録媒体2は例えばハードディスクやメモリカードのほか、CD−ROMやDVD−ROMなどのメモリが該当し、記録媒体2には、複数のブロックの圧縮データ(非圧縮データが一定のサイズ毎(例えば、32KByte単位)のブロックに分割されて、それぞれのブロック毎に圧縮されたデータ)が連結されている連結ファイルが記録されている。
キャッシュメモリ3はデータアクセス装置1により読み込まれた圧縮データなどを一時的に格納するメモリである。
アプリケーションソフト実行部11はユーザインターフェースや情報の画面表示などを行うアプリケーションソフトウェアを実行する処理部である。
データアクセス処理部12はアプリケーションソフト実行部11におけるデータの先読み処理要求やデータ読み出し要求にしたがって必要なデータに対するアクセスを行う処理部である。
データ取得処理部13はアクセス制御処理部15の指示の下、記録媒体2から指定のブロックの圧縮データを読み込んで、その圧縮データをキャッシュメモリ3に書き込むデータ取得処理を実施する。なお、データ取得処理部13は圧縮データ取得手段を構成している。
データ伸長処理部14はデータ伸長制御処理部16の指示の下、キャッシュメモリ3に格納されている圧縮データに対する伸長処理を実施する。
アクセス制御処理部15はアプリケーションソフト実行部11からデータの先読み処理要求を受けると、圧縮データ取得処理部13を起動して、指定のブロックの圧縮データのデータ取得処理を指示し、アプリケーションソフト実行部11からデータ読み出し要求を受けると、データ取得処理部13を起動して、指定のブロックの圧縮データのデータ取得処理と上記ブロックに続く次のブロックの圧縮データのデータ取得処理を指示するとともに、データ伸長処理部14を起動して、キャッシュメモリ3に書き込まれた指定のブロックの圧縮データに対する伸長処理を指示し、データ伸長処理部14による伸長処理とデータ取得処理部13による次のブロックの圧縮データのデータ取得処理を並行して実施させる。なお、アクセス制御処理部15は制御手段を構成している。
データ伸長制御処理部16はキャッシュメモリ3の中に未だ伸長処理が施されていない圧縮データが格納されていれば、その圧縮データに対する伸長処理をデータ伸長処理部14に要求するとともに、アクセス制御処理部15の指示の下、データ伸長処理部14の起動/停止を制御する処理を実施する。
なお、データ伸長処理部14及びデータ伸長制御処理部16からデータ伸長手段が構成されている。
図1の例では、データアクセス装置1の構成要素であるアプリケーションソフト実行部11、データ取得処理部13、データ伸長処理部14、アクセス制御処理部15及びデータ伸長制御処理部16のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路)で構成されているものを想定しているが、データアクセス装置1がコンピュータで構成される場合には、アプリケーションソフト実行部11、データ取得処理部13、データ伸長処理部14、アクセス制御処理部15及びデータ伸長制御処理部16の処理内容が記述されているデータアクセスプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているデータアクセスプログラムを実行するようにしてもよい。
図2はこの発明の実施の形態1によるデータアクセス装置1のアクセス制御処理部15の処理内容を示すフローチャートである。
図3はこの発明の実施の形態1によるデータアクセス装置1のデータ伸長制御処理部16の処理内容を示すフローチャートである。
図4はこの発明の実施の形態1によるデータアクセス装置1のデータ取得処理部13の処理内容を示すフローチャートである。
図5はこの発明の実施の形態1によるデータアクセス装置1のデータ伸長処理部14の処理内容を示すフローチャートである。
次に動作について説明する。
データアクセス装置1により読み出されるデータは記録媒体2に記録されているが、読み出し対象のデータである圧縮データは、図6に示すように、非圧縮データが一定のサイズ毎(例えば、32KByte単位)のブロックに分割されて、それぞれのブロック毎に圧縮されたデータである。
データ圧縮後のデータサイズは一般的に不定となるため、圧縮データには、ヘッダ部が設けられ、圧縮後の各ブロックのファイル内での開始位置情報がヘッダ部に記録されている。
図6の例では、非圧縮データが一定のサイズ毎のブロックに分割されているものを示しているが、非圧縮データをブロック毎に分割する際に、各ブロックのサイズを一定とせずに、例えば、地図データにおけるエリア単位など、データ内容の境界に対応している分割であってもよい。
ただし、この場合、非圧縮データにおける各ブロックの開始位置をブロック番号から求めることができないため、圧縮データのヘッダ部には、各ブロックに対応して非圧縮データでの先頭位置と、圧縮データでの先頭位置を記録しておく必要がある。
図7はキャッシュメモリ3に格納されるデータの形式を示す説明図である。
キャッシュメモリ3に格納されるデータには、ファイル番号、ブロック番号、リードカウント、伸長状態を示す管理情報が先頭に付加されている。
「ファイル番号」はデータのリード元ファイルを示し、個々のファイルと一対一で対応付けられた番号である。
「ブロック番号」はファイル内で先頭から何番目のブロックに対応するデータであるかを示す番号である。
「リードカウント」はデータ取得処理部13がデータ取得処理を実施する毎にインクリメントされる番号である。この番号を参照することで、キャッシュメモリ3におけるデータの書き込み順序を特定することができる。
「伸長状態」は該当データの伸長処理適用状態を示す情報であり、“未伸長”、“伸長処理中”、“伸長済”のいずれかの状態を明示するものである。
アプリケーションソフト実行部11は、アプリケーションソフトウェアを実行することで、例えば、ユーザーの操作や自動車の移動に伴って発生するランダムなファイルアクセスや、シーケンシャルなファイルアクセスの要求を受け付ける。
アプリケーションソフト実行部11は、ファイルアクセスのデータが、先読み処理が可能なデータであれば、データの先読み処理要求をアクセス制御処理部15に出力し、ファイルアクセスのデータが、即時読み出しが必要なデータであれば、データ読み出し要求をアクセス制御処理部15に出力する。
なお、アプリケーションソフト実行部11から出力されるデータの先読み処理要求及びデータ読み出し要求には、読み出し対象のデータを特定するファイル番号とブロック番号が含まれている。
アクセス制御処理部15は、アプリケーションソフト実行部11から出力される要求を確認し(図2のステップST1)、その要求がデータの先読み処理要求であれば、その先読み処理要求に含まれているファイル番号に対応するファイルの中で、その先読み処理要求に含まれているブロック番号に対応するブロックの圧縮データが既にキャッシュメモリ3に格納されているか否かを確認する(ステップST2)。
アクセス制御処理部15は、そのブロック番号に対応するブロックの圧縮データが既にキャッシュメモリ3に格納されていれば、記録媒体2から新たに当該圧縮データを読み込む必要がないため、その圧縮データのデータ取得処理を圧縮データ取得処理部13に要求しないが、その圧縮データがキャッシュメモリ3に格納されていなければ、その圧縮データのデータ取得処理を圧縮データ取得処理部13に要求する(ステップST3)。
即ち、アクセス制御処理部15は、圧縮データ取得処理部13を起動して、その先読み処理要求に含まれているファイル番号に対応する連結ファイルの中から、その先読み処理要求に含まれているブロック番号に対応するブロックの圧縮データのデータ取得処理を指示する。
以下、圧縮データ取得処理部13におけるデータ取得処理の内容を具体的に説明する。
圧縮データ取得処理部13は、アクセス制御処理部15からデータ取得処理の指示を受けると、新たな圧縮データをキャッシュメモリ3に書き込むに際して、キャッシュメモリ3の容量が足りているか否かを確認する(図4のステップST31)。
容量確認の方法としては、例えば、キャッシュメモリ3に格納されるデータの数を管理し、一定数を超える場合には、容量不足と判定する方法がある。
ただし、実際にキャッシュメモリ3に格納されるデータ量をカウントし、そのデータ量が一定値を越える場合に、容量不足と判定するようにしてもよい。
圧縮データ取得処理部13は、キャッシュメモリ3の容量が足りていない場合、キャッシュメモリ3に格納されているデータの削除を行う(ステップST32)。
例えば、キャッシュメモリ3に格納されているデータの中で、先に書き込まれたデータから順番に削除するようにする。
圧縮データ取得処理部13は、新たな圧縮データを書き込む容量を確保すると、記録媒体2に記録されている複数の連結ファイルの中から、先読み処理要求に含まれているファイル番号に対応する連結ファイルを検索する。
そして、圧縮データ取得処理部13は、その連結ファイルの中から、先読み処理要求に含まれているブロック番号に対応するブロックの圧縮データを読み込み、その圧縮データをキャッシュメモリ3に格納する(ステップST33)。
このとき、圧縮データ取得処理部13は、その圧縮データの管理情報を設定する(ステップST34)。
即ち、圧縮データ取得処理部13は、図7に示すように、その圧縮データの管理情報として、先読み処理要求に含まれているファイル番号及びブロック番号を設定するとともに、リードカウント及び伸長状態「未伸長」を設定する。
なお、リードカウントについては、その時点において、圧縮データ取得処理部13が保持しているリードカウント(過去に圧縮データ取得処理部13が圧縮データをキャッシュメモリ3に書き込んだ回数)をインクリメントした値である。
アクセス制御処理部15は、圧縮データ取得処理部13による上記のデータ取得処理が終了するまで待機するが(図2のステップST4)、データ伸長制御処理部16に対して、処理の空き時間にデータ伸長処理部14を起動させる指令を出力しているので、データ伸長処理部14は、圧縮データ取得処理部13がデータ取得処理を実施しているとき、キャッシュメモリ3に対する書き込みが完了したファイルの圧縮データから順番にデータ伸長処理を実施する。
以下、データ伸長制御処理部16及びデータ伸長処理部14の処理内容を具体的に説明する。
データ伸長制御処理部16は、キャッシュメモリ3の中に未だ伸長処理が施されていない圧縮データが格納されているか否かを確認する(図3のステップST21)。
キャッシュメモリ3に格納されている圧縮データの管理情報における伸長状態を参照して、伸長処理が施されているか否かを確認する。
データ伸長制御処理部16は、キャッシュメモリ3の中に未だ伸長処理が施されていない圧縮データが格納されていれば、その圧縮データに対する伸長処理をデータ伸長処理部14に要求する(ステップST22)。
データ伸長処理部14は、データ伸長制御処理部16から伸長処理要求を受けると、キャッシュメモリ3に格納されている圧縮データに対する伸長処理を実施する。
即ち、データ伸長処理部14は、データ伸長制御処理部16から伸長処理要求を受けると、キャッシュメモリ3に格納されている伸長処理対象の圧縮データ(未伸長の圧縮データ)の管理情報における伸長状態を「伸長処理中」に変更する(図5のステップST41)。
次に、データ伸長処理部14は、キャッシュメモリ3から伸長処理対象の圧縮データを取得し(ステップST42)、その圧縮データに対する伸長処理を実施する(ステップST43)。
そして、データ伸長処理部14は、伸長処理後のデータをキャッシュメモリ3に格納し(ステップST44)、そのデータの管理情報における伸長状態を「伸長済」に変更する(ステップST45)。
データ伸長制御処理部16は、データ伸長処理部14における伸長処理が終了するまで待機し(図3のステップST23)、その伸長処理が終了すると、アクセス制御処理部15から伸長制御処理停止要求が出力されているか否かを確認する(ステップST24)。
伸長制御処理停止要求は、後述するように、アプリケーションソフト実行部11からデータ読み出し要求を受けたときに、アクセス制御処理部15から出力される要求である。
データ伸長制御処理部16は、アクセス制御処理部15から伸長制御処理停止要求を受けなければ、ステップST21〜ST23の処理を繰り返し実施するが、アクセス制御処理部15から伸長制御処理停止要求を受けると、アクセス制御処理部15から伸長制御処理再開要求を受けるまで待機する(ステップST25)。
次に、アクセス制御処理部15は、アプリケーションソフト実行部11から出力される要求を確認し(図2のステップST1)、その要求がデータ読み出し要求であれば、データ伸長処理部14における伸長処理を一旦停止させるため、伸長制御処理停止要求をデータ伸長制御処理部16に出力する(ステップST5)。
次に、アクセス制御処理部15は、その要求がデータ読み出し要求に含まれているファイル番号に対応するファイルの中で、そのデータ読み出し要求に含まれているブロック番号に対応するブロックの圧縮データが既にキャッシュメモリ3に格納されているか否かを確認する(ステップST6)。
アクセス制御処理部15は、そのブロック番号に対応するブロックの圧縮データがキャッシュメモリ3に格納されていなければ、その圧縮データのデータ取得処理を圧縮データ取得処理部13に要求する(ステップST7)。
即ち、アクセス制御処理部15は、圧縮データ取得処理部13を起動して、そのデータ読み出し要求に含まれているファイル番号に対応する連結ファイルの中から、そのデータ読み出し要求に含まれているブロック番号に対応するブロックの圧縮データのデータ取得処理を指示する。
圧縮データ取得処理部13におけるデータ取得処理の内容は、先に説明している内容と同様であるため説明を省略する。
アクセス制御処理部15は、圧縮データ取得処理部13によるデータ取得処理が終了するまで待機する(ステップST8)。
アクセス制御処理部15は、そのブロック番号に対応するブロックの圧縮データが既にキャッシュメモリ3に格納されていれば、その圧縮データが既に伸長されているか否かを確認する(ステップST9)。
その圧縮データの管理情報における伸長状態を参照して、伸長処理が施されているか否かを確認する。
アクセス制御処理部15は、その圧縮データの管理情報における伸長状態が「伸長済」である場合、新たに当該圧縮データに対する伸長処理を実施する必要がないため、その圧縮データに対する伸長処理をデータ伸長処理部14に要求しないが、その圧縮データの管理情報における伸長状態が「未伸長」である場合、データ伸長処理部14による伸長処理とデータ取得処理部13による次のブロックの圧縮データのデータ取得処理を並行して実施させるため、次のブロックの圧縮データのデータ取得処理を圧縮データ取得処理部13に要求するとともに(ステップST10)、その圧縮データに対する伸長処理をデータ伸長処理部14に要求する(ステップST11)。
圧縮データ取得処理部13におけるデータ取得処理の内容と、データ伸長処理部14による伸長処理の内容は、先に説明している内容と同様であるため説明を省略するが、これにより、指定のブロックの圧縮データの伸長処理と、指定のブロックの次のブロックの圧縮データのデータ取得処理とが並行にして実施される。
また、アクセス制御処理部15は、その圧縮データの管理情報における伸長状態が「伸長処理中」である場合も、その圧縮データの伸長処理と並行して、次のブロックの圧縮データのデータ取得処理を実施させるため、次のブロックの圧縮データのデータ取得処理を圧縮データ取得処理部13に要求する(ステップST12)。
アクセス制御処理部15は、データ伸長処理部14による伸長処理が終了するまで待機する(ステップST13)。
アクセス制御処理部15は、データ伸長処理部14による伸長処理が終了すると、キャッシュメモリ3から伸長済のデータを読み出し(ステップST14)、その伸長済のデータをアプリケーションソフト実行部11に出力する。
なお、キャッシュメモリ3に格納されている圧縮データの管理情報における伸長状態を参照して、伸長済か否かを確認する。
最後に、アクセス制御処理部15は、処理の空き時間にデータ伸長処理部14が伸長処理を実施することができる状態に戻すため、伸長制御処理再開要求をデータ伸長制御処理部16に出力する(ステップST15)。
ここで、図8はデータの先読み処理要求が連続して発生する場合の処理のタイミングを示す説明図である。
アプリケーションソフト実行部11からデータの先読み処理要求が発生すると、上述したように、記録媒体2に記録されている連結ファイルの中から、先読み処理要求に含まれているファイル番号に対応する連結ファイルが検索され、その連結ファイルの中から、その先読み処理要求に含まれているブロック番号に対応するブロックの圧縮データが読み込まれて、その圧縮データがキャッシュメモリ3に格納される。
また、その圧縮データがキャッシュメモリ3に格納されると、直ちにデータ伸長処理部14によって、その圧縮データに対する伸長処理が実施される。
その結果、データの先読み処理要求が連続して発生すると、図8に示すように、データ取得処理部13によるデータ取得処理とデータ伸長処理部14による伸長処理が並行して実施されることになる。
その後、伸長済のデータに対するデータ読み出し要求がアプリケーションソフト実行部11から発生したときには、データ取得処理部13によるデータ取得処理や、データ伸長処理部14による伸長処理が実施されることなく、キャッシュメモリ3から伸長済のデータを取得することができるようになる。
図9はデータの先読み処理要求が発生せずに、シーケンシャルなデータ読み出し要求が連続して発生する場合の処理のタイミングを示す説明図である。
この場合、データ読み出し要求が発生したとき、データ取得処理部13によるデータ取得処理とデータ伸長処理部14による伸長処理とを実施する必要があるが、上述したように、データ伸長処理部14が伸長処理を実施しているとき、データ取得処理部13が次のブロックの圧縮データの取得処理を並行して実施するため、処理の高速化を実現することができる。
以上で明らかなように、この実施の形態1によれば、記録媒体2から指定のブロックの圧縮データを読み込んで、その圧縮データをキャッシュメモリ3に書き込むデータ取得処理を実施する圧縮データ取得部13と、そのキャッシュメモリ3の中に未だ伸長処理が施されていない圧縮データが格納されていれば、その圧縮データに対する伸長処理を実施するデータ伸長処理部14とを設け、アクセス制御処理部15が、アプリケーションソフト実行部11からデータの先読み処理要求を受けると、圧縮データ取得部13を起動して、指定のブロックの圧縮データのデータ取得処理を指示し、アプリケーションソフト実行部11からデータ読み出し要求を受けると、圧縮データ取得部13を起動して、指定のブロックの圧縮データのデータ取得処理と上記ブロックに続く次のブロックの圧縮データのデータ取得処理を指示するとともに、データ伸長処理部14を起動して、キャッシュメモリ3に書き込まれた指定のブロックの圧縮データに対する伸長処理を指示し、そのデータ伸長処理部14による伸長処理と圧縮データ取得部13による次のブロックの圧縮データのデータ取得処理を並行して実施させるように構成したので、ランダムアクセスとシーケンシャルアクセスが混在している場合でも、処理の高速化を図ることができる効果を奏する。
また、この実施の形態1によれば、圧縮データ取得部13が圧縮データをキャッシュメモリ3に書き込む際、キャッシュメモリ3の容量が不足している場合、キャッシュメモリ3に格納されているデータの中で、先に書き込まれたデータから順番に削除するように構成したので、キャッシュメモリ3の容量が不足している場合でも、記録媒体2から圧縮データを読み込んで、その圧縮データをキャッシュメモリ3に書き込むことができる効果を奏する。
実施の形態2.
上記実施の形態1では、圧縮データ取得部13が圧縮データをキャッシュメモリ3に書き込む際、キャッシュメモリ3の容量が不足している場合、キャッシュメモリ3に格納されているデータの中で、先に書き込まれたデータから順番に削除するものについて示したが、圧縮データ取得部13が圧縮データをキャッシュメモリ3に書き込む際、キャッシュメモリ3の容量が不足している場合、キャッシュメモリ3に格納されているデータの中で、最後にアクセスされた時刻が古いデータから順番に削除するようにしてもよく、上記実施の形態1と同様の効果を奏することができる。
ただし、この場合、キャッシュメモリ3に格納されているデータの管理情報として、圧縮データをキャッシュメモリ3に格納する際に設定するリードカウントに加え、該当ファイルに対するデータ読み出し要求発生時に設定するリードカウントが必要となる。
データ読み出し要求発生時のリードカウントは、アクセス制御処理部15が管理し、データ読み出し要求が発生すると、該当するデータの管理情報におけるリードカウントをインクリメントするようにする。
これにより、最もファイルアクセス履歴が古いファイルのデータは、リードカウントが最も小さいものとなり、削除対象となる。
一度もアクセスされていないファイルが複数存在する場合には、一度もアクセスされていないファイル中で最も小さいリードカウントのデータが削除対象となる。
1 データアクセス装置、2 記録媒体、3 キャッシュメモリ、11 アプリケーションソフト実行部、12 データアクセス処理部、13 データ取得処理部(圧縮データ取得手段)、14 データ伸長処理部(データ伸長手段)、15 アクセス制御処理部(制御手段)、16 データ伸長制御処理部(データ伸長手段)。

Claims (5)

  1. 複数のブロックの圧縮データが連結されている連結ファイルが記録されている記録媒体から、指定のブロックの圧縮データを読み込んで、上記圧縮データをキャッシュメモリに書き込むデータ取得処理を実施する圧縮データ取得手段と、
    上記キャッシュメモリに格納された圧縮データの伸長処理を実施するデータ伸長手段と、
    データ読出し要求時を除き上記キャッシュメモリの中の未だ伸長処理が施されていない圧縮データに対して上記データ伸長手段を起動し、データの伸長を指示するデータ伸長制御手段と、
    データの先読み処理要求を受けると、上記圧縮データ取得手段を起動して、指定のブロックの圧縮データのデータ取得処理を指示し、データ読み出し要求を受けると、上記データ伸長制御手段による上記データ伸長手段の起動を停止させ、上記圧縮データ取得手段を起動して、指定のブロックの圧縮データのデータ取得処理と上記ブロックに続く次のブロックの圧縮データのデータ取得処理を指示するとともに、上記データ伸長手段を起動して、上記キャッシュメモリに書き込まれた指定のブロックの圧縮データに対する伸長処理を指示し、上記データ伸長手段による伸長処理と上記圧縮データ取得手段による次のブロックの圧縮データのデータ取得処理を並行して実施させる制御手段とを備え
    上記圧縮データ取得手段は、上記圧縮データを上記キャッシュメモリに書き込む際に、上記圧縮データの管理情報に伸長状態が未伸長であると設定し、
    上記データ伸長手段は、上記キャッシュメモリに格納された圧縮データの伸長処理を行う際に、上記伸長状態を伸長処理中であると変更し、伸長処理後の上記圧縮データを上記キャッシュメモリに格納する際に、上記伸長状態を伸長済であると変更する
    ことを特徴とするデータアクセス装置。
  2. 圧縮データ取得手段は、圧縮データをキャッシュメモリに書き込む際、上記キャッシュメモリの容量が不足している場合、上記キャッシュメモリに格納されているデータの中で、先に書き込まれたデータから順番に削除することを特徴とする請求項1記載のデータアクセス装置。
  3. 圧縮データ取得手段は、圧縮データをキャッシュメモリに書き込む際、上記キャッシュメモリの容量が不足している場合、上記キャッシュメモリに格納されているデータの中で、最後にアクセスされた時刻が古いデータから順番に削除することを特徴とする請求項1記載のデータアクセス装置。
  4. 複数のブロックの圧縮データが連結されている連結ファイルが記録されている記録媒体から、指定のブロックの圧縮データを読み込んで、上記圧縮データをキャッシュメモリに書き込むデータ取得処理を実施する圧縮データ取得処理手順と、
    上記キャッシュメモリに格納された圧縮データの伸長処理を実施するデータ伸長処理手順と、
    データ読み出し要求時を除き上記キャッシュメモリの中の未だ伸長処理が施されていない圧縮データに対して上記データ伸長処理手順を起動し、データの伸長を指示するデータ伸長制御処理手順と、
    データの先読み処理要求を受けると、上記圧縮データ取得処理手順を起動して、指定のブロックの圧縮データのデータ取得処理を指示し、データ読み出し要求を受けると、上記データ伸長制御処理手順による上記データ伸長処理手順の起動を停止させ、上記圧縮データ取得処理手順を起動して、指定のブロックの圧縮データのデータ取得処理と上記ブロックに続く次のブロックの圧縮データのデータ取得処理を指示するとともに、上記データ伸長処理手順を起動して、上記キャッシュメモリに書き込まれた指定のブロックの圧縮データに対する伸長処理を指示し、上記データ伸長処理手順による伸長処理と上記圧縮データ取得処理手順による次のブロックの圧縮データのデータ取得処理を並行して実施させる制御処理手順
    とをコンピュータに実行させるためのデータアクセスプログラムであって、
    上記圧縮データ取得処理手順は、上記圧縮データを上記キャッシュメモリに書き込む際に、上記圧縮データの管理情報に伸長状態が未伸長であると設定し、
    上記データ伸長処理手順は、上記キャッシュメモリに格納された圧縮データの伸長処理を行う際に、上記伸長状態を伸長処理中であると変更し、伸長処理後の上記圧縮データを上記キャッシュメモリに格納する際に、上記伸長状態を伸長済であると変更する
    ことを特徴とするデータアクセスプログラム
  5. 複数のブロックの圧縮データが連結されている連結ファイルに対し、指定のブロックの圧縮データを読み込んで、上記圧縮データをキャッシュメモリに書き込むデータ取得処理を実施する圧縮データ取得工程と、
    上記キャッシュメモリに格納された圧縮データの伸長処理を実施するデータ伸長工程と、
    データ読出し要求時を除き上記キャッシュメモリの中の未だ伸長処理が施されていない圧縮データに対して上記データ伸長工程を起動し、データの伸長を指示するデータ伸長制御工程と、
    データの先読み処理要求を受けると、上記圧縮データ取得工程を起動して、指定のブロックの圧縮データのデータ取得処理を指示し、データ読出し要求を受けると、上記データ伸長制御工程によるデータ伸長工程の起動を停止させ、上記圧縮データ取得工程を起動して、指定のブロックの圧縮データのデータ取得処理と上記ブロックに続く次のブロックの圧縮データのデータ取得処理を指示するとともに、上記データ伸長工程を起動して上記キャッシュメモリに書き込まれた指定のブロックの圧縮データに対する伸長処理を指示し、上記データ伸長工程による伸長処理と上記圧縮データ取得工程による次のブロックの圧縮データのデータ取得処理を並行して実施させる制御工程とを備え
    上記圧縮データ取得工程は、上記圧縮データを上記キャッシュメモリに書き込む際に、上記圧縮データの管理情報に伸長状態が未伸長であると設定し、
    上記データ伸長工程は、上記キャッシュメモリに格納された圧縮データの伸長処理を行う際に、上記伸長状態を伸長処理中であると変更し、伸長処理後の上記圧縮データを上記キャッシュメモリに格納する際に、上記伸長状態を伸長済であると変更する
    ことを特徴とするデータアクセス方式。
JP2009006497A 2009-01-15 2009-01-15 データアクセス装置及びデータアクセスプログラム Expired - Fee Related JP5235692B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009006497A JP5235692B2 (ja) 2009-01-15 2009-01-15 データアクセス装置及びデータアクセスプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009006497A JP5235692B2 (ja) 2009-01-15 2009-01-15 データアクセス装置及びデータアクセスプログラム

Publications (3)

Publication Number Publication Date
JP2010165151A JP2010165151A (ja) 2010-07-29
JP2010165151A5 JP2010165151A5 (ja) 2012-01-26
JP5235692B2 true JP5235692B2 (ja) 2013-07-10

Family

ID=42581263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009006497A Expired - Fee Related JP5235692B2 (ja) 2009-01-15 2009-01-15 データアクセス装置及びデータアクセスプログラム

Country Status (1)

Country Link
JP (1) JP5235692B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5826114B2 (ja) 2012-05-25 2015-12-02 クラリオン株式会社 データ解凍装置、データ圧縮装置、データの解凍プログラム、データの圧縮プログラム、及び、圧縮データ配信システム
CN103076992B (zh) * 2012-12-27 2016-09-28 杭州华为数字技术有限公司 一种内存数据缓冲方法及装置
CN107250991B (zh) * 2015-02-13 2020-08-28 谷歌有限责任公司 透明硬件辅助存储器解压缩

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03147013A (ja) * 1989-11-01 1991-06-24 Casio Comput Co Ltd データ更新装置
US5229866A (en) * 1990-10-10 1993-07-20 Fuji Xerox Co., Ltd. Image processing system for reducing wait time before image data transfer to an image output section
JPH1115371A (ja) * 1997-06-25 1999-01-22 Fujitsu Ten Ltd 地図表示装置
JP3621572B2 (ja) * 1997-12-11 2005-02-16 文雄 溝口 地図データの先読み方法及び地図スクロール方法
JP4123651B2 (ja) * 1999-09-22 2008-07-23 ヤマハ株式会社 画像描画システム及び画像描画システムの制御方法
JP2003131946A (ja) * 2001-10-19 2003-05-09 Nec Corp キャッシュメモリ制御装置及び方法
JP2003173613A (ja) * 2001-11-30 2003-06-20 Kenwood Corp ディスク再生装置及び通信情報再生装置並びにオーディオ情報再生方法
JP2003272302A (ja) * 2002-03-19 2003-09-26 Toshiba Corp 情報再生装置及び情報再生方法
JP2007253872A (ja) * 2006-03-24 2007-10-04 Fujitsu Ten Ltd 車載機
JP2007293433A (ja) * 2006-04-21 2007-11-08 Ricoh Co Ltd 文書管理システム
JP2008090620A (ja) * 2006-10-02 2008-04-17 Fujitsu Ten Ltd 端末装置

Also Published As

Publication number Publication date
JP2010165151A (ja) 2010-07-29

Similar Documents

Publication Publication Date Title
JP6046216B2 (ja) ホストシステム及びホストコントローラ
US20100115535A1 (en) Device controller
US7350049B1 (en) Method and apparatus for managing access to a file allocation table
JP2008041020A (ja) ファイルサーバ、計算機システム及びファイルの先読み方法。
JP5235692B2 (ja) データアクセス装置及びデータアクセスプログラム
JP2018169773A (ja) ストレージ装置、ストレージ装置の制御方法及びプログラム
KR100982118B1 (ko) Fat 방식으로 포맷된 정보 기록 매체에 데이터 파일을 기록하는 기록 장치, 방법, 및 프로그램이 기록되어 있는 컴퓨터가 판독가능한 기록 매체
JP2007080240A (ja) ファイル割り当てテーブルのアクセス手法
US7598891B2 (en) Data development device and data development method
US7689807B2 (en) Mass storage device, mass storage controller and methods for use therewith
JP2007102436A (ja) ストレージ制御装置およびストレージ制御方法
JP2010079535A (ja) データアクセス装置
JP5304154B2 (ja) ドライブ装置、マウントプログラムおよびマウント方法
JP3969809B2 (ja) 記憶装置におけるデータバッファの管理方法
WO2015198752A1 (ja) 情報処理装置と情報処理方法およびプログラム
JP6080492B2 (ja) 情報処理装置、起動方法およびプログラム
JP5515218B2 (ja) データアクセス方法およびデータアクセス装置
JP2006127401A (ja) 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム
JP4748807B2 (ja) 復号回路
JP4244836B2 (ja) コンピュータシステム、そのバックアップ/リストア方法、ホストコンピュータ、プログラム
JP4798003B2 (ja) 記録装置、記録方法、プログラムおよび光ディスク記録装置
JP2001290607A (ja) デバイスドライバのコマンドキューイング制御方法及びコンピュータシステム
US20050132124A1 (en) [silicon storage apparatus, controller and data transmission method thereof]
KR100927821B1 (ko) 확장 저장 공간을 지원하는 모바일 단말기 및 운용 방법
JP2008134777A (ja) ファイル割当テーブルのキャッシュ方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130326

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees