用于降低动态功耗的智能位线预充电的制作方法

文档序号:16051399发布日期:2018-11-24 11:19阅读:263来源:国知局

相关申请的交叉引用

本申请是2016年3月28日提交的美国专利申请no.15/083,055的继续申请,该美国专利申请通过援引全部纳入于此。

本申请涉及存储器,尤其涉及用于改善动态功率的智能位线预充电。

背景

消费者要求他们的移动设备具有足够的电池寿命。但移动设备处理器的时钟速率和吞吐量也在不断增长,这加剧了电池寿命的功率要求。为了根据这些需求提供足够的电池寿命,必须从各种移动设备组件获得额外的功率节省。

影响移动设备电池寿命的一个重要因素是移动设备的嵌入式存储器的功耗。嵌入式存储器在移动设备集成电路(诸如片上系统(soc))中占据相对大量的管芯空间。所产生的嵌入式存储器的动态功率可能是给定设备总功耗的主要部分。例如,对于嵌入式静态随机存取存储器(sram)中的每个写周期,常规地对相应位线对中的两条位线进行预充电。然后响应于要在写周期中写入耦合至位线对的位单元的二进制值来对位线对中的一条位线放电。位线的预充电和随后的放电显著地造成了嵌入式sram的动态功耗。

因此,在本领域中需要改进的sram架构以提供降低的动态功耗。

概述

提供写驱动器,其“智能地”对位线对中的位线预充电。对于当前写周期所产生的位线预充电被认为是智能的,因为它取决于在先前写周期中通过位线对写入位单元的先前二进制值。如果在当前写周期中通过位线对写入位单元的当前二进制值等于先前二进制值,则写驱动器在当前写周期中使位线对的预充电状态与先前写周期相比保持不变。与常规的预充电周期相比,这是非常有利的,在常规的预充电周期中,位线对中的两条位线都将在当前写周期中被预充电,使得在预充电之后必须对其中一条位线不必要地放电到接地。被放电的位线的身份取决于在当前写周期中写入相应位单元的二进制值。相反,如果该相同位线在先前写周期中被放电,则本文公开的智能预充电不会因预充电必须在当前写周期中放电的位线而浪费电荷。

对于每个写周期,写驱动器将位线驱动到预充电状态。例如,如果正在将二进制1写入耦合至位线对的位单元,则写驱动器将位线对中的真位线充电到电源电压,同时使位线对中的剩余补位线放电。因此,每条位线的预充电状态可以由二进制值表示:例如,如果真位线被充电到电源电压,则其预充电状态可以被认为是二进制1,而如果真位线被放电,则它的预充电状态可以被认为是二进制0——注意,指派什么二进制值给什么预充电状态是任意的。无论用于表示预充电状态(逻辑高或逻辑低)的惯例如何,在写驱动器的正常操作期间,真位线的预充电状态和补位线的预充电状态将始终是互补的。换言之,如果位线对中一条位线的预充电状态是二进制0,则位线对中剩余位线的预充电状态将是二进制1。在具有智能预充电的写周期中,如果当前写周期中写入的当前数据位相对于先前写周期中通过相同位线对写入的先前数据位没有改变,则在正常操作期间,先前写周期的位线对的预充电状态在当前写周期中不改变。

关于写周期,注意存储器时钟信号可以在给定的写周期中触发放电。该触发可以响应于存储器时钟信号的二进制高值或存储器时钟信号的二进制低值。不失一般性,以下讨论将假设每个写周期放电的触发是响应于存储器时钟信号的二进制高值。在每个存储器时钟周期中,正被写入的数据位具有相应的二进制值。写驱动器使用数据位的二进制值来控制位线对的预充电状态。在这方面,写驱动器包括第一晶体管开关,其耦合在提供电源电压的电源节点和真位线之间。补码当前数据位控制第一晶体管开关,使得第一晶体管开关被配置成响应于补码当前数据位为假(在逻辑高实施例中为二进制0)而闭合。第二晶体管开关耦合在真位线和接地之间,其被控制为响应于补码当前数据位为真(在逻辑高实施例中为二进制1)且补码存储器时钟信号被断言为低而闭合。

因此,如果先前数据位具有逻辑低或0二进制值,则真位线将在先前写周期中被放电。如果当前数据位也是二进制0,则在当前写周期中没有对真位线进行预充电。换言之,如果真位线的先前预充电状态是逻辑0且当前位是逻辑0,则真位线在先前写周期和当前写周期中都保持放电。就节省功率而言这是非常有利的(假设数据流是完全随机的),在任何给定的写周期中,当前数据位等于先前数据位的概率为50%。类似的一对开关控制补位线的预充电状态,以便在当前数据位等于先前数据位时不改变其预充电状态。

附图简述

图1是根据本公开一个方面的智能预充电写驱动器的电路图。

图2是根据本公开一个方面的包括多个智能预充电写驱动器的存储器。

图3解说了多个波形,包括图2的存储器的位线电压波形以及在没有数据掩蔽的多个读和写周期期间常规存储器的位线电压波形。

图4解说了多个波形,包括图2的存储器的位线电压波形以及在存在数据掩蔽的多个读和写周期期间常规存储器的位线电压波形。

图5是根据本公开一个方面的用于智能写驱动器的循环方法的流程图。

图6是纳入了具有图2中的嵌入式存储器的片上系统的示例移动设备的框图。

本公开的各实施例及其优势通过参考以下详细描述而被最好地理解。应当领会,相同参考标记被用来标识在一个或多个附图中所解说的相同元件。

详细描述

为了提供降低的动态功耗,静态随机存取存储器(sram)的写驱动器被配置成:仅在当前写周期中写入的当前数据位是先前写周期中先前写入的数据位的补码时,针对当前写周期改变位线对中的每条位线的预充电状态。例如,假设先前写入的数据位是二进制0。为了在先前写周期中将这样的二进制值写入位单元,写驱动器在耦合至位单元的位线对中对真位线放电,同时将位线对中的剩余补位线充电到电源电压vdd。因此,先前写周期中的真位线的预充电状态是二进制0,而补位线的预充电状态在这样的先前写周期中是二进制1。如果写驱动器通过相同位线对写入的当前数据位也是二进制0,则位线对的预充电状态在当前写周期中保持不变。相反,如果当前数据位是先前写入的数据位的补码,则写驱动器改变位线对的预充电状态。类似地,如果先前写入的数据位是二进制1,则先前写周期中真位线的预充电状态是二进制1,而补位线的预充电状态是二进制0。如果当前数据位和先前写入的数据位都是二进制1,则写驱动器不会改变当前写周期中位线对的预充电状态。

以下讨论针对双端口(每个位单元有单独的读端口和写端口)实施例。但是应当理解,单端口实施例也可以享有来自本文讨论的选择性位线预充电的功率节省。另外,以下讨论涉及具有字掩蔽的sram。例如,字线可以划分成多个字节。取决于是否需要对它们进行写操作,可以掩蔽或不掩蔽各种字节。然而应当理解,本文讨论的选择性位线预充电周期也可以在不采用字掩蔽的sram中实现。

图1中示出了示例写驱动器100。写驱动器100在每个写周期期间控制真写位线105(wbl)和补码写位线110(wblb)的预充电状态。存储器时钟信号(wclk)控制写驱动器100的每个写周期的定时。为简洁起见,在下文的讨论中,真写位线105将被称为真位线105。类似地,补码写位线110将被标示为补位线110。真位线105通过第一晶体管开关(诸如pmos晶体管p1)耦合至提供电源电压vdd的电源节点。第一逻辑门(诸如与非门nand2)通过驱动pmos晶体管p1的栅极电压来控制pmos晶体管p1的导通和截止状态。与非门nand2对低电平有效数据掩蔽命令ibyte与当前数据位(din)执行逻辑与非。如果数据掩蔽命令ibyte被解除断言(由于它是低电平有效信号,解除断言是被充电到电源电压vdd),与非门nand2用作反相器以将当前数据位din反相为补码当前数据位(dinb)。如果当前数据位din是二进制1,则在由存储器时钟信号wclk的周期确定的当前写周期历时中,与非门nand2因此将用二进制0来驱动pmos晶体管p1的栅极以将pmos晶体管p1导通,从而将真位线105预充电到电源电压vdd。

真位线105还通过第二晶体管开关(诸如nmos晶体管m1)耦合至接地。第二逻辑门(诸如或非门nor1)控制nmos晶体管m1的导通和截止状态。或非门nor1接收第三逻辑门(诸如与非门nand1)的输出,与非门nand1执行补码当前数据位dinb和数据掩蔽命令ibyte的逻辑与非。如果数据掩蔽命令ibyte被解除断言(由于它是低电平有效信号,解除断言是充电为高电平),则与非门nand1用作反相器,使得与非门nand1的输出因此将等于当前数据位din。然后,或非门nor1形成当前数据位din和由反相器120产生的补码存储器时钟信号(wclkn)的逻辑或非。当存储器时钟信号wclk被驱动为高并且数据掩蔽命令ibyte被解除断言为高时,或非门nor1因此用作反相器以将来自与非门nand1的当前数据位din反相为补码当前数据位dinb,以控制晶体管m1的栅极电压。因此,晶体管m1将导通达当前存储器时钟周期的一半,其中在当前数据位din是二进制0时,补码存储器时钟信号wclkn被放电以对真位线105放电。在当前存储器时钟周期的剩余一半期间,晶体管m1截止,使得真位线105浮置。但是这种浮置不涉及对真位线105的预充电。例如,如果第一写周期(并且由此存储器时钟wclk的第一周期)的当前数据位din等于二进制0,则或非门nor1将通过在半个存储器时钟周期期间导通晶体管m1来对真位线105放电,其中存储器时钟信号wclk被驱动为二进制高值。如果随后第二写周期(并且由此存储器时钟wclk的第二周期)的当前数据位din也是二进制0,则或非门nor1将通过在半个存储器时钟周期期间导通晶体管m1来维持真位线105的放电,其中存储器时钟信号wclk被驱动为二进制高值。尽管真位线105在当前存储器时钟周期的半个周期期间浮置,其中存储器时钟信号wclk是二进制0,但是该浮置接地,从而没有预充电。相反,常规写驱动器将对真位线105进行预充电,然后将其放电以写入相同的二进制0值,这会浪费功率。因此,写驱动器100有利地降低了动态功耗。如果两个连续写周期的当前数据位din等于二进制1,则真位线105在两个相应的存储器时钟周期的历时内保持充电至电源电压vdd。

对补码写位线110的预充电状态的控制是类似的,其通过第三晶体管开关(诸如pmos晶体管p2)耦合至电源节点,并且通过第四晶体管开关(诸如nmos晶体管m2)耦合至接地。第三逻辑门(诸如与非门nand1)控制晶体管p2的导通和截止状态。与非门nand1执行数据掩蔽命令ibyte和补码当前数据位dinb的逻辑与非。因此,在无掩蔽状况期间,其中数据掩蔽命令ibyte(其也可以标示为数据掩蔽信号ibyte)被解除断言到电源电压vdd,与非门nand1用作反相器以将补码当前数据位dinb反相为当前数据位din。如果当前数据位din是二进制0,则与非门nand1用二进制0驱动晶体管p2的栅极以将晶体管p2导通,从而将补位线110预充电到电源电压vdd。相反,如果当前数据位din是二进制1,则与非门nand1使晶体管p2截止。

第四逻辑门(诸如或非门nor2)控制晶体管m2的导通和截止状态。或非门nor2被配置成对与非门nand2的输出和补码存储器时钟信号wclkn进行或非。在未掩蔽的写周期期间,与非门nand2的输出是如上所述的补码当前数据位dinb。当存储器时钟wclk被断言为二进制1时,或非门nor2因此用作反相器以将补码当前数据位dinb反相回到当前数据位din。因此,在当前数据位din是二进制1、存储器时钟信号wclk被断言为高、并且数据掩蔽信号ibyte是二进制1时,或非门nor2将晶体管m2导通以使补位线110接地。当存储器时钟信号wclk被拉低时,或非门nor2关断晶体管m2,导致补位线110浮置。如果当前数据位din跨两个连续写周期为二进制1,则补位线110不被预充电,而是保持接地。因此,只要当前数据位din跨两个连续写周期不改变状态,则真位线105和补位线110的预充电状态跨两个连续写周期(对应于存储器时钟信号wclk的两个连续周期)不改变。

如果数据掩蔽信号ibyte被断言为低,则真位线105和补位线110都被预充电到电源电压vdd。例如,第五逻辑门(诸如与非门nand3)可以被配置成对补码存储器时钟信号wclkn和补码数据掩蔽信号(ibyte_n)进行与非。由于数据掩蔽信号ibyte为低电平有效,因此补码数据掩蔽信号ibyte_n为高电平有效。因此,当存储器时钟信号wclkn被断言为高而数据掩蔽信号ibyte被断言为低时,与非门nand3将接收两个二进制1输入。与非门nand3的输出耦合至pmos晶体管p3的栅极,pmos晶体管p3耦合在真位线105和电源节点之间。类似地,与非门nand3的输出耦合至pmos晶体管p4的栅极,pmos晶体管p4耦合在补位线110和电源节点之间。因此,响应于补码数据掩蔽信号ibyte_n和补码存储器时钟信号wclkn都等于二进制1值,晶体管p3和p4都将被导通以将它们相应的位线预充电到电源电压vdd。在一个实施例中,写驱动器100可以被认为包括用于将位线对中的真位线驱动到预充电状态并且将位线对中的补位线驱动到预充电状态从而在当前写周期中通过该位线对将当前数据位写入位单元的装置,其中该装置还被配置成响应于当前数据位等于先前写周期中通过该位线对写入的先前数据位而不改变真位线和补位线的预充电状态。现在将讨论纳入了多个写驱动器100的示例存储器。

多个写驱动器100可以被纳入到示例sram200中,如图2所示。sram200包括多个写位线对,范围从由真写位线wb1和补码写位线wb1b形成的第一写位线对到由真写位线wbn和补码写位线wbnb形成的第n写位线对。因为sram200是双端口sram,每个写位线对也对应于读位线对。因此,读位线对的范围从由真读位线rb1和补码读位线rb1b形成的第一读位线对到由真读位线rbn和补码读位线rbnb形成的第n读位线对。sram200包括多个位单元。为了解说清楚性,图2中仅示出第一位单元205。位单元按列排列,每列包括相应的读位线和写位线对。例如,第一列对应于第一读位线对rb1和rb1b、以及第一写位线对wb1和wb1b。每列中的写位线对由相应的写驱动器100驱动。

位单元也按行排列,每行具有其自己的读字线和写字线。sram200包括多个(m)行,范围从对应于第一读字线rw1和第一写字线ww1的第一行到对应于第m读字线rwm和第m写字线wwm的第m行。每个位单元布置在相应行和列的交叉点处。例如,第一位单元205布置在第一行和第一列的交叉点处。由于存在n列和m行,因此sram200中总共存在(n*m)个位单元。每个位单元包括一对交叉耦合的反相器,用于锁存由相应写驱动器100驱动的相应位。如第一位单元205所示,存取晶体管m6的栅极由读字线rw1驱动,以将位单元205中的锁存位q节点耦合至真读位线rb1。类似地,读字线rw1耦合至存取晶体管m5的栅极,以将补码锁存位qb节点耦合至补码读位线rb1b。响应于第一写字线ww1的断言,类似的一对存取晶体管m3和m4分别将q和qb节点耦合至真写位线wb1和补码写位线wb1b。

对于多个读和写周期,sram200的一些信号波形在图3中示出。存储器时钟信号(clk)的每个周期都触发读周期和写周期。在每个存储器时钟信号周期中,首先断言读字线电压(rwl)以触发读周期。接着断言写字线电压(wwl)以触发写周期。对于存储器时钟信号的前两个周期,当前数据位(din)是二进制0。对于图3中存储器时钟信号的所有周期,补码掩蔽命令byte_n被断言为低。为了更好地解说写驱动器100的有利性质,图3还包括与智能位线对电压305相比的常规写驱动器的位线对电压300。在常规位线对电压300中,真位线wbl在前两个存储器时钟周期被预充电和放电,其中当前数据位din是二进制0。但是注意,智能位线对电压305中的真位线wbl只有一次放电。由于初始两个存储器时钟周期的当前数据位是二进制0,因此该放电将真位线wbl置于期望的二进制0状态。对于第二存储器时钟周期,由于当前数据位没有改变状态,因此在智能位线对电压305中没有对真位线wbl进行预充电。

相反,在图3的最后两个存储器时钟周期中,当前数据位din被驱动为二进制高值。因此,常规位线对电压300中的补位线wblb在这最后两个存储器时钟周期中被预充电和放电。相反,智能位线对电压305中的补位线wblb在最后两个存储器时钟周期中仅被放电一次。因此,与常规位线对电压300的实现相比,智能位线对电压305的实现仅具有一半的动态功耗。

图4中示出了与图3相同的波形,不同之处在于补码数据掩蔽信号byte_n被断言。常规写驱动器的位线对电压400类似于智能位线对电压405,不同之处在于在智能位线对电压405中,补位线wblb直到初始存储器时钟周期的后半部分才预充电。尽管数据掩蔽是有效的,但是在受影响的位单元中发生部分读周期,使得真位线电压(假设受影响的位单元存储着二进制0)对于写字线wwl的每次断言而下降。

现在将关于图5的流程图讨论用于写驱动器100的示例循环方法。该方法始于动作500,响应于要在第一写周期中写入的第一位,对位线对中的第一位线放电,同时将该位线对中的剩余位线耦合至提供电源电压的电源节点。动作500的示例是关于图1讨论的真位线105的放电和补位线110的充电,以准备将二进制0位写入耦合至位线对的位单元。

该方法还包括动作505,在对第一位线放电和将第二位线耦合至电源节点之后,将该位线对耦合至第一位单元以在第一写周期中将第一位写入第一位单元。图2中断言第一写字线ww1以将位单元205耦合至由位线wb1和wb1b形成的第一写位线对(其中位线wb1放电且wb1b充电)是动作505的示例。

最后,该方法包括动作510,在第一写周期之后的第二写周期中,响应于要在第二写周期中写入的第二位等于第一位,维持第一位线的放电和第二位线至电源节点的耦合,而无需在第二写周期中预充电第一位线。如关于图1所讨论的响应于当前数据位从先前写周期中先前写入的数据位不改变,在当前写周期中维持真位线105和补位线110的预充电状态是动作510的示例。

图2的sram200可被纳入到集成电路(诸如片上系统(soc)605)中,该集成电路进而被纳入到诸如图6中所示的移动设备600中。移动设备600可包括蜂窝电话、智能电话、个人数字助理、平板计算机、膝上型计算机、数码相机、手持式游戏设备、或其他合适设备。soc605通过系统总线615来与外围设备610(诸如传感器)通信,系统总线615还耦合至存储器(诸如dram620)和显示控制器625。进而,显示控制器625耦合至驱动显示器635的视频处理器630。

本领域普通技术人员至此将领会并取决于手头的具体应用,可以在本公开的设备的材料、装置、配置和使用方法上做出许多修改、替换和变动而不会脱离本公开的范围。有鉴于此,本公开的范围不应当被限定于本文所解说和描述的特定实施例(因为其仅是作为本公开的一些示例),而应当与所附权利要求及其功能等同方案完全相当。

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