Dynamic Random Access Memory
コンデンサとも呼ばれるキャパシタに電荷を蓄え、この電荷の有無によって1ビットの情報を記憶する。電荷は漏出しやがて失われるため、1秒間に数回程、列単位でデータを読み出して列単位で再び記録し直すリフレッシュが絶えず必要となる。たとえ読み出しの必要がなくとも、記憶を保持するためには常にこの操作を行わなければならない。
SDRAM(Synchronous DRAM、シンクロナス・ディーラム、エスディーラム)は、外部クロックに同期してカラムの読み出し動作を行うDRAMである。外部クロックに同期することで、DRAM素子内部でパイプライン動作を行い、外部のバスクロックに同期してバースト転送することにより、0ウェイトでの出力アクセスを可能とし、外部バスクロックがそのまま使用できるために回路設計も容易となった。
以下は現行のDDR SDRAM(後述)以前の、SDR SDRAMについて述べる。登場した当初は同期クロックはIntel製CPUのPentiumに合わせて66MHzであったが、やがてPentium IIやAMD製CPUのK6-2に合わせてPC100 SDRAMと呼ばれる規格で100MHzとなり、2000年のIntel製のPentium III用新チップセット出荷に合わせてPC133 SDRAMが本格的に使用された。パーソナルコンピュータでの使用では多くがDIMMでの実装となっていた。DDR SDRAMが主力になった後は、生産される製品は少なくなっている。
リフレッシュを行う行アドレスを指定するには、次のような方法がある。
RAS only リフレッシュ : DRAMに行アドレスを与え、RAS信号のみをアクティブにすることで、指定された行のリフレッシュを行う。リフレッシュアドレスは、DRAMの外部回路によって作る必要がある。
CAS before RAS リフレッシュ :略称でCBRリフレッシュとも言う。この機能を実装するDRAMは CASとRASをアクティブにするタイミングを通常のデータアクセスと逆にすることで、DRAM内部のリフレッシュ回路を起動させる。起動毎に内部に用意されたカウンタを自動的にアップさせ、必要な行アドレスを順番に発生させるので、DRAMの外部にリフレッシュ用のアドレスカウンタを用意する必要がない。
オートリフレッシュ・セルフリフレッシュ :この機能を実装するDRAMはメインシステムから一定期間アクセスのない状態、例えばメインシステムの電源を落としてメモリバックアップ回路だけを駆動させているときなどに、DRAMチップに内蔵されたリフレッシュ回路によって自動的にリフレッシュを行う。通常アクセス時のリフレッシュは別の方法が必要だが、それ以外ではCBRリフレッシュ同様、DRAMの外部にリフレッシュ用のアドレスカウンタを用意する必要がない。
1970年に米インテル社が世界最初のDRAMである「1103」を発売してから、多くの種類のDRAMが市場に登場している。各DRAMの種別名称ではSD-RAMあるいはSDRAMのようにハイフンの有無で表記の揺らぎが存在するが、以下では全てハイフンを省いて表記する。
フラッシュメモリで使用されているように、キャパシタ内の電荷の有無により"0"と"1"を検出して1セル当り1ビットを保持するのではなく、例えば、0%、25%、50%、100%と4段階で電荷量を検出すれば、1つのセルで2ビットの情報を保持することができる。これが多値化技術であり、DRAMでも早くから提唱されていたが、実際の製品にはほとんど採用されていない。
メモリセルは、ワード線とビット線で作られるマトリックス状に配置され、多数のメモリセルによって、メモリセルアレイが作られる。ビット線の寄生容量が読み出し時の精度を制限するため、余り長くすることができない。そのため、メモリセルアレイの大きさには上限がある。 メモリセルアレイの周辺には、ワード線とビット線を制御してデータの書き込み/読み出し/リフレッシュを行い、外部と信号をやり取りする周辺回路が備わっている。
データの読み出しをする時には、ワード線で指定される1列分のデータをビット線の数だけ用意されたセンスアンプで同時に増幅し、その中から必要とするビットのデータを読み出す。読み出し動作によってキャパシタの電荷は失われる(破壊記憶)ので、ワード線で指定したままにすることでセンスアンプで増幅された電位を記憶セルに書き戻し、読み出しは完了する。