SRAM 測試總結


SoC隨着工藝進步設計復雜度增加,embeded sram也越來越多。在40nm SoC產品Sram一般在20Mbits左右,當工藝發展到28nm時Sram就增加到100Mbits。如果考慮AI產品,Sram估計更多。如何更好的測試Sram就成為量產測試的重中之重。

Sram的結構

一個6T sram cell的經典結構如圖所示:

這些Sram cell集合成如下圖的多個bank的memory block,每個bank有bank address使能;在一個bank內Row address選擇一個完整的wordline,Column address選擇某組IO bitlines。

舉個例子說明如下:

一個memory block是4096x32 cm16,該memory size = 4096*32= 128k bits, row address is 8bits (4096/16 = 256 wordlines), column address is 4 bits(0~15), Wordline bits = 32*16 = 512 bits.

SRAM的性能

  • memory compiler的選擇

對於一個memory size大小確定的memory block,Column Mux越大,Row address位寬越小:

- memory讀寫的訪問速度就高 (row譯碼選擇快)

- memory的面積大(cell和cell的橫向距離大於縱向距離,column mux增加很增加bits per wordline--橫向,減少wordline數--縱向,橫向尺寸增加遠大於縱向)

- 因為一次選擇的row地址對應的cell多,功耗也會增加

  • 電流功耗

總電流功耗包括dynamic power和leakage power。不同的sram cell單元(比如HPC,HDC等等)功耗指標不同,體系結構設計需要在面積,速度和功耗之間尋找平衡。

-leakage current是永遠存在的

Poweroff模式(cell+periphery off)< Retention模式(cell ON+periphery OFF) < Standby模式(cell+periphery on)

1Mbits memory的standby/Ret leakage電流在0.2mA左右,poweroff leakage電流在0.03mA左右。

-dynamic current:column mux,讀寫速度,讀寫輔助電路等都會影響動態電流

如果在常溫狀態下leakage current比較大,在高溫或者大的dynamic current時必須注意thermal runaway的風險,因為溫度升高leakage current會增加很快,總功耗的增加會進一步增加溫度,形成正反饋。

Sram的fault mode

可以將Sram的故障分類成以下幾種,mbist的算法實質就是針對這些不同故障模型設計讀寫序列捕獲可能的defects。

SRAM Read/Write Assist(RAWA)

隨着Sram的供電電壓Vsram越來越低,Sram門單元參數的漂移越來約大,很難找到可以保證read和write都工作的Vsram電壓了。

以下圖為例,Vccmin的target是設死的,如果沒有RAWA則NMOS的Vt必須保證在很小范圍內,半導體工藝很難保證參數有這么小的范圍;而如果有RAWA,則NMOS的Vt就可以有比較大的范圍,減少了對工藝加工的要求。

  • Sram的讀操作如下面gif所示,有Precharge->Select Wordline->Sense Amplifer strobe
 

其中select wordline的電壓會影響pass gate的電流,wordline電壓越高,pass gate的電流越大,cell的內容就越容易丟失。

  • read assist 就是減少wordline的select電壓,減少pass gate的電流減少對cell的disturb
  • Sram write和WRA

Sram寫入時降低Vsram的電壓,可以幫助數據通過M2/M4寫入cell中。

 

SRAM的Quality和Reliability

理論上如果SRAM支持redundancy repair + ECC,在測試的時候做到以下幾點:

- 合理的算法覆蓋故障模型 (比如PMOVI)

- 使用較低的low Vmin做repair(再低就無法repair)

- 在Vmin+Guardband電壓下使用該SRAM,並且ECC on

基本可以保證SRAM沒有yield loss和in field reliability的問題。

Cmos的reliability按照類型可以分為空間上和時間上的:

空間上的是process引起的yield loss,只能靠repair提高yield;

時間上的是由aging,Erratic bit,Soft Error rate等因素引起的使用故障,Ecc可以消除很多問題,或者提高使用電壓可以幫助;

  • Erratic bit導致Pass Vmin 波動很大,如果repeat測試很多遍,可以看到Vmin range在100mV左右。這個會導致Sram repair之后,需要一個比較大的Guardband保證Sram沒有Erratic bit 問題;
  • Aging會導致Vth隨使用時間變大,5年以后一般會增大40mV,因此Vmin也會增加;

因此如果要保證DUT可以使用5年,在T0測試的時候就要用更低的Vscreen,保證足夠的aging和EB的guardband。

可見SRAM的reliability是和operation voltage密切相關的,對於mobile應用關心power KPI,一般SRAM會工作在較低電壓,SRAM reliability問題就更突出。需要ATE測試可以盡量在更低電壓下repair memory,保證T0的pass Vmin比較低,和operation voltage相比有較大的guardband。

SRAM的repair

一般分為Word repair,row repair和column repair。Word repair使用寄存器存儲defect cell的地址和數據,scan可以cover這些寄存器;row/column repair需要考慮BIST覆蓋問題,在不同溫度多次repair時redundancy cells的screen問題。

在量產測試中repair的電壓選擇也是一個balance的結果,repair voltage應該比target screen電壓要低一些(考慮erratic bits的影響),保證把盡量多的weak cells可以替換掉,同時又不能導致太多DUT無法repair

Sram的Stress

為了消除早期失效DUT,SRAM一般需要在量產測試時做高電壓的stress。這里有兩個考量點:

- voltage和stress time:需要和subcon process確定,電壓越高/測試溫度高相應stress的時間就可以減少;

- stress pattern的選擇:需要考慮如何保證stress pattern有效執行;另外使用什么mbist algorithm也是問題,一般建議使用write1->read1->write0->read0的pattern。優點是保證每個cell都有0<->1的翻轉,同時cell在‘0’或者‘1’狀態下有同樣的stress時間。如果使用其他algorithm,有可能small sram有很長的static stress時間而big sram大多是toggling stress時間。

Sram的其他特性

SRAM的讀寫時間可以做成self-timing,當讀寫被時鍾上升沿trigger以后,SRAM內有dummy bitline+dummy driver來驅動計時器得到讀寫的時間。得到讀寫時間后,用該時間訪問實際sram cell保證讀寫時間ok。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM