
PrISM : une atténuation probabiliste et évolutive de RowHammer (ISCA 2026). Code source de Ramulator2 et scripts d'évaluation.
À paraître au 53e Symposium international sur l'architecture des ordinateurs (ISCA), 2026.
Jeonghyun Woo1*, Junsu Kim1*, Aamer Jaleel2, Prashant J. Nair1
1 Université de la Colombie-Britannique 2 NVIDIA * Contribution égale
La réduction d'échelle de la DRAM a exacerbé la vulnérabilité RowHammer. Pour y remédier, JEDEC a récemment introduit le Per Row Activation Counting (PRAC) avec le protocole Alert Back-Off en tant que fonctionnalité optionnelle de la DDR5. Bien que prometteur, le PRAC nécessite des cellules de compteur par ligne qui entraînent un surcoût de surface, et leur mise à jour à chaque activation allonge les paramètres de temporisation de la DRAM, ce qui dégrade les performances. Les mitigations probabilistes telles que MINT offrent une alternative moins coûteuse en sélectionnant et en mitigeant aléatoirement des lignes au sein de fenêtres de mitigation périodiques. MINT est efficace pour des seuils élevés (≥ 1000), mais pour des seuils plus bas, il doit augmenter son taux de mitigation pour surmonter le problème de non-sélection, où des lignes fortement martelées peuvent échapper de manière répétée à l'échantillonnage. Cette augmentation à taux fixe réduit la bande passante mémoire effective même en l'absence d'attaque.
Pour surmonter cette limitation, nous proposons PrISM, une mitigation probabiliste basée sur l'intersection qui corrèle les lignes échantillonnées entre les fenêtres à l'aide d'une file d'historique des échantillons (Sampled History Queue, SHQ). PrISM échantillonne quelques créneaux d'activation par fenêtre, stocke les lignes échantillonnées mais non mitiguées dans la SHQ et demande une mitigation supplémentaire via le protocole Alert Back-Off existant lorsqu'une ligne échantillonnée réapparaît dans cet historique. Cela permet à PrISM d'augmenter la mitigation uniquement lorsqu'une activité persistante sur une ligne est observée, sans augmenter globalement le taux de mitigation fixe. Au seuil de 500, PrISM n'entraîne qu'un ralentissement moyen négligeable de 0,2 % contre 14 % pour le PRAC, sans modification de la matrice DRAM ni compteurs par ligne, et avec seulement 625B de SRAM par banque — soit un à deux ordres de grandeur de moins que les défenses sécurisées antérieures dans la DRAM à base de compteurs. Comparé à MINT, PrISM offre une meilleure évolutivité aux seuils faibles, réduisant le ralentissement moyen de 10,7 % à 1,5 % au seuil de 250, soit une réduction de 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
Chaque sous-répertoire possède son propre README avec des instructions détaillées de reproduction :
perf_analysis/ — Infrastructure Ramulator2 pour les résultats de performance. Prend en charge l'exécution via SLURM ainsi que sur une machine unique.security_analysis/ — Modèle analytique en Python pur et validation Monte-Carlo pour les affirmations de sécurité.Clonez le dépôt et choisissez un sous-répertoire :
git clone https://github.com/STAR-Laboratory/prism.git
cd prism
Pour reproduire les résultats de performance (figures 7, 8, 9 ; tableau VI) :
cd perf_analysis
./run_artifact.sh --method slurm --artifact all # or --method personal
Pour reproduire l'analyse de sécurité (figures 5 et 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
Consultez les README des sous-répertoires pour tous les détails.
@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},
}
Ce dépôt est publié sous la licence MIT.