System, method and computer program product for organizing page caches
First Claim
1. A method for caching page frame data objects in a computer system, the computer system comprising a plurality of pages of memory for storing pages of memory objects and an operating system for generating a page frame data structure for each page of physical memory and for generating a memory object data structure for each memory object, wherein the operating system employs the page frame data structures for representing the pages of physical memory and wherein the operating system employs the memory object data structures for representing the memory objects, the method comprising the step of:
- (1) generating page frame data structures to represent pages of memory;
(2) storing a portion of a first memory object in a first set of pages of memory(3) generating a first memory object data structure to represent the first memory object;
(4) organizing page frame data structures that represent the first set of pages of memory in a first page cache;
(5) storing a portion of a second memory object in a second set of pages of memory;
(6) generating a second memory object data structure to represent the second memory object; and
(7) organizing page frame data structures that represent the second set of pages of memory in a second page cache.
15 Assignments
0 Petitions
Accused Products
Abstract
A system, method and computer program product for distributing page caches among memory objects and, in a DSM system, among memories in the DSM system. The system, method and computer program product provides a separate page cache for each memory object. Each separate page cache associates page frame data structures that represent pages of memory that store a portion of an associated memory object. A separate mutual exclusion mechanism is provided for each page cache for protecting the integrity of the page caches during page cache operations. Page cache operations, such as adding and deleting page frame data structures, checking and updating state information in page frame data objects, and identifying page frame data objects that correspond to particular memory objects or memory object logical offsets, can be performed for different memory objects in parallel.
57 Citations
45 Claims
-
1. A method for caching page frame data objects in a computer system, the computer system comprising a plurality of pages of memory for storing pages of memory objects and an operating system for generating a page frame data structure for each page of physical memory and for generating a memory object data structure for each memory object, wherein the operating system employs the page frame data structures for representing the pages of physical memory and wherein the operating system employs the memory object data structures for representing the memory objects, the method comprising the step of:
-
(1) generating page frame data structures to represent pages of memory; (2) storing a portion of a first memory object in a first set of pages of memory (3) generating a first memory object data structure to represent the first memory object; (4) organizing page frame data structures that represent the first set of pages of memory in a first page cache; (5) storing a portion of a second memory object in a second set of pages of memory; (6) generating a second memory object data structure to represent the second memory object; and (7) organizing page frame data structures that represent the second set of pages of memory in a second page cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for caching page frame data objects in a computer system, the computer system comprising a plurality of pages of memory for storing pages of memory objects and an operating system for generating a page frame data structure for each page of physical memory and for generating a memory object data structure for each memory object, wherein the operating system employs the page frame data structures for representing the pages of physical memory and wherein the operating system employs the memory object data structures for representing the memory objects, the method comprising the steps of:
-
(1) organizing page frame data structures that represent pages of memory that store pages of a first memory object in a first page cache; (2) organizing page frame data structures that represent pages of memory that store pages of a second memory object in a second page cache; (3) selecting the first page cache for a first page cache operation; and (4) performing the first page cache operation on the first page cache. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A system for caching page frame data objects in a computer system, the computer system comprising a plurality of pages of memory for storing pages of memory objects and an operating system for generating a page frame data structure for each page of physical memory and for generating a memory object data structure for each memory object, wherein the operating system employs the page frame data structures for representing the pages of physical memory and wherein the operating system employs the memory object data structures for representing the memory objects, the system comprising:
-
a module that organizes page frame data structures that represent pages of memory that store pages of a first memory object in a first page cache; a module that organizes page frame data structures that represent pages of memory that store pages of a second memory object in a second page cache; a module that selects the first page cache for a first page cache operation; and a module that performs the first page cache operation on the first page cache. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37)
-
-
38. A computer program product comprising a computer useable medium having computer program logic stored therein, said computer program logic for enabling a computer to generate a separate page of page frame data structures for each memory object, wherein said computer program logic comprises:
-
a procedure that enables the computer to organize page frame data structures that represent pages of memory that store pages of a first memory object in a first page cache; a procedure that enables the computer to organize page frame data structures that represent pages of memory that store pages of a second memory object in a second page cache; a procedure that enables the computer to select the first page cache for a first page cache operation; and a procedure that enables the computer to perform the first page cache operation on the first page cache. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45)
-
Specification