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

Data coding method capable of correcting error Download PDF

Info

Publication number
CN100495932C
CN100495932C CNB2005101376959A CN200510137695A CN100495932C CN 100495932 C CN100495932 C CN 100495932C CN B2005101376959 A CNB2005101376959 A CN B2005101376959A CN 200510137695 A CN200510137695 A CN 200510137695A CN 100495932 C CN100495932 C CN 100495932C
Authority
CN
China
Prior art keywords
row
data
block
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.)
Expired - Fee Related
Application number
CNB2005101376959A
Other languages
Chinese (zh)
Other versions
CN1992053A (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 192x172=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 problem 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 Column); 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 record 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 schematic 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 schematic diagram after first kind of high efficiency coding of the present invention square adds check code;
Fig. 3 b is the schematic diagram after second kind of high efficiency coding of the present invention square adds check code;
Fig. 3 c is the schematic diagram after the third high efficiency coding square of the present invention adds check code;
Fig. 4 a is the schematic diagram after first kind of high efficiency coding of the present invention square cuts into a plurality of sections;
Fig. 4 b is the schematic diagram after second kind of high efficiency coding of the present invention square cuts into a plurality of sections;
Fig. 5 a and Fig. 5 b are the schematic diagram of section of the present invention after adding sector address;
Fig. 6 a is the schematic diagram after first kind of high efficiency coding of the present invention square adds sector address;
Fig. 6 b is the schematic diagram after second kind of high efficiency coding of the present invention square adds sector address;
Fig. 6 c is the schematic diagram after the third high efficiency coding square of the present invention adds sector address;
Fig. 7 for the present invention and DVD (ruddiness) at the error correcting code square efficient comparison sheet of encoding; And
Fig. 8 for the present invention and HD-DVD (blue light) at the error correcting code square efficient comparison sheet of encoding.
Wherein, Reference numeral:
Step 210 record data are arranged in the capable block of several M row x 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 efficiency coding square, shown in Fig. 3 a, in the process of coding, at first, will want that the data arrangement 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 the data length M of each row is 225 bytes, just has the M row, constitutes a data block (step 210) that size is 225 x 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 efficiency coding square, admissible continuous incorrect length can reach 237 an x 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 efficiency coding square, shown in Fig. 3 b, compare with first kind of high efficiency coding square, this kind data format is that the bug patch code block of 210 x 178 is formed by two sizes, wherein record data are the block of one 192 x 171, 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 an x 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 efficiency coding square, be 178 x, 18 an x 2=6408 byte.
In addition; the inventor also discloses the third high efficiency coding square; shown in Fig. 3 c; compare with second kind of high efficiency coding square; this kind data format 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 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 efficiency coding square is cut into 25 sections with 9 units of classifying as, second, three kinds of high 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 schematic diagram of a section after adding sector address of first kind of high efficiency coding square, columns when not adding sector address in original data format is (228+9)=237 byte according to length, then become (228+9+1)=238 byte after the adding, in addition shown in Fig. 5 b, this is second, the schematic diagram of a section after adding sector address of three kinds of high efficiency coding squares, columns when not adding sector address in original data format is (171+7) x2=356 byte according to length, then becomes (171+7) x2+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 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 columns of a section is that therefore 237 bytes become 238 bytes according to length originally; With second and third kind high 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 columns of a section is that therefore 356 bytes become 357 bytes according to length 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 efficiency coding square, second kind of high efficiency coding square and the third high 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 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 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 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 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 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 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 efficiency coding square that can error correcting capability is strong uses the protection at significant data, as file system etc.; And the third high 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 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 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 range 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 these 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 byte length, and form the error correcting code block that one (M+Q) row (N+P) are gone;
Error correcting code block that should (M+Q) row (N+P) row with K rearranges the error correcting code block of one (M+Q) row (K (N+P)) row, and wherein the K value is one more than or equal to 1 positive integer; And
With the L unit of classifying as, the error correcting code block that (M+Q) row (K (N+P)) row is somebody's turn to do in cutting is a plurality of data segments, and add the sector address information of a L byte length at the front end of first row of this section respectively, make the data of this section move backward, thereby respectively this data segments that will contain this sector address information is arranged in the record data block that one (M+Q) row (K (N+P)+1) are gone.
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, should (M+Q) error correcting code block of row (K (N+P)) row be that the bit length of itemizing cuts into this a plurality of data segments with 6 bytes.
8. method according to claim 1 is characterized in that, should (M+Q) error correcting code block of row (K (N+P)) row be that the bit length of itemizing cuts into this a plurality of data segments with 9 bytes.
9. method according to claim 1 is characterized in that, respectively the M in the block that these M row N is capable classifies 225 row, N behavior 228 row as.
10. method according to claim 1 is characterized in that, respectively the M in the block that these M row N is capable classifies 192 row, N behavior 171 row as.
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 CN1992053A (en) 2007-07-04
CN100495932C true 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)

Families Citing this family (2)

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

Also Published As

Publication number Publication date
CN1992053A (en) 2007-07-04

Similar Documents

Publication Publication Date Title
US7340665B2 (en) Shared redundancy in error correcting code
US8495454B2 (en) Methods, apparatuses, systems, and architectures for quickly and reliably encoding and/or decoding system data
US20050028067A1 (en) Data with multiple sets of error correction codes
JP4709485B2 (en) On-drive integrated sector format RAID error correction code system and method
EP1125294B1 (en) Multi-level error detection and correction technique for data storage recording device
US7549103B2 (en) Data encoding method for error correction
US8448045B2 (en) Outer code error correction
CN100539444C (en) Be used for to add the method and apparatus that error-correction layer is embedded into error correcting code
US20110249355A1 (en) Method and system for error checking in bit-patterned media
EP1640988B1 (en) Method and apparatus for decoding multiword information
US7747925B2 (en) Apparatus and method for error correction code striping
US9094046B2 (en) Systems and methods for variable sector count spreading and de-spreading
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
CN100385552C (en) Device for decoding disc read signal and method thereof
JP2007528566A (en) Error correction encoding method and apparatus, and error correction decoding method and apparatus
CN100399462C (en) Optical disk data read out method with error treatment
EP2270790A2 (en) Method and apparatus for decoding multiword information
CN111679787B (en) Flash memory device, flash memory controller and flash memory storage management method
CN110727541A (en) Method and system for checking partitioned storage of optical disk
US11237736B1 (en) Efficient data recovery for tape storage system
CN1578986A (en) Device for and method of determining the quality of a data signal
CN102981924A (en) Method and device suitable for data storage of dynamic coding
US7555698B2 (en) Method and apparatus for extracting specific data from BIS data
CN102013258B (en) Method for identifying erasing information of burst cutting region of blue-ray disc

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