ハードウェア障害って起きるのよ

By 高尾 - Posted: 2008/10/06 Last updated: 2008/10/19 - Leave a Comment
元外資系コンピュータメーカでエンジニアをやっていた私のほうは、いろんな経験をさせていただきました。思い出すままに書きます。
・3330伝染病事件
3330というディスクは筐体にディスクを乗っけると、奥からヘッドが出てきてアクセスする仕組みになっていました。
ディスクパックをなにかにぶつけて歪んだことを知らないで筐体にのっけると、ものの見事にヘッドが壊れます。壊れるだけならよいのですが、次に別のディスクパックを乗っけると、そのディスクの表面を壊れたヘッドがこすってだめにする、伝染病のような問題が起きたことがありました。

・プリンター出火事件
夜中にひとりでテストしていたら、なにやら焦げ臭い臭いが。よく見るとラインプリンターから煙がもくもく。あわててCEルームに電話しました。

・ACRといえば
Alternate CPU Recovery。CPUが壊れるってたまにあって、こういうルーチンが走ります。

・メモリーエラー
「こんなことまでするのぉ?」というのがメモリーエラー。マシンチェックで上がってきて、エラーを起こしたところを読もうとしてみたり、そのメモリーのページフレーム使ってるタスクはコカすんじゃなかったっけな。でも、大事なカーネル部分のメモリーが壊れたらどうする?なんて、深遠な議論がありました。最近のLinuxやWindowsも似たようなことしてるとか。

・デバイスのリードエラー
これが一番やっかいだった。汎用機のように昔からある機械はディスクとかもワイヤードロジックで作ってたものが多く、一時エラーであがってきたものは、何回か再試行したら成功することもあったらしい。手を変え品を変え、再試行の数がものすごいことになっていた。それゆえ状況が状況だと再試行している間、I/O待ちのタスクはとてつもなく長い間、待たされる。こういうことも本当にお客で起きて騒ぎになった。結局、MIHの定義を変えたんだよね。
それとか激しいI/Oによるヘッドの共振。もともとデバイスの設計時点ではヘッドはありえない動きくらいのところに共振点をもっていくんだけれど途中の設計変更なんかで、当初のとおりにならなかったり。

・ディスクのオフラインからの復帰
今みたく密閉容器に入れたディスクじゃなく、空気に触れているディスクはなかなか大変でした。軸受けのオイルが酸化して劣化したりして。劣化すると、正確にシークしないのよ。今でも同じようなものだと思いますが、ディスクなんてずっと電気入れてまわしっぱなしのほうが壊れないんですよねぇ。電気の入れたり切ったりが回路やメカニズムにはすごくよくなかった記憶がある。なので、休み明けにディスクに電気を入れる時は、CEさんと緊張のひと時を過ごしました。あがってこなかったら、すぐにリカバリーに走るわけです。

・インプリサイスエンド(imprecise end)
impreciseって「あいまいな」って意味なんですが、デバイスに高性能のプロセッサーが搭載されるようになると、さまざまなことをやってくれるようになります。たしかにOSはそれでラクになった点もありました。例えば、新しいディスクの細かいスペックを装置側が教えてくれる(Sense device characteristics)とかいうCCW(Channel Command Word:I/O装置用のコマンド)が出来た時は「すげぇ!」とか思いました、が、エラーリカバリーを中途半端にやってくれて詳細を教えてくれないのも困りものです。表題のimprecise end、一時的なエラーです、とだけいわれても、なにが起きたのか、どうすりゃいいのか、どきどき。sense(エラーのレポート)見ても細かいことはのってない、なんてことに悩んだこともありましたっけ。

汎用機のハードは本当に技術の進歩と共に進化してきました。結果的に未熟な技術もありました。その技術はオープン系のハードの中にも生きています。

余談ですが、昔の3380は画期的なディスクでヘッド(アクチュエータ)はスピーカの原理を利用して今のようなディスクと異なり、円盤上を弧を描かず、垂直に動いていました。また、「データ量が多いから」ということでひとつの円盤群にヘッドがふたつついていました。こういう発想は今のディスクでも採用してほしいです。一個で1TBとかいっててヘッドがひとつってプールに水道栓がひとつついてるようなもので、使うほうにしては非効率だと思うんです。アクチュエータがふたつついていたら非常に便利だと思うんですよねー。
Posted in つぶやき・雑感 • • Top Of Page