このページの本文へ

前へ 1 2 3 次へ

塩田紳二のWindows 8 IN-N-OUT 第8回

Windows 8は2.2TB超の大容量HDDにどう対応しているのか?

2012年06月21日 12時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

限界と改良の積み重ねで進んだ
HDDの大容量化

 HDDの大容量化は、Windowsというよりも常にPC側に起因する問題であった。なぜなら、システムがHDDから起動するためには、HDDコントローラーやBIOSなどのファームウェアが、HDDを完全にコントロールできなければならないからだ。例えば、パーティションは純粋にソフトウェア側で処理されるもので、起動に関わるBIOSなどは、パーティションを完全に理解できなければならない。

 また大容量のHDDには、OSのファイルシステムも対応しなくてはならない。ドライブ上のすべてのセクタへ正しくアクセスできないと、そもそもファイルシステムを作れない。さらに、ファイルシステムの下にあるドライブ用のデバイスドライバーも、すべてのセクタへと正しくアクセスできなければならない。もちろん、HDDのホストコントローラーも、ドライブのすべてのセクタにアクセスできるような、コマンド形式を持っている必要がある。

 HDDはPCの進歩とともに大容量化してきたが、水平分散のPC業界では、デファクトスタンダードが確立するまでに時間がかかり、必ずしもいつもベストな選択がなされるとは限らない。そのためHDDではこれまでにも、下表のようないくつかの問題が起きていた。

時期 境界容量 原因 対策
1983 IBM PC/XTが初めてHDDを搭載 BIOSでの扱いを定義
1994 504MB CHS構造の破綻 LBA 28bit
1996 8.4GB BIOSの制限(IDEの定義とBIOS定義の齟齬) BIOS仕様を拡張
2001 137GB LBA 28bitの限界 LBA 48bit(BigDrive)
2005 2.2TB パーティションテーブルでの32bit容量指定の限界 GPTの導入

 だが、これらの解決にはBIOSの拡張や新規のハードウェアが必要なこともあり、ベンダーによっては必ずしも、過去に出荷したすべての製品に対してBIOSのアップデートを提供してきたわけでもない。昔からのPCユーザーなら、大容量ディスクの問題と聞くだけで「またか」と思う人は少なくないだろう。

 最近では、「2.2TB以上のHDDに対応するために、BIOSとOSの対応が必要」という問題がある。パーティションはハードウェアの機能ではなく、OSなどがドライブ内の領域を分割して扱うものだ。通常はドライブ内に各パーティションに割り当てた容量を記録しておき、これを元に各パーティションの先頭位置を算出する。これをパーティションテーブルという。

 今まではこのサイズを表現するのに、32bitの整数値を使っていたため、2.2GB(2^32)が、1パーティションの最大値となっており、これがパーティションがひとつしかない場合の物理ドライブの最大容量となってしまっていた。これを解決するために作られたのが「GPT」(GUIDパーティションテーブル)だ。

セクタ増の問題を解決する「AFディスク」

HGSTの「0S03357」は、1ドライブで4TBもの容量を備える。これだけ大容量のドライブに対応するには、従来の512Byteセクタでは足りない

 現在市販されているPC用HDDの容量は、4TBまで増えている。これは2001年に規格化された「48bit LBA」の制限には引っかからないのだが、それ以外の問題がいくつかでている。ひとつは、これまではずっと1セクタを512Byteとしてきたため、セクタ数が増えすぎてしまい、セクタを区切るためのデータやECC(誤り訂正コード)といった、セクタ以外の部分の占める割合まで増えてしまったことである。

 HDDの大容量化には、誤り訂正技術も寄与している。現在のHDDにECCは必須だ。しかしECCはセクタごとに必要になるので、高速・大容量化のために、ECCのサイズも増えていく傾向にある。そのためセクタ数が増えれば増えるほど、ドライブ内でECCが占める割合も無視できなくなってきたわけだ。また、セクタ間には「ギャップ」や「シンク」と呼ばれるセクタの区切りを示す領域が必要で、さらにセクタ番号などを記録した「アドレスマーク」と呼ばれる領域もある。そのため、セクタ数が増えると、記録効率(セクタとして使われる部分とそうでない部分の比)が悪くなってしまう(図1)。

図1 セクタ間にはギャップやシンク、アドレスマークといった領域とECCデータ領域があり、セクタ数が増えるとこれらの領域も増える。1セクタを4KBにすると、従来の8セクタ分を1セクタにまとめることができ、記録面の利用効率が上がる。こうした4KBセクタを使うHDDを「Advanced Format」(AF)ディスクと呼ぶ

 これを解決するには、セクタサイズを大きくしてドライブ内のセクタ数を減らす方法しかない。しかしセクタの読み書きは、ドライブ内のコントローラーが行なっているため、簡単にサイズを変更することもできない。大きなセクタサイズに対応したドライブを作る必要がある。

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン