靜態隨機存取記憶體

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
一塊任天堂FC遊戲機 (灰機)的靜態RAM,容量為2K X 8 bit.

靜態隨機存取記憶體(英語:Static random-access memory縮寫SRAM)是隨機存取記憶體的一種。所謂的「靜態」,是指這種記憶體只要保持通電,儲存的資料就可以恆常保持[1]。相對之下,動態隨機存取記憶體(DRAM)裏面所儲存的數據就需要週期性地更新。然而,當電力供應停止時,SRAM儲存的數據還是會消失(被稱為揮發性記憶體),這與在斷電後還能儲存資料的ROM快閃記憶體是不同的。

設計[編輯]

包含6個電晶體CMOS SRAM基本單元

SRAM由儲存矩陣、地址譯碼器和讀/寫控制電路組成,容量的擴充有兩個方面:位數的擴充用晶片的並聯,字數的擴充可用外加譯碼器控制晶片的片選輸入端[2]。SRAM中的每一bit儲存在由4個場效電晶體(M1, M2, M3, M4)構成兩個交叉耦合的反相器中。另外兩個場效電晶體(M5, M6)是儲存基本單元到用於讀寫的位元線(Bit Line)的控制開關。

CMOS靜態反相器

反相器是一種電路元件,其輸出是輸入的邏輯非。如圖所示的CMOS靜態反相器,由兩個互補的金氧半導體場效電晶體(MOSFET)組成,源極連接在高電位的是P溝道場效電晶體,源極連接在低電位的是N溝道場效電晶體。輸入電路接在兩個場效電晶體的柵極上,輸出電路從兩個場效電晶體的連接處接出。當輸入低電位,則P溝道場效電晶體導通,N溝道場效電晶體關閉,輸出高電位。當輸入高電位,則N溝道場效電晶體導通,P溝道場效電晶體關閉,輸出低電位。這就實現了「反相」輸出。

一個SRAM基本單元有01兩個電位穩定狀態。SRAM基本單元由兩個CMOS反相器組成。兩個反相器的輸入、輸出交叉連接,即第一個反相器的輸出連接第二個反相器的輸入,第二個反相器的輸出連接第一個反相器的輸入。這就能實現兩個反相器的輸出狀態的鎖定、儲存,即儲存了1個位元的狀態。

除了6電晶體的SRAM,其他SRAM還有8電晶體、10電晶體甚至每個位元使用更多的電晶體的實作。[3][4][5]這可用於實現多埠(port)的讀寫存取,如顯示記憶體或者暫存器檔案的多口SRAM電路的實現。

一般說來,每個基本單元用的電晶體數量越少,其佔用面積就越小。由於矽晶片(silicon wafer)的生產成本是相對固定的,因此SRAM基本單元的面積越小,在矽晶片上就可以製造更多的位元儲存,每位元儲存的成本就越低。

記憶體基本單元使用少於6個電晶體是可能的—如3電晶體[6][7]甚至單電晶體,但單電晶體儲存單元是DRAM,不是SRAM。

存取SRAM時,字元線(Word Line)加高電位,使得每個基本單元的兩個控制開關用的電晶體M5與M6導通,把基本單元與位元線(Bit Line)連通。位元線用於讀取或寫入基本單元的儲存的狀態。雖然不是必須兩條反相的位元線,但是這種反相的位元線有助於改善雜訊容許值.

動態記憶體(DRAM)相比,SRAM的頻寬有很大改進—由於兩條位元線是反相,這種差分訊號使得SRAM的抗雜訊干擾能力很強。而DRAM的位元線連接到儲存電容,受困於電荷共用(charge sharing)使得其位元線訊號上下波動。另一項差別使得SRAM更快是其位址線各位元是同時工作選擇出目標儲存單元的字元線,而DRAM往往為了降低成本,是先送出低半段的位址線的各位元,然後再送出高半段的位址線的各bit,這降低了DRAM封裝的位址引腳的數量。

m條位址線與n條資料線的SRAM,其儲存容量是2m個字元(word),2m×nbit.每個字元的長度至少是64bit。

SRAM操作[編輯]

SRAM的基本單元有3種狀態:電路處於閒置(standby) 、讀取(reading)與寫入(writing)。SRAM的讀取或寫入模式必須分別具有可讀(readability)與寫入穩定(write stability)。

閒置

如果字元線沒有被選為高電位,那麼作為控制用的M5與M6兩個電晶體處於斷路,把基本單元與位元線隔離。由M1 – M4組成的兩個反相器繼續保持其狀態,只要保持與高、低電位的連接。

讀取

假定儲存的內容為1,即在Q處的電位為高。讀取周期開始時,兩條位元線初始值為邏輯1,隨後字元線WL提高電位,使得兩個存取控制電晶體M5與M6通路。第二步是儲存在Q的值與位元線BL的初始值相同,所以BL保持邏輯1,而QBL的初始值不同,使得BL經由M1與M5放電而變成邏輯0(即Q的高電位使得電晶體M1通路)。在位元線BL一側,電晶體M4與M6通路,把位元線連接到VDD所代表的邏輯1(M4作為P溝道場效電晶體,由於柵極加了Q的低電位而M4通路)。如果儲存的內容為0,相反的電路狀態將會使BL1而BL為0。只需要BL與BL有一個很小的電位差,讀取的放大電路將會辨識出哪條位元線是1哪條是0。敏感度越高,讀取速度越快。

寫入

寫入周期開始時,把要寫入的狀態載入到位元線。如果要寫入0,則設置BL1且BL為0。隨後字元線WL載入為高電位,位元線的狀態被載入SRAM的基本單元。這是透過位元線輸入驅動能力設計的比基本單元相對較弱的電晶體更為強壯,使得位元線狀態可以覆蓋基本單元交叉耦合的反相器的以前的狀態。

匯流排行為[編輯]

存取時間為70ns的RAM在地址設置完成且有效之後,會在70ns之內將資料輸出。數據將繼續保持有效約5-10ns。起、落時間將影響有效時間槽(timeslot)約5ns。如果先讀入低半段地址,將會多耗費30ns[8]

應用與使用[編輯]

特性[編輯]

SRAM是比DRAM更為昂貴,但更為快速、非常低功耗(特別是在空閒狀態)。因此SRAM首選用於頻寬要求高,或者功耗要求低,或者二者兼而有之。SRAM比起DRAM更為容易控制,也更是隨機存取。由於複雜的內部結構,SRAM比DRAM的佔用面積更大,因而不適合用於更高儲存密度低成本的應用,如PC記憶體。

時鐘頻率與功耗[編輯]

SRAM功耗取決於它的存取頻率。如果用高頻率存取SRAM,其功耗比得上DRAM。有的SRAM在全頻寬時功耗達到幾個瓦特量級。另一方面,SRAM如果用於溫和的時鐘頻率的微處理器,其功耗將非常小,在空閒狀態時功耗可以忽略不計—幾個微瓦特級別。

SRAM用於:

  • 通用的產品
    • asynchronous介面,例如28腳32Kx8的chip(通常命名為XXC256),以及類似的產品最多16 Mbit每片
    • synchronous介面,通常用做高速緩衝記憶體(cache)以及其它要求突發傳輸的應用,最多18 Mbit(256Kx72)每片
  • 整合於晶片內
    • 作為微控制器的RAM或者cache(通常從32 bytes到128 kilobytes)
    • 作為x86微處理器的快取(如L1、L2、L3)
    • 作為暫存器(參見暫存器檔案
    • 用於特定的ICs或ASIC(通常在幾千位元組量級)
    • 用於FPGACPLD

嵌入式應用[編輯]

工業與科學用的很多子系統,汽車電子等等都用到了SRAM。現代裝置中很多都嵌入了幾千位元組的SRAM。實際上幾乎所有實現了電子使用者介面的現代裝置都可能用上了SRAM,如玩具。數碼相機、手機、音響合成器等往往用了幾百萬位元組的SRAM。 即時訊號處理電路往往使用雙埠(dual-ported)的SRAM。

用於電腦[編輯]

SRAM用於PC、工作站、路由器以及外接設備:內部的CPU高速緩衝記憶體,外部的突發模式使用的SRAM快取,硬碟緩衝區,路由器緩衝區,等等。LCD顯示器或者印表機也通常用SRAM來快取數據。SRAM做的小型緩衝區也常見於CDROMCDRW的驅動器中,通常為256 KiB或者更多,用來緩衝音軌數據。線纜數據機及類似的連接於電腦的裝置也使用了SRAM。

愛好者[編輯]

搭建自己的處理器的業餘愛好者[9]更願意選用SRAM,這是由於其易用性的工作介面。沒有DRAM所需的更新周期;位址匯流排與資料匯流排直接存取而不是像DRAM那樣地址、數據訊號共用數據線,通過多路復用器存取。SRAM通常只需3個控制訊號:Chip Enable (CE), Write Enable (WE)與Output Enable(OE)。對於同步SRAM,還需要時鐘訊號(Clock,CLK)。

SRAM的類型[編輯]

非揮發性SRAM[編輯]

非揮發性SRAM(Non-volatile SRAM,nvSRAM)具有SRAM的標準功能,但在失去電源供電時可以保住其資料。非揮發性SRAM用於網絡、航天、醫療等需要關鍵場合[10]—保住資料是關鍵的而且不可能用上電池。

非同步SRAM[編輯]

非同步SRAM(Asynchronous SRAM)的容量從4 Kb到64 Mb。SRAM的快速存取使得非同步SRAM適用於小型的cache很小的嵌入式處理器的主記憶體,這種處理器廣泛用於工業電子裝置、測量裝置、硬碟、網絡裝置等等。

根據電晶體類型分類[編輯]

根據功能分類[編輯]

  • 非同步—獨立的時鐘頻率,讀寫受控於位址線與控制致能訊號。
  • 同步—所有工作是時鐘脈衝邊沿開始,位址線、資料線、控制線均與時鐘脈衝配合。

根據特性分類[編輯]

  • 零匯流排翻轉(Zero bus turnaround,ZBT)—SRAM匯流排從以及從所需要的時鐘周期是0
  • 同步突發SRAM(synchronous-burst SRAM,syncBurst SRAM)—
  • DDR SRAM—同步、單口讀/寫,雙數據率I/O
  • QDR SRAM(Quad Data Rate (QDR) SRAM)—同步,分開的讀/寫口,同時讀寫4個字(word)。

根據觸發類型[編輯]

參見[編輯]

參考文獻[編輯]

  1. ^ Sergei Skorobogatov. Low temperature data remanence in static RAM. University of Cambridge, Computer Laboratory. June 2002 [2008-02-27]. (原始內容存檔於2019-01-18). 
  2. ^ 康華光. 电子技术基础数字部分 3th. 高等教育出版社. 1988. ISBN 7-04-001622-2. 
  3. ^ A 160 mV Robust Schmitt Trigger Based Subthreshold SRAM (PDF). [2022-07-23]. (原始內容 (PDF)存檔於2009-06-17). 
  4. ^ United States Patent 6975532: Quasi-static random access memory頁面存檔備份,存於互聯網檔案館
  5. ^ 存档副本. [2012-09-06]. (原始內容存檔於2008-12-05). 
  6. ^ United States Patent 6975531: 6F2 3-transistor DRAM gain cell頁面存檔備份,存於互聯網檔案館
  7. ^ 3T-iRAM (r) Technology. [2012-09-06]. (原始內容存檔於2014-03-13). 
  8. ^ Tentative Toshiba mos digital integrated circuit silicon gate cmos 4,194,304-word by 16-bit cmos pseudo static RAM (PDF). [2012-09-06]. (原始內容 (PDF)存檔於2020-10-20).  070731 toshiba.com
  9. ^ Homemade CPU. [2012-09-06]. (原始內容存檔於2011-10-01). 
  10. ^ Computer organization. 4th ed. [S.l.]: McGraw-Hill. ISBN 0-07-114323-8. 
  11. ^ 12-Trit Ternary SRAM[永久失效連結]