Patent EP-4138078-A1 (EP)
Title: A method for protecting a dram module against rowhammer attacks, and a dram module
Inventor: RAZAVI KAVEH
IPC: G11C11/401
Filed: 2021-08-18
Abstract: The invention relates to a method for protecting a DRAM module (1) against a Rowhammer attack during operation of the DRAM module (1). The DRAM module (1) comprises at least one rank (2), wherein each rank of the at least one rank (2) comprises at least one bank (3), and wherein each bank of the at least one bank (3) comprises a matrix of cells (4) having a plurality of matrix rows, wherein each cell of the matrix of cells (4) is configured to store information in a state of a capacitor comprised by said cell, and wherein each matrix row of the plurality of matrix rows comprises a row address through which the matrix row is addressable. The method uses (a) a summary table (5) having at most N entries, wherein each entry of the at most N entries is configured for storing a row address (6) and a corresponding count (7) indicative of a number of access operations carried out on the matrix row corresponding to the stored row address, and a spillover counter (8), (b) a target row refresh (TRR) event (9) to be carried out by the DRAM module (1), (c) a TRR volume V (10) corresponding to a refresh number of matrix rows which are to be refreshed at the TRR event (9), and (d) a last spillover counter refresh time. The method comprises as steps: 1) receiving a victim row address (11) of a victim matrix row susceptible to the Rowhammer attack and an aggressor row address (11) of an aggressor matrix row related to said victim matrix row, 2) determining (13) if said victim row address is stored in the summary table, and determining (13) if said aggressor row address (11) is stored in the summary table, and 3) (i) incrementing (13) the count in the summary table (5) corresponding to the victim row address (11) in case the victim row address is already stored in the summary table (5), and/or pruning (13) the row address and the corresponding count corresponding to the aggressor row address (11) from the summary table (5) in case the aggressor row address is already stored in the summary table (5), or (ii) adding (13) the victim row address (11) to the summary table (5) in case less than N row addresses are stored in the summary table, and setting (13) the corresponding count to the added victim row address to '1', or (iii) incrementing (13) the spillover counter (8) in case the victim row address (11) is not stored in the summary table (5) and in case N row addresses are already stored in the summary table, comparing (13) the count of the incremented spillover counter to the counts in the summary table to identify a potential replacement entry in the summary table with a corresponding replacement count below the count of the incremented spillover counter, and replacing (13) the stored row address of the replacement entry, in case said replacement entry exists, with the victim row address (11) and the corresponding replacement count with the count of the incremented spillover counter, 4) refreshing (12), subsequent to the TRR event (9), V (10) matrix rows of the matrix of cells (4), the refreshed V (10) matrix rows corresponding to the stored row addresses in the summary table (5) with the V highest corresponding counts at the TRR event (9), and pruning (12) the stored row addresses and the corresponding counts corresponding to the V refreshed matrix rows from the summary table (5), determining if the TRR event (9) is temporally removed from the last spillover counter refresh time by a defined time tREFW, and setting the spillover counter (8) to zero and pruning all stored row addresses and the corresponding counts from the summary table (5) in case the TRR event (9) is temporally removed from the last spillover counter refresh time by the defined time tREFW. There is further provided a DRAM module which is secure against Rowhammer attacks.