(57)【要約】【課題】メディアに記録されたデータのセッション間に読み出し不可能な領域が存在していても、その領域にアクセスしないようにして効率的なキャッシュ読み出しを行う。【解決手段】アプリケーション２からデータの読み出し要求があると、メディア管理部３は、クラスドライバ７及びホストスタック９を介して、メディア１０からセッションＡの読み出し可能セクタの先頭セクタと終了セクタを取得する。そして、先頭セクタと終了セクタとの間を６４Ｋバイトのブロックに分割して、読み出しデータを含むブロックを特定する。なお、６４Ｋバイトで分割したときにセッションＡの読み出し不可領域が含まれる場合は、ブロックから読み出し不可領域を除外して、ブロックを読み出す。【選択図】図１
2008071396.tif 000002
【特許請求の範囲】
【請求項１】
セッション単位にデータが書き込まれているメディアからデータを読み出す読み出し部と、
データの読み出し要求を受け付けて、前記受け付けた読み出し要求に係るデータが含まれる対象セッションのデータ領域を特定する手段と、前記特定されたデータ領域の先頭から所定サイズのブロックに分割し、前記受け付けた読み出し要求に係るデータが含まれる対象ブロックを特定する手段と、前記読み出し部へ前記対象ブロックの読み出し指示を行ってデータを取得する手段と、を有するメディア管理部とを備え、
前記メディア管理部は、前記対象ブロック内に読み出し不可領域が含まれるときは、当該読み出し不可領域を除いた、所定サイズよりも小さいブロックの読み出し指示を行うことを特徴とするメディア管理装置。
【請求項２】
キャッシュメモリをさらに備え、
前記キャッシュメモリには、前記メディア管理部が取得した対象ブロックのデータが格納されることを特徴とする請求項１記載のメディア管理装置。
【請求項３】
メディアの読み出し装置を制御して、セッション単位にデータが書き込まれているメディアからデータを読み出す方法であって、
データの読み出し要求を受け付けるステップと、
前記受け付けた読み出し要求に係るデータが含まれる対象セッションのデータ領域を特定するステップと、
前記データ領域の先頭から所定サイズのブロックに分割し、前記受け付けた読み出し要求に係るデータが含まれる対象ブロックを特定するステップと、
前記対象ブロックに読み出し不可領域が含まれるときは、当該読み出し不可領域を除いた、所定サイズよりも小さいブロックの読み出し指示を行うステップと、を有するデータ読み出し方法。
【請求項４】
メディアの読み出し装置を制御して、セッション単位にデータが書き込まれているメディアからデータを読み出すためのコンピュータプログラムであって、
データの読み出し要求を受け付けるステップと、
前記受け付けた読み出し要求に係るデータが含まれる対象セッションのデータ領域を特定するステップと、
前記データ領域の先頭から所定サイズのブロックに分割し、前記受け付けた読み出し要求に係るデータが含まれる対象ブロックを特定するステップと、
前記対象ブロックに読み出し不可領域が含まれるときは、当該読み出し不可領域を除いた、所定サイズよりも小さいブロックの読み出し指示を行うステップと、をコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＤあるいはＤＶＤなどのメディア（記録媒体）を駆動させるメディアドライブを内蔵または外部接続した電子機器に搭載されたキャッシュ読出し装置及びキャッシュ読出し方法に関する。
【背景技術】
【０００２】
従来より、ＣＤやＤＶＤなどのメディアに接続してデータをバックアップする機能を備えたプリンタや複合機（ＭＦＰ：Multi Function Peripherals）などが知られている。この種のプリンタや複合機によれば、あらかじめ多数の画像データをバックアップデータとしてＣＤなどに格納しておき、これらのバックアップデータのサムネイル画像データをＣＤなどから取得してインデックス印刷シートに出力することにより、どのような画像がバックアップされているかを容易に確認することができる（特許文献１参照）。
【０００３】
また、上記従来技術のプリンタや複合機などの電子機器は、ＣＤやＤＶＤに記録されたデータを高速で読み出すためのキャッシュメモリを備えていないが、それらのデータを高速で読み出す場合はキャッシュ読み出し用のキャッシュメモリを備えればよい。
【特許文献１】特開２００５−２１０４３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、プリンタや複合機などの電子機器で読み出したデータをＣＤやＤＶＤに記録する場合は、データの書き込みを行った単位で、個別のセッションが形成される。このとき、一つのセッションと他のセッションとの間には、データが記録されていない領域が存在するので、この領域を読み取ろうとすると読み取り不可のエラーが発生してしまう。
【０００５】
特に、プリンタや複合機などにキャッシュメモリを備えていて、ＣＤやＤＶＤなどのメディアからデータを高速で読み出そうとするときに、本来は読み込んではいけない領域（つまり、２つのセッション間のデータが存在しない領域）までキャッシュ読み出しを行ってしまうことがある。このような場合は、メディアドライブ（例えば、ＣＤドライブ）からエラーが返ってしまい読み込みに失敗したと判断されてしまう。あるいは、メディアドライブの種類によってはエラーを返さずに異常なデータを返すこともある。その結果、キャッシュを用いて読み出し速度を向上させようとしても、かえって読み出し速度が低下してしまうことになる。
【０００６】
そこで、本発明の目的は、セッション単位にデータが記憶されているメディアの読み出す際に、読み出しエラーを回避して、効率的な読み出しを行うことである。
【課題を解決するための手段】
【０００７】
本発明の一つの側面に従うメディア管理装置は、セッション単位にデータが書き込まれているメディアからデータを読み出す読み出し部と、データの読み出し要求を受け付けて、前記受け付けた読み出し要求に係るデータが含まれる対象セッションのデータ領域を特定する手段と、前記特定されたデータ領域の先頭から所定サイズのブロックに分割し、前記受け付けた読み出し要求に係るデータが含まれる対象ブロックを特定する手段と、前記読み出し部へ前記対象ブロックの読み出し指示を行ってデータを取得する手段と、を有するメディア管理部とを備え、前記メディア管理部は、前記対象ブロック内に読み出し不可領域が含まれるときは、当該読み出し不可領域を除いた、所定サイズよりも小さいブロックの読み出し指示を行う。
【０００８】
これにより、セッションの末尾の所定サイズのブロックに読み出し不可能な領域が含まれる場合には、読み出し不可能な領域を除いた、所定サイズ以下のブロックで読み出しを行うことができ、不必要に読み出しエラーを起こすことがない。
【０００９】
好適な実施形態では、キャッシュメモリをさらに備え、前記キャッシュメモリには、前記メディア管理部が取得した対象ブロックのデータが格納されるようにしてもよい。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しながら本発明におけるメディア管理装置の好適な実施形態について説明する。
【００１１】
図１は、本実施形態に係るメディア管理装置及びその周辺要素の構成を示すブロック図である。
【００１２】
同図に示すように、メディア管理装置１は、ＣＤまたはＤＶＤなどのメディア１０に記録されたデータを読み出すための読出し要求を行うアプリケーション２と、メディア１０に対するデータの読み書きの制御するメディア管理部３と、読み出したデータを保持するキャッシュメモリ５と、メディア管理部３の指示に従って、メディア１０のデータを実際に読み書きするためのクラスドライバ７及びホストスタック９とを備えた構成になっている。
【００１３】
メディア管理部３は、アプリケーション２から読出し要求を受けて、クラスドライバ７及びホストスタック９を制御してメディア１０からデータを読み出して、アプリケーション２へデータを返す。
【００１４】
このとき、メディア管理部３は、キャッシュ５を利用する。すなわち、メディア管理部３がメディア１０の読み出しを行う前に、まず、キャッシュ５に読み出し要求に係るデータが存在するか否かをチェックする。そして、キャッシュ５に必要なデータが存在しないときに、メディア管理部３がメディア１０からデータを読み出す。このとき、本実施形態では、読み出しを高速化するため、アプリケーション２からの読み出し要求で指定されたデータ量にかかわらず、所定のサイズ（ここでは６４Ｋバイト）のブロック単位で読み出しを行って、読み出したデータをキャッシュ５に格納する。
【００１５】
次に、図２は、本実施形態に係るメディア管理装置１が読み出すメディア１０のデータ構造の一例を示す。
【００１６】
同図に示す例では、セッションＡ及びセッションＢの２つのセッションが格納されている。ここで、セッションＡ及びＢは、いずれも、先頭に読み出し不可領域２０（セクタａ０〜ａ１、ｂ０〜ｂ１）、及び末尾に読み出し不可領域２０（セクタａ１０〜ａ１１、ｂ１０〜ｂ１１）が設けられている。そして、セッションＡ及びＢのいずれにおいても、読み出し不可領域に挟まれた領域が、読み出しが可能なデータ領域３０（セクタａ２〜ａ９、セクタｂ２〜ｂ９）である。
【００１７】
図３は、上述の構成を有するメディア管理装置１が、メディア１０の読み出しを行う処理の手順を示すフローチャートである。図２を参照しながら、このフローチャートの説明と併せて、第１の読み出しパターンを説明する。
【００１８】
まず、メディア管理部３が、アプリケーション２から読み出すデータ量（ここではｎ１バイト）を指定した、読み出し要求を受け付ける（Ｓ１）。
【００１９】
このとき、メディア管理部３は、データの読み出し開始位置を特定する（Ｓ２）。この読み出し開始位置は、直前の処理によって定まるものであり、ここでは、セッションＡ内のｘ１（図２参照）が特定されたものとする。
【００２０】
次に、メディア管理部３は、キャッシュメモリ５に読み出し要求に係るデータが存在するか否かの判定を行う。そして、キャッシュメモリ５にデータが存在する場合（キャッシュヒット）は（Ｓ３：Ｙｅｓ）、メディア管理部３がキャッシュメモリ５のデータを読んでアプリケーション２へ応答する（ステップＳ８）。これによってデータの高速読み出しを行うことができる。
【００２１】
一方、ステップＳ３において、キャッシュメモリ５に所望のデータが存在しない場合（キャッシュミス）は（Ｓ３：Ｎｏ）、メディア管理部３は、
“Get Track Information”コマンドを発行し、クラスドライバ７及びホストスタック９を介して、読み出し対象データが含まれる対象セッションのデータ領域３０の先頭セクタと終了セクタを取得する（Ｓ４）。ここでは、読出し対象セッションはセッションＡであるから、データ領域３０の先頭セクタがａ２、終了セクタがａ９である。
【００２２】
次に、メディア管理部３は、先頭セクタから終了セクタまでを、読み出し単位である６４Ｋバイトのブロックに分割する（Ｓ５）。セッションＡでは、データ領域３０の先頭から６４Ｋバイトずつに分割すると、セクタａ２〜ａ３、セクタａ４〜ａ５、セクタａ６〜ａ７が、それぞれ一ブロックとなる。
【００２３】
ここで、メディア管理部３は、読み出すべきデータ（ここでは、ｘ１からｎ１バイト）が存在するブロック（ここでは、セクタａ４〜ａ５）を特定して、そのブロックの読み出しを指示する（Ｓ６）。そして、読み出されたデータブロックを取得し、キャッシュ５へ格納する（Ｓ７）。
【００２４】
そして、読み出し開始位置から指定されたデータ量（ｘ１からｎ１バイト）のデータが、アプリケーション２へ送られる（ステップＳ８）。
【００２５】
第１の読み出しパターンは、上述したように、最終ブロック以外のブロックに含まれるデータを読み出す場合である。これに対して、以下に説明する第２の読み出しパターンでは、最終ブロックに存在するデータを読み出す場合の処理であり、かつ、最終ブロックを６４Ｋバイト取ると、読み出し不可領域２０を含んでしまう場合の処理である。図２及び図３を参照して説明する。
【００２６】
メディア管理部３が、アプリケーション２から読み出し要求（ｎ２バイト）を受け付けて、読み出し開始位置（ｘ２）を特定する（Ｓ１、Ｓ２）。
【００２７】
そして、キャッシュミスの場合（Ｓ３：Ｎｏ）、メディア管理部３は“Get Track Information”コマンドを発行してセッションＡのデータ領域３０の先頭セクタａ２と終了セクタａ９を取得する（Ｓ４）。データ領域３０の先頭から、６４Ｋバイトの読み出しブロックに分割していき、対象データの存在する領域を特定する（Ｓ５）。ここでは、対象データはセクタａ８〜ａ９に含まれる。そして、セクタａ８〜ａ９は３２Ｋバイトであるから、この最終ブロックを６４Ｋバイトとすると、読み出し不可領域２０が含まれてしまう。
【００２８】
そこで、このようなときは、メディア管理部３は、読み出し不可領域２０を除く、セクタａ８〜ａ９のみからなるブロックを読み込むように指示をする（Ｓ６）。つまり、所定サイズのブロックに分割したときに、読み出し不可領域を含むようなときは、読み出し不可領域をのぞく、所定サイズ以下のブロックを読み込む。これにより、読み出しエラーが発生することを回避できる。
【００２９】
このようにして読み出された３２Ｋバイトのデータブロックは、キャッシュメモリ５に格納され、読み出し開始位置ｘ２からｎ２バイトの要求されたデータが、アプリケーション２へ送られる（Ｓ７，Ｓ８）。
【００３０】
本実施形態によれば、パーソナルコンピュータのような大容量のキャッシュメモリを搭載する電子機器でなくても、限られた容量のキャッシュメモリによって効率よくキャッシュ読み出しを行い、メディアのデータを高速で読み出すことができる。特に、ＣＤやＤＶＤを接続することができるプリンタや複合機などに小さな容量のキャッシュメモリを搭載してデータの読み出しを行えば、セッション間の読み出し不可能な領域を避けてデータを読み出すことができるので、エラーが発生することなく高速で所望のデータを読み出すことが可能となる。
【００３１】
上述した実施形態は、本発明の説明のための例示にすぎず、本発明の適用範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。例えば、本実施形態に係るメディア管理装置は、メディアドライブを内蔵または外部接続可能なあらゆる電子機器に利用することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態に係るメディア管理装置１及びその周辺要素の構成を示すブロック図。
【図２】メディアのデータ構造の一例を示す図。
【図３】メディアからのデータ読出し処理の手順を示すフローチャート。
【符号の説明】
【００３３】
１  メディア管理装置
２  アプリケーション
３  メディア管理部
５  キャッシュメモリ
７  クラスドライバ
９  ホストスタック
１０  メディア
【図１】
2008071396.tif 000003
【図２】
2008071396.tif 000004
【図３】
2008071396.tif 000005