IBMの第5世代FlashCore Module(FCM5)にも、Everspinの磁気メモリー「MRAM」が採用されている。9月28日のSNIA Developer Conferenceでは、EverspinのフェローであるSteffen Hellmold氏が講演でIBMへの採用事例を紹介した。IBMの製品ガイドに掲載されたFCM5の基板写真からも、Everspin製のチップを確認できる。

FCM5は2月に発表された、最大105.6TBの容量を持つ企業向けSSDだ。その大容量NANDを支える仕組みの一つとして、電源を切っても内容を保持できる別種のメモリーが組み込まれている。IBMによるMRAMの採用は2018年から続いており、今回注目すべきなのは初採用という点ではなく、大容量化が進んだ現在も、なぜMRAMを使い続けているのかという点にある。

AD

NANDが不揮発性でも、停電対策が必要な理由

NANDフラッシュは、電源を切っても書き込み済みのデータを保持できる。しかし、SSDに届いた書き込みデータが、すべて即座にNANDへ保存されるわけではない。

途中のバッファに置かれたデータだけでなく、どのデータをどこに書いたかを管理する情報も保護する必要がある。データ本体がNANDに残っていても、更新状況や保存場所を正しく追跡できなければ、電源復旧後に書き込み状態を正しく復元できないためだ。

こうした情報を揮発性のDRAMに置く設計では、電源断を検知してからNANDへの退避が終わるまで、コントローラーとメモリーを動かし続ける必要がある。そのためにスーパーキャパシタなどの蓄電素子を使って一時的に電力を供給する。

退避に時間がかかるほど、必要な蓄電容量が増え、基板上で占める面積も大きくなる。企業向けSSDでは、この電源断保護の仕組み自体が設計上の制約になる。

IBMがこの問題を具体的に説明したのは、2018年8月にFlashCoreを標準的な2.5インチU.2形状へ移行した際だった。それまでの独自形状のモジュールでは、システム側のバッテリーからデータ退避用の電力を供給していた。

ところがU.2へ移行すると、電源断への対応をモジュール内部で完結させる必要が生じた。しかも、当時のFlashCoreでコントローラーに使っていたFPGAは消費電力が大きく、基板上の蓄電素子だけで動作できる短い時間のうちに、DRAMの内容をNANDへすべて退避させることが難しかった。

そこでIBMが採用したのが、EverspinのSTT-MRAMだった。

MRAMは電源が切れても内容を保持できるため、電源断のたびにDRAM上の重要情報をすべてNANDへ書き出す必要を減らせる。IBMは当時の設計について、電源断後にFPGAをミリ秒単位で停止できるようになり、基板上の蓄電素子で対応可能になったと説明している。

つまり、長時間のデータ退避を支えるための電力ではなく、短時間の終了処理を安全に終えるための電力だけを確保すればよい設計へ変えたことになる。

MRAMが情報の保持に利用するのは、磁性体の磁化方向だ。EverspinのSTT-MRAMでは、電流を使って「磁気トンネル接合」を構成する磁性層の向きを変える。基準となる層と同じ方向なら抵抗が低く、反対方向なら高くなる。この抵抗差を使って0と1を読み取る。

電源断後も情報を保持できる一方で、高速な読み書きにも対応できるため、頻繁に更新される管理情報を扱う用途に向いている。

IBMが2018年に公開した説明では、MRAM上には更新状態を記録するジャーナルのチェックポイントや、書き込みデータを利用状況に応じて管理するための情報が置かれていた。一方で、電源断時には最後のコマンドを送り、処理途中のページを閉じる作業なども必要だった。

MRAMを採用したからといって、電源断保護用の回路や終了処理がすべて不要になるわけではない。

MRAM、SLC、QLCは何を分担しているのか

Everspinは2024年4月30日、FCM4向けに1ギガビットのSTT-MRAM「PERSYST EMD4E001G」が採用されたと発表している。同社によると、この部品はDDR4インターフェースを備え、読み出し・書き込みともに2.7GB/sの帯域を持つ。

ただし、これはFCM4に採用されたMRAM部品の仕様であり、FCM5全体の性能を示す数字ではない。また、FCM5に搭載されているMRAMの容量を示すものでもない。FCM5の基板写真から、同じ型番が使われていることや、搭載されるMRAMの総容量まで特定することはできない。

一方、FCM5で大容量のデータ保存を担うのは、1セルに4ビットを格納するQLC NANDだ。QLCは高密度化しやすい反面、高速な書き込みや頻繁な更新には別の工夫が必要になる。

IBMのFlashCoreでは、NANDの一部をSLCとして利用し、新しく届いた書き込みデータや、頻繁にアクセスされるデータを置く領域として使う。

IBMが公開している設計を整理すると、MRAM、SLC、QLCはそれぞれ異なる役割を担っている。

メモリー・領域 記憶の仕組み IBMの資料で説明された用途 資料の対象
MRAM 磁化状態によって情報を保持 ジャーナルのチェックポイント、書き込みストリームに関する情報の保持 2018年公開のU.2 FlashCore設計
NANDのSLC領域 1セルを1ビットとして使用 新しい書き込みの一時保存、頻繁に使うデータへの高速アクセス 2026年版FCM製品ガイド
NANDのQLC領域 1セルに4ビットを格納 アクセス頻度の低いデータを高密度に保存 2026年版FCM製品ガイド

この表は、IBMが2018年に公開した設計説明と、2026年版製品ガイドの「SLC and Smart Data Placement」(14〜15ページ)を基に、それぞれの役割を整理したものだ。

FCM5内部でMRAMをどのように使い分けているかが、すべて公開されているわけではない。そのため、過去に公表されたMRAMの用途と、現在公開されているNANDのデータ配置は区別して見る必要がある。

SLC領域もNANDの一部なので、一度保存されたデータは電源を切っても保持される。MRAMとの違いは、NAND内部でデータの置き場所を工夫することで、読み書きの応答性を高めている点だ。

いわゆる「疑似SLC」は、本来は1セルに複数ビットを保存できるNANDの一部を、SLCと同じように1セル1ビットで利用する方式を指す。MRAMとは記憶素子そのものが異なる。

IBMは、頻繁にアクセスされるデータをSLC領域に残し、利用頻度の低いデータをQLC領域へ移すと説明している。ただし、すべての書き込みが必ず同じ経路を通るわけではない。

帯域の大きい連続書き込みでは、SLCへの一時保存を一部省略し、内部で発生する余分な書き込みを減らす場合もある。

そのため、MRAM、SLC、QLCを順番にデータが流れる3段階のバッファとして考えるより、それぞれが異なる課題を受け持つ仕組みと捉える方が正確だ。

AD

105.6TBへの大容量化と、容量の数字の読み方

FCM5では、従来のU.2から、SSD向けの標準規格であるEDSFF E3.Lへフォームファクターが変更された。

IBMの製品ガイドでは、高密度QLC NANDの採用だけでなく、部品配置やエアフロー、電力供給の改善も挙げられている。容量は6.6TB、13.2TB、26.4TBに加え、52.8TBと105.6TBが用意される。

つまり、大容量化を支えているのはNANDの記憶密度だけではない。限られた筐体内で大量の部品を冷却し、必要な電力を安定して供給する設計も重要になる。

MRAMによって、電源断時に大量のデータを退避する必要を減らせることは、こうした実装上の制約を緩和する方向に働く。

ただし、FCM5の容量増加のうち、どれだけがMRAMの採用によるものかを示した数値は確認できない。高密度QLC NANDやフォームファクターの変更など、複数の改善によって実現した大容量化を、MRAMだけの効果として説明することはできない。

また、フォームファクターが変わったため、FCM5と従来のU.2世代を、同じドライブ筐体や分散アレイ内で混在させることもできない。

FCM5の容量を理解する際には、さらに3種類の数字を区別する必要がある。

一つ目は、NANDに実際に保存できる物理容量。二つ目は、データをどれだけ小さくできるかを示す圧縮率。そして三つ目が、システム上で扱える論理アドレス容量の上限だ。

圧縮や重複排除が効果を発揮すれば、物理容量を上回る量の元データを保存できる。しかし、その効果はデータの内容によって大きく変わる。

製品ガイドでは、FCMのハードウェア圧縮について、ワークロードによって最大約3対1の効果があると説明している。また、FCM5の論理アドレス容量の上限は、物理容量に対して約6対1に拡大した。前世代FCM4では約3対1だった。

ただし、「6対1」という論理上限は、すべてのデータを6分の1に圧縮できるという意味ではない。圧縮や重複排除がほとんど効かないデータでは、元データに近い量の物理容量が必要になる。

実効容量として示される大きな数字を、そのまま搭載されているNANDの容量と考えると、必要なストレージ容量を見誤る可能性がある。

FCM5では、容量効率を高めるための処理の一部もドライブ側で担っている。

重複排除では、各FCMがデータを識別するための小さなハッシュ値や、圧縮しやすさに関する情報を提供し、IBM Storage Virtualizeが重複している可能性のあるデータを探す。その後、FCM側で候補が本当に同じ内容かを検証し、重複するデータを一つの保存先へ対応付ける。

ストレージ容量が増えても、中央のコントローラーだけに巨大な管理表やすべての処理を集中させないための分散設計だ。

ただし、この機能にはソフトウェア側の条件もある。

製品ガイドでは、Storage Virtualize 9.1.3の段階ではバックグラウンドスキャンのみが動作し、完全な重複排除処理については後続の9.1.3.xアップデートで有効になるものとして区別している。

これは製品ガイドに記載されたバージョンごとの説明であり、実際に導入する際には、搭載しているソフトウェアのバージョンでどの機能を利用できるかを確認する必要がある。

FCM5が備えるランサムウェア検知も、MRAMによる電源断保護とは別の機能だ。

IBMの説明では、FCM側で入出力の統計情報を計算し、ストレージアレイのコントローラー側でモデルを使って評価する。MRAMを搭載しているからといって、ドライブ故障やランサムウェア攻撃、さらにはホスト側でまだSSDへ届いていないデータまでまとめて保護できるわけではない。

企業向けSSDを評価する際には、実際のデータで圧縮や重複排除がどの程度効くのかだけでなく、書き込み処理のどの段階まで電源断から保護されるのかも確認する必要がある。

大容量を効率よく使う仕組みと、書き込み途中の状態を安全に保持する仕組みは別の問題だ。 両方を確認して初めて、大容量QLC NANDを業務用途で安心して使うための条件が見えてくる。