Method for caching virtual memory paging and disk...

Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06321293

ABSTRACT:

FIELD OF THE INVENTION
The field of the present invention is personal computer systems, and more particularly to personal computer systems with a separate video subsystem with its own video memory. The present invention relates to a method and system for improving the efficiency of demand paged virtual memory and disk cache systems in a personal computer, thereby increasing overall system performance in a low-memory situation.
BACKGROUND OF THE INVENTION
It is axiomatic that memory requirements of software expand to fill all available Random Access Memory (RAM) and then some. Each new generation of personal computer operating system and user software is almost invariably larger than the previous generation. Unfortunately, system capacity and pricing have not kept up with such growth of a memory requirement for software and thus a greater demand is placed on the virtual memory component of the system with which the software is used.
As depicted in
FIG. 1
, the prior art, such as Bartley et al, U.S. Pat. No. 4,660,130, can provide a system for copying portions of RAM memory
100
out to disk
101
in the process known as “paging out”, and then bringing the paged out portions back into memory while removing others when the user software requires access to the original contents of a memory range through paging mechanism
102
. Several optimization routines have been proposed, including grouping the pages into active and stable groupings, and read-ahead/page-behind schemes as implemented in Microsoft's Windows operating system.
Furthermore, traditional disk caching schemes, such as that found in Microsoft's MS-DOS Smart Drive are ineffective for use in virtual memory paging because the memory used in caching is better made available to increase the pool of pageable memory. The use of memory for caching in an attempt to create more memory actually results in a net memory loss and poor performance.
In personal computer systems, the video sub-system RAM is generally separate from the main system RAM. This is due to the “dual-ported” nature of the video system; the video memory needs to be accessed by both the CPU and the video display hardware. This makes the video memory either substantially slower than regular system RAM or substantially more expensive.
In a PC system with a separate video RAM subsystem, as shown in
FIG. 1
, there is typically some region
107
of video memory
108
that is unused for display
109
. This may be due to the “overscan” by the video signal, or may be intentionally designed as part of a video acceleration scheme for the system. The video image is typically centered in a larger rectangle including non-displayed screen area. When the video driver or controller
106
is reading the video RAM the controller accesses the memory sequentially, while the video electron beam (and thus the signal generated by the controller even when no actual beam is used) moves horizontally across the screen and then skips back to the beginning of the next line, an operation known as raster scanning. The video beam signal must also relocate from the bottom back to the top of the screen to redraw the image at the end of a full screen scan. During this period, the retrace, the video beam is actually turned off. However, the video memory is still being polled, thus any image or data in the memory that is covered by the retrace area is not displayed. This memory is considered “off screen memory” or “OSM”.
RAM memory of any kind is typically packaged in units that contain bits in orders of magnitude expressed in the binary system. Common sizes currently available are 64K (K=1024), 256K, 1024K and 4096K. Because of such packaging, and because of the ability of video adapters to display in a variety of resolutions, there is frequently additional video memory left beyond the memory needed to cover the retrace periods. In addition, if a video adapter is capable of displaying resolutions higher than the one currently in use, the OSM will also encompass the difference in memory required for the two resolutions.
Prior art shows the use of OSM to accelerate video performance. Many video adapter manufacturers use OSM as a cache for video “objects”, such as bitmaps, brushes, pens, patterns and the like. Bitmaps and other objects are realized directly into the OSM. The objects can then be moved directly to on-screen memory by the CPU in the video adapter without interaction with the system's main CPU or video driver
106
. This approach is of limited usefulness, because objects still need to be moved back to system memory on a frequent basis, thus slowing operation, and the manipulation of video objects is of relatively small overall importance in system operation and display.
Other prior art have attempted to increase video performance by combining the video memory and system memory into a single subsystem, such as depicted in Valentaten et al, U.S. Pat. No. 5,250,940. However, as discussed, such a solution requires far more expensive hardware. The speeds at which the CPUs in current computers operate far outstrip RAM speed, thus requiring a subsystem that can support both video and CPU access to the RAM would be cost prohibitive.
The prior art has also attempted to increase video performance by buffering portions of the video memory in system RAM (Miller et al, U.S. Pat. No. 5,361,387). This approach helps improve video performance, but at the expense of available system memory, and is therefore not useful in low memory situations.
Although combining video and system memory has been shown, the methodology for putting the memory to use is either cost prohibitive, requiring costly hardware or expensive in terms of the implementation requiring additional resources. In any event, these methodologies all are intended only to enhance video performance.
A conventional disk caching arrangement, as particularly implemented in Microsoft MS-DOS as its “Smart Drive” system, is also shown in FIG.
1
. In such a system disk I/O requests
104
are kept by the caching software
105
in a section of main system memory
100
known as the cache memory
105
. When additional requests for the same data are made, the caching software retrieves them from this portion of memory.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide overall system performance enhancement through an improved virtual memory system.
It is a further object of the present invention to provide overall system performance enhancement through an improved disk caching methodology.
These and other objectives, which will become apparent as the invention is described in greater detail, are obtained by providing a method which allows a virtual memory or disk caching system to make use of OSM. The method further allows a disk caching system that makes use of compression to optimize the use of memory allocated to the cache, regardless of whether OSM is used.
In accordance with the present invention, the OSM is set aside for use by the virtual memory and/or disk caching system as a first level cache. The OSM can be extended through the use of data compression, allowing a larger amount of data to be stored in OSM as used for paging or caching.
Although slower than the system RAM and far slower than the CPU cache, the video RAM tends to be faster than a hard drive storage, thus providing for increased system performance over hard drive-based cache and virtual memory systems.


REFERENCES:
patent: 4660130 (1987-04-01), Bartley et al.
patent: 4971407 (1990-11-01), Hoffman
patent: 4985848 (1991-01-01), Pfeiffer et al.
patent: 5361387 (1994-11-01), Millar et al.
patent: 5384912 (1995-01-01), Ogrinc et al.
patent: 5454076 (1995-09-01), Cain et al.
patent: 5543822 (1996-08-01), Spilo et al.
patent: 5559978 (1996-09-01), Spilo
patent: 5586264 (1996-12-01), Belknap et al.
patent: 5742298 (1998-04-01), Bril et al.
patent: 5884093 (1999-03-01), Berenguel et al.
Microsoft Press Computer Dictionary, Third Edition, 1997, p. 107.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method for caching virtual memory paging and disk... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method for caching virtual memory paging and disk..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for caching virtual memory paging and disk... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2614558

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.