SDRAM
[Wikipedia|▼Menu]

SDRAM (Synchronous Dynamic Random Access Memory) は、システムバスに同期して動作するDRAM (Dynamic Random Access Memory)。シンクロナスDRAMとも。初期のDRAMのインタフェースは非同期式であり、制御入力の変化に反応して可能な限り素早く応答するようになっていた。SDRAMのインタフェースは同期式であり、制御入力に応答する前にクロック信号を待つため、コンピュータのシステムバスに同期して動作する。クロックは入ってくる命令をパイプライン化する内部の有限状態機械を駆動するのに使われる。そのためSDRAMのチップは非同期DRAMよりも複雑な操作パターンを持つことができ、より高速に動作できる。

パイプライン化とはこの場合、SDRAMのチップが前の命令の処理を完了する前に新たな命令を受け付けられることを意味する。パイプライン化された書き込みでは、書き込み命令のすぐ後に書き込むべきデータがメモリアレイに到着する前でも次の命令を受け付けられる。パイプライン化された読み出しでは、要求したデータは読み出し命令からある固定数のクロックパルスが経過した後に出力され、その間のサイクルの間に別の命令を送ることができる。読み出し命令からデータが出力されるまでの遅延を「レイテンシ」と呼び、SDRAMを選択する際の重要な観点となっている。

SDRAMはコンピュータで広く使われている。元々のSDRAMだけでなく、そこから発展した世代であるDDR (DDR1)、DDR2、DDR3、DDR4、DDR5が量産されている。
歴史8個のSDRAMチップを PC100 DIMM パッケージに搭載したもの

SDRAMのコンセプトは1970年代には既に知られており、インテルの初期のプロセッサでも使われていたが、広く使われるようになったのは1993年以降のことである。1993年、サムスン電子がSDRAMチップ KM48SL2000 を導入。性能がよいため、コンピュータの主記憶として使われるDRAMは2000年までにほぼ全てがSDRAMとなった。

SDRAMのレイテンシは元々非同期型のDRAMに比べて無視できるものではなかった。実際初期のSDRAMは内部ロジックが複雑だったため、同時期の burst EDO RAM に比べて性能が低かった。SDRAM内部でのバッファリングはメモリの複数バンクへの操作をインターリーブできることに由来し、それによって実質的な帯域幅を向上させている。

今では事実上全てのSDRAMが、電子部品の相互運用を促進するためにオープン標準の採用を進める電子業界団体JEDECの規格に準拠して生産されている。JEDECは1993年に最初のSDRAMの規格を定め、その後も DDRDDR2DDR3 SDRAM といったSDRAMの規格を定めてきた。

SDRAMにはレジスタ付きの派生品もあり、サーバワークステーションなどよりよいスケーラビリティを要求するシステムで使われる。

2017年現在、パーソナルコンピュータの主記憶に単なるSDRAMが使われることはなく、DDR3 SDRAMDDR4 SDRAM が主流である。

SDRAMの主なメーカーとしては、サムスン電子ハイニックス半導体エルピーダメモリマイクロン・テクノロジなどがある。
タイミング

DRAMの性能を制限する要因はいくつかある。中でも重視されるのがリードサイクル時間で、オープン状態(SDRAMの行データをセンスアンプの配列に格納した状態)のロウ(行)への連続な読み出し操作の間の時間である。100MHzのSDRAMでは10nsだったその時間が、DDR-400では5nsに短縮されたものの、DDR2-800 と DDR3-1600 の世代では相対的にほとんど短縮されていない。しかし、インタフェース回路を基本リードレートよりも何倍もの速さで操作することにより、帯域幅は急激に増大した。

もう1つの制限要因はCASレイテンシで、カラムアドレスを供給してから対応するデータが得られるまでの時間である。これも最近の DDR SDRAM の数世代を通して 10-15ns と相対的に一定となっている。

実装においてはCASレイテンシは、SDRAMのモードレジスタを通してクロックサイクル数の形でプログラム可能であり、DRAMコントローラが期待する値を設定する。任意の値をプログラム可能だが、あまりに小さい値を設定するとSDRAMは正しく動作できない。クロックレートが高いと、実用可能なCASレイテンシのクロックサイクル数は増大する。10-15ns という時間は、200MHzの DDR-400 SDRAM では 2-3サイクル (CL2-3)、DDR2-800 では CL4-6、DDR3-1600 では CL8-12 となる。クロックサイクルが遅ければ、当然ながらCASレイテンシのサイクル数も小さくなる。

SDRAMモジュールにはそれぞれのタイミング仕様があり、そのモジュールで使っているチップ自体のそれよりも遅いことがある。100MHz SDRAMチップが登場したころ、100MHz対応と称したモジュールはそのクロックレートでは確実に動作できないことがあった。そのためインテルは PC100 規格を策定し、100MHzで安定動作できるメモリモジュールを生産するためのガイドラインと要求仕様を定めた。この規格は広く影響を及ぼし、PC100 は100MHzのSDRAMモジュールを指す用語となり、"PC" の後に数字をつけた名称が広く使われるようになった(その後、数字の意味は変化している)。
SDR SDRAMSound Blaster X-Fi Fatal1ty Pro に搭載された64MBのメモリ。マイクロン製の 48LC32M8A2-75 C というSDRAMチップ(8ビット幅)を133MHz (7.5ns) で駆動 [1]

元々は単にSDRAMと呼ばれていた SDR(シングルデータレート)SDRAMは、クロックサイクル当たり1つのコマンドを受けつけるか、1ワードのデータを転送できる。典型的なクロック周波数は100MHzと133MHzである。様々なデータバス幅のチップがあるが(4ビット、8ビット、16ビットなど)、一般に168ピンのDIMMの形でモジュール化され、64ビット(ECCなし)または72ビット(ECC)を一度に読み書きできる。

データバスの使い方は複雑で、そのため複雑なDRAM制御回路を必要とする。例えば、書き込みの際にはライトコマンドと同じサイクルで書き込むべきデータを提示しなければならないが、読み出し操作ではリードコマンドの2または3サイクル後にデータが出力される。そのため、DRAMコントローラはリードとライトが同時にデータバスを必要としないように調整しなければならない。

典型的な SDR SDRAM のクロックレートは 66MHz、100MHz、133MHz である(それぞれ、15ns、10ns、7.5ns)。
制御信号

すべてのコマンドはクロック信号の立ち上がりのタイミングでとられる。クロックに加えて6つの制御信号があり、たいていは負論理で、クロックの立ち上がりのタイミングでサンプリングされる。
CKE (Clock Enable)
この信号がローレベルのとき、チップはクロックが停止しているかのように動作する。コマンドは全く解釈されず、コマンドレイテンシ時間は経過しない。他の制御線の状態は考慮されない。この信号の効力は実際には1クロックサイクルだけ遅延される。すなわち現在のクロックサイクルは通常通り進行するが、次のクロックサイクルは無視され、CKE入力のチェックだけが行われる。CKEがハイレベルとなったクロックサイクル後の立ち上がりの時点から通常の処理が続行される。
言い換えれば、全ての処理はマスクされたクロックの立ち上がりに対応して進行する。マスクされたクロックとは、クロック入力と直前のクロック入力立ち上がり時のCKE信号の状態の論理積である。
/CS (Chip Select)
この信号がハイのとき、チップは全ての入力(CKE以外)を無視し、NOPコマンドを受け取ったかのように動作する。
DQM (Data Mask)
略号に"Q"という文字があるのは、データ線を"DQ"線と呼ぶことがあるためである。この信号がハイのとき、それらの信号はデータI/Oを抑制する。書き込みデータを伴う場合、そのデータは実際にはDRAMに書き込まれない。リードサイクルの前に2サイクルの間ハイにした場合、リードデータはチップから出力されない。DQM線は x16のメモリチップまたはDIMMの8ビットごとに1つある。
/RAS (Row Address Strobe)
名前に「ストローブ」とあるが、単なるコマンドビットとして機能する。


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

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