ロウハンマー
ロウハンマー (row hammer, rowhammer) は、ダイナミックRAM (DRAM) に起きる意図的でない副作用で、複数のメモリセルから電荷が漏れ出し、メモリセル間で電気的な相互作用が起きるために、元のメモリアドレスで指定されていない近くの行の内容が変化する可能性があるという現象(行間干渉)である。このようなメモリセル間の分離の回避は近年のDRAMのメモリセルの密度の高さに起因しており、同じ行を何回もすばやく有効にするよう特別に細工されたメモリアクセスパターン(英語版)によって引き起こされることがある 。
ロウハンマーはコンピュータ・セキュリティで権限昇格(英語版)に悪用(→エクスプロイト)されており 、 攻撃者と被害者が高速ネットワークで接続されている場合にはネットワークベースの攻撃も理論的には可能である 。
ロウハンマーを防ぐいくつかの異なるハードウェアベースの技法が存在する。これにはDRAM メモリモジュール(英語版)のタイプとプロセッサによるサポートを必要とするものが含まれる。 ロウハンマーはDDRやDDR2 SDRAMモジュールではほとんど、または全く影響しないが、多くのDDR3やDDR4 SDRAMモジュールには影響を及ぼす。
その際に読み出しの動作はメモリセルの内容を破壊してしまう性質を持つ。そこでDRAM の設計ではメモリセルの電荷を行バッファに移して読み出した値をその後に再びメモリセルに書き戻す動作をする。書き込み動作でも同様にしてアドレスを解釈するが、1ビットの変更であっても行全体を再書き込みする構造になっている 。
自然放電するキャパシタを用いてデータを保持するため、DRAMのメモリセルは時間とともにデータを失っていくので、周期的にすべてのメモリセルを書き込み直す必要がある。これはメモリリフレッシュ動作(リフレッシュ)と呼ばれている。 DRAMの構造上、宇宙線その他の影響を受けて保持したデータがランダムに変化するソフトエラー(英語版)と言う誤動作が起きやすい。 誤動作対策にはいくつかの技法があり、DRAMの信頼性を向上させている。よく使われるものにはECCメモリやその改良版(ロックステップメモリ(英語版)など)がある 。