Data access method for improving performance of an optical disk drive

A data access method for improving performance of an optical disk drive is applied on a predetermined data access operation. A predetermined application program and the optical disk drive are used to run first, second, and third processes for accomplishing the predetermined data access operation. The predetermined application program runs the first process, and the optical disk drive runs the second process. The data access method includes the predetermined application program running the first process and outputting a control command to command the optical disk drive to start the second process, and the predetermined application program running the third process for controlling the optical disk drive to access an optical disk after the first process and the second process are finished. In addition, the time for the predetermined application program to complete the first process overlaps the time for the optical disk drive to complete the second process.

BACKGROUND OF INVENTION

1. Field of the Invention

The present invention relates to a data access method for an optical disk drive. In particular, the present invention discloses a data access method for improving performance of an optical disk drive.

2. Description of the Prior Art

Computers are popular for use in a broad spectrum of fields. Aside from commercialapplications, the computers have entered family settings to provide users with multimedia entertainment. Because the multimedia entertainment requires a great demand for video data and audio data to generate amazing effects, data storage technology is accordingly developed to record a huge amount of video data and audio data. In order to let users easily store digital data, many kinds of storage devices are invented one after another. For example, an optical disk has low production cost, small size, and great capacity. The optical disk, therefore, has become a practical tool for storing data recently. For commercialapplications, the optical disks such as program installation disks, and video compact disks (VCDs) are widely used to be storage media for carrying software and multimedia data by users.

With regard to companies or individual persons, storage or management of documents is an important task. In the past, most documents were printed or written on papers. Therefore, if a total amount of documents is great, it is difficult for users to keep the documents owing to great volume or heavy weight of the documents. Nowadays, a compact disk recorder is invented to solve the above-mentioned inconvenience. The compact disk recorder fully utilizes advantages such as low production cost, small size, and great capacity of the optical disk, and burns digital data into the optical disk so that users are capable of keeping desired data. Please refer toFIG. 1, which is a block diagram of a prior art computer device10. The computer device10has a central processing unit (CPU)12, a north bridge circuit14, a south bridge circuit16, a memory18, an optical disk drive20, an input device21, a video graphics array (VGA) card22, and a monitor24. The CPU12is used to control operation of the computer device10. The north bridge circuit14is used to control data transmission between the CPU12and high-speed peripheral devices such as the memory18and the VGA card22. On the contrary, the south bridge circuit16is used to control data transmission between the CPU12and low-speed peripheral devices such as the optical disk drive20and the input device21. The memory18is used to store an application program25so that the CPU12is capable of accessing the memory18for executing the application program25. The optical disk drive20has a pick-up head26used to access an optical disk26for reading data or writing data. The input device21is used to receive character signals from a keyboard and pointing signals from a mouse inputted by a user. When the user wants to use the optical disk drive20(a CD-R drive for example) to store digital data into the optical disk28, the user has to start a corresponding application program25within the computer device10(a writing program for example). In other words, the writing program controls operation of the CD-R drive for burning data onto the optical disk28. Please refer toFIG. 2, which is a flow chart showing a data writing process of the optical disk drive20shown inFIG. 1. The operation includes following steps:

Step100: Execute the application program25;

Step102: Detect hardware characteristic parameters of the optical disk drive20;

Step104: Set information about user data that are going to be written into the optical disk28;

Step106: The application program25starts a writing procedure; Step108: The application program25prepares the user data;

Step110: The optical disk drive20performs an optimum power control;

Step112: The application program25guides the optical disk drive20to record the user data on the optical disk28.

The above-mentioned process is briefly explained as follows. The user uses the input device21to input keyboard character signals or mouse pointing signals for starting the application program25(the writing program). The CPU12then executes the application program25loaded into the memory18, and controls a user interface (UI) corresponding to the application program25displayed on the monitor24through the VGA card22(step100). The application program25outputs a query command to the optical disk drive20(The CD-R drive) for querying the optical disk drive20about its hardware characteristic parameters such as writing speeds supported by the optical disk drive20. After that, the optical disk drive20reports the hardware characteristic parameters back to the application program25(step102). Therefore, the user can set a desired writing speed for the optical disk drive20through the application program25. The optical disk drive20then records data according to the writing speed set by the user. At the same time, the user sets information related to the wanted data through the application program25. For example, the user determines which files are going to be recorded on the optical disk28(step104). After the user completes required setting for a writing procedure through the UI corresponding to the application program25, the user can start the writing procedure via the application program25(step106). After the writing procedure is activated, the application program25starts gathering user data from a data source according to the setting set by the user. For instance, the application program25searches files containing the user data in a hard-disk drive (step108). Then, the application program25outputs a control command to drive the optical disk drive20to begin an optimum power control for acquiring a laser power used to burn the gathered user data onto the optical disk28(step110). Finally, the application program25drives the optical disk drive20to write the user data onto the optical disk28according to the setting previously set by the user.

As mentioned above, before the optical disk drive20writes data onto the optical disk28, the optical disk drive20has to start the optimum power control for searching an appropriate writing power for the optical disk28. With regard to the optimum power control, the well-known Orange Book specification has detailed description on it. Operation of the optimum power control is briefly described as follows. After the optimum power control begins, the pick-up head26of the optical disk drive20first reads an indicative optimum writing power P from a leadin area of the optical disk28. The indicative optimum writing power P is a suggested writing power recommended by the manufacturer of the optical disk28. After that, the pick-up head26uses seven writing powers P1˜P7 that are less than the indicative optimum writing power P, the indicative optimum writing power P, and seven writing powers P8˜P14 that are greater than the indicative optimum writing power P (15 test powers in total) to perform writing tests on 15 successive blocks of a test area on the optical disk28. The pick-up head26detects the test results in the 15 blocks. Each of the detected signals is an AC coupled HF signal. For the detected signals, the Orange Book specification defines a parameter β. If the parameter β of one detected signal conforms to the desired requirement, the test power related to the detected signal can be used as the optimum writing power for the optical disk28. In addition, if the parameters β of the 15 test powers do not meet the desired requirement, the 15 test powers are not suitable for the optical disk28. Therefore, other test powers are picked to perform the writing tests until the optimum writing power is obtained. It is obvious that the optimum power control is a “trial and error” process. In other words, it takes a period of time to find out the optimum writing power. During the step106which starts the writing procedure and the step112which records user data on the optical disk28, the application program25has to prepare the desired user data and to perform the optimum power control. While the step108is operating, the optical disk drive20is idle without receiving the power control command used to trigger the optimum power control. That is, the prior art recording control corresponds to a sequential mode. The optical disk drive20, therefore, will enter an idle mode during the writing procedure so that the performance of the optical disk drive is deteriorated.

In addition, when the user wants to use the optical disk drive20to read data recorded on the optical disk28, for example, the user wants to play video and audio data recorded on the optical disk28on the monitor24, the user needs to start a corresponding application program25such as a multimedia player. That is, the multimedia player is used to control operation of the optical disk drive20for reading video and audio data recorded on the optical disk28, and the multimedia player also display the video data on the monitor24. Please refer toFIG. 3, which is a flow chart showing a data reading process of the optical disk drive20shown inFIG. 1. The operation includes following steps:

Step200: Execute the application program25;

Step202: Detect characteristic parameters of the optical disk28;

Step204: Set information about user data that are going to be retrieved;

Step206: The application program25starts a reading procedure; Step208: The application program25loads related plug-ins;

Step210: The optical disk drive20searches the user data on the optical disk28;

Step212: The optical disk drive20retrieves the user data on the optical disk28, and transmits the retrieved user data to the application program25.

The above operation is described as follows. The user inputs keyboard character signals or mouse pointing signals through the input device21for starting the application program25(the multimedia player). The CPU12executes the application program loaded in the memory18, and controls the VGA card22to show a user interface corresponding to the application program25on the monitor24(step200). Then, the application program25outputs a query command to the optical disk drive20for driving the optical disk drive20to read characteristic parameters of the optical disk28such as a table of content (TOC), and format of the recorded data on the optical disk28, etc. The optical disk drive20then reports the characteristic parameters of the optical disk28back to the application program25(step202). The user, therefore, is capable of setting information about the wanted user data according to the TOC within the characteristic parameters. For example, the user can select a video filename with the help of the TOC. At the same time, the user also set many control parameters related to playback of the user data through UI of the application program25. For instance, the user decides which plug-ins that should be loaded to provide fantastic effects or special functions (step204). After the user completes setting the reading procedure parameters through UI of the application program25, the user can start the reading procedure via the application program25(step206). When the reading procedure is activated, the application program25first starts plug-ins according to the control parameters set by the user (step208). Then, the application program25outputs a control command to control the optical disk drive20for searching location of the wanted user data on the optical disk28(step210). Finally, the application program25drives the optical disk drive20to retrieve the wanted data on the optical disk28according to the previously set control parameters, and the application program25will process the retrieved data and outputs the processed data. As mentioned above, while step208is operating, the optical disk drive20cannot receive control commands from the application program25to begin searching the location of the user data on the optical disk28. In other words, the optical disk drive20is idle during step208. It is obvious that the prior art reading control corresponds to a sequential mode. The optical disk drive20, therefore, will enter an idle mode during the reading procedure so that the performance of the optical disk drive20is deteriorated.

SUMMARY OF INVENTION

It is therefore a primary objective of the claimed invention to provide a method for improving data access performance of an optical disk drive.

Briefly summarized, the preferred embodiment of the claimed invention discloses a method of accessing data through an optical disk drive. The optical disk is connected to a computer host, and the computer host has a central processing unit (CPU) for controlling operation of the computer host and a storage device for storing a predetermined program. The CPU executes the predetermined program for driving the optical disk drive to complete a predetermined access operation through a first procedure, a second procedure, and a third procedure. The first procedure is performed by the predetermined program, and the second procedure is performed by the optical disk drive. The method includes the predetermined program performing the first procedure and outputting a control command to the optical disk drive for actuating the optical disk drive to perform the second procedure, and the predetermined program performing the third procedure for controlling the optical disk drive to access an optical disk after the first procedure and the second procedure are completed. In addition, a period when the predetermined program performs the first procedure overlaps a period when the optical disk drive performs the second procedure.

It is an advantage of the claimed invention that the claimed data access method adopts a parallel processing model to execute two predetermined processes at the same period. Therefore, the processing time is greatly shortened. In addition, the claimed data access method only alters sequence of executive steps for improving data access performance of the optical disk drive without any modifications imposed on the hardware of the optical disk drive. Therefore, the claimed data access method is easily implemented with low cost.

DETAILED DESCRIPTION

Please refer toFIG. 4in conjunction withFIG. 1.FIG. 4is a flow chart showing a data writing process of the data access method according to the present invention. The data access method according to the present invention is applied on the computer device10shown inFIG. 1. Therefore, operation of the computer device10is not repeatedly explained. As mentioned before, when the user wants to use the optical disk drive20(a CD-R drive for example) to store digital data into the optical disk28, the user has to start a corresponding application program25within the computer device10(a writing program for example). In other words, the writing program controls operation of the CD-R drive for burning data onto the optical disk28. The operation for storing data on the optical disk28according to the present invention includes following steps:

Step300: Execute the application program25;

Step302: Detect hardware characteristic parameters of the optical disk drive20;

Step304: Set information about user data that are going to be written into the optical disk28;

Step306: The application program25starts a writing procedure, and then activates step308and step310simultaneously;

Step308: The application program25prepares the user data. Jump to step312;

Step310: The optical disk drive20performs an optimum power control (OPC). Jump to step312;

Step312: The application program25guides the optical disk drive20to record the user data on the optical disk28.

The above-mentioned process is explained as follows. The user uses the input device21to input keyboard character signals or mouse pointing signals for starting the application program25(the writing program). The CPU12then executes the application program25loaded into the memory18, and controls a user interface (UI) corresponding to the application program25displayed on the monitor24through the VGA card22(step300). The application program25outputs a query command to the optical disk drive20(the CD-R drive) for querying the optical disk drive20about its hardware characteristic parameters such as writing speeds supported by the optical disk drive20. After that, the optical disk drive20reports the hardware characteristic parameters back to the application program25(step302). Therefore, the user can set a desired writing speed for the optical disk drive20through the application program25. The optical disk drive20then records data according to the writing speed set by the user. At the same time, the user sets information related to the wanted data through the application program25. For example, the user determines which files are going to be recorded on the optical disk28(step304). After the user completes required setting for a writing procedure through the UI corresponding to the application program25, the user can start the writing procedure via the application program25(step306). For instance, the user uses the input device21to generate a mouse pointing signal for triggering a “START” button in a user interface corresponding to the application program25. In the preferred embodiment, if the writing procedure is activated, step308and step310begin simultaneously. The application program25gathers needed data from a data source according to the information about the user data set by the user, for example, the application program25searches a hard-disk drive for the needed data that are going to be written into the optical disk28(step308). On the other hand, the application program25outputs a control command to drive the optical disk drive20to begin an optimum power control for acquiring a laser power used to burn the gathered user data onto the optical disk28(step310). It is noteworthy that the writing procedure is dominated by the application program25. Therefore, if the optical disk drive20finishes the optimum power control before the data gathering operation run by the application program25, the optical disk drive20will not immediately enter step312. On the contrary, the optical disk drive20has to wait until step308and step310are completed. The application program25then is capable of driving the optical disk drive20to run next step312. That is, the application25needs to know status of the optical disk drive20to determine whether step310is completed. In the preferred embodiment, the application program25will output a detecting command to the optical disk drive20for commanding the optical disk drive20to report a response signal used to inform its status so that the application program25is capable of judging whether the optical disk drive20has completed step310after the application program25finishes preparing the user data, the optical disk drive20automatically outputs a response signal to inform the application program25that step310is completed after the optical disk drive20finishes step310, the optical disk drive20sets a flag inside an internal memory device after the optical disk drive20completes step310so that the application program25can directly read the flag status to determine whether step310is completed, or other diagnosis ways can be used to know current operating status of the optical disk drive20. In the end, the application program25drives the optical disk drive20to write the user data onto the optical disk28according to the setting previously set by the user.

As mentioned above, during the step306which starts the writing procedure and the step312which records user data on the optical disk28, operation of step308and step310needs to be finished, wherein step308is run by the application program25and step310is run by the optical disk drive20. Therefore, the present embodiment adopts a parallel processing mode to improve performance of the data recording operation. For example, suppose that the application program25needs a period of time2tto prepare the user data, and the optical disk drive20needs a period of time5tto finish the optimum power control process. With regard to the prior art recording control, it takes a period of time (2+5)*t for completing both the data preparation and the optimum power control process. However, the preferred embodiment needs only a period of time5tto complete both step308and step310. In addition, if the optical disk drive20is a CD-RW drive or a DVD-RW drive, the laser power determined by the optimum power control is an erasing power. The erasing power is used to polish surface of the optical disk28so as to erase recorded data. The writing power is then determined by the erasing power. Taking the CD-RW drive for example, the writing power Pw is proportional to the erasing power Pe according to a factor ε (Pw=ε*Pe).

In addition, when the user wants to use the optical disk drive20to read data recorded on the optical disk28, for example, the user wants to play video and audio data recorded on the optical disk28on the monitor24, the user needs to start a corresponding application program25such as a multimedia player. That is, the multimedia player is used to control operation of the optical disk drive20for reading video and audio data recorded on the optical disk28, and the multimedia player also display the video data on the monitor24. Please refer toFIG. 5in conjunction withFIG. 1.FIG. 5is a flow chart showing a data reading process of the data access method according to the present invention. The operation includes following steps:

Step400: Execute the application program25;

Step402: Detect characteristic parameters of the optical disk28;

Step404: Set information about user data that are going to be retrieved;

Step406: The application program25starts a reading procedure, and then activates step408and step410simultaneously;

Step408: The application program25loads related plugins. Jump to step412;

Step410: The optical disk drive20searches the user data on the optical disk28. Jump to step412;

Step412: The optical disk drive20retrieves the user data on the optical disk28, and transmits the retrieved user data to the application program25.

The above operation is described as follows. The user inputs keyboard character signals or mouse pointing signals through the input device21for starting the application program25(the multimedia player). The CPU12executes the application program loaded in the memory18, and controls the VGA card22to show a user interface corresponding to the application program25on the monitor24(step400). Then, the application program25outputs a query command to the optical disk drive20for driving the optical disk drive20to read characteristic parameters of the optical disk28such as a table of content (TOC), and format of the recorded data on the optical disk28, etc. The optical disk drive20then reports the characteristic parameters of the optical disk28back to the application program25(step402). The user, therefore, is capable of setting information about the wanted user data according to the TOC within the characteristic parameters. For example, the user can select a video filename with the help of the TOC. At the same time, the user also set many control parameters related to playback of the user data through UI of the application program25. For instance, the user decides which plug-ins that should be loaded to provide fantastic effects or special functions (step404). After the user completes setting parameters of the reading procedure through UI of the application program25, the user can start the reading procedure via the application program25. For example, the user uses the input device21to input a mouse pointing signal for triggering a “PLAY” button in a user interface corresponding to the application program25(step406).

In the preferred embodiment, if the reading procedure is activated, step408and step410begin simultaneously. The application program25starts wanted plug-ins according to the control parameters set by the user (step408). On the other hand, the application program25outputs a control command to control the optical disk drive20for searching location of the wanted user data on the optical disk28(step410). It is noteworthy that the reading procedure is dominated by the application program25. Therefore, if the optical disk drive20finishes step410before the application program25finishes step408, the optical disk drive20will not immediately enter step412. On the contrary, the optical disk drive20has to wait until step408and step410are completed. The application program25then is capable of driving the optical disk drive20to retrieve the user data and transmits the retrieved user data to the application program (step412). Therefore, the application25needs to know status of the optical disk drive20to determine whether step410is completed. In the preferred embodiment, the application program25will output a detecting command to the optical disk drive20for commanding the optical disk drive20to report a response signal used to inform its status so that the application program25is capable of judging whether the optical disk drive20has completed step410after the application program25finishes preparing the user data, the optical disk drive20automatically outputs a response signal to inform the application program25that step410is completed after the optical disk drive20finishes step410, the optical disk drive20sets a flag inside an internal memory device after the optical disk drive20completes step410so that the application program25can directly read the flag status to determine whether step410is completed, or other diagnosis ways can be used to know current operating status of the optical disk drive20. In the end, the application program25drives the optical disk drive20to retrieve the wanted data on the optical disk28according to the previously set control parameters, and the application program25will process the retrieved data and outputs the processed data for finishing the writing procedure.

As mentioned above, during the step406which starts the reading procedure and the step412which retrieves user data from the optical disk28and transmits user data to the application program25, operation of step408and step410needs to be finished, wherein step408is run by the application program25and step410is run by the optical disk drive20. Therefore, the present embodiment adopts a parallel processing mode to improve performance of the data reading operation. For example, suppose that the application program25needs a period of time2tto load the wanted plug-ins, and the optical disk drive20needs a period of time5tto finish locating the target track. With regard to the prior art reading control, it takes a period of time (2+5)*t for completing both the plug-in loading operation and the track searching operation. However, the preferred embodiment needs only a period of time5tto complete both step408and step410. In addition, the data access method according to the present invention is capable of being applied to any kind of optical disk drive such as a CD-ROM drive, a CD recorder, or a DVD recorder.

In contrast to the prior art, if a user wants an optical disk drive to perform a certain data access operation, the data access operation includes two predetermined processes respectively run by the optical disk drive and an application program related to the data access operation. The claimed data access method adopts a parallel processing model to execute both predetermined processes at the same period. Therefore, processing time required by a prior art sequential processing model for handling the two predetermined processes is greatly shortened with the help of the claimed data access method. In other words, the claimed data access method only alters sequence of executive steps for improving data access performance of the optical disk drive without any modifications imposed on the hardware of the optical disk drive. To sum up, the claimed data access method is easily implemented with low cost.