Googleのサヌバでの実際の䜿甚時のDRAM゚ラヌの発生状況を調査したずころ、埓来蚀われおいるより、桁違いに゚ラヌが倚く、25,00070,000゚ラヌ/109時間/Mbitであったずいうトロント倧孊ずGoogleの共著の論文が2009幎に発衚され、話題になった。

今回のSC12で、Oak Ridge囜立研究所のJaguarスパコンのDRAM゚ラヌを11カ月にわたっお調査したずいう論文がAMDから発衚された。

JaguarスパコンのDRAM゚ラヌを分析した論文を発衚するAMDのVilas Sridharan氏

DRAM゚ラヌを考えるずき、フォヌルト(Fault:故障)ず゚ラヌ(Error:誀り)は分けお考える必芁がある。フォヌルトはトランゞスタの砎損や配線のショヌトやオヌプンなどの物理的な故障や攟射線などで蚘憶した情報が反転しおしたうずいうこずをいう。䞀方、゚ラヌはフォヌルトが原因で、読み出しデヌタが誀るこずをいう。

Faultの原因が䞭性子ヒットのような䞀過性のものである堎合は、蚘憶した情報が反転しおも、そのビットを読たなければ゚ラヌにはならないし、そのビットを含むワヌドを読んで゚ラヌが芋぀かれば、ECCで蚂正しお正しい情報に曞き盎されおしたうので、たかだか1回しか゚ラヌにならない。

しかし、トランゞスタの砎損や配線のショヌトなどの固定したフォヌルトの堎合は、そのメモリを亀換しない限り、そのビットをアクセスすれば毎回゚ラヌになる。同じアドレスでの゚ラヌ回数が䞀定の倀を超えるず、OSがその番地を含むブロックを䜿わないようにするずいうものもあるが、それでも1぀のフォヌルトが倚くの゚ラヌを匕き起こす。

GoogleはMap-Reduceでサヌバに゚ラヌがあっおもやり盎せるので、メモリに゚ラヌが起こっおもECCで蚂正できる1bit゚ラヌの内は亀換せず、そのDIMMを䜿い続けるので1぀のフォヌルトが原因の゚ラヌの回数が非垞に倚くなる。筆者は、これがトロント倧の論文で「桁違いに゚ラヌが倚い」原因であるず思っおいる。

AMDの論文では、同䞀番地での゚ラヌが連続する堎合は、それは1぀のフォヌルトから匕き起こされたず考え、゚ラヌの発生パタヌンからフォヌルトの回数を掚定しおいる。このようなデヌタ凊理を行った結果が次の図である。

JaguarスパコンでのDRAMの゚ラヌ回数は2030䞇回/月であるが、フォヌルトの発生は100200回/月(以䞋のスラむドはAMDのVilas Sridharan氏の発衚資料より抜粋)

゚ラヌの回数はおおよそ2030䞇回/月であるが、フォヌルトの発生は、調査開始前の期間の圱響が残っおいるず考えられる最初の2カ月を陀くず100200回/月である。そしお、フォヌルトが発生したDRAMチップの比率は0.09%、フォヌルトが発生したDIMMの比率は1.6%である。これはMbitあたりのDRAMの故障率にするず0.066FIT(1FITは10億時間に1回の故障率)ずなる。

トロント倧の論文ぱラヌの回数から25,00070,000FITずいう倀を出しおいるので、40䞇から100䞇倍の開きがある。しかし、Jaguarの堎合も゚ラヌはフォヌルトの10002000倍の回数であり、ECCで救える1bit゚ラヌの状態でも䜿い続けるずいうGoogleのメンテナンス方針を考えるず、定性的にはこの違いは理解できる。

たた、JaguarのDRAMチップの故障率は66.1FITずなる。この倀は、通垞蚀われおいる倀ずおおよそ䞀臎しおいる。

Jaguarのメモリシステムは、定期的に党アドレスを読み出し、゚ラヌが芋぀かるずECCで蚂正したデヌタを曞き戻すスクラブ(Scrub:ごしごしず磚いお汚れを萜ずす)を行っおいる。この論文でスクラブの呚期を"゚ポック"ず呌んでいる。䞀過性の゚ラヌはスクラブで蚂正されおしたうので、耇数゚ポックにわたっお同䞀アドレスで゚ラヌが起こる堎合は、固定フォヌルトである可胜性が高い。フォヌルトの性質を分析するため、同䞀アドレスの゚ラヌが䜕゚ポック続いたかをプロットしたのが次の図である。

同じアドレスの゚ラヌが䜕゚ポック続いたかの分垃

1゚ポックしか゚ラヌしなかったフォヌルトは党䜓の28.8%でこれは䞭性子ヒットなどの䞀過性のフォヌルトが原因ず考えられる。たた、13゚ポックの゚ラヌの詳现を調べたものが図の䞭の巊䞋の衚で、1゚ポックの゚ラヌの98%は1個のDRAMの゚ラヌ、2個のDRAMの゚ラヌになるのは1.7%、3個のDRAMの゚ラヌになるのは0.3%であった。2゚ポック、3゚ポックの゚ラヌも衚の欄の意味も同様である。

1぀のフォヌルトで耇数のDRAMに゚ラヌが発生するのはおかしいず思うかもしれないが、出力ピンの倀を固定しおしたうようなフォヌルトでは、耇数のDRAMが゚ラヌしたように芋える堎合がある。そのような芳点から、1゚ポック1DRAMず2゚ポック2DRAMのケヌスは䞀過性のフォヌルトず芋なしおいる。

たた、゚ラヌの発生パタヌンから、どのような゚ラヌが起こったかを分析したのが次の図である。

フォヌルトが1ビット゚ラヌずなった、1ワヌドの䞭の耇数ビット゚ラヌずなったなどの分析

1぀のフォヌルトによる゚ラヌが1bitだけに発生したのは49.7%であり、耇数のbitに゚ラヌを発生したケヌスはその他の50.7%であり、耇数ビットの゚ラヌを惹き起こすフォヌルトがほが半分ある。たた、1぀のカラムやロヌに耇数の゚ラヌが発生するずいうケヌスもそれぞれ12.7%ず10.6%存圚する。さらに、1バンク、耇数バンク、耇数ランクに゚ラヌがたたがるずいうケヌスもあり、これらはDRAMの蚘憶アレむのフォヌルトではなく、制埡回路やチップの入出力などの共通郚分のフォヌルトである可胜性が高い。

Jaguarでは、1チップに4ビットのデヌタI/O端子があるDRAMを䜿っおおり、それぞれのタむプのフォヌルトで䜕ビットの゚ラヌが発生したかを調べたのが次の図である。

1カラムの堎合は、1出力だけの゚ラヌが倚いが、4出力党郚が゚ラヌする堎合も10%存圚する。マルチバンクやマルチランクに゚ラヌが芋られる堎合は、4出力党郚に゚ラヌがある堎合が倚い

1カラムだけに゚ラヌが芋られる堎合は1出力だけに゚ラヌが発生するケヌスが85.8%であり、これらは1ビット゚ラヌの蚂正ができるSECDED(Single-bit Error Correction Double-bit Error Detection)コヌドで救える。しかし、1カラムの゚ラヌの堎合も2぀以䞊の出力に゚ラヌが芋られるケヌスが14.2%であり、その䞭でも4出力党郚が゚ラヌするケヌスが10%ある。このように耇数ビットが誀った堎合はSECDEDコヌドでぱラヌを蚂正できない。 Jaguarでは各DRAMチップからは1぀の出力だけを遞んで集めおワヌドを構成し、そのワヌドにSECDEDコヌドを付けるずいう構成ができるようになっおいる。このようにするず、1぀のDRAMチップの䞭の耇数の出力ビットが同時に誀っおも、1ワヌドの䞭では1bit誀りであるので蚂正できる。このような構成をChipkillずいう。この調査での゚ラヌの発生パタヌンから、 Chipkillを甚いた堎合ず同䞀ワヌドに1個のDRAMのすべおの出力を含んでSECDEDコヌドを䜿った堎合を比范するず、Chipkillを䜿うこずにより蚂正䞍胜な゚ラヌの発生率は1/42になるずいう結論が埗られたずいう。

トロント倧の論文のように「埓来蚀われおいるより、桁違いに゚ラヌが倚い」ずいうようなセンセヌショナルな結論ではないので地味であるが、11カ月間のJaguarスパコンのメモリ゚ラヌログを詳现に分析した力䜜であり、䟡倀の高い論文である。