利用者:Manybook/サンドボックス
GDDR4 SGRAM(Graphic Double-Data-Rate 4 Synchronous Graphics Random Access Memory)は半導体集積回路で構成されるDRAMの規格の一種で主にビデオカード用のメモリーとして利用される。DDR3 SDRAMと同様の8ビットずつのプリフェッチ(prefetch)機能をそなえ、理論上GDDR3 SGRAMの2倍のデータ転送速度を得られる。基盤配線を容易にするためのミラーファンクション機能やスイッチングノイズを低減するためのDBI機能を有している。
GDDR4 SGRAMの主要な機能
[編集]- ダブルデータレート(DDR:Double Data Rate)機構の採用
- ダブルデータレートとはクロックの上がりエッジと下がりエッジの両方でデータを転送する機構を指す
- コマンドはクロックの上がりエッジで確定
- アドレスは連続する2サイクルのクロックの上がりエッジで確定する
- ローアドレスはアクティブコマンドの入力サイクルと次のサイクルで確定。カラムアドレスはライトまたはリードコマンドの入力サイクルと次のサイクルで確定する。
- 8nプリフェッチ技術による高速化
- バースト長8(固定)
- アドレシングタイプはシーケンシャルで開始アドレスは8の倍数からのみ。
- 8ビットごとに1本のシングルエンデッド ライト/リードストローブ(WDQS/RDQS)
- ライトストローブはメモリコントローラから発行され、通常データウィンドウの中心にエッジが来るように制御される。
- リードストローブはGDDR4 SGRAMが発行し、データエッジと同一タイミングで制御される。
- 差動クロック入力
- ライトデータをマスクするデータマスク(DM)機能
- オンダイターミネーション
- 出力ドライバのインピーダンス自動補正機能
GDDR4 SGRAMの持つピン名称と機能の説明
[編集]- CK, CK#
- クロック信号(Clock)。GDDR4 SGRAMが動作する基準となるタイミング決定を行う差動クロックを入力する。CKの上がりエッジとCK#の下がりエッジの交点を基準にアドレスやコマンドを受け取り、CKとCK#の交点を基準にデータ出力を行う。
- CKE#
- クロックイネーブル信号(Clock Enable)。デバイスの入出力信号に対してクロックが有効か無効かを決定する。CKE#入力がローでクロックを有効、ハイでクロックを無効になる。プリチャージパワーダウン(Precharge Power Down),セルフリフレッシュ(Self Refresh)またはアクティブパワーダウン(Active Power Down)時にはCKE#をハイにする。
- CS#
- チップセレクト信号(Chip Select)。CS# ローでコマンド入力は有効、CS#がハイでコマンド入力は無効。ただし動作中のコマンドはCS#をハイにしても継続する。
- RAS#,CAS#,WE#
- ロウアドレスストローブ信号(Row Address Strobe:RAS), カラムアドレスストローブ信号(Column Address Strobe:CAS), およびライトイネーブル信号(Write Enable:WE)。GDDR4 SGRAMの動作を決定するコマンドを入力する(後述のコマンド一覧参照)。
- DM0~DM3
- データマスク信号(Data Mask:DM)。ライト動作時にデータ入力をマスクする。ライト時にハイのときデータはメモリに書き込まれる。リード動作時にDBI機能を有効にした場合、DMはDBI用のフラグ信号になる。
- BA0~BA2
- バンクアドレス信号(Bank Address)。 アクティブコマンド(Active)時にリード/ライトするバンクを選択する。モードレジスタ(Mode Register)の種類を選択するためにも利用される。
- A0~A11
- アドレス信号(Address)。メモリアレイの読み書きしたいセル位置を特定するアドレスを入力する。 アクティブコマンド入力時にロウアドレス、リード/ライトコマンド入力時にバースト動作の先頭カラムアドレスを選択するする。モードレジスタ設定にも用いられる。A8はプリチャージコマンド時に一つのバンクのみをプリチャージするか(A8 ロー)、全バンクをプリチャージするか(A8 ハイ)の選択に使われる。A8がローの場合、プリチャージするバンクはBA0~BA2で選択する。アクティブコマンド時に指定するローアドレスはA0~A11、ライト/リードコマンド時に指定するカラムアドレスはA0~A7、A9で指定する。リード/ライトコマンド入力時のA8はリード/ライト後にアクセスしているバンクに対して オートプリチャージを行うか(A8をハイ)、行わないか(A8 ロー)を指定するために用いられる。
- DQ0~31
- データの入出力信号。
- RDQS0~3
- リードデータストローブ信号(Read Data Strobe)。データのリードタイミングを指定するストローブ信号でデータと同位相で出力する。
- WDQS0~3
- ライトデータストローブ信号(Write Data Strobe)。データのライトタイミングを指定するストローブ信号でデータのデータウィンドウの中心を打ち抜くタイミングで信号を入力する。
- VDD, VDDQ
- デバイスの動作電源を供給する。
- VSS, VSSQ
- グランド。
- VREF
- 参照電圧(Voltage REFerence)を供給する。デバイスはVREFで供給される電圧よりも高い電圧をハイ、低い電圧をローと判定する。
- RESET#
- リセット信号(RESET)。リセットピンにハイを入力するといつでもデバイスはリセット動作を行う。リセットピンがローのときは何も行わない。
- PERR
- パリティエラー信号。パリティチェックでエラーを検出した場合にエラー信号を出力する。
- SEN
- スキャンイネーブル(Scan enable)。使用しない場合はグランドに維持しなければならない。
- ZQ
- オンダイターミネーション(ODT:On Die Termination)用の抵抗接続ピン
- MF
- ミラーファンクション(Mirror Function)。ボード上の配線を容易にするため全ての物理ピンの配置が左右反転する機能を提供する。MFがハイの場合、物理ピン配置が左右反転する。
- RFM
- ミラーファンクションのための予備ピン(Reserved for Mirror Function)。MFピンがローの場合、RFMは使用されないがローを維持することが推奨されているが、ハイであったりフローティング状態であっても問題を起こすことはない。MFピンがハイの場合、RFMはRAS#ピンとして使用される。このときRASピンがRMFとなるのでローを維持することが推奨されるが、ハイであったりフローティング状態であっても問題を起こすことはない。
- RFU
- 将来の拡張のための予備(Reserved for Future Use)。
コマンドとオペレーション
[編集]ここではデバイスの制御方法とコマンドについて解説する。 まずコマンドの一覧を示す。コマンドは全てCKの上がりエッジとCK#の下がりエッジの交点を基準としたタイミングで与えられるハイ(H)またはロー(L)を意味する。
コマンド一覧
[編集]GDDR4 SGRAMで使用可能なコマンド一覧を以下に示す。
名称 | CKE# | CS# | RAS# | CAS# | WE# | A8 | アドレス | |
---|---|---|---|---|---|---|---|---|
前サイクル | 現サイクル | |||||||
ディセレクト(DES:Deselect=NOP) | L | X | H | X | X | X | X | X |
ノーオペレーション(NOP:No Operation) | L | X | L | H | H | H | X | X |
アクティブ (Active) | L | L | L | L | H | H | バンク/ロー | |
リード (Read) | L | L | L | H | L | H | L | バンク/カラム |
リード オート プリチャージ (Read with autoprecharge) | L | L | L | H | L | H | H | バンク/カラム |
ライト (Write) | L | L | L | H | L | L | L | バンク/カラム |
ライト オート プリチャージ (Write with autoprecharge) | L | L | L | H | L | L | H | バンク/カラム |
1バンク プリチャージ (Precharge) | L | L | L | L | H | L | L | バンク |
全バンク プリチャージ (Precharge) | L | L | L | L | H | L | H | X |
オート リフレッシュ (Auto refresh) | L | L | L | L | L | H | X | X |
セルフ リフレッシュ エントリ (Self refresh entry) | L | H | L | L | L | H | X | X |
セルフ リフレッシュ イグジット (Self refresh exit) | H | L | H | X | X | X | X | X |
L | H | H | H | X | X | |||
パワー ダウン エントリ (Power-down entry) | L | H | H | X | X | X | X | X |
L | H | H | H | X | X | |||
パワー ダウン イグジット (Power-down exit) | H | L | H | X | X | X | X | X |
L | H | H | H | X | X | |||
モード レジスタ セット(Mode Register Set) | L | L | L | L | L | L | X | コード |
データ 終端無効(Data terminator disable) | L | L | H | H | L | H | X | X |
ディセレクト(DES:Deselect)
[編集]ノーオペレーション(NOP:No Operation)
[編集]モードレジスタセット(MRS:Mode Register Set)
[編集]アクティブ(Active)
[編集]データ終端無効(Data Termination Disable)
[編集]バンク制限(Bank Restriction)
[編集]リード(Read)
[編集]リードとDLLオフモード
[編集]ライト(Write)
[編集]プリチャージ(Precharge)
[編集]オートプリチャージ(Auto precharge)
[編集]オートリフレッシュ(Auto refresh)
[編集]セルフリフレッシュ(Self refresh)
[編集]パワーダウン(Power-down mode)
[編集]状態遷移図
[編集]以下にGDDR4 SGRAMの状態遷移図を示す。
初期化
[編集]GDDR4 SGRAMは電源投入後に以下の手順で初期化を行わなければなりません。正規の手順で初期化を行わなかった場合の動作は保証されません。モードレジスタ(Mode Register)と拡張モードレジスタ(Extended Mode Register)にデフォルト値は存在しません。初期化手順中でモードが設定されなかった場合の動作は保証されません。
- 電源投入後、VREFを供給する。
- 安定したクロック信号を供給する。
- 200us以上RESETをローに維持する。
- RESETをハイにする。RESETをハイにするタイミングでCKE#とA0をアドレスとコマンドの終端抵抗値が取り込まれる。このときtATSおよびtATHが満たされなければならない。
終端抵抗値 | CKE# | A0 |
---|---|---|
60Ω | ロー | ハイ |
120Ω | ハイ | ハイ |
240Ω | ハイ | ロー |
- 終端抵抗値の設定が完了した段階でCKE#をローにして200us維持する。
- 少なくとも2つのNOPコマンドを発行する。
- NOPコマンドに続いてtRPを満たすようにPRECHARGE ALLコマンドを発行する。
- tMRDを満たすような間隔を空けてMRSコマンドと3つのEMRS1コマンドを発行する。
- AUTO REFRESHコマンドを2回発行する。
- AUTO REFRESHコマンド後tRFCおよびtDL後にデバイスはレディ状態になる。
モードレジスタセット(Mode Register Set:MRS) の書き込み手順
[編集]GDDR4 SGRAMの各種オペレーションを制御するためにモード設定を行う必要がある。モード設定ではCASレーテンシやテストモード、各ベンダの用意したオプション機能を提供する。MRSにはデフォルトを設定してないので電源投入直後や、リセット・初期化時は、全てのMRSを設定しなければならない。MRSはEMRS1設定後に書き込まれなければならない。
モードレジスタセット(MRS:Mode Register Set)
[編集]以下ではモードレジスタセットMRSで設定できるモードとその説明を行う。MRSは以下のフォーマットで設定する。
BA2 | BA1 | BA0 | A12 | A11 | A10 | A9 | A8 | A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | RFU | WL | DLL | TM | CAS Latency | BT | CL | WR |
バースト長(BL:Burst Length)とバーストタイプ(BT:Burst Type)
[編集]GDDR4 SGRAMではバースト長は8固定、バーストタイプもシーケンシャルしか選択できないためMRSで設定することはしない。ライト/リードコマンドではA0~A2アドレスは無視され常にA0~A2アドレスは0~7を連続して出力する。
ライトレーテンシ(WL:Write Latency)
[編集]ライトレーテンシはライトコマンドから最初のデータの書き込みが始まるまでのクロックサイクル遅延数である。レーテンシとして1~7を動作周波数に応じて設定できる。
A11 | A10 | A9 | Write Latency |
---|---|---|---|
0 | 0 | 0 | RFU |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 2 |
0 | 1 | 1 | 3 |
1 | 0 | 0 | 4 |
1 | 0 | 1 | 5 |
1 | 1 | 0 | 6 |
1 | 1 | 1 | 7 |
DLLリセット(DLL:DLL RESET)
[編集]DLLリセットはデバイス内部のDLL(Delay Locked Loop)回路のリセットを指定する。DLL回路とは時間の経過と共に環境の変化(電源電圧や温度など)や内的原因(メモリデバイス内で行う処理や内部クロック自身の持つ誤差)に起因して外部クロックと内部クロックの間に発生する誤差を補正しタイミングを一定に保つための回路。外部クロックと内部クロックの信号を継続的に比較する位相検出器で構成されている。信号間に位相差を検出した場合、調整回路(遅延回路)に制御情報をフィードバックする。DLLをリセットすることでDLL回路は外部クロックをロックすることができる。DLLリセットはDLL回路のリセット完了後自動的に通常状態に戻るのでDLLリセット完了後に明示的にMRS:A8=0を再設定する必要はない。
A8 | DLL RESET |
---|---|
0 | No |
1 | Yes |
テストモード(TM:Test Mode)
[編集]テストモードは製造工程での評価などで使用するテスト用の機能を提供する。通常は常に無効にしなければならない。どのような機能を提供するかは未定義でデバイスメーカによって動作が異なる。
A7 | Test Mode |
---|---|
0 | Normal |
1 | Test Mode |
DLL有効/無効
[編集]通常、動作時は常にDLLを有効にしておかなければならない。電源投入の初期化後、デバッグや評価、通常動作に戻るときにはDLLを有効にする必要がある。ただしセルフリフレッシュモードを終了するときにはデバイスは自動的にDLLを有効にする。
CASレーテンシ(CAS Latency)
[編集]CASレーテンシはリードコマンドから最初のデータが出力されるまでのサイクル遅延数である。デバイスの動作周波数に依存して設定する。CASレーテンシの値に依存して指定可能なマルチプリアンブル(Multi-Preamble)数が変わる。マルチプリアンブルは複数サイクルにまたがって出力するプリアンブルで1~5サイクルを指定できる。マルチプリアンブルはEMRS1で指定する。
A6 | A5 | A4 | A3 | CASレーテンシ |
---|---|---|---|---|
0 | 0 | 0 | 0 | 16 |
0 | 0 | 0 | 1 | 17 |
0 | 0 | 1 | 0 | 18 |
0 | 0 | 1 | 1 | 19 |
0 | 1 | 0 | 0 | 20 |
0 | 1 | 0 | 1 | 21 |
0 | 1 | 1 | 0 | 22 |
1 | 1 | 0 | 0 | 12 |
1 | 1 | 0 | 1 | 13 |
1 | 1 | 1 | 0 | 14 |
1 | 1 | 1 | 1 | 15 |
ライトリカバリ時間(WR)
[編集]A2 | A1 | A0 | WR |
---|---|---|---|
0 | 0 | 0 | 16 |
0 | 0 | 1 | 18 |
0 | 1 | 0 | 20 |
0 | 1 | 1 | 6 |
1 | 0 | 0 | 8 |
1 | 0 | 1 | 10 |
1 | 1 | 0 | 12 |
1 | 1 | 1 | 14 |
拡張モードレジスタ1(EMRS1:Extended Mode Register Set 1)
[編集]以下ではEMRS1で設定できるモードとその説明を行う。EMRS1は以下のフォーマットで設定する。
BA2 | BA1 | BA0 | A12 | A11 | A10 | A9 | A8 | A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 1 | RFU | VID | MODBI | WDBI | RDBI | DLL | Preamble | DQ終端抵抗 | Driver strength |
DLLの有効・無効
[編集]通常動作時はDLLを有効にしなければならない。電源投入後や低電力オペレーションなどのデバッグや評価のためにDLLを無効にした場合、通常動作前までにDLLを有効にしなければならない。ただしセルフリフレッシュモードを終了するときには自動的にDLLは有効になる。DLLを有効にしてからリードコマンドを発行するまでの時間はtDLを満たしている必要がある。
A7 | DLL |
---|---|
0 | Disable |
1 | Enable |
ベンダID
[編集]ベンダID機能はGDDR4 SGRAMはベンダIDコードをDQ0~DQ3、レビジョン番号をDQ4~DQ7に出力する機能である。これらのコードはEMRS1のA11=1を設定した後にDQバスに出力される。GDDR4 SGRAMはEMRS1にA11=0を設定するまでこのベンダIDコードを出力し続ける。
A11 | ベンダID |
---|---|
0 | Disable |
1 | Enable |
ベンダとベンダIDの関係は以下の通り。
ベンダ名 | DQ(3:0) |
---|---|
Samsung | 1 |
Infineon | 2 |
Elpida | 3 |
Etron | 4 |
Nanya | 5 |
Hynix | 6 |
Mosel | 7 |
Winbond | 8 |
ESMT | 9 |
Micron | F |
DBI
[編集]GDDR4 SGRAMはデータバスインバージョン(DBI:Data Bus Inversion)機能をサポートする。DBIはデータ出力の際に出力データの値をわざと反転することで消費電力やノイズの低減を可能にする技術である。リード時にデータを反転した場合、反転したことを示すDBIフラグ情報をDMピンに出力する(DQ0~7のDBIフラグをDM0、DQ8~15のDBIフラグをDM1、DQ16~23のDBIフラグをDM2、DQ24~31のDBIフラグをDM3にそれぞれ出力する)。ライト時にデータを反転した場合、反転したことを示すDBIフラグ情報をRDQSピンから入力する(DQ0~7のDBIフラグをRDQS0、DQ8~15のDBIフラグをRDQS1、DQ16~23のDBIフラグをRDQS2、DQ24~31のDBIフラグをRDQS3からそれぞれ入力する)。DBIには2つの種類があり、それぞれDBI DCモード、DBI ACモードと呼ばれEMRS1でどちらを使用するか選択できる。
- DBI DCモード
- GDDR4 SGRAMのデータラインはハイの電圧に終端するため、ハイデータの入出力はローデータの入出力に比べて電力消費量が少ない。そこでDBI DCモードは出力するデータ8ビットのうち0のデータが4ビットより多い場合、データを反転してハイデータを入出力する機能を提供する。DBI DCモードを使用することで消費電力の低減が可能になる。
- DBI ACモード
- 頻繁にハイ・ローを切り替えてバーストデータ出力を行うと切り替えのスイッチングノイズの低減やデータの切り替えに伴う消費電力の低減効果が見込まれる。そこでDBI ACモードは連続するデータの値のハイ・ロー切り替えが4ビット以下に収まるようにデータを反転する機能を提供する。
A10 | モード |
---|---|
0 | DCモード |
1 | ACモード |
A9 | ライトDBI |
---|---|
0 | Disable |
1 | Enable |
A8 | リードDBI |
---|---|
0 | Disable |
1 | Enable |
プリアンブル
[編集]より高速のデータ転送を達成するためにプリアンブル数を増やすことが有効な場合があるかもしれない。GDDR4 SGRAMはリード時やライト時のプリアンブル数を指定できる。
A6 | A5 | A4 | プリアンブル |
---|---|---|---|
0 | 0 | 0 | 1 |
0 | 0 | 1 | 2 |
0 | 1 | 0 | 3 |
0 | 1 | 1 | 4 |
1 | 0 | 0 | 5 |
データ終端抵抗
[編集]データピンのオンダイターミネーション終端抵抗値を指定する。GDDR4 SGRAMはZQ/4、ZQ/2または終端抵抗なしの指定ができる(ZQ=240Ω)。EMRS1でA3=A2=0と指定した場合、全DQ、DM、WDQS、コマンドおよびアドレスピンを終端しない。A3=0、A2=1と指定した場合、全DQ、DM、WDQSを終端しないが、コマンド/アドレスは終端する。DQSだけ終端する機能もある(EMRS3のLPTERM参照)。LPTERMモードはA3=1、A2=0またはA3=1、A2=1の時のみ有効となる。初期化時にアドレス/コマンドの終端されるように、電源を投入しクロックが安定して供給されてから200us後までにEMRS1のA3=0、A2=1、EMRS3のA5=0というデフォルト値が自動的に設定される。
A3 | A2 | DQ終端抵抗 |
---|---|---|
0 | 0 | 全オフ |
0 | 1 | DQオフ |
1 | 0 | ZQ/4 |
1 | 1 | ZQ/2 |
データドライバインピーダンス(Driver Strength)
[編集]データドライバインピーダンスはデータドライバの出力インピーダンス(DZ)の指定を行う。自動補正(Auto Calibration)を選択した場合、通常ドライバインピーダンスはプルアップ60Ω、プルダウン40Ωに、DQ終端抵抗は60/120Ω、コマンド/アドレスの終端抵抗は60/120/240Ωにそれぞれ設定される。このときの許容誤差はデバイスの補正制度に依存する。他のインピーダンス設定を選択した場合は名目上期待するインピーダンスが設定するが、精度はデバイスの製造工程の状態や電圧・動作温度に依存する。
プログラマブルなインピーダンス出力バッファとアクティブターミネータ
[編集]GDDR4 SDRAQMはプログラマブルなインピーダンス出力バッファとアクティブターミネータを装備している。これらによってデバイスのインピーダンスをシステムのドライバインピーダンスにマッチさせることができる。インピーダンス調整のために精度の良い外部抵抗(RQ)をデバイスのZQピンとグランド間に接続する。抵抗値は出力インピーダンスとして要求される値のちょうど6倍でなければならない。 例えば出力インピーダンスを40Ωにしたい場合、240Ωの抵抗をZQピンに接続しなければならない。RQの値が120Ωから360Ωの範囲にあるとき10%の誤差の範囲で出力インピーダンスはRQの1/6になることが補償される。 MF、SEN、RESET、CKおよびCK#は内部で終端しない。CKとCK#はシステムモジュール上の1%の外部抵抗で終端する。出力インピーダンスはオートリフレッシュコマンドおよびリード動作中以外のNOPコマンド時に更新される。インピーダンスの更新はデバイス動作に対して影響を及ぼさない。またデータシートのタイミングや電流特性は更新中であっても維持される。最適な出力ドライバインピーダンスを補償するため、GDDR4は電源投入後のインピーダンスの補正の適用と安定化のために、電源投入後少なくとも20usを必要とする。20us未満のデバイス操作に対して最適な出力インピーダンスは補償されない。ZQ値は内部アドレス/コマンドの終端抵抗にも使用される。電源投入時にアドレス/コマンドの抵抗値としてZQ/2とZQの2種類が選択可能である。ZQは内部DQ終端抵抗の補正にも使用する。DQの終端抵抗としてZQ/4、ZQ/2の2種類が選択可能である。
A1 | A0 | データドライバインピーダンス |
---|---|---|
0 | 0 | 自動補正 |
1 | 0 | プルアップ:60Ω/プルダウン:40Ω |
拡張モードレジスタ2(EMRS2:Extended Mode Register Set 2)
[編集]以下ではEMRS2で設定できるモードとその説明を行う。EMRS2は以下のフォーマットで設定する。
BA2 | BA1 | BA0 | A12 | A11 | A10 | A9 | A8 | A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 0 | RFU | OCD-終端/プルアップオフセット | OCDプルダウンオフセット |
ドライバと終端のオフセットコントロール
[編集]終端抵抗とドライバのインピーダンスを調整できるようにするために設けられたGDDR4 SGRAMのDQ Ron プルダウンとDQ Ronプルアップ終端抵抗は7段階で増やしたり、減らしたりすることができる。
A5 | A4 | A3 | OCD終端/プルアップオフセット |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 2 |
0 | 1 | 1 | 3 |
1 | 0 | 0 | -4 |
1 | 0 | 1 | -3 |
1 | 1 | 0 | -2 |
1 | 1 | 1 | -1 |
A5 | A4 | A3 | プルダウンオフセット |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 2 |
0 | 1 | 1 | 3 |
1 | 0 | 0 | -4 |
1 | 0 | 1 | -3 |
1 | 1 | 0 | -2 |
1 | 1 | 1 | -1 |
拡張モードレジスタ3(EMRS3:Extended Mode Register Set 3)
[編集]以下ではEMRS3で設定できるモードとその説明を行う。EMRS3は以下のフォーマットで設定する。
BA2 | BA1 | BA0 | A12 | A11 | A10 | A9 | A8 | A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 1 | RFU | PMASK | PARITY | PRST | DRAM情報 | LP TERM | RFU |
パリティ(Parity)
[編集]GDDR4 SGRAMはコントローラがDRAMに正しくデータを書き込めたかどうかを判断するための情報としてのパリティ機能を提供する(オプション機能)。この機能は通常動作中に有効でシステムの確認や不良解析時などに不良を特定し分離するのに役立つだろう。
A9 | パリティ |
---|---|
0 | 無効 |
1 | 有効 |
パリティを有効にした場合、PMASKフィールドでどの8ビットの偶数パリティをチェックするのかを選択できる。不良のビットを特定するために最初の不良が検出された段階でGDDR4 SGRAMはDQ0~DQ31で受け取った値をPERR_INFOと呼ばれるレジスタにストアする。ベンダIDを読み出す場合と同じ手順でメモリコントローラはこのパリティエラー情報を読み出すことができる。
A11 | A10 | パリティマスク |
---|---|---|
0 | 0 | DQ0~DQ7 |
0 | 1 | DQ8~DQ15 |
1 | 0 | DQ16~DQ23 |
1 | 1 | DQ24~DQ31 |
パリティリセット(PRST:Parity reset)はPERR_INFOレジスタをクリアする。PRSTでリセットを設定後、PERR_INFOレジスタは最初のエラー情報を保存し保持する。PRSTでリセットを設定後、デバイスはPERR_INFOをクリアした後自動的にストア状態に戻るので明示的にPRSTをストアに設定しなおす必要はない。
A8 | パリティ リセット |
---|---|
0 | ストア |
1 | クリア |
DRAM情報でベンダIDを選択した後、EMRS1にA11=1を設定するとGDDR4 SGRAMはベンダIDコードをDQピンから出力する。DRAM情報としてPERR_INFOを選択した場合(パリティ機能があるならば)、EMRS1にA11=1を設定するとGDDR4 SGRAMはPERR_INFO情報をDQピンから出力する。
A7 | A6 | INFO |
---|---|---|
0 | 0 | ベンダID |
0 | 1 | PERR_INFO |
パリティチェック
[編集]パリティチェックを有効にした場合、メモリコントローラはライトサイクルでPMASKで選択した8ビットに対してEVENパリティ(1が偶数個)のデータを書き込む必要がある。GDDR4 SGRAMは選択された8ビットのパリティをXOR演算し、もしODDパリティ(1が奇数個)が検出された場合はデータ書き込みからtPD経過後にPERR#ピンにローを出力する。
低電力終端モード(LPTERM:Low Power Termination Control mode)
[編集]GDDR4 SGRAMには低電力終端モード(LPTERM)が用意されている。LPTERMはIOピンの終端に必要な電力消費を軽減するモードである。この機能は通常動作時に有効にすることができる。しかしメモリコントローラはスペックに見合う形で動作周波数を低くしなければならない。
低電力終端モードはDQの終端としてZQ/2またはZQ/4を選択した場合にのみ有効となる。
A5 | LPTERM |
---|---|
0 | Disable |
1 | Enable |
以下に各ピンの終端が低電力終端モード使用時にどのように変化するかを示す。
ピンの種類 | LPTERMなし | LPTERMあり |
---|---|---|
クロック | なし | なし |
アドレス | 有効 | 無効 |
RAS#,CAS#,WE#,CS# | 有効 | 無効 |
CKE# | 有効 | 無効 |
RDQS0~RDQS3 | EMRS1[終端] | 無効 |
WDQS0~WDQS3 | EMRS1[終端] | EMRS1[終端] |
DQ0~DQ31 | EMRS1[終端] | 無効 |
DM0~DM3 | EMRS1[終端] | 無効 |
ミラーファンクション(MF:Mirror Function)
[編集]GDDR4 SGRAMはデバイスをボードの両面に張り合わせた上で同一配線パターンを可能にするためにコントロールライン、アドレスラインの物理位置を左右対称に反転するミラーファンクションを提供する。MFはRAS#、CAS#、WE#、CS#、CKE#、A10/A0、BA0/A1、A12/A2、A11/A3、A8/A4、BA1/A5、BA2/A6、A9/A7に作用する。MFと各ピンの配置の関係を以下に示す。
ピン | MF=ハイ | MF=ロー |
---|---|---|
RAS# | H11 | H2 |
CAS# | G9 | G4 |
WE# | H3 | H10 |
CS# | G4 | G9 |
CKE# | H10 | H3 |
A10/A0 | K11 | K2 |
BA0/A1 | H9 | H4 |
A12/A2 | K10 | K3 |
A11/A3 | L9 | L4 |
A8/A4 | K2 | K11 |
BA1/A5 | H4 | H9 |
BA2/A6 | K3 | K10 |
A9/A7 | L4 | L9 |
アドレス入力
[編集]GDDR4 SGRAMはマルチプレクスアドレス方式(Multiplexed address)の採用によりピン数を減らしている。マルチプレクスアドレスとは一つのピンから時系列に複数のアドレスビット情報を入力する方式である。アドレス情報は連続する2つのサイクルに分かれて取り込まれる。コマンドを構成する信号(CS#、RAS#、CAS#、WE#)と同じサイクルのクロックの上がりエッジで最初の半分のアドレスビット情報(A8~A12、BA0~2)が取り込まれ、次のサイクルのクロックの上がりエッジで残りの半分のアドレスビット情報(A0~A7)が取り込まれる。
サイクル | ||||||||
---|---|---|---|---|---|---|---|---|
第1サイクル | BA2 | BA1 | BA0 | A12 | A11 | A10 | A9 | A8 |
第2サイクル | A6 | A5 | A1 | A2 | A3 | A0 | A7 | A4 |
アクティブやリード、ライト、プリチャージ、モードレジスタセット、オートリフレッシュ、セルフリフレッシュの様なコマンドの入力は連続する2サイクルが必要になる(ただしNOPコマンドは1サイクルで入力を完了する)。そのためコマンド発行の次のサイクルは残りの半分のアドレス入力が行われるため他のコマンド発行は禁止される。
アドレシング形態はデバイスの大きさによって以下のように規定されている。
8Mx32 | 16Mx32 | 32Mx32 | |||
---|---|---|---|---|---|
Row address | A0~A11 | A0~A10 | A0~A11 | A0~A11 | A0~A12 |
Column address | A0~A7,A9 | A0~A7,A9,A10 | A0~A7,A9 | A0~A7,A9,A10 | A0~A7,A9 |
Bank address | BA0~BA1 | BA0~BA2 | BA0~BA2 | BA0~BA2 | BA0~BA2 |
Autoprecharge | A8 | A8 | A8 | A8 | A8 |
Refresh | 4k/32ms | 4k/32ms | 8k/32ms | 8k/32ms | 16k/32ms |
Refresh period | 7.8us | 7.8us | 3.9us | 3.9us | 1.9us |