日記帳だ! with Tux on Libserver

二度目の大改造!! 日記帳…か?を継承し、より柔軟でパワフルなBlogに変身しました。

RSSに対応しています。リンク・コメント・トラックバックは自由にしていただいてほぼ問題ありません。
RSS購読方法、僕のリンク・コメント・トラックバックについての考えを読むことをおすすめします。

JavaScriptを有効にし、Cookieを受け入れ、以下のブラウザを使うことで完全なコンテンツが楽しめます。
Mozilla Firefox 3.0(Get Firefox)・Opera 9.6・Safari 3.2・Lunascape 4/5(Gecko)・Lunascape 5(WebKit)
Internet Explorer 7/8とそれを使うIEコンポーネントブラウザ(Lunascape・Sleipnirなど)

<< 過去

未来 >>

RAMチェックって何のため?

組み込みシステムではしばしばRAMチェックを行うことがあるよう。

RAMの読み書きが正しく出来ているか確認するんだけど、なんでそんなことするんだ?


というわけでチームリーダーに聞いてみた。

すると、ワンチップマイコンだとそこまで必要性はないかもしれないが、と前置きした上で、

メモリが外付けされている場合、CPU~メモリ間のバスが故障していないかをチェックしたいと。

やり方はいろいろあるのだが、データを書いて、データが正しく読めるか確認する。

アドレス・データのパターンをうまくやると、データバス・アドレスバスの故障を検出することができるわけだ。

記憶素子の健全性を確認するという意味合いもあるのは確かだが、バスの健全性を確認する方が意味合いとしては大きいのでは? とのことだった。


データバスの故障を検出する方法は比較的簡単だ。、

あるアドレスに 0x55555555 と書いて 0x55555555 を読み出す、0xAAAAAAAA を書き込んで 0xAAAAAAAA を読み出すという方法がある。

もし、データバスの0bit目が故障して0固定になっていたら、0x55555555 を書き込んでも 0x55555554 としか読めない。

16bit目が1固定になっていたら 0xAAAAAAAA を書き込んでも 0xAAABAAAA と読めてしまう。

アドレスバスの故障検出はもうちょっと複雑だが、書き込んだアドレス以外のデータが壊されていないか確認するというのが基本的な考え。


RAMチェックもいろいろな方式があるけど、現在のRAMデータを破壊する方式が多い。

システムが動いているときにメモリの中身が壊されたら正しく動くわけはないわけで、

起動時にメモリを使い始める前にRAMチェックを行う必要がある。

稼働中にRAMチェックを行うシステムもあるみたいですけどね。

破壊してもよい領域でRAMチェックを行うか、データを破壊しない方式でRAMチェックを行う必要がある。

いずれにせよ、どういう故障を想定してRAMチェックするのかということは考えるべきですね。

それによってやり方も変わってくるので。バスの心配ならワンチップマイコンなら不要な気はするので。


PCのRAMチェックといえば memtest86 が有名だが、けっこういろいろな故障を想定しているんだね。

MemTest86 Technical Information #Individual Test Descriptions

アドレスバスの故障、データバスの故障、記憶素子の故障 というのもあるし、

キャッシュ回路やバッファ回路の故障をあぶり出せるように、アクセス順序を変えたり、データ幅を変えたりいろいろやっている。

どこまでチェックするかって話ではあるんだけど、それはまさにどういう故障を想定するかという話なんだよね。

そこを考えないと的確なRAMチェックにならないと理解した。


Author : hidemaro
Date : 2018/05/22(Tue) 23:41
コンピュータ | Comment | trackback (0)
blog comments powered by Disqus

トラックバック

トラックバックURL取得

Tools