低功率高性能SRAM中的感测放大器的制作方法

文档序号:15072820发布日期:2018-08-01 00:18阅读:190来源:国知局

静态随机存取存储器(sram)利用锁存来存储每一位。因为sram是静态的,所以存储器的周期性刷新是不必要的,且因此,sram通常比动态随机存取存储器(dram)更快、密度更低且更昂贵。由于sram的速度,sram通常用于需要快速存储器(例如用于中央处理单元(cpu)的高速缓冲存储器、外部突发模式sram高速缓冲存储器、硬盘缓冲器、路由器缓冲器及cpu寄存器文件)的计算机应用中。尽管sram较快,但其也消耗很大一部分的系统级动态功率。在一些情况中,sram可消耗高达90%的系统级动态功率。



技术实现要素:

在所描述的用于降低静态随机存取存储器(sram)中的功率消耗并增加其中的速度的系统及方法的实例中,所述sram包含存储单元阵列及第一感测放大器。所述存储单元阵列布置为行及列。所述行对应于字线,且所述列对应于位线。所述第一感测放大器包含第一晶体管及第二晶体管。所述第一感测放大器经配置以提供对所述存储单元阵列的第一存储单元的第一读取。基于对所述第一存储单元的所述第一读取不能正确地读取存储于所述第一存储单元中的数据,所述第一感测放大器经配置以第一次递增所述第一晶体管的体偏置。响应于所述第一晶体管的所述体偏置被递增,所述第一感测放大器经配置以提供对所述第一存储单元的第二读取。

在用于降低sram中的功率消耗并增加其中的速度的实例方法中,所述方法包含:将已知数据写入到布置为行及列的存储单元阵列的多个存储单元中;第一次读取所述多个存储单元中的第一存储单元;基于第一次读取所述第一存储单元不能正确地从所述第一存储单元读取所述已知数据,递增所述sram的第一感测放大器的第一晶体管的体偏置;及响应于所述第一晶体管的所述体偏置被递增,第二次读取所述第一存储单元。

实例sram感测放大器包含第一晶体管及第二晶体管。所述第二晶体管与所述第一晶体管交叉耦合。所述第一晶体管经配置以接收体偏置使得所述第一晶体管的电压阈值近似等于所述第二晶体管的电压阈值。

附图说明

图1展示根据各种实施例的集成电路的框图。

图2展示根据各种实施例的静态随机存取存储器(sram)的框图。

图3展示根据各种实施例的存储单元阵列的框图。

图4展示根据各种实施例的感测放大器的电路图。

图5展示根据各种实施例的用于降低sram中的功率消耗并增加其中的速度的方法的流程图。

具体实施方式

术语“耦合”意味着间接或直接连接。举例来说,如果第一装置耦合到第二装置,那么那个连接可为通过直接连接或通过经由其它装置及连接的间接连接。叙述“基于”意味着“至少部分基于”。举例来说,如果x是基于y,那么x可为基于y及任何数目个其它因素。

静态随机存取存储器(sram)是利用锁存存储每一位的存储器。因为sram是静态的,所以存储器的周期性刷新是不必要的,且因此sram通常比动态随机存取存储器(dram)更快、密度更低且更昂贵。由于sram的速度,sram通常用于需要快速存储器(例如用于中央处理单元(cpu)的高速缓冲存储器、外部突发模式sram高速缓冲存储器、硬盘缓冲器、路由器缓冲器及cpu寄存器文件)的计算机应用中。因此,sram是许多系统的基本构建块。尽管sram较快,但其也消耗很大一部分的系统级动态功率。在一些情况中,sram可消耗高达90%的系统级动态功率。因此,需要在增加速度的同时降低sram的功率消耗。

每当读取存储器的存储单元阵列中的存储单元时,起始位线的预充电。在预充电常规sram中的位线之后,激活对应于待读取其中的存储单元的行的字线。此在对应于含有被读取的存储单元的列的差分位线对中产生差分电压。接着,可利用感测放大器通过感测差分电压来读取存储单元的内容。感测放大器比较差分位线对以确定位线中的哪一者高及哪一者低。基于此比较,感测放大器做出关于存储在存储单元中的内容的确定。然而,在实际操作中,到感测放大器的差分电压输入可能偏斜,这可致使感测放大器中的不平衡或偏移。更特定来说,许多常规感测放大器含有两个感测晶体管。由于许多因素,两个感测晶体管可能具有稍微不同的电压阈值。举例来说,感测晶体管中的一者的电压阈值可比另一感测晶体管高或低几mv。此不平衡或偏移可能致使感测放大器提供关于存储在存储单元中的数据的不正确确定,尤其是每当差分对中的电压的差十分小时。用于消除感测放大器中的晶体管的偏移的常规技术包含接通及/或关断感测放大器内的晶体管以使偏移平衡或在感测放大器输入上添加单独电压来消除偏移效应。然而,这些技术需要额外功率及/或减慢存储器的存取时间。因此,可能需要在存储器中创建降低功率消耗并增加速度(即,减少存取时间)的感测放大器。

根据所揭示的原理,感测放大器可包含两个晶体管。可通过将自适应体偏置提供到晶体管(即,到晶体管的栅极的后部的电压)来控制两个晶体管的电压阈值。举例来说,如果晶体管是n通道金属氧化物半导体场效应(nmos)晶体管,那么将正体偏置电压施加到晶体管会减少晶体管的电压阈值,而将负体偏置电压施加到晶体管会增加晶体管的电压阈值。因此,通过将自适应体偏置施加到sram中的感测放大器的感测晶体管,可减小或去除偏移。因为需要由感测放大器产生的摆动与偏移相关(即,偏移越大,读取存储单元所需的摆动越大),所以可通过降低偏移来降低功率。另外,通过减少偏移,感测放大器能够以更小电压差分做出位线差分对的电压之间的差的准确确定。因此,偏移经减小的感测放大器可在位单元放电期间比偏移感测放大器更早地感测到电压差。因此,通过将自适应体偏置提供到感测放大器的感测晶体管,可减少功率及存取时间。

图1展示根据各种实施例的集成电路100的框图。集成电路100可包含处理器102及sram104,在一些实施例中,sram104可耦合到处理器102。集成电路100还可包含各种额外组件,例如收发器、时钟发生器及端口。然而,为了清楚起见,省略了这些组件。处理器102可为控制处理器、信号处理器、中央处理器或任何其它类型的处理器。举例来说,处理器102可为通用微处理器、数字信号处理器、微控制器或经配置以执行用于执行操作的指令的其它合适的装置。处理器架构通常包含执行单元(例如,定点、浮点、整数)、指令解码、外围设备(例如,中断控制器、定时器、直接存储器存取控制器)、输入/输出系统(例如,串行端口、并行端口)及各种其它组件及子系统。

sram104是静态随机存取存储器,其可提供能够由处理器102处理的数据及/或指令的存储。sram104经设计使得其展现数据残留,且利用锁存电路来存储每一位数据。sram104耦合到处理器102使得处理器102可从sram104读取数据及/或指令及/或将数据及/或指令写入到sram104以供存储。在一些实施例中,sram104是处理器102的一部分,而在替代实施例中,sram104与处理器102不同。此外,多个sram104可包含于集成电路100中。

图2展示根据各种实施例的sram104的框图。sram104可包含存储单元阵列202、读取控制器204、列解码器206及感测放大器208到210。存储单元阵列202可布置为存储单元的行及列,有时称之为位单元,每一存储单元存储一位数据。

图3展示根据各种实施例的存储单元阵列202的框图。存储单元阵列202可包含字线302到312,其对应于存储单元阵列202的行及列322到328。列322到328中的每一者可包含差分位线对。举例来说,列322可包含位线332到334;列324可包含位线336到338;列326可包含位线340到342;且列328可包含位线344到346。在字线302到312中的每一者与列322到328的相交处是组成存储单元阵列202的存储单元,例如存储单元352、354及356。

存储阵列202中的存储单元中的每一者(例如,存储单元352、354及356)可经布置以存储单个数据位。在一些实施例中,存储单元中的每一者包括六晶体管(“6t”)sram单元,其由一对交叉耦合反相器形成。每一反相器包含p通道晶体管及n通道晶体管。第一导通门晶体管的源极连接到第一反相器的栅极节点及第二反相器的漏极节点。类似地,第二导通门晶体管的源极连接到第二反相器的栅极节点及第一反相器的漏极节点。导通门晶体管的栅极连接到共同字线,例如用于存储单元352及354的字线302及用于存储单元356的字线308,而导通门晶体管的漏极连接到差分位线对,例如用于存储单元352及356的位线332及334及用于存储单元354的位线336及338。在替代实施例中,存储阵列202的存储单元可为任何类型的sram位单元,例如四晶体管(“4t”)sram单元、八晶体管(“8t”)sram单元、十晶体管(“10t”)sram单元或任何其它sram存储单元。

再次参考图2,读取控制器204耦合到存储单元阵列202且经配置以管理含于存储单元阵列202中的存储单元的读取。读取控制器204可为管理数据从存储单元阵列202的流动及数据到存储单元阵列202的流动的任何类型的存储器控制器。在读取循环的开始处,读取控制器204经配置以致使差分位线对中的每一者(正信号及负信号两者)预充电到共同电压。为了读取存储单元中的任何者,激活对应于待读取的存储单元的字线。举例来说,如果将读取存储单元352,那么激活字线302。在一些实施例中,行控制器(未展示)可致使激活字线。在激活字线之后,启用来自经激活字线上的存储单元中的每一者的导通门晶体管中的每一者。举例来说,如果激活字线302,那么启用存储单元352及354中的导通门晶体管,且启用连接到字线302的任何其它存储单元的导通门晶体管。这致使用于连接到存储单元中的每一者的两个差分位线对中的一者的位线电压基于连接到差分对的存储单元是存储0还是1而下降。举例来说,在激活字线302之后,沿着位线332或334的电压将基于存储单元352是存储0还是1而下降。类似地,沿着位线336或338的电压将基于存储单元354是含有0还是1而下降。

列解码器206确定来自图3的列322到328中的哪一者含有待读取的存储单元。更具体来说,列解码器206经配置以从列322到328中的每一者接收输出信号且从对应于被读取的存储单元的列选择输出信号。输出信号中的每一者对应于载送于差分位线对中的差分电压。举例来说,如果将读取存储单元352,那么解码器206选择列322及其差分位线对332到334。接着,感测放大器208可通过放大来感测所选择的差分位线对中的哪一者具有更高电压,从而确定存储单元是存储0还是1。因此,感测放大器208经配置以通过感测列电压差分来确定所选择的列的状态。继续前一实例,在列解码器206选择列322之后,感测放大器208将感测或确定位线332及334中的哪一者具有更高电压。在确定此之后,能够确定存储单元352的状态。在一些实施例中,可存在多个感测放大器208到210。感测放大器208到210之间的省略号指示可存在任何数目个感测放大器,但为了清楚起见仅展示两个感测放大器。举例来说,每一列322到328可具有其自身的感测放大器。在其它实例中,可利用单个感测放大器感测存储单元阵列202的4个列、8个列、16个列、32个列等的差分。

图4展示根据各种实施例的感测放大器208的实例电路图。感测放大器208可包括开关402及404以及交叉耦合的晶体管406到412。在一些实施例中,开关402及404用于接通及关断感测放大器208。因此,在列解码器206选择将感测的列之后,开关402到404可以使得感测放大器208被接通且开始感测位线之间的电压差分的方式被切换为断开及/或闭合。举例来说,在列解码器206选择列322进行感测之后,为了读取存储单元352,开关402到404被切换为断开及/或闭合,以使得感测放大器208的其余组件(例如晶体管406到412)可感测位线332到334之间的电压差分。

感测晶体管410到412经配置以读取存储于至少一个存储单元中的数据。在一些实施例中,感测晶体管410到412是nmos晶体管。虽然在图4中被展示为nmos晶体管,但在一些实施例中,感测晶体管410到412可为p通道金属氧化物半导体场效应(pmos)晶体管、p型结栅场效应晶体管(pjfet)、n型结栅场效应晶体管(njfet)及/或双极结晶体管(bjt)(包含pnp及npn晶体管)。因为制造工艺(及许多其它潜在原因),感测晶体管410到412可能不具有相同电压阈值,即使感测放大器208经设计使得感测晶体管410到412具有相同电压阈值。因此,两个感测晶体管410到412之间可存在偏移。因此,在实施例中,感测晶体管410经配置以接收体偏置使得其电压阈值近似等于(即,加或减50mv)感测晶体管412的电压阈值。在替代实施例中,感测晶体管412经配置以接收体偏置使得其电压阈值近似等于(即,加或减50mv)感测晶体管410的电压阈值。

在一些实施例中,可利用迭代校准过程确定待施加到感测晶体管410及/或412的体偏置。举例来说,数据可被写入到存储单元阵列202。在一些实施例中,已知数据被写入到具体存储单元,例如存储单元352及354。因此,含于存储单元352及354中的数据在其被读取之前是已知的。最初,可将感测晶体管410及412中的每一者的正体偏置设置为零。因此,最初没有正体偏置被施加到感测晶体管410及412。感测放大器的容限模式可被设置到其最快设置。容限模式是在触发或接通感测放大器208以读取位线中的电压差分之前允许经过的时间量或位单元中的电压放电量。因此,在最快容限模式下,感测放大器208比在其它操作模式中更快读取位线的电压差分(即,在较少位单元放电之后)。接着,可执行读取操作。举例来说,可读取位单元352。

如果读取失败(即,如果感测放大器208不能正确地读取存储于位单元352中的已知数据),那么可使感测晶体管410的正体偏置递增达经预先确定的电压,且所述过程重复读取存储单元352以确定感测放大器208是否正确地读取存储于存储单元352中的数据。因此,接着,在感测晶体管410的正体偏置在每一读取失败之后递增的情况下,可重复存储单元352的读取。然而,如果达到了感测晶体管410的最大可允许正体偏置,那么感测晶体管410的正体偏置可复位到零。另外,感测晶体管412的正体偏置可递增达经预先确定的电压。接着,在感测晶体管412的正体偏置在每一读取失败之后递增的情况下,可重复存储单元352的读取。

在读取通过之后(即,如果感测放大器208正确地读取存储于位单元352中的已知数据),那么正体偏置校准可结束且正体偏置设置(即,在读取通过时施加到感测晶体管410到412中的每一者的正体偏置)可被存储或保存在集成电路100的存储器(未展示)中,且可利用相同过程通过读取存储单元354校准感测放大器210。在一些实施例中,可执行存储单元352的多次读取以验证感测放大器208正确地读取存储单元352。

图5展示根据各种实施例的用于降低sram104中的功率消耗并增加其中的速度的方法500的流程图。尽管为了方便起见循序地描绘,但可以不同顺序执行方法500中展示的至少部分动作及/或并行执行所述动作。另外,一些实施例可执行所展示动作中的仅部分或可执行额外动作。在一些实施例中,方法500的至少部分操作及本文描述的其它操作可由sram104及/或感测放大器208到210执行,其由执行存储于非暂时性计算机可读存储媒体或状态机中的指令的处理器实施。

方法500在框502中以将数据写入到sram阵列中开始,例如存储阵列202。被写入到sram阵列中的数据可为已知数据。因此,sram阵列的存储单元的内容在被从阵列读取之前是已知的。在框504中,方法500以将第一晶体管及第二晶体管的体偏置初始化为零而继续,所述晶体管例如感测放大器(例如感测放大器208)的感测晶体管410到412。因此,当初始化时,无正体偏置被施加到第一晶体管及第二晶体管。方法500以将感测放大器的容限模式设置到最快设置而继续。因此,设置感测放大器以在最早可能时间及以最小位单元放电量触发。

在框508中,方法500以读取sram阵列的存储单元(例如存储单元352)而继续。方法500在框510中以确定来自框508的读取是否已通过而继续。因此,做出关于感测放大器是否正确地读取存储于存储单元中的已知数据的确定。如果在框510中,做出来自框508的读取已通过的确定(即,做出感测放大器已正确地读取存储于存储单元中的已知数据的确定),那么在框512中,方法500以保存框508中的读取时间处的体偏置设置(即,施加到第一晶体管及第二晶体管的体偏置)而继续。在框514中,方法500以确定sram中的任何其它感测放大器(例如感测放大器210)是否有待被校准而继续。如果在框514中,做出此是sram中待校准的最后感测放大器的确定,那么方法500在框516中结束。然而,如果在框514中做出此并非sram中待校准的最后感测放大器的确定(例如,感测放大器210需要被校准),那么方法在框504中以将新感测放大器(例如感测放大器210)的第一晶体管及第二晶体管的体偏置初始化为零而继续。

如果在框510中做出来自框508的读取尚未通过的确定(即,做出感测放大器不能正确地读取存储于存储单元中的已知数据的确定),那么在框518中,方法500以确定第一晶体管的体偏置是否处于可为经预先确定的最大电平而继续。如果在框518中,做出第一晶体管的体偏置并非处于最大电平的确定,那么方法500在框520中以递增第一晶体管的体偏置而继续。在一些实施例中,第一晶体管的体偏置递增的量是经预先确定的。接着,方法500可在框508中以读取阵列的存储单元而继续。

如果在框518中做出第一晶体管的体偏置处于最大电平的确定,那么方法500在框522中以将第一晶体管的体偏置设置为零而继续。在框524中,方法500以递增第二晶体管(例如晶体管412)的体偏置而继续。在一些实施例中,第二晶体管的体偏置递增的量是经预先确定的。在框526中,方法500以再次读取阵列的存储单元而继续。方法500在框528中以确定来自框528的读取是否已通过(即,感测放大器是否正确地读取存储于存储单元中的已知数据)而继续。如果在框528中做出来自框526的读取已通过的确定(即,做出感测放大器已正确地读取存储于存储单元中的已知数据的确定),那么在框530中,方法500以保存在框526中的读取时间处的体偏置设置(即,施加到第一晶体管及第二晶体管的体偏置)而继续。在框532中,方法500以确定sram中的任何其它感测放大器(例如感测放大器210)是否有待被校准而继续。如果在框532中做出此是sram中待校准的最后感测放大器的确定,那么方法500在框534中结束。然而,如果在框532中,做出此并非sram中待校准的最后感测放大器的确定(例如,感测放大器210需要被校准),那么方法在框504中以将新感测放大器(例如感测放大器210)的第一晶体管及第二晶体管的体偏置初始化为零而继续。

如果在框528中做出来自框526的读取尚未通过的确定(即,做出感测放大器不能正确地读取存储于存储单元中的已知数据的确定),那么在框536中,方法500以确定第二晶体管的体偏置是否处于可为经预先确定的最大电平而继续。如果在框536中做出第二晶体管的体偏置并非处于最大电平的确定,那么方法500在框524中以递增第二晶体管的体偏置而继续。在一些实施例中,第二晶体管的体偏置递增的量是经预先确定的。然而,如果在框536中做出第二晶体管的体偏置处于最大电平的确定,那么方法500在框538中以将第二晶体管的体偏置设置为零而继续。

修改在所描述的实施例中是可能的,且在权利要求书的范围内其它实施例是可能的。

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