JP4281680B2 - 光ディスク装置 - Google Patents

光ディスク装置 Download PDF

Info

Publication number
JP4281680B2
JP4281680B2 JP2004356222A JP2004356222A JP4281680B2 JP 4281680 B2 JP4281680 B2 JP 4281680B2 JP 2004356222 A JP2004356222 A JP 2004356222A JP 2004356222 A JP2004356222 A JP 2004356222A JP 4281680 B2 JP4281680 B2 JP 4281680B2
Authority
JP
Japan
Prior art keywords
data
read
buffer memory
recorded
optical disc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004356222A
Other languages
English (en)
Other versions
JP2006164439A (ja
Inventor
要 早坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Teac Corp
Original Assignee
Teac Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Teac Corp filed Critical Teac Corp
Priority to JP2004356222A priority Critical patent/JP4281680B2/ja
Priority to TW094139093A priority patent/TWI316704B/zh
Priority to US11/270,876 priority patent/US7533217B2/en
Priority to KR1020050107344A priority patent/KR100726896B1/ko
Publication of JP2006164439A publication Critical patent/JP2006164439A/ja
Application granted granted Critical
Publication of JP4281680B2 publication Critical patent/JP4281680B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0677Optical disk device, e.g. CD-ROM, DVD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/004Recording, reproducing or erasing methods; Read, write or erase circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • G11B2020/1074Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control involving a specific threshold value
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data

Description

本発明は光ディスク装置、特に記録すべきデータ及び再生すべきデータを格納するバッファメモリの管理技術に関する。
コンピュータの補助記憶装置として広く使われているディスク装置のうち、可撓性磁気ディスク装置(FDD)を除く固定磁気ディスク装置(HDD)や光ディスク装置は、高速かつ大容量のデータ記録再生を実現するべく、マイコンが内蔵されている。
光ディスク装置はHDDと比べると光ヘッド及びヘッドキャリッジが重いので、ランダムアクセスの応答性能はどうしても劣ってしまう。このため、光ディスク装置においてデータを記録する際には、上位装置から発せられるデータ記録命令(以下「ライトコマンド」)に伴うデータをバッファメモリで受け止め、受信を完了したら即座に記録完了を上位装置へ報告することで、上記装置から見た見かけ上のデータ記録速度を改善している。通常のライトコマンドに伴うデータは、バッファメモリ内に空き領域がなくなって受信できなくなったときか、あるいは直近のライトコマンドから一定時間経過後に始めて実際の光ディスクへ書き込みを行うように構成されている。これは一般に「遅延書き込み」と呼ばれ周知である。遅延書き込みはマイコンのファームウェアによって実現され、その処理方法によってホストから見たディスク装置のパフォーマンス(応答性能)は大きく変わる。
なお、上位装置から発せられるライトコマンドには、通常のライトコマンドと「FUA bit」が付されたライトコマンドとが存在する。「Force Unit Access」の略であるこのビットが付されたライトコマンドに伴うデータは、遅延書き込みの対象外となり、受信したデータはバッファメモリへの蓄積が完了され次第直ちに記録が行われる。このコマンドは、主に、OSのファイルシステムのディレクトリ情報等、記録を失敗すると被害が大きいデータに対して付されることが多い。
DVD−RAM等、セクタフォーマットされている光ディスク装置のデータ記録の際は、上記装置(ホスト)から来るライトコマンドに伴って来るライトデータをバッファメモリにて受け取り、実際には光ディスクに記録せず、バッファメモリへの受信を完了するとホストにコマンドの完遂を報告する。すなわち、上記の遅延書き込みを行っている。バッファメモリに蓄積された未記録データは、以下のタイミングにて光ディスクへ実際の記録を開始する。
(1)シーケンシャルライト
ホストから連続して来るライトコマンドに伴うライトデータの論理アドレス(LBA)が連続している場合は、光ピックアップのシーク動作を伴わずに連続した記録が行われるものと判断し、バッファフル(満状態)になるまで受信し続ける。バッファフルになった時点か、あるいは直近のライトコマンドから一定時間ホストから何らかのコマンドが来なかった時点で光ディスクへの記録(以下「実記録」)を開始する。
(2)ランダムライト
ホストから連続して来るライトコマンドに伴うライトデータの論理アドレス(LBA)が不連続である場合は、光ピックアップのシーク動作を必要とする、光ディスク上の物理アドレスが不連続な記録動作になると判断し、論理アドレスが不連続なデータの数を示すカウンタを+1インクリメントする。不連続なライトデータが来る度毎にカウンタをインクリメントし、カウンタが所定値、例えば10になった時点で、バッファフルでなくても実記録を開始する(擬似的にバッファサイズを小さくする)。これは、シーク動作は非常に時間が掛かる処理であり、ホストを待たせる状態を生じやすく、ともするとホストからタイムアウトエラーが出力される可能性があるからである。もちろん、シーケンシャルライトと同様、カウンタが所定値に満たなくても直近のコマンドから所定時間が経過すれば実記録を開始する。
なお、下記に示す特許文献1には、バッファメモリの利用方法が開示されている。
特開2000−339856号公報
従来、上記(1)、(2)のいずれの場合においても、一旦ディスクへの実記録が発生すると、バッファメモリ内未記録データを全て記録し終える迄は、ホストからリード/ライトコマンドが来ても即応することができなかった。
上記のように、ランダムライトの場合は、不連続カウンタによる制限を設けてバッファメモリのサイズを擬似的に小さくすることで、ホストに対するタイムアウトを防ぐことができる。しかし、シーケンシャルライトの場合はバッファメモリのサイズを最大限使うので、本来なら高速な書き込みが期待できるのだが、交替処理が発生すると途端に記録実行時間が増大し、応答性能が急激に悪化する。この応答性能の悪化はバッファメモリのサイズに比例し、最悪の場合、ホストがタイムアウトと判断し、ホストからバスリセットされてしまう。折角応答性能向上のためにバッファメモリのサイズを大きくしても、交替処理の発生によってこれが逆効果となってしまう。バスリセットの発生はホストから記録が中断されたことを意味し、ユーザの光ディスク装置に対する信頼性が損なわれるおそれがある。
本発明の目的は、バッファメモリを増やしてもホストからタイムアウトを受けるおそれのない、信頼性の高い光ディスク装置を提供することにある。
上記課題を解決するための基本的な技術思想として、バッファメモリ内に未記録データが残っていても、上記装置からリードコマンドが来たら、適切なタイミングにてライト動作を中断でき、リードコマンドの処理を行えるように構成した。ここで、ライト動作中の中断とは、レンズキックあるいはスレッドシーク等の、光ディスクの物理アドレスに対する光ピックアップの離散的移動を生じるタイミングで、バッファメモリにリードコマンドが要求する容量以上の空き領域(再生データ格納可能領域)が生じた時に、次のライトを行うためのシーク動作を中止し、リードコマンドの処理を行うことを意味する。
ここで、ライト中断とこれに伴うリード処理をより効率的に行うために、予め最小限のリードが可能な領域をバッファメモリ内に確保しておけば、シーク動作の中止後直ちにリード処理を実行できる。
さらに、ライト中断の時点でリードコマンドの処理に必要な容量を超える空き容量(再生データ格納可能領域)が得られる場合は、リードコマンドによって指定されたアドレスを超えて先読みを行うことにより、上位装置への即応性が期待できる。
本発明によれば、シーケンシャルライトの場合であってライトコマンドに続いてリードコマンドが来てもこのリードコマンドに即応して光ディスクからデータを読み出すことができ、上位装置にタイムアウトと判断される事態を防ぐことができる。
以下、図面に基づき本発明の実施形態について説明する。
図1には、本実施形態に係る光ディスク装置の全体構成図が示されている。DVD−RAM等の書き換え可能な光ディスク10はスピンドルモータ(SPM)12により回転駆動される。スピンドルモータSPM12は、ドライバ14で駆動され、ドライバ14はサーボプロセッサ30により所望の回転速度となるようにサーボ制御される。
光ピックアップ16は、レーザ光を光ディスク10に照射するためのレーザダイオード(LD)や光ディスク10からの反射光を受光して電気信号に変換するフォトディテクタ(PD)を含み、光ディスク10に対向配置される。光ピックアップ16はスレッドモータ18により光ディスク10の半径方向に駆動され、スレッドモータ18はドライバ20で駆動される。ドライバ20は、ドライバ14と同様にサーボプロセッサ30によりサーボ制御される。また、光ピックアップ16のLDはドライバ22により駆動され、ドライバ22はオートパワーコントロール回路(APC)24により駆動電流が所望の値となるように制御される。APC24は、光ディスク10のテストエリア(PCA)において実行されたOPC(Optimum Power Control)により選択された最適記録パワーとなるようにドライバ22の駆動電流を制御する。OPCは、光ディスク10のPCAに記録パワーを複数段に変化させてテストデータを記録し、該テストデータを再生してその信号品質を評価し、所望の信号品質が得られる記録パワーを選択する処理である。信号品質には、β値やγ値、変調度、ジッタ等が用いられる。
光ディスク10に記録されたデータを再生する際には、光ピックアップ16のLDから再生パワーのレーザ光が照射され、その反射光がPDで電気信号に変換されて出力される。光ピックアップ16からの再生信号はRF回路26に供給される。RF回路26は、再生信号からフォーカスエラー信号やトラッキングエラー信号を生成し、サーボプロセッサ30に供給する。サーボプロセッサ30は、これらのエラー信号に基づいて光ピックアップ16をサーボ制御し、光ピックアップ16をオンフォーカス状態及びオントラック状態に維持する。また、RF回路26は、再生信号に含まれるアドレス信号をアドレスデコード回路28に供給する。アドレスデコード回路28はアドレス信号から光ディスク10のアドレスデータを復調し、サーボプロセッサ30やシステムコントローラ32に供給する。DVD−RAMの場合にはCAPA(Complimentary Allocated Pit Adressing)方式でアドレスデータを得ることができ、セクタ内に記録されたヘッダ部に存在するアドレスデータを再生する。また、RF回路26は、再生RF信号を2値化回路34に供給する。2値化回路34は、再生信号を2値化し、得られた8−16変調信号をエンコード/デコード回路36に供給する。エンコード/デコード回路36では、2値化信号を8−16復調及びエラー訂正して再生データを得、当該再生データをインタフェースI/F40を介してパーソナルコンピュータなどのホスト装置に出力する。なお、再生データをホスト装置に出力する際には、エンコード/デコード回路36はバッファメモリ38に再生データを一旦蓄積した後に出力する。
光ディスク10にデータを記録する際には、ホスト装置からの記録すべきデータはインターフェースI/F40を介してエンコード/デコード回路36に供給される。エンコード/デコード回路36は、記録すべきデータをバッファメモリ38に格納し、当該記録すべきデータをエンコードして8−16変調データとしてライトストラテジ回路42に供給する。ライトストラテジ回路42は、EFMデータを所定の記録ストラテジに従ってマルチパルス(パルストレーン)に変換し、記録データとしてドライバ22に供給する。記録ストラテジは、例えばマルチパルスにおける先頭パルスのパルス幅や後続パルスのパルス幅、パルスデューティから構成される。記録ストラテジは記録品質に影響することから、通常はある最適ストラテジに固定される。OPC時に記録ストラテジを併せて設定してもよい。記録データによりパワー変調されたレーザ光は光ピックアップ16のLDから照射されて光ディスク10にデータが記録される。データを記録した後、光ピックアップ16は再生パワーのレーザ光を照射して当該記録データを再生し、RF回路26に供給する。RF回路26は再生信号を2値化回路34に供給し、2値化された8−16変調データはエンコード/デコード回路36に供給される。エンコード/デコード回路36は、8−16変調データをデコードし、正常にデコードできない場合は交替処理を行う。具体的には、バッファメモリ38に記憶されている記録済みデータを交替領域へ記録する。
なお、DVD−RAM等はセクタフォーマットであって1ECCブロック(16セクタ)単位でデータを記録するため、バッファメモリ38には16セクタ分の記録データが格納されていなければならない。したがって、データを記録する場合であって、1ECCブロックに満たないときには、何らかの方法でこれを満たして1ECCブロック分のデータとする必要がある。1ECCブロック分のデータとする方法はいくつかあるが、第1の方法は、バッファメモリの1ECCブロック分に満たない空き領域のアドレスに相当する光ディスク10のアドレスにアクセスし、該当アドレスに存在するデータを読み出してバッファメモリを埋める方法である。第2の方法は、バッファメモリ内の格納済みデータの終端論理アドレスと直後に外部装置から供給される予定のデータの始端論理アドレスが連続しているシーケンシャルライトの場合に、空き容量分だけのデータをホスト装置に要求し、該要求に応じてホスト装置から供給されたデータを空き領域に格納することで終端の空き領域を埋めるものである(始端の空き領域は第1の方法と同様)。いずれの方法を用いてもよい。
本実施形態に係る光ディスク装置1は、バッファメモリ38をシステムコントローラ32が制御して、光ディスク10に対し、周知の遅延書き込みを行う。また、光ディスク10から読み出したデータを適宜保持しておき、ディスクに対するランダムアクセス回数の減少に役立てている。本実施形態の光ディスク装置1は、従来の光ディスク装置1と比べてバッファメモリ38の容量が大きく(例えば4MB)、LBAが連続する大容量のシーケンシャルライトデータを効率良く受け入れることができる。しかし、周知のように光ディスクは埃や汚れ等に弱く、常に安定した品質でデータ記録が完遂できるとは限らない。このため、DVD−RAMはディスク内周側及び外周側に交替領域を設けている。光ディスク10に対するデータ記録処理を行っている最中に、記録中の領域の特定箇所でライトエラーが生じると、これを補填するために交替処理を行わなければならないので、記録に失敗した領域のデータを交替領域へ記録する。この時、光ピックアップ16はそれまで記録を行っていたトラックから交替領域へのシークを伴う。シークを伴うことにより、データ記録に要する時間は極端に増大する。すなわち、バッファメモリ38の容量を増やすと、ホストからライトコマンドを受け入れた後、シーケンシャルライトの最中に交替処理が発生すると、ホストからリードコマンドが発行されても即座に実行できず、タイムアウトによるバスリセットを受けてしまう可能性が大きい。
そこで、システムコントローラ32は、バッファメモリ38内に蓄積されているライトデータを実際に光ディスク10へ記録している最中にホストからリードコマンドを受けると、リードコマンドが来たことを示すフラグを設定する。現在実行中のライト処理が終了したら、フラグが設定されているか否かを判断し、フラグが設定されていれば次に実行を予定しているライト処理を一旦中断し、バッファメモリ38内の使用状態を調べる。バッファメモリ38内に存在するライトデータの内、既に光ディスク10への記録が完了しているデータ(記録済データ)と、未だ記録が完了していないためバッファメモリ38に格納しておく必要があるデータ(未記録データ)を判別し、バッファメモリ38に残っている記録済データの領域でリードコマンドを実行できるか否かを判定する。なお、光ディスク10への記録は上記のように1ECCブロック単位で実行されるため、記録済データも1ECCブロック単位で判別する。判別処理の結果、リードコマンドで指定された容量以上の記録済データ領域が存在すると判明した場合は、この記録済データ領域をリードデータの格納領域に転用することを決定する。そして、受信したリードコマンドに従って所定の再生動作を実行する。このように、記録済データ領域をリードデータの格納領域に転用し、実行中のデータ記録動作をランダムアクセスの発生する時点で中断することで、迅速なリードコマンドの実行を可能にし、タイムアウトを防止する。
なお、リードコマンドを受信した時点で、リードコマンドで指定された容量以上の記録済データ領域が存在しないときは、次に実行するライト処理を完遂し、再びバッファメモリ38を検証してリードコマンドで指定された容量以上の記録済データ領域が生じるまでライト処理を実行する。所定容量以上の記録済データ領域を確保できたら、次に実行を予定しているライト処理に先立ち、リード処理を実行する。
リード処理を完遂すると、所定時間が経過する迄ホストから次のコマンドを待つ。リードコマンドが連続してきても、バッファメモリ38に存在する記録済データ領域の容量が許す限り、ホストからコマンドを受け入れ、実行する。所定時間を経過してもコマンドがこなかった場合は、中断していたデータ記録動作を再開する。
図2及び図3には、本実施形態の処理フローチャートが示されている。システムコントローラ32は、ホスト装置から受信したコマンドがライトコマンドか否かを判定する(S101)。ライトコマンドである場合、ライトコマンドに付随するライトデータを受信してバッファメモリ38に格納する(S102)。バッファメモリ38への格納は、バッファメモリ38が満状態(FULL)となるまで実行する(S103)。ここに、バッファメモリ38のFULL状態とは、ホスト装置からのライトデータを全て格納するだけの空き領域が存在しない状態をいう。システムコントローラ32は、ライトデータの始端論理アドレスと終端論理アドレスより記録すべきデータの総容量を算出し、その容量がバッファメモリ38の空き領域に収まるか否かを検証することでFULLか否かを判定する。なお、このライトデータ格納処理は、連続してくるライトデータの論理アドレスが連続していればバッファメモリ38の空き領域を全て満たす(使い切る)まで実行するが、連続してくるライトデータの論理アドレスが連続していない場合は、不連続データを計数するカウンタをインクリメントし、その数が一定値を超えると、バッファメモリ38の空き領域が全て満たされなくても(使い切らなくても)受信を打ち切る。これはスレッドシークに伴うアクセス速度の低下により、ホスト装置を必要以上に待たせてしまい、タイムアウトを引き起こさないために行う制限処理である。
バッファメモリ38がFULL状態と判定された場合、バッファメモリ38に格納されたライトデータ(未記録データ)の論理アドレスを、光ディスク10上の物理アドレスに変換する処理を行う(S104)。これは、光ディスク装置1の光ディスク10への記録動作は、最終的には光ディスク10の物理アドレスが連続している区間に対して1回のライト処理を行うように構成されていることに起因する。すなわち、1回のライト処理はそれ単体で完結する、中断できない処理である。よって、論理アドレスにおいて連続しているデータであっても、物理アドレスに変換すると交替処理等で不連続になることがある。そこで、ライト処理に先立ち論理物理アドレス変換処理を行い、その後バッファ内未記録データに対し、物理アドレス順にライト処理の順番を決定する。次に、この未記録データを光ディスク10に記録するライト動作を起動する(S105)。ライト動作には、上記のように1ECCブロックに満たない空き領域が存在する場合にこれを埋める処理が含まれる。1ECCブロック単位で物理アドレスが連続しているライトデータを構成した後、これらを順次バッファメモリ38から読み出してエンコードし、光ピックアップ16に供給して光ディスク10にデータを記録していく。データの記録(ライト動作)を完了すると、通常再生時よりもやや厳しい再生条件を設定した上で、再び同じ物理アドレスを再生し、信号品質を検証する(ベリファイ)。読みとりエラーが発生して正常にデコードできない等の場合には、交替領域にデータを交替記録する。
システムコントローラ32は、ライト動作実行中にホスト装置からリードコマンドを受信したか否かを割込判定する(S106)。リードコマンドを受信していない場合には、ライト動作を続行し、バッファメモリ38に格納されているライトデータを全て光ディスク10に記録するまで繰り返す(S108、S110)。一方、リードコマンドを受信した場合には、リードコマンドがきた旨を示すフラグをセットして(S107)、現在のライト動作が中断できるタイミングにて(S108)、フラグがセットされているか否かを検証する(S109)。フラグがセットされていれば、受信したリードコマンドを実行してタイムアウトを防止すべく以下の処理に移行する。
図3には、リードコマンドを受信し、ライト動作を中断した場合の処理が示されている。まず、システムコントローラ32は、バッファメモリ38に、リードコマンドの要求に応えられる空き領域(記録済データの領域)が存在するか否かを判定する(S202)。バッファメモリ38の大半が未記録データ(記録の完了とは、単に光ディスク10に記録したのみならずそのベリファイも完了したことを意味するものとする)で占められ、リードコマンドの要求に応えられるだけの空き領域がない場合には、リードコマンドを実行できないので、S110に戻り、再びS105移行のライト処理を続行して空き領域を作成する。なお、ここで空き領域とは、装置起動直後でバッファメモリ38に未記録データが存在しない領域か、あるいは光ディスク10への記録が完了してバッファメモリ38に積極的に格納しておく必要がない記録済データの領域を意味する。
一方、バッファメモリ38にリードコマンドの要求に応えられる空き領域が存在する場合には、光ディスク10から読み出したリードデータを格納し得る状態にある。そこで、システムコントローラ32は、リードコマンドで要求されたデータが既にバッファメモリ38に存在するか否かを確認し(S203)、当該データが既に読み出されバッファメモリ38に存在する場合や、バッファメモリ38に滞留している未記録データがそれに該当する場合(データヒットあるいはキャッシュヒット)には当該データをホスト装置にそのまま転送する(S208)。これにより、リードコマンドの処理が完了するので、セットされているフラグを解除する(S209)。データヒットしない場合には、光ディスク10から読み出す必要があるが、単にリードコマンドで要求されたアドレスのみを読み出すのではなく、連続してリードコマンドがホスト装置から発行されることが予想されるから、要求されたデータに続くアドレスのデータも予め先読みしておくことで、次回のリードコマンドにおけるキャッシュヒット率を向上させることができる。また、リードコマンドが続くのであれば、いつまでも未記録データをバッファメモリ38に滞留させ続けておくことは好ましくなく、できるだけ早い時期に未記録データを処分し、ホスト装置から連続してくるであろうリードコマンドに最大限対応できるようにバッファメモリ38を空けておきたい。そこで、未記録データの記録処理を1つずつ完了させて、未記録データ領域の処理を進め、記録済データ領域(空きデータ領域)を更に確保する。なお、S204における記録処理は、物理アドレスで連続したライト処理であるとともに、ベリファイの直前で中断した場合は、他のライト処理よりも未完のベリファイ処理を優先して行う。次に、未記録データがまだ存在するか否かを判定する(S205)。未記録データがもはや存在しない場合にはバッファメモリ38の全ての領域をリードデータ格納領域として使用できることになり、未記録データが存在している場合には、バッファメモリ38のうちのリードデータ格納可能なバッファ領域を検索した上で(S206)、光ディスク10からデータ(要求されたデータ+先読みデータ)を読み出し、検索した領域に格納する(S207)。リードデータをバッファメモリ38に格納した後、バッファメモリ38からホスト装置に転送し(S208)、フラグを解除して(S209)、リード処理を完了する。なお、リードデータ格納領域も記録済データ領域と同様、新たなリードデータを格納する領域に転用可能である。つまり、リードコマンドがきた際にS203でデータヒットしなかった場合には、リードデータ格納領域も記録済データ領域とともにリード処理と先読み処理に用いる。
以上のようにして連続するライト動作を中断してリードコマンドを実行した後、再びライトコマンドの実行に戻る。そして、残存ライトデータの記録を全て完了すると、処理を終了する(S109、S110)。
図4〜図7には、以上説明した処理の各段階におけるバッファメモリ38の状態が模式的に示されている。なお、バッファメモリ38の容量は任意であるが、図では説明の都合上、6ECCブロック分のデータを格納できる容量としている。
図4は、ホスト装置から供給された、論理アドレスが連続したライトデータを格納した後、FULLと判定された状態であり、図2のS103でYESと判定された状態である。上から第1データ領域〜第6データ領域(それぞれのデータ領域は1ECCブロック分の容量)とすると、全てのデータ領域にライトデータが格納され、未だ光ディスク10に対する記録が完了していないため「未記録」の状態にある。図5は、図4の状態から論理/物理アドレス変換処理を施し、未記録データを物理アドレス単位で区分し、物理アドレスに従って記録処理の順番を付した状態を示している。図5では、上から2ECCブロック分の物理アドレスが連続するデータよりなる「未記録1」、1ECCブロック分の物理アドレスが連続するデータよりなる「未記録3」、1ECCブロック分の物理アドレスが連続するデータよりなる「未記録2」、2ECCブロック分の物理アドレスが連続するデータよりなる「未記録4」が格納されている。未記録1から物理アドレスが近い順に、未記録2、未記録3、未記録4の順番で記録処理を行う。図5にて例示するように、光ディスク10に対する実際のデータの記録処理は、交替処理が発生すると、論理アドレスでは連続していても物理アドレスでは不連続となり、物理アドレスを基準に見ると記録の順番が変わることもある。
図6は、光ディスク10に対して物理アドレスで連続するECCブロック単位でデータの記録が順次実行され、バッファメモリ38のうちの「未記録1」、「未記録2」が既に記録済となった状態である。この時点では図2のS105が2回実行された状態である。未記録データが格納されていた「未記録1」、「未記録2」が記録済(光ディスク10に記録され、かつ、ベリファイが完了した)であって、「記録済1」、「記録済2」の状態にある。記録済のデータ領域は、積極的にデータを格納する必要がなく、上書きが可能な状態、すなわち空きの状態である。
図7は、ホスト装置からリードコマンドが発行され(S106)、フラグをセットし(S107)、ライト処理を中断して(S108,S109)リードコマンドの処理を実行する際に先立ち、できるだけ未記録データを処理するとともに先読みデータ領域を確保すべく未記録データの一部の記録処理を実行した状態であり、図3のS204を実行した後の状態である。図6に示された状態においてもリードコマンドの要求に応える空き容量(「記録済1」、「記録済2」)が存在するが、リードコマンドで要求されたデータのみを例えば「記録済1」に格納したのでは、リードコマンドが連続した場合にその都度光ディスク10から読み出す必要があるため効率が低下する。また、リードコマンドが連続した場合に、いつまでも未記録データを滞留させ続けることもリード処理の効率にとって良くないだけでなく、電源断等の不慮の事故が発生する際に致命的なデータ破壊を招きかねない。未記録データはできるだけ速やかに処理しなければならないものである。そこで、図7に示されるように、「未記録3」の未記録データを光ディスク10に記録してしまい、「記録済3」として空き領域を確保する。これにより、リードコマンドで要求されたデータのみならず、それに続くデータも先読みして「記録済2」、「記録済3」に格納することが可能になり、データヒットによる読み出し速度向上が期待できる。また、リードコマンドが連続してきて、バッファメモリ38内にデータヒットしない時(図3のS203)は、リードコマンドの処理に先立ち、徐々に未記録データを記録する(S204)ことで、できるだけ早い段階で未記録データを処理できる。なお、図7では「未記録3」が「記録済3」へと状態が変化したことで、偶然にも、「記録済1」、「記録済2」、「記録済3」と、4ECCブロック分の連続した記録済領域が存在するが、バッファメモリ38内における記録済領域の利用は必ずしも連続したアドレス配置になっている必要はないことに注意されたい。
図8は、未記録データの一部のライト動作を実行して空き領域をさらに確保した後に、光ディスク10から読み出したデータをバッファメモリ38に格納した状態であり、図3のS207を実行した後の状態である。「記録済1」にはリードコマンドで要求されたデータが2ECCブロック分格納され、「記録済2」と「記録済3」には先読みしたデータが2ECCブロック分格納されている。「記録済1」に格納されたデータは、その後ホスト装置に転送される(図3のS208)。ホスト装置から再びライトコマンドが発行されると、残る「未記録4」の記録を完了して、バッファメモリ38に未記録データが全くない状態から(S110)、再びデータの受信を始める(S101,S102)。
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく種々の変更が可能である。
例えば、本実施形態では、システムコントローラ32がバッファメモリ38への書き込み及び読み出しを制御しているが、システムコントローラ32とは別のメモリコントローラで制御してもよいのはいうまでもない。
また、本実施形態では、データヒット(キャッシュヒット)の確率を向上させるべく、リードコマンドを実行する前に残存ライトデータの一部を光ディスク10に記録して先読みデータを格納するための領域を確保しているが、S204の処理を実行することなくデータリード処理を行ってもよい。この場合、既に存在する空き領域の容量を確認し、リードコマンドで要求されたデータ量がこの空き容量よりも小さい場合に、その差に相当する分のデータのみを先読みしてバッファメモリ38に格納する。
さらに、本実施形態では、基本的にバッファメモリ38をライトデータを格納する領域と光ディスク10から読み出したリードデータを格納する領域とに論理的に分割していないが、従来技術と同様にバッファメモリ38の一部をリードデータの専用領域に割り当てることもできる。この場合、常にリードデータの格納領域が存在することになるので、S202においてバッファに空きがあるか否かを判定する必要はない。
実施形態に係る光ディスク装置の全体構成図である。 実施形態の処理フローチャート(その1)である。 実施形態の処理フローチャート(その2)である。 バッファメモリの状態説明図である。 バッファメモリの他の状態説明図である。 バッファメモリのさらに他の状態説明図である。 バッファメモリのさらに他の状態説明図である。 バッファメモリのさらに他の状態説明図である。
符号の説明
10 光ディスク、16 光ピックアップ、32 システムコントローラ、38 バッファメモリ。

Claims (3)

  1. 光ディスクに記録すべきデータを格納するとともに、光ディスクから読み出したデータを格納するバッファメモリを有する光ディスク装置であって、
    外部装置からライトコマンドに従い、前記バッファメモリに論理アドレスが連続するライトデータを満状態まで受信した後に前記外部装置からリードコマンドを受信した場合であって、前記バッファメモリに格納されているデータのうち、前記リードコマンドが要求するデータ量に応える、少なくとも記録済データ領域を含む空きデータ領域が存在するか否かを所定のデータ量単位で判定する判定手段と、
    前記判定手段で前記リードコマンドが要求するデータ量に応える空きデータ領域が存在すると判定された場合に、前記ライトデータを前記光ディスクの物理アドレス順に記録する処理の間であって光ディスクの物理アドレスに対する光ピックアップの離散的移動を生じるタイミングで前記記録処理を中断して前記リードコマンドに応じて前記光ディスクからデータを読み出し、読み出したデータを前記空きデータ領域に格納する制御手段と、
    を有することを特徴とする光ディスク装置。
  2. 請求項1記載の装置において、
    前記制御手段は、前記光ディスクへの記録が完了していないデータ領域のうちの一部のデータについて前記光ディスクへの記録を実行することで空きデータ領域を増大し、増大した空きデータ領域に前記リードコマンドに応じて前記光ディスクから読み出したデータ及びこれに続く先読みデータを格納する
    ことを特徴とする光ディスク装置。
  3. 光ディスクに記録すべきデータを格納するとともに、光ディスクから読み出したデータを格納するバッファメモリを有する光ディスク装置であって、
    前記バッファメモリには、前記光ディスクから読み出したデータを格納するリードデータ専用領域が設けられ、
    外部装置からライトコマンドに従い、前記バッファメモリに論理アドレスが連続するライトデータを満状態まで受信した後に前記外部装置からリードコマンドを受信した場合であって、前記ライトデータを前記光ディスクの物理アドレス順に記録する処理の間であって光ディスクの物理アドレスに対する光ピックアップの離散的移動を生じるタイミングで前記記録処理を中断して前記リードコマンドに応じて前記光ディスクからデータを読み出し、読み出したデータとこれに続く先読みデータを、前記リードデータ専用領域と少なくとも記録済データ領域を含む空きデータ領域に格納する制御手段と、
    を有することを特徴とする光ディスク装置。
JP2004356222A 2004-11-10 2004-12-09 光ディスク装置 Expired - Fee Related JP4281680B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004356222A JP4281680B2 (ja) 2004-11-10 2004-12-09 光ディスク装置
TW094139093A TWI316704B (en) 2004-11-10 2005-11-08 Optical disc device
US11/270,876 US7533217B2 (en) 2004-11-10 2005-11-09 Optical disc apparatus with interruptible write operation
KR1020050107344A KR100726896B1 (ko) 2004-11-10 2005-11-10 광디스크 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004326989 2004-11-10
JP2004356222A JP4281680B2 (ja) 2004-11-10 2004-12-09 光ディスク装置

Publications (2)

Publication Number Publication Date
JP2006164439A JP2006164439A (ja) 2006-06-22
JP4281680B2 true JP4281680B2 (ja) 2009-06-17

Family

ID=36575725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004356222A Expired - Fee Related JP4281680B2 (ja) 2004-11-10 2004-12-09 光ディスク装置

Country Status (4)

Country Link
US (1) US7533217B2 (ja)
JP (1) JP4281680B2 (ja)
KR (1) KR100726896B1 (ja)
TW (1) TWI316704B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100945513B1 (ko) * 2004-12-03 2010-03-09 삼성전자주식회사 광 디스크 기록 장치 및 기록 방법
JP4770602B2 (ja) * 2006-06-23 2011-09-14 株式会社デンソー 電子機器
JP5291311B2 (ja) * 2007-08-31 2013-09-18 株式会社アイ・オー・データ機器 Usbストレージシステムおよびデータ転送制御用のプログラム
TW200915313A (en) * 2007-09-21 2009-04-01 Quanta Storage Inc Reading/writing method for an optical method
JP2010211880A (ja) * 2009-03-11 2010-09-24 Sharp Corp ディスクドライブ装置、その制御方法、プログラム、及び、記録媒体
US8250328B2 (en) * 2009-03-24 2012-08-21 Micron Technology, Inc. Apparatus and method for buffered write commands in a memory
US10817191B2 (en) * 2017-03-13 2020-10-27 Western Digital Technologies, Inc. Storage system and method for thermal throttling via command arbitration

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793912A (ja) 1993-09-24 1995-04-07 Nikon Corp 光ディスク記録再生装置
JP2000339856A (ja) 1999-05-26 2000-12-08 Matsushita Electric Ind Co Ltd 情報記録再生装置及び情報記録再生方法
JP2001256721A (ja) 2000-03-13 2001-09-21 Nec Corp 情報信号再生装置及び情報信号再生方法。
JP2002077828A (ja) 2000-08-28 2002-03-15 Fujitsu Ltd データストリーム記録再生装置
US6944717B2 (en) 2001-07-27 2005-09-13 Fujitsu Limited Cache buffer control apparatus and method using counters to determine status of cache buffer memory cells for writing and reading data therefrom
JP2003196955A (ja) 2001-12-26 2003-07-11 Sharp Corp ディスク記録再生装置
JP3659498B2 (ja) * 2002-01-18 2005-06-15 パイオニア株式会社 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造
JP3940902B2 (ja) * 2002-04-22 2007-07-04 ソニー株式会社 情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム及び情報処理装置の制御プログラムを記録した記録媒体
JP2004079055A (ja) * 2002-08-14 2004-03-11 Toshiba Corp 光ディスク装置と光ディスク処理方法及び光ディスク

Also Published As

Publication number Publication date
KR100726896B1 (ko) 2007-06-14
JP2006164439A (ja) 2006-06-22
KR20060052576A (ko) 2006-05-19
TWI316704B (en) 2009-11-01
US7533217B2 (en) 2009-05-12
TW200615924A (en) 2006-05-16
US20060123191A1 (en) 2006-06-08

Similar Documents

Publication Publication Date Title
EP1253590B1 (en) A data storage apparatus that either certifies a recording medium in the background or verifies data written in the recording medium
KR100726896B1 (ko) 광디스크 장치
JP3796858B2 (ja) 光ディスク読出装置
JP4082670B2 (ja) 記録方法及び情報記録装置
US7623426B2 (en) Optical disk apparatus
JPWO2009050765A1 (ja) 媒体記憶装置のリード/ライト処理方法及び媒体記憶装置
JP4290678B2 (ja) 光記録媒体のデータコピー/移動方法及び装置
JP4258332B2 (ja) 光ディスク装置
JP4737155B2 (ja) ディスク装置
JP3637346B1 (ja) 情報記録装置と情報記録方法とプログラム
JP2008508650A (ja) 記録キャリアのデータスペースの管理
JP2008503844A (ja) リアルタイム情報の欠陥管理
JP2005129168A (ja) 情報記録装置と情報記録方法とプログラム
EP0825592B1 (en) Method for reading read-only memory
JP2008503847A (ja) ファイルレベルでの欠陥の管理
US7957235B2 (en) Disk drive and information processing system having the same
JP4111852B2 (ja) データ転送装置、ドライブ装置、光情報記録装置、データ転送装置用プログラム、ドライブ装置用プログラム、データ転送装置用プログラムを記憶する記憶媒体、ドライブ装置用プログラムを記憶する記憶媒体、データ転送方法、及びドライブ方法
JP2006099917A (ja) 光ディスク装置
JP2005293837A (ja) ドライブ装置、ドライブ装置用プログラム、記憶媒体及びドライブ方法
JPH1064066A (ja) 光ディスク情報記録システム
JPH11143644A (ja) 再生装置、及びキャッシュ処理方法
JP2008198259A (ja) 光ディスク装置
JP2004103169A (ja) 記録方法、プログラム及び記録媒体、並びに情報記録装置
JPH11345159A (ja) 再生装置および記録再生装置
CN1790533A (zh) 光盘装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081028

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090224

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090309

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140327

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees