This Non-provisional application claims priority under 35 U.S.C. §119(a) on Patent Application No. 2005-065913 filed in Japan on Mar. 9, 2005, the entire contents of which are hereby incorporated by reference. The entire contents of Patent Application No. 2006-46308 filed in Japan on Feb. 23, 2006 are also incorporated by reference.
The present invention relates to a memory initialization device for initializing a memory for storing error correction data that is used in correcting errors in transmitted main data, a method for initializing the memory, and an error correction device using the memory initialization device.
A main-data error correction device has conventionally been provided with a buffer memory for storing and accumulating error correction data. Such an error correction device includes a buffer memory for storing main data read from, e.g., a Blu-ray Disc and a buffer memory for storing error correction data read from the Blu-ray Disc, so that in a case, e.g., where the main data stored in the buffer memory is error data due to noise having entered the main data during the read operation of the main data from the Blu-ray Disc, the error-containing main data can be corrected properly. That is, the error correction device is configured so that errors in the main data are corrected using the error correction data stored in the buffer memory.
As indicated by arrows shown in
However, the conventional error correction device described above has the following drawback, which will be discussed in detail below.
When data is read from a Blu-ray Disc, the data transfer rate and the data capture timing must be synchronized, because the peripheral speed of the optical disc differs between the central portion thereof and the peripheral portion thereof. The device for playing back the Blu-ray Disc is therefore provided with such a synchronous circuit. When it is detected that synchronization provided by this synchronous circuit is lost, the writing of the SYNC information sets stored in the sector that contains the SYNC information set currently being written is stopped, and the SYNC information sets in the next sector are correctly captured starting from the beginning in synchronization with the data transfer rate and written into the buffer memory.
However, as shown in
The old SYNC information sets reaming as described above cause the following disadvantage. This disadvantage will be described with reference to
It is therefore an object of the present invention to provide an error correction device in which even if, in a memory for storing, by an overwrite operation, error correction data for use in correcting errors in main data, loss of the error correction data occurs due to a sector jump such as described above or the like, the errors in the main data are reliably corrected.
In order to achieve the object, according to the present invention, even in cases where a plurality of error correction data sets are not written and thus lost, data in each address in the data missing area is overwritten with a specific value indicating that the corresponding main data contains errors, so that the errors in the main data are corrected without fail.
Specifically, an inventive memory initialization device includes: a memory, in which existing data is successively overwritten with error correction data for use in determining whether or not main data contains errors for storage of the error correction data, and a specific value providing circuit for filling a data missing area in the memory with a specific value indicating that the main data contains errors, wherein in the data missing area, the existing data is not overwritten with the error correction data due to an interruption of the overwriting of the memory with the error correction data.
In one embodiment of the inventive memory initialization device, the specific value providing circuit is an initialization DMA unit which writes, in an entire -storage area in the memory, the specific value indicating that the main data contains errors, before the overwriting of the memory with the error correction data is started.
In another embodiment, the memory initialization device further includes an address setting DMA unit for setting addresses in the memory at which the error correction data is to be written, wherein the specific value providing circuit is an initialization DMA unit which obtains a starting address and an end address in the data missing area from the address setting DMA unit and, based on the starting address and the end address, writes in the data missing area the specific value indicating that the main data contains errors, thereby initializing the data missing area.
In another embodiment, the memory is divided into a plurality of memory portions, which are overwritten in turn with the error correction data.
In another embodiment, the error correction data and the specific value written in the memory are output to an error correction/determination device for determining whether or not there are any errors in the main data and correcting the errors.
In another embodiment, the memory successively receives the error correction data of data sets read from an optical disc, and the data missing area in the memory is created due to a sector jump which is a jump made from a sector to a next sector in the optical disk during the reading of the data sets from the optical disc.
An inventive error correction device includes: the memory initialization device, and an error correction/determination processing section for receiving data output from the memory disposed in the memory initialization device, and determining whether or not there are any errors in the main data or correcting the errors in accordance with the output data.
In one embodiment of the error correction device, the memory disposed in the memory initialization device is divided into a plurality of memory portions, which are overwritten in turn with the error correction data; and with one of the plurality of memory portions being overwritten with the error correction data, the error correction/determination processing section receives output data from a different one of the memory portions and corrects the errors in the main data in accordance with this output data.
An inventive memory initialization method for initializing a memory in which existing data is successively overwritten with error correction data for use in determining whether or not main data contains errors for storage of the error correction data includes: the initialization step of initializing the memory by writing, in an entire storage area in the memory, a specific value indicating that the main data contains errors, before the overwriting of the memory with the error correction data is started; and the overwriting step of successively overwriting the initialized memory with the error correction data.
Another inventive memory initialization method for initializing a memory in which existing data is successively overwritten with error correction data for use in determining whether or not main data contains errors for storage of the error correction data includes: the overwriting step of successively overwriting the memory with the error correction data; the address obtaining process of obtaining, when a data missing area is created by an interruption of the overwriting of the memory with the error correction data, a starting address and an end address in the data missing area, wherein in the data missing area the existing data is not overwritten with the error correction data; and the initialization step of initializing only the data missing area in the memory by writing a specific value indicating that the main data contains errors, in the data missing area in the memory in accordance with the starting address and the end address.
In one embodiment of the inventive memory initialization method, the memory is divided into a plurality of memory portions; and in the overwriting step, a process is repeated in which an entire storage area in one of the memory portions is successively overwritten with the error correction data for storage of the error correction data, and thereafter an entire storage area in a different one of the memory portions is successively overwritten with the error correction data for storage of the error correction data.
In another embodiment, the error correction data and the specific value written-in the memory are output to an error correction/determination device for determining whether or not there are any errors in the main data and correcting the errors.
In another embodiment of the inventive memory initialization device, the error correction data written in the memory is data that is not capable of correcting errors in the error correction data.
In another embodiment of the inventive memory initialization device, the error correction data written in the memory is SYNC information.
According to the present invention, even in cases where the memory is not Loverwritten with new error correction data indicating whether or not there are any errors in main data due to a sector jump or the like and a data missing area, in which the new error correction data is not present, is thereby created in the memory, the data missing area is filled with data indicating that there are errors in the main data, which allows the errors in the main data to be corrected reliably.
Hereinafter, the preferred embodiments of the present invention will be described with reference to the accompanying drawings.
With reference to
In
The error correction device 45 divides the received transfer data sets, so that, of the transfer data sets, only the SYNC information sets 40 are output to the SYNC information buffer memory 42, while data 41 composed of the LDC data sets and the BIS data sets is output to the main data buffer memory 43. Therefore, in the SYNC information buffer memory 42, only the SYNC information sets 40 are stored and accumulated, while in the main data buffer memory 43, the LDC data sets and the BIS data sets stored and accumulated.
The error correction/determination processing section 44 receives the SYNC information sets 40 from the SYNC information buffer memory 42, and also receives the LDC data sets and the BIS data sets from the main data buffer memory 43. The error correction/determination processing section 44 then determines whether or not there are any errors in the LDC data sets present between the received SYNC information sets 40 and the BIS data sets existing immediately after the SYNC information sets 40 according to combinations of the values of the SYNC information sets 40 and the values of the BIS data sets, while determining whether or not there are any errors in the respective LDC data set present between two adjacent BIS data sets according to a combination of the values of these two BIS data sets. In this way, the error correction/determination processing section 44 makes the determinations about the presence/absence of errors in the LDC data sets, corrects the errors, and outputs the error-corrected LDC data sets and BIS data sets as the main data sets.
Next, the configuration of a memory initialization device in the error correction device 45 is shown in
Next, operation of the memory initialization device will be described. First, normal operation which is performed when no sector jump occurs will be discussed.
The operation described below is performed in a situation in which after the completion of writing of the SYNC information set 40 at the end address in the one memory portion 42a in the SYNC information buffer memory 42, the writing operation has been shifted to the other memory portion 42b and the writing of the SYNC information sets 40 into the other memory portion 42b has been completed from the starting address to the end address.
In this situation, the initialization DMA unit 13 writes the specific value at each address in the entire area in the memory portion 42a so as to initialize the entire area in the memory portion 42a (an initialization process). The specific value is a value indicating that there are errors in the corresponding LDC data set, and is, e.g., such a value that makes the lowest two bits of the total of the specific values written in the entire area be “11”.
Subsequently, the DMA unit 12 sets the starting address in the initialized memory portion 42a and then successively overwrites the memory portion 42a with the SYNC information sets starting from the starting address (an overwriting process). During this overwriting process, the error correction/determination processing section 44 receives the SYNC information sets that have been newly written in the entire area in the other memory portion 42b, and then, based on combinations of the values of these SYNC information sets and the values of the corresponding BIS data sets read from the main data buffer memory 43, determines whether or not there are any errors in the LDC data sets existing between these SYNC information sets and the BIS data sets. If there are any errors in the LDC data sets, the error correction/determination processing section 44 corrects them.
Thereafter, when the writing of the SYNC information set at the end address in the memory portion 42a has been completed, the initialization DMA unit 13 writes the specific value at each address in the entire area in the other memory portion 42b so as to initialize the entire storage area in the memory portion 42b.
Then, the DMA unit 12 sets the starting address in the initialized memory portion 42b and successively overwrites the memory portion 42b with the SYNC information sets starting from the starting address (an overwriting process). During this overwriting process, the error correction/determination processing section 44 receives the SYNC information sets that have been newly written in the entire area in the one memory portion 42a, and then, based on combinations of the values of these SYNC information sets and the values of the corresponding BIS data sets read from the main data buffer memory 43, determines whether or not there are any errors in the LDC data sets existing between these SYNC information sets and the BIS data sets. If there are any errors in the LDC data sets, the error correction/determination processing section 44 corrects them.
When the writing of the SYNC information set at the end address in the memory portion 42b has been completed, the initialization DMA unit 13 writes the specific value at each address in the entire storage area in the one memory portion 42a to initialize the entire storage area in the memory portion 42a. The subsequent processes are performed as described above; the DMA unit 12 sets the starting address in the initialized memory portion 42a and successively overwrites the memory portion 42a with the SYNC information sets starting from the starting address, while the error correction/determination processing section 44 corrects errors in the LDC data sets.
Now, a description will be made of operation which is performed when a sector jump has occurred.
For example, suppose a case in which a sector jump has occurred when the one memory portion 42a in the SYNC information buffer memory 42 is being overwritten with the SYNC information sets, with errors in the LDC data sets being corrected using the SYNC information sets in the other memory portion 42b. In this case, as shown in the state 2 in
As described above, in this embodiment, before each of the memory portions 42a and 42b in the SYNC information buffer memory 42 is overwritten with the SYNC information sets, the entire storage area therein is overwritten with the specific value indicating that the corresponding LDC data set contains errors so that the entire storage area is initialized. Therefore, even if a sector jump has occurred, errors in the LDC data sets can be properly corrected by the error correction/determination processing section 44.
In this embodiment, the SYNC information buffer memory 42 is divided into two portions: the memory portion 42a and the memory portion 42b. Nevertheless, the present invention is not limited the memory in which the number of divisions is two, but a memory which is not divided into a plurality of portions or a memory having three or more divided portions may be used.
Next, a second embodiment of the present invention will be described.
The initialization DMA unit 13 shown in
To be more specific, suppose a case, for example, where a sector jump has occurred when the memory portion 42a in the SYNC information buffer memory 42 is being overwritten with SYNC information sets, with errors in LDC data sets being corrected using SYNC information sets in the other memory portion 42b. In this case, a data missing area 14, which has not been overwritten with the new SYNC information sets, is created in the memory portion 42a as indicated by dashed arrows shown in
As described above, in this embodiment, even in a case where a sector jump has occurred when either the memory portion 42a or 42b in the SYNC information buffer memory 42 is being overwritten with the SYNC information sets, only the data missing area created by the sector jump, in which no new SYNC information sets have been written, is initialized by filling the data missing area with the specific value. Therefore, as in the first embodiment, even if a sector jump has occurred, errors in the LDC data sets can be properly corrected by the error correction/determination processing section 44.
In this embodiment, the SYNC information buffer memory 42 is divided into two portions: the memory portion 42a and the memory portion 42b. Nevertheless, the present invention is not limited the memory in which the number of divisions is two, but a memory which is not divided into a plurality of portions or a memory having three or more divided portions may be used.
Number | Date | Country | Kind |
---|---|---|---|
2005-065913 | Mar 2005 | JP | national |