平澤寿康の周辺機器レビュー

低価格SSDのプチフリを解消できるか
~FlashPointを試す



 SSDは、JMicron製のコントローラとMLCタイプNANDフラッシュを採用する低価格製品の登場で、一気に身近な存在となった。ただ、普及が進むにつれて、ある問題が指摘されるようになった。その問題とは、ランダムライト頻発時にSSDへのアクセス速度が極端に低下し、数秒から数十秒、場合によっては数分間、操作を一切受け付けなくなり、マシンが固まったようになる、いわゆる“プチフリーズ”と呼ばれる現象だ。

 現在では、キャッシュメモリを搭載することで極端な速度低下を解消した製品が続々登場してきているが、低価格SSDでは、現在でもキャッシュメモリを搭載しない製品が主流だ。そういった製品では、やはりプチフリーズが発生する可能性が非常に高い。

 しかし、低価格SSDでプチフリーズに悩む必要がなくなる可能性が出てきた。SSDの書き込み性能を向上させ、SSD搭載PCの快適度を高めるとされる、SSDアクセラレータ「FlashPoint」というツールが登場したからだ。そこで、実際にFlashPointを利用してSSDの書き込み性能が向上するかどうか、検証してみた。

●メインメモリにライトキャッシュを確保
FlashPointのブログ。まだベータ版で、短期間でアップデートが繰り返されている

 NANDフラッシュメモリでは、データの書き込みや読み出しは、容量が最大8KB程度の「ページ」と呼ばれる単位で行なわれ、消去は32または64ページをまとめた「ブロック」と呼ばれる単位で行なわれる。

 そして、ページへの書き込みは、そのページが消去されている必要があり、直接データを上書きすることはできない。そのため、データの更新時には、一度データが書き込まれているページを消去しなければならないが、消去はブロックサイズでしか行なえないため、消去したいページが含まれるブロックのデータを別の空きブロックに一度待避させた上で、目的のブロックを消去し、そこに変更分のデータを含めて全ブロックデータを書き戻すという作業が発生してしまう。そして、その一連の作業には100~200msほどの時間がかかってしまうため、特に小サイズのランダムライトが頻発すると、極端な速度低下が発生してしまう。

 そこでFlashPointの登場だ。FlashPointは、メインメモリ上に32MBのライトキャッシュ領域を確保することによって、ランダムライト頻発時の速度低下を隠蔽するフィルタドライバとして動作する。現在、フリーソフトとしてこちらで配布されている。

 FlashPointの詳しい動作の仕組みは不明だが、小サイズのランダムライトが頻発したときに、書き込みデータをメインメモリ上に確保したライトキャッシュ領域に貯め、ブロック単位になるようにデータをまとめて書き込んだり、比較的大きなサイズのデータを優先的に書き込むといった手法を採用しているのではないだろうか。仕組みはともかく、キャッシュメモリ非搭載の低価格SSDでも、FlashPointを利用することでプチフリーズの発生が抑えられ、書き込みパフォーマンスが向上するのであれば、プチフリーズに悩んでいる人にとって、非常に興味深いソフトであることは間違いない。

 ちなみに、FlashPointの使用条件は少々厳しい。対応するSSDには特に制約はなく、基本的に全てのSSDで利用可能。しかし、対応OSはWindows XPのみで、Windows Vistaなどには非対応。当初は、適用ドライブは1ドライブのみで、ライトキャッシュ容量も32MBで固定となっていたが、Beta4からはライトキャッシュ容量の変更や適用ドライブの指定、適用SSDのブロックサイズなどの設定が可能となった。ただし、それら設定はレジストリのパラメータを直接編集しながら行なわなければならず、少々ハードルが高い。ノートPCのように1台のSSDのみを搭載するマシンであれば、標準設定のままで運用しても大きな問題はない。しかし、デスクトップPCでSSDを複数台搭載していたり、SSDとHDDを併用している場合などは、SSDの接続ポートやレジストリ設定の確認を必ず行ないたい。

 加えて、現在配布されているFlashPointはベータ版(5月3日時点での最新版はBeta4 Patch2)で、かつ短期間でアップデートが繰り返されている。つまり、まだまだ発展途上のツールだ。そういった状況なので、不具合の発生も十分考慮した上で、自己責任での利用が前提と考えて欲しい。

●ランダムライト速度の向上を確認
バッファローの「SHD-NSUM120G」

 では、実際にFlashPointの効果をチェックしよう。今回は、デスクトップPCにWindows XP Professional SP3をインストールしたPATA HDDを接続するとともに、SATAにSSDのみを接続した環境と、16GBのSSDを搭載するネットブック、Eee PC 901-16Gを用意し、FlashPointの有無でSSDのアクセス速度をチェックしてみた。

 利用したFlashPointのバージョンはBeta4 Patch2で、レジストリのパラメータは全て標準設定でテストを行なった。利用したSSDは、JMicron製コントローラ「JMF602」を搭載する、バッファローの「SHD-NSUM120G」だ。アクセス速度のチェックには、CrystalDiskMark 2.2.0と、HD Tune 2.55を利用(Eee PC 901-16GではCrystalDiskMark 2.2.0のみ)。デスクトップPCのテスト環境は下に示すとおりだ。

・テスト環境
CPU:Core 2 Quad Q8200
メモリ:PC2-6400 DDR2 SDRAM 4GB
マザーボード:MSI P35 Platinum
ビデオカード:Radeon HD2400 PRO
OS:Windows XP Professional SP3

・CrystalDiskMark 2.2.0

SHD-NSUM120G、100MB設定、FlashPointなしSHD-NSUM120G、100MB設定、FlashPointあり
SHD-NSUM120G、1,000MB設定、FlashPointなしSHD-NSUM120G、1,000MB設定、FlashPointあり
Eee PC、100MB設定、FlashPointなしEee PC、100MB設定、FlashPointあり
Eee PC、1,000MB設定、FlashPointなしEee PC、1,000MB設定、FlashPointあり

 CrystalDiskMark 2.2.0の結果を見ると、4KBランダムライト速度が大きく向上していることがわかる。特に、テストサイズが100MBの場合では、速度が8倍近くにまで向上した。ただ、512KBのランダムライト速度やシーケンシャルライト速度は、速度が向上しているものもあるが、どちらかというと低下傾向だ。

・HD Tune 2.55

8MB Write、FlashPointなし8MB Write、FlashPointあり
512KB Write、FlashPointなし512KB Write、FlashPointあり
64KB Write、FlashPointなし64KB Write、FlashPointあり
Random Write、FlashPointなしRandom Write、FlashPointあり

 HD Tuneの結果を見ても、ほぼ同様の結果となっている。シーケンシャルライト速度は、テストサイズに関わらず低下したが、ランダムライト性能は、小サイズに限ってみると大幅な向上となった。つまり、小サイズのランダムライトでは速度が大きく向上するのに対し、データサイズが大きいランダムライトやシーケンシャルライトでは効果が薄く、逆に遅くなる場合が多いと考えて良さそうだ。

 小サイズのランダムライト性能が大きく向上したのは、書き込みデータのほとんどがキャッシュ内に収まるために、実際にSSDへ書き込みを行なっている状態がうまく隠蔽できているからだろう。そして、データサイズが大きくなるにつれてキャッシュがあふれ、実際のSSDへの書き込み速度が現れてくることになる。また、シーケンシャルライトに関しては、FlashPointの処理が間に挟まっている分だけ遅くなっているのだろう。

 ベンチマークソフトを利用したテストは、通常のPC利用時にはあり得ないほどの大量の書き込みを行なっているため、どうしても厳しい結果になりやすい。そういった中で、小サイズのランダムライト性能がこれだけ向上していることを考えると、通常の環境では、プチフリーズは無視できるまでに改善できる可能性が高い。事実、Eee PC 901-16GにFlashPointを導入する前は、操作時に引っかかりを感じる場面がかなり多く、イライラすることも多かったが、FlashPoint導入後には、引っかかりが全く感じられなくなり、どういった場面でもスムーズに利用できるようになった。

●試してみる価値は大きい

 Eee PCなどのSSDを搭載するネットブックでは、パワーユーザーを中心に、「Enhanced Write Filter(EWF)」を利用して、SSDの速度を改善させるという方法を利用している人が多い。これは、Windows XP Embeddedで提供されていて、メインメモリ上に確保した領域などに書き込みデータを蓄積してストレージへの書き込みを抑制するものだ。もちろん、Eee PCに限らず、一般的なSSDでも応用可能だ。

 ただ、EWFを利用している場合、終了時など定期的に蓄積された書き込みデータをSSDに書き戻す作業を行なわなければならず、少々面倒だ。当然、XPがハングアップするなどのトラブルが発生してしまったり、書き戻しを忘れてしまうと、全データが失われてしまうため、利用にはリスクが伴う。

 FlashPointも、独自にライトキャッシュを用意して、そこに一時的に書き込みデータを保持するという意味では、同様の危険はある。しかし、EWFのように書き戻しを指示するまで全書き込みデータを保持したままということはなく、キャッシュに保持したデータは順次SSDに書き込まれていくため、トラブルの発生は比較的少ないと考えていい。また、FlashPointインストール後に、ユーザーがFlashPointの動作を意識すべき部分もなく、運用面で手間が掛からない。

 キャッシュメモリを搭載するSSDのように、ほぼ完璧にプチフリーズの発生を抑え込むことは難しいかもしれない。また、今回のテストでは特にトラブルは発生しなかったが、環境によってはトラブルが発生する場合もあるようなので、利用時のリスクを覚悟し、自己責任で利用する必要もある。しかし、FlashPointの利用によって、通常利用の範囲内でプチフリーズの発生が激減することはまず間違いなく、試してみる価値は十分にあるだろう。

(2009年 5月 11日)

[Text by 平澤 寿康]