中央大学 理工学部 電気電子情報通信工学科 教授の竹内健氏らの研究グループは、ビッグデータ解析などのデータベース・アプリケーションにおいて、NANDフラッシュ・メモリ(SSD)の性能や消費電力、書き換え回数(寿命)を大幅に改善できる技術を開発した。技術の詳細を「2013 International Conference on Solid State Devices and Materials(SSDM)」(2013年9月24~27日、福岡)で発表する。論文タイトルは「Co-Design of Application Software and NAND Flash Memory for Database Storage System」。

 データベース・アプリケーションでは、ストレージ装置に高いI/O性能が求められるため、HDDに代わりNANDフラッシュ・メモリ(SSD)が多用されている。ただし、NANDフラッシュ・メモリは同じ記憶領域(ページ)にデータを上書きできず、別の領域にデータを書き込んでから古い領域を無効化する必要がある。この結果、NANDフラッシュ・メモリ上ではデータが断片化し、無効な領域が増えて容量が圧迫されてしまう。

 このため、NANDフラッシュ・メモリでは断片化したデータを連続的に配置し直し、無効な領域をブロック単位で消去する「ガベージ・コレクション」と呼ぶ処理を行う。このガベージ・コレクションを行うと、NANDフラッシュ・メモリは数百msにもわたって速度が著しく低下してしまう。

 竹内氏らのグループは、こうした問題を解決する手法として、上書き動作が可能なReRAM(抵抗変化型メモリ)をキャッシュ兼ストレージとして利用する技術をこれまで開発してきた(関連記事)。ただし、ReRAMは実用化までにしばらく時間がかかるとみられている。そこで、今回はストレージを制御するミドルウエアに工夫を加えることで、NANDフラッシュ・メモリのみで問題を解決した。

 具体的には、アプリケーション・ソフトウエア側からストレージ装置にアクセスする際に論理アドレスを割り当てるミドルウエア「SE(storage engine)」と、SSDコントローラ側で論理アドレスを物理アドレスに変換するミドルウエア「FTL(flash translation layer)」を連携動作させた。

SEとFTLを連携(出典:SSDMの論文から引用)
[画像のクリックで拡大表示]

 これまでSEとFTLは独立に開発されており、SE側では論理アドレスを自由に決めていた。これに対し、今回の方式ではNANDフラッシュ・メモリ上の無効領域が連続的に並ぶように、次に書き込むべき論理アドレスの情報をFTLからSEに送る。SEはFTLの情報を基に論理アドレスを割り当て、書き込みを行う。この結果、NANDフラッシュ・メモリ上では無効領域が連続的に並び、ガベージ・コレクションをしなくても、ブロック単位で無効領域を消去できるようになった。

データの断片化を抑制(出典:SSDMの論文から引用)
[画像のクリックで拡大表示]

 SSDの残り容量が20%の条件でシミュレーションした結果、今回の技術を使うことによってSSDのアクセス性能を従来比3.8倍に改善できることを確認した。消費エネルギーは同46%減、書き換え回数は同62%減に改善された。書き換え回数の低減によってSSDの寿命が伸び、SSDの交換頻度が減るために低コスト化にもつながるという。

性能を3.8倍に改善(出典:SSDMの論文から引用)
[画像のクリックで拡大表示]

 なお、今回の研究はNEDO(新エネルギー・産業技術総合開発機構)の「IT融合による新社会システムの開発・実証プロジェクト」の支援を受けて実施した。

MLCとTLCを組み合わせる

 竹内氏らの研究グループでは、TLC(triple level cell)品とMLC(multi-level cell)品を組み合わせることで低コスト化、高性能化、低消費電力化を実現するSSD技術も開発した。詳細をSSDMで発表する。講演タイトルは「TLC/MLC NAND Flash Mix-and-Match Design with Exchangeable Storage Array」。

 なお、こちらの研究は科学技術振興機構(JST)の戦略的創造研究推進事業(CREST)「ディペンダブルVLSIシステムの基盤技術」の支援を受けて実施した。