用于多位修正的电路和方法.pdf

上传人:32 文档编号:6185513 上传时间:2019-05-18 格式:PDF 页数:82 大小:7.59MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310533144.9

申请日:

2013.10.31

公开号:

CN103793289A

公开日:

2014.05.14

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 11/10申请日:20131031|||公开

IPC分类号:

G06F11/10

主分类号:

G06F11/10

申请人:

英飞凌科技股份有限公司

发明人:

M.格泽尔; T.柯恩

地址:

德国瑙伊比贝尔格市坎芘昂1-12号

优先权:

2012.10.31 US 13/664,495

专利代理机构:

中国专利代理(香港)有限公司 72001

代理人:

马丽娜;马永利

PDF下载: PDF下载
内容摘要

本发明涉及用于多位修正的电路和方法。提供了一种电路,包括包含多个存储单元的存储器,其中,所述存储器的所述多个存储单元中的至少一个被配置成采取至少三个不同状态中的一个。该电路还包括被配置成基于二进制值序列来生成多个三进制输出值的第一子电路BT、被配置成基于所述一个或多个状态值将一个或多个三进制状态值变换成二进制辅助读取值的第二子电路LH以及被配置成生成一个或多个二进制校验位的编码器,其中,所述编码器被配置成将所生成的一个或多个校验位中的每一个存储在不同的存储单元中。

权利要求书

权利要求书
1.  一种电路,包括:
存储器,包括多个存储单元,其中,所述存储器的所述多个存储单元中的一个或多个均被配置成采取至少三个不同状态中的一个;
第一子电路BT,被配置成基于二进制值序列来生成多个输出值,其中,所述多个输出值中的每一个等于至少三个不同基本值中的一个,其中,第一子电路BT被配置成将每个输出值作为状态值存储在一个或多个存储单元中的不同的一个中,其均被配置成采取至少三个不同状态中的一个;
第二子电路LH,被配置成从被配置成采取至少三个不同状态中的一个的所述存储单元中的至少一个中的每一个读取状态值,其中,所述状态值是三个不同基本值中的一个,其中,第二子电路LH此外被配置成基于所述存储单元中的至少一个中的每一个的状态值来确定二进制辅助读取值,以及
编码器,被配置成基于所述二进制值序列的至少一部分来生成一个或多个二进制校验位,其中,纠错码包括多个代码字,并且其中,所述编码器被配置成生成所述一个或多个二进制校验位,使得当二进制辅助读取值和所述一个或多个二进制校验位无错误时,二进制辅助读取值和所述一个或多个二进制校验位一起形成纠错码的代码字中的一个,
其中,所述编码器被配置成将所生成的一个或多个校验位中的每一个存储在存储器的存储单元中的一个或多个中,使得所述一个或多个校验位中的每一个被存储在存储器的存储单元中的不同的一个中,其中,其中存储了校验位的每个存储单元被配置成采取至少两个不同状态中的一个。

2.  根据权利要求1所述的电路,
其中,均被配置成采取至少三个不同状态中的一个的存储器的所述多个存储单元中的一个或多个是三进制存储单元,其中,所述三进制存储单元被配置成采取准确地三个不同状态中的一个,
其中,所述第一子电路BT被配置成生成所述多个输出值,使得所述多个输出值中的每一个具有准确地三个不同基本值中的一个,其中,第一子电路BT被配置成将输出值中的每一个作为状态值存储在三进制存储单元中的不同的一个中,以及
其中,所述第二子电路LH被配置成从三进制存储单元中的至少一个读取一个或多个状态值,其中,所述一个或多个状态值中的每一个具有准确地三个不同基本值中的一个,并且其中,第二子电路LH此外被配置成基于一个或多个状态值来确定二进制辅助读取值。

3.  根据权利要求1所述的电路,
其中,所述电路此外包括修正器Cor和组合电路Vkn,
其中,所述第二子电路LH被配置成向修正器Cor和组合电路Vkn中馈送二进制辅助读取值,
其中,所述修正器Cor被配置成从存储器的存储单元中的一个或多个读取一个或多个校验位,并基于二进制辅助读取值和所述一个或多个校验位生成纠错位,并且将纠错位馈送到组合电路Vkn中,以及
其中,组合电路Vkn被配置成基于纠错位对二进制辅助读取值执行纠错以获得二进制辅助无错误读取值,如果该错误可被纠错码修正的话。

4.  根据权利要求3所述的电路,其中,所述组合电路Vkn被配置成执行纠错,使得二进制辅助无错误读取值和所述一个或多个校验位形成纠错码的代码字中的一个。

5.  根据权利要求3所述的电路,其中,所述电路还包括被配置成 将二进制辅助无错误读取值变换成n个二进制纠错数据位的第三子电路BB,其中,n是整数。

6.  根据权利要求2所述的电路,
其中,所述二进制值序列包括n位,其中,n是整数,并且n≥3,
其中,所述编码器包括被配置成接收二进制数据的至少n个编码器输入端口,
其中,所述编码器包括一个或多个编码器输出端口,
其中,所述编码器被配置成在所述至少n个编码器输入端口处接收所述二进制值序列,
其中,所述编码器被配置成在所述一个或多个编码器输出端口处输出所述一个或多个二进制校验位,
其中,被配置成分别载送二进制校验位中的一个或多个的编码器输出端口中的一个或多个在向存储器中写入时分别地被连接到存储器的存储单元中的一个的输入端口,
其中,被连接到编码器的输出端口中的一个的每个存储单元的每个输入端口未被连接到所述编码器的任何其他输出端口,以及
其中,所述编码器被配置成使得在无错误情况下由编码器确定的所述一个或多个校验位和所述二进制辅助读取值形成纠错码的代码字中的一个。

7.  根据权利要求1所述的电路,其中,所述编码器被配置成基于地址位a=a1,…,aQ而生成所述一个或多个二进制校验位。

8.  根据权利要求7所述的电路,其中,所述编码器被配置成生成所述一个或多个二进制校验位,使得由编码器确定的二进制校验位、二进制值A1,…,Aq根据地址位a=a1,…,aQ和二进制辅助读取值在无错误情况下形成纠错码的代码字。

9.  根据权利要求6所述的电路,
其中,编码器被实现成使得编码器此外包括用于输入二进制值A1,…,Aq的q个二进制输入端,其中,适用A1,…,Aq=F(a1,…,aQ),其中,a1,…,aQ是地址位,其中,F是Q位二进制值到q位二进制值的唯一映射,其中,Q是存储器的存储器地址的字宽,其中,适用1≤q≤Q,并且其中,编码器被配置成使得由编码器确定的二进制校验位、根据地址位确定的值A1,…,Aq和二进制辅助读取值在无错误情况下形成纠错码的代码字。

10.  一种电路,包括:
存储器,包括多个存储单元,其中,所述存储器的所述多个存储单元中的一个或多个是均被配置成采取三个不同状态中的一个的三进制存储单元;
第一子电路BT,被配置成基于二进制值序列生成多个输出值,其中,所述多个输出值中的每一个具有三个不同基本值中的一个,其中,第一子电路被配置成将每个输出值作为状态值存储在均被配置成采取三个不同状态中的一个的一个或多个三进制存储单元中的不同的一个中;
第二子电路LH,被配置成从被配置成采取至少三个不同状态中的一个的所述三进制存储单元中的至少一个中的每一个读取状态值,其中,所述状态值是三个不同基本值中的一个,其中,第二子电路LH此外被配置成基于所述三进制存储单元中的至少一个中的每一个的状态值来确定二进制辅助读取值;
编码器,被配置成基于二进制序列的至少一部分来生成一个或多个二进制校验位,其中,所述纠错码包括多个代码字,并且其中,所述编码器被配置成生成一个或多个二进制校验位,使得当所述二进制辅助读 取值和所述一个或多个二进制校验位无错误时,二进制辅助读取值和所述一个或多个二进制校验位一起形成纠错码的代码字中的一个,其中,所述编码器被配置成将所生成的一个或多个校验位中的每一个存储在存储器的存储单元中的一个或多个中,使得所述一个或多个校验位中的每一个被存储在存储器的存储单元中的不同的一个中,其中,其中存储了校验位的存储单元中的每一个被配置成采取至少两个不同状态中的一个;
修正器Cor;
组合电路Vkn;以及
第三子电路BB,
其中,所述第二子电路LH被配置成向修正器Cor和组合电路Vkn中馈送二进制辅助读取值,
其中,所述修正器Cor被配置成从存储器的所述存储单元中的一个或多个读取所述一个或多个校验位,其中,所述修正器Cor被配置成基于二进制辅助读取值和所述一个或多个校验位来生成纠错位,并且其中,所述修正器Cor被配置成将纠错位馈送到组合电路Vkn中,
其中,所述组合电路Vkn被配置成基于纠错位对二进制辅助读取值执行纠错以获得二进制辅助无错误读取值,以及
其中,所述第三子电路BB被配置成将二进制辅助无错误读取值变换成n个二进制纠错数据位。

11.  一种电路,被配置成将二进制值序列x1,…,xn存储在包括存储单元的存储器Sp中,其中,n≥4,其中,所述存储器的存储单元中的每一个被配置成采取三个状态值中的一个或者采取两个状态值中的一个,其中,所述存储器的存储单元中的至少一个被配置成采取三个状态值中的一个,并且其中所述电路包括:
第一子电路BT,具有n个二进制输入端和M个输出端,其中,第一子电路BT被配置成将n个二进制输入值x1,…,xn变换成M个输出值z1,…,zm,zm+1,…,zM=BT(x1,…,xn),其中,2≤m≤M,其中,M<n,其中,输出值z1,…,zm中的每一个根据二进制输入值而具有三个不同值中的一个,并且其中,输出值zm+1,…,zM中的每一个根据二进制输入值而具有至多两个不同值中的一个,其中,第一子电路BT具有与存储器Sp的M个数据输入端相连的M个输出端,其中,当向存储器Sp中写入时,第一子电路BT的输出值z1,…,zm被存储到存储器的存储单元中,其被配置成采取三个状态中的一个,并且其中,输出值zm+1,…,zM被存储在被配置成采取至少两个值中的一个的存储单元中;
第二子电路LH,被配置成确定二进制辅助读取值
y1',...,yk'=LH(z1',...,zm',zm+1',...,zM'),]]>其中,所述第二子电路LH具有M个输入端和k个输出端,其中,当从存储器读取时第二子电路LH的输入端中的m个第一输入端被连接到存储器Sp的存储单元的数据输出端,当写入时向其中写入三进制值z1,…,zm,并且当读取时从其中读出可能错误的三进制值并且第二子电路LH的另外M-m个输入端被连接到存储单元的数据输出端,当写入时向其中写入值zm,…,zM,并且当读取时从其中读出可能错误的值并且其中,第二子电路LH在其k个输出端处输出k个二进制辅助读取值其中k≥m+M;
编码器Cod,具有n个二进制输入端和被配置成根据n个二进制输入值x1,…,xn来确定l个二进制校验位的l个二进制输出端,其中c1,…,cl=Cod(x1,…,xn),其中,在编码器Cod的n个二进制输入端处,适用二进制输入值x1,…,xn,并且在编码器的l个二进制输出端处,输出由二进制输入值x1,…,xn确定的二进制校验位c1,…,cl,并且其中,编 码器被配置成根据二进制输入值x1,…,xn来确定校验位c1,…,cl,使得位y1,…,yk,c1,…cl形成具有k个数据位和l个校验位的长度k+l的纠错码C的代码字,使得二进制校验位中的每一个被存储在存储单元中的不同的一个中。

12.  根据权利要求11所述的电路,其中,通过由第一子电路BT和第二子电路LH进行的二进制输入值x1,…,xn的变换来确定位y1,…,yk=LH[BT(x1,…,xn)],其中,对于j=1,…,l而言,载送校验位cj的编码器Cod的输出端在向存储器中写入时被连接到第j存储单元的数据输入端,其中,此第j存储单元的数据输入端未被连接到编码器的其他输出端。

13.  根据权利要求12所述的电路,其中,所述电路还包括具有l个第一二进制输入端和k个二进制输入端的用于纠错码C的修正器,其中,对于j=1,…,l而言,修正器的l个第一输入端中的第j输入端被连接到存储单元的数据输出端,其在写入时被连接到编码器的第j输出端,使得当在其第j输入端处发生错误时,施加可能错误的第j校验位的值并且当未发生错误时施加第j校验位的已修正值cj,并且其中,在修正器的k位宽第二输入端处,施加由第二子电路LH输出的可能错误的辅助读取值并且其中,修正器被配置成当发生可以被纠错码C修正的错误且op1,…,opk是唯一可逆二进制运算时,在其k位宽输出端处输出修正矢量e=e1,…,ek。

14.  根据权利要求13所述的电路,其中,所述电路还包括具有k位宽第一输入端和k位宽第二输入端和k位宽输出端的组合电路Vkn,其中,所述组合电路的第一k位宽输入端被连接到第二子电路LH的k位宽输出端,其载送可能错误的辅助读取值并且其中,组合电路的第二k位宽输入端被连接到载送修正矢量e=e1,…,ek的修正器Cor 的k位宽输出端,并且其中,所述组合电路被配置成在其k个输出端处输出已修正辅助读取值y1cor,...,ykcor=y1'op1e1,...,yk'opkek,]]>其中,op1,…,opk是唯一可逆运算,并且其中,当不存在错误或存在可被代码C修正的错误时,适用

15.  根据权利要求14所述的电路,其中,所述电路还包括被配置成将二进制已修正辅助读取值变换成n个二进制已修正数据位的第三子电路BB,其中,第三子电路BB被配置成使得当适用时,也适用

16.  根据权利要求15所述的电路,其中,第一子电路BT、第二子电路LH和第三子电路BB被配置成使得至少当在由第一子电路BT、由第二子电路LH和由第三子电路BB进行的输入值的后续变换之后未发生错误时,输入值x=x1,…,xn被再现,并且其中适用BB{LH[BT(x1,...,xn)]}=x1,...,xn。

17.  根据权利要求16所述的电路,其中,所述编码器被配置成使得由编码器Cor确定的校验位此外取决于写地址a1,…,aQ的地址位的值,并且其中,所述修正器Cor被配置成使得由修正器确定的修正矢量另外取决于读地址的地址位的相应值。

18.  根据权利要求17所述的电路,
其中,除用于输入二进制输入值x1,…,xn的n个二进制输入端之外,所述编码器还包括用于输入从读地址的地址位导出的q位A1,…,Aq的q个二进制输入端,q≥1,
其中适用A1,…,Aq=F(a1,…,aQ),
其中,F是位A1,…,Aq到读地址的位a1,…,aQ的唯一分配,并且其中,所述编码器被配置成使得c1,…,cl、y1,…,yk、A1,…,Aq是纠错码C 的代码字,
其中,除用于输入可能错误的校验位和k个可能错误的辅助读取值的l个二进制输入端之外,所述修正器还包括用于输入从读地址的Q个地址位导出的q位的q个二进制输入端,以及
其中适用A1',...,Aq'=F(a1',...,aQ').]]>

19.  根据权利要求18所述的电路,其中,除用于输出修正值e1,…,ek以用于修正辅助读取值的k个二进制输出端之外,所述修正器还包括用于输出修正值以用于修正从读地址的地址位导出的位的q个二进制输出端。

20.  根据权利要求18所述的电路,其中,q=1,并且
A1=F(a1,…,aQ)=a1⊕…⊕aQ是读地址的奇偶校验位,以及
A1'=F(a1',...,aQ')=a1'⊕...⊕aQ']]>是写地址的奇偶校验位。

21.  根据权利要求18所述的电路,
其中q=Q,A1,…AQ=a1,…aq且

22.  根据权利要求19所述的电路,其中,载送修正值的修正器的输出端被馈送到检错电路的q个输入端中,其在修正值对应于地址修正时且在其输出端处指示地址错误。

23.  根据权利要求22所述的电路,其中,所述检错电路包括具有q个输入端的NOR电路,其中,q个输入端被连接到修正器的输出端的q个修正值

24.  根据权利要求16所述的电路,其中,所述代码C是线性码。

25.  根据权利要求16所述的电路,其中,所述修正器包括校正子生成器的解码器的串联连接电路。

26.  根据权利要求17所述的电路,其中,所述修正器包括校正子生成器和解码器的串联连接,并且所述校正子生成器被连接到地址错误确定器,其在由校正子生成器确定的错误校正子对应于地址错误时输出信号“地址错误”。

27.  根据权利要求16所述的电路,其中,对于j=1,…,l而言,编码器的第j输出端,其中,校验位cj被连接到第四子电路btj的输入端以用于二进制值cj到三进制值的变换,其中,所述输出端在写入时被连接到存储单元的数据输入端以便存储三进制值并且其中,当写入时,用于存储三进制值的三进制存储单元的数据输出端被连接到第五子电路tbj的输入端以用于三进制值到二进制值的变换,其中,输出端被连接到修正器的相应输入端,其中,适用tbj[btj(cj)]=cj。

28.  根据权利要求27所述的电路,其中,所述二进制值0被第四子电路btj变换成最小三进制值,并且其中,值1被第四子电路btj变换成最大三进制值。

29.  根据权利要求27所述的电路,其中,所述二进制值0被第四子电路btj变换成最大三进制值,并且其中,值1被第四子电路btj变换成最小三进制值。

30.  根据权利要求16所述的电路,其中,对于至少一个j∈{1,…l}而言,编码器的第j输出端在写入时被直接连接到存储单元的数据输入端以便存储二进制值cj,并且其中,当读取时,被用于存储二进制值cj的存储单元的数据输出端被直接地连接到修正器的相应输入端。

31.  根据权利要求16所述的电路,其中,代码C是具有生成矩阵G=(I,P)的线性码,并且所述编码器被实现成使得根据以下关系来确定c=c1,…,cl
c=c1,…,cl=LH[BT(x1,…,xn)]·P=(y1,...,yk)·P
其中,G是(k,k+l)矩阵,I是k维单位矩阵,并且P是(k,l)奇偶校验矩阵,当在纠错或检错中未包括地址位时,其中,k指示二进制辅助读取值的数目,其中l指示校验位的数目。

32.  根据权利要求16所述的电路,其中,代码C是具有生成矩阵G=(I,P)的线性码,并且所述编码器被实现成使得根据以下关系来确定c=c1,…,cl
c=c1,…,cl={LH[BT(x1,…,xn)],A1,…,Aq}·P=(y1,…,yk,A1,…,Aq).P
其中,当地址位通过从地址位a1,…,aQ导出的位A1,…,Aq被用于检错时,G是(k+q,k+q+l)矩阵,I是(k+q)单位矩阵,并且P是(k+q,l)奇偶校验矩阵,其中,k指示二进制辅助读取值的数目,其中,l指示校验位的数目,并且其中,q指示从地址位a1,…,aQ导出的位A1,…,Aq的数目。

33.  根据权利要求16所述的子电路,其中,用于输入值x1,…,xn到输出值z1,…,zm,zm+1,…,zM的变换的第一子电路BT11是用于输入值x1,…,xn到k个二进制辅助写入值的变换的第六子电路BBS和用于二进制辅助写入值到电路BT的输出值z1,…,zm,zm+1,…,zM的变换的第七子电路BTS的串联连接。

34.  根据权利要求33所述的电路,其中,第六子电路BBS被实现成使得由第六子电路BBS确定的辅助写入值等于由子电路BB和LH确定的无错误辅助读取值y1,…,yk,并且所述编码器被实现成使得其使用由子电路BBS输出的辅助写入值来确定校验位c1,…,cl。

35.  根据权利要求31所述的电路,其中,所述编码器被实现成使得根据以下关系来确定校验位c=c1,…,cl
c=c1,...,ck=BBS(x1,...,xn)·P=(y1s,...,yks)·P,]]>
其中,P是纠错码的(kl)奇偶校验矩阵。

36.  根据权利要求32所述的电路,其中,所述编码器被配置成使得根据以下关系来确定校验位c=c1,…,cl
c=c1,...,ck={BBS(x1,...,xn),A1,...,Aq}·P=(y1s,...,yks,A1,...,Aq)·P]]>
其中,当地址位被用于通过从地址位a1,…,aQ导出的位A1,…,Aq进行的检错时,P是(k+q,l)奇偶校验矩阵。

37.  根据权利要求16所述的电路,其中,用于根据从存储器读出的状态值来确定二进制辅助读取值的第二子电路LH被配置成使得逐个分量地向每个三进制状态分量分配至少两个二进制读取值,并向每个二进制状态分量zm+1,…,zM分配至少一个二进制辅助读取值,并且使得适用k≥m+M。

38.  一种用于存储二进制数据x1,…,xn和用于用二进制代码C进行纠错的电路,其中,所述电路包括:
三进制存储器电路,包括具有三进制存储单元的三进制存储器Sp,其中,所述三进制存储器电路被配置成使得二进制数据x1,…,xn可作为已编码三进制状态z1,…,zM在写地址a1,…,aQ处写入三进制存储器的存储单元的一个或多个第一存储单元中,其中,所述三进制存储器的存储单元的第一存储单元被配置成采取三个不同状态中的一个;
编码器,被配置成在三进制存储器的存储单元的第二存储单元中写入二进制校验位c1,…,cl,其中,编码器12h被配置成当二进制校验位c1,…,cl是数据位x1,…,xn的校验位时,并且当数据位x1,…,xn是在写地址a1,…,aQ处写入的时,在与数据位x1,…,xn相关联的写地址a1,…,aQ处写入二进制校验位c1,…,cl,
其中,所述三进制存储器电路被配置成当在三进制存储器的存储单元的读地址处读取时,输出状态值并将状态值变换成可能错误的二进制辅助读取值该存储单元被配置成采取三个不同的 值,以及
其中,所述三进制存储器电路被配置成当在三进制存储器的存储单元的读地址处读取时输出可能错误的校验位以及
其中,所述三进制存储器电路被配置成当写地址等于读地址时和当不存在错误时输出无错误辅助读取值y1,…,yk和无错误校验位c1,…,cl,
其中,所述编码器Cod包括用于输入数据位x1,…,xn第一n位宽第一输入端和用于输入位A1,…,Aq的另一q位宽输入端和用于输出校验位c1,…,cl的l位宽输出端,其中,位A1,…,Aq取决于写地址a1,…,aQ的位,其中,数据位x1,…,xn以及相应的校验位被写入到写地址a1,…,aQ,并且其中,所述编码器被配置成使得根据数据位x1,…,xn和位A1,…,Aq来确定校验位c1,…,cl,使得
y1,...,yk,A1,...,Aq,c1,...,cl
是纠错码C的代码字,并且其中,位A1,…,Aq是根据写地址a1,…,aQ的位唯一地确定的,使得当写地址a1,…,aQ被馈送到所述电路的输入端中时,位A1,…,Aq是具有Q个二进制输入端和q个二进制输出端的组合电路FS的输出值,其中适用q≤Q。

39.  根据权利要求38所述的电路,
其中q=Q,并且其中a1,…aQ=A1,…AQ。

40.  根据权利要求38所述的电路,
其中A1=a1⊕…⊕aQ。

41.  根据权利要求38所述的电路,其中,所述代码C是线性码。

42.  根据权利要求39所述的电路,其中,所述代码C是线性码。

43.  根据权利要求40所述的电路,其中,所述代码C是线性码。

44.  根据权利要求38所述的电路,其中,所述代码C是具有生成矩阵G=(I,P)的线性码,并且其中,I是(k+q)单位矩阵,并且其中,P 是[(k+q),l]奇偶校验矩阵,并且其中,所述校验位c1,…,cl是由下式定义的
c1,...,cl=(y1,...,yk,Aa,...,AQ)·P。

45.  一种方法,包括:
基于二进制值序列来生成多个输出值,其中,所述多个输出值中的每一个具有至少三个不同基本值中的一个;
将每个输出值作为状态值存储在存储器的多个存储单元中的一个或多个存储单元中的不同的一个中,其中,其中存储了输出值的所述一个或多个存储单元均被配置成采取至少三个不同状态中的一个;
从被配置成采取所述至少三个不同状态中的一个的存储单元中的至少一个读取状态值中的一个或多个,其中,所述一个或多个状态值中的每一个具有所述至少三个不同基本值中的一个,其中,所述二进制辅助读取值是基于所述一个或多个状态值而确定的;
生成一个或多个二进制校验位,使得当所述二进制辅助读取值和所述一个或多个二进制校验位c1,…,cl是无错误的时,所述二进制辅助读取值和所述一个或多个二进制校验位一起形成纠错码的代码字中的一个;以及
将所生成的一个或多个校验位中的每一个存储在存储器的存储单元中的一个或多个中,使得所述一个或多个校验位中的每一个被存储在存储器的存储单元中的不同的一个中,其中,其中存储了校验位的每个存储单元被配置成采取至少两个不同状态中的一个。

说明书

说明书用于多位修正的电路和方法
技术领域
本发明涉及纠错和检错,并且特别地涉及用于带有具有超过两个状态的存储单元的存储器的错误修正的设备和方法。
背景技术
纠错和检错技术起重要作用。不仅在通过有线和无线网络的计算机网络和数据传输领域中,而且在存储器内容保护领域中,纠错和检错技术被广泛地采用。
虽然常规存储器包括二进制存储单元,但近年来,能够采用三个不同值的三进制存储单元已变得日益重要。
如果将提供用于带有具有超过两个状态的存储单元的存储器中的错误修正的改进概念,将是非常有益的。
发明内容
根据实施例,提供了一种电路。该电路包括包含多个存储单元的存储器,其中,存储器的所述多个存储单元中的一个或多个均适合于采取至少三个不同状态中的一个。该电路还包括被配置成基于二进制值序列来生成多个输出值的第一子电路BT,其中,所述多个输出值的非空子集具有输出值的非空子集的至少三个不同值中的一个,并且其中,第一子电路BT被配置成将每个输出值作为状态值存储在均适合于采取至少三个不同状态中的一个的一个或多个存储单元中的不同的一个中。该电路还包括第二子电路LH,其被配置成从适合于采取所述至少三个不同 状态中的一个的存储单元中的至少一个读取状态值中的一个或多个,其中,所述一个或多个状态值中的每一个具有所述至少三个不同基本值中的一个,并且其中,第二子电路LH此外被配置成基于所述一个或多个状态值来确定二进制辅助读取值。最后,该电路包括编码器,其被配置成基于二进制值序列的至少一些值来生成一个或多个二进制校验位,其中,纠错码包括多个代码字,并且其中,编码器被配置成生成所述一个或多个二进制校验位,使得当二进制辅助读取值和所述一个或多个二进制校验位c1,…,cl无错误时,二进制辅助读取值和所述一个或多个二进制校验位一起形成纠错码的代码字中的一个。编码器被配置成将生成的一个或多个校验位中的每一个存储在存储器的存储单元中的一个或多个中,使得所述一个或多个校验位中的每一个被存储在存储器的存储单元中的不同的一个中,其中,其中存储了校验位的每个存储单元适合于采取至少两个不同状态中的一个。
此外,提供了根据另一实施例的电路。该电路包括包含多个存储单元的存储器,其中,存储器的所述多个存储单元中的一个或多个是均适合于采取三个不同状态中的一个的三进制存储单元。该电路还包括第一子电路BT,其被配置成基于二进制值序列来生成多个输出值,其中,所述多个输出值的非空子集具有三个不同基本值中的一个,其中,第一子电路被配置成将输出值的非空子集的每个输出值作为状态值存储在均适合于采取三个不同状态中的一个的一个或多个三进制存储单元中的不同的一个中,并将其余输出值存储在被配置成存储至少两个不同值的存储单元中。该电路还包括第二子电路LH,其被配置成从存储单元读取状态值中的一个或多个,其中,第二子电路LH此外被配置成基于所述一个或多个状态值来确定二进制辅助读取值。该电路还包括编码器,其被配置成基于二进制值序列的至少一些值来生成一个或多个二进 制校验位,其中,纠错码包括多个代码字,并且其中,编码器被配置成生成所述一个或多个二进制校验位,使得当二进制辅助读取值和所述一个或多个二进制校验位c1,…cl无错误时,二进制辅助读取值和所述一个或多个二进制校验位一起形成纠错码的代码字中的一个。编码器被配置成将生成的一个或多个校验位中的每一个存储在存储器的存储单元中的一个或多个中,使得所述一个或多个校验位中的每一个被存储在存储器的存储单元中的不同的一个中,其中,其中存储了校验位的每个存储单元适合于采取至少两个不同状态中的一个。电路还包括修正器Cor、组合电路Vkn以及第三子电路BB,其中,第二子电路LH被配置成向修正器Cor中和组合电路Vkn中馈送二进制辅助读取值。该修正器Cor被配置成从存储器的存储单元中的一个或多个读取一个或多个校验位,其中,修正器Cor被配置成基于二进制辅助读取值和所述一个或多个校验位来生成纠错位,并且其中,修正器Cor被配置成向组合电路Vkn中馈送纠错位。组合电路Vkn被配置成基于纠错位对二进制辅助读取值执行纠错以获得二进制辅助无错误、例如已修正的读取值,并且第三子电路BB被配置成将二进制辅助无错误读取值变换成二进制已修正数据位。
此外,提供了根据另一实施例的电路。该电路被配置成将二进制值序列x1,…xn存储在包括存储单元的存储器Sp中,其中,n≥3,其中,存储器的每个存储单元适合于采取三个状态值中的一个或采取两个状态值中的一个,并且其中,存储器的存储单元中的至少一个适合于采取三个状态值中的一个。该电路包括具有n个二进制输入端和M个输出端的第一子电路BT,其中,第一子电路BT适合于将n个二进制输入值x1,…xn变换成M个输出值z1,…,zm,zm+1,…,zM=BT(x1,…,xn),其中,2≤m≤M,其中,M<n,并且其中,n≥4,其中,输出值z1,…zm中的 每一个根据二进制输入值而具有三个不同值中的一个。输出值zm+1,…zM中的每一个根据二进制输入值而具有至多两个不同值中的一个,其中,第一子电路BT具有与存储器Sp的M个数据输入端相连的M个输出端,其中,当向存储器Sp中写入时,第一子电路BT的输出值z1,…zm被存储到存储器的存储单元中,其适合于采取三个状态中的一个,并且其中,输出值zm+1,…zM被存储在适合于采取至少两个状态值中的一个的存储单元中。该电路还包括用于确定二进制辅助读取值y1',...,yk'=LH(z1',...,zm',zm+1',...,zM')]]>的第二子电路LH,其中,第二子电路LH具有M个输入端和k个输出端,其中,当从存储器读取时,第二子电路LH的输入端中的前m个输入端被连接到存储器Sp的存储单元的数据输出端,当写入时,三进制值z1,…zm被写入其中,并且当读取时,从其读出可能错误的三进制值进一步地,第二子电路LH的M-m个输入端被连接到存储单元的数据输出端,当写入时,值zm,…zM被写入其中,并且当读取时,从其读出可能的错误值并且其中,第二子电路LH在其k个输出端处输出k个可能错误的二进制辅助读取值其中k≥m+M。该电路还包括编码器Cod,该编码器Cod具有n个二进制输入端和用于从n个二进制输入值x1,…xn中确定l个二进制校验位c1,…cl的l个二进制输出端,其中c1,…,cl=Cod(x1,…,xn),其中,在编码器Cod的n个二进制输入端处,施加二进制输入值x1,…xn,并且在编码器的l个二进制输出端处,输出由二进制输入值x1,…xn确定的二进制校验位c1,…,cl。编码器被配置成使得其根据二进制输入值来x1,…,xn来确定校验位c1,…,cl,使得位y1,…,yk,c1,…cl形成具有k个数据位和l个校验位的长度k+l的纠错码C的代码字,其中,y1,…,yk是k个二进制无错误辅助读取值。
根据另一实施例,提供了一种方法。该方法包括基于二进制值序列来生成多个输出值,其中,所述多个输出值中的每一个具有至少三个不同基本值中的一个。该方法还包括将每个输出值作为状态值存储在存储器的多个存储单元中的一个或多个存储单元中的不同的一个中,其中,输出值被存储在其中的一个或多个存储单元均适合于采取至少三个不同状态中的一个。该方法还包括从适合于采取所述至少三个不同状态中的一个的存储单元中的至少一个读取状态值中的一个或多个,其中,所述一个或多个状态值中的每一个具有所述至少三个不同基本值中的一个,其中,二进制辅助读取值是基于所述一个或多个状态值而确定的。该方法通过下述来继续:生成一个或多个二进制校验位,使得当二进制辅助读取值和所述一个或多个二进制校验位c1,…cl无错误时,二进制辅助读取值和所述一个或多个二进制校验位一起形成纠错码的代码字中的一个,并且将生成的一个或多个校验位中的每一个存储在存储器的存储单元中的一个或多个中,使得所述一个或多个校验位中的每一个被存储在存储器的存储单元中的不同的一个中,其中,校验位被存储在其中的存储单元中的每一个适合于采取至少两个不同状态中的一个。
在使用附图来详细地描述本发明的实施例之前,应指出的是在图中对相同或功能相等的元件给定相同的参考数字,并且省略了用于被提供了相同参考数字的元件的重复描述。因此,为具有相同参考数字的元件提供的描述是相互可互换的。
附图说明
图1a图示出根据实施例的用于纠错的电路。
图1b图示出根据另一实施例的用于纠错的电路。
图1c图示出根据另一实施例的用于纠错的电路。
图1d图示出根据另一实施例的用于纠错的电路。
图1e图示出根据实施例的用于纠错,此外提供附加纠错的电路。
图1f描绘了根据实施例的具有二进制部分存储器的电路。
图1g图示出根据实施例的用于地址错误的附加检错的实施方式。
图1h图示出根据实施例的电路,其中,数据位被存储在三进制存储器电路的存储单元中。
图1i图示出根据实施例的三进制存储器电路。
图1j图示出根据另一实施例的三进制存储器电路。
图1k图示出根据另一实施例的三进制存储器电路。
图2图示出根据实施例的编码器的实施方式。
图3a-3c描绘了根据实施例的用于二进制输入值到三进制状态值的变换的子电路的实施方式。
图4描绘了根据实施例的用于三进制状态值到二进制辅助读取值的变换的子电路的实施方式。
图5a图示出根据实施例的编码器的实施方式。
图5b描绘了根据实施例的用于线性纠错码的编码器的实施方式。
图5c图示出根据实施例的使用地址位的编码器的实施方式。
图5d描绘了根据实施例的用于使用地址位的奇偶校验的线性纠错码的编码器的实施方式。
图5e示出了根据实施例的用于使用所有地址位的线性纠错码的编码器的实施方式。
图6a图示出根据实施例的修正器的实施方式。
图6b示出了根据实施例的使用地址位的修正器的实施方式。
图7a描绘了根据实施例的二进制辅助读取值到二进制输出值的变 化的实施方式。
图7b示出了根据实施例的二进制辅助读取值到二进制输出值的变换的另一实施方式。
图7c是根据实施例的二进制辅助读取值到二进制输出值的变换的另一实施方式。
图8图示出用于解释根据实施例的子电路的功能方框图。
图9a是根据实施例的用于形成二进制辅助写入值和三进制状态值的子电路的实例。
图9b图示出根据实施例的用于二进制输入值到三进制状态值的变换的子电路的实施方式。
图10描绘了根据实施例的用于形成三进制状态值且用于使用辅助写入值来实现编码器的具有8个二进制数据位的本发明电路的实施方式。
图11是根据现有技术的线性码的解码器电路的实例。
图12是根据现有技术的检错电路的实例。
图13是根据现有技术的检错电路和修正器的常见实现的实例。
具体实施方式
图1a图示出根据实施例的电路。
该电路包括包含多个存储单元的存储器Sp 13,其中,存储器的所述多个存储单元中的一个或多个均适合于采取至少三个不同状态中的一个。
因此,存储器的存储单元中的至少一个适合于采取至少三个不同状态中的一个。例如,三进制存储单元适合于采取准确地三个不同状态中的一个。(例如,状态3以表示值0、1或2中的准确地一个)。代替 三进制存储单元,该存储器可以包括至少一个多值存储单元,其中,此类多值存储单元可以适合于采取四个或更多不同状态中的一个(例如,该状态可以表示值0、1、2或3中的准确地一个)。存储器包括至少一个存储单元,其适合于采取至少三个不同状态中的一个(例如,能够采取超过三个不同状态中的一个的三进制存储单元或多值存储单元)。然而,存储器还可以包括适合于采取仅两个不同状态中的一个的存储单元,例如该存储器还可以包括一个或多个二进制存储单元。然而,存储器的存储单元中的至少一个适合于采取三个不同状态中的至少一个。然而,在一些实施例中,存储器的所有存储单元可以采取至少三个不同状态中的一个。
图1a的电路包括被配置成基于二进制值序列x1,…,xn来生成多个输出值z1,…,zM的第一子电路BT,其中,所述多个输出值z1,…,zM中的每一个具有至少三个不同基本值中的一个(例如,基本值0、1、2中的一个值),其中,第一子电路BT 11被配置成将输出值z1,…,zM中的每一个存储在均适合于采取所述至少三个不同状态中的一个的一个或多个存储单元中的不同的一个中。存储在存储器13中的每个输出值可以被视为相应存储单元的状态值。由此,存储在存储器中的所述多个输出值表示多个状态值。
此外,电路包括被配置成从存储单元中的至少一个读取状态值中的一个或多个的第二子电路LH 16,存储单元适合于采取至少三个不同状态中的一个,其中,所述一个或多个状态值中的每一个具有至少三个不同基本值中的一个(例如,值0、1、2中的一个),其中,第二子电路LH 16此外被配置成基于一个或多个状态值来确定二进制辅助读取值
此外,电路包括编码器Cod 12,其被配置成基于二进制值序列的至 少一些值来生成一个或多个二进制校验位c1,…,cl,其中,纠错码包括多个代码字,并且其中,编码器Cod 12被配置成生成一个或多个二进制校验位c1,…,cl,使得当二进制辅助读取值和一个或多个二进制校验位c1,…,cl无错误时,二进制辅助读取值和一个或多个二进制校验位c1,…cl一起形成纠错码的代码字中的一个。
编码器12被配置成将生成的一个或多个校验位中的每一个存储在存储器13的存储单元中的一个或多个中,使得所述一个或多个校验位中的每一个被存储在存储器的存储单元中的不同的一个中,其中,校验位被存储在其中的存储单元中的每一个适合于采取至少两个不同状态中的一个。
基本值可以例如是例如输出值或状态值能够采取的一组值中的所有值,例如所有数。例如,基本值可以是值、例如输出值、状态值或序列的值能够采取的所有数。
如果例如输出值是三进制值,则输出值能够采取三个值中的一个。例如,输出值能够采取值的集合{0,1,2}中的一个值。然后,三个不同的基本值是0、1和2。
如果,例如要确定二进制值序列的值,则例如该序列的值能够采取两个数的集合(例如集合{0,1})中的一个值。然后,该值能够采取两个不同基本值中的一个,并且两个不同基本值是0和1。
在实施例中,均适合于采取至少三个不同状态中的一个的存储器的所述多个存储单元中的一个或多个可以是三进制存储单元。在此类实施例中,第一子电路BT 11可以被配置成生成多个输出值,使得所述多个输出值中的每一个具有准确地三个不同基本值中的一个,其中,第一子电路被配置成将每个输出值存储在三进制存储单元中的不同的一个中。此外,第二子电路LH 16可以被配置成从三进制存储单元中的至少一个 读取一个或多个状态值,其中,所述一个或多个状态值中的每一个具有准确地三个不同基本值中的一个,并且其中,第二子电路LH 16此外被配置成基于一个或多个状态值来确定二进制辅助读取值。
图1b图示出根据另一实施例的电路。与图1a的实施例相比,图1b的实施例的电路此外包括修正器Cor 17和组合电路Vkn 18。
第二子电路LH 16被配置成向修正器Cor 17和组合电路Vkn 18中馈送二进制辅助读取值
修正器Cor 17被配置成从存储器的存储单元Spc1,…,Spcl中的一个或多个读取一个或多个校验位其中,修正器Cor 17被配置成基于二进制辅助读取值和所述一个或多个校验值来生成纠错位e1,…,ek。修正器Cor 17被配置成向组合电路Vkn 18中馈送纠错位e1,…,ek。
组合电路Vkn 18被配置成基于纠错位e1,…,ek对二进制辅助读取值执行纠错以获得二进制辅助无错误读取值ycor。
在实施例中,组合电路Vkn 18被配置成执行纠错,使得二进制辅助无错误读取值ycor和一个或多个校验位形成纠错码的代码字中的一个。
图1c图示出根据另一实施例的电路。与图1b的实施例相比,图1c的实施例的电路还包括第三子电路BB 19。第三子电路BB 19被配置成将二进制辅助无错误读取值ycor变换成n个二进制纠错数据位xcor。
图1d图示出根据另一实施例的电路Cir1。电路Cir1可以包括以下子电路:
1.可以存在用于n个二进制输入值或数据位序列x=x1,…,xn到M个输出值序列z=z1,…,zm,zm+1,…,zM的变换的子电路BT 11,
z1,…zm,zm+1…zM=BT(x1,…xn),
其中,适用2≤m≤M且M<n,n≥3。在这里,输出值z1,…,zM中的每一个可以根据二进制值x1,…,xn而采取三个不同值。根据二进制值x1,…,xn,输出值zm+1,…,zM中的每一个可以采取至多两个不同值。子电路BT 11被实现成使得n个二进制输入值的不同序列被变换成M个二进制输出值的不同序列。
2.可以存在具有n个二进制输入端和l个二进制输出端以便确定l个二进制校验位c1,…,cl的编码器Cod 12,其中
c1,...,cl=Cod(x1,...,xn),
其中,在n个二进制输入端处,施加二进制输入值x1,…,xn,并且在二进制输出端处,输出相应的校验位c1,…,cl。
3.可以存在用于存储值z1,…,zM,zm,+1,…,zM和c1,…,cl的存储器Sp 13,其中,用于存储值z1,…,zM的每个存储单元可以采取三个不同的值作为状态,并且其中,用于存储值zm+1,…,zM、c1,…,cl的每个存储单元可以采取至少两个不同的值作为状态。用于存储校验位c1,…,cl的存储单元用Spc1,…,Spcl来指示。在图1d中,图示出存储单元Spc1,…,Spcl可以采取三个不同状态的情况。
对于j=1,…,l而言,当通过具有二进制输入端和三进制输出端以用于二进制值cj到三进制值的变换的子电路btj 14j向存储单元Spcj的数据输入端写入时,载送校验位cj的编码器12的第j输出端被连接。在这里,子电路btj 14j可以将例如被表示为0bin的最小二进制值变换成表示为0ter的最小三进制值,并且可以将表示为1bin的最大二进制值变换成表示为2ter的最大三进制值。子电路btj 14j可以例如还将表示为0bin的最小二进制值变换成表示为2ter的最大三进制值并将表示为1bin的最大二进制值变换成表示为0ter的最小三进制值。
根据实施例,校验位的二进制值cj(j=1,…,l)均被作为已变换值存储在存储器Sp 13的单独存储单元Spcj中,而单独数据位x1,…,xn一般不被存储在三进制存储器的单独存储单元中。
由此,n个数据位序列x1,…,xn被子电路BT变换成M个值z1,…,zm,zm,+1,…,zM,其中M<n,其中,z1,…,zm是均被存储在三进制存储单元中的三进制值。在这里,例如,数据位的三个二进制值xi1、xi2、xi3被子电路BT 11变换成两个二进制值zi1、zi2,使得然后可以将三个数据位的信息存储在两个三进制存储单元中,如稍后将更详细地描述的。
4.可以存在用于从存储器Sp 13读出的可能错误状态值到k个二进制辅助读取值的变换的子电路LH 16
y1',...,yk'=LH(z1',...,zM'),]]>
其中,子电路LH 16被配置成使得从存储器读出的M个状态值的不同序列被分配给k个二进制辅助读取值的不同序列,其中,至少两个二进制辅助读取值被分配给每个三进制状态分量并且,至少一个二进制辅助读取值被分配给每个二进制状态分量并且其中,适用k>M。
如已指示的,至少两个二进制辅助读取值被分配给一个三进制值zi',1im.]]>
如果例如一对辅助读取值yi1、yi2被分配给3值状态分量zi,则这对二进制辅助读取值仅采取四个基本上可能二进制值中的三个。
编码器12被实现成使得其确定校验位c1,…,cl,使得当未发生错误时,是纠错码C的代码字。如所述,该对辅助读取值每个仅采取四个基本上可能二进制值中的三个不同值,使得这些对中的每一个可以被分配给三进制存储单元的存储器状态。
与此相反,根据数据位的值,成对校验位,例如[c1,c2]、[c3,c4]、…、采取可能的四个不同值组合中的任何一个,如当考虑类似于线性码的具 体代码时能够看到的,并且如稍后将针对实施例所解释的。校验位在这里被确定成使得其根据所使用的代码C而是辅助读取值的相应位的XOR组合。
根据实施例,如上文所指示的,由编码器生成的辅助读取值的校验位均被存储在单独存储单元中,而例如数据位的三元组可以被存储在两个三进制存储单元中,使得存储校验位的存储单元中的错误可以仅影响一个单独的校验位。由于校验位的数目与辅助读取值的数目或数据位相比常常是低的,所以用于将每个校验位存储在单独存储单元中的所需努力也是低的。
5.可以存在具有l个第一二进制输入端和k个第二二进制输入端和k个二进制输出端的修正器Cor 17,其被配置成使得根据在其第一输入端处施加的二进制、可能错误校验位且根据被施加于其k个二进制输入端的其二进制可能错误的辅助读取值修正器Cor 17在其k个二进制输出端处输出k分量修正矢量e=e1,…,ek以便修正辅助读取值的位然后,修正位e1,…,ek在这里被描述为修正错误e=e1,…,ek。
对于j=1,…,l而言,当从存储器Sp 13读取时,存储单元Spcj的数据输出端被连接到子电路tbj 15j的输入端,其输出端被连接到修正器Cor 17的l个第一输入端的第j输入端。子电路tbj 15j将由存储单元Spcj输出的三进制、可能错误值变换成二进制值
6.可以存在具有2·k个二进制输入端和k个二进制输出端的组合电路Vkn 18,当在其前k个输入端处输入且在其第二k个输入端处输入e1,…,ek时,其在其k位输出端输出已修正辅助读取值
ycor=y1cor,...,ykcor=y1'op1e1,...,yk'opkek=y'ope]]>
其中op1,…,opk均是唯一可逆二进制运算。
在这里,修正器Cor 17和组合电路Vkn 18被实现成使得当存在可以被代码C修正的错误时,适用
y=y1,...,yk=y1'op1e1,...,yk'opkek=y'ope.]]>
位y1,…,yk在这里被由子电路BT 11和LH 16进行的数据位x1,…,xn的后续变换确定为
y1,…,yk=LH[BT(x1,…,xn)]。
7.可以存在用于k位已修正二进制辅助读取值到已修正二进制输出值的变换的子电路BB 19
x1cor,...,xncor=BB(y1cor,...,ykcor),]]>
其中,当存在可以由代码C修正的错误时,适用x1cor,...,xncor=x1,...,xn.]]>
子电路BT 11、LH 16和BB 19被配置成使得适用
BB{LH[BT(x1,…,xn)]}=x1,…,xn,
使得由子电路BT 11、LH 16和BB 19进行的数据位x1,…,xn的后续变换再现数据位。
如果未发生错误,则在修正器Cor 17的k个输出端处输出具有的零修正矢量
以下实例提供具有轻微修改的实施例:
编码器Cod 12可以被修改,使得其确定校验位c1,…,cl,使得具有的和形成具有k个数据位和l个校验位的纠错码C的代码字。在这里,且并且相应地且使得辅助读取值的分量和校验位可以被倒相或非倒相地提供。
修正器Cor 17可以被修改,使得其以的形式提供修正矢量,例如通过倒相器被连接到其单独输出端。
如果修正矢量的所有位都是非倒相地提供的且如果所有辅助读取值也被非倒相地提供,则可以将运算opi选择成XOR运算⊕。如果修正矢量的所有位都是倒相地提供的且如果所有辅助读取值被非倒相地提供,则可以将运算opi选择成XNOR运算。
在实施例中,可以进一步可能地交换不同位的顺序。
为了使得本描述尽可能容易理解,下面,将校验位、修正矢量的位和辅助读取值的位认为是非倒相的。在其他实施例中,可以使修正矢量的位和/或辅助读取值的位倒相。
如果纠错码C是可以以(k,k+l)生成矩阵或G矩阵G=(Ik,Pk,1)为特征的线性码,则适用下式
c=c1,…,cl=Cod(x1,…,xn)=(y1,…,yk)·P=LH[BT(x1,…,xn)]·P,
其中,Ik是k维二进制单位矩阵,并且Pk,l是称为代码C的奇偶校验矩阵的二进制(k,l)矩阵。在这种情况下,校验位c1,…,cl还通过已经根据数据位x1,…,xn而确定的无错误辅助读取值y1,…,yk与奇偶校验矩阵P的相乘而得到。如图2中所示,编码器Cod 12则包括线性电路Lin 21,在子电路LH 22和子电路BT 23下游。子电路LH 22与图1d的子电路LH 16相同且子电路BT 23与图1d的子电路BB 11相同。子电路Lin 21实现了无错误辅助读取值y1,…,yk=LH[BT(x1,…xn)]与奇偶校验矩阵P的相乘。
本领域的技术人员可以使LH和BT的电路在一起的串联连接优化。
修正器Cor17被配置成使得在错误的情况下,其可以被辅助读取值中的代码C修正,并且校验位由用于所考虑的纠错码C的辅助读取值的修正位e1,…,ek确定,其中,是由从存储器13读出可能错误状态值的电路LH 16确定的 可能错误辅助读取值。位是在从存储器13读出之后可能错误的校验位。
现在,将描述图1d的电路的运行。要存储的二进制数据序列x1,…,xn被施加于子电路BT 11的n位输入端以及编码器Cod 12的n位输入端两者。在其M个输出端处,子电路BT 11输出值z1,…,zM以被存储在存储器Sp 13中。在这里,值z1,…,zM均是模拟值,根据其到三个不同非重叠区间中的一个的分配,其被解释为三个不同值,例如为三进制值。
为了强调这些是三进制或二进制值,三进制值被表示为ter1、ter2、ter3或0ter、1ter、2ter,而二进制值被表示为0bin和1bin。如果三进制值或状态被写入不同的存储单元A和B中或被从其读取,则其还被表示为Ao、A1、A2或Bo、B1、B2以能够更好地将其区别开。
在这里,三进制值0ter,1eer、2ter被表示为使得对应于0ter和1ter的模拟值属于相邻的区间,正如对应于1ter和2ter的模拟值也属于相邻或邻近区间。在这方面,三进制值0ter和1ter如三进制值1ter和2ter一样是相邻值。三进制值0ter和2ter不是相邻的。
三进制值z1,…,zm被存储到具有三进制状态的存储器Sp 13的存储单元中。
子电路BT 11的输出值z1+1,…,zM是均仅采取至多两个不同值的此类输出值。在这里可能的是用于j∈{m+1,…,M}的zj采取三个基本上可能的三个三进制值中的两个,例如,三进制值0ter和2ter或者还有两个二进制值0和1。
如果zj采取二进制值0、1,则可以将zj存储在存储器Sp 13的二进制存储单元中。zj还可以被存储在存储器Sp 13的三进制存储单元中。然后,只有两个不同的三进制值被写入相应的三进制存储单元中。基于可能的错误,原则上,由所考虑的存储单元还可以采取第三存储器状态。
用于存储值z1,…,zm的存储单元因此是其状态可以采取三进制值的存储单元,并且用于存储值zm+1,…,zM的存储单元是其状态可以采取至少两个不同值的存储单元。
在其l位宽输出端处,编码器Cod 12输出l个二进制校验位c1,…,cl,其还被存储在可以采取至少两个不同状态的存储单元中的存储器Sp 13中。
根据实施方式,可以使用二进制存储单元或三进制存储单元,其状态在写入时均仅采取两个不同的值。
在图1d中,图示出由编码器12输出的校验位c1,…,cl被存储在三进制存储单元中的情况。
对于j=1,…,l而言,载送二进制值cj的编码器Cod 12的第j输出被馈送到子电路btj 14j的输入端中,其在其输出端处输出相应的三进制值该三进制值在写入时被存储在存储单元Spcj中。如果不存在错误,则可能的三个三进制值中的仅两个可以作为存储单元Spcj的状态发生。由于错误,第三可能的第三三进制值也可以被存储为状态。
当从存储器Sp 13读取时,可能错误的值和可能错误的校验位被读出,其可能由于可能例如在存储期间发生的错误而不同于相应的正确值。
对于j=1,…,l而言,在读取时载送信号的存储单元Spcj的输出端被连接到子电路tbj 15j的输入端,其将三进制信号变换成二进制信号
如果未发生错误,则由编码器在子电路tbj 15j的输出端处提供校验位cj,该输出端被连接到修正器Cor 17的第一l输入端中的第j输入端。
从存储器Sp 13读出的值被子电路LH 16变换 成k个二进制辅助读取值
二进制辅助读取值被馈送到修正器Cor 17的第二k个二进制输入端中。
修正器Cor 17在其k个二进制输出端处输出用于辅助读取值的修正值e=el,…,ek,其在组合电路Vkn 18中被修正成已修正辅助读取值
ycor=y1cor,...,ykcor=y1'op1e1,...,yk'opkek]]>
并且,其被输入到子电路BB 19中。
子电路BB 19将已修正辅助读取值变换成已修正输出值。
xcor=x1cor,...,xncor=BB(y1cor,...,ykcor).]]>
如果不存在错误,适用下式
z1',...,zM'=z1,...,zM,]]>
c1'...,cl'=c1,...,cl,]]>
y1',...,yk'=y1,...,yk=LH(z1,...,zM)=LH[BT(x1,...,xn)],]]>

y1cor,...,ykcor=y1,...,yk]]>以及
xcor=x1cor,...,xncor=x1,...,xn=x,]]>
并且已存储序列x的输出是无错误的。
如果在从存储器Sp 13读出的数据中发生错误,则存储序列xcor。的输出是无错误的,如果校验位中的错误和由二进制辅助读取值中的输出值中的错误引起的错误可被代码C修正且如果错误被修正的话。
修正由修正器Cor 17来完成,其形成k位修正值e=e1,…,ek,该修正值取决于从存储器Sp 13读出的校验位和辅助读取值其中,修正器Cor 17形成被与组合电路Vkn 18中的逐 分量组合的修正值e1,…,ek,其中,辅助读取值被子电路BB 19变换成n位二进制输出序列
当发生存储器错误时,存储单元的三进制状态可以改变。三进制存储器Sp 13的可能存储器错误的修正如上所述地由使用二进制校验位的二进制辅助读取值的修正来执行。二进制辅助读取值被从具有可能错误的三进制状态值的三进制存储器读出。根据实施例,用于辅助读取值的关联二进制校验位被编码器Cod 12直接由二进制输入序列x1,…,xn形成为二进制校验位c1,…,cl。
根据实施例,其均被作为三进制值存储在单独存储单元中,并且被作为可能错误的三进制值从存储单元Spc1,…,Spcl读出,并被子电路tb1,…,tbl变换成可能错误的校验位
再次地,在这里应注意的是分配给三进制存储器状态的一对二进制辅助读取值仅采取三个不同的二进制值,并且因此可以被作为信息从一个三进制存储单元读出。然而,一对二进制校验位一般地采取四个不同的值,使得根据实施例的二进制校验位均被存储在单独存储单元(三进制或二进制)中。
因此,修正三值存储器中的错误以明智地使用二进制纠错码是可能的,类似于例如二进制汉明码、二进制Hsiao代码、二进制BCH代码以便对三进制存储器中的错误进行纠错。
本领域的技术人员应理解的是类似于例如使电路Cir1中的位倒相的等价变换并不会改变实施例的本质。例如,因此可能的是修正器Corr 17输出部分倒相的分量,而不是输出用于可能错误的辅助读取值的修正矢量e的分量e1,…,ek,例如而不是然后被与组合成的分量e1、分量如果例如组合op1最初被实现为XOR运算或组合,在当分量e1被分量替换时,其将被XNOR运算替换。
同样地,例如可能的是编码器Cod 12输出部分倒相的校验位,其倒相被修正器Corr 17的实现所平衡。
除此之外,例如共同地例如使用硬件描述语言来使不同的电路零件优化是可能的,如在电路设计中惯常的那样。
图1e描绘了根据实施例的包括根据图1d的电路的电路,其被用检错电路Det 120补充。在图1e的实施例中,图1d的组合电路Vkn 18被实现为XOR电路18a。
对应于图1d中的子电路的图1e的子电路被用相同的参考数字来标记,并且上文已经描述。纠错电路Det 120包括k+l个二进制输入端和载送错误信号E的r位宽二进制输出端,其中,r≥1。检错电路的k个第一输入端被连接到子电路LH 16的k个输出端,其载送辅助读取值其他l个二进制输入端被连接到子电路tb1、151…tbl、15l的输出端,其在读取时载送读出校验位
检错电路Det 120的r位宽输出载送错误信号E,其中,错误信号E的值指示是否是代码C的代码字(无可检测错误)或者是否不是代码C的代码字(可检测错误)。
如果例如r=1,则可以将检错电路Det配置成使得E=0指示在辅助读取值和校验位中不存在可检测错误,并且E=1指示在这些位中存在可检测错误。
如果例如r=2,值E=(1,0)或E=(0,1)可以指示未发生可检测错误,并且值E=(0,0)或E=(1,1)可以指示发生可检测错误。
还有可能的是将检错电路Det设计成使得输出错误信号E对于不同类型的错误而言是不同的,例如1位错误、2位错误,…,,如针对不同的代码对于本领域的技术人员而言显而易见的,并且稍后将如针对具体代码所描述的。
检错电路Det 120和修正器Korr 16包括相同的输入值,并且其可以被共同地优化,如在电路设计中惯常的那样,并且可以在设计例如被使用硬件描述语言来执行时由设计编译程序自动地执行。
现在,描述由子电路LH 16进行的以下辅助读取值的形成
y'=y1',...,yk'=LH(z1',...,zm',zm+1',...,zm').]]>
例如,可以由子电路LH 16向每个三进制分量分配二进制值的ti元组其中,形成以下辅助读取值
y'=y1',...,yk'=L1(z1'),...,LM(zM').]]>
在这里,对于1≤i≤m而言2≤ti且对于m+1≤i≤M而言1≤ti。如果例如ti=2,则可以容易地通过逐个分量的模数转换来实现到二进制值的元组的此类分配。因此,例如,表示模拟物理值且属于某个非重叠区间的分量的三进制值可以简单地被数字化成两个二进制值。
对于q=3个可能值而言,这可以例如简单地使用q-1=2个比较器用参考值R1、R2来执行,其中R2<R1。如果则如果则如果则如果则以这种简单的方式,可以向值分配二进制值的元组,其被表示为辅助读取值,使得适用下式



在这种情况下,模拟值的二进制编码得到这样的特性,即关于模拟值仅略微不同且属于相邻区间的两个模拟值,被分配仅在一个位方面不同的数字元组。此类模拟值到数字值的分配按照惯例被使模拟值数字化 的本领域技术人员使用,使得用模拟值的微小变化,关联数字值仅改变一位,这例如在Steinbuch,K.,Rupprecht,W.Nachrichtentechnik,Springer Verlag,Berlin/Heidelberg/New York 1967,page 339中提出。
另一分配可能性可以例如是还通过模数转换向三进制值所述分配二进制辅助读取值的三元组,其中,不同的三元组形成3个为1组(1 of 3)的码。
这还可以例如使用与两个参考值R1、R2的两次比较来完成,其中R2<R1。
如果则可以将确定为是1,0,0。如果则可以将确定为是0,1,0,并且如果则可以将确定为是0,0,1。以这种简单方式,然后向三进制值分配二进制值的三元组,使得二进制值的三元组中的每一个包括精确地一个1,并且适用下式



在图1f中图示出的是存储器Sp 13包括可以采取三个不同值的存储单元的三进制存储器Spter 131和可以采取两个不同值的存储单元的二进制存储器Spbin 132。载送二进制校验位c=c1,…,cl的编码器Cod 12的输出端在写入时被直接连接到二进制存储器Spbin的相应存储单元的数据输入端,而在读取时,载送可能错误的校验位的存储单元的数据输出端部被直接连接到修正器Corr 17的相应输入端。
图1f图示出子电路BT 11的输出值z1,…,zm,zm+1,…,zM被存储在三进制存储器Speitern 131的存储单元中,而编码器Cod 12的二进制输出值c1,…,cl被存储在二进制存储器Speibin 132的单元中。在一个实施例中应实现存储,使得子电路BT 11的输出值z1,…,zm,zm+1…zM和编码器Cod 12的关联二进制输出值c1,…,cl被存储在存储器Spter 131和存储器 Spbin 132中的同一地址处。
由于值zm+1,…,zM均仅采取两个不同的值,所以在另一实施例中,这些值还可以被存储在二进制存储器Spbin中。
现在将更详细地解释图1a的子电路BT 11的可能实施方式。
图3a示出了针对n=9和M=6的子电路BT 11的一个可能实现。在其九个二进制输入端处,施加二进制值x1、x2,…,x9,并且在其六个三进制输出端处,输出六个三进制值z1,…,z6。该实现由用于实现三个函数f1、f2和f3的三个子电路BT1 31、BT2 32和BT3 33建立,其中,这些子电路均包括三个二进制输入端和两个三进制输出端。
子电路31实现函数f1,其中f1(x1,x2,x3)=z1,z2。
子电路32实现函数f2,其中f2(x4,x5,x6)=z3,z4。
子电路33实现函数f3,其中f3(x7,x8,x9)=z5,z6。
由于存在三个变量的值的八个不同二进制三元组和两个三进制变量的值的九个三元组,所以八个可能二进制输入值均被函数f1、f2和f3映射到八个不同的成对三进制输出值。该映射被执行使得二进制输入值的不同三元组对应于三进制输出值的不同三元组。稍后解释具体实施方式。
图3b示出了针对n=11和M=8的子电路BT 11的另一可能实现。在其十一个二进制输入端处,施加二进制值x1,x2,…,x11,并且在其八个三进制输出端处,输出八个三进制值z1,…,z8。该实现由用于实现四个函数f1、f2、f3和f4的四个子电路BT1 34、BT2 35、BT3 36和BT4 37建立,其中,这些子电路均包括三个二进制输入端和两个三进制输出端。
子弹路34实现函数f1,其中f1(x1,x2,x3)=z1,z2。
子电路35实现函数f1,其中f2(x4,x5,x6)=z3,z4。
子电路36实现函数f3,其中f3(x7,x8,x9)=z5,z6。
子电路37实现函数f4,其中f4(x10,x11,0)=z7,z8。
在图3b中,对于实现函数f4(x10,x11)=z7,z8且取决于两个二进制变量x10、x11的子电路BT4 37而言,描绘了载送恒定值0的另一输入端。由此,将举例说明的是子电路37可以例如从子电路36导出以便实现函数f3,通过例如恒定地将例如第三输入变量的值设置成0,使得适用以下公式:
f4(x10,x11)=f3(x10,x11,0)。
图3c示出了针对n=8且M=6的子电路BT 11的另一可能实现。在其八个二进制输入端处,施加二进制值x1,x2,…,x8,并且在其六个三进制输出端处,输出六个三进制值z1,…,z6。该实现由用于实现函数f和φ的四个子电路BT1 38、BT2 39、BT3 310和BT4 311建立,其中,函数f由子电路38和39实现,并且函数φ由子电路310和311实现。用于实现函数f的子电路38和39包括三个二进制输入端和两个三进制输出端。用于实现函数的子电路310和311均包括一个二进制输入端和可以采取两个不同值的输出端。
子电路38和39实现同一函数f,其中f(x1,x2,x3)=z1,z2和f(x4,x5,x5)=z3,z3,并且子电路310和311均实现函数φ,其中且在这里适用下式
zm+1=z5且zM=z6.
相应地,可以实现用于实现函数φ的电路310和311,使得,例如且或者且如果则二进制值lbin被用于实现函数φ的子电路310和311变换成三进制值2ter,使得在子电路210和211的各输出端处输出的值z5和z6被存储到其状态采取三进制值的存储器Sp 13的存储单元中。
如果则在子电路的输出端处输出的值z5和z6被 存储在采取三进制值的存储器Sp 13的存储单元中以及在采取二进制值的存储单元中。
由子电路LH 16由从存储器Sp 13输出的状态值形成辅助读取值
y'=y1',...,yk'=LH(z1'...,zm',zm+1',...,zM')]]>
在图4中图示出在一个实施例中如何可以由M个子电路LH1 161,…,LHm16m,LHm+1,16(m+1),…,LHm16M建立用于形成辅助读取值的子电路LH 16。
在图4中所示的实施例中,对于i=1,…,M而言,二进制的ti元组通过子电路LHi16i与分量相关联,其中,二进制值形成辅助读取值为,
y'=y1',...,yk'=L1(z1'),...,LM(zM').]]>
在这里,对于1≤i≤m而言2≤ti且对于m+1≤i≤M而言1≤ti。
首先,考虑1≤i≤M的情况。
如果例如ti=2或者i=1,…,m,则到二进制辅助读取值的元组的此类分配可以简单地由子电路LHi16i通过zi的模数转换来实现。因此,例如,表示模拟物理值且属于某个非重叠区间的分量的三进制值可以被简单地数字化成两个二进制值。
这可以例如简单地使用具有参考值R1、R2的两个比较器来完成,其中R2<R1。如果则如果则如果则如果则由此,二进制值的元组可以被关联至值其中,二进制值被命名为辅助读取值,使得适用下式



还可以完成分配,使得适用下式



另一分配可能性可以例如是由子电路LHi16i向三进制值分配三元组,或者还通过模数转换来分配二进制值其中,不同三元组例如形成3个为1组(1 of 3)的码。
例如,这还可以使用具有两个参考值R1、R2的两个比较器来完成,其中R2<R1,如已描述的,使得适用下式



还可以给三进制值zi分配二进制值的三元组,使得二进制值的每个三元组包含准确地一个0,并且例如适用下式



还可能的是对于1≤i≤m,所有子电路LH1161,…,LHm 16m是相同的。
现在考虑m+1≤j≤M的情况。被输入到子电路LHj中,其中,在写入时仅采取两个不同的值,并且因此当读出时在无错误情况下
取决于zj的不同结果被存储在三进制存储单元中或者在二进制存储单元中。
首先,考虑被存储在具有三个可能状态值的三进制存储单元的情况。虽然被写入的值zj可以仅采取两个不同的值,但是在这种情况下,读出值由于存储器错误而可以采取三个不同的值。
如果二进制值0bin和1bin分别地被图3c中的子电路BT3310或BT4311编码为0ter和2ter,则相应的子电路LHj可以例如实现映射Lj(0ter)=0bin、LHj(1ter)=1bin和LHj(2ter)=1bin。此类实现具有优点,即将三进制值2ter误用成1ter的存储器错误被容忍,因为其在电路Lj的输出端处没有影响。
子电路Lj可以例如使用比较器来实现,该比较器将值zj与参考值R1相比较,使得适用下式


如果另一方面zj被存储在二进制存储器中,存储单元的状态可以仅采取两个不同的值。在这种情况下,被写入二进制存储单元中的值zj以及从此存储单元读出的值是二进制的,使得此读出值可以直接地充当辅助读取值且相应的子电路LHj可以由将其输入端直接地连接到其输出端的线路构成。
图5a图示出编码器Cod 12在功能上如何实现。在功能上,编码器12包括一系列的子电路BB 11、LH 16和子电路BinCod 51,其具有k个二进制输入端和l个二进制输出端。由于已描述了子电路BB 11和LH,所以在这里将仅描述子电路BinCod 51。
子电路BinCod 51被实现成使得其由在其输入端处施加的二进制值y1,…,yk形成l个二进制校验位c1,…cl。在这里,值y1,…,yk是二进制代 码BinC的k信息位且c1,…,cl是关联校验位,使得子电路BinCod 51简单地形成代码C的信息位y1,…,yk的相应二进制校验位c1,…,cl。代码C在这里可以是线性或非线性码。
本领域的技术人员可以使用合成工具来使图5a所描述的电路功能优化,如在电路设计中惯常的那样。
在图5b中图示出当纠错码C是线性码时,如何可以在功能上实现编码器Cod 12,该线性码可以由(k,k+l)-G矩阵G=(Ik,Pk,l)来描述。在这里,Ik是(k)维单位矩阵,并且Pk,l是将被称为奇偶校验矩阵的(k,l)矩阵。
与图5a相反,子电路BinCode 51被子电路LinCode 52替换。子电路LinCode 52被实现成使得其由施加于其输入端的值y1,…,yk根据以下关系而形成在其l个二进制输出端处输出的二进制校验位c1,…,cl
c1,…,cl=(y1,…,yk)·P,
可以推断的是子电路LinCode是用于用生成矩阵G=(Ik,Pk,l)由位y1,…,yk来确定线性纠错码C的校验位c1,…,cl的常规电路。在此意义上,位y1,…,yk是代码C的信息位。代码C可以例如是汉明码、Hsiao代码、BCH代码或另一线性纠错码。
本领域的技术人员将例如使用合成工具使由图5b描述的电路在功能上优化,如在电路设计中惯常的那样。
在图5c中图示出当校验位c1,…,cl也取决于写地址a=a1,…,aQ的地址位时,如何可以在功能上实现编码器Cod 12。纠错码C被假设为是可以用(k+q,k+q+l)-G矩阵G=(Ik+q,Pk+q,l)来描述的线性码。在这里,Ik+q是(k+q)维单位矩阵且Pk+q,l是将被称为奇偶校验矩阵的(k+q,l)矩阵。除数据位×=x1,…,xn之外,校验位c1,…,cl还取决于根据地址位a1,…,aQ确定为下式的q位A1,…,Aq:
A1,…,Aq=F(a1,…,aQ)。
在这里,a=a1,…,aQ是地址,在其下面,z1,…,zm,zm+1,…,zM和校验位c=c1,…,cl被写入存储器Sp 13中。Q是写地址a的字宽,并且适用q≤Q。F描述写地址的Q位到q位A1,…,Aq的唯一映射。
在图5c中图示出相应的编码器。在图5c中,子电路Lincode 53包括由子电路LH输出的辅助读取值y1,…,yk被施加到的k个第一输入端以及被连接到子电路FS的q个输出端的q个第二输入端。在其l个输出端处,子电路FS55从地址位a=a1,…,aQ输出由函数F确定的位A1,…,Aq,其中,子电路FS55实现函数F。在其l个二进制输出端处,子电路Lincode 53输出校验位c1,…,cl。
与此相反,图5b的子电路Lincode 52仅包括被施加有辅助读取值y1,…,yk的k个输入端。
针对可以用(k+q,k+q+l)-G-矩阵G=(Ik+q,Pk+q,l)来描述的线性码,根据以下关系来确定l个二进制校验位c1,…,cl
c1,…,cl=(y1,…,yk,A1,…,Aq)·P.
如果例如q=1且A1=a1⊕…⊕aQ,则A1是写地址的奇偶校验位,并且对于校验位c1,…,cl而言,适用下式
c1,…,cl=(y1,…,yk,A1)·P,
其中,G矩阵G是(k+1,k+l+1)矩阵且P是(k+1,l)矩阵。
在图5d中,图示出相应的编码器58。子电路56具有k+1个输入端,其中,k个辅助读取值y1,…,yk被施加于k个第一输入端。第(k+1)输入端被连接到XOR电路57的1位宽输出端,其在其输出端处输出地址位的奇偶校验位A1=a1⊕…⊕aQ。
如果q=Q且A1,…AQ=a1,…aQ,则校验位c1,…,cl取决于写地址a的所有位。针对可以用(k+Q,k+Q+l)-G矩阵G=(Ik+Q,Pk+Q,l)来描述 的线性码,可以根据以下关系来确定l个二进制校验位c1,…,cl
c1,…,cl=(y1,…,yk,a1,…,aQ)·P.
在图5e中,图示出相应的编码器510。子电路59 Lincode包括k+Q个输入端,其中,k个辅助读取值y1,…,yk被施加于k个第一输入端。在Q个第二输入端处,施加写地址的地址位a1,…,aQ。
本领域的技术人员应理解的是当校验位也取决于写地址的地址位时,可以使用非线性纠错码来代替线性码。
图6a示出了用于线性纠错码C的修正器的常规实现。可以用相应的H矩阵H来描述具有k信息位(在这里为辅助读取值)以及校验位(在这里为校验位)的长度k+l的代码C,所述H矩阵H可以以系统化形式H=(PT,Il)形式或以非系统化形式存在。
图6a中的用于所考虑的线性纠错码C的修正器Cor 17a包括对于具有l+k个二进制输入端和l个二进制输出端的线性码而言常规的校正子生成器61a和具有l个二进制输入端和k个二进制输出端的解码器62a。在读取时载送校验位的可能错误的值的存储器Sp 13的l个数据输出被馈送到校正子生成器61a的l个第一输入端中,而载送可能错误的辅助读取值的子电路LH 16的k个输出端被连接到校正子生成器61a的其他k个输入端。校正子生成器61a的l个输出端被连接到解码器62a的l个输入端,解码器62a在其k个输出端处输出k分量修正矢量e=e1,…,ek。校正子生成器61a被实现成使得在其l个二进制输出端处,其输出由下式确定的错误校正子s的分量s1,…,sl
s1,...,sl=H·[y1',...,yk',c1',...,cl']T.]]>
如果代码C是k位纠错码,则单独错误校正子被关联到每个M位错误,其中M≤K,并且可以基于该校正子来修正错误。
可以将解码器62a实现为组合电路,其在输入校正子时输出k位修正矢量e=e1,…,ek。如果M≤K,则修正矢量e=e1,…,ek的准确地那些分量等于1,在其处发生错误且其被修正。
该修正在组合电路Vkn 18中进行,该组合电路Vkn 18在图1e的实施例中被实现为XOR电路18a,使得形成
在图6b中图示出如何可以将修正器在功能上实现为Cor 17b,其中,校验位c1,…,cl还取决于写地址a=a1,…aQ的地址位。除辅助读取值和校验位之外,在图6b中,s=s1,…,sl还取决于q位其根据读地址a′的地址位被确定为
A1',...,Aq'=F(a1',...,aQ').]]>
在这里,是在其下面从存储器Sp 13读取辅助读取值和校验位的地址。Q是读地址a′的字宽,并且适用下式q≤Q。F描述了读地址的Q位到q位的相同唯一映射,因为其在将写地址a=a1,…,aQ映射到位A1,…,Aq时被使用。
校正子生成器61b现在被实现成使得其在其l个二进制输出端处输出由下式确定的错误校正子s的分量s1,…,sl
s1,...,sl=H·[y1',...,yk',c1',...,cl',A1',...,Aq']T]]>
如果q=Q且A1',...,Aq=a1',...,aQ',]]>则由下式确定校正子
s1,...,sl=H·[y1',...,ykc1',...,cl',a1',...,aQ']T]]>
其中,是完整读地址。
如果适用F(a1',...aQ')=a1'⊕...⊕aQ'=A1',]]>则校正子取决于读地址的分量的奇偶校验位,并且适用下式
s1,...,sl=H·[y1',...,yk',c1',...,cl',A1']T]]>
校正子生成器61b包括被施加可能错误的校验位的l个第一输入端。其包括被施加可能错误的辅助读取值的k个第二输入端,并且其包括q个其他输入端,用于由读地址a′的位来确定位的子电路FS 63的输出端被连接到所述q个其他输入端。子电路FS被实现成使得其由读地址a′的位形成位如果例如Q=q且则子电路FS简单地由将其输入端连接到其输出端的q个连接线构成。如果例如q=1且则FS是在其输出端处输出其输入值的奇偶校验值的XOR树。
子电路BB 19是组合电路。其由已修正辅助读取值形成已修正输入值如果未发生错误或者如果发生可以被代码C修正的错误,则xc=x。
现在将针对实施例的不同实施方式更详细地解释子电路BB 19的可能实现。
图7a图示出如何可以将用于12个辅助读取值y1,…,y12和9个二进制输入值x1,…,x9的图1d的子电路BB 19实现为组合子电路BB1 71、BB2 72和BB3 73的并联电路的实施例,所述组合子电路实现均包括4个二进制输入端和3个二进制输出端的组合函数g1、g2和g3。
图8用于解释如何可以确定这些子电路BB1 71、BB2 72和BB3 73。
在图8中,图示出功能方框图,其用于图示出如何可以针对具有9个二进制输入端x1,x2,…,x9的电路Cir1的实施例确定子电路BB 19。
在图8中以及在图3a中,具有9个二进制输入端的子电路BT 11又是从三个子电路BT1 81(图3a中的31)、BT2 82(图3a中的32)和 BT3 83(图3a中的33)实现,其实现了均具有三个二进制输入端和两个三进制输出端的函数f1、f2和f3,其载送三进制状态值z1,…,z6。这些三进制状态值z1,…,z6被函数LH1 84,…,LH6变换成二进制辅助读取值y1,…,y12。函数LH1 84,…,LH6 89是由子电路LH 16实现的函数。二进制读取值y1,…,y12现在又被子电路BB 19再次变换成二进制输入值x1,…,x9。在这方面,确定三个函数g1、g2和g3,每个将四个二进制辅助读取值y1、y2、y3、y4;y5、y6、y7、y8和y9、y10、y11、y12均变换回成三个二进制值x1、x2、x3;x4、x5、x6和x7、x8、x9。子电路BB 19是又包括用于实现函数g1、BB2 811的三个子电路BB1 810、用于实现函数g2的BB2 811和用于实现函数g3的BB3 812的电路。
首先,考虑函数g1的确定。此函数是由f1、LH1和LH2确定的。
在以下表格中,用xi或yi指示的成列的值0、1指示二进制值,而用zk标记的成列的值0、1、2表示三进制值。
描述了实施例,其中,由表1给出函数f1。
表1 (f1(x1,x2,x3))
x1x2x3z1z20000000101010020111010011101121102011121
根据表1,z1、z2简单地是被解释为二进制数的值x1 x2 x3的三进制表示。
由表2描述函数LH1。
表2 (LH1(z1))
z1y1y2000101211
由表3描述函数LH2。
表3 (LH2(z2))
z2y3y4000110211
现在通过根据表1由输入值x1、x2、x3来确定三进制状态值z1、z2并随后根据表2和表3由状态值z1、z2来确定相应的辅助读取值y1、y2、y3、y4,用函数k1(x1,x2,x3)由输入值x1、x2来确定辅助读取值y1、y2、y3、y4,如表4中所示。
表4 (k1(x1,x2,x3))
x1x2x3y1y2y3y400000000010010010001101101001000110101011111011001111110
现在很容易通过将表4的输出值y1、y2、y3、y4视为函数g1的输入值并通过将表4的关联输入值x1、x2、x3解释为函数g1的输出值来从表4获得函数g1的描述。这样,获得表5,其确定针对表5中所指示的值的三元组的函数g1。针对表5中未指示的所有值,可以随机地确定函数g1。此特征可以被有利地用于函数g1的电路优化。
表5 (g1(y1,y2,y3,y4))
y1y2y3y4x1x2x300000000010001001101001000110110100011110111001101110111
子电路BB1 810现在简单地是用于用4个二进制输入y1、y2、y3、 y4和3个二进制输出x1、x2、x3来实现函数g1的组合电路,函数g1的运行由表5确定,其中,可以随机地选择用于在表5中未列出的y1、y2、y3、y4的值的输出值。例如,可以将所有这些输出值设置成0。由值的表格给定的函数的实现对于本领域的技术人员而言并不是困难的,例如使用合成工具,并且其在这里将不会被详细地描述。
现在考虑函数g2的确定。此函数由f2、LH3和LH4确定。
假设函数f2由表6给定。
表6 (f2(x4,x5,x6))
x4x5x6z3z40001100121010100112010001101021100011112
由表7描述函数LH3。
表7 (LH3(z3))
z3y5y6000101211
由表8描述函数LH4。
表8 (LH4(z4))
z4y7y8000101211
在这里,LH3=LH4.
现在通过根据表6由输入值x4、x5、x6来确定三进制状态值z3、z4并随后根据表7和8由状态值z3、z4来确定相应的辅助读取值y5、y6、y7、y8,根据如在表9中由函数k2(x4,x5,x6)表示的输入值x4、x5、x6来确定辅助读取值y5、y6、y7。
表9 (k2(x4,x5,x6))
x4x5x6y5y6y7y800001010011101010010001111001000001101001111000001110111
现在通过将表9的输出值y5、y6、y7、y8视为函数g2的输入值并通过将表9的关联输入值x4、x5、x6解释为函数g2的输出值简单地从表9获得函数g2的描述。这样,获得描述针对表9中所示的值的函数g2的表10。针对表10中未列出的所有值,函数g2可以采取任意值。此特征可以被有利地用于函数g2的电路优化。
表10 (g2(y5,y6,y7,y8))
y5y6y7y8x4x5x601010001101001010001011000110001100001110100001100111111
子电路BB2 811现在简单地是用于用四个二进制输入y5、y6、y7、y8和三个二进制输出x4、x5、x6来实现函数g2的组合电路,其运行由表10确定,其中,可以用y5、y6、y7、y8来随机地选择用于在表10中未列出的占用的输出值。例如,可以将所有这些输出值设置成等于0或者还可以等于1。
可以完全类似地确定用于用四个二进制输入y9、y10、y11、y12和三个二进制输出x7、x8、x9来实现函数g3的子电路BB3 812。例如还可以选择等于子电路BB2 811的子电路BB3。
还可以通过选择f1=f2=f3和LH1=LH2=…=LH6并确定如所述的子电路中的一个、类似于例如BB2并选择等于BB2的子电路BB1和BB3 来使用相等的子电路BB1、BB2和BB3。
图3b图示出如何可以用来自用于实现函数f1的子电路BT1 34、用于实现函数f2的BT2 35、用于实现函数f3的BT3 36和用于实现函数f4的BT4 37的11个二进制输入值x1,…,x11来实现子电路BT 11。用于实现函数f1、f2和f3的子电路均包括三个二进制输入端,在那里,三个可变二进制值x1、x2、x3;x4、x5、x6和x7、x8、x9均被施加。用于实现函数f4(x10,x11)的子电路BT4包括在被施加有可变值x10和x11的输入端处的仅两个二进制输入。
图7b描绘了由子电路BB1 74、BB2 75、BB3 76和BB4 77进行的子电路BB 19的建立。可以以完全类似的方式来确定用于实现函数g1、g2和g3的相应子电路BB1、BB2、BB3,如针对9个输入值x1,…,x9所描述的。可以简单地通过确定用于实现具有三个输出变量的相应函数的子电路并例如将第三分量设置成常数(例如为0)来确定用于实现函数g4(y13,y14,y15,y16)的子电路BB4。
出于说明的目的,如在表10中针对输入变量y5、y6、y7、y8和针对输出变量x4、x5、x6所示的,使用具有输出变量x10、x11、x12的函数g4(y13,]]>y14,y15,y16)=g2(y13,y14,y15,y16).]]>然后适用下式
表11 (g4(y13,y14,y15,y16))]]>

(用于函数的表11是与用于函数g2的表10完全类似地确定的。)
现在通过选择表11的行(针对其x12=0)且通过删除所有其余行并通过删除针对x12的列,获取描述由子电路BB4实现的搜索函数g4(y13,y14,y15,y16)的表12。
表12 (g4(y13,y14,y15,y16))

在图3c中图示出如何可以由用于实现函数f的子电路BT1 38、用于实现同一函数f的BT2 39、用于实现函数φ的BT3 310以及用于实现同一函数φ的BT4 311来实施具有8个二进制输入值x1,…,x8的子电路BT。用于函数f的子电路BT1 28和BT2 29均具有三个二进制输入端和两个三进制输出端,而子电路BT3 310和BT4 311均包括用于实现函数φ的单个三进制输出端和单个二进制输入端。
在图7c中图示出实现相应子电路BB1 78、BB2 79、BB3 710和BB4 711的子电路BB 19。适用下式BB1=BB2和BB3=BB4。子电路BB1和BB2均用于实现函数g,并且子电路BB3和BB4均用于利用单个二进制输入端和二进制输出端实现函数χ。确定函数g可以如针对函数g1或g2或针对图7a的子电路BB 19所述的那样完全类似地完成,并且因此将不会再次解释。
现在将描述实现函数χ的子电路BB3 710的一个有利实施方式。
在图3c中,子电路BT3 310将二进制值x7形成为三进制值z5。在一个实施例中,可以对关联函数应用下式:

如果现在实现对于m=4和M=6的图4中的子电路LH5 165以便确定辅助读取值LH5(z5),使得
LH5(0ter)=0bin,LH5(1tern)=LH5(2ter)=1bin,
则χ(0)=0且χ(1)=1,并且用于实现函数χ的子电路简单地由连接线构成。
所考虑的实施方式对于存储器错误而言是容错的,其中存储在存储器中的三进制值z5=2tern被误用成三进制值被作为三进制值2ter写入三进制存储器中的二进制值1被作为二进制值1bin读出,与存储器Sp 13中的三进制值2ter是否被错误地误用成三进制值1ter无关。同样地,可以将二进制值x7作为z5=x7未改变的二进制值存储到存储器Sp 13中。在这种情况下,还可以将二进制存储单元用于存储z5和z6,而其中m=4的三进制值z1,…,zm被存储在具有三进制状态值的存储单元中。
有利地,存储器Sp 13可以包括三进制部分存储器Spter 131和二进制部分存储器Spbin 132,如图1f中所示,其中,二进制校验位c1,…,cl被作为二进制值存储在二进制部分存储器Spbin 122中,而三进制状态值 z1,…,zm和状态值zm+1,…,zM被存储在三进制部分存储器Spter中。
当存储单元Spc1,…,Spcl是三进制存储单元或者二进制存储单元时,现在将再次更详细地解释将由编码器Cod 12生成的校验位c1,…,cl存储在存储器Sp 13中并从存储器Sp 13读出所存储的校验位。
首先,描述这些存储单元是三进制存储单元且可以采取三个不同状态的情况。为了避免混淆,在这里,用0ter、1ter和2ter来指示三进制值,并且用0bin、1bin来指示二进制值。
针对j=1,…,l,在编码器Cod 12的第j输出端处输出的二进制校验位cj被施加于具有二进制输入端和三进制输出端的子电路btj 14j的输入端。子电路btj 14j在其输出端处输出三进制值
在一个实施例中,确定子电路btj(cj),使得适用下式
其中btj(0bin)=0ter且btj(1bin)=2ter.
子电路tb1,…,tbl 15j将从存储器读出的可能错误的三进制值逐个分量地变换成二进制值使得对于j=1,…,l而言,适用下式:
其中tbj(0ter)=0bin以及
tbj(1ter)=tbj(2ter)=1bin。
如果三进制值2在其中被写入值的三进制存储器Sp 13的存储单元中被误用成三进制值1,则此错误对子电路TrTB 16的相应输出没有影响,因为通过函数tbj,三进制值2ter以及三进制值1ter都被映射到二进制值1bin。这是有利的。
如果存储单元Spc1,…,Spcl是二进制存储单元,则子电路bt1,141,…btl 14l以及子电路tb1 151,…,tbl 151可以被实现为其输入端到其各输出端的连接。由编码器Cod 12输出的校验位c1,…,cl然后被二进制 地写入存储单元Spc1,…,Spcl中,并被作为在修正器Cor 17的相应输入端处提供的可能错误的二进制校验位读出。
下面,现在将解释在图1g中图示出的修正器Cor 17的特殊实施方式。在图1g中,用17c来指示修正器Cor的特殊实施方式。修正器Cor 17c包括用于输入可能错误的校验位的l个第一输入端、用于输入可能错误的辅助读取值的k个第二输入端和用于输入由读地址的位形成的位的q个其他输入端。修正器Cor 17c还包括用于输出修正矢量e=e1,…,ek以便修正辅助读取值的k个第一输出端和用于输出修正矢量以便修正从地址位导出的位的q个其他输出端。
载送修正矢量eA的分量的q个输出端被连接到具有q个输入端和单个输出端的OR电路121c的q个输入端,其中,输出端在修正矢量eA的至少一位等于1时输出错误信号EA,其指示读地址a′中的错误。
如果EA=1,则读地址a′不同于写地址a,使得数据不是有效的。
如果q=Q且则由用于每个地址位的修正矢量eA来指示在此位中是否存在错误。如果在图6b中所述的修正器确定错误校正子,则可以在错误校正子对应于地址错误时为地址错误生成错误消息。
还可以实现修正器,使得除用于修正辅助读取值和地址位的修正位e1,…,ek、ea1,…,ekQ之外,其还生成校验位的修正值
根据实施例,提供了一种用于存储二进制数据x1,…,xn并用于用二进制代码C进行纠错的电路,包括以下特征:
1.存在三进制存储器电路13h,包括具有三进制存储单元的三进制存储器Sp 13,其中,二进制数据x1,…,xn在写地址a1,…,aQ处被 作为已编码三进制状态z1,…,zM写入具有三个状态的存储单元中,并且其中,编码器12h将某些二进制校验位c1,…,cl写入存储单元中,并且其中,当校验位c1,…,cl是在写地址a1,…,aQ处写入的数据位x1,…,xn的校验位时,校验位也被写入相应数据位的相同写地址处,并且其中,当在适合于采取三个不同值的三进制存储器的存储单元的读地址处读取时,输出可能错误的状态值其被变换成可能错误的二进制辅助读取值并且其中,此外,输出可能错误的校验位并且其中,当写地址等于读地址且当不存在错误时,输出无错误辅助读取值y1,…,yk和无错误校验位c1,…,cl,
2.存在编码器Cod 12h,包括用于输入数据位x1,…,xn的第一n位宽第一输入端和用于输入位A1,…,Aq的另一q位宽输入端和用于输出校验位c1,…,cl的l位宽输出端,其中,位A1,…,Aq是基于写地址a1,…,aQ的位确定的,其中,数据位x1,…,xn以及相应的校验位被写入所述写地址a1,…,aQ下面,其中,编码器被配置成使得根据数据位x1,…,xn和位A1,…,Aq来确定校验位c1,…,cl,使得
y1,…,yk,A1,…,Aq,c1,…,cl
是纠错码C的代码字,并且其中,位A1,…,Aq是根据写地址a1,…,aQ唯一地确定的,使得当地址a1,…,aQ被馈送到所述电路的输入端中时,位A1,…,Aq是具有Q个二进制输入端和q个二进制输出端的组合电路F的输出值,其中,适用q≤Q。
根据特定实施例,q=Q,并且a1,…,aQ=A1,…,AQ。
在另一特定实施例中,A1=a1⊕…⊕aQ。
根据另一实施例,代码C是线性码。
在另一特定实施例中,代码C是具有生成矩阵G=(l,p)的线性码,并且其中,l是(k+q)单位矩阵,并且其中,P是[(k+q),l]奇偶校验矩 阵,并且其中,由下式来定义校验位c1,…,cl
c1,…,cl=(y1,…,yk,Aa,…,AQ)·P
图1h图示出实施例,其中,数据位被存储在三进制存储器电路13h的存储单元中,其中,三进制存储器的存储单元被配置成采取三个不同状态(中的一个)。三进制存储器电路的三进制存储器的写和读地址被用于错误处理,例如用于检错和/或纠错。
三进制存储器电路13h包括其中能够将数据位存储为三进制状态的存储单元。
当写入时,n位宽输入线110g上的输入值x1,…,xn被输入到三进制存储器电路13h中,并且l位宽输入线111g上的校验位c1,…,cl被输入到三进制存储器电路13h中。写地址a1,…,aQ在写入时被馈送到Q位宽地址输入线115h中。当读取时,读地址被馈送到Q位宽输入线115h中。当读取时,在k位宽输出线112g上输出二进制辅助读取值并且在l位宽输出线113h上输出校验位
输入线110g此外被连接到编码器Cod 12h的第一n位宽输入端。位置A1,…,Aq在编码器Cod 12h的q位第二输入端处被输入。位A1,…,Aq由组合电路FS 56h根据下式在写地址a1,…,aQ处生成
A1,…Aq=F(a1,…aQ),
其中,F是Q地址位a1,…,aQ到从地址位导出的位A1,…,Aq的唯一映射,如上文已解释的。
载送可能错误的辅助读取值的k位宽输出线112g被连接到组合电路18h的第一k位宽输入端,并且还被连接到修正器Kor 17h的第一k位宽输入端。输出线113h被连接到修正器Kor 17h的第二l位宽输入端,其中,输出线113h载送可能错误的校验位电路55h的q位宽输出端被连接到修正器Kor 17h的第三q位宽输入端,其中, 在电路55h的q位宽输出端上输出q位宽值二进制读地址在电路FS 55h的Q位宽输入端处被馈送到电路FS 55中。
电路FS 55h的功能等于电路FS 56h的功能,这是对电路55h以及电路56h两者给定名称“FS”的原因。
修正器Kor 17h在其k位宽输出端处输出修正矢量e1,…,ek,其被连接到作为修正电路的组合电路18h的第二输入端。在图1h中,修正电路被实现为XOR电路。在其他实施例中,可以实现其他实施方式,诸如例如采用XNOR电路。
在图1h的实施例中,XOR电路18h在其k位宽输出端处输出已修正辅助读取值
ycor=y1cor,...,ykcor=y1'⊕e1,...,yk'⊕ek]]>
其被组合电路BB 19h变换成已修正数据值
如果适用使得写地址等于读地址,并且如果在三进制存储器电路13h、编码器12h和电路FS 56h中不存在错误,则在线路112g上输出的辅助读取值被称为正确辅助读取值y1,…,yk。
在输出线113h上输出的可能错误的校验位由校验位c1,…,cl定义。那些校验位c1,…,cl在编码器12h的输出端111g处输出,并且在写地址a1,…,aQ处被存储在三进制存储器电路13h的存储单元中并在读地址处读出。校验位可以被存储在可以采取三个不同状态中的一个的存储单元中以及可以采取两个不同状态中的一个的存储单元中。
编码器Cod 12h被配置成使得其生成校验位c1,…,cl,使得
y1,…,yk,A1,…,Aq,c1,…,cl
是纠错码C的代码字。
如果代码C是具有生成矩阵G=(I,P)的线性码,其中,I是(k+q) 单位矩阵,并且其中,P是[(k+q),l]奇偶校验矩阵,则可以将c1,…,cl确定为
c1,…,cl=(y1,…,yk,Aa,…,AQ)·P.
修正器Kor 17h输出修正矢量e=e1,…,ek,使得当确实发生的错误可被纠错码C修正时,适用
ycor=y1cor,...,ykcor=y1'⊕e1,...,yk'⊕ek=y1,...,yk]]>
如果代码C是例如1位纠错码,则例如辅助读取值中或校验码中的每个单个位错误能够被有效地修正。如果代码C是2位纠错码,则辅助读取值中或校验位中的每个2位错误能够被修正。
由图1i图示出图1h的三进制存储器电路13h的第一特定实施例。
三进制存储器电路13h包括用于将二进制数据位x1,…,xn变换成将被存储在三进制存储器Sp 13的存储单元中的状态值z1,…,zM的子电路BT 11,其中,三进制存储器Sp 13包括具有三进制状态值的存储单元,并且其中,三进制存储器Sp 13包括存储单元Spc1,…,Spcl,其具有用于存储二进制校验位c1,…,cl的至少两个状态、以及用于从存储器Sp 13读出的将可能错误的三进制状态值变换成二进制辅助读取值的子电路LH 16。存储单元Spc1,…,Spcl是二进制存储单元是可能的。
在n位宽输入线110处输入了数据位x1,…,xn。在k位宽输出线112h上输出了可能错误的辅助读取值在l位宽输出线113h上输出了可能错误的校验位由于已参考图1a描述了子电路BT 11、Sp 13和LH 16,所以将不会再次对其进行解释。
由图1j图示出图1h的三进制存储器电路13h的第二特定实施例。图1j中的三进制存储器电路包括用于将对状态值z1,…,zM中的二进制数据位进行变换的子电路BT 11、在这里包括用于存储校验位的三进制存 储单元Spc1,…,Spcl的存储器Sp 13,其中,校验位c1,…,cl被子电路bt1 141,…,btl 14l变换成三进制值用于将从存储器Sp 13读出的可能错误的状态值变换成可能错误的辅助读取值和用于对从存储单元Spc1,…,Spcl读出的可能错误的校验位进行变换的子电路tb1 151,…,tbl 15l。
在n位宽输入线110h处输入了数据位x1,…,xn。在l位宽输入线111h处输入了校验位c1,…,cl。在k位宽输出线112h处输出可能错误的辅助读取值在l位宽输出线113h处输出了可能错误的校验位已参考图1a和1d描述了所采用的子电路,并且将不会对其再次描述。
由图1k图示出图1h的三进制存储器电路13h的另一特定实施例。图1k中的三进制存储器电路包括用于将二进制数据位和二进制校验位变换成可以采取三个不同值中的一个的状态值的子电路BT 11k、在这里例如仅包括三进制存储单元的三进制存储器Sp 13、用于将可能错误的状态值变换成可能错误的辅助读取值的子电路LH 16k以及用于将辅助读取值变换成可能错误的校验位的子电路BB 19k。在本实施例中,三进制数据位的三元组以及二进制校验位的三元组均被作为三进制值的元组存储在存储器13k的两个存储单元中是可能的。在n位宽输入线110处输入了数据位x1,…,xn。在l位宽输入线111h处输入了校验位c1,…,cl。在k位宽输出线112h处输出可能错误的辅助读取值在l位宽输出线113h处输出了可能错误的校验位
由于子电路BT 11k将由编码器Cod 12h输出的数据位x1,…,xn以及校验位变换成三进制状态值所以子电路BT 11k的输入字宽度在这里为n+l。由子电路LH 16k输出的辅助读取值对应于数 据位而辅助读取值被分配给校验位
除输入字宽度和输出字宽度之外,所采用的子电路对应于已描述的子电路。
已特别地参考图1a描述了所采用的子电路,并且因此不会对其再次描述。
现在将描述用于子电路BT 11的另一实现可能性。
可以将子电路BT 11实现为用于二进制输入值x1,…,xn到二进制辅助写入值的变换的子电路BBS 94和将二进制辅助写入值变换成状态值z1,…,zm,zm+1,…,zM的子电路BTS 95的串联连接,如图9b中所示。
如图3a、3b和3c中所示,子电路BT 11又可以由子电路BTj(j=1,2,…)建立。作为实例,再次地将描述子电路BT2 32的实现,其根据表6将二进制输入值x4、x5、x6变换成三进制状态值z3和z4。在图9a中图示出其当前考虑的实施方式。说明性实例中的二进制输入值x4、x5、x6到三进制状态值的所描述的转换分两个步骤执行。在第一步骤中,三个二进制输入值x4、x5、x6被变换成四个二进制辅助写入值其中
y5S,y6S,y7S,y8S=k2(x4,x5,x6).]]>
在第二步骤中,三进制状态被分配给第一对和第二对的四个二进制辅助写入值。
仅存在八个不同的输入值x4、x5、x6且因此仅存在辅助写入值的八个不同4元组。执行输入值x4、x5、x6的元组到辅助写入值的变换,使得两个元组和中的每一个仅采取三个不同的值,并且因此可以在第二步骤中被编码并存储为三进制状态。在这里, k2是具有三个二进制输入变量的x4、x5、x6和四个二进制输出变量y5S.]]>y6S.y7S.y8S]]>的组合函数。
在第二步骤中,第一对的二进制辅助写入值被具有两个二进制输入变量和三进制输出变量z3的函数q3变换成第一二进制状态z3,而第二对的二进制辅助写入值被具有两个二进制输入变量和三进制输出变量的函数q4变换成第二三进制状态z4。函数q3和q4在这里可以被选择成彼此相等或彼此不同。
函数q3描述了数字二进制值到模拟值的数模转换,其根据到三个非重叠区间中的一个的分配而表示z3的三个可能三进制值中的一个。相应地,函数q4描述了数字值y7、y8到模拟值的数模转换,其表示z4的可能三进制值中的一个。
所描述的变换可以由用于实现函数k2的具有三个二进制输入端和四个二进制输出端的子电路Sk2 91和用于实现函数q3和q4的两个下游子电路Sq3 92和Sq4 93实现,如图9a中所示。
在子电路Sk2 91的3位宽输入端处,施加值x4、x5、x6。载送辅助写入值的子电路Sk2 91的前两个二进制输出被馈送到子电路Sq3 92的2位宽二进制输入端中,而载送辅助写入值的子电路Sk2 91的第二二进制输出端被馈送到子电路Sq4 93的2位宽二进制输入端中。子电路Sq3 92在其三进制输出端处输出值z3,而子电路Sq4 93在其三进制输出端处输出值z4。
以函数方式根据输入值x4、x5、x6来确定辅助写入值是可能的,如同根据输入值x4、x5、x6来确定辅助读取值一样,并且其在无错误情况下是相等的,如例如在表9中所述。
不需要对于所有输入值而言,在这里对于x4、x5、x6的8个可能值而言,根据x4、x5、x6确定的辅助写入值等于同样根据x4、x5、x6而确 定的辅助读取值。
然而,在存储时使用在读出时被用作辅助读取值的此类辅助写入值可能是实际的,如稍后将更详细地解释的。
作为实例,在这里,考虑8个数据位x1,…,x8的情况,并且还解释了用于当辅助写入值等于辅助读取值时确定用于编码器12的有利实施方式的校验位的辅助写入值的使用。例如假设两个三元组x1、x2、x3和x4、x5、x6被以与图10中所示相同的方式转换成辅助写入值和y5S.y6S.y7S.y8S.]]>
位x1、x2、x3被子电路Sk2 101变换成辅助读取值而位x4、x5、x6被子电路Sk2 102变换成辅助读取值两个位x7和x8被直接用作辅助写入值和
成对辅助写入值[y1S.y2S].[y3S.y4S].[y5S.y6S].[y7S.y8S]]]>被子电路Sk3 103 Sk4 104 Sk3 105 Sk4 106变换成可以被存储在存储器Sp 1013的三进制状态z1、z2、z3、z4。辅助读取值被子电路bt7 107变换成三进制状态z5。辅助读取值被子电路bt8 108变换成三进制状态z6。状态z5和z6也被存储在三进制存储器Sp 1013中。
辅助写入值也被施加于子电路Bincode 109的10个第一输入端,在其第二q个输入端处,施加从读地址a,…aQ导出的位A1,…,Aq。在本实施例中,子电路Bincode 109输出5个校验位c1,…,c5,其被子电路bt1 1010,…,bt5 1011变换成均被存储在存储器Sp 1013的单独存储单元Spc1,…,Spc5中的三进制值
子电路BT 11在这里又包括子电路Sk2 101、Sk2 102、子电路Sk3 103、Sk4 104、Sk3 105、Sk4 106、bt7 107和bt8 108。
编码器Cod 12由子电路Sk2 101、Sk2 102和子电路Bincode 109建 立。子电路BT和编码器Cod 12在这里是共同实现的。
详细地考虑位x4、x5、x6到辅助写入值的转换,其中,在读取时所使用的辅助读取值等于在写入时所使用的辅助写入值,使得当未发生错误时,适用[y5,y6,y7,y8]=[y5S,y6S,y7S,y8S].]]>
当读取时,将由表7中所示的函数LH3来执行从两个关联存储单元读出的三进制状态值到用于其中存储了状态值z3的存储单元的相应二进制辅助读取值的转换,并且对于其中存储了状态值z4的存储单元而言,将由表8中所示的函数LH4来执行。
在表9中图示出相应的二进制辅助读取值y5、y6、y7、y8如何被分配给二进制输入值x4、x5、x6。例如,如上文已经所述的,对于在表9中未列出的x4、x5、x6的所有值组合而言,可以设置y5=y6=y7=y8=0。用函数k2(x4,x5,x6)来描述由表9进行的分配。对于本领域的技术人员而言要根据表9来确定实现函数k2的组合电路Sk2是并不困难的。
在这里假设由与辅助读取值相同的函数k2来确定辅助写入值使得子电路Sk2 91简单地是实现表9中所述的函数k2的组合电路Sk2。
根据等于相应的成对辅助读取值或辅助写入值的各对y5、y6和y7、y8,然后由函数q3和q4根据表13和表14来确定三进制状态值z3和z4,其中,三进制状态值z3和z4被存储到三进制存储器Sp 13中。在这里,z3的可能状态值被指示为A0、A1、A2,并且z4的可能状态值被指示为B0、B1、B2。
表13描述了函数q3且表14描述了函数q4。
表13 q3(y5,y6)

表14 q4(y7,y8)

如前所述,用yi标记的表13和14的列包括二进制值且用zj标记的列包括三进制值。函数q3和q4由电路Sq3和Sq4实现,其执行数模转换,并且由模数转换器进行的其实现对于本领域的技术人员而言并不是困难的。
现在将针对用于特殊线性码的特殊实施例来解释编码器Cod 12和修正器Cor 17的实现,其中,将存储八个二进制输入值x1,…,x8。如上所述,这八个二进制输入值被变换成10个二进制辅助读取值y1,…,y10,其表示线性码C的数据或信息位。代码C包括10个信息位y1,…,y10和5个校验位c1,…,c5。可以用(10,15)-G矩阵G和用(5,15)-H矩阵H来描述代码C。作为生成矩阵的实例,选择以下生成矩阵G。
G=100000000011100010000000011010001000000011001000100000010110000010000010101000001000010011000000100001110000000010001101000000001001011000000000100111---(1)]]>
G矩阵具有以下形式。
G=(I10,P10,5).    (2)
在这里,110是10维单位矩阵且具有下式的P10,5是奇偶校验矩阵。
P10,5=11100110101100110110101011001101110011010101100111---(3)]]>
校验位c1,…,c5由下式确定
c1,c2,c3,c4,c5=(y1,y2,y3,y4,y5,y6,y7,y8,y9,y10)·P10,5    (4)
使得由图10中的子电路Bincode 109实现
c1=y1⊕y2⊕y3⊕y4⊕y5⊕y6
c2=y1⊕y2⊕y3⊕y7⊕y8⊕y9
c3=y1⊕y4⊕y5⊕y7⊕y8⊕y10
c4=y2⊕y4⊕y6⊕y7⊕y9⊕y10
c5=y3⊕y5⊕y6⊕y8⊕y9⊕y10
在此特殊实例中,C是二进制码,并且作为特殊情况,电路Bincode实 现代码C的校验位生成。本领域的技术人员应理解的是所考虑的代码C是可以修正所有1位错误并检测所有2位错误的Hsiao代码。
通过XOR运算根据辅助读取值y1,…,y10确定的校验位c1,…,c5的实现对于本领域的技术人员而言并不是困难的,并且因此将不会对其更详细地解释。
均从存储在三进制存储单元中的三进制状态值导出的辅助读取值的各对[y1,y2]、[y3,y4]、[y5,y6]、[y7,y8],…,均仅采取三个不同的值,例如值[0,0]、[0,1]、[1,1]。然而,各对校验位采取四个不同地址,这就是为什么一对校验位可以不存储在三进制存储单元中。这将针对一对校验位[c1,c2]来解释。
如果所有辅助读取值等于0,y1=y2=…=y10=0,则[c1,c2]=[0,0]。
如果[y1,y2]=[0,1]且如果所有其他辅助读取值等于0,则[c1,c2]=[1,1]。
如果[y3,y4]=[1,1]且如果所有其他辅助读取值等于0,则[c1,c2]=[0,1]。
如果[y1.y2]=[0,1]且如果[y3,y4]=[1,1]且如果所有其他辅助读取值等于0,则[c1,c2]=[1,0]。
因此可以不将一对校验位存储在一个三进制存储单元中。
在下文中,现在将针对所考虑的线性码C来描述修正器Corr的一个可能实施方式。执行纠错,使得根据可能错误的存储器状态形成辅助读取值如所述,并且然后是这些辅助读取值和可能错误的校验位由修正器Korr 1016来确定修正矢量e=e1,…,e10。
使用已知被确定为是的代码C的H矩阵H来执行纠错,其中,是其中行和列被交换的矩阵P10,5的转置矩阵, 并且I5是5维单位矩阵,使得适用
H=111111000010000111000111001000100110110100100010101101100010001011011100001---(5)]]>
在这里,针对i=1,…,15的hi是H矩阵H的列。
H矩阵H的所有列是不同的,并且每个列hi,i=1,…,15,包含一个1或三个1,即奇数个一。
如图6a所示,修正器17a包括校正子生成器61a,其对于k=10和l=5而言包括可能错误的辅助读取值并且从存储器读出的可能错误的校验位根据以下关系
s=[s1,...,s5]T=H·[y1',...,y10',c1',...,c5']T---(6)]]>
形成错误校正子s,如对于线性码而言惯常的那样,使得错误校正子的单独分量s1,…s5被确定为
s1=c1'⊕y1'⊕y2'⊕y3'⊕y4'⊕y5'⊕y6']]>
s2=c2'⊕y1'⊕y2'⊕y3'⊕y7'⊕y8'⊕y9']]>
s3=c3'⊕y1'⊕y4'⊕y5'⊕y7'⊕y8'⊕y10']]>
s4=c4'⊕y2'⊕y4'⊕y6'⊕y7'⊕y9'⊕y10']]>
s5=c5'⊕y3'⊕y5'⊕y6'⊕y8'⊕y9'⊕y10']]>
在这里,是行矢量的转置列矢量,并且是校正子的分量的行矢量[s1,…s5]的转置列矢量。
实现例如通过使用XOR门或通过使用商用合成工具进行的实现用于错误校正子s1、s2、s3、s4、s5的分量的所指示等式的校正子生成器61a的实现对于本领域的技术人员而言并不是困难的。
根据错误校正子s,解码器62a确定用于辅助读取值的关联修正矢量e=e1,…,e10,其为所考虑的线性纠错码C的信息位。表15 表示解码器52的值的表格。
表15

总而言之,存在32=25个不同的校正子值。相应的修正值被关联到表15中的那些的11个校正子值。
针对在表15中未列出的所有校正子值,用于e1,…,e10的值可以是随机的,其可以用于使解码器优化。例如,可以将所有那些值确定为0。如果错误校正子等于0,则不发生修正,如表15的第一行中所示,因为然后e=0,…0。如果其应用于s=hi,(i∈{1,…10})的错误校正子,则辅助读取值的第i分量被修正,其对应于1位错误的修正。在这种情况下,针对第i分量,适用ei=1。e的所有其他分量是0。如果s=[1,1,0,0,1]T=h3,则e=[0,0,1,0,0,0,0,0,0,0]T且辅助读取值的第三分量被修正。
在图11中图示出一个可能的解码器电路。
图11的解码器电路具有载送分量s1、s2、s3、s4、s5的5个二进制输入端和输出分量e1,…,e10的10个二进制输出端。其包括10个AND门110i,i=1,…,10,每个具有三个输入端,其中,AND门110i的输出端载送值ei。
载送分量s1的解码器的输入端均被连接到AND门1101、1102、 1103、1104、1105和1106的第一输入端。载送分量s2的解码器的输入端均被连接到AND门1101、1102、1103的第二输入端和AND门1107、1108、1109的第一输入端。载送分量s3的解码器的输入端被连接到AND门11010的第一输入端,均到AND门1104、1105、1107、1108的第二输入端且到AND门1101的第三输入端。载送分量s4的解码器的输入端均被连接到AND门1106、1109、1010的第二输入端且到AND门1102、1104、1107的第三输入端。载送分量s5的解码器的输入端均被连接到AND门1103、1105、1106、1108、1109、11010的第三输入端。
图12示出了用于所述实施例的可能检错电路。其包括校正子生成器1203,如其还被用于图6a中的修正器17a那样、5输入端XOR树1201和5输入端OR树1202。校正子生成器具有10个第一二进制输入端,在那里被施加可能错误的辅助读取值以及载送可能错误的校验位的5个其他输入端和在那里输出校正子位s1、s2、s3、s4、s5的5个输出端。校正子生成器的5个输出端被连接到XOR树1201的5个输入端,其在其输出端处输出校正子分量P(s)=s1⊕s2⊕…⊕s5的奇偶校验位P(s),并且还被连接到OR树1202的5个输入端,该OR树1202输出校正子分量的OR运算OR(s)=s1∨s2∨…∨s5。
如果只有1位错误和2位错误被区别,则由于H矩阵H的所有列hi包括奇数个1,适用下式:
当P(s)=1且OR(s)=1时,存在1位错误。
当P(s)=0且OR(s)=1时,存在2位错误。
图13示出了修正电路和检错电路的联合实现。由于校正子生成器1301可以被用于纠错以及检错两者,所以可以实现仅一个校正子生成器,并将载送分量s1,…,s5的其输出端同时地连接到解码器1304的相应输入端、XOR树1302的输入端和OR树1203的输入端,使得修正器 Cor 17和用于检错Det 120的电路在这里被一起实现。
现在将解释所考虑实施例的运行。
在具有根据图3c的子电路BT的存储器中,将存储二进制值x1,…,x8=0、0、1、1、0、1、1、1。如图3c中所示,子电路BT又包括子电路BT1 38、BT2 39、BT3 310和BT4 311,其中,两个子电路BT1和BT2实现相同的函数f,如表6中所示。
子电路BT1根据表6将位x1、x2、x3=001变换成三进制状态2ter、1ter。子电路BT2将表6的位x4、x5、x6=101变换成三进制状态0ter、2ter。子电路BT3将位x7=1映射成三进制状态1tet,如同子电路BT4将位x8=1映射到三进制状态1ter一样。三进制状态2ter、1ter、0ter、2ter、1ter、1ter被写入存储器Sp 13的前6个存储单元中。
编码器Cod 12将8个二进制输入值x1,…,x8=0、0、1、1、0、1、1、1变换成五个二进制校验位c1,…,c5。
如所述,编码器的运行可以被理解成使得其首先以函数方式将其输入值变换成相应的辅助读取值,并且在这里使用线性码C根据辅助读取值来生成相应的校验位,然而这两个步骤不必例如由于相应子电路的共同优化而单独地执行。
根据表9,位x1、x2、x3=0、0、1首先被编码器变换成辅助读取值y1、y2、y3、y4=1、1、0、1,位x4、x5、x6=101被变换成辅助读取值y5、y6、y7、y8=0、0、1、1且位x7=1被变换成y9=1且位x8=1被变换成y10=1。根据所得到的辅助读取值1101001111,由下式来确定二进制校验位c1,…,c5
c1,c2,c3,c1,c5=(1,1,0,1,0,0,1,1,1,1)·P=1,1,1,1,1
因为其可以被直接计算。二进制校验位c1,c2,c3,c4,c5=1,1,1,1,1被子电路bt1 1010,…,bt5 1011变换成三进制状态1ter、1ter、1ter、1ter、1ter,并 且均被写入存储器sp 1013的五个其他单元中的单独的一个中,使得总的来说,值z1,…,z4,z5,z6,c1,…,c5=2ter,1ter,0ter,2ter,1ter,1ter,1ter,1ter,1ter,1ter,1ter被写入三进制存储器中。
如果未发生错误,则状态值z1',...z4',z5',z6',c1',...c5'=2ter,1ter,0ter,]]>2ter,1ter,1ter,1ter,1ter,1ter,1ter,1ter]]>被读出。三进制值被在图4中详细地图示出的子电路LH 16使用用于LH1、LH2、LH3和LH4的表8变换成辅助读取值y1'y2'=LH1(2ter)=11.y3',y4'=]]>LH2(1ter)=01.y5'y6'=LH3(0ter)=00.y7',y8'=LH4(2ter)=11.y9'=LH5(1ter)]]>=1.y10'=LH6(1ter)=1.]]>对应于校验位c1,…,c5的三进制状态1ter,…,1ter被相应的子电路tb1 151,…,tb5 155变换成二进制值1bin,…,1bin,使得辅助读取值y'=(1,1,0,1,0,0,1,1,1,1)被子电路LH 16输出。从存储器读出的这些辅助读取值和校验位被施加于修正器17的相应输入端。在图6a的其校正子生成器61a中,修正器形成错误校正子
(s1,…,s5)T=H·(1,1,0,1,0,0,1,1,1,1,1,1,1,1,1)T=(0,0,0,0,0,)T,
其再次地被简单地计算,并且解码器62a根据表15、第一行输出修正矢量e=e1,…,e10=0,…,0,其分量在XOR电路18a中被与辅助读取值y'组合成已修正辅助读取值
yc=y1c,...,y10c=y1'⊕0,...,y10'⊕0=1,1,0,1,0,0,1,1,1,1=y'⊕e.]]>
根据已修正辅助读取值yc,子电路BB 19形成已修正输出值xc。子电路BB 19被如图7c中所示地设置。子电路BB1 78根据表10将已修正辅助读取值变换成已修正输出值子电路BB2 79根据表10将已修正辅助读取值变换成已修正输出值子电路BB3 710将已修正辅助读取值变换成已修正输出值x7=1。子电路BB4 711将已修正辅助读取值变换成已修正输出值x8=1。在电路输出端处,因此输出已修正结果x1c,...,x8c=0,0,1,1,0,1,1,1.]]>
现在假设被写入存储器中的三进制状态z1=2在读出时被错误地误用成状态然后当从存储器读出时,状态值z1,...,z4,z5,z6,c1,...,c5=1ter,]]>1ter,0ter,2ter,1ter,1ter,1ter,1ter,1ter,1ter,1ter]]>被读出。三进制值被图4中详细地图示出的子电路LH 16使用表8变换成辅助读取值y1'y2'=LH1(1ter)=01.y3'y4'=LH2(1ter)=01.]]>y5'y6'=LH3(0ter)=00.y7'y8'=LH4(2ter)=11.y9'=LH5(1ter)=1.]]>使得辅助读取值y′=(0,1,0,1,0,0,1,1,1,1)被子电路LH 16输出。从存储器读出的这些辅助读取值和校验位被施加于修正器17的相应输入端。在图6的其校正子生成器61a中,修正器形成错误校正子
(s1,…,s5)T=H·(0,1,0,1,0,0,1,1,1,1,1,1,1,1,1)T=(1,1,1,0,0)T,并且解码器620根据表15、第二行输出修正矢量e=e1,…,e10=1,0,…,0,其在XOR电路18a中被与辅助读取值y′组合成已修正辅助读取值
yc=y1c,...,y10c=y1'⊕1,y2'⊕0,...,y10'⊕0=1,1,0,1,0,0,1,1,1,1=y'⊕e.]]>
同样地,从图11可以推断对于校正子1,1,1,0,0=s1,s2,s3,s4,s5而言,AND门1101在其输出端处输出值e1=1,而对于所有其他AND门110i而言,i=2,…,10,适用ei=0。所存储的三进制值2ter的被错误地误用成1ter的错误已在辅助读取值中被修正。根据已修正辅助读取值yc,如果所述子电路BB 19形成已修正输出值xc。
在电路输出端处,因此,再次地输出已修正结果x1c,...x8c=0,0,1,1,0,]]>1,1,1.]]>
如果存在检错电路Det 120,如在图12中其包括校正子生成器51,、XOR树1201和OR树1202,则其适用于错误校正子P(s)=1的分量的奇偶校验位P(s)所适用和OR运算OR(s)=1所适用的错误校正子s1,…,s5=1,1,1,0,0,使得指示1位错误。
实施例提供了被配置成存储并对其中n≥3的二进制数据序列x1,..,xn进行错误修正的电路,该二进制数据序列x1,…,xn可以被存储在包括可以采取三进制状态的存储单元的存储器中,其中,根据二进制状态序列,某些三进制值被存储在可以采取三进制状态的存储单元中,并且其中,当从可以采取三进制状态的存储单元从存储器读取可能错误的三进制值时,形成二进制辅助读取值,其中,存在根据在其至少n个二进制输入端处输入的数据x1,…,xn而在其输出端处输出二进制校验位的编码器,其中,载送二进制校验位的编码器的输出端在向存储器中写入时被连接到存储器的存储单元的数据输入端,其中,被连接到编码器输出端的存储单元的数据输入端未被连接到编码器的任何其他输出端,并且其中,编码器被配置成使得由编码器确定的二进制校验位和二进制辅助读取值在无错误情况下形成纠错码的代码字。
根据某些实施例,编码器被实现成使得除用于输入数据值x1,…,xn的n个二进制输入端之外,编码器此外还包括用于输入根据地址位(a=a1,…,aQ)确定的二进制值A=A1,…,Aq=F(a1,…,aQ)的q个二进制输入端,其中,F是Q位二进制值到q位二进制值的唯一映射,其中,Q是存储器地址的字宽,并且其中,适用1≤q≤Q,并且其中,编码器被配置成使得由编码器确定的二进制校验位、根据地址位确定的值A1,…,Aq和二进制辅助读取值在无错误情况下形成纠错码的代码字。
一些实施例提供了用于二进制值序列x1,…,xn在存储器中的存储的电路,其中,n≥3,其中,存储器的存储单元的非空子集的存储单元可 以采取三个状态值,并且其中,可以不采取三个状态值的所有存储单元可以采取两个状态值,具有以下特征
1.存在子电路BT,其具有n个二进制输入端和用于n个二进制输入值x1,…,xn到M个输出值的变换的M个输出端,
z1,...,zm,zm+1,…,zM=BT(x1,…,xn)
其中,2≤m≤M,并且其中,M<n且其中n≥4,
其中,输出值z1,…,zm可以根据输入值而采取三个不同的值,并且其中,输出值zm+1,…,zM可以根据输入值而采取至多两个不同值,
2.子电路BT的M个输出端被馈送到存储器Sp的M个数据输入端中,其中,当向存储器中写入时,子电路BT的输出值z1,…,zm被存储到存储单元中,其可以采取3个状态,并且其中输出值zm+1,…,zM被存储在可以采取至少两个状态的存储单元中,
3.存在用于确定二进制辅助读取值的子电路LH,
y1',...,yk'=LH(z1',...,zm',zm+1',...,zM')]]>
其具有M个输入端和k个输出端,其中,当从存储器读取时,子电路LH的m个第一输入端被连接到存储器Sp的存储单元的数据输出端,当写入时,三进制值z1,…,zm被写入其中,并且当读取时,从其中读出可能错误的三进制值并且子电路LH的其他M-m个输入端被连接到存储单元的数据输出端,当写入时,值zm+1,…,zm被写入其中,并且当读取时,从其中读出可能错误的值并且其在其k个输出端处输出k个二进制辅助读取值其中k≥m+M。
4.存在用于根据n个二进制输入值x1,…,xn来确定l个二进制校验位c1,…,cl的编码器Cod,其具有n个二进制输入端和l个二进制输出端,其中
c1,…,cl=Cod(x1,…,xn) 其中,在编码器Cod的n个二进制输入端处,施加二进制输入值x1,…,xn,并且在l个二进制输出端处,输出相应的二进制校验位c1,…,cl,并且其中,编码器被配置成使得其根据输入值x1,…,xn来确定校验位c1,…,cl,使得位
y1,…,yk,c1,…cl
形成具有k个数据位和l个校验位的长度k+l的纠错码C的代码字,并且位
y1,…,yk=LH[BT(x1,…,xn)]
被子电路BT和LH以函数方式通过数据位x1,…,xn的后续变换而确定,
5.针对j=1,…,l,载送校验位cj的编码器Cod的输出端在向存储器中写入时被连接到第j存储单元的数据输入端,其中,此第j存储单元的数据输入端未被连接到编码器的其他输出端,
6.存在具有l个第一二进制输入端和k个第二二进制输入端的用于纠错码C的修正器Cor,其中,对于j=1,…,l而言,修正器的l个第一输入端中的第j输入端被连接到存储单元的数据输出端,其在写入时被连接到编码器的第j输出端,使得当在其第j输入端处发生错误时,施加可能错误的第j校验位的值并且当未发生错误时,施加第j校验位的正确值cj,并且其中,在修正器的k位宽第二输入端处,施加由子电路LH输出的可能错误的辅助读取值并且修正器被配置成使得其在其k位宽输出端处输出修正矢量e=e1,…,ek,使得适用
y1,...,yk=y1'op1e1,...,yk'opkek]]>
当发生可以被纠错码C修正的错误且op1,…,opk是唯一地可逆二进制运算时,并且其中,修正矢量e等于零矢量当未发生错误时,其中,对于i=1,…,k而言是运算opi的零元素。
7.存在具有k位宽第一输入端和k位宽第二输入端和k位宽输出 端的组合电路Vkn,其中,第一k位宽输入端被连接到子电路LH的k位宽输出端,其载送可能错误的辅助读取值并且第二k位宽输入端被连接到修正器Cor的k位宽输出端,其载送修正矢量e=e1,…,ek,其中,组合电路被配置成使得其在其k输出端处输出已修正辅助读取值。
y1cor,...,ykcor=y1'op1e1,...,yk'opkek]]>
其中,op1,…,opk是唯一可逆运算,并且当未发生或发生可被代码C修正的错误时,适用y1cor,...,ykcor=y1,...,yk,]]>
8.存在用于二进制已修正辅助读取值到n个二进制已修正数据位的变换的子电路BB,其被配置成使得当适用时,也适用
9.子电路BT11、LH 16和BB 19被配置成使得至少当在由子电路BT、LH和BB进行的输入值的后续变换之后未发生错误时输入值x=x1,…,xn被再现,并且适用下式
BB{LH[BT(x1,…,xn)]}=x1,…,xn。
在某些实施例中,编码器被实现成使得由编码器确定的校验位另外取决于写地址的地址位的值a=a1,…,aQ,并且修正器被实现成使得由修正器确定的修正矢量另外取决于读地址的地址位的相应值。
根据实施例,除用于输入数据位x1,…,xn的输入端之外,编码器还包括用于输入从读地址的地址位a=a1,…,aQ导出的q位A1,…,Aq的q(q≥1)个二进制输入端
A1,...,Aq=F(a1,...,aQ)
其中,F是位A1,…,Aq到读地址的位a1,…,aQ的唯一分配,并且其中,编码器被配置成使得c1,…,cl、y1,…,yk、A1,…,Aq是纠错码C的代码字, 并且其中,除用于输入可能错误的校验位和k个可能错误的辅助读取值的l个二进制输入端之外,修正器还包括用于输入从读地址的Q个地址位导出的q位的q个二进制输入端,
A1',...,Aq'=F(a1',...,aQ').]]>
在一些实施例中,除用于输出修正值e1,…,ek和用于修正辅助读取值的k个二进制输出端之外,修正器还包括用于输出修正值以用于修正从读地址的地址位导出的位的q个二进制输出端。
根据实施例,适用q=1,并且
A1=F(a1,…,aQ)=al⊕…⊕aQ
是写地址的奇偶校验位
A1'=F(a1',...,aQ')=a1'⊕...⊕aQ']]>
是读地址的奇偶校验位。
在实施例中,适用q=Q、Al,…,AQ=a1,…,aq和
根据一些实施例,载送修正值的修正器的输出端被馈送到检错电路的q个输入端中,其在修正值对应于地址修正时在其输出端处指示地址错误。
在实施例中,检错电路被实现为具有q个输入端的NOR电路,其中,q个输入端被连接到修正器的输出端的q个修正值
根据一些实施例,代码C是线性码。
在实施例中,修正器是校正子生成器和解码器的串联电路。
根据实施例,修正器是校正子生成器和解码器的串联连接,并且校正子生成器被连接到地址错误确定器,其在由校正子生成器确定的错误校正子对应于地址错误时输出信号“地址错误”。
在一些实施例中,对于j=1,…,l而言,用于编码器的校验位cj的第j输出端、校验位cj被连接到子电路btj的输入端以用于二进制值cj到三进制值的变换,其中,输出端在写入时被连接到存储单元的数据输入端以便存储三进制值并且其中,当读取时,用于存储三进制值的三进制存储单元的数据输出端被连接到子电路tbj的输入端以用于三进制值到二进制值的变换,其中,输出端被连接到修正器的相应输入端,其中,适用tbj[btj(cj)]=cj。
根据实施例,二进制值0被子电路btj变换成最小三进制值,并且其中,值1被子电路btj变换成最大三进制值。
在实施例中,二进制值0被子电路btj变换成最小三进制值,并且其中,值1被子电路btj变换成最小三进制值。
根据实施例,针对至少一个j∈{1,…,l},编码器的第j输出端在写入时被直接连接到存储单元的数据输入端以便存储二进制值cj,并且其中,当读取时用于存储二进制值cj的存储单元的数据输出端被直接连接到修正器的相应输入端。
在某些实施例中,代码C是具有生成矩阵G=(I,P)的线性码,并且编码器被实现成使得根据以下关系来确定校验位c=c1,…,cl
c=c1,…,cl=(LH[BT(x1,…,xa)])·P=(y1,…,yk)·P
其中,当在检错中未包括地址位时,G是(k,k+l)矩阵,并且根据以下关系来确定校验位
c=c1,…,cl={LH[BT(x1,…,xn)],A1,…,Aq}·P=(y1,…,yk,A1,…,Aq)·P
其中,当在通过从地址位a1,…,aQ导出的位A1,…,Aq的检错中包括地址位时,G是(k+q,k+l+q)矩阵。
根据实施例,用于输入值x1,…,xn到输出值z1,…,zm,zm+1,…,zM的变换的子电路BT是用于输入值x1,…,xn到k个二进制辅助写入值的变换的子电路BSS 94和用于二进制辅助写入值到电路BT 11的输出值z1,…,zm,zm+l,…,zM的变换的子电路BTS 95。
在实施例中,子电路BSS被实现成使得由子电路BSS确定的辅助写入值等于由子电路BB和LH确定的无错误辅助读取值y1,…,yk,并且编码器被实现成使得其使用由子电路BBS输出的辅助写入值来确定校验位c1,…,cl。
根据实施例,编码器被实现成使得根据以下关系来确定校验位c=c1,…cl
c=c1,...,cl=BBS(x1,...,xn)·P=(y1s,...,yks)·P]]>
其中,当在检错中未包括地址位且其根据以下关系来确定时,G是(k,k+l)矩阵
c=c1,...,cl={BBS(x1,...,xn),A1,...,Aq}·P=(y1s,...,yks,A1,...,Aq)·P,]]>
其中,当在通过从地址位al,…,aQ导出的位Al,…,Aq的检错中包括地址位时,G是(k+q,k+l+q)矩阵。
根据实施例,用于根据从存储器读出的状态值来确定二进制辅助读取值的子电路LH 16被实现成使得逐个分量地向每个三进制状态分量分配至少两个二进制读取值,并向每个二进制状态分量zm+l,…,zM分配至少一个二进制辅助读取值,并且使得适用k≥m+M,
虽然已在设备的背景下描述了某些方面,但显而易见的是这些方面也表示相应方法的描述,其中,块或设备对应于方法步骤或方法步骤的特征。同样地,在方法步骤的背景下描述的方面也表示相应设备的相应单元或项目或特征的描述。
本发明分解信号能够被存储在数字存储介质上或者能够在诸如无线传输介质或诸如因特网的有线传输介质的传输介质上传送。
根据某些实施方式要求,能够用硬件或软件来实现本发明的实施例。可以使用数字存储介质来执行该实施方式,例如软盘、DVD、CD、ROM、PROM、EPROM、EEPROM或闪速存储器,其具有存储在其上面的电子可读控制信号,其与可编程计算机系统协作(或者能够与之协作),使得执行相应方法。
根据实施例的一些实施例包括具有电子可读控制信号的非临时性数据载体,其能够与可编程计算机系统协作,使得执行本文所述的方法中的一个。
一般地,可以将本发明的实施例实现为具有程序代码的计算机程序产品,该程序代码可操作用于在计算机程序产品在计算机上运行时执行方法中的一个。该程序代码可以例如存储在机器可读载体上。
其他实施例包括存储在机器可读载体上的的用于执行本文所述方法中的一个的计算机程序。
换言之,本发明方法的实施例因此是计算机程序,其具有用于当计算机程序在计算机上运行时执行本文所述方法中的一个的程序代码。
本发明方法的另一实施例因此是数据载体(或数字存储介质或计算机可读介质),包括记录在其上面的用于执行本文所述方法中的一个的计算机程序。
本发明方法的另一实施例因此是表示用于执行本文所述方法中的一个的计算机程序的数据流或信号序列。该数据流或信号序列可以被配置成通过数据通信连接、例如通过因特网被传输。
另一实施例包括处理装置,例如计算机或可编程逻辑器件,其被配置成或适合于执行本文所述方法中的一个。
另一实施例包括一种计算机,具有安装在其上面的用于执行本文所述方法中的一个的计算机程序。
在一些实施例中,可以使用可编程逻辑器件(例如现场可编程门阵列)来执行本文所述方法的功能中的一些或全部。在一些实施例中,现场可编程门阵列可以与微处理器协作以便执行本文所述的方法中的一个。一般地,优选地用任何硬件设备来执行该方法。
虽然已根据多个有利实施例描述了本发明,但存在落在本发明的范围内的变更、替换以及等价物。还应注意的是存在实现本发明的方法和构成的许多替换方式。因此意图在于将以下所附权利要求解释为包括落在本发明的主旨精神和范围内的所有变更、替换和等价物。
本文所述的实施例仅仅说明本发明的原理。应理解的是本文所述的装置和细节的修改和变化对于本领域的技术人员而言将是显而易见的。因此意图仅仅是由紧接着的专利权项而不是由通过本文中的实施例的描述和说明提出的特定细节来限制。
虽然每个权项仅返回引用一个单独的权项,但本公开也覆盖权项的任何可想到的组合。

用于多位修正的电路和方法.pdf_第1页
第1页 / 共82页
用于多位修正的电路和方法.pdf_第2页
第2页 / 共82页
用于多位修正的电路和方法.pdf_第3页
第3页 / 共82页
点击查看更多>>
资源描述

《用于多位修正的电路和方法.pdf》由会员分享,可在线阅读,更多相关《用于多位修正的电路和方法.pdf(82页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103793289 A (43)申请公布日 2014.05.14 CN 103793289 A (21)申请号 201310533144.9 (22)申请日 2013.10.31 13/664,495 2012.10.31 US G06F 11/10(2006.01) (71)申请人 英飞凌科技股份有限公司 地址 德国瑙伊比贝尔格市坎芘昂 1 12 号 (72)发明人 M. 格泽尔 T. 柯恩 (74)专利代理机构 中国专利代理(香港)有限公 司 72001 代理人 马丽娜 马永利 (54) 发明名称 用于多位修正的电路和方法 (57) 摘要 本发明涉及用于多位修正的。

2、电路和方法。提 供了一种电路, 包括包含多个存储单元的存储器, 其中, 所述存储器的所述多个存储单元中的至少 一个被配置成采取至少三个不同状态中的一个。 该电路还包括被配置成基于二进制值序列来生成 多个三进制输出值的第一子电路 BT、 被配置成基 于所述一个或多个状态值将一个或多个三进制状 态值变换成二进制辅助读取值的第二子电路 LH 以及被配置成生成一个或多个二进制校验位的编 码器, 其中, 所述编码器被配置成将所生成的一个 或多个校验位中的每一个存储在不同的存储单元 中。 (30)优先权数据 (51)Int.Cl. 权利要求书 8 页 说明书 45 页 附图 28 页 (19)中华人民共和。

3、国国家知识产权局 (12)发明专利申请 权利要求书8页 说明书45页 附图28页 (10)申请公布号 CN 103793289 A CN 103793289 A 1/8 页 2 1. 一种电路, 包括 : 存储器, 包括多个存储单元, 其中, 所述存储器的所述多个存储单元中的一个或多个均 被配置成采取至少三个不同状态中的一个 ; 第一子电路 BT, 被配置成基于二进制值序列来生成多个输出值, 其中, 所述多个输出值 中的每一个等于至少三个不同基本值中的一个, 其中, 第一子电路 BT 被配置成将每个输出 值作为状态值存储在一个或多个存储单元中的不同的一个中, 其均被配置成采取至少三个 不同状态。

4、中的一个 ; 第二子电路 LH, 被配置成从被配置成采取至少三个不同状态中的一个的所述存储单 元中的至少一个中的每一个读取状态值, 其中, 所述状态值是三个不同基本值中的一个, 其 中, 第二子电路 LH 此外被配置成基于所述存储单元中的至少一个中的每一个的状态值来 确定二进制辅助读取值, 以及 编码器, 被配置成基于所述二进制值序列的至少一部分来生成一个或多个二进制校验 位, 其中, 纠错码包括多个代码字, 并且其中, 所述编码器被配置成生成所述一个或多个二 进制校验位, 使得当二进制辅助读取值和所述一个或多个二进制校验位无错误时, 二进制 辅助读取值和所述一个或多个二进制校验位一起形成纠错。

5、码的代码字中的一个, 其中, 所述编码器被配置成将所生成的一个或多个校验位中的每一个存储在存储器的 存储单元中的一个或多个中, 使得所述一个或多个校验位中的每一个被存储在存储器的存 储单元中的不同的一个中, 其中, 其中存储了校验位的每个存储单元被配置成采取至少两 个不同状态中的一个。 2. 根据权利要求 1 所述的电路, 其中, 均被配置成采取至少三个不同状态中的一个的存储器的所述多个存储单元中的 一个或多个是三进制存储单元, 其中, 所述三进制存储单元被配置成采取准确地三个不同 状态中的一个, 其中, 所述第一子电路 BT 被配置成生成所述多个输出值, 使得所述多个输出值中的每 一个具有准。

6、确地三个不同基本值中的一个, 其中, 第一子电路 BT 被配置成将输出值中的每 一个作为状态值存储在三进制存储单元中的不同的一个中, 以及 其中, 所述第二子电路 LH 被配置成从三进制存储单元中的至少一个读取一个或多个 状态值, 其中, 所述一个或多个状态值中的每一个具有准确地三个不同基本值中的一个, 并 且其中, 第二子电路 LH 此外被配置成基于一个或多个状态值来确定二进制辅助读取值。 3. 根据权利要求 1 所述的电路, 其中, 所述电路此外包括修正器 Cor 和组合电路 Vkn, 其中, 所述第二子电路 LH 被配置成向修正器 Cor 和组合电路 Vkn 中馈送二进制辅助读 取值, 。

7、其中, 所述修正器 Cor 被配置成从存储器的存储单元中的一个或多个读取一个或多个 校验位, 并基于二进制辅助读取值和所述一个或多个校验位生成纠错位, 并且将纠错位馈 送到组合电路 Vkn 中, 以及 其中, 组合电路 Vkn 被配置成基于纠错位对二进制辅助读取值执行纠错以获得二进制 辅助无错误读取值, 如果该错误可被纠错码修正的话。 4. 根据权利要求 3 所述的电路, 其中, 所述组合电路 Vkn 被配置成执行纠错, 使得二进 权 利 要 求 书 CN 103793289 A 2 2/8 页 3 制辅助无错误读取值和所述一个或多个校验位形成纠错码的代码字中的一个。 5. 根据权利要求 3 。

8、所述的电路, 其中, 所述电路还包括被配置成将二进制辅助无错误 读取值变换成 n 个二进制纠错数据位的第三子电路 BB, 其中, n 是整数。 6. 根据权利要求 2 所述的电路, 其中, 所述二进制值序列包括 n 位, 其中, n 是整数, 并且 n 3, 其中, 所述编码器包括被配置成接收二进制数据的至少 n 个编码器输入端口, 其中, 所述编码器包括一个或多个编码器输出端口, 其中, 所述编码器被配置成在所述至少 n 个编码器输入端口处接收所述二进制值序 列, 其中, 所述编码器被配置成在所述一个或多个编码器输出端口处输出所述一个或多个 二进制校验位, 其中, 被配置成分别载送二进制校验。

9、位中的一个或多个的编码器输出端口中的一个或 多个在向存储器中写入时分别地被连接到存储器的存储单元中的一个的输入端口, 其中, 被连接到编码器的输出端口中的一个的每个存储单元的每个输入端口未被连接 到所述编码器的任何其他输出端口, 以及 其中, 所述编码器被配置成使得在无错误情况下由编码器确定的所述一个或多个校验 位和所述二进制辅助读取值形成纠错码的代码字中的一个。 7. 根据权利要求 1 所述的电路, 其中, 所述编码器被配置成基于地址位 a=a1, aQ而 生成所述一个或多个二进制校验位。 8. 根据权利要求 7 所述的电路, 其中, 所述编码器被配置成生成所述一个或多个二进 制校验位, 使。

10、得由编码器确定的二进制校验位、 二进制值 A1, Aq根据地址位 a a1, aQ和二进制辅助读取值在无错误情况下形成纠错码的代码字。 9. 根据权利要求 6 所述的电路, 其中, 编码器被实现成使得编码器此外包括用于输入二进制值 A1, Aq的 q 个二进 制输入端, 其中, 适用 A1, Aq F(a1, aQ), 其中, a1, aQ是地址位, 其中, F 是 Q 位二进制值到 q 位二进制值的唯一映射, 其中, Q 是存储器的存储器地址的字宽, 其中, 适用 1qQ, 并且其中, 编码器被配置成使得由编码器确定的二进制校验位、 根据地址位确定 的值 A1, Aq和二进制辅助读取值在无错。

11、误情况下形成纠错码的代码字。 10. 一种电路, 包括 : 存储器, 包括多个存储单元, 其中, 所述存储器的所述多个存储单元中的一个或多个是 均被配置成采取三个不同状态中的一个的三进制存储单元 ; 第一子电路 BT, 被配置成基于二进制值序列生成多个输出值, 其中, 所述多个输出值中 的每一个具有三个不同基本值中的一个, 其中, 第一子电路被配置成将每个输出值作为状 态值存储在均被配置成采取三个不同状态中的一个的一个或多个三进制存储单元中的不 同的一个中 ; 第二子电路 LH, 被配置成从被配置成采取至少三个不同状态中的一个的所述三进制存 储单元中的至少一个中的每一个读取状态值, 其中, 所。

12、述状态值是三个不同基本值中的一 个, 其中, 第二子电路 LH 此外被配置成基于所述三进制存储单元中的至少一个中的每一个 的状态值来确定二进制辅助读取值 ; 权 利 要 求 书 CN 103793289 A 3 3/8 页 4 编码器, 被配置成基于二进制序列的至少一部分来生成一个或多个二进制校验位, 其 中, 所述纠错码包括多个代码字, 并且其中, 所述编码器被配置成生成一个或多个二进制校 验位, 使得当所述二进制辅助读取值和所述一个或多个二进制校验位无错误时, 二进制辅 助读取值和所述一个或多个二进制校验位一起形成纠错码的代码字中的一个, 其中, 所述 编码器被配置成将所生成的一个或多个校。

13、验位中的每一个存储在存储器的存储单元中的 一个或多个中, 使得所述一个或多个校验位中的每一个被存储在存储器的存储单元中的不 同的一个中, 其中, 其中存储了校验位的存储单元中的每一个被配置成采取至少两个不同 状态中的一个 ; 修正器 Cor ; 组合电路 Vkn ; 以及 第三子电路 BB, 其中, 所述第二子电路 LH 被配置成向修正器 Cor 和组合电路 Vkn 中馈送二进制辅助读 取值, 其中, 所述修正器 Cor 被配置成从存储器的所述存储单元中的一个或多个读取所述一 个或多个校验位, 其中, 所述修正器 Cor 被配置成基于二进制辅助读取值和所述一个或多 个校验位来生成纠错位, 并且。

14、其中, 所述修正器 Cor 被配置成将纠错位馈送到组合电路 Vkn 中, 其中, 所述组合电路 Vkn 被配置成基于纠错位对二进制辅助读取值执行纠错以获得二 进制辅助无错误读取值, 以及 其中, 所述第三子电路BB被配置成将二进制辅助无错误读取值变换成n个二进制纠错 数据位。 11. 一种电路, 被配置成将二进制值序列 x1, xn存储在包括存储单元的存储器 Sp 中, 其中, n 4, 其中, 所述存储器的存储单元中的每一个被配置成采取三个状态值中的一 个或者采取两个状态值中的一个, 其中, 所述存储器的存储单元中的至少一个被配置成采 取三个状态值中的一个, 并且其中所述电路包括 : 第一子。

15、电路BT, 具有n个二进制输入端和M个输出端, 其中, 第一子电路BT被配置成将 n 个二进制输入值 x1, xn变换成 M 个输出值 z1, zm, zm+1, zM BT(x1, xn), 其中, 2 m M, 其中, M n, 其中, 输出值 z1, zm中的每一个根据二进制输入值而具 有三个不同值中的一个, 并且其中, 输出值 zm+1, , zM中的每一个根据二进制输入值而具有 至多两个不同值中的一个, 其中, 第一子电路 BT 具有与存储器 Sp 的 M 个数据输入端相连的 M 个输出端, 其中, 当向存储器 Sp 中写入时, 第一子电路 BT 的输出值 z1, zm被存储到存 储。

16、器的存储单元中, 其被配置成采取三个状态中的一个, 并且其中, 输出值 zm+1, zM被存 储在被配置成采取至少两个值中的一个的存储单元中 ; 第二子电路 LH, 被配置成确定二进制辅助读取值 其中, 所述第二子电路 LH 具有 M 个输入 端和 k 个输出端, 其中, 当从存储器读取时第二子电路 LH 的输入端中的 m 个第一输入端被 连接到存储器 Sp 的存储单元的数据输出端, 当写入时向其中写入三进制值 z1, zm, 并且 当读取时从其中读出可能错误的三进制值并且第二子电路 LH 的另外 M-m 个输入 权 利 要 求 书 CN 103793289 A 4 4/8 页 5 端被连接到。

17、存储单元的数据输出端, 当写入时向其中写入值 zm, zM, 并且当读取时从其 中读出可能错误的值并且其中, 第二子电路LH在其k个输出端处输出k个二进 制辅助读取值其中 k m+M ; 编码器 Cod, 具有 n 个二进制输入端和被配置成根据 n 个二进制输入值 x1, xn来确 定 l 个二进制校验位的 l 个二进制输出端, 其中 c1, cl Cod(x1, xn), 其中, 在编码 器 Cod 的 n 个二进制输入端处, 适用二进制输入值 x1, , xn, 并且在编码器的 l 个二进制输 出端处, 输出由二进制输入值 x1, xn确定的二进制校验位 c1, cl, 并且其中, 编码器。

18、 被配置成根据二进制输入值 x1, xn来确定校验位 c1, cl, 使得位 y1, yk, c1, cl形成具有 k 个数据位和 l 个校验位的长度 k+l 的纠错码 C 的代码字, 使得二进制校验位 中的每一个被存储在存储单元中的不同的一个中。 12. 根据权利要求 11 所述的电路, 其中, 通过由第一子电路 BT 和第二子电路 LH 进行 的二进制输入值 x1, xn的变换来确定位 y1, yk LHBT(x1, xn), 其中, 对于 j=1, l 而言, 载送校验位 cj的编码器 Cod 的输出端在向存储器中写入时被连接到第 j 存储单元的数据输入端, 其中, 此第 j 存储单元的。

19、数据输入端未被连接到编码器的其他输 出端。 13. 根据权利要求 12 所述的电路, 其中, 所述电路还包括具有 l 个第一二进制输入端 和 k 个二进制输入端的用于纠错码 C 的修正器, 其中, 对于 j=1, l 而言, 修正器的 l 个 第一输入端中的第 j 输入端被连接到存储单元的数据输出端, 其在写入时被连接到编码器 的第 j 输出端, 使得当在其第 j 输入端处发生错误时, 施加可能错误的第 j 校验位的值 并且当未发生错误时施加第j校验位的已修正值cj, 并且其中, 在修正器的k位宽第二输入 端处, 施加由第二子电路 LH 输出的可能错误的辅助读取值并且其中, 修正器被配 置成当。

20、发生可以被纠错码 C 修正的错误且 op1, , opk是唯一可逆二进制运算时, 在其 k 位 宽输出端处输出修正矢量 e=e1, ek。 14. 根据权利要求 13 所述的电路, 其中, 所述电路还包括具有 k 位宽第一输入端和 k 位宽第二输入端和 k 位宽输出端的组合电路 Vkn, 其中, 所述组合电路的第一 k 位宽输入端 被连接到第二子电路 LH 的 k 位宽输出端, 其载送可能错误的辅助读取值并且其 中, 组合电路的第二 k 位宽输入端被连接到载送修正矢量 e=e1, ek的修正器 Cor 的 k 位宽输出端, 并且其中, 所述组合电路被配置成在其 k 个输出端处输出已修正辅助读取。

21、值 其中, op1, opk是唯一可逆运算, 并且其 中, 当不存在错误或存在可被代码 C 修正的错误时, 适用 15. 根据权利要求 14 所述的电路, 其中, 所述电路还包括被配置成将二进制已修正辅 助读取值变换成 n 个二进制已修正数据位的第 三子电路 BB, 其中, 第三子电路 BB 被配置成使得当适用时, 也适用 16. 根据权利要求 15 所述的电路, 其中, 第一子电路 BT、 第二子电路 LH 和第三子电 权 利 要 求 书 CN 103793289 A 5 5/8 页 6 路 BB 被配置成使得至少当在由第一子电路 BT、 由第二子电路 LH 和由第三子电路 BB 进 行的输。

22、入值的后续变换之后未发生错误时, 输入值 x=x1, xn被再现, 并且其中适用 BBLHBT(x1, ., xn) x1, ., xn。 17.根据权利要求16所述的电路, 其中, 所述编码器被配置成使得由编码器Cor确定的 校验位此外取决于写地址 a1, aQ的地址位的值, 并且其中, 所述修正器 Cor 被配置成使 得由修正器确定的修正矢量另外取决于读地址的地址位的相应值。 18. 根据权利要求 17 所述的电路, 其中, 除用于输入二进制输入值 x1, xn的 n 个二进制输入端之外, 所述编码器还包 括用于输入从读地址的地址位导出的 q 位 A1, Aq的 q 个二进制输入端, q 。

23、1, 其中适用 A1, Aq F(a1, aQ), 其中, F 是位 A1, Aq到读地址的位 a1, aQ的唯一分配, 并且其中, 所述编码器被 配置成使得 c1, cl、 y1, yk、 A1, Aq是纠错码 C 的代码字, 其中, 除用于输入可能错误的校验位和 k 个可能错误的辅助读取值 的 l 个二进制输入端之外, 所述修正器还包括用于输入从读地址的 Q 个地址位导出的 q 位 的 q 个二进制输入端, 以及 其中适用 19. 根据权利要求 18 所述的电路, 其中, 除用于输出修正值 e1, ek以用于修正辅助 读取值的k个二进制输出端之外, 所述修正器还包括用于输出修正值以用 于修。

24、正从读地址的地址位导出的位的 q 个二进制输出端。 20. 根据权利要求 18 所述的电路, 其中, q=1, 并且 A1=F(a1, aQ) a1 aQ是读地址的奇偶校验位, 以及 是写地址的奇偶校验位。 21. 根据权利要求 18 所述的电路, 其中 q=Q, A1,AQ=a1,aq且 22.根据权利要求19所述的电路, 其中, 载送修正值的修正器的输出端被馈送 到检错电路的 q 个输入端中, 其在修正值对应于地址修正时且在其输出端处指示 地址错误。 23. 根据权利要求 22 所述的电路, 其中, 所述检错电路包括具有 q 个输入端的 NOR 电 路, 其中, q 个输入端被连接到修正器。

25、的输出端的 q 个修正值 24. 根据权利要求 16 所述的电路, 其中, 所述代码 C 是线性码。 25. 根据权利要求 16 所述的电路, 其中, 所述修正器包括校正子生成器的解码器的串 联连接电路。 26. 根据权利要求 17 所述的电路, 其中, 所述修正器包括校正子生成器和解码器的串 联连接, 并且所述校正子生成器被连接到地址错误确定器, 其在由校正子生成器确定的错 误校正子对应于地址错误时输出信号 “地址错误” 。 权 利 要 求 书 CN 103793289 A 6 6/8 页 7 27. 根据权利要求 16 所述的电路, 其中, 对于 j=1, , l 而言, 编码器的第 j 。

26、输出端, 其 中, 校验位 cj被连接到第四子电路 btj的输入端以用于二进制值 cj到三进制值的变换, 其中, 所述输出端在写入时被连接到存储单元的数据输入端以便存储三进制值并且其 中, 当写入时, 用于存储三进制值的三进制存储单元的数据输出端被连接到第五子电路 tbj的输入端以用于三进制值到二进制值的变换, 其中, 输出端被连接到修正器的相 应输入端, 其中, 适用 tbjbtj(cj)=cj。 28. 根据权利要求 27 所述的电路, 其中, 所述二进制值 0 被第四子电路 btj变换成最小 三进制值, 并且其中, 值 1 被第四子电路 btj变换成最大三进制值。 29. 根据权利要求 。

27、27 所述的电路, 其中, 所述二进制值 0 被第四子电路 btj变换成最大 三进制值, 并且其中, 值 1 被第四子电路 btj变换成最小三进制值。 30. 根据权利要求 16 所述的电路, 其中, 对于至少一个 j 1,l 而言, 编码器的 第j输出端在写入时被直接连接到存储单元的数据输入端以便存储二进制值cj, 并且其中, 当读取时, 被用于存储二进制值 cj的存储单元的数据输出端被直接地连接到修正器的相应 输入端。 31. 根据权利要求 16 所述的电路, 其中, 代码 C 是具有生成矩阵 G (I, P) 的线性码, 并且所述编码器被实现成使得根据以下关系来确定 c c1, cl c。

28、=c1, cl=LHBT(x1, xn)P=(y1, ., yk)P 其中, G 是 (k, k+l) 矩阵, I 是 k 维单位矩阵, 并且 P 是 (k, l) 奇偶校验矩阵, 当在纠错 或检错中未包括地址位时, 其中, k 指示二进制辅助读取值的数目, 其中 l 指示校验位的数 目。 32. 根据权利要求 16 所述的电路, 其中, 代码 C 是具有生成矩阵 G=(I, P) 的线性码, 并 且所述编码器被实现成使得根据以下关系来确定 c c1, cl c c1, cl LHBT(x1, xn), A1, AqP (y1, yk, A1, Aq)P 其中, 当地址位通过从地址位 a1, 。

29、aQ导出的位 A1, Aq被用于检错时, G 是 (k+q, k+q+l) 矩阵, I 是 (k+q) 单位矩阵, 并且 P 是 (k+q, l) 奇偶校验矩阵, 其中, k 指示二进制辅 助读取值的数目, 其中, l 指示校验位的数目, 并且其中, q 指示从地址位 a1, aQ导出的 位 A1, Aq的数目。 33. 根据权利要求 16 所述的子电路, 其中, 用于输入值 x1, xn到输出值 z1, zm, zm+1, zM的变换的第一子电路 BT11 是用于输入值 x1, xn到 k 个二进制辅助写入值 的变换的第六子电路 BBS 和用于二进制辅助写入值到电路 BT 的输出值 z1, 。

30、zm, zm+1, zM的变换的第七子电路 BTS 的串联连接。 34. 根据权利要求 33 所述的电路, 其中, 第六子电路 BBS 被实现成使得由第六子电路 BBS确定的辅助写入值等于由子电路BB和LH确定的无错误辅助读取值y1, , yk, 并且所述编码器被实现成使得其使用由子电路BBS输出的辅助写入值来确定校验位c1, , cl。 35. 根据权利要求 31 所述的电路, 其中, 所述编码器被实现成使得根据以下关系来确 权 利 要 求 书 CN 103793289 A 7 7/8 页 8 定校验位 c=c1, cl 其中, P 是纠错码的 (kl) 奇偶校验矩阵。 36. 根据权利要求。

31、 32 所述的电路, 其中, 所述编码器被配置成使得根据以下关系来确 定校验位 c=c1, cl 其中, 当地址位被用于通过从地址位 a1, aQ导出的位 A1, Aq进行的检错时, P 是 (k+q, l) 奇偶校验矩阵。 37.根据权利要求16所述的电路, 其中, 用于根据从存储器读出的状态值来确 定二进制辅助读取值的第二子电路 LH 被配置成使得逐个分量 地向每个三进制状态分量分配至少两个二进制读取值, 并向每个二进 制状态分量 zm+1, zM分配至少一个二进制辅助读取值, 并且使得适用 k m+M。 38. 一种用于存储二进制数据 x1, , xn和用于用二进制代码 C 进行纠错的电。

32、路, 其中, 所述电路包括 : 三进制存储器电路, 包括具有三进制存储单元的三进制存储器 Sp, 其中, 所述三进制存 储器电路被配置成使得二进制数据 x1, xn可作为已编码三进制状态 z1, zM在写地 址 a1, aQ处写入三进制存储器的存储单元的一个或多个第一存储单元中, 其中, 所述三 进制存储器的存储单元的第一存储单元被配置成采取三个不同状态中的一个 ; 编码器, 被配置成在三进制存储器的存储单元的第二存储单元中写入二进制校验位 c1, cl, 其中, 编码器 12h 被配置成当二进制校验位 c1, cl是数据位 x1, xn的校 验位时, 并且当数据位 x1, xn是在写地址 a。

33、1, aQ处写入的时, 在与数据位 x1, xn 相关联的写地址 a1, aQ处写入二进制校验位 c1, cl, 其中, 所述三进制存储器电路被配置成当在三进制存储器的存储单元的读地址 处读取时, 输出状态值并将状态值变换成可能错误的二进制辅助 读取值该存储单元被配置成采取三个不同的值, 以及 其中, 所述三进制存储器电路被配置成当在三进制存储器的存储单元的读地址 处读取时输出可能错误的校验位以及 其中, 所述三进制存储器电路被配置成当写地址等于读地址时和当不存在错误时输出 无错误辅助读取值 y1, yk和无错误校验位 c1, cl, 其中, 所述编码器 Cod 包括用于输入数据位 x1, x。

34、n第一 n 位宽第一输入端和用于 输入位 A1, Aq的另一 q 位宽输入端和用于输出校验位 c1, cl的 l 位宽输出端, 其 中, 位 A1, Aq取决于写地址 a1, aQ的位, 其中, 数据位 x1, xn以及相应的校验位 被写入到写地址 a1, aQ, 并且其中, 所述编码器被配置成使得根据数据位 x1, xn和位 A1, Aq来确定校验位 c1, cl, 使得 y1, ., yk, A1, ., Aq, c1, ., cl 是纠错码 C 的代码字, 并且其中, 位 A1, Aq是根据写地址 a1, aQ的位唯一地确 权 利 要 求 书 CN 103793289 A 8 8/8 页。

35、 9 定的, 使得当写地址 a1, aQ被馈送到所述电路的输入端中时, 位 A1, Aq是具有 Q 个 二进制输入端和 q 个二进制输出端的组合电路 FS的输出值, 其中适用 q Q。 39. 根据权利要求 38 所述的电路, 其中 q=Q, 并且其中 a1,aQ=A1,AQ。 40. 根据权利要求 38 所述的电路, 其中 A1 a1 aQ。 41. 根据权利要求 38 所述的电路, 其中, 所述代码 C 是线性码。 42. 根据权利要求 39 所述的电路, 其中, 所述代码 C 是线性码。 43. 根据权利要求 40 所述的电路, 其中, 所述代码 C 是线性码。 44. 根据权利要求 3。

36、8 所述的电路, 其中, 所述代码 C 是具有生成矩阵 G=(I, P) 的线性 码, 并且其中, I 是 (k+q) 单位矩阵, 并且其中, P 是 (k+q), l 奇偶校验矩阵, 并且其中, 所 述校验位 c1, cl是由下式定义的 c1, ., cl (y1,., yk, Aa, ., AQ)P。 45. 一种方法, 包括 : 基于二进制值序列来生成多个输出值, 其中, 所述多个输出值中的每一个具有至少三 个不同基本值中的一个 ; 将每个输出值作为状态值存储在存储器的多个存储单元中的一个或多个存储单元中 的不同的一个中, 其中, 其中存储了输出值的所述一个或多个存储单元均被配置成采取至。

37、 少三个不同状态中的一个 ; 从被配置成采取所述至少三个不同状态中的一个的存储单元中的至少一个读取状态 值中的一个或多个, 其中, 所述一个或多个状态值中的每一个具有所述至少三个不同基本 值中的一个, 其中, 所述二进制辅助读取值是基于所述一个或多个状态值而确定的 ; 生成一个或多个二进制校验位, 使得当所述二进制辅助读取值和所述一个或 多个二进制校验位 c1, , cl是无错误的时, 所述二进制辅助读取值和所述一个或多个二进 制校验位一起形成纠错码的代码字中的一个 ; 以及 将所生成的一个或多个校验位中的每一个存储在存储器的存储单元中的一个或多个 中, 使得所述一个或多个校验位中的每一个被存。

38、储在存储器的存储单元中的不同的一个 中, 其中, 其中存储了校验位的每个存储单元被配置成采取至少两个不同状态中的一个。 权 利 要 求 书 CN 103793289 A 9 1/45 页 10 用于多位修正的电路和方法 技术领域 0001 本发明涉及纠错和检错, 并且特别地涉及用于带有具有超过两个状态的存储单元 的存储器的错误修正的设备和方法。 背景技术 0002 纠错和检错技术起重要作用。 不仅在通过有线和无线网络的计算机网络和数据传 输领域中, 而且在存储器内容保护领域中, 纠错和检错技术被广泛地采用。 0003 虽然常规存储器包括二进制存储单元, 但近年来, 能够采用三个不同值的三进制 。

39、存储单元已变得日益重要。 0004 如果将提供用于带有具有超过两个状态的存储单元的存储器中的错误修正的改 进概念, 将是非常有益的。 发明内容 0005 根据实施例, 提供了一种电路。该电路包括包含多个存储单元的存储器, 其中, 存 储器的所述多个存储单元中的一个或多个均适合于采取至少三个不同状态中的一个。 该电 路还包括被配置成基于二进制值序列来生成多个输出值的第一子电路 BT, 其中, 所述多个 输出值的非空子集具有输出值的非空子集的至少三个不同值中的一个, 并且其中, 第一子 电路 BT 被配置成将每个输出值作为状态值存储在均适合于采取至少三个不同状态中的一 个的一个或多个存储单元中的不。

40、同的一个中。该电路还包括第二子电路 LH, 其被配置成从 适合于采取所述至少三个不同状态中的一个的存储单元中的至少一个读取状态值中的一 个或多个, 其中, 所述一个或多个状态值中的每一个具有所述至少三个不同基本值中的一 个, 并且其中, 第二子电路 LH 此外被配置成基于所述一个或多个状态值来确定二进制辅助 读取值。 最后, 该电路包括编码器, 其被配置成基于二进制值序列的至少一些值来生成一个 或多个二进制校验位, 其中, 纠错码包括多个代码字, 并且其中, 编码器被配置成生成所述 一个或多个二进制校验位, 使得当二进制辅助读取值和所述一个或多个二进制 校验位 c1, , cl无错误时, 二进。

41、制辅助读取值和所述一个或多个二进制校验位一起形成纠 错码的代码字中的一个。 编码器被配置成将生成的一个或多个校验位中的每一个存储在存 储器的存储单元中的一个或多个中, 使得所述一个或多个校验位中的每一个被存储在存储 器的存储单元中的不同的一个中, 其中, 其中存储了校验位的每个存储单元适合于采取至 少两个不同状态中的一个。 0006 此外, 提供了根据另一实施例的电路。 该电路包括包含多个存储单元的存储器, 其 中, 存储器的所述多个存储单元中的一个或多个是均适合于采取三个不同状态中的一个的 三进制存储单元。该电路还包括第一子电路 BT, 其被配置成基于二进制值序列来生成多个 输出值, 其中,。

42、 所述多个输出值的非空子集具有三个不同基本值中的一个, 其中, 第一子电 路被配置成将输出值的非空子集的每个输出值作为状态值存储在均适合于采取三个不同 状态中的一个的一个或多个三进制存储单元中的不同的一个中, 并将其余输出值存储在被 说 明 书 CN 103793289 A 10 2/45 页 11 配置成存储至少两个不同值的存储单元中。该电路还包括第二子电路 LH, 其被配置成从存 储单元读取状态值中的一个或多个, 其中, 第二子电路 LH 此外被配置成基于所述一个或多 个状态值来确定二进制辅助读取值。该电路还包括编码器, 其被配置成基于二进制值序列 的至少一些值来生成一个或多个二进制校验位。

43、, 其中, 纠错码包括多个代码字, 并且其中, 编码器被配置成生成所述一个或多个二进制校验位, 使得当二进制辅助读取值和 所述一个或多个二进制校验位 c1,cl无错误时, 二进制辅助读取值和所述一个或多个二 进制校验位一起形成纠错码的代码字中的一个。 编码器被配置成将生成的一个或多个校验 位中的每一个存储在存储器的存储单元中的一个或多个中, 使得所述一个或多个校验位中 的每一个被存储在存储器的存储单元中的不同的一个中, 其中, 其中存储了校验位的每个 存储单元适合于采取至少两个不同状态中的一个。电路还包括修正器 Cor、 组合电路 Vkn 以及第三子电路 BB, 其中, 第二子电路 LH 被配。

44、置成向修正器 Cor 中和组合电路 Vkn 中馈送 二进制辅助读取值。该修正器 Cor 被配置成从存储器的存储单元中的一个或多个读取一个 或多个校验位, 其中, 修正器 Cor 被配置成基于二进制辅助读取值和所述一个或多个校验 位来生成纠错位, 并且其中, 修正器 Cor 被配置成向组合电路 Vkn 中馈送纠错位。组合电路 Vkn 被配置成基于纠错位对二进制辅助读取值执行纠错以获得二进制辅助无错误、 例如已 修正的读取值, 并且第三子电路 BB 被配置成将二进制辅助无错误读取值变换成二进制已 修正数据位。 0007 此外, 提供了根据另一实施例的电路。 该电路被配置成将二进制值序列x1, xn。

45、存 储在包括存储单元的存储器Sp中, 其中, n3, 其中, 存储器的每个存储单元适合于采取三 个状态值中的一个或采取两个状态值中的一个, 并且其中, 存储器的存储单元中的至少一 个适合于采取三个状态值中的一个。该电路包括具有 n 个二进制输入端和 M 个输出端的第 一子电路 BT, 其中, 第一子电路 BT 适合于将 n 个二进制输入值 x1, xn变换成 M 个输出值 z1, , zm, zm+1, , zM BT(x1, , xn), 其中, 2 m M, 其中, M n, 并且其中, n 4, 其中, 输出值 z1, zm中的每一个根据二进制输入值而具有三个不同值中的一个。输出值 zm。

46、+1, zM中的每一个根据二进制输入值而具有至多两个不同值中的一个, 其中, 第一子电路 BT 具 有与存储器 Sp 的 M 个数据输入端相连的 M 个输出端, 其中, 当向存储器 Sp 中写入时, 第一 子电路 BT 的输出值 z1, zm被存储到存储器的存储单元中, 其适合于采取三个状态中的一 个, 并且其中, 输出值 zm+1,zM被存储在适合于采取至少两个状态值中的一个的存储单元 中。 该电路还包括用于确定二进制辅助读取值 的第二子电路 LH, 其中, 第二子电路 LH 具有 M 个输入端和 k 个输出端, 其中, 当从存储器读 取时, 第二子电路 LH 的输入端中的前 m 个输入端被。

47、连接到存储器 Sp 的存储单元的数据输 出端, 当写入时, 三进制值 z1,zm被写入其中, 并且当读取时, 从其读出可能错误的三进 制值进一步地, 第二子电路 LH 的 M-m 个输入端被连接到存储单元的数据输出端, 当写入时, 值 zm,zM被写入其中, 并且当读取时, 从其读出可能的错误值并且 其中, 第二子电路 LH 在其 k 个输出端处输出 k 个可能错误的二进制辅助读取值 其中 k m+M。该电路还包括编码器 Cod, 该编码器 Cod 具有 n 个二进制输入端和用于从 n 个二进制输入值 x1,xn中确定 l 个二进制校验位 c1,cl的 l 个二进制输出端, 其中 c1, cl。

48、 Cod(x1, xn), 其中, 在编码器 Cod 的 n 个二进制输入端处, 施加二进制输入 说 明 书 CN 103793289 A 11 3/45 页 12 值 x1, xn, 并且在编码器的 l 个二进制输出端处, 输出由二进制输入值 x1, xn确定的二 进制校验位 c1, cl。编码器被配置成使得其根据二进制输入值来 x1, xn来确定校验 位 c1, cl, 使得位 y1, yk, c1,cl形成具有 k 个数据位和 l 个校验位的长度 k+l 的 纠错码 C 的代码字, 其中, y1, yk是 k 个二进制无错误辅助读取值。 0008 根据另一实施例, 提供了一种方法。该方法包括基于二进制值序列来生成多个输 出值, 其中, 所述多个输出值中的每一个具有至少三个不同基本值中的一个。 该方法还包括 将每个输出值作为状态值存储在存储器的多个存储单元中的一个或多个存储单元中的不 同的一个中, 其中, 输出值被存储在其中的一个或多个存储单元均适合于采取至少三个不 同状态中的一个。 该方法还包括从适合于采取所述至少三个不同状态中的一个的存储单元 中的至少一个读取状态值中的一个或多个, 其中, 所述一个或多个状态值中的每一个具有 所述至少三个不同基本值中的一个, 其中, 二进制。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1