連載
» 2016年02月26日 11時30分 UPDATE

福田昭のデバイス通信 ARMが語る、最先端メモリに対する期待(4):メモリ・アーキテクチャの基礎 (1/2)

今回は、NANDフラッシュメモリ登場後のメモリ・アーキテクチャを見ていきながら、「CPUのメモリに対する要求」を考えていく。

[福田昭,EE Times Japan]

NANDフラッシュメモリが新しい階層を生み出した

 国際会議「IEDM」のショートコースで英国ARM ReserchのエンジニアRob Aitken氏が、「System Requirements for Memories(システムがメモリに要望する事柄)」と題して講演した内容を紹介するシリーズの第4回である。

 前回からは、講演の第2パートである「CPUのメモリに対する要求」の概要をご報告している。前回は、CPUアーキテクチャの変遷を振り返るとともに、NANDフラッシュメモリが登場する以前のメモリ・アーキテクチャを説明した。

 既に述べたように、CPUを搭載したシステムのメモリ・アーキテクチャは、正三角形あるいはピラミッド形をした図形と、水平な階層を垂直方向に積み重ねた構造で説明することが多い。NANDフラッシュメモリが発明されて普及する以前は、ピラミッド図形の頂点(最も高速なメモリ)から底辺(最も記憶容量の大きなメモリ)に向かって、「レジスタ」「キャッシュ」「主記憶」「仮想記憶(ストレージ)」の階層でメモリシステムを構成していた。

 NANDフラッシュメモリの発明と普及によってSSD(Solid State Drive)に代表されるフラッシュ・ストレージが登場し、急速に進化していった。SSDの記憶容量は急激に増大し、記憶容量当たりの単価は急激に低下した。その結果、メモリ・アーキテクチャのピラミッド図形には、新しい階層が加わった。「主記憶」と「仮想メモリ」の間に、SSDやUSBメモリなどのフラッシュ・ストレージによる「固体メモリ(Solid State Memory)」の階層が入り始めた。これが現在のメモリ階層である。

ts160226_IEDM01.jpg 現在のメモリ・アーキテクチャ (クリックで拡大)出典:ARM

揮発性メモリと不揮発性メモリ

 現在のメモリ・アーキテクチャは大きく、2つの世界に分かれている。1つは「揮発性(Volatile)」メモリの世界であり、もう1つは「不揮発性(Non-Volatile)」メモリの世界である。

 揮発性メモリとは、電源をオフにすると記憶内容が消えてしまう性質のメモリを指す。メモリ・アーキテクチャのピラミッドでは上部に位置する。「レジスタ」から「主記憶」までの階層だ。CPUがバイト単位で直にアクセス可能なメモリの階層でもある。

 不揮発性メモリとは、電源をオフにしても記憶内容が維持される性質のメモリを指す。メモリ・アーキテクチャのピラミッドでは下部の位置する。具体的には、「固体メモリ」と「仮想メモリ」の階層が相当する。

 固体メモリと仮想メモリの階層は、CPUが直にアクセスできない。またアクセス単位はバイト単位ではなく、もっと大きな「ブロック」と呼ぶ単位になる。例えば仮想メモリのデバイスであるHDDは、512バイトを1個のブロックとして扱う。

 固体メモリと仮想メモリでデータのやりとりを制御するのは、入出力コントローラである。まずCPUと入出力コントローラが通信し、次に入出力コントローラがメモリにデータを書き込んだり、メモリからデータを読み出したりする。CPUから見ると、データへのアクセスは間接的になる。

ts160226_IEDM02.jpg 上部の揮発性メモリと下部の不揮発性メモリでメモリ・システムを構成 (クリックで拡大) 出典:ARM
       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.