The assignee for this patent application is
Reporters obtained the following quote from the background information supplied by the inventors: "Virtualization techniques have been developed to enhance memory management for memory space having a size exceeding actual physical capacity of a memory device. Typically, memory virtualization can be based on memory swapping using a storage device coupled to the memory device. As memory objects and/or IO (input/output) sizes are not deterministic, different sizes or pages of memory which are uncompressed may be swapped in/out between the storage and memory devices. As a result, IO through put and/or latency for transferring stored memory data for the swap memory may negatively impact the performance of the virtual memory system.
"Further, the performance of certain storage devices, such as spin based hard disks, may have strong dependency on data locality for memory access to reduce lengthy disk spins. However, data locality may not be guaranteed during runtime as clustering characteristics for memory access vary in different data processing tasks. Thus, memory swapping by paging in/out between the memory device and the storage device to support generic data processing tasks can further degrade the perceived performance of the memory system.
"Although the trend of adopting larger and larger sizes of actual physical memory tends to alleviate performance cost in inter device memory swap, certain feature enhancements in data processing systems may be provided without memory size changes. For example, support for higher screen resolution may be imposed on existing devices based on substantially the same amount of memory size. However, a mere two times higher screen resolution may correspond to four times increase in window buffer sizes. As a result, without a compensating increase in physical memory size, the system performance for higher screen resolution may degrade and become visibly slower.
"Therefore, traditional implementations of virtual memory systems are not capable of supporting performance requirements constrained by limited physical memory sizes."
In addition to obtaining background information on this patent application, VerticalNews editors also obtained the inventors' summary information for this patent application: "A compressed memory pool dynamically maintained in a memory device can provide an additional layer of support for a virtual memory based on the memory device coupled with a mass storage device. Virtual memory addresses may be paged or mapped into an uncompressed portion of the memory device, the compressed memory pool and/or the storage device. The compressed memory pool may grow and shrink within the memory device without a size limitation for the virtual memory.
"In one embodiment, a memory page (e.g. a unit of area of uncompressed memory) may be compressed into a compressed memory unit (or compressed page) in the compressed memory. Multiple compressed memory units may be compacted together as a fixed sized segment in the compressed memory. The segment may be sized for efficient data transfer between the memory device and the mass storage device for swapping in/out segments of compressed memory units to support a virtual memory pager.
"In another embodiment, a memory device may include a dynamically updated portion of compressed memory for a virtual memory. The memory device can include an uncompressed portion of memory separate from the compressed portion of memory. The virtual memory may be capable of mapping a memory address to the compressed portion of memory. A memory region allocated in the uncompressed portion of memory can be compressed into the compressed portion of memory. As a result, the memory region can become available (e.g. after being compressed) for future allocation requested in the memory device. The compressed portion of memory may be updated to store the compressed memory region. The compressed memory region may be decompressed back to the uncompressed portion in the memory device in response to a request to access data in the compressed memory region.
"In another embodiment, a virtual memory based on a memory device is provided. The memory device can be dynamically partitioned into an uncompressed portion of memory and a compressed portion of memory, such as DRAM (volatile memory). The uncompressed portion of memory can store working data processed via a processor coupled to the memory device. One or more pages of the uncompressed portion of memory can be compressed into one or more varied sized compressed memory units in the compressed portion of memory. The compression can increase available memory space in the uncompressed portion of memory. The compressed memory units can be decompressed back from the compressed portion of memory to the uncompressed portion of memory, for example, in response to a page fault for an access request to data in one of the compressed memory units. At least one of the varied sized compressed memory units can be swapped out from the compressed portion of memory to a mass storage device to increase available memory space in the uncompressed portion of memory.
"In another embodiment, one or more memory pages of an uncompressed portion of a memory device can be compressed into one or more varied sized compressed memory units in a compressed portion of the memory device. A mass storage device (such as a magnetic hard drive (HDD) or a composite storage device, treated as one logical volume from a file system's perspective, that includes an HDD and flash memory) can be coupled with the memory device. The varied sized compressed memory units can be compacted into a segment in the compressed portion of the memory device. The one compressed memory unit can be decompressed from the compressed portion to the uncompressed portion of the memory device in response to an access request to one of the compressed memory units. The segment of the compressed memory units may be swapped out to the mass storage device to increase available memory space in the memory device.
"Other features of the present invention will be apparent from the accompanying drawings and from the detailed description that follows.
BRIEF DESCRIPTION OF THE DRAWINGS
"The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
"FIG. 1 is a block diagram illustrating one embodiment of a virtual memory system based on compressed and/or compacted memory;
"FIG. 2 is a flow diagram illustrating one embodiment of compressing and decompressing memory for a virtual memory;
"FIG. 3 is a flow diagram illustrating one embodiment of a process to swap compressed memory pages for a virtual memory;
"FIG. 4 is a flow diagram illustrating one embodiment of a process to swap a compacted segment of compressed memory for a virtual memory;
"FIG. 5 illustrates one example of a data processing system such as a computer system, which may be used in conjunction with the embodiments described herein."
For more information, see this patent application: Sokol, JR., Joseph. Methods and Apparatus for Compressed and Compacted Virtual Memory. Filed
Keywords for this news article include:
Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC
Most Popular Stories
- Businesses, Investors Pressing for Green Policy
- NSHMBA to Rebrand With New Name, Logo
- Chrysler and Google Launch Virtual Plant Tour
- Lower Used-Car Prices Roil the Auto Industry
- 'The Voice' Sounds Different This Season
- Iran Digs in on Underground Nuclear Site
- Perry Wants to Skip Court for Foreign Trip
- Investors Fret Yahoo's Future, Stock Dips
- Existing Home Sales in U.S. Fell in August
- U.N. Endorses Rights of Indigenous Peoples