SRAM(エスラム)とは、データの読み出しと書き込みができるメモリの一種のことです。「Static Random Access Memory」の頭文字を取った言葉で、よくDRAM(Dynamic Random Access Memory)の比較対象として挙げられます。DRAMは動的(ダイナミック)な回路方式なのに対し、SRAMは静的(スタティック)な回路方式で情報を記憶するのが特徴です。

DRAMは常に電力を供給し続けて情報を保持するリフレッシュ(記憶保持動作)が必要なメモリであるため、「動的=ダイナミック」という言葉が盛り込まれました。これに対し、SRAMでは1ビットの情報を保持できるフリップフロップ回路を取り入れ、定期的なリフレッシュを必要としないため、「静的=スタティック」と名付けられています。DRAMと比べると高速で情報を出し入れできるほか、アイドル状態(使用していない状態)の間は電力の消費量を抑えたり、制御を簡単にできたりもします。

一方、内部構造が複雑であるため高密度に実装するのが難しく、SRAMを搭載している機器は大型化しやすいのが難点。扱いやすい大きさにしようとすると、今度は記憶できる容量が少なくなるケースもあります。また、リフレッシュ動作が不要とはいえ、基本的には電力の供給がなくなると記憶していた情報が失われる揮発性メモリであることは留意しておかなければなりません。

現在はSRAMにもさまざまな種類があり、主電源が切れていても重要な情報を保持できるnvSRAMや、アクセス速度の速さが特徴的な非同期SRAMなどが登場しています。

SRAMは、作動していない時や作動している時など、大きく分けてスタンバイ・読み取り・書き取りの3種類の状態を取ります。スタンバイモードとは、回路が何もしていない状態のこと。セル本体とビット線は切り離され、交差接続されている2つのインバーターには特に変化は見られません。

読み取りモードとは、データの読み取りに対応する状態のことです。回路に電流を流し、メモリ内容の電位の高さを判別したうえで情報を読み取ります。メモリセルからの電圧を増幅させる回路「センスアンプ」の感度が高いほど、速くデータを読み取ることが可能です。

書き込みモードでは、データの内容の更新ができます。例えば0を書き込みたい場合は、初めにビット線に0を入力し、データの受け入れ先をアサートします。すると格納すべき値がラッチされ、データの内容の更新が完了するのです。書き込みモードでは、交差接続されたインバーターの状態を上書きできるよう設計することが大切。ビット線の入力ドライバが、セル内のトランジスタより相対的に強くなるよう設計します。