「SSDはコントローラーで選ぶ」。一時期は製品選びの鉄則だったこの常識は、もう過去のものになった。2019年、SSDのNANDフラッシュメモリーの技術進化は、メモリーとそれを制御するコントローラーの一体化によって支えられているからだ。

 SSDが普及し始めた2010年代前半は、米マーベル・テクノロジー・グループ(Marvell Technology Group)や台湾シリコン・モーション・テクノロジー(Silicon Motion Technology)、台湾ジェイマイクロン・テクノロジー(JMicron Technology)、米サンドフォース(SandForce)といった各社がSSDコントローラーでしのぎを削っていた。

 各社のSSDコントローラーを搭載したSSDを比較して「A社は安価だが入出力が引っかかりがち(いわゆるプチフリ)なので避けたほうが無難」といった、コントローラー別の良しあしといった選び方が存在した。しかし今では、中上位の製品に関していえば、コントローラーは事実上ユーザーに選択の余地が無い。NANDフラッシュベンダーが自社提供するコントローラー一択と考えてよい。

韓国サムスン電子のSSD「970 EVO Plus」
記憶素子のNANDフラッシュとコントローラーとも自社で開発・製造している。(出所:韓国サムスン電子)
[画像のクリックで拡大表示]

SSDコントローラーとNANDフラッシュが一体化

 状況が変わったのは、1つのメモリーセルに8値を記録できる「TLC」型のNANDフラッシュが登場した2015年ごろのことだ。NANDフラッシュとコントローラーは切り離せない関係になった。なぜなら回路の微細化やTLCの実装などにより、NANDフラッシュはよりエラーを起こしやすくなり、寿命が短くなってきた。単位面積当たりの容量は増えたものの、信頼性は落ちてしまったわけだ。

 これをカバーするために、より強力なエラー訂正と、高度なレベルウエアリング/代替処理、そしてNANDセルの寿命予測などの機能がコントローラーに加わった。ところがフラッシュメモリーのメーカーごと、さらには品種ごとに、NANDフラッシュの振る舞いが違う。汎用のコントローラーが非常に作りにくくなった。

 例えばエラー訂正だ。2015年ごろになると、単純なECCでは補正しきれず、「LDPC(Low Density Parity Check:低密度パリティー検査)」と呼ぶ確率分布を生かしたエラー訂正に切り替わった。同技術は計算負荷が高く、各社がNANDフラッシュの特性に見合った最適化を施して実装している。あるメーカーの製品は誤り訂正用のデータ(パリティービット)が450ビットで足りるが、別のメーカーになると530ビットといった具合だ。

 また、あるメーカーの製品は符号誤り率(BER:Bit Error Rate)が10-3を超えたら代替処理をしないとじきに読み出しできなくなるが、別のメーカーは10-4まで耐える。これに、読み書きできなくなったメモリーセルの代替領域をどのエリアに置くか、書き込む領域を平準化して寿命を最大化するウエアレベリングにはどういうアルゴリズムが最適か、といったポイントが加わる。あらゆる要素が「個別対応」に近くなってきた。

この先は日経 xTECH Active会員の登録が必要です

日経xTECH Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。