こんにちは、阿久津です。いつもどおりMicrosoftサポートの更新情報をつれづれと眺めていると、興味深いKB(Knowledge Base:ナレッジベース)が掲載されていました。それが「Windows 7またはWindows Server 2008 R2でUSB記憶装置の最大転送サイズを大きくする更新プログラム」という文書。
USBマスストレージクラスドライバーである「Usbstor.sys」が使用する最大転送サイズを64KBから2MBに拡大可能にするというもの。主にUSBストレージを対象にした改善で、筆者の記憶が確かなら2011年8月頃に公開された修正プログラムです。最初に見かけた時は「後で確認しよう」とメモを残していたものの、すっかり忘却の彼方に追いやられていました。このたび文書リビジョンが更新されたことで再び目にした次第です。
エンドユーザー的にも有益な修正プログラムですが、バグフィックスという訳ではないため、一般に広まっている修正プログラムではありません。しかし、一部のハードウェアベンダーが自社推奨修正プログラムとして配布していることもあるでしょう。
ただし、KB2581464による修正プログラムは適用するだけではなく、対象となるUSBストレージのレジストリキーにDWROD値「MaximumTransferLength」を作成し、最大転送サイズを直接指定しなければなりません。そこで今回は修正プログラムを適用した環境で、USBストレージの最大転送サイズを拡大させるチューニングをお届けします。
1.KB2581464を適用します。ただし、ここでは再起動を実行しません。
2.対象となるUSBストレージデバイスのベンダーIDおよびプロダクトIDを確認します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbstorキーを開きます。
4.ステップ02で確認したベンダーID&プロダクトIDを名前として新しいキーを作成します。
5.ステップ04で作成したキーを開き、DWORD値「MaximumTransferLength」を作成します。
6.値のデータを「1fffe0」に変更します。
7.レジストリエディターを終了し、コンピューターを再起動します。
これでチューニングが終了しました(図01~24)。
図02 ナビゲーションウィンドウの「プログラムのアンインストール」をクリックし、検索ボックスに「KB2581464」と入力します。修正プログラムが表示されない場合は、続く手順を実行してください。表示された場合は図08に進みます |
図05 修正プログラムのダウンロードURLを送る電子メールアドレスを二カ所に入力し、ロボット避けのキャプチャに表示されている英文を入力します。読み取れない場合はリロードボタンをクリックして更新させましょう。最後に<リクエストを送信する>ボタンをクリックします |
図08 今回は64ビット版Windows 7上で操作しているため、ダウンロードファイルは「435480_intl_x64_zip.exe」となります。同ファイルをダブルクリックし、<Continue>ボタンをクリックしてください |
図15 プロパティダイアログの<詳細>タブにあるドロップダウンリストから「ハードウェアID」を確認します。画面の例ではベンダーIDが「152D」、プロダクトIDが「0539」であることが確認できました |
早速結果を確認してみましょう。転送速度を測る方法は色々とありますが、ここではシンプルにエクスプローラーを使用します。なお、テスト環境は数世代前のバルクHDDをUSBケースに取り付けたUSB-HDDをUSB 2.0ポートを備えるIntel Core i 7のノートPCに接続。Windows 7 Service Pack 1上で10GBのファイルをコピーに必要とした時間を計りました。なお、USB-HDDの書き込みキャッシュは初期状態から変更していません。
エクスプローラーのコピーダイアログに表示される「スピード」はコピー時間の平均値を表示するため、必ずしも信頼に値しません。それでもチューニング前とチューニング後の数値には明確な開きがありました。肝心のコピーに要する所要時間もチューニング前は約八分でしたが、チューニング後は約六分半という結果(図25~26)。
あくまでも本チューニングは、USBストレージの最大転送サイズを拡大させるものですから、USBチップやUSBストレージの能力を超すことはできません。それだけに、より高速なUSBストレージを用意しますと、より面白い結果を確認できるでしょう。なお、本チューニングによるトラブルが発生する場合は、ステップ04で作成したベンダーID&プロダクトID名を付けたキーを削除し、コンピューターを再起動してください。
それでは、また次号でお会いしましょう。
阿久津良和(Cactus)