もしかしたらもう誰かがしたかもしれませんが
586RXにてIBMのDMA33HDDのDTA351010(10GB)
轟沈しました(T-T)
メモリカウント後に進みません。
2.1GB設定にするとMDC-926RsのBIOS画面まででます。
これって4.3GBの壁か8.4GBかわかりませんね・・・
- re: NaO さん
投稿日:1999年08月12日(木) 00時03分47秒
壁は、4.3GBだと思います。以前に、その考察を行ったことがあるので、再掲(一部修正)します。
-----------以下再掲文-----------
IDE4.3GBの壁の考察
EPSON 98互換機では、内蔵IDEの最大搭載ドライブが4.3GBであると、経験的に分っています。そこで私なりに、その理由を考察してみました。これは、石榑 克範さん作のPEEK_IDE.EXEやSCSIのパラメータ解析BIOS、FORMATHDの挙動による考察で、IDE-BIOSを解析したわけではないので、必ずしも正確ではないことを、あらかじめご承知ください。間違いなどございましたらフォローよろしくお願いします。
4.3GBが最大なのは、IDEのシリンダ数管理が16bit(シリンダ数65535/正確には15bitと+-判定1bit)になっているためだと考えられます。16bit管理と考える一番の理由は、98系のIDEがCバスの配下にあることからです。もっとも、Cバスが16bitなのはデータバスで、アドレスバスが24bit出てるので、もっとあっても良さそうなんですけどね。
FAT16説もありますが、FATはあくまで論理フォーマットですので物理フォーマットとは無関係ですし、もし、FAT16による問題でしたら、DOSが同時にアクティブにできるパーティション数は4つまで、ですので2048MBx4の約8GBが同時使用できる最大容量になります。いくつかのパーティションをスリープにしたり、PC-UNIXなど、FAT16と関係ないOSを入れることも考慮すればもっと伸びるかもしれませんが、そんな大容量のドライブは、認識さえしなかったと聞きます。
98系では論理ヘッド数8、1トラックあたりの論理セクタ数はIDEで17、SCSI(92互換フォーマット)で32と定義されています。物理的なヘッド数などは個々のドライブ固有ですが、それとは別の話です。また、環境設定メニューやフォーマッタでの定義により512バイト/セクタで物理フォーマットします。
ここではIDEだけに話を限定しますが、1シリンダあたりの容量は、8(論理ヘッド)x17(論理セクタ/トラック)x512(バイト/セクタ)で、68kバイト(69632バイト)と計算されます。シリンダが16bitで管理されていることによる最大容量は、最大シリンダ数65536(2の16乗)から4352Mbytesになります。これが最大4.3GBが限界であることの根拠です。
「正確には15bitと+-判定1bit」とさきに書いたのは、FORMATHD.EXEでは、2.1GBを若干越えたあたりからシリンダ数が、マイナス表示になるためです。32768シリンダまでが正の数表示とすれば、2176kbytesがこの境になります。FORMATHD.EXEでは先頭シリンダをマイナスで入力できないようなので、1つあたりのパーティションを広くとりたければ、2048kbが2パーティションで終わりです。もちろん、最終パーティションの先頭シリンダが正数表記の範囲なら、どのようにパーティションを切ってもいいわけです。
私が使っているドライブはWesternDigitalのCaviar(WDAC23200)で、シリンダ数46664ですが、3098Mbytesと計算でき、これはフォーマッタに表示される総容量と同じです。実際、うちでもシリンダ46664は、FORMATHD上での表記は-18872になっています。
以上、長文投稿失礼しました。
- re: SARAYA さん
投稿日:1999年08月12日(木) 00時27分54秒
すごい・・・・
わざわざ有難う御座いました。
やはり漢はALLSCSIに・・・・
- re: まぁくん さん
投稿日:1999年08月12日(木) 15時07分24秒
ちとツッコミ
: 4.3GBが最大なのは、IDEのシリンダ数管理が16bit(シリンダ数65535/正確には
: 15bitと+-判定1bit)になっているためだと考えられます。
: 16bit管理と考える一番の理由は、98系のIDEがCバスの配下にあることからです。
あのCHS(Cylinder/Head/Sector)パラメータでは
AT互換機でもシリンダ最大番号は65535だったと思うのですが。
この場合、ヘッダー/セクタ パラメータが固定
(専用インターフェースでH:8 S:17)なのが
容量上限の直接原因だと思うのですが…
: もっとも、Cバスが16bitなのはデータバスで、アドレスバスが24bit出てるので、
9800シリーズの汎用バスは2種類あってV30までの機種はアドレスバスは20bit
i80286(PC-98XA)以降はスイッチによるアドレスバス20bit/24bit切り替えです。
但し、多分PC-9821Xa7/C以降の機種だと思いますが廉価の為
一部の汎用バススロットのスイッチを省略して24bit固定にしてるものもあります。
# 初代PC-9821Xa/U1までは汎用バススロット3本全部にスイッチがありましたが…
: 物理的なヘッド数などは個々のドライブ固有ですが、それとは別の話です。
実際にはLBA(Linerar Block Addressing)でアクセスして
BIOS内で仮想的なCHSパラメータに変換してDOSやWindows等のOSに渡してますね。
# 逆にFreeBSDの様にBIOS経由せずに直接デバイスにアクセスすれば
# (ブート時の起動スライスの制限以外は)容量上限の問題はないですね。
ところでBIOSでの上限の容量があっても
起動さえしてしまえばやりようがあるのですが
# 一部の9800シリーズ専用インターフェースの544MBの壁のように。
この場合、BIOSがシリンダ数が65536以上になる(桁溢れを起こす)のを
想定してないのでBIOS起動中にレジスタが桁溢れ起こして
CPUが割り込みで停止して、結果、起動しなくなってしまうんですよね。
: やはり漢は
(ぼそっ)BIOS解析と書換え…
そーいえばIDE-98は上限8.4GBらしいですが
起動途中で停止しないのでしたら何とかなりそーな気が…? (ぉ
# 最近、IDE-98を全然見ないですね〜
# やはり叩き売られてる時に確保しておくべきだったかしら? (笑)
- re: NaO さん
投稿日:1999年08月13日(金) 01時13分33秒
まぁくん さん>
つっこみ、どうもありがとうございます。m(_`_)m
AT互換機でもCHSパラメータでは、確かにCパラメータの最大は65535なんですが、QuantumのWebページだったと思いますが、CHSパラメータのうちHead数を増やすことで8.4GBオーバーのアクセスを可能に云々というような記事を見たことがあります。もっとも、AT互換機では今ではLBAモードでのアクセスなので、あまり重要なことではないのでしょうけど。あと、540MBの制限を受けるAT互換機でのCパラメータの最大は1024です。
#漢なら、やっぱALL-SCSI化かと。(^^)b IFC-NN今のうちに手に入れとくかなぁ。
- re: 月虹 さん
投稿日:1999年08月13日(金) 03時26分06秒
例えば NEC本家の場合は、IDE のパラメータは、32bit で計算されているそうです。Cバス云々は関係なく。
> AT互換機でもCHSパラメータでは、確かにCパラメータの最大は65535なんですが、
というよりも、IDE機器内に存在するレジスタが、CylHigh 8bit CylLow 8bit の合計 16bit ですから、ATA の規格そのものが拡張され、IDE機器がそれに対応しない限り、最大は 65535 です。
> QuantumのWebページだったと思いますが、CHSパラメータのうちHead数を増やすことで8.4GBオーバーのアクセスを可能に云々というような記事を見たことがあります。
レジスタ数を厳密に勘定すると、全28bit で 128GB までアクセス可能だったかと思いますが(データシートがすぐ手元にないので、数値は間違っているかも)、それとは別の問題で、CHS では 8.4GB までしかアクセスが出来ないことになっております。
# LBAアクセスならば、上限まで可能です。
IDE HDD の場合、最初に HDD に パラメータを設定し、それにより使用容量が決まるわけですが、CHS だとこの時に 8.4GB 以上のパラメータを設定することが出来ません。自動的に 8.4GB 以内に押えられます。
> あと、540MBの制限を受けるAT互換機でのCパラメータの最大は1024です。
それは、AT の BIOS による制限です。
> まぁくんさん
> そーいえばIDE-98は上限8.4GBらしいですが起動途中で停止しないのでしたら何とかなりそーな気が…? (ぉ
いやぁ、CHSアクセスしてるから、 8.4GB上限なんじゃないかな。だとすると、それ以上はちと辛いと思う。
- re: NaO さん
投稿日:1999年08月15日(日) 01時26分07秒
月虹さん>
いつも、ご指摘有難うございます。ところで、HDDメーカーのWebページを見てると、8.4GBにも一つの壁があるような書き方をしているのですが、LBAモードをサポートしてるかどうかの兼ね合いなのでしょうか。
ちなみに、AT互換機では、CHSアクセスだと15Head 63Sector/Trackなのですが、8.4GBオーバーでは16Head 63Sector/Trackになっているので、むしろドライブパラメータの問題だと考えていました。それと、IDE機器側ではなくてマザーボード側の制限ですけど、AT互換機ではシリンダ数16383までしかサポートされてなかったと思います。それでヘッド数を増やす措置がされているのだと理解していました。そこで、LBAモードだとHDDに乗っているドライブパラメータをそのまま流用するので、ヘッド数が増えようが関係ない、ということなのではないでしょうか。
#エプ機とは全く関係ない話になってきましたな(汗)。
要するに、98系ではドライブパラメータ決め打ちなのが問題である、ということですね。4.3GBオーバーのIDE仕様HDDが搭載できる本家青札ValueStarのIDEドライブパラメータはどうなってるんでしょうかねぇ。
- re: 月虹 さん
投稿日:1999年08月15日(日) 05時22分52秒
#エプ機固有ではないというか、かなりかけ離れた話になっています。
何故 8.4GB に壁があるのか、データシートを眺めただけでは、理由が判りませんでした。多分昔からの AT BIOS の影響だと思いますが。とにかく、CHSアクセスだと上限 8.4GB の制限があります。LBAアクセスだとこの壁はありません。
> AT互換機では、CHSアクセスだと15Head 63Sector/Trackなのですが
ほとんどの AT BIOS では、16Head 63Sector ですが、AT BIOS の一部に Head数を 15までしかサポートしていないものがあるのです。
# Head数は、0〜15 なのですが、BIOS では 1〜16 なのです。このあたりの混同で、15 までしかサポートしていない BIOS があるのかもしれません。
ヘッド数 15 までしかサポートしていない BIOS の場合は、当然 8.4GB まで使えなくなります。ただし、シリンダ数で調整を取っている場合は、この限りではありません。
#このあたりの話は、BIOS互換性について、データシートとは別にテクニカルドキュメントが用意されています。URL は、会社がはじまったら書き込みます。
> AT互換機ではシリンダ数16383までしかサポートされてなかったと思います。
AT互換機の場合は、16Head、63Sector 固定で、シリンダ数を拡張することで、容量を増やして来ました。この場合、16383シリンダで 8.4GB ということになります。
この理由は、私は今一つよく判っていないのですが、BIOS 内で 14bit で扱っているなんてこと、あるんでしょうかね。
> 4.3GBオーバーのIDE仕様HDDが搭載できる本家青札ValueStarのIDEドライブパラメータはどうなってるんでしょうかねぇ。
8Head、17Sector で、65535Cyl だと聞いていますが、実際 CHS で、このパラメータを指定することは出来ません。というのは、CHS の場合は、8.4GB以内に収まるようにシリンダ数が勝手に調整されてしまうからです。というわけなので、BIOS では(互換性の為に)便宜上 CHS パラメータで受け、LBA に変換してアクセスしているものと思われます。
これは、AT の世界でも同じです。