Using Shared Virtual Memory Resources for Performing Memory-Mapping
First Claim
1. A method, implemented by a computer system, for providing memory-mapped access to data items, comprising:
- receiving a request from a first entity to access an information unit, as a memory-mapped resource;
creating shared virtual memory resources for use in interacting with data items provided by the information unit;
receiving a request from a second entity to access the same information unit, as a memory-mapped resource; and
associating the second entity with the same shared virtual memory resources.
3 Assignments
0 Petitions
Accused Products
Abstract
Functionality is described herein for memory-mapping an information unit (such as a file) into virtual memory by associating shared virtual memory resources with the information unit. The functionality then allows processes (or other entities) to interact with the information unit via the shared virtual memory resources, as opposed to duplicating separate private instances of the virtual memory resources for each process that requests access to the information unit. The functionality also uses a single level of address translation to convert virtual addresses to corresponding physical addresses. In one implementation, the information unit is stored on a bulk-erase type block storage device, such as a flash storage device; here, the single level of address translation incorporates any address mappings identified by wear-leveling and/or garbage collection processing, eliminating the need for the storage device to perform separate and independent address mappings.
75 Citations
20 Claims
-
1. A method, implemented by a computer system, for providing memory-mapped access to data items, comprising:
-
receiving a request from a first entity to access an information unit, as a memory-mapped resource; creating shared virtual memory resources for use in interacting with data items provided by the information unit; receiving a request from a second entity to access the same information unit, as a memory-mapped resource; and associating the second entity with the same shared virtual memory resources. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer system for providing access to data items, comprising:
-
main memory for physically storing data items; an extended memory device for also physically storing data items; and a management system configured to; provide shared virtual memory, selected from within a larger available region of virtual memory, for use in representing data items provided by at least one information unit; provide a set of the shared tables for converting virtual addresses that fall within the shared virtual memory to physical addresses, the shared virtual memory and the corresponding set of shared tables corresponding to shared virtual memory resources; and provide access, to at least two entities, to data items provided by said at least one information unit, via the shared virtual memory resources. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer readable storage medium for storing computer readable information, the computer readable information providing a management system when executed by one or more processing devices, the computer readable information comprising:
-
shared virtual memory resources for shared use by entities, the shared virtual memory resources representing at least one information unit that has been memory-mapped into virtual memory; non-shared virtual memory resources for non-shared use by each respective entity; and an entity interaction module configured to allow plural entities to access said at least one information unit using the shared virtual memory resources, the shared virtual memory resources incorporating address translation associated with wear-leveling and/or garbage collection. - View Dependent Claims (19, 20)
-
Specification