Sparse matrix paging system
First Claim
1. A data processing system, comprising:
- one or more requesters for accessing data by providing a corresponding first address from a first address range;
a sparse matrix paging system for converting the first address provided by the one or more requesters to a second address of a second address range, wherein the second address range is smaller than the first address range; and
wherein the first address is an absolute address.
13 Assignments
0 Petitions
Accused Products
Abstract
A sparse matrix paging system is provided that dynamically allocates memory resources on demand. In some cases, this is accomplished by dynamically allocating memory resources, preferably only after a page has been requested. Such a sparse matrix paging system may allow a platform with a large linear address space to more efficiently execute on a platform with a smaller linear address space. Preferably, the sparse matrix paging system only indexes those pages that are actually requested and used in the address space on main store pages or backing store pages. Further, the backing store is preferably not involved unless the total address space allocated by the operating system exceeds the available main store pages.
-
Citations
24 Claims
-
1. A data processing system, comprising:
-
one or more requesters for accessing data by providing a corresponding first address from a first address range; a sparse matrix paging system for converting the first address provided by the one or more requesters to a second address of a second address range, wherein the second address range is smaller than the first address range; and wherein the first address is an absolute address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for accessing data, the method comprising the steps of:
-
requesting data by providing a first address from a first address range; converting the first address to a second address of a second address range through indexing, wherein the second address range is smaller than the first address range, and wherein the second address corresponds to an indexed storage page, the storage pages being stored in a main memory and/or a backing store; wherein the converting step uses one or more levels of index tables, wherein at least one of the levels of index tables is hashed using, at least in part, the first address provided by the requesting step, and dynamically creating another index table level when a predetermined threshold is reached; only indexing those storage pages that are requested by the requesting step; and only storing pages on the backing store after the storage capacity of the main memory is reached.
-
-
18. A data processing system, comprising:
-
one or more requestors for accessing data by providing a corresponding first address from a first address range; a sparse matrix paging system for converting the first address provided by the one or more requestors to a second address of a second address range, wherein the second address range is smaller than the first address range; and wherein the second address is a virtual address.
-
-
19. A data processing system, comprising:
-
one or more requesters for accessing data by providing a corresponding first address from a first address range; a sparse matrix paging system for converting the first address provided by the one or more requestors to a second address of a second address range, wherein the second address range is smaller than the first address range; and an operating system, wherein the sparse matrix paging system is implemented as an emulator that is separate from the operating system.
-
-
20. A data processing system, comprising:
-
one or more requesters for accessing data by providing a corresponding first address from a first address range; a sparse matrix paging system for converting the first address provided by the one or more requestors to a second address of a second address range, wherein the second address range is smaller than the first address range; and wherein the sparse matrix paging system includes one or more levels of index tables wherein at least some of the one or more levels of index tables are hashed using, at least in part, the first address provided by the one or more requesters, and wherein the sparse matrix paging system dynamically creates another index table level when a first predetermined threshold is reached. - View Dependent Claims (21)
-
-
22. A method for accessing data, the method comprising the steps of:
-
requesting data by providing a first address from a first address range; converting the first address to a second address of a second address range through indexing, wherein the second address range is smaller than the first address range, and wherein the second address corresponds to an indexed storage page, the storage pages being stored in a main memory and/or a backing store; wherein the converting step uses one or more levels of index tables, wherein at least one of the levels of index tables is hashed using, at least in part, the first address provided by the requesting step, and dynamically eliminating an index table level when a predetermined threshold is reached; only indexing those storage pages that are requested by the requesting step; and only storing pages on the backing store after the storage capacity of the main memory is reached.
-
-
23. A method for accessing data, the method comprising the steps of:
-
requesting data by providing a first address from a first address range; converting the first address to a second address of a second address range through indexing, wherein the second address range is smaller than the first address range, and wherein the second address corresponds to an indexed storage page, the storage pages being stored in a main memory and/or a backing store; wherein the converting step uses one or more levels of index tables, wherein at least one of the levels of index tables is hashed using, at least in part, the first address provided by the requesting step, and dynamically eliminating a storage page if the storage page has been squashed; only indexing those storage pages that are requested by the requesting step; and only storing pages on the backing store after the storage capacity of the main memory is reached.
-
-
24. A method for accessing data, the method comprising the steps of:
-
requesting data by providing a first address from a first address range; converting the first address to a second address of a second address range through indexing, wherein the second address range is smaller than the first address range, and wherein the second address corresponds to an indexed storage page, the storage pages being stored in a main memory and/or a backing store; wherein the converting step uses one or more levels of index tables, wherein at least one of the levels of index tables is hashed using, at least in part, the first address provided by the requesting step, and selectively eliminating a storage page if the storage page is a least recently used page; only indexing those storage pages that are requested by the requesting step; and only storing pages on the backing store after the storage capacity of the main memory is reached.
-
Specification