SSDの内部構造と動作をみる:福田昭のストレージ通信(11)(2/2 ページ)
SSDの重要な部品として、NANDフラッシュメモリ以外に、SSDコントローラやバッファメモリが挙げられる。今回は、SSDコントローラの役割を軸に、SSDの動作を説明しよう。
SSDとUSBメモリの違い
SSDと同様に、USBメモリもNANDフラッシュメモリを内蔵する。USBメモリは軽く、小さい。簡単に持ち運べる。その代わりにUSBメモリの長期信頼性はあまり高くない。市販されているUSBメモリは、書き換え可能回数や平均故障間隔(MTBF)などを保証していないし、ユーザーもあまり気にしていない。USBメモリのユーザーが気にするのは、記憶容量と価格、それから外観と外形寸法くらいだとみられる。
SSDとUSBメモリの最も大きな違いは、コントローラの仕様にある。USBメモリのコントローラに比べると、SSDコントローラの仕様ははるかに複雑であり、性能とコストを高い水準でバランスさせている。
SSDコントローラは、NANDフラッシュメモリの動作とバッファメモリの動作を制御するとともに、論理アドレスと物理アドレスの変換を実行し、誤りの検出と訂正の処理を担う。さらに、NANDフラッシュメモリのメモリブロックごとの消去回数を記憶し、書き換え回数の平準化(ウェアレベリング)を実施する。また何らかの不良が発生したメモリブロックを使用禁止にし、予備のブロック(冗長ブロック)を代わりに割り当てる。そしてホストマシンと、信号とデータをやり取りする。
複雑化するSSDコントローラ
これらの処理の中で、負荷が大きいのが誤りの検出と訂正の処理である。ECC(Error Checking and Correction)符号と呼ぶ誤り検出・訂正用符号をデータに付加し、特定のアルゴリズムによって誤りの検出と訂正を実行する。例えば512バイトのセクタに対し、16ビット(2バイト)あるいは24ビット(3バイト)のECC符号を付加する。
動作周波数が83MHzのNANDフラッシュメモリで512バイトあたりに16ビットのECC符号(BCH符号)を付加するSSDがあったとしよう。コピーバック動作(NANDフラッシュのあるブロックからデータを読み込んで別のブロックに書き戻す動作)の実行時に誤り訂正に要する時間は76マイクロ秒に達する(大手NANDフラッシュメモリベンダーの資料から引用)。
ECC符号を長くすると誤り訂正能力は高くなるものの、処理の実行時間が長大化し、SSDの性能に影響を与えてしまう。しかし現実には多値化と微細化がNANDフラッシュメモリのデータ誤り率を増加させており、誤り訂正処理をさらに強力にすることが避けられない。これは、誤り訂正時間の長大化に直結する。
SSDの最大記憶容量は、新しい製品が発表される都度に増大してきた。記憶容量の増加は、管理するブロックの数が増えることを意味する。このことも、SSDコントローラの負荷を増加させる。またバッファメモリの記憶容量を増加させることになる。バッファメモリの標準的な容量は64Mバイト〜128Mバイトから、最近では256Mバイト〜1Gバイトへと移行しつつある。
(次の記事を読む)
筆者紹介
福田 昭(ふくだ あきら)
フリーランスのテクノロジージャーナリスト/アナリスト。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- NANDフラッシュの基本動作(前編)
SSDを知るには、その記憶媒体として採用されているNANDフラッシュメモリを理解することも重要だ。今回は、NANDフラッシュメモリの基本動作を詳しく説明する。 - 東芝、NANDメモリの新製造棟が完成と同時に、3D NANDに向けた新棟建設に着工
東芝は2014年9月9日、NAND型フラッシュメモリを製造する四日市工場(三重県四日市市)の第5製造棟の第2期分完成を発表するとともに、3次元セル構造のNANDメモリ「3D NAND」の専用製造設備を導入する予定の新製造棟(新・第2製造棟)の起工式を行った。 - スマホが支えるNANDフラッシュ市場
2013年のNAND型フラッシュメモリ市場は300億米ドルに達する見込みだ。そのうち、26%がスマートフォン向けになると予測されている。堅調に伸びるスマートフォン市場は、NANDフラッシュにとって大きな支えとなりそうだ。