一种错误检查和纠正码译码器及译码方法技术

技术编号:17717627 阅读:42 留言:0更新日期:2018-04-17 20:13
本发明专利技术公开了一种错误检查和纠正码译码器及译码方法,用于存储器中的ECC译码,包括:分组模块,用于将从存储器读取的数据划分成多个数据组;伴随式计算模块,用于当译码开始后读取一个数据组;计算数据组的伴随式,计算完成后将该数据组发送给所述寻找模块;求解模块,用于将计算得到的伴随式代入到错误位置多项式中,求解出错误位置多项式的值;寻找模块用于当收到错误位置多项式的值后,根据所述错误位置多项式的值寻找所述伴随式计算模块所发送的数据组中的错误位置;控制模块,用于当求解模块将错位位置多项式的值发送给寻找模块时,指示伴随式计算模块读取下一个数据组。本发明专利技术能提高存储器中ECC的译码速度,缩短译码时间。

【技术实现步骤摘要】
一种错误检查和纠正码译码器及译码方法
本专利技术涉及电路领域,尤其涉及一种错误检查和纠正码译码器及译码方法。
技术介绍
用于存储器的ECC(ErrorCorrectingCode,错误检查和纠正码)在存储器做编程操作时进行编码,在存储器做读操作时做译码。ECC的译码算法,例如里德-索罗门(RS)解码以及BCH(Bose、Ray-Chaudhuri与Hocquenghem的缩写)译码一般分为等一般分为三个步骤:计算伴随式,求解错误位置多项式,寻找错误位置。存储器读操作一般以页为单位进行,而一个页的大小往往大于解码处理的单位,所以在译码过程中先要将一个页的数据划分为多个数据组,每个数据组的大小作为解码处理的一个单位;然后对每个数据组依次进行上述三个步骤,当一个数据组完成上述三个步骤后,再对下一个数据组进行上述三个步骤。如果要将一个页的数据都做译码,那么ECC译码需要重复几次才能完成。而一般解码的时间与读时间相当,如果依照顺序重复几次ECC译码,则对时间的消耗是客观的,有时甚至是读过程不可接受的
技术实现思路
本专利技术要解决的技术问题是如何提高存储器中ECC的译码速度,缩短译码时间。为了解决上述问题,本专利技术提供了一种错误检查和纠正码译码器,用于存储器中的ECC译码,包括:求解模块、寻找模块;分组模块,用于将从存储器读取的数据划分成多个数据组;伴随式计算模块,用于当译码开始后读取一个划分得到的数据组;计算所读取的数据组的伴随式,计算完成后将该数据组发送给所述寻找模块,将计算得到的伴随式发送给所述求解模块;所述求解模块用于将计算得到的伴随式代入到错误位置多项式中,求解出错误位置多项式的值发送给所述寻找模块;所述寻找模块用于当收到错误位置多项式的值后,根据所述错误位置多项式的值寻找所述伴随式计算模块所发送的数据组中的错误位置;控制模块,用于当所述求解模块将错位位置多项式的值发送给所述寻找模块时,指示所述伴随式计算模块读取下一个数据组。进一步地,所述寻找模块当寻找到错误位置时纠正该错误位置上的错误,纠错完成后继续寻找错误位置;所述控制模块还用于当所述寻找模块寻找结束,并发现错误位置时,指示所述伴随式计算模块中断伴随式计算;当所述寻找模块对错误位置处的数据纠错完成时指示所述伴随式计算模块继续所中断的伴随式计算。进一步地,所述控制模块还用于当所述寻找模块寻找错误位置完成后,发送第一通知给所述伴随式计算模块;所述伴随式计算模块除了直接发送本次译码中第一次计算出的伴随式、及直接发送第一次读取的数据组外,仅当收到所述第一通知后才将伴随式发送给所述求解模块,以及将数据组发送给所述寻找模块。进一步地,所述的译码器还包括:第一缓存、第二缓存;所述分组模块将划分后的数据组保存在所述第一缓存中;所述伴随式计算模块是从所述第一缓存读取划分得到的数据组;所述伴随式计算模块将数据组发送给所述寻找模块是指:所述伴随式计算模块将数据组存放在第二缓存中,由寻找模块在收到错误位置多项式的值后,从所述第二缓存中读出该数据组。本专利技术还提供了一种错误检查和纠正码译码方法,用于存储器中的错误检查和纠正码译码,包括:将从存储器读取的数据划分成多个数据组;依次对各数据组进行下述处理:计算该数据组的伴随式;将计算得到的伴随式代入到错误位置多项式中,求解出错误位置多项式的值;根据所述错误位置多项式的值寻找该数据组中的错误位置;其中,当求解出错位位置多项式的值时开始计算下一个数据组的伴随式。进一步地,所述的方法还包括:当寻找模块寻找结束,并发现错误位置时中断伴随式计算,纠正该错误位置上的错误;当纠错完成时恢复伴随式计算。进一步地,计算该数据组的伴随式的步骤后还包括:将计算过伴随式的数据组存放在缓存中;根据所述错误位置多项式的值寻找该数据组中的错误位置的步骤中,是寻找缓存里的数据组中的错误位置。本专利技术的技术方案可以大大降低完成存储器一个页的ECC译码所需要的时间,从而大大节省了存储器读时间,提高了读取速度。附图说明图1是实施例一的ECC译码器的结构示意框图;图2是实施例一例子中的流程示意图;图3是实施例一例子中时间段T3中的处理流程示意图。具体实施方式下面将结合附图及实施例对本专利技术的技术方案进行更详细的说明。实施例一,一种ECC译码器,用于存储器中的ECC译码,如图1所示,包括:伴随式计算模块、求解模块、寻找模块;分组模块,用于将从存储器读取的数据划分成多个数据组;伴随式计算模块,用于当译码开始后读取一个划分得到的数据组;计算所读取的数据组的伴随式,计算完成后将该数据组发送给所述寻找模块,将计算得到的伴随式发送给所述求解模块;求解模块,用于将计算得到的伴随式代入到错误位置多项式中,求解出错误位置多项式的值发送给所述寻找模块;所述寻找模块用于当收到错误位置多项式的值后,根据所述错误位置多项式的值寻找所述伴随式计算模块所发送的数据组中的错误位置;控制模块,用于当所述求解模块将错位位置多项式的值发送给所述寻找模块时,指示所述伴随式计算模块读取下一个数据组。本实施例中,一个数据组的大小应小于或等于所述伴随式计算模块、求解模块和寻找模块一次所能处理的数据量的最小值。本实施例中,所述分组模块将数据划分为数据组时,可以但不限于是将每一页(page)的数据划分为四个数据组,比如一个page的容量为2k字节,则每个数据组可以为512字节,也可以为1k字节。本实施例中,所述伴随式计算模块计算伴随式、求解模块求解错误位置多项式的值、及寻找模块寻找错误位置的实现细节可参照现有技术。可以看出,本实施例当完成一个数据组的错误位置多项式计算时,便寻找错误位置,并同时计算下一组数据组的伴随式,从而节省了时间。一般来说,在译码的运算中,求解错误多项式消耗的时间较短,而伴随式计算和寻找错误位置(不计入纠错时间的情况下)所耗时间相当,而且两者在执行时不需要彼此交互,本实施例将两者执行的时间复用,从而节约了大约一半的译码时间。本实施例的一种实施方式中,所述译码器还可以包括:第一缓存、第二缓存;所述分组模块将划分后的数据组保存在所述第一缓存中;所述伴随式计算模块是从所述第一缓存读取划分得到的数据组;所述伴随式计算模块将数据组发送给所述寻找模块是指:所述伴随式计算模块将数据组存放在第二缓存中,由寻找模块在收到错误位置多项式的值后,从所述第二缓存中读出该数据组。所述数据组存放在第一缓存中的顺序可依照存储器中每页数据暂存的顺序,即第一缓存中依次为:第一页数据拆分成的数据组、第二页数据拆分成的数据组、......。所述第二缓存可设置为至多存放一个数据组,寻找模块读出数据组时就删除了第二缓存中的数据组,或者是伴随式计算模块每次存放数据组时清空第二缓存或覆盖其中的所有数据。在其它实施方式中,分组模块也可以自己保存划分好的数据组,供所述伴随式计算模块读取;所述伴随式计算模块也可以直接将数据组发送给寻找模块,由寻找模块来暂存。本实施例的一种实施方式中,所述寻找模块当寻找到错误位置时纠正该错误位置上的错误,纠错完成后继续寻找错误位置;所述控制模块还可以用于当所述寻找模块寻找结束,并发现错误位置时,指示所述伴随式计算模块中断伴随式计算;当所述寻找模块对错误位置处的数据纠错完成时指示所述伴随式计算模块继续所中断的伴随式计算。本本文档来自技高网...
一种错误检查和纠正码译码器及译码方法

【技术保护点】
一种错误检查和纠正码译码器,用于存储器中的错误检查和纠正译码,包括:分组模块,用于将从存储器读取的数据划分成多个数据组;其特征在于,还包括:求解模块、寻找模块;伴随式计算模块,用于当译码开始后读取一个划分得到的数据组;计算所读取的数据组的伴随式,计算完成后将该数据组发送给所述寻找模块,将计算得到的伴随式发送给所述求解模块;所述求解模块用于将计算得到的伴随式代入到错误位置多项式中,求解出错误位置多项式的值发送给所述寻找模块;所述寻找模块用于当收到错误位置多项式的值后,根据所述错误位置多项式的值寻找所述伴随式计算模块所发送的数据组中的错误位置;控制模块,用于当所述求解模块将错位位置多项式的值发送给所述寻找模块时,指示所述伴随式计算模块读取下一个数据组;所述寻找模块当寻找到错误位置时纠正该错误位置上的错误,纠错完成后继续寻找错误位置;所述控制模块还用于当所述寻找模块寻找结束,并发现错误位置时,指示所述伴随式计算模块中断伴随式计算;当所述寻找模块对错误位置处的数据纠错完成时指示所述伴随式计算模块继续所中断的伴随式计算;还包括:第一缓存、第二缓存;所述分组模块将划分后的数据组保存在所述第一缓存中;所述伴随式计算模块是从所述第一缓存读取划分得到的数据组;所述伴随式计算模块将数据组发送给所述寻找模块是指:所述伴随式计算模块将数据组存放在第二缓存中,由寻找模块在收到错误位置多项式的值后,从所述第二缓存中读出该数据组;所述第二缓存设置为至多存放一个数据组;寻找模块读出数据组时就删除了第二缓存中的数据组,或者是伴随式计算模块每次存放数据组时清空第二缓存或覆盖其中的所有数据。...

【技术特征摘要】
1.一种错误检查和纠正码译码器,用于存储器中的错误检查和纠正译码,包括:分组模块,用于将从存储器读取的数据划分成多个数据组;其特征在于,还包括:求解模块、寻找模块;伴随式计算模块,用于当译码开始后读取一个划分得到的数据组;计算所读取的数据组的伴随式,计算完成后将该数据组发送给所述寻找模块,将计算得到的伴随式发送给所述求解模块;所述求解模块用于将计算得到的伴随式代入到错误位置多项式中,求解出错误位置多项式的值发送给所述寻找模块;所述寻找模块用于当收到错误位置多项式的值后,根据所述错误位置多项式的值寻找所述伴随式计算模块所发送的数据组中的错误位置;控制模块,用于当所述求解模块将错位位置多项式的值发送给所述寻找模块时,指示所述伴随式计算模块读取下一个数据组;所述寻找模块当寻找到错误位置时纠正该错误位置上的错误,纠错完成后继续寻找错误位置;所述控制模块还用于当所述寻找模块寻找结束,并发现错误位置时,指示所述伴随式计算模块中断伴随式计算;当所述寻找模块对错误位置处的数据纠错完成时指示所述伴随式计算模块继续所中断的伴随式计算;还包括:第一缓存、第二缓存;所述分组模块将划分后的数据组保存在所述第一缓存中;所述伴随式计算模块是从所述第一缓存读取划分得到的数据组;所述伴随式计算模块将数据组发送给所述寻找模块是指:所述伴随式计算模块将数据组存放在第二缓存中,由寻找模块在收到错误位置多项式的值后,从所述第二缓存中读出该数据组;所述第二缓存设置为至多存放一个数据组;寻找模块读出数据组时就删除了第二缓存中的数据组,或者是伴随式计算模块每次存放数据组时清空第...

【专利技术属性】
技术研发人员:刘会娟苏志强
申请(专利权)人:北京兆易创新科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1