FILE 01
2001年
10月号

[Q]Registered対応のメモリとはどういうものなのですか? ECC対応メモリもあわせて、通常のものとの違いを教えてください。

(安田俊弥さん)

[A]

 メモリモジュールには、サポートする機能の違いで区別できる製品が存在します。それは、RegisteredやECCと呼ばれる機能を搭載したメモリモジュールのことで、Registered、ECCはそれぞれ個別の機能を指しています。

 Registered機能を搭載したメモリモジュール(以下Registered DIMM)の場合、チップセットから出力されたアドレス信号とコントロール信号はRegistered bufferと呼ばれるICに一旦取り込まれ、bufferと呼ばれる、信号を安定強化させる回路と、クロック信号のタイミングに合わせるラッチ回路を通って出力されます。これにより、マザーボード上の配線などで微妙にずれた信号のタイミングを補正することができるのです。

 

 Registered buffer回路を搭載しているメモリモジュールをRegistered DIMMと呼ぶのに対し、非搭載のものをUnbuffered DIMMと呼びます。Registered DIMMがUnbuffered DIMMに対して優れている点は、メモリアクセス動作を安定して行なえるようになっているという点だけで、Registered DIMMにしたから高速化されるわけではありません。むしろ、buffer回路やラッチ回路が入る分、タイミングを待つような操作をしているため、アクセススピードで不利な部分もありますし、Registered DIMMを使用する場合、それに対応したマザーボードを使う必要があります。しかし多くのメモリモジュールは品質にばらつきがあり、マザーボードのメモリまわりの動作は必ずしも一定していないので、Registered DIMMであれば、こうした問題を改善することが可能なのです。

 

 ECCはError Correction Coding(誤り訂正符号化)の略称であり、メモリの場合ECCによるエラー訂正機能に対応したものをECC対応メモリと呼び、これに対しECC機能を持たないものをNon Parity(以下NP)メモリと呼びます。通常NPとは表記されませんが、一般的に普及しているのはこのタイプになります。

 ECC対応メモリは、メモリモジュール自身にECC機能が搭載されているわけではなく、64bitのデータ幅以外に訂正用の8bit分のデータ幅を割り当てたメモリモジュールに過ぎません。つまりECC対応メモリモジュールは、実際にはそのメモリモジュールの容量として表示されているメモリ容量の1.125倍(1+1/8倍)のメモリが搭載されているわけで、512MB DIMMであれば576MB分の容量があります。

 

図1-1:写真はApacer製のRegistered ECC SDRAM DIMM(256MB)。メモリモジュール上にはRegistered bufferのチップ(白枠内)が搭載されているため、Unbufferedタイプとの見分けは容易に行なえる

 8bit分のデータはエラー訂正のために、もともとの64bit分のデータから計算して作られた符号情報が収められていて、読み出すときは、もう一度計算をしてもともとのデータが壊れていないかどうかを検証します。8bitのECCを持つデータはオリジナルデータの2bitまでの誤りを検出でき、1bitの誤りであれば訂正することができます。3bit以上の誤りがあった場合は、誤りを検出することができない場合がありますが、通常一つのデータでそんなに多くの誤りが検出されることはまれで、この場合は単にメモリだけにとどまらないハードウェア上の問題が発生していると考えられます。ECCの計算や生成はメモリモジュールではなくチップセット上で行なわれるため、メモリモジュールはECCのデータを収める分の容量を用意しておくだけでよいわけです。ECCは、技術的にはRegistered DIMMとはまったくの別物ですが、マシンを安定した状態で運用するという目的においては同じであると言えます。

 

 それぞれが独立した機能ですから、メモリモジュールにはRegisteredでECC、RegisteredでNP、UnbufferedでECC、UnbufferedでNPという組み合わせが存在し得ます。またRegisteredとUnbufferedという区別は現在のところSDRAMまたはDDR SDRAMのメモリを使うDIMMにおいてのみ存在するものですが、ECCとNPについてはRIMMにもあります。

(Ta 152H-1)

[HOME][MENU] [NEXT]