(57)【要約】      （修正有）【課題】未使用エリアを含むブロックデータの高速読出しを可能とする。【解決手段】記録媒体から読み取られ誤り訂正されたセクタデータを入力するデスクランブル器104、110と、それらの出力のCRC演算を行うCRC演算器105、111と、ＩＥＤチェッカ112と、ＩＤ０チェッカ113と、デスクランブル器104の出力を蓄積するバッファ106と、特定パタン出力回路109と、CRC演算器105、111及びチェッカ112、113の検査に基づき未使用セクタのものか判定し、バッファの出力と特定パタンの一方を選択する信号SELを生成する回路114と、ユーザデータの場合、バッファ106の出力を選択し、未使用セクタの場合、特定パタンを選択出力するバッファコントローラ107と、読み出しブロックのデータＩＤに対応したデスクランブル初期値をデスクランブル器104に設定する回路101〜103を備え、デスクランブル器110には固定デスクランブル値が設定され、バッファコントローラ107の出力を上位装置に出力するインタフェース108を備える。【選択図】図１
2005267681.tif 000002
【特許請求の範囲】
【請求項１】
情報記録媒体から読み取られたデータを入力し、前記データの少なくとも一部を検査し、前記データに関連して予め定められた所定項目の検査結果情報を導出する検査回路と、
前記検査回路から前記検査結果情報を受け、前記検査結果情報が未使用エリアに関連して予め定められた所定の条件を満たしているか照合し、前記データが未使用エリアのものであるか否か判別する判別回路と、
前記判別回路により、前記データが未使用エリアのものであると判別された場合、前記未使用エリアに関連して予め定められた所定の情報を出力する制御回路と、
を備えている、ことを特徴とする情報再生装置。
【請求項２】
前記情報記録媒体への記録時に、ユーザエリアのデータは、書き込みブロックに対応するデータ識別情報（「データＩＤ」という）に応じて可変に設定されるスクランブル初期値でスクランブル処理されたものであり、一方、前記未使用エリアは、予め定められた所定の固定値のスクランブル初期値でスクランブル処理されたものであり、
前記検査回路は、読み出し対象のブロックに対応するデータＩＤに応じて可変に設定されるデスクランブル初期値に基づき、前記読み取られたデータをデスクランブル処理してなるデータを誤り検査して得られる検査結果情報（「第１の検査結果情報」という）と、前記所定の固定値のデスクランブル初期値に基づき、前記読み取られたデータをデスクランブル処理してなるデータを誤り検査して得られる検査結果情報（「第２の検査結果情報」という）と、を出力する回路を備え、
前記判別回路は、前記第１及び第２の検査結果情報を少なくとも入力し、前記読み取られたデータが、前記ユーザエリアのものであるか、前記未使用エリアのものであるかを判別する、ことを特徴とする請求項１に記載の情報再生装置。
【請求項３】
前記検査回路は、前記読み取られたデータの予め定められた所定の位置に付加されている前記データＩＤを検査した結果得られる検査結果情報（「第３の検査結果情報」という）と、前記データＩＤの誤り検出符号を検査した結果導出される検査結果情報（「第４の検査結果情報」という）を出力する回路をさらに備え、
前記判別回路は、前記第１及び第２の検査結果情報と、前記第３及び第４の検査結果情報の値の組み合わせに基づき、前記読み取られたデータが、前記ユーザエリアのものであるか、前記未使用エリアのものであるかを判定する、ことを特徴とする請求項２に記載の情報再生装置。
【請求項４】
前記制御回路が、予め定められた所定のパタンを出力するパタン出力回路と、
前記情報記録媒体から読み取られ前記デスクランブル処理されたデータと、前記所定のパタンとを入力とし、前記判別回路からの前記判別結果が未使用エリアでない場合、前記デスクランブル処理されたデータを選択し、未使用エリアの場合には、前記所定のパタンを出力する選択回路と、
を備えている、ことを特徴とする請求項２又は３に記載の情報再生装置。
【請求項５】
前記ブロックは、複数のセクタから構成され、前記検査回路には、前記情報記録媒体から読み取られたブロックデータを誤り訂正処理したセクタ毎のデータが供給される、ことを特徴とする請求項２乃至４のいずれか一に記載の情報再生装置。
【請求項６】
読み出し対象のブロックに対応するデータ識別情報（「データＩＤ」という）に応じて可定に設定されるデスクランブル初期値に基づき、前記情報記録媒体より読み取られたデータをデスクランブル処理して出力する第１のデスクランブル器と、
予め定められた固定値に設定されたデスクランブル初期値に基づき、前記読み取られたデータをデスクランブル処理して出力する第２のデスクランブル器と、
前記第１及び第２のデスクランブル部よりそれぞれ出力されるスクランブルが解除されたデータに関する第１及び第２の誤り検査情報を演算して出力する演算部と、
前記読み取られたデータの予め定められた所定の位置に付加されている、データＩＤ、及び、データＩＤの誤り検出符号をそれぞれ検査する検査部と、
前記第１及び第２のデスクランブル器よりそれぞれ出力されるスクランブルが解除されたデータに関する第１及び第２の誤り検査情報と、前記データＩＤ、及び前記データＩＤの誤り検出符号の検査情報のそれぞれについて、誤りの有無の組み合わせに基づき、前記データがユーザエリアから読み取られたものであるか、未使用エリアから読み取られたものであるかを判別する判別回路と、
前記判別回路での判別結果が、前記データが未使用エリアのものである場合、予め定められた所定のパタンを出力するように制御する回路と、
を備えている、ことを特徴とする情報再生装置。
【請求項７】
前記判別回路は、前記第１及び第２の誤り検査情報と、前記データＩＤ、及び前記データＩＤの誤り検出符号の検査情報のそれぞれについて、誤りの有無の組み合わせに基づき、前記読み取られたデータにエラーがあるか否かを判別する、ことを特徴とする請求項６に記載の情報再生装置。
【請求項８】
前記判別回路は、
前記第１のデスクランブル器でスクランブル解除されたデータに関する前記第１の誤り検査情報が誤り有りであり、且つ、
前記第２のデスクランブル器でスクランブル解除されたデータに関する前記第２の誤り検査情報が誤り無しであり、且つ、
前記データＩＤが、前記未使用エリアに対応する所定の条件を満たし、且つ、
前記データＩＤの誤り検出符号の検査結果に誤りが無い、
場合に、前記読み取られたデータは、前記未使用エリアからのものであると判定する、ことを特徴とする請求項６に記載の情報再生装置。
【請求項９】
前記判別回路は、
前記第１のデスクランブル器でスクランブル解除されたデータに関する前記第１の誤り検査情報が誤り無しであり、且つ、
前記第２のデスクランブル器でスクランブル解除されたデータに関する前記第２の誤り検査情報が誤り有りであり、且つ、
前記データＩＤが、前記未使用エリアに対応する所定の条件を満たさず、且つ、
前記データＩＤの誤り検出符号の検査結果に誤りが無い、
場合に、
前記読み取られたデータにエラーはなく、且つ、前記ユーザエリアからのものであると判定する、ことを特徴とする請求項６に記載の情報再生装置。
【請求項１０】
前記判別回路は、
前記第１のデスクランブル器でスクランブル解除されたデータに関する前記第１の誤り検査情報が誤り無しであり、且つ、
前記第２のデスクランブル器でスクランブル解除されたデータに関する前記第２の誤り検査情報が誤り無しであり、且つ、
前記データＩＤの誤り検出符号の検査結果に誤りが無い、
場合に、
前記読み取られたデータにはエラーがあり、且つ、前記ユーザエリアから読み取られたものであると判定する、ことを特徴とする請求項６に記載の情報再生装置。
【請求項１１】
前記判別回路は、
前記第１のデスクランブル器でスクランブル解除されたデータに関する前記第１の誤り検査情報が誤り有りであり、且つ、
前記第２のデスクランブル器でスクランブル解除されたデータに関する前記第２の誤り検査情報が誤り有りであり、且つ、
前記データＩＤの誤り検出符号の検査結果に誤りが無い、
場合に、
前記読み取られたデータは訂正不能なデータであり、且つ、前記ユーザエリアから読み取られたものであると判定する、ことを特徴とする請求項６に記載の情報再生装置。
【請求項１２】
前記判別回路は、
前記第１のデスクランブル器でスクランブル解除されたデータに関する前記第１の誤り検査情報が誤り無しであり、且つ、
前記第２のデスクランブル器でスクランブル解除されたデータに関する前記第２の誤り検査情報が誤り有りであり、且つ、
前記データＩＤが、前記未使用エリアに対応する所定の条件を満たしており、且つ、
前記データＩＤの誤り検出符号の検査結果に誤りが無い、
場合に、
前記読み取られたデータにはエラーがあり、且つ、前記ユーザエリアから読み取られたものであると判定する、ことを特徴とする請求項６に記載の情報再生装置。
【請求項１３】
前記判別回路は、
前記第１のデスクランブル器でスクランブル解除されたデータに関する前記第１の誤り検査情報が誤り有りであり、且つ、
前記第２のデスクランブル器でスクランブル解除されたデータに関する前記第２の誤り検査情報が誤り無しであり、且つ、
前記データＩＤが、前記未使用エリアに対応する所定の条件を満たさず、且つ、
前記データＩＤの誤り検出符号の検査結果に誤りが無い、
場合に、
前記読み取られたデータにはエラーがあり、且つ、前記ユーザエリアから読み取られたものであると判定する、ことを特徴とする請求項６に記載の情報再生装置。
【請求項１４】
前記判別回路は、
前記データＩＤの誤り検出符号の検査結果に誤りがある場合には、前記第１及び第２の誤り検査情報の誤りの有無、前記データＩＤが前記未使用エリアに対応する所定の条件を満たすか否かにかかわらず、前記読み取られたデータにはエラーがあり、且つ、前記ユーザエリアから読み取られたものであると判定する、ことを特徴とする請求項６に記載の情報再生装置。
【請求項１５】
前記第１のデスクランブル器から出力されるスクランブルが解除されたデータを一時的に蓄積して出力するバッファ回路を備え、
未使用エリアに関連して予め定められた所定のパタンを出力するパタン出力回路と、
前記バッファ回路の出力と、前記パタン出力回路の出力とを入力し、前記判別回路での判別結果を受け、前記データがユーザエリアから読み取られたものである場合には、前記バッファ回路の出力を選択して出力し、前記データが未使用エリアから読み取られたものである場合、前記パタン出力回路の出力を選択して出力する選択回路と、
を備えている、ことを特徴とする請求項６に記載の情報再生装置。
【請求項１６】
前記第１のデスクランブル器から出力されたデータを書き込みポインタで指示されるアドレスに書き込み、読み出しポインタが示すアドレスからデータを読み出して出力するバッファ回路と、
前記書き込みポインタ、及び前記読み出しポインタの更新をそれぞれ制御する回路と、
未使用エリアに関連して予め定められた所定のパタンを出力するパタン出力回路と、
前記判別回路での判定の結果、前記読み取られたデータが未使用エリアの場合、前記書き込みポインタの値を記憶しておく記憶部と、
前記読み出しポインタの値と、前記記憶部に記憶されている前記書き込みポインタの値と比較し、一致した場合、前記バッファ回路から前記読み出しポインタにしたがって読み出されたデータの代わりに、前記パタン出力回路から出力される所定パタンを出力するように制御する選択回路と、
をさらに備えている、ことを特徴とする請求項６に記載の情報再生装置。
【請求項１７】
情報記録媒体から読み取られ、誤り訂正されたブロックを構成するセクタデータを共通に入力してデスクランブル処理する第１及び第２のデスクランブル器と、
前記第１のデスクランブル器に対して、読み出し対象のブロックのデータ識別情報（「データＩＤ」という）に対応して可変に設定されるデスクランブル初期値を設定する回路と、
を備え、
前記第２のデスクランブル器には、デスクランブル初期値として予め定められた固定値が設定され、
さらに、
前記第１及び第２のデスクランブル器の出力をそれぞれ入力し、所定の誤り検査処理を行う第１及び第２の誤り検査部と、
前記データＩＤの誤り検出符号を検査する第１の検査部と、
前記データＩＤの予め定められた所定ビットが所定値であるか検査する第２の検査部と、
前記第１のデスクランブル器の出力を入力し所定の遅延時間遅延させて出力するバッファ回路と、
未使用セクタに関連して予め定められた所定のパタンを出力するパタン出力回路と、
前記第１及び第２の誤り検査部での検査結果、及び、前記第１及び第２の検査部の検査結果のそれぞれについて、誤りの有無の組み合わせに基づき、前記セクタデータが、未使用セクタのものであるか否か判定し、前記バッファ回路の出力と前記所定パタンの一方を出力するための選択制御信号を生成するバッファ出力制御回路と、
前記バッファ回路の出力と、前記パタン出力回路の出力とを入力し、前記選択制御信号に基づき、入力したセクタが、ユーザエリアのものである場合、前記バッファ回路の出力を選択し、未使用セクタの場合、特定パタンを選択出力する選択回路と、
前記選択回路の出力を、上位装置に出力するインタフェース部と、
を備えている、ことを特徴とする情報再生装置。
【請求項１８】
情報記録媒体から読み取られ、誤り訂正されたブロックを構成するセクタデータを共通に入力してデスクランブル処理する第１及び第２のデスクランブル器と、
前記第１のデスクランブル器に対して、読み出し対象のブロックのデータ識別情報（「データＩＤ」という）に対応して可変に設定されるデスクランブル初期値を設定する回路と、
を備え、
前記第２のデスクランブル器には、デスクランブル初期値として予め定められた固定値が設定され、
さらに、
前記第１及び第２のデスクランブル器でデスクランブル処理されたデータをそれぞれ入力し、所定の誤り検査処理を行う第１及び第２の誤り検査部と、
前記データＩＤの誤り検出符号を検査する第１の検査部と、
前記データＩＤの予め定められた所定ビットが所定値であるか検査する第２の検査部と、
未使用セクタに関連して予め定められた所定パタンを出力するパタン出力回路と、
前記第１及び第２の誤り検査部での検査結果と、前記第１及び第２の検査部の検査結果のそれぞれについて誤りの有無の組み合わせに基づき、前記セクタデータが、未使用セクタのものであるか否か判別し、判別結果を出力する判別回路と、
書き込みポインタで指示されるアドレスにデータを書き込み、読み出しポインタで示すアドレスからデータを読み出して出力するバッファ回路と、
前記第１のデスクランブル器からの出力を受け、前記バッファ回路へ、前記書き込みポインタで示すアドレスに書き込む入力制御部と、
前記バッファ回路より、前記読み出しポインタの示すアドレスからのデータを読み出して出力する出力制御部と、
前記書き込みポインタを生成する第１のポインタ生成回路と、
前記読み出しポインタを生成する第２のポインタ生成回路と、
を備え、
前記判別回路での判別の結果、前記読み取られたセクタデータが、未使用セクタのものである場合、前記第１のポインタ生成回路から出力される前記書き込みポインタの値を記憶しておく記憶部と、
前記第２のポインタ生成回路からの読み出しポインタと、前記記憶部に記憶されている書き込みポインタとを比較し、比較結果を出力する比較器と、
前記比較器での比較結果を受け、比較結果が一致を示す場合、前記バッファ回路から読み出されたセクタデータの代わりに、予め定められた所定パタンを出力するように制御する選択回路と、
前記選択回路の出力を、上位装置に出力するインタフェース部と、
を備えている、ことを特徴とする情報再生装置。
【請求項１９】
前記情報記録媒体は、データフォーマットとして、予め定められた複数のセクタが１つのブロックを構成し、前記ブロックに対応して前記データＩＤが設定され、
前記セクタは先頭から、データＩＤ、データＩＤの誤り検出符号（ＩＥＤ）を含み、所定長のデータの末尾に誤り検出符号（ＥＤＣ）が付加されている、ことを特徴とする請求項１乃至１８のいずれか一に記載の情報再生装置。
【請求項２０】
請求項１乃至１８のいずれか一に記載の情報再生装置を再生系に有し、さらに、前記情報記録媒体へ情報を記録する記録系を備えた、情報記録再生装置。
【請求項２１】
請求項１乃至１８のいずれか一に記載の情報再生装置を再生系に有し、前記上位装置としてホストコンピュータに所定のインタフェースで接続されてなるドライブ装置。
【請求項２２】
請求項１乃至１８のいずれか一に記載の情報再生装置を再生系に有し、前記情報記録媒体が、ＤＶＤ（Digital  Versatile Disk）よりなる、ＤＶＤ−ＲＡＭドライブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報記録媒体から情報を再生する装置に関し、特に、データ読み出し時の高速処理の実現に好適とされる装置に関する。
【背景技術】
【０００２】
高密度記録を特徴とするＤＶＤ（Digital Versatile Disk）として、従来より、再生専用のＤＶＤ−ＲＯＭ、書き換え可能なＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、追記型のＤＶＤ−Ｒ等各種製品が製造・販売されている。このうちＤＶＤ−ＲＡＭは相変化光ディスクであり、１９９７年に規格化されたＤＶＤ−ＲＡＭ規格（Ｖｅｒ．１．０）では片面２．６ＧＢ、両面５．２ＧＢであったものが、例えば１９９９年の規格（Ｖｅｒ．２）では片面４．９４ＧＢとされ、パソコン等の高性能化に伴い、映像（動画）、音声等を扱うデータの大容量化に対応可能とされている。ＤＶＤ−ＲＡＭは、欠損管理機構を具備しており、ディスク上で発生する欠損は予め用意されたスペア領域で代替処理される。ディスク上で検出される欠損として初期欠損と二次欠損があり、初期欠損は、出荷前等のサーティファイ時に、二次欠損はデータを記録する際のベリファイ時に検出され、初期欠損セクタは、ＰＤＬ（Primary  Defect  List）に登録され、二次欠損はＳＤＬ（Secondary  Defect  List）領域に登録され、スペア領域の代用セクタに代替記録される。また、ＤＶＤ-ＲＡＭでは、ブロック内のバイト単位の誤りを対象とした誤り訂正を行うＲＳＰＣ（リードソロモン積符号）が用いられ信頼度を高めている。
【０００３】
図６は、ＤＶＤのデータフォーマットの一例を模式的に示す図であり、図６（Ａ）には、セクタの構成が示されており、図６（Ｂ）には、１６個のデータセクタに内外パリティ誤り訂正コードが付加された１ブロックの構成が示されている。以下、ＤＶＤのデータフォーマットについて概説しておく。
【０００４】
図６（Ａ）に示すように、横１７２バイト、縦１２行の２０６４バイトを１データセクタ（単に「セクタ」ともいう）とし、各セクタの先頭には、４バイトのデータＩＤ（Identification）、２バイトのデータＩＤ誤り検出コードＩＥＤ(DataID Error Detection Code）、６バイトのＲＳＶ（Reserve）コードの後に、２０４８バイトのデータが続き、最後にデータの誤り検出用にＣＲＣ（Cyclic Redundancy Check Code）よりなる４バイトの誤り検出コードＥＤＣ（Error Detection Code）が付加される。
【０００５】
データＩＤは、セクタ内のユーザデータのスクランブルに利用され、下位３バイトがセクタ番号であり、上位１バイトは、セクタフォーマット（ＲＯＭ型、ＲＡＭ型）、トラッキング方式、反射率、ディスク領域（リードイン、リードアウト、ミドルデータ）、層情報がビット単位に割り当てられる。また、ＥＤＣは、１セクタ内の一部のデータの誤りに対するエラーを検出するためのものである。データ書き込みの符号化時には、４バイトのデータＩＤに対して２バイトのＩＥＤを付加している。このため、ＥＤＣをチェックすることなく、ＩＥＤのエラー検出により、簡易にデータＩＤを読み取れるようにしている。
【０００６】
データＩＤとＩＥＤに、６バイトのＲＳＶと２０４８バイトのデータを付加したものに対して、４バイトのＥＤＣを付加し、このＥＤＣにより、スクランブルが正しいかどうか、誤訂正していないか等のチェックが行われる。そして、ＥＤＣを付加した後に、データのスクランブルをかける。スクランブル処理により、データをランダマイズし、隣接パタンに固定パタンがきて妨害を与えることや、固定パタンの信号により大きなＤＣ成分が発生しサーボ制御等に影響を与えることを防いでいる。スクランブル初期値は、ブロック単位に、データＩＤの４ビットに基づき１６通りに変化する構成とされている。より詳細には、図７に示すように、データＩＤの下位７−４ビットに基づき、スクランブル初期値が設定され、連続する１６個のセクタデータは同一のスクランブルがかけられ、１６×１６＝２５６セクタで、スクランブル初期値は１巡する。
【０００７】
スクランブルをかけた１６セクタに対して、図６（Ｂ）に示すように、積符号のかたちで外パリティ誤り訂正コード（ＥＣＣ２）が付加され、横１７２バイトに対してリードソロモン符号による１０バイトのパリティ（「内パリティ誤り訂正コード」ともいう）ＥＣＣ１が付加され、縦１９２行（１２×１６）に対してリードソロモン符号による１６行のパリティ（「外パリティ誤り訂正コード」ともいう）ＥＣＣ２が付加され、これを１ブロックとする（図６（Ｂ）参照）。誤り訂正コードを付加した後、下１６行の各１行を１２行のデータに対して１行のパリティが付くようにインタリーブを行った縦１３行×横１８２バイトのブロックを例えばＥＦＭＰｌｕｓ変調し同期信号を付加して記録フレームとなる（データフォーマットの詳細は、例えば後記特許文献１参照）。
【０００８】
図８は、従来のＤＶＤ−ＲＡＭドライブ装置の再生系の構成の典型例を説明するための図である。以下では、図８を参照して、ＤＶＤ−ＲＡＭドライブ装置１が、ホストコンピュータ２からの読み出し要求を受け、ＤＶＤ−ＲＡＭのある特定ブロックを読み出す場合について説明する。
【０００９】
システムコントローラ２０の制御のもと、読み出し開始ブロック（読み出してバッファ処理するブロック）のデータＩＤを、データＩＤ設定レジスタ１１に設定し、データＩＤ設定レジスタ１１の出力は、デスクランブル初期値生成テーブル１３に入力される。デスクランブル初期値生成テーブル１３は、図７に示す例に従い、データＩＤの下位４−７ビットの値から、該値に対応するデスクランブル初期値を生成する。デスクランブル初期値生成テーブル１３から出力されたデスクランブル初期値は、デスクランブル器１４に設定される。システムコントローラ２０の制御のもと、光ディスク（ＤＶＤ−ＲＡＭ）２１から記録データの読み出しが開始されると、光ピックアップユニット２２で検出された信号は波形等化等が行われ、復調・エラー訂正部２３で、ＲＳＰＣ（リード・ソロモン積符号）による復調、誤り訂正が行われる。復調・エラー訂正部２３では、内パリティ誤り符号コード（図６（Ｂ）のＥＣＣ１）によるセクタの行方向の誤り訂正、及び、外パリティ誤り符号コード（図６（Ｂ）のＥＣＣ２）による列方向の誤り訂正が行われる。そして、光ディスク２１より読み取られ、復調、誤り訂正されたＤＶＤ信号を入力してこれをスクランブル解除し且つバッファ処理して出力する回路ブロック（バッファ出力部）１０には、復調、誤り訂正が行われた１データセクタ（２０６４バイト）単位にデータが供給される。
【００１０】
デスクランブル器１４は、１データセクタ（２０６４バイト）を入力して、デスクランブル初期値に基づき、スクランブルの解除（デスクランブル）を行い、その出力は、トラックバッファ１６に入力され、同時に、ＣＲＣ（Cyclic  Redundancy  Check  Code）演算器１５に供給され、デスクランブル処理されたデータセクタ（２０６４バイト）のＣＲＣチェックが行われる。ＣＲＣチェックの結果は、例えばシステムコントローラ２０に通知され、図示されないステータスレジスタ等に設定される。バッファコントローラ１７は、トラックバッファ１６に格納されているデータを読み出し、ホストインタフェース１８を介して、読み出されたデータを、ホストコンピュータ２に送信する。これらの処理は、データＩＤのビット３〜ビット０となるセクタ１６ブロック単位で行われ、セクタ１６ブロックのデスクランブルは同じデスクランブル初期値で実行される。次のブロック（セクタ１６ブロック）を読み出す場合、インクリメンタ１２で、データＩＤ設定レジスタ１１の現在の出力値（データＩＤ）をインクリメントし、インクリメントされた値をデスクランブル初期値生成テーブル１３に供給し、前述した読み出し処理が繰り返される。なお、システムコントローラ２０は、データＩＤ設定レジスタ１１へ、バッファ開始データＩＤ（読み出し動作によりバッファ処理される最初のブロックのデータＩＤ）を設定するほか、ＤＶＤドライブ装置の各部の制御を行う。
【００１１】
前述したように、ＤＶＤ−ＲＡＭは、出荷前の初期化（フォーマット）時に、ＤＶＤ−ＲＡＭ上におけるリライタブルゾーンに欠陥（初期欠陥）がないか検証（サーティファイ）され、欠陥セクタが検出された場合、欠陥セクタの物理セクタ番号が初期欠陥リストＰＤＬに記録され、未使用セクタとされる。未使用エリア（１つ又は複数の未使用セクタの領域）を「サーティフィケーション・エリア」ともいう。
【００１２】
ところで、ＤＶＤ−ＲＡＭ規格上、未使用セクタのデータは、スクランブル初期値０００１ｈ（ｈはヘキサデシマル表示を意味する）でスクランブルしたデータを記録する規定とされている。
【００１３】
このため、ＤＶＤ−ＲＡＭにおいて、ユーザエリアのデータセクタに連続して未使用エリアのデータが存在している場合、読み出し動作時、該未使用エリアのデータをデスクランブル器１４でデスクランブル処理した結果、読み出しエラーとなる場合がある。これは、データセクタにつづいて未使用エリアのデータを読み出した場合、デスクランブル器１４では、０００１ｈとは異なるデスクランブル初期値でデスクランブル処理が行われるためである。以下、図９と図８を参照して、具体的に説明する。図９に示すように、未使用セクタ（データＩＤのセクタ番号は０００００Ｘｈ）は、スクランブル初期値＝０００１ｈでスクランブル処理されており、ブロック＃Ｎ＋１から連続して未使用エリアのブロック＃Ｎ＋２を読み出すと、データＩＤ設定レジスタ１１から出力されるデータＩＤは、Ｎ＋２に対応し、未使用セクタのデータＩＤ（下位３バイト＝０００００Ｘｈ）と異なる。すなわち、デスクランブル器１４は、ブロック＃Ｎ＋２に対応したデータＩＤに基づくデスクランブル初期値でデスクランブル処理を行うため（デスクランブル初期値０００１ｈと異なる）、デスクランブル処理されたデータをＣＲＣ演算するＣＲＣ演算器１５の出力はエラーとなる。また、あるブロックの読み出しに際して、該ブロック内にユーザデータを記録したデータセクタにつづいて未使用セクタが存在する場合にも、データセクタのデータＩＤと未使用セクタのデータＩＤとが異なるため、デスクランブル処理されたデータを、ＣＲＣ演算するＣＲＣ演算器１５の出力は、エラーとなる。
【００１４】
しかしながら、ＤＶＤ−ＲＡＭドライブ装置のシステムコントローラ２０、あるいはホストコンピュータ２は、ＣＲＣ演算器１５のエラー出力から、ユーザエリアのデータを読み出した際の読み出しエラーであるのか、未使用エリアを検出したことによるエラーであるのかをただちに判別できない。このため、システムコントローラ２０（あるいは、場合によってはホストコンピュータ２）の指示により、例えば同一ブロックを再度読み出す等して、未使用エリアのデータに対してデスクランブル初期値０００１ｈによるデスクランブル処理を再試行する等の所定のリトライ制御が行われる。
【００１５】
【特許文献１】特開２０００−９０５８５号公報（第６頁、第３図、第４図）
【発明の開示】
【発明が解決しようとする課題】
【００１６】
上記したように、図８を参照して説明した従来のＤＶＤ−ＲＡＭドライブ装置においては、未使用セクタのデータを読み出したときに、ＣＲＣ演算器１５からエラーが出力されるが、ユーザエリアのデータの読み出しエラーであるのか、未使用エリアを検出したことによるエラーであるのか、システムコントローラ２０等では、ただちに判別できない。このため、リトライ制御が行われ、その結果、データ読み出しのさらなる高速化の実現、及び性能向上を著しく困難としている。
【００１７】
したがって、本発明の目的は、情報記録媒体からのデータ読み出し時に、未使用エリアを検出し、データの高速読み出しを可能とする装置を提供することにある。
【課題を解決するための手段】
【００１８】
本願で開示される発明は、前記目的を達成するため、概略以下のように構成される。
【００１９】
本発明の一つの側面（アスペクト）に係る装置は、情報記録媒体から読み取られたデータを入力し、前記データの少なくとも一部を検査し、前記データに関連して予め定められた所定項目の検査結果情報を導出する検査回路と、前記検査回路から前記検査結果情報を受け、前記検査結果情報が未使用エリアに関連して予め定められた所定の条件を満たしているか照合し、前記データが未使用エリアのものであるか否か判別する判別回路と、前記判別回路により、前記データが未使用エリアのものであると判別された場合、前記未使用エリアに関連して予め定められた所定の情報を出力する制御を行う制御回路と、を備えている。
【００２０】
本発明においては、前記情報記録媒体から読み取られた前記データは、前記情報記録媒体への記録時にスクランブル処理されており、前記検査回路は、読み出し対象のブロックに対応するデータ識別情報（「データＩＤ」という）に応じて可変に設定されるデスクランブル初期値に基づき、前記読み取られたデータをデスクランブル処理してなるデータをエラーチェックした結果の検査結果情報（「第１の検査結果情報」という）と、所定の固定値のデスクランブル初期値に基づき、前記読み取られたデータをデスクランブル処理してなるデータをエラーチェックして得られる検査結果情報（「第２の検査結果情報」という）を出力する回路を備え、前記判別回路は、前記第１及び第２の検査結果情報を少なくとも入力し、前記読み取られたデータがユーザエリアのものであるか、未使用エリアのものであるかを判別する、構成としてもよい。本発明においては、前記検査回路は、前記読み取られたデータの予め定められた所定の位置に付加されているデータＩＤを検査した結果得られる検査結果情報（「第３の検査結果情報」という）と、前記データＩＤの誤り検出符号を検査した結果導出される検査結果情報（「第４の検査結果情報」という）を出力する回路をさらに備え、前記判別回路は、前記第１及び第２の検査結果情報と前記第３及び第４の検査結果情報の値の組み合わせに基づき、前記読み取られたデータが、未使用エリアのものであるか、ユーザエリアのものであるかを判定する構成としてもよい。
【００２１】
本発明においては、予め定められた所定のパタンを出力するパタン出力回路と、前記情報記録媒体から読み取られ前記デスクランブル処理されたデータと、前記所定のパタンとを入力とし、前記判別回路からの前記判別結果が未使用エリアでない場合、前記デスクランブル処理されたデータを選択し、未使用エリアの場合、前記所定のパタンを出力する選択回路と、を備えた構成としてもよい。
【００２２】
本発明においては、前記ブロックは、複数のセクタから構成され、前記検査回路には、前記情報記録媒体から読み取られたブロックデータを誤り訂正処理したデータが、セクタ毎に供給される、構成としてもよい。
【００２３】
本発明の他の側面（アスペクト）に係る装置においては、読み出し対象のブロックに対応するデータＩＤに応じて可変に設定されるデスクランブル初期値に基づき、前記情報記録媒体より読み取られたデータをデスクランブル処理して出力する第１のデスクランブル器と、予め定められた固定値に設定されたデスクランブル初期値に基づき、前記読み取られたデータをデスクランブル処理して出力する第２のデスクランブル器と、前記第１及び第２のデスクランブル器よりそれぞれ出力されるデスクランブルデータに関する第１及び第２の誤り検査情報を演算して出力する演算部と、前記読み取られたデータの予め定められた所定の位置に付加されている、データＩＤ、及び、データＩＤの誤り検出符号をそれぞれ検査する検査部と、前記第１及び第２のデスクランブル部よりそれぞれ出力されるデスクランブルデータに関する誤り検査情報と、前記データＩＤ及び前記データＩＤの誤り検出符号の検査情報のそれぞれについて、誤りの有無の組み合わせに基づき、前記データがユーザエリアから読み取られたものであるか、未使用エリアから読み取られたものであるかを判別する判別回路と、前記判別回路での判別結果が、前記データが未使用エリアのものである場合、予め定められた所定のパタンを上位装置に出力する回路と、を備えた構成としてもよい。
【００２４】
本発明のさらに別の側面（アスペクト）に係る装置においては、前記第１のデスクランブル器から出力されたデータを書き込みポインタで指示されるアドレスに書き込み、読み出しポインタが示すアドレスからデータを読み出して出力するバッファ回路と、前記書き込みポインタ、及び前記読み出しポインタの更新をそれぞれ制御する回路と、予め定められた所定のパタンを出力するパタン出力回路と、前記判別回路での判定の結果、前記読み取られたデータが未使用エリアの場合、前記書き込みポインタの値を記憶しておく記憶部と、前記読み出しポインタの値と、前記記憶部に記憶されている前記書き込みポインタの値と比較し、一致した場合、前記バッファ回路から前記読み出しポインタにしたがって読み出されたデータの代わりに、前記パタン出力回路から出力される所定パタンを出力するように制御する選択回路と、をさらに備えている。
【発明の効果】
【００２５】
本発明によれば、ハードウェア・ロジックにて、未使用エリアを検出する構成としたことにより、未検出エリアのデータ読み取り時のリトライ制御を不要とし、読み出しを高速化し、処理性能を向上させることができる。
【発明を実施するための最良の形態】
【００２６】
本発明についてさらに詳細に説述すべく、添付図面を参照してこれを説明する。図１は、本発明を実施するための最良の一形態の構成を示す図である。図１において、回路ブロック１０Ａは、図８に示したＤＶＤドライブ装置の回路ブロック(バッファ出力部)１０に対応しており、図１には、図８のホストコンピュータ２、光ディスク２１、光ピックアップユニット２２、復調・エラー訂正部２３は省略されている。図１の回路ブロック１０Ａにおいて、入力データは、図８を参照して説明した従来の装置と同様、光ディスクから読み取られ、復調・エラー訂正部２３で、復調、誤り訂正が行われたセクタデータである。
【００２７】
図１を参照すると、本発明の一実施の形態に係る装置は、光ディスク（不図示）から読み取られたデータを入力し、データの一部又は全てを検査し、前記読み取られたデータに関連して予め定められた所定項目の検査結果情報を導出する検査回路（１０４、１０５、１１０、１１１、１１２、１１３）と、検査回路から前記検査結果情報を受け、前記検査結果情報が未使用エリアに関連して予め定められた所定の条件を満たしているか照合することで、読み取られたデータが未使用エリアのものであるか否か判別する判別回路（バッファ出力コントローラ１１４）と、該判別回路により、前記データが未使用エリアのものであると判別された場合、未使用エリアに関連して予め定められた所定の情報を、上位装置をなすホストコンピュータに出力する制御を行う回路（１０７、１０８、１０９）を備えている。
【００２８】
このように、本発明の一実施の形態に係る装置によれば、ハードウェア回路にて、読み取られたデータが未使用エリアのものであるか検出する構成としたことにより、未検出エリアのデータを読み取り時に、システムコントローラあるいはホストコンピュータの制御による、リトライ制御を不要とし、読み出しを高速化している。以下、具体例に即して詳細に説明する。
【実施例１】
【００２９】
図１を参照すると、本発明の一実施例のＤＶＤ−ＲＡＭドライブ装置は、図示されない光ディスクから読み取られた１ブロックデータ（図６（Ｂ）参照）を誤り訂正して得られる１セクタ（図６（Ａ）参照）のデータを入力し、読み出し対象のブロックに対応して設定されるスクランブル初期値に基づきスクランブル解除（デスクランブル）を行うデスクランブル器１０４と、デスクランブル器１０４でデスクランブルされたデータ（２０６４バイト）のＣＲＣ演算を行うＣＲＣ演算器１０５と、デスクランブル器１０４に入力されるデータを共通に入力し、固定のデスクランブル初期値（＝０００１ｈ）でデスクランブルを行うデスクランブル器１１０と、データセクタのＩＥＤ（図６（Ａ）参照）をチェックするＩＥＤチェッカ１１２と、データセクタのデータＩＤの８−２３ビットが０であるかチェックするＩＤ０チェッカ１１３と、デスクランブル器１１０でデスクランブルされたデータ（２０６４バイト）のＣＲＣ演算を行うＣＲＣ演算器１１１と、ＣＲＣ演算器１０５及び１１１の演算結果、ＩＥＤチェッカ１１２及びＩＤ０チェッカ１１３の検査結果を入力し、入力した信号の値の組み合わせが、未使用エリアの条件に該当するか否か判別し、判別結果を選択制御信号ＳＥＬとして出力するバッファ出力コントローラ１１４と、を備えている。なお、デスクランブル器１０４、１１０は同一構成とされ、スクランブル初期値が設定されるシフトレジスタ回路（ＬＦＳＲ；線形帰還シフトレジスタ）で構成される。また、ＣＲＣ演算器１０５、１１１同士も同一構成とされ、シフトレジスタ回路（ＬＦＳＲ）で構成される。
【００３０】
さらに、本実施例に係るＤＶＤ−ＲＡＭドライブ装置は、読み出し（バッファ処理）開始ブロックのデータＩＤが設定されるデータＩＤ設定レジスタ１０１と、データＩＤ設定レジスタ１０１の現在値を１つ加算し（＋１）、加算結果をデータＩＤ設定レジスタ１０１に設定するインクリメンタ１０２と、データＩＤ設定レジスタ１０１の出力を受け、読み出し対象ブロックのデータＩＤに対応するデスクランブル初期値を出力するデスクランブル初期値生成テーブル１０３と、を備え、デスクランブル器１０４は、デスクランブル初期値生成テーブル１０３から出力されるデスクランブル初期値に基づきスクランブル処理を行う。
【００３１】
さらに、本実施例に係るＤＶＤ−ＲＡＭドライブ装置は、デスクランブル器１０４でデスクランブルされたデータを入力するトラックバッファ１０６と、バッファコントローラ１０７と、ホストインタフェース１０８とを備えている。このうち、トラックバッファ１０６は、デスクランブル器１０４から出力されるデータを一時的に蓄積し遅延させて出力するタイミング調整用のバッファ回路である。
【００３２】
また、バッファコントローラ１０７は、バッファ出力コントローラ１１４から出力される選択制御信号ＳＥＬに基づき、入力データが、ユーザセクタのものである場合、トラックバッファ１０６からの出力データを選択出力し、未使用セクタのものである場合には、特定パタン出力回路１０９の出力パタンを選択出力するように、切り換える。特定パタン出力回路１０９は、システムコントローラ１２０の制御のもと、その出力パタンが初期設定され、未使用セクタに関連付けされたパタンを出力する。未使用セクタのデータ読み出し時、バッファコントローラ１０７は、特定パタン出力回路１０９からの特定パタンを１セクタ（２０６４バイト）分出力する。
【００３３】
ホストインタフェース１０８は、バッファコントローラ１０７から出力されたデータを図示されないホストコンピュータに送信する。ホストインタフェース１０８と図示されないホストコンピュータとのインタフェースとしては、ドライブ装置が外付けの場合、例えばＩＥＥＥ１３９４、ＳＣＳＩ（Small Computer System Interface）等が用いられ、本実施例に係るＤＶＤ−ＲＡＭドライブ装置が、例えばホストコンピュータ内に内蔵される場合、例えばＳＣＳＩ、ＡＴＡ（ATA  Packet Interface）等が用いられる。
【００３４】
このように、本実施例に係るＤＶＤ−ＲＡＭドライブ装置によれば、光ディスクから読み取られたデータをバッファリングしてホストコンピュータ等の上位装置へ転送する物理層（ハードウエア・ロジック）にて、未使用セクタの検出を行っており、未使用セクタを検出した際に、特定パタンをホストコンピュータに送信する構成としている。このため、未使用セクタのデータ読み取り時にも、従来のＤＶＤ−ＲＡＭドライブ装置で必要とされていたリトライ制御を不要としている。
【００３５】
図２は、図１のバッファ出力コントローラ１１４の制御動作の一具体例を説明するための図である。
【００３６】
図２において、Ａは、図１のＩＥＤチェッカ１１２の出力信号であり、バッファ出力コントローラ１１４の端子Ａに入力される信号に対応している。Ａの値は、ＩＥＤチェッカ１１２でのチェック結果が正しい場合、”１”（バイナリ値）、正しくない場合、”０”（バイナリ値）とする。
【００３７】
また、Ｂは、ＩＤ０チェッカ１１３の出力信号であり、バッファ出力コントローラ１１４の端子Ｂに入力される信号に対応している。Ｂの値は、データＩＤビットの２３−８ビットがすべて”０”とき、”１”、それ以外の場合、”０”である。
【００３８】
さらに、Ｃは、ＣＲＣ演算器１１１の出力信号であり、バッファ出力コントローラ１１４の端子Ｃに入力される信号に対応している。Ｃの値は、ＣＲＣ演算器１１１でエラー無しの場合、”１”、エラーの場合、”０”である。
【００３９】
そして、Ｄは、ＣＲＣ演算器１０５の出力信号であり、バッファ出力コントローラ１１４の端子Ｄに入力される信号に対応している。Ｄの値は、ＣＲＣ演算器１０５でエラーの場合、”１”、エラー無しの場合、”０”である。
【００４０】
図２に示すように、図１のバッファ出力コントローラ１１４は、（Ａ、Ｂ、Ｃ、Ｄ）の値の組み合わせ（条件）に応じて、以下のような制御動作を行う。図１及び図２を参照して、バッファ出力コントローラ１１４の制御動作を説明する。
【００４１】
（１）Ａ、Ｂ、Ｃ、Ｄがすべて”１”のとき、今入力したデータは、未使用セクタのデータである。ＩＥＤチェッカ１１２からの出力Ａが”１”のとき、データＩＤは誤り検出結果が「誤り無し」であり、ＩＤ０チェッカ１１３の検査結果Ｂが”１”のとき、データＩＤのビット２３−８がすべて０であり、第２のＣＲＣ演算器１１１の結果Ｃが”１”のとき、「誤り無し」であり、第１のＣＲＣ演算器１０５の結果Ｄが”１”のとき、「誤り有り」があることから、当該データは、未使用セクタのデータに対応する。すなわち、当該未使用セクタを、デスクランブル器１０４でデスクランブル処理した場合、デスクランブル初期値が異なるため、当該セクタのＥＤＣと、ＣＲＣ計算結果が一致しない。一方、当該未使用セクタを、固定初期値デスクランブル器１１０でデスクランブル処理した場合、当該セクタのＥＤＣと第２のＣＲＣ演算器１１１でのＣＲＣ計算結果とは一致している。このため、Ａ、Ｂ、Ｃ、Ｄがすべて”１”のとき、未使用セクタのデータと判定する。そして、バッファ出力コントローラ１１４は、選択制御信号ＳＥＬを、”１”（未使用セクタであることを表す値）とする。バッファコントローラ１０７は、バッファ出力コントローラ１１４から出力される選択制御信号ＳＥＬが”１”のとき、特定パタン出力回路１０９から出力される特定パタンを選択出力する。
【００４２】
（２）Ｄが”０”のとき（Ａ、Ｂ、Ｃは”１”）、ＳＥＬは０とし、バッファコントローラ１０７は、バッファ出力コントローラ１１４から出力される選択制御信号ＳＥＬが０であるため、トラックバッファ１０６の出力を出力する。この場合、Ｃ、Ｄのいずれかが誤訂正の可能性があり、今入力したデータはエラーがある。すなわち、ＩＥＤチェッカ１１２、ＩＤ０チェッカ１１３の結果がともに「誤り無し」という条件で、第２のＣＲＣ演算器１１１の結果Ｃが「誤り無し」であり、且つ、第１のＣＲＣ演算器１０５の結果Ｄも「誤り無し」である場合、互いに背反する事象（Ｃ及びＤがともに誤り無し）が同時に成立していることから、Ｃ又はＤのいずれかで誤訂正した可能性があるものと判定する。このため、未使用セクタとして扱わない。
【００４３】
（３）Ｃが”０”のとき（Ａ、Ｂ、Ｄは”１”）、ＳＥＬは”０”とし、バッファコントローラ１０７は、トラックバッファ１０６の出力を選択出力する。この場合、今入力したデータは、訂正不能データである。すなわち、第２のＣＲＣ演算器１１１の結果Ｃと第１のＣＲＣ演算器１０５の結果Ｄの双方とも「誤り有り」であるため、データは訂正不能である。この場合、ＩＤ０チェッカ１１３の検査の結果、データＩＤのビット２３−８がすべて０であるが、未使用セクタとして扱わない。
【００４４】
（４）Ｃ、Ｄが”０”のとき（Ａ、Ｂは”１”）、ＳＥＬは”０”とする。この場合、Ｄで、誤訂正した可能性がある。すなわち、第２のＣＲＣ演算器１１１の結果Ｃが「誤り有り」であり、第１のＣＲＣ演算器１０５の結果Ｄが「誤り無し」である。この場合、ＩＤ０チェッカ１１３の検査の結果Ｂが、データＩＤのビット２３−８がすべて０であることを示していることから、未使用セクタの可能性があり（第１のＣＲＣ演算器１０５の結果Ｄは「誤り有り」となる）にもかかわらず、Ｄが「誤り無し」あるため、Ｄ側で誤訂正した可能性がある。この場合も、未使用セクタとしない。
【００４５】
（５）Ｂが”０”で、Ａ、Ｃ、Ｄが”１”のとき、ＳＥＬは”０”とする。この場合、Ｃで誤訂正した可能性がある。ＩＤ０チェッカ１１３の検査の結果Ｂより、データＩＤのビット２３−８がすべて０であることが成立していず（未使用セクタでない）、第１のＣＲＣ演算器１０５の結果Ｄが「誤り有り」であり、第２のＣＲＣ演算器１１１の結果Ｃが「誤り無し」であり、Ｃ側で誤訂正した可能性がある。この場合も、未使用セクタと判定しない。
【００４６】
（６）Ｂ、Ｄが”０”、Ａ、Ｃが”１”のとき、ＳＥＬは”０”とする。この場合、Ｃ、Ｄのいずれかで誤訂正した可能性がある。この場合、今入力したデータはエラーがある。すなわち、ＩＤ０チェッカ１１３の検査の結果Ｂより、データＩＤのビット２３−８がすべて０であることは成立していず、第１のＣＲＣ演算器１０５の結果Ｄが「誤り無し」であり、しかも、第２のＣＲＣ演算器１１１の結果Ｃが「誤り無し」であることから、Ｃ又はＤ側で誤訂正した可能性がある。この場合も、未使用セクタとしない。
【００４７】
（７）Ｂ、Ｃが”０”のとき（Ａ、Ｄは”１”）、ＳＥＬは”０”とし、バッファコントローラ１０７は、トラックバッファ１０６の出力を選択出力する。この場合、今入力したデータは訂正不能データである。すなわち、ＩＥＤチェックの結果Ａに誤りがなく、ＩＤ０チェッカ１１３の検査の結果Ｂより、データＩＤのビット２３−８がすべて０であることが成立しない状態において、第２のＣＲＣ演算器１１１の結果Ｃ、及び、第１のＣＲＣ演算器１０５の結果Ｄがともに「誤り有り」であることから、当該セクタデータは訂正不能である。この場合も、未使用セクタとしない。
【００４８】
（８）Ｂ、Ｃ、Ｄが”０”のとき（Ａは”１”）、ＳＥＬは”０”とする。この場合、今入力したデータは、ユーザエリアのセクタデータである。すなわち、ＩＥＤチェックの結果Ａにエラーがなく、ＩＤ０チェッカ１１３の検査の結果Ｂより、データＩＤのビット２３−８がすべて０であることが成立しない状態において、第２のＣＲＣ演算器１１１の結果Ｃが「誤り有り」であり、第１のＣＲＣ演算器１０５の結果Ｄが「誤り無し」であるため、該データは、ユーザデータである。また、当該データにエラーはない。
【００４９】
（９）Ａが”０”のとき（Ｂ、Ｃ、ＤはDon't  Care）、ＳＥＬは”０”とする。この場合、今入力したデータは、エラーがある。すなわち、ＩＥＤチェックの結果Ａに誤りがある場合は、データのエラーとする。また、未使用セクタとはしない。ＩＥＤチェックの結果Ａに誤りがあれば、データＩＤのビット２３−８の検査結果、第１のＣＲＣ演算器１０５の結果Ｄ、第２のＣＲＣ演算器１１１の結果Ｃの値によらず、データのエラーとして扱い（図２のＢ、Ｃ、Ｄに対応する最下行の記号Ｘは「Don't Care」を表している）、ＩＤ０チェッカ１１３での検査、第１、第２のＣＲＣ演算器１０５、１１１等による誤り検査等は行わなくてよい。
【００５０】
なお、上記条件（８）に該当する場合、読み出しエラー無しであり、読み取られたユーザエリアのデータ（データセクタ）を、ホストインタフェース１０８から図示されないホストコンピュータへ出力する。
【００５１】
一方、上記条件（２）乃至（７）、（９）のうちのいずれか場合に該当する場合には、読み取られたセクタデータにエラーがあるため、バッファ出力コントローラ１１４は、（Ａ、Ｂ、Ｃ、Ｄ）の値をシステムコントローラ１２０に通知し、システムコントローラ１２０から、エラー情報を、図示されないステータスレジスタに設定し、ホストインタフェース１０８から、図示されないホストコンピュータへ通知するようにしてもよい。
【００５２】
一方、上記条件（１）に該当する場合、すなわち、ＩＥＤチェッカ１１２、ＩＤ０チェッカ１１３の出力Ａ、Ｂがともに”１”であり、ＣＲＣ演算器１１１、１０５の出力Ｃ、Ｄがともに”１”のとき、ＳＥＬ信号は”１”とされ、特定パタンが、ホストインタフェース１０８から図示されないホストコンピュータに送信され、ホストコンピュータは、未使用セクタより読み取られたデータであることを認識する。特定パタンは、ホストコンピュータで未使用セクタであることを識別できる情報であれば、任意のパタンであってよい。また、バッファ出力コントローラ１１４に入力される（Ａ、Ｂ、Ｃ、Ｄ）の値を、適宜、ホストコンピュータに転送するようにしてもよい。
【００５３】
図３は、図１に示した本実施例の動作の一例を説明するためのタイミング図であり、未使用セクタを検出した場合の動作の一例が示されている。ここで、データセクタのデータフォーマットは、図６（Ａ）に示した内容に従う。デスクランブル器１０４からは、スクランブルを解除したセクタデータとして、データＩＤ（ＩＤ０、ＩＤ１、ＩＤ２、ＩＤ３の４バイト）、ＩＥＤ０、ＩＥＤ１、ＲＳＶ０、…が出力される。本実施例では、トラックバッファ１０６からは読み出されたバイトデータが、それぞれ、６バイト分相当遅延して出力される。すなわち、トラックバッファ１０６は、図１のＣＲＣ演算器１０５、１１１での処理遅延と、バッファ出力コントローラ１１４の処理遅延の合計に対応する時間分、デスクランブル器１０４の出力を遅延させて出力する。ＩＥＤチェッカ１１２、ＩＤ０チェッカ１１３の出力が有効（Ｖａｉｌｄ）であり、ＣＲＣ演算器１０５、１１１での誤り検出結果が有効のとき、ＳＥＬ信号は”１”に設定され、バッファコントローラ１０７は、特定パタン出力回路１０９からのパタンを出力し、ホストインタフェース１０８を介して図示されないホストコンピュータに、特定パタン（１データセクタすなわち２０６４バイト分）が送信される。
【００５４】
次に別の実施の形態について説明する。図４は、本発明の第２の実施の形態の構成を示す図である。図４には、図１の回路ブロック１０Ａ内の構成が示されており、図１のシステムコントローラ１２０は省略されている。本発明の第２の実施の形態においては、光ディスク側の読み出し速度とホストコンピュータ側への転送速度の差を吸収するためのクロック乗り換え用のバッファ（図４の２２１）を備えている。本発明の第２の実施の形態では、第１のデスクランブル器（図４の２０４）から出力されたデータを、書き込みポインタで指示されるアドレスに書き込み、読み出しポインタが示すアドレスからデータを読み出して出力するバッファ（図４の２２１）と、書き込みポインタ及び読み出しポインタの更新をそれぞれ制御する回路（図４の２２２〜２２７）と、予め定められた所定のパタンを出力するパタン出力回路（図４の２０９）と、判別回路（図４の未使用セクタ検出器２１４）での判定の結果、読み取られたデータが未使用セクタの場合、書き込みポインタの値を記憶しておく記憶部（図４の２２８）と、前記読み出しポインタの値と、前記記憶部に記憶されている書き込みポインタの値と比較し、一致した場合、バッファ（図４の２２１）から読み出しポインタにしたがって読み出されるデータの代わりに、パタン出力回路（図４の２０９）から出力される所定パタンを出力するように制御する選択回路（図４の２０７）をさらに備えている。
【００５５】
本発明の第２の実施の形態において、図４のバッファ２２１として、クロック乗り換え用のバッファに用いられるリングバッファを備えている。以下、具体的な第２の実施例に即して説明する。
【実施例２】
【００５６】
図５は、本発明の第２の実施例で用いられるリングバッファの動作原理を説明するための模式図である。図５を参照すると、リングバッファ領域を、１データセクタ分の２０６４バイト毎の領域に分割し、アドレスの低いほうから、０〜２０６３を０番、２０６４〜４１２７を１番、２０６４×ｎ〜２０６４×（ｎ＋１）−１をｎ番とする。Ｗは、書き込みポインタでありＤＶＤ−ＲＡＭの入力データの書き込み開始位置、Ｒは読み出しポインタであり、ホストコンピュータへ出力を開始する位置である。ポインタＷとＲは、初期状態で０番の位置にあり、ＤＶＤディスクからの読み出しが開始されると、入力データがバッファに書き込まれ、１セクタ（２０６４バイト）のデータが書き込まれると、ポインタＷの値を１つインクリメントする。ポインタＲとポインタＷの差が２０６４バイト以上となったとき、ホストコンピュータ側への転送が起動され、ポインタＲがポインタＷを追いかける形で推移する。ポインタＷ、Ｒとも、０→１→２、…、と推移し、１０に到達すると、次に０に戻る。ポインタＲがポインタＷに追いついたとき、ホストコンピュータ側へのデータの転送は停止され、ポインタＷとポインタＲの差が２０６４バイト以上となるまで待機する。
【００５７】
再び図４を参照すると、データＩＤ設定レジスタ２０１、インクリメンタ２０２、デスクランブル初期値生成テーブル２０３、デスクランブル器２０４、ＣＲＣ演算器２０５、セレクタ２０７、ホストインタフェース部２０８、特定パタン出力回路２０９、固定初期値デスクランブル器２１０、ＣＲＣ演算器２１１、ＩＥＤチェッカ２１２、ＩＤ０チェッカ２１３、及び、未使用セクタ検出器２１４は、図１に示したデータＩＤ設定レジスタ１０１、インクリメンタ１０２、デスクランブル初期値生成テーブル１０３、デスクランブル器１０４、ＣＲＣ演算器１０５、バッファコントローラ１０７、ホストインタフェース部１０８、特定パタン出力回路１０９、固定初期値デスクランブル器１１０、ＣＲＣ演算器１１１、ＩＥＤチェッカ１１２、ＩＤ０チェッカ１１３、バッファ出力コントローラ１１４に、それぞれ対応し、同一の構成で構成される。以下では、重複を回避するため、同一部分の説明は適宜省略し、主に、図１に示した構成との相違点について説明する。
【００５８】
図４に示すように、本発明の第２の実施例においては、リングバッファ２２１と、リングバッファ２２１への書き込み（入力）を制御する入力側リングバッファコントローラ２２０と、リングバッファ２２１からの読み出し（出力）を制御する出力側リングバッファコントローラ２３０と、リングバッファ２２１の書き込みアドレスを生成するＸ２０６４乗算器２２２と、リングバッファ２２１の読み出しアドレスを生成するＸ２０６４乗算器２２３と、入力バッファポインタを生成する入力バッファポインタ生成器２２４と、入力側リングバッファコントローラ２２０からの制御信号を受け入力バッファポインタをインクリメント（＋１）するインクリメンタ２２５と、出力バッファポインタを生成する出力バッファポインタ生成器２２６と、出力側リングバッファコントローラ２３０からの制御信号を受け、出力バッファポインタをインクリメントするインクリメンタ２２７と、入力バッファポインタ生成器２２４の出力と未使用セクタ検出器２１４の出力を受ける入力バッファポインタ退避レジスタ２２８と、入力バッファポインタ退避レジスタ２２８の出力信号と出力バッファポインタ生成器２２６の出力信号を受け、これらの信号を比較し比較結果を、セレクタ２０７に出力する比較器２２９と、を備えている。これらの回路は、概略以下のように動作する。
【００５９】
入力側リングバッファコントローラ２２０は、指定されたリングバッファの入力アドレスにデータを書き込み、制御信号として、入力バッファポインタ・カウントアップイネーブル信号をインクリメンタ２２５に出力する。
【００６０】
入力バッファポインタ・カウントアップイネーブル信号を受けて、インクリメンタ２２５は、入力バッファポインタの値を１つ加算（インクリメント）し、入力バッファポインタ生成器２２４に供給する。
【００６１】
入力バッファポインタ生成器２２４は、リングバッファを２０６４バイトで分割した各ブロックの位置（図５の０〜１０）を示す値を出力する。入力バッファポインタ生成器２２４は、システムコントローラ（図１の１２０）により、値０に初期化される。インクリメンタ２２５は、入力バッファポインタ・カウントアップイネーブル信号を受けて、入力バッファポインタ生成器２２４の出力値を＋１し、その際、１０のつぎは１１でなく、０に更新される。
【００６２】
ｘ２０６４乗算器２２２は、入力バッファポインタ生成器２２４の出力に、２０６４を掛けた値を、リングバッファ２２１の入力アドレスとして出力する。
【００６３】
出力側リングバッファコントローラ２３０は、指定されたリングバッファの出力アドレスからデータを読み出し、出力バッファポインタ・カウントアップイネーブル信号を出力する。
【００６４】
出力バッファポインタ・カウントアップイネーブル信号を受けてインクリメンタ２２７は、出力バッファポインタの値を１つ加算（インクリメント）し、出力バッファポインタ生成器２２６に供給する。出力バッファポインタ生成器２２６は、リングバッファを２０６４バイトで分割した各ブロックの位置（図の０〜１０）を示す値を出力する。出力バッファポインタ生成器２２６は、システムコントローラ（図１の１２０）により初期化され、インクリメンタ２２７は、出力バッファポインタ・カウントアップイネーブル信号を受けて出力バッファポインタ生成器２２６の出力値を＋１し、その際、１０のつぎは１１でなく、０に更新される。
【００６５】
ｘ２０６４乗算器２２３は、出力バッファポインタ生成器２２６の出力に、２０６４を掛けた値を、リングバッファ２２１の出力アドレスとして出力する。
【００６６】
入力バッファポインタ退避レジスタ２２８は、未使用セクタ検出器２１４から出力される信号ＳＥＬが”１”のとき、入力バッファポインタ生成器２２４の出力をラッチする。未使用セクタ検出器２１４は、図１に示した前記実施例におけるバッファ出力コントローラ１１４と同一の論理構成とされ、前記実施例と同様に、入力される信号の組（Ａ、Ｂ、Ｃ、Ｄ）が、上記条件（１）を満たす場合に、出力信号ＳＥＬが”１”とされる。また、（Ａ、Ｂ、Ｃ、Ｄ）が上記条件（２）を満たすとき、出力信号ＳＥＬが”０”とされ、エラー無しのユーザデータとされる。（Ａ、Ｂ、Ｃ、Ｄ）が上記（２）乃至（７）、（９）のとき、出力信号ＳＥＬが”０”とされ、エラーとされる。
【００６７】
比較器２２９は、入力バッファポインタ退避レジスタ２２８と、出力バッファポインタ生成器２２６の出力とを比較し、一致している場合、例えば”１”を出力し、それ以外の場合、”０”を出力する。
【００６８】
セレクタ２０７は、比較器２２９の出力信号を選択制御信号として受け、比較器２２９の出力信号が”０”のとき（すなわち、不一致を表すとき）、リングバッファ２２１から、出力側リングバッファコントローラ２３０を介して読み出されたデータを出力し、比較器２２９の出力が”１”のとき（すなわち、一致を表すとき）、特定パタン出力回路２０９からの特定パタンを、ホストインタフェース２０８に供給する。
【００６９】
本発明の第２の実施例のＤＶＤ−ＲＡＭドライブ装置の動作について説明する。ＤＶＤ−ＲＡＭディスクからあるブロックを読み出す場合、読み出し開始ブロック（すなわちバッファ処理する最初のブロック）のデータＩＤをデータＩＤ設定レジスタ２０１に設定し、その出力がデスクランブル初期値生成テーブル２０３に供給され、デスクランブル初期値生成テーブル２０３の出力がデスクランブル初期値としてデスクランブル器２０４に設定される。入力バッファポインタ生成器２２４と出力バッファポインタ生成器２２６には、初期値（例えば０）が設定される。
【００７０】
ＤＶＤ−ＲＡＭディスクからブロックデータの読み出しが開始されると、復調、誤り訂正が行われたセクタ単位のデータに、デスクランブル処理が行われ、デスクランブル器２０４の出力は、入力側リングバッファコントローラ２２０に入力される。また、デスクランブル器２０４の出力は、ＣＲＣ演算器２０５にも供給され、ＣＲＣチェックが行われる。これと並行して、０００１ｈで初期化された固定初期値デスクランブル器２１０にも、デスクランブル器２０４に供給されるデータが供給され、デスクランブル器２１０の出力は、ＣＲＣ演算器２１１に供給され、ＣＲＣチェックが行われる。
【００７１】
ユーザエリアのデータが入力されている場合、データＩＤは、ＤＶＤ−ＲＡＭの規格上、３１０００ｈ以上であるため、未使用セクタ検出器２１４の出力信号ＳＥＬは、”０”となる。
【００７２】
次のデータブロックを読み出すとき、インクリメンタ２０２では、データＩＤ設定レジスタ２０１の出力をインクリメントし、読み出しデータのスクランブル処理、ＣＲＣ演算処理を行う。未使用セクタのデータが入力されている場合、データＩＤの下位３バイトは、ＤＶＤ−ＲＡＭの規格上、００００００−０００００Ｆｈであるため、上記（１）の条件が成立し、未使用セクタ検出器２１４の出力信号ＳＥＬは”１”となる。
【００７３】
本実施例において、ユーザエリアの読み出しエラーとなった場合、上記（１）の条件は成立しない。このため、特定パタンが出力されることはない。また、未使用セクタのデータを入力中に、読み出しエラーとなった場合、上記（１）の条件は成立しない。このため、特定パタンが出力されることはない。システムコントローラ（図１の１２０）は、読み出しエラーとなったブロックを、再度、読み出すリトライ制御を行う。
【００７４】
未使用セクタ検出器２１４から出力される信号ＳＥＬが”１”となったとき、入力バッファポインタ生成器２２４の値が、入力バッファポインタ退避レジスタ２２８にラッチされ、未使用セクタのデータとして処理すべきリングバッファ２２１の位置を記憶しておく。
【００７５】
ホストコンピュータ側へ転送するための出力バッファポインタの値が、入力バッファポインタ退避レジスタ２２８の値と一致すると、比較器２２９からの出力信号が”１”となり、特定パタン出力回路２０９の出力が選択されて、ホストインタフェース部２０８に供給され、図示されないホストコンピュータに供給される。
【００７６】
本実施の形態の作用効果について説明する。本発明の第２の実施の形態によれば、光ディスク側の読み出し速度とホスト側の転送速度との差をバッファで吸収し、ＤＶＤ−ＲＡＭディスクのブロックデータの読み出し時、ユーザデータのセクタにつづいて未使用セクタが現れた場合にも、ＤＶＤ−ＲＡＭドライブ装置で検出し、特定パタンに置き換え、ホストコンピュータへ、読み出されたユーザデータと連続させて、転送できるようにしたことにより、未使用セクタから読み取られたデータを読み出しエラーとしてリトライする制御を行うことを不要としており、ブロックデータ読み出し時の高スループットを実現している。
【００７７】
なお、上記各実施例では、本発明をＤＶＤ−ＲＡＭドライブ装置に適用した例について説明したが、本発明は、これと互換のデータフォーマットを有する任意の光ディスクの再生装置に適用することができることは勿論である。また、ＤＶＤディスクへの記録を行う記録系と、再生系を備えた記録再生装置の再生系に適用してもよいことは勿論である。
【００７８】
また、上記実施例のドライブ装置は、パソコン等に内蔵されるドライブ装置としても適用可能であり、ＤＶＤプレーヤに内蔵されるドライブ装置にも適用可能であることは勿論である。
【００７９】
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００８０】
【図１】本発明の第１の実施例の構成を示す図である。
【図２】本発明の第１の実施例のバッファ出力コントローラの動作の一例を説明するための図である。
【図３】本発明の第１の実施例のタイミング動作の一例を説明するためのタイミング図である。
【図４】本発明の第２の実施例の構成を示す図である。
【図５】リングバッファの動作原理を説明するための模式図である。
【図６】ＤＶＤのデータフォーマットを示す図である。
【図７】スクランブル初期値とデータＩＤの対応を説明するための図である。
【図８】従来のＤＶＤ−ＲＡＭドライブの構成の典型例を示す図である。
【図９】ユーザエリアとサーティフィケーションエリアを読み出す処理を説明するための模式図である。
【符号の説明】
【００８１】
１  ＤＶＤ−ＲＡＭドライブ装置
２  ホストコンピュータ（上位装置）
１０、１０Ａ  回路ブロック（バッファ出力部）
１１、１０１、２０１  データＩＤ設定レジスタ
１２、１０２、２０２  インクリメンタ
１３、１０３、２０３  デスクランブル初期値生成テーブル
１４、１０４、２０４  デスクランブル器
１５、１０５、２０５  ＣＲＣ演算器
１６、１０６  トラックバッファ
１７、１０７  バッファコントローラ
１８、１０８、２０８  ホストインタフェース
２０  システムコントローラ
２１  ＤＶＤディスク
２２  光ピックアップユニット
２３  ＤＶＤ信号復調・エラー訂正回路
１０９、２０９  特定パタン出力回路
１１０、２１０  固定初期値デスクランブル器
１１１、２１１  ＣＲＣ演算器
１１２、２１２  ＩＥＤチェッカ
１１３、２１３  ＩＤ０チェッカ
１１４  バッファ出力コントローラ
１２０  システムコントローラ
２０７  セレクタ
２１４  未使用セクタ検出器
２２０  入力側リングバッファコントローラ
２２１  リングバッファ
２２２、２２３  ｘ２０６４乗算器
２２４  入力バッファポインタ生成器
２２５、２２７  インクリメンタ
２２６  出力バッファポインタ生成器
２２８  入力バッファポインタ退避レジスタ
２２９  比較器
２３０  出力側リングバッファコントローラ
２１１  特定パタン出力回路
【図１】
2005267681.tif 000003
【図２】
2005267681.tif 000004
【図３】
2005267681.tif 000005
【図４】
2005267681.tif 000006
【図５】
2005267681.tif 000007
【図６】
2005267681.tif 000008
【図７】
2005267681.tif 000009
【図８】
2005267681.tif 000010
【図９】
2005267681.tif 000011