JP4348883B2 - データ再生装置及びデータキャッシュ方法 - Google Patents
データ再生装置及びデータキャッシュ方法 Download PDFInfo
- Publication number
- JP4348883B2 JP4348883B2 JP2001250903A JP2001250903A JP4348883B2 JP 4348883 B2 JP4348883 B2 JP 4348883B2 JP 2001250903 A JP2001250903 A JP 2001250903A JP 2001250903 A JP2001250903 A JP 2001250903A JP 4348883 B2 JP4348883 B2 JP 4348883B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage means
- recording position
- stored
- management
- 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
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、記録媒体を再生するデータ再生装置のデータアクセスに関するものであり、詳しくは、記録媒体へのアクセス時間を短縮するデータ再生装置及びデータキャッシュ方法に関する。
【0002】
【従来の技術】
光ディスクに記録されるデータには、大別するとユーザが利用可能なデータであるユーザデータと、ユーザデータが記録されている位置を示す情報や、ユーザデータに関する付加情報を示す管理データとがある。この2つのデータは、光ディスクの所定の論理フォーマットに従って光ディスク上に記録される。
【0003】
また、上述したようなデータが記録されている光ディスクを再生する光ディスクドライブは、光ディスク上に記録されたデータへのアクセススピードを向上させるために、高速アクセス可能なキャッシュメモリを備えている。
【0004】
一般に光ディスクドライブなどは、ホストPC(Personal Computer)に接続されて用いられているが、記録媒体に対するデータの読み出し処理はホストコンピュータとの間でのデータ転送処理速度よりも遅いため、キャッシュメモリを設けることでデータ再生処理の高速化を図っている。
【0005】
例えば、ホストPCから所定のデータのアクセス要求があった場合、光ディスクドライブは上記アクセス要求のあったデータを読み出し、さらにアクセス要求のあったデータのアドレスから連続するアドレスのデータをキャッシュメモリが一杯になるまで読み出し、キャッシュメモリにキャッシュしておく。これによりキャッシュメモリにキャッシュしたデータにアクセス要求がきた場合、直ちに読み出してホストPCへ送信することで高速アクセスが可能となる。
【0006】
【発明が解決しようとする課題】
しかし、上述のように、単純にアクセス要求のあったデータから連続したアドレスのデータをキャッシュメモリに記憶させると、アドレスが連続するデータストリームに対するアクセス要求があった場合や、キャッシュメモリの記憶容量内で収まる量のデータに対するアクセス要求があった場合にのみキャッシュヒットすることになるため、キャッシュヒット率は高くなく、単純にキャッシュメモリの記憶容量を増加した場合でも、メモリ量の増加に見合ったヒット率の向上が期待できないといった問題があった。
【0007】
光ディスク上に記録されているデータのうち管理情報は、ユーザデータの光ディスク上の記録位置を特定するために用いられるため、データ量が少ないにもかかわらず、ホストPCからのアクセス率は非常に高い。
【0008】
そこで、特開平11−175381号公報では、光磁気ディスク上に記録されている管理情報をユーザデータと分離させて光磁気ディスクドライブのキャッシュメモリにキャッシュし、アクセス頻度の高い管理情報をキャッシュメモリ内にできるだけ常駐させるようにし、キャッシュヒット率を高めるといった手法が提案されている。
【0009】
しかし、上述の光磁気ディスクドライブで分離できる光磁気ディスク上に記録された管理情報は、Boot Sector、FAT(File Allocation Table)、Root Directoryといった所定の論理フォーマットにおいて規定された固定のアドレスに記録された管理情報に限定されているため、フォーマット上、記録される位置が規定されていないSub Directoryなどの管理情報はユーザデータと分離してキャッシュすることができないといった問題がある。
【0010】
そこで、本発明は上述したような問題を解決するために案出されたものであり、記録媒体に記録されているデータにおいて、論理フォーマットで規定されていれない管理情報もユーザデータと分離してキャッシュメモリにキャッシュすることでデータアクセススピードを向上させるデータ再生装置及びデータキャッシュ方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
上述の目的を達成するために、本発明に係るデータ再生装置は、ユーザが利用可能なユーザデータと、上記ユーザデータを階層構造をなすファイルとして管理する第1の管理データ及び第2の管理データとが所定の論理フォーマットに基づいて記録された記録媒体から所定のデータを再生する再生手段を有するデータ再生装置において、上記記録媒体の上記所定の論理フォーマットを識別するフォーマット識別手段と、上記フォーマット識別手段によって上記記録媒体の論理フォーマットが識別されたことに応じて、上記論理フォーマットで上記記録媒体における記録位置が規定されている第1の管理情報の記録媒体上の記録位置アドレスを取得する第1のアドレス取得手段と、上記第1の管理データ又は上記第2の管理データから上記論理フォーマットで記録媒体における記録位置が規定されていない第2の管理情報の記録媒体上の記録位置アドレスを取得する第2のアドレス取得手段と、上記第1の記録位置アドレスと、上記第2の記録位置アドレスとを配列したパステーブルを生成するパステーブル生成手段と、上記パステーブル生成手段で生成されたパステーブルを記憶する第1の記憶手段と、上記再生手段で上記記録媒体から再生されたデータを上記データが記録されている上記記録媒体上の記録位置を示す記録位置アドレスと共に一時的に記憶する第2の記憶手段と、上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとを比較する比較手段と、上記比較手段によって比較した結果、上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとが一致した場合、上記第2の記憶手段に一時的に記憶された上記データを、上記第1の管理データまたは上記第2の管理データであると判定する判定手段と、上記判定手段によって、上記第2の記憶手段に一時的に記憶された上記データが上記第1の管理データ又は上記第2の管理データであると判定されたことに応じて、上記データを上記第2の記憶手段から抜き出すデータ抜き出し手段と、上記データ抜き出し手段によって抜き出された上記第1の管理データ又は上記第2の管理データである上記データを一時的に記憶する第3の記憶手段と、外部装置から送信される上記記録媒体に記録されている所定のデータの再生を要求するデータ再生要求命令を受信する受信手段と、上記受信手段でデータ再生要求命令を受信したことに応じて、上記データ再生要求命令のあったデータを上記第2の記憶手段に記憶されているユーザデータから検索する第1の検索手段と、上記第1の検索手段で上記データ再生要求命令のあったデータが検索されなかった場合、上記第3の記憶手段に記憶されている上記第1の管理データ又は上記第2の管理データから検索する第2の検索手段と、上記第1の検索手段又は上記第2の検索手段で上記データ再生要求命令のあったデータが検索された場合、当該データを読み出し、上記第2の検索手段で検索されなかった場合、上記再生手段を制御して上記記録媒体に記録されている上記データ再生要求命令されたデータを再生させるよう制御する制御手段とを備えることを特徴とする。
【0012】
上述の目的を達成するために、本発明に係るデータキャッシュ方法は、ユーザが利用可能なユーザデータと、上記ユーザデータを階層構造をなすファイルとして管理する第1の管理データ及び第2の管理データとが所定の論理フォーマットに基づいて記録された記録媒体から所定のデータを再生する再生手段を有するデータ再生装置のデータキャッシュ方法において、上記記録媒体の上記所定の論理フォーマットを識別し、上記記録媒体の論理フォーマットが識別されたことに応じて、上記論理フォーマットで上記記録媒体における記録位置が規定されている第1の管理情報の記録媒体上の記録位置アドレスを取得し、上記第1の管理データ又は上記第2の管理データから上記論理フォーマットで記録媒体における記録位置が規定されていない第2の管理情報の記録媒体上の記録位置アドレスを取得し、上記第1の記録位置アドレスと、上記第2の記録位置アドレスとを配列したパステーブルを生成し、生成された上記パステーブル第1の記憶手段で記憶し、外部装置から送信される上記記録媒体に記録されている所定のデータの再生を要求するデータ再生要求命令を受信し、上記データ再生要求命令を受信したことに応じて、上記データ再生要求命令のあったデータを第2の記憶手段に記憶されているユーザデータから検索し、上記データ再生要求命令のあったデータが検索された場合、当該データを読み出し、上記データ再生要求命令のあったデータが検索されなかった場合、上記データ再生要求命令のあったデータを第3の記憶手段に記憶されている上記第1の管理データ又は上記第2の管理データから検索し、上記データ再生要求命令のあったデータが上記第3の記憶手段に記憶されている上記第1の管理データ又は上記第2の管理データから検索された場合、上記第1の管理データ又は上記第2の管理データを読み出し、上記データ再生要求命令のあったデータが上記第3の記憶手段に記憶されている上記第1の管理データ又は上記第2の管理データから検索されなかった場合、上記再生手段を制御して上記記録媒体に記録されている上記データ再生要求命令されたデータを再生し、上記記録媒体から再生されたデータを上記データが記録されている上記記録媒体上の記録位置を示す記録位置アドレスと共に上記第2の記憶手段に一時的に記憶し、上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとを比較し、上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとが一致した場合、上記第2の記憶手段に一時的に記憶された上記データを、上記第1の管理データまたは上記第2の管理データであると判定し、上記第2の記憶手段に一時的に記憶された上記データが上記第1の管理データ又は上記第2の管理データであると判定されたことに応じて、上記データを上記第2の記憶手段から抜き出し、上記抜き出された上記第1の管理データ又は上記第2の管理データである上記データを上記第3の記憶手段で一時的に記憶することを特徴とする。
【0013】
【発明の実施の形態】
以下、本発明に係るデータ再生装置及びデータキャッシュ方法の実施の形態を図面を参照にして詳細に説明する。
【0014】
本発明は、図1にブロック図として示した光ディスクドライブに適用される。
【0015】
光ディスクドライブは、所定のデータが記録された、例えば、読み出し専用の媒体であるCD−ROM(Compact Disk Read Only Memory)などの光ディスク1を所定の箇所に装着し、記録されたデータを再生させる装置である。光ディスクドライブは、図示しないホストPCなどに接続され、ユーザは、ホストPCを介して、光ディスクドライブで再生されたデータを利用することができる。
【0016】
まず、光ディスクドライブで再生させるデータが記録された光ディスク1について説明をする。
【0017】
光ディスクドライブで再生する光ディスク1に記録されているデータのファイルフォーマットは、ルートディレクトリーを基本にした階層構造をとり、何層かにわたるサブディレクトリのもとにファイルを格納する階層型のファイルフォーマットとなっている。このような階層型のファイルフォーマットには、例えば、ISO(International Standardization Organization)9660フォーマットがある。ISO9660フォーマットについては、後で詳細に説明をする。
【0018】
光ディスク1に記録されているデータは、ユーザデータと管理データとに大別することができる。ユーザデータは、ユーザが実際に利用可能なデータであり、管理データは、例えば、光ディスク1上に書き込まれているユーザデータの光ディスク1上の所在を示す情報などである。上述のように、光ディスク1が階層構造のファイルフォーマットを使用している場合、ディレクトリが有するパス情報(Directory Record)が管理データに相当する。
【0019】
続いて、図1に示した光ディスクドライブの構成について説明をする。光ディスクドライブは、光ピックアップ2と、スピンドルモータ3と、ディスク制御部4と、キャッシュメモリ5と、メインメモリ6と、ファームウエアプログラム格納部7と、I/F(インターフェース)制御部9と、CPU(Central Processing Unit)10とを備えている。
【0020】
光ピックアップ2は、ディスク制御部4の制御に応じて光ディスク1に光を照射し、反射光を検出することで光ディスク1に記録されているデータを再生する。
【0021】
スピンドルモータ3は、ディスク制御部4の制御に応じて光ディスク1を回転駆動する。
【0022】
ディスク制御部4は、光ピックアップ2の位置決めや、スピンドルモータ3の回転速度を制御する。
【0023】
キャッシュメモリ5は、光ディスク1から再生されたデータを一時的に格納する。キャッシュメモリ5は、高速でデータの読み書きが行える、例えば、SRAM(Static Random Access Memory)などである。
【0024】
図2に示すように、キャッシュメモリ5は、光ピックアップ2で光ディスク1から読み出されたデータを一時的に記憶するキャッシュバッファエリア5aと、光ディスク1上に書き込まれたデータの光ディスク1上での位置を示すテーブルであるパステーブルを記憶するパステーブルエリア5bと、キャッシュバッファエリア5aに一時的に記憶されているユーザデータと管理データの中から抜き出された管理データを記憶するパスキャッシュエリア5cとを備えている。
【0025】
メインメモリ6は、ランダムアクセス可能な、例えば、RAM(Random Access Memory)などでありCPU10の動作時における作業領域となる。
【0026】
ファームウエアプログラム格納部7は、CPU10の動作プログラムを格納し、光ディスク1の論理フォーマットを解析をする論理フォーマット解析部8を備えている。
【0027】
I/F(インターフェース)制御部9は、例えば、SCSI(Small Computer System Interface)よりケーブルを介して接続されたホストPC(Personal Computer)との、コマンドやデータのやり取りを制御(プロトコル制御)する。
【0028】
CPU10は、光ディスクドライブの各機能部を統括的に制御する。
【0029】
続いて、図3を用いて、本発明を適用した光ディスクドライバで使用する光ディスク1が、ISO(International Standardization Organization)9660の論理フォーマットに基づいてフォーマットされているとして、ISO9660論理フォーマットについて説明をする。
【0030】
ISO9660の論理フォーマットに準じた光ディスク1は、ユーザデータの論理フォーマット上の位置を特定し、ユーザデータに関する付加情報が記録された管理情報として、ボリューム記述子11と、PTR(Path Table Record)12と、ルートディレクトリ13と、サブディレクトリ14とを備え、ユーザが利用可能なユーザデータとしてファイル15を備えている。
【0031】
ボリューム記述子11は、ボリュームに関する情報、例えば、ボリューム名、作成者の名前、PTRのLBA(Logical Block Address)位置、ルートディレクトリのLBA位置、ブート情報などを保持している。ISO9660で使用されるボリューム記述子は、ボリュームに関する基本的な情報を含んだPVD(Primary Volume Descriptor)及びPVDと殆ど同じ構造を有し、PVDで指定した以外のディレクトリ階層を構築した場合に使用されるSVD(Supplenmentray Volume Descriptor)である。PVDは、光ディスク1のフォーマットを識別するためのフォーマット識別子として”CD001”有しており、”CD001”が検出されることで、当該光ディスク1の論理フォーマットはISO9660であると判定される。
【0032】
PTR12は、光ディスク1上のディレクトリが有するパス情報(Directory Record)のLBA位置情報、パス情報が書き込まれているブロック数情報などが書き込まれている。
【0033】
ルートディレクトリ13は、階層的なファイルフォーマットにおける階層構造の最上位にあるディレクトリである。サブディレクトリ14は、ルートディレクトリ13よりも下位に位置するディレクトリであり、サブディレクトリ14の下位にさらにサブディレクトリ14があってもよい。ISO9660では、この階層構造はルートディレクトリ13を含んで最大8階層(階層レベル8)まで構築できる。
【0034】
ルートディレクトリ13、サブディレクトリ14は、パス情報(Directory Record)を含んだファイルである。パス情報は、データ同士がどのように関連しているかというデータの論理的構造を示すデータ構造に関する情報である。パス情報によって、光ディスク1上にあるディレクトリの位置、ファイルの位置が規定される。
【0035】
ユーザデータであるファイル15は、ユーザが利用可能なコンテンツなどが、光ディスク1上の所定のディレクトリの下位にブロック単位で記録されている。図3では、ファイル15a、ファイル15bがルートディレクトリ13の下位に属している。
【0036】
続いて、図4に示すフローチャートを用いて、光ディスク1を光ディスクドライブに装着した際の光ディスクドライブの動作について説明をする。
【0037】
ステップS1において、CPU10は、ファームウエアプログラム格納部7に格納されている動作プログラムに従い、ディスク制御部4を制御し、光ディスクドライブの光ピックアップ2、スピンドルモータ3を動作させ光ディスク1のTOC(Table Of Contents)を読み込む。ステップS2において、CPU10は、ファームウエア格納部7の論理フォーマット解析部8を制御して光ディスク1の論理フォーマットを調べる。
【0038】
ステップS2において、ステップS1で読み込んだTOCに基づき光ディスク1に、データトラックが記録されているかどうか判断をする。データトラックがある場合は工程をステップS3へと進め、データトラックがない場合は工程をステップS8へと進める。
【0039】
ステップS3において、CPU10は、当該光ディスクドライブに装着された光ディスク1の論理フォーマットの判定処理を行うモードに入る。CPU10はファームウエアプログラム格納部7に格納されている動作プログラムに従い、ディスク制御部4を制御し、光ディスクドライブの光ピックアップ2、スピンドルモータ3を動作させ光ディスク1のボリューム記述子11を読み込む。
【0040】
ステップS4において、CPU10は、フォーマット解析部8の解析結果によって、光ディスク1が当該光ディスクドライブで認識できる論理フォーマットであると認識された場合は工程をステップS5へと進め、認識出来ない論理フォーマットであった場合は工程をステップS8へと進める。
【0041】
ISO9660のフォーマットであるかどうかを判定するためには、ボリューム記述子11のPVDが確認できればよいので、PVDのスタートLBAである16番目のブロックを読み込み、読み込んだブロックの先頭にPVDを識別するフォーマット識別子”CD001”があるかどうかをファームウエアプログラム格納部7の論理フォーマット解析部8で確認する。
【0042】
また、PVDには、ルートディレクトリ13のLBAと、PTRのLBAとが書き込まれているので、CPU10は、この情報を保存する。
【0043】
ステップS5において、CPU10は、キャッシュメモリ5のパステーブルエリア5bにパステーブルを構築する。
【0044】
まず、CPU10は、ステップS4でPVDを読み込むことで得られたPTRのLBAに基づいて、光ディスク1に記録されているPTRを検出し読み込む。PTRには、光ディスク1上の全てのパス情報(Directory Record)のLBAが書き込まれているので、これをキャッシュメモリ5のパステーブルエリア5bに展開することでパステーブルが構築される。
【0045】
例えば、光ディスク1は、図5に示すように、ディレクトリの階層レベル1がRoot、階層レベル2がSubA、階層レベル3がSubB及びSubCであるようなディレクトリ構造を有しているとした場合、パステーブルは図6に示すようになる。
【0046】
パステーブルはパステーブルエリア5bに構築される際、図6に示すようにLBA順にソートされ、パステーブルの各レコードには1から始まる番号が与えらる。この番号は、パステーブル内において、各パス情報の親ディレクトリを番号で示す(親パステーブル番号)際に用いられるものである。例えば、SubAの親ディレクトリはRootなので親パステーブル番号は1、SubB及びSubCの親ディレクトリはSubAなので親パステーブル番号は2となる。なお、Rootの親パステーブル番号は1とする。
【0047】
ブロック数は、パステーブル構築時の初期状態では、全て”0”と表記する。また、パス情報がキャッシュメモリ5のパスキャッシュエリア5cに保存されている場合に与えられる番号であるページは、パス情報が保存されていない場合は無効な値、例えば”−1”などが与えられる。初期状態においては、パス情報は1つもパスキャッシュエリア5cにキャッシュされていないので、ページは全て無効な値が書き込まれる。
【0048】
パスキャッシュエリア5cにパス情報がキャッシュされている場合、パステーブルエリア5bのパステーブルのページ欄にはキャッシュされている所在を示すページ番号が、例えば、”3”のように示される。CPU10はこれを参照することで、現在、パスキャッシュエリア5cにキャッシュされているパス情報の所在を知ることができる。
【0049】
ステップS6において、CPU10は、パステーブルがエラーなく構築されたかどうかを判断する。パステーブルがエラーなしに構築された場合は工程をステップS7へと進め、エラーが生じパステーブルの構築に失敗した場合は工程をステップS8へと進める。
【0050】
ステップS7において、光ディスクドライブは、構築されたパステーブルを使用したキャッシュ処理をするモードに入る。
【0051】
ステップS8において、光ディスクドライブは、パステーブルの構築に失敗したことに基づいて、パステーブルを使用しない通常のキャッシュ処理をするモードに入る。
【0052】
このようにして、光ディスクドライブは、ISO9660にフォーマットされた光ディスク1を装着し、光ディスク1に記録されているPTRを読み込むことで、光ディスク1にパステーブルを構築し、構築したパステーブルをキャッシュメモリ5のパステーブルエリア5bに記憶させることで、光ディスク1の全てのパス情報のLBA位置を把握することができる。
【0053】
続いて、図7に示すフローチャートを用いて、パステーブルを使用したキャッシュ処理モードでの光ディスクドライブのRead処理動作について説明をする。
【0054】
ステップS11において、光ディスクドライブは、図示しないホストPCから送信されるRead要求を受信する。
【0055】
ステップS12において、CPU10は、ステップS11のRead要求に応じて、キャッシュメモリ5のキャッシュバッファエリア5aを検索する。
【0056】
ステップS13において、Read要求されたデータがキャッシュメモリ5のキャッシュバッファエリア5aでキャッシュヒットしたかどうかを判定する。キャッシュヒットした場合は工程をステップS14へと進め、キャッシュヒットしない場合は工程をステップS15へと進める。
【0057】
ステップS14において、CPU10は、ステップS13おいて、Read要求されたデータがキャッシュバッファ5a内でキャッシュヒットしたことに応じて、キャッシュヒットしたデータを取り出しホストPCへ送信する。ステップS14の工程が終了するとデータのRead処理は終了する。
【0058】
ステップS15において、CPU10は、ステップS13でキャッシュバッファエリア5a内のデータにキャッシュヒットしなかったことに応じて、パステーブルエリア5b内のパステーブルを検索する。
【0059】
ステップS16において、CPU10は、パステーブルを検索した結果、Read要求されたデータがパスデータである場合は工程をステップS17へと進め、パスデータでない場合は工程をステップS19へと進める。
【0060】
ステップS17において、CPU10は、パステーブルのページ番号を参照し、Read要求されたデータがキャッシュバッファエリア5cにキャッシュされているかどうかを判定する。ページ番号欄に所定のキャッシュバッファエリア5のキャッシュ番号が記されていればキャッシュヒットとなり工程をステップS18へと進め、同じくページ番号欄に、例えば、”−1”などの無効な値が記されていればキャッシュヒットしないこととなり工程をステップS20へと進める。
【0061】
ステップS18において、CPU10は、Read要求されたデータがステップS17において、パスキャッシュエリア5c内でキャッシュヒットしたことに応じて、キャッシュヒットしたデータを取りだしホストPCへ送信する。ステップS18の工程が終了するとデータのRead処理は終了する。
【0062】
ステップS19において、Read要求されたデータのLBAと、キャッシュバッファエリア5aの容量から、実際にキャッシュバッファエリア5aに読み込まれるデータが決定され、CPU10は、パステーブルエリア5b内のパステーブルを検索し、実際に読み込まれるデータ内にパスデータがあるかどうか判定をする。パスデータがある場合は工程をステップS20へと進め、パスデータがない場合は工程をステップS24へと進める。
【0063】
ステップS20において、CPU10は、実際にパスキャッシュエリア5aに読み込むデータにパスデータがあったことに応じて、この範囲内にあるパスデータのうちLBAの最も小さいパスデータのパステーブル上の要素を検出し保存する。この保存したパステーブル上のパスデータの要素を要素Aとする。
【0064】
例えば、キャッシュバッファエリア5aは32ブロックだけ記憶できるとし、ホストPCからは、LBA番号が”20”のデータのRead要求があったとすると、パスキャッシュエリア5aに読み込まれるデータ範囲は、LBA番号で”20”から”51”までとなる。
【0065】
図8に示すパステーブルを参照するとLBA番号で”20”から”51”までの範囲で最小のLBA番号であるパスデータの要素はLBA番号が”21”のパステーブルの要素である。従って、図8に示すようにLBA番号が”21”のパステーブルの要素を要素Aとする。
【0066】
ステップS21において、CPU10によって、ファームウエアプログラム格納部7に格納されている動作プログラムに従って、光ディスク1から1ブロック分のデータを、キャッシュメモリ5のキャッシュバッファ5aに読み込む。例えば、ホストPCから、LBA番号が”20”のデータのRead要求があったとすると、キャッシュバッファ5aには、このデータが読み込まれる。
【0067】
ステップS22において、CPU10は、キャッシュメモリ5のキャッシュバッファエリア5aに読み込んだ1ブロックのデータのLBAと、ステップS20で保存したパスデータ要素AのLBAとを比較し、一致するかどうかを判定する。一致した場合は工程をステップS23へと進め、一致しない場合は工程をステップS24へと進める。
【0068】
また、ステップS19で読み込み範囲にパスデータがないとした場合には、本工程はスルーし、ステップS24へと進む。例えば、ホストPCから、LBA番号が”20”のデータのRead要求があり、キャッシュバッファ5aにキャッシュされているとすると、CPU10は、ステップS20において保存した要素Aと比較する。要素Aは、LBA番号が”21”であることから読み込んだデータと一致しないので、CPU10は、パスデータではないと判定をする。
【0069】
ステップS23において、CPU10は、キャッシュバッファエリア5aに読み込んだ1ブロックのデータのLBA番号と、要素AのLBA番号とが一致したことに応じて、キャッシュバッファエリア5aに読み込んだパスデータをパスキャッシュエリア5cに転送する。
【0070】
ここで、図9に示すフローチャートを用いて、パスデータをキャッシュバッファエリア5aからパスキャッシュエリア5cに転送する際の動作について説明をする。例えば、ステップS21でLBA番号が”21”のデータがキャッシュバッファエリア5aにキャッシュされ、要素AとLBA番号が一致したとして説明をする。
【0071】
まず、ステップS31において、CPU10は、パスキャッシュエリア5cの空いているページを検出する。
【0072】
次に、ステップS32において、検出された空きページにパスデータを転送する。例えば、ページ番号”0”が空きページであったため、このページにLBA番号が”21のパスデータを転送する。
【0073】
続いて、ステップS33において、CPU10は、パスデータが転送されたパスキャッシュエリア5cのページ番号を記憶する。例えば、CPU10は、ページ番号”0”を記憶する。
【0074】
さらに、ステップS34において、CPU10は、パスキャッシュエリア5cに転送されたパスデータを調べ、次にキャッシュバッファエリア5aに読み込まれるデータブロックが、このパスデータに続いているのかどうかを判定する。パスデータに続いてる場合は工程をステップS31へと戻し、パステーブルエリア5bのパステーブル上の要素Aのブロック数を更新する。例えば、要素Aのパスブロックが2ブロック続いたら、パステーブル上のブロック数は”2”が書き込まれる。また、パスデータに続いていない場合は工程をステップS24へと進める。
【0075】
ステップS24において、ステップS19で決定された読み込み範囲分のデータを全て読み込んだ場合は工程を終了する。また、ステップS19で決定された読み込み範囲分のデータをまだ全て読み込んでいない場合は、工程をステップS20へと戻し、パステーブルを参照して新たな要素Aを設定し、ステップS21以降のステップを繰り返す。
【0076】
このようにして、光ディスクドライブは、キャッシュメモリ5のパステーブルエリア5bにパステーブルを構築し、構築したパステーブルに基づいてキャッシュメモリ5のパスキャッシュエリア5cに光ディスク1上の管理情報を取り出してキャッシュすることで、ホストPCからのアクセス頻度の高い管理情報のキャッシュヒット率を大幅に向上させることができる。
【0077】
また、ステップS21、ステップS22、ステップS23、ステップS24、ステップS21・・・というループでは、キャッシュバッファエリア5aに1ブロックずつデータを読み込んで、その都度パスデータかどうかを判定する処理を実行しているが、キャッシュバッファエリア5aをバッファフルの状態にしてから判定処理を実行するようにしてもよい。これにより、光ディスクドライブを高速化した場合に、上述の1ブロック毎の判定処理による遅延を防止することができる。
【0078】
本発明の実施の形態として示す光ディスクドライブは、上述したように光ディスク1の論理フォーマットとしてISO9660を用いているが、光ディスク1の論理フォーマットはこれに限定されるものではなく、ユーザデータと管理情報とが別々のブロックに書き込まれるている論理フォーマット、例えば、UDF(Universal Disk Format:登録商標)、FAT(File Allocation Table)、HPFS(High Performance File System)、NTFS(New Technology File System)などの論理フォーマットを使用した光ディスク1も本発明に適用することができる。
【0079】
ISO9660では、PTRが論理フォーマットであらかじめ規定されているため、パステーブルを簡単に構築することができる。PTRが存在しない論理フォーマットにおいても、Directory Recordを解析してからSub Directoryの情報を抜き出すことは容易である。Root Directoryからその直下のSub Directoryのパステーブルを構築し、そのSub Directoryが読み込まれた際に順次、パステーブルを動的に拡大していくことで、PTRからのパステーブル構築と同様のことは実現できる。このような手法を用いることで本発明は、PTRの存在しないISO9660以外のフォーマットに応用することができる。
【0080】
また、本発明の実施の形態として示す光ディスクドライブは、以下に示すように構成することで、さらに高度な先読みを実現し、所望のデータへのアクセススピードを向上させることができる。
【0081】
光ディスクドライブのCPU10は、最後にアクセスのあったパステーブルの要素を記憶しておく。例えば、これを要素Bとすると、ユーザは、最後に要素Bのディレクトリの情報にアクセスしたのだから、次に期待される読み込みはそのディレクトリ内のファイルか、更にその下のディレクトリの読み出しである可能性が高い。
【0082】
そこで、ホストPCなどからのデータアクセスがないアイドル状態の時に、CPU10は、パステーブルエリア5bのパステーブルを検索して要素Bを親ディレクトリに持つ要素を見つけ、そのアドレスをパスキャッシュエリア5bへ予め読み込んでおく。
【0083】
これにより、さらにキャッシュヒット率を向上させることができるため、所望のデータへ高速アクセスすることができる。
【0084】
さらにまた、本発明の実施の形態として示す光ディスクドライブのキャッシュエリア5のパスキャッシュエリア5cには、Directory情報が全て保存されているため、管理情報以外のユーザデータ自体にアクセスがあった場合、キャッシュされたDirectory情報からそのユーザデータのサイズ情報を取得できる。
【0085】
この時、キャッシュバッファ5aの容量以上の大きなデータ要求があった場合には次のRead要求がくる前に、どんどん先読みを進めるなど、ファイルサイズによって処理を変えることでアクセススピードを向上させることができる。
【0086】
この場合、キャッシュされたDirectory情報を全て検索する必要はなく、ユーザが最後にアクセスした上記の要素Bのディレクトリに対してのみ行ってもよい。
【0087】
【発明の効果】
以上の説明からも明らかなように、本発明のデータ再生装置は、パステーブル生成手段で、第1のアドレス取得手段で取得した第1の記録位置アドレスと、第2のアドレス取得手段で取得した第2の記録位置アドレスとを配列したパステーブルを生成し、生成されたパステーブルを第1の記憶手段に記憶させることで、ファイルとして管理される記録媒体上に記録されている全てのユーザデータの位置情報を保持している第1の管理情報及び第2の管理情報の記録媒体上での記録位置を示す記録位置アドレスを常時、検索することができる。
【0088】
そして、再生手段で再生された記録媒体上のデータが一時的に記憶された第2の記憶手段から、パステーブル生成手段で生成したパステーブルを用いて、第1の管理情報及び第2の管理情報をデータ抜き出し手段で抜き出し、抜き出した第1の管理情報及び第2の管理情報を第3の記憶手段に記憶させることで、ユーザデータは第2の記憶手段、管理情報は第3の記憶手段というように分離して記憶されるため、ユーザデータよりもアクセス頻度の高い管理情報を第3の記憶手段にできるだけ長く記憶できるため、キャッシュヒット率を向上させることが可能となる。
【0089】
また、本発明のデータ再生装置は、比較手段が、第1の記憶手段に記憶されているパステーブル上の記録位置アドレスと、第2の記憶手段に記憶されたデータの記録位置アドレスとの比較処理を、再生手段で再生されたデータ及びデータの記憶位置アドレスが第2の記憶手段の記憶容量分だけ記憶されてから実行することで、再生手段の再生速度が向上し、1ブロック毎の比較処理が間に合わない場合に対応することができる。
【0090】
さらにまた、本発明のデータ再生装置は、最後にデータ再生要求された親管理データを階層構造の上位層として持つ子管理データの記録媒体上の記録位置を示す記録位置アドレスを、受信手段でデータ再生要求が受信されていない時間帯に第1の記憶手段に記憶されているパステーブルから検索する第3の検索手段を備え、制御手段は、第3の検索手段で検索された記録位置アドレスに基づいて、再生手段を制御して記録媒体に記録されている子管理データを再生させ、再生手段で再生させた子管理データを第3の記憶手段に記憶させるよう制御することで、データ再生要求が受信されていない時間帯、つまりデータアクセスのないアイドル時間に、次にデータ再生要求がなされると予想されるデータの位置情報を保持している管理情報を第3の記憶手段に読み込むため、所望のデータへのアクセス速度を向上させることが可能となる。
【0091】
また、本発明のデータ再生装置は、受信手段で、ユーザデータのデータ再生要求を受信したことに応じて、第3の記憶手段に記憶されている第1の管理データ又は第2の管理データを検索し、ユーザデータのデータサイズを取得するデータサイズ情報取得手段と、データサイズ情報取得手段で取得したデータサイズと、第2の記憶手段で記憶可能な記憶容量とを比較する容量比較手段とを備え、制御手段は、容量比較手段における比較結果に応じて、第2の記憶手段への記憶処理を制御することで、例えば、第2の記憶手段の容量以上のデータ再生要求があった場合、次のデータ再生要求を受信する前に次々に第2の記憶手段への読み込みを進めることで読み込み速度を上げることができ、当該データ再生装置の処理速度を向上させることが可能となる。
【0092】
以上の説明からも明らかなように、本発明のデータキャッシュ方法は、第1の記録位置アドレスと、第2の記録位置アドレスとを配列したパステーブルを生成し、生成されたパステーブルを第1の記憶手段に記憶させることで、ファイルとして管理される記録媒体上に記録されている全てのユーザデータの位置情報を保持している第1の管理情報及び第2の管理情報の記録媒体上での記録位置を示す記録位置アドレスを常時、検索することができる。
【0093】
そして、再生された記録媒体上のデータが一時的に記憶された第2の記憶手段から、生成したパステーブルを用いて、第1の管理情報及び第2の管理情報をデータ抜き出し、抜き出した第1の管理情報及び第2の管理情報を第3の記憶手段に記憶させることで、ユーザデータは第2の記憶手段、管理情報は第3の記憶手段というように分離して記憶されるため、ユーザデータよりもアクセス頻度の高い管理情報を第3の記憶手段にできるだけ長く記憶できるため、キャッシュヒット率を向上させることが可能となる。
【0094】
また、本発明のデータキャッシュ方法は、第1の記憶手段に記憶されているパステーブル上の記録位置アドレスと、第2の記憶手段に記憶されたデータの記録位置アドレスとの比較処理を、再生されたデータ及びデータの記憶位置アドレスが第2の記憶手段の記憶容量分だけ記憶されてから実行することで、記録媒体を再生させる再生速度が向上し、1ブロック毎の比較処理が間に合わない場合に対応することができる。
【0095】
さらにまた、本発明のデータキャッシュ方法は、最後にデータ再生要求された親管理データを、階層構造の上位層として持つ子管理データの記録媒体上の記録位置を示す記録位置アドレスを、データ再生要求が受信されていない時間帯に第1の記憶手段に記憶されているパステーブルから検索し、検索された記録位置アドレスに基づいて、記録媒体に記録されている子管理データを再生させ、再生させた子管理データを第3の記憶手段に記憶させるよう制御することで、データ再生要求が受信されていない時間帯、つまりデータアクセスのないアイドル時間に、次にデータ再生要求がなされると予想されるデータの位置情報を保持している管理情報を第3の記憶手段に読み込むため、所望のデータへのアクセス速度を向上させることが可能となる。
【0096】
また、本発明のデータキャッシュ方法は、ユーザデータのデータ再生要求を受信したことに応じて、第3の記憶手段に記憶されている第1の管理データ又は第2の管理データを検索し、データ再生要求されたデータのデータサイズを取得し、取得したデータサイズと、第2の記憶手段で記憶可能な記憶容量とを比較し、比較結果に応じて、第2の記憶手段への記憶処理を制御することで、例えば、第2の記憶手段の容量以上のデータ再生要求があった場合、次のデータ再生要求を受信する前に次々に第2の記憶手段への読み込みを進めることで読み込み速度を上げることができ、処理速度を向上させることが可能となる。
【図面の簡単な説明】
【図1】 本発明の実施の形態として示す光ディスクドライブの構成を説明するためのブロック図である。
【図2】同光ディスクドライブにおいて、キャッシュメモリの記録エリアについて説明するための図である。
【図3】同光ディスクドライブにおいて、装着する光ディスクの論理フォーマットISO9660について説明するための図である。
【図4】同光ディスクドライブにおいて、パステーブルを構築する際の動作について説明するためのフローチャートである。
【図5】同光ディスクドライブに装着する光ディスクの階層構造の一例を示した図である。
【図6】同光ディスクドライブにおいて、構築されたパステーブルの一例を示した図である。
【図7】同光ディスクドライブにおいて、READ要求を実行する際の動作について説明するためのフローチャートである。
【図8】同光ディスクドライブにおいて、構築されたパステーブルの一例を示した図である。
【図9】同光ディスクドライブにおいて、キャッシュメモリのキャッシュバッファエリアからパスキャッシュエリアへデータを転送する際の動作について説明するためのフローチャートである。
【符号の説明】
1 光ディスク、2 光ピックアップ、3 スピンドルモータ、4 ディスク制御部、5 キャッシュメモリ、5a キャッシュバッファエリア、5b パステーブルエリア、5c パスキャッシュエリア、6 メインメモリ、7 ファームウエアプログラム制御部、8 論理フォーマット解析部、9 I/F制御部、11 ボリューム記述子、12 PTR(Path Table Record)、13 RootDirectry、14 Sub Directory、15 File
【発明の属する技術分野】
本発明は、記録媒体を再生するデータ再生装置のデータアクセスに関するものであり、詳しくは、記録媒体へのアクセス時間を短縮するデータ再生装置及びデータキャッシュ方法に関する。
【0002】
【従来の技術】
光ディスクに記録されるデータには、大別するとユーザが利用可能なデータであるユーザデータと、ユーザデータが記録されている位置を示す情報や、ユーザデータに関する付加情報を示す管理データとがある。この2つのデータは、光ディスクの所定の論理フォーマットに従って光ディスク上に記録される。
【0003】
また、上述したようなデータが記録されている光ディスクを再生する光ディスクドライブは、光ディスク上に記録されたデータへのアクセススピードを向上させるために、高速アクセス可能なキャッシュメモリを備えている。
【0004】
一般に光ディスクドライブなどは、ホストPC(Personal Computer)に接続されて用いられているが、記録媒体に対するデータの読み出し処理はホストコンピュータとの間でのデータ転送処理速度よりも遅いため、キャッシュメモリを設けることでデータ再生処理の高速化を図っている。
【0005】
例えば、ホストPCから所定のデータのアクセス要求があった場合、光ディスクドライブは上記アクセス要求のあったデータを読み出し、さらにアクセス要求のあったデータのアドレスから連続するアドレスのデータをキャッシュメモリが一杯になるまで読み出し、キャッシュメモリにキャッシュしておく。これによりキャッシュメモリにキャッシュしたデータにアクセス要求がきた場合、直ちに読み出してホストPCへ送信することで高速アクセスが可能となる。
【0006】
【発明が解決しようとする課題】
しかし、上述のように、単純にアクセス要求のあったデータから連続したアドレスのデータをキャッシュメモリに記憶させると、アドレスが連続するデータストリームに対するアクセス要求があった場合や、キャッシュメモリの記憶容量内で収まる量のデータに対するアクセス要求があった場合にのみキャッシュヒットすることになるため、キャッシュヒット率は高くなく、単純にキャッシュメモリの記憶容量を増加した場合でも、メモリ量の増加に見合ったヒット率の向上が期待できないといった問題があった。
【0007】
光ディスク上に記録されているデータのうち管理情報は、ユーザデータの光ディスク上の記録位置を特定するために用いられるため、データ量が少ないにもかかわらず、ホストPCからのアクセス率は非常に高い。
【0008】
そこで、特開平11−175381号公報では、光磁気ディスク上に記録されている管理情報をユーザデータと分離させて光磁気ディスクドライブのキャッシュメモリにキャッシュし、アクセス頻度の高い管理情報をキャッシュメモリ内にできるだけ常駐させるようにし、キャッシュヒット率を高めるといった手法が提案されている。
【0009】
しかし、上述の光磁気ディスクドライブで分離できる光磁気ディスク上に記録された管理情報は、Boot Sector、FAT(File Allocation Table)、Root Directoryといった所定の論理フォーマットにおいて規定された固定のアドレスに記録された管理情報に限定されているため、フォーマット上、記録される位置が規定されていないSub Directoryなどの管理情報はユーザデータと分離してキャッシュすることができないといった問題がある。
【0010】
そこで、本発明は上述したような問題を解決するために案出されたものであり、記録媒体に記録されているデータにおいて、論理フォーマットで規定されていれない管理情報もユーザデータと分離してキャッシュメモリにキャッシュすることでデータアクセススピードを向上させるデータ再生装置及びデータキャッシュ方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
上述の目的を達成するために、本発明に係るデータ再生装置は、ユーザが利用可能なユーザデータと、上記ユーザデータを階層構造をなすファイルとして管理する第1の管理データ及び第2の管理データとが所定の論理フォーマットに基づいて記録された記録媒体から所定のデータを再生する再生手段を有するデータ再生装置において、上記記録媒体の上記所定の論理フォーマットを識別するフォーマット識別手段と、上記フォーマット識別手段によって上記記録媒体の論理フォーマットが識別されたことに応じて、上記論理フォーマットで上記記録媒体における記録位置が規定されている第1の管理情報の記録媒体上の記録位置アドレスを取得する第1のアドレス取得手段と、上記第1の管理データ又は上記第2の管理データから上記論理フォーマットで記録媒体における記録位置が規定されていない第2の管理情報の記録媒体上の記録位置アドレスを取得する第2のアドレス取得手段と、上記第1の記録位置アドレスと、上記第2の記録位置アドレスとを配列したパステーブルを生成するパステーブル生成手段と、上記パステーブル生成手段で生成されたパステーブルを記憶する第1の記憶手段と、上記再生手段で上記記録媒体から再生されたデータを上記データが記録されている上記記録媒体上の記録位置を示す記録位置アドレスと共に一時的に記憶する第2の記憶手段と、上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとを比較する比較手段と、上記比較手段によって比較した結果、上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとが一致した場合、上記第2の記憶手段に一時的に記憶された上記データを、上記第1の管理データまたは上記第2の管理データであると判定する判定手段と、上記判定手段によって、上記第2の記憶手段に一時的に記憶された上記データが上記第1の管理データ又は上記第2の管理データであると判定されたことに応じて、上記データを上記第2の記憶手段から抜き出すデータ抜き出し手段と、上記データ抜き出し手段によって抜き出された上記第1の管理データ又は上記第2の管理データである上記データを一時的に記憶する第3の記憶手段と、外部装置から送信される上記記録媒体に記録されている所定のデータの再生を要求するデータ再生要求命令を受信する受信手段と、上記受信手段でデータ再生要求命令を受信したことに応じて、上記データ再生要求命令のあったデータを上記第2の記憶手段に記憶されているユーザデータから検索する第1の検索手段と、上記第1の検索手段で上記データ再生要求命令のあったデータが検索されなかった場合、上記第3の記憶手段に記憶されている上記第1の管理データ又は上記第2の管理データから検索する第2の検索手段と、上記第1の検索手段又は上記第2の検索手段で上記データ再生要求命令のあったデータが検索された場合、当該データを読み出し、上記第2の検索手段で検索されなかった場合、上記再生手段を制御して上記記録媒体に記録されている上記データ再生要求命令されたデータを再生させるよう制御する制御手段とを備えることを特徴とする。
【0012】
上述の目的を達成するために、本発明に係るデータキャッシュ方法は、ユーザが利用可能なユーザデータと、上記ユーザデータを階層構造をなすファイルとして管理する第1の管理データ及び第2の管理データとが所定の論理フォーマットに基づいて記録された記録媒体から所定のデータを再生する再生手段を有するデータ再生装置のデータキャッシュ方法において、上記記録媒体の上記所定の論理フォーマットを識別し、上記記録媒体の論理フォーマットが識別されたことに応じて、上記論理フォーマットで上記記録媒体における記録位置が規定されている第1の管理情報の記録媒体上の記録位置アドレスを取得し、上記第1の管理データ又は上記第2の管理データから上記論理フォーマットで記録媒体における記録位置が規定されていない第2の管理情報の記録媒体上の記録位置アドレスを取得し、上記第1の記録位置アドレスと、上記第2の記録位置アドレスとを配列したパステーブルを生成し、生成された上記パステーブル第1の記憶手段で記憶し、外部装置から送信される上記記録媒体に記録されている所定のデータの再生を要求するデータ再生要求命令を受信し、上記データ再生要求命令を受信したことに応じて、上記データ再生要求命令のあったデータを第2の記憶手段に記憶されているユーザデータから検索し、上記データ再生要求命令のあったデータが検索された場合、当該データを読み出し、上記データ再生要求命令のあったデータが検索されなかった場合、上記データ再生要求命令のあったデータを第3の記憶手段に記憶されている上記第1の管理データ又は上記第2の管理データから検索し、上記データ再生要求命令のあったデータが上記第3の記憶手段に記憶されている上記第1の管理データ又は上記第2の管理データから検索された場合、上記第1の管理データ又は上記第2の管理データを読み出し、上記データ再生要求命令のあったデータが上記第3の記憶手段に記憶されている上記第1の管理データ又は上記第2の管理データから検索されなかった場合、上記再生手段を制御して上記記録媒体に記録されている上記データ再生要求命令されたデータを再生し、上記記録媒体から再生されたデータを上記データが記録されている上記記録媒体上の記録位置を示す記録位置アドレスと共に上記第2の記憶手段に一時的に記憶し、上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとを比較し、上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとが一致した場合、上記第2の記憶手段に一時的に記憶された上記データを、上記第1の管理データまたは上記第2の管理データであると判定し、上記第2の記憶手段に一時的に記憶された上記データが上記第1の管理データ又は上記第2の管理データであると判定されたことに応じて、上記データを上記第2の記憶手段から抜き出し、上記抜き出された上記第1の管理データ又は上記第2の管理データである上記データを上記第3の記憶手段で一時的に記憶することを特徴とする。
【0013】
【発明の実施の形態】
以下、本発明に係るデータ再生装置及びデータキャッシュ方法の実施の形態を図面を参照にして詳細に説明する。
【0014】
本発明は、図1にブロック図として示した光ディスクドライブに適用される。
【0015】
光ディスクドライブは、所定のデータが記録された、例えば、読み出し専用の媒体であるCD−ROM(Compact Disk Read Only Memory)などの光ディスク1を所定の箇所に装着し、記録されたデータを再生させる装置である。光ディスクドライブは、図示しないホストPCなどに接続され、ユーザは、ホストPCを介して、光ディスクドライブで再生されたデータを利用することができる。
【0016】
まず、光ディスクドライブで再生させるデータが記録された光ディスク1について説明をする。
【0017】
光ディスクドライブで再生する光ディスク1に記録されているデータのファイルフォーマットは、ルートディレクトリーを基本にした階層構造をとり、何層かにわたるサブディレクトリのもとにファイルを格納する階層型のファイルフォーマットとなっている。このような階層型のファイルフォーマットには、例えば、ISO(International Standardization Organization)9660フォーマットがある。ISO9660フォーマットについては、後で詳細に説明をする。
【0018】
光ディスク1に記録されているデータは、ユーザデータと管理データとに大別することができる。ユーザデータは、ユーザが実際に利用可能なデータであり、管理データは、例えば、光ディスク1上に書き込まれているユーザデータの光ディスク1上の所在を示す情報などである。上述のように、光ディスク1が階層構造のファイルフォーマットを使用している場合、ディレクトリが有するパス情報(Directory Record)が管理データに相当する。
【0019】
続いて、図1に示した光ディスクドライブの構成について説明をする。光ディスクドライブは、光ピックアップ2と、スピンドルモータ3と、ディスク制御部4と、キャッシュメモリ5と、メインメモリ6と、ファームウエアプログラム格納部7と、I/F(インターフェース)制御部9と、CPU(Central Processing Unit)10とを備えている。
【0020】
光ピックアップ2は、ディスク制御部4の制御に応じて光ディスク1に光を照射し、反射光を検出することで光ディスク1に記録されているデータを再生する。
【0021】
スピンドルモータ3は、ディスク制御部4の制御に応じて光ディスク1を回転駆動する。
【0022】
ディスク制御部4は、光ピックアップ2の位置決めや、スピンドルモータ3の回転速度を制御する。
【0023】
キャッシュメモリ5は、光ディスク1から再生されたデータを一時的に格納する。キャッシュメモリ5は、高速でデータの読み書きが行える、例えば、SRAM(Static Random Access Memory)などである。
【0024】
図2に示すように、キャッシュメモリ5は、光ピックアップ2で光ディスク1から読み出されたデータを一時的に記憶するキャッシュバッファエリア5aと、光ディスク1上に書き込まれたデータの光ディスク1上での位置を示すテーブルであるパステーブルを記憶するパステーブルエリア5bと、キャッシュバッファエリア5aに一時的に記憶されているユーザデータと管理データの中から抜き出された管理データを記憶するパスキャッシュエリア5cとを備えている。
【0025】
メインメモリ6は、ランダムアクセス可能な、例えば、RAM(Random Access Memory)などでありCPU10の動作時における作業領域となる。
【0026】
ファームウエアプログラム格納部7は、CPU10の動作プログラムを格納し、光ディスク1の論理フォーマットを解析をする論理フォーマット解析部8を備えている。
【0027】
I/F(インターフェース)制御部9は、例えば、SCSI(Small Computer System Interface)よりケーブルを介して接続されたホストPC(Personal Computer)との、コマンドやデータのやり取りを制御(プロトコル制御)する。
【0028】
CPU10は、光ディスクドライブの各機能部を統括的に制御する。
【0029】
続いて、図3を用いて、本発明を適用した光ディスクドライバで使用する光ディスク1が、ISO(International Standardization Organization)9660の論理フォーマットに基づいてフォーマットされているとして、ISO9660論理フォーマットについて説明をする。
【0030】
ISO9660の論理フォーマットに準じた光ディスク1は、ユーザデータの論理フォーマット上の位置を特定し、ユーザデータに関する付加情報が記録された管理情報として、ボリューム記述子11と、PTR(Path Table Record)12と、ルートディレクトリ13と、サブディレクトリ14とを備え、ユーザが利用可能なユーザデータとしてファイル15を備えている。
【0031】
ボリューム記述子11は、ボリュームに関する情報、例えば、ボリューム名、作成者の名前、PTRのLBA(Logical Block Address)位置、ルートディレクトリのLBA位置、ブート情報などを保持している。ISO9660で使用されるボリューム記述子は、ボリュームに関する基本的な情報を含んだPVD(Primary Volume Descriptor)及びPVDと殆ど同じ構造を有し、PVDで指定した以外のディレクトリ階層を構築した場合に使用されるSVD(Supplenmentray Volume Descriptor)である。PVDは、光ディスク1のフォーマットを識別するためのフォーマット識別子として”CD001”有しており、”CD001”が検出されることで、当該光ディスク1の論理フォーマットはISO9660であると判定される。
【0032】
PTR12は、光ディスク1上のディレクトリが有するパス情報(Directory Record)のLBA位置情報、パス情報が書き込まれているブロック数情報などが書き込まれている。
【0033】
ルートディレクトリ13は、階層的なファイルフォーマットにおける階層構造の最上位にあるディレクトリである。サブディレクトリ14は、ルートディレクトリ13よりも下位に位置するディレクトリであり、サブディレクトリ14の下位にさらにサブディレクトリ14があってもよい。ISO9660では、この階層構造はルートディレクトリ13を含んで最大8階層(階層レベル8)まで構築できる。
【0034】
ルートディレクトリ13、サブディレクトリ14は、パス情報(Directory Record)を含んだファイルである。パス情報は、データ同士がどのように関連しているかというデータの論理的構造を示すデータ構造に関する情報である。パス情報によって、光ディスク1上にあるディレクトリの位置、ファイルの位置が規定される。
【0035】
ユーザデータであるファイル15は、ユーザが利用可能なコンテンツなどが、光ディスク1上の所定のディレクトリの下位にブロック単位で記録されている。図3では、ファイル15a、ファイル15bがルートディレクトリ13の下位に属している。
【0036】
続いて、図4に示すフローチャートを用いて、光ディスク1を光ディスクドライブに装着した際の光ディスクドライブの動作について説明をする。
【0037】
ステップS1において、CPU10は、ファームウエアプログラム格納部7に格納されている動作プログラムに従い、ディスク制御部4を制御し、光ディスクドライブの光ピックアップ2、スピンドルモータ3を動作させ光ディスク1のTOC(Table Of Contents)を読み込む。ステップS2において、CPU10は、ファームウエア格納部7の論理フォーマット解析部8を制御して光ディスク1の論理フォーマットを調べる。
【0038】
ステップS2において、ステップS1で読み込んだTOCに基づき光ディスク1に、データトラックが記録されているかどうか判断をする。データトラックがある場合は工程をステップS3へと進め、データトラックがない場合は工程をステップS8へと進める。
【0039】
ステップS3において、CPU10は、当該光ディスクドライブに装着された光ディスク1の論理フォーマットの判定処理を行うモードに入る。CPU10はファームウエアプログラム格納部7に格納されている動作プログラムに従い、ディスク制御部4を制御し、光ディスクドライブの光ピックアップ2、スピンドルモータ3を動作させ光ディスク1のボリューム記述子11を読み込む。
【0040】
ステップS4において、CPU10は、フォーマット解析部8の解析結果によって、光ディスク1が当該光ディスクドライブで認識できる論理フォーマットであると認識された場合は工程をステップS5へと進め、認識出来ない論理フォーマットであった場合は工程をステップS8へと進める。
【0041】
ISO9660のフォーマットであるかどうかを判定するためには、ボリューム記述子11のPVDが確認できればよいので、PVDのスタートLBAである16番目のブロックを読み込み、読み込んだブロックの先頭にPVDを識別するフォーマット識別子”CD001”があるかどうかをファームウエアプログラム格納部7の論理フォーマット解析部8で確認する。
【0042】
また、PVDには、ルートディレクトリ13のLBAと、PTRのLBAとが書き込まれているので、CPU10は、この情報を保存する。
【0043】
ステップS5において、CPU10は、キャッシュメモリ5のパステーブルエリア5bにパステーブルを構築する。
【0044】
まず、CPU10は、ステップS4でPVDを読み込むことで得られたPTRのLBAに基づいて、光ディスク1に記録されているPTRを検出し読み込む。PTRには、光ディスク1上の全てのパス情報(Directory Record)のLBAが書き込まれているので、これをキャッシュメモリ5のパステーブルエリア5bに展開することでパステーブルが構築される。
【0045】
例えば、光ディスク1は、図5に示すように、ディレクトリの階層レベル1がRoot、階層レベル2がSubA、階層レベル3がSubB及びSubCであるようなディレクトリ構造を有しているとした場合、パステーブルは図6に示すようになる。
【0046】
パステーブルはパステーブルエリア5bに構築される際、図6に示すようにLBA順にソートされ、パステーブルの各レコードには1から始まる番号が与えらる。この番号は、パステーブル内において、各パス情報の親ディレクトリを番号で示す(親パステーブル番号)際に用いられるものである。例えば、SubAの親ディレクトリはRootなので親パステーブル番号は1、SubB及びSubCの親ディレクトリはSubAなので親パステーブル番号は2となる。なお、Rootの親パステーブル番号は1とする。
【0047】
ブロック数は、パステーブル構築時の初期状態では、全て”0”と表記する。また、パス情報がキャッシュメモリ5のパスキャッシュエリア5cに保存されている場合に与えられる番号であるページは、パス情報が保存されていない場合は無効な値、例えば”−1”などが与えられる。初期状態においては、パス情報は1つもパスキャッシュエリア5cにキャッシュされていないので、ページは全て無効な値が書き込まれる。
【0048】
パスキャッシュエリア5cにパス情報がキャッシュされている場合、パステーブルエリア5bのパステーブルのページ欄にはキャッシュされている所在を示すページ番号が、例えば、”3”のように示される。CPU10はこれを参照することで、現在、パスキャッシュエリア5cにキャッシュされているパス情報の所在を知ることができる。
【0049】
ステップS6において、CPU10は、パステーブルがエラーなく構築されたかどうかを判断する。パステーブルがエラーなしに構築された場合は工程をステップS7へと進め、エラーが生じパステーブルの構築に失敗した場合は工程をステップS8へと進める。
【0050】
ステップS7において、光ディスクドライブは、構築されたパステーブルを使用したキャッシュ処理をするモードに入る。
【0051】
ステップS8において、光ディスクドライブは、パステーブルの構築に失敗したことに基づいて、パステーブルを使用しない通常のキャッシュ処理をするモードに入る。
【0052】
このようにして、光ディスクドライブは、ISO9660にフォーマットされた光ディスク1を装着し、光ディスク1に記録されているPTRを読み込むことで、光ディスク1にパステーブルを構築し、構築したパステーブルをキャッシュメモリ5のパステーブルエリア5bに記憶させることで、光ディスク1の全てのパス情報のLBA位置を把握することができる。
【0053】
続いて、図7に示すフローチャートを用いて、パステーブルを使用したキャッシュ処理モードでの光ディスクドライブのRead処理動作について説明をする。
【0054】
ステップS11において、光ディスクドライブは、図示しないホストPCから送信されるRead要求を受信する。
【0055】
ステップS12において、CPU10は、ステップS11のRead要求に応じて、キャッシュメモリ5のキャッシュバッファエリア5aを検索する。
【0056】
ステップS13において、Read要求されたデータがキャッシュメモリ5のキャッシュバッファエリア5aでキャッシュヒットしたかどうかを判定する。キャッシュヒットした場合は工程をステップS14へと進め、キャッシュヒットしない場合は工程をステップS15へと進める。
【0057】
ステップS14において、CPU10は、ステップS13おいて、Read要求されたデータがキャッシュバッファ5a内でキャッシュヒットしたことに応じて、キャッシュヒットしたデータを取り出しホストPCへ送信する。ステップS14の工程が終了するとデータのRead処理は終了する。
【0058】
ステップS15において、CPU10は、ステップS13でキャッシュバッファエリア5a内のデータにキャッシュヒットしなかったことに応じて、パステーブルエリア5b内のパステーブルを検索する。
【0059】
ステップS16において、CPU10は、パステーブルを検索した結果、Read要求されたデータがパスデータである場合は工程をステップS17へと進め、パスデータでない場合は工程をステップS19へと進める。
【0060】
ステップS17において、CPU10は、パステーブルのページ番号を参照し、Read要求されたデータがキャッシュバッファエリア5cにキャッシュされているかどうかを判定する。ページ番号欄に所定のキャッシュバッファエリア5のキャッシュ番号が記されていればキャッシュヒットとなり工程をステップS18へと進め、同じくページ番号欄に、例えば、”−1”などの無効な値が記されていればキャッシュヒットしないこととなり工程をステップS20へと進める。
【0061】
ステップS18において、CPU10は、Read要求されたデータがステップS17において、パスキャッシュエリア5c内でキャッシュヒットしたことに応じて、キャッシュヒットしたデータを取りだしホストPCへ送信する。ステップS18の工程が終了するとデータのRead処理は終了する。
【0062】
ステップS19において、Read要求されたデータのLBAと、キャッシュバッファエリア5aの容量から、実際にキャッシュバッファエリア5aに読み込まれるデータが決定され、CPU10は、パステーブルエリア5b内のパステーブルを検索し、実際に読み込まれるデータ内にパスデータがあるかどうか判定をする。パスデータがある場合は工程をステップS20へと進め、パスデータがない場合は工程をステップS24へと進める。
【0063】
ステップS20において、CPU10は、実際にパスキャッシュエリア5aに読み込むデータにパスデータがあったことに応じて、この範囲内にあるパスデータのうちLBAの最も小さいパスデータのパステーブル上の要素を検出し保存する。この保存したパステーブル上のパスデータの要素を要素Aとする。
【0064】
例えば、キャッシュバッファエリア5aは32ブロックだけ記憶できるとし、ホストPCからは、LBA番号が”20”のデータのRead要求があったとすると、パスキャッシュエリア5aに読み込まれるデータ範囲は、LBA番号で”20”から”51”までとなる。
【0065】
図8に示すパステーブルを参照するとLBA番号で”20”から”51”までの範囲で最小のLBA番号であるパスデータの要素はLBA番号が”21”のパステーブルの要素である。従って、図8に示すようにLBA番号が”21”のパステーブルの要素を要素Aとする。
【0066】
ステップS21において、CPU10によって、ファームウエアプログラム格納部7に格納されている動作プログラムに従って、光ディスク1から1ブロック分のデータを、キャッシュメモリ5のキャッシュバッファ5aに読み込む。例えば、ホストPCから、LBA番号が”20”のデータのRead要求があったとすると、キャッシュバッファ5aには、このデータが読み込まれる。
【0067】
ステップS22において、CPU10は、キャッシュメモリ5のキャッシュバッファエリア5aに読み込んだ1ブロックのデータのLBAと、ステップS20で保存したパスデータ要素AのLBAとを比較し、一致するかどうかを判定する。一致した場合は工程をステップS23へと進め、一致しない場合は工程をステップS24へと進める。
【0068】
また、ステップS19で読み込み範囲にパスデータがないとした場合には、本工程はスルーし、ステップS24へと進む。例えば、ホストPCから、LBA番号が”20”のデータのRead要求があり、キャッシュバッファ5aにキャッシュされているとすると、CPU10は、ステップS20において保存した要素Aと比較する。要素Aは、LBA番号が”21”であることから読み込んだデータと一致しないので、CPU10は、パスデータではないと判定をする。
【0069】
ステップS23において、CPU10は、キャッシュバッファエリア5aに読み込んだ1ブロックのデータのLBA番号と、要素AのLBA番号とが一致したことに応じて、キャッシュバッファエリア5aに読み込んだパスデータをパスキャッシュエリア5cに転送する。
【0070】
ここで、図9に示すフローチャートを用いて、パスデータをキャッシュバッファエリア5aからパスキャッシュエリア5cに転送する際の動作について説明をする。例えば、ステップS21でLBA番号が”21”のデータがキャッシュバッファエリア5aにキャッシュされ、要素AとLBA番号が一致したとして説明をする。
【0071】
まず、ステップS31において、CPU10は、パスキャッシュエリア5cの空いているページを検出する。
【0072】
次に、ステップS32において、検出された空きページにパスデータを転送する。例えば、ページ番号”0”が空きページであったため、このページにLBA番号が”21のパスデータを転送する。
【0073】
続いて、ステップS33において、CPU10は、パスデータが転送されたパスキャッシュエリア5cのページ番号を記憶する。例えば、CPU10は、ページ番号”0”を記憶する。
【0074】
さらに、ステップS34において、CPU10は、パスキャッシュエリア5cに転送されたパスデータを調べ、次にキャッシュバッファエリア5aに読み込まれるデータブロックが、このパスデータに続いているのかどうかを判定する。パスデータに続いてる場合は工程をステップS31へと戻し、パステーブルエリア5bのパステーブル上の要素Aのブロック数を更新する。例えば、要素Aのパスブロックが2ブロック続いたら、パステーブル上のブロック数は”2”が書き込まれる。また、パスデータに続いていない場合は工程をステップS24へと進める。
【0075】
ステップS24において、ステップS19で決定された読み込み範囲分のデータを全て読み込んだ場合は工程を終了する。また、ステップS19で決定された読み込み範囲分のデータをまだ全て読み込んでいない場合は、工程をステップS20へと戻し、パステーブルを参照して新たな要素Aを設定し、ステップS21以降のステップを繰り返す。
【0076】
このようにして、光ディスクドライブは、キャッシュメモリ5のパステーブルエリア5bにパステーブルを構築し、構築したパステーブルに基づいてキャッシュメモリ5のパスキャッシュエリア5cに光ディスク1上の管理情報を取り出してキャッシュすることで、ホストPCからのアクセス頻度の高い管理情報のキャッシュヒット率を大幅に向上させることができる。
【0077】
また、ステップS21、ステップS22、ステップS23、ステップS24、ステップS21・・・というループでは、キャッシュバッファエリア5aに1ブロックずつデータを読み込んで、その都度パスデータかどうかを判定する処理を実行しているが、キャッシュバッファエリア5aをバッファフルの状態にしてから判定処理を実行するようにしてもよい。これにより、光ディスクドライブを高速化した場合に、上述の1ブロック毎の判定処理による遅延を防止することができる。
【0078】
本発明の実施の形態として示す光ディスクドライブは、上述したように光ディスク1の論理フォーマットとしてISO9660を用いているが、光ディスク1の論理フォーマットはこれに限定されるものではなく、ユーザデータと管理情報とが別々のブロックに書き込まれるている論理フォーマット、例えば、UDF(Universal Disk Format:登録商標)、FAT(File Allocation Table)、HPFS(High Performance File System)、NTFS(New Technology File System)などの論理フォーマットを使用した光ディスク1も本発明に適用することができる。
【0079】
ISO9660では、PTRが論理フォーマットであらかじめ規定されているため、パステーブルを簡単に構築することができる。PTRが存在しない論理フォーマットにおいても、Directory Recordを解析してからSub Directoryの情報を抜き出すことは容易である。Root Directoryからその直下のSub Directoryのパステーブルを構築し、そのSub Directoryが読み込まれた際に順次、パステーブルを動的に拡大していくことで、PTRからのパステーブル構築と同様のことは実現できる。このような手法を用いることで本発明は、PTRの存在しないISO9660以外のフォーマットに応用することができる。
【0080】
また、本発明の実施の形態として示す光ディスクドライブは、以下に示すように構成することで、さらに高度な先読みを実現し、所望のデータへのアクセススピードを向上させることができる。
【0081】
光ディスクドライブのCPU10は、最後にアクセスのあったパステーブルの要素を記憶しておく。例えば、これを要素Bとすると、ユーザは、最後に要素Bのディレクトリの情報にアクセスしたのだから、次に期待される読み込みはそのディレクトリ内のファイルか、更にその下のディレクトリの読み出しである可能性が高い。
【0082】
そこで、ホストPCなどからのデータアクセスがないアイドル状態の時に、CPU10は、パステーブルエリア5bのパステーブルを検索して要素Bを親ディレクトリに持つ要素を見つけ、そのアドレスをパスキャッシュエリア5bへ予め読み込んでおく。
【0083】
これにより、さらにキャッシュヒット率を向上させることができるため、所望のデータへ高速アクセスすることができる。
【0084】
さらにまた、本発明の実施の形態として示す光ディスクドライブのキャッシュエリア5のパスキャッシュエリア5cには、Directory情報が全て保存されているため、管理情報以外のユーザデータ自体にアクセスがあった場合、キャッシュされたDirectory情報からそのユーザデータのサイズ情報を取得できる。
【0085】
この時、キャッシュバッファ5aの容量以上の大きなデータ要求があった場合には次のRead要求がくる前に、どんどん先読みを進めるなど、ファイルサイズによって処理を変えることでアクセススピードを向上させることができる。
【0086】
この場合、キャッシュされたDirectory情報を全て検索する必要はなく、ユーザが最後にアクセスした上記の要素Bのディレクトリに対してのみ行ってもよい。
【0087】
【発明の効果】
以上の説明からも明らかなように、本発明のデータ再生装置は、パステーブル生成手段で、第1のアドレス取得手段で取得した第1の記録位置アドレスと、第2のアドレス取得手段で取得した第2の記録位置アドレスとを配列したパステーブルを生成し、生成されたパステーブルを第1の記憶手段に記憶させることで、ファイルとして管理される記録媒体上に記録されている全てのユーザデータの位置情報を保持している第1の管理情報及び第2の管理情報の記録媒体上での記録位置を示す記録位置アドレスを常時、検索することができる。
【0088】
そして、再生手段で再生された記録媒体上のデータが一時的に記憶された第2の記憶手段から、パステーブル生成手段で生成したパステーブルを用いて、第1の管理情報及び第2の管理情報をデータ抜き出し手段で抜き出し、抜き出した第1の管理情報及び第2の管理情報を第3の記憶手段に記憶させることで、ユーザデータは第2の記憶手段、管理情報は第3の記憶手段というように分離して記憶されるため、ユーザデータよりもアクセス頻度の高い管理情報を第3の記憶手段にできるだけ長く記憶できるため、キャッシュヒット率を向上させることが可能となる。
【0089】
また、本発明のデータ再生装置は、比較手段が、第1の記憶手段に記憶されているパステーブル上の記録位置アドレスと、第2の記憶手段に記憶されたデータの記録位置アドレスとの比較処理を、再生手段で再生されたデータ及びデータの記憶位置アドレスが第2の記憶手段の記憶容量分だけ記憶されてから実行することで、再生手段の再生速度が向上し、1ブロック毎の比較処理が間に合わない場合に対応することができる。
【0090】
さらにまた、本発明のデータ再生装置は、最後にデータ再生要求された親管理データを階層構造の上位層として持つ子管理データの記録媒体上の記録位置を示す記録位置アドレスを、受信手段でデータ再生要求が受信されていない時間帯に第1の記憶手段に記憶されているパステーブルから検索する第3の検索手段を備え、制御手段は、第3の検索手段で検索された記録位置アドレスに基づいて、再生手段を制御して記録媒体に記録されている子管理データを再生させ、再生手段で再生させた子管理データを第3の記憶手段に記憶させるよう制御することで、データ再生要求が受信されていない時間帯、つまりデータアクセスのないアイドル時間に、次にデータ再生要求がなされると予想されるデータの位置情報を保持している管理情報を第3の記憶手段に読み込むため、所望のデータへのアクセス速度を向上させることが可能となる。
【0091】
また、本発明のデータ再生装置は、受信手段で、ユーザデータのデータ再生要求を受信したことに応じて、第3の記憶手段に記憶されている第1の管理データ又は第2の管理データを検索し、ユーザデータのデータサイズを取得するデータサイズ情報取得手段と、データサイズ情報取得手段で取得したデータサイズと、第2の記憶手段で記憶可能な記憶容量とを比較する容量比較手段とを備え、制御手段は、容量比較手段における比較結果に応じて、第2の記憶手段への記憶処理を制御することで、例えば、第2の記憶手段の容量以上のデータ再生要求があった場合、次のデータ再生要求を受信する前に次々に第2の記憶手段への読み込みを進めることで読み込み速度を上げることができ、当該データ再生装置の処理速度を向上させることが可能となる。
【0092】
以上の説明からも明らかなように、本発明のデータキャッシュ方法は、第1の記録位置アドレスと、第2の記録位置アドレスとを配列したパステーブルを生成し、生成されたパステーブルを第1の記憶手段に記憶させることで、ファイルとして管理される記録媒体上に記録されている全てのユーザデータの位置情報を保持している第1の管理情報及び第2の管理情報の記録媒体上での記録位置を示す記録位置アドレスを常時、検索することができる。
【0093】
そして、再生された記録媒体上のデータが一時的に記憶された第2の記憶手段から、生成したパステーブルを用いて、第1の管理情報及び第2の管理情報をデータ抜き出し、抜き出した第1の管理情報及び第2の管理情報を第3の記憶手段に記憶させることで、ユーザデータは第2の記憶手段、管理情報は第3の記憶手段というように分離して記憶されるため、ユーザデータよりもアクセス頻度の高い管理情報を第3の記憶手段にできるだけ長く記憶できるため、キャッシュヒット率を向上させることが可能となる。
【0094】
また、本発明のデータキャッシュ方法は、第1の記憶手段に記憶されているパステーブル上の記録位置アドレスと、第2の記憶手段に記憶されたデータの記録位置アドレスとの比較処理を、再生されたデータ及びデータの記憶位置アドレスが第2の記憶手段の記憶容量分だけ記憶されてから実行することで、記録媒体を再生させる再生速度が向上し、1ブロック毎の比較処理が間に合わない場合に対応することができる。
【0095】
さらにまた、本発明のデータキャッシュ方法は、最後にデータ再生要求された親管理データを、階層構造の上位層として持つ子管理データの記録媒体上の記録位置を示す記録位置アドレスを、データ再生要求が受信されていない時間帯に第1の記憶手段に記憶されているパステーブルから検索し、検索された記録位置アドレスに基づいて、記録媒体に記録されている子管理データを再生させ、再生させた子管理データを第3の記憶手段に記憶させるよう制御することで、データ再生要求が受信されていない時間帯、つまりデータアクセスのないアイドル時間に、次にデータ再生要求がなされると予想されるデータの位置情報を保持している管理情報を第3の記憶手段に読み込むため、所望のデータへのアクセス速度を向上させることが可能となる。
【0096】
また、本発明のデータキャッシュ方法は、ユーザデータのデータ再生要求を受信したことに応じて、第3の記憶手段に記憶されている第1の管理データ又は第2の管理データを検索し、データ再生要求されたデータのデータサイズを取得し、取得したデータサイズと、第2の記憶手段で記憶可能な記憶容量とを比較し、比較結果に応じて、第2の記憶手段への記憶処理を制御することで、例えば、第2の記憶手段の容量以上のデータ再生要求があった場合、次のデータ再生要求を受信する前に次々に第2の記憶手段への読み込みを進めることで読み込み速度を上げることができ、処理速度を向上させることが可能となる。
【図面の簡単な説明】
【図1】 本発明の実施の形態として示す光ディスクドライブの構成を説明するためのブロック図である。
【図2】同光ディスクドライブにおいて、キャッシュメモリの記録エリアについて説明するための図である。
【図3】同光ディスクドライブにおいて、装着する光ディスクの論理フォーマットISO9660について説明するための図である。
【図4】同光ディスクドライブにおいて、パステーブルを構築する際の動作について説明するためのフローチャートである。
【図5】同光ディスクドライブに装着する光ディスクの階層構造の一例を示した図である。
【図6】同光ディスクドライブにおいて、構築されたパステーブルの一例を示した図である。
【図7】同光ディスクドライブにおいて、READ要求を実行する際の動作について説明するためのフローチャートである。
【図8】同光ディスクドライブにおいて、構築されたパステーブルの一例を示した図である。
【図9】同光ディスクドライブにおいて、キャッシュメモリのキャッシュバッファエリアからパスキャッシュエリアへデータを転送する際の動作について説明するためのフローチャートである。
【符号の説明】
1 光ディスク、2 光ピックアップ、3 スピンドルモータ、4 ディスク制御部、5 キャッシュメモリ、5a キャッシュバッファエリア、5b パステーブルエリア、5c パスキャッシュエリア、6 メインメモリ、7 ファームウエアプログラム制御部、8 論理フォーマット解析部、9 I/F制御部、11 ボリューム記述子、12 PTR(Path Table Record)、13 RootDirectry、14 Sub Directory、15 File
Claims (10)
- ユーザが利用可能なユーザデータと、上記ユーザデータを階層構造をなすファイルとして管理する第1の管理データ及び第2の管理データとが所定の論理フォーマットに基づいて記録された記録媒体から所定のデータを再生する再生手段を有するデータ再生装置において、
上記記録媒体の上記所定の論理フォーマットを識別するフォーマット識別手段と、
上記フォーマット識別手段によって上記記録媒体の論理フォーマットが識別されたことに応じて、上記論理フォーマットで上記記録媒体における記録位置が規定されている第1の管理情報の記録媒体上の記録位置アドレスを取得する第1のアドレス取得手段と、
上記第1の管理データ又は上記第2の管理データから上記論理フォーマットで記録媒体における記録位置が規定されていない第2の管理情報の記録媒体上の記録位置アドレスを取得する第2のアドレス取得手段と、
上記第1の記録位置アドレスと、上記第2の記録位置アドレスとを配列したパステーブルを生成するパステーブル生成手段と、
上記パステーブル生成手段で生成されたパステーブルを記憶する第1の記憶手段と、
上記再生手段で上記記録媒体から再生されたデータを上記データが記録されている上記記録媒体上の記録位置を示す記録位置アドレスと共に一時的に記憶する第2の記憶手段と、
上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとを比較する比較手段と、
上記比較手段によって比較した結果、上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとが一致した場合、上記第2の記憶手段に一時的に記憶された上記データを、上記第1の管理データまたは上記第2の管理データであると判定する判定手段と、
上記判定手段によって、上記第2の記憶手段に一時的に記憶された上記データが上記第1の管理データ又は上記第2の管理データであると判定されたことに応じて、上記データを上記第2の記憶手段から抜き出すデータ抜き出し手段と、
上記データ抜き出し手段によって抜き出された上記第1の管理データ又は上記第2の管理データである上記データを一時的に記憶する第3の記憶手段と、
外部装置から送信される上記記録媒体に記録されている所定のデータの再生を要求するデータ再生要求命令を受信する受信手段と、
上記受信手段でデータ再生要求命令を受信したことに応じて、上記データ再生要求命令のあったデータを上記第2の記憶手段に記憶されているユーザデータから検索する第1の検索手段と、
上記第1の検索手段で上記データ再生要求命令のあったデータが検索されなかった場合、上記第3の記憶手段に記憶されている上記第1の管理データ又は上記第2の管理データから検索する第2の検索手段と、
上記第1の検索手段又は上記第2の検索手段で上記データ再生要求命令のあったデータが検索された場合、当該データを読み出し、上記第2の検索手段で検索されなかった場合、上記再生手段を制御して上記記録媒体に記録されている上記データ再生要求命令されたデータを再生させるよう制御する制御手段とを備えること
を特徴とするデータ再生装置。 - 上記比較手段は、上記第1の記憶手段に記憶されているパステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとの比較処理を、上記第2の記憶手段に上記再生手段で再生されたデータ及び上記データの記録位置アドレスがデータ処理の最小単位である1ブロック記憶される毎に実行すること
を特徴とする請求項1記載のデータ再生装置。 - 上記比較手段は、上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとの比較処理を、上記再生手段で再生されたデータ及び上記データの記憶位置アドレスが上記第2の記憶手段の記憶容量分だけ記憶されてから実行すること
を特徴とする請求項1記載のデータ再生装置。 - 最後にデータ再生要求された親管理データを上記階層構造の上位層として持つ子管理データの上記記録媒体上の記録位置を示す記録位置アドレスを、上記受信手段で上記データ再生要求が受信されていない時間帯に上記第1の記憶手段に記憶されているパステーブルから検索する第3の検索手段を備え、上記制御手段は、上記第3の検索手段で検索された上記記録位置アドレスに基づいて、上記再生手段を制御して上記記録媒体に記録されている子管理データを再生させ、上記再生手段で再生させた上記子管理データを上記第3の記憶手段に記憶させるよう制御すること
を特徴とする請求項1記載のデータ再生装置。 - 上記管理データは、上記ファイルとして管理されるユーザデータのデータサイズを示すファイルサイズ情報を含み、
上記受信手段で、上記ユーザデータのデータ再生要求を受信したことに応じて、上記第3の記憶手段に記憶されている第1の管理データ又は第2の管理データを検索し、上記ユーザデータのデータサイズを取得するデータサイズ情報取得手段と、
上記データサイズ情報取得手段で取得したデータサイズと、上記第2の記憶手段で記憶可能な記憶容量とを比較する容量比較手段とを備え、
上記制御手段は、上記容量比較手段における比較結果に応じて、上記第2の記憶手段への記憶処理を制御すること
を特徴とする請求項1記載のデータ再生装置。 - ユーザが利用可能なユーザデータと、上記ユーザデータを階層構造をなすファイルとして管理する第1の管理データ及び第2の管理データとが所定の論理フォーマットに基づいて記録された記録媒体から所定のデータを再生する再生手段を有するデータ再生装置のデータキャッシュ方法において、
上記記録媒体の上記所定の論理フォーマットを識別し、
上記記録媒体の論理フォーマットが識別されたことに応じて、上記論理フォーマットで上記記録媒体における記録位置が規定されている第1の管理情報の記録媒体上の記録位置アドレスを取得し、
上記第1の管理データ又は上記第2の管理データから上記論理フォーマットで記録媒体における記録位置が規定されていない第2の管理情報の記録媒体上の記録位置アドレスを取得し、
上記第1の記録位置アドレスと、上記第2の記録位置アドレスとを配列したパステーブルを生成し、
生成された上記パステーブル第1の記憶手段で記憶し、
外部装置から送信される上記記録媒体に記録されている所定のデータの再生を要求するデータ再生要求命令を受信し、
上記データ再生要求命令を受信したことに応じて、上記データ再生要求命令のあったデータを第2の記憶手段に記憶されているユーザデータから検索し、
上記データ再生要求命令のあったデータが検索された場合、当該データを読み出し、
上記データ再生要求命令のあったデータが検索されなかった場合、上記データ再生要求命令のあったデータを第3の記憶手段に記憶されている上記第1の管理データ又は上記第2の管理データから検索し、
上記データ再生要求命令のあったデータが上記第3の記憶手段に記憶されている上記第1の管理データ又は上記第2の管理データから検索された場合、上記第1の管理データ又は上記第2の管理データを読み出し、
上記データ再生要求命令のあったデータが上記第3の記憶手段に記憶されている上記第1の管理データ又は上記第2の管理データから検索されなかった場合、上記再生手段を制御して上記記録媒体に記録されている上記データ再生要求命令されたデータを再生し、
上記記録媒体から再生されたデータを上記データが記録されている上記記録媒体上の記録位置を示す記録位置アドレスと共に上記第2の記憶手段に一時的に記憶し、
上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとを比較し、
上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2の記憶手段に記憶された上記データの記録位置アドレスとが一致した場合、上記第2の記憶手段に一時的に記憶された上記データを、上記第1の管理データまたは上記第2の管理データであると判定し、
上記第2の記憶手段に一時的に記憶された上記データが上記第1の管理データ又は上記第2の管理データであると判定されたことに応じて、上記データを上記第2の記憶手段から抜き出し、
上記抜き出された上記第1の管理データ又は上記第2の管理データである上記データを上記第3の記憶手段で一時的に記憶すること
を特徴とするデータキャッシュ方法。 - 上記記録媒体から再生されたデータを上記データが記録されている上記記録媒体上の記録位置を示す記録位置アドレスと共に上記第2の記憶手段にデータ処理の最小単位である1ブロック毎、読み込んで一時的に記憶し、
上記第2の記憶手段に上記データ及び上記記録位置アドレスが1ブロック読み込まれる毎に、上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2記憶手段に記憶された上記データの記録位置アドレスとを比較すること
ことを特徴とする請求項6記載のデータキャッシュ方法。 - 上記記録媒体から再生されたデータを上記データが記録されている上記記録媒体上の記録位置を示す記録位置アドレスと共に上記第2の記憶手段に、上記第2の記憶手段の記憶容量分だけ読み込んで一時的に記憶し、
上記第2の記憶手段の記憶容量分だけ上記データ及び上記記録位置アドレスが読み込まれたことに応じて、上記第1の記憶手段に記憶されている上記パステーブル上の記録位置アドレスと、上記第2記憶手段に記憶された上記データの記録位置アドレスとを比較すること
ことを特徴とする請求項6記載のデータキャッシュ方法。 - 最後にデータ再生要求された親管理データを上記階層構造の上位層として持つ子管理データの上記記録媒体上の記録位置を示す記録位置アドレスを、上記受信手段で上記データ再生要求が受信されていない時間帯に上記第1の記憶手段に記憶されているパステーブルから検索し、
上記検索された上記記録位置アドレスに基づいて、上記再生手段を制御して上記記録媒体に記録されている子管理データを再生させ、
上記再生手段で再生させた上記子管理データを上記第3の記憶手段に記憶させるよう制御すること
を特徴とする請求項6記載のデータキャッシュ方法。 - 上記管理データは、上記ファイルとして管理されるユーザデータのデータサイズを示すファイルサイズ情報を含み、
上記ユーザデータのデータ再生要求を受信したことに応じて、上記第3の記憶手段に記憶されている第1の管理データ又は第2の管理データを検索し、
上記ユーザデータのデータサイズを取得し、
上記取得したデータサイズと、上記第2の記憶手段で記憶可能な記憶容量とを比較し、
上記比較結果に応じて、上記第2の記憶手段への記憶処理を制御すること
を特徴とする請求項6記載のデータキャッシュ方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001250903A JP4348883B2 (ja) | 2001-08-21 | 2001-08-21 | データ再生装置及びデータキャッシュ方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001250903A JP4348883B2 (ja) | 2001-08-21 | 2001-08-21 | データ再生装置及びデータキャッシュ方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003059239A JP2003059239A (ja) | 2003-02-28 |
JP4348883B2 true JP4348883B2 (ja) | 2009-10-21 |
Family
ID=19079632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001250903A Expired - Fee Related JP4348883B2 (ja) | 2001-08-21 | 2001-08-21 | データ再生装置及びデータキャッシュ方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4348883B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004318940A (ja) | 2003-04-14 | 2004-11-11 | Renesas Technology Corp | 記憶装置 |
US8134462B1 (en) * | 2008-08-08 | 2012-03-13 | The United States Of America As Represented By The Secretary Of The Navy | Self-contained sensor package for water security and safety |
-
2001
- 2001-08-21 JP JP2001250903A patent/JP4348883B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003059239A (ja) | 2003-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8949557B2 (en) | File management method and hierarchy management file system | |
US6823398B1 (en) | File system management embedded in a storage device | |
EP1843331B1 (en) | Information storage apparatus that writes data in unrecorded regions of a recording medium | |
CN1774761B (zh) | 用于从记录载体读取或者向其写入的驱动设备和方法 | |
US20030026186A1 (en) | Information storage medium and information recording method | |
US7188147B2 (en) | I/O method and apparatus for optical storage media | |
JP5241298B2 (ja) | 履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法 | |
JP2000122816A (ja) | ファイル管理装置および管理方法 | |
EP1160786B1 (en) | Information recording medium, information recording method, information recording apparatus, information reproducing method, and information reproducing apparatus | |
JP2004259398A (ja) | 記録装置、ファイル管理方法、ファイル管理方法のプログラム、ファイル管理方法のプログラムを記録した記録媒体 | |
JP4348883B2 (ja) | データ再生装置及びデータキャッシュ方法 | |
US20060294315A1 (en) | Object-based pre-fetching Mechanism for disc drives | |
JP3220041B2 (ja) | Cd−rom読み出しシステムおよびcd−rom読み出し方法 | |
WO2000030106A1 (fr) | Support d'enregistrement de donnees, procede d'enregistrement/lecture de donnees et dispositif d'enregistrement/lecture de donnees | |
US7366061B2 (en) | Information recording apparatus, information reproducing apparatus, and method and system for recording and reproducing information in a plurality of levels of recording units | |
KR101072730B1 (ko) | 기록 재생 장치 및 기록 방법 | |
KR100778113B1 (ko) | 플레이 리스트의 작성이 가능한 기록/재생 장치 및 그장치에서 플레이 리스트 생성 방법 | |
JP4164753B2 (ja) | ファイル管理装置、ファイル管理方法、ファイル管理方法のプログラム及びファイル管理方法のプログラムを記録した記録媒体 | |
US7617242B2 (en) | Method and apparatus for reproducing play lists in record media | |
JP3170503B1 (ja) | 情報記録媒体、情報記録方法、情報記録装置、情報再生方法および情報再生装置 | |
JP3170504B1 (ja) | 情報記録媒体、情報記録方法、情報記録装置、情報再生方法および情報再生装置 | |
JP2003257156A (ja) | 情報記録再生装置 | |
JP5038115B2 (ja) | ディスクアクセス装置およびディスクアクセス方法 | |
JP3183874B1 (ja) | 情報記録媒体、情報記録方法、情報記録装置、情報再生方法および情報再生装置 | |
JP3170502B1 (ja) | 情報記録媒体、情報記録方法、情報記録装置、情報再生方法および情報再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080807 |
|
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: 20090630 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090713 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120731 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |