# Patent

## Title
Controller for data recorder

## Abstract

A controller for a data recorder for recording data that records data in a continuous manner regardless of interruptions. An encoder encodes data that is to be written to a recording medium. A synchronizing circuit synchronizes the data read from the recording medium with the encoded data when the writing of data to the recording medium is interrupted. A first retry determination circuit determines whether an address of the data read from the recording medium and an address of the data provided to the encoder match. A second retry determination circuit determines whether the timing for reading data from recording medium and the timing for encoding data match. A restart circuit restarts the writing of data to the recording medium based on the determinations of the first and second retry determination circuits.

## Background
BACKGROUND OF THE INVENTION
The present invention relates to a controller for a data recorder, and more particularly, to a controller for a data recorder having a buffer memory for storing data provided from an external device and recording the stored data of the buffer memory on a recording medium.
An optical disc recorder records data on an optical disc, which serves as a recording medium. A CD-DA family compact disc-recordable (CD-R) drive is one type of optical disc recorder that is widely used. A CD-R is a so-called write-once optical disc on which data is written only once. The recorded data cannot be physically deleted. A laser beam is irradiated against the optical disc from an optical head of the CD-R drive. The heat of the laser beam melts a dye and forms recording pits on a recording layer of the optical disc. Data is recorded on the disc by changing the reflecting rate of the recording layer.
The optical disc recorder includes a buffer memory and an encoder. The buffer memory temporarily stores data provided from an external device, such as a personal computer. The encoder reads the data from the buffer memory and encodes the read data to record the data on the optical disc.
In such an optical disc recorder, if, for example, the rate of data transmission from the external device is slower than the recording data transmission rate of the optical disc (write speed), the transmission rate of the recording data output from the encoder is faster than the transmission rate of the data provided to the buffer. This decreases the amount of data stored in the buffer memory. If the decrease continues, the data amount ultimately becomes null and the buffer memory becomes empty. This stops the stream of data to the encoder and causes an interruption in the data recorded on the optical disc. This problem is referred to as buffer underrun. The interruption in the data recorded on the optical disc resulting from buffer underrun is referred to as a buffer underrun error.
Data is recorded on an optical disc using a recording technique that designates the file group recorded on the optical disc (e.g., disc at once, track at once). Thus, if a buffer underrun error occurs, the entire optical disc becomes unusable when employing disc at once, and the track undergoing recording becomes unusable when employing track at once.
Recent CD-R drives record data at a speed four times or eight times the normal recording speed. Further, recent personal computers have multitasking functions to operate CD-R drives. This has increased the tendency of the occurrence of buffer underrun errors.
Packet writing is one type of data recording that records data in packet units. Packet writing records data on an optical disc when the data reaches the capacity of the packet. This prevents the occurrence of buffer underrun errors. However, link blocks must be formed to connect packets in packet writing. The link blocks decrease the recording capacity of the optical disc. Further, there are CD-ROM drives that are not capable of handling packet writing. Such CD-ROM drives cannot reproduce data written to optical discs through packet writing. In other words, the CD-ROM compatibility required by the CD-R standard (Orange Book Part II) does not include packet writing. For example, packet writing cannot be applied for a CD-DA player. Thus, a CD-R drive cannot record CD-DA audio data through packet writing. Accordingly, there is a need for preventing buffer underrun errors without employing packet writing.
A CD-recordable write (CD-RW) drive is another type of optical disc recorder that is widely used. A CD-RW drive irradiates a laser beam from an optical head against an optical disc. The heat of the laser beam causes phase changes between amorphic and crystalline to form recording pits on the recording layer of the optical disc. This changes the reflecting rate of the recording layer and records data on the optical disc. Data can be repeatedly rewritten to optical discs used by the CD-RW drive. Accordingly, the optical disc remains usable even if a buffer underrun error occurs. However, when a buffer underrun error occurs, the data file that was being recorded before the occurrence of the buffer underrun error must be recorded again. This wastes the recording performed prior to the occurrence of the buffer underrun error and increases the recording time.
A magneto-optic disc recorder is another type of known data recorder. The magneto-optic disc recorder irradiates a laser beam from an optical head against a magneto-optic disc. This applies residual magnetization to the recording layer of the optical disc and records data on the magneto-optic disc. Mini disc (MD) drives are widely used magneto-optic disc recorders. However, MD drives have the same problem as CD-RW drives.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a controller for a data recorder that records data in a manner that the continuity of the data is ensured even if the recording of data to a recording medium is interrupted.
To achieve the above object, the present invention provides a controller for controlling interruption and restarting of data writing to a recording medium. The data written to the recording medium is read from a buffer memory. The controller includes an encoder connected to the buffer memory. The encoder receives the data read from the buffer memory and encodes the read data to generate encoded data. A synchronizing circuit synchronizes the written data read from the recording medium with the encoded data when the writing of data to the recording medium is interrupted. A first retry determination circuit determines whether an address of the write data, which is read from the recording medium, and an address of the read data, which is provided to the encoder from the buffer memory, match. A second retry determination circuit determines whether a timing for reading the write data from the recording medium and a timing for encoding the read data match. A restart circuit restarts the writing of data to the recording medium based on the determinations of the first and second retry determination circuits.
A further embodiment of the present invention provides a controller for controlling interruption and restarting of data writing to a recording medium. The data written to the recording medium is read from a buffer memory. The controller includes an encoder connected to the buffer memory. The encoder receives the data read from the buffer memory and encodes the read data to generate encoded data. One or more address memories are connected to the buffer memory. The one or more address memories store a write data address of the data written to the recording medium and a read data address of the data read from the buffer memory when the writing of data to the recording medium is interrupted. The write data address and the read data address each indicate a location of the data when the interruption occurs. A synchronizing circuit synchronizes the written data read from the recording medium with the encoded data. A first retry determination circuit determines whether an address of the written data, which is read from the recording medium, and the write data address, which is stored in the one or more address memories, match, and determines whether an address of the read data, which is provided to the encoder from the buffer memory, and the read data address, which is stored in the one or more address memories, match. A second retry determination circuit determines whether a timing for reading the written data from the recording medium and a timing for encoding the read data match. A restart circuit restarts the writing of data to the recording medium based on the determinations of the first and second retry determination circuits.
The present invention further provides a controller for controlling interruption and restarting of data writing to a recording medium. The data written to the recording medium is read from a buffer memory. The controller includes an encoder connected to the buffer memory. The encoder receives data read from the buffer memory and encodes the read data to generate encoded data. One or more address memories are connected to the buffer memory. The one or more address memories store a write data address of the data written to the recording medium and a read data address of the data read from the buffer memory when the writing of data to the recording medium is interrupted. The write data address and the read data address each indicate a location of the data when the interruption occurs. A synchronizing circuit synchronizes the written data read from the recording medium with the encoded data. A retry determination circuit determines whether an address of the written data, which is read from the recording medium, and the write data address, which is stored in the one or more address memories, match, and determines whether an address of the read data, which is provided to the encoder from the buffer memory, and the read data address, which is stored in the one or more address memories, match. The synchronizing circuit determines whether a timing for reading the written data from the recording medium and a timing for encoding the read data match. A restart circuit restarts the writing of data to the recording medium based on the determinations of the retry determination circuit and the synchronizing circuit.
Other aspects and advantages of the present invention will become apparent from the following description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.



BRIEF DESCRIPTION OF THE DRAWINGS
The invention, together with objects and advantages thereof, may best be understood by reference to the following description of the presently preferred embodiments together with the accompanying drawings in which:
FIG. 1 is a schematic block diagram showing a CD-R drive according to a preferred embodiment of the present invention;
FIG. 2(a) is a schematic diagram showing a sector of an optical disc;
FIG. 2(b) is a diagram illustrating addresses of a buffer memory of the CD-R drive of FIG. 1; and
FIG. 3 is a timing chart illustrating the synchronization of reproduction data and recording data; and
FIG. 4 is a schematic diagram showing a CD-R drive according to a further embodiment of the present invention.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
With reference to FIG. 1, a CD-R drive 1 includes a spindle motor 2, a spindle servo circuit 3, an optical head 4, an RF amplifier 5, a head servo circuit 6, a decoder 7, a subcode decoding circuit 8, a wobble decoder 9, an ATIP decoding circuit 10, an external connection terminal 11, an interface 12, a buffer memory 13, an encoder 14, an encoder internal RAM 15, a laser drive circuit 16, a crystal oscillation circuit 18, an access control circuit 19, a buffer underrun determination circuit 20, a recording control circuit 21, and a system control circuit 22. The CD-R drive 1 is connected to a personal computer 31 via the external connection terminal 11 to record data, which is provided from the personal computer 31, on an optical disc 32 that complies with the CD-R standards. Further, the CD-R drive 1 provides the personal computer 31 with data reproduced from the optical disc 32.
The spindle motor 2 rotates the optical disc 32. The spindle servo circuit 3 controls the spindle motor 2 so that the optical disc 32 is rotated using the constant linear velocity (CLV) method in accordance with a rotation control signal generated by the wobble decoder 9.
When reproducing data, the optical head 4 irradiates a relatively weak laser beam against the optical disc 32 and, from the reflected laser beam, generates an RF signal (high frequency signal) in correspondence with the data recorded on the optical disc. When recording data, the optical head 4 irradiates a relatively intense laser beam (several tens of times greater than the data reproducing laser beam) against the optical disc 32 to form recording pits on the recording layer of the optical disc 32 and change the reflecting rate of the recording layer to record data. In synchronism with the recording of data, the optical head 4 generates the RF signal in correspondence with the recorded data from the reflected laser beam.
The RF amplifier 5 amplifies the RF signal, which is provided from the optical head 4, and digitizes the amplified RF signal to generate a digital data signal. The RF signal of the optical head 4 is fed back to the head servo circuit 6 via the RF amplifier 5. The head servo circuit 6 uses the RF signal to perform focusing control, tracking control, and sled feed control. Focusing control focuses the laser beam on the recording layer of the optical disc 32. Tracking control tracks the laser beam along a signal track of the optical disc 32. Sled feed control moves the optical head 4 in the radial direction of the optical disc 32.
The decoder 7 decodes the digital data provided from the RF amplifier 5. Further, the decoder 7 generates a pit clock from the digital data and separates a subcode from the digital data to generate a subcode synchronizing signal.
The subcode decoding circuit 8, which is incorporated in the decoder 7, decodes the subcode. Further, the subcode decoding circuit 8 generates subcode Q channel data (hereafter referred to as sub-Q data) from the decoded subcode.
The wobble decoder 9 extracts a wobble component of 22.05 kHz from a pre-groove signal of the optical disc 32 that is included in the digital data provided from the RF amplifier 5. Then, the wobble decoder 9 generates the rotation control signal of the optical disc 32 from the wobble component.
The ATIP decoding circuit 10, which is incorporated in the wobble decoder 9, uses the wobble component to decode an absolute time in pre-groove (ATIP) and extract absolute time information, or an ATIP address, from the ATIP.
The interface 12 controls data transmission between the personal computer 31 and the CD-R drive 1.
The buffer memory 13 is a ring buffer that includes a synchronous dynamic random access memory (SDRAM), which preferably has a FIFO configuration, and the buffer memory 13 stores data provided from the personal computer 31 via the interface 12. Data stored at one address of the buffer memory 13 corresponds to data recorded at one sector of the optical disc 32.
An interrupt/restart circuit 43 of the system control circuit 22 controls the encoder 14. The encoder 14 reads the data stored in the buffer memory 13 in sector units and encodes the data into recording data for the optical disc 32. The RAM 15, which is incorporated in the encoder 14, stores the necessary data for encoding by the encoder 14 and intermediate operation encoding data. When performing data encoding in compliance with the CD-ROM standard, the encoder 14 adds a synch byte, a header, CD-ROM data error detection code (EDC), and an error correction code (ECC) to the data. The encoder 14 further performs error correction using a cross interleaved Reed-Solomon code (CIRC), which is a CD error correction code, and eight to fourteen modulation (EFM) on the data. Further, the encoder 14 adds a subcode, which includes the sub-Q data, and a synchronizing signal of the subcode to the data.
The interrupt/restart circuit 43 also controls the laser drive circuit 16, which provides a laser drive signal to the laser beam source of the optical head 4. The voltage of the drive signal is constant when reproducing data and varied in accordance with the recording data output from the encoder 14 when recording data. When the recording data output from the encoder 14 is low (L), recording pits are not formed on the recording layer of the optical disc 32. Thus, the drive signal is set so that its voltage is the same as when data is reproduced. When the recording data is high (H), although the voltage of the drive signal differs between track positions, the drive signal is set so that its voltage is several tens of times greater than during data reproduction to form recording pits on the recording layer of the optical disc 32.
The crystal oscillation circuit 18 generates an oscillation signal based on the oscillation of a crystal oscillator.
The access control circuit 19 selectively refers to the subcode address of the absolute time information in the sub-Q data and the ATIP address of the absolute time information in the ATIP to control the recording control circuit 21 and the head servo circuit 6. This controls access to the optical disc 32.
The data provided to the buffer memory 13 is stored in the buffer memory 13 in a predetermined address order. The buffer underrun determination circuit 20 directly or indirectly determines the amount of data stored in the buffer memory 13 from the address at which writing or reading is presently performed. Based on the data amount, the buffer underrun determination circuit 20 determines whether or not the buffer memory 13 is in a state in which a buffer underrun may occur.
Based on the determination result of the buffer underrun determination circuit 20 and in response to a command provided from the personal computer 31, the recording control circuit 21 controls the interface 12, the access control circuit 19, and the system control circuit 22.
The system control circuit 22 includes a system clock generation circuit 41, a signal synchronizing circuit 42, the interrupt/restart circuit 43, a first retry determination circuit 44, a second retry determination circuit 60, location detection circuits 45, 46, and address memories 47, 48. These circuits 41–48 are laid out on the same chip of an LSI substrate.
The system clock generation circuit 41 generates from the oscillation signal of the crystal oscillation circuit 18 a reference clock used when recording data. Further, the generation circuit 41 uses a pit clock extracted by the decoder 7 to generate a reproduction clock used when reproducing data. The generation circuit 41 selects the reference clock or the reproduction clock in accordance with the switching control performed by the signal synchronizing circuit 42. The selected clock is used as a system operational clock of the CD-R drive 1. In accordance with the operational clock, the CD-R drive 1 controls the synchronization of the circuits 7–10, 12–16, and 19–22.
In accordance with the synchronizing signal of the subcode from the decoder 7 and the sub-Q data from the subcode decoding circuit 8, the signal synchronizing circuit 42 controls the recording control circuit 21 so that the recording data output from the encoder 14 is synchronized with the data recorded on the optical disc 32. When performing this control, the sub-Q data of the subcode decoding circuit 8 is associated with the sub-Q data of the encoder 14 after synchronizing the subcode synchronizing signal of the decoder 7 with the subcode synchronizing signal of the encoder 14. The signal synchronizing circuit 42 controls the system clock generation circuit 41 so that the reference clock or the reproduction clock is output.
The recording control circuit 21 controls the interrupt/restart circuit 43. The interrupt/restart control circuit 43 controls the encoder 14 and the laser drive circuit 16 and, when the buffer underrun determination circuit 20 determines that the buffer memory 13 has entered a state in which a buffer underrun may occur, provides the address memories 47, 48 with a recording interrupt signal.
The address memory 47 stores the address of the read data in the buffer memory 13 when receiving the recording interrupt signal from the interrupt/restart circuit 43.
The address memory 48 stores the address of the ATIP decoded by the ATIP decoding circuit 10 when receiving the recording interrupt signal from the interrupt/restart circuit 43.
When data is reproduced during a recording restart mode (described later), the location detection circuit 45 compares the address of the data read from the buffer memory 13 with the address stored in the address memory 47. If the data address and the stored address are the same, the location detection circuit 45 activates the recording restart signal.
When data is reproduced during the recording restart mode, the location detection circuit 46 compares the address of the ATIP decoded by the ATIP decoding circuit 10 with the ATIP address stored in the address memory 48. If the decoded ATIP address and the stored ATIP address are the same, the location detection circuit 46 activates the recording restart signal.
The first retry determination circuit 44 instructs the recording control circuit 21 to restart the recording operation of the interface 12, the access control circuit 19, and the system control circuit 22 when the restart signals of the location detection circuits 45, 46 are simultaneously activated. When the two restart signals are not synchronously activated (when the restart signals are activated at different timings), the first retry determination circuit 44 instructs the control circuit 21 to repeatedly perform data reproduction in the recording restart mode until the two restart signals are synchronously activated.
The operation of the CD-R drive 1 will now be discussed.
When a user manipulates the personal computer 31 to record data, the personal computer 31 generates a command accordingly. The command is transferred to the recording control circuit 21 via the interface 12. In response to the command, the recording control circuit 21 controls the interface 12, the access control circuit 19, and the system control circuit 22 to record data.
When recording begins, the signal synchronizing circuit 42 switches the operational clock output of the system clock generation circuit 41 to the reference clock. As a result, the circuits 7–10, 12–16, 19–22 of the CD-R drive 1 are synchronized with the operational clock, or the reference clock.
The data provided from the personal computer 31 is stored in the buffer memory via the interface 12 and read from the buffer memory 13 in sector units. The encoder 14 encodes the data read from the buffer memory 13 in sector units to generate recording data. The laser drive circuit 16 provides the optical head 4 with drive signal having a voltage corresponding to the recording data. In accordance with the drive signal, the optical head 4 changes the intensity of the laser beam irradiated against the optical disc 32. This forms recording pits on the recording layer of the optical disc 32 and records data on the optical disc 32. Simultaneously, from the laser beam reflected by the optical disc 32, the optical head 4 reproduces the data recorded on the optical disc 32 as the RF signal. The RF amplifier 5 amplifies the RF signal provided from the optical head 4 to generate digital data. The wobble decoder 9 extracts the wobble component from the digital data and uses the wobble component to generate the rotation control signal. In accordance with the rotation control signal, the spindle servo circuit 3 controls the spindle motor 2 so that the optical disc 32 is rotated at a constant linear velocity. The ATIP decoding circuit 10 decodes the ATIP using the wobble component and extracts the ATIP address of the absolute time information in the ATIP.
When the transmission rate of the data provided from the personal computer 31 is slower than the transmission rate of the data recorded in the optical disc 32 (write speed), that is, when the transmission rate of the data provided to the buffer 13 is slower than that of the data output from the encoder 14, the amount of data stored in the buffer memory 13 decreases. When the buffer underrun determination circuit 20 determines that a buffer underrun error may occur in the buffer memory 13, the recording control circuit 21 controls the interrupt/restart circuit 43 so that, before the occurrence of a buffer underrun in the buffer memory 13, the address memories 47, 48 are accordingly provided with the interrupt signal and the output of recording data from the encoder 14 is interrupted. In response to the address memories 47, 48, the address memories 47, 48 store the data address of the buffer memory 13 when receiving the interrupt signal. In other words, the address memory 47 stores the buffer memory address of the data read from the buffer memory 13 when receiving the interrupt signal. The address memory 48 stores the ATIP address of the ATIP decoding circuit 10 when receiving the interrupt signal.
When the output of the recording data from the encoder 14 is interrupted, the transmission of the drive signal from the laser drive circuit 16 to the optical head 4 is impeded. This stops the emission of the laser beam from the optical head 4 and interrupts the recording of data on the optical disc 32. When the interrupt/restart circuit 43 outputs the interrupt signal, the sector of the data being output from the encoder 14 is recorded on the optical disc 32. The interrupt signal of the interrupt/restart circuit 43 may be output at times between sectors of the recording data.
Subsequent to the recording interruption, the data provided from the personal computer 31 is stored in the buffer memory 13 via the interface 12. As the amount of data stored in the buffer memory 13 increases, the state in which a buffer underrun may occur no longer exists. When the buffer underrun determination circuit 20 determines that buffer underrun is not likely to occur, the recording control circuit 21 controls the access control circuit 19 and the system control circuit 22 to perform data reproduction in the recording restart mode.
When data reproduction is performed in the recording restart mode, the access control circuit 19 controls the head servo circuit 6. The head servo circuit 6 controls focusing, tracking, and sled feed of the optical head 4 to move the optical head 4 to a sector location that is prior by a predetermined number of sectors from the sector at which the recording interruption occurred. The optical head 4 then irradiates the laser beam from that sector location.
The interrupt/restart circuit 43 controls the laser drive circuit 16 so that a drive signal having a constant voltage is output from the laser drive circuit 16. This results in the optical head 4 irradiating the optical disc 32 with a relatively weak laser beam. The reflected laser beam reproduces the data recorded on the optical disc prior to the recording interruption, and the optical head 4 outputs the RF signal. The RF signal is amplified by the RF amplifier 5 and converted to digital data. The decoder 7 decodes the digital data, extracts a pit clock from the digital data, and separates a subcode from the digital data. A subcode synchronizing signal is generated from the subcode. The subcode is decoded by the subcode decoding circuit 8 to generate the sub-Q data.
When data reproduction in the recording restart mode is started, the signal synchronizing circuit 42 switches the operational clock from the reference clock of the crystal oscillation circuit 18 to the reproduction clock of the decoder 7. The circuits 7–10, 12–16, 19–22 of the CD-R drive 1 are operated in accordance with the reproduction clock. By using the reproduction clock, the data recorded on the optical disc 32 prior to the recording interruption is accurately reproduced.
The recording control circuit 21 controls the interrupt/restart circuit 43 to instruct the encoder 14 to restart the output of the recording data. The encoder 14 goes back by a predetermined number of sectors from the data address of the buffer memory 13 at which the recording interruption occurred and starts reading data in sector units from that sector of the buffer memory 13. The encoder 14 adds a synch byte, a header, an EDC, and an ECC to the read data, performs the CIRC and EFM processes, and adds a subcode, which includes the sub-Q data, and the subcode synchronizing signal to the read data.
The drive signal of the laser drive circuit 16 is constant during data reproduction in the recording restart mode. In other words, the drive signal of the laser drive circuit 16 has a low voltage. Accordingly, laser irradiation does not affect the data recorded on the optical disc prior to the interruption.
The signal synchronizing circuit 42 controls the access control circuit 19 via the recording control circuit 21 and synchronizes the data recorded on the optical disc 32 with the recording data output from the encoder 14. In other words, the signal synchronizing circuit 42 controls the recording control circuit 21 and the access control circuit 19 so that the subcode synchronizing signal of the decoder 7 is synchronized with the subcode synchronizing signal of the encoder 14 and the sub-Q data of the subcode decoding circuit 8 is associated with the sub-Q data of the encoder 14.
The location detection circuit 45 compares the address of the data read from the buffer memory 13 with the address stored in the address memory 47 and activates the restart signal when the data address and the stored address are the same. The address stored in the address memory 47 is the address of the data read from the buffer memory 13 when the recording of data is interrupted. The ATIP address stored in the address memory 48 is the address of the ATIP decoded by the ATIP decoding circuit 10 when the recording of data is interrupted.
The location detection circuit 46 compares the ATIP address of the ATIP decoding circuit 10 with the ATIP address stored in the address memory 48 and activates the restart signal when the ATIP address and the stored address are the same. The ATIP address stored in the address memory 48 is the ATIP address decoded by the ATIP decoding circuit 10 when the recording of data is interrupted.
When the restart signals of the location detection circuits 45, 46 are simultaneously activated, the first retry determination circuit 44 controls the interface 12, the access control circuit 19, and the system control circuit 22 via the recording control circuit 21. The signal synchronizing circuit 42 switches the operational clock of the system clock generation circuit 41 from the reproduction clock to the reference clock when recording is restarted.
Upon the restart of the recording, the address memory 47 and the location detection circuit 45 shift the address of the data read from the buffer memory 13 to the address next to the address at which data recording was interrupted. Further, the address memory 48 and the location detection circuit 46 shift the sector location of the optical disc 32 irradiated by the laser beam to the sector location next to the sector location at which data recording was interrupted. In this state, the signal synchronizing circuit 42 synchronizes the recording data output from the encoder 14 with the data recorded on the optical disc 32. Accordingly, the data of the sector next to the sector at which data recording was interrupted is recorded upon the restart of the recording. In other words, sectors of data are recorded without any interruptions when restarting recording. This ensures the continuity of the recorded data while preventing the occurrence of a buffer underrun error.
When the two restart signals of the location detection circuits 45, 46 are not synchronously activated (when the two restart signals are activated at different times), the first retry determination circuit 44 provides an error flag to the recording control circuit 21 until the two restart signals are synchronously activated. The recording control circuit 21 repeatedly performs data reproduction in the recording restart mode in accordance with the error flag. In other words, if an external disturbance occurs for one reason or another (e.g., the application of an external impact to the CD-R drive), the elements 2–22 of the CD-R drive 1 may function erroneously such that the two restart signals are not synchronously activated. Thus, the first retry determination circuit 44 repeats data reproduction to avoid the influence of an external disturbance. If the two restart signals of the location detection circuits 45, 46 are always synchronously activated, the first retry determination circuit 44, the location detection circuit 45, and the address memory 47 may be omitted.
FIG. 2(a) is a schematic view showing a sector of the optical disc 32. FIG. 2(b) is a diagram illustrating the addresses of the buffer memory 13. Sectors Sn+1, Sn, Sn−1, Sn−2, . . . , Sn-m shown in FIG. 2(a) are respectively associated with addresses An+1, An, An−1, An−2, . . . , An-m shown in FIG. 2(b).
During recording, data is read from the buffer memory 13 in the order of addresses An-m, . . . , An−2, An−1, An, and the recording data encoded by the encoder 14 is recorded on the optical disc 32 in the order of sectors Sn-m, . . . , Sn−2, Sn−1, Sn. For example, if the buffer underrun determination circuit 20 determines during the recording of data that a bus underrun may occur at address An, the data of sector Sn, which is associated with address An, is recorded. However, the recording of data is interrupted from the sector Sn+1, which is associated with address An+1.
When the recording of data is interrupted, address An is stored in the address memory 47, and the address of the ATIP decoded from the data recorded at sector Sn is stored in the address memory 48. Afterward, when the buffer underrun determination circuit 20 determines that a buffer underrun is no longer likely to occur, data reproduction in the recording restart mode is commenced from sector Sn-m by going back from sector Sn, at which recording was interrupted, by a predetermined number of sectors (in this case, m sectors).
When data reproduction is commenced, data is read from the buffer memory 13 from address An-m by going back from address An, at which recording was interrupted, by a predetermined number of addresses (m addresses). The read data is encoded into recording data by the encoder 14.
The signal synchronizing circuit 42 synchronizes the recording data output from the encoder 14 with the data recorded on the sectors Sn-m to Sn of the optical disc 32. Then, when the address of the data read from the buffer memory 13 matches the address An stored in the address memory 47, the restart signal of the location detection circuit 45 is activated. When the address of the ATIP decoded by the ATIP decoding circuit 10 matches the ATIP address of the sector Sn stored in the address memory 48, the restart signal of the location detection circuit 46 is activated. When the two restart signals of the location detection circuits 45, 46 are simultaneously activated, the first retry determination circuit 44 restarts the recording of data from sector Sn+1, which is next to the sector Sn at which data recording was interrupted.
The synchronization of the data written to the optical disc and the newly encoded data before recording restart will now be discussed. The encoder 14 functions in accordance with the operational clock generated by the system clock generation circuit 41. When performing the reproduction operation during the recording restart mode subsequent to the recording interruption, it is difficult to synchronize the rotation of the optical disc 32 with the output of the encoder 14 if an operational clock signal generated from an oscillation output of the crystal oscillation circuit 18 is used. This is because the rotating speed of the optical disc 32 during reproduction is not stable. Accordingly, during the reproduction operation in the recording restart mode, the system clock generation circuit 41 outputs a pit clock signal as the operational clock signal. The pit clock signal is generated using data pieces recorded on a CD at predetermined pit intervals. The employment of the pit clock signal synchronizes the data output speed of the encoder 14 with the output speed of the recording data read from the optical disc 32 regardless of the rotating speed of the optical disc 32.
To synchronize the reproduced recording data and the encoded data, a synchronizing signal of a subcode assigned to the head of the read recording data sector is generated, and the operation of the encoder 14 is synchronized with the synchronizing signal. The synchronizing signal goes high whenever the head of a sector is read. The synchronizing signal of the subcode is used because the data of the CD is read in sector units.
The generation of the subcode synchronizing signal will now be discussed. Each sector has 98 eight to fourteen modulation (EFM) frames. A synch pattern and a subcode are assigned to the head of each EFM frame. Then, data having 32 bytes is designated next to the synch pattern and the subcode. A sub-Q code is extracted from the subcode. The sub-Q codes of the 98 EFM frames are connected. The connected sub-Q codes are used to obtain track and time information and detect errors from the read data. Error detection is also continuously performed when data is read from a CD in a normal operation. A signal having a high level may be output whenever the error detection of the read data is completed to facilitate the generation of the subcode synchronization signal.
A predetermined synch pattern recorded on each EFM frame may be used to generate the synchronizing signal. However, it is preferred that the synchronizing signal be generated from the sub-Q code since the error detection, which employs the sub-Q code, is performed for each sector.
Accordingly, by synchronizing the recording data and the encoded data, the recording of data is restarted continuously from the location where recording was interrupted based on the address information of the recording data.
The first retry determination circuit 44 determines whether to restart recording based on the restart signals received from the two location detection circuits 45, 46. The location detection circuit 45 monitors the address of the data that is to be encoded, and the location detection circuit 46 monitors the address of the reproduced data. However, even if two addresses are matched, this does not guarantee perfect synchronization of the addresses with the pit clock signal. The signal synchronizing circuit 42 synchronizes the recording data and the encoded data before the first retry determination circuit 44 determines that the addresses are matched. However, if synchronization with the pit clock signal is not achieved due to an external disturbance or the like, data recording cannot be started in an accurately continuous manner even if the first retry determination circuit 44 determines to restart recording when the two addresses are matched.
Therefore, the second retry determination circuit 60 is connected to the signal synchronizing circuit 42. After the first retry determination circuit 44 determines that the addresses are matched, the second retry determination circuit 60 determines whether data is synchronized in pit clock units based on the subcode synchronizing signal.
The second retry determination circuit 60 determines whether data is synchronized in pit clock units after the first retry determination circuit 44 determines to restart recording. That is, the second retry determination circuit 60 determines whether the recording data read timing and the data encoding timing of the encoder 14 are matched. If the second retry determination circuit 60 determines that synchronism of data has been achieved, the signal synchronizing circuit 42 restarts recording. If the second retry determination circuit 60 determines that data is not synchronized, the signal synchronizing circuit 42 repeats the reproduction operation in the recording restart mode.
The second retry determination circuit 60 is separated from the signal synchronizing circuit 42 and operates in response to a signal from the first retry determination circuit 44. Alternatively, the signal synchronizing circuit 42 may be provided with the function of the second retry determination circuit (FIG. 4). In this case, the signal synchronizing circuit 42 determines whether data is synchronized in pit clock units after the first retry determination circuit 44 determines that the addresses are matched. In other words, the signal synchronizing circuit 42 performs a final synchronization check so that the recording data and the encoded data are perfectly synchronized in pit clock units. Since the signal synchronizing circuit 42 includes the function of the second retry determination circuit 60, the circuit scale remains small.
When the subcode synchronizing signal of the data encoded by the encoder 14 and the subcode synchronizing signal of the recording data provided by the decoder 7 are perfectly synchronized, the second retry determination circuit 60 sends a restart signal to the recording control circuit 21 through a connection line (not shown). The first retry determination circuit 44 invalidates the error flag provided to the recording control circuit 21 in response to the restart signals from the location detection circuits 45, 46. The recording control circuit 21 restarts recording when the error flag of the first retry determination circuit 44 is invalidated and the second retry determination circuit 60 outputs a restart signal.
Alternatively, the error flag may be invalidated, for example, when the first retry determination circuit 44 receives restart signals from the second retry determination circuit 60 and the location detection circuits 45, 46. Further, the first retry determination circuit 44 may provide the second retry determination circuit 60 with the error flag, and the second retry determination circuit 60 may provide the recording control circuit 21 with an error flag. In each of these cases, it is preferred that the circuit be designed so that data synchronization is determined in pit clock units after address matching is determined.
It is preferred that the predetermined sector number (m sectors) be sufficient for obtaining time period T1, which is required for the spindle servo circuit 3 to control the spindle motor 2 and the head servo circuit 6 to control the optical head 4, and time period T2, which is required for synchronization by the signal synchronizing circuit 42. For example, m is set at 10 to 30. The time periods T1, T2 increase as the recording speed of the CD-R drive 1 becomes higher, for example, as the recording speed increases from 4× to 8×. Accordingly, it is preferred that the predetermined sector number be increased as the recording speed increases.
FIG. 3 is a schematic block diagram of the encoder 14. The encoder 14 includes a first control logic 51 and a second control logic 52. The first control logic 51 handles information that does not have to be held during data recording interruptions and is not required during the recording restart mode. The second control circuit 52 handles information that must be held during data recording interruptions and is required during the recording restart mode (e.g., the polarity of the drive signal generated by the laser drive circuit 16 and the value of digital sum variation (DSV)).
A data flip-flop 53 stores the output information of the first control logic 51 in synchronism with the operational clock of the system clock generation circuit 41. The output information stored in the data flip-flop 53 is returned to the first control logic 51.
The data flip-flop 53 holds the output information of the second control logic 52 via a synchronization flip-flop 54 and a selector 55. The synchronization flip-flop 54 is controlled by the interrupt/restart circuit 43 and stores the output information of the second control logic 52 when data recording is interrupted.
The selector 55 selects the output information held by the synchronization flip-flop 54 if recording is restarted when buffer underrun is no likely to occur and selects the output information of the second logic 52 in other cases. The selected output information is transferred to and held by the data flip-flop 53. Accordingly, the holding of the output information of the second logic 52 is guaranteed when the recording of data is interrupted. This enables usage of the output information held by the second logic 52 when the recording of data is restarted.
The first retry determination circuit 44 determines whether the address of the recording data and the address of the data that is to be encoded are matched. The second retry determination circuit 60 determines whether the timing for reading recording data and the timing for encoding data with the encoder are matched. This perfectly synchronizes the recording data with the encoded data and restarts data recording while guaranteeing the continuity of the data.
The timing at which the read address of the optical disc 32 matches the address at which an interruption occurred and the timing at which the read address of the buffer memory 13 matches the address at which an interruption occurred are detected. Based on the detection, completion of the synchronization performed by the synchronizing circuit 42 is determined, and the recording is restarted. Accordingly, the circuit configuration of the determination circuit (first retry determination circuit 44) is simplified.
It should be apparent to those skilled in the art that the present invention may be embodied in many other specific forms without departing from the spirit or scope of the invention. Particularly, it should be understood that the present invention may be embodied in the following forms.
(1) The present invention may be applied to a data recorder employing the constant angular velocity (CAV) method. In such case, a clock synchronized with the wobble component, which is extracted by the wobble decoder 9, is generated and used as the operational clock during the recording of data.
(2) The access control circuit 19, the buffer underrun determination circuit 20, the recording control circuit 21, and the system control circuit 22 may be replaced by a microcomputer that includes a CPU, a ROM, and a RAM. In other words, the function of each circuit may be achieved by having a microcomputer perform various operations.
(3) The present invention may be applied to a data recorder (e.g., CD-RW drive, MD drive) that uses a rewritable recording medium (e.g., CD-RW standard optical disc, MD standard optical disc). In such case, the occurrence of a buffer underrun error is prevented. This decreases the time required for the recording of data.
(4) The present invention may be applied when data writing is interrupted due to the displacement of the optical head 4. Data writing to the optical disc 32 is also interrupted when the relative position between the optical head 4 and the optical disc 32 is offset due to a physical impact or a mechanical deficiency. In such case, the present invention may be applied to restart the writing of data from the interrupted position. For the restart of data writing, a mechanism for determining the displacement of the optical head 4 may be used in lieu of the buffer underrun determination circuit 20. The displacement determination mechanism may be formed by a vibration sensor, which detects external vibrations of the optical disc 32, a detection circuit, which detects a tracking error of the optical head 4 relative to the optical disc 32, or the like.
The present examples and embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalence of the appended claims.

## Claims

1. A controller for controlling interruption and restarting of data writing to a recording medium, wherein the data written to the recording medium is read from a buffer memory, the controller comprising:
an encoder connected to the buffer memory, the encoder being configured to receive the data read from the buffer memory and to encode the read data to generate encoded data;
an address memory connected to the buffer memory, the address memory being configured to store a write-data-address of the data written to the recording medium and a read-data-address of the data read from the buffer memory when the writing of data to the recording medium is interrupted, the write-data-address and the read-data-address each indicating a location of the data at which the interruption occurs;
a synchronizing circuit for synchronizing the written data read from the recording medium with the encoded data;
a first retry determination circuit for determining whether an address of the written data, which is read from the recording medium, and the write-data-address, which is stored in the address memory, are the same, and for determining whether an address of the read data, which is provided to the encoder from the buffer memory, and the read-data-address, which is stored in the address memory, are the same;
a second retry determination circuit for determining whether a first timing signal for reading the written data from the recording medium and a second timing signal for encoding the read data are the same, the first timing signal being derived from the recording medium; and
a restart circuit for restarting the writing of data to the recording medium based on the determinations of the first and second retry determination circuits.

2. The controller according to claim 1, wherein the written data read from the recording medium includes a first subcode synchronizing signal and the encoded data includes a second subcode synchronizing signal, and wherein the second retry determination circuit determines whether the first and second timing signals are the same based on the first and second subcode synchronizing signals.

3. The controller according to claim 1, wherein the second retry determination circuit determines whether the first and second timing signals are the same when the first retry determination circuit determines that the addresses are the same.

4. The controller according to claim 1, further comprising:
a first location detection circuit connected to the address memory, wherein the first location detection circuit detects whether the address of the written data read from the recording medium and the write-data-address stored in the address memory are the same; and
a second location detection circuit connected to the address memory, wherein the second location detection circuit detects whether the address of the data read from the buffer memory and the read-data-address stored in the address memory are the same.

5. A controller for controlling interruption and restarting of data writing to a recording medium, wherein the data written to the recording medium is read from a buffer memory, the controller comprising:
an encoder connected to the buffer memory, wherein the encoder receives data read from the buffer memory and encodes the read data to generate encoded data;
an address memory connected to the buffer memory, the address memory being configured to store a write-data-address of the data written to the recording medium and a read-data-address of the data read from the buffer memory when the writing of data to the recording medium is interrupted, wherein the write-data-address and the read-data-address each indicate a location of the data at which the interruption occurs;
a synchronizing circuit for synchronizing the written data read from the recording medium with the encoded data;
a retry determination circuit for determining whether an address of the written data, which is read from the recording medium, and the write-data-address, which is stored in the address memory, are the same, and for determining whether an address of the read data, which is provided to the encoder from the buffer memory, and the read-data-address, which is stored in the address memory, are the same, wherein the synchronizing circuit determines whether a first timing signal for reading the written data from the recording medium and a second timing signal for encoding the read data are the same; and
a restart circuit for restarting the writing of data to the recording medium based on the determinations of the retry determination circuit and the synchronizing circuit.

6. The controller according to claim 5, wherein the written data read from the recording medium includes a first subcode synchronizing signal and the encoded data includes a second subcode synchronizing signal, and wherein the synchronizing circuit determines whether the first and second timing signals are the same based on the first and second subcode synchronizing signals.

7. The controller according to claim 5, wherein the synchronizing circuit determines whether the first and second timing signals are the same when the retry determination circuit determines that the addresses are the same.

8. The controller according to claim 5, further comprising:
a first location detection circuit connected to the address memory, wherein the first location detection circuit detects whether the address of the written data read from the recording medium and the write-data-address stored in the address memory are the same; and
a second location detection circuit connected to the address memory, wherein the second location detection circuit detects whether the address of the data read from the buffer memory and the read-data-address stored in the address memory are the same.