US10896715B2 - Dynamic memory refresh interval to reduce bandwidth penalty - Google Patents
Dynamic memory refresh interval to reduce bandwidth penalty Download PDFInfo
- Publication number
- US10896715B2 US10896715B2 US16/010,211 US201816010211A US10896715B2 US 10896715 B2 US10896715 B2 US 10896715B2 US 201816010211 A US201816010211 A US 201816010211A US 10896715 B2 US10896715 B2 US 10896715B2
- Authority
- US
- United States
- Prior art keywords
- memory
- data
- regions
- frequency
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 219
- 238000004891 communication Methods 0.000 claims abstract description 6
- 230000004044 response Effects 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 21
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 14
- 238000013500 data storage Methods 0.000 description 8
- 239000003990 capacitor Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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/40611—External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered 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
- G11C11/40615—Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Definitions
- At least some embodiments disclosed herein relate to memory systems in general, and more particularly, reduction of bandwidth penalty using dynamic memory refresh intervals.
- Dynamic memories such as Dynamic Random Access Memory (DRAM) use memory units where the quality of information stored in the memory units can degrade in a short period of time even when the memory units are continuously powered.
- DRAM Dynamic Random Access Memory
- DRAM has capacitors integrated in an integrated circuit.
- a capacitor in a memory unit of DRAM can be charged or discharged to represent respectively two different values of a bit.
- the electric charge on such a capacitor can leak off, resulting in degradation of the quality of the information stored in the memory unit.
- charge leakage may cause the capacitor of the memory unit to appear discharged, even though the capacitor is charged before the period of time.
- the charge leakage can change the value stored in the memory unit and thus cause data corruption.
- a memory refresh circuit can be used to periodically refresh the data stored in the DRAM. To refresh the data, the memory refresh circuit causes the reading of the stored data from the DRAM and re-writes the data back to the DRAM. Thus, the capacitors of the memory units can be charged or discharged periodically according to the data stored in the memory units to prevent data corruption.
- Charge leakage can be a function of the temperature of the memory device.
- the capacitors of DRAM memory units can retrain charge longer at low temperatures. Under some conditions most of the data in DRAM can be recovered without being refreshed for several minutes. However, to guarantee recovery of the stored data, DRAM is typically refreshed at a short time interval, such as 64 milliseconds.
- FIG. 1 illustrates an example memory system having a refreshing control in accordance with some embodiments of the present disclosure.
- FIG. 2 illustrates an example of data storage policies in accordance with some embodiments of the present disclosure.
- FIG. 3 is a flow diagram of an example method to control refreshing of a memory system in accordance with some embodiments of the present disclosure.
- FIG. 4 is a flow diagram of another example method to control refreshing of a memory system in accordance with some embodiments of the present disclosure.
- FIG. 5 is a block diagram of an example computer system in which embodiments of the present disclosure can operate.
- At least some aspects of the present disclosure are directed to the reduction of memory refresh rate based on error tolerance characteristics of the data stored in the memory.
- Refreshing memory can cause a memory bandwidth penalty. For example, when an external DRAM controller sends to a DRAM device a refresh command to refresh a bank of DRAM memory units, the DRAM cannot deliver data during the time period of memory refreshing operations. A higher temperature requires a higher refresh rate, which cause even higher degradation of DRAM bandwidth performance. Failing to refresh the DRAM at a recommended refresh rate increases the probability of error/data corruption.
- At least some aspects of the present disclosure address the above and other deficiencies by selectively reducing refresh rates of memory portions based on the error tolerance characteristics of the data stored in the memory.
- an external DRAM controller can use different refresh rates for different banks of memory units to allow trade-off between performance and probability of error/data corruption.
- data that is less sensitive to error/corruption can be refreshed at a rate lower than for data that is sensitive to error/corruption.
- Refreshing at a lower frequency can reduce bandwidth penalty caused by memory refreshing operations and improve memory access performance.
- graphics and music can be stored on a DRAM of an infotainment system.
- the use of such graphics and music in the infotainment system can be insensitive to a few isolated errors.
- the banks of DRAM memory units that store such error-insensitive information can have a relaxed refresh rate with lower bandwidth penalty.
- software code and variables can be very sensitive to error/corruption.
- banks of DRAM memory units that store such error-insensitive information can have a higher refresh rate, with higher bandwidth penalty, to ensure data reliability.
- FIG. 1 illustrates an example memory system having a refreshing control 107 in accordance with some embodiments of the present disclosure.
- a controller 101 has the refreshing control 107 that can send refresh commands to a dynamic memory system 105 over a bus 103 .
- the dynamic memory system 105 can have separate memory regions 111 , 113 , . . . , 119 that can be separately refreshed.
- each memory region 111 , 113 , . . . , 119 can include one or more banks of memory units; and the refresh control 107 can send a refresh command through the bus 103 to each bank of memory units to refresh the respective bank of memory units.
- the refresh command is transmitted to the bank of the memory units, at least the bank of the memory units is not usable to read or write data in individual memory units until the refreshing operations in the bank are completed.
- the memory units in the dynamic memory system 105 can be DRAM memory cells that are periodically refreshed to avoid data corruption caused by charge leak.
- data of different types is stored in different memory regions 111 , 113 , . . . , 119 , such that the refresh rates of the memory regions 111 , 113 , . . . , 119 can be customized based on the error tolerance characteristics of the data stored in the memory regions 111 , 113 , . . . , 119 and/or the bandwidth demands.
- data can be stored in the memory regions 111 , 113 , . . . , 119 using the data storage policies 131 illustrated in FIG. 2
- FIG. 2 illustrates an example of data storage policies 131 in accordance with some embodiments of the present disclosure.
- memory regions 111 , 113 , . . . , 119 are associated with data types 121 , 123 , . . . , 129 respectively.
- Examples of different data types include software, variables, graphics/images of graphical user interface (GUI), icons, music, video, etc.
- GUI graphical user interface
- different data types 121 , 123 , . . . , 129 can have different data reliability requirements.
- different thresholds of error/corruption probabilities can be specified for different data types.
- the refreshing can be considered sufficient.
- the data refresh rates of the memory regions 111 , 113 , . . . , 119 can be determined from the thresholds of error/corruption probabilities of the data types 121 , 123 , . . . , 129 .
- the dynamic memory system 105 can have one or more temperature sensors that measure the temperature(s) of the memory regions 111 , 113 , . . . , 119 .
- the error/corruption probability of a memory unit is a function of the refresh rate. The higher the refresh rate, the lower the error/corruption probability of the memory unit. When the refreshing rate is higher than a particular value, the memory unit can be considered to be guaranteed to be error free.
- a threshold refresh rate can be determined; and the memory unit can be refreshed at the threshold refresh rate for the temperature, or higher, to ensure that the reliability requirement of the data stored in the memory unit is met.
- FIG. 3 is a flow diagram of an example method to control refreshing of a memory system in accordance with some embodiments of the present disclosure.
- the method of FIG. 3 can be implemented in the system of FIG. 1 using the data storage policies of FIG. 2 .
- the method of FIG. 3 can be performed by processing logic that can include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, integrated circuit, etc.), software (e.g., instructions run or executed on a processing device), or a combination thereof.
- the method of FIG. 3 is performed at least in part by the refreshing control 107 and/or the controller 101 of FIG. 1 .
- the order of the processes can be modified.
- the illustrated embodiments should be understood only as examples, and the illustrated processes can be performed in a different order, and some processes can be performed in parallel. Additionally, one or more processes can be omitted in various embodiments. Thus, not all processes are required in every embodiment. Other process flows are possible.
- the controller 101 stores data of a plurality of types 121 , 123 , . . . , 129 in respectively a plurality of memory regions 111 , 113 , . . . , 119 of a dynamic memory system 105 .
- the types 121 , 123 , . . . , 129 can include application, variable, images, music, videos, etc.
- the memory regions 111 , 113 , . . . , 119 can be separated as banks of memory units that can be refreshed separately.
- the refresh control 107 determines a plurality of refresh rates based on the plurality of types 121 , 123 , . . . , 129 of data. For example, at a given temperature of the dynamic memory system 105 , the refresh control 107 determines the refresh rates of the data types 121 , 123 , . . . , 129 to meet the threshold error/corruption probability requirements of the data types 121 , 123 , . . . , 129 .
- a predetermined look up table can be used to store the minimal refresh rates of the data types 121 , 123 , . . . , 129 at a set of temperatures.
- the look up table can be used to determine the minimal refresh rates of the data types 121 , 123 , . . . , 129 at the current operating temperature of the dynamic memory system 105 .
- an empirical formula or a look up table can be used to represent the relation between a refresh rate and an expected error/corruption probability of a memory region refreshed at the refresh rate when the memory region is at a specific temperature.
- the refreshing control 107 can compute a minimum refresh rate that is required to meet the threshold of error/corruption probability.
- the refreshing control 107 can compute the different minimum refresh rates for the data types 121 , 123 , . . . , 129 at the current operating temperature of the dynamic memory system 105 .
- the refresh control 107 sends refresh commands to refresh the plurality of memory regions 111 , 113 , . . . , 119 according to the plurality of refresh rates respectively determined for the data types 121 , 123 , . . . , 129 .
- FIG. 4 is a flow diagram of an example method to control refreshing of a memory system in accordance with some embodiments of the present disclosure.
- the method of FIG. 4 can be implemented in the system of FIG. 1 using the data storage policies of FIG. 2 .
- the method of FIG. 4 can be performed by processing logic that can include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, integrated circuit, etc.), software (e.g., instructions run or executed on a processing device), or a combination thereof.
- the method of FIG. 4 is performed at least in part by the refreshing control 107 and/or the controller 101 of FIG. 1 .
- the order of the processes can be modified.
- the illustrated embodiments should be understood only as examples, and the illustrated processes can be performed in a different order, and some processes can be performed in parallel. Additionally, one or more processes can be omitted in various embodiments. Thus, not all processes are required in every embodiment. Other process flows are possible.
- the controller 101 stores data of a predetermined type 121 , 123 , . . . , or 129 in a memory region 111 , 113 , . . . , or 119 of a dynamic memory system 105 .
- the refresh control 107 refreshes the memory region 111 , 113 , . . . , or 119 at a first rate.
- the refresh control 107 can send refresh commands over the bus 103 to each bank of memory units in the memory region 111 , 113 , . . . , or 119 at a time interval determined by the first rate.
- the first rate can be high enough that the data stored in the memory region 111 , 113 , . . . , or 119 is considered to be guaranteed to be free of error/corruption.
- the refreshing control 107 determines a need to reduce bandwidth penalty caused by refreshing the memory region 111 , 113 , . . . , or 119 .
- the refreshing control 107 can monitor the bandwidth usage of the memory region 111 , 113 , . . . , or 119 .
- the refreshing control 107 can implement reduction of the bandwidth penalty caused by memory refreshing.
- the refreshing control 107 reduces from the first rate to a second rate, where the second rate is limited by the predetermined type 121 , 123 , . . . , or 129 of the data stored in the memory region 111 , 113 , . . . , or 119 .
- Different data types 121 , 123 , . . . , and 129 allow different degrees of reduction.
- the lowest acceptable refresh rate of the predetermined data type 121 , 123 , . . . , or 129 is determined by the acceptable error/corruption probability that can be tolerated for the data of the predetermined type 121 , 123 , . . . , or 129 for the current temperature of the memory region 111 , 113 , . . . , or 119 .
- the refresh control 107 refreshes the memory region 111 , 113 , . . . , or 119 at the second rate.
- the refreshing control 107 can return to refreshing the memory region 111 , 113 , . . . , or 119 at the first rate.
- the present disclosure includes a computing system that has a dynamic memory system 105 and a controller 101 .
- the dynamic memory system 105 is configured to store a plurality of types 121 , 123 , . . . , 129 of data in a plurality of memory regions 111 , 113 , . . . , 119 respectively.
- the controller 101 is coupled to the dynamic memory system 105 via a communication channel, such as a bus 103 , and is operatively to monitor usages of memory access bandwidth of memory regions 111 , 113 , . . . , 119 to reach a decision to reduce memory bandwidth used by refreshing the dynamic memory system 105 .
- the controller 101 reduces a refresh rate of at least one of the plurality of memory regions based on a type of data stored in the one of the plurality of memory regions.
- each of the plurality of memory regions 111 , 113 , . . . , 119 includes dynamic random access memory (DRAM); and the controller 101 refreshes a memory region 111 , 113 , . . . , or 119 at a reduced rate to reduce the memory bandwidth used by refreshing the dynamic memory system 105 .
- DRAM dynamic random access memory
- refreshing a memory location at a rate includes repeating a refreshing operation a time interval determined by the rate or frequency.
- the refreshing operation includes reading data from the memory location and writing the data back to the memory location.
- the controller 101 can refresh a first memory region 111 at a first frequency and refresh a second memory region 113 at a second frequency different from the first frequency.
- the first memory region 111 stores data of a first type 121 ;
- the second memory region 113 stores data of a second type 123 ; and the first frequency is lower than the second frequency when data of the first type 121 can tolerate a higher probability of error or data corruption than data of the second type 123 .
- there can be a threshold frequency such that when a memory region 111 , 113 , . . . , or 119 is refreshed at or above the threshold frequency, the data in the memory region 111 , 113 , . . .
- the first frequency can be reduced to below the threshold frequency to tolerate a level of data corruption in exchange for performance gain resulting from the reduced refresh frequency.
- the second frequency can be no less than the threshold to fully prevent data corruption.
- the first data type 121 can be images, icons, music, or video that can tolerate a level of data corruption; and the second data type 123 can be instructions or variables that should be error free.
- the data of the first type 121 can represent media consumed a media player; and the data of the second type 123 can contain instructions and variables of applications.
- the present disclosure includes a method in the computing system.
- the method can include identifying, by the controller 101 coupled to the dynamic memory system 105 , a plurality of memory regions 111 , 115 , . . . 119 in the dynamic memory system 105 as being used to store a plurality of types 121 , 123 , . . . , 129 of data respectively.
- the method can further includes reaching a decision, by the controller 107 , to reduce memory bandwidth of used to refresh the dynamic memory system 105 and in response to the decision, reducing, by the controller 101 , a rate to refresh at least one memory region 111 , 113 , . . . , or 119 based on a type 121 , 123 , . . . , or 129 of data stored in the one memory region 111 , 113 , . . . , or 119 .
- the method can include sending, by the controller 101 , refresh commands to the memory region 111 , 113 , . . . , or 119 at a reduced rate.
- a refresh command sent to the memory region 111 , 113 , . . . , or 119 can cause the dynamic memory system 105 to read data from the memory region 111 , 113 , . . . , or 119 and to write the data back to the memory region 111 , 113 , . . . , or 119 .
- the memory regions 111 , 113 , . . . , and 119 can be separated by banks of memory units, where each bank is refreshed together.
- each bank contains a set of memory cells of dynamic random access memory.
- the method can include partitioning memory in the dynamic memory system 105 into the plurality of regions 111 , 113 , . . . , 119 for associated with the plurality of types 121 , 123 , . . . , 129 of data.
- the method can further include storing data in the plurality of regions 111 , 113 , . . . , 119 according to types 121 , 123 , . . . , 129 of the data.
- the present disclosure includes computing apparatuses performing any of the methods and non-transitory computer-readable storage media storing instructions that, when executed by a processing device, cause the processing device to perform any of the methods.
- FIG. 5 illustrates an example machine of a computer system 200 within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, can be executed.
- the computer system 200 can correspond to a host system that includes, is coupled to, or utilizes a dynamic memory system (e.g., the dynamic memory system 105 of FIG. 1 ) or can be used to perform the operations of a refreshing control 107 (e.g., to execute instructions to perform operations corresponding to the refresh control 107 described with reference to FIGS. 1-4 ).
- the machine can be connected (e.g., networked) to other machines in a LAN, an intranet, an extranet, and/or the Internet.
- the machine can operate in the capacity of a server or a client machine in client-server network environment, as a peer machine in a peer-to-peer (or distributed) network environment, or as a server or a client machine in a cloud computing infrastructure or environment.
- the machine can be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a server, a network router, a switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
- PC personal computer
- PDA Personal Digital Assistant
- STB set-top box
- STB set-top box
- a cellular telephone a web appliance
- server a server
- network router a network router
- switch or bridge or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
- machine shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
- the example computer system 200 includes a processing device 202 , a main memory 204 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), static random access memory (SRAM), etc.), and a data storage system 218 , which communicate with each other via a bus 230 (which can include multiple buses).
- main memory 204 e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), static random access memory (SRAM), etc.
- DRAM dynamic random access memory
- SDRAM synchronous DRAM
- RDRAM Rambus DRAM
- SRAM static random access memory
- Processing device 202 represents one or more general-purpose processing devices such as a microprocessor, a central processing unit, or the like. More particularly, the processing device can be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processing device 202 can also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processing device 202 is configured to execute instructions 226 for performing the operations and steps discussed herein.
- the computer system 200 can further include a network interface device 208 to communicate over the network 220 .
- the data storage system 218 can include a machine-readable storage medium 224 (also known as a computer-readable medium) on which is stored one or more sets of instructions 226 or software embodying any one or more of the methodologies or functions described herein.
- the instructions 226 can also reside, completely or at least partially, within the main memory 204 and/or within the processing device 202 during execution thereof by the computer system 200 , the main memory 204 and the processing device 202 also constituting machine-readable storage media.
- the machine-readable storage medium 224 , data storage system 218 , and/or main memory 204 can correspond to the memory system 105 of FIG. 1 .
- the instructions 226 include instructions to implement functionality corresponding to a refresh control 107 (e.g., the refresh control 107 described with reference to FIGS. 1-4 ).
- a refresh control 107 e.g., the refresh control 107 described with reference to FIGS. 1-4
- the machine-readable storage medium 224 is shown in an example embodiment to be a single medium, the term “machine-readable storage medium” should be taken to include a single medium or multiple media that store the one or more sets of instructions.
- the term “machine-readable storage medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure.
- the term “machine-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media.
- the present disclosure also relates to an apparatus for performing the operations herein.
- This apparatus can be specially constructed for the intended purposes, or it can include a general purpose computer selectively activated or reconfigured by a computer program stored in the computer.
- a computer program can be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, each coupled to a computer system bus.
- the present disclosure can be provided as a computer program product, or software, that can include a machine-readable medium having stored thereon instructions, which can be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure.
- a machine-readable medium includes any mechanism for storing information in a form readable by a machine (e.g., a computer).
- a machine-readable (e.g., computer-readable) medium includes a machine (e.g., a computer) readable storage medium such as a read only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory components, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Dram (AREA)
Abstract
Description
Claims (16)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/010,211 US10896715B2 (en) | 2018-06-15 | 2018-06-15 | Dynamic memory refresh interval to reduce bandwidth penalty |
US17/149,709 US11657865B2 (en) | 2018-06-15 | 2021-01-14 | Dynamic memory refresh interval to reduce bandwidth penalty |
US18/307,734 US20240096393A1 (en) | 2018-06-15 | 2023-04-26 | Dynamic memory refresh interval to reduce bandwidth penalty |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/010,211 US10896715B2 (en) | 2018-06-15 | 2018-06-15 | Dynamic memory refresh interval to reduce bandwidth penalty |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/149,709 Continuation US11657865B2 (en) | 2018-06-15 | 2021-01-14 | Dynamic memory refresh interval to reduce bandwidth penalty |
Publications (2)
Publication Number | Publication Date |
---|---|
US20190385666A1 US20190385666A1 (en) | 2019-12-19 |
US10896715B2 true US10896715B2 (en) | 2021-01-19 |
Family
ID=68839359
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/010,211 Active US10896715B2 (en) | 2018-06-15 | 2018-06-15 | Dynamic memory refresh interval to reduce bandwidth penalty |
US17/149,709 Active US11657865B2 (en) | 2018-06-15 | 2021-01-14 | Dynamic memory refresh interval to reduce bandwidth penalty |
US18/307,734 Pending US20240096393A1 (en) | 2018-06-15 | 2023-04-26 | Dynamic memory refresh interval to reduce bandwidth penalty |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/149,709 Active US11657865B2 (en) | 2018-06-15 | 2021-01-14 | Dynamic memory refresh interval to reduce bandwidth penalty |
US18/307,734 Pending US20240096393A1 (en) | 2018-06-15 | 2023-04-26 | Dynamic memory refresh interval to reduce bandwidth penalty |
Country Status (1)
Country | Link |
---|---|
US (3) | US10896715B2 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US11256778B2 (en) | 2019-02-14 | 2022-02-22 | Micron Technology, Inc. | Methods and apparatus for checking the results of characterized memory searches |
US11327551B2 (en) * | 2019-02-14 | 2022-05-10 | Micron Technology, Inc. | Methods and apparatus for characterizing memory devices |
US11398264B2 (en) | 2019-07-08 | 2022-07-26 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11657865B2 (en) | 2018-06-15 | 2023-05-23 | Micron Technology, Inc. | Dynamic memory refresh interval to reduce bandwidth penalty |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US12111757B2 (en) | 2022-10-24 | 2024-10-08 | Hewlett Packard Enterprise Development Lp | Fluid memory for high performance computing applications |
US12118056B2 (en) | 2019-05-03 | 2024-10-15 | Micron Technology, Inc. | Methods and apparatus for performing matrix transformations within a memory array |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220051744A1 (en) * | 2020-08-17 | 2022-02-17 | Mediatek Inc. | Memory controller with adaptive refresh rate controlled by error bit information |
CN112527207A (en) * | 2020-12-18 | 2021-03-19 | 深圳市元征科技股份有限公司 | Method and device for storing data in EEPROM |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6385113B1 (en) * | 1999-04-30 | 2002-05-07 | Madrone Solutions, Inc | Method for operating an integrated circuit having a sleep mode |
US20110044119A1 (en) * | 2006-04-19 | 2011-02-24 | Walker Darryl G | Semiconductor Device having variable parameter selection based on temperature and test method |
US20110231601A1 (en) * | 2010-03-19 | 2011-09-22 | Microsoft Corporation | Providing hardware resources having different reliabilities for use by an application |
US20130128682A1 (en) * | 2011-11-17 | 2013-05-23 | International Business Machines Corporation | Memory system with dynamic refreshing |
US20150143198A1 (en) * | 2013-11-15 | 2015-05-21 | Qualcomm Incorporated | Method and apparatus for multiple-bit dram error recovery |
US20190006001A1 (en) * | 2017-06-28 | 2019-01-03 | Qualcomm Incorporated | Systems and methods for improved error correction in a refreshable memory |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7027343B2 (en) * | 2003-09-22 | 2006-04-11 | Micron Technology | Method and apparatus for controlling refresh operations in a dynamic memory device |
US9055711B2 (en) * | 2012-07-16 | 2015-06-09 | HGST Netherlands B.V. | System and method for maintaining data integrity on a storage medium |
US9224449B2 (en) * | 2013-03-11 | 2015-12-29 | Nvidia Corporation | Variable dynamic memory refresh |
US10896715B2 (en) | 2018-06-15 | 2021-01-19 | Micron Technology, Inc. | Dynamic memory refresh interval to reduce bandwidth penalty |
-
2018
- 2018-06-15 US US16/010,211 patent/US10896715B2/en active Active
-
2021
- 2021-01-14 US US17/149,709 patent/US11657865B2/en active Active
-
2023
- 2023-04-26 US US18/307,734 patent/US20240096393A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6385113B1 (en) * | 1999-04-30 | 2002-05-07 | Madrone Solutions, Inc | Method for operating an integrated circuit having a sleep mode |
US20110044119A1 (en) * | 2006-04-19 | 2011-02-24 | Walker Darryl G | Semiconductor Device having variable parameter selection based on temperature and test method |
US20110231601A1 (en) * | 2010-03-19 | 2011-09-22 | Microsoft Corporation | Providing hardware resources having different reliabilities for use by an application |
US20130128682A1 (en) * | 2011-11-17 | 2013-05-23 | International Business Machines Corporation | Memory system with dynamic refreshing |
US20150143198A1 (en) * | 2013-11-15 | 2015-05-21 | Qualcomm Incorporated | Method and apparatus for multiple-bit dram error recovery |
US20190006001A1 (en) * | 2017-06-28 | 2019-01-03 | Qualcomm Incorporated | Systems and methods for improved error correction in a refreshable memory |
Non-Patent Citations (1)
Title |
---|
"Dynamic random-access memory", Wikipedia, printed on May 29, 2018. |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11657865B2 (en) | 2018-06-15 | 2023-05-23 | Micron Technology, Inc. | Dynamic memory refresh interval to reduce bandwidth penalty |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US11256778B2 (en) | 2019-02-14 | 2022-02-22 | Micron Technology, Inc. | Methods and apparatus for checking the results of characterized memory searches |
US11327551B2 (en) * | 2019-02-14 | 2022-05-10 | Micron Technology, Inc. | Methods and apparatus for characterizing memory devices |
US12118056B2 (en) | 2019-05-03 | 2024-10-15 | Micron Technology, Inc. | Methods and apparatus for performing matrix transformations within a memory array |
US11398264B2 (en) | 2019-07-08 | 2022-07-26 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11928177B2 (en) | 2019-11-20 | 2024-03-12 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US12111757B2 (en) | 2022-10-24 | 2024-10-08 | Hewlett Packard Enterprise Development Lp | Fluid memory for high performance computing applications |
Also Published As
Publication number | Publication date |
---|---|
US20240096393A1 (en) | 2024-03-21 |
US11657865B2 (en) | 2023-05-23 |
US20190385666A1 (en) | 2019-12-19 |
US20210134356A1 (en) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11657865B2 (en) | Dynamic memory refresh interval to reduce bandwidth penalty | |
US20220197740A1 (en) | Error correction in row hammer mitigation and target row refresh | |
US11687410B2 (en) | Error check and scrub for semiconductor memory device | |
US9190139B2 (en) | Memory and memory system including the same | |
US9336852B2 (en) | Memory and memory system including the same | |
US10283173B2 (en) | Intelligent backup capacitor management | |
US10558518B2 (en) | Dynamic adjustments within memory systems | |
EP3391220B1 (en) | Systems, methods, and computer programs for resolving dram defects | |
US11615830B2 (en) | Performing a refresh operation based on a characteristic of a memory sub-system | |
US11293962B2 (en) | Capacitive voltage divider for monitoring multiple memory components | |
CN112740331A (en) | Refreshing data stored at a memory component based on a memory component characteristic component | |
CN112925669A (en) | Configuring partitions of a memory subsystem for different data | |
US20220100597A1 (en) | Normalization of detecting and reporting failures for a memory device | |
CN108089892A (en) | A kind of method, apparatus of safety startup of system, set-top box and storage medium | |
US11467900B2 (en) | Adjusting read throughput level for a data recovery operation | |
KR20170022633A (en) | Memory system | |
US11721381B2 (en) | Performing refresh operations of a memory device according to a dynamic refresh frequency | |
US10846246B2 (en) | Trans-fabric instruction set for a communication fabric | |
US20230376370A1 (en) | Memory system and operating method thereof | |
CN117251846A (en) | Progressive detection and response method and device for row hammer attack |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: MICRON TECHNOLOGY, INC., IDAHO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GOLOV, GIL;REEL/FRAME:046356/0607 Effective date: 20180716 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL Free format text: SUPPLEMENT NO. 9 TO PATENT SECURITY AGREEMENT;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:047282/0463 Effective date: 20180731 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT, MARYLAND Free format text: SUPPLEMENT NO. 9 TO PATENT SECURITY AGREEMENT;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:047282/0463 Effective date: 20180731 |
|
AS | Assignment |
Owner name: MICRON TECHNOLOGY, INC., IDAHO Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:050713/0001 Effective date: 20190731 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: AWAITING TC RESP, ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |