リフレッシュサイクルを理解する方法
コンピュータの RAM にはさまざまな種類がありますが、要点をまとめると、RAM と言う場合、通常はシステム メモリ、つまり技術的には DRAM (Dynamic RAM) を指します。このクラスには、マザーボードに搭載するメイン RAM だけでなく、DRAM キャッシュを少し搭載した SSD や、グラフィック カードの VRAM も含まれます。さらに、CPU や GPU の超高速な小さなキャッシュとして使用される SRAM (Static RAM) もあります。しかし、SRAM は高価でそれほど密度が高くないため、主に内部キャッシュに使用されており、ギガバイト単位の容量はありません。一方、DRAM は低速ですが、より小さなスペースに多くのデータを詰め込んでおり、コストも低いため、システム メモリやビデオ RAM など、あらゆる場所に使用されています。
SRAMとDRAMを区別するのは、その構造の違いです。SRAMはセルあたり約4~6個のトランジスタを使用するため、高速ですがより複雑です。一方、DRAMはセルあたり1個のトランジスタとコンデンサのみを必要とします。その理由は定かではありませんが、DRAMは部品点数が少ないため、より少ないスペースに多くの情報を詰め込むことができ、高密度化を実現しています。また、この計算式は、SRAMがスタティック(電源を切るまで情報を永久に保持する)であるのに対し、DRAMがダイナミック(定期的な「リフィル」またはリフレッシュが必要)である理由も説明しています。コンピューターは物事を複雑にするのが大好きですよね?
メモリリフレッシュとは何ですか?
さて、ここからが少しイライラするところです。DRAM の設計上、各メモリセルの電荷は時間の経過とともにリークします。コンデンサは、温度、電気的ノイズ、単純な物理的要因などにより電荷を失います。そのため、データを維持するために、メモリコントローラは定期的にメモリのすべての行を調べて「リフレッシュ」する必要があります。各行にすばやく電荷を補充すると考えてください。このリフレッシュサイクルは通常 64 ミリ秒ごとに発生しますが、システムが高温になっていたり負荷がかかっている場合は、この速度が速くなることがあります。リフレッシュが発生すると、行を読み取ってすぐに書き換えるようなものになるため、データは失われません。問題は、これらのリフレッシュ中はメモリの読み取りや書き込みができないため、特にシステムでメモリを大量に消費する処理を多く実行している場合は、パフォーマンスがわずかに低下する可能性があることです。
設定によってはリフレッシュプロセスは単純に見えますが、リフレッシュサイクルは75~120ナノ秒程度なので、全体的にはかなり高速です。ただし、RAMやシステムが過熱すると、リフレッシュ間隔を短くする必要が生じ、パフォーマンスと消費電力に影響が出る可能性があります。そのため、システムが重く感じる場合は、これらのリフレッシュサイクルが通常よりも頻繁に発生している可能性があります。奇妙に思えますが、DRAMはこのようにして高速だと思わせているのです。実際には、裏で常に動作していることに気づくまでは。
DRAMをリフレッシュする方法
この部分はちょっと意外な話ですが、DRAMからの読み出しは実際には破壊的であり、読み出しプロセスによってセル内のデータが消去されます。当然ながら、システムはこれを自動的に処理するため、データはセンスアンプに読み込まれ、すぐにメモリセルに書き戻されます。これはプリチャージサイクルと呼ばれます。そのため、システムはデータの安全性を確保するために単一の読み出しに頼ることはありません。代わりに、通常はメモリコントローラによってタイミングが調整され、バックグラウンドでこれらのリフレッシュサイクルを実行します。実際には、これらはすべてシームレスに行われるため、ほとんどのユーザーはそれが起こっていることに気づきません。ただし、オーバークロックや高負荷のハードウェアを使用している場合は、リフレッシュサイクルが同期する際に奇妙なちらつきやわずかな遅延に気付くかもしれません。
オーバークロックやBIOS設定など、手動で調整する場合、リフレッシュレートの微調整を試みる愛好家もいます。より上級のユーザーであれば、BIOS経由でタイミングを調整したり、MemTest86やIntel XTUなどの専用ツールを使用してメモリタイミングが十分にアグレッシブかどうかを確認することもできますが、リフレッシュレートをいじると逆効果になる可能性があります。ここでは安定性が重要です。通常は、マザーボードのデフォルト設定で調整するのが最善です。デフォルト設定はほとんどのセットアップに最適化されています。
外れ値と例外
奇妙なのは、ほとんどの DRAM セルが 64 ミリ秒ごとにリフレッシュされる必要があるのに対し、一部の例外的なセルはそれよりずっと長い間、電荷を保持できることです (まれに状態が良い日には最大 50 秒)。ほとんどのセルは約 10 秒間はリフレッシュなしでも問題ありませんが、ごく一部のセルは、特に品質が低かったり温度が急上昇したりする場合は、1 秒ごと、あるいはそれよりも短い間隔でリフレッシュする必要がある場合があります。そのため、DRAM のリフレッシュ時間は短く抑えられており、最悪のシナリオでデータが失われるのを防ぎます。一部の研究者は、RAM セルを減衰時間で分析して分類しようと試み、より信頼性の高いセルを再ビニングまたはビニングするというアイデアにつながりました。これにより、低電力デバイスのバッテリー寿命とパフォーマンスが向上する可能性があります。ただし、これはまだ完全には主流ではなく、温度変動と経年劣化によってセルが予期せず電荷を失う可能性があり、システム全体がやや予測不可能になるため、複雑です。
結論
DRAM のリフレッシュ サイクルは基本的に必要悪です。これがないと、電荷が自然に失われるため、データは失われてしまいます。一方、SRAM は設計が異なるため、このような継続的な補充が必要ありません。そのため、より高速で安定していますが、はるかに高価でサイズも限られています。そのため、しばらくしてシステムが遅くなったと感じた場合、特に負荷が高いときや熱があるときは、リフレッシュ サイクルが通常よりも頻繁に発生している可能性があります。結局のところ、これを理解することで、RAM が時々異常な動作をしたり、特定の調整に慎重なアプローチが必要な理由を説明できます。覚えておいてください。これらのリフレッシュは自動的に行われ、ほとんどのセットアップではシームレスに行われます。それでも、舞台裏で何が起こっているかを知っておくのは良いことです。なぜなら、正直に言って、コンピューターは見た目よりもはるかに複雑だからです。