Static_Random_Access_Memory
[Wikipedia|▼Menu]
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この記事は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方
出典検索?: "Static Random Access Memory" ? ニュース ・ 書籍 ・ スカラー ・ CiNii ・ J-STAGE ・ NDL ・ dlib.jp ・ ジャパンサーチ ・ TWL(2021年12月)
NESクローンに使われていた2K×8ビットSRAM

Static RAM・SRAM(スタティックラム・エスラム)は、半導体メモリの一種である。DRAM(ダイナミック(動的)RAM)に対して、「スタティック(静的)な回路方式により情報を記憶するもの」であることからその名がある。詳しくは概要を参照。

読み書き可能という意味で慣用的に名前にRAM(ランダムアクセスメモリ、Random Access Memory)が入っているが、厳密には本来の意味とは異なるため、当該項目を参照されたい。これはDRAMも同様である。
概要

SRAMは内部構造的に記憶部にフリップフロップ回路を用いているため、ダイナミックRAM(DRAM)と比較して、下記の特徴がある。

定期的なリフレッシュ(回復動作)が不要

内部構造が複雑であるため、高密度に実装できず、大容量メモリには向かないため、記憶容量あたりの単価が高い

高速な情報の出し入れが可能

アイドル状態では低消費電力

制御が容易(インタフェースが単純)で、より真の「ランダムアクセス性」があると言える

「データ残留現象」といった性質[1]が無いわけでもないが、基本的に電力の供給がなくなると記憶内容が失われる揮発性メモリ(volatile memory)である

なお、現在では従来のDRAMの記憶セルを用いながら、消費電力を低減してSRAMと同じインターフェースを持つ疑似SRAMもある。
設計FET6個で構成される CMOS SRAM セル

SRAM内の各ビットは4つのトランジスタで構成される2つの交差接続されたインバータに格納される。その記憶セルは2つの安定状態があり、それぞれを 0 と 1 に対応させる。さらに読み出しと書き込みアクセスのために2つのトランジスタを必要とする。したがって、典型的なSRAMでは1ビットを格納するのに6個のMOSFET(6T)を使用する。

他にも8Tや10Tで記憶セルを構成するものもあるが[2][3]、これは読み書きポートを複数実装する(マルチポート型SRAM回路)ために使われる。これは、ある種のビデオメモリやレジスタファイルなどに使われる。

一般的に、セル当たりのトランジスタ数が少ないほど個々のセルを小さくできる。シリコンウェハーの製造コストは比較的一定であるため、セルが小さくなれば単位面積により多くのビットを格納でき、メモリのビット当たりのコストも低減される。

6Tよりも少ないトランジスタ数で記憶セルを構成することも可能だが、そのような3T[4][5]や1Tのセルは実際にはDRAMであり、SRAMではない。例えば1T-SRAMと呼ばれるものがある。

セルへのアクセスは、ワード線(図ではWL)でイネーブルとなり、それによって2つのアクセス用トランジスタ M5 と M6 を制御し、次いでセル本体をビット線(図ではBLとBL)に接続すべきか否かを制御する。ビット線は読み取り操作と書き込み操作でのデータ転送に使われる。厳密にはビット線を2本持つ必要はないが、その信号と反転信号を同時に提供することでノイズマージンを改善している。

読み取りアクセスでは、SRAMのセルが能動的にビット線を High または Low に駆動する。それに対して、DRAMでは、ビット線がコンデンサと繋がっており、電荷共有(charge sharing)によって、ビット線がHighまたはLowとなるまでに少し時間がかかる。そのため、SRAMの方が帯域幅が大きくなる。SRAMのセルは対称形となっているため、差動信号処理が可能であり、小さな電圧の変化を容易に検出できる。また、DRAMと比べて、SRAMが高速動作できる他の要因として、商用のSRAMチップがアドレスを表す全ビットを同時に受け付けるという点も挙げられる。DRAMは、ピン数を減らして小型大容量化するためにアドレスビットが多重化されており、一度に全アドレスビットを受け付けられない。

アドレス線が m 本でデータ線が n 本のSRAMの大きさは、2m ワード または 2m × n ビットである。
SRAM の動き

SRAMセルは3種類の異なる状態をとりうる。回路が何もしていない「スタンバイ」モード、データの読み取り要求に対応する「読み取り」モード、内容の更新をする際の「書き込み」モードである。読み取りモードと書き込みモードのSRAMはそれぞれ「読み取り可能性 (readability)」と「書き込み安定性 (write stability)」がなけれはならない。ここではそれら3つの状態を解説する。
スタンバイ

ワード線がアサートされていないとき、アクセス用トランジスタ M5 と M6 がセル本体とビット線を切り離した状態となっている。交差接続された2つのインバータ(M1 から M4 で構成)はその間、状態を保持し続ける。
読み取り

図のQに格納されているセルの内容が 1 だとする。読み取りサイクルでは両方のビット線が 1 に事前充電され、次いでワード線 WL をアサートすることで両方のアクセス用トランジスタをイネーブル状態とする。次にQとQに保持されている値がビット線に転送される。Qが 1 なので、BLは事前充電された値のままとなり、BLはM1とM5を通して 0 に放電される。BLの側ではトランジスタM4とM6がビット線をVDDすなわち 1 にする。メモリ内容が 0 だった場合、逆のことが起こり、BLが 1 となり、BLが 0 となる。BLとBLの電位差は小さくても、センスアンプがそれらの線のうちどちらの電位が高いかを判別し、格納されているメモリの値が 1 なのか 0 なのかを決定する。センスアンプの感度が高いほど、読み取り操作の速度が速くなる。
書き込み

書き込みサイクルは、まず書き込むべき値をビット線に印加することで始まる。0 を書き込みたい場合、ビット線には 0 を入力する。つまり、BLを 1、BLを 0 とする。これはRS型フリップフロップにリセットパルスを与えるのと同じであり、それによってフリップは状態を変化させる。ビット線に与える入力を逆転させると 1 が書き込まれる。次にWLをアサートすると、格納すべき値がラッチされる。これがうまく機能するには、ビット線の入力ドライバが相対的に弱いセル内のトランジスタよりも強く、交差接続されたインバータの状態を上書きできるよう設計する必要がある。SRAMセル内のトランジスタの大きさは慎重に決定する必要があり、それによって正しい動作を保証する。
バスの動き

アクセス時間が70nsとされるメモリは、アドレス線群に正しいアドレス信号が送られてから70ナノ秒以内に対応するデータが出力される。しかし、データはある時間(5nsから10ns)だけ保持され続ける。また信号の0と1の間での遷移に要する時間も考慮する必要があり、約5nsと見積もられる。アドレスの下位ビットを順次変えながらある範囲のメモリを読み取る場合、アクセス時間はもっと短くなる(30nsなど)。
用途・用例

DRAMと比べて下記の特徴と用途が見られる。

内部構造が複雑であるため、DRAMほど高密度に実装できず、大容量メモリには向かないため、記憶容量あたりの単価が高く、比較的データ量の少ない用途によく用いられる。
パーソナルコンピュータ主記憶装置のような低コストが要求される用途には使われていない。

高速な情報の出し入れが可能な点を生かしてキャッシュメモリに用いられる。

クロック周波数と消費電力

SRAMの電力消費は、どの程度頻繁にアクセスされるかに依存する。頻繁にアクセスされる用途ではDRAMと同程度に電力を消費し、一部のICは最大帯域幅で使用すると何ワットも消費する。一方でアクセス頻度が小さい場合、例えばやや低いクロック周波数で駆動したマイクロプロセッサで利用する場合などは極めて消費電力が低くなり、アクセスがないアイドル状態ではほとんど無視できる程度の電力消費(数マイクロワット)となる[注 1]

そのため、電池交換中程度の短時間の電源喪失であれば比較的大容量のキャパシタで駆動できる。

また、保存性のよい小さな電池を内蔵あるいは外部に配置することで不揮発メモリ(NVRAM, コンピュータの時計BIOS設定情報の保持など)のようにも利用できる(バッテリーバックアップ機能)。フラッシュメモリが一般化する以前には、ゲーム機などのカートリッジ内のセーブデータ用に多用された。

SRAMには主に次のようなものがある。

汎用製品

「非同期」インタフェース。28ピンの32k×8ビットのチップ(XXC256 などの名称)や類似の製品。最大16Mビットのチップまである。

「同期」インタフェース。キャッシュメモリなどバースト転送を要求される用途で使用される。最大18Mビット(256k×72ビット)のチップまである。


チップ上への統合

RAMまたはキャッシュとしてマイクロコントローラに搭載(通常、32バイトから128KBの容量)


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:27 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef