CF化とFlashFire



vaio Type-TのCF化に関してはこちらに書いた。
ランダム書き込み速度が0.009MB/Sという、激しく情けないCFカードのためWindowsが満足に動かなかった。
そこでFlashFireというキャッシュのようなソフトを使ってCFの遅さをカバー出来ないかと考えた。
最初は単にインストールしたのみで実験したが、これがそこそこというか素晴らしいというか、効果を発揮するではないか。
実はvaioのページでの計測値、ランダム書き込みで2MB/Sという値も出たのだがCFの空き容量?なのかその後めっきり遅くなってしまった。
そこでパラメタを変更しながら実験を行ってみることにする。

FlashFireやパラメタ変更ソフトに関してはvaioのページをご覧頂きたい。

まずはFlashFireの設定をいじらずに、Windows側の設定で変わるかどうかを見る。
マイコンピュータのパフォーマンス設定で、アプリに多くのメモリを割り当てるかディスクキャッシュにメモリを多く割り当てるかを変えてみる。

アプリに多く割り当てる設定



ディスクキャッシュ優先設定(キャッシュサイズは10MBに変更)



次にバッファサイズとブロックサイズを変えてみる。
デフォルトではバッファが32MBでクラスタサイズが4096だ。

バッファ=32MB クラスタサイズ=2048



バッファ=64MB クラスタサイズ=2048



バッファ=64MB クラスタサイズ=4096



ランダム書き込み性能を重視するとすれば、バッファを64MBにしてクラスタサイズを4096にする設定が良さそうだ。
ただし他のページでの検証結果などを見ると個体差というか環境差がありそうで、実際には自分の環境に合わせてチェックして決めなければならないだろう。

最初に測った時には2MB/Sの数字も見たのに、なぜ遅くなったのか。
変わった点と言えば、テスト中にWindowsUpDateが起きてSP3になったこと、それに伴いCFの空きエリアが減少したことくらいだ。
なお最初のテスト前にはDefraggler(CF,SSDにも有効と言われるデフラグソフト)でフラグメントを解消しているが、テストを行うと盛大にフラグメントが発生するので2回目移行の測定値は悪く出るのではないかと思う。
いちいちでフラグするのも面倒なのでそのまま計測した(このページに掲載した計測結果はすねてフラグメントが起きた状態のもの)が、デフラグをかけて一発目ならもっと良い値が出るのかも知れない。
ちなみに最初の頃はMyDefragのFlash memory disksモードを使っていたので、その方が結果が良いのかも。
デフラグする時にはFlashFireはディセーブルにするわけで、するとランダム書き込み速度は0.009MB/Sに落ち、それはそれは長い時間がかかる。
だが何故テストを行うとフラグメントが起きるのか。
既存のファイル位置を動かす訳ではなく、空いているエリアにファイルを作るのではないのか。
CF化したType-Tだとあまりに動作が遅いので、Type-Pで実験してみた。

まずはフラグメントが起きていると想像できる状態で速度を計測。
ランダムアクセスの部分だけの計測にして、フラグメントの発生を最小にする。



次にデフラグ直後の速度を計測。



速度落ちてるんですけど。
もう一度、今度はフルに計測。



更に落ちた…
もしかしてデフラグが悪いとか?
いや、しかし他のサイトの実験ではこのdefragglerこそ最高だとなっていた。
なにやら、未使用領域のフラグメントが解消されるとか。
未使用領域のフラグメント????



ここまで来たら更に実験だ。
MyDefragのFlash memory disksモードを使ってデフラグをしてみる。
これは速いなぁ、一瞬とは言わないがさっさと終わる。
そして速度計測…



速くなった。
って事は、Type-Tで最初の頃に計測された2MB/S台の数字はMyDefragの効果だったのか。
少なくともvaio Type-PのノーマルSSDにはMyDefragが効果的である事は解った。
そこでType-TのCF化PCにもMyDefragをかけて計り直してみる。
Type-Tの方はFlashFireを切るとものすごく遅いのでデフラグも時間がかかる。
defragglerとは配置アルゴリズムが違うようで、全てをやり直す風ではないがなにやらファイルを移動している。
MyDefragに関しては、こちらでも記事を書いている。



MyDefragをかけ、FlashFireを有効にして再起動する。
そしてランダムアクセスのベンチのみを動かした結果がこれだ。




RandomReadは約9.2MB/Sから10.3MB/Sに、RandomWriteは0.196MB/Sから0.364MB/Sに向上した。
幻の2MB/Sを見ることは出来なかったが悪くないと思う。
なおこの計測条件はBufferSize=32、ClusterSize=4096、Option=0で行ったものだ。
Option=2では値の向上が見られるのだが、ばらつきが大きい気がする。



Option=0に戻して、ClusterSize=8192としてみた。



調子に乗ってClusterSize=16384としてみた。



さらに、ClusterSize=32768とすると…
Windowsが起動しなくなった…