同期ダイナミックランダムアクセスメモリ

SDRAMメモリモジュール

同期ダイナミックランダムアクセスメモリ同期ダイナミック RAMまたはSDRAM)は、外部ピンインターフェースの動作が外部から供給されるクロック信号によって調整されるDRAMです。

1970 年代初頭から 1990 年代初頭にかけて製造されたDRAM集積回路(IC) は非同期インターフェイスを使用していました。非同期インターフェイスでは、入力制御信号が内部機能に直接影響を及ぼし、遅延は半導体パスを通過する時間だけとなります。SDRAM には同期インターフェイスがあり、制御入力の変化はクロック入力の立ち上がりエッジの後で認識されます。JEDECで標準化された SDRAM ファミリでは、クロック信号が、着信コマンドに応答する内部有限ステート マシンのステップを制御します。これらのコマンドはパイプライン化することができ、新しいコマンドを受信中に、以前に開始された操作を完了させることができます。メモリはバンクと呼ばれる、サイズが同じで独立した複数のセクションに分割されており、デバイスは各バンクのメモリ アクセス コマンドで同時に動作し、インターリーブ方式でアクセスを高速化できます。これにより、SDRAM は非同期 DRAM よりも高い同時実行性とデータ転送速度を実現できます。

パイプライン化とは、チップが前のコマンドの処理を完了する前に新しいコマンドを受け入れることができることを意味します。パイプライン化された書き込みでは、データがメモリアレイに書き込まれるのを待たずに、書き込みコマンドの直後に別のコマンドを実行できます。パイプライン化された読み出しでは、要求されたデータは読み出しコマンドから一定のクロックサイクル数(レイテンシ)後に現れ、その間に次のコマンドを送信できます。

歴史

PC100 DIMMパッケージに8 つのHyundai SDRAM IC を搭載

初期のDRAMはCPUクロック(クロック)と同期することが多く、初期のマイクロプロセッサで使用されていました。1970年代半ばにはDRAMは非同期設計に移行しましたが、1990年代には同期動作に戻りました。[ 1 ] [ 2 ] 1980年代後半には、 IBMがデュアルエッジクロッキング機能を搭載したDRAMを開発し、1990年の国際固体回路会議(International Solid-State Circuits Convention)でその結果を発表しました。しかし、これはSDRAMではなく、標準的なDRAMでした。[ 3 ] [ 4 ]

最初の商用SDRAMは、容量が16MビットのSamsung KM48SL2000メモリチップ でした。[ 5 ]これは、1992年にSamsung ElectronicsによってCMOS(相補型金属酸化膜半導体製造プロセスを使用して製造され、 [ 6 ] 1993年に量産されました。[ 5 ] 2000年までに、SDRAMはパフォーマンスが優れているため、現代のコンピュータで 他のすべてのタイプのDRAMを事実上置き換えました。

SDRAMのレイテンシは、非同期DRAMよりも本質的に低い(アクセス時間が速い)わけではありません。実際、初期のSDRAMは、追加ロジックのせいで、同時バーストEDO DRAMよりも若干遅くなっていました。SDRAMの内部バッファリングの利点は、複数のメモリバンクに操作をインターリーブし、実効帯域幅を向上させることができる点にあります。

DDR SDRAMとして知られるダブルデータレートSDRAMは、1997年にサムスンによって初めて実証されました。[ 7 ]サムスンは1998年6月に最初の商用DDR SDRAMチップ(64 メガビット[ 8 ] )をリリースし、 [ 9 ] [ 10 ] [ 11 ]、同年に現代電子(現SKハイニックス)もすぐにそれに続きました。 [ 12 ]

現在、事実上すべてのSDRAMは、電子部品の相互運用性を促進するためにオープンスタンダードを採用する電子業界団体であるJEDECが制定した規格に準拠して製造されています。JEDECは1993年に最初のSDRAM規格を正式に採用し、その後、DDRDDR2DDR3 SDRAMなどの他のSDRAM規格も採用しました。

SDRAM には、サーバーワークステーションなどの高い拡張性を必要とするシステム向けに、レジスタ付きの種類も用意されています。

現在、世界最大の SDRAM メーカーとしては、SK HynixSamsung ElectronicsMicron TechnologyChangXin Memory TechnologiesNanya Technologyなどが挙げられます。

タイミング

DRAMの性能にはいくつかの制限があります。最も注目すべきは、オープン行への連続した読み出し操作間の時間である読み出しサイクルタイムです。この時間は、66MHz SDRAM(1MHz = 10 6  Hz)の15nsからDDR-400の5nsに短縮されましたが、DDR2-800およびDDR3-1600世代ではほぼ横ばいでした。しかし、インターフェース回路を基本読み出し速度のより高い倍数で動作させることで、実現可能な帯域幅は急速に増加しました。

もう一つの制限はCASレイテンシ、つまり列アドレスの供給から対応するデータの受信までの時間です。これもまた、ここ数世代のDDR SDRAMでは10~15nsと比較的一定に保たれています。

動作中、CASレイテンシはSDRAMのモードレジスタにプログラムされ、DRAMコントローラが期待する特定のクロックサイクル数です。任意の値をプログラムできますが、値が低すぎるとSDRAMは正常に動作しません。クロックレートが高いほど、有効なCASレイテンシ(クロックサイクル数)は自然に増加します。10~15nsは、DDR-400 SDRAMの200MHzクロックの2~3サイクル(CL2~3)、DDR2-800ではCL4~6、DDR3-1600ではCL8~12に相当します。クロックサイクルが低速であれば、CASレイテンシサイクル数は自然に減少します。

SDRAMモジュールには独自のタイミング仕様があり、モジュール上のチップの仕様よりも遅い場合があります。100MHz SDRAMチップが初めて登場した際、一部のメーカーは「100MHz」と謳ったモジュールを販売していましたが、そのクロックレートでは安定動作しませんでした。これに対し、IntelはPC100規格を公開しました。この規格は、100MHzで安定動作するメモリモジュールを製造するための要件とガイドラインを概説しています。この規格は広く影響を与え、「PC100」という用語は瞬く間に100MHz SDRAMモジュールの一般的な識別子となり、現在ではモジュールは「PC」で始まる番号(PC66、PC100、PC133など)で識別されるのが一般的です。ただし、これらの番号の実際の意味は変更されています。

制御信号

すべてのコマンドは、クロック信号の立ち上がりエッジを基準にタイミングが設定されます。クロックに加えて、主にアクティブローの6つの制御信号があり、クロックの立ち上がりエッジでサンプリングされます。

  • CKEクロックイネーブル。この信号がローレベルの場合、チップはクロックが停止したかのように動作します。コマンドは解釈されず、コマンドレイテンシ時間も経過しません。他の制御ラインの状態は関係ありません。この信号の効果は、実際には1クロックサイクル遅延されます。つまり、現在のクロックサイクルは通常どおりに進行しますが、次のクロックサイクルはCKE入力の再テストを除いて無視されます。通常の動作は、CKEがハイレベルにサンプリングされた後のクロックの立ち上がりエッジで再開されます。言い換えれば、その他のすべてのチップ動作は、マスククロックの立ち上がりエッジを基準にタイミングが調整されます。マスククロックとは、入力クロックと、その前の入力クロックの立ち上がりエッジにおけるCKE信号の状態との論理積です。
  • CSチップセレクト。この信号がハイの場合、チップは他のすべての入力(CKEを除く)を無視し、NOPコマンドを受信した場合と同様に動作します。
  • DQMデータマスク。(デジタルロジックの慣例に従い、データラインは「DQ」ラインと呼ばれるため、文字「 Q」が使用されています。)これらの信号がハイレベルの場合、データI/Oが抑制されます。書き込みデータに付随する場合、データは実際にはDRAMに書き込まれません。読み出しサイクルの2サイクル前にハイレベルにアサートされた場合、読み出しデータはチップから出力されません。x16メモリチップまたはDIMMには、8ビットごとに1つのDQMラインがあります。

コマンド信号

  • RASは行アドレスストローブです。名前に反して、これはストローブではなく、単なるコマンドビットです。CASおよびWEと共に、8つのコマンドのいずれかを選択します。
  • CASは列アドレスストローブです。これもストローブではなく、コマンドビットです。RAS とWEと共に、8つのコマンドから1つを選択します。
  • WEは書き込み許可です。RASおよびCASとともに、8つのコマンドのいずれかを選択します。一般的に、読み取りのようなコマンドと書き込みのようなコマンドを区別します。

銀行選択(BAn)

SDRAMデバイスは内部的に2つ、4つ、または8つの独立した内部データバンクに分割されています。1~3つのバンクアドレス入力(BA0、BA1、BA2)を使用して、コマンドの対象となるバンクを選択します。

アドレッシング(A10/An)

多くのコマンドは、アドレス入力ピンに提示されるアドレスも使用します。アドレスを使用しないコマンド、または列アドレスを提示するコマンドの中には、バリアントの選択にA10も使用するものがあります。

コマンド

SDR SDRAM コマンドは次のように定義されます。

CSRASCAS私たちはBA nA10アン指示
H××××××コマンド禁止(操作なし)
LHHH×××操作なし
LHHL×××バースト終了: 進行中のバースト読み取りまたはバースト書き込みを停止します
LHLH銀行Lカラム読み取り: 現在アクティブな行から大量のデータを読み取る
LHLH銀行Hカラム自動プリチャージで読み取り: 上記のように、完了したらプリチャージ(行を閉じる)します
LHLL銀行Lカラム書き込み: 現在アクティブな行に大量のデータを書き込む
LHLL銀行Hカラム自動プリチャージで書き込み:上記のように書き込み、完了したらプリチャージ(行を閉じる)
LLHH銀行アクティブ(アクティブ化):読み取りおよび書き込みコマンドの行を開きます
LLHL銀行L×プリチャージ: 選択したバンクの現在の行を非アクティブ化(閉じる)します
LLHL×H×すべてプリチャージ: すべてのバンクの現在の行を非アクティブ化(閉じる)
LLLH×××自動リフレッシュ:内部カウンターを使用して、各バンクの1行をリフレッシュします。すべてのバンクはプリチャージされている必要があります。
LLLL0 0モードロードモードレジスタ:A0~A9はDRAMチップの設定にロードされます。最も重要な設定はCASレイテンシ(2または3サイクル)とバースト長(1、2、4、または8サイクル)です。

すべての SDRAM 世代 (SDR および DDRx) は基本的に同じコマンドを使用しますが、変更点は次のとおりです。

  • 大型デバイスをサポートするための追加アドレスビット
  • 追加のバンクセレクトビット
  • より広いモードレジスタ(DDR2以上では13ビット、A0~A12を使用)
  • 追加の拡張モードレジスタ(バンクアドレスビットによって選択)
  • DDR2ではバースト終了コマンドが削除され、DDR3では「ZQキャリブレーション」として再割り当てされます。
  • DDR3とDDR4は、読み取りおよび書き込みコマンド中にA12を使用して「バーストチョップ」、つまり半分の長さのデータ転送を示します。
  • DDR4では、アクティブ化コマンドのエンコーディングが変更されました。新しい信号ACTがこれを制御し、その間、他の制御ラインは行アドレスビット16、15、および14として使用されます。ACTがハイの場合他のコマンドは上記と同じです。

建設と運営

SDRAMメモリモジュール、拡大

例えば、512MB SDRAM DIMM(512MBのメモリを搭載)は、8個または9個のSDRAMチップで構成され、各チップは512Mビットのストレージを搭載し、DIMMの64ビットまたは72ビット幅に8ビットずつ割り当てられます。典型的な512MビットSDRAMチップは、内部に4つの独立した16MBメモリバンクを備えています。各バンクは、16,384ビットの8,192行(2,048列)の配列です。バンクは、アイドル状態、アクティブ状態、または切り替え状態のいずれかになります。[ 8 ]

アクティブコマンドアイドル状態のバンクをアクティブにします。2ビットのバンクアドレス(BA0~BA1)と13ビットの行アドレス(A0~A12)を指定し、その行のデータをバンク内の全16,384個の列センスアンプアレイに読み込みます。これは行の「オープン」とも呼ばれます。この操作には、その行のダイナミック(容量性)メモリのストレージセルを リフレッシュするという副作用があります。

行がアクティブ化(「オープン」)されると、その行への読み取りおよび書き込みコマンドが可能になります。アクティブ化には、読み取りまたは書き込みが行われる前に、行から列への遅延(t RCD)と呼ばれる最小時間が必要です。この時間はクロック周期の次の倍数に切り上げられ、アクティブコマンドと読み取りまたは書き込みコマンド間の最小待機サイクル数を指定します。各バンクは完全に独立して動作するため、これらの待機サイクル中に他のバンクに追加のコマンドが送信されることがあります。

読み出しコマンドと書き込みコマンドの両方に列アドレスが必要です。各チップは一度に8ビットのデータにアクセスするため、2,048通りの列アドレスが可能で、必要なアドレスラインは11本(A0~A9、A11)のみです。

読み出しコマンドが発行されると、SDRAMは、設定されたCASレイテンシに応じて、数クロックサイクル後のクロックの立ち上がりエッジに間に合うように、対応する出力データをDQラインに出力します。バーストの次のワードは、次のクロックの立ち上がりエッジに間に合うように生成されます。

書き込みコマンドには、同じクロック立ち上がりエッジでDQラインに書き込まれるデータが付随します。メモリコントローラの役割は、SDRAMが書き込みデータをDQラインに書き込む必要があるのと同時に、読み出しデータをDQラインに書き込まないようにすることです。これは、読み出しバーストが終了するまで待つ、読み出しバーストを終了させる、あるいはDQM制御ラインを使用することで実現できます。

メモリコントローラが別の行にアクセスする必要がある場合、まずそのバンクのセンスアンプをアイドル状態に戻して、次の行をセンスする準備を整える必要があります。これは「プリチャージ」動作、または行の「クローズ」と呼ばれます。プリチャージは明示的に指示することも、読み取りまたは書き込み動作の終了時に自動的に実行される場合もあります。この場合も、行プリチャージ遅延 t RPと呼ばれる最小時間が経過するまでに、その行が完全に「クローズ」され、バンクがアイドル状態になり、そのバンクで次のアクティブ化コマンドを受信できるようになります。

行のリフレッシュはアクティブ化に伴う自動的な副作用ですが、この動作には最低限の時間が必要です。アクティブコマンドによる行のオープンと、対応するプリチャージコマンドによるクローズの間に、最小の行アクセス時間(t RAS遅延)が必要です。この制限は通常、行への必要な読み取りおよび書き込みコマンドの数に比べて非常に小さいため、その値は標準的なパフォーマンスにほとんど影響を与えません。

コマンドインタラクション

ノーオペレーションコマンドは常に許可されますが、ロードモードレジスタコマンドはすべてのバンクがアイドル状態である必要があり、その後、変更が有効になるまでに遅延が発生します。オートリフレッシュコマンドもすべてのバンクがアイドル状態である必要があり、チップをアイドル状態に戻すにはリフレッシュサイクル時間 t RFCが必要です(この時間は通常 t RCD + t RPに等しくなります)。アイドル状態のバンクで許可される唯一の他のコマンドはアクティブコマンドです。前述のように、このコマンドは行が完全にオープンになり、読み取りおよび書き込みコマンドを受け付けられるようになるまでに t RCDかかります。

バンクが開いている場合、読み取り、書き込み、バースト終了、プリチャージの4つのコマンドが許可されます。読み取りコマンドと書き込みコマンドはバーストを開始し、後続のコマンドによって中断される可能性があります。

読み取りバーストの中断

リードコマンド、バーストターミネートコマンド、またはプリチャージコマンドは、リードコマンドの後にいつでも発行でき、設定されたCASレイテンシ後にリードバーストを中断します。つまり、サイクル0でリードコマンドが発行され、サイクル2で別のリードコマンドが発行され、CASレイテンシが3の場合、最初のリードコマンドはサイクル3と4の間にデータのバースト出力を開始し、2番目のリードコマンドの結果はサイクル5から表示されます。

サイクル 2 で発行されたコマンドがバースト終了またはアクティブ バンクのプリチャージであった場合、サイクル 5 では出力は生成されません。

中断する読み取りはアクティブなバンクに対して行われる可能性がありますが、プリチャージ コマンドは、同じバンクまたはすべてのバンクに対して行われる場合にのみ読み取りバーストを中断します。別のバンクに対するプリチャージ コマンドは読み取りバーストを中断しません。

書き込みコマンドによって読み出しバーストを中断することは可能ですが、より困難です。DQM信号を用いてSDRAMからの出力を抑制すれば、メモリコントローラが書き込み操作に間に合うようにDQラインを介してSDRAMにデータを送信できます。DQMは読み出しデータに2サイクル遅延して作用しますが、書き込みデータには即座に作用するため、書き込みコマンドの少なくとも2サイクル前からDQMを立ち上がり(読み出しデータをマスクするため)、書き込みコマンドのサイクル中はDQMを立ち下げる必要があります(書き込みコマンドが効果を持つことを前提としています)。

これをわずか2クロックサイクルで実行するには、SDRAMがクロックエッジで出力をオフにするのにかかる時間と、次のクロックエッジで書き込みのためにデータをSDRAMに入力として供給する必要がある時間とを慎重に調整する必要があります。クロック周波数が高すぎて十分な時間が取れない場合は、3クロックサイクルが必要になる場合があります。

読み取りコマンドに自動プリチャージが含まれている場合、プリチャージは中断コマンドと同じサイクルで開始されます。

バーストオーダー

キャッシュを搭載した現代のマイクロプロセッサは、一般的にキャッシュライン単位でメモリにアクセスします。64バイトのキャッシュラインを転送するには、64ビットDIMMへの8回の連続アクセスが必要ですが、モードレジスタを使用してSDRAMチップを8ワードバースト実行するように設定することで、1回の読み取りまたは書き込みコマンドでこれらすべてをトリガーできます。キャッシュラインフェッチは通常、特定のアドレスからの読み取りによってトリガーされ、SDRAMではキャッシュラインの「クリティカルワード」を最初に転送できます。(ここでの「ワード」とは、SDRAMチップまたはDIMMの幅を指し、一般的なDIMMでは64ビットです。)SDRAMチップは、キャッシュライン内の残りのワードの順序付けに関して2つの可能な規則をサポートしています。

バーストは常に、BL の倍数で始まる BL 連続ワードのアラインメントされたブロックにアクセスします。したがって、たとえば、4 から 7 の任意の列アドレスへの 4 ワードのバースト アクセスは、4 から 7 のワードを返します。ただし、順序は、要求されたアドレスと、構成されたバースト タイプ オプション (シーケンシャルまたはインターリーブ) によって異なります。通常、メモリ コントローラはどちらか一方を必要とします。バースト長が 1 または 2 の場合、バースト タイプは関係ありません。バースト長が 1 の場合、要求されたワードがアクセスされる唯一のワードです。バースト長が 2 の場合、要求されたワードが最初にアクセスされ、アラインメントされたブロック内の他のワードが 2 番目にアクセスされます。これは、偶数アドレスが指定された場合は次のワード、奇数アドレスが指定された場合は前のワードです。

シーケンシャルバーストモードでは、後続のワードはアドレスの昇順でアクセスされ、ブロックの末尾に達すると先頭に戻ります。したがって、たとえばバースト長が4で、要求された列アドレスが5の場合、ワードは5-6-7-4の順序でアクセスされます。バースト長が8の場合、アクセス順序は5-6-7-0-1-2-3-4となります。これは、列アドレスにカウンタを追加し、バースト長を超える桁上げを無視することで行われます。インターリーブバーストモードでは、カウンタとアドレスの排他的論理和演算を使用してアドレスを計算します。同じ開始アドレス5を使用すると、4ワードバーストでは5-4-7-6の順序でワードが返されます。8ワードバーストでは5-4-7-6-1-0-3-2となります。[ 13 ]

要求された列アドレスがブロックの先頭にある場合、どちらのバーストモード(シーケンシャルバーストとインターリーブバースト)も、0-1-2-3-4-5-6-7という同じシーケンシャルシーケンスでデータを返します。この違いは、メモリからクリティカルワードファーストでキャッシュラインをフェッチする場合にのみ重要です。

モードレジスタ

シングルデータレートSDRAMには、10ビットのプログラマブルモードレジスタが1つあります。その後のダブルデータレートSDRAM規格では、バンクアドレスピンを使用してアドレス指定するモードレジスタが追加されました。SDR SDRAMでは、バンクアドレスピンとアドレスラインA10以上は無視されますが、モードレジスタへの書き込み時は0にする必要があります。

ビットは M9 ~ M0 で、ロード モード レジスタ サイクル中にアドレス ライン A9 ~ A0 に表示されます。

  • M9: 書き込みバーストモード。0の場合、書き込みは読み取りバースト長とモードを使用します。1の場合、すべての書き込みは非バースト(単一ロケーション)です。
  • M8、M7: 動作モード。予約済み。00にする必要があります。
  • M6、M5、M4:CASレイテンシ。通常、010(CL2)と011(CL3)のみが有効です。読み取りコマンドとチップからのデータ出力間のサイクル数を指定します。チップはこの値にナノ秒単位の基本的な制限を設けており、初期化時にメモリコントローラはクロック周波数の情報を用いて、その制限をサイクル数に変換する必要があります。
  • M3: バースト タイプ。0 – シーケンシャル バースト オーダーを要求し、1 はインターリーブ バースト オーダーを要求します。
  • M2、M1、M0:バースト長。値が000、001、010、011の場合、それぞれ1、2、4、8ワードのバーストサイズを指定します。バースト停止コマンドなどのコマンドによって中断されない限り、各読み取り(M9が0の場合は書き込みも)で、指定された回数のアクセスが実行されます。値が111の場合、フルロウバーストが指定されます。バーストは中断されるまで継続されます。フルロウバーストは、シーケンシャルバーストタイプでのみ許可されます。

後期(ダブルデータレート)SDRAM規格では、より多くのモードレジスタビットが使用され、「拡張モードレジスタ」と呼ばれる追加のモードレジスタが提供されます。レジスタ番号は、モードレジスタロードコマンドの実行中にバンクアドレスピンにエンコードされます。例えば、DDR2 SDRAMには、13ビットのモードレジスタ、13ビットの拡張モードレジスタ1(EMR1)、および5ビットの拡張モードレジスタ2(EMR2)があります。

自動更新

RAMチップは、各バンクの各行を開閉(アクティブ化とプリチャージ)することでリフレッシュできます。しかし、メモリコントローラを簡素化するため、SDRAMチップは「自動リフレッシュ」コマンドをサポートしています。このコマンドは、各バンクの1行に対して同時にこれらの操作を実行します。SDRAMはまた、すべての可能な行を反復処理する内部カウンタも保持しています。メモリコントローラは、リフレッシュ間隔(t REF = 64msが一般的な値です)ごとに、十分な数の自動リフレッシュコマンド(行ごとに1つ、上記の例では8192)を発行するだけです。このコマンドが発行される際、すべてのバンクはアイドル状態(クローズ、プリチャージ状態)である必要があります。

低電力モード

前述の通り、クロックイネーブル(CKE)入力はSDRAMへのクロック供給を効果的に停止するために使用できます。CKE入力はクロックの立ち上がりエッジごとにサンプリングされ、CKEがローレベルの場合、次の立ち上がりエッジはCKEのチェック以外の目的では無視されます。CKEがローレベルである限り、クロックレートを変更したり、クロックを完全に停止したりすることも可能です。

SDRAM が操作を実行している間に CKE が低下した場合、CKE が再度上昇するまで SDRAM は単にその位置に「フリーズ」します。

CKEがLowの状態でSDRAMがアイドル状態(全バンクがプリチャージされ、コマンドが実行中でない状態)の場合、SDRAMは自動的にパワーダウンモードに入り、CKEが再びHighになるまで消費電力を最小限に抑えます。この状態は最大リフレッシュ間隔t REFを超えて継続してはなりません。そうでないとメモリの内容が失われる可能性があります。この間、さらなる消費電力削減のため、クロックを完全に停止することは可能です。

最後に、SDRAMにオートリフレッシュコマンドが送信されると同時にCKEがローレベルになると、SDRAMはセルフリフレッシュモードに入ります。これはパワーダウンモードに似ていますが、SDRAMはオンチップタイマーを使用して必要に応じて内部リフレッシュサイクルを生成します。この間、クロックは停止する場合があります。セルフリフレッシュモードはパワーダウンモードよりもわずかに多くの電力を消費しますが、メモリコントローラを完全に無効化できるため、通常はその差を十分に補います。

バッテリー駆動デバイス向けに設計されたSDRAMには、いくつかの省電力オプションが追加されています。1つは温度依存リフレッシュです。オンチップ温度センサーが、常に最悪ケースのリフレッシュレートで動作させるのではなく、低温時にリフレッシュレートを低下させます。もう1つは選択的リフレッシュで、セルフリフレッシュをDRAMアレイの一部に制限します。リフレッシュする割合は、拡張モードレジスタを使用して設定します。3つ目は、モバイルDDR(LPDDR)およびLPDDR2に実装されている「ディープパワーダウン」モードで、メモリを無効化し、終了するには完全な再初期化が必要になります。このモードは、CKEを低下させた状態で「バーストターミネート」コマンドを送信することで起動されます。

DDR SDRAMプリフェッチアーキテクチャ

DDR SDRAM はプリフェッチ アーキテクチャを採用しており、メモリ内の共通の物理行にある 複数のデータ ワードに迅速かつ簡単にアクセスできます。

プリフェッチ アーキテクチャは、DRAM へのメモリ アクセスの特定の特性を利用します。一般的な DRAM メモリ操作には、ビットラインプリチャージ、行アクセス、列アクセスの 3 つのフェーズがあります。行アクセスは、DRAM メモリ セル内の小さな信号を注意深く検知する必要があるため、読み取り操作の中核であり、メモリ操作の中で最も遅いフェーズです。ただし、行が読み取られると、センス アンプがラッチとしても機能するため、同じ行への後続の列アクセスは非常に高速になります。参考までに、1 Gbit [ 8 ] DDR3デバイスの行は 2,048ビット幅であるため、内部的には行アクセス フェーズで 2,048 ビットが 2,048 個の個別のセンス アンプに読み取られます。行アクセスには DRAM の速度に応じて 50 nsかかる場合がありますが、開いている行からの列アクセスは 10 ns 未満です。

従来のDRAMアーキテクチャは、空いている行のビットへの高速な列アクセスを長年サポートしてきました。2,048ビット幅の行を持つ8ビット幅のメモリチップの場合、他の行へのアクセスが間に合わない限り、行上の256データワード(2,048/8)のいずれかへのアクセスは非常に高速です。

従来の高速列アクセス方式の欠点は、行にデータワードが追加されるたびに新しい列アドレスを送信する必要があったことです。アドレスバスはデータバスと同じ周波数で動作する必要がありました。プリフェッチアーキテクチャは、単一のアドレス要求で複数のデータワードを生成できるようにすることで、このプロセスを簡素化します。

プリフェッチバッファアーキテクチャでは、メモリアクセスが行に対して発生すると、バッファは行内の隣接するデータワードのセットを取得し、個別の列アドレス要求を必要とせずに、それらをIOピンに高速に読み出し(「バースト」)ます。これはCPUがメモリ内の隣接するデータワードを必要とすることを前提としており、実際には非常に多くの場合そうなります。例えばDDR1では、隣接する2つのデータワードが同じクロックサイクルで各チップから読み出され、プリフェッチバッファに格納されます。その後、各ワードはクロックサイクルの連続する立ち上がりエッジと立ち下がりエッジで送信されます。同様に、4nプリフェッチバッファを備えたDDR2では、DDRの内部クロックの2倍の速度のクロックが、より高速な外部クロックの連続する立ち上がりエッジと立ち下がりエッジで各ワードを送信しながら、連続する4つのデータワードが読み出され、バッファに格納されます[ 14 ]。

プリフェッチバッファの深さは、コアメモリ周波数とIO周波数の比率と考えることもできます。8nプリフェッチアーキテクチャ(DDR3など)では、IOはメモリコアの8倍の速度で動作します(メモリアクセスごとにIO上で8データワードのバーストが発生します)。つまり、200MHzのメモリコアは、それぞれ8倍の速度(1600メガビット/秒)で動作するIOと組み合わされます。メモリに16個のIOがある場合、合計読み取り帯域幅は200MHz x 8データワード/アクセス x 16 IO = 25.6ギガビット/秒(Gbit/秒)、または3.2ギガバイト/秒(GB/秒)になります。複数のDRAMチップを搭載したモジュールは、それに応じてより高い帯域幅を提供できます。

SDRAM の各世代には異なるプリフェッチ バッファ サイズがあります。

  • DDR SDRAMのプリフェッチバッファサイズは2n(メモリアクセスごとに2つのデータワード)です。
  • DDR2 SDRAMのプリフェッチバッファサイズは4n(メモリアクセスあたり4つのデータワード)です。
  • DDR3 SDRAMのプリフェッチバッファサイズは8n(メモリアクセスあたり8データワード)です。
  • DDR4 SDRAMのプリフェッチバッファサイズは8n(メモリアクセスあたり8データワード)です。
  • DDR5 SDRAMのプリフェッチバッファサイズは8nです。16nの追加モードがあります。

世代

SDRAM機能マップ
タイプ 機能の変更
SDRAM
DDR1
DDR2アクセスは4ワード以上「バースト終了」は削除4ユニットを並列使用 1.25 − 5 ns /サイクル内部動作は クロックレートの半分で行われる。信号:SSTL_18 (1.8 V) [ 15 ]
DDR3アクセスは8ワード以上信号: SSTL_15 (1.5 V) [ 15 ] CASレイテンシがはるかに長い
DDR4V cc ≤ 1.2 Vポイントツーポイント(チャネルあたり1つのモジュール)

SDR

Sound Blaster X-Fi Fatality Proサウンドカードの64MB [ 8 ]のサウンドメモリは、2つのMicron 48LC32M8A2 SDRAMチップで構成されています。これらのチップは133MHz(クロック周期7.5ns)で動作し、8ビット幅のデータバスを備えています。[ 16 ]

元々は単にSDRAMと呼ばれていたシングルデータレートSDRAMは、1クロックサイクルごとに1つのコマンドを受け入れ、1ワードのデータを転送できます。チップは様々なデータバスサイズ(最も一般的なのは4ビット、8ビット、または16ビット)で製造されていますが、一般的には168ピンDIMMに組み立てられ、一度に64ビット(ECCなし)または72ビット ( ECC )の読み書きを行います。

データバスの使用は複雑であるため、複雑なDRAMコントローラ回路が必要になります。これは、DRAMに書き込まれるデータは書き込みコマンドと同じサイクルで提示される必要があるのに対し、読み出しは読み出しコマンドの2~3サイクル後に出力が生成されるためです。DRAMコントローラは、読み出しと書き込みが同時にデータバスを必要とすることがないようにする必要があります。

一般的なSDR SDRAMのクロックレートは66、100、133MHz(周期15、10、7.5ns)で、それぞれPC66、PC100、PC133と表記されます。最大200MHzのクロックレートも利用可能でした。動作電圧は3.3Vです。

このタイプのSDRAMは、1クロックサイクルあたり1ワードのデータしか転送されないため(シングルデータレート)、DDRタイプよりも低速です。しかし、1ワードのデータ転送に通常2~3クロックかかっていた、先行する拡張データ出力DRAM(EDO-RAM)や高速ページモードDRAM(FPM-RAM)よりも高速です。

PC66

PC66は、 JEDECによって定義された内部リムーバブルコンピュータメモリ規格を指します。PC66は、64ビットバス、3.3Vの電圧、66.66MHzのクロック周波数で動作する同期DRAMです。PC66は、168ピンDIMMと144ピンSO-DIMMのフォームファクタで提供されます。理論上の帯域幅は533MB/秒です(1MB/秒 = 100万バイト/秒)。

この規格は、Intel PentiumおよびAMD K6ベースのPCで使用されていました。また、Beige Power Mac G3、初期のiBookPowerBook G3にも搭載されています。また、 66MHz FSBを搭載した初期のIntel Celeronシステムの多くでも使用されています。PC100およびPC133規格に置き換えられました。

PC100

DIMM: 168ピン、2ノッチ

PC100 は、 JEDECによって定義された、コンピュータ内部の取り外し可能なランダム アクセス メモリの規格です。PC100 は、64 ビット幅のバス、3.3 V の電圧、100 MHz のクロック周波数で動作する同期 DRAM を指します。PC100 は、168 ピンDIMMおよび 144 ピンSO-DIMMフォーム ファクタで使用できます。PC100 はPC66 と下位互換性があり、PC133 規格に置き換えられました。

100MHz SDRAMチップで構築されたモジュールは、必ずしも100MHzで動作できるとは限りません。PC100規格は、メモリモジュール全体の性能を規定しています。PC100は多くの古いコンピュータで使用されており、1990年代後半のPCはPC100メモリを搭載した最も一般的なコンピュータでした。

PC133

PC133は、 JEDECによって定義されたコンピュータメモリ規格です。PC133は、64ビット幅のバス、3.3Vの電圧、133MHzのクロック周波数で動作するSDR SDRAMを指します。PC133は、168ピンDIMMと144ピンSO-DIMMのフォームファクタで利用できます。PC133は、JEDECによって承認された最速かつ最終的なSDR SDRAM規格であり、1.066GB/秒([133.33MHz * 64/8]=1.066GB/秒)の帯域幅を実現します。(1GB/秒 = 10億バイト/秒)PC133は、PC100およびPC66と 下位互換性があります。

DDR

DRAMのアクセスレイテンシは基本的にDRAMアレイによって制限されますが、DRAMは内部読み出しが実際には数千ビットの列であるため、非常に高い帯域幅を秘めています。この帯域幅をより広くユーザーに提供するために、ダブルデータレートインターフェースが開発されました。このインターフェースは、同じコマンドを1サイクルごとに1回受け取りますが、クロックサイクルごとに2ワードのデータの読み出しまたは書き込みを行います。DDRインターフェースは、クロック信号の立ち上がりエッジと立ち下がりエッジの両方でデータの読み出しと書き込みを行うことでこれを実現します。さらに、SDRインターフェースのタイミングにも後から若干の変更が加えられ、電源電圧が3.3Vから2.5Vに引き下げられました。その結果、DDR SDRAMはSDR SDRAMとの下位互換性がありません。

DDR SDRAM (より明確にするためにDDR1と呼ばれることもあります) は、最小の読み取りまたは書き込み単位を 2 倍にします。すべてのアクセスは、少なくとも 2 つの連続したワードを参照します。

DDR SDRAMの標準的なクロックレートは133、166、200MHz(7.5、6、5ns/サイクル)で、一般的にはDDR-266、DDR-333、DDR-400(3.75、3、2.5ns/ビート)と呼ばれます。対応する184ピンDIMMは、PC-2100、PC-2700、PC-3200と呼ばれています。DDR-550(PC-4400)までのパフォーマンスが利用可能です。

DDR2

DDR2 SDRAMはDDR SDRAMと非常によく似ていますが、最小の読み出し/書き込み単位がさらに倍の4ワード(連続)に拡張されています。バスプロトコルも簡素化され、より高性能な動作が可能になりました(特に、「バーストターミネート」コマンドが削除されています)。これにより、内部RAM動作のクロックレートを上げることなく、SDRAMのバスレートを2倍に高めることができます。代わりに、内部動作はSDRAMの4倍の幅で実行されます。また、バンクアドレスピン(BA2)が追加され、大容量RAMチップで8バンクに対応できるようになりました。

DDR2 SDRAMの一般的なクロックレートは200、266、333、または400 MHz(周期は5、3.75、3、2.5 ns)で、一般的にDDR2-400、DDR2-533、DDR2-667、DDR2-800(周期は2.5、1.875、1.5、1.25 ns)と呼ばれます。対応する240ピンDIMMは、PC2-3200からPC2-6400と呼ばれます。現在、DDR2 SDRAMはクロックレート533 MHzで提供されており、一般的にDDR2-1066と呼ばれています。対応するDIMMはPC2-8500(メーカーによってはPC2-8600とも呼ばれます)と呼ばれます。DDR2-1250(PC2-10000)までのパフォーマンスが利用可能です。

内部動作はクロック レートの半分で行われるため、DDR2-400 メモリ (内部クロック レート 100 MHz) のレイテンシは DDR-400 (内部クロック レート 200 MHz) よりも若干高くなることに注意してください。

DDR3

DDR3もこの傾向を引き継ぎ、最小の読み出しまたは書き込み単位を8ワードに倍増しました。これにより、内部動作のクロックレートを変更することなく、データ幅のみを変更するだけで、帯域幅と外部バスレートをさらに2倍にすることができます。800~1600MB/秒(400~800MHzクロックの両端)の転送速度を維持するには、内部RAMアレイは1秒あたり100~200MBのフェッチを実行する必要があります。

繰り返しになりますが、倍増するごとにレイテンシが増加するという欠点があります。すべてのDDR SDRAM世代と同様に、コマンドは1つのクロックエッジに制限されており、コマンドレイテンシはクロックサイクル単位で表されます。これは、通常引用される転送速度の半分の速度です( DDR3-800のCASレイテンシ8は8/(400MHz) = 20nsで、PC100 SDR SDRAMのCAS2と全く同じレイテンシです)。

DDR3メモリチップは2006年から商業的に作られるようになり、[ 17 ]それを使用したコンピュータシステムは2007年後半から利用可能になり、[ 18 ] 2008年以降は大幅に普及しました。[ 19 ]初期のクロックレートは400 MHzと533 MHzで、それぞれDDR3-800とDDR3-1066(PC3-6400とPC3-8500モジュール)と呼ばれていましたが、現在では667 MHzと800 MHzで、それぞれDDR3-1333とDDR3-1600(PC3-10600とPC3-12800モジュール)と呼ばれています。[ 20 ] DDR3-2800(PC3 22400モジュール)までの性能が利用可能です。[ 21 ]

DDR3 SDRAMは2025年の初めにはまだ生産されていましたが、メーカーが年末までに生産を停止する予定であるという報告がありました。[ 22 ]

DDR4

DDR4 SDRAMはDDR3 SDRAMの後継です。 2008年にサンフランシスコで開催されたIntel Developer Forumで発表され、2011年に市場投入される予定でした。開発中に時期が大きく変動し、当初は2012年に発売される予定でしたが[ 23 ]、その後(2010年中)、2015年に発売されると予想されました[ 24 ]。その後、2011年初頭にサンプルが発表され、メーカーは2012年に商用生産と市場投入を予定していると発表し始めました。DDR4が一般市場で普及したのは2015年頃で、これはDDR3がDDR2から一般市場への移行を達成するのに要した約5年と匹敵します。

DDR4チップは1.2V 以下で動作し[ 25 ] [ 26 ]、DDR3チップの1.5Vと比較して20億回以上のデータ転送能力を備えています。2013年までに2133MHzの周波数で導入される予定でしたが、最終的には4266MHzまで上昇すると推定されています[ 27 ]。また、電圧は1.05Vまで下げられます[ 28 ]

DDR4では内部プリフェッチ幅が再び2倍になることはなかったが、DDR3と同じ8nプリフェッチを使用している [ 29 ]そのため、データバスをビジー状態に保つために、複数のバンクからの読み取りをインターリーブする必要がある。

2009年2月、サムスンは40nm DRAMチップの検証を完了しました。これはDDR4開発に向けた「重要な一歩」とみなされていました[ 30 ]。2009年当時、既存のDRAMチップは50nmプロセスへの移行が始まったばかりだったためです[ 31 ] 。 2011年1月、サムスンは30nm 2048MB [ 8 ] DDR4 DRAMモジュールのテストを完了し、リリースすることを発表しました。このモジュールは、1.2Vで最大2.13Gbit  /sの帯域幅を持ち、擬似オープンドレイン技術を採用し、同等のDDR3モジュールと比較して消費電力を40%削減しています[ 32 ] 。 [ 33 ]

DDR5

2017年3月、JEDECはDDR5規格の開発中であると発表したが[ 34 ]、DDR4の帯域幅を2倍にし、消費電力を削減し、2018年に規格を公開するという目標以外詳細は明らかにしなかった。この規格は2020年7月14日にリリースされた[ 35 ]。

DDR6

これは DDR SDRAM の将来のシリーズであり、2027 年をターゲットとしています。4 つのメモリ チャネルで 8,800 ~ 17,600 MT/s の速度と、最大 134.4 GB/s の帯域幅を実現します。

失敗した後継者

DDR に加えて、SDR SDRAM の後継となるメモリ テクノロジがいくつか提案されました。

ラムバスDRAM(RDRAM)

RDRAMはDDRと競合する独自技術でした。比較的高価で、パフォーマンスも期待外れでした(レイテンシが高く、DDRの64ビットチャネルに対して16ビットという狭いデータチャネル幅が原因)。そのため、RDRAMはSDR SDRAMの後継を争う競争に敗れました。

SLDRAMはRDRAMよりも高性能を誇り、競合関係にあった。1990年代後半にSLDRAMコンソーシアムによって開発された。SLDRAMコンソーシアムは、約20社の大手DRAMメーカーとコンピュータメーカーで構成されていた(SLDRAMコンソーシアムは後にSLDRAM Inc.として法人化され、その後Advanced Memory International, Inc.に社名を変更した)。SLDRAMはオープンスタンダードであり、ライセンス料は不要だった。仕様では、200、300、または400MHzのクロック周波数で動作する64ビットバスが求められていた。これは、すべての信号が同じライン上にあることで、複数ラインの同期時間を回避することで実現されている。DDR SDRAMと同様に、SLDRAMはダブルポンプバスを採用しており、実効速度は400、[ 36 ] 600、[ 37 ] 800MT  /sである(1MT/s = 1秒あたり1000の転送)。

SLDRAMは11ビットのコマンドバス(10個のコマンドビットCA9:0と1本のコマンド開始FLAG線)を用いて、差動コマンドクロック(CCLK/CCLK#)の連続する4つのエッジで40ビットのコマンドパケットを送信した。SDRAMとは異なり、チップごとの選択信号は存在せず、各チップにはリセット時にIDが割り当てられ、コマンドにはそれを処理するチップのIDが含まれていた。データは、2つの差動データクロック(DCLK0/DCLK0#とDCLK1/DCLK1#)のいずれかを使用して、18ビット(チップあたり)のデータバスを介して4ワードまたは8ワードのバーストで転送された。標準的なSDRAMとは異なり、クロックはデータソース(読み取り動作の場合はSLDRAMチップ)によって生成され、データと同じ方向に送信されるため、データスキューが大幅に低減された。DCLKソースの変更に伴う一時停止を回避するため、各コマンドは使用するDCLKペアを指定していた。[ 38 ]

基本的な読み取り/書き込みコマンドは、次のとおりです (最初のワードの CA9 から始まる):

SLDRAM 読み取り、書き込み、または行操作要求パケット
フラグCA9CA8CA7CA6CA5CA4CA3CA2CA1CA0
1 デバイスID 8:0コー...
0 ...コマンドコード5:0銀行口座番号 2:0ロ...
0 ...w 住所 11:00
0 0 0 0列アドレス 6:0
  • 9ビットのデバイスID
  • 6ビットのコマンドコード
  • 銀行アドレスの3ビット
  • 10ビットまたは11ビットの行アドレス
  • 行または列の拡張用に5ビットまたは4ビットの余裕あり
  • 7ビットの列アドレス

個々のデバイスは8ビットのIDを持っていました。コマンドで送信されるIDの9番目のビットは、複数のデバイスのアドレス指定に使用されました。2のべき乗のサイズを持つ任意のグループのアドレス指定が可能でした。送信されたmsbitが設定されている場合、「これは自分宛てなのか?」を判断するために、送信されたアドレスの最下位ビット(最下位0ビットを含む)までのすべてのビットは無視されました。(ID8ビットが実際にはID0ビットよりも下位とみなされる場合、ユニキャストアドレスのマッチングはこのパターンの特別なケースになります。)

読み取り/書き込みコマンドでは msbit がクリアされました。

  • コマンド5=0
  • CMD4=1 で指定した行を開く(アクティブにする); CMD4=0 で現在開いている行を使用する
  • CMD3=1 で 8 ワードバーストを転送します。CMD3=0 で 4 ワードバーストを転送します。
  • 書き込みの場合はCMD2=1、読み取りの場合はCMD2=0
  • CMD1=1 でこのアクセス後に行を閉じます。CMD1=0 で開いたままにします。
  • CMD0は使用するDCLKペア(DCLK1またはDCLK0)を選択します。

仕様から大きく抜け落ちているのは、バイト単位の書き込み許可です。これは、常にキャッシュ ラインの倍数で書き込みを行う、 キャッシュECC メモリを備えたシステム向けに設計されました。

追加コマンド(CMD5 がセットされている)は、データ転送なしで行を開閉したり、リフレッシュ操作を実行したり、構成レジスタの読み取りまたは書き込みを行ったり、その他のメンテナンス操作を実行したりしました。これらのコマンドのほとんどは、追加の 4 ビット サブ ID(プライマリ ID と同じ複数宛先エンコーディングを使用して 5 ビットで送信)をサポートしていました。このサブ ID は、並列接続され、常に同時に読み取り/書き込みが行われるため、同じプライマリ ID が割り当てられたデバイスを区別するために使用されました。

さまざまなデバイスのタイミング パラメータを制御するために、8 ビットの制御レジスタと 32 ビットのステータス レジスタが多数ありました。

仮想チャネルメモリ(VCM)SDRAM

VCMはNECが設計した独自のSDRAMでしたが、ライセンス料なしでオープンスタンダードとしてリリースされました。標準SDRAMとピン互換性がありますが、コマンドが異なります。VCMはRDRAMほど高価ではなかったため、この技術はRDRAMの潜在的な競合相手でした。仮想チャネルメモリ(VCM)モジュールは標準SDRAMと機械的および電気的に互換性があるため、両方のサポートはメモリコントローラの機能のみに依存します。1990年代後半には、多くのPCノースブリッジチップセット(人気のVIA KX133やKT133など)にVCSDRAMのサポートが含まれていました。

VCMは、DRAMバンクのセンスアンプ行とデータI/Oピンの間に、16個の「チャネル」バッファ(各チャネルは1/4行分の「セグメント」サイズ)からなるSRAMキャッシュを挿入します。VCSDRAM固有の「プリフェッチ」および「リストア」コマンドは、DRAMのセンスアンプ行とチャネルバッファ間でデータをコピーし、SDRAMの読み取りおよび書き込みコマンドに相当するコマンドは、アクセスするチャネル番号を指定します。したがって、読み取りおよび書き込みは、DRAMアレイの現在のアクティブ状態とは独立して実行でき、一度に4つのDRAM行がアクセス用に「オープン」になっているのと同等です。これは、標準的な2バンクSDRAMで可能な2つのオープン行よりも優れています。(実際には、一部の操作で使用される17番目の「ダミーチャネル」があります。)

VCSDRAMから読み出すには、アクティブコマンドの後に「プリフェッチ」コマンドを実行して、センスアンプアレイからチャネルSDRAMにデータをコピーする必要があります。このコマンドは、バンク、2ビットの列アドレス(行のセグメントを選択するため)、および4ビットのチャネル番号を指定します。このコマンドが実行されると、チャネルバッファへの読み取りコマンドが継続している間、DRAMアレイはプリチャージされます。書き込みを行うには、まずデータがチャネルバッファ(通常はプリフェッチコマンドを使用して事前に初期化されている)に書き込まれ、次にプリフェッチコマンドと同じパラメータを持つリストアコマンドを実行して、チャネルからセンスアンプアレイにデータセグメントをコピーします。

通常のSDRAM書き込みはアクティブ(オープン)な行に対して行う必要があるのに対し、VCSDRAMバンクはリストアコマンド発行時にプリチャージ(クローズ)されている必要があります。リストアコマンドの直後にアクティブコマンドを発行してDRAM行を指定すると、DRAMアレイへの書き込みが完了します。さらに、現在オープンな行への書き込みを可能にする17番目の「ダミーチャネル」があります。このチャネルからの読み出しはできませんが、センスアンプアレイへのプリフェッチ、書き込み、およびリストアは可能です。[ 39 ] [ 40 ]

通常、セグメントはプリフェッチ元と同じメモリアドレスに復元されますが、チャネルバッファは、大規模で整列したメモリブロックを非常に効率的にコピーまたはクリアするためにも使用できます。(クォーターロウセグメントの使用は、DRAMセルがSRAMセルよりも狭いという事実に基づいています。)SRAMビットは4DRAMビット幅になるように設計されており、4つのDRAMビットのいずれかに都合よく接続されます。追加コマンドは、セグメントのペアを2つのチャネルにプリフェッチします。オプションのコマンドは、プリフェッチ、読み取り、およびプリチャージを組み合わせて、ランダム読み取りのオーバーヘッドを削減します。

上記はJEDEC標準化コマンドです。以前のチップはダミーチャネルやペアプリフェッチをサポートしておらず、プリチャージには異なるエンコーディングを使用していました。

ここに示す13ビットのアドレスバスは、最大128Mビットのデバイスに適しています[ 8 ]。このバスは2つのバンクを持ち、それぞれに8,192行と8,192列が含まれます。したがって、行アドレスは13ビット、セグメントアドレスは2ビット、そしてセグメント内の2,048ビット(256バイト)から1バイトを選択するには8ビットの列アドレスが必要です。

同期グラフィックス RAM (SGRAM)

同期グラフィックスRAM(SGRAM)は、グラフィックスアダプタ向けの特殊なSDRAMです。ビデオカードに搭載されているテクスチャメモリフレームバッファなどのグラフィックス関連タスク向けに設計されています。ビットマスク(他のビットプレーンに影響を与えずに特定のビットプレーンに書き込む)やブロック書き込み(メモリブロックを単色で塗りつぶす)などの機能が追加されています。VRAMやWRAMとは異なり、SGRAMはシングルポートです。ただし、一度に2つのメモリページを開くことができるため、他のビデオRAMテクノロジのデュアルポート機能をシミュレートできます。

最も古いSGRAMメモリは1994年に登場した8M ビット[ 8 ]のチップで、日立HM5283206(1994年11月発売)[ 41 ]NEC μPD481850(1994年12月発売)[ 42 ]である。SGRAMを搭載した最も古い商用デバイスはソニープレイステーション(PS)ビデオゲームコンソールで、1995年12月に発売された日本製SCPH-5000モデルにNEC μPD481850チップが搭載された。[ 43 ] [ 44 ]

バイト単位でアクセスできるSDRAMと比較して、SGRAMはブロック単位でアクセスできる。[ 45 ]

グラフィックス ダブル データ レート SDRAM (GDDR SDRAM)

グラフィックス・ダブルデータレートSDRAM(GDDR SDRAM )は、グラフィックス・プロセッシング・ユニット(GPU)のメインメモリとして使用するために設計された特殊なDDR SDRAMの一種です。GDDR SDRAMは、DDR3などの汎用DDR SDRAMとは異なりますが、一部のコア技術は共通しています。主な特徴は、DRAMコアとI/Oインターフェースの両方でクロック周波数が高く、GPUのメモリ帯域幅が広いことです。2025年現在、GDDRにはGDDR2GDDR3GDDR4GDDR5GDDR5XGDDR6GDDR6XGDDR6WGDDR7の9世代が存在します。

GDDRは当初DDR SGRAMとして知られていました。1998年にサムスン電子によって16Mビット[ 8 ]のメモリチップとして商業的に導入されました[ 10 ]。 

高帯域幅メモリ(HBM)

高帯域幅メモリ(HBM)は、 SamsungAMDSK Hynixの3D積層SDRAM用の高性能RAMインターフェースです。高性能グラフィックアクセラレータやネットワークデバイスと組み合わせて使用​​するように設計されています。[ 46 ]最初のHBMメモリチップは、2013年にSK Hynixによって製造されました。 [ 47 ]

タイムライン

SDRAM

同期ダイナミックランダムアクセスメモリ(SDRAM)
導入日​ チップ名 容量(ビット[ 8 ]SDRAMタイプ メーカー​ プロセス​MOSFET​面積(mm 2参照
1992 KM48SL2000 16メガビットSDRサムスン?CMOS?[ 6 ] [ 5 ]
1996 MSM5718C50 18メガビット RDRAM?CMOS 325 [ 48 ]
N64 RDRAM36メガビット RDRAM NEC?CMOS ?[ 49 ]
?1024 メガビット SDR 三菱150 nmCMOS ?[ 50 ]
1997 ?1024 メガビット SDR ヒュンダイ?ソイ?[ 12 ]
1998 MD5764802 64メガビット RDRAM ?CMOS 325 [ 48 ]
1998年3月ダイレクトRDRAM 72メガビット RDRAM ラムバス?CMOS ?[ 51 ]
1998年6月?64メガビット DDRサムスン ?CMOS ?[ 10 ] [ 9 ] [ 11 ]
1998 ?64メガビット DDR ヒュンダイ ?CMOS ?[ 12 ]
128メガビット SDR サムスン ?CMOS ?[ 52 ] [ 9 ]
1999 ?128メガビット DDR サムスン ?CMOS ?[ 9 ]
1024 メガビット DDR サムスン 140 nmCMOS ?[ 50 ]
2000 GS eDRAM32メガビット eDRAMソニー東芝180 nmCMOS 279 [ 53 ]
2001 ?288 メガビット RDRAM ハイニックス ?CMOS ?[ 54 ]
?DDR2サムスン 100 nmCMOS ?[ 11 ] [ 50 ]
2002 ?256メガビット SDR ハイニックス ?CMOS ?[ 54 ]
2003 EE+GS eDRAM32メガビット eDRAM ソニー、東芝 90 nmCMOS 86 [ 53 ]
?72メガビット DDR3サムスン 90 nm CMOS ?[ 55 ]
512 メガビット DDR2 ハイニックス ?CMOS ?[ 54 ]
エルピーダ110 nmCMOS ?[ 56 ]
1024 メガビット DDR2 ハイニックス ?CMOS ?[ 54 ]
2004 ?2048メガビット DDR2 サムスン 80 nm CMOS ?[ 57 ]
2005 EE+GS eDRAM32メガビット eDRAM ソニー、東芝 65 nmCMOS 86 [ 58 ]
Xenos eDRAM80メガビット eDRAM NEC 90 nm CMOS ?[ 59 ]
?512 メガビット DDR3 サムスン 80 nm CMOS ?[ 11 ] [ 60 ]
2006 ?1024 メガビット DDR2 ハイニックス 60 nm CMOS ?[ 54 ]
2008 ??LPDDR2ハイニックス ?
2008年4月?8192 メガビット DDR3 サムスン 50 nm CMOS ?[ 61 ]
2008 ?16384 メガビット DDR3 サムスン 50 nm CMOS ?
2009 ??DDR3 ハイニックス 44 nmCMOS ?[ 54 ]
2048メガビット DDR3 ハイニックス 40 nm
2011 ?16384 メガビット DDR3 ハイニックス 40 nm CMOS ?[ 47 ]
2048メガビット DDR4ハイニックス 30 nmCMOS ?[ 47 ]
2013 ??LPDDR4サムスン 20 nmCMOS ?[ 47 ]
2014 ?8192 メガビット LPDDR4 サムスン 20 nm CMOS ?[ 62 ]
2015 ?12ギガビット LPDDR4 サムスン 20 nm CMOS ?[ 52 ]
2018 ?8192 メガビット LPDDR5サムスン 10 nmフィンFET?[ 63 ]
128ギガビット DDR4 サムスン 10 nm フィンFET ?[ 64 ]

SGRAM

同期グラフィックスランダムアクセスメモリ(SGRAM)
導入日 チップ名 容量(ビット[ 8 ]SDRAMタイプ メーカー プロセスMOSFETエリア 参照
1994年11月HM5283206 8メガビット SGRAM ( SDR ) 日立350 nmCMOS58 mm 2[ 41 ] [ 65 ]
1994年12月μPD481850 8メガビット SGRAM(SDR) NEC?CMOS 280 mm 2[ 42 ] [ 44 ]
1997 μPD4811650 16メガビット SGRAM(SDR) NEC 350 nm CMOS 280 mm 2[ 66 ] [ 67 ]
1998年9月?16メガビット SGRAM ( GDDR ) サムスン?CMOS ?[ 10 ]
1999 KM4132G112 32メガビット SGRAM(SDR) サムスン ?CMOS 280 mm 2[ 68 ]
2002 ?128メガビット SGRAM ( GDDR2 ) サムスン ?CMOS ?[ 69 ]
2003 ?256メガビット SGRAM(GDDR2) サムスン ?CMOS ?[ 69 ]
SGRAM ( GDDR3 )
2005年3月K4D553238F 256メガビット SGRAM(GDDR) サムスン ?CMOS 77 mm 2[ 70 ]
2005年10月?256メガビット SGRAM ( GDDR4 ) サムスン ?CMOS ?[ 71 ]
2005 ?512 メガビット SGRAM(GDDR4) ハイニックス?CMOS ?[ 54 ]
2007 ?1024 メガビット SGRAM ( GDDR5 ) ハイニックス 60 nm
2009 ?2048メガビット SGRAM(GDDR5) ハイニックス 40 nm
2010 K4W1G1646G 1024 メガビット SGRAM(GDDR3) サムスン ?CMOS 100 mm 2[ 72 ]
2012 ?4096メガビット SGRAM(GDDR3) SKハイニックス?CMOS ?[ 47 ]
2016年3月MT58K256M32JA 8ギガビット SGRAM ( GDDR5X ) ミクロン20 nm CMOS 140 mm 2[ 73 ]
2018年1月K4ZAF325BM 16ギガビット SGRAM ( GDDR6 ) サムスン 10 nmフィンFET225 mm 2[ 74 ] [ 75 ] [ 76 ]

HBM

高帯域幅メモリ(HBM)
導入日 チップ名 容量(ビット[ 8 ]SDRAMタイプ メーカー プロセスMOSFETエリア 参照
2013 ??HBMSKハイニックス?CMOS ?[ 47 ]
2016年6月?32ギガビット HBM2サムスン 20 nmCMOS ?[ 77 ] [ 78 ]
2017 ?64ギガビット HBM2 サムスン 20 nm CMOS ?[ 77 ]

参照

参考文献

  1. ^ P. Darche (2020).マイクロプロセッサ:プロレゴメネス - 計算と記憶機能 - 計算モデルとコンピュータ. John Wiley & Sons. p. 59. ISBN 9781786305633
  2. ^ B. Jacob; SW Ng; DT Wang (2008).メモリシステム:キャッシュ、DRAM、ディスク. Morgan Kaufmann. p. 324. ISBN 9780080553849
  3. ^ Jacob, B.; Ng, SW; Wang, DT (2008).メモリシステム:キャッシュ、DRAM、ディスク. Morgan Kaufmann. p. 333. ISBN 9780080553849
  4. ^カルター、HL;スタッパー、CH;バース、JE;ディロレンゾ、J.ドレーク、CE。フィフィールド、JA;ジョージア州ケリー。サウスカロライナ州ルイス。ファン・デル・ホーフェン、WB。ジャンコスキー、JA (1990)。 「10nsのデータレートとオンチップECCを備えた50nsの16Mb DRAM」。IEEE ソリッドステート回路ジャーナル25 (5): 1118。書誌コード: 1990IJSSC..25.1118K土井: 10.1109/4.62132
  5. ^ a b c "Electronic Design" . Electronic Design . 41 ( 15– 21). Hayden Publishing Company. 1993.最初の商用同期DRAMであるSamsung 16MビットKM48SL2000は、システム設計者が非同期システムから同期システムに容易に移行できるシングルバンクアーキテクチャを採用しています。
  6. ^ a b「KM48SL2000-7 データシート」 . Samsung . 1992年8月. 2019年6月19日閲覧
  7. ^ 「Samsung 30 nm Green PC3-12800 Low Profile 1.35 V DDR3 レビュー」 TechPowerUp 2012年3月8日. 2019年6月25日閲覧
  8. ^ a b c d e f g h i j kここで、KMG、またはTは、1024 の累乗に基づく2 進プレフィックスを表します。
  9. ^ a b c d「Samsung Electronics、DDR/SDR製造オプションを備えた初の128Mb SDRAMを開発」 Samsung ElectronicsSamsung、1999年2月10日。 2019年6月23日閲覧
  10. ^ a b c d「Samsung Electronics Comes Out with Super-Fast 16M DDR SGRAMs」 Samsung Electronics Samsung 19989月17日. 2019年6月23日閲覧
  11. ^ a b c d「Samsung、世界初のDDR3メモリプロトタイプを発表」 Phys.org 2005年2月17日。 2019年6月23日閲覧
  12. ^ a b c「歴史:1990年代」。az5miao 。 2022年4月4閲覧
  13. ^ 「Nanya 256 Mb DDR SDRAM データシート」(PDF) .インテル。 2003 年 4 月2015 年 8 月 2 日に取得
  14. ^ Micron、一般的なDDR SDRAM機能、テクニカルノート、TN-46-05
  15. ^ a b c Graham, Allan (2007-01-12). 「民生用電子機器におけるDRAMの展望」 EDN . AspenCore Media . 2021年4月13日閲覧
  16. ^ 「SDRAM部品カタログ」070928 ミクロン.com
  17. ^ 「DDRメモリとは何か?」 2006年9月26日。2012年3月21日時点のオリジナルよりアーカイブ。
  18. ^ Thomas Soderstrom (2007年6月5日). 「Pipe Dreams: 6種類のP35-DDR3マザーボードを比較」 . Tom's Hardware .
  19. ^ 「AMD、3年以内にDDR3を採用へ」 2005年11月28日。
  20. ^ Wesly Fink (2007年7月20日). 「Super Talent & TEAM: DDR3-1600 Is Here!」 Anandtech. 2012年7月19日時点のオリジナルよりアーカイブ。
  21. ^ジェニファー・ジョンソン (2012年4月24日). 「G.SKILL、Ivy Bridge向けDDR3メモリキットを発表
  22. ^ 「DRAMメーカー、2025年後半までにDDR3、DDR4の生産を停止する予定と報じられる」 DIGITIMES 2025年2月18日2026年1月10日閲覧
  23. ^ DDR4 PDF 23ページ
  24. ^ 「DDR4は2015年まで期待されていない」 semiaccurate.com 2010年8月16日。
  25. ^ 「IDF:「DDR3は2009年中にDDR2に追いつくことはないだろう」アルファー。 」
  26. ^ "heise online – IT-News、Nachrichten und Hintergründe" .ハイセオンライン
  27. ^ 「次世代DDR4メモリ、4.266GHzに到達へ – レポート」 Xbitlabs.com、2010年8月16日。 2010年12月19日時点のオリジナルよりアーカイブ。 2011年1月3日閲覧
  28. ^ 「IDF: DDR4メモリは2012年を目標に」(ドイツ語)hardware-infos.com。2009年7月13日時点のオリジナルよりアーカイブ。 2009年6月16日閲覧
  29. ^ 「JEDEC、次期DDR4規格の主要特性を発表」(プレスリリース)JEDEC 2011年8月22日2011年1月6日閲覧
  30. ^ Gruener, Wolfgang (2009年2月4日). 「Samsung、初の検証済み40 nm DRAMでDDR4を示唆」 . tgdaily.com. 2009年5月24日時点のオリジナルよりアーカイブ。 2009年6月16日閲覧
  31. ^ Jansen, Ng (2009年1月20日). 「DDR3は2009年にさらに安く、さらに高速になる」 dailytech.com. 2009年6月22日時点のオリジナルよりアーカイブ。 2009年6月17日閲覧
  32. ^ 「Samsung、30nmクラスの技術を採用した業界初のDDR4 DRAMを開発」 Samsung、2011年1月4日。 2011年3月13日閲覧
  33. ^ 「Samsung、最大40%効率向上のDDR4メモリを開発」 TechSpot 2011年1月4日。
  34. ^ 「JEDEC DDR5およびNVDIMM-P規格開発中」(プレスリリース)。JEDEC 2017年3月30日。
  35. ^ Smith, Ryan (2020年7月14日). 「DDR5メモリ仕様がリリース:DDR5-6400以降への道筋を設定」 . AnandTech . 2020年7月14日時点のオリジナルよりアーカイブ。 2020年7月15日閲覧
  36. ^ Dean Kent (1998-10-24), RAM Guide: SLDRAM , Tom's Hardware , 2011-01-01取得
  37. ^ Hyundai Electronics (1997-12-20), HYSL8M18D600A 600 Mb/s/pin 8M x 18 SLDRAM (PDF) (データシート), 2012-04-26にオリジナル(PDF)からアーカイブ, 2011-12-27に取得
  38. ^ SLDRAM Inc. (1998-07-09), SLD4M18DR400 400 Mb/s/pin 4M x 18 SLDRAM (PDF) (データシート), pp.  32– 33, 2012-04-26にオリジナル(PDF)からアーカイブ, 2011-12-27に取得
  39. ^ Siemens Semiconductor Group、HYB39V64x0yT 64MBit Virtual Channel SDRAM (PDF)2018年11月12日のオリジナルからのアーカイブ(PDF)
  40. ^ NEC (1999)、128M-BIT VirtualChannel SDRAM 予備データシート(PDF)2013年12月3日のオリジナルからアーカイブ(PDF) 、 2012年7月17日取得
  41. ^ a b HM5283206 データシート.日立. 1994年11月11日. 2019年7月10日閲覧.
  42. ^ a b μPD481850 データシートNEC。 1994 年 12 月 6 日2019 年7 月 10 日に取得
  43. ^ "PU-18" . PSXDEV . 2019年7月10日閲覧
  44. ^ a b NEC アプリケーション固有メモリ. NEC . 1995年秋 . p.  359 . 2019年6月21日閲覧
  45. ^ 「最高性能、最高帯域幅のGDDR6」(PDF) 。2025年6月3日時点のオリジナル(PDF)からのアーカイブ
  46. ^ ISSCC 2014 トレンドアーカイブ2015-02-06 at the Wayback Machine 118ページ「高帯域幅DRAM」
  47. ^ a b c d e f「歴史:2010年代」。az5miao 2022年4月4日閲覧
  48. ^ a b "MSM5718C50/MD5764802" (PDF) . Oki Semiconductor . 1999年2月. 2019年6月21日時点のオリジナルよりアーカイブ(PDF) . 2019年6月21日閲覧
  49. ^「Ultra 64 技術仕様」. Next Generation . No. 14. Imagine Media . 1996年2月. p. 40.
  50. ^ a b c「メモリ」 . STOL (Semiconductor Technology Online) . 2019年6月25日閲覧
  51. ^ 「Direct RDRAM」(PDF) . Rambus . 1998年3月12日. 2019年6月21日時点のオリジナルよりアーカイブ(PDF) . 2019年6月21日閲覧
  52. ^ a b「History」 . Samsung Electronics . Samsung . 2019年6月19日閲覧
  53. ^ a b「PlayStationの中核を成すエモーションエンジンとグラフィックスシンセサイザーが1チップに」(PDF)ソニー。2003年4月21日。 2017年2月27日時点のオリジナルよりアーカイブ(PDF) 。 2019年6月26日閲覧
  54. ^ a b c d e f g「歴史:2000年代」。az5miao 2022年4月4日閲覧
  55. ^ 「Samsung、高性能EDPおよびネットワークアプリケーション向けに業界最速のDDR3 SRAMを開発」 Samsung SemiconductorSamsung、2003年1月29日。 2019年6月25日閲覧
  56. ^ 「エルピーダ、2GB DDR2モジュールを出荷」 The Inquirer、2003年11月4日。2019年7月10日時点のオリジナルよりアーカイブ。 2019年6月25日閲覧
  57. ^ 「Samsung、業界初の2ギガビットDDR2 SDRAMを発表」 Samsung SemiconductorSamsung、2004年9月20日。 2019年6月25日閲覧
  58. ^ “ソニー、65nm対応の半導体設備を導入。3年間で2,000億円の投資” . pc.watch.impress.co.jp2016年8月13日のオリジナルからアーカイブ。
  59. ^ ATIのエンジニア、Beyond 3DのDave Baumann氏経由
  60. ^ 「2000年から2009年までの私たちの誇りある歴史」サムスンセミコンダクターサムスン。 2019年6月25日閲覧
  61. ^ 「Samsung 50nm 2GB DDR3チップは業界最小」 SlashGear 2008年9月29日。 2019年6月25日閲覧
  62. ^ 「2010年から現在までの私たちの誇りある伝統」サムスンセミコンダクターサムスン。 2019年6月25日閲覧
  63. ^ 「Samsung Electronics、5GおよびAI搭載モバイルアプリケーション向け業界初の8Gb LPDDR5 DRAMを発表」 Samsung 2018年7月17日。 2019年7月8日閲覧
  64. ^ 「Samsung Unleashes a Roomy DDR4 256GB RAM」 . Tom's Hardware . 2018年9月6日. 2019年6月21日時点のオリジナルよりアーカイブ。 2022年4月4日閲覧
  65. ^ 「Hitachi HM5283206FP10 8Mbit SGRAM」(PDF) .スミソニアン協会. 2003年7月16日時点のオリジナルよりアーカイブ(PDF) . 2019年7月10日閲覧
  66. ^ UPD4811650 データシート. NEC . 1997年12月. 2019年7月10日閲覧.
  67. ^ Takeuchi, Kei (1998). 「16M-BIT SYNCHRONOUS GRAPHICS RAM: μPD4811650」 NECデバイステクノロジーインターナショナル(48) . 2019年7月10日閲覧
  68. ^ 「Samsung、3Dグラフィックスおよびネットワーキングアプリケーション向けに世界初の222MHz 32Mbit SGRAMを発表」 Samsung SemiconductorSamsung、1999年7月12日。 2019年7月10日閲覧
  69. ^ a b「Samsung Electronics が3Dグラフィックス向けJEDEC準拠256Mb GDDR2を発表」 Samsung ElectronicsSamsung、2003年8月28日。 2019年6月26日閲覧
  70. ^ 「K4D553238F データシート」 . Samsung Electronics . 2005年3月. 2019年7月10日閲覧
  71. ^ 「Samsung Electronics、業界初の超高速GDDR4グラフィックスDRAMを開発」 Samsung SemiconductorSamsung、2005年10月26日。 2019年7月8日閲覧
  72. ^ 「K4W1G1646G-BC08 データシート」(PDF) . Samsung Electronics . 2010年11月. 2022年1月24日時点のオリジナルよりアーカイブ(PDF) . 2019年7月10日閲覧
  73. ^ Shilov, Anton (2016年3月29日). 「Micron、GDDR5Xメモリのサンプル出荷を開始、チップの仕様を公開」 AnandTech . 2016年3月30日時点のオリジナルよりアーカイブ。 2019年7月16日閲覧
  74. ^ 「Samsung Electronics、高度なグラフィックシステム向けに業界初の16ギガビットGDDR6の生産を開始」 Samsung 2018年1月18日。 2019年7月15日閲覧
  75. ^ Killian, Zak (2018年1月18日). 「Samsung、GDDR6メモリの大量生産に向けてファウンドリを稼働」 . Tech Report . 2018年1月18日閲覧
  76. ^ 「Samsung、世界最速のGDDR6メモリの生産を開始」 Wccftech 2018年1月18日。 2019年7月16日閲覧
  77. ^ a b Shilov, Anton (2017年7月19日). 「Samsung、需要増加を受け8GB HBM2チップの生産量を増加」 . AnandTech . 2017年7月20日時点のオリジナルよりアーカイブ。 2019年6月29日閲覧
  78. ^ "HBM" . Samsung Semiconductor . Samsung . 2019年7月16日閲覧