用以寻找一码字中错误位置的方法及电子装置与流程

文档序号:14196950阅读:241来源:国知局
用以寻找一码字中错误位置的方法及电子装置与流程

本发明关于用以寻找错误位置的一种电子装置及方法,特别是关于用以寻找错误位置的一可配置的电子装置及方法。



背景技术:

bch码(bose,chaudhuri,hocquenghem)是在通信系统和储存系统中被广泛使用的一种类型的错误校正码。举例来说,在通信系统中的一接收器可接收信息,信息包含在传送信息中多种操作导致的错误。并且,举例来说,错误可能会发生在从一内存系统读取数据的时候。使用bch码的一错误校正方法包含三个步骤:计算症状、寻找错误定位多项式以及寻找错误位置。

寻找错误位置为一消耗时间的操作。提供一种平行架构以缩短搜寻时间,但高平行化会导致高操作电流及高漏电流。



技术实现要素:

依据本发明的一第一方面,提供一电子装置,用以寻找一码字中的错误位置。电子装置包含多个功率控制单元,用以寻找该码字中的错误位置。多个功率控制单元并联的耦接。每一功率控制单元包含对应的多个输入控制电路以分别开启或关闭对应的功率控制单元。

依据本发明的一第二方面,提供一方法,用以寻找一码字中的错误位置。此方法由一电子装置执行。电子装置包含一控制器及多个功率控制单元。此方法包含以下步骤。判断码字是否包含一或多个错误。如果此码字没有包含错误,关闭所有的功率控制单元。如果此码字包含一或多个错误,判断寻找此一或多个错误的位置的一时间是否短于或等于一预定时间。如果此时间短于或等于预定时间,则开启所有的功率控制单元。如果此时间并未短于或等于预定时间,则关闭一部分的功率控制单元。

依据本发明的一第三方面,提供一方法,用以寻找一码字中的错误位置。此方法由一电子装置执行。电子装置包含一控制器及多个功率控制单元。此方法包含以下步骤。判断码字是否包含一或多个错误。如果此码字没有包含错误,关闭所有的功率控制单元。如果此码字包含一或多个错误,判断寻找此一或多个错误的位置的一时间是否短于或等于一预定时间。如果此时间短于或等于预定时间,则开启所有的功率控制单元。如果此时间并未短于或等于预定时间,则判断此码字中的错误的一数量是否大于或等于一预定临界值。如果此码字中的错误的一数量并未大于或等于预定临界值,则开启所有的功率控制单元。如果此码字中的错误的一数量大于或等于预定临界值,则关闭一部分的功率控制单元。

附图说明

现在参考附图通过举例的方式说明本发明的示范实施例如下:

图1绘示依据本发明一实施例的一译码器的一方块图。

图2绘示依据本发明一实施例的错误位置寻找模块的一硬件结构的示意图。

图3绘示依据本发明一实施例的bch译码器处理码字的一时序图。

图4绘示依据本发明一实施例的bch译码器处理码字的一时序图。

图5a绘示依据本发明一实施例的一输入控制电路的示意图。

图5b绘示依据本发明一实施例的另一输入控制电路的示意图。

图6绘示依据本发明一实施例的一输出控制电路的示意图。

图7绘示依据本发明一实施例的另一错误位置寻找模块的一硬件结构的示意图。

图8绘示依据本发明一实施例的另一错误位置寻找模块的一硬件结构的示意图。

图9绘示依据本发明一实施例的寻找错误位置的一方法的一流程图。

图10绘示依据本发明一实施例的寻找错误位置的另一方法的一流程图。

图11绘示依据本发明一实施例的bch译码器处理码字的一时序图。

【符号说明】

100:译码器

102:症状计算模块

104:多项式产生模块

106、700、700:错误位置寻找模块

108:先进先出模块

110:xor操作模块

202、214、mux、520、708、712、802、814:多任务器

204、reg、710、804:缓存器

206、α1、α2、αt、αp-1、α2(p-1)、αt(p-1)、αp、α2p、αtp、716、806:乘法器

208、714、808:加法器

210、212、i:输入控制单元/电路

216:输出控制单元/电路

218、718、816:控制器

220f、220、220l、pcu0~pcup、702f、702l、702、820f、820、820l:功率控制单元

λ0、λ1、λ2、at:多项式的常数

λ(αp1)、λ(αpi+1)、λ(αpi+p-1):多项式

t31~t36、t41~t48、t1101~t1107:时间点

ps、502:功率开关单元

504、506、508、522、524、526、528、602、604、606:端口

iso、600、706、iso0、iso1、isop-1:隔离单元

ps0、ps1、psp-1、psp、704:功率开关

810、i、812:组合逻辑单元/电路

900、1000:方法

902~914、1002~1018:流程步骤

具体实施方式

在此文中,参照图式提供本发明实施例的详细描述。尽可能地,相同的参考符号将使用来表示附图中相同或相似的部分。

图1绘示依据本发明一实施例的一译码器100的一方块图,例如一bch译码器。如图1所示,bch译码器100包含一症状计算模块102、一多项式产生模块104、一错误位置寻找模块106、一先进先出(fifo)模块108、及一xor操作模块110。

bch译码器的症状计算模块102及fifo模块108分别耦接以接收n位的一码字(codeword)。在此文中,一码字由一编码器转换一信息所产生。fifo模块108用以储存接收的n位的码字。症状计算模块102用以从所接收的n位的码字计算症状。如果所计算的症状并非全部为零,则所接收的码字之中存在一或多个错误。多项式产生模块104耦接到症状计算模块102并用以从非零症状中产生多个错误定位多项式,其中一多项式以λ(x)=λtxt+at-1xt-1+…+λ0的形式表示,其中λ≥1位,λ0、…、at-1、λt为多项式的常数。错误位置寻找模块106耦接到多项式产生模块104并用以通过寻找多项式的根(root)寻找码字中的错误位置,其中多项式的根代表错误位置。xor操作模块110耦接到fifo模块108及错误位置寻找模块106,并用以从fifo模块108接收错误位,并通过一xor操作翻转(flip)错误位以校正错误。在一二进制的系统中,一码字可以是一个多个0及/或1的序列。举例来说,一码字可以是1101000。举例而不限制的,码字的一示范定义可以在shulin等人第二版的书《errorcontrolcoding:fundamentalsandapplications》中被找到。

图2绘示依据本发明一实施例的错误位置寻找模块106的一示范硬件结构的示意图。错误位置寻找模块106包含t个第一多任务器202(mux)、t个缓存器204(reg)、及pxt个计算单元206,例如乘法器(α1、α2、…αt、…、αp-1、α2(p-1)、…、αt(p-1),及αp、α2p、…、αtp)、p个加法器208、t个第一输入控制单元/电路210(i)、pxt个第二输入控制单元/电路212(i)、t个第二多任务器214(mux)、p个输出控制单元/电路216(o)、及一控制器(ctrl)218。控制器(ctrl)218用以控制错误位置寻找模块106的组件。其中t是错误校正的能力。举例来说,在一内存控制器应用中,t可以是8到72之间。在一数字视频广播标准(dvb-s2)中,t可以是8到12之间。控制器218耦接到每一个第一多任务器202、每一个缓存器204、每一个计算单元206、每一个加法器208、每一个第一输入控制单元/电路210、每一个第二输入控制单元/电路212、每一个第二多任务器214以及每一个输出控制单元/电路216以提供对应的控制信号。为了容易清楚的描述组件之间的连接关系,在图2中省略了这些组件和控制器218之间详细的连接。在一些实施例中,控制器218为一处理器,用以执行指令以控制错误位置寻找模块106的组件。

错误位置寻找模106的组件形成(p+1)个功率控制单元220f(pcu0)、220(pcu1、…、pcup-1)、及220l(pcup)。第一功率控制单元220f包含t个第一输入控制单元/电路210、t个第一多任务器202、t个缓存器204、t个第二多任务器214、一个加法器208、及一个输出控制单元/电路216。最后一个功率控制单元220l(pcup)包含t个第二输入控制单元212及t个乘法器206。其他功率控制单元220(pcu1、…、pcup-1)包含t个第二输入控制单元212、t个乘法器206、一个加法器208、及一个输出控制单元/电路216。

请再参照图2,每一第一输入控制单元的一输出端耦接到对应的第一多任务器202的一第一输入端。每一缓存器204的一输出端耦接到对应的第一多任务器202的一第二输入端。每一第一多任务器202的一输出端耦接到对应的第二输入控制单元212的一输入端,第二输入控制单元212的输出端耦接到对应的乘法器206输入端。每一乘法器206的一第一输出端耦接到对应的一第二多任务器214。功率控制单元220(pcu1、…、pcup-1)的每一乘法器206的一第二输出端耦接到对应的加法器208。最后一个功率控制单元220l(pcup)的每一乘法器206包含一个输出端耦接到对应的第二多任务器214。

功率控制单元220f、220及220l被第一输入控制单元210及第二输入控制单元212控制。在一些实施例中,功率控制单元220f、220及220l更被输出控制单元216控制。在一些实施例中,每一功率控制单元220可被个别的开启或关闭。举例来说,当数据传输时没有错误出现,错误位置寻找模块106可被关闭。在一实施例中,这可通过控制器218使能所有的第一输入控制单元210而被执行以关闭所有的功率控制单元220。在另一实施例中,错误位置寻找模块106可通过控制器218使能所有的第一输入控制单元210及第二输入控制单元212被关闭。在又一实施例中,错误位置寻找模块106可通过控制器218使能所有的第一输入控制单元210、第二输入控制单元212及输出控制单元216被关闭以在码字中没有错误出现时节省功率。使能输出控制单元216封锁了从对应的功率控制单元220f或220的输出。举例来说,控制器218提供一控制信号到输出控制单元216的其中一个输出控制单元以使能或非使能输出控制单元216。当所有的第一输入控制单元210、第二输入控制单元212及输出控制单元216要被使能时,可由控制器218提供同一控制信号到这些组件以简化控制机制。

当有足够的时间搜寻错误位置时,在一省电模式中一部分的功率控制单元220可以被开启以搜寻错误位置,而剩余的功率控制单元220可被关闭以节省功率。在一实施例中,第一和第二功率控制单元220f及220(pcu0、pcu1)被开启,而剩余的功率控制单元220被关闭。这可通过控制器218非使能所有的第一输入控制单元210及第二功率控制单元220(pcu1)的第二输入控制单元212,并且使能剩余的功率控制单元220的第二输入控制单元212被执行。在另一实施例中,被开启的功率控制单元220f及220(pcu0、pcu1)的输出控制单元216可被非使能,且被关闭的功率控制单元220及220l的输出控制单元可被使能。在一些实施例中,提供同一控制信号到同一功率控制单元220的输入控制单元210及输出控制单元216以简化控制机制。

依据本发明的一实施例,每一功率控制单元220f、220、220l可依据不同系统考虑,例如搜寻错误位置的可用时间或系统提供的最大功率,被个别地被控制器218开启或关闭。举例来说,当包含错误位置寻找模块106的一通信系统或一储存系统具有搜寻错误位置的限制时间但被提供高功率时,可开启较多的功率控制单元220f、220、220l以在一省时模式中平行地搜寻错误位置。在一些实施例中,当一系统中的功率被限制时,此系统可开启较少的功率控制单元以在省时模式中节省功率。在一实施例中,控制器218用以在一省电模式中关闭第一数量的功率控制单元220f、220、220l,并在一省时模式中关闭第二数量的功率控制单元220f、220、220l。其中第一数量大于第二数量。

图3绘示bch译码器100处理的3个码字的一时序图,其中错误位置寻找模块106的所有的功率控制单元220f、220、220l都被开启。请参照图1-3,在时间点t31,有n个位的码字1在bch译码器100被接收。从时间点t31到时间点t32,码字1被症状计算模块处理102,症状计算模块102可使用n/p个频率周期计算码字1的症状。从时间点t32到时间点t33,码字1被多项式产生模块104处理,多项式产生模块104使用n/p个频率周期产生针对码字1的多项式。在时间点t32到时间点t33的同一期间,有n个位的码字2被症状计算模块处理102,症状计算模块102可使用n/p个频率周期计算码字2的症状。从时间点t33到时间点t34,码字1被错误位置寻找模块106处理,错误位置寻找模块106使用n/p个频率周期寻找码字1中的错误位置。在时间点t33到时间点t34的同一期间,码字2被多项式产生模块104处理,多项式产生模块104使用n/p个频率周期产生针对码字2的多项式,且有n个位的码字3被症状计算模块处理102,症状计算模块102可使用n/p个频率周期计算码字32的症状。从时间点t34到时间点t35,码字2被错误位置寻找模块106处理,错误位置寻找模块106使用n/p个频率周期寻找码字2中的错误位置。在时间点t34到时间点t35的同一期间,码字3被多项式产生模块104处理,多项式产生模块104使用n/p个频率周期产生针对码字3的多项式。从时间点t35到时间点t36,码字3被错误位置寻找模块106处理,错误位置寻找模块106使用n/p个频率周期寻找码字3中的错误位置。处理这3个码字的总时间是5*n/p个频率周期。bch译码器100用于处理这3个码字所需要的尖峰功率出现在当所有3个模块102、104、106被启动而工作的时间点t33到时间点t34之间。

图4绘示bch译码器100处理的3个码字的一时序图,其中错误位置寻找模块106的一半的功率控制单元220f、220、220l被开启。请参照第1、2、4图,在时间点t41,有n个位的码字1在bch译码器100被接收。从时间点t41到时间点t42,码字1被症状计算模块处理102,症状计算模块102可使用n/p个频率周期计算码字1的症状。从时间点t42到时间点t43,码字1被多项式产生模块104处理,多项式产生模块104使用n/p个频率周期产生针对码字1的多项式。从时间点t43到时间点t45,码字1被错误位置寻找模块106处理,错误位置寻找模块106使用2*n/p个频率周期寻找码字1中的错误位置,因为错误位置寻找模块106的一半的功率控制单元220f、220、220l被开启,而另一半的功率控制单元220f、220、220l被被关闭。

在时间点t43到时间点t45的同一期间,从时间点t43到时间点t44,具有n个位的码字2被症状计算模块处理102,症状计算模块102可使用n/p个频率周期计算码字2的症状,接着从时间点t44到时间点t45,码字2再被多项式产生模块104处理,多项式产生模块104使用n/p个频率周期产生针对码字2的多项式。从时间点t45到时间点t47,码字2被错误位置寻找模块106处理,错误位置寻找模块106使用2*n/p个频率周期寻找码字2中的错误位置。在时间点t45到时间点t47的同一期间,从时间点t45到时间点t46,具有n个位的码字3被症状计算模块处理102,症状计算模块102可使用n/p个频率周期计算码字3的症状,接着从时间点t46到时间点t47,码字3再被多项式产生模块104处理,多项式产生模块104使用n/p个频率周期产生针对码字3的多项式。从时间点t47到时间点t48,码字3被错误位置寻找模块106处理,错误位置寻找模块106使用2*n/p个频率周期寻找码字3中的错误位置。处理这3个码字的总时间是8*n/p个频率周期。bch译码器100用于处理这3个码字所需要的尖峰功率出现在当3个模块102、104、106中的两个模块被启动而同时操作的时间点t43到时间点t47之间。在图4中错误位置寻找模块106中的一半的功率控制单元220f、220、220l被开启所示的处理时间,大于在图3中当错误位置寻找模块106中的所有功率控制单元220f、220、220l都被开启的处理时间。然而,对应于图4设定的此装置使用相较于图3更低的功率。

依据本发明一实施例,当需要考虑处理速率时,也就是说,当处理是在一相对短的时间被执行时,bch译码器100可被设置以使错误位置寻找模块106的较多的功率控制单元220被开启以平行的处理码字以节省时间。进一步的,当需要考虑功率消耗时,bch译码器100可被设置以使错误位置寻找模块106的较少的功率控制单元220被开启以处理码字以节省功率。

请再参照图2,第一输入控制单元210及第二输入控制单元212可通过一功率开关单元(ps)或一组合逻辑单元/电路,例如一多任务器(mux)、一与门、一或门、一与非门、一互斥或门、一反互斥或门、一或非门等,或其他本领域技术人员已知的电子组件而可各自被执行。图5a绘示依据本发明一实施例的一示范的功率开关单元502的示意图。功率开关单元502包含用于耦接到一电源的一vdd/gnd端口504、用于耦接到一功率控制单元(例如功率控制单元220)的一电源输出端口506及用于从一控制器(例如图2中的控制器218)接收一控制信号(en)的一控制信号输入端口508。图5b绘示作为第一输入控制单元210或第二输入控制单元212的另一结构的一示范的多任务器520的示意图。在一些实施例中,第一输入控制单元210及第二输入控制单元212可以都是一组合逻辑单元/电路,例如多任务器520。多任务器520包含用于接收一输入值的一第一输入端口522、用于接收一固定值的一第二输入端口524、一输出端口526及用于从一控制器(例如图2中的控制器218)接收一控制信号(en)的一控制信号输入端口528。

请再参照图2,可提供至少一隔离单元/电路(iso)或一组合逻辑单元/电路,例如一多任务器(mux)、一与门、一或门、一与非门、一互斥或门、一反互斥或门、一或非门等,或其他本领域技术人员已知的电子组件作为输出控制单元216。图6绘示包含一输入端口602、一输出端口604及用于从一控制器(例如图2中的控制器218)接收一控制信号(en)的一控制信号输入端口606的一示范的隔离单元600的示意图。被提供作为输出控制单元216的组合逻辑单元/电路相似于被提供作为第一输入控制单元210或第二输入控制单元212的组合逻辑单元/电路。组合逻辑单元/电路的一例被绘示于图5,就不再重复描述。

图7绘示依据本发明一实施例的另一错误位置寻找模块700的一示范的硬件结构的示意图。错误位置寻找模块700包含一第一功率控制单元702f、一最后功率控制单元702l及第一功率控制单元702f和最后功率控制单元702l之间的(p-1)个功率控制单元702。功率控制单元702f、702l及702的每一个功率控制单元各包含一功率开关(psx)704作为一输入控制单元以控制提供到对应的功率控制单元702f、702l或702的功率。功率控制单元702f及702的每一个功率控制单元还包含一隔离单元706作为一输出控制单元以避免从对应的功率控制单元702f及702流出的漏电流。第一功率控制单元702f还包含t个第一多任务器(mux)708、t个缓存器(reg)710、t个第二多任务器(mux)712及一加法器714。最后功率控制单元702l还包含t个乘法器716。每一个功率控制单元702还包含t个乘法器716及一加法器714。第一多任务器708接收多项式常数λ1、λ2、……、λt。第一多任务器708的输出端耦接到p个对应的乘法器716。功率控制单元702的每一个乘法器716包含耦接到一对应的加法器714的一输出端,及耦接到一对应的第二多任务器712的一输出端。功率控制单元702l的每一个乘法器716包含耦接到的一对应的第二多任务器712的一输出端。第二多任务器712用以从乘法器716选择一值以用在下一轮的搜寻错误位置时使用。每一第二多任务器712的一输出端耦接到一对应的缓存器710。缓存器710用以储存第二多任务器712供应的值。每一缓存器710的一输出端耦接到一对应的第一多任务器708。每一加法器714的一输出端耦接到一对应的隔离单元706。错误位置寻找模块700还包含耦接到上述每一组件的一控制器(ctrl)718,控制器还用以提供控制信号到上述组件。为了容易清楚的描述组件之间的连接关系,在图7中省略了这些组件和控制器718之间详细的连接。在一些实施例中,控制器718为一处理器,用以执行指令以控制错误位置寻找模块700的组件。

在如图所示的实施例中,每一功率控制单元702f、702或702l可通过对应的功率开关单元704被个别的控制。在一些实施例中,可通过错误位置寻找模块700的控制器718开启一些或所有的功率控制单元702f、702及702l以增加寻找码字中的错误位置的速率。如果需要一较低的功率操作,可通过切断功率开关单元704的电源供应而关闭一些功率控制单元702及702l以减少功率消耗。如果判断在码字中没有出现错误,可关闭所有的功率控制单元702f、702及702l以进一步节省功率消耗。在一些实施例中,当一功率开关单元704被控制以切断对一对应的功率控制单元702f、702及702l的电源供应时,功率控制单元的一隔离单元706被启动以避免从关闭的功率控制单元702f及702流出的漏电流。在一些实施例中,一功率开关单元704及同一功率控制单元702的一隔离单元706从控制器718被提供同一控制信号以简化控制机制。

图8绘示依据本发明一实施例的另一错误位置寻找模块800的一示范的硬件结构的示意图。错误位置寻找模块800包含t个第一多任务器802(mux)、t个缓存器804(reg)、pxt个乘法器806(α1、α2、…αt、…、αp-1、α2(p-1)、…、αt(p-1),及αp、α2p、…、αtp)、p个加法器808、t个作为第一输入控制单元(i)的第一组合逻辑单元/电路810、pxt个作为第二输入控制单元(i)的第二组合逻辑单元/电路812、t个第二多任务器814。错误位置寻找模块800的这些组件形成(p+1)个功率控制单元820f、820、及820l(pcu0、pcu1、…、pcup-1、pcup)。第一功率控制单(pcu0)820f包含t个第一组合逻辑单元810、t个第一多任务器802、t个缓存器804、t个第二多任务器(mux)814、一个加法器808。最后功率控制单元(pcup)820l包含t个第二组合逻辑单元812及t个乘法器806。其他功率控制单元820(pcu1、…、pcup-1)包含t个第二组合逻辑单元812、t个乘法器806、一个加法器808。错误位置寻找模块800还包含一控制器816用以提供控制信号到上述组件。在一些实施例中,控制器816为一处理器,用以执行指令以控制错误位置寻找模块800的组件。

在如图所示的实施例中,每一功率控制单元702f、702或702l可通过对应的功率开关单元704被个别的控制。第一组合逻辑单元810及第二组合逻辑单元812分别为接收一固定值(f)作为输入的第三多任务器和第四多任务器。在一些实施例中,第一组合逻辑单元810和第二组合逻辑单元812可以是其他组合逻辑单元,例如一与门、一或门、一与非门、或一或非门。第三多任务器810接收多项式常数λ1、λ2、……、λt作为另一输入,并且被由一控制器816提供的一控制信号(图5a的en)所控制以选择多项式常数或固定值。举例来说,当在码字中没有出现错误时,第三多任务器810和第四多任务器812被控制以选择固定值,使得功率控制单元820f、820及820l被操作在一相当低功率的模式。在一些实施例中,第一功率控制单元820f及一部份的功率控制单元820被启动以寻找在码字中的错误位置,而剩余的功率控制单元820、820l可被控制在一较低功率模式中执行。这可通过当第三多任务器810被控制以选择多项式常数λ1、λ2、……、λt及一部份的第四多任务器812的被控制以选择从第一多任务器802供应的值,而剩余的第四多任务器被控制以选择固定值而可被执行。举例来说,此固定值可为高逻辑或低逻辑,例如1或0。如果希望在低功率消耗的情况下寻找错误位置,较多的功率控制单元820及820l可被控制以选择此固定值。如果希望在高速率的情况下寻找错误位置,较少的或没有功率控制单元820及820l可被控制以选择此固定值。

在如图所示的实施例中,第三多任务器810的一输出端耦接到一对应的第一多任务器802的一第一输入端。缓存器804的一输出端耦接到一对应的第一多任务器802的一第二输入端。第一多任务器802的一输出端耦接到对应第四多任务器812的一输入端及第一功率控制单元820f的加法器808。第四多任务器812的一输出端耦接到一对应的乘法器806的一输入端。每一乘法器806的一第一输出端耦接到一对应的第二多任务器814。功率控制单元(pcu1、…、pcup-1)820的每一乘法器806的一第二输出端耦接到一对应的加法器808。最后功率控制单元(pcup)820l的每一乘法器806包含耦接到一对应的第二多任务器814的一输出端。

在一些实施例中,每一加法器208、708及808在接收的所有位上执行一无进位的xor操作。

图9绘示依据本发明一实施例的在一或多个码字中寻找错误位置的一方法900的一流程图。方法900可通过一错误位置寻找模块(例如如图2所示的错误位置寻找模块106)被执行。请参照图2和图9,方法900从步骤902开始。在步骤904中,控制器218检测在一或多个码字中是否出现一或多个错误。如果没有出现错误,则在步骤906中,所有的功率控制单元,例如功率控制单元220,都被控制器218关闭以节省功率。如果在一或多个码字中检测到一或多个错误,则在步骤908中,控制器218判断是否需要在短于或等于一预定时间ts的一时间t中寻找错误位置。举例来说,控制器218判断寻找错误位置的时间t需要短于或等于预定时间ts。如果t≤ts,则在步骤910中,开启所有的功率控制单元以搜寻错误位置。举例来说,当图2中的所有功率控制单元220都被开启时,可同时寻找p个位置。

如果判断不需要考虑寻找错误位置的处理时间,则在步骤912中,根据可寻找错误位置的时间而开启一部分的功率控制单元220并关闭剩余的功率控制单元220。举例来说,图2中的i个功率控制单元220被关闭,其中1≤i≤p,使得可同时寻找p-i个位置。在步骤906、910或912之后,方法900结束在步骤914。

图10绘示依据本发明一实施例的在一或多个码字中寻找错误位置的另一方法1000的一流程图。方法100可通过一错误位置寻找模块(例如如图2所示的错误位置寻找模块106)被执行。请参照图2和图10,方法1000从步骤1002开始。在步骤1004中,控制器218检测在一或多个码字中是否出现一或多个错误。如果没有出现错误,则在步骤1006中,所有的功率控制单元,例如功率控制单元220,都被控制器218关闭以节省功率。如果在一或多个码字中检测到一或多个错误,则在步骤1008中,控制器218判断是否需要在短于或等于一预定时间ts的一时间t中寻找错误位置。如果t≤ts,则在步骤1010中,开启所有的功率控制单元以搜寻错误位置。举例来说,当第2图中的所有功率控制单元220都被开启时,可同时寻找p个位置。如果判断不需要考虑寻找错误位置的处理时间,则在步骤1012中,控制器218判断错误的数量是否大于或等于一预定临界值。在一些实施例中,当bch译码器的错误校正能力为t时,错误数量是s,且s小于t,则错误定位多项式的系数as+1到λt为零使得在功率控制单元包含系数λs+1到λt的计算消耗较少的功率。因此,即使所有的功率控制单元都被开启以搜寻错误位置,错误位置寻找模块106也端口会使用较高的功率。如果判断错误的数量大于或等于预定临界值时,在步骤1014中,根据可寻找错误位置的时间而开启一部分的功率控制单元220并关闭剩余的功率控制单元220。举例来说,关闭图2中的i个功率控制单元220,其中1≤i≤p,使得可同时寻找p-i个位置。如果判断错误的数量没有大于或等于预定临界值时,在步骤1016中,开启所有的功率控制单元以搜寻错误位置。举例来说,当所有的功率控制单元220都被开启时,可同时搜寻p个位置。在步骤1006、1010、1014或1016之后,方法1000结束在步骤1018。

图11绘示bch译码器100处理的3个码字的一时序图,其中码字1和码字3包含的错误大于或等于预定临界值,码字2包含的错误小于预定临界值。请参照1图、图2及图11,在时间点t1101,具有n位的码字1被bch译码器100接收。从时间点t1101到时间点t1102,码字1被症状计算模块102处理,症状计算模块102可使用n/p个频率周期计算码字1的症状。从时间点t1102到时间点t1103,码字1被多项式产生模块104处理,多项式产生模块104使用n/p个频率周期产生针对码字1的多项式,且具有n个位的码字2被症状计算模块处理102,症状计算模块102可使用n/p个频率周期计算码字2的症状。从时间点t1103到时间点t1105,因为码字1包含的错误大于或等于预定临界值,如图10的步骤1012和1014所解释的,码字1被错误位置寻找模块106处理,错误位置寻找模块106使用一半(p/2)的功率控制单元220f、220、220l寻找码字1中的错误位置,而导致使用2*n/p个频率周期。

从时间点t1103到时间点t1104,码字2被多项式产生模块104处理,多项式产生模块104使用n/p个频率周期产生针对码字2的多项式,且具有n个位的码字3被症状计算模块处理102,症状计算模块102可使用n/p个频率周期计算码字3的症状。从时间点t1104到时间点t1105,码字3被多项式产生模块104处理,多项式产生模块104使用n/p个频率周期产生针对码字3的多项式。

在错误位置寻找模块106处理完码字1之后,从时间点t1105到时间点t1106,码字2被错误位置寻找模块106处理。因为码字2包含的错误并未大于或等于预定临界值,如图10的步骤1016所解释的,错误位置寻找模块106使用所有的功率控制单元220f、220、220l寻找码字2中的错误位置,而导致使用n/p个频率周期。在错误位置寻找模块106处理完码字2之后,从时间点t1106到时间点t1107,因为码字3包含的错误大于或等于预定临界值,如图10的步骤1012和1014所解释的,码字3被错误位置寻找模块106处理,错误位置寻找模块106使用2*n/p个频率周期寻找码字3中的错误位置。处理这3个码字的总时间是7*n/p个频率周期。图11所示的处理时间小于图7所示的处理时间(8*n/p个频率周期)。

在本发明中所解释的译码器和方法不限制于译码bch码,更可使用其他码,例如里德-所罗门码(reedsolomoncodes)来寻找错误位置。

虽然本发明提供bch译码器以寻找错误位置,本发明不以此为限。符合本发明的实施例可应用到其他种类的译码器以寻找一码字中的错误位置。

本领域技术人员依据本说明书和本发明发明的实施方式容易想到其他实例。应当理解的是本说明书和这些例子仅是示范性的而非用以限定本发明。本发明真正的保护范围和精神在以下申请专利范围所表示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1