コンピュータの速度を図る指針の一つに、「メモリ」があります。
「このパソコン、メモリはいくつ?」
「こちらのスマートフォンのメモリは4Gです」
こういった会話は日常茶飯事です。
しかしながらこのメモリ、ただポンとCPUに搭載されているわけではありません。
メモリにも様々な種類があり、とりわけCPUのメインメモリから送受信されるデータの管理を行う「メモリコントローラ」は、メモリという機能における立役者のような存在です。
この記事では、メモリコントローラについて解説いたします。
1.メモリコントローラとは
「メモリ」とは、その名の通り記憶装置です。
この記憶装置がなくては入力したデータはたちどころに消え、また何の処理も行われません。
メモリがあることによってデータは保持され、適切な処理が行われ、必要に応じて保存されることとなります。
冒頭でも述べたように、ひとくちにメモリと言っても様々な種類や役割があります。
そして、メモリコントローラは、頭脳にあたるCPUが司るメインメモリに携わる重要な立ち位置にいます。
メモリコントローラにおいては、メインメモリ(主記憶装置)が送受信するデータを管理しており、具体的にはRAMのデータの読み書きやDRAMのリフレッシュを行います。
ここでメモリを簡単におさらいしておくと、メモリは電源供給しないとデータ保持をしない揮発性メモリと電源供給に依存せずにデータ保持を行う不揮発性メモリに分けられます。
メインメモリもRAMも揮発性メモリとなり、電源が入っている時はここにデータが読み込まれたりデータを書き出したりといった一連の動作を示します。
ただし、DRAMは「リフレッシュ」を定期的に行わなくてはなりません。
と言うのも、DRAMは無数のコンデンサを有することが特徴的なメモリです。
ご存知コンデンサは電荷を貯める働きをしますが、何もしないでおくと電荷が放出されてしまいますね。
そのため定期的に電荷を補充してあげなくてはならないのですが、この作業のことをリフレッシュと呼びます。
こういったリフレッシュ含め、メモリコントローラはメモリの正常な駆動のための管理を行う役割があります。
なお、メモリコントローラはLSI(Large Scale Integration;高密度集積回路)となったデバイスのことですが、機能そのものを指すこともあります。
LSI式のメモリコントローラはマイクロプロセッサと一体化しており、統合メモリコントローラ(IMC)と呼ばれます。
もちろん、別チップに統合したり独立したチップとなったメモリチップコントローラ(MCC)またはメモリコントローラユニット(MCU)も存在しますが、現行のコンピュータは統合メモリコントローラが搭載されていることが多いです。
★そもそも「メモリ」について知りたい方はこちら
2.メモリコントローラの進化の軌跡
メモリコントローラは、従来はマザーボードに搭載されたチップセットに組み込まれることがほとんどでした。
チップセットはブリッジと言った別名があるように、マザーボードと他機能を橋渡しするための役割を担っており、CPUにおいてきわめて重要なパーツです。
しかしながらメモリ容量がどんどんと膨大化するにつれ、チップセットを介したデータの読み書きや管理は低効率となっていきました。
メモリにデータを送り込むのに、レイテンシー(待ち時間)が発生し、高速化の妨げになっていたのです。
そこで2003年頃、アメリカのA社がリリースしたCPUアーキテクチャ「K8」で、LSIに当たる統合メモリコントローラが採用されます。
余談ですが、1990年代には既に統合メモリコントローラの使用例があります。
ただしこれは外付けのメモリコントローラを削減することで、コストを抑えるために採られた措置だったようです。
その後2008年、I社もCore i7より、統合メモリコントローラを採用。
メモリレイテンシーは各段に低減され、データ処理速度は飛躍的に上がっていくこととなりました。
なお、Core i7は、QPI (QuickPath Interconnect)と呼ばれる新たなシステムバスを採用したことも特筆すべき点です。
システムバスとは、CPUとコンポーネントを接続するための伝送路(バス)のこと。
従来のチップセットと一体になったメモリコントローラ下では、しばしばシステムバス帯域がメモリの性能を干渉していました。
しかしながら統合メモリコントローラの使用で速度が上がり、この干渉を気にする必要がなくなり、システムバスもまたアップデートすることが可能となったのです。
3.ますます高まるメモリコントローラの必要性
このように、メモリの根幹をなすと言っても過言ではないメモリコントローラ。
そのためメモリコントローラがデバイスの性能を左右することがしばしばです。
とりわけ、SSDとメモリコントローラの関係性は密接です。
SSDとはソリッドステートドライブ(Solid State Drive)の略称で、最近デスクトップパソコンやノートパソコンで主流となってきたストレージです。
パソコンを選ぶ時、メモリとSSDに注視する方も多いでしょう。
従来用いられてきたHDDはディスクを内蔵し、その回転でデータの読み書きを行いました。
対するSSDは、メモリチップを内蔵しています。
そのため小型軽量で高速、機械的な構造が少ないため耐衝撃性が高いというメリットがありますね。
このSSDに内蔵されているメモリチップは、まさにメモリコントローラのことです。
つまり、内蔵されるメモリコントローラのスペックによってSSDの性能や速度が決まったり、どれくらい長持ちするかにかかわってきたりするのです。
そのため、SSD市場が拡大する昨今では、それに比例してメモリコントローラの改良も積極的に行われています。
新型コロナウイルスの影響で半導体市場の縮小が叫ばれてはいますが、何のその。
今後、さらにリファインされたメモリコントローラによって、より私たちの生活は豊かに便利になっていくことでしょう。
4.まとめ
メモリコントローラについて解説いたしました。
メモリコントローラとは、メインメモリを介したデータ処理、具体的にはRAMのデータ読み書きやDRAMのリフレッシュ等を管理するためのLSIであること。
従来はチップセットに搭載されていましたが、今ではCPUへの統合メモリコントローラが主流であること。
レイテンシーを低減させ、データ処理の高速化に大きく貢献したこと。
SSDの性能や寿命を左右する、きわめて重大な素子であることをご理解頂けたでしょうか。
今後、ますます重要性を高めるであろうメモリコントローラ。
この機会に、ぜひマスターしてみてくださいね。
半導体・電子部品・モジュール製品の購入はコアスタッフオンラインへ