技術記事

面倒くさいメモリ規格

はじめに

 先日、サーバーの修理をしたときにメモリの種類に悩まされました。サーバー用のメモリとか誰も知らん。そこで、メモリの規格をできる限り調べてきたので、私の自作PCの知識と混ぜながら簡単に紹介しようと思う。

種類

 メモリと言っても様々な種類があります。一般的にメモリと呼ばれるRAMももちろんですが、ストレージに使われるSSDやUSBメモリもフラッシュメモリと呼ばれています。違いはこんな感じです。

項目 特徴
RAM  ストレージと比べて段違いに速く、高価。揮発性のため、電源を切るとデータが消える。
フラッシュメモリ(ストレージ) 速度がRAMに比べて遅く、安価だが、電源を切ってもデータを保持できる

今回はこのRAMについて詳しく説明していこうと思います。

RAMの規格

DRAM(メモリチップ規格)

RAMとはRandom Access Memoryの略でコンピュータの主記憶装置となります。ストレージから読み取ったプログラムやデータをここにメモリして、CPUがそれにアクセスするものになります。人間世界に例えると、机に仕事に必要な書類を出しておくみたいなものです。RAMには以下のような規格があります。
絶対に失敗しない.png
 RAMにはSRAMDRAMがあります。SRAMは速いけど高価で、DRAMは遅いけど安価です。SRAMはCPUのキャッシュメモリとして使用されていますが、触ることはないので気にしないでください。DRAMはスマホやパソコンに使われるもので、これが進化してSDRAMという規格が誕生し、このSDRAMの中にDDRがあります。
 このDDRはDouble-Data-Rateの略です。最新はDDR5です。この規格には互換性がないため、自作PCなどでDDR5を入れるはずなのにDDR4を買ってしまうと、どうにもなりません。

 スマホに搭載されているのはLPDDRというもので、LPはLow-Powerの略です。つまり、消費電力が少ないものです。薄いパソコンやタブレットはこのメモリが内蔵されています。

 規格はDDR7まで存在してはいます。ちなみにVRAMはGDDR6まで販売されてます。VRAMはグラフィックボードに搭載されているRAMのことで、グラフィック表示に特化したものになります。

SIMMとDIMM(モジュール規格)

RAMの規格でモジュール規格といものもあり、SIMM(Single Inline Memory Module)DIMM(Dual Inline Memory Module) があります。今はSIMMは使われていません。全部DIMMです。

項目 特徴
SIMM  1980年代に使われていた規格。端子の数が少なく、送れるデータも少ない32ビット。
DIMM 現在使われている規格。端子がSIMMの二倍になり、64ビットへ。データをたくさん送れるようになった。

 このDIMMですが、この中にもたくさんの規格があります。

DIMMの種類 特徴
UDIMM  一般的に使われているもの。Uは Unbuffered(アンバッファ-ド)の略でレジスタ回路が搭載されていない。
RDIMM サーバーに使われるもの。RはRegistered(レジスタ-ド)の略でレジスタ回路が搭載されている。
LRDIMM RDIMMを発展させたもの。
SO-DIMM  ノートパソコンなどに使われる小型のメモリ。LPDDRとは違う(LPDDRは内蔵、取り出せない)。

 レジスタ回路は、マザーボード側のCPUやチップセットに内蔵されたメモリコントローラとメモリモジュール側のメモリチップの間で信号の取次を行う回路のことです。コントローラから送られてくるコマンド信号やアドレス信号を受け取り、整流、増幅してモジュール内の各メモリチップへ送信します。レジスタ回路がないものは、信号をすべてすべてのチップへ送信します。つまり、余分に容量を使用してしまいます。レジスタ回路があることで、整理されて送信され、メモリチップをフルに使うことが可能となります。そのため、RDIMMは容量も大きく、UDIMMが一般的なもので一枚32GBに対し、LRDIMMは一枚で最大128GBも容量があります。
 この規格は制御方法がことなるため、併用できません。これに私は2日間も悩まされました。さらに、サーバー用なのでかなり高価で全然売ってないです。

ECCメモリ

 ECCメモリはエラーを検出し、64bitのうち1bitだけエラーした場合、正しいデータに修正できます。ただし、同時に2bitエラーした場合は修正できません。これも安定性が求められるサーバー用として使われます。
 

速度(帯域幅)

メモリの帯域幅

 ネットでメモリを購入しようとして調べるとき、「DDR4-3200」のような表記を見たことがある人は多いと思います。これは「DDR4規格の速度3200MHzだよ」という意味です。それとは別に「PC4-25600」という表記を見たことはありませんか?DDR4-3200はメモリチップ規格表記(メモリクロックとも呼ばれる)、PC4-25600はモジュール規格表記になります。
 25600は帯域幅です。メモリモジュールが1秒間に転送可能なデータ容量を示すものです。それぞれ、単位が違います。帯域幅に1/8を乗算すると、だいたいクロックとほぼ同じになります。(2133HMzなどの微妙なクロックは少しずれます。)

モジュール(規格) クロック 帯域幅 
PC3-12800 DDR3-1600(MHz)  12800 MB/s
PC4-25600 DDR4-3200(MHz) 25600 MB/s

12800/8=1600
3200*8=25600

電圧と速度(オーバークロック)

DDR3は1.5V、DDR4は1.2Vが定格ですが、電圧を上げることで周波数を上げる、オーバークロックが可能です。このオーバークロックですが、マザーボード側で対応していないとできません。ここでよくあるのが価格ドットコムなどのネットの表記に騙されることです。
 例えば、PC4-25600(3200 MHz)のメモリを探しました。見つけたものは、こんなスペックでした。

電圧 速度
1.2V 2666 MHz
1.35V 3200 MHz

 これは1.2Vで2666 MHz、1.35Vで3200 MHzという意味です。今、3200MHzのメモリを探しています。電圧は1.35Vです。オーバークロックされています。ちなみに、メモリは何も設定しないと、定格電圧1.2Vで動作します。知らずに買うと、2666 MHzで動作します。

 もちろん、1.2Vで3200 MHz動作をするものも存在します。しかし価格ドットコムでは、例のようなオーバークロックして3200MHzのものとごちゃ混ぜで出てきます。ですから、設定が不安という方は、しっかりとスペックも確認しましょう。これは自作PCでよくある話なのでご注意ください。設定を簡単にする方法は下のXMPをご覧ください。

メモリの本当の速度

 3200 MHzのメモリは、実際は1600 MHzで動作しています。これはDDR(Double-Data-Rate)という規格が関係しており、一度で二倍のデータを送り出せるため、メーカーやお店では2倍の数値が表示されています。
CPU-zというソフトを使うと、実際の速度を見ることができます。
【図1】
スクリーンショット 2023-07-18 095726.png

スクリーンショット 2023-07-18 095839.png

遅延(レイテンシ)・メモリタイミング

 図1の下のtimings tableの中やメーカースペック表で、17-17-17-40という数字があります(CL17という表記もある)。これはメモリタイミングと呼ばれるものです。簡単に言えば、データを送るタイミングを示したものです。この例で言うと、17クロック分書き込みに待ち時間が発生するよという意味です。そして、ここから計算され値をレイテンシといいます。つまり、レイテンシはデータを送るまでの待ち時間のようなものです。

レイテンシ = タイミング / クロック周波数(Hz)

 ここのクロック周波数は、先に紹介した実際のクロック周波数つまり、メーカー表記の1/2の周波数になります。

例:17(Clock) ÷ 1,333,333,333(Hz) = 0.000000013(秒) =13ns(ナノ秒)

見ての通り、物凄く小さい値です。ですから、ほとんどの人が気にする必要はありません。

選ぶ

対応メモリ

 パソコンやサーバーには必ず、メモリの対応規格が存在します。ですから、自作PCを作るときも、メモリの増設をするときも、しっかりとメーカーサイトや説明書を調べてください。

:私の持っている自作のマザボ仕様

  • デュアルチャネル DDR5 Memory テクノロジ
  • 4 x DDR5 DIMM スロット
  • DDR5 non-ECC、アンバッファード・メモリに対応 最大 6400+(OC)*
  • システムメモリの最大容量: 192GB
  • Intel® 究極のメモリプロファイル (XMP) 対応 3.0
     この場合、DDR5で最大6400MHzのUDIMMに対応しているとわかり、ECCメモリ非対応、最大容量は合計で192GBとなります。

メモリの種類

 先ほど、UDIMMやRDIMMと紹介しましたが、その種類はメモリ本体にこのように表記されています。参考にしてください。

  • UDIMM :PC3-10600U (もしくは無記)
  • RDIMM :PC3-10600R (もしくは無記にregisteredと表記)
  • ECC :PC3-10600E
    68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f333437393036302f61623266663431342d613462392d343461622d386133392d376131653330656236.jpg
    下がUDIMM、上がRDIMM

XMP

XMPはメモリの設定プロファイルのことです。対応メモリには、そのメモリに適したメモリタイミング・電圧などのプログラムが書き込まれています。つまり、オーバークロックが簡単にできます。マザーボードで対応しているかを確認できれば、電圧を気にする必要はありません。自作PCをする場合は参考にしてください。

最後に

 メモリの規格は非常に多いことがわかりますね。これは疲れます。サーバー用なんて、ほとんどの人が知りません。いい勉強になりました。皆さんも良ければ、自分のPCのメモリは何なのかを調べてみてください。(なにか間違っていたらごめんなさい)

参考

https://akiba-pc.watch.impress.co.jp/docs/sp/1231939.html

https://e-words.jp/

Share this post

WordPress Appliance - Powered by TurnKey Linux