(57)【要約】【課題】光ディスクの代替領域から読み出したデータをホスト側へ送信する際の速度を向上させることができる光ディスク装置を提供する。【解決手段】光ディスク上の主たるデータ書き込み領域である主領域から読み取ったデータを一時記憶するメインバッファ２１と、主領域に欠陥があって使えない場合にデータを代替して記録する代替領域から読み取ったデータを一時記憶する代替領域用バッファ２２と、代替領域用バッファ２２のデータをＣＰＵ２５からの指示でメインバッファ２１に移動するとメモリコントローラ２３と、を有することで、ホストへのデータ送信をメインバッファ２１のみから行う光ディスク装置。【選択図】図１
2011134398.tif 000002
【特許請求の範囲】
【請求項１】
光ディスク上の主たるデータ書き込み領域である主領域から読み取ったデータを一時記憶する第１バッファと、
前記主領域に欠陥が存在して使えない箇所がある場合に、当該使えない箇所に記録すべきデータを代替して記録する代替領域から読み取ったデータを一時記憶する第２バッファと、
前記第２バッファのデータを前記第１バッファに移動する制御手段と、
を有することを特徴とする光ディスク装置。
【請求項２】
前記制御手段は、前記光ディスクからのデータの読み取り位置が、前記欠陥の存在する箇所を示す欠陥アドレスに達した時点で、当該欠陥アドレスに対応した前記代替領域内の代替アドレスのデータを読み出すと共に、前記欠陥領域に記録されている他のデータを続けて読み出して前記第２バッファに蓄積することを特徴とする請求項１記載の光ディスク装置。
【請求項３】
前記制御手段は、さらに前記第１バッファが予め決められた容量までいっぱいになったときに、前記第２バッファへのデータの蓄積を行うことを特徴とする請求項１または２記載の光ディスク装置。
【請求項４】
光ディスク上の主たるデータ書き込み領域である主領域から読み取ったデータを第１バッファに一時記憶する段階と、
前記第１バッファが予め決められた容量までいっぱいになった場合、または主領域からのデータの読み取り位置が欠陥が存在することを示す欠陥アドレスに到達した場合に、前記欠陥アドレスに代替してデータを記録した代替領域からデータを読み取って第２バッファに一時記憶する段階と、
前記第２バッファのデータを前記第１バッファに移動する段階と、
を有することを特徴とする光ディスクのデータ一時記憶方法。
【請求項５】
前記第２バッファに一時記憶する段階において、前記光ディスクからのデータの読み取り位置が前記欠陥アドレスに達した時点で当該欠陥アドレスに対応した代替アドレスのデータのほかに、前記代替領域に記録されている他のデータを読み出して前記第２バッファに蓄積することを特徴とする請求項４記載の光ディスクのデータ一時記憶方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスク装置および光ディスクのデータ一時記憶方法に関する。
【背景技術】
【０００２】
光ディスクは、ディスク上の欠陥ブロック対策として、欠陥ブロックを検出して登録し、それの代替ブロックを代替領域（代替セクタ）に書き込むディフェクトマネージメントを採用したものがある。
【０００３】
従来、このディフェクトマネージメントを採用した光ディスク装置において、通常の領域を読み取って一時記憶（キャッシュ）する転送用バッファのほかに、代替領域の内容だけを一時記憶するための代替セクタ用バッファを有しているものがある。その装置によれば、転送用バッファがフルの状態となったときに、欠陥セクタに至る前であっても、代替領域の内容を代替セクタ用バッファに読み取ることで、読み取り速度の向上を図っている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１８４１１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、代替領域の内容を転送用バッファとは異なる代替セクタ用バッファに一時記憶しているため、欠陥領域のデータを送信するように上位装置（ホスト）から要求されたときには、転送用バッファからの送信から代替セクタ用バッファからの送信に切り替えなければならない。
【０００６】
このため、一時記憶しているデータを、読み出し要求した上位装置へ送り出す際に時間的なロスが発生するという問題がある。
【０００７】
そこで、本発明の目的は、光ディスクの代替領域から読み出したデータをホスト側へ送信する際の速度を向上させることができる光ディスク装置および光ディスクの一時記憶方法を提供することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するための本発明による光ディスク装置は、光ディスク上の主たるデータ書き込み領域である主領域から読み取ったデータを一時記憶する第１バッファと、前記主領域に欠陥が存在して使えない部分がある場合に、当該使えない部分に記録すべきデータを代替して記録する代替領域から読み取ったデータを一時記憶する第２バッファと、前記第２バッファのデータを前記第１バッファに移動する制御手段と、を有することを特徴とする。
【０００９】
上記目的を達成するための本発明による光ディスクの一時記憶方法は、光ディスク上の主たるデータ書き込み領域である主領域から読み取ったデータを第１バッファに一時記憶する段階と、前記第１バッファが予め決められた容量までいっぱいになった場合、または主領域からのデータの読み取り位置が欠陥が存在して使えないことを示す欠陥アドレスに到達した場合に、前記欠陥アドレスに代替してデータを記録した代替領域からデータを読み取って第２バッファに一時記憶する段階と、前記第２バッファのデータを前記第１バッファに移動する段階と、を有することを特徴とする光ディスクのデータ一時記憶方法
以上構成された本発明では、一旦第２バッファに読み出したデータも、第１バッファに移動される。このため、ホストへのデータ送信は第１バッファからのみ行えばよい。
【発明の効果】
【００１０】
本発明によれば、上位装置へのデータ送信は第１バッファからのみ行えばよいので、代替領域から読み出したデータを含めて、ホスト側へのデータ送り出し速度を向上することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態の光ディスク装置を示すブロック図である。
【図２】ディフェクトマネージメントを説明するための光ディスクの記録領域を説明するための説明図である。
【図３】ディフェクトマネージメントで使用されるＤＦＬの一例を示す説明図である。
【図４】本実施形態による光ディスク装置の動作手順を示すフローチャートである。
【図５】図４に続き本実施形態による光ディスク装置の動作手順を示すフローチャートである。
【図６】図４および５で示した手順による処理を光ディスク上のアドレスを例に説明するための説明図である。
【図７】光ディスク上の欠陥に達する前にメインバッファがフルになった場合を説明する説明図である。
【図８】図６の例による光ディスク上のアドレスのデータがメインバッファに一時記憶された状態を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を添付した図面を参照して説明する。
【００１３】
本実施形態における光ディスク装置は、記録可能なブルーレイディスク（以下ＢＤという。ＢＤにはＢＤ−ＲＥ，ＢＤ−Ｒなどが含まれる）、コンパクトディスク（以下ＣＤという。ＣＤにはＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなどが含まれる）、デジタル多目的ディスク（以下ＤＶＤという。ＤＶＤにはＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ−ＲＡＭなどが含まれる）などにおいて、代替領域を用いたディフェクトマネージメントを採用したものに適用可能である。
【００１４】
図１は、本実施形態の光ディスク装置を示すブロック図である。なお、ここに示した以外の記録／再生のための制御装置構成は、上述した各光ディスクへの記録や再生のための装置構成と同じでよく、周知の構成であるため説明を省略する。
【００１５】
図１に示した光ディスク装置は、まず基本的な読み出しに関係する部分として、光ディスクから反射光からの信号を取り出すＲＦ部（不図示）からの信号を復調するデコーダ１１、読み取ったデータのアドレスを一時記憶するアドレスレジスタ１２、読み取ったアドレスと欠陥アドレスを比較するコンパレータ１３（比較器）、欠陥のあるアドレス（欠陥アドレス）を一時記憶する欠陥アドレスバッファ１４、ホストとの通信を行うインターフェース１５、ディフェクトマネージメントのための欠陥リスト（ＤＦＬ；Ｄｅｆｅｃｔ  Ｌｉｓｔ）を記録したＤＦＬメモリ１６を有する。そして一時記憶に関係する部分として、先読みしたデータを順に一時記憶するメインバッファ２１（第１バッファ）、代替領域のデータを一時記憶する代替領域用バッファ２２（第２バッファ）、これらのバッファメモリへのデータの出し入れを制御するメモリコントローラ２３、を有し、これら全体の制御を行うＣＰＵ２５を有する。ここでメインバッファ２１および代替領域用バッファ２２は、たとえばリングバッファが用いられる。またこの装置においてはＣＰＵ２５およびメモリコントローラ２３が制御手段となる。
【００１６】
この光ディスク装置の概略動作は以下の通りである。  
【００１７】
光ディスクからＲＦ信号として取り出された信号は、デコーダ１１により復調される。このときエラーがなければ、メモリコントローラ２３にデコーダ１１から一時記憶要求を出し、ＣＰＵ２５の指定によりメインバッファ２１または代替領域用バッファ２２に復調されたデータが転送される。ここでのＣＰＵ２５の動作については後述する。またＲＦ信号からはアドレスデータも復調されて、エラーがなければアドレスレジスタ１２に格納される。これらの動作は、バッファの指定以外はＣＰＵ２５の介在なしに実行される。
【００１８】
アドレスレジスタ１２のアドレスは、欠陥アドレスバッファ１４内のアドレスとコンパレータ１３により比較される（実際には欠陥アドレスバッファ１４内のアドレスの一つ前のアドレスである。詳細後述）。なお、欠陥アドレスバッファ１４は、ＣＰＵ２５によりＤＦＬメモリ１６内のＤＦＬに基づきＤＦＬに記載されている欠陥アドレスが一時的に格納される。比較の結果一致した場合は、ＣＰＵ２５の指令により２通りの動作が行われる。１つ目は欠陥アドレス到達時に復調を停止する復調停止モードである。このときＣＰＵ２５にインターラプト（Ｉｎｔｅｒｒｕｐｔ）を発行し、一時停止を知らせて、即座に代替領域（後述）内のデータを読み出す。２つ目は、欠陥アドレス到達時でも復調を停止せずに復調動作を継続する復調非停止モードである。これは復調動作を停止させないことでピックアップをユーザ領域上からはずさずにトレースさせておくためのモードである。これにより欠陥箇所以降の読み出しを即座に継続することができるようになる。
【００１９】
そして代替領域用バッファ２２に記憶したデータはユーザ領域（後述）の欠陥箇所からデータを読み出そうとしたタイミングでメインバッファ２１へ移動（またはコピー）する。
【００２０】
ホストからデータ要求されると、インターフェース１５を介して、その要求がＣＰＵ２５に通達され、ＣＰＵ２５はインターフェース１５を介して、メインバッファ２１から要求されたデータをホストに送信する。したがって、ホストへ送信するデータはすべてメインバッファ２１からの送信となる。このためホストへのデータ送信に際して送信するバッファの切り替えや、代替領域用バッファ２２内から送信するデータを探し出すことが不要となり、その分の時間的ロスがなくなり、高速でデータを送り出すことができる。
【００２１】
なお、ここでホストとは、光ディスクからのデータの読み出しを要求した上位装置を云い、特に限定されない。
【００２２】
以下さらにこの光ディスク装置の動作について説明するが、動作説明の前に、ディフェクトマネージメントについて簡単に説明する。本実施形態で利用するディフェクトマネージメントは従来から行われているものである。図２はディフェクトマネージメントを説明するための光ディスクの記録領域を説明するための説明図である。図３はディフェクトマネージメントで使用されるＤＦＬの一例を示す説明図である。
【００２３】
ディフェクトマネージメントを採用した光ディスクでは、記録領域として主たるデータ書き込み領域であるユーザ領域（主領域）と、ユーザ領域において欠陥があって使えない部分に記録すべきデータを代替して記録する代替領域（交替エリアと云われることもある）とがある。
【００２４】
たとえば図２に示すように、ユーザ領域のアドレスが３５０００，３５０５０，３５０２０，３５０３０，３５０４０、代替領域のアドレスが３００Ｅ０，３００Ｆ０，３０１００とする。ここで３５０１０および３５０３０に欠陥があったとする（図中、欠陥のあるアドレスを×印で示した）。そうすると、この欠陥のあるアドレスに書き込むべきデータは代替領域のアドレス３０１００，３００Ｆ０が指定されて書き込まれる。本来書き込むべきユーザ領域のアドレス（欠陥アドレス）とその代わりにデータが書き込まれた代替領域のアドレス（代替アドレス）の関係は、図３に示すようなＤＦＬに記述されて光ディスクに書き込まれている。
【００２５】
このような欠陥のある光ディスクを読み取る場合、ユーザ領域のアドレスが順に読み込まれて行き、ＤＦＬにある欠陥アドレスに差し掛かったところで、代替領域を読み込むためのシークが行われて代替アドレスのデータが読み込まれる。このため欠陥アドレスの位置に来るたびに代替アドレスを読むとすると、この例では４回の大きなシーク動作が必要となる。３５０００から３０１００へのシーク、３０１００から３５０２０へのシーク、３５０２０から３００Ｆ０へのシーク、３００Ｆ０から３５０４０へのシークである。このためデータの読み出しに時間がかかる。
【００２６】
次に、本実施形態の動作を詳しく説明する。図４および５は、本実施形態による光ディスクの動作手順を示すフローチャートである。
【００２７】
まず、ホストから読み取りコマンドが来ると、ＣＰＵ２５はそのコマンドで指定されたアドレスから直近の欠陥アドレスをＤＦＬから見つけ出す。見つけ出した欠陥アドレスは欠陥アドレスバッファ１４に設定する。さらに機能設定を欠陥アドレスに来たら復調を停止する復調停止モードを設定する（Ｓ１）。これによりユーザ領域の欠陥アドレスに到達した時点で復調動作が停止するようになる。
【００２８】
そして読み取りコマンドで指令されたユーザ領域のアドレスにピックアップをシークさせ読み取り位置に移動させ、そこでから読み取った信号を復調して、復調されたデータをメインバッファ２１に蓄えて行く（Ｓ２）。これは、ホストから最初に読み出し指令があったアドレスから順に、ホストから読み出し指令されたアドレスから先のアドレスのデータを先読みしてゆくのである。
【００２９】
途中で復調動作が停止した場合は（Ｓ３：Ｙｅｓ）、メインバッファ２１がフル（容量いっぱい、あるいは予め決められた容量値に達したとき）となったか否かを判断する（Ｓ１１）。ここでバッファフルの状態となれば（Ｓ１１：Ｙｅｓ）、メインバッファ２１にそれ以上書き込めないので、ユーザ領域をそれ以上読み取ることができなくなる。このため復調動作が停止するのである。そしてこのままでは読み取り動作に空きができる（空き時間ができる）。本実施形態ではこのような状態となったときの空き時間を利用して代替領域のデータを先読みする。
【００３０】
このためにＣＰＵ２５は代替領域用バッファ２２（図中「代替用バッファ」と略記する）に空きがあるか否かを判断する（Ｓ１２）。ここで代替領域用バッファ２２に空きがなければＳ１５へ処理が移ることになる。
【００３１】
代替領域用バッファ２２が空であれば（Ｓ１２：Ｙｅｓ）、蓄えられるだけの代替領域のデータを代替領域から読み出して復調し、代替領域用バッファ２２に蓄える（Ｓ１３）。蓄えられるだけ蓄えたかどうかの判断は、代替領域用バッファ２２がフルになること、またはメインバッファ２１に予め決められた以上の空きができること（つまりメインバッファ２１への先読みによる蓄積が再開可能となること）、またはホストから要求されたデータのアドレスがメインバッファ２１に蓄積されたアドレスの直前まで来たことなどである。
【００３２】
その後ＣＰＵ２５は、代替領域用バッファ２２に蓄えたデータに対してメインバッファ２１の移動先アドレスを設定すると共に、欠陥アドレスに到達しても復調を停止しない復調非停止モードを設定する（Ｓ１４）。この処理のうちは、前者はＤＦＬを参照して代替領域用バッファ２２に読み取った代替アドレスのデータをメインバッファ２１に移動させる際に、元のユーザ領域の欠陥アドレスを代替アドレスのデータに対して関連付けしておくのである。これにより、代替領域用バッファ２２に記憶されたデータをメインバッファ２１に移動する際にどの位置に移動すべきかが設定されることになる。また、Ｓ１４の後者の処理は、この段階で代替領域用バッファ２２にデータが蓄積されるようになるので、今後欠陥アドレスに到達しても、代替領域にピックアップをシークする必要がなくなるため、復調を停止しないようにして、欠陥アドレスの次のアドレスのデータを即座に読み込むことができるようにするのである。
【００３３】
続いて、Ｓ１１でユーザ領域からピックアップが離れた際のユーザ領域の元のアドレスの次のアドレスにシークしてメインバッファ２１に空きができるのを待って（Ｓ１５）、Ｓ２へ戻る。なお、Ｓ１５においてメインバッファ２１に空きができるまで待っている間、復調動作も停止することになるが、この停止原因は欠陥アドレスによるものではないため、ここでの手順は先へ進まなくてもよい。また、Ｓ１２がＮｏでこのＳ１５にきた場合には、ピックアップは代替領域にシークしていないので、メインバッファ２１に空きができるのを待つだけでシーク動作は発生しない。
【００３４】
Ｓ１１において、メインバッファ２１がフルではない場合（Ｓ１１：Ｎｏ）、シーク位置が欠陥アドレスに到達したか否か判断する（Ｓ２１）。欠陥アドレスに到達したか否か判断はコンパレータ１３により行われる。実際には欠陥アドレス自体からはアドレスも復調できない可能性が高い。このためコンパレータ１３では欠陥アドレスバッファ１４に格納されている欠陥アドレスの一つ前のアドレスと、アドレスレジスタ１２のアドレスを比較することで欠陥アドレスに到達したか否か判断している。
【００３５】
ここで（Ｓ１１のメインバッファ２１がフルか否か判断後）、シーク位置が欠陥アドレスに到達したと判断された場合（Ｓ２１：Ｙｅｓ）、代替領域用バッファ２２に空きがある場合は（Ｓ２２：Ｙｅｓ）、欠陥が見つかったアドレスを代替する代替アドレスを含む代替領域を代替領域用バッファ２２の空き分だけ読み込む（Ｓ２３）。これにより代替領域用バッファ２２への読み込みが、Ｓ２１で一致した欠陥アドレスに対応した代替アドレスのデータ以外のデータも次々に代替領域から読み込まれることになる。光ディスクにおいては代替領域は光ディスクの最内周または最外周にあるため、ユーザ領域と代替領域を頻繁に移動するシーク動作を行うと読み取りに時間がかかるようになる。そこで、本実施形態では代替領域にシークする必要が生じたなら、できるだけ多くのデータを代替領域から先読みしてしまうのである。これにより欠陥アドレスにぶつかるたびにユーザ領域と代替領域を移動するシーク動作が少なくなって読み取り動作の高速化を図ることができる。
【００３６】
そして、ＣＰＵ２５からの指示で欠陥アドレスの代わりに読み込んだ代替アドレスのデータは、代替領域用バッファ２２からメインバッファ２１へ移動させる（Ｓ２４）。データの移動自体はメモリコントローラからの指示で代替領域用バッファ２２からメインバッファ２１へ移動する。
【００３７】
その後ＣＰＵ２５は、前記Ｓ１４同様に、代替領域用バッファ２２に蓄えたデータに対してメインバッファ２１の移動先アドレスを設定すると共に、欠陥アドレスに到達しても復調を停止しない復調非停止モードを設定する（Ｓ２５）。そしてＳ２へ戻る。
【００３８】
なお、Ｓ２１がＮｏの場合は、復調停止原因がほかにあるので、そのための処理（図示「その他の処理」）を行って、復調停止が解消できればＳ２へ戻るが復帰できなければ処理は読み取り不良などの異常による終了となる。
【００３９】
一方、Ｓ３において復調が停止しない場合、すなわち、Ｓ１４または２５において復調非停止モードが設定された後の動作ということになる。この場合、読み出し位置が欠陥アドレスに到達したか否かを判断する（Ｓ３１）。この処理はコンパレータ１３により判断される。ここでも実際にはＳ２１と同様に、アドレスレジスタ１２内のアドレスと、欠陥アドレスバッファ１４に格納されているアドレスの一つ前のアドレスが比較されて判断される。ここで欠陥アドレスに到達していなければ、手順はＳ２へ戻りそのままメインバッファ２２へデータの蓄積を継続することになる。
【００４０】
欠陥アドレスに到達していれば（Ｓ３１：Ｙｅｓ）、コンパレータ１３からその旨の信号がＣＰＵ２５に出される。そしてＣＰＵ２５はメモリコントローラ２３に指示して、代替領域用バッファ２２内のデータをメインバッファ２１へ移動させる（Ｓ３２）。このとき代替領域用バッファ２２内のデータは、Ｓ１４またはＳ２５で関連付けされているユーザ領域の欠陥アドレスが参照されて、メインバッファ２１におけるその欠陥アドレスのデータを格納するべき位置へ移動される。ここでは欠陥アドレスに到達した時点でそれを判断した欠陥アドレスの一つ前のアドレスのデータはメインバッファ２１に格納されていて、その次に来る欠陥アドレスのデータが来るべきメインバッファの位置が空いているので、そこに代替領域用バッファ２２内の対応するデータを移動することになる。
【００４１】
これにより、メインバッファ２１が読み込むべきデータは代替領域用バッファ２２からメインバッファ２１へ移動されることになる。そしてピックアップのシーク位置はユーザ領域から離れていないので、欠陥アドレスを読み飛ばしてその次のアドレスを即座に読み込むことができるようになる。つまりこの場合は欠陥アドレスがあっても代替領域へのシークが発生しないのである。
【００４２】
その後、ＣＰＵ２５は欠陥アドレスバッファ１４にＤＦＬから次の欠陥アドレスを設定する（Ｓ３３）。
【００４３】
その後、代替領域用バッファ２２に他のデータがあるか否かを判断して（Ｓ３４）、他のデータがあれば（Ｓ３４：Ｙｅｓ）、すなわち代替領域用バッファ２２に別な代替アドレスのデータがあれば、そのまま手順はＳ２へ戻る。したがって、この場合は、復調非停止モードが継続されることになる。
【００４４】
一方、代替領域用バッファ２２に他のデータがなければ（Ｓ３４：Ｎｏ）、復調停止モードを設定して（Ｓ３５）、手順はＳ２へ戻る。これは、代替領域用バッファ２２に他のデータがないので、次回欠陥アドレスに到達したときに復調を停止して代替領域のデータを読み込むようにするためである（Ｓ２１〜Ｓ２５の処理を実行させるため）。
【００４５】
以上の処理による動作を光ディスク上のアドレスを例に説明する。図６は上記手順による処理を光ディスク上のアドレスを例に説明するための説明図である。
【００４６】
まず、最初のシークにより要求された３５０００を読む。またＤＦＬより欠陥アドレスバッファ１４に３５０１０を設定し、復調停止モードにする。
【００４７】
続いて、次のアドレス（３５０１０）を取得して欠陥アドレスバッファ１４のアドレスと比較する（実際には一つ前のアドレスと比較）。図６の例では、一致するので復調が停止する。ここで代替領域にシークして代替アドレスのデータを読み込む。このとき代替領域用バッファ２２に３アドレス分の空きがあれば、本来必要な３０１００を読み込んで、さらにその後の３００Ｆ０，３００Ｅ０も同時に読み込んでしまう。
【００４８】
そして、入れ替えなければならない３０１００のデータをメインバッファ２１に移動する。また、復調非停止モードを設定して、アドレス３５０２０にシークして復調を再開する。
【００４９】
続いてアドレス３５０２０は、通常どおりメインバッファ２１に読み込む。続いてアドレス３５０３０は、欠陥アドレスバッファ１４のアドレスと一致するので、データ移動機能が働き、代替領域用バッファ２２から３００Ｆ０がメインバッファ２１に移動されると同時にＣＰＵ２５にインターラプトが通知されて、次の欠陥アドレス３５１００を設定する。そして３５０３０に続く３５０４０は通常どおりに復調されてメインバッファ２１に蓄えられてゆく。
【００５０】
次に、光ディスク上の欠陥に達する前にメインバッファ２１がフルになった場合を説明する（ここでは代替領域用バッファ２２の空きが２アドレス分あった場合を例にする）。図７は、光ディスク上の欠陥に達する前にメインバッファ２１がフルになった場合を説明する説明図である。
【００５１】
図７では、アドレス３４ＦＦ０のデータを読み込んだ時点で、メインバッファ２１がフルになったとする。そうする次のアドレス３５０００を読み込まずに、代替領域用バッファ２２の空き分だけ代替領域のデータを読み込む。ここでは３００Ｆ０，３０１００である。なお、メインバッファ２１にデータを読む際には、直近の欠陥アドレス（この例では３５０１０）を欠陥アドレスバッファ１４に設定している。
【００５２】
その後、次回メインバッファ２１に空きができれば一時記憶動作を再開し、アドレス３５００が読み込まれ、続いてアドレス３５０１０に達した際には、アドレス３０１００がメインバッファ２１に移動される。なお、移動した後の代替領域用バッファ２２のデータは消去する。
【００５３】
以上の処理により、メインバッファ２１には、必ず論理的にデータが並ぶことになる。図８は、図６の例による光ディスク上のアドレスのデータがメインバッファ２１に一時記憶された状態を示す説明図である。図示するように、メインバッファ２１に一時記憶されたデータのアドレスは、３５０００，３０１００（３５０１０の代替アドレス），３５０２０，３００Ｆ０（３５０３０の代替アドレス），３５０４０となる。
【００５４】
したがって、ホストからの要求に対してはメインバッファ２１内のデータを送信すればよい。このためホストへのデータ送信時には代替領域用バッファ２２内を検索したり、送信元バッファを切り替えたりするなどの処理が不要となるので、送信動作を高速にすることができる。
【００５５】
以上説明したように本実施形態によれば、一旦代替領域用バッファ２２に読み出したデータも、メインバッファ２１に移動されるため、メインバッファ２１内からホストへ送信する際には、メインバッファ２１からのみデータを送信すればよい。このためホスト側への送り出しについても高速化することができる。
【００５６】
以上本発明を適用した実施形態を説明したが、本発明は、このような実施形態に限定されるものではなく、本願の特許請求の範囲に記載した技術思想の範囲でさまざまな変形形態が可能であることは言うまでもない。
【符号の説明】
【００５７】
１１  デコーダ、
１２  レジスタ、
１３  コンパレータ、
１４  欠陥代替アドレスバッファ、
１５  インターフェース、
１６  ＤＦＬメモリ、
２１  メインバッファ、
２２  代替領域用バッファ、
２３  メモリコントローラ、
２５  ＣＰＵ。
【図１】
2011134398.tif 000003
【図３】
2011134398.tif 000004
【図４】
2011134398.tif 000005
【図５】
2011134398.tif 000006
【図７】
2011134398.tif 000007
【図８】
2011134398.tif 000008
【図２】
2011134398.tif 000009
【図６】
2011134398.tif 000010