存算一体数据读取译码电路以及存算一体存储器

文档序号:26091240发布日期:2021-07-30 17:59阅读:220来源:国知局
存算一体数据读取译码电路以及存算一体存储器

本发明涉及半导体集成电路领域,尤其涉及一种存算一体数据读取译码电路以及存算一体存储器。



背景技术:

存储器(memory)是现代信息技术中用于保存信息的记忆设备,其主要功能是存储程序和各种数据。在存储器的可靠性中,存入数据和读取数据过程中,为了对抗传输中的噪音和衰减以及人为干扰,使得经逻辑和存储后的码与原码之间存在差异,出现误码。为了保障数据存储可靠性,在传统的冯洛伊曼结构中,通常需要特定的编码电路和读电路,以对待储存的数据进行编码生成校验码,然后通过写电路写入到对应的待储存的区域。在数据读出时,通过读模块读出之后,通过读电路进行译码检验正确之后再输出。在线性解码过程中,读取存储器中含有信息码元和监督码元,用编码规则检验解码出来的监督码元,从解码过程中发现错误或纠正错误。如果没有错误,则原规则一定满足,否则就不满足。当不能满足时,在可纠错能力之内按一定的规则确定错误所在的位置,并予以纠正。如图1所示,输入数据(待存数据)通过编码模块根据特定的编码算法对输入数据进行编码,然后把编码后的信息位和校验位通过写入模块写入存储器当中;当读取数据时,通过读模块存存储器中读出数据,被编码的信息位和校验位被译码模块根据对等的译码算法进行解码,恢复出正确的原文再输出。如图2所示,在信息码中通过编码逻辑增加一定数量的多余码元(称为监督码元),如校验码等,使它们经过编码满足一定的约束关系,这样由信息码元和监督码元共同组成一个由存储器存储的码字,来提高抗干扰能力以及纠错能力,实现可靠存储和存取。

在传统的冯洛伊曼的计算机体系结构中,中央处理器和存储器分离。为了实现生成对应的编码逻辑和译码逻辑,需要通过专门的编码器将原码字按照某种规则变成有一定剩余度的码字和对应的译码器将对应的剩余度的码字还原成原码字,并验证其正确性。原码字按某种规则使每个码字的码元之间有一定的关系变成一定剩余度的码字。剩余的码字再通过专门的解码器,按照同样的规则,解码还原成之前的原码,并判断其正确性,如果一旦传输过程中发生差错,则信息码元与校验码元之间的关系将受到破坏,从而可以发现错误,乃至纠正错误。

现有数据编码存储方法和译码由于在读模块和写模块的基础上,还需要设置编码模块和译码模块或者编解码一体模块对数据进行编码和译码,编码模块和译码模块增加了存储器的面积,不能适应小型化集成化的需求。在编码的时候,需要花费大量的时间进行数据的搬移到编码模块中,同时数据还需要串联的异或操作,并且将输出的结果重新写入到存储器中,在时间和功耗上需求高能耗和高延时具有较大的成本,导致低能效。在译码的时候,同时也需要将数据花费大量的时间和功耗再次搬移到译码模块中,进行串联的异或操作,恢复正确的数据的输出,从而导致低能效。

举例来说,首先原始数据需要经过特有的编码装置实现对应的编码串联或者大面积的并列的生成,从而数据串联的带来大延时和低能效。然后数据需要经过特有的解码装置实现对应解码。编解码模块会增加存储器芯片不必要的面积(成本);同时编解码算法的运算过程会增加数据访存的时延;此外,编解码模块一旦确定,对应的编解码算法通常就固定,难以更改,缺乏灵活性。这样的问题仅依靠传统硅工艺尺寸的缩小是不能解决问题。



技术实现要素:

针对现有技术中的问题,本发明提供一种存算一体数据读取译码电路以及存算一体存储器,能够至少部分地解决现有技术中存在的问题。

为了实现上述目的,本发明采用如下技术方案:

第一方面,提供一种存算一体数据读取译码电路,包括:预充电感应放大器以及与所述预充电感应放大器连接的逻辑单元;

其中,所述预充电感应放大器以及所述逻辑单元均与一非易失性存储单元以及参考存储单元连接;所述逻辑单元用于对所述非易失性存储单元中的存储值进行逻辑运算,所述预充电感应放大器用于输出对应的正反逻辑运算结果。

进一步地,所述预充电感应放大器包括:第一pmos晶体管、第二pmos晶体管、第三pmos晶体管、第四pmos晶体管、第一nmos晶体管、第二nmos晶体管以及第五nmos晶体管;

所述第一pmos晶体管、所述第四pmos晶体管以及所述第五nmos晶体管的栅极接入时钟信号,所述第一pmos晶体管、所述第二pmos晶体管、所述第三pmos晶体管以及所述第四pmos晶体管的漏极均连接电源,所述第一pmos晶体管的源极、所述第二pmos晶体管的源极、所述第一nmos晶体管的漏极、所述第三pmos晶体管的栅极、所述第二nmos晶体管的栅极连接在一起,作为反输出端;所述第三pmos晶体管的源极、所述第四pmos晶体管的源极、所述第二nmos晶体管的漏极、所述第二pmos晶体管的栅极、所述第一nmos晶体管的栅极连接在一起,作为正输出端;所述第一nmos晶体管的源极以及所述第二nmos晶体管的源极分别连接所述逻辑运算单元的两个输出端;所述第五nmos晶体管的漏极连接所述非易失性存储单元的位线以及所述参考存储单元的位线,所述第五nmos晶体管的源极接地。

进一步地,所述逻辑单元为异或逻辑单元,包括:第五pmos晶体管、第六pmos晶体管、第三nmos晶体管、第四nmos晶体管;

所述第五pmos晶体管、所述第六pmos晶体管、所述第三nmos晶体管、所述第四nmos晶体管的栅极连接在一起,作为逻辑控制端,用于输入逻辑控制信号;

所述第五pmos晶体管的漏极、所述第三nmos晶体管的漏极、所述第一nmos晶体管的源极连接在一起,所述第六pmos晶体管的漏极、所述第四nmos晶体管的漏极、所述第二nmos晶体管的源极连接在一起;所述第五pmos晶体管的源极、所述第四nmos晶体管的源极与所述非易失性存储单元的源极线连接,所述第六pmos晶体管的源极、所述第三nmos晶体管的源极与所述参考存储单元的源极线连接。

进一步地,所述逻辑单元为与逻辑单元,包括:第八nmos晶体管;

所述第八nmos晶体管的栅极作为逻辑控制端,用于输入逻辑控制信号;所述第八nmos晶体管的源极连接所述第一nmos晶体管的源极;所述第八nmos晶体管的漏极连接所述非易失性存储单元的源极线连接,所述第二nmos晶体管的源极连接所述参考存储单元的源极线连接。

进一步地,所述逻辑单元为或逻辑单元,包括:第九nmos晶体管;

所述第九nmos晶体管的栅极作为逻辑控制端,用于输入逻辑控制信号;所述第九nmos晶体管的源极连接所述第二nmos晶体管的源极;所述第九nmos晶体管的漏极连接所述参考存储单元的源极线连接,所述第一nmos晶体管的源极连接所述非易失性存储单元的源极线连接。

进一步地,所述非易失性存储单元为1t1r存储单元结构。

第二方面,提供一种存算一体存储器,包括:用于接收输入数据的写入编码电路、连接所述写入编码电路的存储单元阵列、连接所述存储单元阵列的如上述的存算一体数据读取译码电路;

所述存算一体数据读取译码电路与所述写入编码电路连接;所述存算一体数据读取译码电路用于对存储单元中存储的数据进行读取译码。

进一步地,所述存储单元阵列包括:至少一个参考存储单元列以及多个非易失性存储单元列,

所述参考存储单元列提供一列参考信号,用来比较参考判断数据的大小。

进一步地,码字中的信息码元和监督码元分开存储在多个非易失性存储单元列中。

进一步地,将每行非易失性存储单元中左边的非易失性存储单元存储的n位信息位逻辑运算生成监督码元存储在右边k位非易失性存储单元中。

本发明提供的存算一体数据读取译码电路以及存算一体存储器,存算一体数据读取译码电路包括:预充电感应放大器以及与所述预充电感应放大器连接的逻辑单元;其中,所述预充电感应放大器以及所述逻辑单元均与一非易失性存储单元以及参考存储单元连接;所述逻辑单元用于对所述非易失性存储单元中的存储值进行逻辑运算,所述预充电感应放大器用于输出对应的正反逻辑运算结果,实现数据读取译码一体操作,基于存内计算原理直接利用非易失存储器的存储单元对数据进行编码和解码,减少存储器的面积,适应小型化集成化的需求。

为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为现有存储器架构;

图2示出了存储器中码字的组成;

图3示出了本发明实施例中存算一体数据读取译码电路的模块图;

图4示出了本发明实施例中存算一体数据读取译码电路的电路图一;

图5示出了本发明实施例中存算一体数据读取译码电路的电路图二;

图6示出了本发明实施例中存算一体数据读取译码电路的电路图三;

图7示出了本发明实施例中存算一体数据读取译码电路的电路图四;

图8示出了本发明实施例中非易失性存储单元的结构;

图9示出了本发明实施例中对数据进行编码存储的计算原理。

图10示出了本发明实施例中存算一体存储器的架构;

图11示出了本发明实施例中非易失性存储单元列的存储结构;

图12示出了本发明实施例中1t1r存储单元阵列结构;

图13示出了本发明实施例中数据写入编码方法的流程图;

图14示出了本发明实施例中数据读取译码方法的流程图;

图15示出了本发明实施例中对应的写逻辑的真值表。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员,了解本发明的技术内容并据以实施,且根据本说明书所揭露的内容、权利要求及图式,任何本领域技术人员可轻易地理解本发明相关的目的及优点。以下的实施例进一步详细说明本发明的观点,但非以任何观点限制本发明的范畴。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图3示出了本发明实施例中存算一体数据读取译码电路的模块图;如图3所示,该存算一体数据读取译码电路包括:预充电感应放大器以及与所述预充电感应放大器连接的逻辑单元;

其中,所述预充电感应放大器以及所述逻辑单元均与一非易失性存储单元以及参考存储单元连接;所述逻辑单元用于对所述非易失性存储单元中的存储值进行逻辑运算,所述预充电感应放大器用于输出对应的正反逻辑运算结果。

通过采用上述技术方案,实现数据读取译码一体操作,基于存内计算原理直接利用非易失存储器的存储单元对数据进行编码和解码,减少存储器的面积,适应小型化集成化的需求。

在一个可选的实施例中,参见图4至图6,该预充电感应放大器包括:第一pmos晶体管p1、第二pmos晶体管p2、第三pmos晶体管p3、第四pmos晶体管p4、第一nmos晶体管n1、第二nmos晶体管n2以及第五nmos晶体管n5;

所述第一pmos晶体管、所述第四pmos晶体管以及所述第五nmos晶体管的栅极接入时钟信号,所述第一pmos晶体管、所述第二pmos晶体管、所述第三pmos晶体管以及所述第四pmos晶体管的漏极均连接电源,所述第一pmos晶体管的源极、所述第二pmos晶体管的源极、所述第一nmos晶体管的漏极、所述第三pmos晶体管的栅极、所述第二nmos晶体管的栅极连接在一起,作为反输出端;所述第三pmos晶体管的源极、所述第四pmos晶体管的源极、所述第二nmos晶体管的漏极、所述第二pmos晶体管的栅极、所述第一nmos晶体管的栅极连接在一起,作为正输出端;所述第一nmos晶体管的源极以及所述第二nmos晶体管的源极分别连接所述逻辑运算单元的两个输出端;所述第五nmos晶体管的漏极连接所述非易失性存储单元的位线以及所述参考存储单元的位线,所述第五nmos晶体管的源极接地。

值得说明的是,非易失性存储单元包括第一电阻r1以及第七nmos晶体管n7,参考存储单元包括参考电阻r0以及第六nmos晶体管,第六nmos晶体管以及第七nmos晶体管的栅极用于施加访问控制信号a,漏极/源极作为位线,另一端连接单元中的电阻的一端,单元中电阻的另一端连接第五nmos晶体管的漏极。

通过采用上述预充电感应放大器获取对应的存储器的值,灵活可靠。

值得说明的是,在实际应用中,根据应用场景所需要的运算,选择逻辑单元的运算逻辑。

在一个可选的实施例中,参见图4,该逻辑单元为异或逻辑单元,包括:第五pmos晶体管p5、第六pmos晶体管p6、第三nmos晶体管n3、第四nmos晶体管n4;

所述第五pmos晶体管、所述第六pmos晶体管、所述第三nmos晶体管、所述第四nmos晶体管的栅极连接在一起,作为逻辑控制端,用于输入逻辑控制信号;

所述第五pmos晶体管的漏极、所述第三nmos晶体管的漏极、所述第一nmos晶体管的源极连接在一起,所述第六pmos晶体管的漏极、所述第四nmos晶体管的漏极、所述第二nmos晶体管的源极连接在一起;所述第五pmos晶体管的源极、所述第四nmos晶体管的源极与所述非易失性存储单元的源极线连接,所述第六pmos晶体管的源极、所述第三nmos晶体管的源极与所述参考存储单元的源极线连接。

通过采用上述电路,高效实现读取解码时的逻辑异或运算。

在一个可选的实施例中,参见图5,该逻辑单元为与逻辑单元,包括:第八nmos晶体管n8;

所述第八nmos晶体管的栅极作为逻辑控制端,用于输入逻辑控制信号;所述第八nmos晶体管的源极连接所述第一nmos晶体管的源极;所述第八nmos晶体管的漏极连接所述非易失性存储单元的源极线连接,所述第二nmos晶体管的源极连接所述参考存储单元的源极线连接。

在一个可选的实施例中,参见图6,该逻辑单元为或逻辑单元,包括:第九nmos晶体管;

所述第九nmos晶体管的栅极作为逻辑控制端,用于输入逻辑控制信号;所述第九nmos晶体管的源极连接所述第二nmos晶体管的源极;所述第九nmos晶体管的漏极连接所述参考存储单元的源极线连接,所述第一nmos晶体管的源极连接所述非易失性存储单元的源极线连接。

在一个可选的实施例中,为了提高运算精度,该逻辑单元可以由多个逻辑单元叠加构成,参见图7,示出了一种高精度的异或逻辑单元的电路结构。

在一个可选的实施例中,非易失性存储单元为1t1r存储单元结构,参见图8,一个晶体管(记为t)和一个非易失性存储器件(记为r)。其中,非易失性存储器件r的阻值可以有两种状态,一种为高阻状态,一种为低阻状态,分别代表数据比特“0”和“1”,或者反之。对于晶体管的栅极接字线(wl),漏极经非易失性存储器件后接位线(bl),源极接源线(sl),源线一般接地。在逻辑电路中,通常具有三个信号:(1)访问控制信号(记为a,通常从字线施加),用于对存储单元进行访问控制;(2)当前已存储的数据(记为bi);(3)写入信号(记为c,通常从位线施加,可以是电流或电压)。根据这三个信号,存储单元下一个存储的数据(记为bi+1)可以表达为基于表达式,如图9所示,写入信号c可以看作逻辑功能选择信号,决定了逻辑计算的功能函数,如当c等于“0”,“1”,以及(当前存储器的取反)时,存储单元下一个存储的数据bi+1分别等于(“与”逻辑),a+bi(“或”逻辑)以及a⊕bi(“异或”逻辑)。最终计算的结果(即bi+1)直接存储在存储单元内。其中与当前存储器的值编码运算的另一个值为存储单元的字线a。其逻辑计算操作与存储器的正常读写操作基本一致。

本发明实施例还提供了一种存算一体存储器,参见图10,包括:用于接收输入数据并将数据写入存储单元阵列的写入编码电路、连接所述写入编码电路的存储单元阵列、连接所述存储单元阵列的如上述的存算一体数据读取译码电路;

所述存算一体数据读取译码电路与所述写入编码电路连接;所述存算一体数据读取译码电路用于对存储单元中存储的数据进行读取译码。

通过采用上述技术方案,实现存算一体的同时,实现数据读取与译码一体,基于存内计算原理直接利用非易失存储器的存储单元对数据进行编码和解码,减少存储器的面积,适应小型化集成化的需求。

通过采用非易失存储阵列,实现并行数据编码存储、并行数据解码,实现数据可靠性存储。通过向一存储单元修改写入端的写入电路和读取的电路来实现数据的边编码边存储的操作。通过修改对应的存储单元中需要译码的单元的读取电路和写入电路实现数据的译码,检查和纠错。通过数据读写过程即可实现,不需要单独的编解码电路,进而减小存储器的面积。在本专利设定的存储方式中将对应信息码元(y1~yn)和监督码元(z1~zk)成块地分开存储,如图11所示的储存阵列。这样方便在可靠性要求不高的情况下,可以直接读取对应的数据,而不需要将读取的数据进行重组等操作。

其中,通过将信息码元(y1~yn)和监督码元(z1~zk)成块地分开存储,读取方便。

整个存储阵列分布如图12所示,对应的行地址译码和列地址译码同常规的存储器单元一样。在信息码元和监督码元的储存阵列的存储分布方法,既分开又相互之间有联系。通过将每行的左边的n位信息位逻辑运算生成监督码元存储在右边k位中。因此不同于其他结构,本专利在不考虑可靠性的情况下,可以不经过编码和译码的操作,直接进行存储和读取,同时右边每行的k位也可以进行存储。在要求考虑存储器的可靠性的时候,通过生成监督码元存储在每行的右边中,然后在读取的时候,通过监督码元校验输出的正确性,且具有一定的纠错能力,从而实现灵活可操作。

在该电路中,仅仅通过字线、位线、源线将所有的存储器组织在一起。另外,该非易失性存储器件配套的行译码器、列译码器、写驱动、读电路和读逻辑等。在正常的写驱动中,如图9所示,利用存储单元对数据进行编码存储的计算原理,通过控制字线a的电压即可控制晶体管的开闭,从而控制存储单元的选择与否。更具体地,当字线a为高电平时,晶体管处于导通状态,存储单元可访问,可对其进行写操作;而当字线为低电平时,晶体管处于非导通状态,存储单元不可访问,亦不可写,从而不能进行改变对应的状态。对于1t1r存储单元,通常需要施加两个信号:(1)访问控制信号(即是行地址译码,通常从字线a施加),用于对存储单元进行访问控制;(2)写入信号(通常从位线c施加,可以是电流或电压形式)。另外,存储单元中存储的数据为一个二进制数的一个二进制位。

继续参见图12,最左边的那一列的器件上增加一列参考信号,用来比较参考判断数据的大小。对于1t1r的数据获取,使用非易失性的预充电感应放大器获取对应的存储器的值,其中一个为参考信号,另一个为待读的数据。对于预充电部分,参见图4,通过p1,p2,p3,p4和n1,n2组成。在初始时刻,p1,p4管子开启,使得n1,n2的漏极都充满电。晶体管n5到接地。初始时刻,n5晶体管关闭,由此在整个通路中实现预充电的效果。在读取时刻,此时通过关闭p1,p4管子,充电结束,开启n5管子,开始放电。由于r0和r1的电阻不同,导致其两条通路的放电的速度不同,从而通过p2,p3,n1,n2中能在输出out处输出对应的输出值,并保持不变。预充电感应放大器(pcsa)实现对应的正反数据的输出。该读操作的电路具有较好的扩展性,可以在预充电放大器和非易失性存储器中间增加一级或者多级逻辑电路,可实现对应的与‘&’,或‘|’,同或‘⊙’和异或‘⊕’等逻辑。例如在逻辑处增加4个mosn3,n4和p5,p6管。通过d的不同值使得电流的走向发生改变,例如当d为0的时候,p5,p6导通,n3,n4截止,则对应的电流路径同原来一样。当d为1的时候,p5,p6截止,n3,n4导通,则对应的电流路径同原来相反,电流路径发生改变。从而输出不同的值,实现对应的输出数据d⊕bi操作。由此在读逻辑电路中实现异或⊕或者同或⊙操作。因此本专利的重点保护的对象之一的是这样的硬件电路结构实现的对应的异或操作。在原始的正常的预充电的电路中,增加了4个mos管子,就可以实现常规的异或等其他操作的。并且有效的使用在本专利的编码和译码的电路中。

同时为了使用上述电路较好的完成编码和译码操作。接下来提供一种数据编码的存储方法如图13中。向一存储单元的写入端写入初始运算数据;向所示的存储单元通过输入下一个数据在a中与当前数据通过c赋予不同的值实现写入或通过d输入实现读取逻辑输出运算,其结果可直接写入到存储器中;重复上述过程,直到所有的需要参与运算的数据计算完毕。这时候其编码的结果便在对应的存储器中。通过在数组内的实现存储写入的过程完成各种常规的基础的逻辑运算,从而实现数据位和校验位的生成,最大限度地减少来自数组外部的复杂检验计算和传输过程的开销。

同时提供一种数据译码方法如图14中,包括:向需要译码操作的存储单元读取对应的存储数据;然后通过写入逻辑的输入端输入对应的数据与下一个存储单元的数据执行需要的逻辑运算或者输入到读取逻辑的输入端实现译码需要的逻辑。经过反复的读或者写逻辑,在对应的校验位即可实现对应的译码的结果。从而判断输出数据的正确性。如果对应的位的信息不正确,可以根据对应检验位的信息,修改对应错误位的值。

值得说明的是,申请人通过对现有的非易失性存储存储器的存储原理和工作流程进行了深入地分析和研究后,通过大量的推理验证,发现了利用非易失性存储存储器的存储单元能够实现逻辑计算的特性能够进行数据编码存储和数据译码输出,从而解决现有技术中存在的技术问题。例如在纠错编码中,汉明码作为一个线性的错误纠正码,广泛的应用在存储单元和通信等领域中。汉明码中(7,4)是被广泛采用之一,它通过增加3个奇偶位将每4位数据编码成7位,可以有效地纠正由于有噪声的数据存储等产生的任何比特的错误。如果在数据传输过程中确实发生了单位错误,其结果能够指示翻转位的详细位置,因此可以随后进行纠正。下面以图15中示出的采用本发明实施例提供的数据编码存储方法利用存储单元对数据进行编码存储的真值表为例,对本发明实施例提供的以汉明码为例编解码存储方法进行详细说明。以原码1011为例来说明编码存储,此时d1=1、d2=0、d3=1、d4=1,对在p1编码时,先将d1、d2、d4的二进制码相加,结果为偶数2,汉明码对奇数结果编码为1,偶数结果为0,因此p1值为0,d1+d3+d4=3,为奇数,那么p2值为1,d2+d3+d4=2,为偶数,p3值为0。这样汉明码编码的结果就是d1d2d3d4p1p2p31011010。

传统实现编码的方式是对于p1,将d1、d2、d4进行组合逻辑两个两输入的异或门串联形成,或者一个三输入的异或门得到结果p1,然后写入到p1对应的存储器中,但是对应的面积增大。利用图13中的编码存储方法逻辑,首先同时在存储器d1d2d3d4p1p2p3中存储对应的d1,d2,d3,d4,d1,d3,d4。然后通过图9的写入逻辑实现在p1p2p3的存储器中,其中写入的方式实现异或,例如对于p1即是此时bi为d1,则通过读取获取bi的值,其输出的相反值赋值给c,对应的a为下一个需要异或的数据d2。此时再一次实现写操作,便能实现对应的异或操作其bi+1=d1⊕d2。重复上述操作,此时读取对应的存储的结果,并取相反值赋值给c。对应的a为下一个需要异或的数据d4。此时再一次实现写操作,便能实现对应的异或操作其bi+2=d1⊕d2⊕d4。因此通过三次写的逻辑操作,完成三个数的异或操作,并且存储在对应的存储器中。以此内推同时可以并列的实现p2和p3的值。这样便是实现对应的编码。

在数据获取的时候,先对原始数据进行译码检查,即是需要判断d1⊕d2⊕d4⊕p1,d1⊕d3⊕d4⊕p2,d2⊕d3⊕d4⊕p3,对应的值是否为0。在传统的实现中,需要将数据读取出来经过3个串行的两输入的异或门,或者4输入的一个大的异或门。本专利中通过上述图11的读逻辑,对输出数据的检查,对于存储器中存储的对应的d1d2d3d4p1p2p3,通过串连的方式实现如图4所示,先读取d1的值,然后将d1的值输入到d2的输入d口中实现d1⊕d2,再通过d2的输出到d4的输入d口实现d1⊕d2⊕d4,最后通过d4口的输出输入到p1的输入口d中实现d1⊕d2⊕d4⊕p1,从而获得对应检查的输出。同理通过以此类推的方式获得p2和p3的检查,通过p1p2p3的值判断是否为0,则通过对应的数值指定对应的输出使用反输出获取对应的值。即实现纠正的结果。

例如通过编码实现上述1011010,因为错误导致数据为1010010,既是对应的数据的d4错误,那么则读取出来的值p1p2p3变为111,则是指向的d4的值应该为取反,则就在读取的时候使用对应的反输出即可。

为解决上述传统编解码存储器的局限性,本发明提供一种基于存内计算的编解码存储器,其直接利用存内计算对数据进行编解码,不需要额外的编解码模块。

基于如上的存内计算,可以实现编解码存储。编码储存过程中,既可以根据写实现对应的编码需要的逻辑,也可以结合读实现对应的逻辑运算。这样一来,可以选择任意的操作读写(即读写运算的组合),例如通过在最初编码的过程中,最开始d1d2d3d4p1p2p3中写入数据d1,d2,d3,d4,d4,d1,d2;通过读逻辑在d1和d2中实现d1⊕d2,在d3和d4中实现d3⊕d4;最后通过读输出的值直接输入到写逻辑中在p1中实现d1⊕d2⊕d4,在p2中实现d1⊕d3⊕d4,p3中实现d2⊕d3⊕d4。除此之外还有对应的读和写还能实现其他的与或非等逻辑,能组合成其他复杂的操作。

可以看出,利用本申请中的技术,基于存内计算的读和写的编解码存储器,不需要额外的编解码模块,通过正常的数据读写过程即可实现,且灵活性增加。另外,由于摒弃了现有技术中的编解码算法的运算过程,采用边存储边编码的方式对数据进行编码存储,或者,采用边读取边译码的方式对数据进行译码,进而能够降低数据访存的时延,提高了数据编解码存储速度。

对于非易失性存储单元可以采用例如阻变存储器(reram)、自旋转移矩磁性随机存储器(stt-mram)、自旋轨道扭矩磁性随机存储器(sot-mram)、相变存储器(pcram)、热辅助开关(tas)、磁场感应开关(mfis)、电压控制的磁各向异性(vcma)等以及对应器件的组合,例如vcma-sot、vcma-stt、sot和stt,包括多个闪存(flash)单元等非易失性的存储器件。

其中线性编码中包括:hamming码、elias卷积码、bch码、rs码、pgz译码、ldpc(lowdensityparitycheck,低密度奇偶校验)码、b-m译码、rrns码、viterbi、chase氏译码、map、bcm分组编码、wolf格状分组码、padovani恒包络相位/频率编码调制、tcm格状编码、simonmtcm多重格状编码、多维星座tcm码、sova算法码、max-log-map算法码、turbo码、pyndiah乘积码、log-map算法、turbobch码、turbohamming码、空-时卷格状码、alamouti空时分组码、删除型turbo码等。

储存单元结构中,除了1t1r存储单元,同时也适用于对应的xtxr,x为对应的一个或者多个存储单元。其中,非易失性存储器件的阻值可以有两种状态,一种为高阻状态,一种为低阻状态,分别代表数据比特“0”和“1”,或者反之。而对于多个r中,只要能够区别表示数据比特,都在本专利覆盖范围内,例如对于两个r中,使用01表示‘1’,10表示‘0’。或者反之,或者00表示‘1’,11表示‘0’,或者反之,皆在本专利覆盖范围之内。

在实现逻辑的过程中,因为非易失性器件读取的时候有逻辑实现且输出包括其结果和相反值,不需要额外的反相器。同时写入时候的也能实现基本的逻辑。本专利也覆盖先通过读实现部分逻辑或者写实现部分逻辑,交叉,次序调整等组合方式实现最终的运算。例如在译码的时候,先读d1和d3,通过读逻辑同时获取d1⊕d2,d3⊕d4,然后再通过读获取d1⊕d2⊕p1,d3⊕d4⊕p2,d3⊕d4⊕p3,既是将对应的输出同步的实现输入到另外三个中。然后将此输入d4,d1和d2,就能同步得到d1⊕d2⊕p1⊕d4,d3⊕d4⊕p2⊕d1,d3⊕d4⊕p3⊕d2。

同样可以通过增加逻辑树图7所示在p1p2p3中,将对应的d的异或的层数增加,则可以在对应的存储其中分别读取d1d2d3d4,然后将他们分别输入到p1p2p3的d端口中,则可以一次性获得多个异或值。同理利用此结构,修改编码时候的逻辑,在最初存储中d1d2d3d4p1p2p3写入d1d2d3d4d4d1d2,然后通过读取获取d1d2d3d4,分别输入到p1p2p3中的d口中,就能一次性p1中输出d1⊕d2⊕d4的值,然后写入到p1中。皆是本专利的保护范围。既是由上述编码的写逻辑过程中,p1的生成的过程中在读取的逻辑中,获得对应的d2和d4异或的值。然后将结果写入到对应的存储器中,实现两步写入的操作实现。也可以在对应的多层中图13所示,将p1p2p3初始化为0,那么对应多层的逻辑中,通过读逻辑则就是求得的实现d1⊕d2⊕d4⊕0,d1⊕d3⊕d4⊕0,d2⊕d3⊕d4⊕0,则就是d1⊕d2⊕d4,d1⊕d3⊕d4,d2⊕d3⊕d4,然后将对应的输出写到p1p2p3中。本专利中保护所有的经过读写组合实现的逻辑方式。

由于摒弃了现有技术中的编解码算法的运算过程,采用边存储边编码的方式对数据进行编码存储,进而能够降低数据访存的时延,提高了数据编码存储速度。再者,本发明实施例利用存内计算原理对数据进行编解码,编码过程灵活,更改方便。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅是本发明的较佳实施例而已,并非对本发明做任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明技术方案的范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

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