元麻布春男の週刊PCホットライン

HDDを高速化するSuperFetchとReadyBoost




 現在のHDDは、記録密度が飛躍的に向上したこと、インターフェイスの高速化、スピンドル回転数の高速化などにより、データ転送速度が著しく向上した。高速なドライブでは60MB/secから80MB/secのデータ転送速度が期待できる。その一方で、データの読み出し開始までに必要なレイテンシはそれほど向上していない。むしろスピンドル回転数が高速化したことによるスピンアップタイムの増加など、待ち時間を増やす要素も存在する。

 特にパワーマネージメントが必要なノートPCの場合、何か作業を始めようと思ったら、その瞬間にHDDのアクセスランプが点灯し、しばらく(HDDがスピンアップし定常回転に達した後、所望のデータをプラッタから読み出すまで)システムのレスポンスが極端に低下する、といった現象が見られることが少なくない。これを解消するためにWindows Vistaで導入されるのが、SuperFetchとReadyBoostだ。

 SuperFetchは、ユーザーのアプリケーション利用パターンに基づき、必要なデータを事前にメモリへロードしておくことで、システムのレスポンスを向上させようというもの。従来のキャッシュのように、単純に一番使われていない(一番古い)データから、順番にメモリから追い出していくのではなく、利用パターンを踏まえてメモリへ読み込んだり、メモリ上のページの保持を行なったりする。これによりアプリケーションの起動時間の短縮、あるアプリケーションを利用していて、別のアプリケーションへ切り替え、また最初のアプリケーションへ戻った際のレスポンス向上、といった効果が期待できる。バックグラウンドでアンチウイルスソフトが動作した場合に、その重さが気になる、ということも減るハズだ。

 事前にデータをメモリへ読み込む手段としては、Windows Vistaから導入されるLow-Priority I/Oが使われる。Low-Priority I/Oはその名の通り、優先順位の低いI/Oのこと。従来からアプリケーション実行(CPUの利用)には、優先順位の設定があったが、そうした順位付けをI/Oにも拡大した。これにより、Super Fetchがバックグラウンドで動作しているばっかりに、フォアグラウンドで実行されているユーザーアプリケーションのレスポンスが低下するといった、本末転倒な事態を回避することが可能になる。このLow-Priority I/Oは、Super Fetchに加えて、検索インデックスの作成、ディスクデフラグなどでも利用されることになっている。

 このSuper Fetchを補うのがReadyBoostだ。前回取り上げたReadyDriveの項でも述べたように、NANDフラッシュメモリの価格は劇的に低下した。おそらく多くのユーザーがGBクラスのメモリカード(CF、SD、MS、etc)、あるいは大容量USBメモリドライブを持っていることだろう。これらのデバイスを活用することで、システムの性能向上を図ろうというのがReadyBoostである。

 ReadyBoostのコンセプトは簡単で、手持ちのメモリカードやUSBメモリをシステムに突っ込んでおくと、それだけでシステムが速くなりますよ、というもの。これら大容量NANDフラッシュをキャッシュとして利用する。これらのデバイスはピークのデータ転送速度ではHDDに及ばないことが多いが、スピンナップ待ちや回転待ち、シーク動作が不要で、データの読み出しを開始するまでの待ち時間が短い。

 ReadyBoostはキャッシュとしてはWrite Throughキャッシュ(書き込みをバッファリングせず、すべての書き込みは直ちにディスクへ書き込む)であるため、うっかりUSBメモリを抜いてしまって、データを失うという危険性はない。フラッシュメモリへの書き込みは一定単位でまとめられた上、書き込み回数が無限ではないフラッシュメモリの特性に配慮し、特定の部位に集中しないように行なわれる。また、誰かにメモリカードを持ち去られても良いように、データにはAES 128bitの暗号化が施される。

●ReadyDrive、Robson、そしてReadyBoost

ReadyBoostの特徴

 HDDから離れた場所にキャッシュを置くという点で、これまたIntelのRobsonテクノロジに競合する可能性の高い技術だが、キャッシュに用いるフラッシュメモリがリムーバブルであることを意識しているのがReadyBoostとRobsonの違いだ。PCI ExpressのミニカードであるRobsonは、基本的にキャッシュが取り外し式ではないから、性能面で優位なWrite Backキャッシュを採用するのではないかと思われる。


【表】ReadyDrive、Robson、ReadyBoostの比較
提唱者MicrosoftMicrosoftIntel
正式名称ReadyDriveReadyBoost未定
開発コード名PitonEMDRobson
Flash搭載位置HDD上USB *PCI Expressバス上
(マザーボード)
対応OSWindows Vista必須Windows Vista必須不明(おそらくWindows 2000以降)
制約要件MicrosoftのOSサポートMicrosoftのOSサポートIntelのドライバサポート
チップセット対応チップセット不問チップセット不問Intel Santa Rosaプラットフォーム必須
HDD対応Hybrid HDD必須汎用HDD、Hybrid HDD
手持ちのメモリカードやUSBメモリが使える
汎用HDD

* MicrosoftはReadyBoostのメモリの搭載位置として、PCI Expressのような内蔵バスでも構わないとしているが、Write Throughキャッシュであることに変わりはない

 さて、おもしろいのは、前回行なったReadyDriveとRobsonの比較時と異なり、今度はRobsonが性能面で優位と考えられる一方、ReadyBoostには汎用の(しかも手持ちの)大容量NANDフラッシュデバイス(メモリカード、USBメモリ)を利用できる、というメリットがあることになった。仮にHDDが通常のドライブだと仮定すると、ReadyBoostとRobsonではRobsonの方が性能では上回る可能性がある(ReadyBoostとRobsonを併用する意味はあまりない)。しかし、ReadyBoostがReadyDriveとの併用を意識しているのに対し、Robsonはハイブリッドドライブを意識していない。ハイブリッドドライブと併用して効果が高いのはReadyBoostではないかと思われる。

 ReadyDrive/ハイブリッドドライブは、昨年のWinHECで公開されたが、ReadyBoostは今年現れた技術だ。RobsonにはOSを問わないという魅力があるものの、Windows Vistaというプラットフォームに限ると、ReadyDriveとReadyBoostの連合軍に及ばない可能性が考えられる。ひょっとするとReadyBoostはMicrosoftによるRobsonつぶしの技術なのかもしれない。



□関連記事
【5月26日】ハイブリッドディスク技術を巡るIntelとMSの競合
http://pc.watch.impress.co.jp/docs/2006/0526/hot428.htm

バックナンバー

(2006年5月27日)

[Reported by 元麻布春男]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp ご質問に対して、個別にご回答はいたしません

Copyright (c) 2006 Impress Watch Corporation, an Impress Group company. All rights reserved.