一般的に、「良い環境」に置かれた半導体はあんまり壊れない。もちろん設計寿命を超えたらあかんし、ランダムに不良が交じるのはお約束だけど。
2013-06-11 21:17:06が、DRAMのたぐいは、高熱にさらされるとランダムに壊れるようになる。まあたいていの半導体がそうなんだけど、特にDRAM類は熱に弱い。どれぐらいかっつーと、50〜55度ぐらいで顕著に悪化する感じ。おまえはタンパク質か。
2013-06-11 21:18:13あと、DRAM類は電圧が安定しない環境に置かれるとぜんぜんマトモに動かない。しかも山ほど電源レーンを必要としやがるので、電源屋さんがたまにキレることがある。
2013-06-11 21:19:10そんな感じなので、「熱に弱い」「電圧の変動に弱い」というのがDRAM運用の基本となります。さあ冷静になって考えてみよう。PCの中ってどっちも全力でアウトでは。
2013-06-11 21:20:24……というような理由で(だけじゃないけど)、Microsoftは一時期、ECCメモリを標準にしようと試みていたフシがある。たいていのパブリックベータ類のクラッシュレポートで、「メモリが不安定じゃないかぎり一定値を示すデータ」がぶち壊れてたらしい。
2013-06-11 21:22:19DRAMが熱に弱いんならファンを回せばいいよね? って思うかもしれない。しれないが、冷静になって考えよう。ファンってモーターで回る=つまり動力=電圧安定しない。なんで、ファンを近くで回すのはダメだ。
2013-06-11 21:24:41あと、ファンなんか回した日には、ホコリが帯電してDRAMセルをぶち壊しにくる。静電気の電圧は放電が目に見える程度に電圧が高いので、冬場にパチっとかやったら死ぬよん、というのはみなさんご存知の通り……なので、ファンを回す路線もたいてい壊滅的な結果になって終わる。
2013-06-11 21:25:41メモリ類の扱いは、 ・熱のこもらない場所で、 ・ファンの風が直接あたらないようにした上で、 ・風洞設計に封じ込める というのが定石になって、「しないとコロス」ぐらいの扱いになったらしい。この教訓を最近再現したのは、某社の初代AthlonMPを搭載した1Uサーバー。
2013-06-11 21:28:25x86なHPCをお使いの大学様ではまだまだ置かれている、「なにそれ宇宙船?」みたいな名前の某社さんです。ちなみに初期ロットは風洞設計になってなかったので、難燃性の分厚い紙だか繊維だかで風洞をあとづけした模様。
2013-06-11 21:29:35ちなみにDRAMさんの電圧変動における豆腐メンタルっぷりは、電源ユニットを変更するだけでなぜかメモリ不具合の発生率が変動することで裏付けられたりしちゃうらしい。しかもよくある。
2013-06-11 21:31:17んで。ごくごくふつーに生活していると、メモリさんは不死身なよーな気がしてきますが、大規模に運用してるとふつーに壊れます。……ええ、壊れるロットと壊れないロットがあるんだなーって分かる程度に。
2013-06-11 21:32:16すげー同じベンダで同じ型番なのに、このbrith dateなやつだけ壊れてるじゃーんみたいな、あくまのよーな結論に至ることがまれではなくよくある。
2013-06-11 21:33:22もちろん、「このベンダのこの型番」というレベルでしか言えないねーあははー、みたいなオチもよくある。あと、「この型番のマザーボードのこのスロットに挿すとやたら壊れる」みたいなのもありがち。
2013-06-11 21:34:17あと、半導体技術の限界とか、そもそもの設計があかん感じな世代だとぼっこぼこに壊れる。最近だとFB-DIMMが好例で、これは設計があかんパターン。
2013-06-11 21:35:51FB-DIMMさんは、「DRAMみたいなうざったいコントローラの必要なインターフェースはメモリ側で完結させて、ノースブリッジからはシリアル接続させろよ」みたいな設計のブツ。この「メモリ側で完結させる」=シリアルとDRAM I/F両方しゃべる子をAMBという。
2013-06-11 21:37:48ここで問題です。DIMMモジュールのあのせっまい空間に、「シリアルとDRAM I/F両方しゃべる子」などというインテリジェントなチップを載せると何が起きるでしょうか。 こたえ:熱が出る→まわりのDRAMチップが死ぬ
2013-06-11 21:38:37AMBは当時(Woodcrest時代)にはまだまだプロセスルールの問題で高発熱デバイスだったので、なんつーの、ネコとネズミを同じ場所で飼っちゃダメでしょ! みたいな感じで、世紀の失敗作として語られる結果になりました。
2013-06-11 21:40:45んで、たいした枚数ではないものの(だって正常なやつ5桁枚ぐらいと戦ってもせいぜい3桁だし)、DRAMの壊れ方から、なんとなーく特定の挙動が見て取れることがある。
2013-06-11 21:46:22だいたい、 ・特定のセルだけ壊れる ・特定のセルと欄/行を共有しているやつも壊れる ・なんだかよくわからない飛び地な壊れ方をする の3パターンがメジャーで、4:4:1ぐらいの体感。
2013-06-11 21:47:00なんでやねーん、という気分になるけど、あいつら、欄か行は同じバスを経由してアクセスしてるので、 特定セルが死ぬ(軽症)→アドレス線が死ぬ(重症) とゆーことらしいと本社が言っていた、と某メモリ屋さんから大昔に聞いたことがある。
2013-06-11 21:48:43「そこまでは推定通りなんで分かるんですが、ランダムに死んでるヤツはなんすか?」って聞いたら、静電気でお亡くなりになるケースがソレだそーです。セルとか行/欄死亡は熱で死んでるケース。
2013-06-11 21:51:21あと、複数セルランダムにお亡くなり事案は、「ECC非対応(検証がいいかげんなケースも含む)マザーにECCメモリを挿してしまった→メモリ系のレギュレータに過剰負荷→電圧変動→ランダムにセルがおなくなり」みたいなケースが *とても* よくあるらしい。
2013-06-11 21:54:03さらに複数セルお亡くなり事案、「特定ベンダのバッファチップ(Registeredなやつ作るのに使うやつね)を積んでるRDIMMでのみ発生する」とか、なんつーかろくでもないケースばっかか、みたいな。
2013-06-11 21:55:00