ハードウェアセキュリティの最新動向
2024年に更新されたDDR5の規格(JESD79-5C)に加えられた、PRAC(行ごとの活性化の計数)の考え方として、正しいものはどれか。
- Aメモリコントローラが活性化の回数を数えるのをやめ、DRAMの中のリフレッシュもすべて、外部のコントローラが1行ずつ命令して行う
- BDRAMが行ごとに活性化の回数を数え、しきい値を超えた行があればコントローラに知らせ、隣の行をリフレッシュする時間をもらう
- C決められた回数より多く活性化された行を、DRAMが永久に使えないようにして、製造時に用意した予備の行に置き換える
答えと解説を見る
正解:B. DRAMが行ごとに活性化の回数を数え、しきい値を超えた行があればコントローラに知らせ、隣の行をリフレッシュする時間をもらう
それまでの対策では、DRAMの中のTRRが少数の行だけを追跡したり、DDR5のRFMのように、メモリコントローラがバンクごとの活性化の回数を数えてDRAMに余分な時間を与えたりしていました。PRACでは、DRAMが行ごとにカウンタを持ち、活性化のたびにその行の回数を数えるので、追跡できる行の数の限界による見逃しがなくなります。回数がしきい値を超えると、DRAMはコントローラに知らせてアクセスを一時止めてもらい、狙われた行の周りをリフレッシュします。カウンタを更新するために行を閉じる時間などのタイミングの規定が長くなるとされ、性能とのかね合いがあります。
- A. PRACは行ごとの回数をDRAMの中で数える仕組みで、リフレッシュをすべて外部から命令する仕組みではありません。
- B. 正しい。行ごとに正確に数え、必要なときに対策のための時間を求めます。
- C. 行を使えなくするのではなく、隣の行をリフレッシュして反転を防ぎます。