Mac業界の最新動向はもちろん、読者の皆様にいち早くお伝えしたい重要な情報、
日々の取材活動や編集作業を通して感じた雑感などを読みやすいスタイルで提供します。

Mac Fan メールマガジン

掲載日:

情報機器とソフトウェアの概念が変貌する新時代がやって来る

フラッシュストレージの未来は「ストレージ」から「メモリ」へ

著者: 今井隆

フラッシュストレージの未来は「ストレージ」から「メモリ」へ

HDDからSSDへ

初代MacのMacintosh 128kが登場した1984年当時、パソコンのストレージデバイスの主役はフロッピーディスク(FD)だった。しかし、1987年に登場したMacintosh IIや同SEにハードディスクドライブ(HDD)が標準搭載されるようになると、その後一気にパソコンのストレージデバイスの主力は高速なHDDに置き換わっていった。その後20年近く、HDDはパソコンのメインストレージとして標準搭載されてきたが、2008年に登場した初代MacBookエアで初めてSSD(フラッシュストレージ)が採用されて以降、徐々にHDDからSSDへの置き換えが進み、現在ではMacBookシリーズは一部の旧モデルを残してすべてSSD化されている。また、デスクトップ型のiMacやMacミニでもSSDとHDDのコンビネーションによる「フュージョン・ドライブ(Fusion Drive)」搭載モデルが用意され、Macプロは全モデルがSSD化されるなど、こちらも着実にゼロ・スピンドル化が進行してきている。

SSDはフラッシュメモリ素子を記録媒体に使用したストレージデバイスだが、回転する磁気ディスクを移動する磁気ヘッドでアクセスするHDDとは異なり、より高速化に適した構造を持つ。HDD自体のデータ転送速度は50~200Mバイト/秒と極めて高速だが、それはあくまでも連続した領域に一気にアクセスした場合の話だ。実際にはディスク上の目的のデータが格納されているトラックにヘッドを移動させる時間(シーク時間)と、そこに移動してから目的のデータがヘッドがある場所に回転してくるのを待つ時間(回転待ち時間)に数十ミリ秒単位の時間を要する。OSやソフトウェアの起動など小さなファイルを数多く読み出す必要があるケースでは、その待ち時間(オーバーヘッド)が大きく影響する。これに対して機械的構造を一切持たないフラッシュメモリを記録媒体に用いたSSDは、そのオーバーヘッドが限りなくゼロに近い。SSDを搭載したMacのOSやソフトウェアの起動が極めて高速なのはこのためだ。

2008年に開催された「Macworld Conference & Expo 2008」で初代MacBookエアをアピールする故スティーブ・ジョブズ氏。そのSSDモデルにはHDDモデルとの互換性確保のために、東芝製のPATA接続1.8インチ型SSDが採用されていた。

初期のSSDは外観上もHDDを模した形状になっていた。これはHDDに代わって取り付ける際の利便性を向上させる一方で、半導体メモリデバイスの持つ薄型軽量という特徴を活かせないというジレンマも併せ持っていた。

置き換えとしてのSSD

登場した頃のSSDは、そのインターフェイスとしてHDDと同じPATA(パラレルATA)やSATA(シリアルATA)を採用していた。これは当時のOS(特にウィンドウズ)がHDDからの起動を前提とした設計となっていたためで、SSDはHDDの動作をエミュレーションすることで、HDD互換デバイスとして動作するように作られていた。

また、その外観も1.8インチや2.5インチのHDDと同等形状とし、HDDと丸ごと置き換えて使用することを想定した構造となっていた。だが、本来SSDの特徴は小型化や軽量化が容易な点にあり、特にMacBookのようなモバイルデバイスではその恩恵が大きい。そこで開発されたのがmSATAやM.2に代表されるスティック形状のSSDだ。SSDコントローラとフラッシュメモリチップを実装するのに必要最小限のサイズ(フォームファクター)で設計され、搭載デバイスの薄型化や軽量化に大きく貢献している。

さらにそのインターフェイスも見直された。SATAは最大600Mバイト/秒と、HDDに対しては充分高速なストレージインターフェイスだが、SSDは設計次第でその規格を大幅に上回る転送速度を発揮できる。そこでシステムバスであるPCIエクスプレスに直結するアプローチが採用された。

このPCIエクスプレス接続型のSSDでは、SATAインターフェイスの転送速度に縛られないより高速なデータ転送が可能となった。

物理インターフェイスだけでなく、SSDを扱うプロトコル層にもメスが入れられた。PCIエクスプレス接続になったあとも、SSDへのアクセスプロトコルにはSATAと同じAHCI(Advanced Host Controller Interface)が採用されていたが、これはAHCIしかサポートしない従来のOSとの互換性を確保するためだ。AHCIは本来ディスクデバイス向けのプロトコルであり、メモリデバイスであるSSDを扱うにはオーバーヘッドが大きい。そこでパイプライン処理やランダムアクセスなど、メモリベースのストレージであるSSDの特徴を活用できる新しいインターフェイス/プロトコル規格として、NVMエクスプレス(Non Volatile Memory Express)が規定された。最新のMacでは、このNVMエクスプレスベースのSSDが搭載されている。

最近のMacには、いずれもスティック型の薄型で軽量なSSDモジュールが採用されている。しかし、そのインターフェイスやプロトコルは何度か更新されており、異なる規格のモジュール同士は互換性がない。

ストレージからメモリへ回帰

さらなる高速化の動きはすでに始まっている。SSDはより高速なバスへの接続を求めて、CPUのメモリバスに直結するアプローチを採り始めた。その1つがメモリモジュールであるDIMMへのフラッシュメモリの搭載で、NVDIMMと呼ばれる。NVDIMMには、電源OFF時にフラッシュメモリにSDRAMのバックアップを行う「NVDIMM−N」、フラッシュメモリのみを搭載する「NVDIMM−F」、SDRAMとフラッシュの両方を搭載する「NVDIMM−P」の三方式がある。

このうちNVDIMM−FとNVDIMM−Pは、フラッシュメモリをCPUのメモリ空間上に配置する点で画期的なシステムとなる。なぜならこれらのNVDIMMでは、フラッシュメモリがCPUから見た場合にストレージではなくメモリに見えるためだ。このNVDIMM自体はメモリモジュールの規格だが、その技術は特にモジュールに限定されず、最近のMacBookシリーズのようなオンボードメモリシステムにも応用が可能だ。

フラッシュメモリは半導体メモリデバイスであるにも関わらず、長らくストレージデバイスとしてシステムから認識されてきたが、ここに来てようやく本来のメモリデバイスとして扱われ始めたことになる。従来のパソコン(iOSデバイスを含む)では、OSやソフト、データなどはすべてファイルとして扱われ、HDDやSSDなどのストレージデバイスに記録されてきた。これらのファイルは必要に応じてメモリにロード(読み込み)され、CPUによって処理される仕組みだ。これはメモリが揮発性(電源を切ると内容が失われる)であり、ストレージは不揮発性だがアクセス速度が非常に遅い、という特性を持っているがゆえに採用されたシステム構造である。

ところが、不揮発性のフラッシュメモリがCPUのメモリバスに直結されると何が起きるだろうか。そもそもソフトやデータなどのファイルをメモリにロードする必要がなくなり、フラッシュメモリから直接読み出して実行することが可能になる。すなわちソフトウェアの概念や階層構造そのものに大きな変革が訪れることになる。

Macに採用されているインテルプロセッサはもちろんのこと、iOSデバイスのアップルAプロセッサもすでに64ビット化が完了している。そのアドレス空間は32ビット時代の4ギガバイトの制限から解放され、数テラバイトを越えるフラッシュメモリを直接管理する準備はすでに完了している。今後の情報機器はいつでもどこでも電源を入れれば即使える、必要なデータは瞬時に開き、アプリがいつ起動したかなど意識する暇すらもない、そんなデバイスに生まれ変わろうとしているのだ。

NVDIMM-Fの一種である、米SanDisk社の「ULLtraDIMM」。1枚で200GBまたは400GBの容量を持ち、DDR3 SDRAM DIMMとの互換性を持つ。複数枚をマルチチャンネル動作させることでさらなる高速化と大容量化が可能だ。

大容量で不揮発性だが低速なストレージに保存したファイルを、揮発性だが高速なメモリにロードして処理するのが従来のシステム構造(左図)だが、不揮発性のフラッシュメモリがメモリバスに直結されることでこれが激変する可能性が出てきた(右図)。

Macに採用されたSSDのインターフェイスと仕様の変化。当初のSSDはPATAまたはSATAインターフェイスとIDE/AHCIプロトコルだったが、現在はNVMエクスプレスのインターフェイスおよびプロトコルに変更されている。

【用語】

ゼロ・スピンドルとは、主にハードディスクや光学式ドライブなどの(回転する)ディスクメディアを扱うドライブを搭載しない機器のこと。薄型化や軽量化が可能なのみならず、省電力化(バッテリ駆動時間の増加)や耐衝撃性も向上するなどメリットが大きい。

【メモリバス】

初期の8ビットパソコン(マイコン)ではROMやRAMがCPUに直結されており、電源を入れればモニタシステムやBASICなどが瞬時に起動した。最近のフラッシュストレージの進化はある意味で当時への回帰と見ることもできる。