SRAM的Write Assist與Read Assist

sasasatori發表於2024-08-06

SRAM的Write Assist與Read Assist

簡介

隨著工藝節點的不斷提升,諸如閾值電壓的偏差,以及供電電壓的減小,寄生電阻電容的影響等,都會越來越影響SRAM的穩定性。因此需要透過write Assist和Read Assist方法來提升SRAM的寫入能力,可讀性以及穩定性。

具體來說,以一個典型的6T SRAM結構為例:

image

在寫入時,BL和BLB(\(\overline{BL}\))透過寫入驅動器驅動到互補電平,然後WL拉高,從而BL和BLB上的資料被寫入到SRAM的內部節點。在讀出時,BL和BLB先被預充電到VDD,然後WL開啟,透過M5或M6對BL或BLB進行放電(為0的那個節點),從而在BL和BLB上形成差分電壓,再透過SA做讀出。

為了避免讀取干擾問題(我們也注意到了在讀的時候,由於M5和M6開啟,實際上BL和BLB被預充電到VDD後會連線到SRAM的內部節點上,可能會影響SRAM的內部儲存值),下拉管子(M1&M3)的能力需要顯著強於導通電晶體(M5&M6),即M1/M5(寬長比)得夠大。

而導通電晶體(M5&M6)的驅動能力又得顯著大於上拉電晶體(M2&M4),這樣才能夠保證成功的寫入操作,即M5/M2(寬長比)得夠大。

SRAM存在三種失效模式:可讀性失效,寫入能力失效與讀穩定性失效,寫入能力失效的來源是寫入時內部電壓沒有到達所需要的閾值電壓,導致寫入失敗。可讀性失效來源於BL在特定時間內的放電少於SA的偏移。讀穩定性失效來源於讀操作時SRAM的意外翻轉。

Write Assist技術主要用於提升SRAM的寫入能力,以避免寫入能力失效問題。而Read Assist技術則用於避免可讀性失效與讀穩定性失效的問題。

Write Assist

image

上圖展示了寫入能力失效的一個例子,在左邊的情況中,SRAM的內部節點並沒有發生成功的翻轉,並各自達到VDD和GND電壓。而成功的寫入如右側所示,SRAM內部節點成功的進行了翻轉。

寫入能力可以透過寫入裕度(即寫入成功所需的電壓的範圍)來進行衡量,隨著先進工藝的演進,供電電壓越來越低,SRAM的寫入裕度越來越小,造成了寫入能力的下降。為了提升SRAM的寫入裕度,有以下四種Write Assist的方法,包括單元VDD下降,負BL電壓(NBL),WL電壓提升(BWL)以及單元GND提升。如下圖所示:

image

具體來分析一下每個方法:

單元VDD下降

單元VDD下降的Write Assist方法主要是在寫入時將要寫入單元的VDD進行降低,從而減弱上拉管相對於導通管的驅動能力,從而使得資料更容易寫入到SRAM中去。這個方法最主要的挑戰是確保降低的電源電壓要高於沒有被選中的單元的保持電壓。因為為了簡化實現,這個方法通常會在寫入操作時直接降低陣列同一列中所有單元的電源電壓,因此可能會導致同一列中未被選中的單元被干擾,如果低於了其保持電壓,那麼可能直接造成儲存失效。此外同一列上的半選中單元(列線被選中,行線未被選中)的動態噪聲讀取裕度降低(更可能受到噪聲干擾引發讀取錯誤)。

負BL電壓(NBL)

這裡的思路很簡單,就是將BL/BLB拉低到一個低於GND的電壓來實現Write Assist操作,這種做法本身很簡單,也有最有效的方法。需要考慮的問題主要是柵極的可靠性,因為負壓實際上造成了過驅動。因此我們需要限制這個技術的操作電壓,並且確定在最低操作電壓(最大過驅動電壓)情況下柵極的可靠性。

一種NBL Write Assist技術的實現電路如下圖所示:

image

這個電路本身的分析很簡單,一開始電容先被充電(上極板VCC,下極板GND),隨後邏輯切換,上極板為GND,那麼電容電荷守恆,下極板電壓變成-VCC,就實現了負壓然後這個負壓被耦合到BL或者BLB的電壓上,這裡的電容可以透過CMOS電容簡單的實現。

NBL Write Assist技術的優勢在於,增加導通電晶體(M5&M6)的柵源電壓對寫入裕度的提升效率顯著高於如單元VDD下降這種降低PMOS電晶體漏源電壓的方法。

WL電壓提升(BWL)

BWL技術主要是透過增強導通電晶體從而提升寫入裕度。這個提升電壓可以作為單獨的電源來走線,或者透過電荷泵,或者透過電容耦合。BWL技術基於行來工作,因此一整行的單元都會收到其影響,導致同一行的所有半選中單元(行線被選中,列線未被選中)的動態噪聲讀取裕度降低。

單元GND提升

單元GND提升技術相對於單元VDD下降技術主要的好處是降低了資料保持失效的風險,這個技術主要同樣基於減弱上拉管上拉能力,但並不是和單元VDD下降技術一樣靠降低上拉管的源極電壓,而是透過抬高上拉管的柵極電壓。這個額外的地電壓可以作為單獨的地電壓進行佈線,也可以使用穩壓器在內部生成。單元的GND電平可透過相對於VSS節點連線一個NMOS二極體來抬高。同時如果這個技術是對整列單元應用的,那麼也會影響半選中單元的動態噪聲讀取裕度。

Read Assist

傳統SRAM的讀穩定性透過靜態噪聲裕度來進行衡量,即最大的能夠容忍不會引發翻轉的噪聲電壓範圍。靜態噪聲裕度從兩個角度來衡量,分為保持模式和讀取模式,保持模式時稱為保持靜態噪聲裕度,讀取模式時稱為讀取靜態噪聲裕度。

有三種提升SRAM單元可讀性/讀穩定性的方法,分別是WL電壓降低,負GND,單元VDD提升。

WL電壓降低

降低WL電壓可以降低導通管的能力,從而提升靜態噪聲裕度,但這也會影響寫入裕度。可以透過NMOS二極體來給WL引入一個Vt的壓降。

負GND

將GND降低到VSS以下可以提升可讀性。負GND技術是所有Read Assist技術中最有效的一個,因為它同時增大了上拉和下拉管的Vgs。但不幸的是這個方法有著非常大的能耗開銷,因為GND有著很大的寄生電容。負VSS電平可以透過耦合電容方式實現。

單元VDD提升

對於可讀性來說,導通管和下拉管需要足夠的強。此外VDD提升可以增強下拉管的下拉能力,因此有效的提升了保持靜態噪聲裕度和讀取靜態噪聲裕度。但是VDD提升會降低寫入時的寫入裕度,因此對寫入的列不能夠做VDD提升技術。VDD提升可以用點電荷泵來實現。

總結

Write Assist:

Name Advantage Disadvantage
單元VDD下降 1. 寫入裕度提升,但沒有NBL方法有效
2. 更小的面積開銷
1. 需要更多的WL視窗,增大了寫入時間和能耗
2. 對於半選中單元造成了保持噪聲裕度的降低
3. 由於VDD提升造成功耗提升,且相比NBL要更多寫入時間因此效能下降
負BL電壓(NBL) 1. 顯著的寫入時間和寫入能力的提升
2. 適合所有種類的儲存器(單埠和雙埠)
1. 增大的過驅動電壓影響可靠性<br / >2. 選中的BL都要拉低帶來更大的能耗
3. 由於需要更大的面積,SRAM compiler的工作量較大
4. 需要根據行數進行修改
5. 額外的BL電容佔用顯著的面積
WL電壓提升(BWL) 1. 透過增大IDSAT來提升效能
2. 對於寫入裕度有顯著提升且能耗更小
3. 更小的面積開銷
4. 更容易實現
1. 對半選擇位單元的讀取干擾使其不適用於多路複用大於1的情況
單元GND提升 1. 寫入裕度提升,但沒有NBL方法有效 1. 如若行內單元共享GND那麼會影響其他所有單元
2. 由於GND到VSS存在持續的直流電流,功耗會很大
3. 增加了寫入時間因此降低效能

Read Assist:

Name Advantage Disadvantage
WL電壓降低 提升靜態噪聲裕度 影響寫入裕度,消耗更多能量
負GND 提升靜態噪聲裕度 消耗更多能量
單元VDD提升 提升靜態噪聲裕度 影響寫入裕度,消耗更多能量

參考資料

Pulla Reddy, A., Sreenivasulu, G., & Veerabadra Chary, R. (2017). Write and Read Assist Techniques for SRAM Memories in Nanometer Technology. Materials Today: Proceedings, 4(9), 10309–10314. https://doi.org/https://doi.org/10.1016/j.matpr.2017.06.370

相關文章