US20040148481A1 - Method and apparatus for memory management - Google Patents

Method and apparatus for memory management Download PDF

Info

Publication number
US20040148481A1
US20040148481A1 US10/353,427 US35342703A US2004148481A1 US 20040148481 A1 US20040148481 A1 US 20040148481A1 US 35342703 A US35342703 A US 35342703A US 2004148481 A1 US2004148481 A1 US 2004148481A1
Authority
US
United States
Prior art keywords
memory
data
physical memory
altering
handheld electronic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US10/353,427
Other versions
US7010656B2 (en
Inventor
Vivek Gupta
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tahoe Research Ltd
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US10/353,427 priority Critical patent/US7010656B2/en
Assigned to INTEL CORPORATION reassignment INTEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GUPTA, VIVEK G.
Publication of US20040148481A1 publication Critical patent/US20040148481A1/en
Application granted granted Critical
Publication of US7010656B2 publication Critical patent/US7010656B2/en
Assigned to TAHOE RESEARCH, LTD. reassignment TAHOE RESEARCH, LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTEL CORPORATION
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • Handheld electronic devices have become increasingly commonplace in recent years.
  • Handheld electronic devices may include, for example, personal digital assistants (“PDAs”), cellular telephones, pocket personal computers (PCs), or digital tablets.
  • PDAs personal digital assistants
  • Such handheld electronic devices are typically microprocessor based, are equipped with one or more operating systems (e.g., Windows® CETM), and frequently include one or more types of memory resources, such as on-board read-only and/or random access memory, which may be either static and/or dynamic, or non-volatile and/or volatile, depending on the particular memory type.
  • these handheld electronic devices typically include one or more types of user input devices (e.g., touch screen, keypad) an output device such as a peripheral device (e.g., liquid crystal display), and may be provided power by one or more batteries or battery packs.
  • a peripheral device e.g., liquid crystal display
  • Battery life, or power life may depend not only on the type and/or size of battery used in a particular device, but also on the particular power management system utilized in the handheld electronic device, which may, for example, be imbedded software in the operating system.
  • a handheld electronic device may contain one or more groupings of memory resources, which may be referred to as memory banks.
  • FIG. 1 is a schematic diagram illustrating one embodiment of the claimed subject matter.
  • FIG. 2 is a schematic diagram illustrating one embodiment of the claimed subject matter.
  • FIG. 3 is a block diagram illustrating one embodiment of the claimed subject matter.
  • FIG. 4 is a schematic diagram illustrating a method of memory mapping.
  • any reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the claimed subject matter.
  • the use of the phrase “one embodiment” in more than one place in the specification does not necessarily refer to the same embodiment.
  • Embodiments of the claimed subject matter may manage at least a portion of the physical memory of a handheld electronic device, resulting in a reduction of overall power consumption by at least a portion of memory resources of a handheld electronic device.
  • handheld electronic devices may continually power a substantial portion of the device memory banks, regardless of usage or amount of data stored.
  • one embodiment of the claimed subject matter may take advantage of virtual memory capabilities of the handheld electronic device to at least partially re-organize physical to linear memory mapping. This may result in less memory banks being used by the device, and a reduction in overall power demands.
  • one embodiment of the claimed subject matter may comprise a method of determining the amount of physical memory of a handheld electronic device currently being used to store data, determining the amount of memory capacity of the physical memory currently free or not currently being used to store data, transferring at least a portion of the data contained in the used memory to the free memory, and altering the power supplied to the free memory, which may comprise a reduction or elimination of power.
  • data may refer to one or more fragments of electronic data, which may be comprised of one or more digital data pulses, and may comprise, for example, one or more software programs or one or more program fragments, or all or portion of a page load, to name just a few examples, but the claimed subject matter is not limited to these examples.
  • embodiments of the claimed subject matter may include the capability to determine one or more characteristics for one or more pieces of data stored in physical memory, and the capability to either delete, copy, and/or retain data, for example, based at least in part on one or more of these characteristics.
  • utilization of one or more embodiments of the claimed subject matter may result in a decrease in overall power consumption of a handheld electronic device, as will be explained in more detail hereinafter.
  • a handheld electronic device may include one or more processors, such as microprocessors.
  • processors such as microprocessors.
  • An example of a microprocessor may include an Intel® XscaleTM microarchitecture based microprocessor.
  • Handheld electronic devices may also include volatile and/or non-volatile memory.
  • Memory may be organized as groupings of memory, such as one or more memory banks. Memory in these one or more banks may be comprised of one or more discrete memory chips.
  • the one or more memory banks comprising one or more discrete memory chips may hereinafter be referred to as physical memory.
  • One or more parts or portions of the physical memory may comprise memory, such as DRAM (dynamic random access memory), SDRAM (static DRAM), LP-SDRAM (low power SDRAM), for example.
  • the physical memory may reside within or on an integrated ASIC (application specific integrated circuit) or outside an ASIC, for example.
  • a handheld electronic device processor may, during operation, interface with the physical memory in the handheld electronic device, in order to access at least a portion of the data in the handheld electronic device, for reasons including, but not limited to, page swapping, executing a program, and/or accessing data, for example.
  • the physical memory may be comprised of multiple memory banks and/or multiple discrete memory chips for reasons such as flexibility of design and ability of designers to select appropriate memory capacity for the particular handheld electronic device, for example, although the claimed subject matter is not so limited.
  • dynamic memory also commonly referred to as volatile memory, uses a continual power source in order to retain data.
  • dynamic memory may be utilized by a handheld electronic device to store downloaded programs, or may be used to execute user programs, store intermediate data and/or program state information, for example.
  • this type of memory may be incorporated as RAM (random access memory), although the claimed subject matter is not so limited.
  • RAM random access memory
  • the data retained in dynamic memory may not be critical to proper operation of a handheld electronic device, and may be deleted or discarded, and reproduced without significantly affecting operation of the handheld electronic device.
  • dynamic memory may also store data such as system registry information, which is typically an aspect of operation of the handheld electronic device, and therefore this type of data is typically retained at all or nearly all times for proper operation of the device.
  • the hardware components including the physical memory of a handheld electronic device, may be managed by an operating system such as Windows®) CETM, SymbianOS, or Linux, for example.
  • the operating system may interact with at least a portion of the physical memory to establish memory configuration, which typically entails setting such parameters as memory timing type, data bus width, and/or refresh rate, for example.
  • the operating system may incorporate one or more types of power management methods and/or power management logic.
  • Power management logic may include the capability to transition one or more components of the handheld electronic device into a reduced power mode, which may be referred to, for example, as sleep state, idle, drowsy, and/or deep sleep, although the claimed subject matter is not so limited.
  • Sleep state may be initiated based on a lack of use of the handheld electronic device over a particular period of time, for example.
  • One or more components of the handheld electronic device such as all or a portion of the physical memory, for example, may be placed into a low power auto refresh mode when the system is placed into a reduced power state.
  • Handheld electronic devices may remain in a reduced power state for long periods of time, and physical memory may consume a not insignificant portion of battery power, even when it is in a reduced power mode such as a sleep state. Eliminating or reducing the power demands of physical memory of a handheld electronic device may increase the battery life and overall standby time of such a device.
  • Handheld electronic devices typically utilize one embodiment of the concept of virtual memory to map actions such as program requests to physical memory.
  • Virtual memory allows the operating system (OS) to maintain a contiguous linear address space, which may provide benefits of a linear method of memory allocation, when the underlying memory is not being used in a linear or sequential fashion.
  • This linear address space typically has a finite number of address positions, and a position is mapped to a particular location in physical system memory, usually based primarily on availability.
  • the physical memory in a memory bank may be divided into smaller units called pages.
  • the linear memory may also be similarly divided into smaller units called pages.
  • the virtual memory or virtual memory system of the OS may map, or form an association between, physical pages to linear pages.
  • one or more linear pages may be allocated and then later freed. This may result in a segmented physical memory. Segmented physical memory may be inefficient, since allocation of memory space is not typically based on maximizing the use of each individual bank or discrete memory chip of the physical memory. This typical method of memory mapping may be at least partially illustrated by reference to FIG. 4.
  • FIG. 4 a schematic diagram illustrating one type of memory mapping method that may be utilized by the operating system of a handheld electronic device.
  • the handheld electronic device physical memory illustrated in FIG. 4 is comprised of 2 memory banks, 402 and 404 . These memory banks may be comprised of one or more discrete memory chips (not shown), as stated previously.
  • one or more linear address spaces 414 such as unused linear memory pages 408 , are allocated, or used, for actions such as program requests and/or data requests for example, but the claimed subject matter is not so limited as stated previously.
  • unused linear memory pages 408 therefore may become used linear memory pages 406 , and may be mapped to one or more locations of physical memory, such as 410 and 412 , where the data for actions, such as a program request, for example, are actually written into the one or more physical memory pages.
  • the decision as to which physical memory page will receive the data depends, at least in part, upon the configuration of the memory, but availability is frequently a consideration.
  • unused linear memory pages, such as linear memory pages 408 are not typically associated with a corresponding physical memory page, but may later become associated with one or more physical memory pages, such as physical memory pages 412 , for example.
  • the used and/or unused portions of physical memory remaining after one or more actions are executed may become segmented and/or non-uniform as shown in memory banks 402 and 404 . This may result in continuous power being supplied to the memory banks, even if a portion of the physical memory is currently being utilized to store information from the memory banks 402 and 404 .
  • a method of memory management may comprise consolidating data on to fewer memory banks or discrete memory chips of the physical memory, in order to provide for a power reduction or even elimination for at least a portion of the physical memory that may no longer be storing data for later retrieval.
  • embodiments of the claimed subject matter may include a variety of features, such as the ability to discard non-essential or less useful data from physical memory based at least in part on the characteristics of the data, likewise, a full/empty ratio for at least a portion of the memory banks or discrete memory chips of a system may be determined, the desirability of consolidating one or more memory banks may be determined, at least a portion of the data may be consolidated and/or at least one memory bank or discrete memory chip may have its data transferred, although, these are just examples of features and the claimed subject matter is not limited in this respect.
  • FIG. 1 is a schematic diagram illustrating one embodiment of the claimed subject matter.
  • the handheld electronic device at least partially illustrated in FIG. 1 has a physical memory comprised of 2 memory banks, 102 and 104 . These memory banks may be comprised of one or more discrete memory chips (not shown). Additionally included in the physical memory is a table of address space 114 , which may be comprised of one or more address pages, such as linear address pages, for example.
  • the handheld electronic device physical memory illustrated in FIG. 1 is comprised of 2 memory banks, although, as stated previously, the claimed subject matter is not limited to any particular number of memory banks or to a device that uses banks of memory.
  • one or more linear memory pages such as linear memory pages 108 are allocated, or used, for actions such as program requests, as stated previously.
  • These unused linear memory pages 108 may become used memory pages, such as memory pages 106 , when they are mapped to one or more locations of physical memory 110 or 112 , where the data for actions, such as a program request and/or data access, for example, are written into the one or more physical memory pages.
  • the decision as to which physical memory page will receive the data depends upon the configuration of the memory, but is usually based on availability.
  • several unused linear memory pages such as linear memory pages 108 , may be allocated. These used linear memory pages may be mapped to unused physical memory pages, such as memory pages 110 .
  • These memory pages may then become used physical memory pages, such as physical memory pages 112 .
  • the used and unused portions of physical memory which may also be referred to as retained and available portions of memory, respectively, may become segmented and/or non-uniform across discrete memory banks.
  • the physical memory may be at least partially re-arranged or consolidated at some point after at least a portion of the mapping has been performed, resulting in a more efficient and/or uniform use of the memory banks, as illustrated in FIG. 1.
  • the rearranged physical memory pages 116 (as shown in FIG. 1) after consolidation may occupy a single memory bank 104 as opposed to multiple memory banks.
  • An embodiment of a method of performing re-arranging or consolidation of memory such as illustrated in FIG. 1 may be illustrated by reference to flowchart 300 of FIG. 3.
  • FIG. 3 is a flowchart illustrating one embodiment of a method of memory management. Embodiments of the flowchart depicted in FIG. 3 may be implemented in software, hardware and/or firmware, and may comprise discrete operations, which may be well known to those of skill in the art.
  • the first functional block 302 upon execution, includes the capability to survey of at least a portion of physical memory of a handheld electronic device.
  • survey may comprise accessing at least a portion of the data retained in one or more memory banks, and determining one or more characteristics of at least a portion of the data. This survey may determine the amount of memory containing data to be retained and the amount of memory capacity available, or unused, in the handheld electronic device.
  • the capability to survey may be limited to surveying a particular portion of the memory in the device, such as a memory bank designated for memory management, for example. Additionally, or conversely, in this functional block, survey may comprise a determination of the data to be retained and what data will not be retained, for example. This determination may be based on a variety of factors, such as the type of data stored, file type, data fragment size, date saved or created, last time data was accessed, and/or the particular source the data was derived from, such as a file from non-volatile storage, for example. Of course, this is not an exhaustive list of the potential factors that may affect the determination, and the claimed subject matter is not limited to a particular set of factors.
  • the decision to retain or not retain a particular segment of data may be based at least in part on the impact of this particular segment of data in consideration on the proper operation of the handheld electronic device, for example, or may be a balancing of one or more factors, such as those mentioned previously, or may alternatively be determined by a user or other externally derived source, for example, although the claimed subject matter is not so limited.
  • block 304 comprises a comparison of at least a portion of the data surveyed in block 302 .
  • This may be a comparison of the portion of memory used to retain data and the portion of memory not being used to retain data, which may also be referred to as used and available memory, respectively, or may determine if sufficient memory is consumed or fragmented to apply the mapping in this embodiment, for example.
  • decisions such as which data to retain may be made based at least in part on one or more of the factors applied in block 302 . Additionally, a determination regarding the location to consolidate data may be made, as an alternative or an addition to the approach described above. In alternative embodiments, likewise, block 304 may be omitted or skipped.
  • free space may comprise memory space occupied by data that was designated for disposal in block 302
  • used memory space may comprise memory space that is occupied by data designated for retention in block 302 , for example.
  • Block 306 may perform actions based at least in part on determinations made in block 302 , and/or block 304 , as described previously. For example, if, at block 304 , the determination was made to consolidate the data contained in two memory banks or memory chips, then the specific actions of transferring the relevant data from one bank to another is initiated at block 306 . Additionally, blocks 302 and/or 304 may have determined that one or more of the memory banks of the physical memory of a handheld electronic device may contain data to be discarded, and this may be designated as free space for purposes, for example, of the free/used memory comparison.
  • the functions performed at block 306 may include an altering of at least a portion of the data, for example, writing over a portion of the data in one or more physical memory locations, during the process of moving or consolidating data, although the claimed subject matter is not limited to these examples.
  • Block 308 may perform one or more power modifications of the one or more memory banks or discrete memory chips of a handheld electronic device.
  • This power modification may be a elimination of power to all or a portion of the physical memory, or it may be a reduction of power, such as to a more reduced power state, such as deep sleep or drowsy state, for example, although the claimed subject matter is not so limited.
  • the power modification may be based at least in part on one or more of the actions previously taken. These are just illustrations, however, and many embodiments of methods of altering the power are included within the claimed subject matter.
  • multiple power alterations may be made on one or more portions of the physical memory within the scope of the claimed subject matter, such as terminating the power to one portion and reducing the power to drowsy mode to another portion, for example.
  • block 310 may include repeating or re-executing all or a part of flowchart 300 , such as described above.
  • flowchart 300 may be repeated at the occurrence of some event, such as use of the handheld device by a user, for example.
  • portions of flowchart 300 may be performed at various times such as, for example, after a particular period of time has elapsed, and/or after the device has a particular amount of power remaining.
  • these actions may be continually performed by the operating system during the normal course of operation, for example.
  • a user or an external event may alternatively initiate this process as well, or a user may have the capability to determine one or more factors that may trigger a re-execution of portions of this embodiment.
  • a variety of criteria or events may be used to trigger a re-execution of one or more of the operations described above in accordance with the claimed subject matter.
  • FIG. 2 shows a system 200 suitable for practicing at least one embodiment of the claimed subject matter.
  • embodiments of the claimed subject matter may be implemented in hardware, firmware or software, or any combination thereof, and such implementations may be embodied within system 200 .
  • Illustrated in FIG. 2 is one example of a handheld electronic device.
  • Such handheld electronic devices are typically comprised of at least one processor 202 , which may include cache memory 210 .
  • handheld electronic devices may be equipped with one or more operating systems (e.g., Windows CE) (not shown), and may include one or more types of memory resources, such as non-volatile memory 206 , and/or memory 208 , for example, which may comprise static and/or dynamic memory. Additionally, these handheld electronic devices typically include one or more types of user input devices or interfaces 214 , an output device such as a peripheral interface 212 , and may be powered by one or more batteries or battery packs 204 . At least a portion of these components may be coupled together through a system bus 216 , for example.
  • any electronic device that utilizes at least one type of dynamic memory, where power conservation is desirable, may implement an embodiment within the scope of the claimed subject matter.

Abstract

Numerous embodiments of a method and/or apparatus for memory management are disclosed.

Description

    BACKGROUND
  • Handheld electronic devices have become increasingly commonplace in recent years. Handheld electronic devices may include, for example, personal digital assistants (“PDAs”), cellular telephones, pocket personal computers (PCs), or digital tablets. Such handheld electronic devices are typically microprocessor based, are equipped with one or more operating systems (e.g., Windows® CE™), and frequently include one or more types of memory resources, such as on-board read-only and/or random access memory, which may be either static and/or dynamic, or non-volatile and/or volatile, depending on the particular memory type. Additionally, these handheld electronic devices typically include one or more types of user input devices (e.g., touch screen, keypad) an output device such as a peripheral device (e.g., liquid crystal display), and may be provided power by one or more batteries or battery packs. The advantage of portability of these handheld devices often comes with related disadvantages, including limited computing power and memory resources, and a finite power life. Battery life, or power life, may depend not only on the type and/or size of battery used in a particular device, but also on the particular power management system utilized in the handheld electronic device, which may, for example, be imbedded software in the operating system. A handheld electronic device may contain one or more groupings of memory resources, which may be referred to as memory banks. Due at least in part to the characteristics of the memory banks, power may be continually provided to each memory bank. Reducing the power demands of one or more memory banks used by a handheld electronic device may result in a decrease in power consumption and an increase in overall battery life. A need therefore exists for a method of managing memory resources to reduce power consumption in a handheld electronic device. [0001]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Subject matter is particularly pointed out and distinctly claimed in the concluding portion of the specification. The claimed subject matter, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which: [0002]
  • FIG. 1 is a schematic diagram illustrating one embodiment of the claimed subject matter. [0003]
  • FIG. 2 is a schematic diagram illustrating one embodiment of the claimed subject matter. [0004]
  • FIG. 3 is a block diagram illustrating one embodiment of the claimed subject matter. [0005]
  • FIG. 4 is a schematic diagram illustrating a method of memory mapping.[0006]
  • DETAILED DESCRIPTION
  • In the following specification, numerous specific details are set forth in order to provide a thorough understanding of the claimed subject matter. However, it will be understood by those skilled in the art that the claimed subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, and components will not be described in detail so as not to obscure disclosed embodiments of the claimed subject matter. Various aspects are described herein as discrete operations performed in a manner that is most helpful in understanding the claimed subject matter. However, the order of presentation should not be construed as to imply that these operations are necessarily performed in the order they are presented, or even order dependent. Additionally, it is important to note that any reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the claimed subject matter. The use of the phrase “one embodiment” in more than one place in the specification does not necessarily refer to the same embodiment. [0007]
  • Embodiments of the claimed subject matter may manage at least a portion of the physical memory of a handheld electronic device, resulting in a reduction of overall power consumption by at least a portion of memory resources of a handheld electronic device. As stated previously, handheld electronic devices may continually power a substantial portion of the device memory banks, regardless of usage or amount of data stored. As will be explained in more detail hereinafter, one embodiment of the claimed subject matter may take advantage of virtual memory capabilities of the handheld electronic device to at least partially re-organize physical to linear memory mapping. This may result in less memory banks being used by the device, and a reduction in overall power demands. More specifically, one embodiment of the claimed subject matter, for example, may comprise a method of determining the amount of physical memory of a handheld electronic device currently being used to store data, determining the amount of memory capacity of the physical memory currently free or not currently being used to store data, transferring at least a portion of the data contained in the used memory to the free memory, and altering the power supplied to the free memory, which may comprise a reduction or elimination of power. In this context, data may refer to one or more fragments of electronic data, which may be comprised of one or more digital data pulses, and may comprise, for example, one or more software programs or one or more program fragments, or all or portion of a page load, to name just a few examples, but the claimed subject matter is not limited to these examples. [0008]
  • Alternatively, embodiments of the claimed subject matter may include the capability to determine one or more characteristics for one or more pieces of data stored in physical memory, and the capability to either delete, copy, and/or retain data, for example, based at least in part on one or more of these characteristics. Furthermore, utilization of one or more embodiments of the claimed subject matter may result in a decrease in overall power consumption of a handheld electronic device, as will be explained in more detail hereinafter. [0009]
  • A handheld electronic device, such as those previously described, may include one or more processors, such as microprocessors. An example of a microprocessor may include an Intel® Xscale™ microarchitecture based microprocessor. Handheld electronic devices may also include volatile and/or non-volatile memory. Memory may be organized as groupings of memory, such as one or more memory banks. Memory in these one or more banks may be comprised of one or more discrete memory chips. The one or more memory banks comprising one or more discrete memory chips may hereinafter be referred to as physical memory. One or more parts or portions of the physical memory may comprise memory, such as DRAM (dynamic random access memory), SDRAM (static DRAM), LP-SDRAM (low power SDRAM), for example. Additionally, the physical memory may reside within or on an integrated ASIC (application specific integrated circuit) or outside an ASIC, for example. A handheld electronic device processor may, during operation, interface with the physical memory in the handheld electronic device, in order to access at least a portion of the data in the handheld electronic device, for reasons including, but not limited to, page swapping, executing a program, and/or accessing data, for example. The physical memory may be comprised of multiple memory banks and/or multiple discrete memory chips for reasons such as flexibility of design and ability of designers to select appropriate memory capacity for the particular handheld electronic device, for example, although the claimed subject matter is not so limited. [0010]
  • As is well known, dynamic memory, also commonly referred to as volatile memory, uses a continual power source in order to retain data. In operation, dynamic memory may be utilized by a handheld electronic device to store downloaded programs, or may be used to execute user programs, store intermediate data and/or program state information, for example. In this context, this type of memory may be incorporated as RAM (random access memory), although the claimed subject matter is not so limited. The data retained in dynamic memory may not be critical to proper operation of a handheld electronic device, and may be deleted or discarded, and reproduced without significantly affecting operation of the handheld electronic device. Conversely, there may be some instances when dynamic memory may also store data such as system registry information, which is typically an aspect of operation of the handheld electronic device, and therefore this type of data is typically retained at all or nearly all times for proper operation of the device. [0011]
  • As stated previously, the hardware components, including the physical memory of a handheld electronic device, may be managed by an operating system such as Windows®) CE™, SymbianOS, or Linux, for example. In a typical handheld electronic device, the operating system may interact with at least a portion of the physical memory to establish memory configuration, which typically entails setting such parameters as memory timing type, data bus width, and/or refresh rate, for example. Additionally, the operating system may incorporate one or more types of power management methods and/or power management logic. Power management logic may include the capability to transition one or more components of the handheld electronic device into a reduced power mode, which may be referred to, for example, as sleep state, idle, drowsy, and/or deep sleep, although the claimed subject matter is not so limited. Sleep state may be initiated based on a lack of use of the handheld electronic device over a particular period of time, for example. One or more components of the handheld electronic device, such as all or a portion of the physical memory, for example, may be placed into a low power auto refresh mode when the system is placed into a reduced power state. Handheld electronic devices may remain in a reduced power state for long periods of time, and physical memory may consume a not insignificant portion of battery power, even when it is in a reduced power mode such as a sleep state. Eliminating or reducing the power demands of physical memory of a handheld electronic device may increase the battery life and overall standby time of such a device. [0012]
  • Handheld electronic devices typically utilize one embodiment of the concept of virtual memory to map actions such as program requests to physical memory. Virtual memory allows the operating system (OS) to maintain a contiguous linear address space, which may provide benefits of a linear method of memory allocation, when the underlying memory is not being used in a linear or sequential fashion. This linear address space typically has a finite number of address positions, and a position is mapped to a particular location in physical system memory, usually based primarily on availability. The physical memory in a memory bank may be divided into smaller units called pages. The linear memory may also be similarly divided into smaller units called pages. The virtual memory or virtual memory system of the OS may map, or form an association between, physical pages to linear pages. During program execution, one or more linear pages may be allocated and then later freed. This may result in a segmented physical memory. Segmented physical memory may be inefficient, since allocation of memory space is not typically based on maximizing the use of each individual bank or discrete memory chip of the physical memory. This typical method of memory mapping may be at least partially illustrated by reference to FIG. 4. [0013]
  • Referring in detail now to the figures, wherein like parts are designated by like reference numerals, there is illustrated in FIG. 4 a schematic diagram illustrating one type of memory mapping method that may be utilized by the operating system of a handheld electronic device. The handheld electronic device physical memory illustrated in FIG. 4 is comprised of [0014] 2 memory banks, 402 and 404. These memory banks may be comprised of one or more discrete memory chips (not shown), as stated previously. In operation, one or more linear address spaces 414, such as unused linear memory pages 408, are allocated, or used, for actions such as program requests and/or data requests for example, but the claimed subject matter is not so limited as stated previously. These unused linear memory pages 408 therefore may become used linear memory pages 406, and may be mapped to one or more locations of physical memory, such as 410 and 412, where the data for actions, such as a program request, for example, are actually written into the one or more physical memory pages. As stated previously, the decision as to which physical memory page will receive the data depends, at least in part, upon the configuration of the memory, but availability is frequently a consideration. When executing a program, unused linear memory pages, such as linear memory pages 408, are not typically associated with a corresponding physical memory page, but may later become associated with one or more physical memory pages, such as physical memory pages 412, for example. Due at least in part to the memory mapping methodology used by the operating system, and/or by the rapid or numerous amount of memory mapping that takes place during operations such as program execution, the used and/or unused portions of physical memory remaining after one or more actions are executed may become segmented and/or non-uniform as shown in memory banks 402 and 404. This may result in continuous power being supplied to the memory banks, even if a portion of the physical memory is currently being utilized to store information from the memory banks 402 and 404.
  • In one embodiment of the claimed subject matter, a method of memory management may comprise consolidating data on to fewer memory banks or discrete memory chips of the physical memory, in order to provide for a power reduction or even elimination for at least a portion of the physical memory that may no longer be storing data for later retrieval. Additionally, as will be described in detail hereinafter, embodiments of the claimed subject matter may include a variety of features, such as the ability to discard non-essential or less useful data from physical memory based at least in part on the characteristics of the data, likewise, a full/empty ratio for at least a portion of the memory banks or discrete memory chips of a system may be determined, the desirability of consolidating one or more memory banks may be determined, at least a portion of the data may be consolidated and/or at least one memory bank or discrete memory chip may have its data transferred, although, these are just examples of features and the claimed subject matter is not limited in this respect. [0015]
  • FIG. 1 is a schematic diagram illustrating one embodiment of the claimed subject matter. The handheld electronic device at least partially illustrated in FIG. 1 has a physical memory comprised of 2 memory banks, [0016] 102 and 104. These memory banks may be comprised of one or more discrete memory chips (not shown). Additionally included in the physical memory is a table of address space 114, which may be comprised of one or more address pages, such as linear address pages, for example. The handheld electronic device physical memory illustrated in FIG. 1 is comprised of 2 memory banks, although, as stated previously, the claimed subject matter is not limited to any particular number of memory banks or to a device that uses banks of memory. In operation, one or more linear memory pages, such as linear memory pages 108, are allocated, or used, for actions such as program requests, as stated previously. These unused linear memory pages 108 may become used memory pages, such as memory pages 106, when they are mapped to one or more locations of physical memory 110 or 112, where the data for actions, such as a program request and/or data access, for example, are written into the one or more physical memory pages. As stated previously, the decision as to which physical memory page will receive the data depends upon the configuration of the memory, but is usually based on availability. When executing a program, several unused linear memory pages, such as linear memory pages 108, may be allocated. These used linear memory pages may be mapped to unused physical memory pages, such as memory pages 110. These memory pages may then become used physical memory pages, such as physical memory pages 112. As illustrated in FIG. 4, depending at least in part on the memory mapping methodology used by the operating system, and/or on the rapid or numerous amount of memory mapping that takes place during operations, such as program execution, the used and unused portions of physical memory, which may also be referred to as retained and available portions of memory, respectively, may become segmented and/or non-uniform across discrete memory banks. However, in this method of memory management, the physical memory may be at least partially re-arranged or consolidated at some point after at least a portion of the mapping has been performed, resulting in a more efficient and/or uniform use of the memory banks, as illustrated in FIG. 1. The rearranged physical memory pages 116 (as shown in FIG. 1) after consolidation may occupy a single memory bank 104 as opposed to multiple memory banks. An embodiment of a method of performing re-arranging or consolidation of memory such as illustrated in FIG. 1 may be illustrated by reference to flowchart 300 of FIG. 3.
  • FIG. 3 is a flowchart illustrating one embodiment of a method of memory management. Embodiments of the flowchart depicted in FIG. 3 may be implemented in software, hardware and/or firmware, and may comprise discrete operations, which may be well known to those of skill in the art. In accordance with [0017] flowchart 300, upon execution, the first functional block 302 includes the capability to survey of at least a portion of physical memory of a handheld electronic device. In this context, survey may comprise accessing at least a portion of the data retained in one or more memory banks, and determining one or more characteristics of at least a portion of the data. This survey may determine the amount of memory containing data to be retained and the amount of memory capacity available, or unused, in the handheld electronic device. The capability to survey may be limited to surveying a particular portion of the memory in the device, such as a memory bank designated for memory management, for example. Additionally, or conversely, in this functional block, survey may comprise a determination of the data to be retained and what data will not be retained, for example. This determination may be based on a variety of factors, such as the type of data stored, file type, data fragment size, date saved or created, last time data was accessed, and/or the particular source the data was derived from, such as a file from non-volatile storage, for example. Of course, this is not an exhaustive list of the potential factors that may affect the determination, and the claimed subject matter is not limited to a particular set of factors. The decision to retain or not retain a particular segment of data may be based at least in part on the impact of this particular segment of data in consideration on the proper operation of the handheld electronic device, for example, or may be a balancing of one or more factors, such as those mentioned previously, or may alternatively be determined by a user or other externally derived source, for example, although the claimed subject matter is not so limited.
  • In this embodiment, block [0018] 304 comprises a comparison of at least a portion of the data surveyed in block 302. This may be a comparison of the portion of memory used to retain data and the portion of memory not being used to retain data, which may also be referred to as used and available memory, respectively, or may determine if sufficient memory is consumed or fragmented to apply the mapping in this embodiment, for example. In this block, decisions such as which data to retain may be made based at least in part on one or more of the factors applied in block 302. Additionally, a determination regarding the location to consolidate data may be made, as an alternative or an addition to the approach described above. In alternative embodiments, likewise, block 304 may be omitted or skipped. This alternative approach may be used if, for example, the survey performed at block 302 determined adequate information to perform the actions of functional block 306 without performing the functions of block 304, for example. In this context, free space may comprise memory space occupied by data that was designated for disposal in block 302, and/or used memory space may comprise memory space that is occupied by data designated for retention in block 302, for example.
  • Block [0019] 306 may perform actions based at least in part on determinations made in block 302, and/or block 304, as described previously. For example, if, at block 304, the determination was made to consolidate the data contained in two memory banks or memory chips, then the specific actions of transferring the relevant data from one bank to another is initiated at block 306. Additionally, blocks 302 and/or 304 may have determined that one or more of the memory banks of the physical memory of a handheld electronic device may contain data to be discarded, and this may be designated as free space for purposes, for example, of the free/used memory comparison. In this case, the functions performed at block 306 may include an altering of at least a portion of the data, for example, writing over a portion of the data in one or more physical memory locations, during the process of moving or consolidating data, although the claimed subject matter is not limited to these examples.
  • Block [0020] 308 may perform one or more power modifications of the one or more memory banks or discrete memory chips of a handheld electronic device. This power modification may be a elimination of power to all or a portion of the physical memory, or it may be a reduction of power, such as to a more reduced power state, such as deep sleep or drowsy state, for example, although the claimed subject matter is not so limited. The power modification may be based at least in part on one or more of the actions previously taken. These are just illustrations, however, and many embodiments of methods of altering the power are included within the claimed subject matter. Likewise, multiple power alterations may be made on one or more portions of the physical memory within the scope of the claimed subject matter, such as terminating the power to one portion and reducing the power to drowsy mode to another portion, for example.
  • In this embodiment, block [0021] 310 may include repeating or re-executing all or a part of flowchart 300, such as described above. For example, flowchart 300 may be repeated at the occurrence of some event, such as use of the handheld device by a user, for example. Alternatively, portions of flowchart 300 may be performed at various times such as, for example, after a particular period of time has elapsed, and/or after the device has a particular amount of power remaining. Likewise, these actions may be continually performed by the operating system during the normal course of operation, for example. A user or an external event may alternatively initiate this process as well, or a user may have the capability to determine one or more factors that may trigger a re-execution of portions of this embodiment. Thus, a variety of criteria or events may be used to trigger a re-execution of one or more of the operations described above in accordance with the claimed subject matter.
  • A device capable of implementing embodiments of the claimed subject matter is illustrated in detail in FIG. 2. FIG. 2 shows a [0022] system 200 suitable for practicing at least one embodiment of the claimed subject matter. Furthermore embodiments of the claimed subject matter may be implemented in hardware, firmware or software, or any combination thereof, and such implementations may be embodied within system 200. Illustrated in FIG. 2 is one example of a handheld electronic device. Such handheld electronic devices are typically comprised of at least one processor 202, which may include cache memory 210. Additionally handheld electronic devices may be equipped with one or more operating systems (e.g., Windows CE) (not shown), and may include one or more types of memory resources, such as non-volatile memory 206, and/or memory 208, for example, which may comprise static and/or dynamic memory. Additionally, these handheld electronic devices typically include one or more types of user input devices or interfaces 214, an output device such as a peripheral interface 212, and may be powered by one or more batteries or battery packs 204. At least a portion of these components may be coupled together through a system bus 216, for example. Of course, it will be understood by those skilled in the art that the claimed subject matter is not limited to just handheld electronic devices. Any electronic device that utilizes at least one type of dynamic memory, where power conservation is desirable, may implement an embodiment within the scope of the claimed subject matter.
  • While certain features of the claimed subject matter have been illustrated as described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such embodiments and changes as fall within the true spirit of the claimed subject matter. [0023]

Claims (32)

What is claimed is:
1. A method of managing physical memory, comprising:
determining at least a first portion of physical memory containing data to be retained;
determining at least a second portion of physical memory that is available;
transferring at least a portion of the data contained in the retained portion to the available portion; and
altering power for at least a portion of said available memory.
2. The method of claim 1, wherein the physical memory comprises at least a portion of the physical memory of a handheld electronic device.
3. The method of claim 1, wherein said at least a portion of the data contained in the retained memory portion is transferred to the available memory portion if said available memory portion capacity is greater than or equal to said retained memory portion capacity.
4. The method of claim 1, wherein said retained memory portion capacity comprises at least the amount of data that is designated for retention.
5. The method of claim 1, wherein said free memory capacity comprises memory not being used to store data, and memory being used to store data not designated for retention.
6. The method of claim 1, wherein said transferring comprises copying and writing at least a portion of said data contained in the retained memory portion into one or more locations of free memory.
7. The method of claim 1, wherein altering comprises reducing the power supplied to at least a portion of said free memory.
8. The method of claim 1, wherein altering comprises eliminating the power supplied to at least a portion of said free memory.
9. A method of managing physical memory, comprising:
determining at least one characteristic of at least one portion of the data stored in said physical memory;
altering at least a portion of said data stored in said physical memory, based at least in part on said at least one characteristic of said data; and
modifying the power supplied to at least one portion of the data stored in said physical memory, based at least in part on said altering.
10. The method of claim 9, wherein said at least one characteristic comprises at least one of: file type, data fragment size, date saved, storage duration, or most recent access time or date.
11. The method of claim 9, wherein determining includes accessing the at least one portion of the data.
12. The method of claim 9, wherein altering comprises deleting at least a portion of said data.
13. The method of claim 9, wherein altering comprises relocating at least a portion of said data.
14. The method of claim 9, wherein altering comprises designating at least a portion of said data for retention.
15. The method of claim 9, wherein altering comprises designating at least a portion of said data for disposal.
16. The method of claim 9, wherein modifying comprises reducing said power supplied to at least a portion of said data.
17. The method of claim 9, wherein modifying comprises eliminating said power supplied to at least a portion of said data.
18. An apparatus comprising:
a handheld electronic device, wherein said handheld electronic device includes physical memory, said handheld electronic device having the capability to:
determine the memory capacity available for data retention for at least a portion of the physical memory of said handheld electronic device;
determine the memory portion containing retained data for at least a portion of the physical memory of said handheld electronic device;
alter at least a portion of the data retained in the memory portion containing retained data, based at least in part on the determining; and
modify the power supplied to at least a portion of the physical memory based at least in part on said altering.
19. The apparatus of claim 18, wherein said at least one characteristic comprises at least one of: file type, data fragment size, date saved, storage duration, or most recent access time or date.
20. The apparatus of claim 18, wherein determining includes accessing the at least one portion of physical memory.
21. The apparatus of claim 18, wherein altering comprises deleting at least a portion of said data.
22. The apparatus of claim 18, wherein altering comprises designating at least a portion of said data for retention.
23. The apparatus of claim 18 wherein altering comprises designating at least a portion of said data for disposal.
24. The apparatus of claim 18, wherein modifying comprises reducing said power supplied to at least a portion of said data.
25. The apparatus of claim 18, wherein modifying comprises eliminating said power supplied to at least a portion of said data.
26. A machine-readable medium, having stored thereon instructions, that when executed by a computing system containing physical memory, cause the computing system to:
determine the portion of physical memory being used to retain data;
determine at least one characteristic of one or more fragments of stored data;
moving at least one fragment of stored data from one memory location to another based at least in part of said at least one characteristic of said stored data; and
modifying the power supplied to at least a portion of said physical memory based at least in part on said moving.
27. The machine-readable medium of claim 26, wherein physical memory comprises volatile memory.
28. The machine-readable medium of claim 26, wherein said at least one characteristic comprises at least one of: file type, data fragment size, date saved, storage duration, or most recent access time or date.
29. The machine-readable medium of claim 26, wherein determining includes accessing at least one portion of memory.
30. The machine-readable medium of claim 26, wherein moving comprises copying and writing at least a portion of said data contained in the portion of physical memory being used to retain data into one or more other memory portions not being used to retain data.
31. The machine-readable medium of claim 26, wherein said modifying the power comprises reducing the power supplied to at least a portion of memory not being used to retain data.
32. The machine-readable medium of claim 26, wherein modifying the power comprises eliminating the power supplied to at least a portion of memory not being used to retain data.
US10/353,427 2003-01-28 2003-01-28 Method and apparatus for memory management Expired - Lifetime US7010656B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/353,427 US7010656B2 (en) 2003-01-28 2003-01-28 Method and apparatus for memory management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/353,427 US7010656B2 (en) 2003-01-28 2003-01-28 Method and apparatus for memory management

Publications (2)

Publication Number Publication Date
US20040148481A1 true US20040148481A1 (en) 2004-07-29
US7010656B2 US7010656B2 (en) 2006-03-07

Family

ID=32736173

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/353,427 Expired - Lifetime US7010656B2 (en) 2003-01-28 2003-01-28 Method and apparatus for memory management

Country Status (1)

Country Link
US (1) US7010656B2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060181949A1 (en) * 2004-12-31 2006-08-17 Kini M V Operating system-independent memory power management
DE102005015498A1 (en) * 2005-03-31 2006-10-05 Siemens Ag Method for storing individual data of a low-voltage circuit breaker
WO2006123140A1 (en) * 2005-05-18 2006-11-23 Symbian Software Limited Memory management in a computing device
WO2007072435A2 (en) * 2005-12-21 2007-06-28 Nxp B.V. Reducingthe number of memory banks being powered
US20090089531A1 (en) * 2007-09-27 2009-04-02 Sun Microsystems, Inc. Method and system for memory management
US7577640B1 (en) * 2004-03-31 2009-08-18 Avaya Inc. Highly available, highly scalable multi-source logical database with low latency
WO2012160405A1 (en) * 2011-05-26 2012-11-29 Sony Ericsson Mobile Communications Ab Optimized hibernate mode for wireless device
US20130073886A1 (en) * 2011-09-19 2013-03-21 Ofer Zaarur Systems and Methods for Monitoring and Managing Memory Blocks to Improve Power Savings
WO2014070264A1 (en) * 2012-11-05 2014-05-08 Qualcomm Incorporated System and method for dynamic memory power management
US20140164810A1 (en) * 2012-12-12 2014-06-12 International Business Machines Corporation System and methods for dimm-targeted power saving for hypervisor systems
CN107004091A (en) * 2014-09-26 2017-08-01 英特尔公司 Safely exchange vehicle sensor information

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078539A1 (en) * 2002-10-18 2004-04-22 Fulghum Patrick W. De-fragmenting memory by re-booting based on time
US7272734B2 (en) * 2004-09-02 2007-09-18 International Business Machines Corporation Memory management to enable memory deep power down mode in general computing systems
JP4209906B2 (en) * 2006-08-02 2009-01-14 株式会社日立製作所 Low power consumption memory management method and computer using the method
US7689577B2 (en) * 2007-04-16 2010-03-30 Hewlett-Packard Development Company, L.P. Rearranging data sections within a page file
US9632561B2 (en) * 2007-06-28 2017-04-25 Apple Inc. Power-gating media decoders to reduce power consumption
US8166326B2 (en) * 2007-11-08 2012-04-24 International Business Machines Corporation Managing power consumption in a computer
US20090132842A1 (en) * 2007-11-15 2009-05-21 International Business Machines Corporation Managing Computer Power Consumption In A Computer Equipment Rack
US8041521B2 (en) * 2007-11-28 2011-10-18 International Business Machines Corporation Estimating power consumption of computing components configured in a computing system
US8683133B2 (en) * 2008-01-18 2014-03-25 Texas Instruments Incorporated Termination of prefetch requests in shared memory controller
US7509511B1 (en) * 2008-05-06 2009-03-24 International Business Machines Corporation Reducing register file leakage current within a processor
US7907468B2 (en) 2008-05-28 2011-03-15 Micron Technology, Inc. Memory device having data paths permitting array/port consolidation and swapping
US8103884B2 (en) 2008-06-25 2012-01-24 International Business Machines Corporation Managing power consumption of a computer
US8200999B2 (en) 2008-08-11 2012-06-12 International Business Machines Corporation Selective power reduction of memory hardware
US8041976B2 (en) * 2008-10-01 2011-10-18 International Business Machines Corporation Power management for clusters of computers
US8514215B2 (en) * 2008-11-12 2013-08-20 International Business Machines Corporation Dynamically managing power consumption of a computer with graphics adapter configurations
CN101881994A (en) * 2009-05-06 2010-11-10 鸿富锦精密工业(深圳)有限公司 Energy-saving control system and control method
US8392736B2 (en) * 2009-07-31 2013-03-05 Hewlett-Packard Development Company, L.P. Managing memory power usage
US8799553B2 (en) * 2010-04-13 2014-08-05 Apple Inc. Memory controller mapping on-the-fly
US9311228B2 (en) 2012-04-04 2016-04-12 International Business Machines Corporation Power reduction in server memory system

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687382A (en) * 1995-06-07 1997-11-11 Hitachi America, Ltd. High speed, reduced power memory system implemented according to access frequency
US5706407A (en) * 1993-12-28 1998-01-06 Kabushiki Kaisha Toshiba System for reallocation of memory banks in memory sized order
US5928365A (en) * 1995-11-30 1999-07-27 Kabushiki Kaisha Toshiba Computer system using software controlled power management method with respect to the main memory according to a program's main memory utilization states
US6115799A (en) * 1996-07-19 2000-09-05 Canon Kabushiki Kaisha Information processing apparatus and associated method for managing a memory using a next fit and for reducing a memory fragmentation problem
US6167484A (en) * 1998-05-12 2000-12-26 Motorola, Inc. Method and apparatus for leveraging history bits to optimize memory refresh performance
US6215714B1 (en) * 1999-04-14 2001-04-10 Fujitsu Limited Semiconductor memory device capable of reducing power consumption in self-refresh operation
US20020016883A1 (en) * 2000-02-08 2002-02-07 Enrique Musoll Method and apparatus for allocating and de-allocating consecutive blocks of memory in background memory management
US6430665B1 (en) * 1999-06-25 2002-08-06 Sun Microsystems, Inc. System and method for heuristically allocating memory
US20030023825A1 (en) * 2001-07-30 2003-01-30 Woo Steven C Consolidation of allocated memory to reduce power consumption
US6757806B2 (en) * 2001-09-20 2004-06-29 Hynix Semiconductor Inc. Method for converting addresses in a semiconductor memory device and apparatus therefor
US6845432B2 (en) * 2000-12-28 2005-01-18 Intel Corporation Low power cache architecture
US6877098B1 (en) * 2000-06-12 2005-04-05 Sun Microsystems, Inc. System and method for directing access from a framebuffer to a virtual framebuffer when the framebuffer is powered off in a power management mode

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706407A (en) * 1993-12-28 1998-01-06 Kabushiki Kaisha Toshiba System for reallocation of memory banks in memory sized order
US5687382A (en) * 1995-06-07 1997-11-11 Hitachi America, Ltd. High speed, reduced power memory system implemented according to access frequency
US5928365A (en) * 1995-11-30 1999-07-27 Kabushiki Kaisha Toshiba Computer system using software controlled power management method with respect to the main memory according to a program's main memory utilization states
US6115799A (en) * 1996-07-19 2000-09-05 Canon Kabushiki Kaisha Information processing apparatus and associated method for managing a memory using a next fit and for reducing a memory fragmentation problem
US6167484A (en) * 1998-05-12 2000-12-26 Motorola, Inc. Method and apparatus for leveraging history bits to optimize memory refresh performance
US6215714B1 (en) * 1999-04-14 2001-04-10 Fujitsu Limited Semiconductor memory device capable of reducing power consumption in self-refresh operation
US6430665B1 (en) * 1999-06-25 2002-08-06 Sun Microsystems, Inc. System and method for heuristically allocating memory
US20020016883A1 (en) * 2000-02-08 2002-02-07 Enrique Musoll Method and apparatus for allocating and de-allocating consecutive blocks of memory in background memory management
US6877098B1 (en) * 2000-06-12 2005-04-05 Sun Microsystems, Inc. System and method for directing access from a framebuffer to a virtual framebuffer when the framebuffer is powered off in a power management mode
US6845432B2 (en) * 2000-12-28 2005-01-18 Intel Corporation Low power cache architecture
US20030023825A1 (en) * 2001-07-30 2003-01-30 Woo Steven C Consolidation of allocated memory to reduce power consumption
US6742097B2 (en) * 2001-07-30 2004-05-25 Rambus Inc. Consolidation of allocated memory to reduce power consumption
US6757806B2 (en) * 2001-09-20 2004-06-29 Hynix Semiconductor Inc. Method for converting addresses in a semiconductor memory device and apparatus therefor

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577640B1 (en) * 2004-03-31 2009-08-18 Avaya Inc. Highly available, highly scalable multi-source logical database with low latency
US20060181949A1 (en) * 2004-12-31 2006-08-17 Kini M V Operating system-independent memory power management
DE102005015498A1 (en) * 2005-03-31 2006-10-05 Siemens Ag Method for storing individual data of a low-voltage circuit breaker
US7899975B2 (en) 2005-03-31 2011-03-01 Siemens Aktiengesekkschaft Method for storing individual data items of a low-voltage switch
WO2006123140A1 (en) * 2005-05-18 2006-11-23 Symbian Software Limited Memory management in a computing device
US20080320203A1 (en) * 2005-05-18 2008-12-25 Symbian Software Limited Memory Management in a Computing Device
WO2007072435A2 (en) * 2005-12-21 2007-06-28 Nxp B.V. Reducingthe number of memory banks being powered
WO2007072435A3 (en) * 2005-12-21 2007-11-01 Nxp Bv Reducingthe number of memory banks being powered
US20080313482A1 (en) * 2005-12-21 2008-12-18 Nxp B.V. Power Partitioning Memory Banks
US20090089531A1 (en) * 2007-09-27 2009-04-02 Sun Microsystems, Inc. Method and system for memory management
US7882319B2 (en) * 2007-09-27 2011-02-01 Oracle America Inc. Method and system for memory management
US20120324251A1 (en) * 2011-05-26 2012-12-20 Sony Mobile Communications Ab Optimized hibernate mode for wireless device
WO2012160405A1 (en) * 2011-05-26 2012-11-29 Sony Ericsson Mobile Communications Ab Optimized hibernate mode for wireless device
US20130073886A1 (en) * 2011-09-19 2013-03-21 Ofer Zaarur Systems and Methods for Monitoring and Managing Memory Blocks to Improve Power Savings
US9032234B2 (en) * 2011-09-19 2015-05-12 Marvell World Trade Ltd. Systems and methods for monitoring and managing memory blocks to improve power savings
US9274590B2 (en) 2011-09-19 2016-03-01 Marvell World Trade Ltd. Systems and methods for monitoring and managing memory blocks to improve power savings
WO2014070264A1 (en) * 2012-11-05 2014-05-08 Qualcomm Incorporated System and method for dynamic memory power management
US9104413B2 (en) 2012-11-05 2015-08-11 Qualcomm Incorporated System and method for dynamic memory power management
US20140164810A1 (en) * 2012-12-12 2014-06-12 International Business Machines Corporation System and methods for dimm-targeted power saving for hypervisor systems
US9323317B2 (en) * 2012-12-12 2016-04-26 International Business Machines Corporation System and methods for DIMM-targeted power saving for hypervisor systems
CN107004091A (en) * 2014-09-26 2017-08-01 英特尔公司 Safely exchange vehicle sensor information
US20170244565A1 (en) * 2014-09-26 2017-08-24 Intel Corporation Securely exchanging vehicular sensor information
US10103889B2 (en) * 2014-09-26 2018-10-16 Intel Corporation Securely exchanging vehicular sensor information
CN107004091B (en) * 2014-09-26 2021-07-13 英特尔公司 Securely exchanging vehicle sensor information

Also Published As

Publication number Publication date
US7010656B2 (en) 2006-03-07

Similar Documents

Publication Publication Date Title
US7010656B2 (en) Method and apparatus for memory management
EP2936272B1 (en) Reducing power consumption of volatile memory via use of non-volatile memory
US7454639B2 (en) Various apparatuses and methods for reduced power states in system memory
US10846215B2 (en) Persistent content in nonvolatile memory
US6857047B2 (en) Memory compression for computer systems
US6732241B2 (en) Technique for migrating data between storage devices for reduced power consumption
JP2009525555A (en) Reduce power consumption by disabling refresh of unused portions of DRAM during periods of device inactivity
TWI515747B (en) System and method for dynamic memory power management
JP2009503627A (en) Memory management in computer equipment
US20050086551A1 (en) Memory optimization for a computer system having a hibernation mode
KR20120058352A (en) Hybrid Memory System and Management Method there-of
US20070294550A1 (en) Memory Management With Defragmentation In A Computing Device
US8930732B2 (en) Fast speed computer system power-on and power-off method
US20070006000A1 (en) Using fine-grained power management of physical system memory to improve system sleep
WO2005069148A2 (en) Memory management method and related system
US7093149B2 (en) Tiered secondary memory architecture to reduce power consumption in a portable computer system
US20060047493A1 (en) Memory management to enable memory deep power down mode in general computing systems
KR101392062B1 (en) Fast speed computer system power-on & power-off method
US10073851B2 (en) Fast new file creation cache
Han et al. A hybrid swapping scheme based on per-process reclaim for performance improvement of android smartphones (August 2018)
US9268699B2 (en) Dynamic cache allocation in a solid state drive environment
US7681009B2 (en) Dynamically updateable and moveable memory zones
Du et al. Adaptive energy-aware design of a multi-bank flash-memory storage system
KR20050120345A (en) Battery saving method of handheld device using memory control
JP5451191B2 (en) Computer and power management method

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GUPTA, VIVEK G.;REEL/FRAME:013722/0227

Effective date: 20030126

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553)

Year of fee payment: 12

AS Assignment

Owner name: TAHOE RESEARCH, LTD., IRELAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTEL CORPORATION;REEL/FRAME:061175/0176

Effective date: 20220718