
PrISM: Una mitigazione probabilistica scalabile di RowHammer (ISCA 2026). Codice sorgente di Ramulator2 e script di valutazione.
In pubblicazione al 53° International Symposium on Computer Architecture (ISCA), 2026.
Jeonghyun Woo1*, Junsu Kim1*, Aamer Jaleel2, Prashant J. Nair1
1 University of British Columbia 2 NVIDIA * Contributo paritario
Il ridimensionamento della DRAM ha aggravato la vulnerabilità RowHammer. Per contrastarla, JEDEC ha recentemente introdotto il Per Row Activation Counting (PRAC) con il protocollo Alert Back-Off come funzionalità opzionale DDR5. Sebbene promettente, PRAC richiede celle contatrici per riga che comportano overhead di area, e il loro aggiornamento a ogni attivazione allunga i parametri temporali della DRAM, degradando le prestazioni. Le mitigazioni probabilistiche come MINT offrono un'alternativa a costo inferiore selezionando e mitigando casualmente le righe all'interno di finestre di mitigazione periodiche. MINT è efficace a soglie più alte (≥ 1000), ma a soglie più basse deve aumentare il proprio tasso di mitigazione per superare il problema della non-selezione, in cui righe pesantemente martellate possono sfuggire ripetutamente al campionamento. Questo aumento a tasso fisso riduce la larghezza di banda effettiva della memoria anche quando non è presente alcun attacco.
Per superare questa limitazione, proponiamo PrISM, una mitigazione probabilistica basata sull'intersezione che correla le righe campionate tra finestre diverse tramite una Sampled History Queue (SHQ). PrISM campiona pochi slot di attivazione per finestra, memorizza le righe campionate ma non mitigate nella SHQ e richiede una mitigazione aggiuntiva tramite il protocollo Alert Back-Off esistente quando una riga campionata riappare in questa cronologia. Ciò consente a PrISM di aumentare la mitigazione solo quando si osserva un'attività persistente della riga, senza aumentare globalmente il tasso di mitigazione fisso. Alla soglia di 500, PrISM comporta un rallentamento medio trascurabile dello 0,2% rispetto al 14% di PRAC, senza modifiche all'array DRAM né contatori per riga e con solo 625B di SRAM per banco — uno o due ordini di grandezza in meno rispetto alle precedenti difese sicure in-DRAM basate su contatori. Rispetto a MINT, PrISM offre una migliore scalabilità a soglie basse, riducendo il rallentamento medio dal 10,7% all'1,5% a una soglia di 250, una riduzione di 7,1×.
prism/
├── perf_analysis/ # Ramulator2 simulations (Figures 7, 8, 9; Table VI)
├── security_analysis/ # Analytical model + MC validation (Figures 5, 6)
├── LICENSE
└── README.md # This file
Ogni sottodirectory ha il proprio README con istruzioni dettagliate per la riproduzione:
perf_analysis/ — Infrastruttura Ramulator2
per i risultati delle prestazioni. Supporta sia l'esecuzione SLURM sia
quella su singola macchina.security_analysis/ — Modello analitico
in puro Python e validazione Monte-Carlo per le affermazioni di sicurezza.Clonare il repository e scegliere una sottodirectory:
git clone https://github.com/STAR-Laboratory/prism.git
cd prism
Per riprodurre i risultati di prestazione (Figure 7, 8, 9; Tabella VI):
cd perf_analysis
./run_artifact.sh --method slurm --artifact all # or --method personal
Per riprodurre l'analisi di sicurezza (Figure 5, 6):
cd security_analysis
python3 prism_circular_security_analysis.py figure8 --w 72 \
--output-dir ./results --mc-windows 1000000 --mc-seeds 5
python3 plot_scripts/plot_figure5.py
Vedere i README delle sottodirectory per tutti i dettagli.
@inproceedings{prism_isca2026,
title = {Loaded Dice: Solving the Non-Selection Problem for Scalable Probabilistic RowHammer Defense},
author = {Jeonghyun Woo and Junsu Kim and Aamer Jaleel and Prashant J. Nair},
booktitle = {53rd Annual International Symposium on Computer Architecture (ISCA)},
year = {2026},
series = {ISCA'26},
}
Questo repository è rilasciato sotto la Licenza MIT.