※本記事は『Mac Fan』2021年3月号に掲載されたものです。
–読む前に覚えておきたい用語–

15年あまりで急速に進んだ MacのSSD化
この15年あまりでMacの性能は大きく飛躍したが、中でも大きな進化を遂げたのがストレージだ。MacのストレージはFD(フロッピーディスク)に始まり、1980年代後半にHDD(ハードディスク)へと移る。そして、その後20年以上HDDが主役の時代が続いた。
変化が生じたのは、2008年1月に初代MacBookエアがリリースされたとき。Mac初となるSSD搭載モデルが用意され、それ以降SSDはMacBookシリーズからデスクトップモデルへと普及が進み、今では全モデルでHDDが廃止され、代わってストレージにはSSDが採用されている。
当初PATA(Ultra ATA)だったSSDのインターフェイスは、SATA(Serial ATA)からPCIe(PCI Express)へ、そのプロトコルも「AHCI(Advanced Host Controller Interface)」から「NVMHCI(Non-Volatile Memory Host Controller Interface)」へと進化を遂げた。
現在ストレージの主役であるSSDの中身は、記録媒体であるNANDフラッシュメモリと、それを管理しストレージインターフェイスへと変換するSSDコントローラで構成されている。
つまり、SSDは不揮発性メモリを記録媒体としたストレージだ。メモリデバイスである不揮発性メモリをストレージとして使用するのは、従来のコンピュータとその上で動くOSやアプリが、ストレージにプログラムやデータなどのファイルを置いて管理する、というアーキテクチャを採用しているためだ。
よって、SSDは本来のメモリデバイスではなく、HDDなどのストレージの動作を模した仕様になっている。
不揮発メモリのあるべき姿への回帰
SSDの記録媒体であるNANDフラッシュメモリはれっきとしたメモリデバイスであり、そのインターフェイスを見直すことでストレージではなく、メモリとしてメモリバスに接続することが可能だ。
プロセッサに直結されたメモリバスはPCIeやSATAに比べてはるかに高速で、かつアクセスのレイテンシ(遅延)も極めて少ない。
たとえば従来のIntel製CPUを搭載したMacに採用されていたSSDはPCIe Gen.3の4レーン接続で、理論値最大4GB/秒、実力値で約3GB/秒だが、「Apple M1」チップに搭載された4266MHz動作のLPDDR4メモリ(デュアルチャンネル/128ビット)の最大理論値は約68GB/秒に及ぶ。まさに桁違いだ。
この高速かつ低遅延のメモリバスに、不揮発性メモリを直接接続しようというデバイスが、「SCM(Storage Class Memory)」である。ただし、SCMの本来の目的は低速なストレージと高速なメモリデバイスの間に入って、両者の大きな性能格差を埋めることにあった。
しかし、不揮発性メモリの高速化と大容量化が進んだ結果、ストレージをSCMで置き換えることも可能となりつつある。
SCMはすでに実用化されており、たとえばIntelとMicron Technologyが共同開発した「3D XPoint」や、Samsungが開発した「Z−NAND」などがこれに相当する。

画像:Intel
3D XPointは3DPCM(相変化メモリ)、Z−NANDは3DNANDベースの独自設計品で、いずれも従来のNANDフラッシュメモリより高速な不揮発性メモリとなっている。
もちろん従来の3D NANDのアクセス方法を工夫することで速度を高めたNVDIMMのような製品もあり、いずれも不揮発メモリをメモリデバイスとして扱う点で共通している。
SCMがもたらすストレージ概念の変革
不揮発性メモリをメモリバスに接続することにより、SCMでは従来の(SSDなどの)ストレージに比べて非常に高速なアクセスが可能になるが、実はそれはSCMの優れた特性の1つに過ぎない。SCMの真意は「ストレージ概念の変革」にある。
現在のパソコンでは、電源を入れるとストレージ上のOSがメモリに転送されて起動し、さらにユーザの指示によってアプリやデータがストレージからメモリに転送されて処理され、その結果が再びメモリからストレージに転送される。
たとえるなら、書棚(ストレージ)にある書籍(OS、アプリ、データなど)の中から自分に必要なものを、自分の机(メモリ)に持ってきて仕事をする、そんなイメージだ。

しかし、SCMではストレージがメモリバス上にあるため、そもそもメモリにロードする必要がない。OSやアプリ(書棚の資料)をわざわざメモリ(机上)に持ってくる必要がなくなり、すべてはプロセッサから直接手が届く場所に存在する。
つまり、SCMによってOSやアプリはメモリに転送することなく瞬時に起動するようになる。さらに、OSやアプリをロードしておく場所が不要になるので、メモリ容量も最小限で済む。
このような優れたSCMの特性を活用するには、システムの対応が欠かせない。一方、AppleはApple M1において「ユニファイドメモリ」アーキテクチャ(UMA)を採用した。これは従来のプロセッサ中心のアーキテクチャではなく、メモリシステムを中核に置き、各プロセッサがこれにアクセスする方式だ。

画像:Apple
データを格納したメモリをシステムの中心に置くこの考え方は、SCMと非常に親和性が高い。なぜならUMAとSCMを組み合わせることで、メモリ上のみならずストレージ上のデータに各プロセッサが直接アクセスできるようになり、あらゆるデータへのアクセスが高速になると同時に、データ転送そのものが不要になるためだ。
実はApple M1ではSSD(不揮発性メモリ)の接続先がひっそりと変更されている。従来のIntel Macでは、SSDとプロセッサ間はPCIeで接続されていた。しかし、Apple M1のSSDの接続先は「Apple Fabric」、すなわちM1の中枢神経に相当する、超高速伝送路の「ファブリック」に直結されている。

つまり、Apple M1内のすべてのプロセッサは、SSDに直接アクセスできるようになっているものと推測される。
今後macOSの最適化と不揮発メモリの高性能化が進めば、Appleシリコンはその圧倒的な性能にさらに磨きを掛けると同時に、Macは将来のパソコンのあり方を変える存在になるだろう。
著者プロフィール
