> TOP > PC Zone > TIP Zone


HDD容量の壁

古いコンピュータをアップグレードする際に結構問題になるのが大容量HDDが使用可能かどうかわからない、ということではないでしょうか。
まあCPUにしろRAMにしろ、世代を超えたアップグレードは規格の乗り換えを伴うことが多いので厄介なことは同じなのですが、いかんせんHDDは大容量化の速度が速すぎます。
ほんの数年前のメーカー製のコンピュータに搭載している450MBのHDDでは足りなくなってしかも世間では8.4GBが\20,000を切っていて…とういう状況で増設に踏み切って
「接続したのに認識してくれないよ〜」と焦った人もいるのではないでしょうか。
それ以前に「IDEが1チャンネルしかない!」とか(爆)
せっかくの大容量、10GBを2GBのパーティション5つに切り分けて使わざるを得なかったり。
とか言ってる間に10GBでも大容量と言えなくなってきた感じがしますね(T-T)

これらの問題が厄介なのは確認しなければならないことが複数あるからでしょう。
HDDがどの規格に基づいて製造された物であるか、IDEインターフェイスがどの仕様のものであるか、またBIOSが対応しているか、と複数の要素を全て満たしていて初めて認識されるのです。
ここでは各段階の壁(物理的な制限)を順に追って行くことにします。解決法には一切触れませんが(知りませんから)原因が解れば最新のBIOSを探すなり、INT13Hの判別ソフトを使ってみるなり対応はできると思います。
それからこれら以外に機種依存の壁というのがあるらしいのですが(「富士通の壁」というタレコミが・・・(-_-;)それは全くわからないので調査中です。

注:通常、コンピュータ関係では1024(2の10乗)を区切りに単位が上がるのですが、HDDの容量に関しては1000を単位とすることが多いため2通りの表記がなされる場合があります。
以下の文章ではHDDの慣例に倣って1KB=1000Bとして表記し、続けて括弧の中に1KB=1024B換算の値を表記します。


□最初の壁:528MBの壁□
古いBIOSでINT13Hを使用するものはCHSアドレッシング方式でのみHDDのデータのアクセスを読み書き可能でした。
ここでINT13Hのアドレス可能な容量の上限は

C:シリンダ数 H:ヘッド数 S:セクタ数 セクタ長 容量
10bit=1024 8bit=256 6bit-1=63 512B 8455716864B=8.4GB(7.8GB)

となり、同時にIDE側の上限は

C:シリンダ数 H:ヘッド数 S:セクタ数 セクタ長 容量
16bit=65536 4bit=16 8bit-1=255 512B 136902082560B=137GB(127GB)

となります。ちなみにトラックあたりのセクタ数は1から数えるために2の累乗-1という形になっています。
さて、CHSの各パラメータはHDD側とインターフェイス側のうち低い方が実際の制限となりますので、
シリンダ数はINT13H、ヘッド数はIDE、セクタ数はINT13Hの上限がそれぞれ適用され、

−−− C:シリンダ数 H:ヘッド数 S:セクタ数 セクタ長 容量
INT13H 10bit=1024 8bit=256 6bit-1=63 512B 8455716864B=8.4GB(7.8GB)
IDE 16bit=65536 4bit=16 8bit-1=255 512B 136902082560B=137GB(127GB)
実際の制限 10bit=1024 4bit=16 6bit-1=63 512B 528482304B=528MB(504MB)

これがHDD容量の最初の壁、528MBの壁です。

   
 
 





















IDE(ATA) Int13h


□次の壁:8.4GBの壁□
さて、当初はビル・Gも「500MB以上のHDDなんて誰が使うんだ!」なんて言ってたらしいのですが
時代と共にデータも大容量化が進み「500MBじゃやってられん」ということでEnhanced-IDE(ATA-2)という
規格が採用されました。
E-IDEでは従来のCHS方式に加え、LBA(Linerar Block Addressing)方式の使用が可能になりCHSの制限が外れた
ことにより、INT13Hの容量の上限、24bit=8.4GBまでの容量が使用可能になりました。

実際にはINT13HはLBAを使用できないのでインターフェイス側でCHS→LBAの変換をしています。

   



E-IDE(ATA-2) 
IDE(ATA) Int13h


□三番目の壁:127GBの壁□
IBMとMicroSoftが策定した拡張INT13H(Int13h Extensions)によってBIOS側もLBAを扱うことが可能になったため
IDE側の上限である127GBまで対応可能となりました。
現在はIDE側の上限が事実上の制限となっています。
   
E-IDE(ATA-2)  拡張Int13h
IDE(ATA) Int13h


□OSの壁:2.1GBの壁□
上で述べた容量制限はHDDのインターフェイスと、読み書きを行うディスクBIOSの問題でした。言うなればハードウェアによる制限です。一方でソフトウェア側の
制限というものも存在します。これがOSによる壁(ファイルシステムによる壁)です。

Windowsでは連続したいくつかのセクタをまとめたクラスタという単位で管理しています。FATと呼ばれるファイルシステムで、ディスク上の全ての
クラスタに対応するFAT(File Allocation Table)という管理テーブルが用意されます。

Win95時代のFAT16では1テーブル当たりのクラスタ数は16bit-予約分=65526個、OSR2以降のFAT32では32bit-予約分=2684356個となります。
FATで採用されているクラスタの最大サイズは32KBであるため、

65526*32KB=2096832KB

が上限となります。約2GBですね。同様の計算によりFAT32では8TBまでの管理が可能となります。

なお、WindowsNT4.0の場合(ファイルシステムはNTFS)、そういった制限はありませんが、セットアップ用のFDを使用してOSをインストールする際、
最初はセットアップ先のパーティションにFATでアクセスするため、ブートパーティションは4GBの制限を受けるようです。



用語解説

Enhanced-IDE
E-IDE(ATA-2の別称です)で拡張された内容は以下の4点です。
1.データ転送速度の向上
PIO(PrigramedI/O)モードは1〜4に。最大のモード4で16.6MB/秒。今となっては遅い。
2.ドライブ当たりの最大容量の増加
LBAモードが使用可能になってCHSの制限が外れました。
3.ドライブ数の増加
2チャンネルの4デバイスが使用可能です。
4.ATAPIによるCD-ROMデバイスの接続

FAT16
FAT32が登場したことで過去のファイルシステムを総称してこう呼ぶようになっただけですので当時はFAT16なんて呼んでいなかったと思います。
FAT32は最小のクラスタサイズが小さくなっているので(たしか4KB)小さいファイルがたくさんある環境ではFAT16よりも容量を有効に使えるはずです。
遅いとか互換性が無いとか色々言われてはいましたけど今はほとんどFAT32で使ってますよね。
Win98にはドライブコンバータという名のFAT16→32の片道切符が同梱されています。
一生で最大でも1回しか使わないと思う・・・。

LBA
Linerar Block Addressing方式のこと。過去のCHS方式のように各パラメータの制限を受けずに最初のセクタから番号を割り振って管理します。
元々SCSIで使用されていたらしいです。
でも本当は Linerar じゃないらしい。

OSR
OEM service release(うろおぼえ)の略。Windows95はパッケージ版のいわゆる「無印」の他にメーカー用にバージョンアップした95をいくつか出荷していました。
おおまかな情報は[コントロールパネル]の[システム]の表示で確認することができます。

--- 無印Win95 Service Pack 1 OSR2.0 OSR 2.1 OSR 2.5 Win98
システム表示 4.00.950 4.00.95.a 4.00.950B 4.00.950C 4.10.1998

一般に無印とService Pack 1を総称してOSR1と呼ぶようです。
中身としてはOSR1→2.0の間で劇的に変化しています。バスマスタIDEに対応(デバイスマネージャにDMAチェックボックスが現れる)、FAT32採用、USB(いちおう)対応、PCIバスのIRQ調停機能、それからそれからDirectXが標準で組みこまれたり、CardBusに対応したりと飛躍的にパワーアップしたのですが今なお店頭で売られているパッケージは無印。
MicroSoftはOSR同等品をパッケージ版で出荷することは遂にしませんでした。
これは元々OSRというのはメーカー製のマシン、機能が正常に作動することを保証できるマシンに対してしか使わせないということでしょう。「自作機で不具合が〜」なんていう苦情に付き合ってられないのでしょうが、機能追加だけならそれでもいいのですがバグフィクスという意味を考えるとちょっとユーザーなめてますね。
まあ実際には店頭で買えましたけど(笑)

1999/08/13現在、Windows98SE(Second Edition)のOEM版が秋葉の店頭で売られています。SEはパッケージ版も出るのですがそれは9月。M$のサイトでオンライン注文しても8/20以降です。やっぱりなめてます。





> TOP > PC Zone > TIP Zone