EP1607836A2 - Separate operating system stored in separate nonvolatile memory and executed during high power and low power modes - Google Patents
Separate operating system stored in separate nonvolatile memory and executed during high power and low power modes Download PDFInfo
- Publication number
- EP1607836A2 EP1607836A2 EP05010994A EP05010994A EP1607836A2 EP 1607836 A2 EP1607836 A2 EP 1607836A2 EP 05010994 A EP05010994 A EP 05010994A EP 05010994 A EP05010994 A EP 05010994A EP 1607836 A2 EP1607836 A2 EP 1607836A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- operating system
- power mode
- processor
- data
- low power
- 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.)
- Withdrawn
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/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- 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
-
- 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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Definitions
- the present invention relates to computer architectures, and more particularly to dual power mode computer architectures.
- Laptop computers are powered using both line power and battery power.
- the processor, graphics processor, memory and display of the laptop computer consume a significant amount of power during operation.
- One significant limitation of laptop computers relates to the amount of time that the laptop can be operated using batteries without recharging.
- the relatively high power dissipation of the laptop computer usually corresponds to a relatively short battery life.
- an exemplary computer architecture 4 is shown to include a processor 6 with memory 7 such as cache.
- the processor 6 communicates with an input/output (I/O) interface 8.
- Volatile memory 9 such as random access memory (RAM) 10 and/or other suitable electronic data storage also communicates with the interface 8.
- a graphics processor 11 and memory 12 such as cache increase the speed of graphics processing and performance.
- One or more I/O devices such as a keyboard 13 and a pointing device 14 (such as a mouse and/or other suitable device) communicate with the interface 8.
- a high power disk drive (HPDD) 15 such as a hard disk drive having one or more platters with a diameter greater than 1.8" provides nonvolatile memory, stores data and communicates with the interface 8.
- the HPDD 15 typically consumes a relatively high amount of power during operation. When operating on batteries, frequent use of the HPDD 15 will significantly decrease battery life.
- the computer architecture 4 also includes a display 16, an audio output device 17 such as audio speakers and/or other input/output devices that are generally identified at 18.
- an exemplary computer architecture 20 includes a processing chipset 22 and an I/O chipset 24.
- the computer architecture may be a Northbridge/Southbridge architecture (with the processing chipset corresponding to the Northbridge chipset and the I/O chipset corresponding to the Southbridge chipset) or other similar architecture.
- the processing chipset 22 communicates with a processor 25 and a graphics processor 26 via a system bus 27.
- the processing chipset 22 controls interaction with volatile memory 28 (such as external DRAM or other memory), a Peripheral Component Interconnect (PCI) bus 30, and/or Level 2 cache 32.
- Level 1 cache 33 and 34 may be associated with the processor 25 and/or the graphics processor 26, respectively.
- an Accelerated Graphics Port (not shown) communicates with the processing chipset 22 instead of and/or in addition to the graphics processor 26.
- the processing chipset 22 is typically but not necessarily implemented using multiple chips.
- PCl slots 36 interface with the PCI bus 30.
- the I/O chipset 24 manages the basic forms of input/output (I/O).
- the I/O chipset 24 communicates with an Universal Serial Bus (USB) 40, an audio device 41, a keyboard (KBD) and/or pointing device 42, and a Basic Input/Output System (BIOS) 43 via an Industry Standard Architecture (ISA) bus 44.
- USB Universal Serial Bus
- BIOS Basic Input/Output System
- ISA Industry Standard Architecture
- a HPDD 50 such as a hard disk drive also communicates with the I/O chipset 24.
- the HPDD 50 stores a full-featured operating system (OS) such as Windows XP® Windows 2000®, Linux and MAC®-based OS that is executed by the processor 25.
- OS operating system
- a processing device comprises a primary processor that consumes power at a first rate and that is operated when the computer is in an high power mode.
- the processing device includes a secondary processor that consumes power at a second rate that is less than the first rate and that is operated when the computer is in the low power mode.
- the primary processor is fabricated using a first process and the secondary processor is fabricated using a second process.
- the first process has smaller feature sizes than the second process.
- a primary graphics processor communicates with the primary processor and is operated when the computer is in the high power mode.
- the primary processor and the primary graphics processor are not operated when the computer is in the low power mode.
- a secondary graphics processor communicates with the secondary processor and is operated during the low power mode.
- primary volatile memory communicates with the primary processor during the high power mode and with the secondary processor during the low power mode.
- Primary volatile memory communicates with the primary processor during the high power mode and secondary volatile memory communicates with the secondary processor during the low power mode.
- primary volatile memory communicates with the primary processor during the high power mode.
- Secondary volatile memory is embedded in the secondary processor.
- a processing chipset communicates with the primary processor and the primary graphics processor during the high power mode and with the secondary processor and the secondary graphics processor during the low power mode.
- An I/O chipset communicates with the secondary processor and the secondary graphics processor during the low power mode.
- transistors of the primary processor are operated at less than approximately 20% duty cycle and transistors of the secondary processor are operated at greater than approximately 80% duty cycle.
- Transistors of the primary processor are operated at less than approximately 10% duty cycle and transistors of the secondary processor are operated at greater than approximately 90% duty cycle.
- the primary processor executes a full-featured operating system during the high power mode and the secondary processor executes a restricted-feature operating system during the low power mode.
- At least one of a low power disk drive and/or flash memory communicates with the secondary processor and stores a restricted-feature operating system that is executed by the secondary processor during the low power mode.
- a high power disk drive communicates with the primary processor and stores a full-featured operating system that is executed by the primary processor during the high power mode.
- Level one cache is associated with the primary processor.
- Level two cache communicates with the primary processor.
- the processing device employs a cache hierarchy comprising a high power (HP) nonvolatile memory level for data in the HP nonvolatile memory, a low power (LP) nonvolatile memory level for data in the LP nonvolatile memory, a volatile memory level, a second level for data in the level two cache, a first level for data in the level one cache, and a CPU level for data in at least one of the primary processor and/or the secondary processor.
- HP high power
- LP low power
- primary volatile memory communicates with the primary processor.
- the volatile memory level corresponds to data in the primary volatile memory during the high power mode.
- Secondary volatile memory communicates with the secondary processor.
- the volatile memory level corresponds to data in the secondary volatile memory during the low power mode.
- Secondary volatile memory is embedded in the secondary processor.
- the volatile memory level corresponds to data in the embedded secondary volatile ,memory during the low power mode.
- the full-featured operating system and the restricted-feature operating system share a common data format.
- the HP nonvolatile memory includes a high power disk drive with a platter having a diameter greater than 1.8" and the LP nonvolatile memory includes at least one of flash memory and/or a low power disk drive having a platter with a diameter less than or equal to 1.8".
- FIG. 1A and 1B illustrate exemplary computer architectures according to the prior art
- FIG. 2A illustrates a first exemplary computer architecture according to the present invention with a primary processor, a primary graphics processor, and primary volatile memory that operate during an high power mode and a secondary processor and a secondary graphics processor that communicate with the primary processor, that operate during a low power mode and that employ the primary volatile memory during the low power mode;
- FIG. 2B illustrates a second exemplary computer architecture according to the present invention that is similar to FIG. 2A and that includes secondary volatile memory that is connected to the secondary processor and/or the secondary graphics processor;
- FIG. 2C illustrates a third exemplary computer architecture according to the present invention that is similar to FIG. 2A and that includes embedded volatile memory that is associated with the secondary processor and/or the secondary graphics processor;
- FIG. 3A illustrates a fourth exemplary architecture according to the present invention for a computer with a primary processor, a primary graphics processor, and primary volatile memory that operate during an high power mode and a secondary processor and a secondary graphics processor that communicate with a processing chipset, that operate during the low power mode and that employ the primary volatile memory during the low power mode;
- FIG. 3B illustrates a fifth exemplary computer architecture according to the present invention that is similar to FIG. 3A and that includes secondary volatile memory connected to the secondary processor and/or the secondary graphics processor,
- FIG. 3C illustrates a sixth exemplary computer architecture according to the present invention that is similar to FIG. 3A and that includes embedded volatile memory that is associated with the secondary processor and/or the secondary graphics processor;
- FIG. 4A illustrates a seventh exemplary architecture according to the present invention for a computer with a secondary processor and a secondary graphics processor that communicate with an I/O chipset, that operate during the low power mode and that employ the primary volatile memory during the low power mode;
- FIG. 4B illustrates an eighth exemplary computer architecture according to the present invention that is similar to FIG. 4A and that includes secondary volatile memory connected to the secondary processor and/or the secondary graphics processor;
- FIG. 4C illustrates a ninth exemplary computer architecture according to the present invention that is similar to FIG. 4A and that includes embedded volatile memory that is associated with the secondary processor and/or the secondary graphics processor;
- FIG. 5 illustrates a caching hierarchy according to the present invention for the computer architectures of FIGs. 2A-4C;
- FIG. 6 is a functional block diagram of a drive control module that includes a least used block (LUB) module and that manages storage and transfer of data between the low-power disk drive (LPDD) and the high-power disk drive (HPDD);
- LOB least used block
- FIG. 7A is a flowchart illustrating steps that are performed by the drive control modulé of FIG. 6;
- FIG. 7B is a flowchart illustrating alternative steps that are performed by the drive control module of FIG. 6;
- FIGs. 7C and 7D are flowcharts illustrating alternative steps that are performed by the drive control module of FIG. 6;
- FIG. 8A illustrates a cache control module that includes an adaptive storage control module and that controls storage and transfer of data between the LPDD and HPDD;
- FIG. 8B illustrates an operating system that includes an adaptive storage control module and that controls storage and transfer of data between the LPDD and the HPDD;
- FIG. 8C illustrates a host control module that includes an adaptive storage control module and that controls storage and transfer of data between the LPDD and HPDD;
- FIG. 9 illustrates steps performed by the adaptive storage control modules of FIGs. 8A-8C;
- FIG. 10 is an exemplary table illustrating one method for determining the likelihood that a program or file will be used during the low power mode
- FIG. 11A illustrates a cache control module that includes a disk drive power reduction module
- FIG. 11B illustrates an operating system that includes a disk drive power reduction module
- FIG. 11C illustrates a host control module that includes a disk drive power reduction module
- FIG. 12 illustrates steps performed by the disk drive power reduction modules of FIGs. 11A-11C;
- FIG. 13 illustrates a multi-disk drive system including a high-power disk drive (HPDD) and a lower power disk drive (LPDD);
- HPDD high-power disk drive
- LPDD lower power disk drive
- FiGs. 14-17 illustrate other exemplary implementations of the multi-disk drive system of FIG. 13;
- FIG. 18 illustrates the use of low power nonvolatile memory such as Flash memory or a low power disk drive (LPDD) for increasing virtual memory of a computer;
- LPDD low power disk drive
- FIGs. 19 and 20 illustrates steps performed by the operating system to allocate and use the virtual memory of FIG. 18;
- FIG. 21 is a functional block diagram of a Redundant Array of Independent Disks (RAID) system according to the prior art
- FIG. 22A is a functional block diagram of an exemplary RAID system according to the present invention with a disk array including X HPDD and a disk array including Y LPDD;
- FIG. 22B is a functional block diagram of the RAID system of FIG. 22A where X and Y are equal to Z;
- FIG. 23A is a functional block diagram of another exemplary RAID system according to the present invention with a disk array including Y LPDD that communicates with a disk array including X HPDD;
- FIG. 23B is a functional block diagram of the RAID system of FIG. 23A where X and Y are equal to Z;
- FIG. 24A is a functional block diagram of still another exemplary RAID system according to the present invention with a disk array including X HPDD that communicate with a disk array including Y LPDD;
- FIG. 24B is a functional block diagram of the RAID system of FIG. 24A where X and Y are equal to Z;
- FIG. 25 is a functional block diagram of a network attachable storage (NAS) system according to the prior art.
- FIG. 26 is a functional block diagram of a network attachable storage (NAS) system according to the present invention that includes the RAID system of FIGs. 22A, 22B, 23A, 23B, 24A, and/or 24B and/or a multi-drive system according to FIGs. 6-17.
- NAS network attachable storage
- module refers to an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
- ASIC application specific integrated circuit
- processor shared, dedicated, or group
- memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
- data processing device refers to any system that includes a processor, memory and an input/output interface.
- Exemplary processing devices include but are not limited to desktop computers, laptops, personal media players, personal digital assistants, and notebooks, although still other types of processing devices are contemplated.
- the term "high power mode” refers to active operation of the primary processor and/or the primary graphics processor of the processing device.
- the term “low power mode” refers to low-power hibernating modes, off modes, and/or non-responsive modes of the primary processor and/or primary graphics processor when a secondary processor and a secondary graphics processor are operable.
- An “off mode” refers to situations when both the primary and secondary processors are off.
- low power disk drive or LPDD refers to disk drives and/or microdrives having one or more platters that have a diameter that is less than or equal to 1.8.
- high power disk drive or HPDD refers to hard disk drives having one or more platters that have a diameter that is greater than 1.8".
- LPDDs typically have lower storage capacities and dissipate less power than the HPDDs.
- the LPDDs are also rotated at a higher speed than the HPDDs. For example, rotational speeds of 10,000 - 20,000 RPM or greater can be achieved with LPDDs.
- the computer architecture includes the primary processor, the primary graphics processor, and the primary memory (as described in conjunction with FIGs. 1A and 1B), which operate during the high power mode.
- a secondary processor and a secondary graphics processor are operated during the low power mode.
- the secondary processor and the secondary graphics processor may be connected to various components of the computer, as will be described below.
- Primary volatile memory may be used by the secondary processor and the secondary graphics processor during the low power mode.
- secondary volatile memory such as DRAM and/or embedded secondary volatile memory such as embedded DRAM can be used, as will be described below.
- the primary processor and the primary graphics processor dissipate relatively high power when operating in the high power mode.
- the primary processor and the primary graphics processor execute a full-featured operating system (OS) that requires a relatively large amount of external memory.
- the primary processor and the primary graphics processor support high performance operation including complex computations and advanced graphics.
- the full-featured OS can be a Windows®-based OS such as Windows XP®, a Linux-based OS, a MAC®-based OS and the like.
- the full-featured OS is stored in the HPDD 15 and/or 50.
- the secondary processor and the secondary graphics processor dissipate less power (than the primary processor and primary graphics processor) during the low power mode.
- the secondary processor and the secondary graphics processor operate a restricted-feature operating system (OS) that requires a relatively small amount of external volatile memory.
- the secondary processor and secondary graphics processor may also use the same OS as the primary processor. For example, a pared-down version of the full-featured OS may be used.
- the secondary processor and the secondary graphics processor support lower performance operation, a lower computation rate and less advanced graphics.
- the restricted-feature OS can be Windows CE® or any other suitable restricted-feature OS.
- the restricted-feature OS is preferably stored in nonvolatile memory such as Flash memory and/or a LPDD.
- the full-featured and restricted-feature OS share a common data format to reduce complexity.
- the primary processor and/or the primary graphics processor preferably include transistors that are implemented using a fabrication process with a relatively small feature size. In one implementation, these transistors are implemented using an advanced CMOS fabrication process. Transistors implemented in the primary processor and/or primary graphics processor have relatively high standby leakage, relatively short channels and are sized for high speed. The primary processor and the primary graphics processor preferably employ predominantly dynamic logic. In other words, they cannot be shut down. The transistors are switched at a duty cycle that is less than approximately 20% and preferably less than approximately 10%. although other duty cycles may be used.
- the secondary processor and/or the secondary graphics processor preferably include transistors that are implemented with a fabrication process having larger feature sizes than the process used for the primary processor and/or primary graphics processor. In one implementation, these transistors are Implemented using a regular CMOS fabrication process.
- the transistors implemented in the secondary processor and/or the secondary graphics processor have relatively low standby leakage, relatively long channels and are sized for low power dissipation.
- the secondary processor and the secondary graphics processor preferably employ predominantly static logic rather than dynamic logic. The transistors are switched at a duty cycle that is greater than 80% and preferably greater than 90%, although other duty cycles may be used.
- the primary processor and the primary graphics processor dissipate relatively high power when operated in the high power mode.
- the secondary processor and the secondary graphics processor dissipate less power when operating in the low power mode.
- the computer architecture is capable of supporting fewer features and computations and less complex graphics than when operating in the high power mode.
- a first exemplary computer architecture 60 is shown.
- the primary processor 6, the volatile memory 9 and the primary graphics processor 11 communicate with the interface 8 and support complex data and graphics processing during the high power mode.
- a secondary processor 62 and a secondary graphics processor 64 communicate with the interface 8 and support less complex data and graphics processing during the low power mode.
- Optional nonvolatile memory 65 such as a LPDD 66 and/or Flash memory 68 communicates with the interface 8 and provides low power nonvolatile storage of data during the low power and/or high power modes.
- the HPDD 15 provides high power/capacity nonvolatile memory.
- the nonvolatile memory 65 and/or the HPDD 15 are used to store the restricted feature OS and/or other data and files during the low power mode.
- the secondary processor 62 and the secondary graphics processor 64 employ the volatile memory 9 (or primary memory) while operating in the low-power mode.
- the interface 8 is powered during the low power mode to support communications with the primary memory and/or communications between components that are powered during the low power mode.
- the keyboard 13, the pointing device 14 and the primary display 16 may be powered and used during the low power mode.
- a secondary display with reduced capabilities such as a monochrome display
- a secondary input/output device can also be provided and used during the low power mode.
- FIG. 2B a second exemplary computer architecture 70 that is similar to the architecture in FIG. 2A is shown.
- the secondary processor 62 and the secondary graphics processor 64 communicate with secondary volatile memory 74 and/or 76.
- the secondary volatile memory 74 and 76 can be DRAM or other suitable memory.
- the secondary processor 62 and the secondary graphics processor 64 utilize the secondary volatile memory 74 and/or 76, respectively, in addition to and/or instead of the primary volatile memory 9 shown and described in FIG. 2A.
- the secondary processor 62 and/or secondary graphics processor 64 include embedded volatile memory 84 and 86, respectively.
- the secondary processor 62 and the secondary graphics processor 64 utilize the embedded volatile memory 84 and/or 86, respectively, in addition to and/or instead of the primary volatile memory.
- the embedded volatile memory 84 and 86 is embedded DRAM (eDRAM), although other types of embedded volatile memory can be used.
- the primary processor 25, the primary graphics processor 26, and the primary volatile memory 28 communicate with the processing chipset 22 and support complex data and graphics processing during the high power mode.
- a secondary processor 104 and a secondary graphics processor 108 support less complex data and graphics processing when the computer is in the low power mode.
- the secondary processor 104 and the secondary graphics processor 108 employ the primary volatile memory 28 while operating in the low power mode.
- the processing chipset 22 may be fully and/or partially powered during the low power mode to facilitate communications therebetween.
- the HPDD 50 may be powered during the low power mode to provide high power volatile memory.
- Low power nonvolative memory 109 (LPDD 110 and/or Flash memory 112) is connected to the processing chipset 22, the I/O chipset 24 or in another location and stores the restricted-feature operating system for the low power mode.
- the processing chipset 22 may be fully and/or partially powered to support operation of the HPDD 50, the LPDD 110, and/or other components that will be used during the low power mode.
- the keyboard and/or pointing device 42 and the primary display may be used during the low power mode.
- Secondary volatile memory 154 and 158 is connected to the secondary processor 104 and/or secondary graphics processor 108, respectively.
- the secondary processor 104 and the secondary graphics processor 108 utilize the secondary volatile memory 154 and 158, respectively, instead of and/or in addition to the primary volatile memory 28.
- the processing chipset 22 and the primary volatile memory 28 can be shut down during the low power mode if desired.
- the secondary volatile memory 154 and 158 can be DRAM or other suitable memory.
- the secondary processor 104 and/or secondary graphics processor 108 include embedded memory 174 and 176, respectively.
- the secondary processor 104 and the secondary graphics processor 108 utilize the embedded memory 174 and 176, respectively, instead of and/or in addition to the primary volatile memory 28.
- the embedded volatile memory 174 and 176 is embedded DRAM (eDRAM), although other types of embedded memory can be used.
- the secondary processor 104 and the secondary graphics processor 108 communicate with the I/O chipset 24 and employ the primary volatile memory 28 as volatile memory during the low power mode.
- the processing chipset 22 remains fully and/or partially powered to allow access to the primary volatile memory 28 during the low power mode.
- Secondary volatile memory 154 and 158 is connected to the secondary processor 104 and the secondary graphics processor 108, respectively, and is used instead of and/or in addition to the primary volatile memory 28 during the low power mode.
- the processing chipset 22 and the primary volatile memory 28 can be shut down during the low power mode.
- FIG. 4C a ninth exemplary computer architecture 210 that is similar to FIG. 4A is shown.
- Embedded volatile memory 174 and 176 is provided for the secondary processor 104 and/or the secondary graphics processor 108, respectively in addition to and/or instead of the primary volatile memory 28.
- the processing chipset 22 and the primary volatile memory 28 can be shut down during the low power mode.
- the HP nonvolatile memory HPDD 50 is located at a lowest level 254 of the caching hierarchy 250. Level 254 may or may not be used during the low power mode if the HPDD 50 is disabled and will be used if the HPDD 50 is enabled during the low power mode.
- the LP nonvolatile memory such as LPDD 110 and/or Flash memory 112 is located at a next level 258 of the caching hierarchy 250.
- External volatile memory such as primary volatile memory, secondary volatile memory and/or secondary embedded memory is a next level 262 of the caching hierarchy 250, depending upon the configuration.
- Level 2 or secondary cache comprises a next level 266 of the caching hierarchy 250.
- Level 1 cache is a next level 268 of the caching hierarchy 250.
- the CPU primary and/or secondary
- the primary and secondary graphics processor use a similar hierarchy.
- the computer architecture according to the present invention provides a low power mode that supports less complex processing and graphics. As a result, the power dissipation of the computer can be reduced significantly. For laptop applications, battery life is extended.
- a drive control module 300 or host control module for a multi-disk drive system includes a least used block (LUB) module 304, an adaptive storage module 306, and/or a LPDD maintenance module 308.
- the drive control module 300 controls storage and data transfer between a high-powered disk drive (HPDD) 310 such as a hard disk drive and a low-power disk drive (LPDD) 312 such as a microdrive based in part on LUB information.
- HPDD high-powered disk drive
- LPDD low-power disk drive
- the drive control module 300 reduces power consumption by managing data storage and transfer between the HPDD and LPDD during the high and low power modes.
- the least used block module 304 keeps track of the least used block of data in the LPDD 312. During the low-power mode, the least used block module 304 identifies the least used block of data (such as files and/or programs) in the LPDD 312 so that it can be replaced when needed. Certain data blocks or files may be exempted from the least used block monitoring such as files that relate to the restricted-feature operating system only, blocks that are manually set to be stored in the LPDD 312, and/or other files and programs that are operated during the low power mode only. Still other criteria may be used to select data blocks to be overwritten, as will be described below.
- the adaptive storage module 306 determines whether write data is more likely to be used before the least used blocks. The adaptive storage module 306 also determines whether read data is likely to be used only once during the low power mode during a data retrieval request.
- the LPDD maintenance module 308 transfers aged data from the LPDD to the HPDD during the high power mode and/or in other situations as will be described below.
- step 320 the drive control module 300 determines whether there is a data storing request. If step 324 is true, the drive control module 300 determines whether there is sufficient space available on the LPDD 312 in step 328. If not, the drive control module 300 powers the HPDD 310 in step 330. In step 334, the drive control module 300 transfers the least used data block to the HPDD 310. In step 336, the drive control module 300 determines whether there is sufficient space available on the LPDD 312. If not, control loops to step 334. Otherwise, the drive control module 300 continues with step 340 and turns off the HPDD 310. In step 344, data to be stored (e.g. from the host) is transferred to the LPDD 312.
- step 344 data to be stored (e.g. from the host) is transferred to the LPDD 312.
- step 324 the drive control module 300 continues with step 350 and determines whether there is a data retrieving request. If not, control returns to step 324. Otherwise, control continues with step 354 and determines whether the data is located in the LPDD 312. If step 354 is true, the drive control module 300 retrieves the data from the LPDD 312 in step 356 and continues with step 324. Otherwise, the drive control module 300 powers the HPDD 310 in step 360. In step 364, the drive control module 300 determines whether there is sufficient space available on the LPDD 312 for the requested data. If not, the drive control module 300 transfers the least used data block to the HPDD 310 in step 366 and continues with step 364.
- step 364 the drive control module 300 transfers data to the LPDD 312 and retrieves data from the LPDD 312 in step 368.
- step 370 control turns off the HPDD 310 when the transfer of the data to the LPDD 312 is complete.
- step 328 determines whether the data to be stored is likely to be used before the data in the least used block or blocks that are identified by the least used block module in step 372. If step 372 is false, the drive control module 300 stores the data on the HPDD in step 374 and control continues with step 324. By doing so, the power that is consumed to transfer the least used block(s) to the LPDD is saved. If step 372 is true, control continues with step 330 as described above with respect to FIG. 7A.
- step 376 determines whether data is likely to be used once. If step 376 is true, the drive control module 300 retrieves the data from the HPDD in step 378 and continues with step 324. By doing so, the power that would be consumed to transfer the data to the LPDD is saved. If step 376 is false, control continues with step 360. As can be appreciated, if the data is likely to be used once, there is no need to move the data to the LPDD. The power dissipation of the HPDD, however, cannot be avoided.
- step 328 when there is sufficient space available on the LPDD, the data is transferred to the LPDD in step 344 and control returns to step 324. Otherwise, when step 328 is false, the data is stored on the HPDD in step 380 and control returns to step 324.
- the approach illustrated in FIG. 7C uses the LPDD when capacity is available and uses the HPDD when LPDD capacity is not available. Skilled artisans will appreciate that hybrid methods may be employed using various combinations of the steps of FIGs. 7A-7D.
- step 390 control determines whether the high power mode is in use. If not, control loops back to step 7D. If step 392 is true, control determines whether the last mode was the low power mode in step 394. If not, control returns to step 392. If step 394 is false, control performs maintenance such as moving aged or low use files from the LPDD to the HPDD in step 396. Adaptive decisions may also be made as to which files are likely to be used in the future, for example using criteria described above and below in conjunction with FIGs. 8A-10.
- the storage control system 400-1 includes a cache control module 410 with an adaptive storage control module 414.
- the adaptive storage control module 414 monitors usage of files and/or programs to determine whether they are likely to be used in the low power mode or the high power mode.
- the cache control module 410 communicates with one or more data buses 416, which in turn, communicate with volatile memory 422 such as L1 cache, L2 cache, volatile RAM such as DRAM and/or other volatile electronic data storage.
- the buses 416 also communicate with low power nonvolatile memory 424 (such as Flash memory and/or a LPDD) and/or high power nonvolatile memory 426 such as a HPDD 426.
- low power nonvolatile memory 424 such as Flash memory and/or a LPDD
- high power nonvolatile memory 426 such as a HPDD 426.
- a full-featured and/or restricted feature operating system 430 is shown to include the adaptive storage control module 414. Suitable interfaces and/or controllers (not shown) are located between the data bus and the HPDD and/or LPDD.
- a host control module 440 includes the adaptive storage control module 414.
- the host control module 440 communicates with a LPDD 426' and a hard disk drive 426'.
- the host control module 440 can be a drive control module, an Integrated Device Electronics (IDE), ATA, serial ATA (SATA) or other controller.
- IDE Integrated Device Electronics
- SATA serial ATA
- control begins with step 460.
- step 462 control determines whether there is a request for data storage to nonvolatile memory. If not, control loops back to step 462. Otherwise, the adaptive storage control module 414 determines whether data is likely to be used in the low-power mode in step 464. If step 464 is false, data is stored in the HPDD in step 468. If step 464 is true, the data is stored in the nonvolatile memory 444 in step 474.
- a table 490 includes a data block descriptor field 492, a low-power counter field 493, a high-power counter field 494, a size field 495, a last use field 496 and/or a manual override field 497.
- the counter field 493 and/or 494 is incremented.
- the table 492 is accessed. A threshold percentage and/or count value may be used for evaluation.
- the file may be stored in the low-power nonvolatile memory such as flash memory and/or the microdrive. If the threshold is not met, the file or program is stored in the high-power nonvolatile memory.
- the counters can be reset periodically, after a predetermined number of samples (in other words to provide a rolling window), and/or using any other criteria.
- the likelihood may be weighted, otherwise modified, and/or replaced by the size field 495. In other words, as the file size grows, the required threshold may be increased because of the limited capacity of the LPDD.
- Further modification of the likelihood of use decision may be made on the basis of the time since the file was last used as recorded by the last use field 496.
- a threshold date may be used and/or the time since last use may be used as one factor in the likelihood determination. While a table is shown in FIG. 10, one or more of the fields that are used may be stored in other locations and/or in other data structures. An algorithm and/or weighted sampling of two or more fields may be used.
- the manual override field 497 allows a user and/or the operating system to manually override of the likelihood of use determination.
- the manual override field may allow an L status for default storage in the LPDD, an H status for default storage in the HPDD and/or an A status for automatic storage decisions (as described above).
- Other manual override classifications may be defined.
- the current power level of the computer operating in the LPDD may be used to adjust the decision. Skilled artisans will appreciate that there are other methods for determining the likelihood that a file or program will be used in the high-power or low-power modes that fall within the teachings of the present invention.
- the drive power reduction system 500 bursts segments of a larger sequential access file such as but not limited audio and/or video files to the low power nonvolatile memory on a periodic or other basis.
- the drive power reduction system 500-1 includes a cache control module 520 with a drive power reduction control module 522.
- the cache control module 520 communicates with one or more data buses 526, which in tum, communicate with volatile memory 530 such as L1 cache, L2 cache, volatile RAM such as DRAM and/or other volatile electronic data storage, nonvolatile memory 534 such as Flash memory and/or a LPDD, and a HPDD 538.
- volatile memory 530 such as L1 cache, L2 cache, volatile RAM such as DRAM and/or other volatile electronic data storage
- nonvolatile memory 534 such as Flash memory and/or a LPDD
- HPDD 538 a HPDD 538
- the drive power reduction system 500-2 includes a full-featured and/or restricted feature operating system 542 with a drive power reduction control module 522. Suitable interfaces and/or controllers (not shown) are located between the data bus and the HPDD and/or LPDD.
- the drive power reduction system 500-3 includes a host control module 560 with an adaptive storage control module 522.
- the host control module 560 communicates with one or more data buses 564, which communicate with the LPDD 534' and the hard disk drive 538'.
- the host control module 560 can be a drive control module, an Integrated Device Electronics (IDE), ATA, serial ATA (SATA) and/or other controller or interface.
- IDE Integrated Device Electronics
- SATA serial ATA
- control begins the step 582.
- step 584 control determines whether the system is in a low-power mode. If not, control loops back to step 584. If step 586 is true, control continues with step 586 where control determines whether a large data block access is typically requested from the HPDD in step 586. If not, control loops back to step 584. If step 586 is true, control continues with step 590 and determines whether the data block is accessed sequentially. If not, control loops back to 584. If step 590 is true, control continues with step 594 and determines the playback length. In step 598, control determines a burst period and frequency for data transfer from the high power nonvolatile memory to the low power nonvolatile memory.
- the burst period and frequency are optimized to reduce power consumption.
- the burst period and frequency are preferably based upon the spin-up time of the HPDD and/or the LPDD, the capacity of the nonvolatile memory, the playback rate, the spin-up and steady state power consumption of the HPDD and/or LPDD, and/or the playback length of the sequential data block.
- the high power nonvolatile memory is a HPDD that consumes 1-2W during operation, has a spin-up time of 4-10 seconds and a capacity that is typically greater than 20Gb.
- the low power nonvolatile memory is a microdrive that consumes 0.3-0.5W during operation, has a spin-up time of 1-3 seconds, and a capacity of 1-6Gb.
- the HPDD may have a data transfer rate of 1Gb/s to the microdrive.
- the playback rate may be 10Mb/s (for example for video files).
- the burst period times the transfer rate of the HPDD should not exceed the capacity of the microdrive.
- the period between bursts should be greater than the spin-up time plus the burst period.
- the power consumption of the system can be optimized. In the low power mode, if the HPDD is operated to play an entire video such as a movie, a significant amount of power is consumed. Using the method described above, the power dissipation can be reduced significantly by selectively transferring the data from the HPDD to the LPDD in multiple burst segments spaced at fixed intervals at a very high rate (e.g., 100X the playback rate) and then the HPDD can be shut down. Power savings that are greater than 50% can easily be achieved.
- a multi-disk drive system 640 is shown to include a drive control module 650 and one or more HPDD 644 and one or more LPDD 648.
- the drive control module 650 communicates with a processing device via host control module 651.
- host control module 651 To the host, the multi-disk drive system 640 effectively operates the HPDD 644 and LPDD 648 as a unitary disk drive to reduce complexity, improve performance and decrease power consumption, as will be described below.
- the host control module 651 can be an IDE, ATA, SATA and/or other control module or interface.
- the drive control module 650 includes a hard disk controller (HDC) 653 that is used to control one or both of the LPDD and/or HPDD.
- a buffer 656 stores data that is associated the control of the HPDD and/or LPDD and/or aggressively buffers data to/from the HPDD and/or LPDD to increase data transfer rates by optimizing data block sizes.
- a processor 657 performs processing that is related to the operation of the HPDD and/or LPDD.
- the HPDD 648 includes one or more platters 652 having a magnetic coating that stores magnetic fields.
- the platters 652 are rotated by a spindle motor that is schematically shown at 654.
- the spindle motor 654 rotates the platter 652 at a fixed speed during the read/write operations.
- One or more read/write arms 658 move relative to the platters 652 to read and/or write data to/from the platters 652. Since the HPDD 648 has larger platters than the LPDD, more power is required by the spindle motor 654 to spin-up the HPDD and to maintain the HPDD at speed. Usually, the spin-up time is higher for HPDD as well.
- a read/write device 659 is located near a distal end of the read/write arm 658.
- the read/write device 659 includes a write element such as an inductor that generates a magnetic field.
- the read/write device 659 also includes a read element (such as a magneto-resistive (MR) element) that senses the magnetic field on the platter 652.
- MR magneto-resistive
- a preamp circuit 660 amplifies analog read/write signals.
- the preamp circuit 660 When reading data, the preamp circuit 660 amplifies low level signals from the read element and outputs the amplified signal to the read/write channel device. While writing data, a write current is generated which flows through the write element of the read/write device 659 and is switched to produce a magnetic field having a positive or negative polarity. The positive or negative polarity is stored by the platter 652 and is used to represent data.
- the LPDD 644 also includes one or more platters 662, a spindle motor 664, one or more read/write arms 668, a read/write device 669, and a preamp circuit 670.
- the HDC 653 communicates with the host control module 651 and with a first spindle/voice coil motor (VCM) driver 672, a first read/write channel circuit 674, a second spindle/VCM driver 676, and a second read/write channel circuit 678.
- the host control module 651 and the drive control module 650 can be implemented by a system on chip (SOC) 684.
- SOC system on chip
- the spindle VCM drivers 672 and 676 and/or read/write channel circuits 674 and 678 can be combined.
- the spindle/VCM drivers 672 and 676 control the spindle motors 654 and 664, which rotate the platters 652 and 662, respectively.
- the spindle/VCM drivers 672 and 676 also generate control signals that position the read/write arms 658 and 668, respectively, for example using a voice coil actuator, a stepper motor or any other suitable actuator.
- the drive control module 650 may include a direct interface 680 for providing an external connection to one or more LPDD 682.
- the direct interface is a Peripheral Component Interconnect (PCI) bus, a PCI Express (PCIX) bus, and/or any other suitable bus or interface.
- PCI Peripheral Component Interconnect
- PCIX PCI Express
- the host control module 651 communicates with both the LPDD 644 and the HPDD 648.
- a low power drive control module 650LP and a high power disk drive control module 650HP communicate directly with the host control module.
- Zero, one or both of the LP and/or the HP drive control modules can be implemented as a SOC.
- one exemplary LPDD 682 is shown to include an interface 690 that supports communications with the direct interface 680.
- the interfaces 680 and 690 can be a Peripheral Component Interconnect (PCI) bus, a PCI Express (PCIX) bus, and/or any other suitable bus or interface.
- the LPDD 682 includes an HDC 692, a buffer 694 and/or a processor 696.
- the LPDD 682 also includes the spindle/VCM driver 676, the read/write channel circuit 678, the platter 662, the spindle motor 665, the read/write arm 668, the read element 669, and the preamp 670, as described above.
- the HDC 653, the buffer 656 and the processor 658 can be combined and used for both drives.
- the spindle/VCM driver and read channel circuits can optionally be combined.
- aggressive buffering of the LPDD is used to increase performance.
- the buffers are used to optimize data block sizes for optimum speed over host data buses.
- a paging file is a hidden file on the HPDD or HP nonvolatile memory that is used by the operating system to hold parts of programs and/or data files that do not fit in the volatile memory of the computer.
- the paging file and physical memory, or RAM, define virtual memory of the computer.
- the operating system transfers data from the paging file to memory as needed and returns data from the volatile memory to the paging file to make room for new data.
- the paging file is also called a swap file.
- the present invention utilizes the LP nonvolatile memory such as the LPDD and/or flash memory to increase the virtual memory of the computer system.
- an operating system 700 allows a user to define virtual memory 702. During operation, the operating system 700 addresses the virtual memory 702 via one or more buses 704.
- the virtual memory 702 includes both volatile memory 708 and LP nonvolatile memory 710 such as Flash memory and/or a LPDD.
- the operating system allows a user to allocate some or all of the LP nonvolatile memory 710 as paging memory to increase virtual memory.
- control begins.
- the operating system determines whether additional paging memory is requested, If not, control loops back to step 724. Otherwise, the operating system allocates part of the LP nonvolatile memory for paging file use to increase the virtual memory in step 728.
- control begins in step 740.
- step 744 control determines whether the operating system is requesting a data write operation. If true, control continues with step 748 and determines whether the capacity of the volatile memory is exceeded. If not, the volatile memory is used for the write operation in step 750. If step 748 is true, data is stored in the paging file in the LP nonvolatile memory in step 754. If step 744 is false, control continues with step 760 and determines whether a data read is requested. If false, control loops back to step 744. Othervvise, control determines whether the address corresponds to a RAM address in step 764.
- step 764 control reads data from the volatile memory in step 764 and continues with step 744. If step 764 is false, control reads data from the paging file in the LP nonvolatile memory in step 770 and control continues with step 744.
- LP nonvolatile memory such as Flash memory and/or the LPDD to increase the size of virtual memory will increase the performance of the computer as compared to systems employing the HPDD. Furthermore, the power consumption will be lower than systems using the HPDD for the paging file.
- the HPDD requires additional spin-up time due to its increased size, which increases data access times as compared to the Flash memory, which has no spin-up latency, and/or the LPDD, which has a shorter spin-up time and lower power dissipation.
- a Redundant Array of Independent Disks (RAID) system 800 is shown to include one or more servers and/or clients 804 that communicate with a disk array 808.
- the one or more servers and/or clients 804 include a disk array controller 812 and/or an array management module 814.
- the disk array controller 812 and/or the array management module 814 receive data and perform logical to physical address mapping of the data to the disk array 808.
- the disk array typically includes a plurality of HPDD 816.
- the multiple HPDDs 816 provide fault tolerance (redundancy) and/or improved data access rates.
- the RAID system 800 provides a method of accessing multiple individual HPDDs as if the disk array 808 is one large hard disk drive. Collectively, the disk array 808 may provide hundreds of Gb to 10's to 100's of Tb of data storage. Data is stored in various ways on the multiple HPDDs 816 to reduce the risk of losing all of the data if one drive fails and to improve data access time.
- the method of storing the data on the HPDDs 816 is typically called a RAID level.
- RAID level There are various RAID levels including RAID level 0 or disk striping.
- RAID level 0 systems data is written in blocks across multiple drives to allow one drive to write or read a data block while the next is seeking the next block.
- the advantages of disk striping include the higher access rate and full utilization of the array capacity. The disadvantage is there is no fault tolerance. If one drive fails, the entire contents of the array become inaccessible.
- RAID level 1 or disk mirroring provides redundancy by writing twice - once to each drive. If one drive fails, the other contains an exact duplicate of the data and the RAID system can switch to using the mirror drive with no lapse in user accessibility.
- the disadvantages include a lack of improvement in data access speed and higher cost due to the Increased number of drives (2N) that are required.
- RAID level 1 provides the best protection of data since the array management software will simply direct all application requests to the surviving HPDDs when one of the HPDDs fails.
- RAID level 3 stripes data across multiple drives with an additional drive dedicated to parity, for error correction/recovery.
- RAID level 5 provides striping as well as parity for error recovery.
- the parity block is distributed among the drives of the array, which provides more balanced access load across the drives. The parity information is used to recovery data if one drive fails.
- the disadvantage is a relatively slow write cycle (2 reads and 2 writes are required for each block written).
- the array capacity is N-1, with a minimum of 3 drives required.
- RAID level 0+1 involves stripping and mirroring without parity. The advantages are fast data access (like RAID level 0), and single drive fault tolerance (like RAID level 1). RAID level 0+1 still requires twice the number of disks (like RAID level 1). As can be appreciated, there can be other RAID levels and/or methods for storing the data on the array 808.
- a RAID system 834-1 includes a disk array 836 that includes X HPDD and a disk array 838 that includes Y LPDD.
- One or more clients and/or a servers 840 include a disk array controller 842 and/or an array management module 844. While separate devices 842 and 844 are shown, these devices can be integrated if desired.
- X is greater than or equal to 2 and Y is greater than or equal to 1.
- X can be greater than Y, less than Y and/or equal to Y.
- RAID systems 834-2 and 834-3 are shown.
- the LPDD disk array 838 communicates with the servers/clients 840 and the HPDD disk array 836 communicates with the LPDD disk array 838.
- the RAID system 834-2 may include a management bypass path that selectively circumvents the LPDD disk array 838.
- X is greater than or equal to 2 and Y is greater than or equal to 1.
- X can be greater than Y, less than Y and/or equal to Y.
- FIG. 23A the LPDD disk array 838 communicates with the servers/clients 840 and the HPDD disk array 836 communicates with the LPDD disk array 838.
- the RAID system 834-2 may include a management bypass path that selectively circumvents the LPDD disk array 838.
- X is greater than or equal to 2 and Y is greater than or equal to 1.
- X
- the HPDD disk array 836 communicates with the servers/clients 840 and the LPDD disk array 838 communicates with the HPDD disk array 836.
- the RAID system 834-2 may include a management bypass path shown by dotted line 846 that selectively circumvents the LPDD disk array 838.
- X is greater than or equal to 2 and Y is greater than or equal to 1.
- X can be greater than Y, less than Y and/or equal to Y.
- the strategy employed may include write through and/or write back in FIGs. 23A-24B.
- the array management module 844 and/or the disk controller 842 utilizes the LPDD disk array 838 to reduce power consumption of the HPDD disk array 836.
- the HPDD disk array 808 in the conventional RAID system in FIG. 21 is kept on at all times during operation to support the required data access times.
- the HPDD disk array 808 dissipates a relatively high amount of power.
- the platters of the HPDDs are typically as large as possible, which requires higher capacity spindle motors and increases the data access times since the read/write arms move further on average.
- the techniques that are described above in conjunction with FIGs. 6-17 are selectively employed in the RAID system 834 as shown in FIG. 22B to reduce power consumption and data access times. While not shown in FIGs. 22A and 23A-24B, the other RAID systems according to the present invention may also use these techniques.
- the LUB module 304, adaptive storage module 306 and/or the LPDD maintenance module that are described in FIGs. 6 and 7A-7D are selectively implemented by the disk array controller 842 and/or the array management controller 844 to selectively store data on the LPDD disk array 838 to reduce power consumption and data access times.
- the adaptive storage control module 414 that is described in FIGs.
- FIGs. 8A-8C, 9 and 10 may also be selectively implemented by the disk array controller 842 and/or the array management controller 844 to reduce power consumption and data access times.
- the drive power reduction module 522 that is described FIGs. 11A-11C and 12 may also be implemented by the disk array controller 842 and/or the array management controller 844 to reduce power consumption and data access times.
- the multi-drive systems and/or direct interfaces that are shown in FIGs. 13-17 may be implemented with one or more of the HPDD in the HPDD disk array 836 to increase functionality and to reduce power consumption and access times.
- a network attached storage (NAS) system 850 includes storage devices 854, storage requesters 858, a file server 862, and a communications system 866.
- the storage devices 854 typically include disc drives, RAID systems, tape drives, tape libraries, optical drives, jukeboxes, and any other storage devices to be shared.
- the storage devices 854 are preferably but not necessarily object oriented devices.
- the storage devices 854 may include an I/O interface for data storage and retrieval by the requesters 858.
- the requesters 858 typically include servers and/or clients that share and/or directly access the storage devices 854.
- the file server 862 performs management and security functions such as request authentication and resource location.
- the storage devices 854 depend on the file server 862 for management direction, while the requesters 858 are relieved of storage management to the extent the file server 862 assumes that responsibility. In smaller systems, a dedicated file server may not be desirable. In this situation, a requester may take on the responsibility for overseeing the operation of the NAS system 850.
- both the file server 862 and the requester 858 are shown to include management modules 870 and 872, respectively, though one or the other and/or both may be provided.
- the communications system 866 is the physical infrastructure through which components of the NAS system 850 communicate. It preferably has properties of both networks and channels, has the ability to connect all components in the networks and the low latency that is typically found in a channel.
- the storage devices 854 identify themselves either to each other or to a common point of reference, such as the file server 862, one or more of the requesters 858 and/or to the communications system 866.
- the communications system 866 typically offers network management techniques to be used for this, which are accessible by connecting to a medium associated with the communications system.
- the storage devices 854 and requesters 858 log onto the medium. Any component wanting to determine the operating configuration can use medium services to identify all other components. From the file server 862, the requesters 858 learn of the existence of the storage devices 854 they could have access to, while the storage devices 854 leam where to go when they need to locate another device or invoke a management service like backup.
- the file server 862 can leam of the existence of storage devices 854 from the medium services. Depending on the security of a particular installation, a requester may be denied access to some equipment. From the set of accessible storage devices, it can then identify the files, databases, and free space available.
- each NAS component can identify to the file server 862 any special considerations it would like known. Any device level service attributes could be communicated once to the file server 862, where all other components could learn of them. For instance, a requester may wish to be informed of the introduction of additional storage subsequent to startup, this being triggered by an attribute set when the requester logs onto the file server 862. The file server 862 could do this automatically whenever new storage devices are added to the configuration, including conveying important characteristics, such as it being RAID 5, mirrored, and so on.
- a requester When a requester must open a file, it may be able to go directly to the storage devices 854 or it may have to go to the file server for permission and location information. To what extent the file server 854 controls access to storage is a function of the security requirements of the installation.
- a network attached storage (NAS) system 900 is shown to include storage devices 904, requesters 908, a file server 912, and a communications system 916.
- the storage devices 904 include the RAID system 834 and/or multi-disk drive systems 930 described above in FIGs. 6-19.
- the storage devices 904 may also include disc drives, RAID systems, tape drives, tape libraries, optical drives, jukeboxes, and/or any other storage devices to be shared as described above.
- using the improved RAID systems and/or multi-disk drive systems 930 will reduce the power consumption and data access times of the NAS system 900.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Transceivers (AREA)
Abstract
Description
- This application is related to U.S. Patent Application No. 10/779,544, which was filed on February 13, 2004 and U.S. Patent Application No. , which was filed on (Attorney Docket No. MP0525), and which are hereby incorporated by reference in their entirety.
- The present invention relates to computer architectures, and more particularly to dual power mode computer architectures.
- Laptop computers are powered using both line power and battery power. The processor, graphics processor, memory and display of the laptop computer consume a significant amount of power during operation. One significant limitation of laptop computers relates to the amount of time that the laptop can be operated using batteries without recharging. The relatively high power dissipation of the laptop computer usually corresponds to a relatively short battery life.
- Referring now to FIG. 1A, an exemplary computer architecture 4 is shown to include a
processor 6 withmemory 7 such as cache. Theprocessor 6 communicates with an input/output (I/O)interface 8. Volatile memory 9 such as random access memory (RAM) 10 and/or other suitable electronic data storage also communicates with theinterface 8. Agraphics processor 11 andmemory 12 such as cache increase the speed of graphics processing and performance. - One or more I/O devices such as a
keyboard 13 and a pointing device 14 (such as a mouse and/or other suitable device) communicate with theinterface 8. A high power disk drive (HPDD) 15 such as a hard disk drive having one or more platters with a diameter greater than 1.8" provides nonvolatile memory, stores data and communicates with theinterface 8. The HPDD 15 typically consumes a relatively high amount of power during operation. When operating on batteries, frequent use of the HPDD 15 will significantly decrease battery life. The computer architecture 4 also includes adisplay 16, anaudio output device 17 such as audio speakers and/or other input/output devices that are generally identified at 18. - Refening now to FIG. 1B, an
exemplary computer architecture 20 includes aprocessing chipset 22 and an I/O chipset 24. For example, the computer architecture may be a Northbridge/Southbridge architecture (with the processing chipset corresponding to the Northbridge chipset and the I/O chipset corresponding to the Southbridge chipset) or other similar architecture. Theprocessing chipset 22 communicates with aprocessor 25 and agraphics processor 26 via asystem bus 27. Theprocessing chipset 22 controls interaction with volatile memory 28 (such as external DRAM or other memory), a Peripheral Component Interconnect (PCI)bus 30, and/or Level 2cache 32.Level 1cache processor 25 and/or thegraphics processor 26, respectively. In an alternate embodiment, an Accelerated Graphics Port (AGP) (not shown) communicates with theprocessing chipset 22 instead of and/or in addition to thegraphics processor 26. Theprocessing chipset 22 is typically but not necessarily implemented using multiple chips.PCl slots 36 interface with thePCI bus 30. - The I/
O chipset 24 manages the basic forms of input/output (I/O). The I/O chipset 24 communicates with an Universal Serial Bus (USB) 40, anaudio device 41, a keyboard (KBD) and/orpointing device 42, and a Basic Input/Output System (BIOS) 43 via an Industry Standard Architecture (ISA)bus 44. Unlike theprocessing chipset 22, the I/O chipset 24 is typically (but not necessarily) implemented using a single chip, which is connected to thePCI bus 30. A HPDD 50 such as a hard disk drive also communicates with the I/O chipset 24. The HPDD 50 stores a full-featured operating system (OS) such as Windows XP® Windows 2000®, Linux and MAC®-based OS that is executed by theprocessor 25. - A processing device comprises a primary processor that consumes power at a first rate and that is operated when the computer is in an high power mode. The processing device includes a secondary processor that consumes power at a second rate that is less than the first rate and that is operated when the computer is in the low power mode.
- In other features, the primary processor is fabricated using a first process and the secondary processor is fabricated using a second process. The first process has smaller feature sizes than the second process. A primary graphics processor communicates with the primary processor and is operated when the computer is in the high power mode. The primary processor and the primary graphics processor are not operated when the computer is in the low power mode. A secondary graphics processor communicates with the secondary processor and is operated during the low power mode.
- In other features, primary volatile memory communicates with the primary processor during the high power mode and with the secondary processor during the low power mode. Primary volatile memory communicates with the primary processor during the high power mode and secondary volatile memory communicates with the secondary processor during the low power mode.
- In yet other features, primary volatile memory communicates with the primary processor during the high power mode. Secondary volatile memory is embedded in the secondary processor. A processing chipset communicates with the primary processor and the primary graphics processor during the high power mode and with the secondary processor and the secondary graphics processor during the low power mode. An I/O chipset communicates with the secondary processor and the secondary graphics processor during the low power mode.
- In still other features, transistors of the primary processor are operated at less than approximately 20% duty cycle and transistors of the secondary processor are operated at greater than approximately 80% duty cycle. Transistors of the primary processor are operated at less than approximately 10% duty cycle and transistors of the secondary processor are operated at greater than approximately 90% duty cycle.
- In yet other features, the primary processor executes a full-featured operating system during the high power mode and the secondary processor executes a restricted-feature operating system during the low power mode.
- In other features, at least one of a low power disk drive and/or flash memory communicates with the secondary processor and stores a restricted-feature operating system that is executed by the secondary processor during the low power mode. A high power disk drive communicates with the primary processor and stores a full-featured operating system that is executed by the primary processor during the high power mode. Level one cache is associated with the primary processor. Level two cache communicates with the primary processor.
- In other features, the processing device employs a cache hierarchy comprising a high power (HP) nonvolatile memory level for data in the HP nonvolatile memory, a low power (LP) nonvolatile memory level for data in the LP nonvolatile memory, a volatile memory level, a second level for data in the level two cache, a first level for data in the level one cache, and a CPU level for data in at least one of the primary processor and/or the secondary processor.
- In still other features, primary volatile memory communicates with the primary processor. The volatile memory level corresponds to data in the primary volatile memory during the high power mode. Secondary volatile memory communicates with the secondary processor. The volatile memory level corresponds to data in the secondary volatile memory during the low power mode. Secondary volatile memory is embedded in the secondary processor. The volatile memory level corresponds to data in the embedded secondary volatile ,memory during the low power mode.
- In other features, the full-featured operating system and the restricted-feature operating system share a common data format.
- In other features, the HP nonvolatile memory includes a high power disk drive with a platter having a diameter greater than 1.8" and the LP nonvolatile memory includes at least one of flash memory and/or a low power disk drive having a platter with a diameter less than or equal to 1.8".
- Further areas of applicability of the present invention will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.
- The present invention will become more fully understood from the detailed description and the accompanying drawings, wherein:
- FIG. 1A and 1B illustrate exemplary computer architectures according to the prior art;
- FIG. 2A illustrates a first exemplary computer architecture according to the present invention with a primary processor, a primary graphics processor, and primary volatile memory that operate during an high power mode and a secondary processor and a secondary graphics processor that communicate with the primary processor, that operate during a low power mode and that employ the primary volatile memory during the low power mode;
- FIG. 2B illustrates a second exemplary computer architecture according to the present invention that is similar to FIG. 2A and that includes secondary volatile memory that is connected to the secondary processor and/or the secondary graphics processor;
- FIG. 2C illustrates a third exemplary computer architecture according to the present invention that is similar to FIG. 2A and that includes embedded volatile memory that is associated with the secondary processor and/or the secondary graphics processor;
- FIG. 3A illustrates a fourth exemplary architecture according to the present invention for a computer with a primary processor, a primary graphics processor, and primary volatile memory that operate during an high power mode and a secondary processor and a secondary graphics processor that communicate with a processing chipset, that operate during the low power mode and that employ the primary volatile memory during the low power mode;
- FIG. 3B illustrates a fifth exemplary computer architecture according to the present invention that is similar to FIG. 3A and that includes secondary volatile memory connected to the secondary processor and/or the secondary graphics processor,
- FIG. 3C illustrates a sixth exemplary computer architecture according to the present invention that is similar to FIG. 3A and that includes embedded volatile memory that is associated with the secondary processor and/or the secondary graphics processor;
- FIG. 4A illustrates a seventh exemplary architecture according to the present invention for a computer with a secondary processor and a secondary graphics processor that communicate with an I/O chipset, that operate during the low power mode and that employ the primary volatile memory during the low power mode;
- FIG. 4B illustrates an eighth exemplary computer architecture according to the present invention that is similar to FIG. 4A and that includes secondary volatile memory connected to the secondary processor and/or the secondary graphics processor;
- FIG. 4C illustrates a ninth exemplary computer architecture according to the present invention that is similar to FIG. 4A and that includes embedded volatile memory that is associated with the secondary processor and/or the secondary graphics processor; and
- FIG. 5 illustrates a caching hierarchy according to the present invention for the computer architectures of FIGs. 2A-4C;
- FIG. 6 is a functional block diagram of a drive control module that includes a least used block (LUB) module and that manages storage and transfer of data between the low-power disk drive (LPDD) and the high-power disk drive (HPDD);
- FIG. 7A is a flowchart illustrating steps that are performed by the drive control modulé of FIG. 6;
- FIG. 7B is a flowchart illustrating alternative steps that are performed by the drive control module of FIG. 6;
- FIGs. 7C and 7D are flowcharts illustrating alternative steps that are performed by the drive control module of FIG. 6;
- FIG. 8A illustrates a cache control module that includes an adaptive storage control module and that controls storage and transfer of data between the LPDD and HPDD;
- FIG. 8B illustrates an operating system that includes an adaptive storage control module and that controls storage and transfer of data between the LPDD and the HPDD;
- FIG. 8C illustrates a host control module that includes an adaptive storage control module and that controls storage and transfer of data between the LPDD and HPDD;
- FIG. 9 illustrates steps performed by the adaptive storage control modules of FIGs. 8A-8C;
- FIG. 10 is an exemplary table illustrating one method for determining the likelihood that a program or file will be used during the low power mode;
- FIG. 11A illustrates a cache control module that includes a disk drive power reduction module;
- FIG. 11B illustrates an operating system that includes a disk drive power reduction module;
- FIG. 11C illustrates a host control module that includes a disk drive power reduction module;
- FIG. 12 illustrates steps performed by the disk drive power reduction modules of FIGs. 11A-11C;
- FIG. 13 illustrates a multi-disk drive system including a high-power disk drive (HPDD) and a lower power disk drive (LPDD);
- FiGs. 14-17 illustrate other exemplary implementations of the multi-disk drive system of FIG. 13;
- FIG. 18 illustrates the use of low power nonvolatile memory such as Flash memory or a low power disk drive (LPDD) for increasing virtual memory of a computer;
- FIGs. 19 and 20 illustrates steps performed by the operating system to allocate and use the virtual memory of FIG. 18;
- FIG. 21 is a functional block diagram of a Redundant Array of Independent Disks (RAID) system according to the prior art;
- FIG. 22A is a functional block diagram of an exemplary RAID system according to the present invention with a disk array including X HPDD and a disk array including Y LPDD;
- FIG. 22B is a functional block diagram of the RAID system of FIG. 22A where X and Y are equal to Z;
- FIG. 23A is a functional block diagram of another exemplary RAID system according to the present invention with a disk array including Y LPDD that communicates with a disk array including X HPDD;
- FIG. 23B is a functional block diagram of the RAID system of FIG. 23A where X and Y are equal to Z;
- FIG. 24A is a functional block diagram of still another exemplary RAID system according to the present invention with a disk array including X HPDD that communicate with a disk array including Y LPDD;
- FIG. 24B is a functional block diagram of the RAID system of FIG. 24A where X and Y are equal to Z;
- FIG. 25 is a functional block diagram of a network attachable storage (NAS) system according to the prior art; and
- FIG. 26 is a functional block diagram of a network attachable storage (NAS) system according to the present invention that includes the RAID system of FIGs. 22A, 22B, 23A, 23B, 24A, and/or 24B and/or a multi-drive system according to FIGs. 6-17.
- The following description of the preferred embodiment(s) is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses. For purposes of clarity, the same reference numbers will be used in the drawings to identify similar elements. As used herein, the term module refers to an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
- As used herein, data processing device refers to any system that includes a processor, memory and an input/output interface. Exemplary processing devices include but are not limited to desktop computers, laptops, personal media players, personal digital assistants, and notebooks, although still other types of processing devices are contemplated. As used herein, the term "high power mode" refers to active operation of the primary processor and/or the primary graphics processor of the processing device. The term "low power mode" refers to low-power hibernating modes, off modes, and/or non-responsive modes of the primary processor and/or primary graphics processor when a secondary processor and a secondary graphics processor are operable. An "off mode" refers to situations when both the primary and secondary processors are off.
- The term "low power disk drive" or LPDD refers to disk drives and/or microdrives having one or more platters that have a diameter that is less than or equal to 1.8". The term "high power disk drive" or HPDD refers to hard disk drives having one or more platters that have a diameter that is greater than 1.8". LPDDs typically have lower storage capacities and dissipate less power than the HPDDs. The LPDDs are also rotated at a higher speed than the HPDDs. For example, rotational speeds of 10,000 - 20,000 RPM or greater can be achieved with LPDDs.
- The computer architecture according to the present invention includes the primary processor, the primary graphics processor, and the primary memory (as described in conjunction with FIGs. 1A and 1B), which operate during the high power mode. A secondary processor and a secondary graphics processor are operated during the low power mode. The secondary processor and the secondary graphics processor may be connected to various components of the computer, as will be described below. Primary volatile memory may be used by the secondary processor and the secondary graphics processor during the low power mode. Altematively, secondary volatile memory, such as DRAM and/or embedded secondary volatile memory such as embedded DRAM can be used, as will be described below.
- The primary processor and the primary graphics processor dissipate relatively high power when operating in the high power mode. The primary processor and the primary graphics processor execute a full-featured operating system (OS) that requires a relatively large amount of external memory. The primary processor and the primary graphics processor support high performance operation including complex computations and advanced graphics. The full-featured OS can be a Windows®-based OS such as Windows XP®, a Linux-based OS, a MAC®-based OS and the like. The full-featured OS is stored in the
HPDD 15 and/or 50. - The secondary processor and the secondary graphics processor dissipate less power (than the primary processor and primary graphics processor) during the low power mode. The secondary processor and the secondary graphics processor operate a restricted-feature operating system (OS) that requires a relatively small amount of external volatile memory. The secondary processor and secondary graphics processor may also use the same OS as the primary processor. For example, a pared-down version of the full-featured OS may be used. The secondary processor and the secondary graphics processor support lower performance operation, a lower computation rate and less advanced graphics. For example, the restricted-feature OS can be Windows CE® or any other suitable restricted-feature OS. The restricted-feature OS is preferably stored in nonvolatile memory such as Flash memory and/or a LPDD. In a preferred embodiment, the full-featured and restricted-feature OS share a common data format to reduce complexity.
- The primary processor and/or the primary graphics processor preferably include transistors that are implemented using a fabrication process with a relatively small feature size. In one implementation, these transistors are implemented using an advanced CMOS fabrication process. Transistors implemented in the primary processor and/or primary graphics processor have relatively high standby leakage, relatively short channels and are sized for high speed. The primary processor and the primary graphics processor preferably employ predominantly dynamic logic. In other words, they cannot be shut down. The transistors are switched at a duty cycle that is less than approximately 20% and preferably less than approximately 10%. although other duty cycles may be used.
- In contrast, the secondary processor and/or the secondary graphics processor preferably include transistors that are implemented with a fabrication process having larger feature sizes than the process used for the primary processor and/or primary graphics processor. In one implementation, these transistors are Implemented using a regular CMOS fabrication process. The transistors implemented in the secondary processor and/or the secondary graphics processor have relatively low standby leakage, relatively long channels and are sized for low power dissipation. The secondary processor and the secondary graphics processor preferably employ predominantly static logic rather than dynamic logic. The transistors are switched at a duty cycle that is greater than 80% and preferably greater than 90%, although other duty cycles may be used.
- The primary processor and the primary graphics processor dissipate relatively high power when operated in the high power mode. The secondary processor and the secondary graphics processor dissipate less power when operating in the low power mode. In the low power mode, however, the computer architecture is capable of supporting fewer features and computations and less complex graphics than when operating in the high power mode. As can be appreciated by skilled artisans, there are many ways of implementing the computer architecture according to the present invention. Therefore, skilled artisans will appreciate that the architectures that are described below in conjunction with FIGs. 2A-4C are merely exemplary in nature and are not limiting.
- Referring now to FIG. 2A, a first
exemplary computer architecture 60 is shown. Theprimary processor 6, the volatile memory 9 and theprimary graphics processor 11 communicate with theinterface 8 and support complex data and graphics processing during the high power mode. Asecondary processor 62 and asecondary graphics processor 64 communicate with theinterface 8 and support less complex data and graphics processing during the low power mode. Optionalnonvolatile memory 65 such as aLPDD 66 and/orFlash memory 68 communicates with theinterface 8 and provides low power nonvolatile storage of data during the low power and/or high power modes. TheHPDD 15 provides high power/capacity nonvolatile memory. Thenonvolatile memory 65 and/or theHPDD 15 are used to store the restricted feature OS and/or other data and files during the low power mode. - In this embodiment, the
secondary processor 62 and thesecondary graphics processor 64 employ the volatile memory 9 (or primary memory) while operating in the low-power mode. To that end, at least part of theinterface 8 is powered during the low power mode to support communications with the primary memory and/or communications between components that are powered during the low power mode. For example, thekeyboard 13, thepointing device 14 and theprimary display 16 may be powered and used during the low power mode. In all of the embodiments described in conjunction with FIGs. 2A-4C, a secondary display with reduced capabilities (such as a monochrome display) and/or a secondary input/output device can also be provided and used during the low power mode. - Referring now to FIG. 2B, a second
exemplary computer architecture 70 that is similar to the architecture in FIG. 2A is shown. In this embodiment, thesecondary processor 62 and thesecondary graphics processor 64 communicate with secondary volatile memory 74 and/or 76. The secondaryvolatile memory 74 and 76 can be DRAM or other suitable memory. During the low power mode, thesecondary processor 62 and thesecondary graphics processor 64 utilize the secondary volatile memory 74 and/or 76, respectively, in addition to and/or instead of the primary volatile memory 9 shown and described in FIG. 2A. - Referring now to FIG. 2C, a third
exemplary computer architecture 80 that is similar to FIG. 2A is shown. Thesecondary processor 62 and/orsecondary graphics processor 64 include embeddedvolatile memory secondary processor 62 and thesecondary graphics processor 64 utilize the embeddedvolatile memory 84 and/or 86, respectively, in addition to and/or instead of the primary volatile memory. In one embodiment, the embeddedvolatile memory - Referring now to FIG. 3A, a fourth
exemplary computer architecture 100 according to the present invention is shown. Theprimary processor 25, theprimary graphics processor 26, and the primaryvolatile memory 28 communicate with theprocessing chipset 22 and support complex data and graphics processing during the high power mode. Asecondary processor 104 and asecondary graphics processor 108 support less complex data and graphics processing when the computer is in the low power mode. In this embodiment, thesecondary processor 104 and thesecondary graphics processor 108 employ the primaryvolatile memory 28 while operating in the low power mode. To that end, theprocessing chipset 22 may be fully and/or partially powered during the low power mode to facilitate communications therebetween. TheHPDD 50 may be powered during the low power mode to provide high power volatile memory. Low power nonvolative memory 109 (LPDD 110 and/or Flash memory 112) is connected to theprocessing chipset 22, the I/O chipset 24 or in another location and stores the restricted-feature operating system for the low power mode. - The
processing chipset 22 may be fully and/or partially powered to support operation of theHPDD 50, theLPDD 110, and/or other components that will be used during the low power mode. For example, the keyboard and/orpointing device 42 and the primary display may be used during the low power mode. - Referring now to FIG. 3B, a fifth
exemplary computer architecture 150 that is similar to FIG. 3A is shown. Secondaryvolatile memory secondary processor 104 and/orsecondary graphics processor 108, respectively. During the low power mode, thesecondary processor 104 and thesecondary graphics processor 108 utilize the secondaryvolatile memory volatile memory 28. Theprocessing chipset 22 and the primaryvolatile memory 28 can be shut down during the low power mode if desired. The secondaryvolatile memory - Referring now to FIG. 3C, a sixth
exemplary computer architecture 170 that is similar to FIG. 3A is shown. Thesecondary processor 104 and/orsecondary graphics processor 108 include embeddedmemory secondary processor 104 and thesecondary graphics processor 108 utilize the embeddedmemory volatile memory 28. In one embodiment, the embeddedvolatile memory - Referring now to FIG. 4A, a seventh
exemplary computer architecture 190 according to the present invention is shown. Thesecondary processor 104 and thesecondary graphics processor 108 communicate with the I/O chipset 24 and employ the primaryvolatile memory 28 as volatile memory during the low power mode. Theprocessing chipset 22 remains fully and/or partially powered to allow access to the primaryvolatile memory 28 during the low power mode. - Referring now to FIG. 4B, an eighth
exemplary computer architecture 200 that is similar to FIG. 4A is shown. Secondaryvolatile memory secondary processor 104 and thesecondary graphics processor 108, respectively, and is used instead of and/or in addition to the primaryvolatile memory 28 during the low power mode. Theprocessing chipset 22 and the primaryvolatile memory 28 can be shut down during the low power mode. - Referring now to FIG. 4C, a ninth
exemplary computer architecture 210 that is similar to FIG. 4A is shown. Embeddedvolatile memory secondary processor 104 and/or thesecondary graphics processor 108, respectively in addition to and/or instead of the primaryvolatile memory 28. In this embodiment, theprocessing chipset 22 and the primaryvolatile memory 28 can be shut down during the low power mode. - Referring now to FIG. 5, a
caching hierarchy 250 for the computer architectures illustrated in FIGs. 2A-4C is shown. The HPnonvolatile memory HPDD 50 is located at alowest level 254 of thecaching hierarchy 250.Level 254 may or may not be used during the low power mode if theHPDD 50 is disabled and will be used if theHPDD 50 is enabled during the low power mode. The LP nonvolatile memory such asLPDD 110 and/orFlash memory 112 is located at anext level 258 of thecaching hierarchy 250. External volatile memory such as primary volatile memory, secondary volatile memory and/or secondary embedded memory is anext level 262 of thecaching hierarchy 250, depending upon the configuration. Level 2 or secondary cache comprises anext level 266 of thecaching hierarchy 250.Level 1 cache is anext level 268 of thecaching hierarchy 250. The CPU (primary and/or secondary) is alast level 270 of the caching hierarchy. The primary and secondary graphics processor use a similar hierarchy. - The computer architecture according to the present invention provides a low power mode that supports less complex processing and graphics. As a result, the power dissipation of the computer can be reduced significantly. For laptop applications, battery life is extended.
- Referring now to FIG. 6, a
drive control module 300 or host control module for a multi-disk drive system includes a least used block (LUB)module 304, anadaptive storage module 306, and/or aLPDD maintenance module 308. Thedrive control module 300 controls storage and data transfer between a high-powered disk drive (HPDD) 310 such as a hard disk drive and a low-power disk drive (LPDD) 312 such as a microdrive based in part on LUB information. Thedrive control module 300 reduces power consumption by managing data storage and transfer between the HPDD and LPDD during the high and low power modes. - The least
used block module 304 keeps track of the least used block of data in theLPDD 312. During the low-power mode, the leastused block module 304 identifies the least used block of data (such as files and/or programs) in theLPDD 312 so that it can be replaced when needed. Certain data blocks or files may be exempted from the least used block monitoring such as files that relate to the restricted-feature operating system only, blocks that are manually set to be stored in theLPDD 312, and/or other files and programs that are operated during the low power mode only. Still other criteria may be used to select data blocks to be overwritten, as will be described below. - During the low power mode during a data storing request the
adaptive storage module 306 determines whether write data is more likely to be used before the least used blocks. Theadaptive storage module 306 also determines whether read data is likely to be used only once during the low power mode during a data retrieval request. TheLPDD maintenance module 308 transfers aged data from the LPDD to the HPDD during the high power mode and/or in other situations as will be described below. - Referring now to FIG. 7A, steps performed by the
drive control module 300 are shown. Control begins instep 320. Instep 324, thedrive control module 300 determines whether there is a data storing request. Ifstep 324 is true, thedrive control module 300 determines whether there is sufficient space available on theLPDD 312 instep 328. If not, thedrive control module 300 powers theHPDD 310 instep 330. Instep 334, thedrive control module 300 transfers the least used data block to theHPDD 310. Instep 336, thedrive control module 300 determines whether there is sufficient space available on theLPDD 312. If not, control loops to step 334. Otherwise, thedrive control module 300 continues withstep 340 and turns off theHPDD 310. Instep 344, data to be stored (e.g. from the host) is transferred to theLPDD 312. - If
step 324 is false, thedrive control module 300 continues withstep 350 and determines whether there is a data retrieving request. If not, control returns to step 324. Otherwise, control continues withstep 354 and determines whether the data is located in theLPDD 312. Ifstep 354 is true, thedrive control module 300 retrieves the data from theLPDD 312 instep 356 and continues withstep 324. Otherwise, thedrive control module 300 powers theHPDD 310 instep 360. Instep 364, thedrive control module 300 determines whether there is sufficient space available on theLPDD 312 for the requested data. If not, thedrive control module 300 transfers the least used data block to theHPDD 310 instep 366 and continues withstep 364. Whenstep 364 is true, thedrive control module 300 transfers data to theLPDD 312 and retrieves data from theLPDD 312 instep 368. Instep 370, control turns off theHPDD 310 when the transfer of the data to theLPDD 312 is complete. - Referring now to FIG. 7B, a modified approach that is similar to that shown in FIG. 7A is used and includes one or more adaptive steps performed by the
adaptive storage module 306. When there is sufficient space available on the LPDD instep 328, control determines whether the data to be stored is likely to be used before the data in the least used block or blocks that are identified by the least used block module instep 372. Ifstep 372 is false, thedrive control module 300 stores the data on the HPDD instep 374 and control continues withstep 324. By doing so, the power that is consumed to transfer the least used block(s) to the LPDD is saved. Ifstep 372 is true, control continues withstep 330 as described above with respect to FIG. 7A. - When
step 354 is false during a data retrieval request, control continues withstep 376 and determines whether data is likely to be used once. Ifstep 376 is true, thedrive control module 300 retrieves the data from the HPDD instep 378 and continues withstep 324. By doing so, the power that would be consumed to transfer the data to the LPDD is saved. Ifstep 376 is false, control continues withstep 360. As can be appreciated, if the data is likely to be used once, there is no need to move the data to the LPDD. The power dissipation of the HPDD, however, cannot be avoided. - Referring now to FIG. 7C, a more simplified form of control can also be performed during low power operation. Maintenance steps can also be performed during high power and/or low power modes (using the LPDD maintenance module 308). In
step 328, when there is sufficient space available on the LPDD, the data is transferred to the LPDD instep 344 and control returns to step 324. Otherwise, whenstep 328 is false, the data is stored on the HPDD instep 380 and control returns to step 324. As can be appreciated, the approach illustrated in FIG. 7C uses the LPDD when capacity is available and uses the HPDD when LPDD capacity is not available. Skilled artisans will appreciate that hybrid methods may be employed using various combinations of the steps of FIGs. 7A-7D. - In FIG. 7D, maintenance steps are performed by the
drive control module 300 upon returning to the high power mode and/or at other times to delete unused or low use files that are stored on the LPDD. This maintenance step can also be performed in the low power mode, periodically during use, upon the occurrence of an event such as a disk full event, and/or in other situations. Control begins instep 390. Instep 392, control determines whether the high power mode is in use. If not, control loops back to step 7D. Ifstep 392 is true, control determines whether the last mode was the low power mode instep 394. If not, control returns to step 392. Ifstep 394 is false, control performs maintenance such as moving aged or low use files from the LPDD to the HPDD instep 396. Adaptive decisions may also be made as to which files are likely to be used in the future, for example using criteria described above and below in conjunction with FIGs. 8A-10. - Referring now to FIGs. 8A and 8B, storage control systems 400-1, 400-2 and 400-3 are shown. In FIG. 8A, the storage control system 400-1 includes a
cache control module 410 with an adaptivestorage control module 414. The adaptivestorage control module 414 monitors usage of files and/or programs to determine whether they are likely to be used in the low power mode or the high power mode. Thecache control module 410 communicates with one ormore data buses 416, which in turn, communicate withvolatile memory 422 such as L1 cache, L2 cache, volatile RAM such as DRAM and/or other volatile electronic data storage. Thebuses 416 also communicate with low power nonvolatile memory 424 (such as Flash memory and/or a LPDD) and/or high powernonvolatile memory 426 such as aHPDD 426. In FIG. 8B, a full-featured and/or restrictedfeature operating system 430 is shown to include the adaptivestorage control module 414. Suitable interfaces and/or controllers (not shown) are located between the data bus and the HPDD and/or LPDD. - In FIG. 8C, a
host control module 440 includes the adaptivestorage control module 414. Thehost control module 440 communicates with a LPDD 426' and a hard disk drive 426'. Thehost control module 440 can be a drive control module, an Integrated Device Electronics (IDE), ATA, serial ATA (SATA) or other controller. - Referring now to FIG. 9, steps performed by the storage control systems in FIGs. 8A-8C are shown. In FIG. 9, control begins with
step 460. Instep 462, control determines whether there is a request for data storage to nonvolatile memory. If not, control loops back tostep 462. Otherwise, the adaptivestorage control module 414 determines whether data is likely to be used in the low-power mode instep 464. Ifstep 464 is false, data is stored in the HPDD instep 468. Ifstep 464 is true, the data is stored in the nonvolatile memory 444 instep 474. - Referring now to FIG. 10, one way of determining whether a data block is likely to be used in the low-power mode is shown. A table 490 includes a data
block descriptor field 492, a low-power counter field 493, a high-power counter field 494, asize field 495, alast use field 496 and/or amanual override field 497. When a particular program or file is used during the low-power or high-power modes, thecounter field 493 and/or 494 is incremented. When data storage of the program or file is required to nonvolatile memory, the table 492 is accessed. A threshold percentage and/or count value may be used for evaluation. For example, if a file or program is used greater than 80 percent of the time in the low-power mode, the file may be stored in the low-power nonvolatile memory such as flash memory and/or the microdrive. If the threshold is not met, the file or program is stored in the high-power nonvolatile memory. - As can be appreciated, the counters can be reset periodically, after a predetermined number of samples (in other words to provide a rolling window), and/or using any other criteria. Furthermore, the likelihood may be weighted, otherwise modified, and/or replaced by the
size field 495. In other words, as the file size grows, the required threshold may be increased because of the limited capacity of the LPDD. - Further modification of the likelihood of use decision may be made on the basis of the time since the file was last used as recorded by the
last use field 496. A threshold date may be used and/or the time since last use may be used as one factor in the likelihood determination. While a table is shown in FIG. 10, one or more of the fields that are used may be stored in other locations and/or in other data structures. An algorithm and/or weighted sampling of two or more fields may be used. - Using the
manual override field 497 allows a user and/or the operating system to manually override of the likelihood of use determination. For example, the manual override field may allow an L status for default storage in the LPDD, an H status for default storage in the HPDD and/or an A status for automatic storage decisions (as described above). Other manual override classifications may be defined. In addition to the above criteria, the current power level of the computer operating in the LPDD may be used to adjust the decision. Skilled artisans will appreciate that there are other methods for determining the likelihood that a file or program will be used in the high-power or low-power modes that fall within the teachings of the present invention. - Referring now to FIGs. 11A and 11B, drive power reduction systems 500-1, 500-2 and 500-3 (collectively 500) are shown. The drive power reduction system 500 bursts segments of a larger sequential access file such as but not limited audio and/or video files to the low power nonvolatile memory on a periodic or other basis. In FIG. 11A, the drive power reduction system 500-1 includes a
cache control module 520 with a drive powerreduction control module 522. Thecache control module 520 communicates with one ormore data buses 526, which in tum, communicate withvolatile memory 530 such as L1 cache, L2 cache, volatile RAM such as DRAM and/or other volatile electronic data storage,nonvolatile memory 534 such as Flash memory and/or a LPDD, and aHPDD 538. In FIG. 11B, the drive power reduction system 500-2 includes a full-featured and/or restrictedfeature operating system 542 with a drive powerreduction control module 522. Suitable interfaces and/or controllers (not shown) are located between the data bus and the HPDD and/or LPDD. - In FIG. 11C, the drive power reduction system 500-3 includes a
host control module 560 with an adaptivestorage control module 522. Thehost control module 560 communicates with one or more data buses 564, which communicate with the LPDD 534' and the hard disk drive 538'. Thehost control module 560 can be a drive control module, an Integrated Device Electronics (IDE), ATA, serial ATA (SATA) and/or other controller or interface. - Referring now to FIG. 12, steps performed by the drive power reduction systems 500 in FIGs. 11A-11C are shown. Control begins the
step 582. Instep 584, control determines whether the system is in a low-power mode. If not, control loops back tostep 584. Ifstep 586 is true, control continues withstep 586 where control determines whether a large data block access is typically requested from the HPDD instep 586. If not, control loops back tostep 584. Ifstep 586 is true, control continues withstep 590 and determines whether the data block is accessed sequentially. If not, control loops back to 584. Ifstep 590 is true, control continues withstep 594 and determines the playback length. Instep 598, control determines a burst period and frequency for data transfer from the high power nonvolatile memory to the low power nonvolatile memory. - In one implementation, the burst period and frequency are optimized to reduce power consumption. The burst period and frequency are preferably based upon the spin-up time of the HPDD and/or the LPDD, the capacity of the nonvolatile memory, the playback rate, the spin-up and steady state power consumption of the HPDD and/or LPDD, and/or the playback length of the sequential data block.
- For example, the high power nonvolatile memory is a HPDD that consumes 1-2W during operation, has a spin-up time of 4-10 seconds and a capacity that is typically greater than 20Gb. The low power nonvolatile memory is a microdrive that consumes 0.3-0.5W during operation, has a spin-up time of 1-3 seconds, and a capacity of 1-6Gb. As can be appreciated, the forgoing performance values and/or capacities will vary for other implementations. The HPDD may have a data transfer rate of 1Gb/s to the microdrive. The playback rate may be 10Mb/s (for example for video files). As can be appreciated, the burst period times the transfer rate of the HPDD should not exceed the capacity of the microdrive. The period between bursts should be greater than the spin-up time plus the burst period. Within these parameters, the power consumption of the system can be optimized. In the low power mode, if the HPDD is operated to play an entire video such as a movie, a significant amount of power is consumed. Using the method described above, the power dissipation can be reduced significantly by selectively transferring the data from the HPDD to the LPDD in multiple burst segments spaced at fixed intervals at a very high rate (e.g., 100X the playback rate) and then the HPDD can be shut down. Power savings that are greater than 50% can easily be achieved.
- Referring now to FIG. 13, a
multi-disk drive system 640 according to the present invention is shown to include adrive control module 650 and one ormore HPDD 644 and one ormore LPDD 648. Thedrive control module 650 communicates with a processing device viahost control module 651. To the host, themulti-disk drive system 640 effectively operates theHPDD 644 andLPDD 648 as a unitary disk drive to reduce complexity, improve performance and decrease power consumption, as will be described below. Thehost control module 651 can be an IDE, ATA, SATA and/or other control module or interface. - Referring now to FIG. 14, in one implementation the
drive control module 650 includes a hard disk controller (HDC) 653 that is used to control one or both of the LPDD and/or HPDD. Abuffer 656 stores data that is associated the control of the HPDD and/or LPDD and/or aggressively buffers data to/from the HPDD and/or LPDD to increase data transfer rates by optimizing data block sizes. Aprocessor 657 performs processing that is related to the operation of the HPDD and/or LPDD. - The
HPDD 648 includes one ormore platters 652 having a magnetic coating that stores magnetic fields. Theplatters 652 are rotated by a spindle motor that is schematically shown at 654. Generally thespindle motor 654 rotates theplatter 652 at a fixed speed during the read/write operations. One or more read/writearms 658 move relative to theplatters 652 to read and/or write data to/from theplatters 652. Since theHPDD 648 has larger platters than the LPDD, more power is required by thespindle motor 654 to spin-up the HPDD and to maintain the HPDD at speed. Usually, the spin-up time is higher for HPDD as well. - A read/
write device 659 is located near a distal end of the read/write arm 658. The read/write device 659 includes a write element such as an inductor that generates a magnetic field. The read/write device 659 also includes a read element (such as a magneto-resistive (MR) element) that senses the magnetic field on theplatter 652. Apreamp circuit 660 amplifies analog read/write signals. - When reading data, the
preamp circuit 660 amplifies low level signals from the read element and outputs the amplified signal to the read/write channel device. While writing data, a write current is generated which flows through the write element of the read/write device 659 and is switched to produce a magnetic field having a positive or negative polarity. The positive or negative polarity is stored by theplatter 652 and is used to represent data. TheLPDD 644 also includes one ormore platters 662, aspindle motor 664, one or more read/writearms 668, a read/write device 669, and apreamp circuit 670. - The
HDC 653 communicates with thehost control module 651 and with a first spindle/voice coil motor (VCM)driver 672, a first read/write channel circuit 674, a second spindle/VCM driver 676, and a second read/write channel circuit 678. Thehost control module 651 and thedrive control module 650 can be implemented by a system on chip (SOC) 684. As can be appreciated, thespindle VCM drivers write channel circuits VCM drivers spindle motors platters VCM drivers arms - Referring now to FIGs. 15-17, other variations of the multi-disk drive system are shown. In FIG. 15, the
drive control module 650 may include adirect interface 680 for providing an external connection to one ormore LPDD 682. In one implementation, the direct interface is a Peripheral Component Interconnect (PCI) bus, a PCI Express (PCIX) bus, and/or any other suitable bus or interface. - In FIG. 16, the
host control module 651 communicates with both theLPDD 644 and theHPDD 648. A low power drive control module 650LP and a high power disk drive control module 650HP communicate directly with the host control module. Zero, one or both of the LP and/or the HP drive control modules can be implemented as a SOC. - In FIG. 17, one
exemplary LPDD 682 is shown to include an interface 690 that supports communications with thedirect interface 680. As set forth above, theinterfaces 680 and 690 can be a Peripheral Component Interconnect (PCI) bus, a PCI Express (PCIX) bus, and/or any other suitable bus or interface. TheLPDD 682 includes anHDC 692, abuffer 694 and/or aprocessor 696. TheLPDD 682 also includes the spindle/VCM driver 676, the read/write channel circuit 678, theplatter 662, the spindle motor 665, the read/write arm 668, theread element 669, and thepreamp 670, as described above. Alternately, theHDC 653, thebuffer 656 and theprocessor 658 can be combined and used for both drives. Likewise the spindle/VCM driver and read channel circuits can optionally be combined. In the embodiments in FIGs. 13-17, aggressive buffering of the LPDD is used to increase performance. For example, the buffers are used to optimize data block sizes for optimum speed over host data buses. - In conventional computer systems, a paging file is a hidden file on the HPDD or HP nonvolatile memory that is used by the operating system to hold parts of programs and/or data files that do not fit in the volatile memory of the computer. The paging file and physical memory, or RAM, define virtual memory of the computer. The operating system transfers data from the paging file to memory as needed and returns data from the volatile memory to the paging file to make room for new data. The paging file is also called a swap file.
- Referring now to FIGs. 18-20, the present invention utilizes the LP nonvolatile memory such as the LPDD and/or flash memory to increase the virtual memory of the computer system. In FIG. 18, an
operating system 700 allows a user to definevirtual memory 702. During operation, theoperating system 700 addresses thevirtual memory 702 via one ormore buses 704. Thevirtual memory 702 includes bothvolatile memory 708 and LPnonvolatile memory 710 such as Flash memory and/or a LPDD. - Referring now to FIG. 19, the operating system allows a user to allocate some or all of the LP
nonvolatile memory 710 as paging memory to increase virtual memory. Instep 720, control begins. Instep 724, the operating system determines whether additional paging memory is requested, If not, control loops back tostep 724. Otherwise, the operating system allocates part of the LP nonvolatile memory for paging file use to increase the virtual memory instep 728. - In FIG. 20, the operating system employs the additional LP nonvolatile memory as paging memory. Control begins in
step 740. Instep 744, control determines whether the operating system is requesting a data write operation. If true, control continues withstep 748 and determines whether the capacity of the volatile memory is exceeded. If not, the volatile memory is used for the write operation instep 750. Ifstep 748 is true, data is stored in the paging file in the LP nonvolatile memory instep 754. Ifstep 744 is false, control continues withstep 760 and determines whether a data read is requested. If false, control loops back tostep 744. Othervvise, control determines whether the address corresponds to a RAM address instep 764. Ifstep 764 is true, control reads data from the volatile memory instep 764 and continues withstep 744. Ifstep 764 is false, control reads data from the paging file in the LP nonvolatile memory instep 770 and control continues withstep 744. - As can be appreciated, using LP nonvolatile memory such as Flash memory and/or the LPDD to increase the size of virtual memory will increase the performance of the computer as compared to systems employing the HPDD. Furthermore, the power consumption will be lower than systems using the HPDD for the paging file. The HPDD requires additional spin-up time due to its increased size, which increases data access times as compared to the Flash memory, which has no spin-up latency, and/or the LPDD, which has a shorter spin-up time and lower power dissipation.
- Referring now to FIG. 21, a Redundant Array of Independent Disks (RAID)
system 800 is shown to include one or more servers and/orclients 804 that communicate with adisk array 808. The one or more servers and/orclients 804 include adisk array controller 812 and/or anarray management module 814. Thedisk array controller 812 and/or thearray management module 814 receive data and perform logical to physical address mapping of the data to thedisk array 808. The disk array typically includes a plurality ofHPDD 816. - The
multiple HPDDs 816 provide fault tolerance (redundancy) and/or improved data access rates. TheRAID system 800 provides a method of accessing multiple individual HPDDs as if thedisk array 808 is one large hard disk drive. Collectively, thedisk array 808 may provide hundreds of Gb to 10's to 100's of Tb of data storage. Data is stored in various ways on themultiple HPDDs 816 to reduce the risk of losing all of the data if one drive fails and to improve data access time. - The method of storing the data on the
HPDDs 816 is typically called a RAID level. There are various RAID levels includingRAID level 0 or disk striping. InRAID level 0 systems, data is written in blocks across multiple drives to allow one drive to write or read a data block while the next is seeking the next block. The advantages of disk striping include the higher access rate and full utilization of the array capacity. The disadvantage is there is no fault tolerance. If one drive fails, the entire contents of the array become inaccessible. -
RAID level 1 or disk mirroring provides redundancy by writing twice - once to each drive. If one drive fails, the other contains an exact duplicate of the data and the RAID system can switch to using the mirror drive with no lapse in user accessibility. The disadvantages include a lack of improvement in data access speed and higher cost due to the Increased number of drives (2N) that are required. However,RAID level 1 provides the best protection of data since the array management software will simply direct all application requests to the surviving HPDDs when one of the HPDDs fails. - RAID level 3 stripes data across multiple drives with an additional drive dedicated to parity, for error correction/recovery. RAID level 5 provides striping as well as parity for error recovery. In RAID level 5, the parity block is distributed among the drives of the array, which provides more balanced access load across the drives. The parity information is used to recovery data if one drive fails. The disadvantage is a relatively slow write cycle (2 reads and 2 writes are required for each block written). The array capacity is N-1, with a minimum of 3 drives required.
-
RAID level 0+1 involves stripping and mirroring without parity. The advantages are fast data access (like RAID level 0), and single drive fault tolerance (like RAID level 1).RAID level 0+1 still requires twice the number of disks (like RAID level 1). As can be appreciated, there can be other RAID levels and/or methods for storing the data on thearray 808. - Referring now to FIGs. 22A and 22B, a RAID system 834-1 according to the present invention includes a
disk array 836 that includes X HPDD and adisk array 838 that includes Y LPDD. One or more clients and/or aservers 840 include adisk array controller 842 and/or anarray management module 844. Whileseparate devices - Referring now to FIGs. 23A, 23B, 24A and 24B, RAID systems 834-2 and 834-3 are shown. In FIG. 23A, the
LPDD disk array 838 communicates with the servers/clients 840 and theHPDD disk array 836 communicates with theLPDD disk array 838. The RAID system 834-2 may include a management bypass path that selectively circumvents theLPDD disk array 838. As can be appreciated, X is greater than or equal to 2 and Y is greater than or equal to 1. X can be greater than Y, less than Y and/or equal to Y. For example, FIG. 23B shows a RAID system 834-2' case where X = Y = Z. In FIG. 24A, theHPDD disk array 836 communicates with the servers/clients 840 and theLPDD disk array 838 communicates with theHPDD disk array 836. The RAID system 834-2 may include a management bypass path shown by dottedline 846 that selectively circumvents theLPDD disk array 838. As can be appreciated, X is greater than or equal to 2 and Y is greater than or equal to 1. X can be greater than Y, less than Y and/or equal to Y. For example, FIG. 24B shows a RAID system 834-3' where X = Y = Z. The strategy employed may include write through and/or write back in FIGs. 23A-24B. - The
array management module 844 and/or thedisk controller 842 utilizes theLPDD disk array 838 to reduce power consumption of theHPDD disk array 836. Typically, theHPDD disk array 808 in the conventional RAID system in FIG. 21 is kept on at all times during operation to support the required data access times. As can be appreciated, theHPDD disk array 808 dissipates a relatively high amount of power. Furthermore, since a large amount of data is stored in theHPDD disk array 808, the platters of the HPDDs are typically as large as possible, which requires higher capacity spindle motors and increases the data access times since the read/write arms move further on average. - According to the present invention, the techniques that are described above in conjunction with FIGs. 6-17 are selectively employed in the
RAID system 834 as shown in FIG. 22B to reduce power consumption and data access times. While not shown in FIGs. 22A and 23A-24B, the other RAID systems according to the present invention may also use these techniques. In other words, theLUB module 304,adaptive storage module 306 and/or the LPDD maintenance module that are described in FIGs. 6 and 7A-7D are selectively implemented by thedisk array controller 842 and/or thearray management controller 844 to selectively store data on theLPDD disk array 838 to reduce power consumption and data access times. The adaptivestorage control module 414 that is described in FIGs. 8A-8C, 9 and 10 may also be selectively implemented by thedisk array controller 842 and/or thearray management controller 844 to reduce power consumption and data access times. The drivepower reduction module 522 that is described FIGs. 11A-11C and 12 may also be implemented by thedisk array controller 842 and/or thearray management controller 844 to reduce power consumption and data access times. Furthermore, the multi-drive systems and/or direct interfaces that are shown in FIGs. 13-17 may be implemented with one or more of the HPDD in theHPDD disk array 836 to increase functionality and to reduce power consumption and access times. - Referring now to FIG. 25, a network attached storage (NAS)
system 850 according to the prior art is shown to includestorage devices 854,storage requesters 858, afile server 862, and acommunications system 866. Thestorage devices 854 typically include disc drives, RAID systems, tape drives, tape libraries, optical drives, jukeboxes, and any other storage devices to be shared. Thestorage devices 854 are preferably but not necessarily object oriented devices. Thestorage devices 854 may include an I/O interface for data storage and retrieval by therequesters 858. Therequesters 858 typically include servers and/or clients that share and/or directly access thestorage devices 854. - The
file server 862 performs management and security functions such as request authentication and resource location. Thestorage devices 854 depend on thefile server 862 for management direction, while therequesters 858 are relieved of storage management to the extent thefile server 862 assumes that responsibility. In smaller systems, a dedicated file server may not be desirable. In this situation, a requester may take on the responsibility for overseeing the operation of theNAS system 850. As such, both thefile server 862 and therequester 858 are shown to includemanagement modules communications system 866 is the physical infrastructure through which components of theNAS system 850 communicate. It preferably has properties of both networks and channels, has the ability to connect all components in the networks and the low latency that is typically found in a channel. - When the
NAS system 850 is powered up, thestorage devices 854 identify themselves either to each other or to a common point of reference, such as thefile server 862, one or more of therequesters 858 and/or to thecommunications system 866. Thecommunications system 866 typically offers network management techniques to be used for this, which are accessible by connecting to a medium associated with the communications system. Thestorage devices 854 andrequesters 858 log onto the medium. Any component wanting to determine the operating configuration can use medium services to identify all other components. From thefile server 862, therequesters 858 learn of the existence of thestorage devices 854 they could have access to, while thestorage devices 854 leam where to go when they need to locate another device or invoke a management service like backup. Similarly thefile server 862 can leam of the existence ofstorage devices 854 from the medium services. Depending on the security of a particular installation, a requester may be denied access to some equipment. From the set of accessible storage devices, it can then identify the files, databases, and free space available. - At the same time, each NAS component can identify to the
file server 862 any special considerations it would like known. Any device level service attributes could be communicated once to thefile server 862, where all other components could learn of them. For instance, a requester may wish to be informed of the introduction of additional storage subsequent to startup, this being triggered by an attribute set when the requester logs onto thefile server 862. Thefile server 862 could do this automatically whenever new storage devices are added to the configuration, including conveying important characteristics, such as it being RAID 5, mirrored, and so on. - When a requester must open a file, it may be able to go directly to the
storage devices 854 or it may have to go to the file server for permission and location information. To what extent thefile server 854 controls access to storage is a function of the security requirements of the installation. - Referring now to FIG. 26, a network attached storage (NAS)
system 900 according to the present invention is shown to includestorage devices 904,requesters 908, afile server 912, and acommunications system 916. Thestorage devices 904 include theRAID system 834 and/ormulti-disk drive systems 930 described above in FIGs. 6-19. Thestorage devices 904 may also include disc drives, RAID systems, tape drives, tape libraries, optical drives, jukeboxes, and/or any other storage devices to be shared as described above. As can be appreciated, using the improved RAID systems and/ormulti-disk drive systems 930 will reduce the power consumption and data access times of theNAS system 900. - Those skilled in the art can now appreciate from the foregoing description that the broad teachings of the present invention can be implemented in a variety of forms. Therefore, while this invention has been described in connection with particular examples thereof, the true scope of the invention should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, the specification and the following claims.
-
-
Embodiment 1. A processing device, comprising: - a primary processor that consumes power at a first rate and that is operated when said computer is in an high power mode; and
- a secondary processor that consumes power at a second rate that is less than said first rate and that is operated when said computer is in said low power mode.
- Embodiment 2. The processing device of
Embodiment 1 wherein said primary processor is fabricated using a first process and said secondary processor is fabricated using a second process, wherein said first process has smaller feature sizes than said second process. - Embodiment 3. The processing device of
Embodiment 1 further comprising: - a primary graphics processor that communicates with said primary processor and that is operated when said computer is in said high power mode, wherein said primary processor and said primary graphics processor are not operated when said computer is in said low power mode; and
- a secondary graphics processor that communicates with said secondary processor and that is operated during said low power mode.
- Embodiment 4. The processing device of
Embodiment 1 further comprising primary volatile memory that communicates with said primary processor during said high power mode and with said secondary processor during said low power mode. - Embodiment 5. The processing device of
Embodiment 1 further comprising: - primary volatile memory that communicates with said primary processor during said high power mode; and
- secondary volatile memory that communicates with said secondary processor during said low power mode.
-
Embodiment 6. The processing device ofEmbodiment 1 further comprising: - primary volatile memory that communicates with said primary processor during said high power mode; and
- secondary volatile memory that is embedded in said secondary processor.
-
Embodiment 7. The processing device ofEmbodiment 1 wherein transistors of said primary processor are operated at less than approximately 20% duty cycle and transistors of said secondary processor are operated at greater than approximately 80% duty cycle. -
Embodiment 8. The processing device ofEmbodiment 1 wherein said primary processor executes a full-featured operating system during said high power mode and said secondary processor executes a restricted-feature operating system during said low power mode. - Embodiment 9. The processing device of
Embodiment 1 further comprising: - low power (LP) nonvolatile memory that communicates with said secondary processor and that stores a restricted-feature operating system that is executed by said secondary processor during said low power mode; and
- high power (HP) nonvolatile memory that communicates with said primary processor and that stores a full-featured operating system that is executed by said primary processor during said high power mode.
-
Embodiment 10. The processing device of Embodiment 9 further comprising: - level one cache that is associated with said primary processor; and level two cache that communicates with said primary processor.
-
Embodiment 11. The processing device ofEmbodiment 10 wherein said processing device employs a cache hierarchy comprising: - a high power (HP) nonvolatile memory level for data in said HP nonvolatile memory;
- a low power (LP) nonvolatile memory level for data in said LP nonvolatile memory; a volatile memory level;
- a second level for data in said level two cache;
- a first level for data in said level one cache; and a CPU level for data in at least one of said primary processor and/or said secondary processor.
-
Embodiment 12. The processing device ofEmbodiment 11 further comprising primary volatile memory that communicates with said primary processor, wherein said volatile memory level corresponds to data in said primary volatile memory during said high power mode. -
Embodiment 13. The processing device ofEmbodiment 12 further comprising secondary volatile memory that communicates with said secondary processor, wherein said volatile memory level corresponds to data in said secondary volatile memory during said tow power mode. -
Embodiment 14. The processing device ofEmbodiment 12 further comprising embedded secondary volatile memory that is embedded in said secondary processor, wherein said volatile memory level corresponds to data in said embedded secondary volatile memory during said low power mode. -
Embodiment 15. The processing device ofEmbodiment 8 wherein said full-featured operating system and said restricted-feature operating system share a common data format. -
Embodiment 16. The processing device ofEmbodiment 1 wherein said primary processor is a primary graphics processor and said secondary processor is a secondary graphics processor, and further comprising a primary data processor that communicates with said primary second graphics processor and that is operated when said computer is in said high power mode, wherein said primary data processor and said primary graphics processor are not powered when said computer is in said low power mode. -
Embodiment 17. The processing device ofEmbodiment 16 further comprising a secondary data processor that communicates with said secondary graphics processor and that is operated during said low power mode. -
Embodiment 18. The processing device ofEmbodiment 11 wherein said HP nonvolatile memory includes a HP disk drive with a platter having a diameter greater than 1.8" and said LP nonvolatile memory includes at least one of flash memory and/or a low power disk drive having a platter with a diameter less than or equal to 1.8". - Embodiment 19. A computer system that operates in low power and high power
modes, comprising:
- volatile memory;
- nonvolatile memory that includes at least one of a low power disk drive and flash memory; and
- an operating system that includes a virtual memory adjustment module that enables designation of at least a portion of said nonvolatile memory for paging files to increase virtual memory of said computer system.
-
Embodiment 20. A processing device having high power and low power modes, comprising: - a first nonvolatile memory that communicates with said processing device and that stores a first operating system that is executed by said processing device during said high power mode; and
- a second nonvolatile memory that communicates with said processing device and that that stores a second operating system that is executed by said processing device during said low power mode.
- Embodiment 21. The processing device of
Embodiment 20 further comprising: - a primary processing device that communicates with said first nonvolatile memory and that executes said first operating system during said high power mode; and
- a secondary processing device that communicates with said second nonvolatile memory and that executes said second operating system during said low power mode.
-
Embodiment 22. The processing device ofEmbodiment 20 wherein said first operating system is a full-featured operating system and said second operating system is a restricted-feature operating system. -
Embodiment 23. The processing device ofEmbodiment 20 further comprising: - a primary graphics processing device that supports full-featured graphics processing during said high power mode; and
- a secondary graphics processing device that supports restricted-feature graphics processing during said low power mode.
-
Embodiment 24. The processing device ofEmbodiment 20 wherein said full-featured operating system and said restricted-feature operating system share a common data format. -
Embodiment 25. A processing device, comprising: - a processor;
- low power nonvolatile memory that communicates with said processor; and
- high power nonvolatile memory that communicates with said processor,
- wherein said processing device manages data using a cache hierarchy comprising a high power (HP) nonvolatile memory level for data in said high power nonvolatile memory and a low power (LP) nonvolatile memory level for data in said low power nonvolatile memory, wherein said LP nonvolatile memory level has a higher level in said cache hierarchy than said HP nonvolatile memory level.
-
Embodiment 26. The processing device ofEmbodiment 25 further comprising level one cache that is associated with said processor, volatile memory that communicates with said processor and level two cache that communicates with said processor. -
Embodiment 27. The processing device ofEmbodiment 26 wherein said cache hierarchy further comprises a volatile memory level, a second level for data in said level two cache, a first level for data in said level one cache, and a CPU level for data in said processor. -
Embodiment 28. The processing device ofEmbodiment 25 wherein said HP nonvolatile memory includes a high power disk drive with a platter having a diameter greater than 1.8" - Embodiment 29. The processing device of
Embodiment 25 wherein said LP nonvolatile memory includes at least one of flash memory and/or a low power disk drive having a platter with a diameter less than or equal to 1.8". -
Embodiment 30. A device comprising: - a processing unit having high power and low power modes;
- a first operating system that is executed by said processing unit during said high power mode; and
- a second operating system that is executed by said processing unit during said low power mode.
- Embodiment 31. The device of
Embodiment 30 wherein said processing unit further comprises: - a primary processing device that executes said first operating system during said high power mode; and
- a secondary processing device that executes said second operating system during said low power mode.
-
Embodiment 32. The device ofEmbodiment 30 wherein said first operating system is a full-featured operating system. -
Embodiment 33. The device ofEmbodiment 32 wherein said second operating system is a restricted-feature operating system. -
Embodiment 34. The device ofEmbodiment 30 wherein said processing unit further comprises: - a primary graphics processing device that supports full-featured graphics processing during said high power mode; and
- a secondary graphics processing device that supports restricted-feature graphics processing during said low power mode.
- Embodiment 35. The device of
Embodiment 33 wherein said full-featured operating system and said restricted-feature operating system share a common data format. -
Claims (11)
- A processing device having high power and low power modes, comprising:a first nonvolatile memory that communicates with said processing device and that stores a first operating system that is executed by said processing device during said high power mode; anda second nonvolatile memory that communicates with said processing device and that that stores a second operating system that is executed by said processing device during said low power mode.
- The processing device of Claim 1 further comprising:a primary processing device that communicates with said first nonvolatile memory and that executes said first operating system during said high power mode; anda secondary processing device that communicates with said second nonvolatile memory and that executes said second operating system during said low power mode.
- The processing device of Claim 1 wherein said first operating system is a full-featured operating system and said second operating system is a restricted-feature operating system.
- The processing device of Claim 1 further comprising:a primary graphics processing device that supports full-featured graphics processing during said high power mode; anda secondary graphics processing device that supports restricted-feature graphics processing during said low power mode.
- The processing device of Claim 1 wherein said full-featured operating system and said restricted-feature operating system share a common data format.
- A device comprising:a processing unit having high power and low power modes;a first operating system that is executed by said processing unit during said high power mode; anda second operating system that is executed by said processing unit during said low power mode.
- The device of Claim 6 wherein said processing unit further comprises:a primary processing device that executes said first operating system during said high power mode; anda secondary processing device that executes said second operating system during said low power mode.
- The device of Claim 6 wherein said first operating system is a full-featured operating system.
- The device of Claim 6 wherein said second operating system is a restricted-feature operating system.
- The device of Claim 6 wherein said processing unit further comprises:a primary graphics processing device that supports full-featured graphics processing during said high power mode; anda secondary graphics processing device that supports restricted-feature graphics processing during said low power mode.
- The device of Claim 9 wherein said full-featured operating system and said restricted-feature operating system share a common data format.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US865732 | 2004-06-10 | ||
US10/865,732 US7730335B2 (en) | 2004-06-10 | 2004-06-10 | Low power computer with main and auxiliary processors |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1607836A2 true EP1607836A2 (en) | 2005-12-21 |
EP1607836A3 EP1607836A3 (en) | 2006-11-08 |
Family
ID=34936771
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP05010992A Withdrawn EP1621972A3 (en) | 2004-06-10 | 2005-05-20 | Low power computer with main and auxiliary processors |
EP05010993.3A Active EP1605361B1 (en) | 2004-06-10 | 2005-05-20 | Cache hierarchy |
EP05010994A Withdrawn EP1607836A3 (en) | 2004-06-10 | 2005-05-20 | Separate operating system stored in separate nonvolatile memory and executed during high power and low power modes |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP05010992A Withdrawn EP1621972A3 (en) | 2004-06-10 | 2005-05-20 | Low power computer with main and auxiliary processors |
EP05010993.3A Active EP1605361B1 (en) | 2004-06-10 | 2005-05-20 | Cache hierarchy |
Country Status (5)
Country | Link |
---|---|
US (5) | US7730335B2 (en) |
EP (3) | EP1621972A3 (en) |
JP (3) | JP4621540B2 (en) |
CN (3) | CN1707400B (en) |
TW (3) | TWI390411B (en) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003901454A0 (en) * | 2003-03-28 | 2003-04-10 | Secure Systems Limited | Security system and method for computer operating systems |
US7730335B2 (en) * | 2004-06-10 | 2010-06-01 | Marvell World Trade Ltd. | Low power computer with main and auxiliary processors |
US20070094444A1 (en) * | 2004-06-10 | 2007-04-26 | Sehat Sutardja | System with high power and low power processors and thread transfer |
US7634615B2 (en) * | 2004-06-10 | 2009-12-15 | Marvell World Trade Ltd. | Adaptive storage system |
US7702848B2 (en) * | 2004-06-10 | 2010-04-20 | Marvell World Trade Ltd. | Adaptive storage system including hard disk drive with flash interface |
US7617359B2 (en) * | 2004-06-10 | 2009-11-10 | Marvell World Trade Ltd. | Adaptive storage system including hard disk drive with flash interface |
US20070083785A1 (en) * | 2004-06-10 | 2007-04-12 | Sehat Sutardja | System with high power and low power processors and thread transfer |
US7788427B1 (en) | 2005-05-05 | 2010-08-31 | Marvell International Ltd. | Flash memory interface for disk drive |
US7721118B1 (en) * | 2004-09-27 | 2010-05-18 | Nvidia Corporation | Optimizing power and performance for multi-processor graphics processing |
US7576745B1 (en) | 2004-11-17 | 2009-08-18 | Nvidia Corporation | Connecting graphics adapters |
US8066515B2 (en) * | 2004-11-17 | 2011-11-29 | Nvidia Corporation | Multiple graphics adapter connection systems |
US7477256B1 (en) | 2004-11-17 | 2009-01-13 | Nvidia Corporation | Connecting graphics adapters for scalable performance |
US8212831B1 (en) | 2004-12-15 | 2012-07-03 | Nvidia Corporation | Broadcast aperture remapping for multiple graphics adapters |
US8134568B1 (en) | 2004-12-15 | 2012-03-13 | Nvidia Corporation | Frame buffer region redirection for multiple graphics adapters |
US7372465B1 (en) | 2004-12-17 | 2008-05-13 | Nvidia Corporation | Scalable graphics processing for remote display |
US7730336B2 (en) * | 2006-05-30 | 2010-06-01 | Ati Technologies Ulc | Device having multiple graphics subsystems and reduced power consumption mode, software and methods |
US10026140B2 (en) | 2005-06-10 | 2018-07-17 | Nvidia Corporation | Using a scalable graphics system to enable a general-purpose multi-user computer system |
WO2007035611A2 (en) * | 2005-09-16 | 2007-03-29 | Hoshiko, Llc | Low power mode for portable computer system |
JP5076317B2 (en) * | 2005-12-27 | 2012-11-21 | ソニー株式会社 | Information processing apparatus, information processing method, and program thereof |
WO2007103358A2 (en) * | 2006-03-07 | 2007-09-13 | Marvell World Trade Ltd. | Lowest power mode for a mobile drive in usb application |
US20080263324A1 (en) | 2006-08-10 | 2008-10-23 | Sehat Sutardja | Dynamic core switching |
US7422486B2 (en) * | 2006-09-22 | 2008-09-09 | Itt Manufacturing Enterprises, Inc. | Connectors to connect modules to electronic devices |
AU2007216911B2 (en) * | 2006-09-22 | 2010-10-21 | Harris Global Communications, Inc. | Adaptive peak power management of load devices sharing a power source |
CN100474271C (en) * | 2006-12-15 | 2009-04-01 | 华为技术有限公司 | Multi-level buffering type memory system and method therefor |
US7779243B2 (en) * | 2006-12-29 | 2010-08-17 | Intel Corporation | Dual operating system computing system |
US8284205B2 (en) * | 2007-10-24 | 2012-10-09 | Apple Inc. | Methods and apparatuses for load balancing between multiple processing units |
US8259119B1 (en) | 2007-11-08 | 2012-09-04 | Nvidia Corporation | System and method for switching between graphical processing units |
US8233000B1 (en) * | 2007-11-08 | 2012-07-31 | Nvidia Corporation | System and method for switching between graphical processing units |
CN101281639B (en) * | 2008-05-30 | 2010-06-09 | 华硕电脑股份有限公司 | Method for controlling pattern processor operating mode as well as pattern processor |
US20110213998A1 (en) * | 2008-06-11 | 2011-09-01 | John George Mathieson | System and Method for Power Optimization |
US20090309243A1 (en) * | 2008-06-11 | 2009-12-17 | Nvidia Corporation | Multi-core integrated circuits having asymmetric performance between cores |
US20110213947A1 (en) * | 2008-06-11 | 2011-09-01 | John George Mathieson | System and Method for Power Optimization |
US20110213950A1 (en) * | 2008-06-11 | 2011-09-01 | John George Mathieson | System and Method for Power Optimization |
US8510577B2 (en) * | 2008-07-28 | 2013-08-13 | Microsoft Corporation | Reducing power consumption by offloading applications |
US7779191B2 (en) * | 2008-07-29 | 2010-08-17 | Nvidia Corporation | Platform-based idle-time processing |
EP2386078B1 (en) * | 2008-12-16 | 2013-03-27 | ST-Ericsson SA | Circuit system and method of controlling power management |
US8161251B2 (en) * | 2009-05-27 | 2012-04-17 | Microsoft Corporation | Heterogeneous storage array optimization through eviction |
US20100313044A1 (en) * | 2009-06-03 | 2010-12-09 | Microsoft Corporation | Storage array power management through i/o redirection |
US20100321395A1 (en) * | 2009-06-18 | 2010-12-23 | Apple Inc. | Display simulation system and method |
US9336028B2 (en) | 2009-06-25 | 2016-05-10 | Apple Inc. | Virtual graphics device driver |
US8417974B2 (en) | 2009-11-16 | 2013-04-09 | International Business Machines Corporation | Power efficient stack of multicore microprocessors |
US9070453B2 (en) | 2010-04-15 | 2015-06-30 | Ramot At Tel Aviv University Ltd. | Multiple programming of flash memory without erase |
US8452997B2 (en) | 2010-04-22 | 2013-05-28 | Broadcom Corporation | Method and system for suspending video processor and saving processor state in SDRAM utilizing a core processor |
US20120016641A1 (en) * | 2010-07-13 | 2012-01-19 | Giuseppe Raffa | Efficient gesture processing |
US8788777B2 (en) * | 2011-05-06 | 2014-07-22 | Marvell World Trade Ltd. | Memory on-demand, managing power in memory |
WO2013016313A1 (en) | 2011-07-25 | 2013-01-31 | Servergy, Inc. | Method and system for building a low power computer system |
US8863022B2 (en) | 2011-09-07 | 2014-10-14 | Microsoft Corporation | Process management views |
US20130067378A1 (en) * | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Resource Usage History User Interface |
EP2761406A4 (en) | 2011-09-30 | 2015-05-13 | Intel Corp | Detection of gesture data segmentation in mobile devices |
US10114679B2 (en) | 2011-10-26 | 2018-10-30 | Microsoft Technology Licensing, Llc | Logical CPU division usage heat map representation |
WO2013062162A1 (en) * | 2011-10-28 | 2013-05-02 | 엘지전자 주식회사 | Network storage device and method for controlling same |
DE112011105950T5 (en) * | 2011-12-16 | 2014-09-25 | Intel Corporation | Method, apparatus and system for advanced graphics processing via an external I / O port for display data |
US20130346672A1 (en) * | 2012-06-22 | 2013-12-26 | Microsoft Corporation | Multi-Tiered Cache with Storage Medium Awareness |
DE102012105986B3 (en) * | 2012-07-04 | 2013-03-14 | Fujitsu Technology Solutions Intellectual Property Gmbh | Computer system has microcontroller that reads information regarding interruption or unintended interruption of secondary operating voltage for system component, stored in memory and switches operating modes based on read information |
US9569279B2 (en) | 2012-07-31 | 2017-02-14 | Nvidia Corporation | Heterogeneous multiprocessor design for power-efficient and area-efficient computing |
JP5705185B2 (en) * | 2012-09-14 | 2015-04-22 | キヤノン株式会社 | COMMUNICATION DEVICE, ITS CONTROL METHOD, AND COMPUTER PROGRAM |
KR102071352B1 (en) * | 2012-11-28 | 2020-01-31 | 삼성전자 주식회사 | System and method of health care using portable terminal |
US9798574B2 (en) | 2013-09-27 | 2017-10-24 | Intel Corporation | Techniques to compose memory resources across devices |
US9311484B2 (en) * | 2014-01-09 | 2016-04-12 | International Business Machines Corporation | Enhanced security and resource utilization in a multi-operating system environment |
US10318205B2 (en) | 2014-01-30 | 2019-06-11 | Hewlett Packard Enterprise Development Lp | Managing data using a number of non-volatile memory arrays |
CN104142729B (en) * | 2014-08-11 | 2019-04-23 | 联想(北京)有限公司 | A kind of control method of processor, device and electronic equipment |
KR102347657B1 (en) | 2014-12-02 | 2022-01-06 | 삼성전자 주식회사 | Electronic device and method for controlling shareable cache memory thereof |
TWI653527B (en) * | 2014-12-27 | 2019-03-11 | 美商英特爾公司 | Techniques for enabling low power states of a system when computing components operate |
CN104571464A (en) * | 2015-01-19 | 2015-04-29 | 宇龙计算机通信科技(深圳)有限公司 | Electricity saving mode control method, device and terminal of a plurality of operation systems |
CN106406493B (en) * | 2015-07-30 | 2020-04-28 | 华为技术有限公司 | Electronic device capable of reducing power consumption and method for reducing power consumption of electronic device |
CN106774800A (en) * | 2016-12-09 | 2017-05-31 | 北京小米移动软件有限公司 | Low electric quantity reminding method and terminal |
US20190237003A1 (en) * | 2018-01-26 | 2019-08-01 | Mobvoi Information Technology Co., Ltd. | Display device, electronic device and method of controlling screen display |
US20190237007A1 (en) * | 2018-01-26 | 2019-08-01 | Mobvoi Information Technology Co., Ltd. | Display device, electronic device and method of controlling screen display |
US10921872B2 (en) * | 2019-03-29 | 2021-02-16 | Intel Corporation | Performing soft throttling and hard throttling in a processor |
CN110968271B (en) * | 2019-11-25 | 2024-02-20 | 北京劲群科技有限公司 | High-performance data storage method, system and device |
CN111586653B (en) * | 2020-04-09 | 2023-04-28 | 出门问问信息科技有限公司 | Data reading and storing method, device and computer readable storage medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5390350A (en) * | 1991-04-22 | 1995-02-14 | Western Digital Corporation | Integrated circuit chip core logic system controller with power saving features for a microcomputer system |
Family Cites Families (102)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4425615A (en) | 1980-11-14 | 1984-01-10 | Sperry Corporation | Hierarchical memory system having cache/disk subsystem with command queues for plural disks |
US5150465A (en) | 1988-11-30 | 1992-09-22 | Compaq Computer Corporation | Mode-selectable integrated disk drive for computer |
US5293500A (en) | 1989-02-10 | 1994-03-08 | Mitsubishi Denki K.K. | Parallel processing method and apparatus |
EP0675502B1 (en) | 1989-04-13 | 2005-05-25 | SanDisk Corporation | Multiple sector erase flash EEPROM system |
US5440749A (en) | 1989-08-03 | 1995-08-08 | Nanotronics Corporation | High performance, low cost microprocessor architecture |
US5455913A (en) | 1990-05-14 | 1995-10-03 | At&T Global Information Solutions Company | System and method for transferring data between independent busses |
JPH06179270A (en) * | 1992-12-15 | 1994-06-28 | Nec Niigata Ltd | Printer |
US5485595A (en) | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
US5502838A (en) * | 1994-04-28 | 1996-03-26 | Consilium Overseas Limited | Temperature management for integrated circuits |
JPH07160574A (en) * | 1993-12-13 | 1995-06-23 | Matsushita Electric Ind Co Ltd | Information processor |
GB2286267A (en) | 1994-02-03 | 1995-08-09 | Ibm | Energy-saving cache control system |
EP0667579A1 (en) * | 1994-02-09 | 1995-08-16 | Ballard Synergy Corporation | Cache for optical storage device |
US5596708A (en) | 1994-04-04 | 1997-01-21 | At&T Global Information Solutions Company | Method and apparatus for the protection of write data in a disk array |
US5581736A (en) | 1994-07-18 | 1996-12-03 | Microsoft Corporation | Method and system for dynamically sharing RAM between virtual memory and disk cache |
US5659718A (en) | 1994-08-19 | 1997-08-19 | Xlnt Designs, Inc. | Synchronous bus and bus interface device |
JPH0883148A (en) | 1994-09-13 | 1996-03-26 | Nec Corp | Magnetic disk device |
GB9419246D0 (en) * | 1994-09-23 | 1994-11-09 | Cambridge Consultants | Data processing circuits and interfaces |
US5815726A (en) | 1994-11-04 | 1998-09-29 | Altera Corporation | Coarse-grained look-up table architecture |
US5768164A (en) | 1996-04-15 | 1998-06-16 | Hewlett-Packard Company | Spontaneous use display for a computing system |
US6006320A (en) | 1996-07-01 | 1999-12-21 | Sun Microsystems, Inc. | Processor architecture with independent OS resources |
US5937423A (en) | 1996-12-26 | 1999-08-10 | Intel Corporation | Register interface for flash EEPROM memory arrays |
JPH10312690A (en) * | 1997-05-13 | 1998-11-24 | Seiko Epson Corp | Read-write non-volatile memory circuit |
US6035408A (en) * | 1998-01-06 | 2000-03-07 | Magnex Corp. | Portable computer with dual switchable processors for selectable power consumption |
US6289464B1 (en) * | 1998-01-07 | 2001-09-11 | Microsoft Corporation | Receiving wireless information on a mobile device with reduced power consumption |
US6578129B1 (en) | 1998-07-24 | 2003-06-10 | Imec Vzw | Optimized virtual memory management for dynamic data types |
JP3471244B2 (en) * | 1999-03-15 | 2003-12-02 | 株式会社東芝 | Manufacturing method of non-aqueous electrolyte secondary battery |
JP4159699B2 (en) * | 1999-04-13 | 2008-10-01 | 大正製薬株式会社 | Parallel processing method and parallel processing apparatus |
US6282614B1 (en) | 1999-04-15 | 2001-08-28 | National Semiconductor Corporation | Apparatus and method for reducing the power consumption of a microprocessor with multiple levels of caches |
US6457135B1 (en) * | 1999-08-10 | 2002-09-24 | Intel Corporation | System and method for managing a plurality of processor performance states |
KR100490934B1 (en) | 1999-08-25 | 2005-05-27 | 시게이트 테크놀로지 엘엘씨 | Intelligent power management of disc drives |
US6624816B1 (en) * | 1999-09-10 | 2003-09-23 | Intel Corporation | Method and apparatus for scalable image processing |
US6501999B1 (en) | 1999-12-22 | 2002-12-31 | Intel Corporation | Multi-processor mobile computer system having one processor integrated with a chipset |
US6496915B1 (en) | 1999-12-31 | 2002-12-17 | Ilife Solutions, Inc. | Apparatus and method for reducing power consumption in an electronic data storage system |
US6631474B1 (en) | 1999-12-31 | 2003-10-07 | Intel Corporation | System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching |
US6594724B1 (en) | 2000-03-30 | 2003-07-15 | Hitachi Global Storage Technologies Netherlands B.V. | Enhanced DASD with smaller supplementary DASD |
JP2002007373A (en) * | 2000-06-20 | 2002-01-11 | Fujitsu Ltd | Semiconductor device |
US6785829B1 (en) * | 2000-06-30 | 2004-08-31 | Intel Corporation | Multiple operating frequencies in a processor |
US6628469B1 (en) | 2000-07-11 | 2003-09-30 | International Business Machines Corporation | Apparatus and method for low power HDD storage architecture |
US6631469B1 (en) * | 2000-07-17 | 2003-10-07 | Intel Corporation | Method and apparatus for periodic low power data exchange |
JP2002073497A (en) * | 2000-09-04 | 2002-03-12 | Sharp Corp | Information processing apparatus and method |
US6823453B1 (en) * | 2000-10-06 | 2004-11-23 | Hewlett-Packard Development Company, L.P. | Apparatus and method for implementing spoofing-and replay-attack-resistant virtual zones on storage area networks |
KR100353731B1 (en) | 2000-11-01 | 2002-09-28 | (주)니트 젠 | User authenticating system and method using one-time fingerprint template |
US7069368B2 (en) * | 2000-12-01 | 2006-06-27 | Clearcube Technology, Inc. | System of co-located computers in a framework including removable function modules for adding modular functionality |
US6785767B2 (en) | 2000-12-26 | 2004-08-31 | Intel Corporation | Hybrid mass storage system and method with two different types of storage medium |
US6986066B2 (en) | 2001-01-05 | 2006-01-10 | International Business Machines Corporation | Computer system having low energy consumption |
DK1227126T3 (en) * | 2001-01-30 | 2006-12-04 | Daikyo Seiko Ltd | Rubber composition used for a rubber stopper for a drug or for a medical treatment or its cross-linked product |
US20020129288A1 (en) | 2001-03-08 | 2002-09-12 | Loh Weng Wah | Computing device having a low power secondary processor coupled to a keyboard controller |
US20030153354A1 (en) | 2001-03-16 | 2003-08-14 | Cupps Bryan T. | Novel personal electronics device with keypad application |
US20020173344A1 (en) * | 2001-03-16 | 2002-11-21 | Cupps Bryan T. | Novel personal electronics device |
US6976180B2 (en) | 2001-03-16 | 2005-12-13 | Dualcor Technologies, Inc. | Personal electronics device |
US7231531B2 (en) | 2001-03-16 | 2007-06-12 | Dualcor Technologies, Inc. | Personal electronics device with a dual core processor |
US7184003B2 (en) | 2001-03-16 | 2007-02-27 | Dualcor Technologies, Inc. | Personal electronics device with display switching |
ES2295092T3 (en) * | 2001-04-10 | 2008-04-16 | Yamashita Rubber Kabushiki Kaisha | WATERPROOF ANTIVIBRATION DEVICE. |
US6725336B2 (en) | 2001-04-20 | 2004-04-20 | Sun Microsystems, Inc. | Dynamically allocated cache memory for a multi-processor unit |
JP2002342156A (en) * | 2001-05-22 | 2002-11-29 | Victor Co Of Japan Ltd | Memory controller |
US20030051055A1 (en) * | 2001-06-04 | 2003-03-13 | Nct Group, Inc. | System and method for modifying a data stream using element parsing |
US6925529B2 (en) | 2001-07-12 | 2005-08-02 | International Business Machines Corporation | Data storage on a multi-tiered disk system |
JP3584920B2 (en) * | 2001-10-04 | 2004-11-04 | 株式会社ノーリツ | Power control device |
US6859856B2 (en) | 2001-10-23 | 2005-02-22 | Flex P Industries Sdn. Bhd | Method and system for a compact flash memory controller |
US8181118B2 (en) | 2001-11-28 | 2012-05-15 | Intel Corporation | Personal information device on a mobile computing platform |
JP2003167656A (en) * | 2001-11-29 | 2003-06-13 | Sony Corp | Portable information equipment |
JP2003167781A (en) * | 2001-11-30 | 2003-06-13 | Matsushita Electric Ind Co Ltd | Magnetic disk device and data readout control method |
US6804632B2 (en) | 2001-12-06 | 2004-10-12 | Intel Corporation | Distribution of processing activity across processing hardware based on power consumption considerations |
US6678249B2 (en) * | 2002-02-14 | 2004-01-13 | Nokia Corporation | Physical layer packet retransmission handling WCDMA in soft handover |
US6639827B2 (en) | 2002-03-12 | 2003-10-28 | Intel Corporation | Low standby power using shadow storage |
US7424623B2 (en) * | 2002-03-28 | 2008-09-09 | O2 Micro International Limited | Personal computer integrated with personal digital assistant |
JP2003317250A (en) * | 2002-04-26 | 2003-11-07 | Funai Electric Co Ltd | Optical disk drive |
JP2003323417A (en) * | 2002-04-30 | 2003-11-14 | Matsushita Electric Ind Co Ltd | Semiconductor integrated circuit device |
KR100441608B1 (en) | 2002-05-31 | 2004-07-23 | 삼성전자주식회사 | NAND flash memory interface device |
US7269752B2 (en) | 2002-06-04 | 2007-09-11 | Lucent Technologies Inc. | Dynamically controlling power consumption within a network node |
JP2004013607A (en) * | 2002-06-07 | 2004-01-15 | Hitachi Ltd | File monitoring device |
US7082495B2 (en) | 2002-06-27 | 2006-07-25 | Microsoft Corporation | Method and apparatus to reduce power consumption and improve read/write performance of hard disk drives using non-volatile memory |
JP4157734B2 (en) * | 2002-07-15 | 2008-10-01 | 花王株式会社 | Production method of fatty acids |
JP2004127040A (en) * | 2002-10-03 | 2004-04-22 | Internatl Business Mach Corp <Ibm> | Information processor, control method, program and recording medium |
US6775180B2 (en) | 2002-12-23 | 2004-08-10 | Intel Corporation | Low power state retention |
US7080271B2 (en) * | 2003-02-14 | 2006-07-18 | Intel Corporation | Non main CPU/OS based operational environment |
US7254730B2 (en) * | 2003-02-14 | 2007-08-07 | Intel Corporation | Method and apparatus for a user to interface with a mobile computing device |
AU2003900764A0 (en) | 2003-02-20 | 2003-03-06 | Secure Systems Limited | Bus bridge security system and method for computers |
WO2004090889A1 (en) | 2003-04-14 | 2004-10-21 | Koninklijke Philips Electronics N.V. | Format mapping scheme for universal drive device |
US7093147B2 (en) * | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
US7221331B2 (en) | 2003-05-05 | 2007-05-22 | Microsoft Corporation | Method and system for auxiliary display of information for a computing device |
US7240228B2 (en) | 2003-05-05 | 2007-07-03 | Microsoft Corporation | Method and system for standby auxiliary processing of information for a computing device |
US7069388B1 (en) | 2003-07-10 | 2006-06-27 | Analog Devices, Inc. | Cache memory data replacement strategy |
US7047387B2 (en) | 2003-07-16 | 2006-05-16 | Microsoft Corporation | Block cache size management via virtual memory manager feedback |
US7925298B2 (en) | 2003-09-18 | 2011-04-12 | Vulcan Portals Inc. | User interface for a secondary display module of a mobile electronic device |
US20050066209A1 (en) * | 2003-09-18 | 2005-03-24 | Kee Martin J. | Portable electronic device having high and low power processors operable in a low power mode |
US7500127B2 (en) | 2003-09-18 | 2009-03-03 | Vulcan Portals Inc. | Method and apparatus for operating an electronic device in a low power mode |
US7017059B2 (en) * | 2003-12-12 | 2006-03-21 | Cray Canada Inc. | Methods and apparatus for replacing cooling systems in operating computers |
CA2547078A1 (en) | 2003-12-16 | 2005-06-30 | Real Enterprise Solutions Development B.V. | Memory management in a computer system using different swapping criteria |
US7136973B2 (en) | 2004-02-04 | 2006-11-14 | Sandisk Corporation | Dual media storage device |
US7421602B2 (en) | 2004-02-13 | 2008-09-02 | Marvell World Trade Ltd. | Computer with low-power secondary processor and secondary display |
US7730335B2 (en) | 2004-06-10 | 2010-06-01 | Marvell World Trade Ltd. | Low power computer with main and auxiliary processors |
US7702848B2 (en) | 2004-06-10 | 2010-04-20 | Marvell World Trade Ltd. | Adaptive storage system including hard disk drive with flash interface |
US7634615B2 (en) | 2004-06-10 | 2009-12-15 | Marvell World Trade Ltd. | Adaptive storage system |
US7617359B2 (en) | 2004-06-10 | 2009-11-10 | Marvell World Trade Ltd. | Adaptive storage system including hard disk drive with flash interface |
US7574541B2 (en) | 2004-08-03 | 2009-08-11 | Lsi Logic Corporation | FIFO sub-system with in-line correction |
US7437581B2 (en) | 2004-09-28 | 2008-10-14 | Intel Corporation | Method and apparatus for varying energy per instruction according to the amount of available parallelism |
US20060069848A1 (en) | 2004-09-30 | 2006-03-30 | Nalawadi Rajeev K | Flash emulation using hard disk |
US20060075185A1 (en) | 2004-10-06 | 2006-04-06 | Dell Products L.P. | Method for caching data and power conservation in an information handling system |
US7882299B2 (en) | 2004-12-21 | 2011-02-01 | Sandisk Corporation | System and method for use of on-chip non-volatile memory write cache |
US20060218324A1 (en) | 2005-03-25 | 2006-09-28 | Matsushita Electrical Industrial Co., Ltd | Systems and methods for flexible data transfers in SDIO and/or MMC |
US7492368B1 (en) | 2006-01-24 | 2009-02-17 | Nvidia Corporation | Apparatus, system, and method for coalescing parallel memory requests |
-
2004
- 2004-06-10 US US10/865,732 patent/US7730335B2/en active Active
-
2005
- 2005-05-17 TW TW094133390A patent/TWI390411B/en not_active IP Right Cessation
- 2005-05-17 TW TW094115895A patent/TWI390444B/en not_active IP Right Cessation
- 2005-05-17 TW TW094133391A patent/TWI379235B/en not_active IP Right Cessation
- 2005-05-18 JP JP2005144894A patent/JP4621540B2/en active Active
- 2005-05-20 EP EP05010992A patent/EP1621972A3/en not_active Withdrawn
- 2005-05-20 CN CN2005100718484A patent/CN1707400B/en active Active
- 2005-05-20 EP EP05010993.3A patent/EP1605361B1/en active Active
- 2005-05-20 CN CN2005100732246A patent/CN1866162B/en active Active
- 2005-05-20 EP EP05010994A patent/EP1607836A3/en not_active Withdrawn
- 2005-05-20 CN CN2005100732231A patent/CN1866161B/en active Active
- 2005-07-19 JP JP2005209263A patent/JP4740673B2/en active Active
- 2005-07-19 JP JP2005209264A patent/JP4749786B2/en active Active
-
2008
- 2008-05-07 US US12/151,526 patent/US7827423B2/en not_active Expired - Lifetime
- 2008-05-12 US US12/152,030 patent/US7788514B2/en not_active Expired - Lifetime
-
2010
- 2010-05-26 US US12/787,478 patent/US8572416B2/en active Active
-
2013
- 2013-10-28 US US14/064,633 patent/US8874948B2/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5390350A (en) * | 1991-04-22 | 1995-02-14 | Western Digital Corporation | Integrated circuit chip core logic system controller with power saving features for a microcomputer system |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1605453B1 (en) | Adaptive storage system | |
US8874948B2 (en) | Apparatuses for operating, during respective power modes, transistors of multiple processors at corresponding duty cycles | |
EP2049968B1 (en) | Adaptive storage system including hard disk drive with flash interface | |
US7636809B2 (en) | Adaptive storage system including hard disk drive with flash interface | |
US20070094444A1 (en) | System with high power and low power processors and thread transfer | |
US20070083785A1 (en) | System with high power and low power processors and thread transfer | |
EP1855181A2 (en) | System with high power and low power processors and thread transfer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA HR LV MK YU |
|
PUAL | Search report despatched |
Free format text: ORIGINAL CODE: 0009013 |
|
AK | Designated contracting states |
Kind code of ref document: A3 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA HR LV MK YU |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 1/32 20060101AFI20051026BHEP |
|
17P | Request for examination filed |
Effective date: 20070425 |
|
AKX | Designation fees paid |
Designated state(s): DE FR GB |
|
17Q | First examination report despatched |
Effective date: 20080530 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 13/28 20060101ALI20171204BHEP Ipc: G06F 1/32 20060101AFI20171204BHEP Ipc: G06F 12/08 20160101ALI20171204BHEP |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
INTG | Intention to grant announced |
Effective date: 20180130 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20181201 |