(57)【特許請求の範囲】
【請求項１】
アドレスを各々有する複数の記録用ブロックにより構成される記録媒体にデータをリード又はライトするシステムであって、
ライトデータ及びライトアドレスを入力する入力手段と、
前記入力手段により入力したライトアドレスに対応するアドレスを有する前記記録媒体の記録用ブロックに、前記ライトデータをライトするライト手段と、
前記ライトデータがライトされた記録用ブロックの次の記録用ブロックのデータがリード済みではない場合、前記ライト手段によるライト動作の後、引き続き前記記録媒体の前記次の記録用ブロックのデータをリードするリード手段と、
を具備することを特徴とするデータリードライト処理システム。
【請求項２】
前記リード手段によるリード動作は、前記ライト手段によるライト動作の後、シーク動作をすることなく行われることを特徴とする請求項１記載のデータリードライト処理システム。
【請求項３】
前記リード手段によりリードした記録ブロックのデータを格納する格納手段と、
前記ライト手段によりライトするデータが、前記記録用ブロックの容量に満たない場合、前記ライトするデータのライトアドレスに対応するアドレスを有する前記記録媒体の記録用ブロックのデータが既にリードされ、そのリードデータが前記格納手段に格納されているか判断する判断手段とを更に具備し、
前記ライト手段は、前記判断手段が、前記記録用ブロックのリードデータは既にリードされ、前記格納手段に格納されていると判断した場合、前記記録用ブロックのリードデータの一部を、前記ライトするデータに置き換え、該データを置き換えた記録用ブロックのデータを、前記記録媒体の対応する記録用ブロックにライトすることを特徴とする請求項１又は２記載のデータリードライト処理システム。
【請求項４】
前記記録用ブロックは、エラー訂正用のＥＣＣブロックであって、前記リードデータ及びライトデータは、前記ＥＣＣブロックを構成するセクターの単位で処理されることを特徴とする請求項１〜３のうち１記載のデータリードライト処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＥＣＣ(error correction code) 等のコードを用いてデータを処理するシステムに関し、特にエラー訂正処理が行われたデータのリード／ライト処理に関する。
【０００２】
【従来の技術】
多量の画像情報を扱うマルチメディア用途などにおいては、需要の複雑化と必要な情報量の増大に伴い、より大きなサイズの情報を保持でき、かつ情報アクセスを素早く行える手段が必要となっている。そのような情報保持手段として代表的なものに、光ディスクがある。
【０００３】
このような光ディスクに類するものとしては、音楽などの記録媒体として発展してきたコンパクトディスク（ＣＤ）、コンピュータデータなどの記録媒体として発展してきたＣＤＲＯＭ、又映画（動画）などの記録媒体として発展してきたレーザディスク（ＬＤ）が現在普及している。
【０００４】
大容量及び高速・柔軟な情報アクセス性に対応する光ディスクの新たな形態として、デジタルビデオディスク（以下ＤＶＤディスクと呼ぶ）が開発されている。容量についていえば、ＤＶＤディスクの規格の一例では、０. ６ｍｍ厚の透明基板（ポリカーボネート製）を２枚貼り合わせたディスク容量は、両面合わせておよそ１０Ｇバイトある。片面あたりおよそ５Ｇバイトの容量になるが、ＭＰＥＧ（Moving Picture Expert Group ）規格により動画圧縮すると、片面で約１３５分の映画を収録できるようになる。
【０００５】
このような高密度媒体に対してデータをリード／ライトする場合、データ中のエラーを訂正するためにＥＣＣが用いられている。データはＥＣＣが付加され、ＥＣＣブロックとして処理される。
【０００６】
ＥＣＣブロックは図２に示すように、約２Ｋバイトのデータが記録される１６個のセクタからなり、各セクタごとにアドレスデータとしてのセクタＩＤ１〜ＩＤ１６が付与され、ＥＣＣブロックに記録されたデータを訂正するためのエラー訂正コードとして、横方向のＥＣＣ１と縦方向のＥＣＣ２が記録されている。このＥＣＣ１及び２は、光ディスクの欠陥によりデータが再生できなくなることを防止するために冗長語としてデータに付与されるエラー訂正コードである。
【０００７】
各セクタは１７２バイト、１２行のデータ及び各行ごとに１０バイト構成の横方向のＥＣＣ１が付与されているとともに、縦方向のデータに対して縦方向のＥＣＣ２が付与されている。
【０００８】
このように、ＥＣＣブロック単位でエラーコードを生成しているシステムにおいて、ＥＣＣブロック（１６セクタ）に満たないセクタ数のデータライトを行なう場合、先ずライトするセクタが含まれているＥＣＣブロックを光ディスクから読み出す。そして、ライト対象のセクタに書き込まれていたデータと、これから書き込もうとするデータを入れ替えエラー訂正コードを新たに生成し、ＥＣＣブロック分のライトを行なう。従って、ライトする際は、必ずリード処理が入り、リードとライトを個別に処理している。このような処理をリードモディファイライト(read modify write) という。
【０００９】
従来システムの処理を図３に示す。図３（ａ）は光ディスク等のメディア上に構成された各セクタを示す。図３（ｂ）に示すように、従来はホスト装置からライトの指定を受けた際、まずリード（ＲＥＡＤ−１）を行なう。次に図３（ｃ）に示すように、ＲＥＡＤ−１のデータとライトするデータ（ＤＡＴＡ−１）と入れ替えライト（ＷＲＩＴＥ−１）を行なう。
【００１０】
次に又ライトの指定を受けた際は、図３（ｄ）に示すように、又リード（ＲＥＡＤ−２）を行ないＲＥＡＤ−２のデータとライトするデータ（ＤＡＴＡ−２）と入れ替えライト（ＷＲＩＴＥ−２）を実行する。
【００１１】
これら各動作において、リード／ライトする際は必ずシーク(seek)と回転待ち時間が発生する。即ち、光ヘッドを目的のトラックまで移動させ（シーク）、目的のセクタが光ヘッド上部に移動するまで待つ動作（回転待ち）が存在する。
【００１２】
【発明が解決しようとする課題】
このようにＥＣＣを用いてエラーを訂正するシステムにおいて、データを光ディスクにライトする際にはリードを行なう必要があり、リードとライトを個別に処理しているため、システムの総合的な処理能力が低下する。
【００１３】
従って本発明の目的は、エラー訂正を行ってデータをリード／ライトするシステムにおいて、光ディスク等の媒体に対するデータライトの際、ライト動作に先行して行われるシーク、回転待ちを含むリード動作を行うことなくデータをライトし、総合的な処理能力が向上されたデータリード／ライトシステムを提供することである。
【００１４】
【課題を解決するための手段】
上記課題を解決するために本発明によるデータリードライト処理システムは、アドレスを各々有する複数の記録用ブロックにより構成される記録媒体にデータをリード又はライトするシステムであって、ライトデータ及びライトアドレスを入力する入力手段と、前記入力手段により入力したライトアドレスに対応するアドレスを有する前記記録媒体の記録用ブロックに、前記ライトデータをライトするライト手段と、前記ライトデータがライトされた記録用ブロックの次の記録用ブロックのデータがリード済みではない場合、前記ライト手段によるライト動作の後、引き続き前記記録媒体の前記次の記録用ブロックのデータをリードするリード手段とを具備する。
【００１５】
又、前記データリードライト処理システムの前記リード手段によるリード動作は、前記ライト手段によるライト動作の後、シーク動作をすることなく行われる。
【００１６】
更に、本発明によるデータリードライト処理システムは、前記リード手段によりリードした記録ブロックのデータを格納する格納手段と、前記ライト手段によりライトするデータが、前記記録用ブロックの容量に満たない場合、前記ライトするデータのライトアドレスに対応するアドレスを有する前記記録媒体の記録用ブロックのデータが既にリードされ、そのリードデータが前記格納手段に格納されているか判断する判断手段とを更に具備し、前記ライト手段は、前記判断手段が、前記記録用ブロックのリードデータは既にリードされ、前記格納手段に格納されていると判断した場合、前記記録用ブロックのリードデータの一部を、前記ライトするデータに置き換え、該データを置き換えた記録用ブロックのデータを、前記記録媒体の対応する記録用ブロックにライトする。
【００１７】
更に、本発明によるデータリードライト処理システムにおいて、前記記録用ブロックは、エラー訂正用のＥＣＣブロックであって、前記リードデータ及びライトデータは、前記ＥＣＣブロックを構成するセクターの単位で処理される。
【００１８】
本発明によれば、特定データ長のライト処理終了後、引き続き特定データ長分のリードを行なっておき、次のライトの指定に備えておく。ライトの指定を受けたとき、既にリード済みのデータとライトデータを置き換え、置き換えたデータに新たなエラー訂正コードを付加して記録媒体にライトする。
【００１９】
【発明の実施の形態】
以下、この発明の実施の形態を図面を参照して説明する。
図４はＤＶＤ等の光ディスク１に対しレーザ光を用いてデータをリード／ライトし本発明が適用される光ディスク装置を示す。光ディスク１のトラックには、データの記録単位としてのＥＣＣブロック及びそのセクタ毎に、予めそれらのアドレスデータが記録されている。
【００２０】
図４において、光ディスク１は、スピンドルモータ３によって例えば一定の線速度（ＣＬＶ）で回転される。このモータはスピンドルモータドライバ４によって駆動されている。光ディスク１に対するデータのリード／ライトは、ＤＶＤヘッド２によって行われる。このＤＶＤヘッド２は、リニアモータ７の可動部に固定されており、このリニアモータ７はＤＶＤ  ＬＭ（リニアモータ）ドライバ９により駆動される。リニアモータ７がＤＶＤ  リニアモータ（ＬＭ）ドライバ９によって駆動されることにより、ＤＶＤヘッド２は光ディスク１の半径方向に移動される。
【００２１】
ＤＶＤヘッド２には、図示しない対物レンズが設けられており、この対物レンズはＤＶＤ  アクチュエータ（ａｃｔ．）ドライバ８によってフォーカシング方向（レンズの光軸方向）及びトラッキング方向（レンズの光軸と直交する方向）に移動される。
【００２２】
又、ＤＶＤヘッド２には記録・再生用半導体レーザ発振器（図示されず）が設けられており、このレーザ発振器はＬＤコントローラ５により制御され、記録・再生用レーザビームを発生する。半導体レーザ発振器により発生されたレーザビームは光ディスク１上に照射され、この光ディスク１からの反射光はＤＶＤヘッド２内に設けられた光検出器により光電変換され、ＤＶＤプリアンプ６に導かれ電圧増幅される。
【００２３】
ＤＶＤプリアンプ６の出力信号には、フォーカシング及びトラッキングに関する信号が含まれ、この出力信号はＤＶＤサーボプリプロセッサ１１に導かれる。ＤＶＤサーボプリプロセッサ１１はＤＶＤサーボ１４においてフォーカス及びトラッキングサーボを行うのに必要となるフォーカスエラー信号サンプルホールド、トラッキングサーボエラー信号サンプルホールド、ＲＯＭ部再生用ＤＰＤ方式トラッキングエラー信号の生成、各サーボ回路のヘッダー部分でのホールド用のタイミング生成、及びシーク時のトラックカウントパルス生成を行っている。
【００２４】
ＤＶＤサーボ１４はＤＶＤサーボプリプロセッサ１１からの出力信号を基に、フォーカシング及びトラッキングサーボをかけ、ＤＶＤアクチュエータドライバ８を制御する。これにより、ＤＶＤヘッド２から発生された光ビームは光ディスク１上で常時ジャストフォーカスとされ、光ビームの中心は光ディスク１上の各トラックの中心に一致する。
【００２５】
又、フォーカシング、トラッキングを行った状態で、ＤＶＤプリアンプ６の出力信号は、光ディスク１のトラック上（あるいはランド）に形成されたピット（記録データ）からの反射率の変化が反映されている。この信号は、ＤＶＤ−ＲＦ処理部１０に供給され２値化される。更にＤＶＤ−ＲＦ処理部１０において、現在アクセスされているセクタのセクタＩＤを含むＥＣＣブロックのデータが復調される。
【００２６】
このＤＶＤ−ＲＦ処理部１０で復調された復調データはＤＲＡＭ１２に格納され、ＤＶＤ−ＲＡＭ／ＲＯＭプロセッサ１３によりＥＣＣを用いたエラー訂正が行われた後、インターフェース回路（ＡＴＡＰＩ又はＳＣＳＩ）１６を介して外部装置としてのホスト３０に出力される。又、ＤＶＤ−ＲＡＭ／ＲＯＭプロセッサ１３はホスト３０からインターフェース回路１６を介して送信されたデータを一旦ＤＲＡＭ１２に格納しＥＣＣを付加し、ＬＤコントローラ５に出力する。
【００２７】
ＬＤコントローラ５は入力されたデータに対応する制御信号をＤＶＤヘッド２に出力する。この制御信号に応じてＤＶＤヘッド内に設けられたレーザ発振器がレーザビームを発生し、データが光ディス１にライトされる。
【００２８】
又、ＤＶＤ−ＲＡＭ／ＲＯＭプロセッサ１３はホストから受信した各データのＬＢＡ(logical block address) に対応する実際のＰＢＡ(physical block address)を求め、このＰＢＡに対応するトラックまでＤＶＤヘッド２を移動するために、ＤＶＤサーボ１４に対してＤＶＤヘッド移動制御信号を出力する。
【００２９】
ＤＲＡＭ１５はホスト３０へのデータ又はホスト３０からのデータを一時的に蓄えるためのメモリで、このメモリに蓄えられたデータは、ホスト３０又はＤＶＤ−ＲＡＭ／ＲＯＭプロセッサ１３の処理速度に応じて読出される。
【００３０】
イジョクトスイッチ（Ｅ−ＳＷ）２０は光ディスク１を装置から取り出すためのスイッチで、ＤＶＤ−ＲＡＭ／ＲＯＭプロセッサ１３に接続されている。このスイッチ２０が押されると、ＤＶＤ−ＲＡＭ／ＲＯＭプロセッサ１３はローディングモータ（ＬＭ）７を制御して光ヘッド１が収納されたトレイ（図示されず）を装置から突出させる。
【００３１】
ホームポジションセンサ（ＨＰＳ）２１は起動時にＤＶＤヘッド２を所定位置（光ディスク１の最も内周付近）に位置づけるためのセンサである。このホームポジションセンサ２１の検知信号を基に、ＤＶＤサーボ１４はＤＶＤヘッド２を前記所定位置に移動するためにＤＶＤリニアモータドライバ９を制御する。
【００３２】
ディップスイッチ（Ｄ−ＳＷ）１９は、光ディスク装置のインターフェースの上のＩＤ番号や光ディスク装置自体の動作モードを決めるのに用いられる。
ＣＰＵ１７はＲＯＭ１８に格納されたプログラムに基づいて、この光ディスク装置を総合的に制御するプロセッサである。ＲＯＭ１８は例えばフラッシュＥＥＰＲＯＭにより構成され、本発明によるデータリード／ライト処理用プログラムを含んでいる。
【００３３】
次に前述したシステムにより行われる本発明による処理の概要を図１を参照して説明する。図１は本発明のライトデータ先読み処理の一実施例を説明するためのタイミングチャートである。
【００３４】
図１（ａ）はＤＶＤヘッド２がトレースする光ディスク１（メディア）上のトラックを示し、各セクタ毎に区切られている。図１（ｂ）に示すように、ホスト３０から或セクタへのデータライト指定を受けると、先ずリード（ＲＥＡＤ−１）を行なう。次に図１（ｃ）に示すようにＲＥＡＤ−１のデータとライトするデータ（ＤＡＴＡ−１）と入れかえてライト（ＷＲＩＴＥ−１）を行なう。このときライト（ＷＲＩＴＥ−１）と連続してリード（ＲＥＡＤ−２）を実行する。
【００３５】
次に図１（ｄ）に示すように、又ライトの指定を受けた際は、ＲＥＡＤ−２のデータとライトデータ（ＤＡＴＡ−２）と入れかえてライト（ＷＲＩＴＥ−２）を実行する。これらの動作において、ＲＥＡＤ−１、ＷＲＩＴＥ−１、ＷＲＩＴＥ−２に関しては、シークと回転待ちが発生するが、ＲＥＡＤ−２においてはシーク及び回転待ち時間は発生しない。
【００３６】
次に本発明のライトデータ先読み処理を含むデータリード／ライト処理の一実施例を図５及び図６のフローチャートを参照して詳細に説明する。
先ずホスト３０からデータライトコマンド、ＬＢＡ、データレングス(data length) 、ライトデータ等がインターフェース１６を介してＤＶＤ−ＲＯＭ／ＲＡＭプロセッサ１３に受信され、ライトデータはＤＲＡＭ１５に格納される（ＳＴ１）。ＤＲＡＭ１５のデータバッファ(data  buffer)は図７（ａ）に示すように、リード用データバッファ１５ａ、ライト用データバッファ１５ｂ、及び作業エリア１５ｃから構成されている。図７（ｂ）はライトデータがＤＲＡＭ１５に格納された様子を示す。
【００３７】
ステップＳＴ２では、ライトするセクタ長が１つのＥＣＣブロック長（１６セクタ）より少ないか判断される。ライトするセクタ数の方が大きい場合（”Ｎｏ”の場合）、データライトの最初のセクタがＥＣＣブロックの先頭アドレスであるか判断され（ＳＴ３）、先頭アドレスの場合、ライトするセクタ数から１ＥＣＣブロック長を減算し、減算結果をＤＲＡＭ１５の作業エリア１５ｃに記憶しておく（ＳＴ４）。ステップＳＴ３で”Ｎｏ”の場合、ライトの開始セクタから次のＥＣＣブロック先頭迄の端数分を算出し、結果を作業エリア１５ｃに記憶しておく（ＳＴ５）。
【００３８】
ステップＳＴ２でライトするセクタ数がＥＣＣブロック長より少ない場合（”Ｙｅｓ”の場合）、ライトするセクタ数を”０”とし、これを作業エリア１５ｃに記憶しておく（ＳＴ６）。
【００３９】
次にリード済みＥＣＣブロックがＤＲＡＭ１５のリード用データバッファ１５ａにあるか確認し（ＳＴ７）、ある場合、更にライトするセクタがリード済みＥＣＣブロック内に含まれているか確認する（ＳＴ８）。含まれていない場合、ライトするセクタが含まれるＥＣＣブロックの先頭セクタを求め（ＳＴ９）、上記先頭セクタからＥＣＣブロックをリードする（ＳＴ１０）。このときのデータバッファのデータ格納状態を図７（ｃ）に示す。
【００４０】
ステップＳＴ１１では、リードしたＥＣＣブロックデータの該当セクタデータとライトセクタデータを置き換える。更に変更されたデータを基にＥＣＣを新たに計算することにより、このＥＣＣブロックの横方向ＥＣＣ１及び縦方向ＥＣＣ２を更新し、リード用データバッファ１５ａの内容を変更する。この処理がリードモデファイライトであり、変更されたデータバッファの様子を図７（ｄ）に示す。
【００４１】
ステップＳＴ１２ではベリファイ、即ち光ディスク１に書き込んだＥＣＣブロックデータが正しく書き込まれたことの確認が設定されているかを判断する。設定されていない場合（”Ｎｏ”の場合）、ライトするＥＣＣブロックをライトモードに設定する。即ちＤＶＤ−ＲＡＭ／ＲＯＭプロセッサ１３のモードをライトに設定し、更に開始セクタ番号、データレングスを設定する（ＳＴ１３）。
【００４２】
ステップ１４では、ライトするＥＣＣブロックに続くＥＣＣブロックがリード済みか判断し、リード済みではない場合（”Ｎｏ”の場合）、ライトするＥＣＣブロックに続くＥＣＣブロックをリードモードに設定する（ＳＴ１５）。即ちＤＶＤ−ＲＡＭ／ＲＯＭプロセッサ１３のモードをリードに設定し、更に開始セクタ番号、データレングス（１６セクタ）を設定する。次に光ディスク１へのライト及びリードを実行する（ＳＴ１６）。このときのデータバッファの様子を図７（ｅ）及び７（ｆ）に示す。
【００４３】
一方、ステップＳＴ１２でベリファイが設定されている場合、ライトするＥＣＣブロックをステップＳＴ１３のようにライトモードに設定し（ＳＴ１８）、光ディスク１へのライトを実行する（ＳＴ１９）。このときのデータバッファの様子を図７（ｅ）に示す。
【００４４】
次にライトするＥＣＣブロックをベリファイモードに設定する（ＳＴ２０）。即ち、ＤＶＤ−ＲＡＭ／ＲＯＭプロセッサ１３のモードをベリファイに設定し、更に開始セクタ番号、データレングスを設定する（ＳＴ２０）。ステップＳＴ２１では、ベリファイするＥＣＣブロックに続くＥＣＣブロックがデータバッファ１５ａにリード済みか判断する。リード済みの場合、ステップＳＴ１９で光ディスク１に書き込んだデータのベリファイを実行する（ＳＴ２２）。
【００４５】
ステップ２１で次のＥＣＣブロックがリード済みではないと判断された場合、ベリファイするＥＣＣブロックに続くＥＣＣブロックをステップ１４のようにリードモードに設定し（ＳＴ２３）、ステップＳＴ１９で光ディスク１に書き込んだデータのベリファイ及び次のＥＣＣブロックのリードを実行する（ＳＴ２４）。
【００４６】
次に、ステップＳＴ４又はＳＴ６で設定されたライトするセクタ数が”０”であるか判断し、”０”でなければフローはステップＳＴ２に移行し、”０”であれば、このライト処理は終了し、メインプログラムにリターンする。
【００４７】
【発明の効果】
本発明により、光ディスクにデータをライトする際に、既に特定セクタ数分のリードが終了しているので改めてリードを行なう必要がなく、ライトのスループットが向上する。又、ライト後の特定ブロック数の先読みは、シークを入れることなく連続で処理するので、ホストからの要求に素早く対応できる。
【図面の簡単な説明】
【図１】本発明によるリード／ライト処理の概要を示す図。
【図２】ＥＣＣブロックの構成を示す図。
【図３】従来システムのリード／ライト処理を示す図。
【図４】光ディスクに対しデータをリード／ライトし本発明が適用される光ディスク装置を示す図。
【図５】本発明のデータリード／ライト処理の一実施例を詳細に示すフローチャート。
【図６】本発明のデータリード／ライト処理の一実施例を詳細に示すフローチャート。
【図７】本発明によるデータバッファの構成を示す図。
【図１】
0003930072.tif 000002
【図２】
0003930072.tif 000003
【図３】
0003930072.tif 000004
【図４】
0003930072.tif 000005
【図５】
0003930072.tif 000006
【図６】
0003930072.tif 000007
【図７】
0003930072.tif 000008