Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
First Claim
1. An apparatus for virtual memory mapping for a computer system having at least one permanent storage device for storing data, a virtual memory system defining a virtual address space and including at least one cache memory for temporarily storing data addressed by physical addresses, and a processing unit, the processing unit including means for requesting data utilizing a virtual address to access said data in the at least one cache memory, the virtual memory system including means for mapping virtual addresses to physical addresses, and means for detecting when access to data requested by the means for requesting is not permitted at the virtual address utilized by the means for requesting, said apparatus comprising:
- means, operative in response to a detection by said means for detecting that access to the requested data is not permitted, for determining if the requested data is in the at least one cache memory,means for transferring the requested data from the at least one permanent storage device to the at least one cache memory, operative in response to a determination by said means for determining that the requested data is not in the at least one cache memory, andmeans, operative in response to a determination that the requested data is in the at least one cache memory, for instructing the means for mapping to map the virtual address of the requested data to the physical address of the requested data in the at least one cache memory and for permitting access to the requested data.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method are provided for virtual memory mapping and transaction management in an object-oriented database system having permanent storage for storing data in at least one database, at least one cache memory for temporarily storing data, and a processing unit which runs application programs which request data using virtual addresses. The system performs data transfers in response to memory faults resulting from requested data not being available at specified virtual addressed and performs mapping of data in cache memory. The data in the database may include pointers containing persistent addresses, which pointers are relocated between persistent addresses and virtual addresses. When a data request is made, either for read or write, from a given client computer in a system, other client computers in the system are queried to determine if the requested data is cached and/or locked in a manner inconsistent with the requested use, and the inconsistent caching is downgraded or the transfer delayed until such downgrading can be performed.
116 Citations
108 Claims
-
1. An apparatus for virtual memory mapping for a computer system having at least one permanent storage device for storing data, a virtual memory system defining a virtual address space and including at least one cache memory for temporarily storing data addressed by physical addresses, and a processing unit, the processing unit including means for requesting data utilizing a virtual address to access said data in the at least one cache memory, the virtual memory system including means for mapping virtual addresses to physical addresses, and means for detecting when access to data requested by the means for requesting is not permitted at the virtual address utilized by the means for requesting, said apparatus comprising:
-
means, operative in response to a detection by said means for detecting that access to the requested data is not permitted, for determining if the requested data is in the at least one cache memory, means for transferring the requested data from the at least one permanent storage device to the at least one cache memory, operative in response to a determination by said means for determining that the requested data is not in the at least one cache memory, and means, operative in response to a determination that the requested data is in the at least one cache memory, for instructing the means for mapping to map the virtual address of the requested data to the physical address of the requested data in the at least one cache memory and for permitting access to the requested data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 71)
-
-
38. A method for virtual memory mapping and transaction management for a database system having at least one permanent storage means for storing data in at least one database, a virtual memory system defining a virtual address space and including at least one cache memory for temporarily storing data addressed by physical addresses and means for mapping virtual addresses to physical addresses, and a processing unit, the processing unit including means for requesting data utilizing a virtual address to access said data in the at least one cache memory, said method comprising the steps of:
-
detecting, using the virtual memory system, when access to data requested by the means for requesting is not permitted at the virtual address utilized by the means for requesting, determining if the requested data is in the at least one cache memory in response to a detection that access to the requested data is not permitted, transferring the requested data from the at least one permanent storage means to the at least one cache memory, when the requested data is not in the at least one cache memory, instructing the means for mapping to map the virtual address of the requested data to the physical address of the requested data in the at least one cache memory, and permitting access to the requested data. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70)
-
-
72. An apparatus for virtual memory mapping for a computer system having a permanent storage device for storing data, a virtual memory system defining a virtual address space and including a cache memory for temporarily storing data addressed by physical addresses, and a processing unit, the processing unit including a data requesting mechanism that requests data utilizing a virtual address to access said data in the cache memory, the virtual memory system including a virtual memory map that maps virtual addresses to physical addresses, and a virtual memory fault detector that detects when access to data requested by the data requesting mechanism is not permitted at the virtual address utilized by the data requesting mechanism, said apparatus comprising:
-
a status detection mechanism having an input coupled to the virtual memory fault detector for receiving an indication therefrom that access to the requested data is not permitted, and an output for outputting a determination indicating whether the requested data is in the cache memory, a data transfer controller coupled between the permanent storage device and the cache memory, and having an input coupled to the status detection mechanism, which transfers the requested data from the permanent storage device to the cache memory when the input receives a determination by said status detection mechanism that the requested data is not in the cache memory, and a mapping instruction device having an input coupled to the data transfer controller, and an output coupled to the virtual memory system, the mapping instruction device instructing the virtual memory system, to map the virtual address of the requested data to the physical address of the requested data in the cache memory and permitting access to the requested data when a determination that the requested data is in the cache memory is received. - View Dependent Claims (73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108)
-
Specification