WO2000043893A2 - Method and apparatus for refreshing a semiconductor memory using idle memory cycles - Google Patents
Method and apparatus for refreshing a semiconductor memory using idle memory cycles Download PDFInfo
- Publication number
- WO2000043893A2 WO2000043893A2 PCT/US2000/001487 US0001487W WO0043893A2 WO 2000043893 A2 WO2000043893 A2 WO 2000043893A2 US 0001487 W US0001487 W US 0001487W WO 0043893 A2 WO0043893 A2 WO 0043893A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- memory
- refresh
- idle cycles
- system bus
- idle
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40618—Refresh operations over multiple banks or interleaving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1636—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
Definitions
- the present invention relates to a semiconductor memory that must be periodically refreshed. More specifically, the present invention relates to a method and apparatus for performing refresh operations in a semiconductor memory during idle cycles of the memory.
- DRAM dynamic random access memory
- Some conventional semiconductor memories such as dynamic random access memory (DRAM)
- DRAM dynamic random access memory
- a mechanism is required to inform the memory controller that the DRAM is performing a refresh operation. Any pending memory transaction has to be delayed until the refresh operation is completed. Refresh operations therefore lengthen the overall access time for memory accesses. It is therefore important to design a memory system in which the impact of refresh operations on external memory access is minimized. Many different methods have been proposed to refresh these semiconductor memories.
- an external device signals a refresh operation by asserting a column access signal CAS# prior to asserting a row access signal RAS# .
- the column address strobe signal RAS# is asserted before the column address strobe signal CAS# .
- the memory performs a refresh operation. The refresh operation typically is performed by reading the row of the memory to be refreshed.
- a “CAS before RAS” refresh scheme is described in 1991 Memory Products Data Book, uPD424248 262 , 144x4-Bit Dynamic CMOS RAM, NEC Electronics, pp 6-101 to 6-113.
- This reference also illustrates a hidden refresh that is a variation of the "CAS before RAS" refresh method.
- These methods for refresh require handshake communication between the semiconductor memory and the external device, making the external device control the memory refresh.
- Another conventional semiconductor memory that must be periodically refreshed is synchronous DRAM (SDRAM) .
- SDRAM synchronous DRAM
- One conventional SDRAM initiates refresh operations in response to control signals (i.e., RAS#, CAS#, CS#, E# and CKE) received from an external device. These control signals are decoded to provide command codes that are used to control the refresh operations of the SDRAM. For example, when the control signals RAS#, CAS#, CS#, WE# and CKE have values of 0,0,0,1, and 1, a control code for initiating an auto refresh operation is generated.
- a control code for initiating a self refresh operation is generated.
- This SDRAM is described in more detail IBM0316409C, 16Mbit Synchronous DRAM data sheet, 1996, IBM Corporation.
- Other synchronous DRAM have used explicit command codes for handling memory refresh. These include SLDRAM [4M x 18 SLDRAM CONS400.P65 - Rev. 9/22/97, 400 Mb/s/pin SLDRAM SLD4M18DR400 4Mxl8 SLDRAM Data Sheet, SLDRAM Consortium] and Rambus DRAM (RDRAM) .
- the present invention provides a memory system having a memory controller and one or more memory blocks that are commonly coupled to a system bus.
- Each memory block includes an array of memory cells that must be periodically refreshed to retain valid data.
- Each memory block also includes a refresh control circuit that refreshes the memory cells during idle cycles of the memory array.
- the memory controller includes a refresh manager that monitors the number of idle cycles on the system bus during a refresh period, and forces one or more idle cycles on the system bus if the monitored number of idle cycles is less than a predetermined number of idle cycles during the refresh period. For example, in one embodiment, the refresh period for eight rows of memory cells is 20.48 microseconds.
- the refresh manager forces the appropriate number of idle cycles onto the system bus at the end of the refresh period. For example, if the refresh manager only detects six idle cycles on the system bus during the refresh period, then the refresh manager will force two additional idle cycles on the system bus at the end of the refresh period. As a result, eight idle cycles are provided on the system bus.
- Each of the memory blocks performs a pending refresh operation during an idle cycle on the system bus. As a result, the eight rows of memory cells are always refreshed within eight cycles of the end of the refresh period (or shorter) . There is a relatively high probability that the refresh manager will not have to force any idle cycles at the end of the refresh period.
- the refresh manager While idle cycles are being forced, the refresh manager asserts a control signal that informs accessing clients of the memory system that memory accesses must be deferred. After the idle cycles have been forced, the refresh manager de-asserts the control signal to inform the accessing clients that memory accesses can proceed.
- the refresh manager includes an idle cycle counter for counting the number of idle cycles on the system bus. When the number of idle cycles on the system bus is equal to the predetermined number of idle cycles, the idle cycle counter generates a FULL signal. A refresh counter is coupled to receive the FULL signal .
- an access arbiter receives external access requests (which are initiated by the memory controller) and refresh requests (which are generated within the memory block) .
- the access arbiter always grants priority to any pending external access request.
- the access arbiter will allow refresh requests to be granted only if there are no pending external access requests. As a result, the refresh requests do not impede the external access requests .
- the refresh operations are performed during naturally occurring idle cycles or during the forced idle cycles.
- the memory blocks are logically divided into two or more sets.
- the refresh manager monitors the number of idle cycles occurring in each set of memory blocks during the refresh period.
- the refresh manager forces idle cycles on the system bus only if the number of idle cycles occurring in at least one set of memory blocks during the refresh period is less than the predetermined number of idle cycles .
- the refresh manager is modified to force a predetermined number of idle cycles on the system bus after the refresh period has expired, regardless of the number of idle cycles occurring during the refresh period. For example, the refresh manager can force eight idle cycles at the end of each refresh period.
- Fig. 1 is a block diagram of a memory system in accordance with one embodiment of the present invention
- Fig. 2 is a schematic diagram of a memory block for controlling refresh and external access to a memory array in accordance with one embodiment of the present invention
- Fig. 3 is a waveform diagram of the timing of various signals during write, read and refresh operations in accordance with one embodiment of the present invention
- Fig. 4 is a schematic diagram of an access arbiter in accordance with one embodiment of the present invention
- Fig. 5 is a schematic diagram of a refresh controller in accordance with one embodiment of the present invention
- Fig. 1 is a block diagram of a memory system in accordance with one embodiment of the present invention
- Fig. 2 is a schematic diagram of a memory block for controlling refresh and external access to a memory array in accordance with one embodiment of the present invention
- Fig. 3 is a waveform diagram of the timing of various signals during write, read and refresh operations in accordance with one embodiment of the present invention
- Fig. 4 is
- Fig. 6 is a schematic diagram of a refresh manager for controlling one group of memory blocks in accordance with one embodiment of the present invention
- Fig. 7 is a schematic diagram of a refresh manager for controlling two groups of memory blocks in accordance with another embodiment of the present invention
- Fig. 8 is a schematic diagram of a refresh manager for forcing idle cycles into a memory system in accordance with another embodiment of the present invention.
- DETAILED DESCRIPTION it would be desirable to construct a memory device in which the impact of refresh operations on external memory access is minimized. Accordingly, the present invention provides a memory system in which the majority of refresh operations are carried out within the memory device during idle memory cycles .
- Idle memory cycles are clock cycles in which there is no on-going or pending memory access to the memory device. A situation may occur where memory access is sustained for a period of time longer than the required time for memory refresh. In this case, the present invention suspends memory access, forcing idle cycles to carry out refresh operations. However, the mechanism of performing a refresh operation in the present invention does not require external signaling, such as using an explicit command code or signal. This allows the implementation of a simple memory interface, such as one compatible with that of an SRAM.
- Figure 1 is a block diagram of memory system 10 in accordance with one embodiment of the present invention. Memory system 10 includes memory blocks 100-115 and memory controller 120. Memory controller 120 can be part of a processor or system logic.
- Each of memory blocks 100-115 includes an array of DRAM cells that requires periodic refresh to retain valid data.
- Memory blocks 102-114 are not illustrated for purposes of clarity. Although the present embodiment includes memory blocks requiring refresh (e.g. SRAM devices) , other memory devices that do not require refresh can also be connected to the same bus as memory blocks 100-115.
- Each of memory blocks 100-115 is coupled to receive the following signals from memory controller 120: bi-directional data signals DQ[31:0], external address signals EA[22:0], address strobe signal ADS#, and write/read enable signal WR# .
- Each of memory blocks 100-115 receives a dedicated chip select CS# signal. For example, memory blocks 100 and 101 receive chip select signals CS#[0] and CS#[1], respectively.
- a clock signal CLK is provided to synchronize memory transactions between memory blocks 100- 115 and memory controller 120.
- memory blocks 100-115 are identical. However, in other embodiments these memory blocks may include different circuitry. Moreover, although sixteen memory blocks are described, it is understood that there can be other numbers of memory blocks in other embodiments. The number of CS# signals will change accordingly. Additionally, data and address signals having other widths can be used in other embodiments .
- Each of memory blocks 100-115 includes one or more memory arrays having multiple rows and columns of DRAM memory cells.
- Each of memory blocks 100-115 also includes all the conventional circuits associated with a DRAM, such as word line drivers, sense amplifiers, and column multiplexers.
- memory blocks 100-115 can additionally include memory arrays that do not require refresh operations .
- Figure 2 is a schematic diagram illustrating memory block 100.
- Memory block 100 includes memory array 201, sense amplifiers 202, multiplexer 203, I/O buffers 204, memory array sequencer 205, access arbiter 206, refresh controller 207 external access control 208, transmission gates 209 and 210, and address latch 211.
- each of memory blocks 100- 115 has its own memory array sequencer 205, access arbiter 206, refresh controller 207, external access control 208, transmission gates 209 and 210 and address latch 211.
- Address latch 211 includes a plurality of storage elements formed by cross-coupled inverters.
- storage element 212 which includes cross-coupled inverters 213 and 214, stores one bit of the address value to be provided to memory array 201.
- memory system 10 is organized as a multiple bank system, wherein parallel operations can be performed in different banks simultaneously.
- This multiple bank memory structure is similar to that described in U.S. Patent Application Serial No. 09/037,396 entitled “Method And Apparatus For 1-T SRAM Compatible Memory” by the present inventor.
- a plurality of memory arrays (such as 201) are controlled by a single memory array sequencer 205, access arbiter 206, refresh controller 207, external access control 208, transmission gates 209 and 210, and address latch 211.
- memory array 201 has 8K (8192) rows and 8K columns, yielding 64 megabits of memory. To access each memory location, external address signals EA[22:0] are provided to each memory block 100-115. It is understood that in other embodiments, memory array 201 can have a different size, thereby requiring other numbers of external address signals.
- sense amplifier within sense amplifier circuit 202 which performs the data sensing, restore, and write operations. During each memory access, one row of memory array 201 is activated and the 8K memory cells of that row are connected to sense amplifiers 202 in each column.
- Sense amplifiers 202 are connected to I/O buffers 204 through multiplexer 203.
- memory controller 120 drives the entire external address EA[22:0] onto the address bus at once.
- the address may be multiplexed onto the address bus in separate clock cycle or clock phase portions, thereby reducing the required number of address signals.
- the address strobe ADS# and system clock CLK signaling is similar to the industry standard for synchronous static random access memory, set forth in Pentium Processor 3.3v Pipeline BSRAM specification version 2.0, May 25, 1995, Intel.
- An external access is performed as follows.
- External access control 208 is coupled to receive the signals write/read WR# , address strobe ADS#, system clock CLK and external address EA[22:0] from memory controller 120.
- external access control 208 In response to these signals, external access control 208 generates an external access address EAA (which is equal to the external address EA[22:0]) and asserts an access pending enable signal EAPEN# .
- EAA external access address
- memory controller 120 asserts the address strobe signal ADS# low, asserts the chip select signal CS#[0] low, and provides the external address EA[22:0] on the external address bus.
- external access control 208 evaluates the state of the address strobe ADS# and chip select CS#[0] signals. If both signals are detected low, external access control 208 initiates an external access by asserting the external access pending signal EAPEN# low.
- Access arbiter 206 is coupled to receive the external access pending signal EAPEN# . Upon detecting a low external access pending signal EAPEN# , access arbiter 206 asserts a high external address select signal EASEL. The high external address select signal EASEL causes transmission gate 210 to route the external access address EAA from external access control 208 to address latch 211. Address latch 211 provides the external access address EAA to memory array 201. Upon detecting the low state of the external access pending signal EAPEN# , access arbiter 206 asserts an external access signal EA# , which is provided to memory array sequencer 205.
- memory array sequencer 205 In response to the low asserted external access signal EA# , memory array sequencer 205 provides the DRAM control signals row address strobe RAS#, column address strobe CAS#, sense amplifier enable SEN# and pre-charge PRC# to memory array 201 for controlling array operations.
- a method of generating the signals RAS#, CAS#, SEN# and PRC# in a self-timed manner is described in U.S. Patent Application Serial No. 09/076,608 entitled “Method And Structure For Controlling Operation Of A DRAM Array, " by the present inventor, which is hereby incorporated by reference. Generating the RAS#, CAS#, SEN# and PRC# signals in this manner enables a memory cycle to be completed in one clock cycle.
- Each clock cycle without an external memory access is called an idle clock cycle.
- a memory refresh operation can be performed during an idle clock cycle by reading a row of memory array 201.
- Refresh controller 207 generates a refresh pending enable signal RFPEN# , which is provided to access arbiter 206, and a refresh address RFA, which is provided to transmission gate 209.
- Refresh controller 207 is coupled to receive a refresh acknowledge signal RFACK# from access arbiter 206.
- the refresh address RFA is the address of the row of memory array 201 to be refreshed.
- Memory array 201 is refreshed one row at a time, requiring 8K refreshes in the present embodiment.
- Refresh controller 207 generates refresh requests to ensure memory array 201 is properly refreshed.
- the timing of the refresh requests thus generated is determined from the system clock speed and the measured memory retention time of memory array 201.
- refresh controller 207 For a system clock speed of 100 megaHertz and a total memory retention time of 21.05 milliseconds, refresh controller 207 must generate a refresh request at least once every 2.56 microseconds. In general, the refresh period is chosen to ensure that the data retention time of memory array 201 is longer than the greatest possible time required to refresh every row of memory array 201 Refresh controller 207 asserts the refresh pending enable signal RFPEN# low when a request to refresh a row of memory array 201 is pending.
- access arbiter 206 begins a refresh operation by driving the refresh acknowledge signal RFACK# low and the refresh address select signal RASEL high for one clock cycle.
- Transmission gate 209 receives the high refresh address select signal RASEL, and in response routes the refresh address RFA from refresh controller 207 to address latch 211.
- Address latch 211 provides the refresh address RFA to memory array 201.
- the high state of the external access pending signal EAPEN# and the low state of the refresh pending enable signal RFPEN# also cause access arbiter 206 to assert low the refresh signal RF# provided to memory array sequencer 205.
- memory array sequencer 205 In response to the low asserted refresh signal RF# , memory array sequencer 205 provides the DRAM control signals row address strobe RAS#, sense amplifier enable SEN# and pre-charge PRC# to memory array 201 for controlling memory array 201 operations. As a result, a refresh access is performed to the row address identified by the refresh address RFA. The column address strobe CAS# is not activated during a refresh cycle. Access arbiter 206 asserts a logic low refresh acknowledge signal RFACK# to indicate to refresh controller 207 that a refresh operation has been performed. The timing of these operations is shown in Figure 3.
- Figure 3 is a waveform diagram of the timing of various signals in accordance with one embodiment of the present invention.
- the waveform diagram illustrates write, read and refresh operations in memory block 100 during three successive clock cycles T1-T3.
- Memory controller 120 completes a memory cycle in one clock period. Since a memory cycle takes only one clock period, memory block 100 will process one external memory access or memory row refresh in each clock cycle. Each clock cycle begins at the rising edge of the clock signal CLK.
- memory controller 120 asserts both the address strobe ADS# and the chip select CS#[0] signals low to access memory block 100.
- the chip select signal CS#[0] will be identical to the address strobe signal ADS# .
- Memory control 120 also provides a write address Al on the external address bus and a write data value on the external data bus.
- Memory controller 120 further provides a logic high write/read signal WR# , thereby indicating that the external access is a write access.
- external access control 208 evaluates the state of the address strobe signal ADS# and the chip select signal CS#[0] .
- external access control 208 Upon detecting a low address strobe signal ADS#, a low chip select signal CS#[0], and a high write/read signal WR# , external access control 208 initiates an external write access.
- External access control 208 asserts the external access pending signal EAPEN# low.
- the low external access pending signal EAPEN# provided to access arbiter 206 causes access arbiter 206 to assert the external access signal EA# low.
- memory array sequencer 205 In response to the low asserted external access signal EA# , memory array sequencer 205 provides the DRAM control signals row address strobe RAS# and column address strobe CAS# to memory array 201 for controlling array write operations. Access arbiter 206 also provides a logic high external address select signal EASEL to transmission gate 210, thereby causing transmission gate 210 to route the write address Al to address latch 211. Address latch 211 provides the write address Al to memory array 201. Prior to the rising edge of the system clock signal CLK, at the beginning of cycle T2 , memory controller 120 again asserts the address strobe signal ADS# and the chip select signal CS#[0] low to access memory block 100. Memory controller 120 also provides a read address A2 on the external address bus.
- Memory controller 120 further provides a logic low write/read signal WR# , thereby indicating that the external access is a read access.
- external access control 208 again evaluates the state of the address strobe signal ADS# and the chip select signal CS#[0].
- external access control 208 Upon detecting a low address strobe signal ADS#, a low chip select signal CS#[0], and a low write/read signal WR#, external access control 208 initiates an external read access.
- External access control 208 continues to assert the external access pending signal EAPEN# low.
- the low external access pending signal EAPEN# provided to access arbiter 206 keeps the external access signal EA# low.
- memory array sequencer 205 In response to the low asserted external access signal EA# , memory array sequencer 205 provides the DRAM control signals row address strobe RAS# and column address strobe CAS# to memory array 201 for controlling array read operations. Access arbiter 206 also provides a logic high external address select signal EASEL for one half of a clock cycle to transmission gate 210, thereby causing transmission gate 210 to route the read address A2 to address latch 211. Address latch 211 provides the read address A2 to memory array 201. During system clock CLK cycle Tl, refresh controller 207 asserts the refresh pending signal RFPEN# low to indicate a refresh is required. As described above, an external access is also pending during cycle T2.
- Access arbiter 206 acts to delay the refresh request in the case of such a collision until an idle memory cycle.
- An idle memory cycle is a memory cycle with no external memory access.
- external access control 208 again evaluates the state of the address strobe ADS# and the chip select CS#[0] signals. The high state of either the address strobe signal ADS# or the chip select signal CS#[0] indicates an idle memory cycle exists during cycle T3.
- Access arbiter 206 allows the refresh to occur in this idle memory cycle by deasserting the external address signal EA# high, asserting the refresh signal RF# low, and providing a high refresh address select signal RASEL.
- the refresh adderss select signal RASEL is driven high for half of a clock cycle.
- transmission gate 209 routes the refresh address RFA through address latch 211 to memory array 201 and memory array sequencer 205 provides the row address strobe signal RAS# to refresh memory array 201.
- a refresh access is performed to the refresh address RFA generated by refresh controller 207.
- Figure 4 illustrates access arbiter 206 in accordance with one embodiment of the invention.
- access arbiter 206 includes two input NAND gate 401, two input AND gates 403 and 404, and inverters 402 and 405.
- the refresh pending signal RFPEN# is provided to the first input terminal of NAND gate 401 through inverter 402.
- the external access pending signal EAPEN# is provided to the second input terminal of NAND gate 401, the first input terminal of AND gate 403, and also to memory array sequencer 205 as the external address signal EA# .
- the system clock CLK is provided to the second input terminal of AND gate 403.
- the output signal of AND gate 403 is provided to transmission gate 210 as the external address select signal EASEL.
- the output signal of NAND gate 401 provides the refresh RF# and refresh acknowledge RFACK# signals to memory array sequencer 205 and refresh controller 207, respectively. Additionally, the output signal of NAND gate 401 is provided to the first input terminal of AND gate 404 through inverter 405. The system clock CLK is provided to the second input terminal of AND gate 404. The output signal of AND gate 404 is provided to transmission gate 209 as the refresh address select signal RASEL.
- Access arbiter 206 functions to prevent refresh accesses except in the absence of a pending external access. In the case of a conflict of access between a pending external access and a pending refresh access, the external access always has priority. By giving the external accesses priority, the external accesses are not delayed by refresh accesses.
- refresh pending signal RFPEN# will be deasserted high, providing a low signal from the output terminal of inverter 402 to the input terminal of NAND gate 401.
- the output signal of NAND gate 401 is therefore high, keeping refresh acknowledge signal RFACK# high to indicate that this memory cycle is not used for refresh.
- refresh acknowledge signal RFPEN# will be low, providing a high output signal from inverter 402 to the input terminal of NAND gate 401. This high signal and the high state of external access pending signal EAPEN# force the output signal of NAND gate 401 low.
- the output signal of NAND gate 401 drives the signals refresh RF#and refresh acknowledge RFACK# low.
- FIG. 5 is a block diagram showing refresh controller 207 in accordance with one embodiment of the present invention.
- Refresh controller 207 includes refresh address counter 501, refresh timer 502 and refresh accumulator 503.
- Refresh address counter 501 includes thirteen bit binary counter 504 coupled to receive both the refresh acknowledge signal RFACK# and the system clock signal CLK. In response, binary counter 504 provides the current refresh address RFA on a thirteen bit address bus to transmission gate 209. The size of the address bus is chosen to access each row of memory array 201.
- the system clock CLK is provided to synchronize operations of binary counter 504.
- Refresh acknowledge signal RFACK# is high unless a memory refresh has occurred, asserting the refresh acknowledge signal RFACK# low for one clock cycle. Each low refresh acknowledge signal RFACK# increments binary counter 504, sequentially moving through the address of each memory row in memory array 201.
- Refresh timer 502 includes modulo-256 counter 507.
- Counter 507 is coupled to provide the refresh time signal RFTIM# to refresh accumulator 503.
- System RESET and clock CLK signals are provided to initialize and synchronize operations of counter 507, respectively.
- counter 507 Upon initial power up, counter 507 is initialized to zero by the system RESET command. The counter then increments once each clock cycle up to a full count of 255. The next increment of counter 507 asserts refresh time signal RFTIM# low for one clock cycle and rolls the count over to zero.
- Counter 507 counts 1 at the next CLK cycle, cycling again through the count.
- the refresh period thus tracked by counter 507 is 256 counts. This count of 256 divided by a 100 megaHertz clock asserts refresh time signal RFTIM# low each 2.56 microseconds.
- Refresh accumulator 503 includes a modulo-8 up/down counter 505 that is coupled to receive the refresh acknowledge signal RFACK# , the refresh time signal RFTIM# , and the system clock signal CLK. A non-zero count for counter 505 asserts the refresh pending signal RFPEN# low. The system clock signal CLK is provided to synchronize counter operations .
- counter 505 is a modulo-8 up/down counter. Each low refresh acknowledge signal RFACK# decrements the count by one, and each low refresh time signal RFTIM# increments the count by one.
- the refresh pending RFPEN# output signal from counter 505 will be low, indicating to access arbiter 206 that at least one memory location within memory array 201 is ready for refresh. Refresh pending signal RFPEN# will remain low until enough refresh acknowledge signals RFACK# decrement the count of counter 505 to zero.
- Counter 505 is full at a count of 8. Therefore, refresh cycles could be lost if counter 505 reaches a full count and there are no subsequent refresh accesses performed before counter 507 asserts another low refresh time signal RFTIM# .
- the present embodiment utilizes a modulo-8 refresh accumulator 503, which allows up to eight refresh time signals RFTIM# to be accumulated.
- refresh accumulator 503 is capable of accumulating refresh requests for a 20.48 microsecond period. This 20.48 microsecond period is termed a proper refresh period.
- the proper refresh period is defined as the period of time that memory array 201 can be in constant external memory access without requiring a refresh operation.
- an accumulator capable of a different count can be used to adjust the duration of the proper refresh period.
- an accumulator of one bit can be used, limiting the proper refresh period to be the individual period, which is 2.56 microseconds for a clock frequency of 100 megaHertz.
- memory block 100 incorporates refresh timer 502 to generate periodic refresh requests, refresh address counter 501 to supply the address of the row to be refreshed, refresh accumulator 503 to store a number of refresh requests, and access arbiter 206 to defer the refresh operation when the memory is handling external access .
- Memory block 100 performs refresh operations during clock cycles where there is no external access requested. To make sure that memory blocks 100-115 are refreshed properly, memory controller 120 needs to make sure that each of memory blocks 100-115 in the system has enough idle cycles in each proper refresh period to prevent the associated refresh accumulator 503 in each of these blocks from overflowing. As described above, refresh accumulator 503 will store up to 8 refresh requests. Consequently, 8 idle cycles are required during a proper refresh period of 20.48 microseconds.
- the average system bandwidth needed for refresh operations decreases significantly with multiple memory devices as does the probability that one memory device is occupied with external access for a period longer than the proper refresh period. Nevertheless, there is still a finite probability that a memory block may not be refreshed due to continuous memory access to the memory block for a duration greater than the proper refresh period.
- memory controller 120 To ensure that memory blocks 100-115 are properly refreshed under all conditions, memory controller 120 must keep track of the number of idle cycles occurring within the proper refresh period, and suspend external memory access if the number of idle cycles is insufficient to allow adequate time for refresh operations. Memory controller 120 controls external access to memory blocks 100-115 to ensure that each memory block has adequate time for refresh. It is possible that the external access requests will occupy a memory block for an entire proper refresh period.
- FIGs 6, 7 and 8 are schematic diagrams of refresh managers 600, 700, and 800, respectively, in accordance with various embodiments of the present invention.
- Refresh managers 600, 700 and 800 are each located in memory controller 120.
- Refresh managers 600, 700 and 800 generate a refresh required signal RFREQ# as well as the address strobe signal ADS# .
- the refresh required signal RFREQ# is returned to accessing devices (not shown) that access memory system 10.
- the accessing devices may or may not be located in the same chip as memory controller 120.
- the refresh required signal RFREQ# is asserted low to inform the accessing devices that additional accesses should be deferred.
- the address strobe signal ADS# indicates the presence of an idle cycle when in a logic high state, as described above.
- the refresh manager portion of memory controller 120 contains a mechanism that ensures that the number of idle memory cycles within a proper refresh period equals or exceeds the number of refresh cycles required by each of memory blocks 100-115. It is noted that this mechanism does not require external communication between memory blocks 100-115 and memory controller 120.
- One advantage of this scheme is that memory blocks 100-115 can be used in place of static random access memory SRAM devices which use the same interface without any change of the control mechanisms in memory controller 120.
- FIG. 6 is a schematic diagram of refresh controller 600, which includes refresh counter 601, idle-cycle counter 602 and access suspender 640.
- Access suspender 640 includes NAND gate 603, which provides address strobe signal ADS# .
- the system clock CLK is provided to synchronize operations.
- Refresh counter 601 counts from zero to an amount of time equal to the proper refresh period for memory array 201.
- refresh counter 601 counts to the maximum of refresh accumulator 503 and modulo-256 counter 507, which is 8 times 2.56 microseconds, equaling the 20.48 microsecond proper refresh period counted by refresh accumulator 503.
- the output refresh required RFREQ# signal of refresh counter 601 remains high unless the maximum refresh period has been counted.
- the refresh required signal RFREQ# is then asserted low, delaying memory access until refresh counter 601 is reset by idle-cycle counter 602.
- Idle-cycle counter 602 is a three bit counter, and increments once each time an idle cycle is available for refresh.
- Refresh counter 601 is reset to count from zero each time idle-cycle counter 602 reaches the 8 idle cycles required in the proper refresh period for memory blocks 100- 115 refresh. Therefore, if idle-cycle counter 602 reaches the full count of eight before refresh counter 601 counts the proper refresh period, a high signal is asserted at the RESET for refresh counter 601. This high RESET causes the refresh counter 601 to begin counting the proper refresh period from zero, keeping the address strobe signal ADS# high and allowing uninterrupted memory access.
- Access suspender 640 which includes NAND gate 603, is coupled to receive the refresh required signal RFREQ# and the memory access required signal MAREQ.
- the memory access required signal MAREQ is asserted high when a memory request is received by memory controller 120 from an accessing device.
- Accessing devices of memory controller 120 can be a CPU, an I/O processor, a graphics processor or others. These possible accessing devices of memory controller 120 are not shown. If refresh counter 601 has not yet counted to the maximum refresh period, the refresh required signal RFREQ# will be high. Under these conditions, the output signal of access suspender 640 is dependent on the state of the memory access required signal MAREQ.
- An external request for memory access asserts the memory access required signal MAREQ high, resulting in a low output signal for the address strobe signal ADS# from access suspender 640.
- the low state of the address strobe signal ADS# indicates a memory access is pending.
- the memory access required signal MAREQ will be low, asserting the output signal address strobe ADS# of access suspender 640 high.
- the high address strobe signal ADS# indicates that an idle memory cycle exists for possible memory refresh. This address strobe signal ADS# also increments idle-cycle counter 602 by one count. If fewer than eight idle cycles have occurred within the proper refresh period, refresh manager 600 will delay further memory access until all pending memory refreshes are completed.
- the output refresh required signal RFREQ# is asserted low.
- the refresh required signal RFREQ# is sent back to the accessing devices to delay memory access.
- the low state of the refresh required signal RFREQ# also forces the output signal address strobe ADS# of access suspender 640 high, indicating an idle memory cycle is available for memory refresh.
- This low address strobe signal ADS# also increments idle-cycle counter 602.
- the refresh required signal RFREQ# remains low until refresh counter 601 is reset, thus the address strobe signal ADS# will remain high until idle-cycle counter 602 has reached the full count of the required idle memory cycles.
- idle-cycle counter 602 When idle-cycle counter 602 reaches a full count, its output signal goes high for one clock cycle to reset refresh counter 601. The count of refresh counter 601 automatically wraps to zero and resumes counting, asserting the refresh required signal RFREQ# high and resuming normal memory access.
- Idle-cycle counter 602 counts to the maximum number of refresh cycles required among all memory blocks 100-115. In the present embodiment, memory blocks 100-115 are identical, and require 8 idle cycles within a proper refresh period. In another embodiment, one memory block may require 10 refreshes and another memory block may require 5 refreshes within a proper refresh period. In such an embodiment, the idle cycle counter would need to count to 10 to ensure both memory blocks were refreshed properly within the proper refresh period.
- FIG. 6 is a schematic diagram of refresh manager 700 in accordance with another embodiment of the invention.
- Refresh manager 700 takes advantage of the fact that when one of memory devices 100-107 is being accessed, the other group of memory devices 108-115 can carry out a memory refresh.
- Memory blocks 100-115 are separated into two groups of equal size. Each group of memory blocks is managed by a separate refresh counter and idle-cycle counter.
- Refresh counters 701 and 711 are identical to refresh counter 601.
- Idle-cycle counters 704 and 714 are identical to idle-cycle counter 602
- Refresh manager 700 of Figure 7 includes refresh counters 701 and 711, AND gates 702 and 712, OR gates 703 and 713, idle-cycle counters 704 and 714, NAND gate 730 and access suspender 740.
- Access suspender 740 includes NAND gate 720.
- AND gate 702 is coupled to receive chip select signals CS#[0:7] . If any one of memory blocks 100-107 is carrying out an external access, one of the chip select signals CS#[0:7] will be low, driving the output signal of AND gate 702 low.
- OR gate 703 is coupled to receive the address strobe signal ADS# and the output signal of AND gate 702.
- the address strobe signal ADS# is asserted low when an external access is pending, and deasserted high when an idle cycle exists.
- a low signal provided by AND gate 702 will force the output signal of OR gate 703 to follow the address strobe signal ADS#, therefore incrementing idle-cycle counter 704 if there is no external access pending.
- idle- cycle counter 704 will assert its output signal high for one clock cycle to reset counter 701. If one of the chip select signals CS#[0:7] is asserted low, indicating a memory access to one of memory blocks 100- 107, then the other group of memory blocks 108-115 will be idle for that cycle.
- Chip select signals CS#[8:15] will be high, indicating a lack of memory access to memory blocks 108-115, and forcing the output signal of AND gate 712 high.
- This high output signal of AND gate 712 forces the output signal of OR gate 713 high without regard to the address strobe signal ADS#, incrementing idle-cycle counter 714.
- Refresh counters 701 and 711 count up to the proper refresh period. If either reaches the maximum count, the output signal of that refresh counter goes low, indicating a need to force idle cycles to refresh one of the memory blocks.
- NAND gate 730 is coupled to receive the output signal of each counter 701 and 711, and provides the refresh required signal RFREQ# .
- access suspender 740 is coupled to receive the output signal of each refresh counter 701 and 711, and the memory request signal MAREQ. If either refresh counter 701 or 711 asserts a low output signal, the output signals of both NAND gates 720 and 730 are forced high. This forces the address strobe signal ADS# and the refresh required signal RFREQ# high. The high address strobe signal ADS# forces an idle cycle into memory system 10, and indicates an idle cycle is currently available for memory refresh. The high refresh required signal RFREQ# indicates to the accessing devices that memory access requests should be delayed. Refresh counters 701 and 711 are reset to zero counts in response to full counts from idle-cycle counters 704 and 714, respectively.
- NAND gate 730 provides a logic low refresh required signal RFREQ# .
- RFREQ# a logic low refresh required signal
- the address strobe signal ADS# provided by access suspender 740 is asserted low when a memory access is pending, and is deasserted high during an idle cycle.
- ADS# provided by access suspender 740 is asserted low when a memory access is pending, and is deasserted high during an idle cycle.
- the present embodiment shows two groups of eight memory blocks, it is understood that any number of memory blocks may be grouped in any quantity. For example, in another embodiment, three blocks may be present in one group and thirteen blocks present in another group. Appropriate modification must be made to access suspender 740.
- FIG. 8 is a schematic diagram of refresh manager 800 of memory controller 120 in accordance with another embodiment of the present invention.
- refresh manager 800 includes refresh counter 801, refresh cycle counter 802 and access suspender 840.
- Access suspender 840 includes NAND gate 803.
- Refresh manager 800 functions by forcing a fixed number of idle memory cycles into memory system 10 through access suspender 840 every time refresh counter 801 reaches a full count, despite the number of idle cycles that have occurred.
- Refresh counter 801 counts to a proper refresh period.
- the output signal refresh required RFREQ# When a full count is reached, the output signal refresh required RFREQ# is asserted low. The low asserted refresh required signal RFREQ# suspends external memory access and asserts the output address strobe signal ADS# from access suspender 840 high, thereby inserting idle memory cycles.
- Refresh cycle counter 802 counts once for each clock cycle the refresh required signal RFREQ# remains low until refresh cycle counter 802 reaches a full count. In the described embodiment, refresh cycle counter 802 counts to eight, thereby inserting eight idle cycles for refresh. The output signal of refresh cycle counter 802 is then driven high, resetting refresh counter 801.
- Refresh counter 801 begins counting from zero, deasserting the output signal refresh required RFREQ# high and again allowing access suspender 840 to be directly responsive to the memory access required signal MAREQ.
- access suspenders 603, 720 and 803 have been shown to generate the address strobe signal ADS# to suspend external memory access, thereby inserting idle cycles for memory refresh.
- access suspenders 603, 720 and 803 can be configured to generate the chip select signals CS#[15:0] to suspend external memory access .
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00909944A EP1163594A2 (en) | 1999-01-20 | 2000-01-20 | Method and apparatus for refreshing a semiconductor memory using idle memory cycles |
KR10-2001-7008890A KR100439117B1 (en) | 1999-01-20 | 2000-01-20 | Method and apparatus for refreshing a semiconductor memory using idle memory cycles |
JP2000595250A JP4487040B2 (en) | 1999-01-20 | 2000-01-20 | Method and apparatus for semiconductor memory refresh using idle memory cycles |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/234,778 | 1999-01-20 | ||
US09/234,778 US6222785B1 (en) | 1999-01-20 | 1999-01-20 | Method and apparatus for refreshing a semiconductor memory using idle memory cycles |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2000043893A2 true WO2000043893A2 (en) | 2000-07-27 |
WO2000043893A3 WO2000043893A3 (en) | 2000-12-07 |
Family
ID=22882792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/001487 WO2000043893A2 (en) | 1999-01-20 | 2000-01-20 | Method and apparatus for refreshing a semiconductor memory using idle memory cycles |
Country Status (5)
Country | Link |
---|---|
US (1) | US6222785B1 (en) |
EP (1) | EP1163594A2 (en) |
JP (1) | JP4487040B2 (en) |
KR (1) | KR100439117B1 (en) |
WO (1) | WO2000043893A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1374247A2 (en) * | 2001-02-27 | 2004-01-02 | Monolithic System Technology, Inc. | Method and apparatus for forcing idle cycles to enable refresh operations in a semiconductor memory |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6504780B2 (en) * | 1998-10-01 | 2003-01-07 | Monolithic System Technology, Inc. | Method and apparatus for completely hiding refresh operations in a dram device using clock division |
US6898140B2 (en) | 1998-10-01 | 2005-05-24 | Monolithic System Technology, Inc. | Method and apparatus for temperature adaptive refresh in 1T-SRAM compatible memory using the subthreshold characteristics of MOSFET transistors |
US6707743B2 (en) * | 1998-10-01 | 2004-03-16 | Monolithic System Technology, Inc. | Method and apparatus for completely hiding refresh operations in a DRAM device using multiple clock division |
US6389505B1 (en) * | 1998-11-19 | 2002-05-14 | International Business Machines Corporation | Restore tracking system for DRAM |
JP3797810B2 (en) | 1998-11-30 | 2006-07-19 | 松下電器産業株式会社 | Semiconductor device |
JP4339995B2 (en) * | 1999-11-16 | 2009-10-07 | パナソニック株式会社 | Semiconductor memory device |
US6826104B2 (en) * | 2000-03-24 | 2004-11-30 | Kabushiki Kaisha Toshiba | Synchronous semiconductor memory |
TW503401B (en) * | 2001-03-27 | 2002-09-21 | Taiwan Semiconductor Mfg | 1-T memory structure with hidden refresh function and its operation method |
JP2002313080A (en) * | 2001-04-13 | 2002-10-25 | Mitsubishi Electric Corp | Semiconductor memory |
US6675272B2 (en) * | 2001-04-24 | 2004-01-06 | Rambus Inc. | Method and apparatus for coordinating memory operations among diversely-located memory components |
US6757784B2 (en) * | 2001-09-28 | 2004-06-29 | Intel Corporation | Hiding refresh of memory and refresh-hidden memory |
US6625077B2 (en) * | 2001-10-11 | 2003-09-23 | Cascade Semiconductor Corporation | Asynchronous hidden refresh of semiconductor memory |
TW533413B (en) * | 2001-10-11 | 2003-05-21 | Cascade Semiconductor Corp | Asynchronous hidden refresh of semiconductor memory |
GB2381887B (en) * | 2001-11-08 | 2003-10-08 | 3Com Corp | Dual purpose interface using refresh cycle |
JP4459495B2 (en) * | 2001-12-13 | 2010-04-28 | 富士通マイクロエレクトロニクス株式会社 | Semiconductor memory device refresh control method and semiconductor memory device having the control method |
US6795364B1 (en) * | 2003-02-28 | 2004-09-21 | Monolithic System Technology, Inc. | Method and apparatus for lengthening the data-retention time of a DRAM device in standby mode |
US7353329B2 (en) * | 2003-09-29 | 2008-04-01 | Intel Corporation | Memory buffer device integrating refresh logic |
US7274618B2 (en) * | 2005-06-24 | 2007-09-25 | Monolithic System Technology, Inc. | Word line driver for DRAM embedded in a logic process |
JP2007200504A (en) * | 2006-01-30 | 2007-08-09 | Fujitsu Ltd | Semiconductor memory, memory controller, and control method of semiconductor memory |
US7533222B2 (en) * | 2006-06-29 | 2009-05-12 | Mosys, Inc. | Dual-port SRAM memory using single-port memory cell |
US7613061B2 (en) * | 2007-11-30 | 2009-11-03 | Agere Systems Inc. | Method and apparatus for idle cycle refresh request in DRAM |
WO2009150844A1 (en) * | 2008-06-12 | 2009-12-17 | パナソニック株式会社 | Semiconductor storage device, semiconductor device and optical disc reproducing device |
US8244972B2 (en) | 2010-06-24 | 2012-08-14 | International Business Machines Corporation | Optimizing EDRAM refresh rates in a high performance cache architecture |
US9104581B2 (en) * | 2010-06-24 | 2015-08-11 | International Business Machines Corporation | eDRAM refresh in a high performance cache architecture |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2265035A (en) * | 1992-03-12 | 1993-09-15 | Apple Computer | Method and apparatus for improved dram refresh operations |
EP0794497A2 (en) * | 1996-03-08 | 1997-09-10 | Matsushita Electric Industrial Co., Ltd. | Memory refresh control method and apparatus |
US5802555A (en) * | 1995-03-15 | 1998-09-01 | Texas Instruments Incorporated | Computer system including a refresh controller circuit having a row address strobe multiplexer and associated method |
US5822265A (en) * | 1997-07-29 | 1998-10-13 | Rockwell Semiconductor Systems, Inc. | DRAM controller with background refresh |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5033027A (en) * | 1990-01-19 | 1991-07-16 | Dallas Semiconductor Corporation | Serial DRAM controller with multi generation interface |
US5652723A (en) | 1991-04-18 | 1997-07-29 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device |
US5873114A (en) * | 1995-08-18 | 1999-02-16 | Advanced Micro Devices, Inc. | Integrated processor and memory control unit including refresh queue logic for refreshing DRAM during idle cycles |
US5999474A (en) * | 1998-10-01 | 1999-12-07 | Monolithic System Tech Inc | Method and apparatus for complete hiding of the refresh of a semiconductor memory |
-
1999
- 1999-01-20 US US09/234,778 patent/US6222785B1/en not_active Expired - Lifetime
-
2000
- 2000-01-20 EP EP00909944A patent/EP1163594A2/en not_active Withdrawn
- 2000-01-20 WO PCT/US2000/001487 patent/WO2000043893A2/en active IP Right Grant
- 2000-01-20 KR KR10-2001-7008890A patent/KR100439117B1/en active IP Right Grant
- 2000-01-20 JP JP2000595250A patent/JP4487040B2/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2265035A (en) * | 1992-03-12 | 1993-09-15 | Apple Computer | Method and apparatus for improved dram refresh operations |
US5802555A (en) * | 1995-03-15 | 1998-09-01 | Texas Instruments Incorporated | Computer system including a refresh controller circuit having a row address strobe multiplexer and associated method |
EP0794497A2 (en) * | 1996-03-08 | 1997-09-10 | Matsushita Electric Industrial Co., Ltd. | Memory refresh control method and apparatus |
US5822265A (en) * | 1997-07-29 | 1998-10-13 | Rockwell Semiconductor Systems, Inc. | DRAM controller with background refresh |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1374247A2 (en) * | 2001-02-27 | 2004-01-02 | Monolithic System Technology, Inc. | Method and apparatus for forcing idle cycles to enable refresh operations in a semiconductor memory |
Also Published As
Publication number | Publication date |
---|---|
JP2002535799A (en) | 2002-10-22 |
US6222785B1 (en) | 2001-04-24 |
EP1163594A2 (en) | 2001-12-19 |
KR100439117B1 (en) | 2004-07-05 |
WO2000043893A3 (en) | 2000-12-07 |
JP4487040B2 (en) | 2010-06-23 |
KR20010101523A (en) | 2001-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6222785B1 (en) | Method and apparatus for refreshing a semiconductor memory using idle memory cycles | |
US6496437B2 (en) | Method and apparatus for forcing idle cycles to enable refresh operations in a semiconductor memory | |
US6028804A (en) | Method and apparatus for 1-T SRAM compatible memory | |
CN111354393B (en) | Apparatus and method for timing interleaving for targeted refresh operations | |
US7640391B2 (en) | Integrated circuit random access memory capable of automatic internal refresh of memory array | |
US20200082873A1 (en) | Apparatuses and methods for distributing row hammer refresh events across a memory device | |
KR100987997B1 (en) | Semiconductor memory and system | |
US6741515B2 (en) | DRAM with total self refresh and control circuit | |
US6279116B1 (en) | Synchronous dynamic random access memory devices that utilize clock masking signals to control internal clock signal generation | |
KR20220005103A (en) | Apparatus and method for staggered timing of skipped refresh operations | |
US20050108460A1 (en) | Partial bank DRAM refresh | |
US9007862B2 (en) | Reducing memory refresh exit time | |
US6226755B1 (en) | Apparatus and method for enhancing data transfer to or from a SDRAM system | |
US5253214A (en) | High-performance memory controller with application-programmable optimization | |
WO2005050662A1 (en) | Method and apparatus for partial refreshing of dram | |
US20020069319A1 (en) | Method and apparatus of event-driven based refresh for high performance memory controller | |
US6026041A (en) | Semiconductor memory device | |
US7392339B2 (en) | Partial bank DRAM precharge | |
JPH07169266A (en) | Semiconductor memory | |
JPH04132078A (en) | Memory refresh system | |
KR20030091431A (en) | asynchronous semiconductor memory device having minimizied radom access time and method therefore |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): JP KR |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
AK | Designated states |
Kind code of ref document: A3 Designated state(s): JP KR |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2000909944 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020017008890 Country of ref document: KR |
|
ENP | Entry into the national phase |
Ref country code: JP Ref document number: 2000 595250 Kind code of ref document: A Format of ref document f/p: F |
|
WWP | Wipo information: published in national office |
Ref document number: 1020017008890 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 2000909944 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 1020017008890 Country of ref document: KR |