Claims
- 1. A hierarchical caching method for standard disk I/O caching in a personal computer system having RAM and a storage disk, comprising the steps of:allocating a buffer from the RAM; intercepting disk page I/O requests; upon the interception of a disk page I/O request, if the intercepted I/O request is a read request, determining if the page to be read is already in the buffer and if so, decompressing the contents of the page into a RAM memory location specified for the page contents in the read request; if the intercepted I/O request is a read request, and the page to be read is not already in the buffer, or if the intercepted I/O request is a write request: determining if sufficient space in the buffer is available to hold the page data to be read or written; if sufficient space is available, copying the contents of the read or written page to the buffer; determining the compressibility of the contents of the page by pre-compressing a small portion thereof; and if the compression ratio for the small portion is at least two to one, compressing the read or written page in cache, otherwise allowing the operating system to cache the page contents in its normal manner.
- 2. A caching method for standard disk I/O caching in a personal computer system having RAM, a storage disk, and a RAM-based disk cache, comprising the steps of:intercepting disk page I/O requests; upon the interception of a disk page I/O request, if the intercepted I/O request is a read request, determining if the page to be read is not already in the cache, or if the intercepted I/O request is a write request: determining if sufficient space in the cache is available to hold the page data to be read or written; if sufficient space is available, writing the contents of the read or written page to the cache; and determining the compressibility of the contents of the page by pre-compressing a small portion thereof; and if the compression ratio for the small portion is at least two to one, compressing the read or written page in the cache, otherwise bypassing the compression step; or if the intercepted I/O request is a read request, and the page to be read is already in the cache: determining whether the page to be read is compressed; if the page is compressed, decompressing the contents of the page into a RAM location specified for the page contents in the read request; and if the page is not compressed, copying the contents of the page into a RAM location specified for the page contents in the read request.
- 3. A method of caching virtual memory demand paging requests in a personal computer system having an operating system and a video system including off-screen memory (OSM), comprising the steps of:intercepting page-out requests made by the operating system; for each intercepted page-out request, subsequently determining if sufficient OSM is available to hold the contents of the page-out request, and if so, copying the contents to an OSM region; intercepting page-in requests made by the operating system; and for each intercepted page-in request, subsequently determining if the page being requested is located in OSM, and if so, retrieving the page contents into a RAM memory location specified for the page by the operating system; determining the compressibility of the contents of the page by pre-compressing a small portion thereof; and if the compression ratio for the small portion is at least two to one, compressing the contents of the page-out request, otherwise allowing the operating system to cache the page contents in its normal manner.
Parent Case Info
This invention is a continuation-in-part of application Ser. No. 08/557,491, filed on Nov. 14, 1995 Now U.S. Pat No. 5,875,474.
US Referenced Citations (11)
Non-Patent Literature Citations (1)
Entry |
Microsoft Press Computer Dictionary, Third Edition, 1997, p. 107. |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
08/557491 |
Nov 1995 |
US |
Child |
09/105236 |
|
US |