USRE43223E1 - Dynamic memory management - Google Patents
Dynamic memory management Download PDFInfo
- Publication number
- USRE43223E1 USRE43223E1 US12/108,221 US10822108A USRE43223E US RE43223 E1 USRE43223 E1 US RE43223E1 US 10822108 A US10822108 A US 10822108A US RE43223 E USRE43223 E US RE43223E
- Authority
- US
- United States
- Prior art keywords
- memory
- refresh
- dynamic
- power
- dynamic memory
- 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.)
- Expired - Lifetime
Links
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
- 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/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- 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
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/401—Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C2211/406—Refreshing of dynamic cells
- G11C2211/4061—Calibration or ate or cycle tuning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention relates to the field of dynamic memory management.
- the present invention relates to hardware and software methods to manage the use of dynamic memory in devices requiring low power consumption, such as battery-powered devices.
- Battery-powered electronic devices such as digital music players and digital cameras typically require significant information storage capacity, and must maintain information during periods of time when the device is in a powered down state.
- Current battery-powered electronic devices address these needs with various forms of non-volatile memory, such as solid-state flash memory, hard drives, floppy disks, etc.
- non-volatile memory such as solid-state flash memory, hard drives, floppy disks, etc.
- flash memory typically is either very expensive or require too much power to make them viable for inexpensive battery-powered devices.
- hard drives and floppy disks are inexpensive on a cost per megabyte basis, but are both bulky and require large amounts of power. Flash memory is expensive, but is compact and reliable.
- Volatile memory has not been considered a viable solution because of the high power consumption rate typically associated with the need for constant power to maintain information reliably.
- the present invention provides hardware and software solutions to enable volatile memory to replace non-volatile memory in battery-powered devices.
- the present invention provides a method for reducing the supply voltage and reducing the frequency of accesses to volatile memory stored in battery-powered devices. Further, the present invention provides a method for partitioning volatile memory chips to reduce the number of volatile memory chips needed to store a given set of information. Further, the present invention provides a method for determining a minimal refresh rate to reliably maintain information on volatile memory chips during accesses.
- the present invention is directed to a device comprising a dynamic memory and a clock signal, wherein the dynamic memory is adapted to store information, the dynamic memory must be refreshed to avoid loss of its stored information, and the dynamic memory is adapted to undergo read, write, and refresh cycles responsively to the clock signal, and the clock signal need not be periodic, such that the clock signal is supplied to the dynamic memory only when needed for a read, write, or refresh of the dynamic memory.
- the present invention is directed to a device comprising a plurality of dynamic memories, wherein each dynamic memory must be refreshed to avoid loss of its stored information, and wherein each dynamic memory is adapted to be used in one of at least two device modes, the device modes being (a) power up mode and (b) power down mode; and a clock signal; wherein each dynamic memory is adapted to undergo read, write, and refresh cycles responsively to the clock signal; wherein a dynamic memory undergoing a read or write cycle is in an active mode; wherein information is allocated among the dynamic memories to create a tendency for related information to be stored on a single dynamic memory to the extent possible; and whereby other dynamic memories can be used in an active mode while a dynamic memory is in an inactive mode.
- the present invention is directed to a device comprising a processor, a dynamic memory adapted to store information, and a program adapted to be executed by the processor to determine the minimum refresh rate for the dynamic memory, wherein the dynamic memory must be refreshed at at least the determined minimum refresh rate to avoid loss of stored information.
- the device further comprises a clock signal, wherein the dynamic memory is adapted to undergo a refresh cycle responsively to the clock signal; wherein the dynamic memory is adapted to be used in one of at least two device modes, the at least two device modes comprising (a) power up mode and (b) power down mode; and wherein, when the dynamic memory is used in a device power down mode, the rate of the clock signal causes the dynamic memory to be refreshed at approximately a determined minimum refresh rate.
- a determined minimum refresh rate corresponds to a normal operating temperature range.
- the actuation rate of the clock signal causes the dynamic memory to be refreshed at approximately the a determined minimum refresh rate; wherein a clock signal causing the dynamic memory to undergo a read cycle prevents occurrence of a refresh cycle; and wherein a clock signal causing the dynamic memory to undergo a write cycle prevents occurrence of a refresh cycle.
- the present invention is directed to a device comprising a processor, a plurality of volatile memories adapted to store information and that must be refreshed at at least a minimum refresh rate to avoid loss of its stored information; a clock signal, wherein each dynamic memory is adapted to undergo read, write, or refresh cycles responsively to the receiving clock signal, wherein the clock signal need not be periodic, such that the clock signal is supplied to the dynamic memory only when needed for a read, write, or refresh of the dynamic memory; and a program adapted to be executed by the processor to determine the minimum refresh rate for each dynamic memory; wherein the plurality of dynamic memories are adapted to be used in one of at least two device modes, the device modes comprising (a) power up mode and (b) power down mode; wherein a volatile memory undergoing a read or write cycle is being used in an active mode; wherein the processor allocates storage of information among the volatile memories to create a tendency for related information to be stored on a particular dynamic memory to the extent possible, whereby other volatile memories can be used an inactive mode
- the device further comprises a computing device including a secondary memory, wherein each dynamic memory is adapted to be in communication with the secondary memory, such that the stored information of each dynamic memory can be backed up on the secondary memory; and such that backed up information on the secondary memory can be restored from the secondary memory.
- a constant voltage is supplied to each dynamic memory.
- the device further comprises a refresh circuit that generates a square wave; and when the dynamic memory is in an inactive mode, the clock signal is responsive to the refresh circuit's square wave.
- the device further comprises resistor pull-ups and resister pull-downs, wherein the resistor pull-ups and resistor pull-downs are configured to enable the dynamic memory to undergo refresh cycles while the remainder of the device is in a powered down mode.
- the device further comprises a first battery and a second battery, wherein the first battery is adapted to provide sufficient power to enable each of the plurality of volatile memories to undergo refresh cycles and the second battery is adapted to provide sufficient power to enable each of the plurality of volatile memories to undergo refresh cycles; and wherein loss of the stored information of each of the plurality of volatile memories is avoided so long as at least one of the batteries is sufficiently charged and engaged.
- the device further comprises a battery adapted to provide, when sufficiently charged and engaged, sufficient power to enable each of the plurality of volatile memories to undergo refresh cycles; wherein the battery is adapted to be recharged to be at least sufficiently charged; and whereby loss of the stored information of each of the volatile memories is avoided so long as the battery is sufficiently charged and engaged.
- a charge threshold is at least sufficient that the battery charged at the charge threshold would be sufficiently charged; wherein the battery is adapted to have its charge determined and if the battery charge is less than the charge threshold, the device is powered down and the remaining battery charge is utilized to avoid loss of the stored information of the plurality of volatile memories.
- the present invention is directed to a method comprising the steps of executing a read cycle on a dynamic memory responsively to receiving a read instruction and a clock signal; executing a write cycle on the dynamic memory responsively to receiving a write instruction and the clock signal; executing a refresh cycle, thereby refreshing the dynamic memory, responsively to receiving the clock signal, not receiving the read instruction, and not receiving the write instruction; and actuating the clock signal asynchronously sufficiently frequently such that the dynamic memory does not lose its stored information.
- the present invention is directed to a method comprising the steps of evaluating relatedness of information to be allocated for storage among a plurality of volatile memories and storing the information among the plurality of volatile memories such that related information tends to be stored on a minimal number of the volatile memories, whereby dynamic memory reads and writes tend to cluster among the plurality of volatile memories, thereby tending to leave a greater number of the plurality of volatile memories free from reads and writes than would tend to result from random allocation of information for storage among the plurality of volatile memories.
- the present invention is directed to a method comprising the steps of: testing a dynamic memory to empirically determine a minimum refresh rate, wherein information stored on the dynamic memory will not be lost if and only if the dynamic memory is refreshed at a refresh rate of at least the determined minimum refresh rate; executing a refresh cycle, thereby refreshing the dynamic memory, responsively to receiving the clock signal; and actuating the clock signal sufficiently frequently such that the dynamic memory is refreshed at a refresh rate of at least the minimum determined refresh rate.
- the step of actuating the clock signal sufficiently frequently such that the dynamic memory is refreshed at a refresh rate of at least the determined minimum refresh rate comprises actuating the clock signal sufficiently frequently such that the dynamic memory is refreshed at a refresh rate of approximately the determined minimum refresh rate so long as the dynamic memory is in an inactive mode.
- the step of testing the dynamic memory to empirically determine the minimum refresh rate comprises testing the dynamic memory to empirically determine the minimum refresh rate with respect to a normal operating temperature range.
- the method further comprises the steps of executing a read cycle on a dynamic memory responsively to receiving a read instruction and a clock signal; executing a write cycle on the dynamic memory responsively to receiving a write instruction and the clock signal, wherein executing a refresh cycle, to refresh the dynamic memory responsively to receiving the clock signal comprises the step of executing a refresh cycle, to refresh the dynamic memory responsively to receiving the clock signal in the absence of the read instruction and absence of the write instruction; and actuating the clock signal asynchronously sufficiently frequently such that the dynamic memory does not lose its stored information.
- the present invention is directed to a method comprising the steps of executing a read cycle on one of a plurality of dynamic memories responsively to receiving a read instruction and a clock signal; executing a write cycle on one of the plurality of dynamic memories responsively to receiving a write instruction and the clock signal; executing a refresh cycle, thereby refreshing at least one of the plurality of dynamic memories, responsively to receiving the clock signal, not receiving the read instruction, and not receiving the write instruction; evaluating relatedness of information to be allocated for storage among the plurality of dynamic memories; storing the information among the plurality of dynamic memories such that related information tends to be stored on a minimal number of the dynamic memories; whereby a greater number of the plurality of dynamic memories are free from read locations and write locations than would tend to result from random allocation of information for storage among the plurality of dynamic memories, due to the tendency to cluster read locations and write locations among the plurality of dynamic memories; wherein information stored on the dynamic memory will not be lost if and only if the dynamic memory is refreshed at a refresh
- the method further comprises the step of backing up content of the dynamic memories onto a secondary memory such that the backed up content can subsequently be restored from the secondary memory.
- the method further comprises supplying to each dynamic memory a constant voltage.
- the method further comprises the step of generating a square wave with a refresh circuit, when at least one of the plurality of dynamic memories is in an inactive mode, providing the clock signal to each dynamic memory in an inactive mode responsively to the square wave such that each dynamic memory in an inactive mode is refreshed sufficiently to avoid loss of stored information.
- the method further comprises the step of configuring (using resistor pull-ups and resistor pull-downs) each dynamic memory in an inactive mode to enable dynamic memory to undergo refresh cycles while other components operably connected to the dynamic memory are in a powered down mode.
- the method comprises the steps of determining the charge of a first battery and a second battery such that if the first battery contains sufficient charge and is engaged, providing power to execute refresh cycles using the first battery; or if the first battery lacks sufficient charge and the second battery contains sufficient charge and is engaged, providing power to execute refresh cycles using the second battery; or if the first battery is not engaged and the second battery contains sufficient charge and is engaged, providing power to execute refresh cycles using the second battery.
- the method further comprises the steps of providing power to execute refresh cycles using a first battery and determining the charge of the first battery, such that if the charge of the first battery falls below a charge threshold which is greater than a sufficient charge to provide power to execute refresh cycles, recharging the first battery.
- the method further comprises providing power to execute refresh cycles using a first battery and determining the charge of the first battery; wherein if the charge of the first battery falls below a charge threshold, wherein the charge threshold is greater than a sufficient charge to provide power to execute refresh cycles, powering down the device that uses the dynamic memory and any system operably connected thereto.
- FIG. 1 shows a block diagram of a battery-powered device incorporating SDRAM, in accordance with an embodiment of the present invention.
- FIG. 2 shows a process flow for exploiting dynamic memory to minimize device power usage, in accordance with an embodiment of the present invention.
- FIG. 3 shows a memory partitioning process, in accordance with an embodiment of the present invention.
- the present invention solves the shortcomings of previous battery-powered device information storage systems with methods and systems for storing information in volatile memory.
- SDRAM digital versatile disks
- SDRAM Synchronous Dynamic Random Access Memory
- Other types of DRAM are also dynamic, and the scope of the present invention, as claimed, is not limited to any particular type of volatile memory. Due to the use of SDRAM memory chips in personal computers, this memory type is available in high volumes at low cost. In order for SDRAM to be considered a viable replacement for non-volatile memory systems such as flash memory, SDRAM memory must have information storage integrity as reliable as flash memory. However, since SDRAM memory is a volatile memory, stored information is lost when power is removed.
- SDRAM is a dynamic memory, it must be refreshed periodically to maintain the integrity and reliability of the stored information.
- Using volatile memory with current operating parameters has been unsuccessful because the processes used by the battery-powered device consume power at a maximum level.
- the present invention is able to extend the battery life while maintaining reliable information in SDRAM memory.
- active mode is used in this document to refer to a memory chip state in which the memory chip is accessed to perform read, write, and refresh cycles.
- active mode is used in this document to refer to a memory chip state in which information stored on the chip is refreshed, but read and write operations are not performed.
- powered down when used to describe a memory chip is used in this document to refer to the state of a memory chip on which no information is stored, and power may still be supplied but no read, write, or refresh operations occur.
- power up and “power down,” when used to describe a device, are used in this document to refer to the state of the device.
- the term “powered down” generally means power is supplied only to the elements necessary to reliably store information in volatile memory. Therefore, it is possible for a device to be in a powered up or powered down state independent of whether a memory chip is in an active, inactive, or powered down state.
- I static is generally used to refer to the current consumption when power is applied to the chip with no other operations occurring. I static is determined by the internal state of the chip and power supply voltage only.
- One advantage of SDRAM technology is the internal architecture of SDRAM chips allows reduced supply voltage to be provided to the chip resulting in very low static current consumption (typically I static ⁇ 200 ⁇ A per chip).
- the rate at which refresh cycles occur affects power consumption when the device is in power down modes.
- the refresh rate to maintain memory in the SDRAM chips used when the device is in power down modes is reduced to a minimal refresh rate at a reduced supply voltage.
- the refresh rate is reduced to the lowest level possible based on the memory requirements. Resistor pullups and pull downs are used in the memory configuration to enable the refresh cycles to occur while the remainder of the battery-powered device remains in a power down mode.
- the term fV CC 2 is used to generally refer to the power used by a chip in an active mode, and in particular, to the power required to perform read, write, and refresh cycle operations.
- V CC supply voltage
- the total power consumption is reduced by a squared amount.
- the frequency of accesses refers to the product of the number of times read, write, and refresh cycle operations are performed multiplied by the number of SDRAM chips affected by the read, write, and refresh cycle operations, during an active mode. There may be more than one active mode.
- the SDRAM chips may be able to operate in a high-speed download mode, whereas if the SDRAM chips are powered only by battery, the SDRAM chips may only be capable of operating in a low-speed (but more energy efficient) download mode.
- the power usage rate is decreased by using chip partitioning during write operations, and the refresh rate is maintained at a minimal rate necessary to maintain memory.
- Chip partitioning generally involves storing related pieces of information on the same chip to the greatest extent possible. By keeping related information on the same chip (as opposed to random placement of information), the number of chips that contain information is also minimized. As the number of chips with information decreases, the number of chips in an active mode also decreases, therefore the power used for active mode operations also decreases.
- the refresh rate is maintained at a minimal rate during active modes. It should be noted that the minimal refresh rate during an active mode may or may not be the same as a minimal refresh rate for other active modes or for an inactive mode. For example, in some embodiments, the minimal refresh rate for an active mode is higher than the minimal refresh rate for an inactive mode because the write and read functions performed by the system controller interrupt the refresh cycles.
- embodiments of the present invention may automatically power down the device if the power supply level provided by the battery drops below a specified threshold. If this occurs, the remaining power is used to maintain memory functions until the battery is replaced or recharged.
- a system controller is constantly monitoring the power level to determine when to power down the battery-powered device. When the system controller determines the power level has dropped below a threshold, all elements necessary to maintain information are configured for a power down mode, and all elements unnecessary to maintain information are powered down.
- FIG. 1 is a block diagram of a battery powered device 10 comprising a power supply 20 , including a main battery 22 , a backup battery 24 , and a voltage converter 26 ; a switched power domain 30 including system peripherals 32 , a system controller 34 , a host computer connection 36 , and a SDRAM controller 38 ; and a constant power domain 40 , including SDRAM memory chips 42 and an auto-refresh clock controller 44 .
- Power to the battery-powered system 10 is provided by either main battery 22 or backup battery 24 , depending on the position of switch 25 .
- the term “battery” is used to mean one or more batteries. If more than one battery is used, it will be apparent to those skilled in the art that the batteries may be connected in series or parallel.
- Backup battery 24 is used to maintain power supply to the constant power domain 40 when main battery 22 is replaced, or any other short-term power supply is needed.
- main battery 22 is a rechargeable-type battery and backup battery 24 is not installed. In such an embodiment, the power supply used to recharge main battery 22 is further used to provide power to constant power domain 40 .
- Power switch 25 may be mechanical or solid state without departing in scope from the present invention. In some embodiments (not shown) used in cars, the battery-powered device 10 may derive constant power from the constant 12V battery supply and main battery supply from the ignition switched 12V supply.
- Switched power domain 30 contains a system controller 34 , system peripherals 32 , a host computer connection 36 , and an SDRAM controller 38 , all of whose power requirements are considered secondary to the power requirements of the constant power domain 40 .
- the system controller 34 interacts with all elements in the switched power domain 30 to operate battery-powered device 10 . As part of its processes, system controller 34 determines when elements not located in the constant power domain 40 must be powered down. If the system controller 34 determines the power level to be too low to maintain the current in the battery-powered device 10 , all elements in the switched power domain 30 are switched to a powered down or inactive mode until the power level rises above the threshold. When the device is in a powered up mode, the system controller 34 generates an asynchronous clock signal to issue read, write, and refresh cycle instructions. The system controller 34 issues the clock signals required for each instruction and does not issue clock signals when the device 10 is in a powered down mode.
- the system controller 34 issues refresh cycle instructions at a minimal rate, similar to the method used to refresh SDRAM memory chips 42 when device 10 is in a powered down mode.
- the refresh cycle instructions may be issued periodically or in bursts or groups, such that each internal row of SDRAM memory is refreshed to avoid memory loss.
- the system peripherals 32 may include without limitation any device for interacting with battery-powered device 10 , including a keypad, display, microphone, headphones, or a CCD array.
- the host computer connection 36 connects the battery-powered device 10 to a host computer to download files, music, or other information.
- Host computer connection 36 may be USB, Firewire, or any other connection without departing in scope from the present invention.
- the host computer (not shown) may also be used as a backup system. In some embodiments, the host computer saves a copy of the information downloaded to battery-powered device 10 , so that the contents of SDRAM memory chips 42 may be recovered in the event of power loss in the battery-powered device 10 .
- SDRAM controller 38 controls the interface to the SDRAM chips 42 during active modes. SDRAM controller 38 issues read, write, and refresh cycle instructions as requested by the system controller 34 . In some embodiments, SDRAM controller 38 issues read, write, and refresh cycle instructions using an asynchronous clocking scheme. SDRAM controller 38 also controls the active mode chip partitioning for storage of information. Although SDRAM controller 38 and system controller 34 are shown as separate elements, all or portions of SDRAM controller 38 may be implemented in software depending on the capabilities of system controller 34 . In the event that the power level drops below a specified threshold, SDRAM controller 38 may configure SDRAM memory chips 42 for auto-refresh cycle operations before system controller 34 powers down the switched power domain 30 .
- Constant power domain 40 contains one or more SDRAM memory chips 42 and auto-refresh clock controller, also referred to as a refresh circuit, 44 .
- Auto-refresh clock controller 44 controls SDRAM memory chips 42 during periods in which switched power domain elements are powered down.
- auto-refresh clock controller 44 may configure the one or more SDRAM memory chips 42 for auto-refresh commands using pin straps and may issue clock signals to initiate refresh cycles.
- the clock signal rate and the refresh rate during device powered down states are constant and the clock is enabled/disabled by the SDRAM controller 38 .
- the clock signal rate may be adjustable so that the minimal refresh rate may be determined for each battery-powered device 10 .
- the clock signal is non-periodic or may be supplied only when read, write, or refresh cycle operations are required.
- a non-periodic clock signal enables the minimum number of clock signals to be issued, resulting in minimal power consumption.
- the active mode configuration of the digital clock is asynchronous, non-periodic, and supplied to the SDRAM memory chips 42 only when read, write, or refresh cycle instructions are supplied to the system controller 34 . In this embodiment, active power consumption is reduced by reducing the number of times the memory chips 42 are accessed.
- the present invention uses unique features to maintain memory in SDRAM memory chips 42 during device powered down modes.
- SDRAM manufacturers generally provide two methods for maintaining memory in SDRAM memory: self-refresh and auto-refresh.
- self-refresh the SDRAM memory chip issues refresh cycle instructions to each internal row of memory in the device at a specified time interval or periodic rate.
- the self-refresh mode does not require information from outside the SDRAM chip to maintain information.
- auto-refresh mode the SDRAM chip 42 relies on the external logic to issue the refresh cycles at a rate that is sufficient to maintain the information.
- self-refresh is simple to use the refresh rate at which it refreshes the internal memory is well above the minimal rate required to maintain the information when the chip is not being used.
- the refresh rate can be reduced by a factor of 1000 or more resulting in a corresponding reduction in power consumption.
- the minimum refresh rate for the SDRAM memory chips 42 may be determined from test data generated for each manufacturer's SDRAM memory chips 42 . For example, information may be downloaded to SDRAM memory chips 42 and refreshed at successively lower refresh rates. For each successively lower refresh rate, the information is tested for errors. This process may be repeated for multiple chips 42 over multiple temperature ranges to determine a minimum refresh range for a normal operating temperature range. The actual refresh rate may be higher by a specified safety factor to provide a reliable refresh rate. The refresh rate determination process may be repeated for each battery-powered device 10 to provide an even higher reliability for the information. Theoretical and test data shows that a refresh rate maintained at or above a minimum refresh rate does not result in information loss over a normal operating temperature range.
- a refresh circuit 44 that is capable of issuing the required refresh cycles remains powered up along with the SDRAM memory chips 42 .
- the SDRAM memory chips 42 perform an auto-refresh cycle when their input pins are properly configured and a clock signal is issued. Since the other logic in the battery-powered device 10 is powered down or in an inactive mode, the SDRAM pins are not being driven. Therefore, the pins can be configured using resistor pin straps.
- the refresh circuit 44 must also generate a clock signal for the SDRAM memory chips 42 .
- the clock signal may be generated using a square wave generator.
- the square wave generator can be designed to generate a fixed or programmable frequency.
- the refresh circuit consumes very little power during inactive modes.
- the refresh circuit is disabled and the system controller 34 (DSP) issues refresh cycles.
- the system controller 34 configures the SDRAM memory chips 42 to accept refresh cycles and then re-enables the refresh circuit.
- FIG. 2 a method is described for managing the power used by one embodiment of the present invention is described in greater detail.
- step 110 the system controller 34 determines if a read instruction, a write instruction, or a refresh instruction has been received. If no instruction is received, the present invention waits in an inactive status 105 for a period of time before checking again for a read, write or refresh instruction 110 .
- the present invention switches to an active mode 112 and performs the functions dictated by the read instruction 115 .
- the system controller 34 determines in step 135 whether the memory has been refreshed at a rate of at least the determined minimum refresh rate. If not, then in step 130 , the memory is refreshed. Once the memory is refreshed, the system controller 34 checks for another read, write, or refresh cycle instruction 110 .
- a write instruction received by the system controller 34 triggers the system to move from an inactive mode to an active mode 112 to perform the write functions dictated by the write instruction 125 .
- the system controller 34 determines in step 135 whether the memory has been refreshed at a rate of at least the determined minimum refresh rate. If not, then in step 130 , the memory is refreshed. Once the memory is refreshed, the system controller 34 checks for another read, write, or refresh cycle instruction 110 .
- step 110 the instruction received by the system controller 34 may also be a refresh instruction. In this situation, the system controller 34 performs a refresh cycle 130 . Once the refresh cycle is completed, the system controller 34 checks for another read, write, or refresh cycle instruction 110 .
- the SDRAM controller 38 performs several functions collectively referred to as chip partitioning. Chip partitioning tends to reduce the number of chips on which information is stored, effectively reducing the power consumption rate.
- the SDRAM controller 38 determines the relatedness of the various pieces of information in step 125 B. Chip partitioning provides a tendency to store related pieces of information on the same chip to the greatest extent possible.
- the storage capacity of the SDRAM memory 42 is determined in step 125 C to find the optimum storage configuration. Factors that may be included in the determination of storage capacity include SDRAM memory configuration, and size of an SDRAM chip 42 .
- Determining the storage capacity of the SDRAM memory 42 may also include determining the minimum number of chips necessary to store all the information received by the SDRAM controller 38 . Once the necessary information is determined, the information is stored in step 125 D on the minimum number of SDRAM chips 42 . Chip partitioning results in fewer SDRAM memory chips being maintained in an active state, thereby reducing the power consumption for the system.
- battery-powered devices includes devices requiring low power consumption, whether or not actually powered by batteries.
Abstract
Description
Itotal=Istatic+Idynamic,
where Itotal is the total current consumption, Istatic is the current consumption when power is applied to the chip with no other operations occurring, and Idynamic includes current consumed for all accesses (read, write, and refresh cycles) and is proportional to fVCC, where f is the frequency of accesses, and VCC is the battery voltage.
Claims (26)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/108,221 USRE43223E1 (en) | 2002-09-26 | 2008-04-23 | Dynamic memory management |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/256,265 US7035155B2 (en) | 2002-09-26 | 2002-09-26 | Dynamic memory management |
US12/108,221 USRE43223E1 (en) | 2002-09-26 | 2008-04-23 | Dynamic memory management |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/256,265 Reissue US7035155B2 (en) | 2002-09-26 | 2002-09-26 | Dynamic memory management |
Publications (1)
Publication Number | Publication Date |
---|---|
USRE43223E1 true USRE43223E1 (en) | 2012-03-06 |
Family
ID=32029242
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/256,265 Ceased US7035155B2 (en) | 2002-09-26 | 2002-09-26 | Dynamic memory management |
US12/108,221 Expired - Lifetime USRE43223E1 (en) | 2002-09-26 | 2008-04-23 | Dynamic memory management |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/256,265 Ceased US7035155B2 (en) | 2002-09-26 | 2002-09-26 | Dynamic memory management |
Country Status (1)
Country | Link |
---|---|
US (2) | US7035155B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120110363A1 (en) * | 2009-07-27 | 2012-05-03 | Bacchus Reza M | Method and system for power-efficient and non-signal-degrading voltage regulation in memory subsystems |
US20120246390A1 (en) * | 2011-03-24 | 2012-09-27 | Kabushiki Kaisha Toshiba | Information processing apparatus, program product, and data writing method |
US20130111239A1 (en) * | 2011-10-31 | 2013-05-02 | International Business Machines Corporation | Memory refresh rate throttling for saving idle power |
US9135983B2 (en) * | 2014-02-14 | 2015-09-15 | Fujitsu Semiconductor Limited | Semiconductor memory device and control method thereof |
US9140854B2 (en) | 2011-09-22 | 2015-09-22 | Alcatel Lucent | Spatial division multiplexing optical mode converter |
US9377844B2 (en) | 2011-10-31 | 2016-06-28 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Memory refresh rate throttling for saving idle power |
US20170352429A1 (en) * | 2011-08-31 | 2017-12-07 | Micron Technology, Inc. | Memory refresh methods and apparatuses |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7538762B2 (en) * | 2003-09-30 | 2009-05-26 | Intel Corporation | Switching display update properties upon detecting a power management event |
CN1890736B (en) * | 2003-12-03 | 2011-02-02 | 皇家飞利浦电子股份有限公司 | Power saving method and system |
US7321521B2 (en) * | 2004-07-02 | 2008-01-22 | Seagate Technology Llc | Assessing energy requirements for a refreshed device |
US9384818B2 (en) | 2005-04-21 | 2016-07-05 | Violin Memory | Memory power management |
US8519673B2 (en) * | 2006-06-30 | 2013-08-27 | Seagate Technology Llc | Arbitrating battery power calibration in a device that selects a battery power unit from a purality of selectable battery power units |
JP5082727B2 (en) * | 2007-09-28 | 2012-11-28 | ソニー株式会社 | Storage control device, storage control method, and computer program |
KR101098128B1 (en) * | 2007-10-05 | 2011-12-26 | 후지쯔 가부시끼가이샤 | Information processor, storage section control device, and storage section control method |
TWI381379B (en) * | 2007-10-05 | 2013-01-01 | Fujitsu Ltd | An information processing apparatus, a memory section control apparatus, and a memory section control method |
US8892831B2 (en) * | 2008-01-16 | 2014-11-18 | Apple Inc. | Memory subsystem hibernation |
US7773441B2 (en) * | 2008-06-18 | 2010-08-10 | Micron Technology, Inc. | Memory malfunction prediction system and method |
PL2318935T3 (en) * | 2008-07-23 | 2015-04-30 | Micro Motion Inc | Processing system with external memory access control |
US8495400B2 (en) * | 2008-09-30 | 2013-07-23 | Seagate Technology Llc | Energy-efficient transitioning among device operating modes |
US10134314B2 (en) * | 2011-11-30 | 2018-11-20 | Intel Corporation | Reducing power for 3D workloads |
US8848471B2 (en) * | 2012-08-08 | 2014-09-30 | International Business Machines Corporation | Method for optimizing refresh rate for DRAM |
US9342134B2 (en) * | 2013-09-27 | 2016-05-17 | Intel Corporation | Power consumption reduction in a computing device |
WO2015152857A1 (en) | 2014-03-29 | 2015-10-08 | Empire Technology Development Llc | Energy-efficient dynamic dram cache sizing |
US8929169B1 (en) * | 2014-05-13 | 2015-01-06 | Sandisk Technologies Inc. | Power management for nonvolatile memory array |
US9990293B2 (en) * | 2014-08-12 | 2018-06-05 | Empire Technology Development Llc | Energy-efficient dynamic dram cache sizing via selective refresh of a cache in a dram |
WO2016076854A1 (en) * | 2014-11-12 | 2016-05-19 | Hewlett Packard Enterprise Development Lp | Server node shutdown |
JP6180450B2 (en) * | 2015-02-02 | 2017-08-16 | キヤノン株式会社 | Control device, control method and program for control device |
US10838818B2 (en) | 2015-09-18 | 2020-11-17 | Hewlett Packard Enterprise Development Lp | Memory persistence from a volatile memory to a non-volatile memory |
US9857978B1 (en) | 2017-03-09 | 2018-01-02 | Toshiba Memory Corporation | Optimization of memory refresh rates using estimation of die temperature |
US11669425B2 (en) * | 2020-04-08 | 2023-06-06 | Micron Technology, Inc. | Computerized system and method for periodically powering up a storage device to avoid data loss |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590082A (en) | 1994-06-07 | 1996-12-31 | Hitachi, Ltd. | Circuit and method for retaining DRAM content |
US5627791A (en) | 1996-02-16 | 1997-05-06 | Micron Technology, Inc. | Multiple bank memory with auto refresh to specified bank |
US5881016A (en) | 1997-06-13 | 1999-03-09 | Cirrus Logic, Inc. | Method and apparatus for optimizing power consumption and memory bandwidth in a video controller using SGRAM and SDRAM power reduction modes |
US5898290A (en) | 1995-09-07 | 1999-04-27 | Norand Corporation | Battery pack with capacity and pre-removal indicators |
US5918242A (en) * | 1994-03-14 | 1999-06-29 | International Business Machines Corporation | General-purpose customizable memory controller |
US6073223A (en) * | 1997-07-21 | 2000-06-06 | Hewlett-Packard Company | Memory controller and method for intermittently activating and idling a clock signal for a synchronous memory |
US6208577B1 (en) * | 1999-04-16 | 2001-03-27 | Micron Technology, Inc. | Circuit and method for refreshing data stored in a memory cell |
US6216233B1 (en) | 1997-02-12 | 2001-04-10 | Intel Corporation | Maintaining a memory while in a power management mode |
US6252830B1 (en) | 1999-10-15 | 2001-06-26 | William Hsu | Real-time compressing and decompressing apparatus for recording and reproducing multi-soundtrack voice data |
US6272588B1 (en) | 1997-05-30 | 2001-08-07 | Motorola Inc. | Method and apparatus for verifying and characterizing data retention time in a DRAM using built-in test circuitry |
US6317657B1 (en) * | 1998-08-18 | 2001-11-13 | International Business Machines Corporation | Method to battery back up SDRAM data on power failure |
US20020026543A1 (en) * | 2000-05-19 | 2002-02-28 | Masayoshi Tojima | High-performance DMA controller |
US20030081483A1 (en) * | 2001-09-19 | 2003-05-01 | Denise De Paor | Dram refresh command operation |
US6658544B2 (en) | 2000-12-27 | 2003-12-02 | Koninklijke Philips Electronics N.V. | Techniques to asynchronously operate a synchronous memory |
US6763443B1 (en) | 2000-08-23 | 2004-07-13 | Celestica International Inc. | System and method for using a synchronous memory device with an asynchronous memory controller |
-
2002
- 2002-09-26 US US10/256,265 patent/US7035155B2/en not_active Ceased
-
2008
- 2008-04-23 US US12/108,221 patent/USRE43223E1/en not_active Expired - Lifetime
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5918242A (en) * | 1994-03-14 | 1999-06-29 | International Business Machines Corporation | General-purpose customizable memory controller |
US5590082A (en) | 1994-06-07 | 1996-12-31 | Hitachi, Ltd. | Circuit and method for retaining DRAM content |
US5898290A (en) | 1995-09-07 | 1999-04-27 | Norand Corporation | Battery pack with capacity and pre-removal indicators |
US5627791A (en) | 1996-02-16 | 1997-05-06 | Micron Technology, Inc. | Multiple bank memory with auto refresh to specified bank |
US6216233B1 (en) | 1997-02-12 | 2001-04-10 | Intel Corporation | Maintaining a memory while in a power management mode |
US6272588B1 (en) | 1997-05-30 | 2001-08-07 | Motorola Inc. | Method and apparatus for verifying and characterizing data retention time in a DRAM using built-in test circuitry |
US5881016A (en) | 1997-06-13 | 1999-03-09 | Cirrus Logic, Inc. | Method and apparatus for optimizing power consumption and memory bandwidth in a video controller using SGRAM and SDRAM power reduction modes |
US6073223A (en) * | 1997-07-21 | 2000-06-06 | Hewlett-Packard Company | Memory controller and method for intermittently activating and idling a clock signal for a synchronous memory |
US6317657B1 (en) * | 1998-08-18 | 2001-11-13 | International Business Machines Corporation | Method to battery back up SDRAM data on power failure |
US6208577B1 (en) * | 1999-04-16 | 2001-03-27 | Micron Technology, Inc. | Circuit and method for refreshing data stored in a memory cell |
US6252830B1 (en) | 1999-10-15 | 2001-06-26 | William Hsu | Real-time compressing and decompressing apparatus for recording and reproducing multi-soundtrack voice data |
US20020026543A1 (en) * | 2000-05-19 | 2002-02-28 | Masayoshi Tojima | High-performance DMA controller |
US6763443B1 (en) | 2000-08-23 | 2004-07-13 | Celestica International Inc. | System and method for using a synchronous memory device with an asynchronous memory controller |
US6658544B2 (en) | 2000-12-27 | 2003-12-02 | Koninklijke Philips Electronics N.V. | Techniques to asynchronously operate a synchronous memory |
US20030081483A1 (en) * | 2001-09-19 | 2003-05-01 | Denise De Paor | Dram refresh command operation |
Non-Patent Citations (5)
Title |
---|
Final Office Action for U.S. Appl. No. 10/256,265 mailed Jan. 11, 2005. |
Notice of Allowance for U.S. Appl. No. 10/256,265 mailed Nov. 29, 2005. |
Office Action for U.S. Appl. No. 10/256,265 mailed Apr. 23, 2004. |
Office Action for U.S. Appl. No. 10/256,265 mailed Sep. 6, 2005. |
Sklavos, N. and Koufopavlou, O., "Low-Power Implementation of an Encryption/Decryption System with Asynchronous Techniques," Proceedings of the First Conf. on Microelectronics, Microsystems and Nanotechnology (MMN 2000), Athens, Greec, Nov. 20-22, 2002. |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120110363A1 (en) * | 2009-07-27 | 2012-05-03 | Bacchus Reza M | Method and system for power-efficient and non-signal-degrading voltage regulation in memory subsystems |
US8782452B2 (en) * | 2009-07-27 | 2014-07-15 | Hewlett-Packard Development Company, L.P. | Method and system for power-efficient and non-signal-degrading voltage regulation in memory subsystems |
US20120246390A1 (en) * | 2011-03-24 | 2012-09-27 | Kabushiki Kaisha Toshiba | Information processing apparatus, program product, and data writing method |
US20170352429A1 (en) * | 2011-08-31 | 2017-12-07 | Micron Technology, Inc. | Memory refresh methods and apparatuses |
US10109357B2 (en) | 2011-08-31 | 2018-10-23 | Micron Technology, Inc. | Memory refresh methods and apparatuses |
US10290359B2 (en) * | 2011-08-31 | 2019-05-14 | Micron Technology, Inc. | Memory refresh methods and apparatuses |
US9140854B2 (en) | 2011-09-22 | 2015-09-22 | Alcatel Lucent | Spatial division multiplexing optical mode converter |
US20130111239A1 (en) * | 2011-10-31 | 2013-05-02 | International Business Machines Corporation | Memory refresh rate throttling for saving idle power |
US9116699B2 (en) * | 2011-10-31 | 2015-08-25 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Memory refresh rate throttling for saving idle power |
US9377844B2 (en) | 2011-10-31 | 2016-06-28 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Memory refresh rate throttling for saving idle power |
US9135983B2 (en) * | 2014-02-14 | 2015-09-15 | Fujitsu Semiconductor Limited | Semiconductor memory device and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
US7035155B2 (en) | 2006-04-25 |
US20040062119A1 (en) | 2004-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE43223E1 (en) | Dynamic memory management | |
US10521006B2 (en) | Report updated threshold level based on parameter | |
US7197652B2 (en) | Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring | |
US6134167A (en) | Reducing power consumption in computer memory | |
US5148546A (en) | Method and system for minimizing power demands on portable computers and the like by refreshing selected dram cells | |
US7437579B2 (en) | System and method for selective memory module power management | |
US7752470B2 (en) | Method and system for power management including device controller-based device use evaluation and power-state control | |
US8468370B2 (en) | Systems, methods and devices for control of the operation of data storage devices using solid-state memory and monitoring energy used therein | |
US5262998A (en) | Dynamic random access memory with operational sleep mode | |
JP3224153B2 (en) | Improved data protection system and data protection method | |
US6647472B2 (en) | Fast suspend to disk | |
EP0859975B1 (en) | A core section having asynchronous partial reset | |
EP2889773B1 (en) | Method for backing up data during memory system power-down, and memory system controller | |
US11146095B2 (en) | Device charging system | |
USRE44009E1 (en) | Assessing energy requirements for a refreshed device | |
US10365842B2 (en) | System and method for reducing power consumption of memory | |
US20080010514A1 (en) | Backup power supply and desktop computer and method for protecting the data thereof | |
TW201911304A (en) | Memory controller and operating method thereof | |
JPH09160838A (en) | Cache memory backup device | |
US20150081958A1 (en) | Method for backing up data in a case of power failure of storage system, and storage system controller | |
US6317657B1 (en) | Method to battery back up SDRAM data on power failure | |
US6694442B2 (en) | Method for saving power in a computer by idling system controller and reducing frequency of host clock signal used by system controller | |
JP2003164075A (en) | Electrical apparatus, computer equipment, intelligent battery, and power-supply control method | |
US20040107310A1 (en) | Method and related apparatus for maintaining data stored in a dynamic random access memory | |
WO2019133201A1 (en) | Configurable flush of data from volatile memory to non-volatile memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FRANKFURT GMBH, LLC, DELAWARE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:XWARE TECHNOLOGY, INC.;REEL/FRAME:025116/0106 Effective date: 20070514 |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: CUFER ASSET LTD. L.L.C., DELAWARE Free format text: MERGER;ASSIGNOR:FRANKFURT GMBH. LLC;REEL/FRAME:037117/0118 Effective date: 20150812 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553) Year of fee payment: 12 |
|
AS | Assignment |
Owner name: INTELLECTUAL VENTURES ASSETS 115 LLC, DELAWARE Free format text: NUNC PRO TUNC ASSIGNMENT;ASSIGNOR:CUFER ASSET LTD. L.L.C.;REEL/FRAME:048093/0254 Effective date: 20181214 |
|
AS | Assignment |
Owner name: COMPUTER CIRCUIT OPERATIONS LLC, NEW YORK Free format text: NUNC PRO TUNC ASSIGNMENT;ASSIGNOR:INTELLECTUAL VENTURES ASSETS 115 LLC;REEL/FRAME:048879/0373 Effective date: 20181227 |