ReadyBoost

KCUBEがHDDアクセスの際に遅くなるのに対して、Win7の高速化機能ReadyBoostを使えば改善するんじゃないか?と思って、PandaBoardで余った4GB Class10 SDHCカード+USB ドングルで試すことにした。
以前とったベンチマークだと、ReadyBoostに必要な速度は出ているようで、ReadyBoostをONにするオプションも出た。
SDHCなので、フォーマットがFAT32のため、ReadyBoostのキャッシュが4GBまでしか構築できないのが気になり、同じく余っているClass4 16GBをexFATでフォーマットし直して使えるかと試したが、速度がFAT32のときより低下し、ReadyBoostが構築できなかったのであきらめた。
SDの容量が4GBなので、ちょうど使い切れると考えることにした。


ドングルは小さいので背面USBポートの空きの部分につけてしまえばほんとど目立たず取り付けできた。


ReadyBoostについて調べると、Wikipediaの情報および、MSの技術資料を読むと、ランダムリード時のみ働くキャッシュのような動作をしているようで、ライト時はライトスルーのため、外すことが前提のリムーバブルドライブに構築しても大丈夫ということらしい。
また、キャッシュデータはAESで暗号化されているので、キャッシュデータだけ持ち去ったとしても内容を復元することはできないということで、セキュリティも安心ということ。
キャッシング処理はソフトウェアでHDDへのアクセスを横取りして実現しているということで、CPUの処理が増える気もするが、キャッシュによる改善のほうが大きいといういうことなんだと思う。
また、ソフトでやっているおかげでWindowsが認識している全ディスクに対して効果があるということらしい。


HDD+SSDで高速化する手法は最近のマザーボードではIntel Smart Response Technologyという機能でBIOSレベル?で実装されていたりする。
こっちはRAID BIOSの技術を流用して、HDD1台のキャッシュにSSDの一部分(最大64GB)を割り振って高速化するというもの。
ReadyBoostと違い、ライトバック動作をするモードも選べるが、SSDが壊れたりするとHDDも巻き添えを食らうということらしい。
RAID BIOSレベルでやっているためか、おそらくCPU負荷はほとんどなくて、チップセットが処理しているのではないかと考えられるが、前述のとおりHDD1台にしか効果がない。


両者は、実現しているレイヤーが違ううえに、効果の範囲も一部重なっているとはいえ異なるので、システムディスクをIRSTで高速化したうえで、システム全体をReadyBoostで高速化ってのは効果があるかは別として、理論的にはありだと思う。


IRSTはKCUBE更新+SSD購入が必要なのですぐには試せないが、ReadyBoostは試してよさそうなら、USB3.0USBメモリ(exFAT)を本体内に埋め込む方法で更新時に実装しよう。