靜態隨機存取記憶體

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

## 設計

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

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

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

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

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

記憶體基本單元使用少於 6 個電晶體是可能的 — 如 3 電晶體甚至單電晶體，但單電晶體儲存單元是 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×_n_bit. 每個字元的長度至少是 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，而 Q 與 BL 的初始值不同，使得 BL 經由 M1 與 M5 放電而變成邏輯 **0**（即 Q 的高電位使得電晶體 M1 通路）。在位元線 BL 一側，電晶體 M4 與 M6 通路，把位元線連接到 VDD 所代表的邏輯 **1**（M4 作為 P 溝道場效電晶體，由於柵極加了 Q 的低電位而 M4 通路）。如果儲存的內容為 **0**, 相反的電路狀態將會使 BL 為 **1** 而 BL 為 **0**。只需要 BL 與 BL 有一個很小的電位差，讀取的放大電路將會辨識出哪條位元線是 **1** 哪條是 **0**。敏感度越高，讀取速度越快。

**寫入**

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

### 匯流排行為

存取時間為 70ns 的 RAM 在位址設定完成且有效之後，會在 70ns 之內將資料輸出。資料將繼續保持有效約 5－10ns。起、落時間將影響有效時間槽（timeslot）約 5ns。如果先讀入低半段位址，將會多耗費 30ns。

## 應用與使用

### 特性

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（通常在幾千位元組量級）
  * 用於 FPGA 與 CPLD

#### 嵌入式應用

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

#### 用於電腦

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

#### 愛好者

搭建自己的處理器的業餘愛好者更願意選用 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 用於網路、航天、醫療等需要關鍵場合 — 保住資料是關鍵的而且不可能用上電池。

### 非同步 SRAM

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

### 根據電晶體類型分類

* 雙極性結型電晶體（用於 TTL 與 ECL）— 非常快速但是功耗巨大
* MOSFET（用於 CMOS）— 本文詳細介紹的類型，低功耗，現在應用廣泛。

### 根據功能分類

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

### 根據特性分類

* 零匯流排翻轉（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）。

### 根據觸發類型

* 二進位計算機 SRAM
* 三進位計算機 SRAM

## 參見

* DRAM, 包括 PSRAM (pseudo-static RAM)
* 快閃記憶體
* 電晶體

## 參考文獻