[b-free 511] Re: それは機械が壊れている

Takanori Hayashi (takanori@ohsaki.meidensha.co.jp)
Fri, 12 Sep 1997 08:49:52 +0900

林です。自己フォロー。

In message <9709110938.AA25981@clare.ohsaki.meidensha.co.jp>
"[b-free 510] Re: それは機械が壊れている"
"Takanori Hayashi <takanori@ohsaki.meidensha.co.jp>" wrote:
takanori> naitoh_r> ITRON/FILE であらかじめ領域を連続ブロックで確保しておくというのは、
takanori> naitoh_r> 物理ブロックを意識してというよりも、ディスクブロックのアロケート時間
takanori> naitoh_r> (空いているブロックのサーチ時間) の方を意識しているのではないでしょう
takanori> naitoh_r> か?
takanori> naitoh_r>
takanori> naitoh_r> # 誰か、この辺のことを知っている人はいませんか? > all
takanori>
takanori> ITRON/FILEの想定問答集にあったような気もしますので確認
takanori> してみます。

確認してみましたが、この辺の記述は見つかりませんでした。m(_ _)m

takanori> そういえばscandiskとかってどうやって異常を検出している
takanori> のだろう。やっぱり読み出しそのものがエラー応答を返すの
takanori> ではないかな?

エラーチェックですが、ディスク自体でセクタごとにECCを付けている
のは間違いないようです。ロングセクタの読み書きはそれをプログラム
からコントロールするもののようです。

ついでに。
BootStrap Project2 No.4にIDEディスクについての記述があったので
チェックしてみました。パラメータサイズからみると連続読み出しは
256セクタまでいけるようです。ただ同一トラック内とかの制限はある
と思われるので実際はトラック当たりのセクタ数に依存すると思われ
ます。
参考までに、パラメータサイズから見たシリンダ、ヘッダ、セクタの
各番号の取りうる値は次のようになります。
IDEインターフェース
 シリンダ 0〜1023(〜65535?)
 ヘッダ  0〜15
 セクタ  1〜255
BIOSインターフェース
 シリンダ 0〜1023
 ヘッダ  0〜255
 セクタ  1〜63

IDEインターフェースでは、シリンダ番号の領域は拡張の余地があり
最近のものでは実際にある程度は拡張されていると思われます。
# 拡張されないと高々2GB程度までしかサポートできない。
あと、セクタは実際には63までしか使われていないのではないかと
思いますが、確証はありません。
IDEとBIOSでシリンダ、ヘッダの取りうる値の範囲が異なりますが
BIOSで値の変換を行っているそうです。自分のディスクで値をみた
感じでは、パーティションテーブルの記述はBIOSでの表現に依って
いるようです。
# BIOSに合せてないとブート時に読めないから当然とも言える。

---
    林(takanori@ohsaki.meidensha.co.jp)