(57)【要約】【課題】アドレス空間において非連続なデータ読み出し要求が発生する際のキャッシュヒット率を向上させるバッファ制御方法を提供する。【解決手段】ドライバ層実行部６はアドレスが非連続なデータ読み出し要求に対しても、読み出し要求アドレスから次回の読み出し要求アドレスを予測し、事前にバッファメモリ８上に読み出すことにより、次回の読み出し要求発生時のキャッシュヒット率を向上させる。【選択図】図１
2007206930.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体からのデータ読み出しを要求する要求手段と、前記記録媒体からデータを読み出す読み出し手段とを備え、前記要求手段からのデータ読み出し要求に対し、前記読み出し手段による読み出し処理終了後、今回の読み出しアドレスと非連続な次回のデータ読み出し要求の物理アドレスを予測し、前記要求手段からの次回の読み出し要求受信前に前記読み出し手段により事前にデータを読み出すバッファ制御方法。
【請求項２】
次回のデータ読み出し要求における非連続な物理アドレスの予測はＤＶＤの起動処理における全ＤＭＡ領域読み出し処理及び管理情報領域読み出し処理の少なくとも一方に用いる、請求項1記載のバッファ制御方法。
【請求項３】
前記記録媒体がＤＶＤ−ＲＡＭのとき、全ＤＭＡ領域読み出し処理及び管理情報領域読み出し処理において次回のデータ読み出し要求の物理アドレスの予測を行なう、請求項２記載のバッファ制御方法。
【請求項４】
前記記録媒体がＤＶＤ−ＲＡＭ以外のＤＶＤメディアのとき、管理情報領域読み出し処理において次回のデータ読み出し要求の物理アドレスの予測を行なう、請求項２記載のバッファ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスクなどの記録媒体のデータを再生するためのバッファ制御方法に関する。
【背景技術】
【０００２】
一つの記録媒体からのデータを再生するためのバッファ制御方式に関して、リングバッファを利用したものが知られている。例えば、あるデータの読み出し要求が発生すると、記録媒体からバッファメモリにデータを格納し、ある閾値を超えるとバッファメモリに格納したデータをデコーダに転送し、再生する。転送されたバッファメモリ領域は空き領域となる。また、データ読み出しは読み出し要求に関わらず先読みを行い、バッファメモリ終端まで先読みを行う。データの格納がバッファメモリの終端に達すると、再び、バッファメモリの先頭からデータを格納する。次回のデータ読み出し要求の際、前回と同じデータの読み出し要求の場合や、すでにバッファメモリ上に先読みされているデータに対する読み出し要求であれば、これを直接読み出せば済むため見かけ上読み出し速度が向上される。以降、このような読み出し要求に対してすでにバッファメモリ上に先読みされていることをキャッシュヒットと呼ぶ。
【０００３】
従来、リングバッファをＮ個の分割領域に分割し、この各分割領域を１つのリングバッファとして取り扱うことでキャッシュヒット率を向上させたバッファ制御方法があり、特許文献1に記載されている。
【特許文献１】特開平７−９３０９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
データ読み出し要求に対し、キャッシュヒット率を向上させるためには、前回要求されたデータを効率よくバッファメモリに残しておくことが必要である。そのためにバッファメモリサイズを大きくすることによるキャッシュヒット率向上が考えられるが、大容量のバッファメモリを用意することが必要であり、コストアップになってしまうという問題がある。
【０００５】
従来のバッファ制御方法では、データ読み出し要求に対するキャッシュヒット率を向上させるためには前回要求のデータ読み出し位置と今回要求のデータ読み出しの物理アドレス位置が連続または近傍である必要があった。映像などのストリームデータであれば、光ディスクからシーケンシャルに先読みをすれば、ある程度のキャッシュヒット率を向上させることができるが、光ディスク再生前の初期立ち上げにおいては管理情報や欠陥情報などのデータ読み出し要求が発生する。このときアドレス空間において連続的なデータ読み出し要求が発生するとは限らないため、キャッシュヒット率が低下するという課題があった。
【０００６】
従って、本発明は、アドレス空間において非連続なデータ読み出し要求が発生する際のキャッシュヒット率を向上させるバッファ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のバッファ制御方法は、次回のデータ読み出し要求が発生する前に、今回の読み出しアドレスと非連続な次回の読み出し要求のアドレスをあらかじめ予測しておき、ピックアップを事前に所定の位置にシークさせ、バッファメモリに格納しておくことによりキャッシュヒット率を高めるバッファ制御方法である。
【発明の効果】
【０００８】
本発明では、光ディスク再生において、今回の読み出しアドレスと非連続な次回の読み出し要求のアドレスをあらかじめ予測して先読みするので非連続なアドレスのデータ読み出し要求が発生したときにもキャッシュヒット率を向上することができるため、データ読み出し時間の短縮を図ることができる。このため、特に光ディスクの初期立ち上げ時間を短縮することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００１０】
図１は光ディスクのデータをバッファメモリに取り込み、取り込んだデータをデコード回路へ転送し再生する再生装置の説明図で、光ディスク１は映像データや音声データなどが記録されている記録媒体である。
【００１１】
操作部３は使用者によって操作が可能な操作部で、光ディスク１に記録されている映像データや音声データの中から、使用者が望むコンテンツを選択できる働きを持ち、使用者により選択されたコンテンツをシステムコントローラ４に伝える役割を担う。
【００１２】
システムコントローラ４は制御手段であり、アプリ層実行部５、ドライバ層実行部６に分けられる。アプリ層実行部５は光ディスクからのデータ読み出しを要求する要求手段であり、操作部からの初期立ち上げやコンテンツの再生などの指示により動作する。操作部３からの要求に対し、光ディスク１上の所望のアドレス位置を割り出し、データ読み出しをドライバ層実行部６に伝える役割を担う。
【００１３】
ドライバ層実行部６はアプリ層実行部５からのデータ読み出し要求に対し、サーボ制御回路７を制御することによる光ディスクからのデータ読み出し手段を備えており、データをバッファメモリ８に格納する役割を担う。必要なデータがバッファメモリ上に存在しない場合、サーボ制御回路７に所望のアドレス位置へのシーク要求を行う。サーボ制御回路７は要求されたアドレス位置にピックアップ２をシークさせ、光ディスク１からデータの読み出しを行い、バッファメモリ８に読み出しデータを格納する。データ格納が終わると、ドライバ層実行部６に読み出し完了通知を行い、ドライバ層実行部６はアプリ層実行部５に対し、同様に読み出し完了通知を行う。ドライバ層実行部６はバッファメモリがデータでいっぱいになる状態まで先読みを続ける。
【００１４】
次にアプリ層実行部５からのデータ読み出し要求が発生した場合、ドライバ層実行部６は必要なデータがすでにバッファメモリ上に先読みされているかどうかを確認する。すでに先読みされている場合は、アプリ層実行部５に対しすぐに読み出し完了通知を行うことができ、要求に対する応答時間の短縮を図ることができるが、先読みされていない場合は、再び、サーボ回路７に対し、所望のアドレス位置へのシーク要求を行う。先程と同様、シークが完了し光ディスクからバッファメモリへのデータ読み出しが終了した時点で、ドライバ層実行部６からアプリ層実行部５への読み出し完了通知を行う。
【００１５】
しかし、この場合先読みのキャッシュヒットが期待できるのは前回の読み出し要求とアドレスで連続である場合や、連続でなくともバッファメモリ内に先読みされている範囲でしかキャッシュヒットできないため、前回要求のデータ読み出しアドレスと今回のデータ読み出しアドレスが非常に近い必要があった。
【００１６】
本発明ではアドレスが非連続な要求であってもキャッシュヒット率を向上させることであり、光ディスクの物理アドレスを用いることにより実現する。
【００１７】
ＤＶＤ−ＲＡＭディスクは欠陥管理を有しており、ディスク上の欠陥部分の情報を欠陥領域（Ｄｅｆｅｃｔ  Ｍａｎａｇｅｍｅｎｔ  Ａｒｅａ：ＤＭＡ）に代替することができる。このＤＭＡはＤＶＤ−ＲＡＭディスクのＬｅａｄ−ｉｎ領域に二領域、Ｌｅａｄ−ｏｕｔ領域に二領域の計４つの領域に同じ情報が繰り返し記録されている。Ｌｅａｄ−ｉｎはディスクの最内周側、Ｌｅａｄ−ｏｕｔはディスクの最外周側に配置されているため、アドレス空間では非連続となる。
【００１８】
ディスク上に欠陥領域が存在した場合、このＤＭＡ領域に代替された正常な情報が記録されている可能性があるため、ＤＶＤ−ＲＡＭ再生装置にとってはＤＭＡの読み込みが不可欠となる。また、ＤＭＡ領域の信頼性を高めるために、内周・外周共にＤＭＡ情報を読み込んでおく必要がある。
【００１９】
このＤＭＡ情報のデータ読み出し要求が発生した場合、本発明ではキャッシュヒット率を高めることができる。以下、図２から図５を用いて従来までのデータ読み出し方法と、本発明を用いたデータ読み出し方法の詳細を説明する。
【００２０】
図２は従来手法でのＤＭＡ読み出し処理をシーケンス図として示したものであり、図３はそのときのバッファ制御状態を示した図である。
【００２１】
まず、アプリ層実行部５より内周ＤＭＡの読み出し要求がドライバ層実行部６へと通知される。ドライバ層実行部６ではすでにバッファメモリ８にデータが先読みされていないかチェックする（図２のＳＴ１、図３（Ａ））。先読みされていないと判断すると、ドライバ層実行部６はサーボ制御回路７に対し、読み出し要求を通知する。サーボ制御回路７は読み出し要求のアドレスに対しピックアップ２をシークさせ、光ディスク１からバッファメモリ８にデータを読み出す。読み出しが完了した時点でバッファメモリには取得したデータ分バッファが格納される（図２のＳＴ２、図３（Ｂ））。バッファメモリへの格納が完了すると、ドライバ層実行部６、アプリ層実行部５へと読み出し完了通知を行う。ここで、ドライバ層６実行部ではアプリ層実行部５からの次の読み出し要求の前に、先読み処理を続けておく。これにより、次の読み出し要求発生時、先読み内にすでに必要なデータの読み出しが完了していれば、その時点でアプリ層実行部５に対し読み出し完了通知を行うことができる。
【００２２】
ＤＭＡ情報はすべて読み出す必要があるため、内周ＤＭＡの読み出しが完了すると、次に外周ＤＭＡの読み出し要求が発生する。このとき、ドライバ層実行部６ではバッファメモリ８内にデータが先読みされていないかどうかチェックする（図２のＳＴ３、図３（Ｃ））。先読みされていないと判断すると、サーボ制御回路７に対し先読みを停止させ、読み出し要求を通知するが、バッファメモリに先読みされている部分は不要となるため、バッファメモリ８内の前回の読み出し要求が完了したポイントから次の読み出しデータを格納するように通知する。サーボ制御回路７は読み出し要求のアドレスから指定されたバッファメモリ８内の領域にデータを格納し、読み出し要求が完了すると（図２のＳＴ４、図３（Ｄ））、ドライバ層６実行部、アプリ層実行部５へと通知する。また、このとき更なる読み出し要求に備え先読みは継続させておく（図３（Ｅ））。
【００２３】
このようにアドレスが非連続な要求が発生する場合、アドレスの連続的な先読み方法に対してはキャッシュヒット率の向上は望めないことが分かる。この課題を解決する方法を次に示す。
【００２４】
まず、アプリ層実行部５より内周ＤＭＡの読み出し要求がドライバ層実行部６へと通知される。ドライバ層実行部６ではすでにバッファメモリ８にデータが先読みされていないかチェックする（図４のＳＴ１、図５（Ａ））。先読みされていないと判断すると、ドライバ層実行部６はサーボ制御回路７に対し、読み出し要求を通知する。サーボ制御回路７は読み出し要求のアドレスに対しピックアップ２をシークさせ、光ディスク１からバッファメモリ８にデータを読み出す。読み出しが完了した時点でバッファメモリには取得したデータ分バッファが格納される（図４のＳＴ２、図５（Ｂ））。バッファメモリへの格納が完了すると、ドライバ層実行部６、アプリ層実行部５へと読み出し完了通知を行う。ここで、従来手法であればドライバ層実行部６ではアプリ層実行部５からの次の読み出し要求の前に先読み処理を続けておくが、本発明では先読みを行う前に、次の読み出し要求が前回アドレスから非連続の可能性がないかどうかチェックする。本例であれば、内周DMAの読み出し要求が発生すれば、その次に外周ＤＭＡの読み出し要求が発生することが、一意的に決まるため、このような条件に一致する場合は、連続的なアドレスの先読みを停止させ、次回読み出し要求アドレス位置を予測しておき、そのアドレスに対して先読みを行なっておく（図４のＳＴ３、図５（Ｃ））。次に外周ＤＭＡの読み出し要求が発生したとき、ドライバ層実行部６ではバッファメモリ８内にデータが先読みされていないかどうかチェックする（図４のＳＴ４、図５（Ｄ））。このとき、すでに先読みが完了しているため、再度ディスクから読み出す必要はなく、キャッシュヒットとしてアプリ層実行部５に対し読み出し完了通知をすることができる。
【００２５】
ＤＶＤ−ＲＡＭのＤＭＡの読み出しを例としたが、光ディスクのある物理アドレスから一意的に次の物理アドレスの読み出しが予測できるときに適用でき、この他にも光ディスクに記録されている管理情報の先頭データは決まった物理アドレス上に記録されており、管理情報のバックアップも決まった物理アドレス上に記録されている。このため、先の管理情報の読み出しが発生した場合、光ディスク上の傷などにより、読み出しができなかった際には次に管理情報のバックアップの読み出しが発生すると予測できる。このようなときに、連続的なアドレスの先読みを停止させ、管理情報のバックアップ位置にあらかじめシークさせ、事前に読み出しておくことにより、次の管理情報のバックアップ位置のデータ読み出しがアプリ層実行部５より発生した場合再読み込みする必要はなく、アプリ層実行部５に対する読み出し完了通知の時間を短縮することができる。
【００２６】
このような非連続なアドレスの読み出し要求はＤＶＤディスクの起動処理で発生する。
【００２７】
図６にＤＶＤディスクの大まかな起動処理フローを示す。まず、ディスクの判別を行い（図６のＳＴ１）ディスクがＤＶＤでなければＤＶＤ起動処理を終了する。次に、ＤＶＤの場合、ＤＶＤ−ＲＡＭかどうかの判断を行う。ＤＶＤ−ＲＡＭであれば、ＤＭＡ領域の読み出し処理を行い（図６のＳＴ２）、読み出し処理終了後、管理情報の読み出しを行う。（図６のＳＴ３）。ＤＶＤ−ＲＡＭ以外のＤＶＤディスクであれば、ＤＭＡ領域の読み出しは必要ないため、管理情報の読み出し処理のみを行う（図６のＳＴ３）。このＤＭＡ読み出し処理と管理情報読み出し処理内にてアドレスの非連続な読み出し要求が発生する可能性があり、本発明を適用することができる。
【産業上の利用可能性】
【００２８】
本発明のバッファ制御方法を備えることにより、非連続なアドレスの読み出し要求に対する応答時間を早めることができるため、ＤＶＤプレーヤーなどの光ディスク再生装置などに有効である。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態における光ディスク再生装置のブロック図
【図２】従来の形態におけるデータ読み出し処理のシーケンス図
【図３】従来の形態におけるバッファ制御の説明図
【図４】同実施の形態におけるデータ読み出し処理のシーケンス図
【図５】同実施の形態におけるバッファ制御の説明図
【図６】同実施の形態におけるＤＶＤ起動処理のフローチャート
【符号の説明】
【００３０】
１    光ディスク
２    ピックアップ
３    操作部
４    システムコントローラ
５    アプリ層実行部
６    ドライバ層実行部
７    サーボ制御回路
８    バッファメモリ
９    デコード回路
【図１】
2007206930.tif 000003
【図２】
2007206930.tif 000004
【図４】
2007206930.tif 000005
【図６】
2007206930.tif 000006
【図３】
2007206930.tif 000007
【図５】
2007206930.tif 000008