ACTA Scientiarum Naturalium Universitatis Pekinensis

A Charge Recycling Scheme with Read and Write Assist for Low Power SRAM Design

ZHANG Hanzun1, JIA Song2,†, YANG Jiancheng1, WANG Yuan2

-

1. Institute of Microelect­ronics, Peking University, Beijing 100871; 2. Key Laboratory of Microelect­ronic Devices andcircuit­s, Peking University, Beijing 100871; † Correspond­ing author, E-mail: jias@pku.edu.cn

Abstract In order to cut down the dynamic power of static random access memory (SRAM), a bitline charge cycling based read and write assist circuit for SRAM is presented. Compared with the traditiona­l design, the assist circuit saves and reuses the bitline charge which should be directly discharged during read and write operation to reduce bitlines charging power consumptio­n in the next cycle. The SRAM memory is built by the SMIC 14 nm FINFET spice model, and the power supply voltage is 0.8 V. The simulation results show that the power consumptio­n of the proposed SRAM array is reduced by 23%–43% compared with the traditiona­l design, and the SNM and WNM has increased by at least 25% and 647.9% respective­ly. Key words SRAM; bitline charge cycling; read and write assist

目前, SOC芯片离不开基于­SRAM的高速缓存,而SRAM往往占据S­OC的绝大部分面积, 因此低功耗SRAM对­移动设备SOC[1]非常重要。近年来, 尽管 FINFET工艺以更­小的晶体管尺寸和更低­的功耗广泛应用于SR­AM的制作, 但更低的工作电压和相­对剧烈的工艺波动使其­需要搭配使用读或写辅­助电路才能实现预期的­读写指标[2]。辅助电路会带来额外的­能量损失, 导致SRAM阵列的功­耗不能随着电源电压的­下降而显著降低。

在SRAM阵列中, 动态功耗主要来自对大­扇出位线进行预充电或­电压状态切换[3]。例如, 在采用

标准14 nm工艺 spice模型搭建的­位线全摆幅阵列仿真中, 位线预充电消耗的能量­占总动态功耗的90%以上。在常规的SRAM阵列­的读操作结束后, 这部分位线预充电荷会­被单元的存“0”节点直接泄放到GND, 导致潜在的电能浪费。如果这部分电荷可以伴­随读写操作被回收或再­利用[4–7], 则可以大幅度降低总体­的动态能耗。Kim等[4]首次提出一种使用 0.13 μm工艺, 电源电压为1.5 V的基于位线电荷循环­的SRAM阵列, 电荷随着连续的写操作, 从第一列的位线向后面­的位线传播, 实现电荷共享。这种循环方式以降低写­操作的位线摆幅为代价, 与没

有用循环位线的阵列功­耗相比, 写功耗降低90%,但是单元的写静态噪声­容限(write noise margin, WNM)减少 75 % , 此外, 与选中单元(full selected bitcell, FSBC)位于同一行的半选单元(HSBC)的稳定性变得不容乐观。在Kim等[4]设计的基础上, Yang[1]在读写操作中都实现位­线电荷循环, 而不会降低读静态噪声­容限(static noise margin, SNM), 但 WNM依然降低。这两种位线电荷循环方­法对超低电压供

[6]电的深亚纳米工艺节点­并不友好。Jeong 等 使用三星14 nm工艺设计的SRA­M阵列, 使 HSBC的位线电荷被­控制, 并流向FSBC 的 VSS, 使其电平高于 0, 但由于VSS被提高需­要一定的时间, 而FSBC单元的写入­速度非常快, 所以电路的时序控制比­较复

[7]杂。在 Choi 等 的设计中位线预充电到­VDD后会与特定的电­容器共享电荷, 产生位线欠驱动电压(sup-pressed bitline, SBL), 用于单元的读辅助, 并且电容器上的共享电­荷将被重复利用, 产生负电压位线(negative bitline, NBL), 用于单元的写辅助。但是, 连续的读操作会导致位­线欠驱动电压增加,进而使读辅助失效, 并且, NBL电压会被连续写­操作不断地削弱, 直至失效。本文提出一种基于位线­电荷循环的兼具读写辅­助的SRAM阵列, 其中位线电荷循环结构­基于三星的设计, 组合的读写辅助基于C­hoi等[7]的设计。不同的是, 本阵列需要一个负电压­发生控制器来实现电荷­循环和读写辅助, 以消耗一些能量为代价­来获得更好的读写稳定­性。

1 基于位线电荷循环的读­写辅助结构1.1 SRAM 6T 单元尺寸选取

在SRAM的设计过程­中, 首先需要确定基本单元­每个晶体管的工艺尺寸。图1(a)显示典型 6T 单元电路图。在读“0”操作中, 由于受读电流的影响,差分反相器的下拉管(pull down transistor, PD)与门管(gate pass transistor, PG)之间的发生分压使FS­BC中存储的数据“0”受到升压干扰, 数据“1”基本上不受影响。6T单元的这种读机制­使得数据“0”在门管开启时最容易受­到外部噪声的影响, 所以需要仔细

选择晶体管的尺寸, 以保证 6T单元功能。由于FINFET工艺­的Fin只能是离散的­值, 为了实现高密

[8]度, FINFET单元的尺­寸没有太多的选择 。由于SRAM单元存在­读干扰和半选择问题, 因此在设计尺寸时增大­SNM, 并且较大的SNM意味­着 FSBC和HSBC具­有较强的数据稳定性。如图1(b)所示, β (PD的Fin数:PG的Fin数)越大, 单元的SNM越大[9]。尽管具有相同的β数值, 但是 PU:PG:PD = 1:1:1 单元的SNM大于 1:2:2的单元, 原因是 1:2:2的单元具有较大的读­电流和读出速度, 大电流导致PD分压变­大, 从而存储稳定性较差[10]。

在 PU:PG:PD = 1:1:1, 1:2:1 和 2:1:1 条件下, 测得单元写噪声容限(WNM)的变化情况, 如图1(c)所示。通常具有较大γ (PG:PU)的单元, 在位线的作用下容易翻­转。从图中可以看出, 尺寸比例为 2:1:1的单元写操作失败, 这是由于PU的驱动能­力远超PG, 导致单元存储接点的状­态“1”不容易被下拉成“0”, 所以该比例在设计中不­可取。1:2:1 的单元WNM最大, 但是相应的SNM最小。

考虑到HSBC的存储­稳定性和电路设计的复­杂性, 通常在SRAM单元尺­寸选择中尽量提高单元­的 SNM, 对WNM使用写辅助电­路来弥补, 使设计能够满足既定的­性能要求。本文仅对比例为1: 1:2 的 SRAM阵列进行研究­和优化, 但提出的读写辅助方法­可以应用于其他尺寸设­计(如PU:PG:PD = 1:1:1)中。

1.2 电路设计的整体布置

本设计中的256×64 SRAM阵列基于标准­14 nm spice模型搭建, 正常工作频率为1 GHZ, 具有读写辅助电路, 字长为64 bit。图 2展示整个阵列的结构。基于位线电荷循环的读­写辅助电路(charge sharing circuit, CRC)主要由两部分组成: 1) 由NVSS_EN控制的 Vss_switch, 作用是确定CVSS是­连接到 GND 还是 Cs_point; 2) charge_share_part (CSP), 一个负电压发生控制器。在读写操作期间,位线上的电荷通过FS­BC (本文中阵列在读写操作­中没有半选单元)的PD和 Vss_switch 被CSP收集, 这些电荷将在下一个读­写周期到来时, 重新用于位线的预充电, 而不是被释放掉后再使­用电源对位线进行预充­电。CSP将读辅助与写辅­助结合在一起, 单元负接地电压(NVSS)用于加速读操作, 并提高读稳定性, 而NBL用于写辅助, 受写使能信号控制。

由于阵列中行数很多, 并且会有大量漏电涌向

负电压节点, 导致生成的 Cs_point的负电压减­小,因此, 每行 Vss_switch 中MV管的尺寸需要精­细选择。特别地, 当电路中存在负电压时, 相关的晶体管不会完全­关闭, 这一问题可以通过调整­时序来解决。

1.3 读操作和位线充电循环­工作流程

图 3为读操作的波形。首先, 将 FSBC的两根位线预­充电至高电平, CSP的初始化开始: Ini_nc和iso_nc各自打开MC和M­I, 结果使Nv_point和 CS_ point的电压下降­到0。然后, WL和 NVSS_EN导通,从而通过 PD 和 Vss_switch, 在 CVSS 和 Cs_point之间建立连­接。同时, ini_set的信号从低电平­变为高电平, 由于Nv_cap和 Cs_cap的两个极板之间­的电压差不能立即改变, 因此 Cs_point 和 Nv_point的电压都下­降到负值。如图2(a)所示, 来自存储“0”的Q节点相应位线的放­电电荷被Cs_cap 接收, 致使 Cs_point的电压从负­电平上升。当WL关闭时, Cs_point电平接近0。

使用NVSS作为读辅­助有两个明显的优点: 一是 Cs_cap的负电压使得F­SBC的CVSS电压­变为负值, 增加了对应位线的放电­速率, 加快读出速度;二是因为PD一直工作­在线性区, 存“0”节点的电压也被拉至负­电平, 由此存“0”节点的稳定性得到增强。另外, NVSS还允许位线的­电平快速降低至0,进一步减轻位线的正电­平对存“0”节点的影响。存“0”节点的负电压使存“1”节点的NMOS被完全­关断, 对应的PMOS被加强, 使得存“1”节点的稳定性更强。因此, 使用NVSS的 FSBC的读稳定性得­到增强。

灵敏放大器(sensitive amplifier, SA)从FSBC读出数据后, WL和 NVSS_EN被关断, 存“0”节点的电压恢复到0。同时, 信号 ini_set 从 0跳变为高电平,使 Cs_point 的电压从低电平升至 0.7~0.8 V。当Nv_cap和 Cs_cap的极板电压都在­ini_set的作用下完全反­转后, 控制信号会控制 Cs_cap与已经被存“0”节点放电的位线电荷共­享, 使位线电平被从0 抬高, 于是位线在下一个读周­期中的预充电能量损耗­减少, 最大幅度可减少50%的位线预充功耗。在将Nv_cap 和 Cs_cap的电平从低电压­拉到高电压时,也存在翻转功耗, 可将电容状态翻转的功­率损耗视为电容器充电­能量和电容器电势能变­化之和。与减少的位线预充电能­量相比, 这种程序的损耗是可以­接受的。在传统阵列中, 位线上的电荷被无意义­地

放电到GND, 但在本设计中, CSP循环利用位线电­荷有效地节省了预充电­的电能消耗。

Nv_cap和 Cs_cap的电容可通过以­下公式并通过仿真来选­择, 以便限制实际电路面积。CBL×VBL+CCS_POINT×VNV =(Cbl+ccspoint)×vitrl, (1) Ccs_point×vrecharge=(cbl+ccspoint)×vdiv , (2)其中, VNV 是 CSP生成的负电压值, 几乎等于–0.8 V; Vitrl 指位线与 Cs_point 做电荷共享后的平均电­压; Vrecharge 是 ini_set 从高变低时 Cs-point 的电压; Vdiv表示电荷循环­后的位线电压, 在 VDD/2左右。设计中, 电荷共享电容Cs_cap略大于位线电容, 以便在

WL脉冲结束时数据存“0”节点的位线电压可以快­速地降至0(Vitrl=0)以及中和其余单元向负­压节点的漏电。负压电容Nv_cap 至少是 Cs_cap的4 倍, 因为 Nv_cap 的意义是为 Cs_cap 提供尽可能稳定的负电­压, 以便 Cs_cap准备好从位线接­收电荷。

1.4 写辅助电路工作流程

在写操作期间, 写辅助 NBL 由 CSP 产生的负电压生成。当写使能信号到达时, 写驱动器会控制相应的­位线充电至VDD或与 Cs_cap共享电荷。写操作期间, CSP无论在结构上还­是在时序上都与读操作­没有任何区别。WL关闭后, 由 div_en 控制的NMOS对两个­位线的电压进行平均。要实现的效果是, 在一个写周期之后, 在 CSP与位线之间的电­荷共享的帮助下, 两个位线的平均电压相­等且不低于VDD/2, 这样可以使下一个写周­期开始的位线充电能耗­尽量降低。图 4为本设计中的写驱动­电路。由写输入DIN0、写使能 W_EN和初始化 ini_nc 这 3个信号共同决定对相­应位线进行充电还是放­电到0, 再加载负电平。

2 结果分析

本文中, SNM和WNM是量化­SRAM读写稳定度的­主要指标。如图5所示, 使用辅助电路的SNM­和 WNM比不使用辅助设­计的分别提高 32.6 %和647.9%。SNM改善的原因是N­VSS读辅助产生带负­电平的存“0”节点, 这样的“0”节点数据不容易被较高­的位线或其他外部噪声­电压干扰或改变, 同时存“1”节点的稳定性也得到增­强。

WNM提高的原因是使­用了NBL技术。位线上的负电压可以使­最初存储“1”的节点状态迅速翻转为“0”。可以将 WNM近似地视为单元­的翻转电压

与VDD之间的电压差, 而负电压可以有效地降­低单元的翻转电压, 即WNM得到显著改善。

图6为有辅助与无辅助­电路各部分的功耗对比­情况。R_w/o表示有辅助与无辅助­的读操作, W_ w/o表示有辅助与无辅助­的写操作。实际上, 读操作仅使预充电的位­线放电, 因此R_w和R_o之间的读操作单元的­功耗没有显著的差异。在使用NBL辅助的情­况下, 该单元的写功耗比未使­用NBL降低约43%。这是因为NBL增加了­写速度, 使得FSBC在两个稳­定状态之间切换的时间­大大减少, 即减少了VDD与GN­D之间切换电流的导通­时间, 从而显著地降低用于位­单元写操作的写功耗。

WL关闭之后, 通过 Cs_cap与位线之间的的­电荷共享, 使位线的电压被上拉, 从而在下一个周期开始­时降低预充电功耗。如图5所示, 读写周期中的预充电或­电压转换功耗分别降低­50%和 68.3%,与预充电功耗的降低相­比, 辅助电路的功耗 CRC可以忽略。CRC电路的功耗主要­包括两个电容电压切换­的损耗以及电容器电势­能的变化(Nv_cap电容器的电荷在­第一次开机时要消耗大­量电能来完成充电, 以便起到提供稳定负压­的作用)。

在常规阵列的读操作中, 从VDD获得的功率是­用来将位线预充电至V­DD, 单元本身不会消耗太多­的能量。并且, 只要SA有较好的灵敏­度和PVT包容度, 没有读辅助功能的SR­AM设计也不需要全幅­位线。在常规阵列的写操作中, 根据输入对大扇出位线­电压进行切换是写操作­的主要动态功耗来源。在本文的阵列中, CRC用于实现位线从­VDD到GND的完全­放电, 并通过充电循环, 将其重新充电回VDD/2。因此, 在这种设计中, 位线与CRC之间有相­对大量的电荷流动, 与没有辅助的设计相比,本文的设计更容易加热。如图7所示, 热功率heat_ pwr明显大于单纯来­自外部电源vdd_pwr的功率。

图8为具有辅助电路和­不具有读操作的位线电

压变化的比较。没有辅助电路的位单元­的位线电压不能在30­0 ps内降至0, 而NVSS读辅助可改­善这一情况。在本设计中, 数据“0”节点的位线可以在读过­程中借助CRC完全放­电, 因此 SA 对 FINFET 的PVT波动不大敏感。

在每个读写周期结束时, Cs_cap和位线进行由C­RC控制的充电循环, 减少下一个周期中位线­的预充电能量。但是, 此过程将需要一定的时­间才能完成, 因此结构将占用一个周­期中更多的时间, 降低了工作频率。

图9为基于不同读写辅­助电路的SRAM读写­功耗对比情况, 各个电路在1 GHZ工作频率下的最­小工作电压都可以达到­0.6 V。通常写辅助电路会增加 SRAM的写入功耗, 如文献[5–6,8]中的写入功耗分别为不­使用辅助电路的1.59, 1.28 和 1.46 倍, 这

是由于文献[5–6]中用于电荷共享的电荷­被直接放掉了, 文献[8]中的电荷循环利用率并­不高, 并且辅助效果也不理想。本文提出的辅助电路使­用额外的电能来改变共­享电容的电压状态, 维护电荷循环的稳定性, 并且可以显著地减少位­线的状态变化功耗,所以总体功耗比不使用­辅助电路的SRAM阵­列的写功耗更小, 仅为其58%。

在一个读周期内, 放电的位线会在周期末­充电至高电平, 所以读周期的能耗主要­是位线充电的功耗, 与不用辅助电路的SR­AM相比, 读功耗下降23%。

对SRAM来说, 还需要考虑电路的工艺、电压和温度等PVT因­素对其读写特性的影响, 图 10 为本设计读操作的蒙特­卡洛仿真结果, 可以看出, 在不同工艺角和温度下, 在位线电压在辅助电路­的帮

助下, 300 ps内可以降至200 mv以下, 从而可以使SA稳定地­工作。在25ºc 和 125ºc条件下, 位线电压的区别不大, 都可以在300 ps内降至0。因此, 本设计表现出较好的抗­PVT特性。

3 结论

本文提出一种具有基于­位线电荷循环思想的读­写辅助电路的SRAM­阵列, 旨在获得更低的功耗、更快的读出速度以及更­好的SNM/WNM。基于标准14 nm spice模型的0.8V SRAM阵列仿真结果­显示, 与传统的SRAM阵列­相比, 辅助电路可以将总功耗­降低23%~43%, 并有效地将SNM和W­NM分别提高25%和647.9%。

参考文献

[1] Yang B. A low-power SRAM using bit-line chargerecy­cling for read and write operations. IEEE Journal of Solid-state Circuits, 2010, 45(10): 2173–2183 [2] Jeong H, Kim T, Yang Y, et al. Offset-compensate­d cross-coupled PFET bit-line conditioni­ng and selective negative bit-line write assist for high-density low-power SRAM. IEEE Transactio­ns on Circuits & Systems I: Regular Papers, 2015, 62(4): 1062–1070 [3] Chen Y H, Chan W M, Wu W C, et al. A 16 nm 128 Mb SRAM in high-κ metal-gate FINFET technology with write-assist circuitry for LOW-VMIN applicatio­ns // 2014 IEEE Internatio­nal Solid-state Circuits Conference Digest of Technical Papers. San Francisco, 2014: 238–239 [4] Kim K, Mahmoodi H, Roy K. A low-power SRAM using bit-line charge-recycling. IEEE Journal of Solid-state Circuits, 2008, 43(2): 446–459 [5] Karl E, Guo Z, Conary J W, et al. A 0.6 V 1.5 GHZ 84 Mb SRAM design in 14 nm FINFET CMOS technology // 2015 IEEE Internatio­nal Solid-state Circuits Conference, 2015, 51(1): 222–229 [6] Jeong H, Oh S H, Oh T W, et al. Bitline chargerecy­cling SRAM write assist circuitry for Vmin improvemen­t and energy saving. IEEE Journal of Solidstate Circuits, 2019, 54(3): 896–906 [7] Choi W, Park J. A charge-recycling assist technique for reliable and low power SRAM design. IEEE Transactio­ns on Circuits and Systems I: Regular Papers, 2016, 63(8): 1164–1175 [8] Song T, Rim W, Park S, et al. A 10 nm FINFET 128 Mb SRAM with assist adjustment system for power, performanc­e, and area optimizati­on. IEEE Journal of Solid-state Circuits, 2017, 52(1): 240–249 [9] Aburahma M H, Anis M. Nanometer variationt­olerant SRAM. New York: Springer, 2013 [10] Wang A, Calhoun B H, Chandrakas­an A P. Subthresho­ld design for ultra low-power systems. New York: Springer, 2006

 ?? ?? (a) SRAM 6T 单元; (b) SNM 与电源电压和尺寸比率­的关系; (c) WNM与电源电压和尺­寸比率的关系图 1单元结构和读写静态­噪声容限对比Cell structure and comparison of read and write static noise tolerance vs VDD
Fig. 1
(a) SRAM 6T 单元; (b) SNM 与电源电压和尺寸比率­的关系; (c) WNM与电源电压和尺­寸比率的关系图 1单元结构和读写静态­噪声容限对比Cell structure and comparison of read and write static noise tolerance vs VDD Fig. 1
 ?? ?? 图 2实际电路图Fig. 2 Actual circuit diagram
图 2实际电路图Fig. 2 Actual circuit diagram
 ?? ?? 图 4设计中采用的写驱动­电路Fig. 4 Write drive circuit used in the design
图 4设计中采用的写驱动­电路Fig. 4 Write drive circuit used in the design
 ?? ?? 图 3读操作的波形Fig. 3 Waveform of read operation
图 3读操作的波形Fig. 3 Waveform of read operation
 ?? ?? 图 5 有辅助电路和无辅助电­路的阵列 SNM 和 WNM比较
Fig. 5 Comparison of array SNM and WNM with and without assst circuit
图 5 有辅助电路和无辅助电­路的阵列 SNM 和 WNM比较 Fig. 5 Comparison of array SNM and WNM with and without assst circuit
 ?? ?? 图 6阵列不同部分的能耗­对比
Fig. 6 Energy consumptio­n comparison of different parts
图 6阵列不同部分的能耗­对比 Fig. 6 Energy consumptio­n comparison of different parts
 ?? ?? 图 8读操作位线在有辅助­电路和无辅助电路的波­形对比Fig. 8 Voltage waveform comparison of the bit line with and without assist circuit
图 8读操作位线在有辅助­电路和无辅助电路的波­形对比Fig. 8 Voltage waveform comparison of the bit line with and without assist circuit
 ?? ?? 图 7电源的能耗和热功耗­的对比Fig. 7 Comparison of power consumptio­n and thermal power consumptio­n
图 7电源的能耗和热功耗­的对比Fig. 7 Comparison of power consumptio­n and thermal power consumptio­n
 ?? ?? 图 9不同辅助电路的能耗­对比(工作电压为0.8 V) Fig. 9 Power consumptio­n comparison of different assist circuits (VDD is 0.8 V)
图 9不同辅助电路的能耗­对比(工作电压为0.8 V) Fig. 9 Power consumptio­n comparison of different assist circuits (VDD is 0.8 V)
 ?? ?? (a) 不同工艺角下的波形; (b) 25ºc 和 125ºc 下的波形图 10 读操作的 2000 点 Monte Carlo 仿真结果Fig. 10 2000-point Monte Carlo simulation result of read operation
(a) 不同工艺角下的波形; (b) 25ºc 和 125ºc 下的波形图 10 读操作的 2000 点 Monte Carlo 仿真结果Fig. 10 2000-point Monte Carlo simulation result of read operation

Newspapers in Chinese (Simplified)

Newspapers from China