特集

Nintendo Switch 2で採用された「microSD Express」って何?解説しつつ性能を確認してみた

 デジカメWatchにもこんな記事が掲載された「microSD Express」。任天堂の「Nintendo Switch 2」でこれが採用されることが発表され、さらに転売対策としてSwitch 2当選者限定でmicroSD Expressカードを任天堂が直販することを発表するなどしたことで、いろいろと話題になっているわけだが、この辺で一度規格と性能をまとめてご紹介したいと思う。

SDとSD Expressの関係からおさらい

 2022年に「UHS-I?スピードクラス?複雑怪奇なSDカードのロゴと規格をまとめてみる」という記事を書いたが、この時にもちょろっと名前が出ていたのがSD Expressである。

 この記事の表1に示したように、一般に市場に流れている(いた)カードとしてはSD/SDHC/SDXC/SDUCカードの4種類があり、SDHC/SDXC/SDUCの3種類はSD Expressに対応「できる」。

 対応「している」わけではない。つまり、SD Express対応のインターフェイスを持つことができるというだけの話で、実際に持っているかどうかは別の問題である。

 現実問題として、SD Express対応カードの場合は、こんな具合(図1)に明確に「EXPRESS」および「EX」の表記が追加されているはずである。ちなみにこの原稿を書くためにAmazonをちょっと覗いてみたが、SD Expressカードはまるで在庫なし。後述するmicroSD ExpressカードはSanDiskの128GB品と256GBしか存在しなかった。

【図1】SD AssociationのSD Express製品ページより。とにかくどこかに「Express」表記がないと、仮にSDUCカードであってもSD Expressでの転送はできないことになる

 で、そのSanDiskのmicroSDXC カードとmicroSDXCカードを並べてみたが、明確に「Express」の表記と「EX」の文字が記されているのが分かる。とにかく「EXPRESS」/「EX」の文字がないと、SD Expressには未対応なので、注意が必要である(写真3)。

【写真2】左から128GB microSD Expressカード、256GB microSD Expressカードと512GB microSD。一番右だけSD Expressではない
【図3】SD Express 8.0のホワイトペーパーより。「EX」はショート版、「EXPRESS」はロング版でどっちかが記載されていれば、それはSD Express対応ということになっている

 ちなみに表からみるとSD Expressか否かは文字しかないわけだが、裏面を見ると下の画像からも分かるように明らかに接点数が異なる。分かりやすいのは左端で、SDバスやUHSの場合、一番左端の接点は1つ(9番)だけだが、SD Expressは9番と19番がある。この19番があるか否かが一番明確な気がする。

 性能の面から言うと、SD Expressか否かでアクセス速度が大きく変わる。前回の記事の表1にも示したが、ピーク性能は

  • SD Bus Default:12MB/s
  • SD Bus High Speed:25MB/s
  • UHS-I(SDR50/DDR50):50MB/s
  • UHS-I(SDR104):104MB/s
  • UHS-II:156MB/s(HD)、312MB/s(FD)
  • UHS-III:312MB/s(HD)、624MB/s(FD)
  • SD Express PCIe 3.1 1レーン:985MB/s
  • SD Express PCIe 4.0 1レーン/PCIe 3.1 2レーン:1,969MB/s
  • SD Express PCIe 4.0 2レーン:3,938MB/s

となっている(HD:半二重、FD:全二重)。SD ExpressがSD BusとかUHSと全く異なるのは、PCI Expressを利用した接続になっているからである。要するにNVMe SSDと同じ仕組みであり、実際のところホストから見るとNVMe SSDとSD Expressは大差ない形になって見える。

 大差ない、ということは小差はある。何が違うかというと、SD Expressは互換性確保のため、SDカードとしての動作モードも用意されていることだ。図4は携帯機器などに向けたSD Expressの実装の例であるが、SD Expressは従来のSDカードと同じアクセス手段に加えて、PCIe/NVMeのコントローラも搭載しており、しかもこのコントローラは直接自分でDMAをハンドリングできる。

【図4】これもSD Express 8.0のホワイトペーパーより。これは携帯機器でSD ExpressがDMA転送を行なう際の構造を示したものだが、こうみるともう完全にNVMe SSDと違いがないことになる

 ではNVMe SSDとの違いは何か?というと、「Legacy SD card and embedded memories」ブロックが付属していること。SD Expressとしてアクセスしている最中に、レガシーのSDカードのインターフェイス経由で同時アクセスが発生したりすると都合が悪い(これは逆もそうだ)。なので、NVMe SSDとしてアクセスしている時は「SD and other embedded memory protocols HCI」の側でアクセスを止める必要があるし、SDカードとしてアクセスしている際はNVMeストレージの側を止める必要がある。

 この処理をCPUに行なわせなければいけないのが、通常のNVMe SSDとの違いということになる。ただ逆に言えば違いはこの程度であり、「ほぼ」NVMe SSDと同じように扱うことが可能である。

 もっともNVMe SSDといってもそれは仕組み上という話で、使い勝手という点では一歩劣る。そもそもSD Expressは最大でも4GB/s程度の帯域しか提供されないが、最近のNVMe SSDはPCIe 4.0×4でも8GB/s程度の帯域は普通に利用可能で、ぼちぼち増え始めたPCIe 5.0×4のものだと10GB/sを超えるから、通常のNVMe SSDの代わりをさせようとすると「遅い」と感じるのではないかと思う。

 ちなみにSD ExpressにはPCIe 3.1と4.0で、それぞれ1レーンと2レーンの4種類の規格があるが、

SD 7.0(2018年6月)でPCIe 3.1の1レーンの規格が追加される
SD 8.0(2020年5月)でPCIe 4.0への対応、およびび2レーンの規格が追加される

という仕様の変遷があり、この結果

  • PCIe 3.1 1レーン(985MB/s)
  • PCIe 3.1 2レーン(1,969MB/s)
  • PCIe 4.0 1レーン(1,969MB/s)
  • PCIe 4.0 2レーン(3,938MB/s)

の4種類の接続方式が想定されることになったためだ。

 ちなみにこの速度に関しては、SD Expressカードのパッケージには一切記載がされない。というのは、SD ExpressカードだけでなくSD Expressカードリーダの側でどこまでの速度に対応しているかも速度に関係してくるためだ。

 それもあって、うかつにSD Expressカードのパッケージに「4GB/s」とか謳ってしまっても、カードリーダがPCIe 3.1 1レーンとかだと1GB/sしか出ないということになって「詐欺だ」とかいう騒ぎになりかねない。速度表記を入れなかったのは、SD Association的にはこうしたトラブルを避けたかったのだろうと推察される。

 さらに言えば、上に書いた速度はあくまでもインターフェイスの速度であって、内部のフラッシュメモリが本当にその速度で読み書きできるかどうかは保証外である。それもあってSD AssociationではSD 9.1にSD Express Speed Classという新しい指標を追加した(図5)。

【図5】こちらはSD Express 9.1のホワイトより。ただこのSpeed Classは2023年10月に公開されているにも関わらず、実際のSD Expressカード/microSD Expressカードでこれを記載している製品がない……

 これは最低速度を保証するもので、E600であればリード/ライトともに600MB/sでアクセスできることを保証するというものだが、このテストは結構シビアなものである(図6)。E600であれば

  • 75MB/sの8ストリーム同時書き込み(a)
  • 530MB/sの書き込み+10MB/sの書き込み×7(b)
  • 100MB/s×2の書き込み+50MB/s×2の書き込み+100MB/s×2の読み出し+50MB/s×2の読み出し(c)
【図6】仕様的には合計で8ストリーム、150/300/450/600MB/sでのアクセスが決まっているだけで、それをどう配分してアクセスするかはアプリケーションに任されている

といったことをきちんと保証できる必要がある、としている。

 実のところ、このSD Express Speed Classの方がより重要な性能の指標であって、そしてPCIe 3.1 1レーンでもE600を満たすことは問題ないから、インターフェイスの速度そのものはあえて記載しない、という配慮なのかもしれない。

SD ExpressとmicroSD Expressの関係

 前置きが長くなったがいよいよ本題のmicroSD Express。microSD ExpressはSDカードとmicroSDカードの関係と同じで、小型版のSD Expressである。仕様が定められたのは2019年2月にリリースされたSD 7.1で、裏面に1レーン分のPCI Express 3.1の信号ラインが追加された(図7、写真8、写真9)。

【図7】SD Expressのホワイトペーパーをベースに筆者作成。上側がSDカードの端子で、その下にSD Expressの端子が追加される
【写真8】実際に製品での比較。上が今回借用したmicroSD Expressカード、下が筆者手持ちのmicroSDカード。パッケージの違いしかない
【写真9】裏面を見ると端子が明確に異なっているのが分かる

 ただしmicroSD Expressカードに関してはSD 8.0でも2レーン目の端子は追加されなかったため、速度としては

  • PCIe 3.1 1レーン(985MB/s)
  • PCIe 4.0 1レーン(1,969MB/s)

のどちらかになる。違いはサイズとこのレーン数だけであって、容量などには差はない。

 現状たとえば日本のAmazonでmicroSD Expressカードを検索してもSanDiskの128GB品か256GB品しか出てこない(たとえばLexarの1TB品は在庫切れ)が、これは米国でも似たようなものであり、どうもまだターゲットとなる機器が市場に出ていないこともあってニーズが少なく、それもあってそもそも流通していないという風に思える。

 このあたりは卵と鶏であるが、今回Switch 2がサポートを表明したことで、今後は急速に製品が増えても不思議ではないように思われる。

 ちなみに容量的な話で言えば、SanDiskは現在128GB/256GBのみだが、Lexarの「PLAY PRO microSDXC Expressカード」には1TB品がラインナップされているし、ADATAの「Premier Extreme microSDXC SD7.1 Expressカード」は256GBと512GBがラインナップされている。

 そんなわけで、今後はもっと大容量のmicroSD Expressカードが入手可能になってくるのではないか、と思われる。

microSD Expressの性能を確かめる

 さてそんなmicroSD Expressカードの性能はどの程度だろうか?というのが今回の記事の骨子である。

 一番分かりやすいのはSwitch 2に装着して試すことだろうが、まだ発売もされていないし評価機もない(加えて言えば筆者は抽選に申し込んですらいない)。そこでとりあえずWindows PCを使って性能を判断してみたいと思う。

 今回はSanDiskより、256GBのmicroSD Expressカードと、これを利用するための「PRO-READER」をお借りした(写真10~13)。インターフェイスはUSB 3.2 Gen 2に対応ということなので、ホストの側はUSB 3.2 Gen 2ポートを持つ「ASUS TUF GAMING Z890-PLUS WIFI」(写真14)を用意した。

 テスト環境はこんな感じである

  • CPU:Core Ultra 7 265K
  • マザーボード:ASUS TUF Gaming Z890-Plus WiFi BIOS 2005
  • メモリ:Crucial CP16G60C48U5(XMP-6000 CL50 16GB×2)
  • ビデオカード:ZOTAC GAMING GeForce RTX 3060 Twin Edge OC+GeForce Driver 572.06 DCH
  • ストレージ:Crucial CT2000P3 NVMe SSD(2TB、Boot)+Crucial CT1000P3 NVMe SSD(1TB、Data)
  • OS:Windows 11 Professional 24H2 26100.4061

 CPUだけちょっと豪華だが、まぁミドルクラスのゲーミングPCといった構成である。この状況で実際にmicroSDカード(Silicon Power microSD 512GB)とmicroSD Expressカード(SanDisk microSD Express 256GB)が、NVMe SSD(Crucial CT1000P3)と比較してどの程度の性能なのかを見てみることにした。microSDの方は、先に写真8と9で示したものである。

 なお、写真14に示す2つのUSB Type-Cポートのどちらに繋いでも、デバイスマネージャーでの表示はこんな感じ(写真15)で、USB 3.20 xHCIの下に接続され、UASを経由してアクセスする形となった(microSD/microSD Expressカード問わず)。なので、せっかくNMVe経由といっても実際にはUAS経由での接続になるわけだが、帯域そのものは十分に余っているから、若干レイテンシが増える程度で性能には大きな違いはないと判断される。

【写真10】パッケージは同社のほかの製品と同じ基調のもので、SD Express/microSD Expressかどうかの区別がちょっとしにくい
【写真11】PRO-READERは金属製でグレーを基調とした、これも同社の他の製品と同じデザイン。寸法は115mm×60mm×17mm、重量は179.9g(いずれも実測値)と、ちょっと重い。USB Type-Cケーブルが付属する
【写真12】背面にUSB Type-Cコネクタと、その左脇には書込み防止用のロックスイッチがある。謎なのがコネクタ右脇の丸穴で、説明書にも言及がないし、特に奥にスイッチが隠されているわけでもなかった
【写真13】アクセス中はこんな感じ。それぞれのスロットの上のLEDは、そのスロットが使用中か否かを示し、アクセス状況は右にある白いLEDで示される
【写真14】下に並ぶUSB Type-Cコネクタの左側はThunderbolt 4ポート兼用なので、右側のUSB 20Gbpsポートの方に接続した(が、後でつなぎなおしても別に変化はなかった)
【写真15】つなぎ方としては、NVMe SSDをUSBのアダプタ経由でつなぐような感じになる

CrystalDiskMark 8.0.6

 定番ベンチマークであるCrystalDiskMarkをまずは行なってみた。ここからゲーム性能を見るというのはなかなか難しいが、一応定番ということで。結果は図16の通りで、microSD Expressカードの性能はもちろんNVMe SSDにはかなわない(3分の1~4分の1の性能)ものの、microSD比で言えば10倍の速度だった。

 この性能差を見るとmicroSDでは結構ロードなどが遅くなりそうだなという感じで、逆に言えばmicroSD Expressカードだとゲームをするにも意外に不自由さを感じにくいかもしれない。

【図16】4Kのランダムアクセス(特にリード)は性能差が出にくくなっているが、ライトの方は圧倒的な性能差である

3DMark Storage Benchmark

 3DMarkは言わずと知れた3D性能のベンチマークだが、単体テストとしてStorage Benchmarkが搭載されている。これは

  • Battlefield Vのロード
  • Call of Duty:Black Ops 4のロード
  • Overwatchのロード
  • ゲームの録画
  • ゲームのインストール
  • ゲームのセーブ
  • ゲームの移動

という7つの動作を行ない、その際の帯域と平均アクセス時間からスコアを算出するというものである。その結果であるが、スコアは

  • microSD 179
  • microSD Expressカード 778
  • NVMe SSD 949

となっており、microSD Expressカードの健闘が目立つ。詳細なスコアは図17の通りで、microSDと比較して10倍とは言わないものの、かなり高速化が図られているのが分かる。

 というか、microSDを利用してのテストは正直待ち時間がかなり長かったが、microSD ExpressカードではNVMe SSDとさして変わらない(じっと待っていたわけではないのであくまで体感だが)程度でテストが済んだあたりは、それなりの性能であったことを物語っていると思う。

【図17】Record/Install/Save/MoveがNVMe SSDでやけにAccess Timeが大きめなのはちょっと意外だったが、絶対的な帯域はやはりNVMe SSDが圧倒的に大きい

FORSPOKEN

 FORSPOKENにはゲーム内でベンチマーク機能が搭載されているが、こちらのベンチマークのテストは7つのシーンでのフレームレートを測定し、その結果から平均フレームレートを算出する仕組みである。

 ただこれと一緒に、この7つのシーンのそれぞれのロード時間を測定する機能がある。今回はフレームレートを比較しても仕方がない(実際結果は一緒だった)が、このロード時間の方が結構異なっていたので、この結果をご紹介したい。ちなみにこの測定のために、Steamの画面でFORSPOKENのプロパティから、インストール先を毎回移動する(図18)が、実はこの移動が一番時間が掛かった。

 結果は表1の通りである。いずれも3回テストを行ない、その平均値を示している。当然NVMe SSDが最速なわけだが、microSD Expressカードの23秒強というのはそんなに遅いとは思えないというか、これなら待てるギリギリの範囲ではないかと思う。体感で言えば、昔ゲームを外付けのSATA 6G接続のSSDに収めていた時に近い。

【表1】FORSPOKENゲーム内ベンチマーク結果(単位:秒)
microSDカードmicroSD ExpressカードNVMe SSD
Scene116.151.130.43
Scene226.953.832.02
Scene336.944.631.94
Scene438.83.822.43
Scene532.13.310.98
Scene628.953.570.92
Scene729.153.10.91
Total209.0423.399.62

 一方microSDは?というと、外付けのSATA 6G接続のHDDに収めていた時より少し早い程度。やはり待ち時間が20~30秒かかるとはっきり「遅い」と感じてしまう。

【図18】プロパティの「Installed Files」→「Move install folder」でこの操作ができる

ファイナルファンタジーXIV: 黄金のレガシー ベンチマーク

 こちらもFORSPOKENと同じく、複数(5つ)のシーンから構成される。ベンチマーク結果そのものはそれぞれのシーンの平均フレームレートから算出されるが、それとは別にそれぞれのシーンのロード時間も同時に測定される。そこでこちらの結果を比較してみたのが表2である。

 こちらも3回テストを行ない、その平均値を示している。microSD ExpressカードはmicroSDカードと比較して所要時間が半分ほどに減っているのが分かる。これを半分になった(から凄い)とるか、たった半分にしかならないのかと見るのかは難しいが、NVMe SSDはそのmicroSD Expressカードから6割ほどしか高速化できていないことを考えると、半分になっただけ凄いというべきなのかもしれない。こちらもロード時のストレスなどは特に感じなかった。

【表2】ファイナルファンタジーXIV: 黄金のレガシー ベンチマーク結果(単位:秒)
microSDカードmicroSD ExpressカードNVMe SSD
Scene11.170.910.75
Scene24.992.621.72
Scene35.553.081.74
Scene45.643.161.89
Scene54.491.941.01
Total21.8511.717.11

これからのポータブルゲーミング機には欲しい

 総じて言えば、microSD ExpressカードはNVMeよりちょっと遅めのストレージとして、Windows PCで使っても割と使い物になる性能が発揮できると考えても良いかと思う。昨今のポータブルゲーミングPCなども、SD ExpressやmicroSD Expressのサポートがあると随分心安らかになりそうだし、Nintendo Switch 2の想定性能から考えると、microSD Expressカードは割と十分な性能があると判断して良さそうに思える。

 ちなみにmicroSD/microSD Expressの仕様からして、Switch 2にExpressでない普通のmicroSDを突っ込んでも、保存済みのNintendo Switchの画面写真/動画を読み込みは可能だが、基本は動作しない。そのためNintendo Switch 2を購入される方はmicroSD Expressカードをお勧めしたい。