适用于高速内容寻址和存内布尔逻辑计算的SRAM单元的制作方法

专利2022-05-09  181


本发明涉及一种电子元件设计技术,特别涉及一种适用于高速内容寻址和存内布尔逻辑计算的sram单元。



背景技术:

人工智能等数据密集型应用的激增,对高吞吐量和高能效计算架构的需求不断增加。然而,传统的冯-诺依曼架构需要在内存和计算单元之间来回搬运数据,这导致了有限的数据吞吐量和大量的能量开销[1]。为了应对这一挑战,有人提出了存内计算(in-memorycomputing,imc)架构,通过减少数据传输,直接在内存内部进行计算来规避冯-诺依曼瓶颈。最近,人们探索了不同层次的存储器,包括sram(静态随机存储器)、dram(动态随机存储器)以及rram(阻变式存储器)、stt-mram(非易失性磁随机存储器)和flash(闪存)等,以实现高效的存内计算系统。

目前已经提出了许多不同单元结构的存内计算sram设计,如6t[2]、标准8t[3]、9t[4]和10t[5]等。通过利用大规模的并行位线,sram可以处理高吞吐量和高能效的逻辑/算术/矩阵计算。在[3]中,作者提出了基于模拟的存内sarm来执行乘法和累加(mac)/点积计算,但它只支持特定的可容错应用,如卷积神经网络(cnn)。此外,这些设计需要昂贵的dac(数模转换器)和adc(模数转换器)来转换模拟电压。另一种很有前景的基于数字的存内计算sram可以进行精确的按位计算,应用范围更广。在[2]中,通过激活多条字线,在6t/8tsram中实现了基本的内容寻址(cam)运算和布尔逻辑运算。利用基本的布尔运算,作者在[6]中实现加法/乘法,并成功运行高级加密标准(aes)和卷积神经网络(cnn)算法等复杂应用。

但是,当多条字线同时被激活时,基于模拟的存内计算sram和基于数字的存内计算sram都会受到读干扰,这是由于共享的读写路径造成的。这很可能会破坏存储的数据。为了解决读干扰,有人提出了分层的6tsram设计[7],以及交错结构[8],以此来从架构层面规避读干扰,但它们在数据分配上有硬性限制,且不适合cam应用。6tsram的其他辅助方案包括字线弱驱动[2]和交错字线激活[4],但都严重降低了访问速度。标准的8t也已经被探讨过,以实现无读干扰的存内计算[9],但同时也由于低的读裕度而导致了性能下降。带有解耦差分端口的9t[4]和10t[5]虽然可靠,但都带来较大的面积开销。总的来说,为了解决sram存内计算所面临的读干扰问题,之前的方案都导致了速度的降低或面积的额外开销。

公开文献:

[1]m.horowitz,“1.1computing’senergyproblem(andwhatwecandoaboutit),”in2014ieeeint.solid-statecircuitsconferencedigestoftechnicalpapers(isscc).ieee,feb.2014,pp.1.

[2]s.jeloka,n.b.akesh,d.sylvester,andd.blaauw,“a28nmconfigurablememory(tcam/bcam/sram)usingpush-rule6tbitcellenablinglogic-in-memory,”ieeej.solid-statecircuits,vol.51,no.4,pp.1009–1021,apr.2016.

[3]a.jaiswal,i.chakraborty,a.agrawal,andk.roy,“8tsramcellasamultibitdot-productengineforbeyondvonneumanncomputing,”ieeetrans.verylargescaleintegr.(vlsi)syst.,vol.27,no.11,pp.2556–2567,nov.2019.

[4]a.agrawal,a.jaiswal,c.lee,andk.roy,“x-sram:enablingin-memorybooleancomputationsincmosstaticrandomaccessmemories,”ieeetrans.circuitssyst.i,reg.papers,vol.65,no.12,pp.4219–4232,dec.2018.

[5]y.zhang,l.xu,q.dong,j.wang,d.blaauw,andd.sylvester,“recryptor:areconfigurablecryptographiccortex-m0processorwithin-memoryandnear-memorycomputingforiotsecurity,”ieeej.solid-statecircuits,vol.53,no.4,pp.995–1005,apr.2018.

[6]j.wang,x.wang,c.eckert,a.subramaniyan,r.dasetal.,“a28-nmcomputesramwithbit-seriallogic/arithmeticoperationsforpro-grammablein-memoryvectorcomputing,”ieeej.solid-statecircuits,jan2020.

[7]w.simon,j.galicia,a.levisse,m.zapater,andd.atienza,“afast,reliableandwide-voltage-rangein-memorycomputingarchitecture,”inproc.56thacm/ieeeannu.designautom.conf.(dac),june2019,pp.1–6.

[8]a.jaiswal,a.agrawal,m.f.ali,s.sharmin,andk.roy,“i-sram:interleavedwordlinesforvectorbooleanoperationsusingsrams,”ieeetrans.circuitssyst.i,reg.papers,vol.67,no.12,pp.4651–4659,2020.

[9]z.lin,h.zhan,x.li,c.peng,w.lu,x.wu,andj.chen,“in-memorycomputingwithdoublewordlinesandthreereadportsforfouroperands,”ieeetrans.verylargescaleintegr.(vlsi)syst.,vol.28,no.5,pp.1316–1320,may.



技术实现要素:

针对现在高速sram的读干扰问题,提出了一种适用于高速内容寻址和存内布尔逻辑计算的sram单元,缓解基于存内计算sram的读干扰难题,保证稳定且高速地执行sram、存内cam操作和存内逻辑操作。

本发明的技术方案为:一种适用于高速内容寻址和存内布尔逻辑计算的sram单元,由一个标准6t-sram和两个额外的pmos访问晶体管构成,两个pmos访问晶体管p1、p2的读字线分别为rwlr和rwll,在其控制下形成差分读取端口

优选的,所述标准6t-sram的nmos门控访问晶体管n1、n2和两个额外的pmos访问晶体管p1、p2的工作状态如下表:

对应各个端口电压真值表如下:

本发明的有益效果在于:本发明适用于高速内容寻址和存内布尔逻辑计算的sram单元,对sram的存内计算进行优化,与商业cmos技术兼容,并有机会利用现有的大量片上sram缓存。

附图说明

图1为现有标准的8tsram单元结构示意图;

图2为现有常用的双端口8tsram单元结构示意图;

图3a为本发明适用于高速内容寻址存储器和存内计算的8tsram单元的结构示意图;

图3b为本发明适用于高速内容寻址存储器和存内计算的8tsram单元时序图图;

图4为本发明2x4sram子阵列上的bcam(二元内容寻址存储器)示例图;

图5为本发明4x4sarm子阵列中的tcam(三元内容寻址存储器)搜索实例图;

图6为本发明同时利用两个读端口(rbls和bls)实现四个操作数的存内复合布尔逻辑运算图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

如图1为现有标准的8tsram单元结构示意图。该单元有两个访问端口,其中一个端口是由读字线(rwl)控制的读端口(rbl),另一个端口是由写字线(wwl)控制的差分写端口(wbl,wblb)。在参考文献[9]中,作者将一部分存内计算在读端口(rbl)完成,另一部分存内计算在写端口(wbl,wblb)实现,从而应用此单元实现了存内cam运算和布尔逻辑运算。然而,写端口(wbl,wblb)上实现计算时会遇到和6t一样严重的读扰动问题。作者采用了降低wwl电压的方式来抑制读扰动,但不可避免的损失了性能。此外,由于读端口(rbl)在此单元中是单端结构,其读裕度相比差分端口更小。为了保证在读端口上的稳定性,rbl需要更长的放电时间。因此,综合以上两点,该标准8t单元难以用于实现高速的存内计算。

如图2为现有常用的双端口8tsram单元结构示意图,此单元是在单端口6tsram单元的基础上复制增加了一套读写端口。因为其所有的访问晶体管(n3-n6)都是nmos,在多行选通时,其遇到的读扰动情况是和6t单元一样严重的。因此,这种结构是不适用于存内计算应用的。

如图3a所示本发明适用于高速内容寻址存储器和存内计算的8tsram单元的结构示意图,单元是由一个标准的6t-sram和两个额外的pmos访问晶体管(即p1和p2)组成的8tsram。尽管下拉nmos晶体管(n3和n4)是低阈值(lvt)器件,但其余晶体管是常规阈值(rvt)器件。为了减轻存内计算访问过程中的读干扰(即同时访问多个字),采用了pmos作为sram单元访问晶体管,因为pmos管比nmos驱动能力弱,所以可以有效地减轻读干扰引起的误写操作。另一方面,连接到pmos访问晶体管的读位线rbl是预充电到地(gnd),而不是像以前的6tsram那样预充电到vdd。而且由于pmos能够传输强“1”信号,因此位线可以迅速充电到目标感应电压值。因此,可以实现高速存内计算sram。

sram既可以配置为可靠的高速bcam(二元内容地址存储器)或tcam(三元内容地址存储器),也可以配置为执行布尔逻辑功能的计算单元。8tsram单元采用28nmcmos技术,与标准8t的面积相同。一个工作在2.7ghz的16kbsram模块已经被后仿验证,相比之前的设计,速度提升明显。

所提出的8tsram的典型工作时序图如图3b所示。在一个写周期中,通过拉低bl或只选择wl来写入数据。在读周期中,尽管两个端口(即bls和rbls)都可以访问,但各自的预充电和激活逻辑是不同的。bls与传统的6t一样被预充电到vdd,而连接pmos访问晶体管的rbls则被预充电到gnd。因此,传统的存储器访问是通过选通bl放电,而通过pmos管进行成功的存储器访问则是需要选通rbl后进行充电。

通过额外的读端口(即rbls),所提出的8tsram可以配置成执行sram、cam操作和存内逻辑操作的单元。不同操作的详细真值表如表1所示。四个访问晶体管的相应工作模式汇总于表2。对于sram功能,只激活wl来执行写或正常读操作。为了执行cam(存内内容寻址)功能,pmos访问晶体管p1、p2的读字线rwlls和rwlrs将被配置为输入搜索数据。例如,如果搜索数据为1,rwll被拉低至gnd,而rwlr被拉高至vdd。为了执行布尔逻辑运算,p1、p2所对应的读字线rwlls和rwlrs都将被选通。

表1

表2

图4是一个2x4sram子阵列上的bcam示例。

1)为了支持cam操作,读字线(rwl)被分割成rwlr和rwll。要搜索的数据以列的形式存储,并通过驱动行的字线(即rwlr或rwll)与所有列进行比较。如果输入数据为“0”,rwlrs将为低电平,以打开右侧pmos接入晶体管,而rwlls将为高电平,以切断左侧pmos接入。当输入数据为“1”时,会出现相反的情况。

对于每一列,一对单端灵敏放大器(sa)用于检测bl行为,一个nor门连接两个sa产生匹配或不匹配信号。当出现不匹配时,如图4第一列第二位所示,rbl将被充电,通过与片外电压基准(vref)比较,连接带电rbl的sa会产生逻辑“1”。因此,两个sa的nor结果为逻辑“0”,表明不匹配的情况。对于匹配的情况,如图4第二列所示,rbls将不被充电,保持在低电平。那么,两个sa的nor结果为逻辑“1”,表明匹配的情况。

图5所示为tcam搜索实例。由于tcam有三种状态,需要用两个位来表示状态0、1和x(即“don'tcare”状态)。因此,每个字需用两列来存储。状态x用矩形框框住的“10”表示,状态0/1分别用“00”和“11”表示。

感应方案与bcam相同。对于每一个存储的字,通过对第一个sa和第四个sa的输出进行nor操作,可以产生一个搜索结果。

当出现匹配时,位线不会被预充,如图5前两列所示。当出现不匹配时,如图5中后两列的第三位,位线将被充电,sa将产生逻辑“1”,从而检测出不匹配的情况。

3)多操作数的复合逻辑运算在许多应用中都很有用,例如汉明码。通过利用所提出的8tsram的两个读端口,可以在一个周期内同时访问四个字来执行复合逻辑运算。如图6所示,两个rwls被选中以执行rbls中的一个逻辑功能,而两个wls也被选中以执行bls中的另一个逻辑功能。通过额外的一个逻辑门,可以实现各种复合逻辑运算。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。


技术特征:

1.一种适用于高速内容寻址和存内布尔逻辑计算的sram单元,其特征在于,由一个标准6t-sram和两个额外的pmos访问晶体管构成,两个pmos访问晶体管p1、p2的读字线分别为rwlr和rwll,在其控制下形成差分读取端口

2.根据权利要求1所述适用于高速内容寻址和存内布尔逻辑计算的sram单元,其特征在于,所述标准6t-sram的nmos门控访问晶体管n1、n2和两个额外的pmos访问晶体管p1、p2的工作状态如下表:

对应各个端口电压真值表如下:

技术总结
本发明涉及一种适用于高速内容寻址和存内布尔逻辑计算的SRAM单元,由一个标准6T‑SRAM和两个额外的PMOS访问晶体管构成,两个PMOS访问晶体管P1、P2的读字线分别为RWLR和RWLL,在其控制下形成差分读取端口此SRAM单元适用于多行选通的操作,典型的应用是存内高速内容寻址和存内布尔逻辑计算。因PMOS的器件特性,本发明设计结构可以避免存内计算SRAM产生的读干扰,保证SRAM可以稳定且高速地执行存内CAM和存内布尔逻辑计算。此外,此基于SRAM的存内计算方案与商业CMOS技术兼容,并有机会利用现有的大量片上SRAM缓存。

技术研发人员:陈剑;哈亚军
受保护的技术使用者:上海科技大学
技术研发日:2021.05.13
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-5110.html

最新回复(0)