US20020124195A1 - Method and apparatus for power management in a memory subsystem - Google Patents
Method and apparatus for power management in a memory subsystem Download PDFInfo
- Publication number
- US20020124195A1 US20020124195A1 US09/187,565 US18756598D US2002124195A1 US 20020124195 A1 US20020124195 A1 US 20020124195A1 US 18756598 D US18756598 D US 18756598D US 2002124195 A1 US2002124195 A1 US 2002124195A1
- Authority
- US
- United States
- Prior art keywords
- memory
- memory device
- group
- subgroup
- pool
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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 system memory power management in a computer system; more particularly, the present invention relates to power management in memory subsystems.
- SDRAMs Synchronous Dynamic Random Access Memories
- RDRAMs Rambus Dynamic Random Access Memories
- SDRAMs are capable of operating at speeds up to 100 Mhz
- RDRAMs operate at clock speeds up to 400 Mhz and transfer rate up to 800 MHz.
- Memory device operating at such high speed result in a significant amount of power being generated within the device (e.g., on the order of 2.1 watts for RDRAMs). The generation of this magnitude of power may potentially create thermal issues at the memory device.
- a method of managing power in a memory system includes multiple memory devices. Each one of the memory devices is grouped in a first group or a second group. First, access to a memory device is requested. It is next determined whether the requested memory device is located in the first group. If the requested memory device is not located within the first group, it is determined whether the first group is filled to capacity. If the first group is not filled to capacity, the requested memory device is transferred to the first group.
- FIG. 1 is a block diagram of one embodiment of a computer system
- FIG. 2 is a block diagram of one embodiment of a computer system
- FIG. 3 is a power management module in accordance with one embodiment of the present invention.
- FIG. 4 is a flow diagram of the operation of power management module in accordance with one embodiment of the present invention.
- FIG. 5 is a block diagram of one embodiment of a computer system
- FIG. 6 is a block diagram of a logical representation of a memory controller interface in accordance with one embodiment of the present invention.
- FIG. 7 is a power management module in accordance with one embodiment of the present invention.
- FIG. 8 is a flow diagram of the operation of one embodiment of a power management module.
- FIG. 1 is a block diagram of a computer system 100 .
- Computer system 100 includes a bus 101 , a Central Processing Unit (CPU) 105 , a memory controller 110 and a memory unit 115 .
- CPU 105 processes information received from memory 115 or other internal and external memory devices of computer system 100 .
- Memory controller 110 is coupled to CPU 105 . Further, memory controller 110 interfaces with memory unit 115 in order to carry out memory access transactions.
- Memory unit 115 is coupled to memory controller 110 via bus 101 .
- memory unit 115 is a Rambus Dynamic Access Memory (RDRAM).
- Memory unit 115 may be a Direct RDRAM (D-RDRAM) or a Concurrent RDRAM.
- An RDRAM is a high-speed memory interface that transfers data over a bus called a Rambus Channel.
- Bus 101 is a Rambus channel that permits memory controller 110 to communicate with memory unit 115 .
- bus 101 is a high speed bus that operates at a clock rate of 400 MHz and enables a data rate of 800 Mhz.
- Memory unit 115 includes Rambus In-line Memory Modules (RIMMs) 120 , 130 and 140 .
- RIMMs 120 , 130 and 140 include memory devices 123 , 133 and 143 , respectively, that are accessed by CPU 105 , or other devices coupled to computer system 100 , in order to store or read data.
- Each RIMM includes a channel input and channel output (not shown to avoid obscuring the present invention) that is coupled to bus 101 .
- Bus 101 is coupled to and communicates in parallel with every memory device in each of the RIMMs. Additionally, each memory device within a RIMM operates according to an ACTIVE, STANDBY or NAP state.
- a memory device is in the ACTIVE state whenever it is ready to transfer, or is actually transferring data.
- a memory device is in the STANDBY state if the device is not immediately ready to transfer data.
- a memory device is in the NAP (or sleep) state whenever the device is in a reduced power consumption state which may occur, for example, if the memory device has not been accessed for a long period of time.
- Bus 101 is received at the channel input of RIMM 120 .
- Bus 101 is coupled to each of the memory devices 123 within RIMM 120 .
- Bus 101 exits RIMM 120 at the channel output and is received at the channel input of RIMM 130 .
- RIMM 130 RIMM 130 .
- bus 101 is coupled to each memory device 133 before exiting through the output channel.
- bus 101 is received at RIMM 140 and is coupled to each memory device 143 .
- bus 101 is exited at the channel output of RIMM 140 and is terminated at bus terminator 102 .
- each of RIMMs 120 , 130 and 140 includes eight ( 8 ) memory devices. Therefore, a total of twenty-four ( 24 ) memory devices are coupled to bus 101 .
- RIMMs 120 , 130 and 140 may include any number of memory devices.
- RIMM 120 may include sixteen ( 16 ) memory devices 123
- RIMMs 130 and 140 may each include eight ( 8 ) memory devices 133 and 143 , respectively.
- memory controller 110 may be coupled to multiple memory units by multiple busses. For example, FIG.
- FIG. 2 illustrates another embodiment in which memory controller 110 may be coupled to multiple memory units 1 15 a- 1 15 c by busses 101 , 102 , 103 , respectively. Nevertheless, one of ordinary skill in the art will appreciate that an alternative number of memory units may be coupled to memory controller 110 .
- each RIMM may contain multiple memory devices (e.g., 4 , 8 , 12 , 16 , etc.). If all of the memory devices on a RIMM are in the ACTIVE state, the total power generated by the RIMM will be very high (e.g., on the order of 6 . 4 watts). Excessive power generation may create thermal issues within the RIMM.
- FIG. 3 illustrates one embodiment of a power management module 300 .
- power memory module 300 resides within memory controller 110 and manages the activity of memory devices 123 , 133 and 143 within RIMMs 120 , 130 and 140 , respectively.
- Power management module 300 includes device pools 310 and 350 . Each of the memory devices coupled to bus 101 are logically grouped into either pool 310 or pool 350 . All memory devices grouped into pool 310 are either in the ACTIVE or STANDBY state. Memory devices grouped into pool 310 are further grouped into subpools 314 and 318 . All memory devices within pool 310 that are in the ACTIVE state are grouped into subpool 318 . All memory devices within pool 310 that are in the STANDBY state are grouped into subpool 314 .
- the maximum number of memory devices that may reside in pool 310 at a time is eight ( 8 ). Additionally, a maximum of four ( 4 ) ACTIVE memory devices may reside in subpool 318 at any time. In a further embodiment, the maximum number of memory devices that may reside in pool 310 and ACTIVE devices in subpool 318 is variable and may be programmed. In such an embodiment, a user of computer system 100 may program the maximum number of memory devices that may be grouped in pool 310 , as well as the amount of active devices in subpool 318 . All memory devices that are not grouped into pool 310 reside in pool 350 . All memory devices in pool 350 are in either the STANDBY or NAP state.
- a memory device residing in subpool 314 may only enter subpool 318 when the device is accessed by a memory request from memory controller 110 .
- Memory devices may only enter pool 350 from subpool 314 .
- a memory device enters pool 350 from subpool 314 whenever another memory device needs to be moved from subpool 318 into subpool 314 and subpool 314 is presently filled to capacity. In this case the LRU device in subpool 314 is selected to be transferred to pool 350 .
- a timer may be included within memory controller 110 that first moves a memory device from subpool 314 to pool 350 and subsequently moves a memory device from subpool 318 to subpool 314 if the device in subpool 318 has not been accessed in a predetermined period of time.
- a second timer may be included solely to move memory device from subpool 314 to pool 350 if that device has not been accessed in a predetermined period of time.
- FIG. 4 is a flow diagram of one embodiment of processing performed by power management module 300 .
- access to a memory device within one of the RIMMs of memory unit 115 is requested.
- processing block 410 it is determined whether the requested memory device resides in pool 310 . If it is determined that the device resides in pool 310 , it is next determined whether the memory device also resides in subpool 318 , processing block 415 . If the memory device does reside in subpool 318 control is returned back to processing block 405 where access to another memory device is requested. If it is determined that the memory device does not reside in pool 310 , or that the device resides in pool 310 but not in subpool 318 , it is determined whether the memory device resides in subpool 314 , processing block 420 .
- subpool 318 is full, processing block 425 . If subpool 318 is full, the LRU memory device of subpool 318 is logically transferred to subpool 314 , processing block 430 . At processing block 435 , the memory device is logically moved from subpool 314 to subpool 318 and is switched to the ACTIVE state. If subpool 318 is not full, the memory device is moved directly from subpool 314 to subpool 318 and is switched to the ACTIVE state, processing block 435 .
- processing block 420 it is determined whether pool 310 is full, processing block 440 . If subpool 310 is full, the LRU memory device of subpool 314 is logically transferred to pool 350 , processing block 445 . If subpool 310 is not full or after the LRU device has been moved from subpool 314 to pool 350 , it is determined whether subpool 318 is full, processing block 450 . If subpool 318 is full the LRU memory device of subpool 318 is logically transferred to subpool 314 , processing block 455 . At processing block 460 , the memory device is logically moved from pool 350 to subpool 318 and is switched to the ACTIVE state. If subpool 318 is not full, the memory device is moved directly from pool 350 to subpool 318 and is switched to the ACTIVE state, processing block 460 .
- the pools 310 and 350 support multiple bus (or channel) operation as shown in FIG. 2.
- the pool logic considers the multiple channels as a single channel.
- the definition of pool 310 is the same except that memory devices from more than one channel are included.
- pool 350 represents channels that are either in the NAP or STANDBY states. Each memory device that is coupled to a channel in the NAP state is also in the NAP state. Similarly, each memory device coupled to a channel in the STANDBY state is also in the STANDBY state.
- FIG. 5 is a block diagram of one embodiment of a computer system 500 .
- Computer system 500 includes a bus 501 , a memory computer system 500 includes a bus 501 , a memory controller 510 , a memory unit 515 and CPU 105 .
- CPU 105 processes information received from memory 515 or other internal and external devices of computer system 500 .
- Memory controller 510 is coupled to CPU 105 .
- Memory controller 510 interfaces with memory unit 515 in order to carry out memory transactions.
- Memory unit 515 is coupled to memory controller 110 via bus 501 .
- memory unit 515 is a Synchronous Dynamic Access Memory (SDRAM).
- SDRAM Synchronous Dynamic Access Memory
- An SDRAM is a form of DRAM that can be coordinated or synchronized to the clock speed of CPU 105 .
- Bus 501 is a DRAM bus that permits memory controller 510 to communicate with memory unit 515 .
- Bus 501 operates at speeds up to 133 MHz. speeds up to 133 MHz. and 540 .
- DIMMs 520 , 530 and 540 include memory devices 523 , 533 and 543 , respectively, that are accessed by CPU 105 or other devices in order to store or read data.
- a DIMM may include one or more rows of memory.
- FIG. 6 illustrates a logical representation of the interface between memory controller 510 and memory unit 515 wherein DIMMs 520 , 530 and 540 constitute separate rows of memory devices within memory unit 515 . Additionally, each row within memory unit 515 operates according to either an ACTIVE/IDLE state or POWERED DOWN state. A row is in the ACTIVE/IDLE state whenever a memory device within the DIMM is ready to transfer, or is actually transferring data. A row is in the POWERED DOWN state whenever no memory device within the row has been accessed for a long period of time.
- Bus 501 is received at the input of row 520 and is coupled to each of the memory devices 523 .
- bus 501 is received at the input of DIMM 530 and is coupled to each memory device 533 .
- bus 501 is received at that input DIMM 540 and is coupled to each memory device 543 .
- memory unit 515 includes three rows of DIMMs (e.g., DIMMs 520 , 530 and 540 ). However, one of ordinary skill in the art will appreciate that additional DIMMs may be added to memory unit 515 .
- each of the DIMMs includes four ( 4 )
- each of the DIMMs includes four (4) bus 501 .
- DIMMs 520 , 530 and 540 may each include a different number of memory devices, as well as different combinations.
- DIMM 520 may include sixteen ( 16 ) memory different combinations.
- DIMM 520 may include sixteen (16) memory devices 523 and DIMMs 530 and 540 may each include eight (8) memory devices 533
- FIG. 7 illustrates a power management module 700 .
- Power memory module 700 resides within memory controller 510 and manages the activity of DIMMs 520 , 530 and 540 .
- Power management module 700 includes device pools 710 and 750 .
- Each of the memory device rows coupled to bus 501 are grouped into either pool 710 or pool 750 . All rows that are grouped within pool 710 are in the ACTIVE/IDLE state. All rows that do not reside in pool 710 are grouped within pool 750 . Thus, all rows that are in the POWERED DOWN state reside in pool 750 . According to one embodiment, only one ( 1 ) row may reside in pool 710 at a time. However, the maximum number of rows that may reside in pool 710 may be programmed. In such an embodiment, a user of computer system 500 may program the maximum number of memory devices that may be grouped in pool 710 .
- a row residing in pool 750 may only enter pool 710 when a memory device within the row is accessed by a memory request from memory controller 510 . Additionally, a row is moved to pool 750 from pool 710 whenever another row needs to be moved from pool 750 into pool 710 and pool 710 is filled to capacity. In this case the LRU device in pool 710 is selected to be transferred to pool 750 . Before the row is moved to pool 750 all open pages must first be closed. According to one embodiment, a timer is included within memory controller 510 that moves a row from pool 710 to pool 750 if a memory device within the row has not been accessed in a predetermined period of time.
- FIG. 8 is a flow diagram of one embodiment with a process performed by power management module 700 .
- access to a memory device within one of the rows of memory unit 515 is requested.
- process block 710 it is determined at memory controller 510 whether the DIMM resides in pool 710 . If it is determined that the row resides in pool 710 , control is returned back to process block 805 wherein access to another memory device is requested. If it is determined that the row does not reside in pool 710 , it is determined whether pool 710 is full, process block 815 .
- pool 710 is full the LRU row in pool 710 is logically transferred to pool 750 , process block 820 .
- the requested row is logically moved from pool 750 to pool 710 and is switched to the ACTIVE/IDLE state. If pool 710 is not full the row is moved directly from pool 750 to pool 710 and is switched to the ACTIVE/IDLE state, process block 825 .
- SLDRAMS Sync Link DRAMS
- EDO DRAMS etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/187,565 US6442698B2 (en) | 1998-11-04 | 1998-11-04 | Method and apparatus for power management in a memory subsystem |
Publications (1)
Publication Number | Publication Date |
---|---|
US20020124195A1 true US20020124195A1 (en) | 2002-09-05 |
Family
ID=22689486
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/187,565 Granted US20020124195A1 (en) | 1998-11-04 | 1998-11-04 | Method and apparatus for power management in a memory subsystem |
US09/187,565 Expired - Lifetime US6442698B2 (en) | 1998-11-04 | 1998-11-04 | Method and apparatus for power management in a memory subsystem |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/187,565 Expired - Lifetime US6442698B2 (en) | 1998-11-04 | 1998-11-04 | Method and apparatus for power management in a memory subsystem |
Country Status (9)
Country | Link |
---|---|
US (2) | US20020124195A1 (fr) |
EP (1) | EP1127308B1 (fr) |
CN (1) | CN100430865C (fr) |
AU (1) | AU1466600A (fr) |
BR (1) | BR9915060A (fr) |
DE (1) | DE69941577D1 (fr) |
HK (1) | HK1036665A1 (fr) |
TW (1) | TW484051B (fr) |
WO (1) | WO2000026755A1 (fr) |
Cited By (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060026349A1 (en) * | 2004-07-30 | 2006-02-02 | International Business Machines Corporaiton | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US20060023482A1 (en) * | 2004-07-30 | 2006-02-02 | International Business Machines Corporation | 276-Pin buffered memory module with enhanced fault tolerance |
US20060036826A1 (en) * | 2004-07-30 | 2006-02-16 | International Business Machines Corporation | System, method and storage medium for providing a bus speed multiplier |
US20060095671A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method and storage medium for providing data caching and data compression in a memory subsystem |
US20060095703A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in a memory subsystem |
US20060095646A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
US20060136618A1 (en) * | 2004-07-30 | 2006-06-22 | International Business Machines Corporation | System, method and storage medium for a multi-mode memory buffer device |
GB2426360A (en) * | 2005-05-18 | 2006-11-22 | Symbian Software Ltd | Reorganisation of memory for conserving power in a computing device |
US20080037353A1 (en) * | 2006-07-31 | 2008-02-14 | Metaram, Inc. | Interface circuit system and method for performing power saving operations during a command-related latency |
US20080098277A1 (en) * | 2006-10-23 | 2008-04-24 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US7669086B2 (en) | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory system |
US7685392B2 (en) | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
US7721140B2 (en) | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
US7724589B2 (en) | 2006-07-31 | 2010-05-25 | Google Inc. | System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits |
US7730338B2 (en) | 2006-07-31 | 2010-06-01 | Google Inc. | Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits |
US7761724B2 (en) | 2006-07-31 | 2010-07-20 | Google Inc. | Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit |
US8019589B2 (en) | 2006-07-31 | 2011-09-13 | Google Inc. | Memory apparatus operable to perform a power-saving operation |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US8140942B2 (en) | 2004-10-29 | 2012-03-20 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US8169233B2 (en) | 2009-06-09 | 2012-05-01 | Google Inc. | Programming of DIMM termination resistance values |
US8209479B2 (en) | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US8280714B2 (en) | 2006-07-31 | 2012-10-02 | Google Inc. | Memory circuit simulation system and method with refresh capabilities |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US8566516B2 (en) | 2006-07-31 | 2013-10-22 | Google Inc. | Refresh management of memory modules |
US8582339B2 (en) | 2005-09-02 | 2013-11-12 | Google Inc. | System including memory stacks |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US8972673B2 (en) | 2006-07-31 | 2015-03-03 | Google Inc. | Power management of memory circuits by virtual memory simulation |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US9542353B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4265850B2 (ja) * | 2000-01-17 | 2009-05-20 | 富士通株式会社 | 移動体交換機、ホームメモリ・ノード装置および関門交換機 |
US6633987B2 (en) * | 2000-03-24 | 2003-10-14 | Intel Corporation | Method and apparatus to implement the ACPI(advanced configuration and power interface) C3 state in a RDRAM based system |
US6691237B1 (en) * | 2000-08-08 | 2004-02-10 | Dell Products, L.P. | Active memory pool management policies |
US6925529B2 (en) * | 2001-07-12 | 2005-08-02 | International Business Machines Corporation | Data storage on a multi-tiered disk system |
US6820169B2 (en) * | 2001-09-25 | 2004-11-16 | Intel Corporation | Memory control with lookahead power management |
US20030097519A1 (en) * | 2001-11-21 | 2003-05-22 | Yoon Ha Ryong | Memory subsystem |
US7103730B2 (en) * | 2002-04-09 | 2006-09-05 | Intel Corporation | Method, system, and apparatus for reducing power consumption of a memory |
US7028200B2 (en) * | 2002-05-15 | 2006-04-11 | Broadcom Corporation | Method and apparatus for adaptive power management of memory subsystem |
US7051174B2 (en) * | 2002-09-24 | 2006-05-23 | International Business Machines Corporation | Method, system, and program for restoring data in cache |
US6853603B1 (en) * | 2004-03-09 | 2005-02-08 | Altera Corporation | Programmable logic device having nonvolatile memory with user selectable power consumption |
US7272728B2 (en) * | 2004-06-14 | 2007-09-18 | Iovation, Inc. | Network security and fraud detection system and method |
US7356737B2 (en) | 2004-10-29 | 2008-04-08 | International Business Machines Corporation | System, method and storage medium for testing a memory module |
US7395476B2 (en) | 2004-10-29 | 2008-07-01 | International Business Machines Corporation | System, method and storage medium for providing a high speed test interface to a memory subsystem |
US7512762B2 (en) | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US7472220B2 (en) | 2006-07-31 | 2008-12-30 | Metaram, Inc. | Interface circuit system and method for performing power management operations utilizing power management signals |
US7478259B2 (en) | 2005-10-31 | 2009-01-13 | International Business Machines Corporation | System, method and storage medium for deriving clocks in a memory system |
US7539842B2 (en) | 2006-08-15 | 2009-05-26 | International Business Machines Corporation | Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables |
US7490217B2 (en) | 2006-08-15 | 2009-02-10 | International Business Machines Corporation | Design structure for selecting memory busses according to physical memory organization information stored in virtual address translation tables |
US9105323B2 (en) | 2009-01-23 | 2015-08-11 | Micron Technology, Inc. | Memory device power managers and methods |
US9368214B2 (en) | 2013-10-03 | 2016-06-14 | Apple Inc. | Programmable peak-current control in non-volatile memory devices |
US10379748B2 (en) * | 2016-12-19 | 2019-08-13 | International Business Machines Corporation | Predictive scheduler for memory rank switching |
CN111459261A (zh) * | 2020-04-03 | 2020-07-28 | 北京云宽志业网络技术有限公司 | 磁盘唤醒方法、装置、电子设备及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04143819A (ja) * | 1989-12-15 | 1992-05-18 | Hitachi Ltd | 消費電力制御方法、半導体集積回路装置およびマイクロプロセツサ |
US5430683A (en) * | 1994-03-15 | 1995-07-04 | Intel Corporation | Method and apparatus for reducing power in on-chip tag SRAM |
US5721860A (en) * | 1994-05-24 | 1998-02-24 | Intel Corporation | Memory controller for independently supporting synchronous and asynchronous DRAM memories |
US5923829A (en) * | 1994-08-25 | 1999-07-13 | Ricoh Company, Ltd. | Memory system, memory control system and image processing system |
US5598374A (en) * | 1995-07-14 | 1997-01-28 | Cirrus Logic, Inc. | Pipeland address memories, and systems and methods using the same |
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 |
US5889714A (en) * | 1997-11-03 | 1999-03-30 | Digital Equipment Corporation | Adaptive precharge management for synchronous DRAM |
US5835435A (en) * | 1997-12-02 | 1998-11-10 | Intel Corporation | Method and apparatus for dynamically placing portions of a memory in a reduced power consumtion state |
US6003121A (en) * | 1998-05-18 | 1999-12-14 | Intel Corporation | Single and multiple channel memory detection and sizing |
US6038673A (en) * | 1998-11-03 | 2000-03-14 | Intel Corporation | Computer system with power management scheme for DRAM devices |
-
1998
- 1998-11-04 US US09/187,565 patent/US20020124195A1/en active Granted
- 1998-11-04 US US09/187,565 patent/US6442698B2/en not_active Expired - Lifetime
-
1999
- 1999-10-08 TW TW088117430A patent/TW484051B/zh not_active IP Right Cessation
- 1999-11-03 DE DE69941577T patent/DE69941577D1/de not_active Expired - Lifetime
- 1999-11-03 AU AU14666/00A patent/AU1466600A/en not_active Abandoned
- 1999-11-03 BR BR9915060-3A patent/BR9915060A/pt not_active Application Discontinuation
- 1999-11-03 CN CNB998154164A patent/CN100430865C/zh not_active Expired - Fee Related
- 1999-11-03 WO PCT/US1999/025945 patent/WO2000026755A1/fr active Application Filing
- 1999-11-03 EP EP99971533A patent/EP1127308B1/fr not_active Expired - Lifetime
-
2001
- 2001-10-29 HK HK01107539.2A patent/HK1036665A1/xx not_active IP Right Cessation
Cited By (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7403409B2 (en) | 2004-07-30 | 2008-07-22 | International Business Machines Corporation | 276-pin buffered memory module with enhanced fault tolerance |
US20080183957A1 (en) * | 2004-07-30 | 2008-07-31 | International Business Machines Corporation | 276-pin buffered memory module with enhanced fault tolerance |
US20070288679A1 (en) * | 2004-07-30 | 2007-12-13 | International Business Machines Corporation | 276-pin buffered memory module with enhanced fault tolerance and a performance-optimized pin assignment |
US20060026349A1 (en) * | 2004-07-30 | 2006-02-02 | International Business Machines Corporaiton | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US7224595B2 (en) | 2004-07-30 | 2007-05-29 | International Business Machines Corporation | 276-Pin buffered memory module with enhanced fault tolerance |
US7551468B2 (en) | 2004-07-30 | 2009-06-23 | International Business Machines Corporation | 276-pin buffered memory module with enhanced fault tolerance |
US20060136618A1 (en) * | 2004-07-30 | 2006-06-22 | International Business Machines Corporation | System, method and storage medium for a multi-mode memory buffer device |
US7529112B2 (en) | 2004-07-30 | 2009-05-05 | International Business Machines Corporation | 276-Pin buffered memory module with enhanced fault tolerance and a performance-optimized pin assignment |
US7765368B2 (en) | 2004-07-30 | 2010-07-27 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US20060036826A1 (en) * | 2004-07-30 | 2006-02-16 | International Business Machines Corporation | System, method and storage medium for providing a bus speed multiplier |
US20060023482A1 (en) * | 2004-07-30 | 2006-02-02 | International Business Machines Corporation | 276-Pin buffered memory module with enhanced fault tolerance |
US7729153B2 (en) | 2004-07-30 | 2010-06-01 | International Business Machines Corporation | 276-pin buffered memory module with enhanced fault tolerance |
US8140942B2 (en) | 2004-10-29 | 2012-03-20 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US20060095671A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method and storage medium for providing data caching and data compression in a memory subsystem |
US20060095646A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
US8589769B2 (en) | 2004-10-29 | 2013-11-19 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US20060095703A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in a memory subsystem |
GB2426360A (en) * | 2005-05-18 | 2006-11-22 | Symbian Software Ltd | Reorganisation of memory for conserving power in a computing device |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US8615679B2 (en) | 2005-06-24 | 2013-12-24 | Google Inc. | Memory modules with reliability and serviceability functions |
US8359187B2 (en) | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US8386833B2 (en) | 2005-06-24 | 2013-02-26 | Google Inc. | Memory systems and memory modules |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US8811065B2 (en) | 2005-09-02 | 2014-08-19 | Google Inc. | Performing error detection on DRAMs |
US8582339B2 (en) | 2005-09-02 | 2013-11-12 | Google Inc. | System including memory stacks |
US8619452B2 (en) | 2005-09-02 | 2013-12-31 | Google Inc. | Methods and apparatus of stacking DRAMs |
US8495328B2 (en) | 2005-11-28 | 2013-07-23 | International Business Machines Corporation | Providing frame start indication in a memory system having indeterminate read data latency |
US8151042B2 (en) | 2005-11-28 | 2012-04-03 | International Business Machines Corporation | Method and system for providing identification tags in a memory system having indeterminate data response times |
US8145868B2 (en) | 2005-11-28 | 2012-03-27 | International Business Machines Corporation | Method and system for providing frame start indication in a memory system having indeterminate read data latency |
US8327105B2 (en) | 2005-11-28 | 2012-12-04 | International Business Machines Corporation | Providing frame start indication in a memory system having indeterminate read data latency |
US7685392B2 (en) | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US8566556B2 (en) | 2006-02-09 | 2013-10-22 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US9542352B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US9727458B2 (en) | 2006-02-09 | 2017-08-08 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US9542353B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US8797779B2 (en) | 2006-02-09 | 2014-08-05 | Google Inc. | Memory module with memory stack and interface with enhanced capabilites |
US8280714B2 (en) | 2006-07-31 | 2012-10-02 | Google Inc. | Memory circuit simulation system and method with refresh capabilities |
US8601204B2 (en) | 2006-07-31 | 2013-12-03 | Google Inc. | Simulating a refresh operation latency |
US20080037353A1 (en) * | 2006-07-31 | 2008-02-14 | Metaram, Inc. | Interface circuit system and method for performing power saving operations during a command-related latency |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US8154935B2 (en) | 2006-07-31 | 2012-04-10 | Google Inc. | Delaying a signal communicated from a system to at least one of a plurality of memory circuits |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US8019589B2 (en) | 2006-07-31 | 2011-09-13 | Google Inc. | Memory apparatus operable to perform a power-saving operation |
US7724589B2 (en) | 2006-07-31 | 2010-05-25 | Google Inc. | System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits |
US8340953B2 (en) | 2006-07-31 | 2012-12-25 | Google, Inc. | Memory circuit simulation with power saving capabilities |
US7730338B2 (en) | 2006-07-31 | 2010-06-01 | Google Inc. | Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits |
US8671244B2 (en) | 2006-07-31 | 2014-03-11 | Google Inc. | Simulating a memory standard |
US7761724B2 (en) | 2006-07-31 | 2010-07-20 | Google Inc. | Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit |
US8112266B2 (en) | 2006-07-31 | 2012-02-07 | Google Inc. | Apparatus for simulating an aspect of a memory circuit |
US8631220B2 (en) | 2006-07-31 | 2014-01-14 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US9047976B2 (en) | 2006-07-31 | 2015-06-02 | Google Inc. | Combined signal delay and power saving for use with a plurality of memory circuits |
US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US8566516B2 (en) | 2006-07-31 | 2013-10-22 | Google Inc. | Refresh management of memory modules |
US8972673B2 (en) | 2006-07-31 | 2015-03-03 | Google Inc. | Power management of memory circuits by virtual memory simulation |
US8868829B2 (en) | 2006-07-31 | 2014-10-21 | Google Inc. | Memory circuit system and method |
US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US8595419B2 (en) | 2006-07-31 | 2013-11-26 | Google Inc. | Memory apparatus operable to perform a power-saving operation |
US8745321B2 (en) | 2006-07-31 | 2014-06-03 | Google Inc. | Simulating a memory standard |
US7669086B2 (en) | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory system |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8977806B1 (en) | 2006-10-05 | 2015-03-10 | Google Inc. | Hybrid memory module |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US8370566B2 (en) | 2006-10-05 | 2013-02-05 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8751732B2 (en) | 2006-10-05 | 2014-06-10 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US7870459B2 (en) | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US20080098277A1 (en) * | 2006-10-23 | 2008-04-24 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US8760936B1 (en) | 2006-11-13 | 2014-06-24 | Google Inc. | Multi-rank partial width memory modules |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US8446781B1 (en) | 2006-11-13 | 2013-05-21 | Google Inc. | Multi-rank partial width memory modules |
US7721140B2 (en) | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
US8209479B2 (en) | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
US8675429B1 (en) | 2007-11-16 | 2014-03-18 | Google Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US8730670B1 (en) | 2007-12-18 | 2014-05-20 | Google Inc. | Embossed heat spreader |
US8705240B1 (en) | 2007-12-18 | 2014-04-22 | Google Inc. | Embossed heat spreader |
US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US8631193B2 (en) | 2008-02-21 | 2014-01-14 | Google Inc. | Emulation of abstracted DIMMS using abstracted DRAMS |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US8762675B2 (en) | 2008-06-23 | 2014-06-24 | Google Inc. | Memory system for synchronous data transmission |
US8819356B2 (en) | 2008-07-25 | 2014-08-26 | Google Inc. | Configurable multirank memory system with interface circuit |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US8169233B2 (en) | 2009-06-09 | 2012-05-01 | Google Inc. | Programming of DIMM termination resistance values |
Also Published As
Publication number | Publication date |
---|---|
CN100430865C (zh) | 2008-11-05 |
CN1332864A (zh) | 2002-01-23 |
HK1036665A1 (en) | 2002-01-11 |
EP1127308B1 (fr) | 2009-10-21 |
EP1127308A4 (fr) | 2003-05-21 |
BR9915060A (pt) | 2001-08-07 |
US6442698B2 (en) | 2002-08-27 |
AU1466600A (en) | 2000-05-22 |
EP1127308A1 (fr) | 2001-08-29 |
WO2000026755A1 (fr) | 2000-05-11 |
DE69941577D1 (de) | 2009-12-03 |
TW484051B (en) | 2002-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6442698B2 (en) | Method and apparatus for power management in a memory subsystem | |
US7421598B2 (en) | Dynamic power management via DIMM read operation limiter | |
US7353329B2 (en) | Memory buffer device integrating refresh logic | |
US6327664B1 (en) | Power management on a memory card having a signal processing element | |
US7426649B2 (en) | Power management via DIMM read operation limiter | |
EP1442355B1 (fr) | Gestion de la consommation d'une memoire vive dynamique (dram) | |
US7821864B2 (en) | Power management of memory via wake/sleep cycles | |
EP3223281B1 (fr) | Gestionnaires et procédés de puissance de dispositif de mémoire | |
EP1839313B1 (fr) | Synchronisation en mode de rafraichissement automatique dirigé | |
US8438358B1 (en) | System-on-chip with memory speed control core | |
JPH0412859B2 (fr) | ||
US7650472B2 (en) | Method for reducing memory power consumption | |
US20030005215A1 (en) | Method and apparatus for allocating data usages within an embedded dynamic random access memory device | |
US6836824B1 (en) | Method and apparatus for reducing power consumption in a cache memory system | |
US6650586B1 (en) | Circuit and system for DRAM refresh with scoreboard methodology | |
JP7506272B2 (ja) | メモリコントローラ電力状態 | |
US11379388B1 (en) | Credit scheme for multi-queue memory controllers | |
US11934251B2 (en) | Data fabric clock switching | |
JP2004528613A (ja) | 電力消費を減らす方法および装置 | |
JP2000030452A (ja) | コマンド・スタッキングを有する高帯域幅で狭い入出力のメモリ装置 | |
US6700421B1 (en) | Method and apparatus for reducing power consumption | |
KR102719996B1 (ko) | 메모리 제어기 전력 상태들 | |
US20240329847A1 (en) | Memory sprinting | |
TW202318181A (zh) | 記憶體交易之路由技術 | |
US7707450B1 (en) | Time shared memory access |