System and method for selective memory module power management
A memory module includes a memory hub that monitors utilization of the memory module and directs devices of the memory module to a reduced power state when the module is not being used at a desired level. System utilization of the memory module is monitored by tracking system usage, manifested by read and write commands issued to the memory module, or by measuring temperature changes indicating a level of device activity beyond normal refresh activity. Alternatively, measured activity levels can be transmitted over a system bus to a centralized power management controller which, responsive to the activity level packets transmitted by remote memory modules, direct devices of those remote memory modules to a reduced power state. The centralized power management controller could be disposed on a master memory module or in a memory or system controller.
Latest Micron Technology, Inc. Patents:
- LOCAL I/O READ CIRCUIT IN MEMORY SYSTEM
- METHOD FOR MANUFACTURING SEMICONDUCTOR DEVICE INCLUDING BITCON AND CELLCON
- Assemblies Having Conductive Structures Along Pillars of Semiconductor Material, and Methods of Forming Integrated Circuitry
- Integrated Assemblies Having Body Contact Regions Proximate Transistor Body Regions; and Methods Utilizing Bowl Etches During Fabrication of Integrated Assemblies
- Memory Array And Method Used In Forming A Memory Array
This invention relates to computer memory systems. More particularly, the present invention relates to enhancing power management and reducing power consumption in a computer memory system.
BACKGROUND OF THE INVENTIONMost computers and other digital systems have a system memory which often consists of dynamic random access memory (“DRAM”) devices. DRAM devices are fairly inexpensive because a DRAM memory cell needs relatively few components to store a data bit as compared with other types of memory cells. Thus, a large system memory can be implemented using DRAM devices for a relatively low cost.
Commonly, DRAM devices are arranged on memory modules, such as single in-line memory modules (“SIMMs”) and dual in-line memory modules (“DIMMs”). A representative module is shown in
The proliferation of this modular design has a number of advantages, ranging from the ability to provide a large memory capacity in a relatively small package to greatly simplifying the installation process as compared to the painstaking process of installing individual memory chips. Beyond these more obvious advantages of modular design, however, is the additional functionality which is made possible by the use of the memory hub 112 (
Returning to the DRAM devices themselves, while DRAM devices do provide a relatively inexpensive way to provide a large system memory, DRAM devices suffer from the disadvantage that their memory cells must be continually refreshed. Refreshing memory cells consumes an appreciable quantity of power. Because of this drain of power, an important topic in DRAM design is how to reduce the power consumed in refreshing DRAM cells.
Once such technique for reducing power consumption is the implementation of a self-refresh cycle.
A DRAM device 200 typically is refreshed using an auto-refresh cycle, which is triggered by the system and operates synchronously with the system clock. More specifically, with the CKE 220 and WE* 228 control lines driven high, and the CS* 226, RAS* 230 and CAS* 232 control lines driven low, the rising edge of the next clock signal initiates an auto-refresh of the next row of the memory banks 250. Once the system initiates an auto-refresh cycle, the refresh counter 270 is incremented by one, and the row of the memory banks 250 corresponding to the updated count stored in the refresh counter 270 is refreshed. The refresh counter 270 maintains its count to track what row is next to be refreshed when the next auto-refresh cycle is initiated. This process repeats continuously. In a typical DRAM, having 4,096 rows and a maximum refresh interval of 64 milliseconds in its operational mode, a command to refresh one row would have to be issued approximately every 15 to 16 microseconds.
Although the auto-refresh process is a relatively simple one, auto-refresh requires that hundreds or thousands of times per second, thousands of control logic and access transistors within the devices depicted in
Implementation of a self-refresh cycle saves some of the power consumed as compared with auto-refresh. Initiation of a self-refresh cycle places a DRAM device 200 in a continual, indefinite refresh cycle to preserve the data stored in the DRAM device 200. A self-refresh command typically is issued during a period when useful read and write requests will not be forthcoming, for example, when a user has placed the computing system into a sleep or standby mode. A self-refresh command is triggered by driving the CS* 226, RAS* 230 and the CAS* 232 control lines low, driving the WE* 228 control line high, and, this time, driving the CKE 220 control line low. This command causes the self-refresh control logic 280 to periodically and repeatedly refresh every one of its rows, and also places all data, address, and control lines into a “don't care” state, with the exception of the CKE 220 control line. Driving the CKE 220 control line high ends the self-refresh state, removing the other control lines out of the “don't care” state.
During a self-refresh cycle, with most of the control lines in a don't care state, devices in the DRAM device 200 will not be switching to decode memory addresses and perform read or write commands, thus current and voltage fluctuations in the DRAM device 200 are reduced. This relatively stable condition tends to ameliorate electrical and thermal effects which contribute to current leakage from the capacitors of the memory cells. As a result, while the memory cells still need to be refreshed to preserve the integrity of the data stored therein, the memory cells do not need to be refreshed as frequently as during an operational state. During self-refresh, the contents of the memory cells can be preserved by refreshing a row less frequently than required during normal operation. In self-refresh state, for example, the rows might not need to be refreshed for a period up to twice as long, or perhaps slightly longer, than is permitted during an operational state.
While self-refresh can save an appreciable amount of power, self-refresh traditionally is implemented on a system-wide basis, often along with other power-saving techniques: For example, when a computer is placed in a standby mode, virtually every device in the computer enters a standby mode, i.e., the display is shut down, the hard disk is stopped, the memory is placed in a self-refresh state, and other systems are similarly put to “sleep.”
Operating systems, such as Windows 2000® do allow for more advanced power management options, and a user can select an interval of disuse after which the hard disk, the display, and the entire system will power down. In addition, some operating systems or utilities provide for additional power management choices allowing a user to choose operating parameters ranging between maximum performance at one extreme and maximum power savings at another extreme, or some intermediate compromise choice to suit the user's preferences. Still, while all these options save power, the only means to avoid wasting power in system memory remains an all or nothing, standby or not proposition.
What is needed is a way to save power which might be wasted in system memory. It is to this end that the present invention is directed.
SUMMARY OF THE INVENTIONA memory module is equipped with means to monitor utilization of the memory module. Through these devices, system utilization of the memory module can be monitored by tracking actual system usage, such in the form of read and write commands issued to the memory module, or by measuring temperature changes that indicate a nominal level of read and write activity beyond continual refresh activity. According to one aspect of the invention, control logic on the memory module directs the memory module into a power saving mode after determining, responsive to current activity levels, that the module need not remain immediately ready to process memory commands. In accordance with another aspect of the invention, the control logic could throttle activity of the memory module to reduce the responsiveness of the memory module in the face of receiving more than a desired number of system commands per unit time and/or measured temperature levels or changes. In such a mode, the memory module would not be rendered dormant to system operations as in the previously described aspect of the invention, but instead would merely limit memory module usage and allow the memory module to process only a predetermined number of system commands or remain at or below a certain operating temperature. For example, the control logic would cause a number of idle states to be observed to maintain memory module power consumption below a certain level.
According to another aspect of the invention, data packets summarizing the memory module's activity level are transmitted on the memory bus via the memory hub. The memory module activity level packet could be received by a memory controller or by a master memory hub disposed on another memory module. Selectively directing memory modules into a reduced power state can thereby be managed centrally by the system controller, the memory controller, or a master memory module equipped with a master module power management controller. The system controller or master module power management controller may also communicate power control data packets to other memory modules via the system bus and the other memory modules' memory hubs to direct those modules into reduced power states. The system controller or master module power management controller could direct the memory modules into a power saving mode such as a self-refresh mode, could throttle memory module activity to reduce responsiveness and reduce power consumption, or use another reduced power mode.
The memory module 300 shown in
The power management controller 360, acting on input from the activity monitor 350 or the temperature sensor 370, can direct the memory module 300 into a reduced power mode when the memory module is inactive. For example, the memory module 300 might be inactive if it represents a portion of memory configured to be at the upper end of the system memory, and the user is not running applications requiring enough memory to load programs or data into that portion of memory. Alternatively, the memory devices 104 on the memory module 300 might have been loaded with programs and data the user is not actively using. For example, the memory devices 104 on the memory module 300 might have been loaded with a word processing document the user opened and has left idle in an open window, while the user works with a program loaded into memory devices on other memory modules (not shown). In addition, the user may have stopped using the system altogether for a few moments, resulting in none of the contents stored in the memory devices 104 and memory modules actively being used for a time. Such examples of lack of activity may signal that these memory devices 104 could be directed into a power saving state. The activity monitor 350 might count memory commands directed to the memory module 300, and after counting a predetermined number of clock cycles corresponding to a preselected time interval without a memory command, the activity monitor 350 could signal the power management controller 360 that the memory module 300 could assume a lower power consumption state.
In
In one embodiment, the activity monitor 350 (
In addition to directly monitoring memory commands, a memory module 300 equipped with this embodiment of the present invention also can determine system activity somewhat less directly by measuring the temperature of the memory devices 104. As is well understood in the art, semiconductor devices such as memory devices consume power, some of which is lost to waste heat, with the more activity taking place in the device, the greater the amount of heat generated. As is known in the art, when a device is actively being used, more gates and other circuits in the device will be switching; the more circuits that are switching, the more power the device draws, and more heat is generated. To give an example, in a memory device 104, refreshing the memory array in a system-directed, ordinary auto-refresh mode consumes less power than the same semiconductor device actually processing memory commands, and therefore generates less heat.
The temperature sensor 370 can be deployed in a number of different ways. As shown in
The temperature sensor 370 will compare the measured temperature to a predetermined threshold temperature. This temperature can be specified as an absolute value, as an absolute value relative to an ambient system temperature which might be measured by or communicated to the temperature sensor 370, or as a differential measured from an operating temperature reached by the memory module 300 once it has become fully operational. Alternatively, the temperature sensor 370 could be programmed to respond to a combination of factors, for example, when the temperature falls below a predetermined threshold and when that temperature represents a predetermined differential from a previously measured operating temperature. Once the temperature sensor 370 detects that the threshold or thresholds have been reached, the temperature sensor 370 might signal the power management controller 360 that the temperature level indicates the memory module 300 has not been actively used, and could assume a reduced power state.
As mentioned above, the power management controller 360 receives signals from the activity monitor 350 and the temperature sensor 370 and, responsive to those signals, determines when the memory module might be directed to a reduced power state and restored to fully operational status.
From the time these devices are engaged, the power management controller 360 (
On the other hand, if the activity monitor 350 (
Although power saving techniques for memory systems such as self-refresh are currently known and used in computer systems, one of the advantages of embodiments of the present invention is that such techniques can be applied selectively. Conventionally, power-saving techniques are implemented across the entire system when a system user manually directs the system into a standby mode, or when the system automatically transitions into a standby mode after a predetermined period of inactivity. Embodiments of the present invention, however, allow for reaping these power savings while a system is operating. As a result, embodiments of the present invention can extend the actual operating time of electronic aids employing such memory devices.
It should be understood that use of the self-refresh mode is not the only possible way that embodiments of the present invention can be used to save power in memory systems. To name one example, the power management controller 360 (
Alternatively, rather than direct the memory module 300 into an inactive state, the power management controller 360 can “throttle” the activity of the memory module 300 to system commands to limit power consumption. Instead of directing the memory module 300 into a nonfunctional state, such as a self-refresh state, throttling activity of the memory module 300 will reduce the responsiveness of the memory module 300 to keep its power consumption at or below a desired level. The power management controller 360 may be directed to restrict the number of system commands processed by the memory module 300 per unit time, mandating a certain number of idle intervals pass after one or a number of system commands have been processed per unit time. In one embodiment, the power management controller 360 may be programmed to always respond to a first system command or a first number of system commands, then insert a requisite number of idle intervals to contain power consumption. Alternatively, the power management controller 360 might evaluate power consumption by monitoring device temperatures, correlating a certain temperature level or change of temperature with exceeding a desired level of power consumption. As in the case of the power management controller 360 monitoring system requests, after the power management controller 360 measures a certain temperature level or change, the power management controller 360 can mandate a number of idle states, during which power consumption and, therefore, device temperature will decrease. Throttling the activity of the memory module 300 in this way, its power consumption can be reduced without actually rendering the memory module 300 at least temporarily inactive, as in the case of directing the memory module 300 into self-refresh mode.
Another embodiment of the present invention is shown in
Responsive to information received about its own activity level, the activity level of the secondary memory module 508, and any other memory modules (not shown) associated with the system, the primary power management controller 520 determines whether its own devices, those on the secondary memory module 508, or any other memory modules (not shown) should be directed to a reduced power state. As will be appreciated, these control decisions are made by the primary power management controller 520 just as they were made by the power management controller 360 of the memory module 300 of
It will be appreciated that, in such a centralized control system, all the same power saving techniques could be employed. Memory devices 104 could be directed into a reduced power mode. Alternatively, the memory devices 104 and other devices could be powered off entirely if unused, or after having long dormant contents archived, both as previously described. As long as devices on the secondary memory module 508 remain active such that the secondary memory module 508 can be reactivated when memory commands to the secondary memory module are received, power can be saved in avoiding refreshing empty or long-unused and archived data.
A computer system 600 using the memory modules 300 of
In addition, the computer system 600 includes one or more input devices 636, such as a keyboard or a mouse, coupled to the processor 614 through the system controller 620 to allow an operator to interface with the computer system 600. Typically, the computer system 600 also includes one or more output devices 640 coupled to the processor 614 through the system controller 620, such output devices typically being a printer or a video terminal. One or more data storage devices 644 are also typically coupled to the processor 614 through the system controller 620 to allow the processor 614 to store data or retrieve data from internal or external storage media (not shown). Examples of typical storage devices 640 include hard and floppy disk drives, removable large capacity disk drives, tape cartridge drives, removable flash EEPROM storage devices, and compact disc (CD) read-only, writeable, and rewriteable drives. The processor 614 is also typically coupled to cache memory 648, which is usually static random access memory (“SRAM”).
From the foregoing it will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims.
Claims
1. A memory system, comprising:
- a memory controller;
- a memory bus operably coupled with the memory controller to communicate memory commands from the memory controller and communicate memory output signals to the memory controller; and
- a plurality of memory modules operably coupled with the memory bus, the memory modules generating the memory output signals and responsive to the memory commands, at least some of the memory modules comprising: an insulative substrate supporting a system interface; a plurality of memory devices disposed on the insulative substrate; a memory hub disposed on the insulative substrate and operably coupled with the memory devices and the system interface, the memory hub managing communications between the memory devices and the system interface in response to memory commands received via the system interface; an activity sensing device monitoring activity of the memory module containing the activity sensing device in processing memory commands, the activity sensing device being operable to generate an output corresponding thereto; and a module power controller coupled to the activity sensing device of the memory module containing the module power controller, the module power controller being operable to direct the memory devices in the memory module containing the module power controller to a reduced power state responsive to the output of the activity sensing device indicating activity of the memory module containing the module power controller is not of a desired level.
2. The memory system of claim 1 wherein the module power controller directs the memory module to the reduced power state when the activity sensing device indicates memory module activity has fallen below the desired level.
3. The memory system of claim 1 wherein the module power controller directs the memory module to the reduced power state when the activity sensing device indicates memory module activity has exceeded the desired level.
4. The memory system of claim 1 wherein the module power controller is operable to determine when the memory module should be directed to the reduced power state responsive to the output of the activity sensing device.
5. The memory system of claim 1 wherein the module power controller is operable to direct the memory module to the reduced power state upon receiving an external reduced power signal.
6. The memory system of claim 1 wherein the module power controller of one of the memory modules comprises a master power controller, the master power controller receiving the output of the activity sensing device from at least one other memory module and, responsive to the output of the activity sensing device indicating activity of the memory module is not of the desired level, generates an external reduced power signal to direct the at least one other memory module to the reduced power state.
7. The memory system of claim 1 wherein the memory controller comprises a master power controller, the master power controller receiving the output of the activity sensing device from at least one other memory module and, responsive to the output of the activity sensing device indicating indicating activity of the memory module is not of the desired level, generates an external reduced power signal to direct the at least one other memory module to the reduced power state.
8. The memory system of claim 1 wherein the memory module is directed to the reduced power state by the module power controller responsive to a single indication the activity of the memory module is not of the desired level reflected in the output of the activity sensing device.
9. The memory system of claim 1 wherein the memory module is directed to the reduced power state by the module power controller responsive to a plurality of indications the activity of the memory module is not of the desired level reflected in the output of the activity sensing device.
10. The memory system of claim 1 wherein the memory module is directed to the reduced power state by the module power controller when the output of the activity sensing device indicates the memory module has not received a desired number of memory commands for a predetermined time period.
11. The memory system of claim 1 wherein the activity sensing device comprises an activity monitor that monitors memory commands directed to the memory module.
12. The memory system of claim 11 wherein the activity monitor monitors the memory commands received via the system interface.
13. The memory system of claim 11 wherein the activity monitor comprises part of the memory hub.
14. The memory system of claim 1 wherein the activity sensing device comprises a temperature sensor wherein the temperature sensor is operable to measure when the activity of the memory module is not of the desired level by monitoring temperature.
15. The memory system of claim 14 wherein the temperature sensor is operably coupled with at least one memory device to measure a memory device operating temperature.
16. The memory system of claim 14 wherein the temperature sensor is operably coupled with each of the memory devices to measure an aggregate memory device temperature.
17. The memory system of claim 14 wherein the temperature sensor is operably coupled with the insulative substrate to measure a memory module operating temperature.
18. The memory system of claim 14 wherein the temperature sensor is operably coupled with the memory hub to measure a memory hub operating temperature.
19. The memory system of claim 14 wherein the temperature sensor further comprises an ambient temperature sensor so that a measured temperature of the memory module can be compared to an ambient temperature.
20. The memory system of claim 1 wherein the plurality of memory devices comprise a plurality of DRAM devices.
21. The memory system of claim 20 wherein the reduced power state comprises a reduced refresh state in which memory cells of the DRAM devices are refreshed less frequently.
22. The memory system of claim 21 wherein the reduced refresh state comprises a self-refresh state.
23. The memory system of claim 1 wherein the reduced power state is a reduced response mode in which the module power controller limits response of the memory module to memory commands to control power consumption by the memory module.
24. The memory system of claim 23 wherein the module power controller limits the response of the memory module to memory commands by mandating idle intervals between responses to memory commands by the memory module.
25. The memory system of claim 1 wherein the output of the activity sensing device communicates that the memory devices of the memory module currently store no programming instructions and data, and the power management controller causes a plurality of devices of the memory module to be powered off.
26. The memory system of claim 1 wherein the output of the activity sensing device communicates that the memory devices of the memory module currently store programming information that has not been accessed by the system for an extended period, and the power management controller causes the contents of the memory devices to be saved to a storage device and a plurality of devices of the memory module to be powered off.
27. A computer system, comprising:
- a processor;
- an input device, operably connected to the processor, allowing data to be entered into the computer system;
- an output device, operably connected to the processor, allowing data to be output from the computer system; and
- a memory system, operably coupled with the processor, the memory system comprising: a memory controller; a memory bus operably coupled with the memory controller to communicate memory commands from the memory controller and communicate memory output signals to the memory controller; and a plurality of memory modules operably coupled with the memory bus, the memory modules generating the memory output signals and responsive to the memory commands, at least some of the memory modules comprising: an insulative substrate supporting a system interface; a plurality of memory devices disposed on the insulative substrate; a memory hub disposed on the insulative substrate and operably coupled with the memory devices and the system interface, the memory hub managing communications between the memory devices and the system interface in response to memory commands received via the system interface; an activity sensing device monitoring activity of the memory module containing the activity sensing device in processing memory commands, the activity sensing device being operable to generate an output corresponding thereto; and a module power controller coupled to the activity sensing device of the memory module containing the module power controller, the module power controller being operable to direct the memory devices in the memory module containing the module power controller to a reduced power state responsive to the output of the activity sensing device indicating activity of the memory module containing the module power controller is not of a desired level.
28. The computer system of claim 27 wherein the module power controller directs the memory module to the reduced power state when the activity sensing device indicates memory module activity has fallen below the desired level.
29. The computer system of claim 27 wherein the module power controller directs the memory module to the reduced power state when the activity sensing device indicates memory module activity has exceeded the desired level.
30. The computer system of claim 27 wherein the module power controller is operable to determine when the memory module should be directed to the reduced power state responsive to the output of the activity sensing device.
31. The computer system of claim 27 wherein the module power controller is operable to direct the memory module to the reduced power state upon receiving an external reduced power signal.
32. The computer system of claim 27 wherein the module power controller of one of the memory modules comprises a master power controller, the master power controller receiving the output of the activity sensing device from at least one other memory module and, responsive to the output of the activity sensing device activity of the memory module is not of the desired level, generates an external reduced power signal to direct the at least one other memory module to the reduced power state.
33. The computer system of claim 27 wherein the memory controller comprises a master power controller, the master power controller receiving the output of the activity sensing device from at least one other memory module and, responsive to the output of the activity sensing device indicating activity of the memory module is not of the desired level, generates an external reduced power signal to direct the at least one other memory module to the reduced power state.
34. The computer system of claim 27 wherein the memory module is directed to the reduced power state by the module power controller responsive to a single indication activity of the memory module is not of the desired level reflected in the output of the activity sensing device.
35. The computer system of claim 27 wherein the memory module is directed to the reduced power state by the module power controller responsive to a plurality of indications activity of the memory module is not of the desired level reflected in the output of the activity sensing device.
36. The computer system of claim 27 wherein the memory module is directed to the reduced power state by the module power controller when the output of the activity sensing device indicates the memory module has not received a desired number of memory commands for a predetermined time period.
37. The computer system of claim 27 wherein the activity sensing device comprises an activity monitor that monitors memory commands directed to the memory module.
38. The computer system of claim 27 wherein the activity monitor monitors the memory commands received via the system interface.
39. The computer system of claim 27 wherein the activity monitor comprises part of the memory hub.
40. The computer system of claim 27 wherein the activity sensing device comprises a temperature sensor wherein the temperature sensor is operable to measure when the activity of the memory module is not of the desired level by monitoring temperature.
41. The computer system of claim 40 wherein the temperature sensor is operably coupled with at least one memory device to measure a memory device operating temperature.
42. The computer system of claim 40 wherein the temperature sensor is operably coupled with each of the memory devices to measure an aggregate memory device temperature.
43. The computer system of claim 40 wherein the temperature sensor is operably coupled with the insulative substrate to measure a memory module operating temperature.
44. The computer system of claim 40 wherein the temperature sensor is operably coupled with the memory hub to measure a memory hub operating temperature.
45. The computer system of claim 40 wherein the temperature sensor further comprises an ambient temperature sensor so that a measured temperature of the memory module can be compared to an ambient temperature.
46. The computer system of claim 27 wherein the plurality of memory devices comprise a plurality of DRAM devices.
47. The computer system of claim 46 wherein the reduced power state comprises a reduced refresh state in which memory cells of the DRAM devices are refreshed less frequently.
48. The computer system of claim 47 wherein the reduced refresh state comprises a self-refresh state.
49. The computer system of claim 27 wherein the reduced power state is a reduced response mode in which the module power controller limits response of the memory module to memory commands to control power consumption by the memory module.
50. The computer system of claim 27 wherein the module power controller limits the response of the memory module to memory commands by mandating idle intervals between responses to memory commands by the memory module.
51. The computer system of claim 27 wherein the output of the activity sensing device communicates that the memory devices of the memory module currently store no programming instructions and data, and the power management controller causes a plurality of devices of the memory module to be powered off.
52. The computer system of claim 27 wherein the output of the activity sensing device communicates that the memory devices of the memory module currently store programming information that has not been accessed by the system for an extended period, and the power management controller causes the contents of the memory devices to be saved to a storage device and a plurality of devices of the memory module to be powered off.
53. A method of controlling power used in a plurality of memory modules associated with a system, each of the memory modules containing a plurality of memory devices, the method comprising:
- individually measuring activity in each of the memory modules in response to memory commands from the system in at least some of the memory modules;
- determining within each of the memory modules when each of the respective memory modules is inactive based on lack of activity in response to nonrefresh memory commands from the system measured in the respective memory modules; and
- internally directing the memory devices in at least one of the memory modules into a reduced power state when it is determined that activity of that memory module is not of a desired level.
54. The method of claim 53 wherein the memory module activity has fallen below the desired level.
55. The method of claim 53 wherein the memory module activity has exceeded the desired level.
56. The method of claim 53 wherein evaluating whether the memory module should be directed into the reduced power state and directing the module into the reduced power state occurs within the memory module.
57. The method of claim 53 wherein evaluating whether the memory module should be directed into the reduced power state and directing the module into the reduced power state occurs in an outside control device outside the memory module responsive to activity of the memory module not of the desired level reflected in the output of the activity sensing device.
58. The method of claim 57 wherein the outside control device resides in a memory controller.
59. The method of claim 57 wherein the outside control device resides in a system controller.
60. The method of claim 57 wherein the outside control device resides in a master memory module.
61. The method of claim 57 wherein the outside control device for other memory modules resides within the memory module.
62. The method of claim 53 wherein evaluating whether the memory module should be directed into the reduced power state is responsive to a single occurrence of activity of the memory module not of the desired level reflected in the output of the activity sensing device.
63. The method of claim 53 wherein evaluating whether the memory module should be directed into the reduced power state is responsive to a plurality of occurrences activity of the memory module not of the desired level reflected in the output of the activity sensing device.
64. The method of claim 53 wherein evaluating whether the memory module should be directed into the reduced power state is responsive to activity of the memory module not of the desired level reflected in the output of the activity sensing measured over a predetermined time period.
65. The method of claim 64 wherein activity is measured via a memory hub of the memory module.
66. The method of claim 53 wherein evaluating whether the memory module should be directed into the reduced power state is responsive to monitoring temperature within the memory module.
67. The method of claim 66 wherein evaluating whether the memory module should be directed into the reduced power state is responsive to monitoring temperature of a memory device within the memory module.
68. The method of claim 66 wherein evaluating whether the memory module should be directed into the reduced power state is responsive to monitoring temperature of each of the memory devices within the memory module.
69. The method of claim 66 wherein evaluating whether the memory module should be directed into the reduced power state is responsive to monitoring temperature of an insulative substrate within the memory module.
70. The method of claim 66 wherein evaluating whether the memory module should be directed into the reduced power state is responsive to monitoring temperature of a memory hub.
71. The method of claim 66 further comprising measuring an ambient temperature in comparison with temperature monitored within the memory module.
72. The method of claim 53 wherein the plurality of memory devices comprise a plurality of DRAM devices and the reduced power state comprises a reduced refresh state in which memory cells of the DRAM devices are refreshed less frequently.
73. The method of claim 72 wherein the reduced refresh state is a self-refresh state.
74. The method of claim 53 wherein the reduced power state is a reduced response mode in which the module power controller limits response of the memory module to memory commands to control power consumption by the memory module.
75. The memory module of claim 74 wherein the module power controller limits the response of the memory module to memory commands by mandating idle intervals between responses to memory commands by the memory module.
76. The method of claim 53 wherein the reduced refresh state is powering off a plurality of devices of the memory module when the activity measured no programming instructions and data are stored on the memory module.
77. The method of claim 53 wherein the reduced refresh state is powering off a plurality of devices of the memory module programming information stored on the memory module has not been accessed by the system for an extended period, the contents stored in the memory module are saved to a storage device and a plurality of devices of the memory module are powered off.
78. A memory system, comprising:
- a memory controller;
- a memory bus operably coupled with the memory controller to communicate memory commands from the memory controller and communicate memory output signals to the memory controller; and
- a plurality of memory modules operably coupled with the memory bus, the memory modules generating the memory output signals and responsive to the memory commands, at least some of the memory modules comprising: an insulative substrate supporting a system interface; a plurality of memory devices disposed on the insulative substrate; a memory hub disposed on the insulative substrate and operably coupled with the memory devices and the system interface, the memory hub managing communications between the memory devices and the system interface in response to memory commands received via the system interface; an activity sensing device monitoring activity of the memory module containing the activity sensing device in processing memory commands, the activity sensing device being operable to generate an output corresponding thereto; and a module power controller coupled to the activity sensing device of the memory module containing the module power controller, the module power controller being operable to direct the memory module containing the module power controller to a reduced power state responsive to the output of the activity sensing device indicating activity of the memory module containing the module power controller is not of a desired level, the module power controller being operable to direct the memory module containing the module power controller to a reduced power state by limiting the response of the memory module to memory commands.
79. The memory system of claim 78 wherein the module power controller limits the response of the memory module to memory commands by mandating idle intervals between responses to memory commands by the memory module.
80. A computer system, comprising:
- a processor;
- an input device, operably connected to the processor, allowing data to be entered into the computer system;
- an output device, operably connected to the processor, allowing data to be output from the computer system; and
- a memory system, operably coupled with the processor, the memory system comprising: a memory controller; a memory bus operably coupled with the memory controller to communicate memory commands from the memory controller and communicate memory output signals to the memory controller; and a plurality of memory modules operably coupled with the memory bus, the memory modules generating the memory output signals and responsive to the memory commands, at least some of the memory modules comprising: an insulative substrate supporting a system interface; a plurality of memory devices disposed on the insulative substrate; a memory hub disposed on the insulative substrate and operably coupled with the memory devices and the system interface, the memory hub managing communications between the memory devices and the system interface in response to memory commands received via the system interface; an activity sensing device monitoring activity of the memory module containing the activity sensing device in processing memory commands, the activity sensing device being operable to generate an output corresponding thereto; and a module power controller coupled to the activity sensing device of the memory module containing the module power controller, the module power controller being operable to direct the memory module containing the module power controller to a reduced power state responsive to the output of the activity sensing device indicating activity of the memory module containing the module power controller is not of a desired level, the module power controller being operable to direct the memory module containing the module power controller to a reduced power state by limiting the response of the memory module to memory commands.
81. The computer system of claim 80 wherein the module power controller limits the response of the memory module to memory commands by mandating idle intervals between responses to memory commands by the memory module.
82. A computer system, comprising:
- a processor;
- an input device, operably connected to the processor, allowing data to be entered into the computer system;
- an output device, operably connected to the processor, allowing data to be output from the computer system; and
- a memory system, operably coupled with the processor, the memory system comprising: a memory controller; a memory bus operably coupled with the memory controller to communicate memory commands from the memory controller and communicate memory output signals to the memory controller; and a plurality of memory modules operably coupled with the memory bus, the memory modules generating the memory output signals and responsive to the memory commands, at least some of the memory modules comprising: an insulative substrate supporting a system interface; a plurality of memory devices disposed on the insulative substrate; a memory hub disposed on the insulative substrate and operably coupled with the memory devices and the system interface, the memory hub managing communications between the memory devices and the system interface in response to memory commands received via the system interface; an activity sensing device monitoring monitors memory commands directed to the memory module, the activity sensing device being operable to generate an output corresponding to module activity based on the monitored memory commands; and a module power controller coupled to the activity sensing device of the memory module containing the module power controller, the module power controller being operable to direct the memory module containing the module power controller to a reduced power state responsive to the output of the activity sensing device indicating activity of the memory module containing the module power controller is not of a desired level.
83. The computer system of claim 82 wherein the memory module is directed to the reduced power state by the module power controller when the output of the activity sensing device indicates the memory module has not received a desired number of memory commands for a predetermined time period.
84. The computer system of claim 82 wherein the activity monitor monitors the memory commands received via the system interface.
3742253 | June 1973 | Kronies |
4045781 | August 30, 1977 | Levy et al. |
4240143 | December 16, 1980 | Besemer et al. |
4245306 | January 13, 1981 | Besemer et al. |
4253144 | February 24, 1981 | Bellamy et al. |
4253146 | February 24, 1981 | Bellamy et al. |
4608702 | August 26, 1986 | Hirzel et al. |
4641249 | February 3, 1987 | Gion et al. |
4707823 | November 17, 1987 | Holdren et al. |
4724520 | February 9, 1988 | Athanas et al. |
4831520 | May 16, 1989 | Rubinfeld et al. |
4891808 | January 2, 1990 | Williams |
4930128 | May 29, 1990 | Suzuki et al. |
4953930 | September 4, 1990 | Ramsey et al. |
4989113 | January 29, 1991 | Asal |
5241506 | August 31, 1993 | Motegi et al. |
5243703 | September 7, 1993 | Farmwald et al. |
5251303 | October 5, 1993 | Fogg, Jr. et al. |
5269022 | December 1993 | Shinjo et al. |
5313590 | May 17, 1994 | Taylor |
5317752 | May 31, 1994 | Jewett et al. |
5319755 | June 7, 1994 | Farmwald et al. |
5327553 | July 5, 1994 | Jewett et al. |
5355391 | October 11, 1994 | Horowitz et al. |
5388265 | February 7, 1995 | Volk |
5432823 | July 11, 1995 | Gasbarro et al. |
5432907 | July 11, 1995 | Picazo, Jr. et al. |
5442770 | August 15, 1995 | Barratt |
5446741 | August 29, 1995 | Boldt et al. |
5461627 | October 24, 1995 | Rypinski |
5465229 | November 7, 1995 | Bechtolsheim et al. |
5479370 | December 26, 1995 | Furuyama et al. |
5497476 | March 5, 1996 | Oldfield et al. |
5502621 | March 26, 1996 | Schumacher et al. |
5544319 | August 6, 1996 | Acton et al. |
5546591 | August 13, 1996 | Wurzburg et al. |
5566325 | October 15, 1996 | Bruce, II et al. |
5577220 | November 19, 1996 | Combs et al. |
5581767 | December 3, 1996 | Katsuki et al. |
5606717 | February 25, 1997 | Farmwald et al. |
5621883 | April 15, 1997 | Thoulon et al. |
5638334 | June 10, 1997 | Farmwald et al. |
5638534 | June 10, 1997 | Mote, Jr. |
5644784 | July 1, 1997 | Peek |
5659798 | August 19, 1997 | Blumrich et al. |
5687325 | November 11, 1997 | Chang |
5706224 | January 6, 1998 | Srinivasan et al. |
5710733 | January 20, 1998 | Chengson et al. |
5715456 | February 3, 1998 | Bennett et al. |
5729709 | March 17, 1998 | Harness |
5748616 | May 5, 1998 | Riley |
5796413 | August 18, 1998 | Shipp et al. |
5818844 | October 6, 1998 | Singh et al. |
5819304 | October 6, 1998 | Nilsen et al. |
5822255 | October 13, 1998 | Uchida |
5832250 | November 3, 1998 | Whittaker |
5875352 | February 23, 1999 | Gentry et al. |
5875454 | February 23, 1999 | Craft et al. |
5881072 | March 9, 1999 | Dell |
5887159 | March 23, 1999 | Burrows |
5889714 | March 30, 1999 | Schumann et al. |
5893089 | April 6, 1999 | Kikinis |
5928343 | July 27, 1999 | Farmwald et al. |
5944800 | August 31, 1999 | Mattheis et al. |
5963942 | October 5, 1999 | Igata |
5966724 | October 12, 1999 | Ryan |
5973935 | October 26, 1999 | Schoenfeld et al. |
5973951 | October 26, 1999 | Bechtolsheim et al. |
5978567 | November 2, 1999 | Rebane et al. |
5987196 | November 16, 1999 | Noble |
6011741 | January 4, 2000 | Wallace et al. |
6023726 | February 8, 2000 | Saksena |
6023738 | February 8, 2000 | Priem et al. |
6029250 | February 22, 2000 | Keeth |
6031241 | February 29, 2000 | Silfvast et al. |
6033951 | March 7, 2000 | Chao |
6038630 | March 14, 2000 | Foster et al. |
6061263 | May 9, 2000 | Boaz et al. |
6061296 | May 9, 2000 | Ternullo, Jr. et al. |
6067262 | May 23, 2000 | Irrinki et al. |
6067649 | May 23, 2000 | Goodwin |
6073190 | June 6, 2000 | Rooney |
6076139 | June 13, 2000 | Welker et al. |
6079008 | June 20, 2000 | Clery, III |
6092158 | July 18, 2000 | Harriman et al. |
6098158 | August 1, 2000 | Lay et al. |
6105075 | August 15, 2000 | Ghaffari |
6111757 | August 29, 2000 | Dell et al. |
6125431 | September 26, 2000 | Kobayashi |
6128703 | October 3, 2000 | Bourekas et al. |
6131149 | October 10, 2000 | Lu et al. |
6134624 | October 17, 2000 | Burns et al. |
6137709 | October 24, 2000 | Boaz et al. |
6144587 | November 7, 2000 | Yoshida |
6167465 | December 26, 2000 | Parvin et al. |
6167486 | December 26, 2000 | Lee et al. |
6175571 | January 16, 2001 | Haddock et al. |
6185352 | February 6, 2001 | Hurley |
6185676 | February 6, 2001 | Poplingher et al. |
6186400 | February 13, 2001 | Dvorkis et al. |
6191663 | February 20, 2001 | Hannah |
6201724 | March 13, 2001 | Ishizaki et al. |
6208180 | March 27, 2001 | Fisch et al. |
6219725 | April 17, 2001 | Diehl et al. |
6223301 | April 24, 2001 | Santeler et al. |
6233376 | May 15, 2001 | Updegrove |
6243769 | June 5, 2001 | Rooney |
6243831 | June 5, 2001 | Mustafa et al. |
6246618 | June 12, 2001 | Yamamoto et al. |
6247107 | June 12, 2001 | Christie |
6249802 | June 19, 2001 | Richardson et al. |
6256692 | July 3, 2001 | Yoda et al. |
6266730 | July 24, 2001 | Perino et al. |
6272609 | August 7, 2001 | Jeddeloh |
6275914 | August 14, 2001 | Jeddeloh |
6285349 | September 4, 2001 | Smith |
6286083 | September 4, 2001 | Chin et al. |
6294937 | September 25, 2001 | Crafts et al. |
6301637 | October 9, 2001 | Krull et al. |
6327642 | December 4, 2001 | Lee et al. |
6330205 | December 11, 2001 | Shimizu et al. |
6347055 | February 12, 2002 | Motomura |
6349363 | February 19, 2002 | Cai et al. |
6356573 | March 12, 2002 | Jonsson et al. |
6367074 | April 2, 2002 | Bates et al. |
6370068 | April 9, 2002 | Rhee |
6370601 | April 9, 2002 | Baxter |
6370611 | April 9, 2002 | Callison et al. |
6373777 | April 16, 2002 | Suzuki |
6381190 | April 30, 2002 | Shinkai |
6389514 | May 14, 2002 | Rokicki |
6392653 | May 21, 2002 | Malandain et al. |
6401149 | June 4, 2002 | Dennin et al. |
6401213 | June 4, 2002 | Jeddeloh |
6405280 | June 11, 2002 | Ryan |
6421744 | July 16, 2002 | Morrison et al. |
6430696 | August 6, 2002 | Keeth |
6433785 | August 13, 2002 | Garcia et al. |
6434639 | August 13, 2002 | Haghighi |
6434696 | August 13, 2002 | Kang |
6434736 | August 13, 2002 | Schaecher et al. |
6438622 | August 20, 2002 | Haghighi et al. |
6438668 | August 20, 2002 | Esfahani et al. |
6449308 | September 10, 2002 | Knight, Jr. et al. |
6453393 | September 17, 2002 | Holman et al. |
6457116 | September 24, 2002 | Mirsky et al. |
6460114 | October 1, 2002 | Jeddeloh |
6462978 | October 8, 2002 | Shibata et al. |
6463059 | October 8, 2002 | Movshovich et al. |
6470422 | October 22, 2002 | Cai et al. |
6473828 | October 29, 2002 | Matsui |
6477592 | November 5, 2002 | Chen et al. |
6477614 | November 5, 2002 | Leddige et al. |
6477621 | November 5, 2002 | Lee et al. |
6479322 | November 12, 2002 | Kawata et al. |
6487556 | November 26, 2002 | Downs et al. |
6490188 | December 3, 2002 | Nuxoll et al. |
6493803 | December 10, 2002 | Pham et al. |
6496193 | December 17, 2002 | Surti et al. |
6496909 | December 17, 2002 | Schimmel |
6501471 | December 31, 2002 | Venkataraman et al. |
6505287 | January 7, 2003 | Uematsu |
6523092 | February 18, 2003 | Fanning |
6523093 | February 18, 2003 | Bogin et al. |
6526483 | February 25, 2003 | Cho et al. |
6526498 | February 25, 2003 | Mirsky et al. |
6539490 | March 25, 2003 | Forbes et al. |
6552564 | April 22, 2003 | Forbes et al. |
6553479 | April 22, 2003 | Mirsky et al. |
6564329 | May 13, 2003 | Cheung et al. |
6587912 | July 1, 2003 | Leddige et al. |
6590816 | July 8, 2003 | Perner |
6594713 | July 15, 2003 | Fuoco et al. |
6594722 | July 15, 2003 | Willke, II et al. |
6598154 | July 22, 2003 | Vaid et al. |
6615325 | September 2, 2003 | Mailloux et al. |
6622227 | September 16, 2003 | Zumkehr et al. |
6628294 | September 30, 2003 | Sadowsky et al. |
6629220 | September 30, 2003 | Dyer |
6631440 | October 7, 2003 | Jenne et al. |
6636110 | October 21, 2003 | Ooishi et al. |
6646929 | November 11, 2003 | Moss et al. |
6647470 | November 11, 2003 | Janzen |
6658509 | December 2, 2003 | Bonella et al. |
6662304 | December 9, 2003 | Keeth et al. |
6665202 | December 16, 2003 | Lindahl et al. |
6667895 | December 23, 2003 | Jang et al. |
6681292 | January 20, 2004 | Creta et al. |
6697926 | February 24, 2004 | Johnson et al. |
6715018 | March 30, 2004 | Farnworth et al. |
6718440 | April 6, 2004 | Maiyuran et al. |
6721195 | April 13, 2004 | Brunelle et al. |
6724685 | April 20, 2004 | Braun et al. |
6725349 | April 20, 2004 | Langendorf et al. |
6728800 | April 27, 2004 | Lee et al. |
6735679 | May 11, 2004 | Herbst et al. |
6735682 | May 11, 2004 | Segelken et al. |
6745275 | June 1, 2004 | Chang |
6751113 | June 15, 2004 | Bhakta et al. |
6751703 | June 15, 2004 | Chilton |
6751722 | June 15, 2004 | Mirsky et al. |
6754117 | June 22, 2004 | Jeddeloh |
6754812 | June 22, 2004 | Abdallah et al. |
6756661 | June 29, 2004 | Tsuneda et al. |
6760833 | July 6, 2004 | Dowling |
6771538 | August 3, 2004 | Shukuri et al. |
6775747 | August 10, 2004 | Venkatraman |
6782465 | August 24, 2004 | Schmidt |
6785780 | August 31, 2004 | Klein et al. |
6789173 | September 7, 2004 | Tanaka et al. |
6792059 | September 14, 2004 | Yuan et al. |
6792496 | September 14, 2004 | Aboulenein et al. |
6795899 | September 21, 2004 | Dodd et al. |
6799246 | September 28, 2004 | Wise et al. |
6799268 | September 28, 2004 | Boggs et al. |
6804760 | October 12, 2004 | Wiliams |
6804764 | October 12, 2004 | LaBerge et al. |
6807630 | October 19, 2004 | Lay et al. |
6811320 | November 2, 2004 | Abbott |
6816947 | November 9, 2004 | Huffman |
6820181 | November 16, 2004 | Jeddeloh et al. |
6821029 | November 23, 2004 | Grung et al. |
6823023 | November 23, 2004 | Hannah |
6845409 | January 18, 2005 | Talagala et al. |
6859856 | February 22, 2005 | Piau et al. |
6889304 | May 3, 2005 | Perego et al. |
6910109 | June 21, 2005 | Holman et al. |
6947050 | September 20, 2005 | Jeddeloh |
6952745 | October 4, 2005 | Dodd et al. |
6970968 | November 29, 2005 | Holman |
7007130 | February 28, 2006 | Holman |
20010039612 | November 8, 2001 | Lee |
20020033276 | March 21, 2002 | Dabral et al. |
20020112119 | August 15, 2002 | Halbert et al. |
20020116588 | August 22, 2002 | Beckert et al. |
20020144027 | October 3, 2002 | Schmisseur |
20020144064 | October 3, 2002 | Fanning |
20020178319 | November 28, 2002 | Sanchez-Olea |
20030005223 | January 2, 2003 | Coulson et al. |
20030023840 | January 30, 2003 | Zitlaw et al. |
20030043158 | March 6, 2003 | Wasserman et al. |
20030043426 | March 6, 2003 | Baker et al. |
20030065836 | April 3, 2003 | Pecone |
20030093630 | May 15, 2003 | Richard et al. |
20030095559 | May 22, 2003 | Sano et al. |
20030149809 | August 7, 2003 | Jensen et al. |
20030163649 | August 28, 2003 | Kapur et al. |
20030177320 | September 18, 2003 | Sah et al. |
20030193927 | October 16, 2003 | Hronik |
20030217223 | November 20, 2003 | Nino, Jr. et al. |
20030227798 | December 11, 2003 | Pax |
20030229762 | December 11, 2003 | Maiyuran et al. |
20030229770 | December 11, 2003 | Jeddeloh |
20030235099 | December 25, 2003 | Mori et al. |
20040008545 | January 15, 2004 | Korotkov et al. |
20040022094 | February 5, 2004 | Radhakrishnan et al. |
20040024959 | February 5, 2004 | Taylor |
20040044833 | March 4, 2004 | Ryan |
20040047169 | March 11, 2004 | Lee et al. |
20040064602 | April 1, 2004 | George |
20040126115 | July 1, 2004 | Levy et al. |
20040144994 | July 29, 2004 | Lee et al. |
20040199730 | October 7, 2004 | Eggers et al. |
20040216018 | October 28, 2004 | Cheung |
20040236885 | November 25, 2004 | Fredriksson et al. |
20040243769 | December 2, 2004 | Frame et al. |
20050033874 | February 10, 2005 | Futral et al. |
20050044327 | February 24, 2005 | Howard et al. |
20050071542 | March 31, 2005 | Weber et al. |
20050177755 | August 11, 2005 | Fung |
20060200620 | September 7, 2006 | Schnepper |
0849685 | June 1998 | EP |
2001265539 | September 2001 | JP |
WO 93/19422 | September 1993 | WO |
WO 98/57489 | December 1998 | WO |
WO 99/26139 | May 1999 | WO |
WO 02/27499 | April 2002 | WO |
- Micron Technology, Inc., Synchronous DRAM Module 512MB/1GB (x72, ECC) 168-PIN Registered FBGA SDRAM DIMM, Micron Technology, Inc., 2002, pp. 1-23.
- Intel, “Intel 840 Chipset: 82840 Memory Controller Hub (MCH)”, Datasheet, Oct. 1999, pp. 1-178.
- “Free On-Line Dictionary of Computing” entry 'Flash Erasable Programmable Read-Only Memory, online May 17, 2004 [http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?flash+memory].
- Intel, “Flash Memory PCI Add-In Card for Embedded Systems”, Application Note AP-758, Sep. 1997, pp. i-13.
- Shanley, T. et al., “PCI System Architecture”, Third Edition, Mindshare, Inc., 1995, pp. 24-25.
- Jones, R, “Throughput Expansion with FET Based Crossbar Switching”, Pericom, Nov. 12, 2001, pp. 1-5.
Type: Grant
Filed: Jun 20, 2003
Date of Patent: Apr 29, 2008
Patent Publication Number: 20040260957
Assignee: Micron Technology, Inc. (Boise, ID)
Inventors: Joseph M. Jeddeloh (Shoreview, MN), Terry Lee (Boise, ID)
Primary Examiner: James K. Trujillo
Assistant Examiner: Michael J Brown
Attorney: Dorsey & Whitney LLP
Application Number: 10/601,222
International Classification: G06F 1/00 (20060101); G06F 1/26 (20060101); G06F 1/32 (20060101); G06F 11/30 (20060101);