Windows ReadyBoost

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

Windows ReadyBoost(ウィンドウズ レディブースト) は、Windows Vista、およびWindows 7Windows 8Windows 8.1含む)の一機能。フラッシュメモリなどの外部メモリーを、ハードディスクドライブキャッシュとして利用することで、ソフトウェアなどの読み込みを高速化する機能のこと。

概要[編集]

Windows ReadyBoostを使用すると、フラッシュメモリの記憶領域をキャッシュメモリとして使用し、総合的なパフォーマンスを向上させる [1] [2]

ハードディスクはディスク上のデータをヘッドを使って読み書きしている。この時、数キロバイトといった小さなデータが散らばっていると、ヘッドの物理的な移動量が増え、実転送以外の動作によって、アクセス速度が極端に低下する。Windows ReadyBoostはこの小さなデータ群を、物理的なヘッドの存在しないフラッシュメモリにキャッシュすることで、ハードディスクのランダムアクセス時の性能低下という弱点を補助しようという技術である。そのため、使用するフラッシュメモリにはこれまで重視されてきたシーケンシャルアクセス速度ではなく、ランダムアクセス速度が重視される。

PCに搭載しているメインメモリと同じ容量か、それよりも多いものを使用することが推奨されているが、小容量でも効果が出ないわけではない。マイクロソフトによると、搭載されたメインメモリの「3倍の容量のフラッシュメモリ」を使用することで、最も優れたパフォーマンスを得ることができるとされる[1]

対応メディア[編集]

使用するUSBメモリなどの外部記録メディアには、最低でも4kBデータのランダムリードで2.5MB/s、512kBデータのランダムライトで1.75MB/sの速度が必要である。前述のとおり、ランダムアクセス性能を補完するための仕組みであるため、高速タイプ(4kBデータのランダムリードを5MB/s、512kBデータのランダイムライトを3MB/s)のメディアを用いれば更に効果が大きくなる[1]。USB2.0のバスは高速とは言い難いが、データは暗号化だけではなく、最大1/3に圧縮されて処理される事で、転送量そのものを減らす努力がされている。市販のUSBメモリやSDメモリーカード等は然程高速ではないバスに繋がれることもあり、必ずしも使用可能な性能を持っているわけではなく、対応可能や、高速性をうたった製品以外では利用できない可能性が高いことにも注意が必要である。

Windows ReadyBoostの対応メディア
Windows Vista Windows 7 Windows 8 / 8.1
対応デバイス USBメモリSDメモリーカード等のフラッシュメモリ(リムーバブルメディア
最大容量 4GB 256GB*
最低容量 230MB(1GB以上を推奨)
最大デバイス数 1 8
対応フォーマット FAT16、FAT32、(NTFS FAT16、FAT32、NTFS、exFAT
  • 2014年3月現在、64GB以上の外部ストレージ接続時にWindows ReadyBoostを有効にできない現象が確認されている[注釈 1]

フラッシュメモリの容量が多いほど効果を得られると思われがちであるが、実際には容量よりも速度性能を重視すべき仕組みである。システムの制限で[2]、Windows Vista環境下では4GB以上のフラッシュメモリを接続しても4GBまでの使用となるが、Windows 7、およびWindows 8の環境下ではexFATによるフォーマットをした大容量フラッシュメモリにおいて4GBを超えた使用が可能になった [注釈 2]。 またWindows Vistaでは、1台のPCに複数のフラッシュメモリを接続しても1つしか利用できなかったが、Windows 7、およびWindows 8/8.1では複数のフラッシュメモリを利用できるようになった。

機能[編集]

基本[編集]

ReadyBoostは、HDDの読み出し時の物理的なシークタイムを隠蔽する事で、体感速度を改善する。

HDDとの読み書きのデータが全てフラッシュメモリにキャッシングされるわけではない。高速なHDDでの大量のシーケンシャルアクセスの場合には、フラッシュメモリよりも高スループットでアクセスできることが多く、そのような場合はフラッシュメモリへのキャッシング処理はなされない。

ランダムアクセスのように、HDDではヘッドのシーク待ちやディスクの回転待ちが原因で極端にスループットが落ちる場合、フラッシュメモリへのキャッシング処理がなされ、ReadyBoostとして機能する[3]

フラッシュメモリの書き換え回数に上限がある特性を考慮し、ReadyBoostではデータを書き込む位置を非局在化(ウェアレベリング)しており、フラッシュメモリの寿命にも配慮されているが、管理領域の不良や、故障の影響は使用領域以外にも出ることになるので、データを保存する物とは別で用意することが望ましい。

ライトスルーキャッシュ[編集]

基本的に、書き込みデータについてはハードディスクに対してデータ書き込みコマンドを送信した後で、フラッシュメモリにキャッシュするために(ライトスルー)、突然フラッシュメモリがUSB端子から抜けるといったような不測の事態が起きても、システムが不安定になることはない。また、シャットダウン後の取り外しなど、改変の可能性があるため、書き込まれたデータは、ReadyBoostとしては保持、記憶、蓄積はされない。 なお、書き込まれるデータはAES128ビットによる暗号化処理がされているため、万が一盗難にあった時にメモリやHDDの一部が閲覧されることは無いとされている。

SuperFetchとの関係[編集]

なお、Windows SuperFetchは、未使用のメインメモリを利用して、ReadyBoostと似たディスクキャッシュを行っている[2]。両者の違いは、Superfetch はプロセスのページプール(コード、データなど)のキャッシングを制御するのに対して、ReadyBoostはHDDストレージへの読み書き全般をキャッシングすると言う点である。ReadyBoostサービスは、キャッシングの効率化(プリフェッチ等)に関して、SuperFetchサービスの助けを借りる[2]

大量のメインメモリを搭載し空きメモリ容量[注釈 3]が潤沢にある状況では、SuperFetchの方にヒットする確率が高くなるので、ReadyBoost自体の貢献度は小さくなる。また、システムドライブにSSDを利用する環境では、もともと高速なドライブであるため、ReadyBoostを利用できないことがある[注釈 4]

ReadyBoost、Superfetchのいずれも、仮想記憶・プロセスを邪魔しないように、バックグラウンドで最も低い優先度でキャッシング処理を行う。ReadyBoostが仮想記憶をフラッシュメモリに対し行うというのは誤解である[注釈 5]

一部のメディアの論評などでは、ReadyBoostはメモリ増設と同様であるかのような記述[4]がみられるが、もともと、ノート型パソコンのような、

  • ハードディスクへのアクセスが遅い。
  • 搭載メインメモリが少ない。
  • メモリの拡張に高いコストがかかる。

等の条件にあたる環境で、「低コストで体感するレスポンスを改善する手段」であるとマイクロソフト自身が事前にプレゼンテーションでも述べており[注釈 6]、公式な説明とは大きく異なるニュアンスの記述であるといえる。

Windows ReadyBoot[編集]

ReadyBoostサービスは、OSの起動時、起動直後にも稼動する。ただし、キャッシングのデバイスはフラッシュメモリではなくメインメモリ(700MB以上の場合に限る)である。

これは Windows ReadyBoot と名づけられた機能で、OSの起動直後に、起動中に読み込まれるファイルを分析して、予めキャッシング計画をする。次回のOS起動時に、その計画に基づきReadyBoostがシステム読み込みに対してキャッシングを行い、起動を高速化する。

利点と欠点[編集]

利点

  • アプリケーションの起動速度の向上、全体的なレスポンスの向上。
  • 使用していないフラッシュメモリの有効活用。

欠点

  • 頻繁に書き込みが起こるため、フラッシュメモリの書き込み寿命に達しやすくなる。
  • キャッシュの検索、暗号化、復号のため、CPUの稼働率が上がる。
  • SuperFetchの効率が高い環境下や、フラッシュメモリが低速だったり容量が十分でないと効果が出にくい場合がある。
  • メインメモリが潤沢に存在する場合は、体感での速度改善は軽微である。
  • OSの起動中、起動直後、およびシャットダウン時は、ReadyBoostのキャッシング動作(特にバルクでの書き出し)により、少々遅延する場合がある[注釈 7]

備考[編集]

Windows ReadyBoostは、Windowsがシステムとして提供する機能の一つであるが、同様の機能を提供するソフトウェアとして eBoostr がある。これは、ReadyBoost 及び Windows SuperFetchの代替機能を提供するシステムソフトウェアであり、Windows 2000Windows XP など、Vista以外のWindows OSにも対応するなどの特徴を持つ。

Windows VistaにはWindows ReadyDriveという機能も実装されているが、これは別の仕組みである。

関連項目[編集]

脚注[編集]

  1. ^ Windows 7 に 64 GB より大きいパーティションが存在する外部ストレージを接続すると、ReadyBoost 機能を使用できない
  2. ^ Windows 7 の機能 - ReadyBoost - Microsoft Windows
  3. ^ OSやアプリケーションが使用していないメモリは、SuperFetchがキャッシュに利用する。
  4. ^ 記憶装置のメモリを使用してコンピューターの速度を向上する
  5. ^ リムーバブルメディアにページファイルを置くことはできない。スワップアウトされたページがシステムから取り外された場合、システムは通常停止する。
  6. ^ 「Aero無しでもVistaは魅力的」Windows Vistaのビジネス向け新機能説明会
  7. ^ なお、SuperFetchの効率が高い環境下で良く目立つ。ReadyBoostの効率が高い環境下では、ReadyBoost自体がスループットを改善させているので、ReadyBoostを解除するとスループットは低下する。

参考文献[編集]

  1. ^ a b c Windows PC アクセラレータ”. Microsoft (2006年11月30日). 2010年5月7日閲覧。
  2. ^ a b c d Mark Russinovich (2007年3月). “Windowsの管理: Windows Vista カーネルの内部 : 第 2 部” (日本語). TechNet Magazine. Microsoft. 2010年4月3日閲覧。
  3. ^ http://technet.microsoft.com/ja-jp/windows/ff467971.aspx
  4. ^ [USBメモリがパソコンの追加メモリになる「Windows ReadyBoost」等]