メモリ規格がわからなすぎたので調べたメモ。基本的に PC で使用する DRAM について。
PC で使われるメモリモジュールについて書きたいのですが、先にモジュールに搭載されているメモリチップについてまとめます。
ネットではいろんな書き方があるみたいですが、ここではメモリの黒い IC チップをメモリチップ、メモリチップを複数搭載した基板をメモリモジュールと呼びます。
メモリの分類
RAM (Random Access Memory) はコンピュータのメモリの一種で、データの書き込み、消去、書き換えが可能な記憶装置です。揮発性と呼ばれ、データの維持に電力が必要です。
メモリの種類としては ROM (Read Only Memory) という電源がなくてもデータを保持できる不揮発性メモリもあります。
RAM は SRAM と DRAM に分かれます。
SRAM (Static Random Access Memory) はフリップフロップという電子回路を用いた記憶回路で、DRAM よりも高速に動作しますが、コストが高いです。
DRAM (Dynamic Random Access Memory) はキャパシタに電気をため込んでいるかどうかで記憶を保持するメモリです。キャパシタの自然放電でデータが消えてしまうため、リフレッシュと呼ばれる再書き込みを行う必要があります。単純な構造のためコストは安いです。
DRAM はさらに FPM DRAM や EDO DRAM、RDRAM、SDRAM などに分類されますが、ここでは PC の主記憶として使用されている SDRAM について記述します。
SDRAM (Synchronous Dynamic Random Access Memory) はシステムバスに動悸して動作する DRAM です。DDR (Double Data Rate SDRAM) シリーズとして規格化されています。
DDR、DDR2、DDR3、DDR4、DDR5 などがありますが、あまりに古いので DDR3 以降だけ書きます。これらはすべてメモリチップの規格です。
メモリモジュールの規格
上で上げたメモリチップの規格を使った PC 用のメモリモジュールとして DIMM と SO-DIMM があります。
DIMM (Dual Inline Memory Module) は主にディスクトップ用で、SO-DIMM は主にノートパソコンや一体型パソコンに使われています。DIMM と比較すると SO-DIMM のほうが短いです。
あと、あんまりみないですが、MicroDIMM というのも存在します。
メモリモジュールは同じ DIMM でも搭載されている DDR チップごとにピンの数が異なるため、対応しているモジュールでしか使用できません。つまり DDR3 の DIMM と DDR4 の DIMM に互換性はありませんし、物理的に刺さらないようになっています (DDR2 と 3 はピン数は同じですが基本的に使えません)。
具体的には表のようにピンの数が決まっています。
DDR3 | DIMM | 240 pin |
DDR3 | SO-DIMM | 204 pin |
DDR4 | DIMM | 288 pin |
DDR4 | SO-DIMM | 260 pin |
DDR、DDR2 については古いので省略します。
DDR3 SDRAM
2007 年頃に登場したメモリ規格。
チップ規格 | モジュール規格 | データ転送速度 |
DDR3-800 | PC3-6400 | 6.4GB/s |
DDR3-1066 | PC3-8500 | 8.53GB/s |
DDR3-1333 | PC3-10600 | 10.67GB/s |
DDR3-1600 | PC3-12800 | 12/8GB/s |
DDR3-1866 | PC3-14900 | 14.93GB/s |
DDR3-2133 | PC3-1700 | 17.06GB/s |
DDR3-2400 | PC3-19200 | 19.2GB/s |
DDR3-2666 | PC3-21333 | 21.3GB/s |
通常は 1.5 V で駆動しますが、低電力版として以下のものがあります。
DDR3L – 1.35V
DDR3U – 1.25V
LPDDR3 – 1.2V
DDR4 SDRAM
2014 年頃から使われているメモリ規格。1.2V で駆動します。
チップ規格 | モジュール規格 | データ転送速度 |
DDR4-1600 | PC4-12800 | 12.8GB/s |
DDR4-1866 | PC4-14900 | 14.9GB/s |
DDR4-2133 | PC4-17000 | 17.0GB/s |
DDR4-2400 | PC4-19200 | 19.2GB/s |
DDR4-2666 | PC4-21333 | 21.3GB/s |
DDR4-3200 | PC4-25600 | 25.6GB/s |
DDR4-4266 | PC4-34100 | 34.1GB/s |
DDR5
この記事を書いてる時点で、JEDEC (半導体の標準化団体)で規格策定が進んでいる状態。2020 年頃から市場に出回ると言われています。電圧が 1.1V に下がり、速度も DDR4 の二倍程度出るようになるとのことですが、普及にはまだしばらく掛かりそうです。
大雑把な分類は以上ですが、細かな仕様としていくつか気をつけるポイントがあります。
ランク
メモリコントローラが一度に読み書きが行える単位をランクと呼びます。
メモリは通常 64bit 単位 (ECC メモリは 72bit) でコントローラとデータのやり取りを行います。1枚のメモリモジュールに合計 64bit になるよう DRAM が搭載されていれば 1Rank、128bit であれば 2Rank となります。それぞれシングルランク、デュアルランクと呼ばれます。256bit のクアッドランクもあります。
CPU やチップセットにもよりますが、デュアルランクだとシングルランクよりも対応するメモリのクロックが低いものもあるので、クロック数が気になる場合は気をつけてください。特に Ryzen とか。
ランクは型番の横辺りに 1Rx8 や 2Rx4 のように表記されています。1R や 2R がモジュールあたりのランク数、x4 や x8 DRAM チップあたりのデータ幅 (x4 で 4bit)を表します。メモリは 64bit 単位でデータを扱うため、 1Rank あたり x4 の場合はチップが 16 枚、x8 の場合はチップが 8 枚搭載されています。
例を挙げると、
8GB 1Rx8 のメモリだと、1GB, 8bit のメモリチップが 8 枚搭載されます。
8GB 2Rx4 のメモリだと、512MB, 4bit のチップが 16 枚搭載されます。
8GB 2Rx8 のメモリだと、512MB, 8bit のチップが 16 枚搭載されます。
ランクについての詳しい説明はセンチュリーマイクロ社長のこちらの記事が詳しく解説しています。
デュアルチャネル
デュアルチャネルは 2 枚のメモリモジュールを 1 組として使用し、理論上 2 倍の転送速度を実現する技術です。3 枚を組み合わせたトリプルチャネル、4 枚のクアッドチャネルなどもあります。使用するにはマザーボードとチップセット、メモリがそれぞれ対応している必要があります。
基本的には同じメーカーかつ同容量、同じ型番のメモリを使用しなければなりません。
例えば、8GB の場合、8GB のメモリ 1 枚と デュアルチャネル対応の 4GB 2 枚であれば、4GB 2 枚のほうが転送速度が早くなります。
しかしながら、2 倍になるのはあくまで理論上で、実際は体感できるほどの性能差はないと思われます。
こちらの比較記事をご参照ください。
UDIMM と RDIMM
Unbuffered DIMM と Registered DIMM のこと。一般の PC では UDIMM が使用されています。
RDIMM は主にサーバなどに使用されるメモリで、アドレス信号と制御信号を Registered buffer という IC に一旦蓄積、整形や増幅を行ってからそれぞれの DRAM チップに分配します。メモリ側でバッファ回路を持つことで、安定したアクセスが行える一方で、アクセス速度が若干低下します。
一部のサーバでは設定切り替えでどちらも使用可能なものもありますが、基本的には互換性はありません。
LRDIMM・・・RDIMM ではアドレスやクロック信号のみをバッファしていましたが、データ信号についてもバッファを行うメモリ。更に大容量のメモリを搭載できるようになります。
ECC メモリ
ECC (Error Check and Correct memory) は名前のとおりエラーを検出し、訂正することができるメモリ。サーバやワークステーションに使用されます。
ECC メモリは対応していないマザーボードでもチェックビットを無視して使用できる場合が多いですが、non-ECC メモリを ECC 用マザーボードで使用することはできません。
結論を言うと、細かい仕様がたくさんあるため、製品のマニュアルを良く読んで選びましょうということです。
以上。( ´∀`)b
コメント