Method for data reproducing from an optical storage device

A method for data reproducing from an optical storage device. The method is used to improve the usage efficiency of buffer memory of the storage device. Date that is already transferred to the host computer is considered as “cache hit”. Thus, when data near one address is read again, the storage device need not do tracking, reading and decoding. Data in buffer memory is directly transferred to the host computer. It significantly improves the reproducing efficiency of the optical storage device.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method for data reproducing from a compact disk (CD-ROM) drive, particularly to a method for data reproducing from a CD-ROM drive wherein the range of Cache Hit addresses is the maximum size of the buffer memory so that the data reproducing efficiency is enhanced by a high Cache Hit ratio.

2. Description of the Prior Art

The continuous progress of technology has produced various kinds of optical storage devices, such as CD-ROM, CD-R, CD-RW and DVD-ROM drives etc. Most of them rotate at a maximum speed more than 20×. The maximum reproducing speed of CD-ROM drive at 1× is 150 Kbps which is the normal speed for music CD (CD-DA) playback. That is to say, most of the optical storage devices have a maximum reproducing speed more than 20× (20×150 Kbps=3 Mbps).

However, the above-mentioned reproducing speed is used when the data is read by sequential access method. Random data access is likely to be carried out at a speed less than {fraction (1/10)} of the maximum reproducing speed of optical disk drives. Disk drives spend much time in tracking, reading and decoding. Therefore, a buffer memory is used to temporarily store data already accessed or pre-stored part of data from the disk so that the data reproducing is improved by Cache Hit.

The Cache Hit ratio is proportional to the size of the buffer memory. Data is transmitted directly from the buffer memory to a host, and tracking, reading and decoding are skipped when the data already exists in the buffer memory.

In conventional optical storage devices, when the data stored in the buffer memory is transferred to the host, it is regarded as Cache Miss. That is to say, Cache Hit indicates that data are decoded and waiting to be transferred to the host. As shown inFIG. 1, a buffer memory11has a maximum size of N (e.g. megabyte). The data read from the disk is stored in an address R111, the decoded data is stored in an address D112and the transferred data is stored in an address T113. The boundary of the buffer memory is B114. The data stored between the boundary B114and T113is regarded as Cache Miss. Only the data stored in the address between D112and T113is considered as Cache Hit. The Cache Hit addresses are located between T and T+X1. Thus, even though the data is stored between the boundary B114and T113and remain in the buffer memory, the data is regarded as Cache Miss.

The above-mentioned method for Cache Hit is suitable for data reproducing by sequential access but not random access. Therefore, the optical storage devices adapted to UDF (Universal Disc Format) and using random access, such as CD-R/RW drives, will have a low Cache Hit ratio and the data reproducing speed will be fairly low with the conventional method.

SUMMARY OF THE INVENTION

For purpose of the present invention, the term “CD drive” as used herein shall mean and include conventional CD, CD-RW, DVD-RW, DVD+RW and DVD+R drives, as well as all optical recorders.

Therefore, the object of the present invention is to provide a method for data reproducing from a CD drive wherein the range of Cache Hit addresses include transferring block and decoding block of the buffer memory, so that the data reproducing speed is enhanced by a high Cache Hit ratio.

The present invention provides a method for data reproducing from a CD drive with a buffer memory having a first, second and third area temporarily storing data that is read from an optical disk to a host. The method comprises the steps of (a) reading first data from the optical disk and storing the first data in the first area of the buffer memory, (b) decoding the first data and storing the decoded first data in the second area of the buffer memory, (c) transferring the decoded first data to the host and storing the transferred first data in the third area of the buffer memory, and (d) transferring second data that is read from the optical disk directly from the second and third area of the buffer memory to the host when the second data exists in the second and third area, otherwise, repeating the steps (a)˜(d) until data reproducing is finished.

Thus, in the present invention, the Cache Hit ratio is increased by extending the range of memory addresses for Cache Hit to the transferring block of the buffer memory, which achieves high data reproducing efficiency.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 2is a diagram showing a system for data reproducing from an optical storage device according to one embodiment of the invention. The CD drive1reads data from an optical disk2to a host3such as a computer, CPU or storage accessing device such as a sound card and hard disk drive.

The CD drive1comprises a reading device12to read data from the optical disk2, a decoder13to decode the data that is read from the optical disk2, a buffer memory11to temporarily store the data that is read from the optical disk2, the data decoded by the decoder and the decoded data transferred to the host3, a transferring device14to transfer the decoded data to the host3, and a microprocessor15.

As shown inFIG. 3, the buffer memory11has a maximum size of N (e.g. megabyte) and is divided into three areas121,122and123. The data read from the optical disk2is stored in an address R111, the decoded data is stored in an address D112and the transferred data is stored in an address T113. The boundary address of the buffer memory is B114. The area121comprises the addresses between R111and D112. The area122comprises the addresses between D112and T113. The area123comprises the addresses between T113and B114.

The addresses in the area122and123are for Cache Hit and, addresses in the area121are for Cache Miss due to the data stored therein not being decoded. The addresses D112and T113are variable, and the address R111and the maximum size N of the buffer memory is fixed. Therefore, the range of the addresses for Cache Hit is also variable. The addresses for Cache Hit are located between T+X2+B−N and T+X1, wherein X2 is a difference between addresses R111and T113respectively of the read data and the transferred data, and X1 is a difference between addresses D112and T113respectively of the decoded data and the transferred data. Boundary B is used to prevent the buffer memory to be overwritten by the data from the disk.

FIGS. 4A and 4Bare diagrams showing the method for data reproducing from an optical storage device according to one embodiment of the invention. The method will be explained in conjunction withFIGS. 4A and 4Bas well as FIG.2.

In step100, the host3requests the CD drive1to read data from the optical disk2.

In step101, the CD drive1begins tracking and reads data from the optical disk2. Processing proceeds to step102.

In step102, the data is read from the optical disk2and stored in the area121of the buffer memory11. Processing proceeds to step103.

In step103, the data stored in the area121is decoded by the decoder13, and the decoded data is stored in the area122of the buffer memory11. Processing proceeds to step104.

In step104, The microprocessor15determines whether or not the buffer memory11is full. The data is continuously read from the optical disk2(step102) and decoded by the decoder13(step103) until the buffer memory11is full. If the buffer memory is full, processing proceeds to step105. Otherwise, processing then returns to step102.

In step105, when the buffer memory11is full, the CD drive1stops reading data from the optical disk2, and the decoded data stored in the area122is transferred to the host3by the transferring device14and stored in the area123until all the data stored in the area122is transferred. Processing proceeds to step106.

In step106, when the data reproducing is not finished, the reading device12again begins to read data from the optical disk2. That is, if no, processing returns to step102. If the data reading is finished, processing proceeds to step107.

In step107, the host3again requests the CD drive1to read data from the optical disk2. Processing proceeds to step108.

In step108, the microprocessor15determines whether or not the data that is read already exists in the area122and123of the buffer memory11. If yes, the CD drive need not do tracking again and processing proceeds to step109. If no, the data is read from the optical disk2and stored in the area121of the buffer memory11when it is not in the area122and123. Processing returns to step101.

In step109, the CD drive1transfers the data that is read directly from the area122and123of the buffer memory11to the host3by the transferring device14when the data exists in the memory area122and123. The processing is completed in this step.

In conclusion, the present invention provides a method for data reproducing from an optical storage device. By extending the range of memory addresses for Cache Hit to the transferring block of the buffer memory, the Cache Hit ratio is increased. This achieves high data reproducing efficiency for optical storage devices.