メモリモジュールの消費電力(SDRAM DIMM)
2001/02/10 original issue
2001/05/03 update
SDRAMの動作電圧は3.3Vで、1個のDRAMチップが消費する電流は製品によって違いがありますが
概ねアクティブ時110mA程度、スタンバイ時1〜2mAです。
ATX電源の3.3V出力がそのまま供給されています。
DIMMモジュールは通常ですと、搭載されているDRAMチップ全てが常に同時に動作しているわけでは
ありません。 1本のDIMMモジュールは64bit幅を持つ1つもしくは2つのbank(1row構造か2row構造)で
構成されており、アクティブ状態になるbank(row)の数は例外的用法を除いて常に1つです。
単にwin上のアプリケーション(フォトショップなど)で巨大なデータを扱うだけでは同時に複数のbank(row)
がアクティブ状態になることはありません。
(ここで言っているbankとはDIMMのbank構造であって、DRAMチップ内のbankの事ではありません)
こうすれば多数のDRAMチップが同時アクティブにならないので消費電力も抑えられます。
例) 両面で16個のDRAMチップを搭載したDIMM 1本使用で、
2row構造のDIMMならば同時にアクティブになっているDRAMチップの数は8個です。
この場合消費電力は3.3V*880mA=2.9W。
1row構造、もしくは1row動作モードになっている2row構造のDIMMならば同時にアクティブになっている
DRAMチップの数は16個です。
この場合消費電力は3.3V*1760mA=5.8W。
この通常品以外に、スタックドDIMMというDIMMモジュールもあります。
これはサーバ等で大量にメモリを搭載したい用途のためにDIMM単体の容量を倍増する目的で、
通常はECC分を含めても18個しか載らないDIMMモジュール上にDRAMチップを2段重ねて倍個数搭載
(ドータモジュールにしてあるタイプも存在する)したものです。
用途が用途なので市場にはほとんどregistered ECCタイプしかありません。
JEDECの規格(Intelが規定した内容そのもの)にあるブロックダイアグラムを見ると、
registered ECCタイプのスタックドDIMMモジュール1本使用で、
2row構造のとき同時アクティブになっているDRAMチップの数は18個です。
この場合消費電力は3.3V*1980mA=6.5W。
1row構造のもの、もしくは2row構造で1row動作モードになっているとき同時アクティブになっている
DRAMチップの数は36個です。
この場合消費電力は3.3V*3960mA=13.1W。
〜例外的用法〜
メモリアクセスの高速化手段としてメモリインターリーブという手法があります。
これはDRAMという素子がR/W要求しても即座には応答できず、かつ応答後もその速度がCPUよりも
遙かに遅いため、高速なCPUが複数の遅いDRAMを交互にアクセスすることで見かけ上のR/W速度
を稼ぐ手法です。
一般的なメモリインターリーブは複数のメモリモジュールを同時にアクティブにしておいて
交互に読み書きを行うものです。 つまり必ずメモリモジュールが複数(2wayなら2本4wayなら4本)必要
になり、同時アクティブになっているDRAMチップの数も倍(or4倍)、消費電力も倍(or4倍)になります。
当然、メモリとのデータバス幅も2wayで128(ECCは144)本、
4wayは設計によりますが128(ECCは144)本か256(ECCは288)本です。
これとは似て非なる手段としてVIAが用意しているのがメモリとのデータバス幅が64(ECCは72)本のまま
1本のメモリモジュールでも実現できるbankインターリーブというものです。
VIAはこれについての詳細を一般公開していないため推測になりますが、bankインターリーブとは通常は
syncDRAMチップ内の1つのbankしかアクティブにされないメモリアクセスにおいて、同一メモリチップ内で
アイドル状態になっている他のbankも順次アクティブにしてアクセスするものと思われます。
VIAのbankインターリーブは2wayと4wayがありますが、これは
1row構造のもの、もしくは1row動作モードになっている2row構造のDIMMならばDIMM自体は1row動作で、かつ
DIMM上のDRAMチップ内のbankを順次アクセス(=2way)、
2row構造のDIMMならば2rowとも順次アクティブにし、かつDIMM上のDRAMチップ内のbankを
順次アクセス(=4way)、
としているのでしょう。 しかもDIMMが複数存在すれば複数DIMMを組み合わせて交互に順次アクセスする
という柔軟設計のようです。(確かに複数DIMMのほうが速度は稼げるでしょう)
この推測通りならばVIAインターリーブの場合、
2row動作のDIMM
1本で2way設定ならば全DRAMチップが同時アクティブになっています。
1row動作のDIMM
1本で2way設定ならば全DRAMチップのうち半数が同時アクティブになっています。
2row動作のDIMM
1本で4way設定ならば全DRAMチップが同時アクティブになっています。
1row動作のDIMM2本で2way設定ならば2本のDIMMの全DRAMチップのうち半数が同時アクティブになっています。
2row動作のDIMM2本で4way設定ならば2本のDIMMの全DRAMチップが同時アクティブになっています。
簡単に言うと、VIAでインターリーブ設定をすれば、メモリモジュールの消費電力はnonインターリーブ時
と比べて2wayで倍、4wayで4倍に増えている計算になります。
例) 両面で16個のDRAMチップを搭載した2row動作のDIMM 1本使用で、
4way時の最大消費電力は3.3V*1760mA=5.8W。
同条件でDIMM 2本使用だと、
4way時の最大消費電力は3.3V*3520mA=11.6W。