Row hammer mitigation
Row hammer is mitigated by issuing, to a memory device, mitigation operation (MOP) commands in order to cause the refresh of rows at a specified vicinity of a suspected aggressor row. These mitigation operation commands are each associated with respective row addresses that indicate the suspected aggressor row and an indicator of which neighbor row in the vicinity of the suspected aggressor row is to be refreshed. The mitigation operation commands are issued in response to a fixed number of activate commands. The suspected aggressor row is selected by randomly choosing, with equal probability, one of the N previous activate commands to supply its associated row address as the suspected aggressor row address. The neighbor row may be selected randomly with a probability that diminishes inversely with the distance between the suspected aggressor row and the neighbor row.
1 . A memory controller, comprising:
a command interface to transmit, to an external memory device, row activate (ACT) commands, mitigation operation (MOP) commands in association with external mitigation operation row addresses and mitigation operation objective indicators; and
control circuitry to select mitigation operation row addresses and associated mitigation operation objective indicators that are to be transmitted via the command interface, wherein rows to be refreshed by the memory device in response to the MOP commands are to be based on the mitigation operation row addresses and associated mitigation operation objective indicators.
2 . The memory controller of claim 1 , wherein the control circuitry determines a first number of row activate commands to be transmitted between a first mitigation operation command and a second mitigation operation command.
3 . The memory controller of claim 2 , wherein the first mitigation operation command is associated with a first external mitigation operation row address and a first mitigation operation objective indicator, and the second mitigation operation command is associated with a second external mitigation operation row address and a second mitigation operation objective indicator.
4 . The memory controller of claim 3 , wherein the control circuitry is to select a first row address from a first plurality of row addresses transmitted in association with a first plurality of row activate commands transmitted by the memory controller between the first mitigation operation command and the second mitigation operation command and is to select a first mitigation operation row address based on the first row address.
5 . The memory controller of claim 4 , wherein the control circuitry is to select a first mitigation operation objective indicator.
6 . The memory controller of claim 5 , wherein an average frequency of selection of the first mitigation operation objective indicator is based on the first number.
7 . The memory controller of claim 6 , wherein the selection of the first mitigation operation objective indicator is based at least in part on a value having random properties.
8 . A memory controller, comprising:
a command interface to transmit, to an external memory device, a first number of row activate (ACT) commands between a first pair of consecutive mitigation operation (MOP) commands, the first pair of consecutive MOP commands consisting of a first MOP command and a second MOP command, the first MOP command to be transmitted in association with a first external MOP row address and a first MOP objective indicator, the second MOP command to be transmitted in association with a second external MOP row address and a second MOP objective indicator; and
control circuitry to select the first external MOP row address, the first MOP objective indicator, the second external MOP row address, and the second MOP objective indicator.
9 . The memory controller of claim 8 , further comprising:
circuitry to configure the first number.
10 . The memory controller of claim 8 , wherein the control circuitry selects a third external MOP row address based on a row address associated with at least one of the first number of ACT commands.
11 . The memory controller of claim 10 , wherein the third external MOP row address is used as the second external MOP row address.
12 . The memory controller of claim 11 , wherein the control circuitry randomly selects the third external MOP row address from row addresses associated the first number of ACT commands.
13 . The memory controller of claim 8 , wherein the first number is equal to N and the control circuitry selects, on average, a first value for the second MOP objective indicator with a first probability of (N−1)/N and on average, selects a second value for the second MOP objective indicator with a second probability of 1/N.
14 . The memory controller of claim 8 , wherein the first number is equal to N and the control circuitry selects over a course of transmitting N number of mitigation operation commands, a first value for the second MOP objective indicator (N−1) times and selects a second value for the second MOP objective indicator one time.
15 . The memory controller of claim 13 , wherein the first value is to instruct the memory device to refresh rows immediately adjacent to rows addressed by respective external MOP row addresses, and the second value is to instruct the memory device to refresh rows not immediately adjacent to rows addressed by respective external MOP row addresses.
16 . A method of operating an external memory device, comprising:
selecting a first external mitigation operation (MOP) row address and a first MOP objective indicator;
selecting a second external MOP row address and a second MOP objective indicator; and
transmitting, to the external memory device, a first number of row activate (ACT) commands between a first MOP command and a second MOP command that are consecutively transmitted MOP commands, the first MOP command transmitted in association with the first external MOP row address and the first MOP objective indicator, the second MOP command transmitted in association with the second external MOP row address and the second MOP objective indicator.
17 . The method of claim 16 , further comprising:
selecting a third external MOP row address based on a row address associated with at least one of the first number of ACT commands.
18 . The method of claim 17 , wherein the third external MOP row address is randomly selected from row addresses associated the first number of ACT commands.
19 . The method of claim 16 , wherein the first number is equal to N and, on average, a first value is selected for the second MOP objective indicator with a first probability of (N−1)/N and on average, a second value is selected for the second MOP objective indicator with a second probability of 1/N.
20 . The method of claim 16 , wherein the first number is equal to N and over a plurality of courses of transmitting N number of mitigation operation commands, a first value for the second MOP objective indicator is selected (N−1) times and a second value for the second MOP objective indicator is selected one time.