なお、ビット化けは正式名称ではないかもしれないが、データの一部のbitが放射線・電磁波等の影響で意図せずに反転してしまう現象のことを呼称しているとする
一般的なDRAMのビット化け発生頻度
以下の論文では単純にErrorという呼称を使用している
Errors in dynamic random access memory (DRAM)
https://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf
本研究によれば以下の報告がなされている。
we observe DRAM error rates that are orders of magnitude higher than previously reported, with 25,000 to 70,000 errors per billion device hours per Mbit and more than 8% of DIMMs affected by errors per year.
https://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf
すなわち、
25000 ~ 70000 / 10億時間 / Mbit
= 2.5e-5 ~ 7.0e-5 / 時間 / Mbit
= 0.219 ~ 0.61 / 年 / Mbit
= 1.752 ~ 4.9 / 年 / Mbyte
という結果となる。よって、1年稼働し続けると、Mbyteあたりで1回はbitが反転する結果が示されている。
ECCメモリ
ECCメモリは1bitのエラーを訂正可能、2bit以上のエラーを検出可能としたメモリである。
信頼性が求められるシステムに対して、ECCメモリが採用されている
機能安全な面から
2.5e-5 ~ 7.0e-5 / 時間 / Mbit であるので、仮にbit化けが故障に100%直結する場合、システムの使用容量に照らし合わせたSIL対応は以下となる
SIL4 | 1.0e-9 ~ 1.0e-8 | 0.75Kbit |
SIL3 | 1.0e-8 ~ 1.0e-7 | 7.5Kbit |
SIL2 | 1.0e-7 ~ 1.0e-6 | 75Kbit |
SIL1 | 1.0e-6 ~ 1.0e-5 | 0.75Mbit |
勿論bit化けが危険側失敗に至るまでには様々なアプリケーション上のvalidationを乗り越える必要があるにしても、連続稼働し要求安全度水準が求められるような信頼性が要求されるシステムについてはbit化けを考慮に入れないことは不可能である。そのため、ECCメモリや誤り検出機能をロジック上で実装するといった対応が求められる