PR
今回の成果のまとめ
今回の成果のまとめ
[画像のクリックで拡大表示]
研究グループが提案するコントローラ回路の構成
研究グループが提案するコントローラ回路の構成
[画像のクリックで拡大表示]
動作信頼性が95%向上
動作信頼性が95%向上
[画像のクリックで拡大表示]
救済ビット数69のECCを使う場合よりも高信頼に
救済ビット数69のECCを使う場合よりも高信頼に
[画像のクリックで拡大表示]
エラー発生のパターン
エラー発生のパターン
[画像のクリックで拡大表示]
データを反転させる
データを反転させる
[画像のクリックで拡大表示]
書き込み電力を43%低減
書き込み電力を43%低減
[画像のクリックで拡大表示]
書き込み電力削減のコンセプト
書き込み電力削減のコンセプト
[画像のクリックで拡大表示]
ストライプ・パターンを避ける
ストライプ・パターンを避ける
[画像のクリックで拡大表示]

 東京大学 大学院工学系研究科 電気系工学専攻 准教授の竹内健氏の研究グループとSIGLEAD社は共同で,NANDフラッシュ・メモリに書き込むデータのパターンをコントローラ回路で変調することによって,SSDの動作信頼性を95%高め,書き込み電力を43%削減する技術を開発した(講演番号11.4)。4X~3Xnm世代のNANDフラッシュ・メモリで構成したSSDに,このコントローラ回路をFPGAとして実装し,その効果を実証している。多値(MLC:multi-level cell)技術を用いた大容量のNANDフラッシュ・メモリを搭載したSSDの,信頼性や動作速度の向上につながる成果である。

 今回の成果は,(1)動作信頼性の向上と(2)書き込み電力の低減に向けた,2種類のデータ変調技術から成る。これら二つの技術はいずれも,SSDの動作を制御するコントローラ回路に,ECC(エラー訂正)回路と併せて実装できる。コントローラ回路の面積が数%増加するのを許せば,「今すぐにでも実製品に導入できる」(東京大学の竹内氏)という。

 (1)SSDの動作信頼性を高める手法としては,ECCによるエラー訂正を強化する方法が一般的である。NANDフラッシュ・メモリの微細化や多値化が進み信頼性が劣化するに伴ってECCの救済ビット数は増大しており,現状では「24ビットといった水準に高まっている」(東京大学の竹内氏)。今後もこうしたペースでECCを強化すると,コントローラ回路の面積や消費電力が大幅に増大する懸念がある。そこで研究グループは「ECCに頼らずに,信頼性を高める手法の開発を目指した」(竹内氏)。

 同グループが着目したのは,NANDフラッシュ・メモリのデータ保持特性の劣化しやすさが,書き込むデータのパターンに依存することである。データ保持特性の劣化は,浮遊ゲートに注入した電子がゲート絶縁膜を介して基板側に漏れる現象によって引き起こされる。このとき,メモリ・セルのしきい値電圧が下がることにより,書き込んだデータが変動してしまう。例えば,マルチ・ページ方式でデータを書き込む2ビット/セルのNANDフラッシュ・メモリでは,最初に書き込んだページ(lower page)において,しきい値電圧の低下によりデータ“0”が“1”に変わるエラーを生じやすい。一方,二番目に書き込んだページ(upper page)では,しきい値電圧の低下によりデータ“1”が“0”に変わるエラーを生じやすい。

 このことから,データを書き込む際にあらかじめ,lower pageではデータ“1”の比率を増やし,upper pageではデータ“0”の比率を増やしておけば,電子の漏れによるデータ変動を抑えやすくなることが分かる。例えば,lower pageでデータ“1”の比率を増やすためには,コントローラ回路に次のようなロジックを組み込めばよい。書き込みデータをある特定のビット数(コード長:nとする)から成る多数のユニットに分割し,それぞれのユニットにおけるデータ“1”の数を数える。その比率がユニットを構成する全ビットの50%(n/2個)未満である場合には,全ビットのデータを反転する。この時,データを反転したことを示すフラグ・データを併せて記録しておく。データ“1”の比率が50%を超える場合には,データを反転しない。

 ここで,lower pageのデータ“1”の比率をどれほど高められるかは,コード長に依存する。コード長を短くしてきめ細かくデータを変調すれば,その分,データ“1”の比率を高められるが,フラグ・データを記録する領域の面積が大きくなって,コントローラ回路の面積が増大してしまう。今回は,データ“1”の比率を60%に設定するために,コード長は16とした。この場合,コントローラ回路の面積の増分は6.3%になるという。

 この技術により,電子漏れに起因するデータ保持特性の劣化を,従来比95%削減できた。今回の技術を救済ビット数24のECCと組み合わせて用いた場合,救済ビット数69のECCを実装する場合よりも許容ビット・エラー率を高められるという。

 (2)書き込み電力の低減の観点から重要になるのが,ビット線容量を低減することである。NANDフラッシュ・メモリは,ビット線を途中で分割しない構造を取るため,ビット線はチップの端から端までの長さを持つ。このため,配線容量の中でもビット線容量が支配的になる。

 書き込み時にビット線容量が最大となるのは,隣接するビット線に,データ“0”と“1”が互い違いに書き込まれる場合である。つまり,書き込みデータがストライプ(縞状)・パターンを持つときだ。研究グループは今回,ストライプ・パターンのデータが書き込まれるのを避けるアルゴリズムを開発した。まず,書き込むデータ列のうち,左から数えて奇数番目のビットのデータ“1”の数(Aとする)を数える。さらに,複数番目のビットのデータ“1”の数(Bとする)を数える。次に,両者の差(A-B)をとって,それがあるしきい値よりも大きい場合にはデータ列の配置を改める。具体的には,奇数番目のビットをデータ列の左半分,偶数番目のビットをデータ列の右半分に配置する。そのうえで,データ列の配置を改めたことを示すフラグ・データを記録しておく。このようにすれば,書き込むデータは,ストライプ・パターンではなくなる。

 この手法により,ストライプ・パターンを書き込む場合に比べて書き込み電流を削減できた。具体的には,4Xnm世代のNANDフラッシュ・メモリを用いた場合で35%減,3Xnm世代のNANDフラッシュ・メモリを用いた場合で43%減にできた。書き込み電流を低減できる結果として,並列で書き込むチップを2~3倍に増やすことができ,その分SSDの書き込み速度を高められるという。

 以上は,科学技術振興機構(JST)の戦略的創造研究推進事業 チーム型研究(CREST)における研究領域「ディペンダブルVLSIシステムの基盤技術」のうち,研究課題「ディペンダブル ワイヤレス ソリッド・ステート・ドライブ(SSD)」での成果である。