Apparatuses, systems, and methods for memory directed access pause

Information

  • Patent Grant
  • 11309010
  • Patent Number
    11,309,010
  • Date Filed
    Friday, August 14, 2020
    4 years ago
  • Date Issued
    Tuesday, April 19, 2022
    2 years ago
Abstract
Apparatuses, systems, and methods for a memory-directed access pause. A controller may perform access operations on a memory by providing commands and addresses. The memory may monitor the addresses to determine if one or more forms of attack (deliberate or inadvertent) is occurring. If an attack is detected, the memory may issue an alert signal (e.g., along an alert bus) and also provide pause data (e.g., along a data bus). The pause data may specify a length of time, and responsive to the alert and the pause data, the controller may suspend access operations on the memory for the length of time specified in the pause data. The memory may use the time when access operations are paused to refresh itself, for example to heal the damage caused by the attack).
Description
BACKGROUND

Semiconductor devices may include a controller and a memory. The controller may operate the memory, for example by providing commands to the memory and sending and receiving data to and from the memory. The memory may be a volatile memory in which the information stored therein may decay over time. The memory may carry out a self-refresh operation to restore the information before it can decay. Certain patterns of commands sent by the controller may increase the rate at which information decays in the memory. The memory may track access patterns, for example, by tracking commands and/or addresses,





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram of a memory system according to some embodiments of the present disclosure.



FIG. 2 is a block diagram of an apparatus according to an embodiment of the disclosure.



FIG. 3 is a block diagram of a refresh control circuit according to some embodiments of the present disclosure.



FIG. 4 is a block diagram of an attack detector circuit according to some embodiments of the present disclosure.



FIG. 5 is a flow chart of a method of detecting attacks and pausing operations according to some embodiments of the present disclosure.





DETAILED DESCRIPTION

The following description of certain embodiments is merely exemplary in nature and is in no way intended to limit the scope of the disclosure or its applications or uses. In the following detailed description of embodiments of the present systems and methods, reference is made to the accompanying drawings which form a part hereof, and which are shown by way of illustration specific embodiments in which the described systems and methods may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice presently disclosed systems and methods, and it is to be understood that other embodiments may be utilized and that structural and logical changes may be made without departing from the spirit and scope of the disclosure. Moreover, for the purpose of clarity, detailed descriptions of certain features will not be discussed when they would be apparent to those with skill in the art so as not to obscure the description of embodiments of the disclosure. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the disclosure is defined only by the appended claims.


A memory may be operated by a controller, which may provide various signals to the memory. For example, the controller may perform a read command by provide a read command and addresses along a command/address (CA) bus. The addresses may specify where in the memory array of the memory that the data should be read from. The memory may provide the data from the specified location along a data (DQ) bus. The controller may perform a write operation by providing a write command and addresses along the CA bus, and may receive the read information along the DQ bus.


The memory may store information in memory cells of the memory array, which may be arranged at the intersection of word lines (rows) and bit lines (columns or digit lines). Accordingly, row and column addresses may be used by the controller to specify the location of one or more memory cells. The memory array may be volatile, and the information in the memory cells may decay over time. The memory may refresh information (e.g., on a row-by-row basis) to restore the information before it can decay beyond the point of recovery. Certain patterns of access may increase the rate at which the information decays. For example, repeated access to a given row (an aggressor row) may increase the rate at which information decays in neighboring rows (victim rows). Such a pattern may be referred to as a row hammer. The memory may track accesses in order to identify aggressor rows, such that their victims may be refreshed.


In some circumstances, the controller may inadvertently access the memory in a manner which causes an increased rate of information decay in some cells. In some circumstances, a malicious actor may deliberately attack the memory by instructing the controller to behave in a manner which causes increased rate of data decay, for example as part of an effort to manipulate the data stored in the memory. For brevity, both types of access patters (deliberate and inadvertent) may be referred to as an attack. In these and other circumstances, it may be useful to frustrate the attack by preventing the controller from providing further instructions for a period of time.


The present disclosure is drawn to apparatuses, systems, and methods for a memory directed access pause. During operations, the controller may provide commands and addresses along the CA bus. The memory may monitor the addresses to determine if one or more forms of attack are occurring. If the memory determines an attack is occurring, the memory may provide an alert signal (e.g., along an alert bus) to notify the controller that an attack is occurring. The memory may also provide pause data (e.g., along the DQ bus) which indicates how long the memory would like to be offline for. The controller may suspend access operations to the memory (e.g., by not providing commands and addresses) for a period of time specified by the pause data. The pause may allow the memory to perform refresh operations. The pause may also slow down the rate at which attacks can occur, which may frustrate attackers in situations where the attack is deliberate.



FIG. 1 is a block diagram of a memory system according to some embodiments of the present disclosure. The system 100 includes a controller 102 which may be coupled to one or more memories 110. For example, multiple memories 110 may be packaged together as part of a memory stack. The memories 110 may be coupled to the controller 102 along various buses, each of which may include one or more conductive lines which couple ‘pins’ of the memories 110 to pins of the controller 102. In some embodiments, the buses may be coupled in common to each of the memories 110. Since the memories 110 may generally be similar to each other, some features and operations may be described with respect to a single memory 110, however these features and operations should be understood to apply to each of the memories 110.


Information may be provided along the buses as voltages. For example, different voltages received at the pins of the controller 102 and memories 110 may represent different logical levels. The buses may use a mix of serial and parallel transmission to convey information. For example, the data bus may include sixteen conductive elements coupled to sixteen pins, each of which may convey eight bits as part of a serial burst information (e.g., for 128 total bits). Other formats of carrying information may be used in other examples.


The controller 102 is coupled to the memories 110 along a command/address bus CA, which carries both commands and addresses from the controller 102 to one or more of the memories 110. The controller 102 is also coupled to the memories 110 along a data bus DQ, which carries data information between the controller 102 and memories 110. For example, the controller 102 may provide a read command along the CA bus, along with one or more addresses, such as a row address, column address, and/or bank address. The addresses may also specify one or more of the memories 110 to activate. Responsive to the read command, the memory may retrieve the information stored in the memory cells specified by the addresses and provide that read information along the DQ bus back to the controller 102.


As part of an example write operation, the controller 102 may provide a write command along the CA bus along with addresses (which may specify one or more of the memories 110). The controller 102 may also provide write data along the DQ bus. The memory may store the write data from the DQ bus into one or more memory cells specified by the addresses. In some example operations, data may be read from (or written to) multiple memories 110 at once. In some example operation, data may be read from (or written to) selected ones of the memories 110.


Each of the memories 110 may include a refresh control circuit 112 which manages refresh operations in the memory. In some embodiments, there may be a refresh control circuit 112 for each bank of the memory. Other organizations of refresh control circuits 112 for different portions of the memory 110 are possible in other embodiments. During normal operations memory may be entered into a refresh mode (e.g., based on logic internal to the memory 110, signals from the controller 102, and combinations thereof). During the refresh mode the refresh control circuit 112 may refresh word lines of the memory to restore information before it can decay. For example, as part of auto-refresh operations the refresh control circuit 112 may generate refresh addresses based on a sequence of addresses. Over time the auto-refresh operations may cycle through all of the word lines of the memory at a rate high enough to prevent information loss.


The refresh control circuit 112 may also target particular word lines for refreshing as part of targeted refresh operations. For example, the refresh control circuit 112 may identify aggressor rows of the memory so that the victim rows associated with the identified aggressors may be refreshed as part of targeted refresh operations. It should be understood that the refresh control circuit 112 may use some criteria to identify aggressors, and that it is not necessary for the identified aggressors to have actually caused increased rates of data decay or for the identified victim rows to actually undergo increased rates of data decay.


The refresh control circuit 112 may include an aggressor detector circuit 114, which may detect aggressor rows based on various criteria. For example, the aggressor detector 114 may count accesses to various row addresses provided along the CA bus. If a given address is accessed a certain number of times (e.g., its access count crosses a threshold) then that address may be identified as an aggressor. The aggressor detector 114 may include various monitoring circuits (e.g., counters, registers, etc.) as well as a refresh queue, which stores identified aggressors until their respective victims can be refreshed.


During an attack on one or more memories 110, word lines which require refreshing may accumulate faster than the memory can refresh them as part of normal refresh operations. To prevent the victims of the excess aggressors from going unrefreshed, the refresh control circuit 110 may include an attack detector 116 which detects one or more types of attack pattern. An example attack pattern may include hammering different rows such that there are too many aggressor rows for the refresh queue to store. Such an attack pattern may be referred to as a queue overflow attack. An example attack may include accessing many rows such that each row is accessed a number of times (or at a rate) just below the threshold at which they would be judged to be aggressors, and then accessing them again rapidly such that a large number of rows are suddenly judged to be aggressors. Such an attack pattern may be referred to as a waterfall attack. The attack detector 116 may use various criteria to identify one or more attack patterns. An example attack detector is described in more detail in FIG. 3.


When the attack detector 116 indicates that one or more attacks is underway, it may signal alert logic 118 of the refresh control circuit 112. The alert logic 118 may signal the controller 102 that the memory 110 (or portion of the memory) is under attack, and provide pause data which indicates how long the controller 102 should suspend access operations on the memory 110 (or portion of the memory). The refresh control circuit 112 may include a pause calculator circuit 119, which may generate the pause data. The pause data may indicate how long the memory 110 wants access operations to be suspended for. The length of time specified in the pause data may depend, in part, on what type of attack was detected by the attack detector 116. For example, the pause data may specify a longer time in response to a detected waterfall attack than it does in response to a refresh queue overflow attack. The pause calculator circuit 119 may receive signals from the attack detector 116 which indicate which type of attack is occurring, and may generate the pause data accordingly. In some embodiments, the pause calculator circuit 119 may also take into account additional factors (e.g., how many attacks have occurred within a given time span) when determining the length of time to specify in the pause data.


The alert signal may be provided along an alert bus, which may be shared by multiple memories. For example, the memories 110 may be coupled to the controller 102 in common by the alert bus. In some embodiments, the alert bus may be a single alert pin, coupled in common to each of the memories 110. Accordingly, the alert signal may be a single binary signal which is either active or inactive. The memory 110 which detected an attack may provide the alert signal at an active level along the alert bus, and may provide identification information so the controller 102 knows which memory is under attack. For example, the memory 110 may use the data bus inversion (DBI) to identify which memory is under attack. Each memory may have a DBI pin associated with that memory. If the memory provides a active signal along its associated DBI pin, the controller may use which of the DBI pins is carrying an active signal to determine which of the memories is requesting a pause in operations.


The controller 102 may include pause logic 104 which may be used to suspend operations to one or more memories (and/or memory portions) responsive to a detected attack. For example, the pause logic 104 may receive the alert signal (and the identification information) which indicates that one of the memories is undergoing an attack. In some embodiments, the alert signal may provide limited information (e.g., in embodiments where it is a single bit, it will not indicate what kind of problem caused the alert). The controller 102 may query the memories 110 for more information, for example by performing a read operation to retrieve information from the memories 110 about the cause of the alert. The pause logic 104 may also cause the controller 102 to query the memories 110 in order to retrieve the pause data. For example the controller 102 may perform a read operation to retrieve the pause data along the DQ bus. In some embodiments, the controller 102 queries may be combined, and the controller 102 may read the pause data as part of asking about whether an attack is occurring.


The pause logic 104 may use the pause data to determine how long to suspend operations to the memory (or portion of the memory). For example the pause data may specify a length of time (e.g., in clock cycles). The pause logic 104 may provide internal signals to the controller 104 which instruct it to not send access commands to the specified memory for at least that length of time. The controller 102 may also have internal logic which may save a state of operations to the memory which is being paused. For example, the controller 102 may save the most recent commands sent to the paused memory, as well as any additional commands which would have been sent during the pause in a queue to provide once the pause has elapsed.


In some embodiments, the memories 110 may take no actions during the pause. In some embodiments, the memories 110 which are paused may enter a self-refresh mode to ‘heal’ the attack by performing refresh operations. For example, in the case of a refresh queue overflow attack, all of the victims of the aggressors stored in the refresh queue may be refreshed to empty the queue. In the case of a waterfall attack, the memory may refresh the victims of all wordlines which are close to being detected as aggressors. In some embodiments, the memory may perform other refresh patterns, such as refreshing all wordlines. The length of time specified in the pause data may be based in part, on how long the memory anticipates taking to perform these refresh operations.



FIG. 2 is a block diagram of an apparatus according to an embodiment of the disclosure. The apparatus may be a semiconductor device 200, and will be referred to as such. The device 200 may be included in the memory 120 of FIG. 1. In some embodiments, the semiconductor device 200 may include, without limitation, a DRAM device.


The semiconductor device 200 includes a memory array 228. The memory array 228 is shown as including a plurality of memory banks. In the embodiment of FIG. 2, the memory array 228 is shown as including eight memory banks BANK0-BANK7. Each memory bank includes a plurality of word lines WL, a plurality of bit lines BL and /BL, and a plurality of memory cells MC arranged at intersections of the plurality of word lines WL and the plurality of bit lines BL and /BL. The selection of the word line WL is performed by a row decoder 224 and the selection of the bit lines BL and /BL is performed by a column decoder 226. In the embodiment of FIG. 2, the row decoder 224 includes a respective row decoder for each memory bank and the column decoder 226 includes a respective column decoder for each memory bank. The bit lines BL and /BL are coupled to a respective sense amplifier (SAMP). Read data from the bit line BL or /BL is amplified by the sense amplifier SAMP, and transferred to read/write amplifiers 230 over complementary local data lines (LIOT/B), transfer gate (TG), and complementary main data lines (MIOT/B). Conversely, write data outputted from the read/write amplifiers 230 is transferred to the sense amplifier SAMP over the complementary main data lines MIOT/B, the transfer gate TG, and the complementary local data lines LIOT/B, and written in the memory cell MC coupled to the bit line BL or /BL.


The semiconductor device 200 may employ a plurality of external terminals that include command and address (CA) terminals coupled to a command and address bus (e.g., 110 of FIG. 1) to receive commands and addresses, and clock terminals to receive clock signals CK_t and CK_c, and data clock signals WCK_t and WCK_c, and to provide access data clock signals RDQS_t and RDQS_c, data terminals DQ and DM, alert terminal ALERT to send/receive an alert signal, and power supply terminals to receive power supply potentials VDD, VSS, VDDQ, and VSSQ. The various terminals of the device 200 may generally be referred to as ‘pins’ and may be coupled to conductive elements which carry the signals to the pins. For example, there may be a number of CA pins, each of which may receive signals as voltages. Each CA pin may receive signals in a series format, with the voltage level varying over time to indicate different logic levels.


The clock terminals are supplied with external clock signals CK_t and CK_c that are provided to an input buffer 218. The external clock signals may be complementary. The input buffer 218 generates an internal clock ICLK based on the CK_t and CK_c clock signals. The ICLK clock is provided to the command decoder 216 and to an internal clock generator 220. The internal clock generator 220 provides various internal clock signals LCLK based on the ICLK clock. The LCLK clock signals may be used for timing operation of various internal circuits. In some embodiments, data clocks (not shown) may also be provided to control the operation of data being written to/read from the device 200.


The CA terminals may be supplied with memory addresses. The memory addresses supplied to the CA terminals are transferred, via a command/address input circuit 212, to an address decoder 214. The address decoder 214 receives the address and supplies a decoded row address XADD to the row decoder 224 and supplies a decoded column address YADD to the column decoder 226. The CA terminals may be supplied with commands. Examples of commands include timing commands for controlling the timing of various operations, access commands for accessing the memory, such as read commands for performing read operations and write commands for performing write operations, mode register write and read commands for performing mode register write and read operations, as well as other commands and operations.


The commands may be provided as internal command signals to a command decoder 216 via the command/address input circuit 212. The command decoder 216 includes circuits to decode the internal command signals to generate various internal signals and commands for performing operations. For example, the command decoder 216 may provide a row command signal ACT to select a word line and a column command signal R/W to select a bit line.


When a read command is received, and a row address and a column address are timely supplied with the read command, read data is read from memory cells in the memory array 228 corresponding to the row address and column address. The read command is received by the command decoder 244, which provides internal commands so that read data from the memory array 228 is provided to the read/write amplifiers 230. The read data is output to outside from the data terminals DQ via the input/output circuit 232.


When the write command is received, and a row address and a column address are timely supplied with the write command, write data supplied to the data terminals DQ is written to a memory cells in the memory array 228 corresponding to the row address and column address. A data mask may be provided to the data terminals DM to mask portions of the data when written to memory. The write command is received by the command decoder 244, which provides internal commands so that the write data is received by data receivers in the input/output circuit 232. The write data is supplied via the input/output circuit 232 to the read/write amplifiers 230, and by the read/write amplifiers 230 to the memory array 228 to be written into the memory cell MC.


The refresh control circuit 222 may receive a refresh signal AREF. The memory may be entered into a self-refresh mode by an external signal, such as an external refresh signal or a command entering the memory device 200 into a replacement mode. Once in a self-refresh mode, the memory 200 may generate activations (e.g., pulses) of the refresh signal AREF. Responsive to each activation of the refresh signal AREF, the memory may refresh one or more word lines. For example, responsive to an activation of AREF, the refresh control circuit 222 may provide a number of ‘pumps’ each of which may be associated with one or more refresh addresses. The refresh addresses may be provided to the row decoder 224, which may refresh the word lines. The signal AREF may continue to be periodically generated until the memory exits the self-refresh mode (e.g., responsive to a replacement mode exit command). The refresh control circuit 222 may use internal logic to generate the refresh addresses. For example the refresh control circuit 222 may have a sequence generator which provides a refresh address from a sequence of refresh addresses.


In some embodiments, the refresh control circuit 222 may additionally identify memory cells which are at risk of a faster rate of memory decay and refresh them out of sequence. For example, repeated accesses to a given row (a ‘row hammer’) may cause nearby rows to experience faster information decay. The refresh control circuit 222 may identify these victim rows (e.g., based on access patterns) and refresh them as part of a targeted refresh. In some embodiments, the refresh control circuit 222 may mix refreshing rows in sequence and targeted refreshes.


The refresh control circuit 222 may also monitor the state of the commands and accesses to determine if an attack is occurring. For example, the refresh control circuit 222 may monitor a number (or rate) of rows which have been hammered, or which are close to being hammered to determine if one or more types of attack is occurring. If the refresh control circuit 222 determines that an attack is occurring, it may provide pause data PAUSE and an alert signal ALERT at an active level. The pause data PAUSE may be provided to the IO circuit 232 and may then be provided along the data terminals DQ. The alert signal may be provided to an ALERT pin.


The pause data may be a number which represents a length of time the memory wants to be offline for. For example the pause data may be a binary number which specifies a number of clock cycles. Responsive to providing the alert signal ALERT and pause data PAUSE, the memory may be entered into a self-refresh mode. In some embodiments, the controller may provide signals entering the memory 200 into the self-refresh mode. In some embodiments, the memory 200 may enter itself into the self-refresh mode. During the self-refresh mode, the refresh control circuit 222 may perform refresh operations based on the type of attack which was detected.


In some embodiments, the refresh control circuit may be repeated on a bank-by-bank basis, and accordingly the refresh control circuits 222 may determine if an attack is occurring on a bank-by-bank basis. Accordingly, responsive to an attack being detected, the bank which is under attack may have its access operations suspended and may be entered into a self-refresh mode, while other banks may continue to receive access operations as normal. Other subdivisions (e.g., section-by-section, mat-by-mat) of the memory attack monitoring and refreshing may be used in other examples. In embodiments where only a portion of the memory 200 has its access operations suspended, the memory may provide identification information (e.g., along with the PAUSE data) which indicates which portion(s) of the memory are under attack.


The power supply terminals are supplied with power supply potentials VDD and VSS. The power supply potentials VDD and VSS are supplied to an internal voltage generator circuit 234. The internal voltage generator circuit 234 generates various internal potentials VPP, VOD, VARY, VTARGET, VPERI, and the like based on the power supply potentials VDD and VSS supplied to the power supply terminals.


The power supply terminals are also supplied with power supply potentials VDDQ and VSSQ. The power supply potentials VDDQ and VSSQ are supplied to the input/output circuit 232. The power supply potentials VDDQ and VSSQ supplied to the power supply terminals may be the same potentials as the power supply potentials VDD and VSS supplied to the power supply terminals in an embodiment of the disclosure. The power supply potentials VDDQ and VSSQ supplied to the power supply terminals may be different potentials from the power supply potentials VDD and VSS supplied to the power supply terminals in another embodiment of the disclosure. The power supply potentials VDDQ and VSSQ supplied to the power supply terminals are used for the input/output circuit 232 so that power supply noise generated by the input/output circuit 232 does not propagate to the other circuit blocks.



FIG. 3 is a block diagram of a refresh control circuit according to some embodiments of the present disclosure. The refresh control circuit 300 may, in some embodiments, be included in the refresh control circuit 112 of FIG. 1 and/or 222 of FIG. 2. The refresh control circuit 300 may provide a refresh address RXADD to be refreshed with timing based on a refresh signal AREF. The refresh control circuit 300 may determine if the refresh address RXADD is an auto-refresh address as part of an auto-refresh operation or a targeted refresh address based on an identified aggressor row. The refresh address RXADD may be provided to a row decoder (e.g., 224 of FIG. 2) which may refresh one or more word lines of the memory array associated with the refresh address RXADD. Various other signals (not shown) may also be provided in some embodiments to indicate details of the refresh operation to the row decoder.


The refresh control circuit 300 includes a refresh state control 302, which may manage the timing of various refresh operations. The refresh state control 302 may use perform a number of refresh operations responsive to each time an activation (e.g., pulse) of the signal AREF is received. For example, the refresh state control 302 may generate a number of refresh ‘pumps’ each of which is associated with a refresh operation. So, for example, an activation of AREF may cause four refresh pumps, and four refresh operations. Other numbers of pumps per activation of AREF may be used in other examples. In some embodiments, the number of pumps per activation of AREF may be variable.


Each pump may be associated with an auto-refresh operation, where word lines are refreshed as part of a refresh sequence, or a targeted refresh operation, where the victims of identified aggressor rows are refreshed. The refresh state control 302 may apportion pumps between the two operations based on various criteria. For example, if four pumps are provided per AREF activation, then two pumps may be used for auto-refresh operations and two may be used for targeted refresh operations. Other patterns may be used in other examples, and some patterns may span multiple activations of AREF. The refresh state control may provide pump signals NREF (to indicate an auto-refresh) and RHR (to indicate a targeted refresh) to a refresh address generator 304. In some embodiments, there may be a generic pump signal which is active for all pumps, and the state of an RHR signal may determine if the pump is used for an auto-refresh or targeted refresh signal.


The refresh address generator 304 may provide the refresh address RXADD. If the signal NREF is active, the refresh address generator 304 may provide an auto-refresh address based on an internal auto-refresh address generator. If the signal RHR is active, the refresh address generator 304 may generate the refresh address RXADD based on an aggressor address stored in an aggressor refresh queue 320. The auto-refresh addresses may be generated based on a sequence of addresses. For example, a first auto-refresh address may be provided and then a second auto-refresh address may be provided from a next entry in the sequence. In some embodiments, the sequence may be based on a numerical value of the refresh addresses. For example, the refresh address may be incremented to generate a next address in the sequence. In some embodiments, the refresh address may be associated with multiple word lines of the memory array, which may be refreshed simultaneously. For example, the row address may be truncated, and all rows which share the truncated row address in common may be refreshed together (e.g., a row in each different section of the memory). Other methods of generating the auto-refresh addresses may be used in other example embodiments.


The targeted refresh address may be based on a row address stored in the aggressor refresh queue 320. The aggressor refresh queue 320 may include a set of address registers 322, each of which stores a row address identified as an aggressor by the aggressor detector circuit 310. When a targeted refresh operation is called for (e.g., by the signal RHR being active) the refresh address generator 304 may retrieve an address RHR_XADD from one of the address registers 322. The aggressor refresh queue 320 may include logic which determines the order in which addresses are retrieved for refreshing.


The refresh address generator 304 may generate one or more refresh addresses RXADD based on the retrieved aggressor address. In some embodiments, the refresh addresses may include wordlines which are adjacent to the aggressor wordline (e.g., R+/−1). In some embodiments, the refresh addresses may include word lines further from the aggressor address (e.g., R+/−2). In some embodiments the refresh address generator 304 may refresh further away victims at a slower rate than the closer victims are refreshed.


The aggressor detector circuit 310 may receive a row address XADD along the row address bus. Based on the row addresses received overtime, the aggressor detector 310 may determine if a given address is an aggressor. The example aggressor detector 310 is shown as including a number of count values 312. The count values 312 may each represent accesses to one or more row addresses. For example, a given count value 312 may represent a number of times that a given row address has been provided along the row address bus. The aggressor detector 310 may compare the counts to a threshold value to determine if the address is an aggressor address. For example if the count value is greater than the threshold, then the row address(es) associated with that count value may be judged to be aggressors and may be stored in the aggressor refresh queue 320 so that their victims can be refreshed. When an aggressor is detected, the aggressor detector 310 may provide an aggressor signal AGGR at an active level, which may cause the aggressor refresh queue 320 to latch the value of the row address XADD off the row address bus and into one of the address registers 322.


In some embodiments, rather than respond to every row address across the row address bus, the refresh control circuit 300 may sample the value of the row address. The refresh control circuit 300 may include a sampling circuit which may activate a sampling signal with regular timing, random timing, timing based on one or more other signals, semi-random timing, pseudo-random timing, or combinations thereof. The aggressor detector 310 may respond to the row address when the sampling signal is active.


The refresh control circuit 300 may include an attack detector circuit 306 which may monitor the state of the refresh control circuit 300 to determine when an attack is occurring. When the attack detector 306 determines that an attack is in progress, it may provide an attack signal ATK at an active level. The attack signal may also indicate which type of attack is occurring in situations where the attack detector 306 detects more than one type of attack. In some embodiments, there may be multiple attack signals, each of which may be active to indicate that a different type of attack is occurring. An example attack detector is described in more detail in FIG. 4.


An example attack may include a waterfall attack, where the count values 312 are kept close to, but just below a hammer threshold that would cause the address(es) associated with that count value to be identified as an aggressor. Once a large number of the count values 312 are just below the hammer threshold, further accesses may be provided to push the count values 312 above the hammer threshold, which may be an overwhelming number of aggressor addresses, which the refresh control 300 may not be able to process in a timely manner. The attack detector may monitor the count values 312 and signal that a waterfall attack is occurring based on the count values 312. For example the attack detector may track a capacity count based on a number of the count values 312 which are above a first threshold which is smaller than the hammer threshold. When the capacity count rises above a second threshold, the attack detector 306 may signal that a waterfall type attack is occurring.


An example attack may include a refresh queue overflow attack. In such an attack, rows may be hammered quickly, such that the aggressor refresh queue 320 fills faster than it can be emptied. For example, if the address register 322 is storing a maximum number M different aggressor addresses, and the aggressor detector 310 provides the signal AGGR, then an address may be lost, since there are now M+1 identified aggressors. The attack detector 306 may monitor a state of the address registers 322 and may indicate that an overflow attack is occurring based on the state of the address registers 322. For example, the aggressor refresh queue 320 may provide a queue full signal FULL at an active level when the address register 322 is storing a maximum number of addresses. Responsive to another detected aggressor (e.g., the signal AGGR being active) while the signal FULL is active, the attack detector 306 may indicate that a refresh queue overflow attack is occurring.


The refresh control circuit 300 may include an alert logic circuit 308, which activates an alert signal ALERT and generates pause data PAUSE responsive to the attack signal ATK indicating that an attack is occurring. The alert logic circuit 308 may include a pause calculation circuit 309 (e.g., pause calculation circuit 119 of FIG. 1), which may generate the pause data PAUSE. The alert signal ALERT may be provided to an ALERT bus of the memory. The pause data PAUSE may be information which indicates a length of time that operations to the memory should be suspended. For example, the pause data PAUSE may be a binary number which specifies a number of clock cycles. The pause calculation circuit 309 may be a component of the alert logic 308, or may be a separate component which receives the attack signals ATK and provides the pause data PAUSE directly.


The pause calculation circuit 309 may generate different values of the pause data PAUSE responsive to which type of attack is indicated by the attack detector 306. For example, a first type of attack, such as a waterfall attack, may lead to a first value of the pause data PAUSE, while a second type of attack, such as a refresh queue overflow attack, may lead to a second value of the pause data PAUSE. In some embodiments, the value of PAUSE for a waterfall attack may be longer than the value of PAUSE for an overflow attack. In some embodiments, the pause calculation circuit 309 may also respond to a number of times that the attack signal (or an attack signal of a particular type) is provided. For example, if the signal indicating an overflow attack is provided a threshold number of times, the pause calculation circuit 309 may provide pause data PAUSE which is longer than the duration used when fewer overflow attacks are indicated. In some embodiments, if the overflow attack is detected above the threshold number of times, the pause calculation circuit 309 may set the pause data PAUSE to the same duration as if a waterfall attack had been detected. The pause data PAUSE may be stored in the memory for retrieval by the controller. In some embodiments, various other signals (e.g., ATK) may be provided to components of the memory to indicate that a suspension in operations is imminent.


In some embodiments, the refresh state control 302 may also respond to the detected attack (e.g., may respond to the signals ATK, ALERT, PAUSE, or combinations thereof) to enter the memory into a refresh mode while operations from the controller are suspended. For example, responsive to the attack detector 306 indicating a refresh queue overflow attack, the refresh state control circuit 302 may be entered into a refresh pattern where targeted refresh operations are performed until all of the addresses in the address registers 322 have their victims refreshed. The ‘extra’ address which triggered the overflow may also have its victims refreshed, as it may still be present along the row address bus. Responsive to the attack detector 306 indicating that a waterfall type attack is occurring, the refresh state control 302 may be entered into a mode where one or more of the address(es) associated with the counters 312 are refreshed. The refresh state control 302 may, for example, refresh every address associated with any counter 312 which is above the second threshold (e.g., close to the hammer threshold). In some embodiments, responsive to an attack the refresh state 302 may enter a mode where all word lines are refreshed. In some embodiments, the refresh state control 302 may enter a mode where more word lines are refreshed than are identified as aggressors (or are close to being identified as aggressors. In some embodiments, the refresh operations may take all or part of the time indicated by the pause data PAUSE.



FIG. 4 is a block diagram of an attack detector circuit according to some embodiments of the present disclosure. The attack detector 400 may, in some embodiments, be included in the attack detector circuit 306 of FIG. 3. Also shown in FIG. 4 is an example aggressor detector 410, which may in some embodiments be included in the aggressor detector 310 of FIG. 3.


The attack detector 400 includes a first threshold comparator 402. The first threshold comparator 402 provides a signal INC at an active level for each of the count values 412 which is above a threshold THi. The threshold THi may be below a hammer threshold used to determine if a count value is associated with one or more aggressor addresses. For example, if the count values are 4001, 3988, 4996, and 2043, the hammer threshold may be 5000, the value of the threshold THi may be 4000, and the first comparator 402 may provide two activations of the signal INC. These values are for example only, and other values may be used in other example embodiments.


In some embodiments, the threshold THi used by the first comparator may be based on the way in which the count values 412 are stored. For example, the count values 412 may be stored as N-bit numbers. To simplify the operation of the first comparator 402, the first comparator may provide an activation of the signal INC any time the next-to-most-significant bit (e.g., the N-lth bit) first becomes a logical high for that count value.


Responsive to an activation of the signal INC, the capacity counter circuit 404 may change a value of a stored capacity count value CNT. For example, the attack counter circuit 404 may increment the capacity count value CNT. Responsive to an activation of the signal RHR_XADD, which represents that an address from the targeted refresh queue (e.g., 320) is being provided to the refresh address generator, the attack counter circuit 404 may change the value of CNT in a different direction. For example, the attack counter circuit 404 may decrease the value CNT responsive to an activation of RHR_XADD. In some embodiments, the value CNT may be decreased by an amount based on one or more threshold values (e.g., THi, THj, and/or the hammer threshold) responsive to signal RHR_XADD.


In some embodiments, the attack counter 404 may store multiple count values (e.g., CNT0, CNT1, etc.) which may be used to determine the value of the overall capacity count value CNT. For example, the attack counter 404 may periodically switch between using the signals INC and RHR_XADD to change a first count value CNT0 and a second value CNT1. The overall count value CNT may then be a difference between CNT0 and CNT1, and may represent a change in the count value in a given period of time (e.g., the period over which the attack counter 404 switches count values).


The capacity count value CNT may be provided to a second threshold comparator 406, which may compare the count value CNT to a second threshold THj. If the count value CNT is greater than the second threshold THj, then the second comparator 406 may provide an attack signal ATK_waterfall at an active level, which indicates that a waterfall attack is occurring. The signal ATK_waterfall may be reset to an inactive level when the operations to the memory are suspended, and/or when the memory is refreshed to a point that the count value CNT is no longer above the threshold value THj.


The attack detector 400 may also monitor for overflow attacks. For example, an overflow logic circuit 408 may monitor the signals FULL and AGGR from the targeted refresh queue (e.g., 320 of FIG. 3) and the aggressor detector 410. The signal FULL may be active when all of the address registers of the targeted refresh queue 320 are all storing an unrefreshed aggressor address. The signal AGGR may be active when a new aggressor address is identified. Responsive to both signals being active, the overflow logic 408 may provide a signal ATK_overflow at an active level, which may indicate that an overflow attack is occurring. In some embodiments, the overflow logic 408 may be an AND gate.


In some embodiments, one or more of the threshold values THi, THj and/or the hammer threshold may be a pre-set value of the memory, a programmable value, or combinations thereof. In some embodiments, one or more of the threshold values may be varied over time. For example, the memory may include a random number generator (or some other source of randomness) which may periodically change the values of one or more of the threshold values. This randomness may make it more difficult to predict the behavior of the memory during an attack.


In some embodiments, the attack detector 400 may also trigger an attack signal based on the number and/or rate at which attacks are detected. For example, the attack detector 400 may count a number of times the ATK_overflow signal is activated. The overflow count may be periodically reset. In this manner, the overflow count may act as a measure of the rate at which overflow attacks are detected. If the overflow count rises above a threshold, the attack detector may trigger an attack signal, which may be associated with pause data of longer duration than the pause data normally triggered by the activation of ATK_overflow. In some embodiments, to simplify signaling, the overflow count rising above the threshold may lead to an activation of the signal ATK_waterfall.



FIG. 5 is a flow chart of a method of detecting attacks and pausing operations according to some embodiments of the present disclosure. The method 500 may, in some embodiments, be performed by one or more of the systems, apparatuses, and/or components described in one or more of FIGS. 1-4. While certain steps and operations are shown in the method 500, it should be appreciated that other example methods may include different steps, may include steps performed in a different order, may include repeated steps, or combinations thereof.


The method 500 may include block 510 which describes sending commands and addresses to a memory. A controller (e.g., 102 of FIG. 1) may send commands and addresses along a command address CA bus. The commands and addresses may be associated with access operations on the memory. The commands may specify a type of operation to be performed, and the addresses may specify one or more memory cells associated with that operation. For example, a row address may specify a row of the memory, a column address may specify a column of the memory, and a bank address may specify a bank of the memory.


Block 510 may generally be followed by block 520, which describes determining that the memory is under attack based on the addresses. The attack may be a deliberate attack (e.g., caused by a malicious actor) or may be an inadvertent attack (e.g., caused by operations which were not deliberately meant to cause problems in the memory). The memory may include an attack detector circuit which may monitor the commands and/or addresses received by the memory to determine if one or more types of attack is occurring.


The attack detector may determine if a queue overflow attack is occurring. The memory may identify aggressor addresses. For example, the memory may count accesses to various row addresses, and check to see if any of the counts has risen above a hammer threshold. The memory may store the identified aggressor addresses, for example in a targeted refresh queue. The queue may provide a full signal at an active level when the number of stored identified aggressor addresses rises above a threshold. In some embodiments, the threshold may represent a maximum capacity of the targeted refresh queue. When an additional address would be stored in the queue (e.g., based on identifying a new aggressor address), and the full signal is at the active level, the attack detector may determine that an overflow attack is occurring.


The attack detector may determine if a waterfall attack is occurring. The memory may change selected ones of a plurality of count values (e.g., 312 of FIG. 3) based on the received addresses. The attack detector may determine a capacity count based on a number of the plurality of count values which are above a first threshold. The attack detector may determine that a waterfall attack is occurring based on the capacity count rising above a second threshold.


Block 520 may generally be followed by block 530, which describes providing, from the memory, an alert signal and pause data responsive to the determination that the memory is under attack. The alert signal may indicate that a problem is occurring in the memory. The controller may perform a read operation to retrieve the pause data. In some embodiments, where multiple memories are coupled to the same controller, the controller may also determine which memory is under attack. The alert signal may be provided along an alert bus (e.g., an alert pin). The pause data may be provided along a data bus. For example, the controller may perform a read operation to retrieve the pause data responsive to the alert signal.


Block 530 may generally be followed by block 540 which describes pausing sending the commands and addresses for a length of time based on the pause data. The pause data may specify a length of time (e.g., in clock cycles). The controller may suspend operations to the memory for the length of time specified in the pause data. The memory may take into account the type of attack detected when setting the length of time which is specified by the pause data. For example, the pause data generated responsive to an overflow attack may specify a shorter duration than the pause data generated responsive to a waterfall attack.


While the commands and addresses are paused, the memory may enter a refresh mode in order to refresh word lines of the memory. For example, the memory may refresh enough word lines associated with the type of attack which was detected. In some embodiments, the length of time specified by the pause data may be based, in part, on the length of time it will take to perform the refreshing.


It is to be appreciated that any one of the examples, embodiments or processes described herein may be combined with one or more other examples, embodiments and/or processes or be separated and/or performed amongst separate devices or device portions in accordance with the present systems, devices and methods.


Finally, the above-discussion is intended to be merely illustrative of the present system and should not be construed as limiting the appended claims to any particular embodiment or group of embodiments. Thus, while the present system has been described in particular detail with reference to exemplary embodiments, it should also be appreciated that numerous modifications and alternative embodiments may be devised by those having ordinary skill in the art without departing from the broader and intended spirit and scope of the present system as set forth in the claims that follow. Accordingly, the specification and drawings are to be regarded in an illustrative manner and are not intended to limit the scope of the appended claims.

Claims
  • 1. A system comprising: a controller configured to provide commands and addresses along a command address bus; anda memory configured to monitor the addresses and based on the monitored addresses provide an alert signal along an alert bus and provide pause data along a data bus,wherein responsive to the alert signal and the pause data, the controller is configured to stop providing the commands and the addresses to the memory for a length of time specified by the pause data, wherein the pause data includes a number which specifies the length of time.
  • 2. The system of claim 1, wherein the memory comprises a refresh control circuit configured to store a plurality of count values each associated with one or more of the provided addresses and configured to store selected ones of the provided addresses in a targeted refresh queue based on the count value associated with the selected ones of the provided addresses being above a hammer threshold.
  • 3. The system of claim 2, wherein the refresh control circuit is further configured to store a second count value based on a number of the plurality of count values which are above a first threshold, different than the hammer threshold, and wherein the memory is configured to provide the alert signal and the pause data responsive to the second count value rising above a second threshold.
  • 4. The system of claim 2, wherein the memory is configured to provide the alert signal and the pause data responsive to the targeted refresh queue being full, and an additional one of the provided addresses needing to be stored in the targeted refresh queue.
  • 5. The system of claim 1, wherein responsive to receiving the alert signal, the controller performs a read operation on the memory to retrieve the pause data.
  • 6. The system of claim 1, wherein the memory is configured to enter a self-refresh mode after providing the alert signal and the pause data.
  • 7. The system of claim 1, wherein the memory comprises a plurality of banks, and wherein the alert signal and the pause data are associated with a selected one of the plurality of banks, and wherein responsive to the alert signal and the pause data the controller is configured to stop sending the commands and the addresses to the selected one of the plurality of banks, while still sending the commands and the addresses to others of the plurality of banks.
  • 8. An apparatus comprising: a refresh queue configured to store a plurality of addresses, wherein the refresh queue is configured to provide a full signal at an active level when a number of the plurality of addresses is above a threshold;an attack detector configured to provide an attack signal responsive to receiving a next address to be stored when the full signal is at the active level; andalert logic configured to provide an alert signal at an active level to an alert terminal and pause data to a data terminal responsive to the attack signal at the active level, wherein the pause data includes a number which specifies an amount of time.
  • 9. The apparatus of claim 8, further comprising an aggressor detector circuit comprising a plurality of count values, each associated with one or more addresses, wherein the attack detector is configured to count a number of the plurality of count values which are above a first threshold, and wherein when the number is above a second threshold, the attack detector is configured to provide the attack signal at the active level.
  • 10. The apparatus of claim 9, wherein the alert logic is configured to generate a first value of the pause data responsive to the attack signal being at the active level based on receiving the next address when the full signal is at the active level, and configured to generate a second value of the pause data responsive to the attack signal being at the active level based on the number being above the second threshold.
  • 11. The apparatus of claim 8, further comprising a refresh state control circuit configured to refresh victim word lines associated with the plurality of addresses in the refresh queue and the next address responsive to a pause in operations based on the alert signal at the active level and the pause data.
  • 12. The apparatus of claim 8, wherein the number in the pause data specifies an amount of time that the memory wants operations from a controller to be suspended for.
  • 13. The apparatus of claim 8, further comprising a pause calculation circuit configured to generate the pause data responsive to the attack signal.
  • 14. The apparatus of claim 13, wherein the pause calculation circuit is configured to set a value of the pause data responsive to a type of the attack signal, a number of times the attack signal has been provided, or combinations thereof.
  • 15. An apparatus comprising: an aggressor detector circuit configured to store a plurality of count values, each associated with accesses to one or more row addresses;an attack detector circuit configured to store a capacity count based on a number of the plurality of count values which are above a threshold;a comparator circuit configured provide an attack signal at an active level based on a value of the capacity count;an alert logic circuit configured to provide pause data to data terminals and an alert signal to an alert terminal responsive to the attack signal at the active level.
  • 16. The apparatus of claim 15, further comprising a refresh queue configured to store a plurality of aggressor addresses, wherein the refresh queue is configured to provide a full signal at an active level responsive to a number of the plurality of aggressor addresses exceeding a threshold, and wherein the attack detector circuit is further configured to provide a second attack signal at an active level responsive to receiving a next address to be stored when the full signal is at the active level.
  • 17. The apparatus of claim 16, wherein the alert logic is configured to generate a first value of the pause data responsive to the attack signal being active and a second value of the pause data responsive to the second attack signal being active.
  • 18. The apparatus of claim 16, wherein the capacity count is changed in a first direction responsive to one of the plurality of count values rising above the threshold and changed in a second direction responsive to one of the plurality of aggressor addresses being provided for refreshing.
  • 19. The apparatus of claim 15, wherein the comparator circuit is configured to provide the attack signal at the active level responsive to the capacity count being above a second threshold value.
  • 20. The apparatus of claim 15, further comprising a refresh state control circuit configured to refresh the victims of any word lines associated with one of the stored plurality of count values which is over the threshold responsive to a pause in operations based on the alert signal at the active level and the pause data.
  • 21. The apparatus of claim 15, wherein the attack detector comprises a first count value and a second count value, each of which is changed based on the which of the plurality of count values is above the threshold in different time periods, and wherein the capacity count is based on a difference between the first count value and the second count value.
  • 22. The apparatus of claim 15, further comprising a pause calculation circuit configured to generate the pause data responsive to the attack signal at the active level.
  • 23. A method comprising: sending commands and addresses to a memory;determining that the memory is under attack based on the addresses;providing, from the memory, an alert signal and pause data responsive to the determination that the memory is under attack, wherein the pause data includes a number;pausing sending the commands and addresses fora length of time specified by the number in the pause data.
  • 24. The method of claim 23, further comprising: identifying aggressor addressesstoring the aggressor addresses;providing a full signal at an active level when the number of stored address is above a threshold; anddetermining that the memory is under attack based on identifying an aggressor address when the full signal is at the active level.
  • 25. The method of claim 23, further comprising: changing selected ones of a plurality of counts based on the addresses;determining a capacity count based on a number of the plurality of counts which are above a first threshold; anddetermining that the memory is under attack based on the capacity count rising above a second threshold.
  • 26. The method of claim 23, further comprising: determining a type of attack; andsetting a length of time specified by the pause data based on the type of the attack.
  • 27. The method of claim 23, further comprising entering the memory into a refresh mode while the commands and addresses are paused.
  • 28. The method of claim 23, further comprising reading the pause data along a data bus responsive to the alert signal at the active level.
  • 29. The method of claim 23, further comprising pausing sending the commands and addresses to selected banks of the memory while continuing sending the commands and the addresses to other banks of the memory.
US Referenced Citations (463)
Number Name Date Kind
5299159 Balistreri et al. Mar 1994 A
5654929 Mote, Jr. Aug 1997 A
5699297 Yamazaki et al. Dec 1997 A
5867442 Kim et al. Feb 1999 A
5933377 Hidaka Aug 1999 A
5943283 Wong et al. Aug 1999 A
5956288 Bermingham et al. Sep 1999 A
5959923 Matteson et al. Sep 1999 A
5970507 Kato et al. Oct 1999 A
5999471 Choi Dec 1999 A
6002629 Kim et al. Dec 1999 A
6011734 Pappert Jan 2000 A
6061290 Shirley May 2000 A
6064621 Tanizaki et al. May 2000 A
6212118 Fujita Apr 2001 B1
6306721 Teo et al. Oct 2001 B1
6310806 Higashi et al. Oct 2001 B1
6310814 Hampel et al. Oct 2001 B1
6363024 Fibranz Mar 2002 B1
6392952 Chen et al. May 2002 B1
6424582 Ooishi Jul 2002 B1
6434064 Nagai Aug 2002 B2
6452868 Fister Sep 2002 B1
6515928 Sato et al. Feb 2003 B2
6535950 Funyu Mar 2003 B1
6567340 Nataraj et al. May 2003 B1
6950364 Kim Sep 2005 B2
7002868 Takahashi Feb 2006 B2
7057960 Fiscus et al. Jun 2006 B1
7082070 Hong Jul 2006 B2
7187607 Koshikawa et al. Mar 2007 B2
7203113 Takahashi et al. Apr 2007 B2
7203115 Eto et al. Apr 2007 B2
7209402 Shinozaki et al. Apr 2007 B2
7215588 Lee May 2007 B2
7444577 Best et al. Oct 2008 B2
7551502 Dono et al. Jun 2009 B2
7565479 Best et al. Jul 2009 B2
7692993 Iida et al. Apr 2010 B2
7830742 Han Nov 2010 B2
8174921 Kim et al. May 2012 B2
8400805 Yoko Mar 2013 B2
8572423 Isachar et al. Oct 2013 B1
8625360 Iwamoto et al. Jan 2014 B2
8681578 Narui Mar 2014 B2
8756368 Best et al. Jun 2014 B2
8811100 Ku Aug 2014 B2
8862973 Zimmerman et al. Oct 2014 B2
8938573 Greenfield et al. Jan 2015 B2
9032141 Bains et al. May 2015 B2
9047978 Bell et al. Jun 2015 B2
9076499 Schoenborn Jul 2015 B2
9087602 Youn et al. Jul 2015 B2
9117544 Bains et al. Aug 2015 B2
9123447 Lee et al. Sep 2015 B2
9153294 Kang Oct 2015 B2
9190137 Kim et al. Nov 2015 B2
9190139 Jung et al. Nov 2015 B2
9236110 Bains Jan 2016 B2
9251885 Greenfield et al. Feb 2016 B2
9286964 Halbert et al. Mar 2016 B2
9299400 Bains et al. Mar 2016 B2
9311984 Hong et al. Apr 2016 B1
9311985 Lee et al. Apr 2016 B2
9324398 Jones et al. Apr 2016 B2
9384821 Bains et al. Jul 2016 B2
9390782 Best et al. Jul 2016 B2
9396786 Yoon et al. Jul 2016 B2
9406358 Lee Aug 2016 B1
9412432 Narui et al. Aug 2016 B2
9418723 Chishti et al. Aug 2016 B2
9424907 Fujishiro Aug 2016 B2
9484079 Lee Nov 2016 B2
9514850 Kim Dec 2016 B2
9570143 Lim et al. Feb 2017 B2
9570201 Morgan et al. Feb 2017 B2
9646672 Kim et al. May 2017 B1
9653139 Park May 2017 B1
9672889 Lee et al. Jun 2017 B2
9685240 Park Jun 2017 B1
9691466 Kim Jun 2017 B1
9697913 Marcello et al. Jul 2017 B1
9734887 Tavva Aug 2017 B1
9741409 Jones et al. Aug 2017 B2
9741447 Akamatsu Aug 2017 B2
9747971 Bains et al. Aug 2017 B2
9761297 Tomishima Sep 2017 B1
9786351 Lee et al. Oct 2017 B2
9799391 Wei Oct 2017 B1
9805782 Liou Oct 2017 B1
9805783 Ito et al. Oct 2017 B2
9812185 Fisch et al. Nov 2017 B2
9818469 Kim et al. Nov 2017 B1
9831003 Sohn et al. Nov 2017 B2
9865326 Bains et al. Jan 2018 B2
9865328 Desimone et al. Jan 2018 B1
9922694 Akamatsu Mar 2018 B2
9934143 Bains et al. Apr 2018 B2
9953696 Kim Apr 2018 B2
9978430 Seo et al. May 2018 B2
10020045 Riho Jul 2018 B2
10020046 Uemura Jul 2018 B1
10032501 Ito et al. Jul 2018 B2
10049716 Proebsting Aug 2018 B2
10083737 Bains et al. Sep 2018 B2
10090038 Shin Oct 2018 B2
10134461 Bell et al. Nov 2018 B2
10141042 Richter Nov 2018 B1
10147472 Jones et al. Dec 2018 B2
10153031 Akamatsu Dec 2018 B2
10170174 Ito et al. Jan 2019 B1
10192608 Morgan Jan 2019 B2
10210925 Bains et al. Feb 2019 B2
10297305 Moon et al. May 2019 B1
10297307 Raad et al. May 2019 B1
10339994 Ito et al. Jul 2019 B2
10381327 Ramachandra et al. Aug 2019 B2
10446256 Ong et al. Oct 2019 B2
10468076 He et al. Nov 2019 B1
10490250 Ito et al. Nov 2019 B1
10490251 Wolff Nov 2019 B2
10504577 Alzheimer Dec 2019 B1
10510396 Notani et al. Dec 2019 B1
10572377 Zhang et al. Feb 2020 B1
10573370 Ito et al. Feb 2020 B2
10607679 Nakaoka Mar 2020 B2
10685696 Brown et al. Jun 2020 B2
10699796 Benedict et al. Jun 2020 B2
10790005 He et al. Sep 2020 B1
10825505 Rehmeyer Nov 2020 B2
10832792 Penney et al. Nov 2020 B1
10930335 Bell et al. Feb 2021 B2
10943636 Wu et al. Mar 2021 B1
10950289 Ito et al. Mar 2021 B2
10957377 Noguchi Mar 2021 B2
10964378 Ayyapureddi et al. Mar 2021 B2
10978132 Rehmeyer et al. Apr 2021 B2
11017833 Wu et al. May 2021 B2
11069393 Cowles et al. Jul 2021 B2
11081160 Ito et al. Aug 2021 B2
20010008498 Ooishi Jul 2001 A1
20020026613 Niiro Feb 2002 A1
20020181301 Takahashi et al. Dec 2002 A1
20020191467 Matsumoto et al. Dec 2002 A1
20030026161 Yamaguchi et al. Feb 2003 A1
20030063512 Takahashi et al. Apr 2003 A1
20030067825 Shimano et al. Apr 2003 A1
20030081483 De et al. May 2003 A1
20030123301 Jang et al. Jul 2003 A1
20030161208 Nakashima et al. Aug 2003 A1
20030193829 Morgan et al. Oct 2003 A1
20030231540 Lazar et al. Dec 2003 A1
20040004856 Sakimura et al. Jan 2004 A1
20040008544 Shinozaki et al. Jan 2004 A1
20040022093 Lee Feb 2004 A1
20040024955 Patel Feb 2004 A1
20040114446 Takahashi et al. Jun 2004 A1
20040130959 Kawaguchi Jul 2004 A1
20040184323 Mori et al. Sep 2004 A1
20040218431 Chung et al. Nov 2004 A1
20050002268 Otsuka et al. Jan 2005 A1
20050041502 Perner Feb 2005 A1
20050105362 Choi et al. May 2005 A1
20050108460 David May 2005 A1
20050213408 Shieh Sep 2005 A1
20050243627 Lee et al. Nov 2005 A1
20050265104 Remaklus et al. Dec 2005 A1
20060018174 Park et al. Jan 2006 A1
20060083099 Bae et al. Apr 2006 A1
20060087903 Riho et al. Apr 2006 A1
20060104139 Hur et al. May 2006 A1
20060176744 Stave Aug 2006 A1
20060215474 Hokenmaier Sep 2006 A1
20060233012 Sekiguchi et al. Oct 2006 A1
20060262616 Chen Nov 2006 A1
20060262617 Lee Nov 2006 A1
20060268643 Schreck et al. Nov 2006 A1
20070002651 Lee Jan 2007 A1
20070008799 Dono et al. Jan 2007 A1
20070014175 Min et al. Jan 2007 A1
20070028068 Golding et al. Feb 2007 A1
20070030746 Best et al. Feb 2007 A1
20070033339 Best et al. Feb 2007 A1
20070147154 Lee Jun 2007 A1
20070237016 Miyamoto et al. Oct 2007 A1
20070263442 Cornwell et al. Nov 2007 A1
20070297252 Singh Dec 2007 A1
20080028260 Oyagi et al. Jan 2008 A1
20080031068 Yoo et al. Feb 2008 A1
20080126893 Harrand et al. May 2008 A1
20080130394 Dono et al. Jun 2008 A1
20080181048 Han Jul 2008 A1
20080212386 Riho Sep 2008 A1
20080224742 Pomichter Sep 2008 A1
20080253212 Iida et al. Oct 2008 A1
20080253213 Sato et al. Oct 2008 A1
20080266990 Loeffler Oct 2008 A1
20080270683 Barth et al. Oct 2008 A1
20080306723 De Ambroggi et al. Dec 2008 A1
20080316845 Wang et al. Dec 2008 A1
20090021999 Tanimura et al. Jan 2009 A1
20090052264 Hong et al. Feb 2009 A1
20090059641 Jeddeloh Mar 2009 A1
20090073760 Betser et al. Mar 2009 A1
20090161468 Fujioka Jun 2009 A1
20090168571 Pyo et al. Jul 2009 A1
20090185440 Lee Jul 2009 A1
20090201752 Riho et al. Aug 2009 A1
20090228739 Cohen et al. Sep 2009 A1
20090251971 Futatsuyama Oct 2009 A1
20090296510 Lee et al. Dec 2009 A1
20100005217 Jeddeloh Jan 2010 A1
20100005376 Laberge et al. Jan 2010 A1
20100061153 Yen et al. Mar 2010 A1
20100074042 Fukuda et al. Mar 2010 A1
20100097870 Kim et al. Apr 2010 A1
20100110809 Kobayashi et al. May 2010 A1
20100110810 Kobayashi May 2010 A1
20100124138 Lee et al. May 2010 A1
20100128547 Kagami May 2010 A1
20100131812 Mohammad May 2010 A1
20100141309 Lee Jun 2010 A1
20100157693 Iwai et al. Jun 2010 A1
20100182862 Teramoto Jul 2010 A1
20100182863 Fukiage Jul 2010 A1
20100329069 Ito et al. Dec 2010 A1
20110026290 Noda et al. Feb 2011 A1
20110055495 Remaklus, Jr. et al. Mar 2011 A1
20110069572 Lee et al. Mar 2011 A1
20110122987 Neyer May 2011 A1
20110134715 Norman Jun 2011 A1
20110216614 Hosoe Sep 2011 A1
20110225355 Kajigaya Sep 2011 A1
20110299352 Fujishiro et al. Dec 2011 A1
20110310648 Iwamoto et al. Dec 2011 A1
20120014199 Narui Jan 2012 A1
20120059984 Kang et al. Mar 2012 A1
20120151131 Kilmer et al. Jun 2012 A1
20120155173 Lee et al. Jun 2012 A1
20120155206 Kodama et al. Jun 2012 A1
20120213021 Riho et al. Aug 2012 A1
20120254472 Ware et al. Oct 2012 A1
20120287727 Wang Nov 2012 A1
20120307582 Marumoto et al. Dec 2012 A1
20120327734 Sato Dec 2012 A1
20130003467 Klein Jan 2013 A1
20130003477 Park et al. Jan 2013 A1
20130028034 Fujisawa Jan 2013 A1
20130051157 Park Feb 2013 A1
20130051171 Porter et al. Feb 2013 A1
20130077423 Lee Mar 2013 A1
20130173971 Zimmerman Jul 2013 A1
20130254475 Perego et al. Sep 2013 A1
20130279284 Jeong Oct 2013 A1
20140000670 Bains et al. Jan 2014 A1
20140006700 Schaefer et al. Jan 2014 A1
20140006704 Greenfield et al. Jan 2014 A1
20140013169 Kobla et al. Jan 2014 A1
20140013185 Kobla et al. Jan 2014 A1
20140016422 Kim et al. Jan 2014 A1
20140022858 Chen et al. Jan 2014 A1
20140043888 Chen et al. Feb 2014 A1
20140050004 Mochida Feb 2014 A1
20140078841 Chopra Mar 2014 A1
20140078842 Oh et al. Mar 2014 A1
20140089576 Bains et al. Mar 2014 A1
20140089758 Kwok et al. Mar 2014 A1
20140095780 Bains et al. Apr 2014 A1
20140095786 Moon et al. Apr 2014 A1
20140119091 You et al. May 2014 A1
20140143473 Kim et al. May 2014 A1
20140169114 Oh Jun 2014 A1
20140177370 Halbert et al. Jun 2014 A1
20140181453 Tayasena et al. Jun 2014 A1
20140185403 Lai Jul 2014 A1
20140189228 Greenfield et al. Jul 2014 A1
20140219042 Yu et al. Aug 2014 A1
20140219043 Jones et al. Aug 2014 A1
20140237307 Kobla et al. Aug 2014 A1
20140241099 Seo et al. Aug 2014 A1
20140254298 Dally Sep 2014 A1
20140281206 Crawford et al. Sep 2014 A1
20140281207 Mandava et al. Sep 2014 A1
20140293725 Best et al. Oct 2014 A1
20140321226 Pyeon Oct 2014 A1
20150016203 Sriramagiri et al. Jan 2015 A1
20150049566 Lee et al. Feb 2015 A1
20150049567 Chi Feb 2015 A1
20150055420 Bell et al. Feb 2015 A1
20150078112 Huang Mar 2015 A1
20150085564 Yoon et al. Mar 2015 A1
20150089326 Joo et al. Mar 2015 A1
20150092508 Bains Apr 2015 A1
20150109871 Bains et al. Apr 2015 A1
20150120999 Kim et al. Apr 2015 A1
20150134897 Sriramagiri et al. May 2015 A1
20150162064 Oh et al. Jun 2015 A1
20150162067 Kim et al. Jun 2015 A1
20150170728 Jung et al. Jun 2015 A1
20150199126 Jayasena et al. Jul 2015 A1
20150206572 Lim et al. Jul 2015 A1
20150213872 Mazumder et al. Jul 2015 A1
20150243339 Bell et al. Aug 2015 A1
20150255140 Song Sep 2015 A1
20150279442 Hwang Oct 2015 A1
20150294711 Gaither et al. Oct 2015 A1
20150340077 Akamatsu Nov 2015 A1
20150356048 King Dec 2015 A1
20150380073 Joo et al. Dec 2015 A1
20160019940 Jang et al. Jan 2016 A1
20160027498 Ware et al. Jan 2016 A1
20160027531 Jones et al. Jan 2016 A1
20160027532 Kim Jan 2016 A1
20160042782 Narui et al. Feb 2016 A1
20160070483 Yoon et al. Mar 2016 A1
20160078846 Liu et al. Mar 2016 A1
20160078911 Fujiwara et al. Mar 2016 A1
20160086649 Hong et al. Mar 2016 A1
20160093402 Kitagawa et al. Mar 2016 A1
20160125931 Doo et al. May 2016 A1
20160133314 Hwang et al. May 2016 A1
20160155491 Roberts et al. Jun 2016 A1
20160180917 Chishti et al. Jun 2016 A1
20160180921 Jeong Jun 2016 A1
20160196863 Shin et al. Jul 2016 A1
20160202926 Benedict Jul 2016 A1
20160225433 Bains et al. Aug 2016 A1
20160336060 Shin Nov 2016 A1
20160343423 Shido Nov 2016 A1
20170011792 Oh et al. Jan 2017 A1
20170052722 Ware et al. Feb 2017 A1
20170076779 Bains et al. Mar 2017 A1
20170092350 Halbert et al. Mar 2017 A1
20170111792 Correia Fernandes et al. Apr 2017 A1
20170133085 Kim et al. May 2017 A1
20170133108 Lee et al. May 2017 A1
20170140807 Sun et al. May 2017 A1
20170140810 Choi et al. May 2017 A1
20170140811 Joo May 2017 A1
20170146598 Kim et al. May 2017 A1
20170148504 Saifuddin et al. May 2017 A1
20170177246 Miller et al. Jun 2017 A1
20170186481 Oh et al. Jun 2017 A1
20170213586 Kang et al. Jul 2017 A1
20170221546 Loh et al. Aug 2017 A1
20170263305 Cho Sep 2017 A1
20170269861 Lu et al. Sep 2017 A1
20170287547 Ito et al. Oct 2017 A1
20170323675 Jones et al. Nov 2017 A1
20170345482 Balakrishnan Nov 2017 A1
20170352404 Lee et al. Dec 2017 A1
20180005690 Morgan et al. Jan 2018 A1
20180025770 Ito et al. Jan 2018 A1
20180025772 Lee et al. Jan 2018 A1
20180025773 Bains et al. Jan 2018 A1
20180033479 Lea et al. Feb 2018 A1
20180047110 Blackman et al. Feb 2018 A1
20180061476 Kim Mar 2018 A1
20180061483 Morgan Mar 2018 A1
20180061485 Joo Mar 2018 A1
20180075927 Jeong et al. Mar 2018 A1
20180082737 Lee Mar 2018 A1
20180096719 Tomishima et al. Apr 2018 A1
20180102776 Chandrasekar et al. Apr 2018 A1
20180107417 Shechter et al. Apr 2018 A1
20180108401 Choi et al. Apr 2018 A1
20180114561 Fisch et al. Apr 2018 A1
20180114565 Lee Apr 2018 A1
20180122454 Lee et al. May 2018 A1
20180130506 Kang et al. May 2018 A1
20180137005 Wu et al. May 2018 A1
20180158504 Akamatsu Jun 2018 A1
20180158507 Bang Jun 2018 A1
20180182445 Lee et al. Jun 2018 A1
20180190340 Kim et al. Jul 2018 A1
20180218767 Wolff Aug 2018 A1
20180226119 Kim et al. Aug 2018 A1
20180233197 Laurent Aug 2018 A1
20180240511 Yoshida et al. Aug 2018 A1
20180247876 Kim et al. Aug 2018 A1
20180254078 We et al. Sep 2018 A1
20180261268 Hyun et al. Sep 2018 A1
20180276150 Eckert et al. Sep 2018 A1
20180285007 Franklin et al. Oct 2018 A1
20180294028 Lee et al. Oct 2018 A1
20180308539 Ito et al. Oct 2018 A1
20180341553 Koudele et al. Nov 2018 A1
20190013059 Akamatsu Jan 2019 A1
20190043558 Suh et al. Feb 2019 A1
20190051344 Bell et al. Feb 2019 A1
20190065087 Li et al. Feb 2019 A1
20190066759 Naie Feb 2019 A1
20190066766 Lee Feb 2019 A1
20190088315 Saenz et al. Mar 2019 A1
20190088316 Inuzuka et al. Mar 2019 A1
20190103147 Jones et al. Apr 2019 A1
20190115069 Lai Apr 2019 A1
20190122723 Ito et al. Apr 2019 A1
20190129651 Wuu et al. May 2019 A1
20190130960 Kim May 2019 A1
20190130961 Bell et al. May 2019 A1
20190147964 Yun et al. May 2019 A1
20190161341 Howe May 2019 A1
20190190341 Beisele et al. Jun 2019 A1
20190196730 Imran Jun 2019 A1
20190198078 Hoang et al. Jun 2019 A1
20190198099 Mirichigni et al. Jun 2019 A1
20190205253 Roberts Jul 2019 A1
20190228810 Jones et al. Jul 2019 A1
20190228815 Morohashi et al. Jul 2019 A1
20190252020 Rios et al. Aug 2019 A1
20190267077 Ito et al. Aug 2019 A1
20190279706 Kim Sep 2019 A1
20190294348 Ware et al. Sep 2019 A1
20190333573 Shin et al. Oct 2019 A1
20190348100 Smith et al. Nov 2019 A1
20190348102 Smith et al. Nov 2019 A1
20190348103 Jeong et al. Nov 2019 A1
20190362774 Kuramori et al. Nov 2019 A1
20190385661 Koo et al. Dec 2019 A1
20190385667 Morohashi et al. Dec 2019 A1
20190385668 Fujioka et al. Dec 2019 A1
20190385670 Notani et al. Dec 2019 A1
20190386557 Wang et al. Dec 2019 A1
20190391760 Miura et al. Dec 2019 A1
20190392886 Cox et al. Dec 2019 A1
20200005857 Ito et al. Jan 2020 A1
20200051616 Cho Feb 2020 A1
20200075086 Hou et al. Mar 2020 A1
20200082873 Wolff Mar 2020 A1
20200126611 Riho et al. Apr 2020 A1
20200135263 Brown et al. Apr 2020 A1
20200143871 Kim et al. May 2020 A1
20200176050 Ito et al. Jun 2020 A1
20200185026 Yun et al. Jun 2020 A1
20200194056 Sakurai et al. Jun 2020 A1
20200202921 Morohashi et al. Jun 2020 A1
20200210278 Rooney et al. Jul 2020 A1
20200211632 Noguchi Jul 2020 A1
20200211633 Okuma Jul 2020 A1
20200211634 Ishikawa et al. Jul 2020 A1
20200219555 Rehmeyer Jul 2020 A1
20200219556 Ishikawa et al. Jul 2020 A1
20200265888 Ito et al. Aug 2020 A1
20200273517 Yamamoto Aug 2020 A1
20200273518 Raad et al. Aug 2020 A1
20200279599 Ware et al. Sep 2020 A1
20200294569 Wu et al. Sep 2020 A1
20200294576 Brown et al. Sep 2020 A1
20200321049 Meier et al. Oct 2020 A1
20200381040 Penney et al. Dec 2020 A1
20200388324 Rehmeyer et al. Dec 2020 A1
20200388325 Cowles et al. Dec 2020 A1
20200395063 Rehmeyer Dec 2020 A1
20210057021 Wu et al. Feb 2021 A1
20210057022 Jenkinson et al. Feb 2021 A1
20210118491 Li et al. Apr 2021 A1
20210166752 Noguchi Jun 2021 A1
20210183433 Jenkinson et al. Jun 2021 A1
20210183435 Meier et al. Jun 2021 A1
20210225431 Rehmeyer et al. Jul 2021 A1
20210304813 Cowles et al. Sep 2021 A1
20210335411 Wu et al. Oct 2021 A1
Foreign Referenced Citations (18)
Number Date Country
101038785 Sep 2007 CN
101067972 Nov 2007 CN
104350546 Feb 2015 CN
106710621 May 2017 CN
107871516 Apr 2018 CN
2005-216429 Aug 2005 JP
2011-258259 Dec 2011 JP
4911510 Jan 2012 JP
2013-004158 Jan 2013 JP
6281030 Jan 2018 JP
2014120477 Aug 2014 WO
2015030991 Mar 2015 WO
2017171927 Oct 2017 WO
2019222960 Nov 2019 WO
2020010010 Jan 2020 WO
2020117686 Jun 2020 WO
2020247163 Dec 2020 WO
2020247639 Dec 2020 WO
Non-Patent Literature Citations (74)
Entry
International Application No. PCT/US20/23689, titled “Semiconductor Device Having Cam That Stores Address Signals”, dated Mar. 19, 2020, pp. all.
U.S. Appl. No. 16/797,658, titles “Apparatuses and Methods for Controlling Refresh Operations”, filed Feb. 21, 2020, pp. all.
U.S. Appl. No. 16/818,981 titled “Apparatuses and Methods for Staggered Timing of Targeted Refresh Operations” filed Mar. 13, 2020, pp. all.
U.S. Appl. No. 16/824,460, titled “Semiconductor Device Performing Row Hammer Refresh Operation”, dated Mar. 19, 2020, pp. all.
U.S. Appl. No. 16/025,844, titled “Apparatus and Methods for Triggering Row Hammer Address Sampling”, filed Jul. 2, 2018, pp. all.
U.S. Appl. No. 16/783,063, titled “Apparatus and Methods for Triggering Row Hammer Address Sampling”, dated Feb. 5, 2020, pp. all.
U.S. Appl. No. 16/805,197, titled “Apparatuses and Methods for Calculating Row Hammer Refresh Addresses in a Semiconductor Device”, dated Feb. 28, 2020, pp. all.
U.S. Appl. No. 16/232,837, titled “Apparatuses and Methods for Distributed Targeted Refresh Operations”, filed Dec. 26, 2018, pp. all.
U.S. Appl. No. 16/818,989, titled “Semiconductor Device Performing Row Hammer Refresh Operation”, dated Mar. 13, 2020, pp. all.
U.S. Appl. No. 16/268,818, titled “Apparatuses and Methods for Managing Row Access Counts”, filed Feb. 6, 2019, pp. all.
U.S. Appl. No. 16/286,187 titled “Apparatuses and Methods for Memory Mat Refresh Sequencing” filed Feb. 26, 2019, pp. all.
U.S. Appl. No. 16/084,119, titled “Apparatuses and Methods for Pure-Time, Self Adopt Sampling for Row Hammer Refresh Sampling”, filed Sep. 11, 2018, pp. all.
U.S. Appl. No. 16/886,284 titled “Apparatuses and Methods for Access Based Refresh Timing” filed May 28, 2020, pp. all.
U.S. Appl. No. 16/886,284, titled “Apparatuses and Methods for Access Based Refresh Timing”, dated May 28, 2020, pp. all.
U.S. Appl. No. 16/358,587, titled “Semiconductor Device Having Cam That Stores Address Signals”, dated Mar. 19, 2019, pp. all.
U.S. Appl. No. 16/375,716 titled “Apparatuses and Methods for Staggered Timing of Targeted Refresh Operations” filed Apr. 4, 2019; pp. all.
U.S. Appl. No. 16/411,573 titled “Apparatuses, Systems, and Methods for a Content Addressable Memory Cell” filed May 14, 2019, pp. all.
U.S. Appl. No. 16/428,625 titled “Apparatuses and Methods for Tracking Victim Rows” filed May 31, 2019, pp. all.
U.S. Appl. No. 17/008,396 titled “Apparatuses and Methods for Staggered Timing of Targeted Refresh Operations” filed Aug. 31, 2020, pp. all.
U.S. Appl. No. 16/513,400 titled “Apparatuses and Methods for Tracking Row Accesses” filed Jul. 16, 2019, pp. all.
U.S. Appl. No. 16/548,027 titled “Apparatuses, Systems, and Methods for Analog Row Access Rate Determination” filed Aug. 22, 2019, pp. all.
U.S. Appl. No. 16/549,942 titled “Apparatuses and Methods for Lossy Row Access Counting” filed Aug. 23, 2019, pp. all.
U.S. Appl. No. 16/546,152 titled “Apparatuses and Methods for Analog Row Access Tracking” filed Aug. 20, 2019, pp. all.
U.S. Appl. No. 16/549,411 titled “Apparatuses and Methods for Dynamic Refresh Allocation” filed Aug. 23, 2019, pp. all.
International Application No. PCT/US19/40169 titled “Apparatus and Methods for Triggering Row Hammer Address Sampling” filed Jul. 1, 2019, pp. all.
International Application No. PCT/US19/64028, titled “Semiconductor Device Performing Row Hammer Refresh Operation”, dated Dec. 2, 2019, pp. all.
International Application No. PCT/US20/26689, titled “Apparatuses and Methods for Staggered Timing of Targeted Refresh Operations”, dated Apr. 3, 2020, pp. all.
PCT Application No. PCT/US20/32931, titled “Apparatuses and Methods for Controlling Steal Rates”, dated May 14, 2020, pp. all.
U.S. Appl. No. 16/788,657, titled “Semiconductor Device Performing Row Hammer Refresh Operation”, dated Feb. 12, 2020, pp. all.
U.S. Appl. No. 15/881,256 entitled ‘Apparatuses and Methods for Detecting a Row Hammer Attack With a Bandpass Filter’ filed Jan. 26, 2018, pp. all.
U.S. Appl. No. 16/425,525 titled “Apparatuses and Methods for Tracking All Row Accesses” filed May 29, 2019, pp. all.
U.S. Appl. No. 16/427,105 titled “Apparatuses and Methods for Priority Targeted Refresh Operations” filed May 30, 2019, pp. all.
U.S. Appl. No. 16/427,140 titled “Apparatuses and Methods for Tracking Row Access Counts Between Multiple Register Stacks” filed May 30, 2019, pp. all.
U.S. Appl. No. 16/437,811 titled “Apparatuses, Systems, and Methods for Determining Extremum Numerical Values” filed Jun. 11, 2019, pp. all.
U.S. Appl. No. 16/537,981 titled “Apparatuses and Methods for Controlling Targeted Refresh Rates” filed Aug. 12, 2019, pp. all.
U.S. Appl. No. 16/655,110 titled “Apparatuses and Methods for Dynamic Targeted Refresh Steals” filed Oct. 16, 2019, pp. all.
U.S. Appl. No. 16/997,659 titled “Apparatuses, Systems, and Methods for Refresh Modes” filed Aug. 19, 2020, pp. all.
U.S. Appl. No. 16/997,766 titled “Refresh Logic Circuit Layouts Thereof” filed Aug. 19, 2020, pp. all.
U.S. Appl. No. 17/095,978 titled “Apparatuses and Methods for Controlling Refresh Timing” filed Nov. 12, 2020, pp. all.
U.S. Appl. No. 17/127,654 titled “Apparatuses and Methods for Row Hammer Based Cache Lockdown” filed Dec. 18, 2020, pp. all.
U.S. Appl. No. 17/175,485 titled “Apparatuses and Methods for Distributed Targeted Refresh Operations” filed Feb. 12, 2021, pp. all.
U.S. Appl. No. 17/186,913 titled “Apparatuses and Methods for Dynamic Refresh Allocation” filed Feb. 26, 2021, pp. all.
U.S. Appl. No. 17/187,002 titled “Apparatuses and Methods for Staggered Timing of Targeted Refresh Operations” filed Feb. 26, 2021, pp. all.
U.S. Appl. No. 15/789,897, entitled “Apparatus and Methods for Refreshing Memory”, filed Oct. 20, 2017; pp. all.
U.S. Appl. No. 15/796,340, entitled: “Apparatus and Methods for Refreshing Memory” filed Oct. 27, 2017, pp. all.
U.S. Appl. No. 16/012,679, titled “Apparatuses and Methods for Multiple Row Hammer Refresh Address Sequences”, filed Jun. 19, 2018, pp. all.
U.S. Appl. No. 16/020,863, titled “Semiconductor Device”, filed Jun. 27, 2018, pp. all.
U.S. Appl. No. 16/112,471 titled “Apparatuses and Methods for Controlling Refresh Operations” filed Aug. 24, 2018, pp. all.
U.S. Appl. No. 16/160,801, titled “Apparatuses and Methods for Selective Row Refreshes” filed Oct. 15, 2018, pp. all.
U.S. Appl. No. 16/176,932, titled “Apparatuses and Methods for Access Based Refresh Timing”, filed Oct. 31, 2018, pp. all.
U.S. Appl. No. 16/208,217, titled “Semiconductor Device Performing Row Hammer Refresh Operation”, filed Dec. 3, 2018, pp. all.
U.S. Appl. No. 16/230,300, titled “Apparatuses and Methods for Staggered Timing of Targeted Refresh Operations” filed Dec. 21, 2018, pp. all.
U.S. Appl. No. 16/231,327 titled “Apparatuses and Methods for Selective Row Refreshes”, filed Dec. 21, 2018, pp. all.
U.S. Appl. No. 16/237,291, titled “Apparatus and Methods for Refreshing Memory”, filed Dec. 31, 2018, pp. all.
U.S. Appl. No. 16/290,730, titled “Semiconductor Device Performing Row Hammer Refresh Operation”, filed Mar. 1, 2019, pp. all.
U.S. Appl. No. 16/374,623, titled “Semiconductor Device Performing Row Hammer Refresh Operation”, filed Apr. 3, 2019, pp. all.
U.S. Appl. No. 16/411,698 title “Semiconductor Device” filed May 14, 2019, pp. all.
U.S. Appl. No. 16/427,330 titled “Apparatuses and Methods for Storing Victim Row Data” filed May 30, 2019, pp. all.
U.S. Appl. No. 16/431,641 titled “Apparatuses and Methods for Controlling Steal Rates” filed Jun. 4, 2019, pp. all.
U.S. Appl. No. 16/682,606, titled “Apparatuses and Methods for Distributing Row Hammer Refresh Events Across a Memory Device”, filed Nov. 13, 2019, pp. all.
U.S. Appl. No. 15/876,566 entitled ‘Apparatuses and Methods for Calculating Row Hammer Refresh Addresses in a Semiconductor Device’ filed Jan. 22, 2018, pp. all.
U.S. Appl. No. 15/656,084, titled “Apparatuses and Methods for Targeted Refreshing of Memory”, filed Jul. 21, 2017, pp. all.
U.S. Appl. No. 16/459,520 titled “Apparatuses and Methods for Monitoring Word Line Accesses”, filed Jul. 1, 2019, pp. all.
PCT Application No. PCT/US18/55821 “Apparatus and Methods for Refreshing Memory” filed Oct. 15, 2018, pp. all.
U.S. Appl. No. 15/715,846, entitled “Semiconductor Device”, filed Sep. 26, 2017, pp. all.
U.S. Appl. No. 15/888,993, entitled “Apparatuses and Methods for Controlling Refresh Operations”, filed Feb. 5, 2018, pp. all.
U.S. Appl. No. 16/190,627 titled “Apparatuses and Methods for Targeted Refreshing of Memory” filed Nov. 14, 2018, pp. all.
U.S. Appl. No. 17/030,018, titled “Apparatuses and Methods for Controlling Refresh Operations”, filed Sep. 23, 2020, pp. all.
U.S. Appl. No. 15/281,818, entitled: “Semiconductor Device” filed Sep. 30, 2016, pp. all.
Kim, et al., “Flipping Bits in MemoryWithout Accessing Them: An Experimental Study of DRAM Disturbance Errors”, IEEE,Jun. 2014, 12 pgs.
U.S. Appl. No. 17/324,621 titled “Apparatuses and Methods for Pure-Time, Self-Adopt Sampling for Row Hammer Refresh Sampling” filed May 19, 2021.
U.S. Appl. No. 17/347,957 titled “Apparatuses and Methods for Controlling Steal Rates” filed Jun. 15, 2021.
U.S. Appl. No. 16/432,604 titled “Apparatuses and Methods for Staggered Timing of Skipped Refresh Operations” filed Jun. 5, 2019, pp. all.
U.S. Appl. No. 17/226,975, titled “Apparatuses and Methods for Staggered Timing of Skipped Refresh Operations” filed Apr. 9, 2021, pp. all.
Related Publications (1)
Number Date Country
20220051716 A1 Feb 2022 US