T3444A

IBMが1970年頃にフレキシブルディスクドライブ(JIS用語)を発表した当時は、TTL ICを100個以上使ってインターフェース回路を実現していました。ドライブ自身が200万円程度していた頃です。幸いなことに、大型コンピュータのパンチカードの置き換えとしてディスケットは普及していきます。ちょうど時期的にLSIの時代がやってきていたため、フロッピーディスクの制御回路をLSIで実現することも考えられました。そうしてできた第1世代のフレキシブルディスクコントローラ(FDC)がT3444Aです。

T3444A, T3444BS, T3444D
上からT3444A, T3444BS, T3444Dです。東芝の旧ロゴマークが型番の上に表示されていますね。T3444BSと T3444Dは、ともに久我様よりの頂きものです。

同世代のFDCにNECのuPD372などがあります。当時は8インチ片面単密度のディスケットしかなかったので、それ専用になっています。

フロッピーディスクの記録というのは、128 Byteのデータを単位として、その前後に特別なマークやトラック番号やセクタ番号をエラー検出コードを付け加えて、さらにシリアルデータに変換したものを磁気的に記録していくというような形になっています。読み出し時には、その特別なマークを見つけだして、そのそばにあるはずのトラック番号やセクタ番号を読み出して、探しているデータブロックと一致するものが見つかれば、さらに続いて記録されているはずの128 Byteデータを(やはり特別なマークを目印に見つけて)読み出すことになります。
これだけなら単純に見えますが、ランダムアクセス可能で任意の順序で読み書き可能という特徴のため、少々面倒なことが起こり得ます。モータの回転速度は厳密に一定とはいえませんし、2台のドライブがあったとしたら、その回転速度が厳密に等しいとは期待できません。さて、仮に回転速度が微妙に遅いドライブがあったとして、そこでフォーマットしてデータを書き込んだディスクを、それより回転速度がわずかに速いドライブに入れ替えて、一部のセクタを上書きした場合を考えてみましょう。FDCを含む制御回路は、水晶発振器の高精度クロックを基準に、モータよりも正確な時間単位で信号を書き込みますから、どちらでも等しい一定の時間だけかけて1セクタ分のデータを書き換えると見なせます。すると最初の書き込みでは磁気ヘッドがメディア表面を17 mmだけ移動する間に1セクタ分のデータを書き込んだのに、それより速くメディアが回転する別のドライブの書き込みによって17.1 mmの領域のデータが上書きされるというようなことがおこります。もちろん、セクタとセクタの間にはメディアの回転速度の許容範囲を見込んで、ギャップ領域という隙間が設けられていて特定のビットパターンが書き込まれています。そのギャップ領域で、別のセクタのデータに影響を与えないよう、対策しているわけです。しかし、何回もくり返して書き込みを行っている間に、セクタ書き込みの最後のビットの書き込みと、それ以前からギャップ領域に書き込まれていたビットパターンとは連続性がなくて、続けて読むと異様なビットパターンが生じてしまうことだってあるでしょう。そのため、セクタの先頭のビットパターンを探すような処理は、ノイズデータをきちんと検出して異常動作を起こさないように、エラー検出や対策をしっかりと行わなくてはなりません。
そればかりか、正常に記録されたデータですら、たまには外来ノイズなんかで読み取りミスが生じる危険があります。そのため、ある程度は対策を施さなくてはなりません。
ソフトウェアならエラー対処用のコードをあちこちに適宜挿入することになるんでしょうが(はい、それでも正確に行うには手間がかかりますが)、ハードウェアのシーケンサで同じようなことをするのは結構な手間になります。そんなこんなで、内部は半分ソフトウェア制御ということもできるマイクロプログラム方式のシーケンサで制御されています。
LSI内部には8×8 bitのX-RAMと同じく8×8 bitのY-RAMとALU、およびそれらを制御する256×24 bitの制御ROMが含まれています。

なお、T3444というLSIは、マイクロプログラム制御された汎用のLSIで、そのマイクロプログラムとしてフロッピーディスク制御用のプログラムを書き込んだT3444Aとか、磁気テープ制御用のプログラムを書き込んだT3444Bとか、いろいろあります。先に示した写真の中の下のふたつがそれです。
 

Return to IC Collection