本发明专利技术提供了一种适用于动态编码的数据存储方法,包括:将X1字节的用户信息数据组成数据扇区;在所述数据扇区前依次添加扇区号、所述扇区号的RS纠错码、第一保留字和数据扇区控制字;对所述用户信息数据进行错误检测错误检测码编码,得到X6字节的EDC校验码,并将所述EDC校验码后缀在所述数据扇区之后从而形成记录扇区;将所述记录扇区分成X7行,每行为M字节。本发明专利技术能够适用于动态数据编码,而且存储的数据结构的组织效率较高。
【技术实现步骤摘要】
本专利技术涉及数据存储技术,尤其涉及一种适用于动态编码的数据存储方法及装置。
技术介绍
将数据存放在各种媒介上或将数据通过信道传输之前,会以各种形式的数据结构重新组织或打包。这种数据结构除了包含原有的用户数据外,还包含为了查询、检错纠错和数据安全等所追加的冗余数据。考虑到不同信道特性和存储媒介的特性,重新组织后的数据还要进行信道编码,加入同步码以实现数据的有效传输或存储。由于媒介的当前使用环境、使用时间、制造材料以及制造工艺,传输信道的介质和环境或数据可靠性的要求等因素都是不断变化的,因此在有些应用场景会采用动态数据编码,而这种动态数据编码需要相应的数据结构存储方法与之相适应。另外,数据结构的组织效率也是评价数据结构的重要指标,如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)个列校验本文档来自技高网...
【技术保护点】
一种适用于动态编码的数据存储方法,其特征在于,包括:将X1字节的用户信息数据组成数据扇区,所述X1为正整数;在所述数据扇区前依次添加扇区号、所述扇区号的RS纠错码、第一保留字和数据扇区控制字,所述扇区号、扇区号的RS纠错码、第一保留字和数据扇区控制字的长度为依次为X2字节、X3字节、X4字节和X5字节,其中X2为2至8的任意正整数,X3为2或4或6或8,X4为非负整数,X5为1至16的任意正整数,所述数据扇区控制字的高X5×4位用于指示列编码方法和行编码方法,低X5×4位用于指示列校验符号数L和行校验符号数K,其中L为正整数,K为非负整数;对所述用户信息数据进行错误检测错误检测码编码,得到X6字节的EDC校验码,并将所述EDC校验码后缀在所述数据扇区之后从而形成记录扇区,其中X6为1至16的任意正整数,所述记录扇区的长度为X1+X2+X3+X4+X5+X6字节;将所述记录扇区分成X7行,每行为M字节,其中X7为1至64的任意正整数,M=(X1+X2+X3+X4+X5+X6)/X7且M为正整数。
【技术特征摘要】
【专利技术属性】
技术研发人员:董传友,徐向阳,
申请(专利权)人:杭州士兰微电子股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。