Techniques for reducing impact of array disturbs in a semiconductor memory device

Information

  • Patent Grant
  • 8310893
  • Patent Number
    8,310,893
  • Date Filed
    Wednesday, December 16, 2009
    15 years ago
  • Date Issued
    Tuesday, November 13, 2012
    12 years ago
Abstract
Techniques for reducing impact of array disturbs in a semiconductor memory device are disclosed. In one particular exemplary embodiment, the techniques may be realized as a method for reducing impact of array disturbs in a semiconductor memory device by increasing the refresh rate to the semiconductor memory device based at least in part on a frequency of active operations. The method may comprise receiving a first refresh command including a first subarray address to perform a first refresh operation to a first logical subarray of memory cells associated with the first subarray address. The method may also comprise receiving a second refresh command including a second subarray address to perform a second refresh operation to a second logical subarray of memory cells associated with the second subarray address, wherein the second refresh command is received after a time period from the reception of the first refresh command. The method may further comprise performing a number of concurrent refresh operations during the time period.
Description
FIELD OF THE DISCLOSURE

The present disclosure relates generally to semiconductor memory devices and, more particularly, to techniques for reducing impact of array disturbs in a semiconductor memory device.


BACKGROUND OF THE DISCLOSURE

There is a continuing trend to employ and/or fabricate advanced integrated circuits using techniques, materials, and devices that improve performance, reduce leakage current, and enhance overall scaling. Semiconductor-on-insulator (SOI) is a material which may be used to fabricate such integrated circuits. Such integrated circuits are known as SOI devices and may include, for example, partially depleted (PD) devices, fully depleted (FD) devices, multiple gate devices (for example, double or triple gate), and Fin-FET devices.


A semiconductor memory device may include an electrically floating body in which electrical charges may be stored. Also, a semiconductor memory device may store charges in a discrete capacitor. The electrical charges stored in the electrically floating body or in a discrete capacitor may represent a logic high or binary “1” data state or a logic low or binary “0” data state. Also, a semiconductor memory device may be fabricated with semiconductor-on-insulator (SOI) substrates, bulk substrates (e.g., enabling body isolation), local semiconductor-on-insulator (SOI), and/or 3-D devices. For example, a semiconductor memory device may be fabricated with 3-D devices (e.g., multiple gate devices, Fin-FETs, recessed gates and pillars).


In one conventional technique, a memory cell of a semiconductor memory device having one or more memory transistors may be read by applying a bias to a drain region of a memory transistor, as well as a bias to a gate of the memory transistor that is above a threshold voltage of the memory transistor. As such, conventional reading techniques sense an amount of channel current provided/generated in response to the application of the bias to the gate of the memory transistor to determine a state of the memory cell. For example, an electrically floating body region of the memory cell may have two or more different current states corresponding to two or more different logical states (e.g., two different current conditions/states corresponding to two different logic states: binary “0” data state and binary “1” data state).


Also, conventional writing techniques for memory cells having an N-Channel type memory transistor typically result in an excess of majority charge carriers by channel impact ionization, by band-to-band tunneling (gate-induced drain leakage “GIDL”), or direct injection. The majority charge carriers may be removed via drain side hole removal, source side hole removal, or drain and source hole removal, for example, using back gate pulsing.


Often, conventional reading and/or writing techniques may lead to relatively large power consumption and large voltage swings which may cause disturbance to memory cells on unselected rows in the memory device. Also, pulsing between positive and negative gate biases during read and write operations may reduce a net quantity of charge carriers in a body region of a memory cell in the memory device, which, in turn, may gradually eliminate data stored in the memory cell. In the event that a negative voltage is applied to a gate of a memory cell transistor, thereby causing a negative gate bias, a channel of minority charge carriers beneath the gate may be eliminated. However, some of the minority charge carriers may remain “trapped” in interface defects. Some of the trapped minority charge carriers may recombine with majority charge carriers, which may be attracted to the gate, and the net charge in majority charge carriers located in the floating body region may decrease over time. This phenomenon may be characterized as charge pumping, which is a problem because the net quantity of charge carriers may be reduced in the memory cell, which, in turn, may gradually eliminate data stored in the memory cell.


Additionally, conventional reading and/or writing techniques may lead to disturbance (e.g., influence a data state stored in a memory cell) in one or more unselected memory cells. For example, a plurality of memory cells may be coupled to a common source line (SL). Although, a single memory cell may be selected for a read and/or a write operations, all memory cells coupled to the source line (SL) may receive a voltage applied to the source line (SL). Therefore, one or more unselected memory cells coupled to the source line (SL) may be disturbed (e.g., influence an amount of charged stored in the memory cells) by a voltage applied to the source line (SL).


In another conventional reading and writing technique, a plurality of data storage capacitors may be isolated from a common bit line (BL) by one or more corresponding access transistors controlled by word lines (WL). For the conventional read and write operations, word line (WL) to word line (WL) coupling and fluctuation in the bit line voltage may increase a rate of charge loss for unselected data storage capacitors.


In view of the foregoing, it may be understood that there may be significant problems and shortcomings associated with conventional techniques for reading from and/or writing to semiconductor memory devices.


SUMMARY OF THE DISCLOSURE

Techniques for reducing impact of array disturbs in a semiconductor memory device are disclosed. In one particular exemplary embodiment, the techniques may be realized as a method for reducing impact of array disturbs in a semiconductor memory device by increasing the refresh rate to the semiconductor memory device based at least in part on a frequency of active operations. The method may comprise receiving a first refresh command including a first subarray address to perform a first refresh operation to a first logical subarray of memory cells associated with the first subarray address. The method may also comprise receiving a second refresh command including a second subarray address to perform a second refresh operation to a second logical subarray of memory cells associated with the second subarray address, wherein the second refresh command is received after a time period from the reception of the first refresh command. The method may further comprise performing a number of concurrent refresh operations during the time period.


In accordance with other aspects of this particular exemplary embodiment, the number of concurrent refresh operations may be based at least in part on a number of active operations including an active subarray address performed during the time period, wherein the active operations may access one or more subarray addresses.


In accordance with further aspects of this particular exemplary embodiment, the number of concurrent refresh operations performed may be based at least in part on a number of plurality of subarrays within a plurality of banks of memory cells.


In accordance with additional aspects of this particular exemplary embodiment, in the event that the active subarray address of the active operation is equal to a refresh subarray address of a first concurrent refresh operation, the refresh subarray address may be stored in a clash buffer.


In accordance with other aspects of this particular exemplary embodiment, wherein the refresh subarray address stored in the clash buffer may be used for a second concurrent refresh operation, wherein the first concurrent refresh operation may be performed to a different subarray address than the second concurrent refresh operation.


In accordance with further aspects of this particular exemplary embodiment, the method may further comprise clearing the clash buffer when the second concurrent refresh operation may be performed to the refresh subarray address stored in the clash buffer.


In accordance with additional aspects of this particular exemplary embodiment, the method may further comprise clearing the clash buffer upon completion of at least one of the first refresh operation and the second refresh operation to a subarray address stored in the clash buffer.


In accordance with yet another aspect of this particular exemplary embodiment, the refresh subarray address stored in the clash buffer may be used for the second subarray address for the second refresh operation.


In accordance with other aspects of this particular exemplary embodiment, the concurrent refresh operations may be performed to a subarray address stored in a concurrent refresh subarray counter and latch.


In another particular exemplary embodiment, the techniques may be realized as a method for increase a refresh rate for a semiconductor memory device receiving one or more refresh commands by performing concurrent refresh operations in parallel to one or more active operations. The method may comprise receiving a first refresh command including a first subarray address to perform a first refresh operation to a first logical subarray of memory cells associated with the first subarray address. The method may also comprise receiving a second refresh command including a second subarray address to perform a second refresh operation to a second logical subarray of memory cells associated with the second subarray address, wherein the second refresh command is received after a time period from the reception of the first refresh command. The method may further comprise performing a number of concurrent refresh operations during the time period.


In accordance with other aspects of this particular exemplary embodiment, the number of concurrent refresh operations may be based at least in part on a number of active operations including an active subarray address performed during the time period, wherein the active operations may access one or more subarray addresses.


In accordance with further aspects of this particular exemplary embodiment, the number of concurrent refresh operations performed may be based at least in part on a number of plurality of subarrays within a plurality of banks of memory cells.


In accordance with additional aspects of this particular exemplary embodiment, in the event that the active subarray address of the active operation is equal to a refresh subarray address of a first concurrent refresh operation, the refresh subarray address may be stored in a clash buffer.


In accordance with yet another aspect of this particular exemplary embodiment, the refresh subarray address stored in the clash buffer may be used for a second concurrent refresh operation, wherein the first concurrent refresh operation may be performed to a different subarray address than the second concurrent refresh operation.


In accordance with other aspect of this particular exemplary embodiment, the method may further comprise clearing the clash buffer when the second concurrent refresh operation may be performed to the refresh subarray address stored in the clash buffer.


In accordance with further aspects of this particular exemplary embodiment, the method may further comprise clearing the clash buffer upon completion of at least one of the first refresh operation and the second refresh operation.


In accordance with additional aspects of this particular exemplary embodiment, the refresh subarray address stored in the clash buffer may be used for the second subarray address for the second refresh operation.


In accordance with yet another aspect of this particular exemplary embodiment, the concurrent refresh operations may be performed to a subarray address stored in a concurrent refresh subarray counter and latch.


In another particular exemplary embodiment, the techniques may be realized as a system for reducing impact of array disturbs in a semiconductor memory device. The semiconductor memory device may comprise means for receiving a first active command directed to an active subarray address to perform a number of active operations to the active subarray address. The semiconductor memory device may also comprise means for performing a number of concurrent refresh operations between two consecutive refresh operations to one or more inactive subarray addresses, wherein the number of concurrent refresh operations may be based at least in part on the number of active operations performed between the two consecutive refresh operations.


In another particular exemplary embodiment, the techniques may be realized as a semiconductor memory device for reducing impact of array disturbs. The semiconductor memory device may comprise a memory cell array having one or more banks of memory cells arranged in arrays of rows and columns, wherein each of the one or more banks of memory cells may include a plurality of subarrays of memory cells. The semiconductor memory device may also comprise a plurality of concurrent refresh controllers coupled to the one or more banks of memory cells configured to provide one or more concurrent refresh control signals to the one or more banks of memory cells in order to perform one or more concurrent refresh operations.


In accordance with other aspects of this particular exemplary embodiment, the semiconductor memory device may further comprise one or more row address latch and decoders configured to provide the one or more concurrent refresh control signals from the plurality of concurrent refresh controllers to the one or more banks of memory cells.


In accordance with further aspects of this particular exemplary embodiment, each of the plurality of concurrent refresh controllers may be configured to generate a multiplexer control signal that may enable or disable a corresponding row address latch and decoder.


In accordance with additional aspects of this particular exemplary embodiment, each of the plurality of concurrent refresh controllers may comprise a refresh row counter.


In accordance with yet another aspect of this particular exemplary embodiment, the refresh row counter may store row address information associated with the plurality of subarrays of a corresponding one of the one or more banks of memory cells.


In accordance with other aspects of this particular exemplary embodiment, each of the plurality of concurrent refresh controllers may further comprise a concurrent refresh subarray counter and latch.


In accordance with further aspects of this particular exemplary embodiment, the concurrent refresh subarray counter and latch may store subarray address information associated with a corresponding one of the one or more banks of memory cells.


In accordance with additional aspects of this particular exemplary embodiment, each concurrent refresh subarray counter and latch may increment or toggle to a next subarray address with each execution of an active command.


In accordance with yet another aspect of this particular exemplary embodiment, after each concurrent refresh subarray counter and latch may increment or toggle through all of the plurality of subarrays of a corresponding one of the one or more banks of memory cells, a corresponding refresh row counter may increment or toggle to a next row address.


In accordance with other aspects of this particular exemplary embodiment, each of the plurality of concurrent refresh controllers may further comprise a clash buffer.


In accordance with further aspects of this particular exemplary embodiment, the clash buffer may store subarray address information in the event of a clash condition.


In accordance with additional aspects of this particular exemplary embodiment, the clash condition may occur in the event that subarray address information of one or more active commands may equal subarray address information stored in a corresponding concurrent refresh subarray counter and latch or the subarray address information of the one or more active commands may equal subarray address information stored in a corresponding clash buffer.


In accordance with yet another aspect of this particular exemplary embodiment, in the event of the clash condition, a clash buffer may be set to a subarray address stored in a corresponding concurrent refresh subarray counter and latch.


In accordance with other aspects of this particular exemplary embodiment, the semiconductor memory device may further comprise a command decoder.


In accordance with further aspects of this particular exemplary embodiment, the command decoder may be configured to provide one or more active commands to the one or more banks of memory cells in order to perform one or more operations.


In accordance with additional aspects of this particular exemplary embodiment, the one or more operations may include at least one of a read operation, a write operation, a precharge operation, and a refresh command.


In accordance with yet another aspect of this particular exemplary embodiment, the semiconductor memory device may further comprise a normal refresh controller.


In accordance with other aspects of this particular exemplary embodiment, the normal refresh controller may be configured to provide one or more refresh control signals to the plurality of concurrent refresh controllers.


The present disclosure will now be described in more detail with reference to exemplary embodiments thereof as shown in the accompanying drawings. While the present disclosure is described below with reference to exemplary embodiments, it should be understood that the present disclosure is not limited thereto. Those of ordinary skill in the art having access to the teachings herein will recognize additional implementations, modifications, and embodiments, as well as other fields of use, which are within the scope of the present disclosure as described herein, and with respect to which the present disclosure may be of significant utility.





BRIEF DESCRIPTION OF THE DRAWINGS

In order to facilitate a fuller understanding of the present disclosure, reference is now made to the accompanying drawings, in which like elements are referenced with like numerals. These drawings should not be construed as limiting the present disclosure, but are intended to be exemplary only.



FIG. 1 shows a schematic block diagram of a semiconductor memory device including a memory cell array, data write and sense circuitry, and memory cell selection and control circuitry in accordance with an embodiment of the present disclosure.



FIG. 2 shows a detailed schematic block diagram of a semiconductor memory device including a memory cell array, data write and sense circuitry, and memory cell selection and control circuitry in accordance with an embodiment of the present disclosure.



FIG. 3 shows a schematic block diagram of a concurrent refresh controller of a data write and sense circuit and related circuitry for a semiconductor memory device in accordance with an embodiment of the present disclosure.



FIG. 4 shows a detailed block diagram of a concurrent refresh controller for a semiconductor memory device in accordance with an embodiment of the present disclosure.



FIG. 5 shows a flow diagram for operation of a concurrent refresh controller for a semiconductor memory device in accordance with an embodiment of the present disclosure.





DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

There are many embodiments described and illustrated herein. In one aspect, the present disclosure is directed to a combination of disturbance mitigation schemes which allow refresh and/or recovery of data states stored in a memory cell of a semiconductor memory device, thereby and reducing disturbance to surrounding memory cells. For example, the present disclosure is directed to a scheme that may reduce loss associated with one or more unselected memory cells in an active memory cell array by increasing a rate of refreshing the active memory cell array. Further, the present disclosure is directed to a scheme that may increase refresh rate based on array activity without an increase in power consumption.


Referring to FIG. 1, there is shown a schematic block diagram of a semiconductor memory device 10 comprising a memory cell array 20, data write and sense circuitry 36, and memory cell selection and control circuitry 38 in accordance with an embodiment of the present disclosure. The memory cell array 20 may comprise a plurality of memory cells 12 each coupled to the memory cell selection and control circuitry 38 via a source line (SL) 30 and a word line (WL) 28, and the data write and sense circuitry 36 via a bit line (BL) 32. The data write and sense circuitry 36 may read data from and may write data to selected memory cells 12. In an exemplary embodiment, the data write and sense circuitry 36 may include a plurality of data sense amplifiers. Each data sense amplifier may receive at least one bit line (BL) 32 and a current or voltage reference signal. For example, each data sense amplifier may be a cross-coupled type sense amplifier to sense a data state stored in a memory cell 12.


Each data sense amplifier may employ voltage and/or current sensing circuitry and/or techniques. In an exemplary embodiment, each data sense amplifier may employ current sensing circuitry and/or techniques. For example, a current sense amplifier may compare current from a selected memory cell 12 to a reference current (e.g., the current of one or more reference cells). From that comparison, it may be determined whether the selected memory cell 12 contains a logic high (binary “1” data state) or a logic low (binary “0” data state). It may be appreciated by one having ordinary skill in the art that any type or form of data write and sense circuitry 36 (including one or more sense amplifiers, using voltage or current sensing techniques, to sense a data state stored in a memory cell 12) to read data stored in memory cells 12 and/or write data to memory cells 12 may be employed.


Also, the memory cell selection and control circuitry 38 may select and/or enable one or more predetermined memory cells 12 to facilitate reading data therefrom and/or writing data thereto by applying control signals on one or more word lines (WL) 28 and/or source lines (SL) 30. The memory cell selection and control circuitry 38 may generate such control signals using address data, for example, row address data. Moreover, the memory cell selection and control circuitry 38 may include a word line decoder and/or driver. For example, the memory cell selection and control circuitry 38 may include one or more different control/selection techniques (and circuitry therefor) to select and/or enable one or more predetermined memory cells 12. Such techniques, and circuitry therefor, should be well known to those skilled in the art. Notably, all such control/selection techniques, and circuitry therefor, whether now known or later developed, are intended to fall within the scope of the present disclosure.


In an exemplary embodiment, the semiconductor memory device 10 may implement a two step write operation whereby all the memory cells 12 in a row of memory cells 12 are first written to a predetermined data state by first executing a “clear” operation, whereby all of the memory cells 12 in the row of memory cells 12 are written to logic low (binary “0” data state). Thereafter, selected memory cells 12 in the row of memory cells 12 are selectively written to the predetermined data state (e.g., a logic high (binary “1” data state)). The semiconductor memory device 10 may also implement a one step write operation whereby selective memory cells 12 in a row of memory cells 12 are selectively written to either a logic high (binary “1” data state) or a logic low (binary “0” data state) without first implementing a “clear” operation. The semiconductor memory device 10 may employ any of the exemplary writing, holding, and/or reading techniques described herein.


The memory cells 12 may comprise N-channel, P-channel and/or both types of transistors. Indeed, circuitry that is peripheral to the memory array 20 (for example, sense amplifiers or comparators, row and column address decoders, as well as line drivers (not illustrated herein)) may include P-channel and/or N-channel type transistors. Where P-channel type transistors are employed in memory cells 12 in the memory array 20, suitable write and read voltages (for example, negative voltages or opposite polarities to voltages used for an N-channel device) should be well known to those skilled in the art in light of this disclosure. Accordingly, for sake of brevity, a discussion of such suitable voltages will not be included herein.


Referring to FIG. 2, there is shown a more detailed schematic block diagram of the semiconductor memory device 10 comprising the memory cell array 20, the data write and sense circuitry 36, and the memory cell selection and control circuitry 38 in accordance with an embodiment of the present disclosure. As described above in FIG. 1, the semiconductor memory device 10 may include the memory cell array 20 comprising the plurality of memory cells 12 each coupled to one or more memory cell selection and control circuitry 38(a-x) via a source line (SL) 30 and a word line (WL) 28, and the data write and sense circuitry 36 via a bit line (EL) 32. The data write and sense circuitry 36 may read data from and may write data to selected memory cells 12. The memory cell selection and control circuitry 38 may generate control signals on one or more word lines (WL) 28 and/or source lines (SL) 30. A command decoder 44, a normal refresh controller 46, and/or an address register 48 may apply one or more control signals to the memory cell array 20 and/or the memory cell selection and control circuitry 38.


The memory cells 12 of the memory cell array 20 may be arranged into one or more individual banks of memory cells 12. Each individual bank of memory cells 12 may be activated independently via the corresponding memory cell selection and control circuitry 38(a-x). The number of banks of memory cells 12 may vary depending on the size of the memory cell array 20. Also, a number of memory cell selection and control circuitry 38(a-x) may correspond to a number of banks of memory cells 12 within the memory cell array 20. For example, a smaller memory cell array 20 may have fewer banks of memory cells 12 than a larger memory cell array 20. In an exemplary embodiment, the memory cell array 20 may be arranged into 8 banks (e.g., bank 0-bank 7) of memory cells 12. Also, each of the 8 banks of memory cells 12 may be independently activated via a corresponding memory cell selection and control circuitry 38(a-h). Each bank of memory cells 12 may include one or more logical subarrays of memory cells 12. For example, each logical subarray of memory cells 12 may include one or more individual physical subarrays of memory cells 12 that may share the same row address. The number of logical subarrays of memory cells 12 in a bank may vary depending on the architecture of the memory cell array 20 and/or physical size of the logical subarray of memory cells 12. In an exemplary embodiment, each individual bank of memory cells 12 may include 16 logical subarrays (e.g., subarray 0-subarray 15).


The memory cell selection and control circuitry 38 may include one or more row address latch and decoder 40 and one or more concurrent refresh controller 42. Each row address latch and decoder 40 may receive a signal to access a row of subarray of a bank in the memory cell array 20. In an exemplary embodiment, each row address latch and decoder 40 may receive the signal simultaneously with another row address latch and decoder 40 so as to access a row of a subarray of a plurality of banks in the memory cell array 20. Each row address latch and decoder 40 may be coupled to the memory cell array 20 via one or more word line (WL) 28 and/or source lines (SL) 30. In an exemplary embodiment, a row address latch and decoder 40 may be provided for each bank of the memory cell array 20 in order to access and/or control each bank of the memory cell array 20 independently.


Each concurrent refresh controller 42 may receive one or more control signals from the command decoder 44 and/or normal refresh controller 46. Each concurrent refresh controller 42 may receive the control signals from the command decoder 44 and/or the normal refresh controller 46 and provide the control signals to the memory cell array 20 via a corresponding row address latch and decoder 40, word line (WL) 28, and source line (SL) 30. Each concurrent refresh controller 42 may enable or disable a corresponding row address latch and decoder 40.


In an exemplary embodiment, each row address latch and decoder 40 may provide a row address control signal to the memory cell array 20. Each concurrent refresh controller 42 may generate a multiplexer control signal that may enable or disable the row address control signal provided by a corresponding row address latch and decoder 40 to the memory cell array 20. The number of concurrent refresh controllers 42 within the memory cell selection and control circuitry 38 may be dependent on the number of banks within the memory cell array 20. In an exemplary embodiment, a concurrent refresh controller 42 may be associated with a single bank within the memory cell array 20. Thus, the number of concurrent refresh controllers 42 within the memory cell selection and control circuitry 38 may be the same as the number of banks within the memory cell array 20. Each bank within the memory cell array 20 may be accessed and/or refreshed independently and/or concurrently under the control of a corresponding concurrent refresh controller 42.


In another exemplary embodiment, each concurrent refresh controller 42 may receive one or more refresh control signals from the command decoder 44 and/or the normal refresh controller 46. The one or more refresh control signals from the command decoder 44 and/or the normal refresh controller 46 may include a refresh timer signal, a decoded command, and/or timing controls associated with one or more refresh operations. Each concurrent refresh controller 42 may receive the one or more refresh control signals and determine whether to perform one or more refresh operations, as will be discussed in further detail below.


The command decoder 44 may receive one or more clock and/or control signals in order to provide one or more bank activated commands. For example, the command decoder 44 may receive a plurality of clock and/or control signals in order to generate one or more bank activate commands. The command decoder 44 may receive a plurality of clock and/or control signals in order to generate a read command, a write command, a precharge command, a refresh command, and/or other commands to be performed on a bank of the memory cell array 20. For example, a refresh command may be an operation having a predetermined time period to refresh data states (e.g., a logic high (binary “1” data state) or a logic low (binary “0” data state)) stored a set of logical subarray of memory cells 12. In another exemplary embodiment, the command decoder 44 may generate one or more refresh control signals. In other exemplary embodiments, the command decoders may receive one or more refresh control signals and may provide the one or more refresh control signals to the normal refresh controller 46 in order to facilitate one or more refresh operations.


The normal refresh controller 46 may supply one or more refresh control signals to the memory cell array 20 via the row address latches and decoders 40 and/or the concurrent refresh controllers 42. The normal refresh controller 46 may generate the one or more refresh control signals or receive the one or more refresh control signals from the command decoder 44. In an exemplary embodiment, the normal refresh controller 46 may provide one or more refresh control signals to refresh one row of the memory cell array 20. For example, during a refresh command, the normal refresh controller 46 may provide the one or more refresh control signals having a row address to the row address latches and decoders 40, and the one or more memory cells 12 having the row address in the memory cell array 20 may be refreshed accordingly.


The normal refresh controller 46 may determine an interval between refresh commands. For example, the interval between refresh commands (e.g., a refresh cycle) associated with the normal refresh controller 46 may vary. However, in an exemplary embodiment, the interval between refresh commands associated with the normal refresh controller 46 may be approximately 7.8 microseconds. For example, the interval between refresh commands may be generated externally by a memory controller (not shown) or internally by the normal refresh controller 46.


The address register 48 may be coupled to the row address latches and decoders 40 and/or the concurrent refresh controllers 42. The address register 48 may receive one or more operation control signals having a row address and/or a subarray address and decode the one or more operation control signals to provide the row address and/or the subarray address to a bank of the memory cell array 20 to facilitate one or more operations. Also, the address register 48 may provide a row address and/or a subarray address of a bank within the memory cell array 20 to the row address latches and decoders 40 and/or the concurrent refresh controllers 42 to facilitate one or more operations.


Referring to FIG. 3, there is shown a detailed schematic block diagram of a concurrent refresh controller 42 of the memory cell selection and control circuitry 38 for the semiconductor memory device 10 in accordance with an embodiment of the present disclosure. As shown in FIG. 3, the concurrent refresh controller 42 may be coupled to the command decoder 44, the normal refresh controller 46 and/or the address register 48. The concurrent refresh controller 42 may include a refresh row counter 50, a concurrent refresh subarray counter and latch 52, and/or a clash buffer 54. The concurrent refresh controller 42 may control a refresh operation of the memory cell array 20. The concurrent refresh controller 42 may control one or more refresh operations when one or more refresh control signals are received from the normal refresh controller 46 or when one or more activate commands are received from the command decoder 44 and sent to the concurrent refresh controller 42. In an exemplary embodiment, the concurrent refresh subarray counter and latch 52 may contain subarray address for a concurrent refresh operation. The concurrent refresh operation may be triggered by an active command received from the command decoder 44. The clash buffer 54 may contain subarray address of concurrent refresh operation that may be previously blocked because of a conflict between the concurrent refresh subarray counter and latch 52 and the address register 48 (e.g., subarray address stored in the concurrent refresh subarray counter and latch 52 may equal the subarray address in the address register 48). Upon reception of an active command, a refresh operation may be performed concurrently to the subarray address stored in the clash buffer 54 in the event that the subarray address stored in the clash buffer 54 does not equal to the subarray address associated with the active command. In the event that that a concurrent refresh operation is performed to the subarray address stored in the clash buffer 54, the clash buffer 54 may clear or reset the subarray address stored therein. For example, the address register 48 may provide a row address and/or a subarray address of a bank within the memory cell array 20 to the concurrent refresh controllers 42. In the event that the clash buffer 54 is in a default or cleared state and the subarray address associated with an active command does not equal to the subarray address stored in the concurrent refresh subarray counter and latch 52, a refresh operation may be performed concurrently to the subarray address stored in the concurrent refresh subarray counter and latch 52. In the event that a concurrent refresh operation is performed to the subarray address stored in the concurrent refresh subarray counter and latch 52, the concurrent refresh subarray counter and latch 52 may increment the subarray address stored therein.


In other exemplary embodiments, in the event of a clash condition (e.g., the subarray address in the clash buffer 54 is equal to the subarray address in the one or more active commands), the concurrent refresh controller 42 may perform a concurrent refresh operation to the subarray address in the concurrent refresh subarray counter and latch 52. Also, a clash condition may occur in the event that the class buffer 54 is empty and the subarray address in the concurrent refresh subarray counter and latch 52 is equal to the subarray address in the one or more active commands, the subarray address in the concurrent refresh subarray counter and latch 52 may be stored in the clash buffer 54. Simultaneously or subsequently, the concurrent refresh subarray counter and latch 52 may be incremented to the next subarray address and a concurrent refresh operation may be performed to the next subarray address in the concurrent refresh subarray counter and latch 52. In an exemplary embodiment, the concurrent refresh subarray counter and latch 52 may be reset or cleared, in the event that a concurrent refresh operation is performed to all subarrays within a bank of memory cells 12. In the event that the concurrent refresh subarray counter and latch 52 may be cleared or reset, concurrent refresh operation may not be performed until a normal refresh command is received.


In an exemplary embodiment, the concurrent refresh controller 42 may increase a refresh rate in the event that one or more operations (e.g., a read operation, a write operation, a precharge operation, and/or a refresh operation) may be performed on one or more banks of the memory cell array 20. The concurrent refresh controller 42 may increase the refresh rate by 8 times, 16 times, 32 times, 64 times, and so on for one or more operations performed on the one or more banks of the memory cell array 20. For example, the concurrent refresh controller 42 may increase the refresh rate by 16 times in the event that one or more operations may be performed on a bank of the memory cell array 20. The concurrent refresh controller 42 may increase the refresh rate by introducing concurrent refresh operations between consecutive refresh commands. For example, the concurrent refresh controller 42 may refresh a bank of the memory cell array 20 every 4 milliseconds instead of every 64 milliseconds.


In an exemplary embodiment, the concurrent refresh controller 42 may increase the refresh rate based at least in part on a number of operations performed on a bank of the memory cell array 20 between refresh commands initiated by the normal refresh controller 46. For example, in the event that a bank of the memory cell array 20 may include 16 subarrays, the concurrent refresh controller 42 may increase the refresh rate by 16 times compared to a refresh rate initiated by the normal refresh controller 46 in an implementation where the concurrent refresh subarray counter and latch 52 may be reset or cleared after 16 concurrent refresh commands. Also, the refresh rate may increase or decrease based on an increase or decrease of the number of subarrays in a bank within the memory cell array 20. For example, a bank within the memory cell array 20 may include 8 subarrays and the concurrent refresh controller 42 may increase the refresh rate by 8 times in an implementation where the concurrent refresh subarray counter and latch 52 may be reset or cleared after 8 concurrent refresh operations. In another exemplary embodiment, the concurrent refresh subarray counter and latch 52 may not reset after each subarray may have concurrently refreshed between normal refresh operations. By not resetting the concurrent refresh subarray counter and latch 52, the refresh rate may be associated with one or more active commands (e.g., precharge commands) received from the command decoder 44. Also, a bank within the memory cell array 20 may include 32 subarrays and the concurrent refresh controller 42 may increase the refresh rate by a maximum of 32 times during a refresh cycle for each time the concurrent refresh subarray counter and latch 52 may complete 32 concurrent refresh commands. For example, a refresh cycle may be a time period between two consecutive refresh commands during which one or more concurrent refresh operations and/or active operations (e.g., a read operation, a write operation, and/or a precharge operation) occur.


For example, in the event that 2 operations may be performed during a refresh command, the concurrent refresh controller 42 may increase the refresh rate by 2 times and perform 2 refresh operations at the refresh command. Also, in the event that 4 operations may be performed during a refresh command, the concurrent refresh controller 42 may increase the refresh rate by 4 times and perform 4 refresh operations at the refresh command. Also, in the event that 2 refresh operations are performed during an active command, the concurrent refresh rate may increase 2 times.


The refresh row counter 50 of the concurrent refresh controller 42 may store row address information associated with a bank within the memory cell array 20. The refresh row counter 50 may store row address information for all subarrays within a bank of the memory cell array 20. For example, the refresh row counter 50 may store row address information associated with bank 0 of the memory cell array 20. In an exemplary embodiment, the row address information may include a refresh row address within subarrays of a bank within the memory cell array 20. During an operation, the refresh row counter 50 may be incremented or toggled to a next row address once all subarrays of a bank have been refreshed (e.g., as shown in further detail in FIG. 4).


The concurrent refresh subarray counter and latch 52 may store subarray address information associated with a bank within the memory cell array 20. For example, the concurrent refresh subarray counter and latch 52 may store the subarray address of a refresh operation. The concurrent refresh subarray counter and latch 52 may be incremented or toggled to a next subarray address (e.g., subarray address “1”) upon the completion of a refresh operation to a first subarray address (e.g., subarray address “0”).


Also, the concurrent refresh subarray counter and latch 52 may be set to a predetermined state. For example, the concurrent refresh subarray counter and latch 52 may be set to subarray address “0” during an initial set up. Also, the concurrent refresh subarray counter and latch 52 may be set to subarray address “10” during an initial set up. The concurrent refresh subarray counter and latch 52 may be reset or cleared after the concurrent refresh subarray counter and latch 52 increments or toggles through all subarrays in a bank of the memory cell array 20. In another exemplary embodiment, the concurrent refresh subarray counter and latch 52 may be reset or cleared after the concurrent refresh subarray counter and latch 52 increments or toggles through all subarrays in a bank of the memory cell array 20 a plurality of times. In other exemplary embodiments, the concurrent refresh subarray counter and latch 52 may not be reset or cleared and may continue to increment or toggle.


The clash buffer 54 may store one or more clash subarray addresses. In an exemplary embodiment, the concurrent refresh controller 42 may determine a clash condition based on a subarray address of an active command, a subarray address stored in the concurrent refresh subarray counter and latch 52, and/or a subarray address stored in the clash buffer 54. For example, a clash condition may occur in the event that the subarray address stored in the concurrent refresh subarray counter and latch 52 may be the same as the subarray address of an active command. When the subarray address stored in the concurrent refresh subarray counter and latch 52 is the same as the subarray address of the active command and if the clash buffer 54 is empty, the clash buffer 54 may be set to the subarray address in the concurrent refresh subarray counter and latch 52 because refresh operations to a subarray address may not be performed during an active command to that subarray address. Also, a clash condition may occur in the event that the subarray address stored in the clash buffer 54 is the same as the subarray address of an active command. In the concurrent refresh subarray counter and latch 52, in the event that the concurrent refresh subarray counter and latch 52 may not be reset or cleared, the concurrent refresh controller 42 may control a refresh operation to the subarray address stored in the concurrent refresh subarray counter and latch 52. Also, in the event that the concurrent refresh subarray counter and latch 52 may be reset or cleared, the concurrent refresh controller 42 may instruct the clash buffer 54 to provide the row address for a refresh operation in another refresh command.


Referring to FIG. 4, there is shown a detailed block diagram of a refresh row counter 50, a concurrent refresh subarray counter and latch 52, and a clash buffer 54 of a concurrent refresh controller 42 in accordance with an embodiment of the present disclosure. As discussed above, the refresh row counter 50 may increment or toggle to a next row address once the concurrent refresh subarray counter and latch 52 increments or toggles through all subarrays of a bank within the memory cell array 20. In an exemplary embodiment, the concurrent refresh controller 42 may be associated with bank 0. The refresh row counter 50 of the concurrent refresh controller 42 associated with bank 0 may be set to row zero. Also, the concurrent refresh subarray counter and latch 52 may be set to subarray address 0. As shown FIG. 4, the concurrent refresh subarray counter and latch 52 may increment or toggle to a next subarray address with each active command. The concurrent refresh subarray counter and latch 52 may continue to increment or toggle to a last subarray address (e.g., subarray address 15) of bank 0. Once the concurrent refresh subarray counter and latch 52 increments or toggles to the last subarray address of bank 0, the concurrent refresh subarray counter and latch 52 may be reset and cleared. Also, once the concurrent refresh subarray counter and latch 52 increments or toggles to the last subarray address of bank 0, the refresh row counter 50 may be incremented or toggled to a next row address (e.g., row address 1). In the event that the clash buffer 54 is not empty, the refresh row counter 50 may not increment to a next row address until the clash buffer 54 is emptied.


As described above, the concurrent refresh subarray counter and latch 52 may increment or toggle with every active command and the concurrent refresh subarray counter and latch 52 may sequentially increment or toggle to a next subarray address. For example, the concurrent refresh controller 42 associated with bank 0 may control a refresh operation to subarray 7 of bank 0. Also, an active command may control one or more operations to subarray 7 of bank 0 within the memory cell array 20. In the event that the active command and the concurrent refresh controller 42 may control one or more operations to the same subarray (e.g., subarray 7) of bank 0, the refresh operation may not be performed to the same subarray. Also, the clash buffer 54 may be set to the same subarray 7 and the concurrent refresh controller 42 may control refresh operation to a next subarray (e.g., subarray 8) of bank 0 within the memory cell array 20. The concurrent refresh controller 42 may control a refresh operation to a subarray address stored in the clash buffer 54 during a next active cycle.


In an exemplary embodiment, the concurrent refresh controller 42 associated with bank 0 within the memory cell array 20 may be operated independently from other concurrent refresh controllers 42 associated with other banks within the memory cell array 20. For example, the concurrent refresh controller 42 associated with bank 0 may control one or more refresh operations to bank 0 within the memory cell array 20, while the concurrent refresh controller 42 associated with bank 1 may remain inactive. Also, the concurrent refresh controller associated with bank 1 may control a refresh operation to subarray address 4 of bank 1, the concurrent refresh controller 42 associated with bank 7 may control a refresh operation to subarray address 15 of bank 7, and/or the concurrent refresh controller 42 associated with bank 3 may remain inactive. Also, the refresh row counter 50 of a concurrent refresh controller 42 may be independent from other refresh row counters 50 of other concurrent refresh controllers 42. For example, the refresh row counter 50 of each concurrent refresh controller 42 may maintain a row address for each bank within the memory cell array 20. In an exemplary embodiment, the row address maintained in the refresh row counter 50 of a concurrent refresh controller 42 may be based at least in part on one or more operations performed on each bank within the memory cell array 20.


Referring to FIG. 5, there is shown a flow diagram of a method 500 of concurrently refreshing a semiconductor memory device in accordance with an embodiment of the present disclosure. This exemplary method 500 may be provided by way of example, as there are a variety of ways to carry out the method. The method 500 shown in FIG. 5 may be executed or otherwise performed by one or a combination of various semiconductor memory devices. The method 500 described below may be carried out by the semiconductor memory device 10 shown in FIGS. 1-4, by way of example, and various elements of the semiconductor memory device 10 are referenced in explaining the example method 500 of FIG. 5. Each block shown in FIG. 5 represents one or more processes, methods, or subroutines carried out in exemplary method 500. Referring to FIG. 5, exemplary method 500 may begin at block 502.


At block 502, one or more active commands (e.g., one or more bank activate, read operations, write operations, precharge operations, and/or refresh operations) may be received by a concurrent refresh controller 42 associated with a bank within the memory cell array 20. For example, one or more concurrent refresh controllers 42 associated with different banks within the memory cell array 20 may receive different active commands. Also, one or more concurrent refresh controllers 42 associated with one or more banks may receive one or more active commands, while the remaining concurrent refresh controllers 42 may remain inactive. In an exemplary embodiment, an active command may include bank row address information and/or bank subarray address information (BAAC) in order to properly and accurately control one or more operations to desired memory cells 12.


At block 504, the concurrent refresh controller 42 may determine the bank row address information and/or the bank subarray address information (BAAC) from the active command. Also, the concurrent refresh controller 42 may process the one or more active commands. The concurrent refresh controller 42 may control one or more operations to a bank within the memory cell array 20 based on the row address information and/or the subarray address information.


At block, 506, the concurrent refresh controller 42 may receive one or more active commands associated with a selected bank subarray address (BAAC). The performance of one or more operations may be controlled by the command decoder 44 and/or the concurrent refresh controller 42 or by control circuitry (not shown) outside of the concurrent refresh controller 42. In an exemplary embodiment, the concurrent refresh controller 42 may receive one or more active commands and the concurrent refresh controller 42 may perform one or more operations via a control circuitry (not shown) outside of the concurrent refresh controller 42. In another exemplary embodiment, the concurrent refresh controller 42 may provide one or more timing parameters (e.g., start time, end time, execute duration) for the concurrent refresh operations. In other exemplary embodiments, the concurrent refresh controller 42 may directly transfer the one or more commands to the row address latch and decoder 40 to perform one or more operations.


At block 508, the concurrent refresh controller 42 may increment or toggle a concurrent refresh subarray counter and latch 52 with every active command. As discussed in FIG. 4, the concurrent refresh controller 42 may increment or toggle a subarray address stored in the concurrent refresh subarray counter and latch 52 with each active command. Also, the concurrent refresh controller 42 may determine whether to reset or clear a concurrent refresh subarray counter and latch 52 based on a number of active commands received. For example, in the event that a number of active commands may be greater than or equal to a number of subarrays in a bank, the concurrent refresh controller 42 may reset or clear a concurrent refresh subarray counter and latch 52 because all of the subarrays in the bank may have been concurrently refreshed. In another exemplary embodiment, a concurrent refresh subarray counter and latch 52 and/or a clash buffer 54 may store a subarray address to be refreshed. In the event that a number of active commands may be greater than or equal to a number of subarrays in a bank, the subarray address stored in a concurrent refresh subarray counter and latch 52 and/or a clash buffer 54 may be refreshed during a next normal refresh command.


At block 510, the concurrent refresh controller 42 may initiate one or more algorithms to determine if a clash buffer has the same bank subarray address (BAAC) as one or more active commands. In the event that the bank subarray address (BAAC) of the one or more active commands is the same as the subarray address in the clash buffer 54, the concurrent refresh controller 42 may determine that a refresh operation may be blocked because a refresh operation and an active command may not be performed simultaneously on the same subarray of a bank. In the event that the clash buffer 54 does not have the same bank subarray address (BAAC) as the active command, a state of the clash buffer 54 may be determined.


At block 512, in the event that the subarray address stored in the clash buffer 54 is the same as the bank subarray address (BAAC) of the one or more active commands, the concurrent refresh controller 42 may determine whether the concurrent refresh subarray counter and latch 52 has been reset or cleared.


At block 514, in the event that the concurrent refresh subarray counter and latch 52 is not reset or cleared, the concurrent refresh controller 42 may control concurrent refresh operation on the bank subarray address (BACC) in the concurrent refresh subarray counter and latch 52 during the one or more active commands. The concurrent refresh operation controlled by the concurrent refresh controller 42 may satisfy the one or more active commands and/or the clash buffer 54 in the event that the active command and/or the concurrent refresh subarray counter and latch 52 may have the same subarray address. Subsequently, the concurrent refresh controller 42 may reset or clear the clash buffer 54.


At block 516, the concurrent refresh controller 42 may increment or toggle the bank subarray address (BACC) stored in the concurrent refresh subarray counter and latch 52.


At block 518, in the event that the concurrent refresh subarray counter and latch 52 was previously reset or cleared, the concurrent refresh controller 42 may maintain the subarray address stored in the clash buffer 54 for a refresh operation in a subsequent refresh command. The concurrent refresh controller may wait until a subsequent refresh command to control a refresh operation to the subarray address stored in the clash buffer 54.


At block 520, in the event that a clash buffer 54 does not have the same bank subarray address (BAAC) as one or more active commands (e.g., at block 510), the concurrent refresh controller 42 may determine whether a clash buffer 54 may be empty.


At block 522, in the event that the clash buffer 54 is not empty, the concurrent refresh controller 42 may control a refresh operation based on the subarray address information stored in the clash buffer 54. In an exemplary embodiment, the concurrent refresh controller 42 may control a refresh operation on an address stored in the clash buffer 54. Subsequently, the concurrent refresh controller 42 may also reset and/or empty the clash buffer 54 at block 522. The subarray address information stored in the clash buffer 54 may take priority over the subarray address information stored in the concurrent refresh subarray counter and latch 52 and the refresh operation may be performed first to the subarray address information stored in the clash buffer 54.


At block 524, in the event that the clash buffer 54 is empty, the concurrent refresh controller 42 may determine a status (e.g., reset or cleared) of the concurrent refresh subarray counter and latch 52.


At block 526, in the event that the concurrent refresh subarray counter and latch 52 is reset or cleared, the concurrent refresh subarray counter and latch 52 may not be used to perform refresh operations until a next refresh command. For example, the concurrent refresh subarray counter and latch 52 may be reset or cleared when the concurrent refresh subarray counter and latch 52 has been used to refresh all of the subarrays of a bank within the memory cell array 20. Therefore, the concurrent refresh subarray counter and latch 52 may not be used to perform refresh operations to the subarrays of the bank within the memory cell array 20 until a next refresh cycle.


At block 528, in the event that the concurrent refresh subarray counter and latch 52 may not be reset or cleared, the concurrent refresh controller 42 may determine whether the bank subarray address (BACC) stored in the concurrent refresh subarray counter and latch 52 may be the same as the bank subarray address (BAAC) of the one or more active commands. In the event that the bank subarray address (BACC) stored in the concurrent refresh subarray counter and latch 52 is not the same as the bank subarray address (BAAC) of the one or more active commands, the concurrent refresh controller 42 may control a refresh operation to the bank subarray address (BACC) stored in the concurrent refresh subarray counter and latch 52, as indicated at block 514.


At block 530, in the event that the bank subarray address (BACC) stored in the concurrent refresh subarray counter and latch 52 is the same as the bank subarray address (BAAC) of the one or more active commands, the concurrent refresh controller 42 may set the clash buffer 54 to have the same bank subarray address (BACC) as stored in the concurrent refresh subarray counter and latch 52. For example, the one or more active commands and the concurrent refresh subarray counter and latch 52 may have the same bank subarray address, and the one or more active commands will be executed on the bank subarray address before the refresh operation controlled by the concurrent refresh controller 42. The refresh operation may be performed on the subarray address stored in the clash buffer 54 at a next refresh command.


At block 532, because the bank subarray address (BAAC) of the one or more active commands is the same as the bank subarray address (BACC) stored in the concurrent refresh subarray counter and latch 52, the bank subarray address (BACC) stored in the concurrent refresh subarray counter and latch 52 may be incremented or toggled to an address of a next subarray of the bank within the memory cell array 20. The concurrent refresh controller 42 may control the refresh operation on the next subarray of the bank within the memory cell array 20, as indicated at block 514. Subsequently, the bank subarray address (BACC) stored in the concurrent refresh subarray counter and latch 52 may be incremented or toggled to a next subarray address, as indicated at block 516.


At this point it should be noted that reducing impact of array disturbs in a semiconductor memory device in accordance with the present disclosure as described above typically involves the processing of input data and the generation of output data to some extent. This input data processing and output data generation may be implemented in hardware or software. For example, specific electronic components may be employed in a semiconductor memory device or similar or related circuitry for implementing the functions associated with reducing impact of array disturbs in a semiconductor memory device in accordance with the present disclosure as described above. Alternatively, one or more processors operating in accordance with instructions may implement the functions associated with reducing impact of array disturbs in a semiconductor memory device in accordance with the present disclosure as described above. If such is the case, it is within the scope of the present disclosure that such instructions may be stored on one or more processor readable media (e.g., a magnetic disk or other storage medium), or transmitted to one or more processors via one or more signals embodied in one or more carrier waves.


The present disclosure is not to be limited in scope by the specific embodiments described herein. Indeed, other various embodiments of and modifications to the present disclosure, in addition to those described herein, will be apparent to those of ordinary skill in the art from the foregoing description and accompanying drawings. Thus, such other embodiments and modifications are intended to fall within the scope of the present disclosure. Further, although the present disclosure has been described herein in the context of a particular implementation in a particular environment for a particular purpose, those of ordinary skill in the art will recognize that its usefulness is not limited thereto and that the present disclosure may be beneficially implemented in any number of environments for any number of purposes. Accordingly, the claims set forth below should be construed in view of the full breadth and spirit of the present disclosure as described herein.

Claims
  • 1. A method for reducing impact of array disturbs in a semiconductor memory device, the method comprising: receiving a first refresh command including a first subarray address to perform a first refresh operation to a first logical subarray of memory cells associated with the first subarray address;receiving a second refresh command including a second subarray address to perform a second refresh operation to a second logical subarray of memory cells associated with the second subarray address, wherein the second refresh command is received after a time period from the reception of the first refresh command; andperforming a number of concurrent refresh operations during the time period;wherein in the event that the active subarray address of the active operation is equal to a refresh subarray address of a first concurrent refresh operation, the refresh subarray address is stored in a clash buffer.
  • 2. The method according to claim 1, wherein the number of concurrent refresh operations is based at least in part on a number of active operations including an active subarray address performed during the time period, wherein the active operations access one or more subarray addresses.
  • 3. The method according to claim 1, wherein the number of concurrent refresh operations performed is based at least in part on a number of plurality of subarrays within a plurality of banks of memory cells.
  • 4. The method according to claim 1, wherein the refresh subarray address stored in the clash buffer is used for a second concurrent refresh operation, wherein the first concurrent refresh operation is performed to a different subarray address than the second concurrent refresh operation.
  • 5. The method according to claim 4, further comprises clearing the clash buffer when the second concurrent refresh operation is performed to the refresh subarray address stored in the clash buffer.
  • 6. The method according to claim 1, further comprises clearing the clash buffer upon completion of at least one of the first refresh operation and the second refresh operation to a subarray address stored in the clash buffer.
  • 7. The method according to claim 1, the refresh subarray address stored in the clash buffer is used for the second subarray address for the second refresh operation.
  • 8. The method according to claim 1, wherein the concurrent refresh operations are performed to a subarray address stored in a concurrent refresh subarray counter and latch.
  • 9. A method for increasing a refresh rate for a semiconductor memory device receiving one or more refresh commands, the method comprising: receiving a first refresh command including a first subarray address to perform a first refresh operation to a first logical subarray of memory cells associated with the first subarray address;receiving a second refresh command including a second subarray address to perform a second refresh operation to a second logical subarray of memory cells associated with the second subarray address, wherein the second refresh command is received after a time period from the reception of the first refresh command; andperforming a number of concurrent refresh operations during the time period;wherein in the event that the active subarray address of the active operation is equal to a refresh subarray address of a first concurrent refresh operation, the refresh subarray address is stored in a clash buffer.
  • 10. The method according to claim 9, wherein the number of concurrent refresh operations is based at least in part on a number of active operations including an active subarray address performed during the time period, wherein the active operations access one or more subarray addresses.
  • 11. The method according to claim 9, wherein the number of concurrent refresh operations performed is based at least in part on a number of plurality of subarrays within a plurality of banks of memory cells.
  • 12. The method according to claim 9, wherein the refresh subarray address stored in the clash buffer is used for a second concurrent refresh operation, wherein the first concurrent refresh operation is performed to a different subarray address than the second concurrent refresh operation.
  • 13. The method according to claim 12, further comprises clearing the clash buffer when the second concurrent refresh operation is performed to the refresh subarray address stored in the clash buffer.
  • 14. The method according to claim 9, further comprises clearing the clash buffer upon completion of at least one of the first refresh operation and the second refresh operation.
  • 15. The method according to claim 9, the refresh subarray address stored in the clash buffer is used for the second subarray address for the second refresh operation.
  • 16. The method according to claim 9, wherein the concurrent refresh operations are performed to a subarray address stored in a concurrent refresh subarray counter and latch.
  • 17. A system for reducing impact of array disturbs in a semiconductor memory device comprising: means for receiving a first active command directed to an active subarray address to perform a number of active operations to the active subarray address; andmeans for performing a number of concurrent refresh operations between two consecutive refresh operations to one or more inactive subarray addresses, wherein the number of concurrent refresh operations is based at least in part on the number of active operations performed between the two consecutive refresh operations;wherein in the event that the active subarray address of the active operations is equal to an inactive subarray address of a concurrent refresh operation, the inactive subarray address is stored in a clash buffer.
  • 18. A semiconductor memory device comprising: a memory cell array having one or more banks of memory cells arranged in arrays of rows and columns, wherein each of the one or more banks of memory cells includes a plurality of subarrays of memory cells;a plurality of concurrent refresh controllers coupled to the one or more banks of memory cells configured to provide one or more concurrent refresh control signals to the one or more banks of memory cells in order to perform one or more concurrent refresh operations; anda normal refresh controller coupled to the plurality of concurrent refresh controllers.
  • 19. The semiconductor memory device according to claim 18, further comprising one or more row address latch and decoders configured to provide the one or more concurrent refresh control signals from the plurality of concurrent refresh controllers to the one or more banks of memory cells.
  • 20. The semiconductor memory device according to claim 19, wherein each of the plurality of concurrent refresh controllers is configured to generate a multiplexer control signal that enables or disables a corresponding row address latch and decoder.
  • 21. The semiconductor memory device according to claim 18, wherein each of the plurality of concurrent refresh controllers comprises a refresh row counter.
  • 22. The semiconductor memory device according to claim 21, wherein the refresh row counter stores row address information associated with the plurality of subarrays of a corresponding one of the one or more banks of memory cells.
  • 23. The semiconductor memory device according to claim 21, wherein each of the plurality of concurrent refresh controllers further comprises a concurrent refresh subarray counter and latch.
  • 24. The semiconductor memory device according to claim 23, wherein the concurrent refresh subarray counter and latch stores subarray address information associated with a corresponding one of the one or more banks of memory cells.
  • 25. The semiconductor memory device according to claim 23, wherein each concurrent refresh subarray counter and latch increments or toggles to a next subarray address with each execution of an active command.
  • 26. The semiconductor memory device according to claim 23, wherein, after each concurrent refresh subarray counter and latch increments or toggles through all of the plurality of subarrays of a corresponding one of the one or more banks of memory cells, a corresponding refresh row counter increments or toggles to a next row address.
  • 27. The semiconductor memory device according to claim 23, wherein each of the plurality of concurrent refresh controllers further comprises a clash buffer.
  • 28. The semiconductor memory device according to claim 27, wherein the clash buffer stores subarray address information in the event of a clash condition.
  • 29. The semiconductor memory device according to claim 28, wherein the clash condition occurs in the event that subarray address information of one or more active commands equals subarray address information stored in a corresponding concurrent refresh subarray counter and latch or the subarray address information of the one or more active commands equals subarray address information stored in a corresponding clash buffer.
  • 30. The semiconductor memory device according to claim 28, wherein, in the event of the clash condition, a clash buffer is set to a subarray address stored in a corresponding concurrent refresh subarray counter and latch.
  • 31. The semiconductor memory device according to claim 18, further comprising a command decoder.
  • 32. The semiconductor memory device according to claim 31, wherein the command decoder is configured to provide one or more active commands to the one or more banks of memory cells in order to perform one or more operations.
  • 33. The semiconductor memory device according to claim 32, wherein the one or more operations include at least one of a read operation, a write operation, a precharge operation, and a refresh command.
  • 34. The semiconductor memory device according to claim 18, wherein the normal refresh controller is configured to provide one or more refresh control signals to the plurality of concurrent refresh controllers.
US Referenced Citations (310)
Number Name Date Kind
3439214 Kabell Apr 1969 A
3997799 Baker Dec 1976 A
4032947 Kesel et al. Jun 1977 A
4222112 Clemons et al. Sep 1980 A
4250569 Sasaki et al. Feb 1981 A
4262340 Sasaki et al. Apr 1981 A
4298962 Hamano et al. Nov 1981 A
4371955 Sasaki Feb 1983 A
4527181 Sasaki Jul 1985 A
4630089 Sasaki et al. Dec 1986 A
4658377 McElroy Apr 1987 A
4791610 Takemae Dec 1988 A
4807195 Busch et al. Feb 1989 A
4954989 Auberton-Herve et al. Sep 1990 A
4979014 Hieda et al. Dec 1990 A
5010524 Fifield et al. Apr 1991 A
5144390 Matloubian Sep 1992 A
5164805 Lee Nov 1992 A
5184325 Lipovski Feb 1993 A
5258635 Nitayama et al. Nov 1993 A
5313432 Lin et al. May 1994 A
5315541 Harari et al. May 1994 A
5350938 Matsukawa Sep 1994 A
5355330 Hisamoto et al. Oct 1994 A
5388068 Ghoshal et al. Feb 1995 A
5397726 Bergemont et al. Mar 1995 A
5432730 Shubat et al. Jul 1995 A
5446299 Acovic et al. Aug 1995 A
5448513 Hu et al. Sep 1995 A
5466625 Hsieh et al. Nov 1995 A
5489792 Hu et al. Feb 1996 A
5506436 Hayashi et al. Apr 1996 A
5515383 Katoozi May 1996 A
5526307 Yiu et al. Jun 1996 A
5528062 Hsieh et al. Jun 1996 A
5568356 Schwartz Oct 1996 A
5583808 Brahmbhatt Dec 1996 A
5593912 Rajeevakumar Jan 1997 A
5606188 Bronner et al. Feb 1997 A
5608250 Kalnitsky Mar 1997 A
5627092 Alsmeier et al. May 1997 A
5631186 Park et al. May 1997 A
5677867 Hazani Oct 1997 A
5696718 Hartmann Dec 1997 A
5724295 Beiley et al. Mar 1998 A
5740099 Tanigawa Apr 1998 A
5754469 Hung et al. May 1998 A
5774411 Hsieh et al. Jun 1998 A
5778243 Aipperspach et al. Jul 1998 A
5780906 Wu et al. Jul 1998 A
5784311 Assaderaghi et al. Jul 1998 A
5798968 Lee et al. Aug 1998 A
5811283 Sun Sep 1998 A
5847411 Morii Dec 1998 A
5877978 Morishita et al. Mar 1999 A
5886376 Acovic et al. Mar 1999 A
5886385 Arisumi et al. Mar 1999 A
5897351 Forbes Apr 1999 A
5926429 Saitoh et al. Jul 1999 A
5929479 Oyama Jul 1999 A
5930648 Yang Jul 1999 A
5936265 Koga Aug 1999 A
5939745 Park et al. Aug 1999 A
5943258 Houston et al. Aug 1999 A
5943581 Lu et al. Aug 1999 A
5960265 Acovic et al. Sep 1999 A
5968840 Park et al. Oct 1999 A
5977578 Tang Nov 1999 A
5982003 Hu et al. Nov 1999 A
5986914 McClure Nov 1999 A
6018172 Hidada et al. Jan 2000 A
6048756 Lee et al. Apr 2000 A
6081443 Morishita Jun 2000 A
6096598 Furukawa et al. Aug 2000 A
6097056 Hsu et al. Aug 2000 A
6097624 Chung et al. Aug 2000 A
6111778 MacDonald et al. Aug 2000 A
6121077 Hu et al. Sep 2000 A
6133597 Li et al. Oct 2000 A
6157216 Lattimore et al. Dec 2000 A
6171923 Chi et al. Jan 2001 B1
6177300 Houston et al. Jan 2001 B1
6177698 Gruening et al. Jan 2001 B1
6177708 Kuang et al. Jan 2001 B1
6195303 Zheng Feb 2001 B1
6214694 Leobandung et al. Apr 2001 B1
6222217 Kunikiyo Apr 2001 B1
6225158 Furukawa et al. May 2001 B1
6233193 Holland et al. May 2001 B1
6245613 Hsu et al. Jun 2001 B1
6252281 Yamamoto et al. Jun 2001 B1
6262935 Parris et al. Jul 2001 B1
6292424 Ohsawa Sep 2001 B1
6297090 Kim Oct 2001 B1
6300649 Hu et al. Oct 2001 B1
6310814 Hampel et al. Oct 2001 B1
6320227 Lee et al. Nov 2001 B1
6333532 Davari et al. Dec 2001 B1
6333866 Ogata Dec 2001 B1
6350653 Adkisson et al. Feb 2002 B1
6351426 Ohsawa Feb 2002 B1
6359802 Lu et al. Mar 2002 B1
6384445 Hidaka et al. May 2002 B1
6391658 Gates et al. May 2002 B1
6403435 Kang et al. Jun 2002 B1
6421269 Somasekhar et al. Jul 2002 B1
6424011 Assaderaghi et al. Jul 2002 B1
6424016 Houston Jul 2002 B1
6429477 Mandelman et al. Aug 2002 B1
6432769 Fukuda et al. Aug 2002 B1
6440872 Mandelman et al. Aug 2002 B1
6441435 Chan Aug 2002 B1
6441436 Wu et al. Aug 2002 B1
6466511 Fujita et al. Oct 2002 B2
6479862 King et al. Nov 2002 B1
6480407 Keeth Nov 2002 B1
6492211 Divakaruni et al. Dec 2002 B1
6518105 Yang et al. Feb 2003 B1
6529433 Choi Mar 2003 B2
6531754 Nagano et al. Mar 2003 B1
6537871 Forbes Mar 2003 B2
6538916 Ohsawa Mar 2003 B2
6544837 Divakauni et al. Apr 2003 B1
6548848 Horiguchi et al. Apr 2003 B2
6549450 Hsu et al. Apr 2003 B1
6552398 Hsu et al. Apr 2003 B2
6552932 Cernea Apr 2003 B1
6556477 Hsu et al. Apr 2003 B2
6560142 Ando May 2003 B1
6563733 Chang et al. May 2003 B2
6563757 Agata May 2003 B2
6566177 Radens et al. May 2003 B1
6567330 Fujita et al. May 2003 B2
6573566 Ker et al. Jun 2003 B2
6574135 Komatsuzaki Jun 2003 B1
6590258 Divakauni et al. Jul 2003 B2
6590259 Adkisson et al. Jul 2003 B2
6617651 Ohsawa Sep 2003 B2
6621725 Ohsawa Sep 2003 B2
6632723 Watanabe et al. Oct 2003 B2
6650565 Ohsawa Nov 2003 B1
6653175 Nemati et al. Nov 2003 B1
6686624 Hsu Feb 2004 B2
6703673 Houston Mar 2004 B2
6707118 Muljono et al. Mar 2004 B2
6714436 Burnett et al. Mar 2004 B1
6721222 Somasekhar et al. Apr 2004 B2
6781875 Ohsawa Aug 2004 B2
6825524 Ikehashi et al. Nov 2004 B1
6859407 Suh Feb 2005 B1
6861689 Burnett Mar 2005 B2
6870225 Bryant et al. Mar 2005 B2
6882566 Nejad et al. Apr 2005 B2
6888770 Ikehashi May 2005 B2
6894913 Yamauchi May 2005 B2
6897098 Hareland et al. May 2005 B2
6903984 Tang et al. Jun 2005 B1
6909151 Hareland et al. Jun 2005 B2
6912150 Portman et al. Jun 2005 B2
6913964 Hsu Jul 2005 B2
6914841 Thwaite Jul 2005 B1
6936508 Visokay et al. Aug 2005 B2
6967885 Barth et al. Nov 2005 B2
6969662 Fazan et al. Nov 2005 B2
6975536 Maayan et al. Dec 2005 B2
6982902 Gogl et al. Jan 2006 B2
6987041 Ohkawa Jan 2006 B2
7030436 Forbes Apr 2006 B2
7037790 Chang et al. May 2006 B2
7041538 Ieong et al. May 2006 B2
7042765 Sibigtroth et al. May 2006 B2
7061806 Tang et al. Jun 2006 B2
7085153 Ferrant et al. Aug 2006 B2
7085156 Ferrant et al. Aug 2006 B2
7088633 Remaklus et al. Aug 2006 B2
7145825 Mori et al. Dec 2006 B2
7170807 Fazan et al. Jan 2007 B2
7177175 Fazan et al. Feb 2007 B2
7184350 Remaklus et al. Feb 2007 B2
7187581 Ferrant et al. Mar 2007 B2
7230846 Keshavarzi Jun 2007 B2
7233024 Scheuerlein et al. Jun 2007 B2
7256459 Shino Aug 2007 B2
7263021 Lee Aug 2007 B2
7301803 Okhonin et al. Nov 2007 B2
7301838 Waller Nov 2007 B2
7313047 Kim Dec 2007 B2
7317641 Scheuerlein Jan 2008 B2
7324387 Bergemont et al. Jan 2008 B1
7330391 Freebern Feb 2008 B2
7335934 Fazan Feb 2008 B2
7341904 Willer Mar 2008 B2
7362643 Okada Apr 2008 B2
7379367 Kim May 2008 B2
7416943 Figura et al. Aug 2008 B2
7444577 Best et al. Oct 2008 B2
7456439 Horch Nov 2008 B1
7477540 Okhonin et al. Jan 2009 B2
7492632 Carman Feb 2009 B2
7517744 Mathew et al. Apr 2009 B2
7539041 Kim et al. May 2009 B2
7542340 Fisch et al. Jun 2009 B2
7542345 Okhonin et al. Jun 2009 B2
7545694 Srinivasa Raghavan et al. Jun 2009 B2
7606066 Okhonin et al. Oct 2009 B2
7630268 Eto Dec 2009 B2
7696032 Kim et al. Apr 2010 B2
7734866 Tsern Jun 2010 B2
7755967 Kunce et al. Jul 2010 B2
7911866 Kobayashi Mar 2011 B2
8151044 Proesbsting Apr 2012 B2
20010055859 Yamada et al. Dec 2001 A1
20020030214 Horiguchi Mar 2002 A1
20020034855 Horiguchi et al. Mar 2002 A1
20020036322 Divakauni et al. Mar 2002 A1
20020051378 Ohsawa May 2002 A1
20020064913 Adkisson et al. May 2002 A1
20020070411 Vermandel et al. Jun 2002 A1
20020072155 Liu et al. Jun 2002 A1
20020076880 Yamada et al. Jun 2002 A1
20020086463 Houston et al. Jul 2002 A1
20020089038 Ning Jul 2002 A1
20020098643 Kawanaka et al. Jul 2002 A1
20020110018 Ohsawa Aug 2002 A1
20020114191 Iwata et al. Aug 2002 A1
20020130341 Horiguchi et al. Sep 2002 A1
20020160581 Watanabe et al. Oct 2002 A1
20020180069 Houston Dec 2002 A1
20030003608 Arikado et al. Jan 2003 A1
20030015757 Ohsawa Jan 2003 A1
20030035324 Fujita et al. Feb 2003 A1
20030042516 Forbes et al. Mar 2003 A1
20030047784 Matsumoto et al. Mar 2003 A1
20030057487 Yamada et al. Mar 2003 A1
20030057490 Nagano et al. Mar 2003 A1
20030102497 Fried et al. Jun 2003 A1
20030112659 Ohsawa Jun 2003 A1
20030123279 Aipperspach et al. Jul 2003 A1
20030146474 Ker et al. Aug 2003 A1
20030146488 Nagano et al. Aug 2003 A1
20030151112 Yamada et al. Aug 2003 A1
20030231521 Ohsawa Dec 2003 A1
20040021137 Fazan et al. Feb 2004 A1
20040021179 Lee et al. Feb 2004 A1
20040029335 Lee et al. Feb 2004 A1
20040075143 Bae et al. Apr 2004 A1
20040108532 Forbes et al. Jun 2004 A1
20040188714 Scheuerlein et al. Sep 2004 A1
20040217420 Yeo et al. Nov 2004 A1
20050001257 Schloesser et al. Jan 2005 A1
20050001269 Hayashi et al. Jan 2005 A1
20050017240 Fazan Jan 2005 A1
20050047240 Ikehashi et al. Mar 2005 A1
20050062088 Houston Mar 2005 A1
20050063224 Fazan et al. Mar 2005 A1
20050064659 Willer Mar 2005 A1
20050105342 Tang et al. May 2005 A1
20050111255 Tang et al. May 2005 A1
20050121710 Shino Jun 2005 A1
20050135169 Somasekhar et al. Jun 2005 A1
20050141262 Yamada et al. Jun 2005 A1
20050141290 Tang et al. Jun 2005 A1
20050145886 Keshavarzi et al. Jul 2005 A1
20050145935 Keshavarzi et al. Jul 2005 A1
20050167751 Nakajima et al. Aug 2005 A1
20050189576 Ohsawa Sep 2005 A1
20050208716 Takaura et al. Sep 2005 A1
20050226070 Ohsawa Oct 2005 A1
20050232043 Ohsawa Oct 2005 A1
20050242396 Park et al. Nov 2005 A1
20050265107 Tanaka Dec 2005 A1
20060043484 Cabral et al. Mar 2006 A1
20060091462 Okhonin et al. May 2006 A1
20060098481 Okhonin et al. May 2006 A1
20060126374 Waller et al. Jun 2006 A1
20060131650 Okhonin et al. Jun 2006 A1
20060223302 Chang et al. Oct 2006 A1
20070008811 Keeth et al. Jan 2007 A1
20070023833 Okhonin et al. Feb 2007 A1
20070045709 Yang Mar 2007 A1
20070058427 Okhonin et al. Mar 2007 A1
20070064489 Bauser Mar 2007 A1
20070085140 Bassin Apr 2007 A1
20070097751 Popoff et al. May 2007 A1
20070114599 Hshieh May 2007 A1
20070133330 Ohsawa Jun 2007 A1
20070138524 Kim et al. Jun 2007 A1
20070138530 Okhonin et al. Jun 2007 A1
20070187751 Hu et al. Aug 2007 A1
20070187775 Okhonin et al. Aug 2007 A1
20070200176 Kammler et al. Aug 2007 A1
20070211549 Kobayashi Sep 2007 A1
20070252205 Hoentschel et al. Nov 2007 A1
20070263466 Morishita et al. Nov 2007 A1
20070278578 Yoshida et al. Dec 2007 A1
20080049486 Gruening-von Schwerin Feb 2008 A1
20080083949 Zhu et al. Apr 2008 A1
20080099808 Burnett et al. May 2008 A1
20080130379 Ohsawa Jun 2008 A1
20080133849 Demi et al. Jun 2008 A1
20080165577 Fazan et al. Jul 2008 A1
20080253179 Slesazeck Oct 2008 A1
20080258206 Hofmann Oct 2008 A1
20090086535 Ferrant et al. Apr 2009 A1
20090121269 Caillat et al. May 2009 A1
20090127592 El-Kareh et al. May 2009 A1
20090201723 Okhonin et al. Aug 2009 A1
20100085813 Shino Apr 2010 A1
20100091586 Carman Apr 2010 A1
20100110816 Nautiyal et al. May 2010 A1
Foreign Referenced Citations (106)
Number Date Country
272437 Jul 1927 CA
0 030 856 Jun 1981 EP
0 350 057 Jan 1990 EP
0 354 348 Feb 1990 EP
0 202 515 Mar 1991 EP
0 207 619 Aug 1991 EP
0 175 378 Nov 1991 EP
0 253 631 Apr 1992 EP
0 513 923 Nov 1992 EP
0 300 157 May 1993 EP
0 564 204 Oct 1993 EP
0 579 566 Jan 1994 EP
0 362 961 Feb 1994 EP
0 599 506 Jun 1994 EP
0 359 551 Dec 1994 EP
0 366 882 May 1995 EP
0 465 961 Aug 1995 EP
0 694 977 Jan 1996 EP
0 333 426 Jul 1996 EP
0 727 820 Aug 1996 EP
0 739 097 Oct 1996 EP
0 245 515 Apr 1997 EP
0 788 165 Aug 1997 EP
0 801 427 Oct 1997 EP
0 510 607 Feb 1998 EP
0 537 677 Aug 1998 EP
0 858 109 Aug 1998 EP
0 860 878 Aug 1998 EP
0 869 511 Oct 1998 EP
0 878 804 Nov 1998 EP
0 920 059 Jun 1999 EP
0 924 766 Jun 1999 EP
0 642 173 Jul 1999 EP
0 727 822 Aug 1999 EP
0 933 820 Aug 1999 EP
0 951 072 Oct 1999 EP
0 971 360 Jan 2000 EP
0 980 101 Feb 2000 EP
0 601 590 Apr 2000 EP
0 993 037 Apr 2000 EP
0 836 194 May 2000 EP
0 599 388 Aug 2000 EP
0 689 252 Aug 2000 EP
0 606 758 Sep 2000 EP
0 682 370 Sep 2000 EP
1 073 121 Jan 2001 EP
0 726 601 Sep 2001 EP
0 731 972 Nov 2001 EP
1 162 663 Dec 2001 EP
1 162 744 Dec 2001 EP
1 179 850 Feb 2002 EP
1 180 799 Feb 2002 EP
1 191 596 Mar 2002 EP
1 204 146 May 2002 EP
1 204 147 May 2002 EP
1 209 747 May 2002 EP
0 744 772 Aug 2002 EP
1 233 454 Aug 2002 EP
0 725 402 Sep 2002 EP
1 237 193 Sep 2002 EP
1 241 708 Sep 2002 EP
1 253 634 Oct 2002 EP
0 844 671 Nov 2002 EP
1 280 205 Jan 2003 EP
1 288 955 Mar 2003 EP
2 197 494 Mar 1974 FR
1 414 228 Nov 1975 GB
H04-176163 Jun 1922 JP
S62-007149 Jan 1987 JP
S62-272561 Nov 1987 JP
02-294076 Dec 1990 JP
03-171768 Jul 1991 JP
05-347419 Dec 1993 JP
08-213624 Aug 1996 JP
H08-213624 Aug 1996 JP
08-274277 Oct 1996 JP
H08-316337 Nov 1996 JP
09-046688 Feb 1997 JP
09-082912 Mar 1997 JP
10-242470 Sep 1998 JP
11-087649 Mar 1999 JP
2000-247735 Aug 2000 JP
12-274221 Sep 2000 JP
12-389106 Dec 2000 JP
13-180633 Jun 2001 JP
2002-009081 Jan 2002 JP
2002-083945 Mar 2002 JP
2002-094027 Mar 2002 JP
2002-176154 Jun 2002 JP
2002-246571 Aug 2002 JP
2002-329795 Nov 2002 JP
2002-343886 Nov 2002 JP
2002-353080 Dec 2002 JP
2003-031693 Jan 2003 JP
2003-68877 Mar 2003 JP
2003-086712 Mar 2003 JP
2003-100641 Apr 2003 JP
2003-100900 Apr 2003 JP
2003-132682 May 2003 JP
2003-203967 Jul 2003 JP
2003-243528 Aug 2003 JP
2004-335553 Nov 2004 JP
2005-332497 Dec 2005 JP
2007-035151 Feb 2007 JP
WO 0124268 Apr 2001 WO
WO 2005008778 Jan 2005 WO
Related Publications (1)
Number Date Country
20110141836 A1 Jun 2011 US