6814925 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

ふるた技工所(てっこうしょ)

ふるた技工所(てっこうしょ)

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

キーワードサーチ

▼キーワード検索

プロフィール

Aちゃん22

Aちゃん22

フリーページ

2025.03.28
XML
カテゴリ:ソフト開発日誌
今更ながら DDR3 DIMM を使っているマザーボードで PassMark Memtest86 によるテストをしていた。黄色で PASS と表示された。



テスト途中の経過表示も "[Note] RAM may be vulnerable to high frequency row hammer bit flips" と留意事項が表示されている。



「隣接行線叩きテストにてビット反転」が発生するということか。row hammer bit flips について PassMark は解説記事を用意してある
  • Do nothing (気にするな、見なかったことに)
  • Replace the RAM modules (メモリモジュールを窓から投げ捨てて、交換しろ)
  • Use RAM modules with error-checking capabilities (eg. ECC) (ECC 付きのメモリを使え)
といった対応を示している。

文書を読むと "Errors occur when the repeated access causes charge loss in a memory cell, before the cell contents can be refreshed at the next DRAM refresh interval." と有り、Refresh Timming を調整すれば解消する可能性を示唆している。記憶セルの残留電荷量が識別できないほどに減ったときに隣接行線を叩く(正確な言い方をすれば、隣接行線で read/write cycle 信号操作をする)と発生する問題だ。隣接行線から(へ)電荷が漏れる。

Refresh Timming を調整する。BIOS (今時は UEFI) Setup を行う。狙ったタイミングになる様に D-RAM bus 周波数を安全な周波数に固定する。搭載メモリは DDR3-1333 が最も低い仕様だ。これを下回る DDR3-1066 を設定する。



より詳細な DRAM Timing を設定する。



DRAM REF Cycle Time をデフォルトの値 x 1.35 程度に増やし、DRAM Refresh Interval をデフォルトの値 x 0.69 程度に減らす。

大昔に TTL で回路を考えていた癖で設定値はなるべく 0 が多めに並ぶ様な値にした。144 は 8 bit 中 6 bit が 0 だ。今時はカウンタ出力に全ビット比較一致可能なコンパレータが付くはずなので、いわゆる「綺麗な」値にしなくても良いはず。



BIOS (UEFI) Setup を保存して、再び PassMark Memtest86 を実行する。修正効果があり、緑色の PASS になった。



メモリバンド幅は 15.6GB/s から 12.8GB/s に減少、スループットは 666MT/s から 532MT/s へ減少、設定した通りに減っている。周波数を下げたのと 1 回の Refresh に使う時間を長くし、Refresh を行う間隔を短くしたためだ。高頻度に隣接行線を叩けなくする効果もある。Refresh Cycle は優先度が高いので CPU が高頻度に叩こうとするのを防ぐ。

メモリを捨てるなんてとんでもない。






お気に入りの記事を「いいね!」で応援しよう

最終更新日  2025.03.30 02:08:02
コメント(0) | コメントを書く


カレンダー

カテゴリ

サイド自由欄

コメント新着

ニューストピックス


© Rakuten Group, Inc.
X