Abstract:
The invention provides a reading method of an optical disc drive, which includes setting, reading, and decoding data, accumulating the error amount of the decoded data, setting to re-read the data when a reading failure occurs, adding one to the error amount, setting a low number of retry attempts for a high error amount and a high number of retry attempts for a low error amount based on the error amount, retrying to re-read the data if the number of retry attempts does not reach the predetermined number of retry attempts, and determining that the reading fails if the number of retry attempts reaches the predetermined number of retry attempts.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to a reading method of optical disc drives, and more particularly, to a reading method that sets a maximum number of retry attempts of a reading operation when a reading error occurs in an optical disc drive. 
         [0003]    2. Description of the Prior Art 
         [0004]    Optical discs usually suffer from the effects of slight stains, dust and scratches on their surface, writing quality, and noise signal caused in reading process, causing reading errors. Due to these variable factors, the optical disc drive needs to re-read an optical disc multiple times in order to complete a reading operation. 
         [0005]    A conventional reading method of optical disc drives is to set a target data location to be read after receiving a reading instruction from a host, and then to read the data marks in the target data location of an optical disc. Error correction code (ECC) is utilized to perform correction and decoding for the data marks to derive the original data. If the decoding cannot be performed correctly, the data cannot be read from the optical disc. In order to prevent temporary reading errors due to nonpermanent factors such as dust, stain or noise, the data must be re-read again. Since the causes leading to reading errors cannot be confirmed, the conventional technique will set a predetermined and fixed number of retry attempts as an upper limit of re-reading to try to read the data. When the number of retry attempts reaches the predetermined number, a reading error message is sent to the host, instructing the host to finish the reading process and wait for a next reading instruction. 
         [0006]    The conventional reading method of optical disc drives utilizes the predetermined number of retry attempts to re-read data; however, as the predetermined number of retry attempts in conventional reading is fixed, no matter whether the factors leading to reading errors are variable or permanent, the reading will be performed for the predetermined number. For example, for an optical disc with data marks of poor quality, if an identical number of retry attempts is utilized, the optical disc drive will spend a lot of time on re-reading while still encountering identical reading errors, i.e. the retry attempts are redundant. More particularly, for high-volume blu-ray discs with relative tiny data marks, re-reading rates are higher and therefore even more time is consumed, leading to a lower reading efficiency of the optical disc drives. Therefore, the conventional reading method of conventional optical disc drives still has issues to be solved on the setting of a number of retry attempts. 
       SUMMARY OF THE INVENTION 
       [0007]    One objective of the present invention is to provide a reading method of an optical disc drive. For areas with a low error amount of correcting and decoding data during a reading process, a high number of retry attempts is set to increase the opportunity of a successful reading process. For areas with a high error amount, a low number of retry attempts is set to reduce a number of redundant retry attempts to reduce the time of retry attempts. 
         [0008]    Another objective of the present invention is to provide a reading method of optical disc drives which utilizes a data decoding error amount during a reading process to selectively set a number of retry attempts to enhance reading efficiency. 
         [0009]    Yet another objective of the present invention is to provide a reading method of optical disc drives which utilizes an average decoding error amount of a reading area to select a number of retry attempts to accurately set the number of retry attempts. 
         [0010]    To achieve the aforementioned objectives, the present invention performs the steps of setting, reading, and decoding data, accumulating the error times of decoding data, setting to retry reading the data when a reading failure occurs, adding one to the error amount, setting a low number of retry attempts for a high error amount and a high number of retry attempts for a low error amount based on the error times, retrying to read the data if the number of retry attempts does not reach the predetermined number of retry attempts, and determining a reading fails if the number of retry attempts reaches the predetermined number. 
         [0011]    For the reading method of the present invention, when setting the number of retry attempts, the error amount of correction and decoding are categorized into multiple scales, and the number of retry attempts is set according to a predetermined corresponding scale. In addition, a sector number of reading in reading areas is derived. Dividing the error amount of correction and decoding by the sector number derives an average error amount, and the number of retry attempts is set according to the average error amount to set the number of retry attempts accurately. 
         [0012]    These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0013]      FIG. 1  is a flowchart of a reading method of optical disc drives according to an embodiment of the present invention. 
           [0014]      FIG. 2  is a flowchart of a reading method of optical disc drives according to a practical implementation of the present invention. 
           [0015]      FIG. 3  is a flowchart of categorizing a number of retry attempts into three ranges according to an embodiment of the present invention. 
           [0016]      FIG. 4  is a flowchart of setting a number of retry attempts according to another embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0017]    To illustrate the adopted techniques and effect of this invention described in the aforementioned statement, an actual example along with figures and an accompanying detailed description is provided below. 
         [0018]    For conventional optical disc drives, data marks on the optical disc are read and decoded via error correction code (ECC) to be recovered as original data. In the process of decoding, conventional ECC utilizes specific coding format to correct error signals of reading data marks, and accumulates an error amount. If all the error signals in the reading are corrected, the data can be read successfully, otherwise, a correction error will lead to a reading failure. Therefore, the error amount of ECC indicates a quality of data marks in a reading area. 
         [0019]    The reading method of the optical disc drive in the present invention utilizes the error amount in conventional ECC as a standard to determine a quality of data marks in each area of an optical disc. For areas of low ECC error amount (in other words, areas of good-quality data marks), a high number of retry attempts is set and data are re-read multiple times, leading to a higher probability of correcting error signals and completing a reading instruction. On the other hand, for areas of high ECC error amount, i.e., areas of poor-quality data marks, a low number of retry attempts is set to reduce re-reading time, and therefore the optical disc drive can quickly change to read a next data area. 
         [0020]    Please refer to  FIG. 1 , which is a flowchart of a reading method of optical disc drives according to an embodiment of the present invention. The steps of dynamically adjusting reading error and setting a number of retry attempts according to ECC error amounts in the reading method of the present invention are detailed as follows: in step P 1 , reading data on an optical disc is started. In step P 2 , data to be read are set and read. In step P 3 , ECC is utilized to correct and decode the data to be read, and error amounts during a decoding process are calculated. In step P 4 , when the correction and decoding is not successful, a reading failure occurs. In step P 5 , it is set to re-read the data, and a number of retry attempts is accumulated by one in step P 6 . In step P 7 , the error amount derived in step P 3  is referred to, a predetermined low number of retry attempts for a high error amount is set, and a predetermined high number of retry attempts for a low error amount is set. In step P 8 , it is checked whether the number of retry attempts reaches the corresponding predetermined number of retry attempts. If the corresponding predetermined number of retry attempts is not reached, the flow returns to step P 2  to again set and re-read the data. If the corresponding predetermined number of retry attempts is reached, the flow goes to step P 9 , to confirm a reading failure, and then proceeds to step P 10  to finish the reading process. 
         [0021]    Please refer to  FIG. 2 , which is a flowchart of a reading method of optical disc drives according to a practical implementation of the present invention. The steps of applying the reading method of the present invention on a host connecting to an optical disc drive is detailed as follows: in step R 1 , the optical disc drive receives a reading instruction from the host. In step R 2 , a target location of reading data is set according to the reading instruction and data marks at the target location on the optical disc are read. In step R 3 , ECC is utilized to correct and decode data marks to be read, and an error amount during correction and decoding in step R 4  is calculated. Next in step R 5 , it is checked if a reading error occurs. If no reading error occurs, the flow goes to step R 6  to check whether the data transmission is completed. If the data transmission is not completed, the flow returns to step R 2  to continue setting and reading data. If the data transmission is completed, the flow proceeds to step R 7  to finish the reading process and wait for an instruction from the host to read another data. 
         [0022]    When a reading error occurs during the checking in step R 5 , the flow goes to step R 8  to re-read the data, and a number of retry attempts is accumulated by one in step R 9 . In step R 10 , the error amount derived during correction and decoding in step R 4  is referred to, a predetermined low number of retry attempts for a high error data amount is set, and a predetermined high number of retry attempts for a low error data amount is set. The flow goes to step R 11  again to check if the number of retry attempts reaches the corresponding predetermined number of retry attempts. If the corresponding predetermined number of retry attempts is not reached, the flow returns to step R 2  to set and re-read the data again. If the corresponding predetermined number of retry attempts is reached, the flow proceeds to step R 12  to confirm a reading failure, and then goes to step R 6  to finish the reading process. 
         [0023]    For example, in the aforementioned step R 10 , the number of retry attempts will be categorized into two scales: high and low. However, this is not supposed to be a limitation of the present invention; the number of retry attempts can be categorized into multiple scales.  FIG. 3  is a flowchart of categorizing a number of retry attempts into three scales according to an embodiment of the present invention. Firstly, an error amount of correction and decoding is categorized into three scales according to their magnitude, i.e., the first error amount scale A 1 &gt;the second error amount scale A 2 &gt;the third error amount scale A 3 , and a corresponding predetermined number of retry attempts is set; that is, the first number of retry attempts B 1 &lt;the second number of retry attempts B 2 &lt;the third number of retry attempts B 3 . 
         [0024]    In step S 1 , the setting of a number of retry attempts is started. In step S 2 , an error amount of correction and decoding in the aforementioned step R 4  is captured. In step S 3 , a corresponding error amount scale of the error amount is checked according to the error amount scales A 1 , A 2  and A 3 . If the error amount is located within the first error amount scale A 1 , which is higher, the flow goes to step S 4  to set the number of retry attempts by the first number of retry attempts B 1 , which is lower than the others. If the error amount is located within the second error amount scale A 2 , which is in the middle, the flow goes to step S 5  to set the number of retry attempts by the second number of retry attempts B 2 , which is also in the middle. If the error amount is located within the third error amount scale A 3 , which is lower, the flow goes to step S 6  to set the number of retry attempts by the third number of retry attempts B 3 , which is higher than the others. After finishing all these settings, the flow proceeds to step S 7  to finish the setting process. 
         [0025]    Please refer to  FIG. 4 , which is a flowchart of setting a number of retry attempts according to another embodiment of the present invention. Since each reading data area has different capacities, and an error amount of a larger data area is higher than an error amount of a smaller data area, referring only to error amounts during each reading process will make a larger data area harder to be read successfully. To derive a more accurate standard for setting a number of retry attempts, an average error amount, which is derived from an error amount of each reading area and data sectors of the data area, is referred to as a standard for adjusting setting a number of retry attempts. 
         [0026]    In step T 1 , a process of setting a number of retry attempts is started. In step T 2 , the error amount of correction and decoding in the aforementioned step R 4  is captured. In step T 3 , a data sector number of the data areas in the aforementioned step R 3  is captured. In step T 4 , the error amount of correction and decoding is divided by the data sector number to derive an average error amount. In step T 5 , the average error amount and the predetermined error amount ranges are referred for adjusting a setting of the predetermined number of retry attempts, making a high error amount range correspond to a low number of retry attempts. Finally, in step T 6 , the setting process is finished. 
         [0027]    Therefore, the reading method of optical disc drives of the present invention can set a predetermined number of retry attempts according to a data decoding error amount during a reading process, set a high number of retry attempts for data areas of low error amounts to increase a probability of successful reading. For data areas of a high error amount, the number of retry attempts is set lower to reduce retrying time, leading to an enhancement of reading efficiency. In addition, the reading method of optical disc drives in the present invention utilizes an average error amount of reading a data area as a standard for setting a number of retry attempts, leading to a more accurate number of retry attempts. 
         [0028]    Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention.