一种与非型闪存存储器中的数据编解码方法及装置的制作方法

文档序号:6775578阅读:196来源:国知局
专利名称:一种与非型闪存存储器中的数据编解码方法及装置的制作方法
技术领域
本发明属于通信领域,尤其涉及一种与非型闪存存储器中的数据编解码方
法及装置。
背景技术
与非型闪存存储器(Nandflash)由于生产缺陷以及长期使用的老化,会使 某些bit出现失效,从而使得整个页面数据内容出现错误而不可靠。如果采用纠 错码对数据进行保护,可提高与非型闪存存储器的使用寿命以及利用率。
目前在与非型闪存存储器中广泛使用的纠错码为 一种汉明码,该码仅能实 现纠lbit错误。随着与非型闪存存储器容量的增大以及生产工艺的进步,仅能 纠lbit错误的纠错码已无法满足与非型闪存存储器对纠错码性能的要求,而且 现有的汉明码算法不能实现对与非型闪存存储器页面的全覆盖保护,满足不了 与非型闪存存储器对纠错码性能的要求。

发明内容
本发明的目的在于提供一种与非型闪存存储器中的数据编码方法,旨在解 决现有技术中与非型闪存存储器使用的纠错码纠错性能较低,难以实现对与非 型闪存存储器页面的全覆盖保护的问题。
本发明的另 一 目的在于提供一种与非型闪存存储器中的数据解码方法。 本发明的另 一 目的在于提供一种与非型闪存存储器中的数据编码装置。 本发明的另一目的在于提供一种与非型闪存存储器中的数据解码装置,, 本发明是这样实现的, 一种与非型闪存存储器.中的数据编码方法,所述方 法包括以下步骤
将传输数据分为三个数据段;
对所述三个数据段分别进行纠错编码;
将所述三个数据段纠错编码后的有效数据与纠错编码时产生的校验信息组 合成一个完整的数据块。
所述对所述的三个数据段分别进行纠错编码的步骤具体包括
接收输入的数据段;
对输入的数据段进行纠错编码;
记录纠错编码时产生的校验信息。
在对所述的三个数据段分别进行纠错编码时,第一个数据段采用RS编码, 第二个数据段采用RS编码,第三个数据段采用BCH编码。
所述完整的数据块依次由第一个数据段经RS编码后的有效数据及其校验 信息、第二个数据段经RS编码后的有效数据及其校验信息,以及第三个数据 段经BCH编码后的有效数据及其校验信息组合而成,或者依次由第一、二、三 个数据段分别经过RS编码,RS编码以及BCH编码后的有效数据,以及第一、 二、三个数据段分别经过RS编码,RS编码以及BCH编码后产生的校验信息 组合而成。
所述RS编码为所有生成多项式的根域为GF ( 255 )的RS码,所述BCH 编码为所有生成多项式的根域为GF ( 255 )的BCH码。
一种与非型闪存存储器中的数据解码方法,所述方法包括以下步骤
接收纠错编码后的数据块,所述数据块包含传输数据的三个数据段纠错编 码后的有效数据,以及数据段纠错编码时产生的校验信息;
将纠错编码后的数据块中三个数据段纠错编码后的有效数据,以及数据段 纠错编码时产生的校验信息合并为三个数据段后分别输入解码电路解码。
一种与非型闪存存储器中的数据编码装置,所述装置包括
数据分段模块,用于将传输数据分为三个数据段;
数据编码模块,用于对所述三个数据段分别进行纠错编码;以及
数据段组合模块,用于将所述三个数据段纠错编码后的有效数据与纠错编 码时产生的校验信息组合成一个完整的数据块。
所述编码模块进一步包括
数据接收模块,用于接收输入的数据段;
数据段编码模块,用于对输入的数据段进行纠错编码;以及 校验信息记录模块,用于记录纠错编码时产生的校验信息,,
在对所述三个数据段分别进行纠错编码时,第一个数据段采用RS编码, 第二个数据段采用RS编码,第三个数据段采用BCH编码。
所述完整的数据块依次由第一个数据段经RS编码后的有效数据及其校验 信息、第二个数据段经RS编码后的有效数据及其校验信息,以及第三个数据 段经BCH编码后的有效数据及其校验信息组合而成,或者依次由第一、二、三 个数据段分别经过RS编码,RS编码以及BCH编码后的有效数据,以及第一、 二、三个数据段分别经过RS编码,RS编码以及BCH编码后产生的校验信息 组合而成。
所述RS编码为所有生成多项式的根域为GF ( 255 )的RS码,所述BCH
编码为所有生成多项式的根域为GF ( 255 )的BCH码。
一种与非型闪存存储器中的数据解码装置,所述装置包括
数据接收模块,用于接收纠错编码后的数据块,所述数据块包含传输数据
的三个数据段纠错编码后的有效数据,以及数据段纠错编码时产生的校验信息;
以及
数据分段解码模块,用于将纠错编码后的数据块中三个数据段纠错编码后 的有效数据,以及数据段纠错编码时产生的校验信息合并为三个数据段后分别 输入解码电^各解码。
本发明将传输的数据分为三段,然后将数据段分别进行纠错编码,并将编 码后的三个数据段与编码时产生的校验信息组合成一个完整的数据块,实现了 对与非型闪存存储器页面的全覆盖,提高了数据纠错性能。


据结构变化图;
图3是本发明提供的与非型闪存存储器中的数据解码方法的实现流程图; 图4是本发明提供的与非型闪存存储器中的数据编码装置的结构图; 图5是本发明提供的与非型闪存存储器中的数据解码装置的结构图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进4亍进一步详细i兌明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。
在本发明,将传输数据分成三段,对该三个数据段分别进行纠错编码,并 将编码后的三个数据段与编码时产生的校验信息组合成一个完整的数据块,提 高了数据编码的纠错性能。在解码时将三段已编码数据分别与其对应的校验信 息合并为三个数据段分别输入解码电路进行解码。
作为本发明的一个实施例,对三个数据段分别进行RS编码,RS编码和 BCH编码。其中,RS ( Reed-Solomon )编码是欧文里德(Irving Reed )和格斯 所罗门(GusSolomon)于1960年发布的一种纠错编码,使用伽罗瓦域(:GF) 运算法则,能提供在独立磁盘冗余阵列(Redundant Array oflnd印endent Disks, RAID ) 6中Q校验计算的系数,并提供错误恢复功能。BCH (Bose-Chaudhuri-Hocquenghem )编码是数据传输过程中的一组强大的循环阻 塞前向纠错编码。
图1示出了本发明提供的与非型 程,详述如下,
在步骤S101中,将传输数据分成三个数据段。
在步骤S102中,对该三个数据段分别进行RS编码,RS编码和BCH编码。 作为本发明的一个实施例,该处采用的RS编码包括所有生成多项式的根 域为GF( 255 )的RS码,采用的BCH编码为所有生成多项式的根域为GF( 255 )的码。
以RS ( 255, 251 )和BCH ( 255, 239 )的缩短码BCH ( 144, 128 )为例, 由于与非型闪存存储器的基本页结构为512字节+ 16字节或2048字节+ 64字 节,因此这种两个RS( 255, 251 )和一个BCH( 255, 239)的缩短码BCH( 144,
第一个数据段采用RS( 255, 251 )码进行保护,包含251字节的有效数据, 对251字节的有效数据编码后自动产生4字节的校验信息,4字节的校验信息 完成对整个255字节数据的保护。第二个数据段采用同样的方式处理。第三个 数据段采用BCH ( 255, 239 )的缩短码BCH (144, 128)码进行保护,包含 16字节共128位数据的有效数据,对16字节共128位数据的有效数据编码后 产生2字节的校验信息,2字节的校验信息完成对18字节共144位数据的保护。
作为本发明的一个实施例,开始编码后,对输入的第一个251字节数据段 进行RS( 255, 251)编码,产生4字节校验信息,记录校验信息;继续对输入 第二个251字节数据段进行RS ( 255, 251 )编码,产生4字节的校验信息,记 录校验信息;对输入的第三个16字节数据段进行BCH ( 144, 128)编码,产 生2字节的校验信息,记录校验信息。
在步骤S103中,将三个数据段已纠错编码后的有效数据和纠错编码时自动 产生的校验信息合并为一个完整的数据块。显然,该数据块携带有纠错码保护。
该三个数据段已纠错编码后的有效数据与纠错编码时自动产生校验信息可 以有多种组合方式,如图2所示,作为本发明的实施例,该完整的数据块可以 依次由第一个数据段经RS编码后的有效数据及其校验信息、第二个数据段经 RS编码后的有效数据及其校验信息,以及第三个数据段经BCH编码后的有效数据及其校验信息组合而成,也可以依次由第一、二、三个数据段分别经过RS
编码,RS编码以及BCH编码后的有效数据,以及第一、二、三个数据段分别 经过RS编码,RS编码以及BCH编码后产生的校验信息组合而成。
图3示出了本发明提供的与非型闪存存储器中的数据解码方法的实现流
程,详述如下。
在步骤S301中,接收分段纠错编码后的数据块,该数据块包含传输数据的 三个数据段纠错编码后的有效数据,以及数据段纠错编码时产生的校验信息,,
在步骤S302中,将纠错编码后的数据块中三个数据段纠错编码后的有效数 据,以及数据段纠错编码时产生的校验信息合并为三个数据段后分别输入解码 电路解码。
其中,解码电路进行解码时与现有解码技术相同,首先根据输入的数据产 生伴随式(syndrome),根据该伴随式判断数据是否有错。当判断该数据有错时, 根据该伴随式计算该数据的特征多项式,然后根据该特征多项式,利用钱搜索 算法(chien search)找出该数据的错误位置,最后根据该错误位置,该特征多 项式以及该伴随式计算出该数据的纠错值进行纠错。
由于采用的RS编码和BCH编码的生成多项式具有一致的#^或,因此在解 码电路中除了伴随式计算外,其它的电路两种编码可以复用,减小了电路的面 积。而且,由于BCH ( 255, 239)的缩短码BCH (144, 128)的编码数据的 基本单位是位数据,因此不需要计算纠错值。
图4示出了本发明提供的与非型闪存存储器中的数据编码装置的结构,数 据分段模块41将传输数据分为三段,编码模块42对分段后的三个数据段分别 进行纠错编码。作为本发明的一个实施例,对三个数据段分别进行RS编码, RS编码和BCH编码。
在进行编码时,数据接收模块421接收输入的数据段,数据段编码模块422 分别对数据接收模块421的第一个251字节的数据段、第二个251字节的数据 段以及第三个16字节的数据段进行RS ( 255, 251 )编码、RS ( 255, 251 )编码和BCH ( 144, 128 )编码。校验信息记录模块423记录对有效数据编码时产 生的校验信息。
在编码完成以后,数据段组合模块43将三个数据段纠错编码后的有效数据 与纠错编码时产生的校验信息组合成一 个完整的数据块。
作为本发明的实施例,该完整的数据块可以依次由第一个数据段经RS编 码后的有效数据及其校验信息、第二个数据段经RS编码后的有效数据及其校 验信息,以及第三个数据段经BCH编码后的有效数据及其校验信息组合而成, 也可以依次由第一、二、三个数据段分别经过RS编码,RS编码以及BCH编 码后的有效数据,以及第一、二、三个数据段分别经过RS编码,RS编码以及 BCH编码后产生的校验信息组合而成。
据接收模块51接收纠错编码后的数据块,该数据块包含传输数据的三个数据段 纠错编码后的有效数据,以及数据段纠错编码时产生的校验信息。数据分段解 码模块52将纠错编码后的数据块中三个数据段纠错编码后的有效数据,以及数 据段纠错编码时产生的校验信息合并为三个数据段后分别输入解码电路解码, 解码过程在前文已述,此处不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
权利要求
1、一种与非型闪存存储器中的数据编码方法,其特征在于,所述方法包括以下步骤将传输数据分为三个数据段;对所述三个数据段分别进行纠错编码;将所述三个数据段纠错编码后的有效数据与纠错编码时产生的校验信息组合成一个完整的数据块。
2、 如权利要求1所述的与非型闪存存储器中的数据编码方法,其特征在于, 所述对所述的三个数据段分别进行纠错编码的步骤具体包括接收输入的数据段; 对输入的数据段进行纠错编码; 记录纠错编码时产生的校验信息。
3、 如权利要求1或2所述的与非型闪存存储器中的数据编码方法,其特征 在于,在对所述三个数据段分别进行纠错编码时,第一个数据段采用RS编码, 第二个数据段采用RS编码,第三个数据段采用BCH编码。
4、 如权利要求3所述的与非型闪存存储器中的数据编码方法,其特征在于, 所述完整的数据块依次由第 一个数据段经RS编码后的有效数据及其校验信息、 第二个数据段经RS编码后的有效数据及其校验信息,以及第三个数据段经 BCH编码后的有效数据及其校验信息组合而成,或者依次由第一、二、三个数 据段分别经过RS编码,RS编码以及BCH编码后的有效数据,以及第一、二、 三个数据段分别经过RS编码,RS编码以及BCH编码后产生的校验信息组合 而成。
5、 如权利要求3或4所述的与非型闪存存储器中的数据编码方法,其特征 在于,所述RS编码为所有生成多项式的根域为GF ( 255 )的RS码,所述BCH 编码为所有生成多项式的根域为GF ( 255 )的BCH码。
6、 一种与非型闪存存储器中的数据解码方法,其特征在于,所述方法包括 以下步骤接收纠错编码后的数据块,所述数据块包含传输数据的三个数据段纠错编码后的有效数据,以及数据段纠错编码时产生的校验信息;将纠错编码后的数据块中三个数据段纠错编码后的有效数据,以及数据段 纠错编码时产生的校验信息合并为三个数据段后分别输入解码电路解码。
7、 一种与非型闪存存储器中的数据编码装置,其特征在于,所述装置包括数据分段模块,用于将传输数据分为三个数据段; 数据编码模块,用于对所述三个数据段分别进行纠错编码;以及 数据段组合模块,用于将所述三个数据段纠错编码后的有效数据与纠错编 码时产生的校验信息组合成 一 个完整的数据块。
8、 如权利要求7所述的与非型闪存存储器中的数据编码装置,其特征在于, 所述编码模块进一步包括数据接收模块,用于接收输入的数据段;数据段编码模块,用于对输入的数据段进行纠错编码;以及校验信息记录模块,用于记录纠错编码时产生的校验信息。
9、 如权利要求7或8所述的与非型闪存存储器中的数据编码方法,其特征 在于,在对所述三个数据_歐分别进行纠错编码时,第一个数据段采用RS编码, 第二个数据段采用RS编码,第三个数据段采用BCH编码。
10、 如权利要求7所述的与非型闪存存储器中的数据编码装置,其特征在 于,所述完整的数据块依次由第一个数据段经RS编码后的有效数据及其校验 信息、第二个数据段经RS编码后的有效数据及其校验信息,以及第三个数据 段经BCH编码后的有效数据及其校验信息组合而成,或者依次由第一、二、三 个数据段分别经过RS编码,RS编码以及BCH编码后的有效数据,以及第一、 二、三个数据段分别经过RS编码,RS编码以及BCH编码后产生的校验信息 组合而成。
11、 如权利要求9或IO所述的与非型闪存存储器中的数据编码装置,其特征在于,所述RS编码为所有生成多项式的根域为GF ( 255 )的RS码,所述 BCH编码为所有生成多项式的根域为GF ( 255 )的BCH码。
12、 一种与非型闪存存储器中的数据解码装置,其特征在于,所述装置包括数据接收模块,用于接收纠错编码后的数据块,所述数据块包含传输数据 的三个数据段纠错编码后的有效数据,以及数据段纠错编码时产生的校验信息; 以及数据分段解码模块,用于将纠错编码后的数据块中三个数据段纠错编码后 的有效数据,以及数据段纠错编码时产生的校验信息合并为三个数据段后分别 输入解码电^各解码。
全文摘要
本发明适用于通信领域,提供了一种与非型闪存存储器中的数据编解码方法及装置,所述编码方法包括将传输数据分为三个数据段;对所述三个数据段分别进行纠错编码;将所述三个数据段纠错编码后的有效数据与纠错编码时产生的校验信息组合成一个完整的数据块。所述解码方法包括接收纠错编码后的数据块,所述数据块包含传输数据的三个数据段纠错编码后的有效数据,以及数据段纠错编码时产生的校验信息;将纠错编码后的数据块中三个数据段纠错编码后的有效数据,以及数据段纠错编码时产生的校验信息合并为三个数据段后分别输入解码电路解码。本发明通过将传输数据进行分段编码后组合成数据块,接收后将数据块分开分别进行解码,覆盖了与非型闪存存储器的页面,提高了数据纠错能力。
文档编号G11C29/04GK101197195SQ200610157430
公开日2008年6月11日 申请日期2006年12月7日 优先权日2006年12月7日
发明者倪武学, 徐怀懿, 李立华 申请人:深圳安凯微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1