JP4281680B2 - Optical disk device - Google Patents

Optical disk device 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
Japanese (ja)
Other versions
JP2006164439A (en
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/en
Priority to TW094139093A priority patent/TWI316704B/en
Priority to US11/270,876 priority patent/US7533217B2/en
Priority to KR1020050107344A priority patent/KR100726896B1/en
Publication of JP2006164439A publication Critical patent/JP2006164439A/en
Application granted granted Critical
Publication of JP4281680B2 publication Critical patent/JP4281680B2/en
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

本発明は光ディスク装置、特に記録すべきデータ及び再生すべきデータを格納するバッファメモリの管理技術に関する。   The present invention relates to an optical disc apparatus, and more particularly to a management technique for a buffer memory for storing data to be recorded and data to be reproduced.

コンピュータの補助記憶装置として広く使われているディスク装置のうち、可撓性磁気ディスク装置(FDD)を除く固定磁気ディスク装置(HDD)や光ディスク装置は、高速かつ大容量のデータ記録再生を実現するべく、マイコンが内蔵されている。   Among disk devices widely used as auxiliary storage devices for computers, fixed magnetic disk devices (HDDs) and optical disk devices other than flexible magnetic disk devices (FDDs) realize high-speed and large-capacity data recording and reproduction. Therefore, a microcomputer is built in.

光ディスク装置はHDDと比べると光ヘッド及びヘッドキャリッジが重いので、ランダムアクセスの応答性能はどうしても劣ってしまう。このため、光ディスク装置においてデータを記録する際には、上位装置から発せられるデータ記録命令(以下「ライトコマンド」)に伴うデータをバッファメモリで受け止め、受信を完了したら即座に記録完了を上位装置へ報告することで、上記装置から見た見かけ上のデータ記録速度を改善している。通常のライトコマンドに伴うデータは、バッファメモリ内に空き領域がなくなって受信できなくなったときか、あるいは直近のライトコマンドから一定時間経過後に始めて実際の光ディスクへ書き込みを行うように構成されている。これは一般に「遅延書き込み」と呼ばれ周知である。遅延書き込みはマイコンのファームウェアによって実現され、その処理方法によってホストから見たディスク装置のパフォーマンス(応答性能)は大きく変わる。   Since the optical head and the head carriage are heavier than an HDD, the response performance of random access is inevitably inferior. For this reason, when data is recorded in the optical disk device, data accompanying a data recording command (hereinafter referred to as “write command”) issued from the host device is received by the buffer memory, and when the reception is completed, the recording completion is immediately sent to the host device. By reporting, the apparent data recording speed seen from the above apparatus is improved. Data associated with a normal write command is configured to be written to an actual optical disk when there is no free space in the buffer memory and cannot be received, or after a certain time has elapsed since the most recent write command. This is generally called “delayed writing” and is well known. Delayed writing is realized by the firmware of the microcomputer, and the performance (response performance) of the disk device viewed from the host varies greatly depending on the processing method.

なお、上位装置から発せられるライトコマンドには、通常のライトコマンドと「FUA bit」が付されたライトコマンドとが存在する。「Force Unit Access」の略であるこのビットが付されたライトコマンドに伴うデータは、遅延書き込みの対象外となり、受信したデータはバッファメモリへの蓄積が完了され次第直ちに記録が行われる。このコマンドは、主に、OSのファイルシステムのディレクトリ情報等、記録を失敗すると被害が大きいデータに対して付されることが多い。   The write commands issued from the host device include a normal write command and a write command with “FUA bit” added. Data accompanying a write command to which this bit, which is an abbreviation of “Force Unit Access”, is not subject to delayed writing, and the received data is recorded as soon as the accumulation in the buffer memory is completed. In many cases, this command is mainly applied to data such as directory information of an OS file system that is damaged if recording fails.

DVD−RAM等、セクタフォーマットされている光ディスク装置のデータ記録の際は、上記装置(ホスト)から来るライトコマンドに伴って来るライトデータをバッファメモリにて受け取り、実際には光ディスクに記録せず、バッファメモリへの受信を完了するとホストにコマンドの完遂を報告する。すなわち、上記の遅延書き込みを行っている。バッファメモリに蓄積された未記録データは、以下のタイミングにて光ディスクへ実際の記録を開始する。   When recording data in a sector-formatted optical disk device such as a DVD-RAM, the write data accompanying the write command coming from the device (host) is received by the buffer memory, and not actually recorded on the optical disk. When the reception to the buffer memory is completed, the completion of the command is reported to the host. That is, the delayed writing is performed. The unrecorded data stored in the buffer memory starts actual recording on the optical disc at the following timing.

(1)シーケンシャルライト
ホストから連続して来るライトコマンドに伴うライトデータの論理アドレス(LBA)が連続している場合は、光ピックアップのシーク動作を伴わずに連続した記録が行われるものと判断し、バッファフル(満状態)になるまで受信し続ける。バッファフルになった時点か、あるいは直近のライトコマンドから一定時間ホストから何らかのコマンドが来なかった時点で光ディスクへの記録(以下「実記録」)を開始する。
(1) Sequential write If the logical address (LBA) of the write data associated with the write command coming from the host is continuous, it is determined that continuous recording is performed without the seek operation of the optical pickup. , Keep receiving until the buffer is full. Recording on the optical disk (hereinafter “actual recording”) is started when the buffer becomes full or when no command is received from the host for a certain period of time from the most recent write command.

(2)ランダムライト
ホストから連続して来るライトコマンドに伴うライトデータの論理アドレス(LBA)が不連続である場合は、光ピックアップのシーク動作を必要とする、光ディスク上の物理アドレスが不連続な記録動作になると判断し、論理アドレスが不連続なデータの数を示すカウンタを+1インクリメントする。不連続なライトデータが来る度毎にカウンタをインクリメントし、カウンタが所定値、例えば10になった時点で、バッファフルでなくても実記録を開始する(擬似的にバッファサイズを小さくする)。これは、シーク動作は非常に時間が掛かる処理であり、ホストを待たせる状態を生じやすく、ともするとホストからタイムアウトエラーが出力される可能性があるからである。もちろん、シーケンシャルライトと同様、カウンタが所定値に満たなくても直近のコマンドから所定時間が経過すれば実記録を開始する。
(2) Random write When the logical address (LBA) of the write data associated with the write command that continues from the host is discontinuous, the physical address on the optical disc that requires the seek operation of the optical pickup is discontinuous It is determined that the recording operation is to be performed, and a counter indicating the number of data with discontinuous logical addresses is incremented by +1. The counter is incremented each time discontinuous write data comes, and when the counter reaches a predetermined value, for example, 10, actual recording is started even if the buffer is not full (pseudo buffer size is reduced). This is because the seek operation is a process that takes a very long time, tends to cause the host to wait, and possibly a timeout error is output from the host. Of course, as in the case of the sequential write, even if the counter does not reach the predetermined value, the actual recording is started when a predetermined time elapses from the most recent command.

なお、下記に示す特許文献1には、バッファメモリの利用方法が開示されている。   Patent Document 1 shown below discloses a method of using a buffer memory.

特開2000−339856号公報JP 2000-339856 A

従来、上記(1)、(2)のいずれの場合においても、一旦ディスクへの実記録が発生すると、バッファメモリ内未記録データを全て記録し終える迄は、ホストからリード/ライトコマンドが来ても即応することができなかった。   Conventionally, in both cases (1) and (2), once actual recording has occurred on the disk, a read / write command is received from the host until all the unrecorded data in the buffer memory has been recorded. Could not respond immediately.

上記のように、ランダムライトの場合は、不連続カウンタによる制限を設けてバッファメモリのサイズを擬似的に小さくすることで、ホストに対するタイムアウトを防ぐことができる。しかし、シーケンシャルライトの場合はバッファメモリのサイズを最大限使うので、本来なら高速な書き込みが期待できるのだが、交替処理が発生すると途端に記録実行時間が増大し、応答性能が急激に悪化する。この応答性能の悪化はバッファメモリのサイズに比例し、最悪の場合、ホストがタイムアウトと判断し、ホストからバスリセットされてしまう。折角応答性能向上のためにバッファメモリのサイズを大きくしても、交替処理の発生によってこれが逆効果となってしまう。バスリセットの発生はホストから記録が中断されたことを意味し、ユーザの光ディスク装置に対する信頼性が損なわれるおそれがある。   As described above, in the case of a random write, a time-out to the host can be prevented by providing a limitation by a discontinuous counter and reducing the size of the buffer memory in a pseudo manner. However, in the case of sequential write, the maximum size of the buffer memory is used, so high-speed writing can be expected. However, when replacement processing occurs, the recording execution time increases and response performance deteriorates rapidly. . This deterioration in response performance is proportional to the size of the buffer memory. In the worst case, the host determines that a timeout has occurred, and the host resets the bus. Even if the size of the buffer memory is increased to improve the corner response performance, this has an adverse effect due to the occurrence of the replacement process. The occurrence of the bus reset means that the recording is interrupted from the host, and the reliability of the user with respect to the optical disk device may be impaired.

本発明の目的は、バッファメモリを増やしてもホストからタイムアウトを受けるおそれのない、信頼性の高い光ディスク装置を提供することにある。   An object of the present invention is to provide a highly reliable optical disc apparatus that does not receive a timeout from a host even if the buffer memory is increased.

上記課題を解決するための基本的な技術思想として、バッファメモリ内に未記録データが残っていても、上記装置からリードコマンドが来たら、適切なタイミングにてライト動作を中断でき、リードコマンドの処理を行えるように構成した。ここで、ライト動作中の中断とは、レンズキックあるいはスレッドシーク等の、光ディスクの物理アドレスに対する光ピックアップの離散的移動を生じるタイミングで、バッファメモリにリードコマンドが要求する容量以上の空き領域(再生データ格納可能領域)が生じた時に、次のライトを行うためのシーク動作を中止し、リードコマンドの処理を行うことを意味する。   As a basic technical idea for solving the above problem, even if unrecorded data remains in the buffer memory, if a read command is received from the above device, the write operation can be interrupted at an appropriate timing. It was configured to allow processing. Here, the interruption during the write operation is a timing that causes a discrete movement of the optical pickup with respect to the physical address of the optical disc, such as a lens kick or a thread seek, and a free area (reproduction) larger than the capacity required by the read command in the buffer memory This means that when a data storage area) occurs, the seek operation for the next write is stopped and the read command is processed.

ここで、ライト中断とこれに伴うリード処理をより効率的に行うために、予め最小限のリードが可能な領域をバッファメモリ内に確保しておけば、シーク動作の中止後直ちにリード処理を実行できる。   Here, in order to more efficiently perform the write interruption and accompanying read processing, if a minimum readable area is secured in the buffer memory in advance, the read processing is executed immediately after the seek operation is stopped. it can.

さらに、ライト中断の時点でリードコマンドの処理に必要な容量を超える空き容量(再生データ格納可能領域)が得られる場合は、リードコマンドによって指定されたアドレスを超えて先読みを行うことにより、上位装置への即応性が期待できる。   Furthermore, when a free capacity (reproduction data storage area) exceeding the capacity required for the read command processing is obtained at the time of the write interruption, the pre-reading is performed beyond the address specified by the read command, so that the host device Responsiveness to can be expected.

本発明によれば、シーケンシャルライトの場合であってライトコマンドに続いてリードコマンドが来てもこのリードコマンドに即応して光ディスクからデータを読み出すことができ、上位装置にタイムアウトと判断される事態を防ぐことができる。   According to the present invention, even in the case of sequential write, even when a read command comes after the write command, data can be read from the optical disc immediately in response to the read command, and a situation where the host device determines that a timeout has occurred. Can be prevented.

以下、図面に基づき本発明の実施形態について説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1には、本実施形態に係る光ディスク装置の全体構成図が示されている。DVD−RAM等の書き換え可能な光ディスク10はスピンドルモータ(SPM)12により回転駆動される。スピンドルモータSPM12は、ドライバ14で駆動され、ドライバ14はサーボプロセッサ30により所望の回転速度となるようにサーボ制御される。   FIG. 1 shows an overall configuration diagram of an optical disc apparatus according to the present embodiment. A rewritable optical disk 10 such as a DVD-RAM is rotationally driven by a spindle motor (SPM) 12. The spindle motor SPM 12 is driven by a driver 14, and the driver 14 is servo-controlled by a servo processor 30 so as to have a desired rotation speed.

光ピックアップ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に記録パワーを複数段に変化させてテストデータを記録し、該テストデータを再生してその信号品質を評価し、所望の信号品質が得られる記録パワーを選択する処理である。信号品質には、β値やγ値、変調度、ジッタ等が用いられる。   The optical pickup 16 includes a laser diode (LD) for irradiating the optical disk 10 with laser light and a photodetector (PD) that receives reflected light from the optical disk 10 and converts it into an electrical signal, and is disposed opposite to the optical disk 10. . The optical pickup 16 is driven in the radial direction of the optical disk 10 by a thread motor 18, and the thread motor 18 is driven by a driver 20. The driver 20 is servo-controlled by the servo processor 30 similarly to the driver 14. The LD of the optical pickup 16 is driven by a driver 22, and the driver 22 is controlled by an auto power control circuit (APC) 24 so that the drive current becomes a desired value. The APC 24 controls the drive current of the driver 22 so that the optimum recording power selected by OPC (Optimum Power Control) executed in the test area (PCA) of the optical disc 10 is obtained. The OPC is a process of recording test data on the PCA of the optical disc 10 by changing the recording power in a plurality of stages, reproducing the test data, evaluating the signal quality, and selecting a recording power that can obtain a desired signal quality. It is. For the signal quality, β value, γ value, modulation factor, jitter, etc. are used.

光ディスク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に再生データを一旦蓄積した後に出力する。   When data recorded on the optical disk 10 is reproduced, a laser beam of reproduction power is irradiated from the LD of the optical pickup 16, and the reflected light is converted into an electric signal by the PD and output. A reproduction signal from the optical pickup 16 is supplied to the RF circuit 26. The RF circuit 26 generates a focus error signal and a tracking error signal from the reproduction signal and supplies them to the servo processor 30. The servo processor 30 servo-controls the optical pickup 16 based on these error signals, and maintains the optical pickup 16 in an on-focus state and an on-track state. Further, the RF circuit 26 supplies an address signal included in the reproduction signal to the address decoding circuit 28. The address decoding circuit 28 demodulates the address data of the optical disk 10 from the address signal and supplies it to the servo processor 30 and the system controller 32. In the case of a DVD-RAM, address data can be obtained by a CAPA (Complimentary Allocated Pit Addressing) method, and the address data present in the header portion recorded in the sector is reproduced. Further, the RF circuit 26 supplies the reproduction RF signal to the binarization circuit 34. The binarization circuit 34 binarizes the reproduction signal and supplies the obtained 8-16 modulation signal to the encoding / decoding circuit 36. In the encode / decode circuit 36, the binarized signal is demodulated and error-corrected by 8-16 to obtain reproduction data, and the reproduction data is output to a host device such as a personal computer via the interface I / F 40. When the reproduction data is output to the host device, the encoding / decoding circuit 36 temporarily stores the reproduction data in the buffer memory 38 and outputs it.

光ディスク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に記憶されている記録済みデータを交替領域へ記録する。   When recording data on the optical disk 10, data to be recorded from the host device is supplied to the encode / decode circuit 36 via the interface I / F 40. The encode / decode circuit 36 stores data to be recorded in the buffer memory 38, encodes the data to be recorded, and supplies the data to the write strategy circuit 42 as 8-16 modulation data. The write strategy circuit 42 converts the EFM data into a multi-pulse (pulse train) according to a predetermined recording strategy and supplies it to the driver 22 as recording data. The recording strategy is composed of, for example, the pulse width of the first pulse, the pulse width of the subsequent pulse, and the pulse duty in the multi-pulse. Since the recording strategy affects the recording quality, it is usually fixed to a certain optimum strategy. A recording strategy may be set at the time of OPC. The laser light whose power is modulated by the recording data is irradiated from the LD of the optical pickup 16 and the data is recorded on the optical disk 10. After recording the data, the optical pickup 16 reproduces the recorded data by irradiating a laser beam with a reproduction power, and supplies it to the RF circuit 26. The RF circuit 26 supplies the reproduction signal to the binarization circuit 34, and the binarized 8-16 modulated data is supplied to the encode / decode circuit 36. The encode / decode circuit 36 decodes the 8-16 modulation data, and performs a replacement process when the data cannot be normally decoded. Specifically, the recorded data stored in the buffer memory 38 is recorded in the replacement area.

なお、DVD−RAM等はセクタフォーマットであって1ECCブロック(16セクタ)単位でデータを記録するため、バッファメモリ38には16セクタ分の記録データが格納されていなければならない。したがって、データを記録する場合であって、1ECCブロックに満たないときには、何らかの方法でこれを満たして1ECCブロック分のデータとする必要がある。1ECCブロック分のデータとする方法はいくつかあるが、第1の方法は、バッファメモリの1ECCブロック分に満たない空き領域のアドレスに相当する光ディスク10のアドレスにアクセスし、該当アドレスに存在するデータを読み出してバッファメモリを埋める方法である。第2の方法は、バッファメモリ内の格納済みデータの終端論理アドレスと直後に外部装置から供給される予定のデータの始端論理アドレスが連続しているシーケンシャルライトの場合に、空き容量分だけのデータをホスト装置に要求し、該要求に応じてホスト装置から供給されたデータを空き領域に格納することで終端の空き領域を埋めるものである(始端の空き領域は第1の方法と同様)。いずれの方法を用いてもよい。   Since DVD-RAM and the like have a sector format and record data in units of 1 ECC block (16 sectors), the buffer memory 38 must store recording data for 16 sectors. Therefore, when data is recorded and it is less than one ECC block, it is necessary to satisfy this by some method to make data for one ECC block. There are several methods for setting data for one ECC block, but the first method is to access the address of the optical disk 10 corresponding to the address of the empty area that is less than one ECC block of the buffer memory, and the data existing at the corresponding address. Is used to fill the buffer memory. In the second method, in the case of sequential write in which the end logical address of stored data in the buffer memory and the start logical address of data scheduled to be supplied from an external device are consecutive, data corresponding to the free capacity is used. Is requested to the host device, and the data supplied from the host device in response to the request is stored in the free space to fill the free space at the end (the free space at the start is the same as in the first method). Any method may be used.

本実施形態に係る光ディスク装置1は、バッファメモリ38をシステムコントローラ32が制御して、光ディスク10に対し、周知の遅延書き込みを行う。また、光ディスク10から読み出したデータを適宜保持しておき、ディスクに対するランダムアクセス回数の減少に役立てている。本実施形態の光ディスク装置1は、従来の光ディスク装置1と比べてバッファメモリ38の容量が大きく(例えば4MB)、LBAが連続する大容量のシーケンシャルライトデータを効率良く受け入れることができる。しかし、周知のように光ディスクは埃や汚れ等に弱く、常に安定した品質でデータ記録が完遂できるとは限らない。このため、DVD−RAMはディスク内周側及び外周側に交替領域を設けている。光ディスク10に対するデータ記録処理を行っている最中に、記録中の領域の特定箇所でライトエラーが生じると、これを補填するために交替処理を行わなければならないので、記録に失敗した領域のデータを交替領域へ記録する。この時、光ピックアップ16はそれまで記録を行っていたトラックから交替領域へのシークを伴う。シークを伴うことにより、データ記録に要する時間は極端に増大する。すなわち、バッファメモリ38の容量を増やすと、ホストからライトコマンドを受け入れた後、シーケンシャルライトの最中に交替処理が発生すると、ホストからリードコマンドが発行されても即座に実行できず、タイムアウトによるバスリセットを受けてしまう可能性が大きい。   In the optical disc apparatus 1 according to the present embodiment, the system controller 32 controls the buffer memory 38 to perform well-known delayed writing on the optical disc 10. In addition, data read from the optical disk 10 is appropriately stored to help reduce the number of random accesses to the disk. The optical disk apparatus 1 of the present embodiment has a larger capacity of the buffer memory 38 (for example, 4 MB) than the conventional optical disk apparatus 1, and can efficiently receive large-capacity sequential write data with continuous LBA. However, as is well known, optical disks are vulnerable to dust and dirt, and data recording cannot always be accomplished with stable quality. For this reason, the DVD-RAM has spare areas on the inner and outer peripheral sides of the disk. If a write error occurs at a specific location in the recording area during the data recording process on the optical disc 10, a replacement process must be performed to compensate for this, so the data in the area where recording failed Is recorded in the replacement area. At this time, the optical pickup 16 is accompanied by a seek from the track on which recording has been performed to the replacement area. With the seek, the time required for data recording increases extremely. That is, when the capacity of the buffer memory 38 is increased, if a replacement process occurs during a sequential write after a write command is accepted from the host, even if a read command is issued from the host, it cannot be executed immediately, and a bus due to timeout There is a high possibility of receiving a reset.

そこで、システムコントローラ32は、バッファメモリ38内に蓄積されているライトデータを実際に光ディスク10へ記録している最中にホストからリードコマンドを受けると、リードコマンドが来たことを示すフラグを設定する。現在実行中のライト処理が終了したら、フラグが設定されているか否かを判断し、フラグが設定されていれば次に実行を予定しているライト処理を一旦中断し、バッファメモリ38内の使用状態を調べる。バッファメモリ38内に存在するライトデータの内、既に光ディスク10への記録が完了しているデータ(記録済データ)と、未だ記録が完了していないためバッファメモリ38に格納しておく必要があるデータ(未記録データ)を判別し、バッファメモリ38に残っている記録済データの領域でリードコマンドを実行できるか否かを判定する。なお、光ディスク10への記録は上記のように1ECCブロック単位で実行されるため、記録済データも1ECCブロック単位で判別する。判別処理の結果、リードコマンドで指定された容量以上の記録済データ領域が存在すると判明した場合は、この記録済データ領域をリードデータの格納領域に転用することを決定する。そして、受信したリードコマンドに従って所定の再生動作を実行する。このように、記録済データ領域をリードデータの格納領域に転用し、実行中のデータ記録動作をランダムアクセスの発生する時点で中断することで、迅速なリードコマンドの実行を可能にし、タイムアウトを防止する。   Therefore, when the system controller 32 receives a read command from the host while the write data stored in the buffer memory 38 is actually being recorded on the optical disc 10, it sets a flag indicating that the read command has come. To do. When the currently executing write process is completed, it is determined whether or not the flag is set. If the flag is set, the write process scheduled to be executed next is temporarily suspended and used in the buffer memory 38. Check the condition. Of the write data existing in the buffer memory 38, data that has already been recorded on the optical disc 10 (recorded data), and recording has not yet been completed, so it is necessary to store the data in the buffer memory 38. Data (unrecorded data) is determined, and it is determined whether or not a read command can be executed in the recorded data area remaining in the buffer memory 38. Since recording on the optical disk 10 is performed in units of 1 ECC block as described above, recorded data is also determined in units of 1 ECC block. As a result of the discrimination processing, when it is determined that there is a recorded data area exceeding the capacity specified by the read command, it is decided to divert this recorded data area to the read data storage area. Then, a predetermined reproduction operation is executed according to the received read command. In this way, the recorded data area is diverted to the read data storage area, and the current data recording operation is interrupted when random access occurs, enabling quick execution of read commands and preventing timeouts. To do.

なお、リードコマンドを受信した時点で、リードコマンドで指定された容量以上の記録済データ領域が存在しないときは、次に実行するライト処理を完遂し、再びバッファメモリ38を検証してリードコマンドで指定された容量以上の記録済データ領域が生じるまでライト処理を実行する。所定容量以上の記録済データ領域を確保できたら、次に実行を予定しているライト処理に先立ち、リード処理を実行する。   When there is no recorded data area exceeding the capacity specified by the read command when the read command is received, the write process to be executed next is completed, the buffer memory 38 is verified again, and the read command is used. Write processing is executed until a recorded data area exceeding the specified capacity is generated. If a recorded data area of a predetermined capacity or more can be secured, the read process is executed prior to the next write process to be executed.

リード処理を完遂すると、所定時間が経過する迄ホストから次のコマンドを待つ。リードコマンドが連続してきても、バッファメモリ38に存在する記録済データ領域の容量が許す限り、ホストからコマンドを受け入れ、実行する。所定時間を経過してもコマンドがこなかった場合は、中断していたデータ記録動作を再開する。   When the read process is completed, the host waits for the next command until a predetermined time elapses. Even if the read command continues, the command is received from the host and executed as long as the capacity of the recorded data area existing in the buffer memory 38 permits. If no command is received after a predetermined time has elapsed, the interrupted data recording operation is resumed.

図2及び図3には、本実施形態の処理フローチャートが示されている。システムコントローラ32は、ホスト装置から受信したコマンドがライトコマンドか否かを判定する(S101)。ライトコマンドである場合、ライトコマンドに付随するライトデータを受信してバッファメモリ38に格納する(S102)。バッファメモリ38への格納は、バッファメモリ38が満状態(FULL)となるまで実行する(S103)。ここに、バッファメモリ38のFULL状態とは、ホスト装置からのライトデータを全て格納するだけの空き領域が存在しない状態をいう。システムコントローラ32は、ライトデータの始端論理アドレスと終端論理アドレスより記録すべきデータの総容量を算出し、その容量がバッファメモリ38の空き領域に収まるか否かを検証することでFULLか否かを判定する。なお、このライトデータ格納処理は、連続してくるライトデータの論理アドレスが連続していればバッファメモリ38の空き領域を全て満たす(使い切る)まで実行するが、連続してくるライトデータの論理アドレスが連続していない場合は、不連続データを計数するカウンタをインクリメントし、その数が一定値を超えると、バッファメモリ38の空き領域が全て満たされなくても(使い切らなくても)受信を打ち切る。これはスレッドシークに伴うアクセス速度の低下により、ホスト装置を必要以上に待たせてしまい、タイムアウトを引き起こさないために行う制限処理である。   2 and 3 show processing flowcharts of the present embodiment. The system controller 32 determines whether the command received from the host device is a write command (S101). If it is a write command, the write data accompanying the write command is received and stored in the buffer memory 38 (S102). The storage in the buffer memory 38 is executed until the buffer memory 38 becomes full (FULL) (S103). Here, the FULL state of the buffer memory 38 means a state in which there is no free space for storing all the write data from the host device. The system controller 32 calculates the total capacity of data to be recorded from the start logical address and the end logical address of the write data, and verifies whether or not the capacity can be accommodated in the free area of the buffer memory 38 to determine whether or not it is FULL. Determine. This write data storage processing is executed until the empty area of the buffer memory 38 is filled (used up) if the logical address of the continuous write data is continuous, but the logical address of the continuous write data If the number is not continuous, the counter for counting discontinuous data is incremented, and if the number exceeds a certain value, reception is aborted even if all free areas of the buffer memory 38 are not filled (even if they are not used up). . This is a restriction process performed in order to prevent the host device from waiting more than necessary due to a decrease in the access speed accompanying thread seek, and not to cause a timeout.

バッファメモリ38がFULL状態と判定された場合、バッファメモリ38に格納されたライトデータ(未記録データ)の論理アドレスを、光ディスク10上の物理アドレスに変換する処理を行う(S104)。これは、光ディスク装置1の光ディスク10への記録動作は、最終的には光ディスク10の物理アドレスが連続している区間に対して1回のライト処理を行うように構成されていることに起因する。すなわち、1回のライト処理はそれ単体で完結する、中断できない処理である。よって、論理アドレスにおいて連続しているデータであっても、物理アドレスに変換すると交替処理等で不連続になることがある。そこで、ライト処理に先立ち論理物理アドレス変換処理を行い、その後バッファ内未記録データに対し、物理アドレス順にライト処理の順番を決定する。次に、この未記録データを光ディスク10に記録するライト動作を起動する(S105)。ライト動作には、上記のように1ECCブロックに満たない空き領域が存在する場合にこれを埋める処理が含まれる。1ECCブロック単位で物理アドレスが連続しているライトデータを構成した後、これらを順次バッファメモリ38から読み出してエンコードし、光ピックアップ16に供給して光ディスク10にデータを記録していく。データの記録(ライト動作)を完了すると、通常再生時よりもやや厳しい再生条件を設定した上で、再び同じ物理アドレスを再生し、信号品質を検証する(ベリファイ)。読みとりエラーが発生して正常にデコードできない等の場合には、交替領域にデータを交替記録する。   When it is determined that the buffer memory 38 is in the FULL state, processing is performed to convert the logical address of the write data (unrecorded data) stored in the buffer memory 38 into a physical address on the optical disc 10 (S104). This is because the recording operation on the optical disc 10 of the optical disc apparatus 1 is finally configured to perform a single write process on a section where the physical addresses of the optical disc 10 are continuous. . That is, a single write process is a process that is completed by itself and cannot be interrupted. Therefore, even if data is continuous in the logical address, it may become discontinuous due to replacement processing or the like when converted to a physical address. Therefore, logical-physical address conversion processing is performed prior to write processing, and then the order of write processing is determined in order of physical addresses for unrecorded data in the buffer. Next, a write operation for recording the unrecorded data on the optical disc 10 is started (S105). The write operation includes a process of filling up an empty area that is less than one ECC block as described above. After write data having consecutive physical addresses in units of one ECC block is formed, these are sequentially read from the buffer memory 38, encoded, supplied to the optical pickup 16, and recorded on the optical disc 10. When the data recording (write operation) is completed, the same physical address is reproduced again and the signal quality is verified (verify) after setting the reproduction conditions slightly stricter than those during normal reproduction. If a read error occurs and decoding cannot be performed normally, the data is recorded alternately in the replacement area.

システムコントローラ32は、ライト動作実行中にホスト装置からリードコマンドを受信したか否かを割込判定する(S106)。リードコマンドを受信していない場合には、ライト動作を続行し、バッファメモリ38に格納されているライトデータを全て光ディスク10に記録するまで繰り返す(S108、S110)。一方、リードコマンドを受信した場合には、リードコマンドがきた旨を示すフラグをセットして(S107)、現在のライト動作が中断できるタイミングにて(S108)、フラグがセットされているか否かを検証する(S109)。フラグがセットされていれば、受信したリードコマンドを実行してタイムアウトを防止すべく以下の処理に移行する。   The system controller 32 determines whether or not a read command is received from the host device during the write operation (S106). If the read command has not been received, the write operation is continued and repeated until all the write data stored in the buffer memory 38 is recorded on the optical disc 10 (S108, S110). On the other hand, when a read command is received, a flag indicating that the read command has been received is set (S107), and at a timing when the current write operation can be interrupted (S108), it is determined whether or not the flag is set. Verification is performed (S109). If the flag is set, the received read command is executed to shift to the following process to prevent timeout.

図3には、リードコマンドを受信し、ライト動作を中断した場合の処理が示されている。まず、システムコントローラ32は、バッファメモリ38に、リードコマンドの要求に応えられる空き領域(記録済データの領域)が存在するか否かを判定する(S202)。バッファメモリ38の大半が未記録データ(記録の完了とは、単に光ディスク10に記録したのみならずそのベリファイも完了したことを意味するものとする)で占められ、リードコマンドの要求に応えられるだけの空き領域がない場合には、リードコマンドを実行できないので、S110に戻り、再びS105移行のライト処理を続行して空き領域を作成する。なお、ここで空き領域とは、装置起動直後でバッファメモリ38に未記録データが存在しない領域か、あるいは光ディスク10への記録が完了してバッファメモリ38に積極的に格納しておく必要がない記録済データの領域を意味する。   FIG. 3 shows processing when a read command is received and the write operation is interrupted. First, the system controller 32 determines whether or not there is a free area (recorded data area) that can respond to a read command request in the buffer memory 38 (S202). Most of the buffer memory 38 is occupied by unrecorded data (completing recording means not only recording on the optical disc 10 but also verifying thereof), and only responding to a read command request. If there is no free area, the read command cannot be executed, so the process returns to S110, and the write process in S105 is continued again to create a free area. Here, the free area is an area where there is no unrecorded data in the buffer memory 38 immediately after the apparatus is started, or it is not necessary to store the data in the buffer memory 38 after recording on the optical disk 10 is completed. It means the area of recorded data.

一方、バッファメモリ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でデータヒットしなかった場合には、リードデータ格納領域も記録済データ領域とともにリード処理と先読み処理に用いる。   On the other hand, if there is a free area in the buffer memory 38 that can respond to the read command request, the read data read from the optical disk 10 can be stored. Therefore, the system controller 32 checks whether or not the data requested by the read command already exists in the buffer memory 38 (S203). If the data has already been read and exists in the buffer memory 38, If the unrecorded data staying at 38 corresponds to that (data hit or cache hit), the data is transferred to the host device as it is (S208). As a result, the processing of the read command is completed, and the set flag is released (S209). If there is no data hit, it is necessary to read from the optical disc 10, but it is expected that the read command will be issued continuously from the host device, not just the address requested by the read command. By prefetching the data at the address following the requested data in advance, the cache hit rate in the next read command can be improved. If the read command continues, it is not preferable to keep the unrecorded data in the buffer memory 38 indefinitely. The unrecorded data will be disposed at the earliest possible time and will continue from the host device. We want to free up buffer memory 38 so that it can handle read commands to the maximum extent. Therefore, the recording process of unrecorded data is completed one by one, the process of the unrecorded data area is advanced, and a recorded data area (empty data area) is further secured. Note that the recording process in S204 is a write process that continues at a physical address, and if it is interrupted immediately before verification, an incomplete verification process is given priority over other write processes. Next, it is determined whether unrecorded data still exists (S205). If unrecorded data no longer exists, the entire area of the buffer memory 38 can be used as a read data storage area. If unrecorded data exists, the read data in the buffer memory 38 can be stored. After searching for a buffer area (S206), data (requested data + prefetched data) is read from the optical disk 10 and stored in the searched area (S207). After the read data is stored in the buffer memory 38, it is transferred from the buffer memory 38 to the host device (S208), the flag is cleared (S209), and the read process is completed. The read data storage area can be diverted to an area for storing new read data in the same manner as the recorded data area. That is, when no data hit occurs in S203 when a read command is received, the read data storage area is also used for the read process and the prefetch process together with the recorded data area.

以上のようにして連続するライト動作を中断してリードコマンドを実行した後、再びライトコマンドの実行に戻る。そして、残存ライトデータの記録を全て完了すると、処理を終了する(S109、S110)。   After the continuous write operation is interrupted as described above and the read command is executed, the process returns to the execution of the write command again. Then, when all of the recording of the remaining write data is completed, the process is terminated (S109, S110).

図4〜図7には、以上説明した処理の各段階におけるバッファメモリ38の状態が模式的に示されている。なお、バッファメモリ38の容量は任意であるが、図では説明の都合上、6ECCブロック分のデータを格納できる容量としている。   4 to 7 schematically show the state of the buffer memory 38 at each stage of the processing described above. The capacity of the buffer memory 38 is arbitrary, but in the figure, for the convenience of explanation, it is assumed that the capacity can store data for 6 ECC blocks.

図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に対する実際のデータの記録処理は、交替処理が発生すると、論理アドレスでは連続していても物理アドレスでは不連続となり、物理アドレスを基準に見ると記録の順番が変わることもある。   FIG. 4 shows a state in which it is determined as FULL after storing write data with continuous logical addresses supplied from the host device, and a state in which YES is determined in S103 of FIG. If the first data area to the sixth data area (the capacity of each data area is one ECC block) from the top, write data is stored in all the data areas, and recording to the optical disc 10 has not yet been completed. It is in the “record” state. FIG. 5 shows a state in which logical / physical address conversion processing is performed from the state of FIG. 4, unrecorded data is divided in units of physical addresses, and the order of recording processing is given according to physical addresses. In FIG. 5, “unrecorded 1” consisting of data with continuous physical addresses for 2 ECC blocks from the top, “unrecorded 3” consisting of data with continuous physical addresses for 1 ECC block, and physical addresses for 1 ECC block are continuous. "Unrecorded 2" consisting of data to be stored, and "Unrecorded 4" consisting of data with continuous physical addresses for 2 ECC blocks are stored. Recording processing is performed in the order of unrecorded 2, unrecorded 3, and unrecorded 4 in the order of physical addresses from unrecorded 1. As illustrated in FIG. 5, in the actual data recording process on the optical disc 10, when a replacement process occurs, the logical address is continuous but the physical address is discontinuous. The order may change.

図6は、光ディスク10に対して物理アドレスで連続するECCブロック単位でデータの記録が順次実行され、バッファメモリ38のうちの「未記録1」、「未記録2」が既に記録済となった状態である。この時点では図2のS105が2回実行された状態である。未記録データが格納されていた「未記録1」、「未記録2」が記録済(光ディスク10に記録され、かつ、ベリファイが完了した)であって、「記録済1」、「記録済2」の状態にある。記録済のデータ領域は、積極的にデータを格納する必要がなく、上書きが可能な状態、すなわち空きの状態である。   In FIG. 6, data recording is sequentially performed on the optical disc 10 in units of ECC blocks continuous with physical addresses, and “unrecorded 1” and “unrecorded 2” in the buffer memory 38 are already recorded. State. At this point, S105 in FIG. 2 is in a state of being executed twice. “Unrecorded 1” and “Unrecorded 2” in which unrecorded data was stored have been recorded (recorded on the optical disc 10 and verification has been completed), and “recorded 1” and “recorded 2” have been recorded. Is in the state of "." The recorded data area is in a state where it is not necessary to actively store data and can be overwritten, that is, in an empty state.

図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内における記録済領域の利用は必ずしも連続したアドレス配置になっている必要はないことに注意されたい。   FIG. 7 shows that a read command is issued from the host device (S106), a flag is set (S107), write processing is interrupted (S108, S109), and unrecorded data is recorded as much as possible before executing the read command processing. Is a state in which a part of unrecorded data is recorded in order to secure a pre-read data area and after S204 in FIG. 3 is executed. Even in the state shown in FIG. 6, there is a free capacity (“recorded 1”, “recorded 2”) in response to the read command request, but only the data requested by the read command is “recorded 1”, for example. In this case, the efficiency decreases because it is necessary to read from the optical disk 10 each time the read command is continued. In addition, it is not good for the efficiency of read processing to keep unrecorded data indefinitely when read commands are continuous, but it also causes fatal data destruction in the event of an unexpected accident such as power interruption. It might be. Unrecorded data must be processed as quickly as possible. Therefore, as shown in FIG. 7, unrecorded data of “unrecorded 3” is recorded on the optical disc 10, and a free area is secured as “recorded 3”. As a result, not only the data requested by the read command but also the subsequent data can be pre-read and stored in “recorded 2” and “recorded 3”, and an improvement in reading speed due to a data hit can be expected. . Further, when the read command continues and no data hits in the buffer memory 38 (S203 in FIG. 3), the unrecorded data is gradually recorded (S204) before the read command processing, so as early as possible. Can process unrecorded data. In FIG. 7, the state has changed from “unrecorded 3” to “recorded 3”, so that it happens to be “recorded 1”, “recorded 2”, “recorded 3”, and 4 ECC blocks. Note that although there are minutes of recorded areas, the use of the recorded areas in the buffer memory 38 does not necessarily have a continuous address arrangement.

図8は、未記録データの一部のライト動作を実行して空き領域をさらに確保した後に、光ディスク10から読み出したデータをバッファメモリ38に格納した状態であり、図3のS207を実行した後の状態である。「記録済1」にはリードコマンドで要求されたデータが2ECCブロック分格納され、「記録済2」と「記録済3」には先読みしたデータが2ECCブロック分格納されている。「記録済1」に格納されたデータは、その後ホスト装置に転送される(図3のS208)。ホスト装置から再びライトコマンドが発行されると、残る「未記録4」の記録を完了して、バッファメモリ38に未記録データが全くない状態から(S110)、再びデータの受信を始める(S101,S102)。   FIG. 8 shows a state in which the data read from the optical disk 10 is stored in the buffer memory 38 after executing a write operation of a part of the unrecorded data to further secure a free space, and after executing S207 in FIG. It is a state. “Recorded 1” stores the data requested by the read command for 2 ECC blocks, and “recorded 2” and “recorded 3” store the pre-read data for 2 ECC blocks. The data stored in “recorded 1” is then transferred to the host device (S208 in FIG. 3). When a write command is issued again from the host device, the remaining “unrecorded 4” recording is completed, and from the state where there is no unrecorded data in the buffer memory 38 (S110), data reception is started again (S101, S101). S102).

以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく種々の変更が可能である。   As mentioned above, although embodiment of this invention was described, this invention is not limited to this, A various change is possible.

例えば、本実施形態では、システムコントローラ32がバッファメモリ38への書き込み及び読み出しを制御しているが、システムコントローラ32とは別のメモリコントローラで制御してもよいのはいうまでもない。   For example, in the present embodiment, the system controller 32 controls writing and reading to and from the buffer memory 38, but it goes without saying that the system controller 32 may be controlled by a memory controller different from the system controller 32.

また、本実施形態では、データヒット(キャッシュヒット)の確率を向上させるべく、リードコマンドを実行する前に残存ライトデータの一部を光ディスク10に記録して先読みデータを格納するための領域を確保しているが、S204の処理を実行することなくデータリード処理を行ってもよい。この場合、既に存在する空き領域の容量を確認し、リードコマンドで要求されたデータ量がこの空き容量よりも小さい場合に、その差に相当する分のデータのみを先読みしてバッファメモリ38に格納する。   In this embodiment, in order to improve the probability of a data hit (cache hit), an area for storing a part of the pre-read data by recording a part of the remaining write data on the optical disc 10 before executing the read command is secured. However, the data read process may be performed without executing the process of S204. In this case, the capacity of the already existing free area is confirmed, and if the amount of data requested by the read command is smaller than this free capacity, only the data corresponding to the difference is prefetched and stored in the buffer memory 38. To do.

さらに、本実施形態では、基本的にバッファメモリ38をライトデータを格納する領域と光ディスク10から読み出したリードデータを格納する領域とに論理的に分割していないが、従来技術と同様にバッファメモリ38の一部をリードデータの専用領域に割り当てることもできる。この場合、常にリードデータの格納領域が存在することになるので、S202においてバッファに空きがあるか否かを判定する必要はない。   Further, in the present embodiment, the buffer memory 38 is basically not logically divided into an area for storing write data and an area for storing read data read from the optical disk 10, but the buffer memory 38 is similar to the conventional technique. A part of 38 can be allocated to a dedicated area for read data. In this case, since there is always a storage area for read data, it is not necessary to determine whether or not there is an empty buffer in S202.

実施形態に係る光ディスク装置の全体構成図である。1 is an overall configuration diagram of an optical disc device according to an embodiment. 実施形態の処理フローチャート(その1)である。It is a processing flowchart (the 1) of an embodiment. 実施形態の処理フローチャート(その2)である。It is a processing flowchart (the 2) of an embodiment. バッファメモリの状態説明図である。It is a state explanatory view of the buffer memory. バッファメモリの他の状態説明図である。It is another state explanatory drawing of a buffer memory. バッファメモリのさらに他の状態説明図である。It is another state explanatory drawing of a buffer memory. バッファメモリのさらに他の状態説明図である。It is another state explanatory drawing of a buffer memory. バッファメモリのさらに他の状態説明図である。It is another state explanatory drawing of a buffer memory.

符号の説明Explanation of symbols

10 光ディスク、16 光ピックアップ、32 システムコントローラ、38 バッファメモリ。   10 optical disk, 16 optical pickup, 32 system controller, 38 buffer memory.

Claims (3)

光ディスクに記録すべきデータを格納するとともに、光ディスクから読み出したデータを格納するバッファメモリを有する光ディスク装置であって、
外部装置からライトコマンドに従い、前記バッファメモリに論理アドレスが連続するライトデータを満状態まで受信した後に前記外部装置からリードコマンドを受信した場合であって、前記バッファメモリに格納されているデータのうち、前記リードコマンドが要求するデータ量に応える、少なくとも記録済データ領域を含む空きデータ領域が存在するか否かを所定のデータ量単位で判定する判定手段と、
前記判定手段で前記リードコマンドが要求するデータ量に応える空きデータ領域が存在すると判定された場合に、前記ライトデータを前記光ディスクの物理アドレス順に記録する処理の間であって光ディスクの物理アドレスに対する光ピックアップの離散的移動を生じるタイミングで前記記録処理を中断して前記リードコマンドに応じて前記光ディスクからデータを読み出し、読み出したデータを前記空きデータ領域に格納する制御手段と、
を有することを特徴とする光ディスク装置。
An optical disc apparatus having a buffer memory for storing data to be recorded on an optical disc and storing data read from the optical disc,
According to the write command from the external device, when the read data is received from the external device after receiving the write data having continuous logical addresses in the buffer memory to the full state, the data stored in the buffer memory Determining means for determining whether or not there is a free data area including at least a recorded data area in response to the data amount requested by the read command;
When it is determined by the determination means that there is an empty data area corresponding to the amount of data requested by the read command, the optical data corresponding to the physical address of the optical disk is processed during the process of recording the write data in the order of the physical address of the optical disk. Control means for interrupting the recording process at the timing of causing a discrete movement of the pickup , reading data from the optical disc in response to the read command, and storing the read data in the empty data area;
An optical disc apparatus comprising:
請求項1記載の装置において、
前記制御手段は、前記光ディスクへの記録が完了していないデータ領域のうちの一部のデータについて前記光ディスクへの記録を実行することで空きデータ領域を増大し、増大した空きデータ領域に前記リードコマンドに応じて前記光ディスクから読み出したデータ及びこれに続く先読みデータを格納する
ことを特徴とする光ディスク装置。
The apparatus of claim 1.
The control means increases the empty data area by executing recording on the optical disk for a part of the data area that has not been recorded on the optical disk, and reads the read data into the increased empty data area. An optical disc apparatus characterized by storing data read from the optical disc in response to a command and pre-read data following the data.
光ディスクに記録すべきデータを格納するとともに、光ディスクから読み出したデータを格納するバッファメモリを有する光ディスク装置であって、
前記バッファメモリには、前記光ディスクから読み出したデータを格納するリードデータ専用領域が設けられ、
外部装置からライトコマンドに従い、前記バッファメモリに論理アドレスが連続するライトデータを満状態まで受信した後に前記外部装置からリードコマンドを受信した場合であって、前記ライトデータを前記光ディスクの物理アドレス順に記録する処理の間であって光ディスクの物理アドレスに対する光ピックアップの離散的移動を生じるタイミングで前記記録処理を中断して前記リードコマンドに応じて前記光ディスクからデータを読み出し、読み出したデータとこれに続く先読みデータを、前記リードデータ専用領域と少なくとも記録済データ領域を含む空きデータ領域に格納する制御手段と、
を有することを特徴とする光ディスク装置。
An optical disc apparatus having a buffer memory for storing data to be recorded on an optical disc and storing data read from the optical disc,
The buffer memory is provided with a read data dedicated area for storing data read from the optical disc,
According to a write command from an external device, the write data is recorded in the physical address order of the optical disk when the read data is received from the external device after the write data having continuous logical addresses is received to the buffer memory to the full state. The recording process is interrupted at a timing that causes a discrete movement of the optical pickup with respect to the physical address of the optical disk, and data is read from the optical disk in response to the read command. Control means for storing data in a free data area including the read data dedicated area and at least a recorded data area;
An optical disc apparatus comprising:
JP2004356222A 2004-11-10 2004-12-09 Optical disk device Expired - Fee Related JP4281680B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004356222A JP4281680B2 (en) 2004-11-10 2004-12-09 Optical disk device
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 (en) 2004-11-10 2005-11-10 Optical disc device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004326989 2004-11-10
JP2004356222A JP4281680B2 (en) 2004-11-10 2004-12-09 Optical disk device

Publications (2)

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

Family

ID=36575725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004356222A Expired - Fee Related JP4281680B2 (en) 2004-11-10 2004-12-09 Optical disk device

Country Status (4)

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

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100945513B1 (en) * 2004-12-03 2010-03-09 삼성전자주식회사 Optical disc write stating Apparatus and Method
JP4770602B2 (en) * 2006-06-23 2011-09-14 株式会社デンソー Electronics
JP5291311B2 (en) * 2007-08-31 2013-09-18 株式会社アイ・オー・データ機器 USB storage system and data transfer control program
TW200915313A (en) * 2007-09-21 2009-04-01 Quanta Storage Inc Reading/writing method for an optical method
JP2010211880A (en) * 2009-03-11 2010-09-24 Sharp Corp Disk driving device, control method thereof, program, and recording medium
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 (en) 1993-09-24 1995-04-07 Nikon Corp Optical disk recording/reproducing apparatus
JP2000339856A (en) 1999-05-26 2000-12-08 Matsushita Electric Ind Co Ltd Device and method for recording and reproducing information
JP2001256721A (en) 2000-03-13 2001-09-21 Nec Corp Information signal reproducing device and information signal reproducing method
JP2002077828A (en) 2000-08-28 2002-03-15 Fujitsu Ltd Data stream recorder/reproducer
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 (en) 2001-12-26 2003-07-11 Sharp Corp Disk recording and playback device
JP3659498B2 (en) * 2002-01-18 2005-06-15 パイオニア株式会社 Information recording medium, information recording apparatus and method, information reproducing apparatus and method, information recording / reproducing apparatus and method, computer program for recording or reproduction control, and data structure including control signal
JP3940902B2 (en) * 2002-04-22 2007-07-04 ソニー株式会社 Information processing apparatus, information processing apparatus control method, information processing apparatus control program, and recording medium recording information processing apparatus control program
JP2004079055A (en) * 2002-08-14 2004-03-11 Toshiba Corp Optical disk device, optical disk processing method, and optical disk

Also Published As

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

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 (en) Optical disc device
JP3796858B2 (en) Optical disk reading device
JP4082670B2 (en) Recording method and information recording apparatus
US7623426B2 (en) Optical disk apparatus
JPWO2009050765A1 (en) Medium storage device read / write processing method and medium storage device
JP4290678B2 (en) Method and apparatus for copying / moving data of optical recording medium
JP4258332B2 (en) Optical disk device
JP4737155B2 (en) Disk unit
JP3637346B1 (en) Information recording apparatus, information recording method, and program
JP2008508650A (en) Manage record carrier data space
JP2008503844A (en) Real-time information defect management
JP2005129168A (en) Device and method for recording information, and program
EP0825592B1 (en) Method for reading read-only memory
JP2008503847A (en) Managing defects at the file level
US7957235B2 (en) Disk drive and information processing system having the same
JP4111852B2 (en) Data transfer device, drive device, optical information recording device, data transfer device program, drive device program, storage medium for storing data transfer device program, storage medium for storing drive device program, data transfer method, and drive Method
JP2006099917A (en) Optical disk system
JP2005293837A (en) Drive device, program for drive device, storage medium, and drive method
JPH1064066A (en) Optical disk information recording system
JPH11143644A (en) Reproducing device and cache processing method
JP2008198259A (en) Optical disk device
JP2004103169A (en) Recording method, program and recording medium, and information recording device
JPH11345159A (en) Reproducing device, and recording and reproducing device
CN1790533A (en) Optical disc apparatus

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