このページの本文へ

前へ 1 2 3 4 次へ

ロードマップでわかる!当世プロセッサー事情 第97回

今さら聞けないメモリーの基礎知識 DIP~DIMM編

2011年04月18日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/

  • この記事をはてなブックマークに追加
  • 本文印刷

 DIMMが登場することになった最大の理由は、バス幅の増加である。Pentium以降はバス幅が64bitに増えていたので、メモリーモジュールも1枚で64bit幅になると都合がいい。ところがSIMMのままではピン数が不足するため、DIMMが生まれたというわけだ。

 最初に登場したDIMMはEDO DRAMを搭載した製品であるが、95回で解説したとおり、EDO DRAMはすぐにSDRAMに取って代わられたため、この世代をスキップしたユーザーも少なくなかった。インテルの「Pentium II」と「Intel 440LX/440BXチップセット」が、SDRAMを全面的に採用した最初の世代の製品となった。これらに合わせて、旧来の30/72pin SIMMを捨ててSDRAM DIMMに乗り換えた、という移行パターンが一般的であったと記憶している。

 SDRAMが登場したあとは、SDRAMからDDR-SDRAM、さらにDDR2やDDR3へと推移して行くものの、メモリーのバス幅は64bitのままだった。そのためDIMMの機械的形状を大きく変える必要はなく、誤挿入を防ぐために切り欠きの位置を変更する程度の違いのみとなっている。

上からDDR-SDRAM、DDR2-SDRAM、DDR3-SDRAM。切り欠きの位置が次第に左に移動しているのがわかる

 もっとも電気的には大きな差があるため、DDR-SDRAMからDDR2-SDRAMの世代では「JEDEC標準ガーバー」がもてはやされる時期があった。これについては次回でもう少し細かく解説したい。

DIMMの世代で追加された2つの技術
SPDとECC

 ところでSIMMからDIMMへの進化では、いろいろな機能追加が行なわれている。そのひとつが「SPD」(Serial Presence Detect)である。これはメモリーモジュールの上にメモリーの特性を記述した小さなROMを置いておき、定められた方法でアクセスすると読み出せるという仕組みだ。

 チップセットはメモリーモジュールの初期化のタイミングで、このSPDをまず読み出す。これにより、メモリーの特性に合わせてメモリーアクセスのタイミングなどを自動調整することが可能になった。

 SPDそのものはSDRAM限定の技術ではなく、EDO DRAMやFastPage DRAMなどでも利用可能になっていた。しかし30pin SIMMにSPDが搭載されたケースは、筆者が知る限り皆無だ。72pin SIMMに搭載されたケースもごくわずかで、EDO DRAM搭載のDIMMでも、実際にSPDが使い物になったケースはほとんどなかったと記憶している。SPDが広く使われ始めたのはSDRAM DIMM、それもDDR-SDRAMの世代あたりからではなかったかと思う。

 また、昔から広く使われているメモリーモジュールに、パリティ/ECC用の9bit/36bit/72bit SIMM/DIMMがある。データ幅は原則8bitの倍数だから、8bit/32bitあるいは64bitのデータ幅があれば足りる。一方で、例えば高ノイズ環境で配線にノイズが載ってしまい、間違ったデータとして認識されるケースは往々にしてあるが、8/32/64bitのままだと、そのデータが間違っているかどうかを検出することができない。そこで最初に考えられたのが、データにパリティビットを付加するというものだ。これにより少なくとも1bitのエラーは検出できるようになった。

 このパリティを付加するとデータ幅が9bitになるため、9bitのSIMMがまず登場し、ついで36bit(9bit×4)のSIMMとか72bit(9bit×8)のDIMMなどが登場するようになった。今ではパリティを発展させた、さらに強力な誤り訂正機構が利用されている。それが「ECC」(Error Correction Coding、またはError Check and Correctionの略)である。

 パリティ対応DIMMの場合、64bit分のデータにつき、8bit分のパリティ領域が用意されている。このパリティ領域を使って「ハミング符号」と呼ばれる特殊な符号演算を行なうことで、パリティよりも強力な誤り検出/訂正機能を持たせたのがECCである。もっともDIMM側は単に余分なデータ幅を持つだけで、パリティやECCの計算はチップセット側が行なうことになっている。

 ECCの場合、ハミング符号に割り当てる領域が大きいほど、より誤り検出/訂正能力が高まるという特徴がある。そのためなのか、JEDECの標準をみると9/18/36/72bitのSIMM/DIMM以外に、10/20/40/80bit SIMM/DIMMの仕様も策定されている。ただし、こちらを採用した製品はほとんど見たことがない。

 メモリーについては「Registered DIMM」という技術もある。こちらは次回に解説したい。

前へ 1 2 3 4 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン