第8回: SRAM

メモリLSIの基本構成(p.73)

アドレスで指定される番地にある内容を読んだり書いたりするのが メモリの働きですが、 そのような機能を実現するために、一般にはメモリは 次のような構成をとります。
(「VLSI工学-基礎・設計編-」(岩田、コロナ社)p.74より)
アドレスを指定するアドレスを(n+m)ビットとすると、 記憶するメモリセルの数は2n+m個になりますが、 一般には、このメモリセルを2n×2m個に 並べます。

このうち、nビット分のアドレス信号A0〜An-1は 行アドレスとして行デコーダに入り、 それの出力であるワード線によって、 メモリセルの2n行のうちの1行分だけが選択されます。

そしてその選択された行のメモリセルは、読み出しの場合は、 そこに記憶しているデータを(一般にはDLと/DLのペアで) 縦の線(データ線)に出力し、 また書き込みの場合は、データ線上のデータを書き込みます。 いずれの場合も、選択された行のメモリセルは、 データ線に「アクセス」をします。

一方、残りのmビット分のアドレス信号An〜An+m-1は 列アドレスとして列デコーダに入り、その出力によって、 2mビットのデータ線のうちの1本だけが、 カラムセレクトスイッチによって選択されます。

このとき、読み出し時であればデータ線上のデータを、 読み出し信号の増幅回路であるセンスアンプによって増幅して 出力信号としてデータバスに出力し、 逆に書き込み時であればビット線をとおしてデータバスのデータを データを書き込むことになります。

SRAMのメモリセル(p.74)

データを書き込むことができるメモリを、俗にRAMと呼びますが、 そのうち、フリップフロップをベースとした回路構成のものを 一般にSRAM (Static RAM)と呼びます。 これは、電源を切ると内容が消えてしまう(揮発性)けれども、 電源を入れてある限りは、内容をずっと保持する性質があります。 このSRAMのメモリセルの回路を考えてみましょう。 改めてメモリセルのはたらきをまとめてみると、 でした。 このような機能のために、一般には次のような回路構成を とることになります。
(「VLSI工学-基礎・設計編-」(岩田、コロナ社)p.75より)
このメモリセルの中央の4個のトランジスタが、インバータを 逆向きにつないだ構成になっていて、ここで1ビットの値を記憶します。 というのも、図のV1=0, V2=1の状態と、V1=1, V2=0の状態の いずれも「安定」ですので、どちらの状態も可能です。 逆に言えば、なんらかの外的要因で、このどちらかの状態に「なれば」、 ずっとその状態を保持してくれることになるわけです。

なおこのSRAMが動作していない(つまり読み出しも書き込みもしていない)状態では、 メモリセルに流れる電流は非常に少なくなります。 というのも、2個のインバータの両方が、nMOSかpMOSのどちらかだけがON、 もう片方がOFFの状態に必ずなりますので、 VDDからGNDへの電流(貫通電流と呼びます)が流れないため、 理想的には電流がまったく流れないため、です。 ただしMOSトランジスタのスケーリングによって微細化が進んできた最近では、 MOSトランジスタがOFFになるべきときに、OFFになりきらずにもれてしまう電流 (リーク電流)が無視できなくなってきているので、SRAMが動作していないときの 電流も、無視できなくなってきつつあります。

またこのSRAMセルでは、nMOSとpMOSの両方が必要であるため、 シリコン上では素子分離領域が必要であり、 ややメモリセルの面積が大きくなってしまいます。 そこで、抵抗の非常に大きい高抵抗ポリシリコンをpMOSの代わりに用いる、 高抵抗負荷型SRAMセル、もよく使われます。

読み出し動作

読み出し動作は、次のような手順でおこなわれます。
  1. 行ドライバから、選択された行のワード線WLi=1となる
  2. メモリセルの両側のnMOS(TG1, TG2)がONになる
  3. メモリセルの記憶値V1, V2が、そのままDL, /DLにつながる
  4. その値が、カラムセレクトスイッチ・センスアンプを通して、外部に読み出される
なお一般には、高速化・安定化のために、読み出し動作に先立って、 DL, /DLの電位を同じにしておき(イコライズ)、 その後の読み出し動作によって、DL, /DLのどちらかの 電位を下げるように動作をさせます。

書き込み動作

書き込み動作は、読み出し動作と同様に、次のような手順で行われます。
  1. 行ドライバから、選択された行のワード線WLi=1となる
  2. メモリセルの両側のnMOS(TG1, TG2)がONになる
  3. 書き込むべき値が、DL, /DLに与えられているので、 その値がV1, V2に書き込まれる
例えば最初V1=0で、DL=1を書き込もうとすると、 右側のインバータの入力が1となるため、 出力のV2=0となり、それにあわせてV1=0となって安定をし、 書き込みが完了します。
配布資料(第8回) (PDF形式)
戻る