今回はメモリとランクについてお話したいと思います。
メモリのランクとはRankと表記します。
1Rank、2Rank、シングルランク、デュアルランクなどと言います。
メモリのランクとはざっくり言うと「チップセットから見たメモリモジュールの数」です。
同じDIMMでもシングルランクの場合、チップセットから見たメモリモジュールは1つですが、デュアルランクの場合、チップセットはメモリモジュールが2つあると認識します。
物理的なメモリモジュールの数がDIMMとするならチップセットから見た(論理的な)メモリモジュールの数がランクです。
内部的な扱いが違いますので、シングルランクとデュアルランクでは当然動作が違ってきます。
ランクはメモリのスペック表記において義務ではありませんので、メーカーのHPでデータシートを確認しないと判別できない可能性があります。
メモリのランクとは具体的に何か?
メモリのランクは「チップセットから見たメモリモジュールの数」というのは理解してもらえたと思います。
ではなぜチップセットが一つのDIMM(メモリモジュール)を二つのDIMM(メモリモジュール)と認識してしまうのかの理由を説明します。
現在のDIMMは1チャンネル64bit、2チャンネル(デュアルチャンネル)で128bitのバス幅となっています。
DIMM一つにつき64bitで、そのDIMMの上にさらにメモリチップが載っています。
このメモリチップは一つにつき8bitのバス幅で64bitですから、8個のチップが載っているということになります。
8個のチップを使うのは並列にアクセスしてメモリアクセスの速度を上げるためです。
カンの良い人は分かったと思いますが、このチップが16個載っているのがデュアルランクメモリです。
8GBのメモリの場合、8Gbit×8bitのメモリチップが8個実装されているのがシングルランクメモリで、4Gbit×8bitのメモリチップが16個実装されているのがデュアルランクメモリになります。
シングルランク 8Gbit[=1024Mbit×8bit]×8(メモリチップ数) =65536Mbit=8192Mbyte=8Gbyte
デュアルランク 4Gbit[=512Mbit×8bit]×16(メモリチップ数) =65536Mbit=8192Mbyte=8Gbyte
メモリの片面にだけチップが載っているのがシングルランク、両面に載っているのがデュアルランクと解説されていることもありますが、片側に4つずつ両面に8つ載っている場合もありますので、これは正しくありません。
DDR4までの場合、メモリチップ一つ当たりのバス幅8bitでDIMM全体で64bitのバス幅となるために8個のチップが載るわけですから、ほとんどのケースで16個載っている場合がデュアルランクと判断してよいと思います。
存在はするのかもしれませんが、片側にメモリチップが16個載っているDIMMというのは私は見たことがありませんので、両面にメモリが実装されている場合はデュアルランクの可能性が高いとは言えると思います。
実際に正確に判定するには使われているメモリチップの型番を検索して、スペックを調べるしかありません。
但し、そこまでしなくても、現在のシステムではメモリのランクが問題になることはほとんどありません。
昔のシステムでメモリのランクが問題になっていたケース
参考リンク:Dell - PowerEdgeシリーズ仕様詳細
リンク先はDellの昔のサーバーのメモリに関する解説です。
このシステムではデュアルチャンネルで1チャンネル当たりのチップセットのアクセス可能なランク数が4ランクですが、6つのメモリスロットが存在します。
このようなケースの場合、デュアルランクの1GB-DIMMを4枚搭載した場合、5番目と6番目のDIMM(DIMM3a/b)は使えません。
また、5番目と6番目のDIMM(DIMM3a/b)はシングルランクメモリしか使うことはできません。
こんな風に「メモリのスロットの数」と「DIMMのメモリランク」と「チップセットのアクセス可能メモリランクの数」が組み合わせによってオーバーしてしまうケースがあり、問題になるケースが存在しました。
このようなシステムではランクという概念を理解していなかった場合トラブルになる可能性があります。
また、リンク先にも書いてありますが
PowerEdge 2850で8GBのRAMを使うとします。このとき、デュアルランクDIMMを選ぶと、利用できるすべてのメモリ「ランク」がアドレス可能となり、8GBのRAMに備わる性能が最大限に引き出せます。
このような表記がなされていますので、このような表記を見て「デュアルランクメモリの方が性能が良くなる」と解説している人もいるのだと思います。
現在のLGA1151のシステムの場合、チャンネル当たり4Rankにアクセス可能ですので、4つのメモリソケット全てをデュアルランクメモリで埋めても動作します。
メモリのランクと性能
シングルランクとデュアルランクどちらの方が性能が良くなるか?ですが、システムによります。
例えばRyzenの場合、デュアルランクのメモリを使うとメモリスピードの上限が下がって性能が落ちます。
※ このようなこともあり、Ryzenは上級者向けのシステムと言えます。初心者の方はおとなしくintelを使いましょう。
しかし、古いシステムの場合、今まで説明してきた通りメモリのランクを全て使うと同じ容量でも性能が上がると言われていたので、古い資料や昔から自作をやっている人はデュアルランクメモリの方が性能が良くなると書いている人もいると思います。
シングルランクとデュアルランクを混ぜて使うとどうなる?
こんな変なことを試す人はあまりいないと思います。
2枚1組のメモリの組み合わせでシングルランクとデュアルランクを混ぜて使うとどうなるか?ですが、シングルランクとデュアルランクはチップセットから見て全く違うメモリなので、同じ容量でも正常に動きません。
片方だけしか認識しないか全く動かないか、どうなるかはやってみないとわかりませんが、まともに動かない可能性が非常に高いと言えるでしょう。
そのため、デュアルチャンネルのシステムでは、「二枚一組で同じメーカーの同じ型番の同一容量メモリ」を増設していくのがセオリーです。
ゲーミングPCにはメモリが一枚しか実装されてないシステムがありますが、後々の拡張を考える意味でも、性能的に見てもあれはあまりよくありません。
メモリのトラブルを避けるためにはどうしたらよいか?
では、シングルランク、デュアルランクを含めたメモリのトラブルを避けるためにはどうしたらよいのでしょうか?
以前の記事で解説したようにマザーボードのメーカーが動作確認したメモリを使うのが安全です。
この方法を使えばデュアルランク、シングルランクを含めてマザーボードのメーカーが動作を確認しておりますので、初期不良にでもあたらない限りはまず動作すると言ってよいでしょう。
※ただし、当然ですが、「二枚一組で同じメーカーの同じ型番の同一容量メモリ」を使うようにしてください。
参考記事:メモリに関する話
ここでは例としてASUSのROG STRIX Z370-F GAMINGを例に挙げてみましょう。
ROG STRIX Z370-F GAMING - Memory / Device Support
どこのメーカーでもほぼ上のようなページがあります。
ここの「ROG-STRIX-Z370-F-GAMING_Memory-QVL_20180223」をダウンロードしてください。
PDFファイルにメーカーが動作確認してあるメモリモジュールの一覧が載っています。
メモリのランクについては過去において第一世代Ryzenの様に数年に一度はトラブルになるケースがあったため5年も自作をやっていると一回は騒がれますので、理解している人も多いと思います。
自作をやっていてメモリのランクについて理解されてない方は初心者レベルと言ってもよいと思いますので、今後のトラブルに遭わないためにもこういうものもあるということを覚えておいてください。
参考リンク:PC Watch - メモリ屋社長のちょっとタメになるメモリ話 - Ryzenで話題になった、メモリの”Rank”って何のこと?