こまぷろぐ

こまぷろぐ

2010年04月03日
XML
カテゴリ: PCハードウェア
またまた期間が空いてしまいました。久しぶりの更新。

さて、3月の最終日に仕事の帰りに久しぶりにアキバに行ってきました。3月はそれまで忙しくてそれどころじゃなかったし、久しぶりに行きたかったのと、石丸でスポーツタオルがもらえる最後の日だったので。。。

で、大きな買い物が2TBのHDD×2本。

WD20EARS

WD製のWD20EARSです。実売価格で1万2千円を下回ってます。このWD製の型番に「EARS」(耳?両耳?)と付くヤツは「Windows Vista/7向け」などとして売られていることで有名です。デフォルト状態でWindows XPで利用すると極端なパフォーマンス低下を招くと。Windows XPで本来のパフォーマンスを発揮させるためのユーティリティやジャンパ設定も用意されています。

このEARS型番では、「Advanced Format Technology」と呼ばれる物理フォーマットが採用されていて、これまでの一般的なHDDが512バイトセクタを使用しているのに対し、4KBセクタを使用しています。ただし、ファームウェアでエミュレーションをするため、BIOSやOSからは通常の512バイトセクタのドライブとして扱えます。

これがなぜWindows XPだと本来のパフォーマンスを発揮できないことになるかについてちょっと書いてみたいと思います。(ウソ書くかもしれないですが)

Windows XPまでのWindows OSを始めとする多くの旧世代のOSが先頭パーティションを63番セクタ(先頭から64個目のセクタ)から開始する仕様になっているためです。

ディスク上の配置のイメージを図にしてみます。

offset63-1

1つのマス目が1セクタです。先頭の赤いところがMBRで、赤枠で囲んだ薄黄色の部分が先頭パーティションの最初のクラスタです。セクタ(物理セクタ)はドライブが1度に読み書きする最小の単位で、クラスタというのはファイルシステムで1度に読み書きする最小の単位だと思ってください。このクラスタのサイズはファイルシステムやパーティションサイズによって変わるのですが、最近では4KBかその整数倍になっているケースが多いはずです。ここでは1クラスタ4KB(=8セクタ)としています。



offset63-2

このように、XPなどでパーティションを作成すると、赤枠の先頭のクラスタを読み書きするために青の斜線部分まで同時に読み書きする必要があるということになります。先頭のパーティションは、全てのクラスタがこのように2つのセクタにまたがってしまうので、無駄が多くなりそうです。さらに、書き込みの場合は場合によってはすでに書き込み済みのデータを一度リードしてから書き込む必要があり、ディスク1回転分のロスが発生する可能性があります。
ただ、連続した領域を読み書きする場合、余計にアクセスしなければならないのは結局1クラスタ(=物理セクタ)分なので、大きなデータのシーケンシャルアクセスではほとんど影響がないと考えられます。問題はランダムアクセスということになります。


そして、Windows VistaやWindows 7などでパーティションを作成した場合は次のようになります。

offset2048

(OSから見た)セクタ番号2048から先頭パーティションが始まるため、クラスタが物理セクタ境界をまたがないので、ムダがありません。

実際のベンチマークを見てみます。今回はUSB3.0のHDDアダプタを使ってみました。Windows XP機での測定結果を掲載しますが、Windows 7でもほぼ同様の結果になっています。

まず、Windows 7でパーティションを切った場合です。
WD20EARSベンチoffset2048

この通り、Windows 7でパーティションを切っておけば、Windows XPでもこれといって問題はありません(ツールのインストールやジャンパ設定も不要)。

次に、Windows XPでパーティションを切った場合です。
WD20EARSベンチoffset63

予想通り、ランダム性能の低下が見られます。もっとも、リードはわずかな落ち込み、ライトは極端な落ち込みとなりました。ライトの極端な落ち込みは上の図だけでは説明できませんが、コマンドキューイングやキャッシュアルゴリズムなどのファームウェアの調整とか、今回使用したUSB3.0-SATAアダプタの特性やUSBストレージドライバなどの影響も考えられます。

このオフセット63の問題についてはSSDではもっと深刻で、EARSが出てくる前から話題になっています。SSDの場合は、フラッシュメモリの書き込み単位(ページ)が4KB/8KB、消去単位(ブロック)が512KBとか1MBになっていることが多いようですが、この単位とファイルシステムのクラスタの位置がずれると、書き込み/消去のムダが多くなりとパフォーマンスと寿命の両面で不利になるからです。メーカーによってはファームウェアでなんとかしちゃってるみたいですが。

そんなわけで、SSDの場合もEARSの場合と同様、Windows Vistaや7でパーティションを切るほうがいいようです。







お気に入りの記事を「いいね!」で応援しよう

Last updated  2012年07月15日 19時49分21秒
コメントを書く
[PCハードウェア] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: