1. Field of Invention
The invention relates to a data decoding method and the system thereof. In particular, it relates to a method and system of improving the error detection and error correction process and the hardware processing structure to reduce the number of times of memory access during data decoding.
2. Related Art
In order to effectively store and properly protect data in a recording medium, the stored data are often encoded according to a specific encoding procedure. A traditional encoding process 1 is shown in
When one wants to use the main data in the recording medium, a corresponding decoding process has to be used. The traditional decoding process 2 is exactly opposite to the encoding process. As shown in
The most important part in the traditional decoding process is shown in
We know from there that the conventional decoding method as in
To solve this problem, an improved decoding method and the corresponding system are disclosed in the U.S. Pat. No. 6,470,473. The primary characteristic of this method is in the execution order of the error detection procedure during decoding. (For example, steps S1 and S2, steps S3 and S4 in the above-mentioned procedure are processed at the same time, saving two times of memory access.) In the system, many independent memory units are used to process the decoding procedures of the first and second series of error correction code. It even uses extra memory to store the demodulated data. Although this kind of system and method can reduce the number of memory access times down to four, the added memory occupies quite some space on the hardware. This inevitable increases the volume and production cost of the hardware.
Under the premise of keeping the efficiency, how to reduce the number of direct memory access times without increase the system hardware space and production cost is always a very important problem in the field.
In view of the foregoing, the invention provides a new data decoding method and the system thereof. Its main feature is in the change of execution order in the error detection procedure. The goal of reducing memory access during data decoding is achieved using the processing structure of the system hardware. It further achieves the goals of reducing the production cost, increasing the number of error correction times, and decreasing the memory clock requirement.
The disclosed data decoding method, as shown in
Through the data decoding procedure mentioned in the above embodiment, the number of memory access times could be reduced down to three without the consideration of error corrections.
The disclosed data decoding system, as shown in
The disclosed data decoding method and system can reduce much of the memory cost or the system hardware cost by saving the internal memory space.
The invention will become more fully understood from the detailed description given hereinbelow illustration only, and thus are not limitative of the present invention, and wherein:
We propose a new data decoding method and the system thereof. They are mainly used to solve the decoding problem for data stored in a recording medium. The data are usually added with an error detection code (EDC), added a first series of error correction code and a second series of error correction code after executed a scrambling procedure, and are modulated before being stored to the recording medium.
In the following, we use
The modulated data are read from a recording medium for a demodulation module 20 to process and generate demodulated data (step 200). The demodulated data are simultaneously transmitted to a memory module 21 for storage (step 211), to a first decoding module 22 to perform a first-time first series of error correction code decoding procedure and using the error positions and error magnitudes obtained from the first decoding module 22 to execute error correction in the memory module 21 through the error correction module 26 (step 212), and to a first descrambling module 241 to descramble and generate descrambled data (step 213).
Afterwards, a second decoding module 23 reads out the corrected, demodulated data from the memory module 21 and performs a first-time second series of error correction code decoding. The error positions and error magnitudes obtained from the decoding are sent to the error correction module 26 to make further corrections on the demodulated data in the memory module 21 (step 240).
The error detection code computation in step 220 has two parts. (1) The error positions and error magnitudes obtained after the first-time first series of error correction code decoding are transmitted to the EDC computation module 25, and combine with the descrambled data generated by the first descrambling module 241 in step 213 to compute the result of EDC. (2) The error positions and error magnitudes obtained after the first-time second series of error correction code decoding in step 240 are transmitted to the EDC computation module 25 and combines with the EDC result computed in part (1) to re-compute it.
The EDC result computed in step 220 is used to determine whether there is any error in the main data (step 230). If no error is found in the main data, the scrambled data stored in the memory module 21 are allowed to be read out. After the descrambling of a second descrambling module 242, the main data are restored for the user to use (step 250), finishing the whole decoding procedure.
On the other hand, if we find out that there is an error in the main data in the EDC computation after the first-time first series of error correction code decoding or the first-time second series of error correction code decoding (step 230), the first series of error correction code decoding and the second series of error correction code decoding has to be performed again. Errors are corrected according to the decoding result.
The part of re-doing the first series of error correction code decoding or the second series of error correction code decoding is left for the second decoding module 23 to process (step 240). The error positions and error magnitudes generated by the first series of error correction code decoding or those of the second series of error correction code decoding are transmitted to the error correction module 26 to correct the errors. They are also sent to the EDC computation module 25 to combine with the previous EDC computation result for re-computing the EDC result until there is no error can be found in the main data in the EDC computation. (In practice, the whole decoding procedure may be abandoned if the repeated EDC computations exceed a predetermined number of times due to the consideration of efficiency.)
Therefore, the data decoding process described in the above embodiment can greatly reduce the number of direct memory module 21 access times down to at least three, i.e. as NS1, NS2, and NS3 shown in
Another feature of the disclosed method and system is as follows. The data finally stored in the memory module 21 after decoding are the scrambled main data. That is, the data descrambled by the first descrambling module 241 are not stored into the memory module 21. This is different from the prior art. Therefore, when a user wants to use the main data, a second descrambling module 242 has to be used to descramble the main data in the memory module 21.
In fact, the disclosed method and system also reduce the transmitting data rate and the cycles of the SDRAM. It is thus seen that the invention is more efficient in decoding than the prior art.
Certain variations would be apparent to those skilled in the art, which variations are considered within the spirit and scope of the claimed invention.
Number | Date | Country | Kind |
---|---|---|---|
93125290 | Aug 2004 | TW | national |