FDD/HDDをつなぐため急速に普及したSASI 消え去ったI/F史
ASCII.jp / 2024年3月18日 12時0分
消え去ったI/F史で取り上げるものとして「次はLocal Talkだ」なんて予言もあったが、Local Talkはもう少し先になる。今回はSCSIの前身であるSASI(サジー)を説明しよう。
世界初のFDDを開発したAlan Shugart氏が そのFDDを機器に接続するために作ったSASI
SASIはFDDおよびHDDをPCに接続するためのI/Fとして、Shugart Associatesという会社によって開発された。このShugart Associatesは、「業界に痕跡を残して消えたメーカー」シリーズで取り上げているので、繰り返さない。要は世界で最初のフロッピードライブ(とフロッピーディスク)であるIBM 3330を開発したAlan Shugart氏が、IBM退社後に(何社かを経て)1973年に設立した会社である。
そのShugart Associatesは1976年に、同社のSA-400というフロッピードライブを発表しているが、このSA-400を接続するためのI/Fを1979年にSASI(Shugart Associates System Interface)として公開する。
ちなみにShugart氏は1974年に設立したShugart Associatesを退社、新たに興したのが現在のSeagateであるが、これは余談である。
そんなSASIであるが、当時ほかにFDD/HDDをつなぐ有力なI/Fがなかったこともあって、瞬く間に広がることになった。1981年9月にはANSI Document X3T9.3として業界標準化も完了しており、初期のパソコンでは広く利用されることになる。
さてそのSASIだが、別にFDD専用やHDD専用というわけではなく、FDDもHDDも接続できた。さらに言えば、複数のホストから最大8台までのデバイスを接続することも「規格上は」可能だった。
もっともこんなCOMPLEX SYSTEMを実装していた例は筆者もまるで聞かない。それどころか"BASIC TWO CONTROL UNIT SYSTEM"も見た記憶がない。一応Shugart Associatesが1980年にリリースしていたSA1403/SA1403DというSASI HDDコントローラーのマニュアルを見ると最大4台までのHDDを制御できるようなので、あるいは市場には存在したのかもしれないが、普段お目に掛かるのは一番上の"SIMPLE SYSTEM"の構成のみだった。
なお、筆者はHDDとFDD以外で利用された例を見かけたことがないが、デバイスの側は以下のさまざまな機器が接続可能になっている。
- "Winchester Disk"(HDDの事だ)
- "Floppy Disk"(FDD)
- "MAG TAPE"(磁気テープドライブ)
- "OPTICAL DISK"(CD-ROMが世間に登場したのは1985年だったことを考えると、ここで言うOptical DiskはLD(Laser Disk)を念頭に置いていたのかもしれない)
信号ピンは19本しかないがコスト的な問題で 当時普及していた25ピンないし50ピンコネクターを使用
信号ピンは合計19本しかない。ただ実際には25ピンないし50ピンのコネクターが利用された。
25ピンないし50ピンのコネクターが利用されたのはなぜか? というとそう規定されているためである。
D-Subの25ピン、あるいは50ピンのRibbonコントローラーはこの規格が制定された1980年代に普通に入手できたので、これを流用するのがコスト的にも優れていると判断されたというあたりであろう。
ところでこれを見ても、複数台のFDDやHDDを接続する場合に、どう区別するのかがわからない。SASIはこの後出てくるSCSIと同じく(SASIを元にSCSIが作られたので、SCSIがSASIの仕様を引き継いだというのが正確だが)、機器ごとにIDを持っており、このIDで区別する仕組みとなっている。
ホストコントローラーはSASIバスの初期化の際に、それぞれのデバイスのIDを取得し、以後はこのバスIDを指定してデータを送受信する仕組みだ。このデバイスIDを取得するシーケンスは、Bus Arbitrationの機能が実装されているか否かで異なるが、そこまで細かい話も不要と思われるので割愛する。
デバイスのIDを取得するため、SASIの機器側には自分のIDを設定するためのスイッチ(ジャンパーだったりロータリースイッチだったり)が搭載されているのが普通である。ここで、他のデバイスのIDと重ならないように設定するのは利用者の仕事となる。なおこのデバイスのIDの事を、LUN(Logical Unit Number)と称する。
このSASI、信号レベルとしてはSingle Endedが最小2.5V/最大5.25V、Differentialは最小2.0V/最大5.25Vとなっており、5Vを利用するのが一般的だった。ケーブル長はSingle Endedの場合は最大6mで、Bus Stub(SASIのコネクターから、SASI/機器のコントローラーまでの配線)長は0.1m、Differentialではケーブル長が最大15m、Bus stub長は0.2mと規定されていた。
ケーブルそのものは50ピンのフラットケーブル、ないしねじった「より対線」を利用することとされ、コネクターは3MのScotchflex #3425-3000が推奨されている。
ただこのScotchflex #3425-3000は、カードエッジに刺すタイプのコネクターで、ケースの内部の配線はともかくとしてケース外の配線に使うには強度的に心もとない(ちょっと引っ張ると抜けてしまう)こともあり、外部接続の周辺機器には初期のSCSIと同じくロック付きの50ピンアンフェノールコネクターが使われることが多かった。
リファレンスクロックがないため REQ/ACKを利用したハンドシェイクで非同期通信
気になるSASIの速度であるが、実は仕様には規定がない。そもそも先の信号ピンのところで説明したように、SASIにはリファレンスクロックに当たる信号がない。要するに同期式ではないわけだ。では通信はどうやって行なったか? というと、REQ/ACKを利用したハンドシェイクである。下の画像がそのタイミングチャートであるが、デバイスからの読み込みなら以下の手順になる。
(1) デバイスがREQをAssertする(0→1にする) (2) この段階でDB0~DB7にはデバイスからのデータが載るので、ホストはこのデータを読み込む (3) データを読み込み終わったホストはACKをAssertする(0→1にする)。このタイミングでDB0~DB7の信号は有効だが意味がなくなる (4) REQ/ACKの両方がAssertされたら、デバイスがREQをNegateする(1→0にする)。この段階でDB0~DB7の信号は無効になる (5) ホストがACKをNegateする(1→0)。これで1回の転送が終わる
同様にデバイスへの書き込みは以下のとおり。
(1) デバイスがREQをAssertする(0→1にする) (2) ホストはACKをAssertする(0→1にする) (3) この段階でDB0~DB7にはホストからのデータが載るので、デバイスはこのデータを読み込む (4) デバイスはデータを読み込み終わったら、REQをNegateする(1→0にする)。この段階でDB0~DB7の信号は無効になる (5) ホストがACKをNegateする(1→0)。これで1回の転送が終わる
要するにホストとデバイスの両方が、どれだけ高速にハンドシェイクするかで転送速度が決まるわけだ。実はこの仕組み、のちのSCSIにもほぼそのまま継承されたのだが、SCSI-1が公称5MB/秒、実効でも1~2MB/秒の転送速度が確保できた(なにをつなぐか次第ではあったが)のに対し、SASIはそこまで速度が出なかったように記憶している。おそらく1MB/秒未満だっただろう。
ちなみにSASI自身は、純粋にホストとデバイスの間でメッセージやデータを交換するI/Fの規定であって、その上でどんなデータを流すかといったことには一切関与していない。これは続くSCSIも同じではあるのだが、本来ならもっと汎用に利用されても不思議ではなかった。
ただそこまで普及しなかったのは、より優れた上位規格としてSCSIが登場し、これが市場を席捲してしまったためだろう。またFDDに関しては、IBM-PCの頃から本体内蔵が一般的になってしまったことにより、拡張バスにFDDのコントローラーを搭載、そこから直接FDDのI/F(34ピンのやつだ)にフラットケーブルなどで接続することになり、SASIを使う必要性がなくなった。
米国では1983年発売のIBM-PC/XTこそSASIだったが、1984年発売のIBM-PC/ATはIDEに移行。1984年発売のMacintosh 128Kは外部FDD接続用に独自I/Fを採用した(内蔵HDDはなし)が、1986年のMacintosh Plusでは外部接続用にSCSIポートを搭載した。
こんな経緯もあってか海外では1990年を待たずにSASIはほとんど消えてしまっており、たまにSASIが必要な場合に向けてSASI/SCSIのコンバーター(SCSI HDDをSASI I/Fに接続できるようにするもの)が使われたりしたほどだ。消えるのが妥当なI/Fだった、としていいだろう。
※お断り:記事初出時、PC-9801シリーズのFDDがSASI接続だった旨を記述しておりましたが、これは筆者の記憶違いによる誤りである模様です。当該箇所を削除しお詫びします。(2024年3月21日)
この記事に関連するニュース
-
HDDのコントローラーとI/Fを一体化して爆発的に普及したIDE 消え去ったI/F史
ASCII.jp / 2024年4月29日 12時0分
-
ヘッドフォンのサウンドをパワフル&高音質に 「ヘッドフォンアンプ」おすすめ3選 エントリー~スタンダードモデル編【2024年4月版】
Fav-Log by ITmedia / 2024年4月28日 17時30分
-
ピカリング インターフェース、スイッチ・ペイロードを2倍に増加する新しい高電圧PXIマルチプレクサ・ファミリを発表
PR TIMES / 2024年4月25日 18時40分
-
最大10個のSATA HDDを内蔵可能、240TBまで認識できる「裸族のスカイタワー」
マイナビニュース / 2024年4月5日 13時55分
-
Intel N100搭載の小型PC「AOOSTAR R1 N100」でNASをDIYしてみた 3.5インチHDDが2台搭載できる
ITmedia PC USER / 2024年4月1日 12時35分
ランキング
-
1「ギガ 300MB」とは……? 何かがおかしいデータ通信量の珍表記に「違和感」「0.3って書けばよかったのに」などツッコミ続出
ねとらぼ / 2024年4月30日 20時30分
-
2佐野正弘のケータイ業界情報局 第125回 SIMフリーに消極的だったサムスン電子、なぜ「Galaxy S24」で方針を一転させた?
マイナビニュース / 2024年4月30日 11時30分
-
3TVアニメ『わんだふるぷりきゅあ!』、いなばペットフードとのコラボ企画を中止 一連の報道が影響か「まぁ…そうなるよね…」
ねとらぼ / 2024年4月30日 13時15分
-
4【レビュー】Beatsの定番ヘッドホンが刷新! ロスレス再生に対応「Beats Solo 4」を聴く
ASCII.jp / 2024年4月30日 23時0分
-
5アップル「iPhone 16」再び物理ボタン廃止の可能性浮上
ASCII.jp / 2024年4月30日 20時0分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください