(57)【要約】【課題】不連続な物理アドレスに一連のデータが記録された光ディスクを、先読みキャッシュ処理のためにバッファに読み込む際の読み込み速度を改善する光ディスク読み込み方法を提供する。【解決手段】光ディスク読み込み方法は、データブロックが他のデータブロックに交換される際に交換元の物理アドレスと交換先の物理アドレスとの対応関係を示すために作成されるＤＦＬを参照して、次に読み込む物理アドレスが、ＤＦＬに示される交換元の物理アドレスと一致するかを比較し（ステップＳ２）、次に読み込む物理アドレスが交換元の物理アドレスと一致する場合（ステップＳ２：ＹＥＳ）、交換先の物理アドレスのデータブロックを格納するための予備領域をバッファ１１８中に確保してから（ステップＳ４）、当該交換元の物理アドレスからその交換先の物理アドレスまでのデータブロックを順次バッファ１１８に読み込み（ステップＳ１〜１０）、読み込んだ交換先の物理アドレスのデータを予備領域に複写する（ステップＳ８）。【選択図】図４
2010152981.tif 000002
【特許請求の範囲】
【請求項１】
光ディスクの物理アドレスに不連続に記録され論理的に関連する一連のデータブロックを、一時記憶領域に読み込むための光ディスク読み込み方法であって、
前記データブロックが他のデータブロックに交換される際に交換元の物理アドレスと交換先の物理アドレスとの対応関係を示すために作成されるテーブルを参照して、次に読み込む物理アドレスが、前記テーブルに示される交換元の物理アドレスと一致するかを比較するステップと、
次に読み込む物理アドレスが交換元の物理アドレスと一致しない場合、前記次の物理アドレスのデータブロックを前記一時記憶領域に読み込むステップと、
次に読み込む物理アドレスが交換元の物理アドレスと一致する場合、前記交換先の物理アドレスのデータブロックを格納するための予備領域を前記一時記憶領域中に確保してから、当該交換元の物理アドレスからその交換先の物理アドレスまでのデータブロックを順次前記一時記憶領域に読み込み、読み込んだ前記交換先の物理アドレスのデータを前記予備領域に複写するステップと、
を有する光ディスク読み込み方法。
【請求項２】
次に読み込む物理アドレスが交換元の物理アドレスと一致する場合に、前記交換元から前記交換先までの全ての物理アドレスのデータを読み込むための容量が、前記一時記憶領域に残余しているか確認するステップを、さらに含み、
容量が残余している場合、前記予備領域に前記交換先の物理アドレスのデータブロックを複写するステップを実行し、
容量が残余していない場合、データブロックを読み込まずに前記交換先の物理アドレスまで進み、前記交換先の物理アドレスのデータブロックのみを読み込む請求項１記載の光ディスク読み込み方法。
【請求項３】
前記交換元から前記交換先までの全ての物理アドレスのデータブロックを読み込む場合、前記予備領域が前記交換先の物理アドレスのデータブロックのために保留されていることを示す保留リストを作成するステップをさらに有し、
前記交換先の物理アドレスが読み込まれる際には、前記保留リストが参照され、前記交換先の物理アドレスのデータブロックが前記予備領域に複写される請求項１または請求項２記載の光ディスク読み込み方法。
【請求項４】
前記光ディスクは、追記型ディスクである請求項１〜３のいずれか一項に記載の光ディスク読み込み方法。
【請求項５】
論理的に関連する一連のデータブロックが不連続に物理アドレスに記録された光ディスクのデータブロックを読み込む光ピックアップと、
前記光ピックアップにより読み込んだデータブロックを一時的に記憶する一時記憶領域と、
前記光ディスク上に記録されたデータブロックが交換される際に交換元の物理アドレスと交換先の物理アドレスとの対応関係を示すために作成されるテーブルを記憶するテーブルメモリと、
読み込み要求された物理アドレスから前記光ディスクのデータブロックを順次前記一時記憶領域に読み込むように、前記光ピックアップを制御する制御部と、
を有し、
前記制御部は、前記テーブルを参照して、次に読み込む物理アドレスが、前記テーブルに示される交換元の物理アドレスと一致するかを比較し、
次に読み込む物理アドレスが交換元の物理アドレスと一致しない場合、前記次の物理アドレスのデータを前記一時記憶領域に読み込み、
次に読み込む物理アドレスが交換元の物理アドレスと一致する場合、前記交換先の物理アドレスのデータを格納するための予備領域を前記一時記憶領域中に確保してから、当該交換元の物理アドレスからその交換先の物理アドレスまでのデータを前記一時記憶領域に読み込み、読み込んだ前記交換先の物理アドレスのデータを前記予備領域に複写する光ディスク読み込み装置。
【請求項６】
前記制御部は、
次に読み込む物理アドレスが交換元の物理アドレスと一致する場合に、前記交換元から前記交換先までの全ての物理アドレスのデータを読み込むための容量が、前記一時記憶領域に残余しているか確認し、
容量が残余している場合、前記予備領域に前記交換先の物理アドレスのデータブロックを複写するステップを実行し、
容量が残余していない場合、データブロックを読み込まずに前記光ピックアップを前記交換先の物理アドレスまで進め、前記交換先の物理アドレスのデータブロックのみを読み込む請求項５記載の光ディスク読み込み装置。
【請求項７】
前記交換元から前記交換先までの全ての物理アドレスのデータブロックが読み込まれる場合、前記予備領域が前記交換先の物理アドレスのデータブロックのために保留されていることを示す保留リストをさらに有し、
前記保留リストは、前記制御部によって、予備領域が保留されるたびに更新され、
前記制御部は、予備領域を保留するたびに前記保留リストを更新し、前記交換先の物理アドレスを読み込む際には、前記保留リストを参照して、前記交換先の物理アドレスのデータブロックを前記予備領域に複写する請求項５または請求項６記載の光ディスク読み込み装置。
【請求項８】
前記光ディスクは、追記型ディスクである請求項５〜７のいずれか一項に記載の光ディスク読み込み装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスクのデータを効率よく先読みキャッシュ処理するための光ディスク読み込み方法およびその装置に関する。
【背景技術】
【０００２】
光ディスク装置による光ディスクの読み込みでは、シーケンシャルに読み込む場合が多い。この場合、あるアドレスの読み込み要求が出されたときに、その先のアドレスのデータを先に読み込んでおくと効率がよい。そこで、要求されていないアドレスを予め読み込んで、バッファに格納しておく手法として、先読みキャッシュ（Ｒｅａｄ  ａｈｅａｄ  ｃａｓｈｅ）が使われている。バッファ内に格納されるデータは、論理アドレスが連続していることが好ましい。通常では、要求された物理アドレスから光ディスクを読み込めば、論理的にも連続して光ディスク装置のバッファにデータが格納される。
【０００３】
一方で、例えば、追記型ブルーレイディスクでは、ロジカルオーバーライト（Ｌｏｇｉｃａｌ  Ｏｖｅｒｗｒｉｔｅ：ＬＯＷ）という手法が使われている。この手法は、書き換えのできない追記型ディスクでも、ディスク上のデータ欠陥を管理するためのディフェクトマネージメント機能を利用して、論理的に上書きできるようにするものである。上書きしたいデータは、異なる物理アドレスに代替処理される。たとえば、物理アドレス「１００１００」番地のデータが書き換えられる場合、新たなデータは「１００１６０」に追加され、その対応が図１に示すディフェクトリスト（ＤＦＬ）と呼ばれるテーブルに記録される。図１のディフェクトリストでは、「１００１４０」番地のデータが「１００１Ａ０」番地のデータに代替されていることが示される。また、「１００１６０」番地については、既にデータが代替されているので、次のデータは、「１００１６０」番地の次に空いているアドレスに格納しなくてはならない。したがって、「１００１６０」番地のデータは、「１００１Ｃ０」番地のデータに代替されているように、ディフェクトリストに示される。
【０００４】
ロジカルオーバーライトで記録されたデータを先読みキャッシュにより読み込む場合、ディフェクトリストにしたがって、代替処理する必要がある。論理的に連続にバッファにデータを格納しようとすると、読み込む物理アドレスの順は、前後したり、飛んだりしたりして、不連続となる（たとえば、特許文献１参照）。
【特許文献１】特開２００８−１０１２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
図１のディフェクトリストに従って、図２に示す「１０００Ｅ０」番地から光ディスクを先読みキャッシュ処理する場合、まず「１０００Ｅ０」番地のデータブロックが、読み込まれる。続けて、次の「１００１００」番地はデータが代替されているので、ディフェクトリストに従ってジャンプして「１００１６０」番地のデータブロックが読み込まれる。次の「１００１２０」番地はデータが代替されていないので、「１００１２０」番地に戻ってデータブロックが読み込まれる。このようにして、論理アドレス順に「１０００Ｅ０」、「１００１６０」、「１００１２０」、「１００１Ａ０」、「１００１Ｃ０」のデータがバッファに格納される。この例では３回のシーク動作が必要となる。
【０００６】
以上からわかるように、ディフェクトリストに従って順番を代替処理しながら、先読みキャッシュ処理する場合、シーク動作が頻繁に発生してしまう。シーク動作には、ジャンプ時間と回転待ち時間が発生するので、読み込み速度が低下し、再生パフォーマンスが低下してしまう。
【０００７】
また、ロジカルオーバーライトの場合だけではなく、光ディスクのあるクラスタに欠陥が発生して、異なるアドレスのクラスタに代替された場合でも、一連のデータが不連続な物理アドレスに記憶されているので、上記と同様の問題が発生する。
【０００８】
本発明は上記事情に鑑みてなされたものであり、不連続な物理アドレスに一連のデータが記録された光ディスクを、先読みキャッシュ処理のためにバッファに読み込む際の読み込み速度を改善する光ディスク読み込み方法およびその装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の光ディスク読み込み方法は、光ディスクの物理アドレスに不連続に記録され論理的に関連する一連のデータブロックを、一時記憶領域に読み込むための光ディスク読み込み方法である。前記データブロックが他のデータブロックに交換される際に交換元の物理アドレスと交換先の物理アドレスとの対応関係を示すために作成されるテーブルを参照して、次に読み込む物理アドレスが、前記テーブルに示される交換元の物理アドレスと一致するかを比較するステップを有する。さらに、次に読み込む物理アドレスが交換元の物理アドレスと一致しない場合、前記次の物理アドレスのデータブロックを前記一時記憶領域に読み込むステップを有する。次に読み込む物理アドレスが交換元の物理アドレスと一致する場合、前記交換先の物理アドレスのデータブロックを格納するための予備領域を前記一時記憶領域中に確保してから、当該交換元の物理アドレスからその交換先の物理アドレスまでのデータブロックを順次前記一時記憶領域に読み込み、読み込んだ前記交換先の物理アドレスのデータを前記予備領域に複写するステップを有する。
【００１０】
本発明の光ディスク読み込み装置は、光ピックアップと、一時記憶領域と、テーブルメモリと、制御部とを有する。光ピックアップは、論理的に関連する一連のデータブロックが不連続に物理アドレスに記録された光ディスクのデータブロックを読み込む。一時記憶領域は、前記光ピックアップにより読み込んだデータブロックを一時的に記憶する。テーブルメモリは、前記光ディスク上に記録されたデータブロックが交換される際に交換元の物理アドレスと交換先の物理アドレスとの対応関係を示すために作成されるテーブルを記憶する。制御部は、読み込み要求された物理アドレスから前記光ディスクのデータブロックを順次前記一時記憶領域に読み込むように、前記光ピックアップを制御する。前記制御部は、前記テーブルを参照して、次に読み込む物理アドレスが、前記テーブルに示される交換元の物理アドレスと一致するかを比較し、次に読み込む物理アドレスが交換元の物理アドレスと一致しない場合、前記次の物理アドレスのデータを前記一時記憶領域に読み込み、次に読み込む物理アドレスが交換元の物理アドレスと一致する場合、前記交換先の物理アドレスのデータを格納するための予備領域を前記一時記憶領域中に確保してから、当該交換元の物理アドレスからその交換先の物理アドレスまでのデータを前記一時記憶領域に読み込み、読み込んだ前記交換先の物理アドレスのデータを前記予備領域に複写する。
【００１１】
この結果、交換先の物理アドレスのデータブロックまで全て読み取り、確保していた予備領域に交換先のアドレスのデータブロックを複写する。したがって、交換元から交換先の物理アドレスにシークすることなく、かつ、論理アドレス順にデータブロックを一時記憶領域に格納できる。
【発明の効果】
【００１２】
本発明の光ディスク読み込み方法およびその装置によれば、従来よりもシーク回数を低減できる分、光ディスクの再生時間を格段と短縮することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して、本発明の実施の形態を説明する。
【００１４】
図３は、光ディスク読み込み装置の概略構成を示す図である。
【００１５】
読み込む光ディスク５０は、ＢＤ（ブルーレイディスク）、ＤＶＤ、ＣＤ等の追記型の光ディスクである。
【００１６】
光ディスク読み込み装置１００は、図３に示すように、光ピックアップ１０２、ＲＦ信号処理部１０４、デコーダ１０６、アドレスレジスタ１０８、比較器１１０、ディフェクトリストメモリ（ＤＦＬメモリ）１１２、保留リストメモリ１１４、メモリコントローラ１１６、バッファ１１８、インターフェース１２０、およびＣＰＵ１２２を有する。
【００１７】
光ピックアップ１０２は、回転する光ディスク５０にレーザ光を照射し、その反射光により、光ディスク５０に記録されているデータを読み取る。読み取った信号は、ＲＦ信号処理部１０４に送られ、波形整形、デジタル信号処理が行われる。
【００１８】
デコーダ１０６は、ＲＦ信号処理部１０４からの信号を、アドレスデータおよびメインデータ（ブロック）に復調する。先にアドレスデータが復調される。アドレスレジスタ１０８は、現在読み込まれている光ディスク５０の物理アドレスとして、復調されたアドレスデータを格納する。比較器１１０は、アドレスレジスタ１０８に格納されたアドレスデータ（物理アドレス）と、ＤＦＬメモリ１１２および保留リストメモリ１１４に記憶されているアドレスデータ（物理アドレス）とを比較し、一致しているかどうかを判断する。
【００１９】
ＤＦＬメモリ１１２は、光ディスク５０上のデータブロックが他のデータブロックに交換される際に、交換元のデータがあった物理アドレスと交換先のデータが記憶される物理アドレスとの対応関係を示すために作成されるテーブルを記憶する。データブロックの交換は、たとえば、物理フォーマットを実行して、データブロックに欠陥が検出されたときに実行される。欠陥がある物理アドレスのデータブロックの内容を復元して、欠陥がない新規な物理アドレスのデータブロックに書き換える。あるいは、データブロックの交換は、ロジカルオーバーライトのために、擬似的に古いデータブロックを消去して、古いデータブロックに代えて書き換えたいデータを新規な物理アドレスに記録する際にも実行される。ＤＦＬメモリ１１２は、通常、データブロックに欠陥があるときに作成される。しかし、本実施形態では、ロジカルオーバーライトのために利用されてもよい。
【００２０】
保留リストメモリ１１４は、バッファ１１８内でデータのコピー（移動）を行う際に、どのデータブロックをどのクラスタに保存するかを示すテーブルである。詳細については後述する。
【００２１】
メモリコントローラ１１６は、デコーダ１０６により復調されたデータにエラー等の問題がなければ、デコーダにバッファ１１８への書き込み要求を出す。
【００２２】
バッファ（一時記憶領域）１１８は、複数のクラスタを単位とする記憶領域を有し、デコーダ１０６から出力されたデータブロックをクラスタに一時的に順番に格納する。本実施形態では、光ディスク５０のデータブロックの容量と、バッファ１１８のクラスタの容量とが対応するものとする。
【００２３】
インターフェース１２０は、ホストからの要求に従って、ＣＰＵ１２２の制御の下で、該ホストとのデータの送受信を実行する。
【００２４】
次に、本実施形態の光ディスク読み込み方法について、詳細に説明する。
【００２５】
図４は、光ディスク読み込み方法の流れを示すフローチャートである。動作を上述の各部によって実行され、各部はＣＰＵ１２２によって制御される。光ディスク５０は、先読みキャッシュ処理のために読み込まれる。
【００２６】
まず、現在読み込み始めた光ディスク５０の物理アドレスが、光ピックアップ１０２、ＲＦ信号処理部１０４およびデコーダ１０６によって取得される（ステップＳ１）。
【００２７】
取得された物理アドレスは、アドレスレジスタ１０８から比較器１１０に送信され、当該比較器１１０において、ＤＦＬメモリ１１２に記憶されている交換元の物理アドレスと比較され、ディフェクトリスト（ＤＦＬ）と一致するか調べられる（ステップＳ２）。たとえば、図１に示すディフェクトリストの場合、交換元の物理アドレスとして、「１００１００」、「１００１４０」、「１００１８０」が登録されているので、現在読み込み始めた光ディスク５０の物理アドレスが、これらの登録された交換元の物理アドレスのいずれかと一致するかが調べられる。
【００２８】
取得された物理アドレスが、ディフェクトリストの交換元の物理アドレスと一致する場合（ステップＳ２：ＹＥＳ）、一致した交換元の物理アドレスから、対応する交換先の物理アドレスまでの全てのデータを読み込むための容量が、バッファ１１８の残余記憶容量（残量）以下かがＣＰＵ１２２によって判断される（ステップＳ３）。たとえば、図１に示す交換元のアドレス「１００１００」から交換先のアドレス「１００１６０」までのデータブロック４個分の容量が、バッファ１１８に残っているかが判断される。
【００２９】
バッファ１１８の残量が充分な場合（ステップＳ３：ＹＥＳ）、ＣＰＵ１２２は、バッファ１１８の次のクラスタにダミーデータブロックとして現在の物理アドレスのデータブロックを保存して、ダミーデータブロックが保存されたクラスタは、交換先の物理アドレスのデータブロックを保存するために保留していることを示す保留リストを追加する（ステップＳ４）。ダミーデータブロックが記憶されるクラスタは、交換先の物理アドレスのデータブロックに後から置き換える予備領域として確保される。
【００３０】
バッファ１１８の残量が、交換先の物理アドレスまでの全てのデータを読み込むには不十分である場合（ステップＳ３：ＮＯ）、ＣＰＵ１２２は、光ピックアップ１０２を交換先の物理アドレスまでシークさせ、交換先の物理アドレスのデータブロックを読み込ませ、バッファ１１８に格納させる（ステップＳ５）。
【００３１】
ステップＳ１で取得された物理アドレスが保留リストメモリ１１４の保留リストに対応するかが判断される（ステップＳ６）。ここでは、ＣＰＵ１２２は、読み込んだ物理アドレスのデータブロックが、バッファ１１８の予備領域に記憶されるべきデータブロックかを、保留リストを参照して判断する。
【００３２】
取得された物理アドレスが保留リストにある場合（ステップＳ６：ＹＥＳ）、ステップＳ４で読み込んだデータブロックは、バッファ１１８内で予備領域に置き換えられるものであるので、保留リストに示されるバッファ１１８内のクラスタに複写される（ステップＳ７）。予備領域に、交換先のデータブロックが複写されることによって、バッファ１１８内では論理アドレス順にデータブロックが保存される。複写により予備領域がなくなるので、当該予備領域についての保留リストが削除更新される（ステップＳ８）。リストの更新は、ＣＰＵ１２２が実行する。
【００３３】
取得された物理アドレスが保留リストにない場合（ステップＳ６：ＮＯ）、そのまま、次の処理進む。
【００３４】
一方、ステップＳ２に戻って、取得された物理アドレスが、ディフェクトリストの交換元の物理アドレスと一致しない場合（ステップＳ２：ＮＯ）、ステップＳ１で取得された物理アドレスが保留リストメモリ１１４の保留リストに対応するかが判断される（ステップＳ９）。ここでは、ＣＰＵ１２２は、現在取得しようとしている物理アドレスのデータブロックが、バッファ１１８の予備領域に記憶されるべきデータブロックかを、保留リストを参照して判断する。
【００３５】
取得された物理アドレスが保留リストにある場合（ステップＳ９：ＹＥＳ）、現在読み込もうとしている物理アドレスのデータブロックは、バッファ１１８内で予備領域に置き換えられるものであるので、データブロックの取得後、保留リストに示されるバッファ１１８内のクラスタに複写される（ステップＳ１０）。予備領域に、交換先のデータブロックが複写されることによって、バッファ１１８内では論理アドレス順にデータブロックが保存される。複写により予備領域がなくなるので、当該予備領域についての保留リストが削除更新される（ステップＳ１１）。リストの更新は、ＣＰＵ１２２が実行する。
【００３６】
取得された物理アドレスが保留リストにない場合（ステップＳ９：ＮＯ）、そのまま、光ディスク５０からデータブロックが取得され、バッファ１１８に記憶される（ステップＳ１２）。
【００３７】
先読みキャッシュ処理は、バッファ１１８の容量がなくなるまで実行されるので、ＣＰＵ１２２によって、バッファ１１８の残量が検出される（ステップＳ１３）。バッファ１１８の残量が残っている場合（ステップＳ１３：ＮＯ）、ステップＳ１からの処理が繰り返される。バッファ１１８の残量が残っていない場合（ステップＳ１３：ＹＥＳ）、先読みキャッシュ処理のための光ディスク読み込みが終了される。
【００３８】
次に、具体例を用いて、光ディスク読み込み方法を説明する。
【００３９】
図５はバッファ内のデータと保留リストの遷移に示す図、図６は光ディスクの読み取り順を示す図である。
【００４０】
ここで、図１に示すＤＦＬがＤＦＬメモリ１１２に記憶されており、先読みキャッシュ処理のために、図６に示すように、光ディスク５０の物理アドレス「１０００Ｅ０」から順に読み込まれるとする。光ディスク５０の物理アドレスの順序は、図２と同様であるものとする。バッファ１１８にはページ０〜９の１０個のクラスタが記憶領域して設けられている。
【００４１】
（１）光ディスク５０の読み込みが始まり、最初に、光ディスク５０の物理アドレス「１０００Ｅ０」が、図１のＤＦＬの交換元アドレスと一致するかが判断される。一致しないので、この物理アドレス「１０００Ｅ０」が、保留リストと一致するかが判断される。まだ保留リストは作成されていないので、一致しない。したがって、そのまま、物理アドレス「１０００Ｅ０」のデータブロックが、バッファ１１８のページ０に記憶される。
【００４２】
（２）光ディスク５０の次の物理アドレス「１００１００」が、図１のＤＦＬの交換元アドレスと一致するかが判断される。一致するので、交換元の物理アドレス「１００１００」から交換先の物理アドレス「１００１６０」までのデータ量、すなわち、データブロック４個分の容量が、バッファ１１８に残っているかが判断される。バッファ１１８には、ページ１〜９までの９個分のクラスタが残っている。したがって、充分にバッファ１１８残量があるので、バッファ１１８のページ１が予備領域として、物理アドレス「１００１６０」のデータブロック用に確保される。確保のために、ページ１には、ダミーデータが記憶される。ダミーデータは、たとえば、不要となった物理アドレス「１００１００」のデータである。同時に、ＣＰＵ１２２は、バッファ１１８のページ１には、物理アドレス「１００１６０」のデータブロックが記憶されることを示す保留リストを作成する。
【００４３】
さらに、物理アドレス「１００１００」が、保留リストと一致するかが判断される。保留リストには物理アドレス「１００１６０」しか登録されていないので、一致しない。
【００４４】
（３）光ディスク５０の次の物理アドレス「１００１２０」が、図１のＤＦＬの交換元アドレスと一致するかが判断される。一致しないので、この物理アドレス「１００１２０」が、保留リストと一致するかが判断される。保留リストには物理アドレス「１００１６０」しか登録されていないので、一致しない。したがって、そのまま、物理アドレス「１００１２０」のデータブロックが、バッファ１１８のページ２に記憶される。
【００４５】
（４）光ディスク５０の次の物理アドレス「１００１４０」が、図１のＤＦＬの交換元アドレスと一致するかが判断される。一致するので、交換元の物理アドレス「１００１４０」から交換先の物理アドレス「１００１Ａ０」までのデータ量、すなわち、データブロック４個分の容量が、バッファ１１８に残っているかが判断される。バッファ１１８には、まだページ３〜９までの７個分のクラスタが残っている。したがって、充分にバッファ１１８残量があるので、バッファ１１８のページ３が予備領域として、物理アドレス「１００１Ａ０」のデータブロック用に確保される。確保のために、ページ３には、ダミーデータが記憶される。ダミーデータは、物理アドレス「１００１４０」のデータである。
【００４６】
同時に、ＣＰＵ１２２は、バッファ１１８のページ３には、物理アドレス「１００１Ａ０」のデータブロックが記憶されることを示す保留リストを追加する。したがって、保留リストは、この段階４では、ページ１と物理アドレス「１００１６０」、ページ３と物理アドレス「１００１Ａ０」を関連づけるものである。
【００４７】
さらに、物理アドレス「１００１４０」が、保留リストと一致するかが判断される。一致しないので、次に進む。
【００４８】
（５）光ディスク５０の次の物理アドレス「１００１６０」が、図１のＤＦＬの交換元アドレスと一致するかが判断される。一致するので、交換元の物理アドレス「１００１６０」から交換先の物理アドレス「１００１Ｃ０」までのデータ量、すなわち、データブロック４個分の容量が、バッファ１１８に残っているかが判断される。バッファ１１８には、まだページ４〜９までの６個分のクラスタが残っている。したがって、充分にバッファ１１８残量があるので、バッファ１１８のページ４が予備領域として、物理アドレス「１００１Ｃ０」のデータブロック用に確保される。確保のために、ページ４には、ダミーデータが記憶される。ここで、ダミーデータは、物理アドレス「１００１６０」のデータである。
【００４９】
同時に、ＣＰＵ１２２は、バッファ１１８のページ４には、物理アドレス「１００１Ｃ０」のデータブロックが記憶されることを示す保留リストを追加する。したがって、保留リストは、この段階５では、ページ１と物理アドレス「１００１６０」、ページ３と物理アドレス「１００１Ａ０」、ページ４と物理アドレス「１００１Ｃ０」を関連づけるものである。
【００５０】
（６）物理アドレス「１００１６０」が、保留リストと一致するかが判断される。保留リストの物理アドレス「１００１６０」と一致する。したがって、バッファ１１８のページ４に記憶された物理アドレス「１００１６０」のデータブロックが、保留リストに従って、バッファ１１８のページ１に複写される。保留リストの物理アドレス「１００１６０」については、不要となるので、削除され、保留リストが更新される。
【００５１】
（７）光ディスク５０の次の物理アドレス「１００１８０」が、図１のＤＦＬの交換元アドレスと一致するかが判断される。一致しないので、この物理アドレス「１００１８０」が、保留リストと一致するかが判断される。一致しないので、そのまま、物理アドレス「１００１８０」のデータブロックが、バッファ１１８のページ５に記憶される。
【００５２】
（８）光ディスク５０の次の物理アドレス「１００１Ａ０」が、図１のＤＦＬの交換元アドレスと一致するかが判断される。一致しないので、この物理アドレス「１００１Ａ０」が、保留リストと一致するかが判断される。保留リストと一致する。したがって、まず、物理アドレス「１００１Ａ０」のデータブロックが、バッファ１１８の次のページ６に記憶される。
【００５３】
（９）続けて、保留リストに従って、バッファ１１８のページ６に記憶された物理アドレス「１００１Ａ０」のデータブロックが、バッファ１１８のページ３に複写される。保留リストの物理アドレス「１００１Ａ０」については、不要となるので、削除され、保留リストが更新される。
【００５４】
（１０）光ディスク５０の次の物理アドレス「１００１Ｃ０」が、図１のＤＦＬの交換元アドレスと一致するかが判断される。一致しないので、この物理アドレス「１００１Ｃ０」が、保留リストと一致するかが判断される。保留リストと一致する。したがって、まず、物理アドレス「１００１Ｃ０」のデータブロックが、バッファ１１８の次のページ７に記憶される。続けて、保留リストに従って、バッファ１１８のページ７に記憶された物理アドレス「１００１Ｃ０」のデータブロックが、バッファ１１８のページ４に複写される。保留リストの物理アドレス「１００１Ｃ０」については、不要となるので、削除され、保留リストが更新される。
【００５５】
以降も同様に、バッファ１１８の容量がなくなるまで、先読みキャッシュ処理が実行される。
【００５６】
上記図５の例では、結果として、図６に示すように、一度もシークすることなく、光ディスク５０上のデータブロックを読み込むことができる。
【００５７】
以上のように、本実施形態では、光ディスク５０上のデータブロックが交換されて、論理的に関連するデータが不連続な物理アドレスに記憶されている場合でも、交換元から交換先の物理アドレスのデータブロックまで全て読み取る。そして、確保していた予備領域に交換先のアドレスのデータブロックを複写する。したがって、交換元から交換先の物理アドレスに光ピックアップ１０２をシークすることなく、かつ、論理アドレス順にデータブロックをバッファ１１８に格納できる。
【００５８】
特に、バッファ１１８の残余容量が充分かを確認し、充分ある場合には、交換先の物理アドレスデータを複写するための予備領域をバッファ１１８中に確保してから、交換先の物理アドレスのデータブロックまで全て読み取る。したがって、シークを省略でき、読み取り効率を向上できる。一時記憶領域の残余容量が充分ない場合には、通常通りシークして、データブロックを読み取る。少なくとも、バッファ１１８の残量が充分の場合には、シークを省略できるので、読み込み速度を向上でき、ひいては、再生パフォーマンスを向上できる。
【００５９】
なお、上記実施形態では、交換先の物理アドレスのデータブロックを予備領域に複写し、複写元のデータブロックはそのままバッファ１１８に保留している。例えば、図５の段階６では、ページ４に物理アドレス「１００１６０」のデータブロックが残されている。しかし、複写後には、複写元のデータブロックはバッファ１１８から削除してもよい。このようにすれば、実質的に使用されていないページを検出する必要がなく、次に予備領域を確保する際には、バッファ１１８の使用していない最も若いアドレスのページを探すだけで足りる。
【図面の簡単な説明】
【００６０】
【図１】ディフェクトリストの例を示す図である。
【図２】光ディスクの読み取り順およびバッファ内の記憶順を示す図である。
【図３】光ディスク読み込み装置の概略構成を示す図である。
【図４】光ディスク読み込み方法の流れを示すフローチャートである。
【図５】バッファ内のデータと保留リストの遷移に示す図である。
【図６】光ディスクの読み取り順を示す図である。
【符号の説明】
【００６１】
５０  光ディスク、
１００  光ディスク読み込み装置、
１０２  光ピックアップ、
１０４  信号処理部、
１０６  デコーダ、
１０８  アドレスレジスタ、
１１０  比較器、
１１２  ディフェクトリスト（ＤＦＬ）メモリ、
１１４  保留リストメモリ、
１１６  メモリコントローラ、
１１８  バッファ、
１２０  インターフェース。
【図１】
2010152981.tif 000003
【図３】
2010152981.tif 000004
【図２】
2010152981.tif 000005
【図４】
2010152981.tif 000006
【図５】
2010152981.tif 000007
【図６】
2010152981.tif 000008