JP2010165151A - Data access device and data access program - Google Patents
Data access device and data access program Download PDFInfo
- Publication number
- JP2010165151A JP2010165151A JP2009006497A JP2009006497A JP2010165151A JP 2010165151 A JP2010165151 A JP 2010165151A JP 2009006497 A JP2009006497 A JP 2009006497A JP 2009006497 A JP2009006497 A JP 2009006497A JP 2010165151 A JP2010165151 A JP 2010165151A
- Authority
- JP
- Japan
- Prior art keywords
- data
- compressed data
- decompression
- processing
- cache memory
- 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.)
- Granted
Links
Images
Abstract
Description
この発明は、記録媒体から指定のブロックの圧縮データを読み込んで、その圧縮データをキャッシュメモリに格納し、その圧縮データに対する伸長処理を実施するデータアクセス装置及びデータアクセスプログラムに関するものである。 The present invention relates to a data access device and a data access program that read compressed data of a specified block from a recording medium, store the compressed data in a cache memory, and perform decompression processing on the compressed data.
以下の特許文献1には、シーケンシャルなデータをアクセスすることが可能なデータアクセス装置が開示されている。
このデータアクセス装置では、文書データを連続して読み出す場合に生じる処理の遅れを防止するため、文書データの読み出し指令を受けて、記録媒体から文書データを読み出した後、次の文書データの読み出し指令を受けると、次の文書データの読み出しと同時に、先に読み出した文書データの伸長処理を実施するようにしている。
これにより、文書データの読み出しと伸長処理が並列に実施されるため、処理の高速化が図られる。
The following
In this data access device, in order to prevent a processing delay that occurs when document data is continuously read out, the document data read command is received, the document data is read from the recording medium, and the next document data read command is then read. When the document data is received, decompression processing of the previously read document data is performed simultaneously with the reading of the next document data.
As a result, reading of document data and decompression processing are performed in parallel, so that the processing speed can be increased.
従来のデータアクセス装置は以上のように構成されているので、シーケンシャルなデータを読み出す際の処理の高速化を図ることができるが、例えば、カーナビゲーションシステムのように、ユーザーの操作や自動車の移動に伴って発生するランダムなファイルアクセスには対応することができない。また、先読み処理が可能なデータと即時読み出しが必要なデータが混在する場合には対応することができないなどの課題があった。 Since the conventional data access device is configured as described above, it is possible to increase the processing speed when reading sequential data. For example, as in a car navigation system, user operations and vehicle movements are possible. It is not possible to cope with random file access that accompanies this. In addition, there is a problem that it is not possible to cope with a case where data that can be pre-readed and data that needs immediate reading are mixed.
この発明は上記のような課題を解決するためになされたもので、ランダムアクセスとシーケンシャルアクセスが混在している場合でも、処理の高速化を図ることができるデータアクセス装置及びデータアクセスプログラムを得ることを目的とする。 The present invention has been made to solve the above-described problems, and provides a data access device and a data access program capable of speeding up processing even when random access and sequential access are mixed. With the goal.
この発明に係るデータアクセス装置は、記録媒体から指定のブロックの圧縮データを読み込んで、その圧縮データをキャッシュメモリに書き込むデータ取得処理を実施する圧縮データ取得手段と、そのキャッシュメモリの中に未だ伸長処理が施されていない圧縮データが格納されていれば、その圧縮データに対する伸長処理を実施するデータ伸長手段とを設け、制御手段が、データの先読み処理要求を受けると、その圧縮データ取得手段を起動して、指定のブロックの圧縮データのデータ取得処理を指示し、データ読み出し要求を受けると、その圧縮データ取得手段を起動して、指定のブロックの圧縮データのデータ取得処理と上記ブロックに続く次のブロックの圧縮データのデータ取得処理を指示するとともに、そのデータ伸長手段を起動して、そのキャッシュメモリに書き込まれた指定のブロックの圧縮データに対する伸長処理を指示し、そのデータ伸長手段による伸長処理と圧縮データ取得手段による次のブロックの圧縮データのデータ取得処理を並行して実施させるようにしたものである。 A data access apparatus according to the present invention includes a compressed data acquisition unit that performs data acquisition processing that reads compressed data of a specified block from a recording medium and writes the compressed data to a cache memory, and decompresses the compressed data in the cache memory. If compressed data that has not been processed is stored, a data decompression unit that performs decompression processing on the compressed data is provided. When the control unit receives a data prefetch processing request, the compressed data acquisition unit Start up, instruct the data acquisition processing of the compressed data of the specified block, and upon receiving a data read request, start up the compressed data acquisition means, followed by the data acquisition processing of the compressed data of the specified block and the above block Instructs the data acquisition processing of the compressed data of the next block and activates the data decompression means The decompression process for the compressed data of the specified block written in the cache memory is instructed, and the decompression process by the data decompression means and the data acquisition process of the compressed data of the next block by the compressed data acquisition means are performed in parallel It is made to let you.
この発明によれば、記録媒体から指定のブロックの圧縮データを読み込んで、その圧縮データをキャッシュメモリに書き込むデータ取得処理を実施する圧縮データ取得手段と、そのキャッシュメモリの中に未だ伸長処理が施されていない圧縮データが格納されていれば、その圧縮データに対する伸長処理を実施するデータ伸長手段とを設け、制御手段が、データの先読み処理要求を受けると、その圧縮データ取得手段を起動して、指定のブロックの圧縮データのデータ取得処理を指示し、データ読み出し要求を受けると、その圧縮データ取得手段を起動して、指定のブロックの圧縮データのデータ取得処理と上記ブロックに続く次のブロックの圧縮データのデータ取得処理を指示するとともに、そのデータ伸長手段を起動して、そのキャッシュメモリに書き込まれた指定のブロックの圧縮データに対する伸長処理を指示し、そのデータ伸長手段による伸長処理と圧縮データ取得手段による次のブロックの圧縮データのデータ取得処理を並行して実施させるように構成したので、ランダムアクセスとシーケンシャルアクセスが混在している場合でも、処理の高速化を図ることができる効果がある。 According to the present invention, the compressed data acquisition means for executing the data acquisition process for reading the compressed data of the specified block from the recording medium and writing the compressed data to the cache memory, and the decompression process is still performed in the cache memory. If uncompressed compressed data is stored, a data decompression unit for performing decompression processing on the compressed data is provided, and when the control unit receives a data prefetch processing request, the compressed data acquisition unit is activated. Instructing the data acquisition process of the compressed data of the specified block and receiving the data read request, activates the compressed data acquisition means, the data acquisition process of the compressed data of the specified block and the next block following the block Instructing the data acquisition processing of the compressed data of the first and starting the data decompression means Instructs decompression processing for the compressed data of the specified block written in the memory, and performs the decompression processing by the data decompression means and the data acquisition processing of the compressed data of the next block by the compressed data acquisition means in parallel Therefore, even when random access and sequential access are mixed, there is an effect that processing speed can be increased.
実施の形態1.
図1はこの発明の実施の形態1によるデータアクセス装置を示す構成図である。
図1において、データアクセス装置1は記録媒体2から指定のブロックの圧縮データを読み込んで、その圧縮データをキャッシュメモリ3に格納し、その圧縮データに対する伸長処理を実施する装置である。
記録媒体2は例えばハードディスクやメモリカードのほか、CD−ROMやDVD−ROMなどのメモリが該当し、記録媒体2には、複数のブロックの圧縮データ(非圧縮データが一定のサイズ毎(例えば、32KByte単位)のブロックに分割されて、それぞれのブロック毎に圧縮されたデータ)が連結されている連結ファイルが記録されている。
キャッシュメモリ3はデータアクセス装置1により読み込まれた圧縮データなどを一時的に格納するメモリである。
1 is a block diagram showing a data access apparatus according to
In FIG. 1, a
The
The
アプリケーションソフト実行部11はユーザインターフェースや情報の画面表示などを行うアプリケーションソフトウェアを実行する処理部である。
データアクセス処理部12はアプリケーションソフト実行部11におけるデータの先読み処理要求やデータ読み出し要求にしたがって必要なデータに対するアクセスを行う処理部である。
The application
The data
データ取得処理部13はアクセス制御処理部15の指示の下、記録媒体2から指定のブロックの圧縮データを読み込んで、その圧縮データをキャッシュメモリ3に書き込むデータ取得処理を実施する。なお、データ取得処理部13は圧縮データ取得手段を構成している。
データ伸長処理部14はデータ伸長制御処理部16の指示の下、キャッシュメモリ3に格納されている圧縮データに対する伸長処理を実施する。
Under the instruction of the access
The data
アクセス制御処理部15はアプリケーションソフト実行部11からデータの先読み処理要求を受けると、圧縮データ取得処理部13を起動して、指定のブロックの圧縮データのデータ取得処理を指示し、アプリケーションソフト実行部11からデータ読み出し要求を受けると、データ取得処理部13を起動して、指定のブロックの圧縮データのデータ取得処理と上記ブロックに続く次のブロックの圧縮データのデータ取得処理を指示するとともに、データ伸長処理部14を起動して、キャッシュメモリ3に書き込まれた指定のブロックの圧縮データに対する伸長処理を指示し、データ伸長処理部14による伸長処理とデータ取得処理部13による次のブロックの圧縮データのデータ取得処理を並行して実施させる。なお、アクセス制御処理部15は制御手段を構成している。
Upon receiving a data prefetch processing request from the application
データ伸長制御処理部16はキャッシュメモリ3の中に未だ伸長処理が施されていない圧縮データが格納されていれば、その圧縮データに対する伸長処理をデータ伸長処理部14に要求するとともに、アクセス制御処理部15の指示の下、データ伸長処理部14の起動/停止を制御する処理を実施する。
なお、データ伸長処理部14及びデータ伸長制御処理部16からデータ伸長手段が構成されている。
If compressed data that has not been subjected to decompression processing is stored in the
The data
図1の例では、データアクセス装置1の構成要素であるアプリケーションソフト実行部11、データ取得処理部13、データ伸長処理部14、アクセス制御処理部15及びデータ伸長制御処理部16のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路)で構成されているものを想定しているが、データアクセス装置1がコンピュータで構成される場合には、アプリケーションソフト実行部11、データ取得処理部13、データ伸長処理部14、アクセス制御処理部15及びデータ伸長制御処理部16の処理内容が記述されているデータアクセスプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているデータアクセスプログラムを実行するようにしてもよい。
In the example of FIG. 1, each of the application
図2はこの発明の実施の形態1によるデータアクセス装置1のアクセス制御処理部15の処理内容を示すフローチャートである。
図3はこの発明の実施の形態1によるデータアクセス装置1のデータ伸長制御処理部16の処理内容を示すフローチャートである。
図4はこの発明の実施の形態1によるデータアクセス装置1のデータ取得処理部13の処理内容を示すフローチャートである。
図5はこの発明の実施の形態1によるデータアクセス装置1のデータ伸長処理部14の処理内容を示すフローチャートである。
FIG. 2 is a flowchart showing the processing contents of the access
FIG. 3 is a flowchart showing the processing contents of the data decompression
FIG. 4 is a flowchart showing the processing contents of the data
FIG. 5 is a flowchart showing the processing contents of the data
次に動作について説明する。
データアクセス装置1により読み出されるデータは記録媒体2に記録されているが、読み出し対象のデータである圧縮データは、図6に示すように、非圧縮データが一定のサイズ毎(例えば、32KByte単位)のブロックに分割されて、それぞれのブロック毎に圧縮されたデータである。
データ圧縮後のデータサイズは一般的に不定となるため、圧縮データには、ヘッダ部が設けられ、圧縮後の各ブロックのファイル内での開始位置情報がヘッダ部に記録されている。
Next, the operation will be described.
Data to be read by the
Since the data size after data compression is generally indefinite, the compressed data is provided with a header portion, and start position information in the file of each block after compression is recorded in the header portion.
図6の例では、非圧縮データが一定のサイズ毎のブロックに分割されているものを示しているが、非圧縮データをブロック毎に分割する際に、各ブロックのサイズを一定とせずに、例えば、地図データにおけるエリア単位など、データ内容の境界に対応している分割であってもよい。
ただし、この場合、非圧縮データにおける各ブロックの開始位置をブロック番号から求めることができないため、圧縮データのヘッダ部には、各ブロックに対応して非圧縮データでの先頭位置と、圧縮データでの先頭位置を記録しておく必要がある。
In the example of FIG. 6, the non-compressed data is shown to be divided into blocks of a certain size, but when the uncompressed data is divided into blocks, the size of each block is not constant, For example, it may be a division corresponding to a boundary of data contents such as an area unit in map data.
However, in this case, since the start position of each block in the uncompressed data cannot be obtained from the block number, the header portion of the compressed data includes the start position of the uncompressed data and the compressed data corresponding to each block. It is necessary to record the start position of.
図7はキャッシュメモリ3に格納されるデータの形式を示す説明図である。
キャッシュメモリ3に格納されるデータには、ファイル番号、ブロック番号、リードカウント、伸長状態を示す管理情報が先頭に付加されている。
「ファイル番号」はデータのリード元ファイルを示し、個々のファイルと一対一で対応付けられた番号である。
「ブロック番号」はファイル内で先頭から何番目のブロックに対応するデータであるかを示す番号である。
「リードカウント」はデータ取得処理部13がデータ取得処理を実施する毎にインクリメントされる番号である。この番号を参照することで、キャッシュメモリ3におけるデータの書き込み順序を特定することができる。
「伸長状態」は該当データの伸長処理適用状態を示す情報であり、“未伸長”、“伸長処理中”、“伸長済”のいずれかの状態を明示するものである。
FIG. 7 is an explanatory diagram showing the format of data stored in the
Management information indicating the file number, block number, read count, and decompression state is added to the head of the data stored in the
“File number” indicates a file from which data is read, and is a number associated with each file on a one-to-one basis.
The “block number” is a number indicating the number of blocks from the top in the file.
The “read count” is a number incremented every time the data
The “decompression state” is information indicating the decompression process application state of the corresponding data, and clearly indicates one of the states “not decompressed”, “in decompression process”, and “extended”.
アプリケーションソフト実行部11は、アプリケーションソフトウェアを実行することで、例えば、ユーザーの操作や自動車の移動に伴って発生するランダムなファイルアクセスや、シーケンシャルなファイルアクセスの要求を受け付ける。
アプリケーションソフト実行部11は、ファイルアクセスのデータが、先読み処理が可能なデータであれば、データの先読み処理要求をアクセス制御処理部15に出力し、ファイルアクセスのデータが、即時読み出しが必要なデータであれば、データ読み出し要求をアクセス制御処理部15に出力する。
なお、アプリケーションソフト実行部11から出力されるデータの先読み処理要求及びデータ読み出し要求には、読み出し対象のデータを特定するファイル番号とブロック番号が含まれている。
By executing the application software, the application
If the file access data is data that can be pre-read, the application
Note that the data prefetch processing request and the data read request output from the application
アクセス制御処理部15は、アプリケーションソフト実行部11から出力される要求を確認し(図2のステップST1)、その要求がデータの先読み処理要求であれば、その先読み処理要求に含まれているファイル番号に対応するファイルの中で、その先読み処理要求に含まれているブロック番号に対応するブロックの圧縮データが既にキャッシュメモリ3に格納されているか否かを確認する(ステップST2)。
アクセス制御処理部15は、そのブロック番号に対応するブロックの圧縮データが既にキャッシュメモリ3に格納されていれば、記録媒体2から新たに当該圧縮データを読み込む必要がないため、その圧縮データのデータ取得処理を圧縮データ取得処理部13に要求しないが、その圧縮データがキャッシュメモリ3に格納されていなければ、その圧縮データのデータ取得処理を圧縮データ取得処理部13に要求する(ステップST3)。
即ち、アクセス制御処理部15は、圧縮データ取得処理部13を起動して、その先読み処理要求に含まれているファイル番号に対応する連結ファイルの中から、その先読み処理要求に含まれているブロック番号に対応するブロックの圧縮データのデータ取得処理を指示する。
The access
If the compressed data of the block corresponding to the block number has already been stored in the
That is, the access
以下、圧縮データ取得処理部13におけるデータ取得処理の内容を具体的に説明する。
圧縮データ取得処理部13は、アクセス制御処理部15からデータ取得処理の指示を受けると、新たな圧縮データをキャッシュメモリ3に書き込むに際して、キャッシュメモリ3の容量が足りているか否かを確認する(図4のステップST31)。
容量確認の方法としては、例えば、キャッシュメモリ3に格納されるデータの数を管理し、一定数を超える場合には、容量不足と判定する方法がある。
ただし、実際にキャッシュメモリ3に格納されるデータ量をカウントし、そのデータ量が一定値を越える場合に、容量不足と判定するようにしてもよい。
Hereinafter, the content of the data acquisition process in the compressed data
When receiving the data acquisition processing instruction from the access
As a capacity confirmation method, for example, there is a method of managing the number of data stored in the
However, the amount of data actually stored in the
圧縮データ取得処理部13は、キャッシュメモリ3の容量が足りていない場合、キャッシュメモリ3に格納されているデータの削除を行う(ステップST32)。
例えば、キャッシュメモリ3に格納されているデータの中で、先に書き込まれたデータから順番に削除するようにする。
When the capacity of the
For example, data stored in the
圧縮データ取得処理部13は、新たな圧縮データを書き込む容量を確保すると、記録媒体2に記録されている複数の連結ファイルの中から、先読み処理要求に含まれているファイル番号に対応する連結ファイルを検索する。
そして、圧縮データ取得処理部13は、その連結ファイルの中から、先読み処理要求に含まれているブロック番号に対応するブロックの圧縮データを読み込み、その圧縮データをキャッシュメモリ3に格納する(ステップST33)。
When the compressed data
Then, the compressed data
このとき、圧縮データ取得処理部13は、その圧縮データの管理情報を設定する(ステップST34)。
即ち、圧縮データ取得処理部13は、図7に示すように、その圧縮データの管理情報として、先読み処理要求に含まれているファイル番号及びブロック番号を設定するとともに、リードカウント及び伸長状態「未伸長」を設定する。
なお、リードカウントについては、その時点において、圧縮データ取得処理部13が保持しているリードカウント(過去に圧縮データ取得処理部13が圧縮データをキャッシュメモリ3に書き込んだ回数)をインクリメントした値である。
At this time, the compressed data
That is, as shown in FIG. 7, the compressed data
Note that the read count is a value obtained by incrementing the read count held by the compressed data
アクセス制御処理部15は、圧縮データ取得処理部13による上記のデータ取得処理が終了するまで待機するが(図2のステップST4)、データ伸長制御処理部16に対して、処理の空き時間にデータ伸長処理部14を起動させる指令を出力しているので、データ伸長処理部14は、圧縮データ取得処理部13がデータ取得処理を実施しているとき、キャッシュメモリ3に対する書き込みが完了したファイルの圧縮データから順番にデータ伸長処理を実施する。
The access
以下、データ伸長制御処理部16及びデータ伸長処理部14の処理内容を具体的に説明する。
データ伸長制御処理部16は、キャッシュメモリ3の中に未だ伸長処理が施されていない圧縮データが格納されているか否かを確認する(図3のステップST21)。
キャッシュメモリ3に格納されている圧縮データの管理情報における伸長状態を参照して、伸長処理が施されているか否かを確認する。
データ伸長制御処理部16は、キャッシュメモリ3の中に未だ伸長処理が施されていない圧縮データが格納されていれば、その圧縮データに対する伸長処理をデータ伸長処理部14に要求する(ステップST22)。
The processing contents of the data decompression
The data decompression
With reference to the decompression state in the management information of the compressed data stored in the
If the compressed data that has not been subjected to decompression processing is stored in the
データ伸長処理部14は、データ伸長制御処理部16から伸長処理要求を受けると、キャッシュメモリ3に格納されている圧縮データに対する伸長処理を実施する。
即ち、データ伸長処理部14は、データ伸長制御処理部16から伸長処理要求を受けると、キャッシュメモリ3に格納されている伸長処理対象の圧縮データ(未伸長の圧縮データ)の管理情報における伸長状態を「伸長処理中」に変更する(図5のステップST41)。
When receiving a decompression processing request from the data decompression
That is, when the data
次に、データ伸長処理部14は、キャッシュメモリ3から伸長処理対象の圧縮データを取得し(ステップST42)、その圧縮データに対する伸長処理を実施する(ステップST43)。
そして、データ伸長処理部14は、伸長処理後のデータをキャッシュメモリ3に格納し(ステップST44)、そのデータの管理情報における伸長状態を「伸長済」に変更する(ステップST45)。
Next, the data
The data
データ伸長制御処理部16は、データ伸長処理部14における伸長処理が終了するまで待機し(図3のステップST23)、その伸長処理が終了すると、アクセス制御処理部15から伸長制御処理停止要求が出力されているか否かを確認する(ステップST24)。
伸長制御処理停止要求は、後述するように、アプリケーションソフト実行部11からデータ読み出し要求を受けたときに、アクセス制御処理部15から出力される要求である。
データ伸長制御処理部16は、アクセス制御処理部15から伸長制御処理停止要求を受けなければ、ステップST21〜ST23の処理を繰り返し実施するが、アクセス制御処理部15から伸長制御処理停止要求を受けると、アクセス制御処理部15から伸長制御処理再開要求を受けるまで待機する(ステップST25)。
The data decompression
The decompression control processing stop request is a request output from the access
If the data decompression
次に、アクセス制御処理部15は、アプリケーションソフト実行部11から出力される要求を確認し(図2のステップST1)、その要求がデータ読み出し要求であれば、データ伸長処理部14における伸長処理を一旦停止させるため、伸長制御処理停止要求をデータ伸長制御処理部16に出力する(ステップST5)。
次に、アクセス制御処理部15は、その要求がデータ読み出し要求に含まれているファイル番号に対応するファイルの中で、そのデータ読み出し要求に含まれているブロック番号に対応するブロックの圧縮データが既にキャッシュメモリ3に格納されているか否かを確認する(ステップST6)。
Next, the access
Next, the access
アクセス制御処理部15は、そのブロック番号に対応するブロックの圧縮データがキャッシュメモリ3に格納されていなければ、その圧縮データのデータ取得処理を圧縮データ取得処理部13に要求する(ステップST7)。
即ち、アクセス制御処理部15は、圧縮データ取得処理部13を起動して、そのデータ読み出し要求に含まれているファイル番号に対応する連結ファイルの中から、そのデータ読み出し要求に含まれているブロック番号に対応するブロックの圧縮データのデータ取得処理を指示する。
圧縮データ取得処理部13におけるデータ取得処理の内容は、先に説明している内容と同様であるため説明を省略する。
アクセス制御処理部15は、圧縮データ取得処理部13によるデータ取得処理が終了するまで待機する(ステップST8)。
If the compressed data of the block corresponding to the block number is not stored in the
That is, the access
The content of the data acquisition process in the compressed data
The access
アクセス制御処理部15は、そのブロック番号に対応するブロックの圧縮データが既にキャッシュメモリ3に格納されていれば、その圧縮データが既に伸長されているか否かを確認する(ステップST9)。
その圧縮データの管理情報における伸長状態を参照して、伸長処理が施されているか否かを確認する。
If the compressed data of the block corresponding to the block number has already been stored in the
With reference to the decompression state in the management information of the compressed data, it is confirmed whether or not decompression processing has been performed.
アクセス制御処理部15は、その圧縮データの管理情報における伸長状態が「伸長済」である場合、新たに当該圧縮データに対する伸長処理を実施する必要がないため、その圧縮データに対する伸長処理をデータ伸長処理部14に要求しないが、その圧縮データの管理情報における伸長状態が「未伸長」である場合、データ伸長処理部14による伸長処理とデータ取得処理部13による次のブロックの圧縮データのデータ取得処理を並行して実施させるため、次のブロックの圧縮データのデータ取得処理を圧縮データ取得処理部13に要求するとともに(ステップST10)、その圧縮データに対する伸長処理をデータ伸長処理部14に要求する(ステップST11)。
圧縮データ取得処理部13におけるデータ取得処理の内容と、データ伸長処理部14による伸長処理の内容は、先に説明している内容と同様であるため説明を省略するが、これにより、指定のブロックの圧縮データの伸長処理と、指定のブロックの次のブロックの圧縮データのデータ取得処理とが並行にして実施される。
When the decompression state in the management information of the compressed data is “decompressed”, the access
The content of the data acquisition process in the compressed data
また、アクセス制御処理部15は、その圧縮データの管理情報における伸長状態が「伸長処理中」である場合も、その圧縮データの伸長処理と並行して、次のブロックの圧縮データのデータ取得処理を実施させるため、次のブロックの圧縮データのデータ取得処理を圧縮データ取得処理部13に要求する(ステップST12)。
アクセス制御処理部15は、データ伸長処理部14による伸長処理が終了するまで待機する(ステップST13)。
The access
The access
アクセス制御処理部15は、データ伸長処理部14による伸長処理が終了すると、キャッシュメモリ3から伸長済のデータを読み出し(ステップST14)、その伸長済のデータをアプリケーションソフト実行部11に出力する。
なお、キャッシュメモリ3に格納されている圧縮データの管理情報における伸長状態を参照して、伸長済か否かを確認する。
最後に、アクセス制御処理部15は、処理の空き時間にデータ伸長処理部14が伸長処理を実施することができる状態に戻すため、伸長制御処理再開要求をデータ伸長制御処理部16に出力する(ステップST15)。
When the decompression processing by the data
Note that the decompression state in the management information of the compressed data stored in the
Finally, the access
ここで、図8はデータの先読み処理要求が連続して発生する場合の処理のタイミングを示す説明図である。
アプリケーションソフト実行部11からデータの先読み処理要求が発生すると、上述したように、記録媒体2に記録されている連結ファイルの中から、先読み処理要求に含まれているファイル番号に対応する連結ファイルが検索され、その連結ファイルの中から、その先読み処理要求に含まれているブロック番号に対応するブロックの圧縮データが読み込まれて、その圧縮データがキャッシュメモリ3に格納される。
また、その圧縮データがキャッシュメモリ3に格納されると、直ちにデータ伸長処理部14によって、その圧縮データに対する伸長処理が実施される。
Here, FIG. 8 is an explanatory diagram showing processing timing when data prefetch processing requests are continuously generated.
When a data prefetch processing request is generated from the application
When the compressed data is stored in the
その結果、データの先読み処理要求が連続して発生すると、図8に示すように、データ取得処理部13によるデータ取得処理とデータ伸長処理部14による伸長処理が並行して実施されることになる。
その後、伸長済のデータに対するデータ読み出し要求がアプリケーションソフト実行部11から発生したときには、データ取得処理部13によるデータ取得処理や、データ伸長処理部14による伸長処理が実施されることなく、キャッシュメモリ3から伸長済のデータを取得することができるようになる。
As a result, when data prefetch processing requests are continuously generated, the data acquisition processing by the data
Thereafter, when a data read request for the decompressed data is generated from the application
図9はデータの先読み処理要求が発生せずに、シーケンシャルなデータ読み出し要求が連続して発生する場合の処理のタイミングを示す説明図である。
この場合、データ読み出し要求が発生したとき、データ取得処理部13によるデータ取得処理とデータ伸長処理部14による伸長処理とを実施する必要があるが、上述したように、データ伸長処理部14が伸長処理を実施しているとき、データ取得処理部13が次のブロックの圧縮データの取得処理を並行して実施するため、処理の高速化を実現することができる。
FIG. 9 is an explanatory diagram showing processing timing when sequential data read requests are continuously generated without generating a data prefetch request.
In this case, when a data read request occurs, it is necessary to perform data acquisition processing by the data
以上で明らかなように、この実施の形態1によれば、記録媒体2から指定のブロックの圧縮データを読み込んで、その圧縮データをキャッシュメモリ3に書き込むデータ取得処理を実施する圧縮データ取得部13と、そのキャッシュメモリ3の中に未だ伸長処理が施されていない圧縮データが格納されていれば、その圧縮データに対する伸長処理を実施するデータ伸長処理部14とを設け、アクセス制御処理部15が、アプリケーションソフト実行部11からデータの先読み処理要求を受けると、圧縮データ取得部13を起動して、指定のブロックの圧縮データのデータ取得処理を指示し、アプリケーションソフト実行部11からデータ読み出し要求を受けると、圧縮データ取得部13を起動して、指定のブロックの圧縮データのデータ取得処理と上記ブロックに続く次のブロックの圧縮データのデータ取得処理を指示するとともに、データ伸長処理部14を起動して、キャッシュメモリ3に書き込まれた指定のブロックの圧縮データに対する伸長処理を指示し、そのデータ伸長処理部14による伸長処理と圧縮データ取得部13による次のブロックの圧縮データのデータ取得処理を並行して実施させるように構成したので、ランダムアクセスとシーケンシャルアクセスが混在している場合でも、処理の高速化を図ることができる効果を奏する。
As is apparent from the above, according to the first embodiment, the compressed
また、この実施の形態1によれば、圧縮データ取得部13が圧縮データをキャッシュメモリ3に書き込む際、キャッシュメモリ3の容量が不足している場合、キャッシュメモリ3に格納されているデータの中で、先に書き込まれたデータから順番に削除するように構成したので、キャッシュメモリ3の容量が不足している場合でも、記録媒体2から圧縮データを読み込んで、その圧縮データをキャッシュメモリ3に書き込むことができる効果を奏する。
Further, according to the first embodiment, when the compressed
実施の形態2.
上記実施の形態1では、圧縮データ取得部13が圧縮データをキャッシュメモリ3に書き込む際、キャッシュメモリ3の容量が不足している場合、キャッシュメモリ3に格納されているデータの中で、先に書き込まれたデータから順番に削除するものについて示したが、圧縮データ取得部13が圧縮データをキャッシュメモリ3に書き込む際、キャッシュメモリ3の容量が不足している場合、キャッシュメモリ3に格納されているデータの中で、最後にアクセスされた時刻が古いデータから順番に削除するようにしてもよく、上記実施の形態1と同様の効果を奏することができる。
In the first embodiment, when the compressed
ただし、この場合、キャッシュメモリ3に格納されているデータの管理情報として、圧縮データをキャッシュメモリ3に格納する際に設定するリードカウントに加え、該当ファイルに対するデータ読み出し要求発生時に設定するリードカウントが必要となる。
データ読み出し要求発生時のリードカウントは、アクセス制御処理部15が管理し、データ読み出し要求が発生すると、該当するデータの管理情報におけるリードカウントをインクリメントするようにする。
これにより、最もファイルアクセス履歴が古いファイルのデータは、リードカウントが最も小さいものとなり、削除対象となる。
一度もアクセスされていないファイルが複数存在する場合には、一度もアクセスされていないファイル中で最も小さいリードカウントのデータが削除対象となる。
However, in this case, as the management information of the data stored in the
The read count when the data read request is generated is managed by the access
As a result, the data of the file having the oldest file access history has the smallest read count and is to be deleted.
When there are a plurality of files that have never been accessed, the data having the smallest read count among the files that have never been accessed is to be deleted.
1 データアクセス装置、2 記録媒体、3 キャッシュメモリ、11 アプリケーションソフト実行部、12 データアクセス処理部、13 データ取得処理部(圧縮データ取得手段)、14 データ伸長処理部(データ伸長手段)、15 アクセス制御処理部(制御手段)、16 データ伸長制御処理部(データ伸長手段)。
DESCRIPTION OF
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009006497A JP5235692B2 (en) | 2009-01-15 | 2009-01-15 | Data access device and data access program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009006497A JP5235692B2 (en) | 2009-01-15 | 2009-01-15 | Data access device and data access program |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010165151A true JP2010165151A (en) | 2010-07-29 |
JP2010165151A5 JP2010165151A5 (en) | 2012-01-26 |
JP5235692B2 JP5235692B2 (en) | 2013-07-10 |
Family
ID=42581263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009006497A Expired - Fee Related JP5235692B2 (en) | 2009-01-15 | 2009-01-15 | Data access device and data access program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5235692B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103076992A (en) * | 2012-12-27 | 2013-05-01 | 杭州华为数字技术有限公司 | Memory data buffering method and device |
WO2013175909A1 (en) | 2012-05-25 | 2013-11-28 | クラリオン株式会社 | Data compression/decompression device |
CN107250991A (en) * | 2015-02-13 | 2017-10-13 | 谷歌公司 | Transparent hardware additional storage decompression |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03147013A (en) * | 1989-11-01 | 1991-06-24 | Casio Comput Co Ltd | Data updating device |
JPH05122532A (en) * | 1990-10-10 | 1993-05-18 | Fuji Xerox Co Ltd | Image processor |
JPH1115371A (en) * | 1997-06-25 | 1999-01-22 | Fujitsu Ten Ltd | Map displaying apparatus |
JPH11174952A (en) * | 1997-12-11 | 1999-07-02 | Fumio Mizoguchi | Reading method for map data in lookahead and map scrolling method |
JP2001092443A (en) * | 1999-09-22 | 2001-04-06 | Yamaha Corp | Image plotting system and control method for the system |
JP2003131946A (en) * | 2001-10-19 | 2003-05-09 | Nec Corp | Method and device for controlling cache memory |
JP2003173613A (en) * | 2001-11-30 | 2003-06-20 | Kenwood Corp | Disk player and communication information reproducing device and audio information reproducing method |
JP2003272302A (en) * | 2002-03-19 | 2003-09-26 | Toshiba Corp | Information reproducing device and information reproducing method |
JP2007253872A (en) * | 2006-03-24 | 2007-10-04 | Fujitsu Ten Ltd | On-vehicle machine |
JP2007293433A (en) * | 2006-04-21 | 2007-11-08 | Ricoh Co Ltd | Document management system |
JP2008090620A (en) * | 2006-10-02 | 2008-04-17 | Fujitsu Ten Ltd | Terminal device |
-
2009
- 2009-01-15 JP JP2009006497A patent/JP5235692B2/en not_active Expired - Fee Related
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03147013A (en) * | 1989-11-01 | 1991-06-24 | Casio Comput Co Ltd | Data updating device |
JPH05122532A (en) * | 1990-10-10 | 1993-05-18 | Fuji Xerox Co Ltd | Image processor |
JPH1115371A (en) * | 1997-06-25 | 1999-01-22 | Fujitsu Ten Ltd | Map displaying apparatus |
JPH11174952A (en) * | 1997-12-11 | 1999-07-02 | Fumio Mizoguchi | Reading method for map data in lookahead and map scrolling method |
JP2001092443A (en) * | 1999-09-22 | 2001-04-06 | Yamaha Corp | Image plotting system and control method for the system |
JP2003131946A (en) * | 2001-10-19 | 2003-05-09 | Nec Corp | Method and device for controlling cache memory |
JP2003173613A (en) * | 2001-11-30 | 2003-06-20 | Kenwood Corp | Disk player and communication information reproducing device and audio information reproducing method |
JP2003272302A (en) * | 2002-03-19 | 2003-09-26 | Toshiba Corp | Information reproducing device and information reproducing method |
JP2007253872A (en) * | 2006-03-24 | 2007-10-04 | Fujitsu Ten Ltd | On-vehicle machine |
JP2007293433A (en) * | 2006-04-21 | 2007-11-08 | Ricoh Co Ltd | Document management system |
JP2008090620A (en) * | 2006-10-02 | 2008-04-17 | Fujitsu Ten Ltd | Terminal device |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013175909A1 (en) | 2012-05-25 | 2013-11-28 | クラリオン株式会社 | Data compression/decompression device |
CN103076992A (en) * | 2012-12-27 | 2013-05-01 | 杭州华为数字技术有限公司 | Memory data buffering method and device |
CN107250991A (en) * | 2015-02-13 | 2017-10-13 | 谷歌公司 | Transparent hardware additional storage decompression |
CN107250991B (en) * | 2015-02-13 | 2020-08-28 | 谷歌有限责任公司 | Transparent hardware assisted memory decompression |
Also Published As
Publication number | Publication date |
---|---|
JP5235692B2 (en) | 2013-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5279332B2 (en) | Image processing apparatus, image processing method, and program | |
JP2009003934A (en) | Data management system, data management method, and computer-readable recording medium in which program for performing data management method is recorded | |
JP5235692B2 (en) | Data access device and data access program | |
JP2018169773A (en) | Storage device, method for controlling storage device and program | |
KR100982118B1 (en) | Recording device, recording method, and recording medium | |
US7598891B2 (en) | Data development device and data development method | |
JP2007080240A (en) | Technique for accessing file allocation table | |
US7689807B2 (en) | Mass storage device, mass storage controller and methods for use therewith | |
JP2007102436A (en) | Storage controller and storage control method | |
JP2010079535A (en) | Data access device | |
JP5304154B2 (en) | Drive device, mount program, and mount method | |
JP6080492B2 (en) | Information processing apparatus, activation method, and program | |
JP4748807B2 (en) | Decoding circuit | |
JP2016012382A (en) | Information processor, information processing method, and program | |
JP2006127401A (en) | Medium storage device, cache segment switch method for the same, and medium storage system | |
JP2010165151A5 (en) | ||
JP2001290607A (en) | Command queuing control method for device driver and computer system | |
JP4244836B2 (en) | Computer system, backup / restore method thereof, host computer, program | |
JP2013246646A (en) | Information processor and data reading method | |
JP4798003B2 (en) | Recording apparatus, recording method, program, and optical disk recording apparatus | |
JP2010009549A (en) | Data processor and data processing method | |
JP2006039756A (en) | Medium storage device, method for changing cache segment of medium storage device, and medium storage system | |
JP2022177671A (en) | Information processing device and storage control method | |
JP2004078408A (en) | Recording device and method, recording medium and program | |
JPH05274198A (en) | Information processor |
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 |