[an error occurred while processing the directive]

SanDisk、SSD向けファイルシステム「ExtremeFFS」を解説
~“プチフリ”と無縁な、高速化技術

米SanDiskのDon Barnetson氏


 米SanDiskでSSDマーケティング部門の上級ディレクターを務めるDon Barnetson氏に、同社のSSD製品/技術に関する話を伺う機会を得た。同社はここ最近、SSDに関する指標や新技術を立て続けに発表している。一部、過去のレポートと重複する点もあるが、高速化技術などについて具体的なメカニズムは、今回初めてお伝えする。

●SSDのランダムライトを100倍高速化するExtremeFFS

NANDフラッシュメモリは、読み書きはページ単位で行なうが、消去はブロック単位で行なう

 同社は'94年に、NANDフラッシュメモリ用ファイルシステム「TrueFFS」を開発した。これは、Windows 95や、一般的な携帯電話などに採用されている。NANDフラッシュメモリでは、データを直接上書き/変更することができず、書き込む前に一度消去という作業を行なう必要があるが、TrueFFSでは、読み込みと書き込みは最大8KB程度のページ単位で行なうのに対し、消去は最大512KB程度のブロック単位で行なう。

 TrueFFSが登場した当初のNANDの主用途は、デジタルカメラやオーディオプレーヤーなどの記憶媒体であった。ここでは、ある程度大きなサイズのファイルを扱うので、ファイルアクセスはシーケンシャルになり、NAND上のデータの書き換えは頻繁に発生しないため、TrueFFSはうまく機能していた。

 しかし、最近脚光を浴びているSSDでは事情が大きく異なる。それは、SSDがOSを扱うからだ。OSおよび一般的アプリケーションを動かす上で発生するファイルの書き込みは、大半がランダムアクセスで、その内50%以上は4KB以下のサイズのものだ。

一般的アプリケーションで発生するファイルアクセスのパターン。ほとんどは、4KB以下のランダムライト

 これにより3つの問題が生じるとBarnetson氏は指摘する。1つは、待ち時間が生じる点。前述の通り、NANDでは1ページのサイズの書き換えであっても、丸々1ブロックを消去し、別ブロックにほとんど同じデータを書き込む手順が必要となる。Barnetson氏によると、この作業には概ね200ms程度かかるといい、ランダムライトが多発する状況では、SSD/OSのレスポンスが体感できるほど悪くなることがある。これが一部のユーザーの間で話題になっている「プチフリーズ」の正体だ。

 もう1つは、寿命の問題。NANDフラッシュメモリは、書き換えられる回数が決まっている。ランダムライトが多いと、結局はブロックサイズでの消去が多発するので、シーケンシャルライトよりも寿命をすり減らしてしまう。

 残りの1つの問題は、消費電力が大きくなってしまうと言う点だ。

 そこで同社が11月に発表した新技術が「ExtremeFFS」と呼ばれる新しいファイルシステムだ。ちなみに、TrueFFSもExtremeFFSも、NANDコントローラが利用するファイル管理アルゴリズムで、OSには依存しない。

ExtremeFFSでは書き換えるページに対しマーキングだけすることで、ページ単位での書き換えを実現する

 ExtremeFFSは、このブロック単位の消去を不要とする。具体的には、書き換えを行なうページに対し無効というマーキングだけを残し、実際に消去は行なわず、空いている別の場所にページ単位で書き込みを行なう。

 この作業は、ブロック単位での消去/書き込みと比べ、遙かに高速に行なえるため、ランダムライトの性能は最大で100倍にまで向上。同時に、SSDの耐久性能と低消費電力性も改善される。

 このほか、ExtremeFFSは、NCQに対応し、NANDフラッシュチャネルごとに、リード/ライト/ガーベージコレクトを独立して同時に実行でき、例えばWindowsのレジストリなど、頻繁に利用するデータをローカライズする技術を搭載している。

 ExtremeFFS技術を使ったSSDは2009年から出荷される見込みで、基本的にハイエンド製品に採用される。同社では、この技術をライセンスする予定はないので、同社製品のみの特徴となる。

●SSDの寿命と性能を示す標準的指標を提言

 Barnetson氏は、「LDE」および「vRPM」というSSDに関する新しい指標についても解説してくれた。

 LDEは、Longterm Data Enduranceの略で、SSDの寿命を数値化したもの。これについては、MemCon 2008レポートで詳しく紹介しているので、詳しくはそちらを参照して欲しい。簡単に説明すると、個々のSSDの特性や、ユーザーの書き込みパターンなどから計算し、そのSSDがあとどれくらい(何GB)書き込めるのかを示すものだ。

 同社はこの仕様をJEDECに提出しており、ユーザーの利便性のため、業界全体の指標として利用すべく、働きかけを行なっている。細かな点での意見の相違はあるが、競合であるIntelもこのアイディアに賛同しているという。

 vRPMは、Virtual RPMのことで、SSDの実効性能をより正確に求めるための計算方法だ。HDDのIOPS(1秒あたりの入出力性能)は、1/{(コマンドオーバーヘッド)+(シーク時間)+(回転のレイテンシ)+(データ転送時間)}という計算で求められる。このうち、コマンドオーバーヘッドとデータ転送時間は、ほかの2つに比べ無視できるほど小さく、レイテンシは30/RPMで求められるので、先の式は1/{(シーク時間)+(30/RPM)}と簡易化できる。この式から分かるのは、HDDの実効性能がRPMに非常に依存しているという点だ。言い換えるなら、HDDの性能を上げるには、シーク時間を短くするより、回転数を上げた方が良いと言うことになる。そこで、同社はSSDにもRPMの概念を導入する。

 SSDでは、上述のNANDの特性から読み込み(Iread: ここでは8KBのランダムリード性能を差す)より書き込み(Iwrite: ここでは4KBのランダムライト性能を差す)の速度が大きく劣るので、それを考慮する必要がある。一般的なPCの用途では読み込みと書き込みは半々の割合で発生すると考えられるので、SSDのIOPSは1/{(0.5/Iread)+(0.5/Iwrite)}となり、これに50を掛けたものがvRPMとなる。ちなみに、HDD/SSDを問わず、実際の実効性能には、キャッシュも影響してくるが、一般的オフィスアプリケーションの場合、キャッシュ消去が頻発するので、あまり考慮しなくていいという。

HDDの実効性能の求め方 SSDの実効性能の求め方。vRPMはこれに50を掛ける

 この式を2007年、2008年、2009年(予定)の世代のSSDに当てはめると、それらのvRPMは順におよそ1,000、10,000、40,000となる。

 vRPMを用いるメリットの1つは、HDDと同じ土台で性能を比較できる点。10,000なら7,200rpmのHDDより、40,000なら15,000rpmのHDDよりも高速ということだ。もう1つのメリットは、この数値が実際に使っている時の実効性能を示しているという点だ。

 SSDメーカーは、多くの場合シーケンシャルリード/ライトの性能を掲げるが、先に書いたとおり、PCを普通に利用していて一番多いのは小さなサイズのランダムアクセスだ。詳しいユーザーであれば、シーケンシャル性能もランダム性能もチェックするだろう。しかし、SSDメーカーがvRPMという指標を採用すれば、一般のユーザーでもより簡単に実用上の性能の違いを把握できるというわけだ。

 SanDiskでは、vRPMも広くメーカーに採用を呼びかけるほか、2009年以降、順次同社製SSDのLDEとvRPMをホームページで公開していく予定。

□SanDiskのホームページ(英文)
http://www.sandisk.com/
□関連記事
【11月6日】SanDisk、SSDのランダムライト性能を最大100倍向上させる技術
http://pc.watch.impress.co.jp/docs/2008/1106/sandisk.htm
【7月25日】【MemCon】SanDisk、SSDの寿命を定義する共通指標を提唱
http://pc.watch.impress.co.jp/docs/2008/0725/memcon05.htm
【6月10日】【元麻布】SanDiskにSSD事業戦略を聞く
http://pc.watch.impress.co.jp/docs/2008/0610/hot551.htm

(2008年11月27日)

[Reported by wakasugi@impress.co.jp]

【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp
お問い合わせに対して、個別にご回答はいたしません。

Copyright (c)2008 Impress Watch Corporation, an Impress Group company. All rights reserved.