适用于动态编码的数据存储方法及装置的制作方法

文档序号:6380895阅读:94来源:国知局
专利名称:适用于动态编码的数据存储方法及装置的制作方法
技术领域
本发明涉及数据存储技术,尤其涉及一种适用于动态编码的数据存储方法及装置。
背景技术
将数据存放在各种媒介上或将数据通过信道传输之前,会以各种形式的数据结构重新组织或打包。这种数据结构除了包含原有的用户数据外,还包含为了查询、检错纠错和数据安全等所追加的冗余数据。考虑到不同信道特性和存储媒介的特性,重新组织后的数据还要进行信道编码,加入同步码以实现数据的有效传输或存储。
由于媒介的当前使用环境、使用时间、制造材料以及制造工艺,传输信道的介质和环境或数据可靠性的要求等因素都是不断变化的,因此在有些应用场景会采用动态数据编码,而这种动态数据编码需要相应的数据结构存储方法与之相适应。
另外,数据结构的组织效率也是评价数据结构的重要指标,如CD的数据组织效率通常可以为O. 2843 ;DVD的数据组织效率通常可以为O. 4235 ;BD DVD的数据组织效率通常可以为O. 5471。
因此,如何实现能够适用于动态数据编码的数据存储方法,且存储的数据结构的组织效率如何能够达到较高的要求是当前需要解决的问题。发明内容
本发明要解决的技术问题是提供一种适用于动态编码的数据存储方法及装置,能够适用于动态数据编码,而且存储的数据结构的组织效率较高。
为解决上述技术问题,本发明提供了一种适用于动态编码的数据存储方法,包括
将X1字节的用户信息数据组成数据扇区,所述X1为正整数;
在所述数据扇区前依次添加扇区号、所述扇区号的RS纠错码、第一保留字和数据扇区控制字,所述扇区号、扇区号的RS纠错码、第一保留字和数据扇区控制字的长度为依次为X2字节、X3字节、X4字节和X5字节,其中X2为2至8的任意正整数,X3为2或4或6 或8,X4为非负整数,X5为I至16的任意正整数,所述数据扇区控制字的高X5X 4位用于指示列编码方法和行编码方法,低X5 X 4位用于指示列校验符号数L和行校验符号数K,其中 L为正整数,K为非负整数;
对所述用户信息数据进行错误检测错误检测码编码,得到X6字节的EDC校验码, 并将所述EDC校验码后缀在所述数据扇区之后从而形成记录扇区,其中X6为I至16的任意正整数,所述记录扇区的长度为XjXdXjXdXdX6字节;
将所述记录扇区分成X7行,每行为M字节,其中X7为I至64的任意正整数,M= (X1+X2+X3+X4+X5+X6) /X7 且 M 为正整数。
根据本发明的一个实施例,在将所述记录扇区分成X7行之后还包括将X8个记录扇区组成N行的用户信息数据块,其中X8为正整数,N=X8XX70
根据本发明的一个实施例,组成所述用户信息数据块之后还包括
采用所述数据扇区控制字指示的列编码方法对所述用户信息数据块的每一列进行列编码,将得到的LXM个列校验符号与所述用户数据块组合为(N+L)行M列的行信息数据块,之后采用所述数据扇区控制字指示的行编码方法对所述行信息数据块的每一行进行行编码,将得到的(N+L) XK个行校验符号与所述行信息数据块组合为(N+L)行(M+K)列的纠错编码块;或者,
采用所述数据扇区控制字指示的行编码方法对所述用户信息数据块的每一行进行行编码,将得到的NXK个行校验符号与所述用户数据块组合为N行(M+K)列的列信息数据块,之后采用所述数据扇区控制字指示的列编码方法对所述列信息数据块的每一列进行列编码,将得到的LX (M+K)个列校验符号与所述列信息数据块组合为(N+L)行(M+K)列的纠错编码块。
根据本发明的一个实施例,在生成所述纠错编码块之后还包括在所述纠错编码块的每一行加前缀同步码和第二保留字,并对所述第二保留字之后的每一个符号进行信道编码。
根据本发明的一个实施例,所述列校验符号数L和行校验符号数K是根据当前应用场景动态可变的,其中当前应用场景包括以下一个或多个的组合媒介的当前使用环境、 使用时间、制造材料及制造工艺,传输信道的介质及环境, 数据可靠性的要求。
根据本发明的一个实施例,所述行编码方法和列编码方法选自RS码、卷积码、 BCH码、EDC码、校验和码、Turbo码以及LDPC码。
根据本发明的一个实施例,将所述记录扇区分成X7行之后还包括对所述用户信息数据进行扰码。
根据本发明的一个实施例,列校验符号数L=10、12或16,行校验符号数K=2、4、6、8、10、16 或 32。
根据本发明的一个实施例,所述用户信息数据为用于光盘存储的数据,其中 X!=2048, X2=4, X3=2, X4=I, X5=I, X6=4, X7=IO, Χ8=16, Ν=160, Μ=206。
根据本发明的一个实施例,所述用户信息数据为用于网络传输的数据,其中 Χ!=1024, Χ2=4, Χ3=2, Χ4=4, Χ5=2, Χ6=4, X7=IO, Χ8=16, Ν=160, Μ=104。
根据本发明的一个实施例,所述用户信息数据为用于U盘存储的数据,其中 Xi=512,X2=4, X3=2, X4=I, X5=I, X6=4, X7=4, X8=16, N=64, M=131。
本发明还提供了一种适用于动态编码的数据存储装置,包括
数据扇区生成模块,将X1字节的用户信息数据组成数据扇区,所述X1为正整数;
叠加模块,在所述数据扇区前依次添加扇区号、所述扇区号的RS纠错码、第一保留字和数据扇区控制字,所述扇区号、扇区号的RS纠错码、第一保留字和数据扇区控制字的长度为依次为X2字节、X3字节、X4字节和X5字节,其中X2为2至8的任意正整数,X3为2 或4或6或8,X4为非负整数,&为I至16的任意正整数,所述数据扇区控制字的高X5X4 位用于指示列编码方法和行编码方法,低X5X4位用于指示列校验符号数L和行校验符号数K,其中L为正整数,K为非负整数;
错误检测码编码模块,对所述用户信息数据进行错误检测错误检测码编码,得到X6字节的EDC校验码,并将所述EDC校验码交由所述叠加模块后缀在所述数据扇区之后从而形成记录扇区,其中X6为I至16的任意正整数,所述记录扇区的长度为 X1+X2+X3+X4+X5+X6 ;记录扇区分行模块,将所述记录扇区分成X7行,每行为M字节,其中X7为I至64 的任意正整数,M= (X1+X2+X3+X4+X5+X6) /X7且M为正整数。
根据本发明的一个实施例,所述数据存储装置还包括用户信息数据块生成模块, 与所述记录扇区分行模块相连,将X8个记录扇区组成N行的用户信息数据块,其中X8为正整数,N=X8 XX7。
根据本发明的一个实施例,所述数据存储装置还包括纠错编码模块,采用所述数据扇区控制字指示的列编码方法对所述用户信息数据块的每一列进行列编码,将得到的 LXM个列校验符号与所述用户数据块组合为(N+L)行M列的行信息数据块,之后采用所述数据扇区控制字指示的行编码方法对所述行信息数据块的每一行进行行编码,将得到的 (N+L) XK个行校验符号与所述行信息数据块组合为(N+L)行(M+K)列的纠错编码块;或者,
采用所述数据扇区控制字指示的行编码方法对所述用户信息数据块的每一行进行行编码,将得到的NXK个行校验符号与所述用户数据块组合为N行(M+K)列的列信息数据块,之后采用所述数据扇区控制字指示的列编码方法对所述列信息数据块的每一列进行列编码,将得到的LX (M+K)个列校验符号与所述列信息数据块组合为(N+L)行(M+K)列的纠错编码块。
根据本发明的一个实施例,所述数据存储装置还包括同步码生成器,在所述纠错编码块的每一行加前缀同步码和第二保留字,并对所述第二保留字之后的每一个符号进行信道编码。
根据本发明的一个实施例,所述数据存储装置还包括动态参数生成模块,根据当前应用场景动态可变地生成所述列校验符号数L和行校验符号数K,其中当前应用场景包括以下一个或多个的组合媒介的当前使用环境、使用时间、制造材料及制造工艺,传输信道的介质及环境,数据可靠性的要求。
根据本发明的一个实施例,所述行编码方法和列编码方法选自RS码、卷积码、 BCH码、EDC码、校验和码、Turbo码以及LDPC码。
根据本发明的一个实施例,所述数据存储装置还包括扰码器,与所述记录扇区分行模块相连,对所述用户信息数据进行扰码。
根据本发明的一个实施例,列校验符号数L=10、12或16,行校验符号数K=2、4、6、8、10、16 或 32。
根据本发明的一个实施例,所述用户信息数据为用于光盘存储的数据,其中 X!=2048, X2=4, X3=2, X4=I, X5=I, X6=4, X7=IO, Χ8=16, Ν=160, Μ=206。
根据本发明的一个实施例,所述用户信息数据为用于网络传输的数据,其中 Χ!=1024, Χ2=4, Χ3=2, Χ4=4, Χ5=2, Χ6=4, X7=IO, Χ8=16, Ν=160, Μ=104。
根据本发明的一个实施例,所述用户信息数据为用于U盘存储的数据,其中 Xi=512,X2=4, X3=2, X4=I, X5=I, X6=4, X7=4, X8=16, N=64, M=131。
与现有技术相比,本发明具有以下优点
本发明实施例提供了一种适用于动态编码的数据存储方法及装置,可以适用于高密度存储介质,而且在包含信道编码的情况下,数据组织效率可以达到O. 6918。
此外,本发明实施例在用户信息数据之前添加有数据扇区控制字,该控制字用于 指示列编码方法、行编码方法、列校验符号数和行校验符号数,这些参数都是可以根据当前 应用场景动态设定的,从而使得存储的数据结构能够适用于动态纠错编码。


图1是本发明实施例的数据存储方法的流程示意图2是本发明实施例的数据存储装置的结构框图3是本发明实施例的数据解码装置的结构框图。
具体实施方式
下面结合具体实施例和附图对本发明作进一步说明,但不应以此限制本发明的保 护范围。
参考图1,本实施例的数据存储方法包括
步骤SlUf X1字节的用户信息数据组成数据扇区,所述X1为正整数;
步骤S12,在所述数据扇区前依次添加扇区号、所述扇区号的RS纠错码、第一保留 字和数据扇区控制字,所述扇区号、扇区号的RS纠错码、第一保留字和数据扇区控制字的 长度为依次为X2字节、X3字节、X4字节和X5字节,其中X2为2至8的任意正整数,X3为2或 4或6或8,X4为非负整数,&为I至16的任意正整数,所述数据扇区控制字的高X5X4位 用于指示列编码方法和行编码方法,低X5X4位用于指示列校验符号数L和行校验符号数 K,其中L为正整数,K为非负
整数;
步骤S13,对所述用户信息数据进行错误检测错误检测码编码,得到X6字节的EDC 校验码,并将所述EDC校验码后缀在所述数据扇区之后从而形成记录扇区,其中X6为I至 16的任意正整数,所述记录扇区的长度为XAXfXfXfXfX6字节;
步骤S14,将所述记录扇区分成X7行,每行为M字节,其中X7为I至64的任意正 整数,M= (X1+X2+X3+X4+X5+X6) /X7 且 M 为正整数。
此外,在步骤S14之后,还可以将X8个记录扇区组成N行的用户信息数据块,其中 X8为正整数,N=X8 XX7。
第一实例
下面采用一非限制性的例子进行详细说明,该例子以光盘存储为例进行说明。第 一步,首先将长度为2048 (即Χ1=2048)字节的用户信息数据组成数据扇区,所得的数据扇 区的结构如表I所示
表I数据扇区
第二步,在组成的数据扇区之前,依次添加扇区号(SID)、扇区号(SID)的RS纠错 码(SECC)、第一保留字(RSV)和数据扇区控制字(SC0N),其中扇区号的长度为4字节(即X2=4),扇区号的RS纠错码的长度为2字节(即X3=2),第一保留字的长度为I字节(即X4=I), 数据扇区控制字的长度为I字节(即X5=l)。添加之后的数据扇区的结构依次为扇区号、扇区号的RS纠错码、第一保留字、数据扇区控制字、用户信息数据。
之后,还可以对2048字节的用户信息数据进行错误检测码(EDC, ErrorDetection Code)编码,得到4字节(即X6=4)的EDC校验码,并将得到的EDC校验码后缀在数据扇区之后,即后缀在用户信息数据之后,最终形成2060字节的记录扇区。
为保证记录扇区能够组成矩阵,且保证纠错执行效率。分行后每行的符号应当在 100^300字节。在本实施例中,将记录扇区分成10行(即X7=IO),每行为206字节卿M=206), 分行之后的记录扇区的结构如表2所示
表2分行之后的记录扇区
权利要求
1.一种适用于动态编码的数据存储方法,其特征在于,包括 将X1字节的用户信息数据组成数据扇区,所述X1为正整数; 在所述数据扇区前依次添加扇区号、所述扇区号的RS纠错码、第一保留字和数据扇区控制字,所述扇区号、扇区号的RS纠错码、第一保留字和数据扇区控制字的长度为依次为X2字节、X3字节、X4字节和X5字节,其中X2为2至8的任意正整数,X3为2或4或6或8,X4为非负整数,X5为I至16的任意正整数,所述数据扇区控制字的高X5X4位用于指示列编码方法和行编码方法,低X5X 4位用于指示列校验符号数L和行校验符号数K,其中L为正整数,K为非负整数; 对所述用户信息数据进行错误检测错误检测码编码,得到X6字节的EDC校验码,并将所述EDC校验码后缀在所述数据扇区之后从而形成记录扇区,其中X6为I至16的任意正整数,所述记录扇区的长度为XjXdXjXdXdX6字节; 将所述记录扇区分成X7行,每行为M字节,其中X7为I至64的任意正整数,M=(X1+X2+X3+X4+X5+X6) /X7 且 M 为正整数。
2.根据权利要求I所述的数据存储方法,其特征在于,在将所述记录扇区分成X7行之后还包括将X8个记录扇区组成N行的用户信息数据块,其中X8为正整数,N=X8XX7。
3.根据权利要求2所述的数据存储方法,其特征在于,组成所述用户信息数据块之后还包括 采用所述数据扇区控制字指示的列编码方法对所述用户信息数据块的每一列进行列编码,将得到的LXM个列校验符号与所述用户数据块组合为(N+L)行M列的行信息数据块,之后采用所述数据扇区控制字指示的行编码方法对所述行信息数据块的每一行进行行编码,将得到的(N+L) XK个行校验符号与所述行信息数据块组合为(N+L)行(M+K)列的纠错编码块;或者, 采用所述数据扇区控制字指示的行编码方法对所述用户信息数据块的每一行进行行编码,将得到的NXK个行校验符号与所述用户数据块组合为N行(M+K)列的列信息数据块,之后采用所述数据扇区控制字指示的列编码方法对所述列信息数据块的每一列进行列编码,将得到的LX (M+K)个列校验符号与所述列信息数据块组合为(N+L)行(M+K)列的纠错编码块。
4.根据权利要求3所述的数据存储方法,其特征在于,在生成所述纠错编码块之后还包括在所述纠错编码块的每一行加前缀同步码和第二保留字,并对所述第二保留字之后的每一个符号进行信道编码。
5.根据权利要求I至4中任一项所述的数据存储方法,其特征在于,所述列校验符号数L和行校验符号数K是根据当前应用场景动态可变的,其中当前应用场景包括以下一个或多个的组合媒介的当前使用环境、使用时间、制造材料及制造工艺,传输信道的介质及环境,数据可靠性的要求。
6.根据权利要求I至4中任一项所述的数据存储方法,其特征在于,所述行编码方法和列编码方法选自RS码、卷积码、BCH码、EDC码、校验和码、Turbo码以及LDPC码。
7.根据权利要求I至4中任一项所述的数据存储方法,其特征在于,将所述记录扇区分成X7行之后还包括对所述用户信息数据进行扰码。
8.根据权利要求I至4中任一项所述的数据存储方法,其特征在于,所述列校验符号数L=10、12或16,所述行校验符号数K=2、4、6、8、10、16或32。
9.根据权利要求3所述的数据存储方法,其特征在于,所述用户信息数据为用于光盘存储的数据,其中 X!=2048, X2=4,X3=2,X4=I, X5=I, X6=4,X7=IO, X8=16, N=160,M=206。
10.根据权利要求3所述的数据存储方法,其特征在于,所述用户信息数据为用于网络传输的数据,其中 X1=Km, X2=4,X3=2,X4=4,X5=2,X6=4,X7=IO, X8=16, N=160,M=104。
11.根据权利要求3所述的数据存储方法,其特征在于,所述用户信息数据为用于U盘存储的数据,其中 X1=512,X2=4,X3=2,X4=U X5=U X6=4,X7=4,X8=16, N=64,M=131。
12.一种适用于动态编码的数据存储装置,其特征在于,包括 数据扇区生成模块,将X1字节的用户信息数据组成数据扇区,所述X1为正整数; 叠加模块,在所述数据扇区前依次添加扇区号、所述扇区号的RS纠错码、第一保留字和数据扇区控制字,所述扇区号、扇区号的RS纠错码、第一保留字和数据扇区控制字的长度为依次为X2字节、X3字节、X4字节和X5字节,其中X2为2至8的任意正整数,X3为2或4或6或8,X4为非负整数,X5为I至16的任意正整数,所述数据扇区控制字的高X5X 4位用于指示列编码方法和行编码方法,低X5 X 4位用于指示列校验符号数L和行校验符号数K,其中L为正整数,K为非负整数; 错误检测码编码模块,对所述用户信息数据进行错误检测错误检测码编码,得到X6字节的EDC校验码,并将所述EDC校验码交由所述叠加模块后缀在所述数据扇区之后从而形成记录扇区,其中X6为I至16的任意正整数,所述记录扇区的长度为XAXfXfXdXfX6 ; 记录扇区分行模块,将所述记录扇区分成X7行,每行为M字节,其中X7为I至64的任意正整数,M= (X1+X2+X3+X4+X5+X6) /X7且M为正整数。
13.根据权利要求12所述的数据存储装置,其特征在于,还包括 用户信息数据块生成模块,与所述记录扇区分行模块相连,将X8个记录扇区组成N行的用户信息数据块,其中X8为正整数,N=X8XX70
14.根据权利要求13所述的数据存储装置,其特征在于,还包括 纠错编码模块,采用所述数据扇区控制字指示的列编码方法对所述用户信息数据块的每一列进行列编码,将得到的LXM个列校验符号与所述用户数据块组合为(N+L)行M列的行信息数据块,之后采用所述数据扇区控制字指示的行编码方法对所述行信息数据块的每一行进行行编码,将得到的(N+L) XK个行校验符号与所述行信息数据块组合为(N+L)行(M+K)列的纠错编码块;或者, 采用所述数据扇区控制字指示的行编码方法对所述用户信息数据块的每一行进行行编码,将得到的NXK个行校验符号与所述用户数据块组合为N行(M+K)列的列信息数据块,之后采用所述数据扇区控制字指示的列编码方法对所述列信息数据块的每一列进行列编码,将得到的LX (M+K)个列校验符号与所述列信息数据块组合为(N+L)行(M+K)列的纠错编码块。
15.根据权利要求14所述的数据存储装置,其特征在于,还包括 同步码生成器,在所述纠错编码块的每一行加前缀同步码和第二保留字,并对所述第二保留字之后的每一个符号进行信道编码。
16.根据权利要求12至15任一项所述的数据存储装置,其特征在于,还包括 动态参数生成模块,根据当前应用场景动态可变地生成所述列校验符号数L和行校验符号数K,其中当前应用场景包括以下一个或多个的组合媒介的当前使用环境、使用时间、制造材料及制造工艺,传输信道的介质及环境,数据可靠性的要求。
17.根据权利要求12至15任一项所述的数据存储装置,其特征在于,所述行编码方法和列编码方法选自RS码、卷积码、BCH码、EDC码、校验和码、Turbo码以及LDPC码。
18.根据权利要求12至15任一项所述的数据存储装置,其特征在于,还包括 扰码器,与所述记录扇区分行模块相连,对所述用户信息数据进行扰码。
19.根据权利要求12至15任一项所述的数据存储装置,其特征在于,列校验符号数L=10、12 或 16,行校验符号数 K = 2、4、6、8、10、16 或 32。
20.根据权利要求14所述的数据存储装置,其特征在于,所述用户信息数据为用于光盘存储的数据,其中 ^=2048, X2=4,X3=2,X4=U X5=U X6=4,X7=IO, X8=16, N=160,M=206。
21.根据权利要求14所述的数据存储装置,其特征在于,所述用户信息数据为用于网络传输的数据,其中 ^=1024, X2=4,X3=2,X4=4,X5=2,X6=4,X7=IO, X8=16, N=160,M=104。
22.根据权利要求14所述的数据存储装置,其特征在于,所述用户信息数据为用于U盘存储的数据,其中 X1=512,X2=4,X3=2,X4=U X5=U X6=4,X7=4,X8 = 16,N=64,M=131。
全文摘要
本发明提供了一种适用于动态编码的数据存储方法,包括将X1字节的用户信息数据组成数据扇区;在所述数据扇区前依次添加扇区号、所述扇区号的RS纠错码、第一保留字和数据扇区控制字;对所述用户信息数据进行错误检测错误检测码编码,得到X6字节的EDC校验码,并将所述EDC校验码后缀在所述数据扇区之后从而形成记录扇区;将所述记录扇区分成X7行,每行为M字节。本发明能够适用于动态数据编码,而且存储的数据结构的组织效率较高。
文档编号G06F3/06GK102981924SQ20121044480
公开日2013年3月20日 申请日期2012年11月8日 优先权日2012年11月8日
发明者董传友, 徐向阳 申请人:杭州士兰微电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1