Integrated controller to process both optical reads and optical writes of multiple optical media
First Claim
1. An optical drive controller, comprising:
- a host interface;
a buffer manager coupled to the host interface;
an embedded memory coupled to the buffer manager;
an integrated encoding/decoding engine coupled to the buffer manager;
a data channel interface coupled to the integrated encoding/decoding engine; and
an integrated servo/recording processor coupled to the integrated encoding/decoding engine and the data channel interface, wherein the integrated servo/recording processor comprises a set of write strategies, wherein the integrated servo/recording processor comprises;
a write control coupled to an encoding engine formatter and a C1 encoder of the integrated encoding/decoding engine, wherein the write control comprises the set of write strategies;
an absolute time in pregroove (ATIP) processor coupled to the encoding engine formatter;
a reduced instruction set computer (RISC) processor coupled to the write control; and
a digital servo control coupled to the RISC processor.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides an integrated controller to process both optical reads and optical writes of multiple optical media. The integrated controller includes a host interface; a buffer manager coupled to the host interface; an embedded memory coupled to the buffer manager; an integrated encoding/decoding engine coupled to the buffer manager; a data channel interface coupled to the integrated encoding/decoding engine; and an integrated servo/recording processor coupled to the integrated encoding/decoding engine and the data channel interface, where the integrated servo/recording processor includes a set of write strategies. The present invention provides a controller which integrates the functionality of the conventional controllers into an integrated processor. With the controller in accordance with the present invention, a single drive may be provided which can read CD-based and DVD-based formats, read and write to Write Once Media, and read and write to Rewritable Media. The architecture of the controller is designed such that its manufacture is cost effective and a performance penalty for the host does not occur. In addition, the controller may also be used with conventional optical drives. Thus, with the present invention, the same controller may be used for all conventional optical drives as well as with an integrated drive.
39 Citations
32 Claims
-
1. An optical drive controller, comprising:
-
a host interface;
a buffer manager coupled to the host interface;
an embedded memory coupled to the buffer manager;
an integrated encoding/decoding engine coupled to the buffer manager;
a data channel interface coupled to the integrated encoding/decoding engine; and
an integrated servo/recording processor coupled to the integrated encoding/decoding engine and the data channel interface, wherein the integrated servo/recording processor comprises a set of write strategies, wherein the integrated servo/recording processor comprises;
a write control coupled to an encoding engine formatter and a C1 encoder of the integrated encoding/decoding engine, wherein the write control comprises the set of write strategies;
an absolute time in pregroove (ATIP) processor coupled to the encoding engine formatter;
a reduced instruction set computer (RISC) processor coupled to the write control; and
a digital servo control coupled to the RISC processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
a digital video disc (DVD) decoder coupled to the data channel interface and the buffer manager;
error correction codes (ECC) coupled to the DVD decoder and the buffer manager;
error detection codes (EDC) coupled to the ECC and the buffer manager;
a CD eight-to-fourteen modulation (EFM) processor coupled to the data channel interface;
a compact disc (CD) decoder coupled to the CD EFM processor and the buffer manager;
an encoding engine formatter coupled to the integrated servo/recording processor and the buffer manager;
a C3 encoder coupled to the encoding engine formatter and the buffer manager;
a C2 encoder coupled to the C3 encoder and the encoding engine formatter; and
a C1 encoder coupled to the C2 encoder, the encoding engine formatter, and the integrated servo/recording processor.
-
-
5. The controller of claim 1, wherein the data channel interface comprises:
-
a read channel interface;
an EFM extractor coupled to the read channel interface;
a sync processor coupled to the read channel interface; and
an EFM demodulator coupled to the EFM extractor and the sync processor.
-
-
6. The controller of claim 1, wherein the digital servo control comprises a Multiply Accumulate Unit (MAC).
-
7. The controller of claim 1, further comprising:
-
a first memory for storing program instructions coupled to the RISC processor and the buffer manager; and
a second memory for storing data coupled to the RISC processor and the buffer manager.
-
-
8. The controller of claim 1, further comprising:
- an analog to digital (A/D) converter coupled to the digital servo control;
a plurality of digital to analog converters (DAC) coupled to the digital servo control; anda sledge and spindle pulse width modulator (PWM) coupled to the digital servo control.
- an analog to digital (A/D) converter coupled to the digital servo control;
-
9. The controller of claim 1, further comprising:
a microcontroller interface.
-
10. The controller of claim 1, wherein the controller is capable of reading and writing multiple optical media, comprising CD-based formats, DVD-based formats, Write Once Media, and Rewritable Media.
-
11. A method for controlling an optical drive, comprising the steps of:
-
(a) determining if a read operation or a write operation is desired;
(b) reading a data from an optical media if the read operation is desired, comprising;
(b1) collecting the data from the optical media using a data channel interface, wherein the collective step (b1) comprises;
(b1i) receiving a data stream by a read channel interface, wherein the receiving step (b1i) comprises;
(b1iA) performing a header search for a target sector; and
(b1iB) receiving the data stream by the read channel interface beginning at the target sector, wherein the performing step (b1iA) comprises;
(b1iAa) opening a search window with a size greater than one sector;
(b1iAb) finding at least one valid header within the search window;
(b1iAc) locating the target sector based upon the at least one valid header;
(b1iAd) buffering the data stream beginning at the target sector; and
(b1iAe) perforining validation of a buffered target sector header;
(b1ii) extracting an EFM data from the data stream; and
(b1iii) demodulating the EFM data;
(b2) decoding the data using an integrated encoding/decoding engine; and
(b3) managing the data'"'"'s flow using a buffer manager, wherein the buffer manager is coupled to an embedded memory; and
(c) writing the data to the optical media if the write operation is desired, comprising;
(c1) encoding the data using the integrated encoding/decoding engine;
(c2) writing the data to the optical media in accordance with a set of write strategies using an integrated servo/recording processor, wherein the integrated servo/recording processor comprises the set of write strategies; and
(c3) managing the data'"'"'s flow using the buffer manager. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
(a1) receiving a command from a host;
(a2) determining if the command is for the read operation or the write operation; and
(a3) determining a plurality of parameters for the read or write operation.
-
-
13. The method of claim 12, wherein the plurality of parameters comprises:
-
a data format; and
a number of sectors for the data.
-
-
14. The method of claim 11, wherein the demodulating step (b1iii) comprises:
-
(b1iiiA) demodulating the EFM data using a conversion table;
(b1iiiB) marking errors which occur during the demodulation; and
(b1iiiC) utilizing estimated values for the marked errors.
-
-
15. The method of claim 11, wherein the demodulating step (b1iii) further comprises:
(b1iiiA) realigning a data frame of the EFM data, if the data frame is not properly synchronized.
-
16. The method of claim 15, wherein the realigning step (b1iiiA) comprises:
-
(b1iiiAa) determining if a sync pattern for the data frame is within a sync window;
(b1iiiAb) opening an extended sync window, if the sync pattern for the data frame is not within the sync window;
(b1iiiAc) determining if the sync pattern for the data frame is within the extended sync window; and
(b1iiiAd) realigning the sync window to the sync pattern in the extended sync window, if the sync pattern is within the extended sync window.
-
-
17. The method of claim 11, wherein the decoding step (b2) comprises:
-
(b2i) decoding a demodulated EFM data;
(b2ii) determining if an error exists in the decoded data; and
(b2iii) correcting the error if the error exists.
-
-
18. The method of claim 17, wherein the decoding step (b2i) comprises:
-
(b2iA) reading a sector of an audio data from the optical media, the sector comprising a sector data and a sector sub-code;
(b2iB) collecting the sector sub-code;
(b2iC) correcting any errors in the sector data in a fixed time period;
(b2iD) calculating a time offset between a time for the collecting of the fixed time period; and
(b2iE) matching the corrected sector data to the sector sub-code based on the calculated time offset.
-
-
19. The method of claim 17, wherein the decoding step (b2i) comprises:
-
(b2iA) decoding the demodulated EFM data from a Compact Disc-Read/Write (CD-R) or a Compact Disc-Rewritable (CD-RW), comprising;
(b2iAa) detecting one of a plurality of link sectors;
(b2iAb) generating an interrupt signal;
(b2iAc) determining a buffer method selection;
(b2iAd) buffering a plurality of data sectors only, if a link skip buffer method is selected; and
(b2iAe) buffering the plurality of data sectors and the plurality of link sectors, except for a link block, and allocating a sector in a buffer for the link block, if a link buffer method is selected.
-
-
20. The method of claim 17, wherein the correcting step (b2iii) comprises:
-
(b2iiiA) storing a plurality of data bytes and a plurality of erasure bytes; and
(b2iiiB) performing syndrome generation for the stored plurality of data bytes.
-
-
21. The method of claim 20, wherein the performing step (b2iiiB) comprises:
-
(b2iiiBa) reading a plurality of columns of a row of the stored plurality of data bytes;
(b2iiiBb) reading a plurality of partial syndromes from a memory, each of the plurality of partial syndromes corresponding to one of the plurality of columns;
(b2iiiBc) updating each of the plurality of partial syndromes with the data bytes of the corresponding column; and
(b2iiiBd) writing the plurality of updated partial syndromes into the memory.
-
-
22. A method for controlling an optical drive, comprising the steps of:
-
(a) determining if a read operation or a write operation is desired;
(b) reading a data from an optical media if the read operation is desired, comprising;
(b1) collecting the data from the optical media using a data channel interface;
(b2) decoding the data using an integrated encoding/decoding engine; and
(b3) managing the data'"'"'s flow using a buffer manager, wherein the buffer manager is coupled to an embedded memory; and
(c) writing the data to the optical media if the write operation is desired, comprising;
(c1) encoding the data using the integrated encoding/decoding engine, wherein the encoding step (c1) comprises;
(c1i) performing C3 encoding of the data;
(c1ii) performing C2 encoding of the C3 encoded data; and
(c1iii) performing C1 encoding of the C3 and C2 encoded data;
(c2) writing the data to the optical media in accordance with a set of write strategies using an integrated servo/recording processor, wherein the integrated servo/recording processor comprises the set of write strategies; and
(c3) managing the data'"'"'s flow using the buffer manager.
-
-
23. An optical drive controller, comprising:
- a host interface;
a buffer manager coupled to the host interface;
an embedded DRAM coupled to the buffer manager by a 128-bit bus;
an integrated encoding/decoding engine coupled to the buffer manager;
a data channel interface coupled to the integrated encoding/decoding engine;
an integrated servo/recording processor coupled to the integrated encoding/decoding engine and the data channel interface, wherein the integrated servo/recording processor comprises a set of write strategies, wherein the integrated servo/recording processor comprises;
a write control coupled to an encoding engine formatter and a C1 encoder of the integrated encoding/decoding engine, wherein the write control comprises the set of write strategies;
an ATIP processor coupled to the encoding engine formatter;
a RISC processor coupled to the write control; and
a digital servo control coupled to the RISC processor; and
a microcontroller interface. - View Dependent Claims (24, 25, 26, 27, 28, 29)
a DVD decoder coupled to the data channel interface and the buffer manager;
ECC coupled to the DVD decoder and the buffer manager;
EDC coupled to the ECC and the buffer manager;
a CD EFM processor coupled to the data channel interface;
a CD decoder coupled to the CD EFM processor and the buffer manager;
an encoding engine formatter coupled to the integrated servo/recording processor and the buffer manager;
a C3 encoder coupled to the encoding engine formatter and the buffer manager;
a C2 encoder coupled to the C3 encoder and the encoding engine formatter; and
a C1 encoder coupled to the C2 encoder, the encoding engine formatter, and the integrated servo/recording processor.
- a host interface;
-
25. The controller of claim 23, wherein the data channel interface comprises:
-
a read channel interface;
an EFM extractor coupled to the read channel interface;
a sync processor coupled to the read channel interface; and
an EFM demodulator coupled to the EFM extractor and the sync processor.
-
-
26. The controller of claim 23, wherein the digital servo control comprises a MAC.
-
27. The controller of claim 23, further comprising:
-
a first static random access memory (SRAM) for storing program instructions coupled to the RISC processor and the buffer manager; and
a second SRAM for storing data coupled to the RISC processor and the buffer manager.
-
-
28. The controller of claim 23, further comprising:
-
an A/D converter coupled to the digital servo control;
a plurality of DAC coupled to the digital servo control; and
a sledge and spindle PWM coupled to the digital servo control.
-
-
29. The controller of claim 23, wherein the controller is capable of reading and writing multiple optical media, comprising CD-based formats, DVD-based formats, Write Once Media, and Rewritable Media.
-
30. A method for controlling an optical drive, comprising the steps of:
-
(a) determining if a read operation or a write operation is desired;
(b) reading a data from an optical media if the read operation is desired, comprising;
(b1) receiving a data stream by a read channel interface of a data channel interface;
(b2) extracting an EFM data from the data stream;
(b3) demodulating the EFM data;
(b4) decoding the demodulated EFM data by an integrated encoding/decoding engine;
(b5) determining if an error exists in the decoded data;
(b6) correcting the error if the error exists; and
(b7) managing the data'"'"'s flow using a buffer manager, wherein the buffer manager is coupled to an embedded memory; and
(c) writing the data to the optical media if the write operation is desired, comprising;
(c1) encoding the data using the integrated encoding/decoding engine, wherein the encoding step (c1) comprises;
(c1i) performing C3 encoding of the data;
(c1ii) performing C2 encoding of the C3 encoded data; and
(c1iii) performing C1 encoding of the C3 and C2 encoded data;
(c2) writing the data to the optical media in accordance with a set of write strategies using an integrated servo/recording processor, wherein the integrated servo/recording processor comprises the set of write strategies; and
(c3) managing the data'"'"'s flow using the buffer manager. - View Dependent Claims (31, 32)
(a1) receiving a command from a host;
(a2) determining if the command is for the read operation or the write operation; and
(a3) determining a plurality of parameters for the read or write operation.
-
-
32. The method of claim 31, wherein the plurality of parameters comprises:
-
a data format; and
a number of sectors for the data.
-
Specification