2015.08.21: 誤字の修正 (HDD 500MB → HDD 500GB)

ReadyBoostやUSBメモリについてアレコレを書いています。
Vista使っている人には今更な話題だと思います。
また最近の更新の中では激しくチラ裏です。ご了承下さいm(_ _)m

※ 2013年2月10日に大幅に加筆訂正および一部記事の削除を行っています。

ReadyBoostとは

Windows Vista/7には、ReadyBoostという機能がついています。

外部参考リンク

ReadyBoostは、USB接続したフラッシュメモリやSDカードをHDDのキャッシュとして利用することで、ソフトウェアなどの読み込みを高速化する技術です。ストレージに(HDDなど)低速なデバイスを利用している場合に効果があります。

SSDなど高速ストレージを使っている場合や、メインメモリを豊富に搭載しているPCの場合、ReadyBoostは利用できないか、または殆ど効果がありません。

ReadyBoostを使うには

ReadyBoost対応のUSBメモリやSDカードなどを用意する必要があります。
ReadyBoostを作動させる条件
■最低限で
  4KBのランダムリード・・・2.5 MB/s
  512KBのランダムライト・・・ 1.75MB/s
推奨は
  4KB ランダムリード・・・5MB/s 以上
  512KB ランダムライト ・・・3MB/s 以上

対応USBを買ってみた

8GB USB
▲購入したUSBメモリ。Readyboost対応品。
 8GBで1500円と安かったので、思わず衝動買いしたもの。

このUSBメモリを使った場合、私のPCでは効果なしでした。。。(メモリを9GB搭載しており、SuperFetchの効率が良い。Readyboostの出番は殆ど無い)

USBメモリ購入時、Readyboostの知識がほぼゼロだったとは言え、これ位知っておけって話しですね、私。ガックシです orz
そして、、、、

スポンサー リンク

安物買うとこうなる

Readyboost対応USBを買った筈なのに、512Kバイトのランダムライトは1.473MB/s でした・・・。1.75MB/s 必要な筈なのに・・・。
8G USB新品
▲ crystaldiskmarkで測定。速度が足りていない。
・・・でも一応、ReadyBoostは作動します。

あれ?待てよ・・・。

以下、3年前に購入したUSBメモリ
3年使用後
▲今回購入したモノと、速度は殆ど変わらないです。
こいつもReadyBoost設定できました。。。

これじゃ新しくUSBメモリ買った意味がない・・・。
手持ちメモリを試してから買ってこい!ってカンジですね>私。
そして、安物買うとこうなるんだぜって事ですね。。。ここでまたまたガックシです orz

一応、効果はあるのかも。。。

ReadyBoostは、速度アップが見込めないとOS側で判断すると、自動で設定不可になるようなので、(ReadyBoostが有効になったと言うことは) この程度のUSBメモリでも一応 HDDより速くなるみたい。

折角買ったUSBだから、とその後しばらくReadyBoostを利用してみましたが、一部アプリケーションの起動は(すごく微妙なレベルだけど)確かに高速になっているようです。
しかし、OSの起動にややモタつきが出る感じで、弊害の方が大きいです。。。(起動直後のReadyBoost準備にモタつくみたい)

とりあえず、
 ・システムドライブにHDDを利用していて、
   ・メインメモリ1GB以下の32bit Windows
   ・またはメインメモリ2GB以下の64bit Windows
あたりなら、ReadyBoostの恩恵に預かれそうです。

かなりの効果を確認できたマシン

複数のPCでテストしてみた所、以下PCで大きな効果を得ることが出来ました。
 OS: Windows Vista (32bit)
 メモリ: 1GB
 CPU: Core2duo T7200 (2GHz)
 ストレージ:HDD 500GB / 7200rpm

上記マシンは、恒常的にメモリが不足し、HDDへのスワップが発生しがちでした。このようなマシンの場合、ReadyBoostはかなり役に立ちました。

ReadyBoostの設定の仕方

ReadyBoost02
▲ReadyBoost対応のUSBを刺し込み、
マイコンピューター>USBドライブ>右クリック>プロパティを選択

ReadyBoost03
▲ReadyBoostの項目を設定、あとは「OK」か「適用」ボタンを押せば完了です。
Vistaマシンの場合、ReadyBoostに指定できる最大容量は1個/4GBです。
Windows7マシンの場合、最大8個/256GBまで設定可能です。
 (注: 現在、64 GB より大きいパーティションが存在する外部ストレージでは利用不可)

教訓

USBメモリを購入する際、ReadyBoostを使いたければケチケチせず高速タイプのものを購入しましょう。
「対応品」と書かれていてもギリギリの場合があります。

高速タイプの目安

ReadyBoostで重要なのは「ランダムリード/ライト」です。
家電ショップ・メーカーサイトなどで掲載されている「転送速度」は「シーケンシャルリード/ライト」である場合がほとんどです。という事で、

高速タイプを選びたい場合は最低でも
  ・読み込み:30MB/sec
  ・書き込み:7MB/sec
を選ぶ。できれば
  ・読み込み:35MB/sec 以上
  ・書き込み:10MB/sec 以上
を選ぶ。
「複数チップ内蔵」と書いてあるモノなら確実。

また、USBメモリは転送速度を記載していない場合が多いです。そうなると「高速タイプ」・「複数チップ内蔵」などの謳い文句で選ぶしか手段はありません。

その他注意点:
高速タイプのUSBの中には、メモリの一部のみ高速化したモノがあるので注意です。そのような製品の場合、ReadyBoostに対応しません。

ReadyBoostは何故速くなるの?

7200回転HDD
▲7200回転のHDDの転送速度測定結果。
8G USB新品
▲USBメモリの転送速度 測定結果

上の図を見ると、一見HDDの方が高速に見えます。
しかしHDDは円盤状の記録媒体の上をヘッドを動かしながらデータの読み書きを行っています。小さなデータがディスク上のアチコチに散らばっていると、ヘッドの物理的な移動量が増え、データの読み書き時にヘッドが移動する分だけ時間のロスが発生します。また円盤の回転待ちのロスも発生します。
このような場合、アクセス速度が極端に低下します。

USBメモリなどのフラッシュディスクは、この物理的なヘッドが存在しない分、ハードディスクと比較してランダムアクセス時の速度が高速になります。

Windows ReadyBoostは、このHDDが苦手な部分 (小さくて散らばったデータの読み書き) を、他のストレージ(USBメモリなどのフラッシュメモリ) に任せちゃおう、という技術になります。

その他メモ

  • 基本的に「メインメモリからスワップアウトするデータ」の内、HDDへのアクセスが遅くなるようなデータにのみ、適用される。
    • シーケンシャルなアクセスが必要な場合などは、フラッシュメモリにキャッシュされない。
  • ReadyBoostにキャッシュされるデータは圧縮されている(最大で1/3)
    • USB2.0は高速とは言い難いが、圧縮処理され転送量を減らす努力がされている。
  • ReadyBoostは、フラッシュメモリ上にページファイルを作成しているワケじゃない。
    • 必要があればページファイルも「キャッシュ」されるが、ページファイル自体を作成するワケじゃない。
    • ページファイルそのものをUSBメモリ上に作成すると、メモリが抜け落ちたときにシステムが停止または不安定になってしまう。
  • ReadyBoostの書き込みデータは、HDDに対してデータ書き込みコマンドを送信した後、フラッシュメモリにキャッシュする。
    • 突然フラッシュメモリがUSB端子から抜けるといったような不測の事態が起きても、システムが不安定になることはない。
  • 書き込まれたデータは、ReadyBoostとしては保持、記憶、蓄積はされない。
    • シャットダウン後の取り外しなど、改変の可能性があるため。
    • また書き込まれるデータはAES128ビットによる暗号化処理がされている(盗難時のデータ閲覧防止など)