CN1992053A - Data coding method capable of correcting error - Google Patents

Data coding method capable of correcting error Download PDF

Info

Publication number
CN1992053A
CN1992053A CN 200510137695 CN200510137695A CN1992053A CN 1992053 A CN1992053 A CN 1992053A CN 200510137695 CN200510137695 CN 200510137695 CN 200510137695 A CN200510137695 A CN 200510137695A CN 1992053 A CN1992053 A CN 1992053A
Authority
CN
China
Prior art keywords
data
block
row
error correcting
bytes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200510137695
Other languages
Chinese (zh)
Other versions
CN100495932C (en
Inventor
蔡铭昌
许哲国
赖国欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial Technology Research Institute ITRI
Original Assignee
Industrial Technology Research Institute ITRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Priority to CNB2005101376959A priority Critical patent/CN100495932C/en
Publication of CN1992053A publication Critical patent/CN1992053A/en
Application granted granted Critical
Publication of CN100495932C publication Critical patent/CN100495932C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a correct data coding method, error correcting code is added into data which is to be stored before data is written to recording memory medium, it includes row checking code and line checking code, a error correcting code block is formed, then at least one error correcting code blocks forms a data matrix to resist longer data continuous errors. At last the data matrix is incised into sections, separate section address information are added aiming at every section, the coding program has accomplished, according to method of the invention, section address information will not be added into the coding range of error correcting code, so the error detecting capacity of main data block improved greatly, besides, the invention provides three coding block formats, which form is chosen to write into the recording memory medium to make data storing more elastic based on the situation needed.

Description

Data coding method capable of correcting error
Technical field
The present invention relates to a kind of data coding method capable of correcting error, particularly a kind of storage and the higher coding method of debug efficient.
Background technology
Store the data on the recording storage medium (recording media) for efficient, and make data can obtain appropriate protection, usually all can be before storage data through specific coded program with digital coding.
General traditional cataloged procedure, can earlier master data (main data) be read into during beginning, before master data, add Address Recognition data (ID) then, Address Recognition data error detection sign indicating number (IED, ID ErrorDetection Code) and the anti-information (CPRM) of copying, add error-detecting code (EDC in master data more afterwards, Error Detection Code), then master data is upset (scramble), two kinds of error correcting code (ECC that add internal check sign indicating number (PI) and visual examination sign indicating number (PO) again at row and row respectively, ErrorCorrection Code), is referred to as error correcting code block (ECC block) to produce a block.Generally speaking, the length of check code is longer, the ability of just representing its error correction better, the number of the data that can correct mistakes is the more.
With regard to dvd system, as shown in Figure 1, this is the coded format of the error correcting code block of existing dvd system, one row length of master data block is 172 bytes (bytes), have 192 row, that is to say that master data can hold 192 * 172=33024 byte (bytes) data, but wherein also comprised each sector address that the master data block is cut into a plurality of sections (sector).The internal check sign indicating number that again row of master data block is added 10 bytes, and the visual examination sign indicating number that the row of master data block is added 16 bytes.
If but the placement of the check code in disc the more, relatively its user's data that can write down just tail off.Therefore, how to design a high efficiency error correcting code (High Coding Rate ECC; HR-ECC) block just becomes the emphasis that this patent motion will propose.
Summary of the invention
Technical matters to be solved by this invention is to propose a kind of data coding method capable of correcting error, and three kinds of error correcting code block design with greater efficiency and long continuous wrong decoding ability are provided.
Therefore, for achieving the above object, the disclosed a kind of data coding method capable of correcting error of the present invention, at least must comprise the following step: at first, each row that to want the block that stores add the check code (CSR that falls in lines, Check Sum on Row), reach each row and add the check code of entering a profession (CSC, Check Sum on Co1umn); Then again several block of encoding are combined into a data matrix, to improve the decoding ability of continuous mistake, carry out section (sector) cutting with the width of fixed line number again after, and in the preceding adding sector address of each section (sector) information; At last, the data recording after coding is finished is to recording storage medium.
According to the disclosed method of the present invention, sector address information will no longer be included into the coding range of error correcting code, therefore the debug ability of master data block more be increased.In addition, the present invention also provides three kinds of encoded block forms, and required situation is selected to take which kind of form to write in the recording storage medium in the time of can implementing according to each, makes data storing can have more elasticity.
Describe the present invention below in conjunction with the drawings and specific embodiments, but not as a limitation of the invention.
Description of drawings
Fig. 1 is the synoptic diagram of existing DVD error correcting code block form;
Fig. 2 is a method flow diagram of the present invention;
Fig. 3 a is the synoptic diagram after first kind of high-level efficiency coding of the present invention square adds check code;
Fig. 3 b is the synoptic diagram after second kind of high-level efficiency coding of the present invention square adds check code;
Fig. 3 c is the synoptic diagram after the third high-level efficiency coding square of the present invention adds check code;
Fig. 4 a is the synoptic diagram after first kind of high-level efficiency coding of the present invention square cuts into a plurality of sections;
Fig. 4 b is the synoptic diagram after second kind of high-level efficiency coding of the present invention square cuts into a plurality of sections;
Fig. 5 a and Fig. 5 b are the synoptic diagram of section of the present invention after adding sector address;
Fig. 6 a is the synoptic diagram after first kind of high-level efficiency coding of the present invention square adds sector address;
Fig. 6 b is the synoptic diagram after second kind of high-level efficiency coding of the present invention square adds sector address;
Fig. 6 c is the synoptic diagram after the third high-level efficiency coding square of the present invention adds sector address;
Fig. 7 is that the present invention and DVD (ruddiness) show in error correcting code coding square efficiency ratio; And
Fig. 8 is that the present invention and HD-DVD (blue light) show in error correcting code coding square efficiency ratio.
Wherein, Reference numeral:
Step 210 record data are arranged in the capable block of several M row * N
Step 220 adds the check code of falling in lines at each row of block, and each row adds the check code of entering a profession and becomes an ECC block
Step 230 rearranges a bigger ECC block with K ECC block
Step 240 becomes a plurality of sections and add sector address information before each section with the L unit of classifying as cutting ECC block
Step 250 rearranges a plurality of data segments that this contains sector address
Embodiment
The present invention will disclose a kind of data coding method capable of correcting error and three kinds of encoded block forms.In below of the present invention, describing in detail, will multiple specific details be described so that complete description of the present invention is provided.Yet, concerning knowing skill person, and can not need to use these specific detail just can implement the present invention, perhaps can be by utilizing the assembly or the method that substitute to implement the present invention.Under other situation, do not explain known method, program, parts and circuit especially, in order to avoid unnecessarily obscure emphasis of the present invention.
As shown in Figure 2, this is a method flow diagram of the present invention, is that example explains with first kind of high-level efficiency coding square, shown in Fig. 3 a, in the process of coding, at first, will want that the data ordering that writes down becomes a block, wherein the data length N of each row in this block is 228 bytes, in other words it is capable to have N, and data length M of each row is 225 bytes, just has M row, constitutes a size and be a data block (step 210) of 225 * 228.
Each row at block add the check code of falling in lines, and each row adds the check code of entering a profession and becomes an ECC block, respectively to each capable sign indicating number (parity) coding that conducts a survey, each row check code (CSR wherein, CheckSum on Row) accounts for 9 byte-sized, and each row check code (CSC, Check Sum on Column) accounts for 27 byte-sized (step 220), the function of check code is when storage data makes a mistake, the position that can locate errors and take place, and then the data correcting of mistake returned, therefore the length when check code is long more, just represent its error correcting capability good more, can the number of misdata reduction is also just many more.
With Reed-Solomon (RS) code, in the process of mistake decoding, the misdata number that can correct is generally half of check code, with length is the capable check code of 27 bytes, can only solve the data of 13 mistakes at most, when a misdata that is listed as surpasses 13 more than the byte, just can't do wrong the correction.If but at the Data Position of decode procedure known error, then the misdata that can revise just can be increased to 27 bytes.When the error in data that runs into a continuous segment length, mean the row check code and can't revise these misdatas, but when use row check code is made error correction, just can preestablish these wrong positions, capability for correcting is increased to 27 bytes.Therefore be example with first kind of high-level efficiency coding square, admissible continuous incorrect length can reach 237 * 27=6399 byte.
In order to improve the corrigendum ability of continuous mistake, two bug patch code blocks that add fall in lines check code and row check code are combined and become a new bug patch code block, each bug patch code block is all kept original decoding ability, equals just can double for the correction length of continuous mistake; Therefore, if combine, then can make the correction length of continuous mistake be increased to K doubly (step 230) with K bug patch code block.
Yet it is relative, if it is many more to be placed on the check code of recording storage medium, the code that can place in the space of same capability just tails off, therefore the inventor also discloses second kind of high-level efficiency coding square, shown in Fig. 3 b, compare with first kind of high-level efficiency coding square, this kind data layout is that 210 * 178 bug patch code block is formed by two sizes, wherein record data are one 192 * 171 block, each row check code only accounts for 7 byte-sized, and each row check code only accounts for 18 byte-sized, the decoding length of the continuous mistake of its single bug patch code block has only 178 * 18=3204 byte, after but two bug patch code blocks combine, can keep the decoding length of the continuous mistake close with first kind of high-level efficiency coding square, be 178 * 18 * 2=6408 byte.
In addition; the inventor also discloses the third high-level efficiency coding square; shown in Fig. 3 c; compare with second kind of high-level efficiency coding square; this kind data layout has only accounted for 12 byte-sized at each row check code; though error correcting capability has reduced some a little, can be applied in this that store video-audio data and allow on the data than the serious mistake amount, second kind of high-level efficiency coding staff block format then is more suitable for as Information System etc. in the protection of significant data.
When block has added the row check code respectively, and behind the row check code, next, be shown in Fig. 4 a and Fig. 4 b, become a plurality of sections (sector) with the fixing bit length of itemizing (being assumed to be a L) miscut check code block, therefore first kind of high-level efficiency coding square is cut into 25 sections with 9 units of classifying as, second, three kinds of high-level efficiency coding squares then are cut into 35 and 34 sections with 6 units of classifying as, and before the data of each away minor segment, giving an address label, which away minor segment (step 240) can tell the data of reading at present when the device that is beneficial to read back reads back its data is.Shown in Fig. 5 a, this is the synoptic diagram of a section after adding sector address of first kind of high-level efficiency coding square, column data length when not adding sector address in original data layout is (228+9)=237 byte, then become (228+9+1)=238 byte after the adding, in addition shown in Fig. 5 b, this is second, the synoptic diagram of a section after adding sector address of three kinds of high-level efficiency coding squares, column data length when not adding sector address in original data layout is (171+7) * 2=356 byte, then becomes (171+7) * 2+1=357 byte after the adding.
And when reading back device for reading data, can reach more accurate and read its sector address easily, want the data that read in order to identification because of configuration mode so.Because the sector address data are to be added in originally through the data front behind the error correcting code coding, move backward the position that can make former notebook data put, with first kind of high-level efficiency coding square is example, originally first be listed as error correcting code block data with 237 bytes, add the sector address of 9 bytes at front end after, can only put the error correcting code block data of 229 bytes, in like manner after mean allocation, that is to say that the column data length of a section is that therefore 237 bytes become 238 bytes originally; With second and third kind high-level efficiency coding square is example, the error correcting code block data of first row with 356 bytes originally, add the sector address of 6 bytes at front end after, can only put the error correcting code block data of 351 bytes.In like manner, after mean allocation, that is to say that the column data length of a section is that therefore 356 bytes become 357 bytes originally, be about to these a plurality of data segments that contain sector address and rearrange (step 250).After through the adding sector address, the form of first kind of high-level efficiency coding square, second kind of high-level efficiency coding square and the third high-level efficiency coding square is respectively shown in Fig. 6 a, Fig. 6 b and Fig. 6 c.
The disclosed two kinds of coded formats of the present invention are compared with the storage usefulness of HD-DVD with the DVD that is commonly used most at ruddiness and blue light respectively now, respectively as shown in Figures 7 and 8, can express its code efficiency from three reference pointer, these three reference pointer are respectively: Coding Gain, Burst ErrorLength, One time ECC Correction Rate.Elder generation is from the usefulness of the error correcting code block of DVD, and is represented as Fig. 7, can learn that its Coding Gain is 0.872 after analyzing; And the meaning of CodingGain representative is the data ratio that can protect in the capacity of an error correcting code block size.Burst Error Length then is 2912 bytes; The meaning of Burst Error Length then is continuous corrupt data to be corrected the length of returning when the discs scratch.As for One time ECCCorrection Rate is 11.24%; Its meaning is the data at this error correcting code block, and when numerous random errors (Random Error) took place, multipotency was separated back the ratio of data number.
And first kind of high-level efficiency coding square of this patent institute motion learns that its CodingGain is 0.859 after analyzing; Burst Error Length is 6399 bytes; One time ECC CorrectionRate then is 13.75%, and Coding Gain is slightly less than DVD, but then all is better than DVD relatively going up of both numerical value of back.Second kind of high-level efficiency coding square learns that its Coding Gain is 0.878 after analyzing; Burst Error Length is 6408 bytes; One time ECC Correction Rate then is 11.13%, is more or less the same with the coded system of DVD, but then all is better than DVD the above two relatively going up of numerical value.And the third high-level efficiency coding square learns that its Coding Gain is 0.904 after analyzing, and the coded system that significantly exceeds DVD is many, means that the data that can store in same error correcting code block size are more; Burst Error Length is that also the coded system than DVD is good for 4272 bytes; One timeECC Correction Rate then is 8%.
Compare with the HD-DVD usefulness of blu-ray system, as shown in Figure 8, can learn after analyzing, its Coding Gain is 0.872 identical with DVD; Burst Error Length then is 5824 bytes; As for One time ECC Correction Rate is 11.24%.
And first kind of high-level efficiency coding square of this patent institute motion learns that its CodingGain is 0.859 after analyzing; Burst Error Length is 6399 bytes; One time ECC CorrectionRate then is 13.75%, and Coding Gain is slightly less than HD-DVD, but then all is better than HD-DVD relatively going up of both numerical value of back.Second kind of high-level efficiency coding square is equally under blu-ray system, via learning that its Coding Gain is 0.878 after the analysis; Burst Error Length is 6408 bytes; One time ECCCorrection Rate then is 11.13%, is more or less the same with the coded system of HD-DVD, but then all is better than HD-DVD the above two relatively going up of numerical value.And the third high-level efficiency coding square learns that its Coding Gain is 0.904 after analyzing, and the coded system that significantly exceeds HD-DVD is many, means that the data that can store in same error correcting code block size are more; Burst Error Length is 4272 bytes; One time ECC Correction Rate then is 8%.
Because its error correcting capability of coded system of three kinds of error correcting codes that this patent proposes is had nothing in common with each other.On real the work, the coded format of these three kinds of error correcting codes can be mixed service recorder on same recording storage medium, and second kind of high-level efficiency coding square that can error correcting capability is strong uses the protection at significant data, as file system etc.; And the third high-level efficiency coding square is used in allowing the data than the serious mistake amount, as video-audio data etc.Do not mind the importance of data if only want record more data in disc, can only use the form of single the third high-level efficiency coding square; In like manner, if only lie in the form that data importance then can only be used second kind of strong high-level efficiency coding square of single error correcting capability.
Certainly; the present invention also can have other various embodiments; under the situation that does not deviate from spirit of the present invention and essence thereof; those of ordinary skill in the art work as can make various corresponding changes and distortion according to the present invention, but these corresponding changes and distortion all should belong to the protection domain of the appended claim of the present invention.

Claims (10)

1. a data coding method capable of correcting error is characterized in that, has comprised the following step:
Record data are arranged in the capable block of a plurality of M row * N;
Each row of block that respectively this M row * N is capable are added the row check code of a P byte length, and each row adds the capable check code of a Q hyte length, and form the error correcting code block of one (M+Q) * (N+P);
Error correcting code block that should (M+Q) * (N+P) with K rearranges the error correcting code block of one (M+Q) * (K (N+P)), and wherein the K value is one more than or equal to 1 positive integer;
With the L unit of classifying as, the error correcting code block that cutting should (M+Q) * (K (N+P)) is a plurality of data segments, and adds the sector address information of a L hyte length before this section respectively; And
Respectively this data segments that will contain this sector address information rearranges into the record data block of one (M+Q) * (K (N+P)).
2. method according to claim 1 is characterized in that this row check code accounts for the data length of 7 bytes.
3. method according to claim 1 is characterized in that this row check code accounts for the data length of 9 bytes.
4. method according to claim 1 is characterized in that this row check code accounts for the data length of 27 bytes.
5. method according to claim 1 is characterized in that this row check code accounts for the data length of 18 bytes.
6. method according to claim 1 is characterized in that this row check code accounts for the data length of 12 bytes.
7. method according to claim 1 is characterized in that, error correcting code block that should (M+Q) * (K (N+P)) is that the bit length of itemizing cuts into this a plurality of sections with 6 bytes.
8. method according to claim 1 is characterized in that, error correcting code block that should (M+Q) * (K (N+P)) is that the bit length of itemizing cuts into this a plurality of sections with 9 bytes.
9. method according to claim 1 is characterized in that, respectively the block that this M row * N is capable is one 225 * 228 matrix.
10. method according to claim 1 is characterized in that, respectively the block that this M row * N is capable is one 192 * 171 matrix.
CNB2005101376959A 2005-12-31 2005-12-31 Data coding method capable of correcting error Expired - Fee Related CN100495932C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101376959A CN100495932C (en) 2005-12-31 2005-12-31 Data coding method capable of correcting error

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101376959A CN100495932C (en) 2005-12-31 2005-12-31 Data coding method capable of correcting error

Publications (2)

Publication Number Publication Date
CN1992053A true CN1992053A (en) 2007-07-04
CN100495932C CN100495932C (en) 2009-06-03

Family

ID=38214247

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101376959A Expired - Fee Related CN100495932C (en) 2005-12-31 2005-12-31 Data coding method capable of correcting error

Country Status (1)

Country Link
CN (1) CN100495932C (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8482963B1 (en) 2009-12-02 2013-07-09 Altera Corporation Integrated circuits with asymmetric and stacked transistors
US9496268B2 (en) 2009-12-02 2016-11-15 Altera Corporation Integrated circuits with asymmetric and stacked transistors

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8482963B1 (en) 2009-12-02 2013-07-09 Altera Corporation Integrated circuits with asymmetric and stacked transistors
US8750026B1 (en) 2009-12-02 2014-06-10 Altera Corporation Integrated circuits with asymmetric and stacked transistors
US9496268B2 (en) 2009-12-02 2016-11-15 Altera Corporation Integrated circuits with asymmetric and stacked transistors

Also Published As

Publication number Publication date
CN100495932C (en) 2009-06-03

Similar Documents

Publication Publication Date Title
US8495454B2 (en) Methods, apparatuses, systems, and architectures for quickly and reliably encoding and/or decoding system data
US7340665B2 (en) Shared redundancy in error correcting code
JP4709485B2 (en) On-drive integrated sector format RAID error correction code system and method
US7162678B2 (en) Extended error correction codes
US7900118B2 (en) Flash memory system and method for controlling the same
US8331051B2 (en) Device and method for error detection
EP1125294B1 (en) Multi-level error detection and correction technique for data storage recording device
GB2404830A (en) Data with multiple sets of error correction codes
CN1881477A (en) Error detection and correction for encoded data
JP2011504270A (en) Fault tolerant non-volatile integrated circuit memory
CN1615591A (en) Method of encoding and decoding
US7549103B2 (en) Data encoding method for error correction
US20050154959A1 (en) Method and apparatus for embedding an additional layer of error correction into an error correcting code
JP2004281037A (en) Method and system for correcting data stored in storage medium and computer readable storage medium
CN1677874A (en) Method of detecting error location, and error detection circuit, error correction circuit using same
GB2508475A (en) Scalable error correction for sequential multiple data sectors in data storage device
US6378100B1 (en) Method and apparatus for encoding multiword information with error locative clues directed to low protectivity words
JP4988418B2 (en) Method, program and data storage device for reading / writing data from / to multiple layers of rotating storage medium
CN100495932C (en) Data coding method capable of correcting error
CN1751443A (en) Error correction coding equipment and method and error correction decoding equipment and method
KR20040093499A (en) Method and apparatus for embedding an additional layer of error correction into an error correcting code
CN1599981A (en) Simple decoding method and apparatus
CN1578986A (en) Device for and method of determining the quality of a data signal
US7555698B2 (en) Method and apparatus for extracting specific data from BIS data
CN1282186C (en) Data reading out method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090603

Termination date: 20141231

EXPY Termination of patent right or utility model