半導体
東芝の勝算

HDD完全代替に向けてOSによる対応が急務

2009/03/09 00:00
竹内 健=東京大学 大学院 工学系研究科 電気系工学専攻・工学部 電気電子工学科 准教授
出典:日経エレクトロニクス,2008年4月21日号 ,pp.67-77 (記事は執筆時の情報に基づいており,現在では異なる場合があります)

デジタル・カメラ,USBメモリ,携帯型音楽プレーヤー,携帯電話機と
次々と用途を開拓してきたNANDフラッシュ・メモリにとって,
次なるターゲットはHDDの置き換えである。
HDD代替に向けて開発が進むSSDの現状と今後の課題,
および,その解決の技術的道筋を解説する。
著者は,2007年まで東芝でNANDフラッシュ・メモリの
主力設計者として活躍し,東京大学に転じた人物。(本誌)

図1 SSDの性能はコントローラが鍵を握る
SSDはNANDフラッシュ・メモリとNANDコントローラなどから成る。 SSDにおける不良ブロック管理や誤り訂正,ウエア・レベリングなどの処理は NANDコントローラのフラッシュ・トランスレーション・レイヤで実行する。
(画像のクリックで拡大)

 半導体ディスクのSSD(solid state drive)は,NANDフラッシュ・メモリとNANDコントローラ,バッファ・メモリ用途のDRAMから成る(図1)。SSDの性能はNANDフラッシュ・メモリの性能だけでなく,NANDコントローラのアルゴリズムによって大きく左右される。そのため,NANDフラッシュ・メモリの特性を考慮したNANDコントローラの最適設計が必要になる。今回は, NANDフラッシュ・メモリのデバイス技術や回路技術を踏まえつつ,NANDコントローラ技術を中心に,SSD技術の現状と今後の課題などを説明する。

性能はHDDより上
優位性の維持が課題

 SSDの内部では,NANDコントローラのフラッシュ・トランスレーション・レイヤ(FTL)がNANDフラッシュ・メモリの不良ブロックの管理,誤り訂正(ECC),セル当たりの書き換え回数を平準化するウエア・レべリング,論理アドレスから物理アドレスへの変換,複数のNANDチップの並列動作といった制御を行う。

 まず,現在のSSDの性能を検証するために,大容量データを転送する際に重要になる連続(シリアル)データ転送速度,およびランダム・アクセス時間について,1.8インチHDDと比較した。画像や音楽データのように,NANDの書き込み単位であるページ・サイズ(4K〜8Kバイト)よりも十分に大きなファイル・サイズのデータをSSDに転送する場合は,表1に示したNANDフラッシュ・メモリの連続データ転送速度がSSDの性能を決める。

表1 SSDの連続データ転送速度はHDDと同等
表1 SSDの連続データ転送速度はHDDと同等
NANDフラッシュ・メモリとHDDの連続(シリアル)データ転送速度を比較した。NANDフラッシュ・メモリは,1 個のメモリ・セルに1ビットのデータを格納するSLC品と,1個のメモリ・セルに2ビットのデータを格納するMLC 品のそれぞれについて,HDDは1.8インチ品の典型的な数値を示した。

 1ビット/セルのNANDフラッシュ・メモリ(single level cell:SLC)に比べて低速な2ビット/セルの多値(multi level cell:MLC)NANDフラッシュ・メモリを利用する場合でも,4チップを並列動作させることで,読み出し速度は100Mバイト/秒,書き込み速度は40Mバイト/秒と,1.8インチHDDと同等以上の連続アクセス性能を達成できる。

表2 ランダム・アクセス時間はSSDの方が HDDより大幅に短い
表2 ランダム・アクセス時間はSSDの方が HDDより大幅に短い
NANDフラッシュ・メモリとHDDについてランダム・ アクセス時間を比べた。HDDは5ms以上を要するのに対して,NANDフラッシュ・メモリは数十μs〜数百μsと短い。

 一方,パソコンなどで使用する場合は,NANDフラッシュ・メモリのページ・サイズより小さいデータの書き換えが頻繁に生じる。具体的には,OS(ディレクトリ・エントリやファイル・システム向けメタデータ)の変更やアプリケーション・ソフトウエアの変更などがそうだ。こうした用途ではランダム・アクセス性能も重要になる。表2に示すようにNANDフラッシュ・メモリのランダム・アクセス時間はケタ違いに短い。これに対して,HDDは磁気ヘッドが磁気ディスク上の目的のトラックに移動する必要があるため,ランダム・アクセス時間が5ms以上と長い。

処理によってはHDDより遅い

 ただし,SSDの性能がHDDと同等以下になる場合はある。データの読み出しと書き込みが混在する処理である。例えば,データのコピーや複数のブロックに断片化して記憶されたファイルを整理するガベージ・コレクションなどがそうだ。

 これは,NANDフラッシュ・メモリが,32〜64本のワード線から成るブロックの単位で消去を行うことに起因する(図2)。消去動作の原理上,ブロック内の一部のみを書き換えることはできない。消去ブロックの大きさは512K〜1Mバイトと,パソコンの書き換え単位であるセクタ・サイズ(512〜4Kバイト)に比べてはるかに大きい。このため,ブロック内の一部のファイルのみを書き換える際には,ブロックを消去する前にブロック内の他のファイルを空きブロックに退避させる必要がある。この退避動作はブロック・コピーと呼ばれる(図3)。

図2 NANDの消去ブロックはパソコンのセクタ・サイズよりはるかに大きい
図2 NANDの消去ブロックはパソコンのセクタ・サイズよりはるかに大きい
NANDフラッシュ・メモリのセル・アレイ構成を示した。NANDフラッシュ・メモリでは,読み出しや書き込みをページ単位で行い,消去はブロック単位で行う。ブロックの大きさは512K〜1Mバイトと,パソコンのセクタ・サイズである512〜4Kバイトと比べてはるかに大きい。消去の際にはブロックの一部のみを書き換えることはできない。
図3 ブロック・コピーは100ms以上かかる場合もある
図3 ブロック・コピーは100ms以上かかる場合もある
ブロック内の一部のファイルを書き換える場合,ブロックを消去する前にブロック内の他のファイルを空きブロックに退避する,いわゆるブロック・コピー動作を行う必要がある。ブロック・コピー動作には100ms以上を要する場合がある。東芝とSanDisk社が半導体回路の国際会議「ISSCC 2006」で共同発表した資料に基づく。

 ブロック・コピーは,NANDフラッシュ・メモリの読み出し,フラッシュ・メモリからコントローラへのデータ出力,コントローラでの誤り訂正,フラッシュ・メモリの書き込みという一連の動作から成る。これが最悪条件下(ワースト・ケース)で100ms以上を要する場合がある。

ブロック・コピーの高速化が必要

 ブロック・コピーの高速化が,SSDにとって解決すべき大きな課題の一つである。今後,ブロック・コピーがこれまで以上に頻繁に実行される方向が見えているからだ。今後の微細化・大容量化に伴い,NANDフラッシュ・メモリのワード線に接続するメモリ・セル数や直列接続するメモリ・セル数が増加する(図4)。ブロック・サイズが大きくなる結果,ブロック・コピーが生じる頻度が高まる。

図4 微細化・大容量化とともにブロック・サイズが増大
NANDフラッシュ・メモリでは,微細化や大容量化とともに,書き込みや読み出しの単位であるページ・サイズ(a)や,消去の単位であるブロック・サイズ(b)が増大していく。
(画像のクリックで拡大)

 ブロック・コピーを高速化するために,東芝らは「Intelligent Page Copy」と呼ぶ手法を提案している1)。この手法では,書き込みデータや読み出しデータを保持する機能を持つページ・バッファ内にデータ・キャッシュ専用の領域を設け,NANDチップ内の新たなブロックへの書き込みと,NANDチップからコントローラへのデータ出力および誤り訂正をパイプライン処理するものだ(図5)。

図5 ブロック・コピー処理をパイプライン化
東芝らが開発したブロック・コピーの高速化技術「Intelligent Page Copy」では,NANDフラッシュ・メモリの書き込み,NANDからコントローラへのデータ出力,および誤り訂正をパイプライン的に行う。東芝とSanDisk社が半導体回路の国際会議「ISSCC 2006」で共同発表した資料に基づく。
(画像のクリックで拡大)

パイプライン動作で34%高速化

 Intelligent Page Copyの動作は大きく4段階で進む。まず,コピーを行うページをページ・バッファに読み出し(第1段階),次にNANDフラッシュ・メモリからコントローラへのデータ出力と誤り訂正を行う(第2段階)。ここまでは,従来のブロック・コピーと同様である。

 従来と異なるのは,データを新たなブロック(コピー先)に書き込む前に,次にコピーするデータをページ・バッファ内のキャッシュに読み出すようにしたことである(第3段階)。そして,最後の第4段階として,データをNAND内の新たなブロックに書き込むと同時に,次にコピーするページのデータをNANDからコントローラに出力し,誤り訂正する。つまり,この方法は,NANDへの書き込みとNANDからコントローラへの出力,およびコントローラでの誤り訂正を同時に行う。このため,ブロック・コピー時間を34%短縮できる(図6)。

図6 ブロック・コピー時間を34%短縮
Intelligent Page Copy技術を導入することで,従来のブロック・コピー手法に比べて,ブロック・コピー時間を34%短縮できる。東芝とSanDisk社が「ISSCC 2006」で共同発表した資料に基づく。
(画像のクリックで拡大)

 また,東芝や米SanDisk Corp.が43nm世代のNANDフラッシュ・メモリで導入したメモリ・アレイ構成「All-Bitline」もブロック・コピーの高速化に有効である(図72〜3)。従来の「Alternate-Bitline」構成のメモリ・アレイでは,ページ・バッファを奇数番目のビット線と偶数番目のビット線で共有する。奇数番目のビット線と偶数番目のビット線は交互に選択されるため,同時にアクセスできない。

 一方,All-Bitline構成では,すべてのビット線にページ・バッファを接続する。奇数番目のビット線と偶数番目のビット線に同時にアクセスできるため,書き込み速度が2倍に高まる。また,ブロック内に含まれるページ数が従来の半分になるため,ブロック・コピー速度も2倍に高速化できる。

図7 ブロック・コピーの高速化に有効なAll-Bitline構成
56nm世代のNANDフラッシュ・メモリで採用されているアレイ構成「Alternate Bitline」では,偶数番目のビット線と奇数番目のビット線を同時に書き込みできない(a)。これに対して,43nm世代のNANDフラッシュ・メモリ向けのアレイ構成「All-Bitline」では,すべてのビット線に同時に書き込める(b)。(a)は東芝とSanDisk社が「ISSCC 2006」で共同発表した資料,(b)はSanDisk社と東芝が「ISSCC 2008」で共同発表した資料に基づく。
(画像のクリックで拡大)

NANDの消費電流削減がカギ

 SSDがHDDを代替するためには,ブロック・コピーの高速化などの性能面に加えて,NANDフラッシュ・メモリの消費電流削減が必須になる。

 今のところNANDフラッシュ・メモリは1.8インチHDDよりも,消費電流が低い(表3)。NANDフラッシュ・メモリのチップ当たりの動作時消費電流はSLC品,MLC品共に約30mAである。高速化のために4チップ並列に動作させたとしても,消費電流は120mAになる。SSD内のコントローラとDRAMで消費する電流100mAを足し合わせてもSSD全体の消費電流は220mAと,HDDの300mAに比べて低い。

表3 NANDの4チップ並列動作でもHDDより低消費電流
表3 NANDの4チップ並列動作でもHDDより低消費電流

 ただし,今後ともSSDがHDDに対して消費電流面での優位性を保ち続けるためには,よりアグレッシブにNANDフラッシュ・メモリの消費電流削減を進めていく必要がある4)。NANDフラッシュ・メモリの微細化と消費電流がトレード・オフの関係にあるからだ。

 まず,微細化の進展に従い,ビット線などの配線の寄生容量が増加しNANDフラッシュ・メモリのチップ当たりの消費電流が増加する。また,将来の大容量NANDフラッシュ・メモリを実現するために,1個のメモリ・セルに3ビット以上のデータを格納する超多値技術の採用や,微細化を進めると,NANDフラッシュ・メモリのチップ当たりの書き込み速度が低下する。このこともSSD当たりの消費電流を増大させる要因になる。

 製造技術を微細化すると書き込み速度が低下するのは,隣接セル間の容量結合雑音やランダム・テレグラフ雑音,プロセスの加工バラつきが増大するためである(図85〜6)

図8 微細化に伴い隣接セル 間の容量結合雑音が増大
NANDフラッシュ・メモリでは, 微細化に伴って,隣接するメモリ・セル間の容量結合による浮遊 ゲートの電位変動が大きくなる。 この結果,データ化けや誤書き込みなどが起こりやすくなる。Samsung Electronics社が2002年に論文誌「Electron Device Letters」で発表した資料に基づく。
(画像のクリックで拡大)

 ランダム・テレグラフ雑音は,トンネル酸化膜中の電荷トラップに対して浮遊ゲート中の電子が捕獲/放出されることで発生する。ここで,電荷はダイナミック(動的)に移動するため,メモリ・セルのしきい値電圧が不規則に振幅し,セル特性がバラつく。このランダム・テレグラフ雑音と隣接セル間の容量結合雑音はいずれも,微細化に伴って急速に増大していく7)

超高速化か超低電力化が必要

 これら将来の大容量NANDフラッシュ・メモリを用いたSSDが所望の性能を達成するためには,並列動作するNANDチップの数を増やす必要があり,これが消費電流の増大を招く。例えば,3ビット/セルのNANDは2ビット/セルのNANDよりも書き込み速度が約20%低くなる8)。並列動作させるNANDチップの数を4個から5個に増やすことで,2ビット/セル品を搭載した場合と同等の書き込み速度は達成できる。3ビット/セル品を採用した場合でもSSDの消費電流は250mAと,2ビット/セル品を用いたSSDの220mAより大きいものの,1.8インチHDDの300mAに比べると小さい。

 だが,4ビット/セル品ではこれが逆転する。例えば,東芝が2007年に試作した4ビット/セルのNANDフラッシュ・メモリは,設計ルールが70nm世代と緩く,ページ・サイズが小さいことも手伝い,書き込み速度が0.6Mバイト/秒と低速である9)。現行のSSDの書き込み速度として一般的な40Mバイト/秒を達成するには,60チップ以上を並列動作させる必要がある計算になる。だがその場合,SSDの消費電流は2Aと,許容できないほど増大し,現実的な解とはならない。

 設計ルールが異なるため単純には比較できないものの,4ビット/セル品をSSDに使用するためには,NANDフラッシュ・メモリをケタ違いに高速化するか,数十チップの超並列動作をしても消費電流が許容範囲に収まるように,超低消費電力化する技術が必要になる。

書き換え回数の制約を
制御で乗り越える

図9 NANDフラッシュ・メモリの動作メカニズム
NANDフラッシュ・メモリでは,書き込み時には浮遊ゲートに電子を注入し(a),消去時には浮遊ゲートから電子を放出させる(b)。
(画像のクリックで拡大)

 NANDフラッシュ・メモリでは,セルの浮遊ゲートに電子を蓄積してデータを記憶する(図9)。また,書き込みはFowler-Nordheimトンネリング現象により,浮遊ゲートに電子を注入することで行う。消去の際には逆に,Fowler-Nordheimトンネリング現象により浮遊ゲートから電子を放出する。

 書き込みや消去を繰り返すと,トンネル酸化膜の中に電荷を捕獲するトラップが生成される。浮遊ゲート内の電子がこのトラップを介してチャネルに漏れることで,記憶されたデータが破壊される(データ保持不良)。この漏れ電流はSILC(stress induced leakage current)と呼ばれ,メモリ・セルの不良の主な原因となる10)

 書き込みや消去を繰り返していくと,トンネル酸化膜中のトラップ・サイトの数が増加し,その結果,データ保持不良のセル数も増加する。NANDフラッシュ・メモリのデータ保持時間の仕様は,書き換えをMLC品で1万回,SLC品で10万回繰り返した後に一定期間,データを保つことが求められる。以降では,書き換え回数を増やした場合にデータ保持特性が悪化する問題に対処するSSD技術について述べる。

強力なECCで信頼性確保

 浮遊ゲートからの電子の漏れ(リーク)は,NANDフラッシュ・メモリの電源がオフの場合でも起こる。動作中には電源が常にオンであるDRAMのように,定期的にメモリ・セルに記憶したデータをリフレッシュすることで不良を防ぐ手法は使えない。

 従って,NANDフラッシュ・メモリでは,ある確率でメモリ・セルが不良になることを前提に,NANDコントローラで誤り訂正(ECC)を実行する必要がある。ECCはHDDでも使われているが,ECCの符号がHDDとSSDで異なる。HDDでは,磁気ヘッドと磁気ディスクの接触により,特定のメモリ領域が集中的に不良になるバースト不良が生じるため,狭い領域に多数の誤りが集中するバースト誤りを救済できるリード・ソロモン符号が一般的に用いられている。一方,NANDフラッシュ・メモリでは,リード・ソロモン符号よりも簡便で,ランダム誤りを救済できるBCH符号(Bose Chaudhum Hocquenghem code)が使われる。不良がランダムな場所で散発的に発生するためである。

 メモリ・カードやUSBメモリ,デジタル・カメラ,携帯型メディア・プレーヤー,携帯電話機といった携帯機器向けの用途では,512バイト当たり4〜8ビットの訂正が可能なECCを使う。携帯機器のNANDフラッシュ・メモリは,音楽や画像のデータを一時的に格納する記憶媒体として使われる。データはパソコンにバックアップされることが多く,携帯機器の製品寿命が実質的に2〜3年と短いことも相まって,NANDフラッシュ・メモリに対する信頼性の要求は厳しくなかった。

 だが,パソコンでSSDとして利用する場合は,より長い製品寿命が求められる。加えて,パソコンのデータはバックアップされていない場合が多いことから,携帯機器よりも厳しい信頼性がNANDフラッシュ・メモリに要求される。パソコンの信頼性要求を満たすため,SSDのECCは携帯機器に比べて,より強力な訂正能力を持つ符号が使われている11)

書き換え回数の平準化が必須

 パソコン向けSSDで必要な書き換え回数を考察する。容量が64GバイトのSSDに対して,ユーザーが毎日2G〜8Gバイト書き換える場合を想定する。この数字は,米Intel Corp.や韓国Samsung Electronics Co.,Ltd.,東芝などのSSDベンダーがパソコンの利用状況を調査し,通常使用およびハイバネーション利用時に1日当たり2G〜8Gバイト程度と報告した結果に基づいている注1)。ハイバネーションを利用すると,ストレージ領域の使用量は2倍程度に増加する11)

注1) ハイバネーションは,パソコンの電源を切る直前の状態をストレージ装置に記憶する機能である。次回の電源投入時にストレージ装置に記憶した情報を読み出すことで,電源を切る直前の状態にパソコンを戻せる。

 5年間にわたって毎日SSDを使用した場合の総書き換え回数は(2G〜8Gバイト×365日×5年)/64Gバイト=60〜230回となり,NANDフラッシュ・メモリの書き換え回数である1万〜10万回より大幅に少ない。ただし,この計算はSSD内のすべてのメモリ・セルを均等に書き換えることを前提にしている。実現するには,NANDコントローラがウエア・レベリングを行って,メモリ・セル間の書き換え回数を平準化し,特定のメモリ領域への書き込みの集中を避ける必要がある。

ウエア・レベリングは2種類

 ウエア・レベリングでは,NANDフラッシュ・メモリ内の各ブロックの書き換え回数をモニターし,最も書き換え回数が少ないブロックに書き込む。このために,OSから入力される書き込みデータの論理アドレスをNANDフラッシュ・メモリの物理アドレスに変換する。このアドレス変換は,ホストではなくSSD内のNANDコントローラで実行する。このため,微細化や超多値化によりNANDフラッシュ・メモリのアドレス構成が変わった場合にも,ホスト側の変更は必要ない。

 ウエア・レベリングの方法には,ダイナミック・ウエア・レベリングとスタティック・ウエア・レベリングの2種類がある12)。SSDに記憶するデータは,スタティック・データとダイナミック・データに大別できる。OSやアプリケーション・ソフトウエアなどのシステム・データは,書き換えが頻繁に行われないスタティック・データである。一方のダイナミック・データは頻繁に書き換わるデータで,ユーザー・データなどがある。

 ダイナミック・ウエア・レベリングでは,スタティック・データを格納しているブロックをウエア・レベリングの対象から除外する。このため,ダイナミック・データを記憶するブロックに書き換えが集中する一方,スタティック・データを記憶するブロックの書き換え回数が少なくなる(図10)。

図10 ダイナミック・ウ エア・レべリングの仕組み
図10 ダイナミック・ウ エア・レべリングの仕組み
ダイナミック・ウエア・レベリ ングでは,スタティック・データを記憶するブロックはウエア・レベリング(書き換えの平準化)の対象から外す。これにより,ダイナミック・データを記憶するブロックに書き換えが集中する。Denali Software社がメモリ関連のセミナー「MEMCON2007」で発表した資料に基づく。

 一方のスタティック・ウエア・レベリングでは,スタティック・データを記憶するブロックを含むすべてのブロックを対象にウエア・レベリングを実施する。書き換え回数の平準化には,より効果的である(図11)。スタティック・ウエア・レベリングのアルゴリズムでは,まず書き換え回数が最も少ないブロックを見つける。そのブロックが空白(ブランク)であれば,データを書き込む。該当ブロックがスタティック・データを記憶している場合には,スタティック・データを書き換え回数が多いブロックに移した後,該当ブロックにデータを書き込む。

図11 スタティック・ウエア・レベリングの仕組み
図11 スタティック・ウエア・レベリングの仕組み
スタティック・ウエア・レベリングでは,スタティック・データを最も書き換えが多いブロックに移動する。この結果,より効率的に書き換え回数を平準化できる。Denali Software社がメモリ関連のセミナー「MEMCON2007」で発表した資料に基づく。

誤書き込み増加の懸念

 NANDフラッシュ・メモリでは4K〜8Kバイトのページ単位で書き込みを行う。その際,同じページには1回しか書き込めないという制約がある。同じページに多数回の書き込みを行うと,プログラム・ディスターブ(誤書き込み)により,本来は書き込みたくない非選択のメモリ・セルに対して,誤ってデータが書き込まれてしまうからである(図12)。

図12 誤書き込みの危険性
NANDフラッシュ・メモリでは, 書き込み対象のメモリ・セルに書き込みを行おうとする際に,他のメモリ・セルに誤って書き込んでしまう可能性がある。こうした誤書き込みを防ぐために,同じページには1回しか書き込みを行わないといった工夫が施されている。
(画像のクリックで拡大)

 プログラム・ディスターブは微細化の進展とともに深刻化している。70nm世代以下では,GIDL(gate induced drain leakage)に起因する誤書き込み現象が顕著になっている(図13)。NANDストリングの選択ゲート端でGIDLによって生成した電子がセルのソース領域で加速されてホット・エレクトロンになり,浮遊ゲートに入る13)。現状では,選択ゲートとメモリ・セルの間の距離を長くしたり13),ダミー・ゲートを挿入する3,14)といった手法で誤書き込みを抑制している。

図13 70nm世代以下ではGIDLに起因する誤書き込みが顕著に
微細化に伴い,誤書き込みは起こりやすくなる。70nm世代以下ではGIDLに起因する誤書き込みの可能性が高まる(a)。解決に向けて,選択ゲートとメモリ・セル間の距離を長くするなどの対策が採られている(b)。Samsung Electronics社が不揮発性メモリの国際会議「NVSMW 2006」で発表した資料に基づく。
(画像のクリックで拡大)

 微細化の進展に伴って,GIDLに起因するプログラム・ディスターブは悪化する。微細化によって生じる短チャネル効果を抑制するために,Dennardのスケーリング則15)に従ってメモリ・セルのソース,ドレイン,基板の不純物濃度を高める必要があるからである。不純物濃度を高めると,ソース・ドレイン部の電界は強まり,GIDLが増大する。論理LSIなどでは,本来のスケーリング則に従って,電圧を低くすることで電界を緩和してGIDLを抑制する手法が採られる。しかし,NANDフラッシュ・メモリではこの手法が使えない。データを保持するためにメモリ・セルのトンネル酸化膜を薄くできないからだ10)。この問題を解決するためには,トンネル酸化膜への高誘電体膜の適用や,ゲート絶縁膜に強誘電体膜を適用し,電荷の分極で記憶する構造など,低電圧動作が可能なセル構造の開発が必要である。

OSの最適化で
SSDの性能を引き出す

 SSDの性能や信頼性を最大化するためには,パソコン向けのOSによる対応も不可欠だ。Windowsなど現在のOSはHDDに最適化して作られており,今後はOSをSSDに最適化することが求められる。

 以降では,OSの最適化を図ることで,SSDの性能や信頼性を高められる例を紹介する。SLCとMLCのコンボSSD,セクタ・サイズの調整,SSDへの書き込み頻度の低減および不良の予知などがある16)

 「ReadyBoost」や「ReadyDrive」「Robson」など,NANDフラッシュ・メモリをHDDのキャッシュとして使うことで性能向上を図る手法は,既に一部のパソコンに搭載され始めている。NANDフラッシュ・メモリとHDDを組み合わせるこれらの手法は,フラッシュ・メモリの記憶容量当たりの価格がHDDよりも高価な現在は有効である。しかし,NANDフラッシュ・メモリの低コスト化が進むにつれ,フラッシュ・メモリだけでストレージ装置を構成するSSDに収斂していくだろう。

 将来のSSDは,SLCとMLC,あるいはSLCと2ビット/セル品,3ビット/セル品,4ビット/セル品など各種MLCを適宜組み合わせる方法(いわゆるコンボSSD)が主流になっていくとみられる17〜19)。大容量で低コストのMLCにはユーザー・データを格納する。一方,高速でかつ信頼性が高いSLCはデータ量が小さいシステム・データの格納や,MLCのキャッシュとして用いる。求められる性能やコスト,信頼性などに応じてSLCとMLCを組み合わせ,最適化することになる。

 2ビット/セルのMLCであれば,前述の性能,消費電流,信頼性の見積もり結果から分かるように,単独でSSDを構成することも可能である。その場合でも,SLCを少量搭載してキャッシュに使用したり,サイズが小さいシステム・データを分担させたりすることで,SSDの性能をさらに向上できる。

 3ビット/セルのMLC品は,まだ開発途上であり,製品レベルでの信頼性が明らかではない。コンボが必須かどうかは断定できないものの,2ビット/セルに比べて信頼性のみならず性能も劣化することから,SLCとのコンボを積極的に利用すべきだろう。

 4ビット/セル品に基づくSSDは前述したように,現状の技術では書き込み性能でHDDに見劣りする。ここで,性能要求を達成するために並列動作するNANDチップ数を増やすと,消費電力が許容できない水準まで増大する。従って,4ビット/セル品を使う場合にはコンボSSDが必須になる。例えば,フォント・データやOS,アプリケーション・ソフトウエアの一部のように,書き換えがほとんど行われないデータの格納に4ビット/セル品を使う。つまり,ROMのように使用することで,4ビット/セル品のコストの低さを活用する。

コントローラとOSが連携

 SLCとMLCを組み合わせたコンボSSDの機能のうち,SLCをMLCのキャッシュとして使用するだけなら,OSによる対応がなくてもSSDのみで実現可能である。一方,SLC,2ビット/セル品,3ビット/セル品,4ビット/セル品を混在させたSSDで,ファイルの種類によって記憶する領域を切り替える制御を行うにはNANDコントローラとOSの連携が必要になる。ファイル内容の識別は,OSで行う必要があるからだ。

 コンボSSDの書き込みを最適化するためには,次の4段階の制御が必要になる。(1)OSが書き込みデータの内容を認識し,(2)OSが書き込みデータの種類に基づいてSSD内に書き込む領域を決定する。そして,(3)OSが目的の領域のアドレスを指定して書き込み情報をSSDに入力し,(4)SSD内で書き込みを実行する,という手順である。

最適なセクタ・サイズがある

 NANDフラッシュ・メモリでは,前述したように,ページに1回しか書き込むことができない。このため,効率的な使用には,ページ・サイズの単位でホストからデータを転送することが望ましい。しかし,現状のOSでは,ファイル管理の単位であるセクタ・サイズは512バイトと,NANDのページ・サイズよりもはるかに小さい。

 NANDフラッシュ・メモリに1セクタ(512バイト)のデータを書き込むと,ページ中の80%以上の領域がムダになる(図14)。実効的に使用可能なメモリ容量が低下する弊害がある。メモリ容量を確保する目的でガベージ・コレクションを頻繁に行う必要があるため,NANDのブロック・コピーが多発し,その結果,SSDとしての性能が著しく劣化する。

図14 セクタ・サイズの増大が必須
NANDフラッシュ・メモリのページに1セクタ分の書き込みを行った場合,ページ・サイズの約80%以上の領域がムダになる。
(画像のクリックで拡大)

 SSDとして利用する場合は,性能向上のために4個のNANDチップを並列して書き込む必要がある。これを考慮すると,NANDの実効的なページ・サイズは32K〜64Kバイトと,さらに大きくなる。NANDフラッシュ・メモリのページ・サイズは,微細化・大容量化に伴ってワード線長が伸びることで,今後も大きくなる(図4(a))。

 SSDの効率的な動作には,ページ・サイズの倍数に相当する128Kバイトや256Kバイトといった大きなセクタ・サイズでOSがファイルを管理することが望ましい。

 現状の512バイトというセクタ・サイズは,磁気ディスク上のトラックの大きさで決まっている。高密度化に伴ってHDDでもトラック・サイズを拡大する動きがある。HDD関連の業界団体であるIDEMA(International Disk Drive Equipment and Materials Association)は,より大きな4Kバイトのセクタ・サイズに準拠した規格であるLong Block Data sector standardの標準化を進めており,「Windows Vista」がサポートしている。

 SSDに関しても,NANDフラッシュ・メモリやSSDのベンダーの間でセクタ・サイズの標準化の仕組みを構築する必要がある。米Microsoft Corp.などのOSベンダーやパソコン・ベンダーと協力しながらSSDに最適なセクタ・サイズを決めていくべきだろう。

SSDへの書き込み回数を削減

 書き換え可能回数が限られるというSSDの課題に対しては,OSによるシステム的な対応を行うと,かなりの部分を解決できる。ホストの主記憶(DRAM)を有効活用し,ファイルの属性に応じて書き込み動作を切り替えることで,SSDへの書き込み回数を削減できる。

 書き換え頻度が多いファイルや,NANDのページ・サイズ以下の小容量のファイルはDRAMに保存して,SSDになるべく書き込まないように制御する手法がある。こうした機能は,Microsoft社の組み込み機器向けOSである「Windows XP Embedded」に「Enhanced Write Filter」という名称で既に搭載されている。Enhanced Write Filterは,SSDとのインタフェースとなる低レベル・ドライバとOS(ファイル・システム)の間に位置し,ファイルの属性によってファイルの書き込み先をDRAMまたはSSDに振り分ける(図15)。これにより,SSDへの書き込み回数を最小化する。

図15 SSDへの書き込み頻度を低減
パソコン内のDRAMを有効活用することで,SSDへの書き込み頻度を減らす機能「Enhanced Write Filter」の導入が,今後進むとみられる。Microsoft社の資料に基づく。
(画像のクリックで拡大)

SSD向けの不良予知手法が必要

 このほか,SSDに最適な不良予知手法の開発も必要である。例えば,HDDの故障の予測を目的として多くのHDDに搭載されている「SMART(Self-Monitoring, Analysis and Reporting Technology)」は,ストレージ装置の状態を監視することでストレージ装置の不良を予測する技術である。SMARTはHDDを対象に開発されたが,HDDの機械的な不良を予測することは困難なため,有効に使われているとは言い難いのが現状だ20)

 一方,SSDでは,NANDセルの不良率は書き換え回数と強い相関関係があることから,SMARTのような技術を有効に利用できる可能性が高い。SMARTでNANDフラッシュ・メモリの書き換え回数を監視することでSSDの寿命を予測し,致命的な不良が発生する前にSSDを置き換える,といった使用方法の実現が期待される。

参考文献
1)  Takeuchi, K. et al.,“ A 56nm CMOS 99mm2 8Gb Multi-level NAND Flash Memory with 10M byte /sec Program Throughput ,”ISSCC, pp.144-145, 2006.
2)  Cernea, R. et al., “A 34MB/s-Program-Throughput 16Gb MLC NAND with All-Bitline Architecture in 56nm,” ISSCC ,pp.420-421, 2008.
3) Kanda, K. et al.,“ A 120mm2 16Gb 4-MLC NAND Flash Memory with 43nm CMOS Technology,” ISSCC, pp.430-431, 2008.
4) Takeuchi, K.,“ Novel Co-design of NAND Flash Memory and NAND Flash Controller Circuits for sub-30nm Low-Power High-Speed Solid-State Drives(SSD)”,Symposium on VLSI Circuits, 2008.
5) Lee, J. D. et al.,“ Effects of Floating-Gate Interference on NAND Flash Memory Cell Operation,” Electron Device Letters, vol.23,no.5, 2002, pp.264-266.
6)  Ichige, M. et al., “A novel self-aligned shallow trench isolation cell for 90nm 4Gbit NAND Flash EEPROMs,” Symposium on VLSI Technology, pp.89-90, 2003.
7) Kurata, H. et al.,“ The Impact of Random Telegraph Signals on the Scaling of Multilevel Flash Memories,” Symposium on VLSI Circuits, pp.112-113, 2006.
8) Li, Y. et al.,“ A 16Gb 3b/cell NAND Flash Memory in 56nm with 8MB/s Write Rate,”ISSCC, pp.506-507, 2008.
9) Shibata, N. et al.,“ A 70nm 16Gb 16-level-cell NAND Flash Memory,”Symposium on VLSI Circuits, pp.190-191, 2007.
10) Naruke, K. et al.,“ Stress induced leakage current limiting to scale down EEPROM tunnel oxide thickness,” IEDM, pp.424-427, 1988.
11) 斎藤,「多値NANDによるSSD技術と今後の動向」,『半導体メモリー・シンポジウム』,2008年.
12) Balan, N., “MLC NAND Flash Memory Systems: Understanding Hardware and Software Solutions,” MEMCON, 2007.
13) Lee, J. D. et al.,”A New Programming Disturbance Phenomenon in NAND Flash Memory by Source/Drain Hot-Electrons Generated by GIDL Current,” NVSMW,pp.31-33, 2006.
14) Park, K. T. et al., “Scalable Wordline Shielding Scheme using Dummy Cell beyond 40nm NAND Flash Memory for Eliminating Abnormal Disturb of Edge Memory Cell,” SSDM, pp.298-299, 2006.
15) Dennard, R. et al.,“ Design of ion-implanted MOSFETs with very small physical dimensions,”Journal of Solid State Circuits, vol.SC-9, no.5, pp.256-268, 1974.
16) Takeuchi, K.,“ NAND successful as a media for SSD,” ISSCC Tutorial, T7, 2008.
17) Samsung Combo SSD, J. Elliott,“ SSD:The Next Wave In NAND Flash,” WinHEC,2007.
18) Toshiba LBA-NAND, http://www1.toshiba.com/taec/index.jsp
19) Spansion MirrorBit Eclipse, http://www.spansion.com/products/MirrorBit_Eclipse.html
20) Google report, http://209.85.163.132/papers/disk_failures.pdf