ここが変わったWindows Vista 100連発! 第32回
【ここが変わったWindows Vista:Vol.32】
特別編 Vistaの知られざる機能を探る――USBメモリーでパフォーマンスが上がる!?“ReadyBoost”とは何か
2007年02月15日 11時00分更新
SuperFetchキャッシュをUSBメモリーに作成
=ReadyBoost
Vistaで採用されたSuperFetchでは、スワップイン/アウトする記憶媒体としてHDDを使用している。しかし、CPUやメインメモリーのスピードから見れば、HDDへのアクセスには膨大な時間がかかる。HDD上のページングファイルへのアクセスが速くならないため、SuperFetchでアプリケーション起動高速化の機能が取り入れられても、パソコン全体のパフォーマンスを高める効果は限定的だ。そこで登場したのがVistaのReadyBoostだ。
フラッシュメモリーの読み書き速度は、メインメモリーのそれと比べれば確かに遅い。しかしHDDのスピードと比べれば速い。つまりReadyBoostとは、低速なHDDではなく大容量・低価格化しているフラッシュメモリーをSuperFetchのアクセス先として使おうというものだ。
USBメモリーを初めてVista搭載パソコンに接続すると、上のようなダイアログが表示される。ここで“システムの高速化”を選択して、表示されるプロパティでそのUSBメモリーをReadyBoost用として設定する。そうするとと、USBメモリー内に“ReadyBoost.sfcache”というファイルが作成される。これがSuperFetchのアクセス先として使われる“ReadyBoostキャッシュ”だ。HDD上のページングファイルはRead(読み込み)だけでなく、Write(書き込み)にも使用する。だがReadyBoostではHDD上のページングファイルのように、USBメモリーに直接書き込みはしない。USBメモリーは動作中突然抜かれる可能性もあるからだ。このため、いつ抜かれてもOSの動作に支障がないように、ReadyBoostではUSBメモリー上のReadyBoostキャッシュを、読み込み専用として利用する。
USBメモリー上のReadyBoostキャッシュの書き込みはOSが行なう。HDDにいったん書き込んでから、その後ロープライオリティI/Oを利用して、HDDからUSBメモリーに書き込まれる。USBメモリーへの書き込みにロープライオリティI/Oを使うことで、フォアグラウンド・アプリケーションのパフォーマンスに対する悪影響を最小限に留めている。
またReadyBoostでは、ReadyBoostキャッシュを暗号化(AES 128Bit)している。仮にReadyBoostを使用しているUSBメモリーが盗まれても、ReadyBoostキャッシュから重要なデータがハッキングされる心配はない。さらにReadyBoostキャッシュの内容は、1.8~2.3倍に圧縮されている。
ReadyBoostに使えるメモリーは?
ReadyBoostに使用できるフラッシュメモリーはUSBメモリーだけではない。SDメモリーカードやCF(コンパクトフラッシュ)、メモリースティックなど、ほとんどの取り外し可能なフラッシュメモリーデバイスが利用できる。インターフェースもUSBに限らず、PCカードやExpress Cardなどが利用できる。
ReadyBoostで使えるか否かを決めるのは速度だ。ReadyBoostとして使えるフラッシュメモリーの条件は、以下のようになっている。
- 容量が512MB以上(最大4GB)
- 4KBブロックのランダム・リードが2.5MB/秒以上
- 512KBブロックのランダム・リードが1.75MB/秒以上
注意が必要なのは、デジカメ用などに使われている高速なフラッシュメモリーは、シーケンシャルアクセスは高速だが、ランダムアクセスの性能がそれほど高くないものがある点である。こうしたフラッシュメモリーは、ReadyBoostでは使用できない。またUSB 2.0に対応するUSBメモリーのすべてが、ReadyBoostで使用できるわけでもない。上記のスペックを満たさないUSB 2.0対応メモリーは数多く存在する。
ReadyBoostの最大容量が4GBになっているのは、FATの制限からだ。これ以上の容量は仕様上サポートされていない。ちなみにマイクロソフトでは、FAT32でフォーマットされたUSBメモリーはテストしているが、NTFSでフォーマットされたUSBメモリーはテストしていないという。
USBメモリーがReadyBoostに対応しているかを見分ける方法のひとつが、“Works with Windows Vista”というロゴマークだ。このロゴを取得しているUSBメモリーなら、必ずReadyBoostで動作する。ロゴを取得していないフラッシュメモリーでも、“ReadyBoost対応”という文言あれば、基本的には大丈夫だろう。
まったくReadyBoostという記述がないUSBメモリーや、現在持っているUSBメモリーがReadyBoostで利用できるかどうかは、仕様を満たしているか否か次第ということになる。Vista搭載パソコンにUSBメモリーを初めて装着した際には、自動的にアクセススピードのチェックが行なわれる。その後に前述の自動再生画面で“システムの高速化”を選択したり、エクスプローラ等でUSBメモリーのドライブのプロパティーを開いて“ReadyBoost”タブを表示すれば、そのUSBメモリーがReadyBoostに使えるか否かが確認できる。
マイクロソフトがメインメモリーとReadyBoostの容量の関係として推奨しているのは、メインメモリーの2倍の容量が目安となっている。つまり、メインメモリーが512MBなら、ReadyBoost用に1GBほどのUSBメモリーを使うのが最もパフォーマンスが高まる。最大容量はメインメモリーの3倍までで、これ以上の容量をReadyBoostで使用しても、パフォーマンスは上がらないようだ。逆にメインメモリーよりもReadyBoostの容量が少なくなると、パフォーマンスがかえって低くなる場合がある。このため最低でも、メインメモリーと同じ容量を確保すべきだろう。
なおReadyBoostで使えるデバイスは、1台のパソコンで1つのみとなっている。複数のUSBメモリーを挿して合計で1GB、といった使い方はできない。
また、ReadyBoostキャッシュは1台のパソコン専用であるため、パソコンAで作成したReadyBoostキャッシュを、パソコンBでも使うといった使い回しはできない(もちろん単なるUSB大容量記憶装置としては使える)。実際に、あるパソコンでReadyBoost用にしたUSBメモリーを別のパソコンに挿してみると、USBメモリーは空として表示された。別のパソコン側で再度ReadyBoostの設定を行なえば、ReadyBoostキャッシュとして使えたのだが、長時間テストしていたところ、USB関連にトラブルが起こった。一度ReadyBoost用として設定されたUSBメモリーを別のパソコンで使用する場合は、元のパソコンでReadyBoostの項目をオフにしてからの方が安全だろう。
ReadyBoostはフラッシュメモリーを読み書きするため、「フラッシュメモリーの寿命を縮めるのでは?」と考える人もいるだろう。しかしマイクロソフトの研究では、ReadyBoostに使用したフラッシュメモリーの寿命は、差しっぱなしで10年以上と見積もっている。なお、ReadyBoostキャッシュにエラーが起こった場合は、すぐにHDDに切り替えるようになっている。また途中でUSBメモリーを抜いても、OSはキチンと動作するようになっている。
この連載の記事
-
最終回
PC
次世代Windows「Windows 7」は早ければ09年末に登場 -
第99回
PC
8GB以上のメモリーを認識できる64bit Vista -
第98回
PC
Vista Ultimateのみの特典プログラムが用意 -
第97回
PC
Vista SP1ではデスクトップ検索が自由に選べる -
第96回
PC
効果が薄かったReadyBoostが改善された -
第95回
PC
SP1ではIEEE 802.11nなど新ハード・技術をサポート -
第94回
PC
SP1でユーザーアカウント制御(UAC)が改良された -
第93回
PC
リモートデスクトップ接続が高速化された -
第92回
PC
Vista SP1でファイル/フォルダコピーが高速になった -
第91回
PC
暗号化ファイルもバックアップできるように -
第90回
PC
ドライブを指定できるようになったデフラグ - この連載の一覧へ