CN102981924B - Method and device suitable for data storage of dynamic coding - Google Patents

Method and device suitable for data storage of dynamic coding Download PDF

Info

Publication number
CN102981924B
CN102981924B CN201210444805.6A CN201210444805A CN102981924B CN 102981924 B CN102981924 B CN 102981924B CN 201210444805 A CN201210444805 A CN 201210444805A CN 102981924 B CN102981924 B CN 102981924B
Authority
CN
China
Prior art keywords
row
data
sector
coding
code
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.)
Active
Application number
CN201210444805.6A
Other languages
Chinese (zh)
Other versions
CN102981924A (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.)
Hangzhou Silan Microelectronics Co Ltd
Original Assignee
Hangzhou Silan Microelectronics Co Ltd
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 Hangzhou Silan Microelectronics Co Ltd filed Critical Hangzhou Silan Microelectronics Co Ltd
Priority to CN201210444805.6A priority Critical patent/CN102981924B/en
Publication of CN102981924A publication Critical patent/CN102981924A/en
Application granted granted Critical
Publication of CN102981924B publication Critical patent/CN102981924B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

The invention provides a method suitable for data storage of dynamic coding. The method suitable for data storage of dynamic coding comprises the following steps: combining user information data of an X1 bite to a data sector; sequentially adding the number of the sector, a reverse signal (RS) error correction code of the number of the sector, a first reserved word and a data sector control word before the data sector; carrying out error detection for the user information data and coding an error detection code to obtain an error detection and correction (EDC) check code of an X6 bite, and postfix the EDC check code after the data sector to form a recording sector; dividing the recording sector into X7 rows, and each row comprises M bites. The method is capable of being suitable for dynamic coding, and is high in organization efficiency of a stored data structure.

Description

Be applicable to date storage method and the device of dynamic coding
Technical field
The present invention relates to data storage technology, particularly relate to a kind of date storage method and the device that are applicable to dynamic coding.
Background technology
By deposit data on various medium or by data by before transmission, can data structure in a variety of manners reorganize or packing.This data structure except comprising original user data, also comprise to inquire about, error-detection error-correction and data security etc. the redundant data that adds.Consider the characteristic of different channels characteristic and storage medium, the data after reorganization also will carry out chnnel coding, add synchronous code to realize effective transmission or the storage of data.
Due to the current environment for use of medium, service time, manufactured materials and manufacturing process, the factors such as the requirement of the medium of transmission channel and environment or data reliability are all constantly changes, therefore dynamic data can be adopted to encode at some application scenarios, and this dynamic data coding need corresponding data structure storage method to adapt with it.
In addition, the organizational efficiency of data structure is also the important indicator of evaluating data structure, and the Organization of Data efficiency as CD can be 0.2843 usually; The Organization of Data efficiency of DVD can be 0.4235 usually; The Organization of Data efficiency of BD DVD can be 0.5471 usually.
Therefore, how to realize the date storage method that can be applicable to dynamic data coding, and how the organizational efficiency of the data structure stored can reach the problem that higher requirement is current needs solution.
Summary of the invention
The technical problem to be solved in the present invention is to provide a kind of date storage method and the device that are applicable to dynamic coding, can be applicable to dynamic data coding, and the organizational efficiency of the data structure stored is higher.
For solving the problems of the technologies described above, the invention provides a kind of date storage method being applicable to dynamic coding, comprising:
By X 1the user profile data composition data sector of byte, described X 1for positive integer;
Before described data sector, add sector number, the RS error correcting code of described sector number, the first reserved word and data sector control word successively, the length of the RS error correcting code of described sector number, sector number, the first reserved word and data sector control word is for being followed successively by X 2byte, X 3byte, X 4byte and X 5byte, wherein X 2be any positive integer of 2 to 8, X 3be 2 or 4 or 6 or 8, X 4for nonnegative integer, X 5be the high X of any positive integer of 1 to 16, described data sector control word 5× 4 are used to indicate row coding method and row coding method, low X 5× 4 are used to indicate row checking symbol number L and row checking symbol number K, and wherein L is positive integer, and K is nonnegative integer;
Error detection error error detecting code coding is carried out to described user profile data, obtains X 6the EDC check code of byte, and by described EDC check code suffix after described data sector thus formed record sector, wherein X 6be any positive integer of 1 to 16, the length of described record sector is X 1+ X 2+ X 3+ X 4+ X 5+ X 6byte;
Described record sector is divided into X 7oK, every behavior M byte, wherein X 7be any positive integer of 1 to 64, M=(X 1+ X 2+ X 3+ X 4+ X 5+ X 6)/X 7and M is positive integer.
According to one embodiment of present invention, described record sector is being divided into X 7also comprise after row: by X 8the user profile data block that individual record sector composition N is capable, wherein X 8for positive integer, N=X 8× X 7.
According to one embodiment of present invention, form described user profile data block after also comprise:
The row coding method adopting described data sector control word to indicate each row to described user profile data block carry out row coding, L × the M obtained a row checking symbol and described user data block are combined as the row information data block that (N+L) row M arranges, (the N+L) × K obtained a row checking symbol and described row information data block, to each every trade coding of advancing of described row information data block, are combined as the error correction coding block that (N+L) row (M+K) arranges by the row coding method adopting described data sector control word to indicate afterwards; Or,
The row coding method adopting described data sector control word to indicate is to each every trade coding of advancing of described user profile data block, N × the K obtained a row checking symbol and described user data block are combined as the column information data block that N capable (M+K) arranges, the row coding method adopting described data sector control word to indicate afterwards each row to described column information data block carry out row coding, the L obtained × (M+K) individual row checking symbol and described column information data chunk are combined into the error correction coding block that (N+L) row (M+K) arranges.
According to one embodiment of present invention, also comprise after the described error correction coding block of generation: at every a line prefixing synchronous code and second reserved word of described error correction coding block, and chnnel coding is carried out to each symbol after described second reserved word.
According to one embodiment of present invention, described row checking symbol number L and row checking symbol number K is variable according to current application scene dynamics, wherein current application scene comprises following one or more combination: the current environment for use of medium, service time, manufactured materials and manufacturing process, the medium of transmission channel and environment, the requirement of data reliability.
According to one embodiment of present invention, described row coding method and row coding method are selected from: RS code, convolutional code, BCH code, EDC code, School Affairs code, Turbo code and LDPC code.
According to one embodiment of present invention, described record sector is divided into X 7also comprise after row: scrambler is carried out to described user profile data.
According to one embodiment of present invention, row checking symbol number L=10,12 or 16, row checking symbol number K=2,4,6,8,10,16 or 32.
According to one embodiment of present invention, described user profile data are the data for optical disc storage, wherein X 1=2048, X 2=4, X 3=2, X 4=1, X 5=1, X 6=4, X 7=10, X 8=16, N=160, M=206.
According to one embodiment of present invention, described user profile data are the data for Internet Transmission, wherein X 1=1024, X 2=4, X 3=2, X 4=4, X 5=2, X 6=4, X 7=10, X 8=16, N=160, M=104.
According to one embodiment of present invention, described user profile data are the data stored for USB flash disk, wherein X 1=512, X 2=4, X 3=2, X 4=1, X 5=1, X 6=4, X 7=4, X 8=16, N=64, M=131.
Present invention also offers a kind of data storage device being applicable to dynamic coding, comprising:
Data sector generation module, by X 1the user profile data composition data sector of byte, described X 1for positive integer;
Laminating module, before described data sector, add sector number, the RS error correcting code of described sector number, the first reserved word and data sector control word successively, the length of the RS error correcting code of described sector number, sector number, the first reserved word and data sector control word is for being followed successively by X 2byte, X 3byte, X 4byte and X 5byte, wherein X 2be any positive integer of 2 to 8, X 3be 2 or 4 or 6 or 8, X 4for nonnegative integer, X 5be the high X of any positive integer of 1 to 16, described data sector control word 5× 4 are used to indicate row coding method and row coding method, and low X5 × 4 are used to indicate row checking symbol number L and row checking symbol number K, and wherein L is positive integer, and K is nonnegative integer;
Error-detecting code coding module, carries out error detection error error detecting code coding to described user profile data, obtains X 6the EDC check code of byte, and transfer to described laminating module suffix after described data sector described EDC check code thus form record sector, wherein X 6be any positive integer of 1 to 16, the length of described record sector is X 1+ X 2+ X 3+ X 4+ X 5+ X 6;
Record sector branch module, is divided into X by described record sector 7oK, every behavior M byte, wherein X 7be any positive integer of 1 to 64, M=(X 1+ X 2+ X 3+ X 4+ X 5+ X 6)/X 7and M is positive integer.
According to one embodiment of present invention, described data storage device also comprises: user profile data block generation module, is connected, by X with described record sector branch module 8the user profile data block that individual record sector composition N is capable, wherein X 8for positive integer, N=X 8× X 7.
According to one embodiment of present invention, described data storage device also comprises: Error Correction of Coding module, the row coding method adopting described data sector control word to indicate each row to described user profile data block carry out row coding, L × the M obtained a row checking symbol and described user data block are combined as the row information data block that (N+L) row M arranges, the row coding method adopting described data sector control word to indicate afterwards is to each every trade coding of advancing of described row information data block, (the N+L) × K obtained a row checking symbol and described row information data block are combined as the error correction coding block that (N+L) row (M+K) arranges, or,
The row coding method adopting described data sector control word to indicate is to each every trade coding of advancing of described user profile data block, N × the K obtained a row checking symbol and described user data block are combined as the column information data block that N capable (M+K) arranges, the row coding method adopting described data sector control word to indicate afterwards each row to described column information data block carry out row coding, the L obtained × (M+K) individual row checking symbol and described column information data chunk are combined into the error correction coding block that (N+L) row (M+K) arranges.
According to one embodiment of present invention, described data storage device also comprises: synchronous code maker, at every a line prefixing synchronous code and second reserved word of described error correction coding block, and carries out chnnel coding to each symbol after described second reserved word.
According to one embodiment of present invention, described data storage device also comprises: dynamic parameter generation module, described row checking symbol number L and row checking symbol number K is generated changeably according to current application scene dynamics, wherein current application scene comprises following one or more combination: the current environment for use of medium, service time, manufactured materials and manufacturing process, the medium of transmission channel and environment, the requirement of data reliability.
According to one embodiment of present invention, described row coding method and row coding method are selected from: RS code, convolutional code, BCH code, EDC code, School Affairs code, Turbo code and LDPC code.
According to one embodiment of present invention, described data storage device also comprises: scrambler, is connected, carries out scrambler to described user profile data with described record sector branch module.
According to one embodiment of present invention, row checking symbol number L=10,12 or 16, row checking symbol number K=2,4,6,8,10,16 or 32.
According to one embodiment of present invention, described user profile data are the data for optical disc storage, wherein X 1=2048, X 2=4, X 3=2, X 4=1, X 5=1, X 6=4, X 7=10, X 8=16, N=160, M=206.
According to one embodiment of present invention, described user profile data are the data for Internet Transmission, wherein X 1=1024, X 2=4, X 3=2, X 4=4, X 5=2, X 6=4, X 7=10, X 8=16, N=160, M=104.
According to one embodiment of present invention, described user profile data are the data stored for USB flash disk, wherein X 1=512, X 2=4, X 3=2, X 4=1, X 5=1, X 6=4, X 7=4, X 8=16, N=64, M=131.
Compared with prior art, the present invention has the following advantages:
Embodiments provide a kind of date storage method and the device that are applicable to dynamic coding, go for high-density storage media, and when comprising chnnel coding, Organization of Data efficiency can reach 0.6918.
In addition, the embodiment of the present invention was added with data sector control word before user profile data, this control word is used to indicate row coding method, row coding method, row checking symbol number and row checking symbol number, these parameters all can set according to current application scene dynamics, thus make the data structure stored can be applicable to dynamic correction coding.
Accompanying drawing explanation
Fig. 1 is the schematic flow sheet of the date storage method of the embodiment of the present invention;
Fig. 2 is the structured flowchart of the data storage device of the embodiment of the present invention;
Fig. 3 is the structured flowchart of the data deciphering device of the embodiment of the present invention.
Embodiment
Below in conjunction with specific embodiments and the drawings, the invention will be further described, but should not limit the scope of the invention with this.
With reference to figure 1, the date storage method of the present embodiment comprises:
Step S11, by X 1the user profile data composition data sector of byte, described X 1for positive integer;
Step S12, before described data sector, add sector number, the RS error correcting code of described sector number, the first reserved word and data sector control word successively, the length of the RS error correcting code of described sector number, sector number, the first reserved word and data sector control word is for being followed successively by X 2byte, X 3byte, X 4byte and X 5byte, wherein X 2be any positive integer of 2 to 8, X 3be 2 or 4 or 6 or 8, X 4for nonnegative integer, X 5be the high X of any positive integer of 1 to 16, described data sector control word 5× 4 are used to indicate row coding method and row coding method, low X 5× 4 are used to indicate row checking symbol number L and row checking symbol number K, and wherein L is positive integer, and K is non-negative
Integer;
Step S13, carries out error detection error error detecting code coding to described user profile data, obtains X 6the EDC check code of byte, and by described EDC check code suffix after described data sector thus formed record sector, wherein X 6be any positive integer of 1 to 16, the length of described record sector is X 1+ X 2+ X 3+ X 4+ X 5+ X 6byte;
Step S14, is divided into X by described record sector 7oK, every behavior M byte, wherein X 7be any positive integer of 1 to 64, M=(X 1+ X 2+ X 3+ X 4+ X 5+ X 6)/X 7and M is positive integer.
In addition, after step s 14, can also by X 8the user profile data block that individual record sector composition N is capable, wherein X 8for positive integer, N=X 8× X 7.
First example
Adopt a nonrestrictive example to be described in detail below, this example is described for optical disc storage.First length be 2048(and X by the first step 1=2048) the user profile data composition data sector of byte, the structure of the data sector of gained is as shown in table 1:
Table 1 data sector
U 0 U 1 ...... U 2046 U 2047
Second step, before the data sector of composition, add sector number (SID), the RS error correcting code (SECC) of sector number (SID), the first reserved word (RSV) and data sector control word (SCON) successively, wherein the length of sector number is 4 bytes (i.e. X 2=4), the length of the RS error correcting code of sector number is 2 bytes (i.e. X 3=2), the length of the first reserved word is 1 byte (i.e. X 4=1), the length of data sector control word is 1 byte (i.e. X 5=1).The structure of the data sector after interpolation is followed successively by: the RS error correcting code of sector number, sector number, the first reserved word, data sector control word, user profile data.
Afterwards, error-detecting code (EDC, ErrorDetection Code) coding can also be carried out to the user profile data of 2048 bytes, obtain 4 bytes (i.e. X 6=4) EDC check code, and by the EDC check code suffix that obtains after data sector, namely suffix is after user profile data, the final record sector forming 2060 bytes.
For ensureing that record sector can form matrix, and ensure error correction execution efficiency.The symbol of often going after branch should in 100 ~ 300 bytes.In the present embodiment, record sector is divided into 10 row (i.e. X 7=10), every behavior 206 byte (i.e. M=206), the structure of the record sector after branch is as shown in table 2:
Record sector after table 2 branch
In table 2, SID 0, SID 1, SID 2, SID 3for sector number; SECC 0, SECC 1for the RS error correcting code of sector number; RSV is the first reserved word, and its low 4 can be used for preserving interleaving degree I or can for 0H, and high 4 can be set to 0H; SCON is data sector control word, and wherein high 4 may be used for instruction row coding method and row coding method, and low 4 can be used to refer to row checking symbol number L and row checking symbol number K; U 0-U 2047for user profile data; EDC 0-EDC 3for EDC check code.
In addition, can see document " error correcting code---principle and method (revised edition) " (Wang Xinmei, Xiao Guo town) about the RS error correcting code of sector number and the specific implementation of user profile data, publishing house of Xian Electronics Science and Technology University, ISBN:7560601643, calendar year 2001.
In addition, can also carry out scrambler to the user profile data in record sector, the length after scrambler is constant, is still 2048 bytes, replaces user profile data afterwards with the scrambled data of scrambler.The specific implementation of scrambler refers to document " error correcting code---principle and method (revised edition) " (Wang Xinmei, Xiao Guo town), publishing house of Xian Electronics Science and Technology University, ISBN:7560601643, calendar year 2001.
3rd step, in order to ensure to carry out row error correction, as when CD somewhere produces cut, can according to row checking symbol, row checking symbol and other do not have the region of cut to carry out error correction, multiple record sector can be selected to form user profile data block.Such as, in the present embodiment, 16 (i.e. X are got 8=16) record the user profile data block that sector forms 160 row (i.e. N=160), the symbolic number of often going in user profile data block remains 206, and its structure is as shown in table 3:
Carry out the 4th step afterwards, row coding is carried out to each row of user profile data block, row coding method and row checking symbol number L determine according to data sector control word, row coding method is selected from RS code, convolutional code, BCH code, EDC code, School Affairs code, Turbo code and LDPC code, row checking symbol number L can be variable according to current application scene dynamics, wherein current application scene comprises following one or more combination: the current environment for use of medium, service time, manufactured materials and manufacturing process, the medium of transmission channel and environment, the requirement of data reliability.In the present embodiment, what row coding method was selected is RS coding, and L is chosen to be 16, and the row checking symbol obtained is 16 × 206; Afterwards the row checking symbol obtained and user data block are combined as the row information data block that (160+16) row 206 arranges, its structure is as shown in table 4:
The capable information data block of table 4
Carry out step 5 afterwards, adopt the row coding method of data sector control word instruction to each every trade coding of advancing of above-mentioned row information data block, wherein row coding method is selected from RS code, convolutional code, BCH code, EDC code, School Affairs code, Turbo code and LDPC code, row checking symbol number L can be variable according to current application scene dynamics, wherein current application scene comprises following one or more combination: the current environment for use of medium, service time, manufactured materials and manufacturing process, the medium of transmission channel and environment, the requirement of data reliability.
Row coding method can with row coding staff to the same or different, and in the present embodiment, K is chosen to be 2, and the row checking symbol obtained is (160+16) × 2; Afterwards the row checking symbol obtained and row information data block are combined as the error correction coding block that (160+16) row (206+2) arranges, its structure is as shown in table 5:
Table 5 error correction coding block
Row verification is mainly used in reply burst error and carries out error correction, and for optical disc storage, the cut, impression of the hand etc. that may be used for CD appearance carry out error correction; Row verification is mainly used in random error error correction, for CD, may be used for CD occurring the situations such as dust carry out error correction.More preferably, row checking symbol number L=10,12 or 16, row checking symbol number K=2,4,6,8,10,16 or 32.
It should be noted that, be rank of advanced units coding in the present embodiment, go coding afterwards again, it will be appreciated by those skilled in the art that in other specific embodiments, also can advanced every trade coding, carry out row afterwards again and encode.
After generation error correction coding block, can also at every a line prefixing synchronous code of error correction coding block and the second reserved word, and chnnel coding is carried out to each symbol after described second reserved word, thus generation physical frame, this physical frame may be used for storing on a storage medium, or via wired or wireless transmission, the storage medium transferring to receiving end stores.
Second example
In the example of Internet Transmission, usual user profile data are by 1024 bytes (i.e. X 1=1024) form.Afterwards, sector number (SID), the error correcting code (SECC) of sector number (SID), the first reserved word (RSV) and data sector control word (SCON) was added successively before user profile data, error-detecting code (EDC is carried out to the user profile data of 1024 bytes, Error Detection Code) coding, obtain EDC check code, and by the EDC check code suffix that obtains after data sector, namely suffix is after user profile data, final composition record sector.The content comprised in record sector is followed successively by: the error correcting code of sector number, sector number, the first reserved word, data sector control word, user profile data, EDC check code.Wherein, the length of sector number can be 4 bytes, and the length of the error correcting code of sector number can be 2 bytes, the length of the first reserved word can be 4 bytes, the length of data sector control word can be 2 bytes, and EDC check code is 4 bytes, thus the final record sector forming 1040 bytes.
Afterwards branch is carried out in record sector, for ensureing that record sector can form matrix, and ensure error correction execution efficiency, record sector, in 100 ~ 300 bytes, in the present embodiment, is divided into 10 row, every behavior 104 byte by the user profile data of often going after branch; In order to guarantee to carry out error correction, as disturbed when existing, the data can not disturbed according to error correcting code and other carry out error correction, select 16 record sectors in the present embodiment, the user profile data block of such composition N*M, wherein capable, the M=104 of N=16*10=160.
Afterwards, coding and row coding can be gone to the user profile data block formed, going in its detailed process and above-mentioned first example encode and row cataloged procedure similar, repeat no more here.
3rd example
In the example that USB flash disk stores, usual user profile data are made up of 512 bytes, need to add successively sector number (SID), the error correcting code (SECC) of sector number (SID), the first reserved word (RSV) and data sector control word (SCON) before user profile data; Afterwards error-detecting code (EDC is carried out to the user profile data of 512 bytes, Error Detection Code) coding, obtain EDC check code, and by the EDC check code suffix that obtains after data sector, namely suffix is after user profile data, final composition record sector, the content that record sector comprises is followed successively by: the error correcting code of sector number, sector number, the first reserved word, data sector control word, user profile data, EDC check code.Wherein, the length of sector number can be 4 bytes, and the length of the error correcting code of sector number can be 2 bytes, the length of the first reserved word can be 1 byte, the length of data sector control word can be 1 byte, and EDC check code is 4 bytes, thus the final record sector forming 524 bytes.
Afterwards branch is carried out in record sector, for ensureing that record sector can form matrix, and ensure error correction execution efficiency, record sector, in 100 ~ 300 bytes, in the present embodiment, is divided into 4 row, every behavior 131 byte by the user profile data of often going after branch; In order to guarantee to carry out error correction, as produced mistake when USB flash disk somewhere, the region of mistake can not had to carry out error correction according to error correcting code and other, selecting 16 record sectors in the present embodiment, the user profile data block of such composition N*M, wherein capable, the M=131 of N=16*4=64.
Afterwards, coding and row coding can be gone to the user profile data block formed, going in its detailed process and above-mentioned first example encode and row cataloged procedure similar, repeat no more here.
With reference to figure 2, the data storage device of the present embodiment comprises: data sector generation module, laminating module 24, error-detecting code coding (EDC) module 21, record sector branch module 25, dynamic parameter generation module 23, Error Correction of Coding (ECC) module 26, synchronous code maker 27 and merging module 28.
Wherein, data sector generation module is by X 1the user profile data composition data sector of byte, X 1for positive integer.
Laminating module 24 adds sector number, the RS error correcting code of described sector number, the first reserved word and data sector control word successively before described data sector, and the length of the RS error correcting code of described sector number, sector number, the first reserved word and data sector control word is for being followed successively by X 2byte, X 3byte, X 4byte and X 5byte, wherein X 2be any positive integer of 2 to 8, X 3be 2 or 4 or 6 or 8, X 4for nonnegative integer, X 5be the high X of any positive integer of 1 to 16, described data sector control word 5× 4 are used to indicate row coding method and row coding method, and low X5 × 4 are used to indicate row checking symbol number L and row checking symbol number K, and wherein L is positive integer, and K is nonnegative integer.Wherein, the RS error correcting code of sector number can be carried out generating after RS encodes according to the sector number of input by RS coding module 22.Instruction row checking symbol number L in data sector control word and row checking symbol number K can be generated according to current application scene dynamics by dynamic parameter generation module 23, current application scene comprises following one or more combination: the current environment for use of medium, service time, manufactured materials and manufacturing process, the medium of transmission channel and environment, the requirement of data reliability.
EDC coding module 21 carries out error detection error error detecting code coding to described user profile data, obtains X 6the EDC check code of byte, and transferred to by described EDC check code described laminating module 24 suffix after described data sector thus form record sector, wherein X 6be any positive integer of 1 to 16, the length of described record sector is X 1+ X 2+ X 3+ X 4+ X 5+ X 6; Described record sector is divided into X by record sector branch module 25 7oK, every behavior M byte, wherein X 7be any positive integer of 1 to 64, M=(X 1+ X 2+ X 3+ X 4+ X 5+ X 6)/X 7and M is positive integer.
Record sector is divided into X by record sector branch module 25 7oK, every behavior M byte, wherein X 7be any positive integer of 1 to 64, M=(X 1+ X 2+ X 3+ X 4+ X 5+ X 6)/X 7and M is positive integer.
Record sector after branch can transfer to scrambler, and scrambler carries out scrambler to user profile data, and the data after scrambler transfer to user profile data block generation module (not shown), and this user profile data generation module can by X 8the user profile data block that individual record sector composition N is capable, wherein X 8for positive integer, N=X 8× X 7.
User profile transmission of data blocks is to ECC coding module 26, the row coding method that this ECC coding module 26 adopts described data sector control word to indicate each row to described user profile data block carry out row coding, L × the M obtained a row checking symbol and described user data block are combined as the row information data block that (N+L) row M arranges, the row coding method adopting described data sector control word to indicate afterwards is to each every trade coding of advancing of described row information data block, (the N+L) × K obtained a row checking symbol and described row information data block are combined as the error correction coding block that (N+L) row (M+K) arranges, or, the row coding method adopting described data sector control word to indicate is to each every trade coding of advancing of described user profile data block, N × the K obtained a row checking symbol and described user data block are combined as the column information data block that N capable (M+K) arranges, the row coding method adopting described data sector control word to indicate afterwards each row to described column information data block carry out row coding, the L obtained × (M+K) individual row checking symbol and described column information data chunk are combined into the error correction coding block that (N+L) row (M+K) arranges.
Prefixing synchronous code and the second reserved word before the every a line of the error correction coding block that synchronous code maker 27 generates at ECC coding module 26, and chnnel coding is carried out to each symbol after described second reserved word.Merging module 28 is by above-mentioned prefix synchronous code, the second reserved word and merge into physical frame via the error correction coding block after chnnel coding.
About more details of the course of work of the data storage device shown in Fig. 2, please refer to the associated description of the date storage method in above-described embodiment.
Fig. 3 shows the structured flowchart of the data deciphering device of the present embodiment, comprising: synchronous code detector 31, ECC demoder 32 and data buffer 33.
Wherein, synchronous code detector 31 receives physical frame, the prefix synchronous code comprised and the second reserved word is parsed, obtain ECC encoding block in physical frame.
ECC demoder 32 is connected with synchronous code detector 31, ECC encoding block is decoded, row coding/decoding method in decode procedure, row coding/decoding method are corresponding with the row coding method adopted during coding and row coding method respectively, and row checking symbol number L is consistent with the numerical value adopted during coding with row checking symbol number K.After carrying out ECC decoding, generate multiple record sector.
Data buffer 33 is connected with ECC demoder, multiple record sectors of buffer memory decoding generation respectively, and extracts the sector number, user profile data etc. in each record sector respectively.
Although the present invention with preferred embodiment openly as above; but it is not for limiting the present invention; any those skilled in the art without departing from the spirit and scope of the present invention; can make possible variation and amendment, the scope that therefore protection scope of the present invention should define with the claims in the present invention is as the criterion.

Claims (18)

1. be applicable to a date storage method for dynamic coding, it is characterized in that, comprising:
By X 1the user profile data composition data sector of byte, described X 1for positive integer;
Before described data sector, add sector number, the RS error correcting code of described sector number, the first reserved word and data sector control word successively, the length of the RS error correcting code of described sector number, sector number, the first reserved word and data sector control word is for being followed successively by X 2byte, X 3byte, X 4byte and X 5byte, wherein X 2be any positive integer of 2 to 8, X 3be 2 or 4 or 6 or 8, X 4for nonnegative integer, X 5be the high X of any positive integer of 1 to 16, described data sector control word 5× 4 are used to indicate row coding method and row coding method, low X 5× 4 are used to indicate row checking symbol number L and row checking symbol number K, and wherein L is positive integer, and K is nonnegative integer;
Error-detecting code coding is carried out to described user profile data, obtains X 6the EDC check code of byte, and by described EDC check code suffix after described data sector thus formed record sector, wherein X 6be any positive integer of 1 to 16, the length of described record sector is X 1+ X 2+ X 3+ X 4+ X 5+ X 6byte;
Described record sector is divided into X 7oK, every behavior M byte, wherein X 7be any positive integer of 1 to 64, M=(X 1+ X 2+ X 3+ X 4+ X 5+ X 6)/X 7and M is positive integer;
By X 8the user profile data block that individual record sector composition N is capable, wherein X 8for positive integer, N=X 8× X 7;
The row coding method adopting described data sector control word to indicate each row to described user profile data block carry out row coding, L × the M obtained a row checking symbol and described user profile data chunk are combined into the row information data block that (N+L) row M arranges, (the N+L) × K obtained a row checking symbol and described row information data block, to each every trade coding of advancing of described row information data block, are combined as the error correction coding block that (N+L) row (M+K) arranges by the row coding method adopting described data sector control word to indicate afterwards; Or,
The row coding method adopting described data sector control word to indicate is to each every trade coding of advancing of described user profile data block, N × the K obtained a row checking symbol and described user profile data chunk are combined into the column information data block that N capable (M+K) arranges, the row coding method adopting described data sector control word to indicate afterwards each row to described column information data block carry out row coding, the L obtained × (M+K) individual row checking symbol and described column information data chunk are combined into the error correction coding block that (N+L) row (M+K) arranges.
2. date storage method according to claim 1, it is characterized in that, also comprise after the described error correction coding block of generation: at every a line prefixing synchronous code and second reserved word of described error correction coding block, and chnnel coding is carried out to each symbol after described second reserved word.
3. date storage method according to claim 1 and 2, it is characterized in that, described row checking symbol number L and row checking symbol number K is variable according to current application scene dynamics, wherein current application scene comprises following one or more combination: the current environment for use of medium, service time, manufactured materials and manufacturing process, the medium of transmission channel and environment, the requirement of data reliability.
4. date storage method according to claim 1 and 2, is characterized in that, described row coding method and row coding method are selected from: RS code, convolutional code, BCH code, EDC code, School Affairs code, Turbo code and LDPC code.
5. date storage method according to claim 1 and 2, is characterized in that, described record sector is divided into X 7also comprise after row: scrambler is carried out to described user profile data.
6. date storage method according to claim 1 and 2, is characterized in that, described row checking symbol number L=10,12 or 16, described row checking symbol number K=2,4,6,8,10,16 or 32.
7. date storage method according to claim 1, is characterized in that, described user profile data are the data for optical disc storage, wherein X 1=2048, X 2=4, X 3=2, X 4=1, X 5=1, X 6=4, X 7=10, X 8=16, N=160, M=206.
8. date storage method according to claim 1, is characterized in that, described user profile data are the data for Internet Transmission, wherein X 1=1024, X 2=4, X 3=2, X 4=4, X 5=2, X 6=4, X 7=10, X 8=16, N=160, M=104.
9. date storage method according to claim 1, is characterized in that, described user profile data are the data stored for USB flash disk, wherein X 1=512, X 2=4, X 3=2, X 4=1, X 5=1, X 6=4, X 7=4, X 8=16, N=64, M=131.
10. be applicable to a data storage device for dynamic coding, it is characterized in that, comprising:
Data sector generation module, by X 1the user profile data composition data sector of byte, described X 1for positive integer;
Laminating module, before described data sector, add sector number, the RS error correcting code of described sector number, the first reserved word and data sector control word successively, the length of the RS error correcting code of described sector number, sector number, the first reserved word and data sector control word is for being followed successively by X 2byte, X 3byte, X 4byte and X 5byte, wherein X 2be any positive integer of 2 to 8, X 3be 2 or 4 or 6 or 8, X 4for nonnegative integer, X 5be the high X of any positive integer of 1 to 16, described data sector control word 5× 4 are used to indicate row coding method and row coding method, and low X5 × 4 are used to indicate row checking symbol number L and row checking symbol number K, and wherein L is positive integer, and K is nonnegative integer;
Error-detecting code coding module, carries out error-detecting code coding to described user profile data, obtains X 6the EDC check code of byte, and transfer to described laminating module suffix after described data sector described EDC check code thus form record sector, wherein X 6be any positive integer of 1 to 16, the length of described record sector is X 1+ X 2+ X 3+ X 4+ X 5+ X 6;
Record sector branch module, is divided into X by described record sector 7oK, every behavior M byte, wherein X 7be any positive integer of 1 to 64, M=(X 1+ X 2+ X 3+ X 4+ X 5+ X 6)/X 7and M is positive integer;
User profile data block generation module, is connected, by X with described record sector branch module 8the user profile data block that individual record sector composition N is capable, wherein X 8for positive integer, N=X 8× X 7;
Error Correction of Coding module, the row coding method adopting described data sector control word to indicate each row to described user profile data block carry out row coding, L × the M obtained a row checking symbol and described user profile data chunk are combined into the row information data block that (N+L) row M arranges, (the N+L) × K obtained a row checking symbol and described row information data block, to each every trade coding of advancing of described row information data block, are combined as the error correction coding block that (N+L) row (M+K) arranges by the row coding method adopting described data sector control word to indicate afterwards; Or,
The row coding method adopting described data sector control word to indicate is to each every trade coding of advancing of described user profile data block, N × the K obtained a row checking symbol and described user profile data chunk are combined into the column information data block that N capable (M+K) arranges, the row coding method adopting described data sector control word to indicate afterwards each row to described column information data block carry out row coding, the L obtained × (M+K) individual row checking symbol and described column information data chunk are combined into the error correction coding block that (N+L) row (M+K) arranges.
11. data storage devices according to claim 10, is characterized in that, also comprise:
Synchronous code maker, at every a line prefixing synchronous code and second reserved word of described error correction coding block, and carries out chnnel coding to each symbol after described second reserved word.
12. data storage devices according to claim 10 or 11, is characterized in that, also comprise:
Dynamic parameter generation module, described row checking symbol number L and row checking symbol number K is generated changeably according to current application scene dynamics, wherein current application scene comprises following one or more combination: the current environment for use of medium, service time, manufactured materials and manufacturing process, the medium of transmission channel and environment, the requirement of data reliability.
13. data storage devices according to claim 10 or 11, it is characterized in that, described row coding method and row coding method are selected from: RS code, convolutional code, BCH code, EDC code, School Affairs code, Turbo code and LDPC code.
14. data storage devices according to claim 10 or 11, is characterized in that, also comprise:
Scrambler, is connected with described record sector branch module, carries out scrambler to described user profile data.
15. data storage devices according to claim 10 or 11, is characterized in that, row checking symbol number L=10,12 or 16, row checking symbol number K=2,4,6,8,10,16 or 32.
16. data storage devices according to claim 10, is characterized in that, described user profile data are the data for optical disc storage, wherein X 1=2048, X 2=4, X 3=2, X 4=1, X 5=1, X 6=4, X 7=10, X 8=16, N=160, M=206.
17. data storage devices according to claim 10, is characterized in that, described user profile data are the data for Internet Transmission, wherein X 1=1024, X 2=4, X 3=2, X 4=4, X 5=2, X 6=4, X 7=10, X 8=16, N=160, M=104.
18. data storage devices according to claim 10, is characterized in that, described user profile data are the data stored for USB flash disk, wherein X 1=512, X 2=4, X 3=2, X 4=1, X 5=1, X 6=4, X 7=4, X 8=16, N=64, M=131.
CN201210444805.6A 2012-11-08 2012-11-08 Method and device suitable for data storage of dynamic coding Active CN102981924B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210444805.6A CN102981924B (en) 2012-11-08 2012-11-08 Method and device suitable for data storage of dynamic coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210444805.6A CN102981924B (en) 2012-11-08 2012-11-08 Method and device suitable for data storage of dynamic coding

Publications (2)

Publication Number Publication Date
CN102981924A CN102981924A (en) 2013-03-20
CN102981924B true CN102981924B (en) 2015-04-29

Family

ID=47855979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210444805.6A Active CN102981924B (en) 2012-11-08 2012-11-08 Method and device suitable for data storage of dynamic coding

Country Status (1)

Country Link
CN (1) CN102981924B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110383698B (en) * 2016-12-28 2022-02-11 华为技术有限公司 Data access method and flash memory device
CN115904798A (en) * 2023-03-09 2023-04-04 苏州萨沙迈半导体有限公司 Error correction and detection method and system of memory and controller

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1355919A (en) * 1999-04-28 2002-06-26 松下电器产业株式会社 Optical disk, optical disk recording and reproducing apparatus, method for recording reproducing, and delecting data on optical disk, and information procesisng system
CN1417790A (en) * 2001-11-09 2003-05-14 株式会社东芝 Signal processing method and device, signal reproducing method and device and record medium
CN1479280A (en) * 2002-08-30 2004-03-03 上海乐金广电电子有限公司 Method of high density data recording of optical recording medium
CN1838297A (en) * 2006-01-16 2006-09-27 华中科技大学 Error correction code and data format for high density optical disk
CN101183565A (en) * 2007-12-12 2008-05-21 深圳市硅格半导体有限公司 Data verification method for storage medium
CN102577495A (en) * 2009-10-14 2012-07-11 高通股份有限公司 Coding methods and apparatus for broadcast channels

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1355919A (en) * 1999-04-28 2002-06-26 松下电器产业株式会社 Optical disk, optical disk recording and reproducing apparatus, method for recording reproducing, and delecting data on optical disk, and information procesisng system
CN1417790A (en) * 2001-11-09 2003-05-14 株式会社东芝 Signal processing method and device, signal reproducing method and device and record medium
CN1479280A (en) * 2002-08-30 2004-03-03 上海乐金广电电子有限公司 Method of high density data recording of optical recording medium
CN1838297A (en) * 2006-01-16 2006-09-27 华中科技大学 Error correction code and data format for high density optical disk
CN101183565A (en) * 2007-12-12 2008-05-21 深圳市硅格半导体有限公司 Data verification method for storage medium
CN102577495A (en) * 2009-10-14 2012-07-11 高通股份有限公司 Coding methods and apparatus for broadcast channels

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
佳一.DVD视盘系统的记录数据处理和恢复.《电声技术》.2000,9-15. *
傅鸿雅,党小宇.Turbo乘积码与RS码的混合纠错性能对比分析.《应用科技》.2012,第39卷(第3期),16-19. *
刘进跃.DVD数据结构和纠错方式.《电声技术》.2000,14-16. *
吴佳佳.新一代多功能光盘数据格式的研究.《中国优秀硕士学位论文全文数据库 信息科技辑 》.2009,(第5期),I137-14. *

Also Published As

Publication number Publication date
CN102981924A (en) 2013-03-20

Similar Documents

Publication Publication Date Title
JP5723967B2 (en) Method, encoder apparatus, and solid-state storage device for recording input data to s-level storage of a solid-state storage device
CN103392172B (en) Correct the erasing in storage array
KR101889536B1 (en) Transmitting apparatus and interleaving method thereof
US9577675B1 (en) System and method for encoding user data with low-density parity-check codes with flexible redundant parity check matrix structures
JP5363686B2 (en) Method and magnetic tape drive for decoding encoded data including integrated data and header protection (decoding encoded data including integrated data and header protection)
JP2013524609A5 (en)
US8055982B2 (en) Error correction system and method
CN102468855A (en) Apparatus and method for correcting at least one bit error within a coded bit sequence
CN106874140B (en) Data storage method and device
CN102904585B (en) Dynamic correction coding and decoding method and device
CN105353974A (en) Dual fault-tolerant encoding method applicable to disk array and distributed storage system
US20100017682A1 (en) Error correction code striping
CN105808170A (en) RAID6 (Redundant Array of Independent Disks 6) encoding method capable of repairing single-disk error by minimum disk accessing
US8458557B1 (en) Interleaved error correction coding for channels with non-uniform signal-to-noise ratios
JP2002509331A5 (en)
US20050154964A1 (en) Data retrieval from a storage device using a combined error correction and detection approach
CN102981924B (en) Method and device suitable for data storage of dynamic coding
WO2009021065A1 (en) Encoding and decoding using generalized concatenated codes (gcc)
TWI397811B (en) Method for encoding and decoding an error correction code and coder-decoder
US8365053B2 (en) Encoding and decoding data using store and exclusive or operations
JP2007299393A (en) Method for reading and writing data to a plurality of layers of rotating storage medium, program and data storage device
US8627183B1 (en) Systems and methods for storing variable rate product codes
WO2018029212A1 (en) Regenerating locally repairable codes for distributed storage systems
WO2011156745A2 (en) Strong single and multiple error correcting wom codes, coding methods and devices
CN113485866A (en) Decoding method and related device, electronic equipment and storage medium

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