Device and method for decoding data streams from storage media

Error detection/correction and fault detection/recovery – Pulse or data error handling – Digital data error correction

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S769000

Reexamination Certificate

active

06363511

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to error detection and correction devices, and more particularly to devices used in detecting and correcting data read from DVD media.
2. Description of the Related Art
In recent years, optical disc technology has gained popularity in the computer and entertainment industries. For example, by providing superior digital sound quality, CD players and discs have effectively displaced phonographs in the music industry. In addition, CD-ROM technology has also become popular in the computer industry as well for recording and reading large amounts of information or data.
However, in response to an ever increasing demand for convenient storage devices with even greater storage capacity, a new optical media known as digital video disc or digital versatile disc (DVD) has emerged as a promising new technology. The DVD media technology provides many times the storage capacity of a conventional CD-ROM disc. For example, a DVD medium may store data from 4.7 gigabytes up to 18 gigabytes. In contrast, conventional CD-ROM discs are usually only capable of storing about 650 Megabytes of data. Of course, the capacity of a DVD medium may surpass 18 Gigabytes in the near future as the technology improves.
Information in a DVD medium is stored in a similar manner as the traditional CD-ROM disc. Prior Art
FIG. 1A
illustrates a DVD medium
100
having a center hole
104
. In the DVD medium
100
, data is typically stored in units of sectors that are laid out in a continuous spiral
102
from the center hole
104
and extending through to the circumference of the DVD medium
100
. Sectors are laid out along the spiraling track
102
. For example, a portion
106
of the spiraling track
102
may include numerous sequential sectors.
Prior art
FIG. 1B
illustrates a more detailed layout of the portion
106
of the spiraling track
102
in the DVD medium
100
. The portion
106
includes five sequential sectors
110
,
111
,
112
,
113
, and
114
(i.e.,
110
through
114
). Each of the sectors
110
through
114
stores user data of 2064 bytes.
Each of the sectors
110
through
114
contains a header field
120
and a data field
122
. The header field
120
is typically assigned sixteen bytes. Of these sixteen bytes, the first four bytes store the sector number for identifying the sector, and the remaining bytes are used to store information related to error detection, copy protection, and payload error detection.
Often however, user data stored in or read from a DVD medium may become corrupted or contaminated. For example, contamination or corruption can occur for reasons such as scratches, dust, noise, and other imperfections. The contamination or corruption typically causes two types of errors: a random error and a burst error. The random error refers to a single bit of error. On the other hand, the burst error refers to an error involving a set of contiguous bits.
To protect against such random and burst errors, DVD technology typically implements an error correction code (ECC) block coding scheme. In the ECC block coding scheme, user data is organized into blocks of data sectors and ECC bytes. Prior Art
FIG. 2A
illustrates the organization of an exemplary ECC block
200
. The block
200
includes 16 sectors from sector
0
through sector
15
. As will be discussed below, each of the 16 sectors includes 12 rows. For example, the first sector
202
(i.e., sector
0
) includes 12 rows. Each of the rows includes 172 columns or column bytes labeled
0
through
171
.
In the ECC block
200
, both the rows and columns of the ECC block
200
include check bytes for error detection and correction. Check bytes are well known in the art and are also referred to parity bytes, check symbols, redundancy symbols, etc. The ECC block
200
includes row check bytes
204
and column check bytes
206
. Each of the rows of the 16 sectors includes 10 row check bytes
204
(i.e., inner parity or PI) appended after the last byte in the corresponding row. Each of the 172 columns and the row check bytes
204
includes 16 column check bytes
206
(i.e., outer parity or PO) appended after the last byte in the corresponding column. Thus, the data and check bytes in the ECC block
200
are logically organized in a two dimensional structure.
Prior Art
FIG. 2B
shows the individual rows and columns of the ECC block
200
. The ECC block
200
depicts 208 rows from row
0
through row
207
. Since 12 rows make up a data sector, the ECC block
200
contains 16 sectors occupying 192 rows from row
0
through row
191
. For example, the first sector
202
includes 12 rows from row
0
through row
11
. The ECC block
200
contains column check bytes in the remaining 16 rows
206
from row
192
through row
207
. The last four bytes in a sector (e.g., sector
202
) are error-detection code (EDC) bytes
210
used as an additional error detection bytes for a sector.
With continuing reference to Prior Art
FIG. 2B
, the ECC block
200
also shows 182 columns from column
0
through column
181
. Each row in the ECC block
200
contains 172 user bytes and 10 row check bytes for a total of 182 bytes. These 182 bytes define the columns
0
through
181
, respectively. The 10 row check bytes are appended to the end of a row as shown in columns
172
through
181
for error detection and correction.
As mentioned previously, a data sector is split into 12 rows of 172 bytes each. One data sector typically contains 12 bytes of header, 2048 bytes of user data, and 4 bytes of EDC for a total of 2064 bytes. Prior Art
FIG. 2C
illustrates a physical sector
250
including 13 rows from row
0
through row
12
. The physical sector
250
is first generated by converting a data sector into a recording sector, which is generated by adding and interleaving check bytes. Specifically, 10 bytes of row check bytes (i.e., inner parity or PI bytes) are generated and added to each row and 16 column check bytes (i.e., outer parity bytes) are generated and added to each column. Then, column check bytes are interleaved between 16 sectors of user data such that each sector is followed by a row of column check bytes. Accordingly, each recording sector consists of 13 rows of 182 bytes each.
The recording sector is then converted to the physical sector
250
by splitting the recording sector down the middle and adding a 1-byte sync code
252
in front of each half-row. In addition, the data is processed with an 8-to-16 modulation (EFM plus), which replaces each byte with a 16-bit code. This conversion process results in the creation of 16 blocks of physical sectors within an ECC block. Each of the physical sectors consists of 4836 bytes. The physical sector data are then sequentially written out row by row to a DVD medium as channel data starting with the first sector in the ECC block. The first sector of the next ECC block immediately follows the last sector of the current ECC block.
Prior Art
FIG. 3
illustrates a block diagram of a DVD decoder system
300
for detecting and correcting errors in an ECC block. In this system
300
, a disc controller
302
sequentially receives a stream of ECC block data from a DVD medium and identifies sync bytes for detecting the rows. The disc controller
302
transmits the detected rows of the ECC block data into an ECC buffer
304
. The DVD decoder system
300
assembles the rows into an ECC block in the ECC buffer
304
. When a full ECC block has been assembled or stored in the ECC buffer
304
, the error detection and correction circuitry
306
accesses the ECC buffer
304
to read the data that are stored in the ECC buffer
304
. The error detection and correction circuitry
306
then performs row and column corrections using the accessed data. If either the row or column errors can not be corrected, the data in the ECC buffer
304
is accessed again for repeat correction. Finally, when the data has been detected and corrected, the corrected data is transmitted to a host
308
.
Unfortunately, waiting for a full ECC block to be av

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Device and method for decoding data streams from storage media does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Device and method for decoding data streams from storage media, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Device and method for decoding data streams from storage media will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2870376

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.