一种基于非易失存储器存内计算的线性编解码器及其方法技术

技术编号:33388830 阅读:22 留言:0更新日期:2022-05-11 23:04
本发明专利技术公开了一种基于非易失存储器存内计算的线性编解码器及其方法,其中编解码器包括:存储阵列和计算模块;存储阵列与计算模块相连;方法包括:加载生成矩阵H1或奇偶校验矩阵H2,将需要编码的数据位d或码字r转换为二进制电压,按时间顺序对应施加到N条位线BL上,经过存储阵列后流入至计算模块内M个三端口非易失存储器中;其中码字r为编码后得到的码字;计算模块内的M个三端口非易失存储器中根据存储阵列产生的电流判断是否需要完成阻态的翻转。本发明专利技术有效降低了功耗开销,减小了延迟。减小了延迟。减小了延迟。

【技术实现步骤摘要】
一种基于非易失存储器存内计算的线性编解码器及其方法


[0001]本专利技术涉及计算机
,更具体的说是涉及一种基于非易失存储器存内计算的线性编解码器及其方法。

技术介绍

[0002]线性码是一种广泛应用于内存和通信系统的线性纠错码(Error Correcting Code,简称ECC)。信息的编码/解码,需要通过编解码硬件来实现。但是,存储器和编解码硬件之间数据传输的存在,使得编码与解码的处理过程面临着严重的功耗问题。
[0003]为了解决数据传输带来的功耗问题,存内计算技术得到人们的广泛关注,其基本思想是将存储与计算融合,从而直接利用存储器进行计算,在减少数据传输,降低功耗的同时,提高整体性能。近年来,多种基于存储器件的IMC(In

Memory

Computing,简称IMC)范式已被提出,例如自旋电子器件、电阻器件和相变器件等,其中一些已被用于ECC编解码器的实现。最近,1D1R(一个二极管加一个忆阻器)的设计方案,充分利用了器件的单极性翻转特性来实现模2矢量矩阵乘法(Vector Matrix Multiplication,简称VMM),进而完成编解码的实现。然而,由于该器件对高阈值电压的要求,整体功耗仍然很高。
[0004]因此,提供一种功耗低延迟小的基于非易失存储器存内计算的线性编解码器及其方法是本领域技术人员亟需解决的问题。

技术实现思路

[0005]有鉴于此,本专利技术提供了一种基于非易失存储器存内计算的线性编解码器及其方法,在保证功能正确实现的前提下,利用较小的功耗开销实现非易失存储器存内计算的线性编解码。
[0006]为了实现上述目的,本专利技术采用如下技术方案:
[0007]一种基于非易失存储器存内计算的线性编解码器,作为编码器时,存储生成矩阵H1内的数据,作为解码器时,存储奇偶校验矩阵H2内的数据;其特征在于,包括:存储阵列和计算模块;所述存储阵列与所述计算模块相连;
[0008]所述存储阵列包括M
×
N个非易失存储器,其中M为每列非易失存储器的个数,N为每行非易失存储器的个数;在所述存储阵列中,每行上的所述非易失存储器连接于同一条源线SL,每列上的所述非易失存储器连接于同一条位线BL;
[0009]所述生成矩阵H1或所述奇偶校验矩阵H2内的数据分别通过所述源线SL和所述位线BL对应加载至M
×
N个所述非易失存储器内存储;
[0010]所述计算模块为三端口非易失存储器阵列,每条存储阵列内的源线SL上分别对应连接在一个三端口非易失存储器的位线上,所有所述三端口非易失存储器还连接于同一条计算位线BL。
[0011]优选的,包括:所述存储阵列的非易失存储器为二端口非易失存储器,作为编码器时,所述二端口非易失存储器内对应存储的是生成矩阵H1内的数据;其中,M为所述生成矩
阵H1的列数同时为源线SL的数量,N为生成矩阵H1的行数同时为位线BL的数量;
[0012]每条所述源线SL上连接N个所述二端口非易失存储器,每条所述位线BL上连接的M个所述二端口非易失存储器;所述生成矩阵H1内M列数据依次通过M条所述源线SL加载至所述二端口非易失存储器中,N行数据依次通过N条所述位线BL加载至所述二端口非易失存储器中;
[0013]所述计算模块内包括M个三端口非易失存储器并且分别与M条所述源线SL相连,且所述计算模块内的M个所述三端口非易失存储器均连接同一条计算位线。
[0014]优选的,包括:所述存储阵列的非易失存储器为二端口非易失存储器,作为解码器时,所述二端口非易失存储器内对应存储的是奇偶校验矩阵H2内的数据;M为所述奇偶校验矩阵H2的列数同时为源线SL的数量,N为所述奇偶校验矩阵H2的行数同时为位线BL的数量;
[0015]每条所述源线SL上连接N个所述二端口非易失存储器,每条所述位线BL上连接的M个所述二端口非易失存储器;所述奇偶校验矩阵H2内M列数据依次通过M条所述源线SL加载至所述二端口非易失存储器中,N行数据依次通过N条所述位线BL加载至所述二端口非易失存储器中;
[0016]所述计算模块内包括M个三端口非易失存储器并且分别与M条所述源线SL相连,且所述计算模块内的M个所述三端口非易失存储器均连接同一条计算位线。
[0017]优选的,所述存储阵列的非易失存储器为三端口非易失存储器,作为编码器时,在所述存储阵列中,所述三端口非易失存储器内对应存储的是生成矩阵H1内的数据;其中,M为所述生成矩阵H1的列数同时为源线SL的数量,N为生成矩阵H1的行数同时为位线BL的数量;
[0018]每条所述源线SL上连接N个所述三端口非易失存储器,每条所述位线BL上连接的M个所述三端口非易失存储器;所述生成矩阵H1内M列数据依次通过M条所述源线SL加载至所述三端口非易失存储器中,N行数据依次通过N条所述位线BL加载至所述三端口非易失存储器中;
[0019]所述计算模块包括M个三端口非易失存储器并且分别与M条所述源线SL相连,且所述计算模块中的M个所述三端口非易失存储器均连接同一条计算位线。
[0020]优选的,所述存储阵列的非易失存储器为三端口非易失存储器,作为解码器时,在所述存储阵列中,所述三端口非易失存储器内对应存储的是奇偶校验矩阵H2内的数据;M为所述奇偶校验矩阵H2的列数同时为源线SL的数量,N为所述奇偶校验矩阵H2的行数同时为位线BL的数量;
[0021]每条所述源线SL上连接N个所述三端口非易失存储器,每条所述位线BL上连接的M个所述三端口非易失存储器;所述奇偶校验矩阵H2内M列数据依次通过M条所述源线SL加载至所述三端口非易失存储器中,N行数据依次通过N条所述位线BL加载至所述三端口非易失存储器中;
[0022]所述计算模块内包括M个三端口非易失存储器并且分别与M条所述源线SL相连,且所述计算模块内的M个所述三端口非易失存储器均连接同一条计算位线。
[0023]一种基于非易失存储器存内计算的线性编解码方法,包括以下步骤:
[0024]S1.加载生成矩阵H1或奇偶校验矩阵H2,其中,所述生成矩阵H1或奇偶校验矩阵H2内每行的数据对应存储于存储阵列每条位线BL上的非易失存储器中,每列的数据对应存储
于存储阵列每条源线SL上的非易失存储器中;
[0025]S2.将需要编码的数据位d或需要解码的码字r转换为二进制电压,按时间顺序对应施加到N条位线BL上,经过所述存储阵列后流入至所述计算模块内M个三端口非易失存储器中;其中码字r为编码后得到的码字;
[0026]S3.所述计算模块内的M个三端口非易失存储器中根据所述存储阵列产生的电流判断是否需要完成阻态的翻转,其中若存储阵列产生的电流大于所述计算模块中的三端口非易失存储器实现阻态翻转所需的电流阈值,则所述计算模块中的三端口非易失存储器的实现阻态的翻转,完成VMM操作,若存储阵列产生的电流小于所述计算模块中的三端口非易本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于非易失存储器存内计算的线性编解码器,作为编码器时,存储生成矩阵H1内的数据,作为解码器时,存储奇偶校验矩阵H2内的数据;其特征在于,包括:存储阵列和计算模块;所述存储阵列与所述计算模块相连;所述存储阵列包括M
×
N个非易失存储器,其中M为每列非易失存储器的个数,N为每行非易失存储器的个数;在所述存储阵列中,每行上的所述非易失存储器连接于同一条源线SL,每列上的所述非易失存储器连接于同一条位线BL;所述生成矩阵H1或所述奇偶校验矩阵H2内的数据分别通过所述源线SL和所述位线BL对应加载至M
×
N个所述非易失存储器内存储;所述计算模块为三端口非易失存储器阵列,每条存储阵列内的源线SL上分别对应连接在一个三端口非易失存储器的位线上,所有所述三端口非易失存储器还连接于同一条计算位线BL。2.根据权利要求1所述的一种基于非易失存储器存内计算的线性编解码器,其特征在于,包括:所述存储阵列的非易失存储器为二端口非易失存储器,作为编码器时,所述二端口非易失存储器内对应存储的是生成矩阵H1内的数据;其中,M为所述生成矩阵H1的列数同时为源线SL的数量,N为生成矩阵H1的行数同时为位线BL的数量;每条所述源线SL上连接N个所述二端口非易失存储器,每条所述位线BL上连接的M个所述二端口非易失存储器;所述生成矩阵H1内M列数据依次通过M条所述源线SL加载至所述二端口非易失存储器中,N行数据依次通过N条所述位线BL加载至所述二端口非易失存储器中;所述计算模块内包括M个三端口非易失存储器并且分别与M条所述源线SL相连,且所述计算模块内的M个所述三端口非易失存储器均连接同一条计算位线。3.根据权利要求1所述的一种基于非易失存储器存内计算的线性编解码器,其特征在于,包括:所述存储阵列的非易失存储器为二端口非易失存储器,作为解码器时,所述二端口非易失存储器内对应存储的是奇偶校验矩阵H2内的数据;M为所述奇偶校验矩阵H2的列数同时为源线SL的数量,N为所述奇偶校验矩阵H2的行数同时为位线BL的数量;每条所述源线SL上连接N个所述二端口非易失存储器,每条所述位线BL上连接的M个所述二端口非易失存储器;所述奇偶校验矩阵H2内M列数据依次通过M条所述源线SL加载至所述二端口非易失存储器中,N行数据依次通过N条所述位线BL加载至所述二端口非易失存储器中;所述计算模块内包括M个三端口非易失存储器并且分别与M条所述源线SL相连,且所述计算模块内的M个所述三端口非易失存储器均连接同一条计算位线。4.根据权利要求1所述的一种基于非易失存储器存内计算的线性编解码器,其特征在于,所述存储阵列的非易失存储器为三端口非易失存储器,作为编码器时,在所述存储阵列中,所述三端口非易失存储器内对应存储的是生成矩阵H1内的数据;其中,M为所述生成矩阵H1的列数同时为源线SL的数量,N为生成矩阵H1的行数同时为位线BL的数量;每条所述源线SL上连接N个所述三端口非易失存储器,每条所述位线BL上连接的M个所述三端口非...

【专利技术属性】
技术研发人员:蒋林君张和康旺
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1