Virtual memory address translation mechanism with combined hash address table and inverted page table
First Claim
1. A data processing system comprising:
- a central processing unit for accessing information stored in page frames by providing a virtual memory address from a virtual memory address space, said virtual memory address space including a plurality of page frame addresses,a first memory for storing information organized as a plurality of page frames and accessible by memory addresses represented by a real memory address space and wherein the virtual memory address space includes a substantially larger number of page frames than the real memory address space;
means connected to the central processing unit and the first memory for converting virtual memory addresses received from the central processing unit into real memory addresses for accessing information from single page frames from said first memory, said converting means including;
means for hashing a selected virtual address to produce a hashed address;
a first table having a list of hashed addresses each with a corresponding predetermined initial virtual address and a pointer to an entry in a second table;
said second table having a list of virtual addresses corresponding to the initial virtual addresses in the first table and further having a location in the second table corresponding directly to a unique page frame in the real memory address space and each virtual address including a corresponding link address, said link address connecting a plurality of noncontiguous virtual addresses that when hashed produce the same hashed address; and
means for receiving an input virtual memory address, hashing said input virtual memory address with said hashing means to produce an input hashed address, selecting a location in said first table in accordance with said input hashed address, searching the corresponding linked addressed locations until the input virtual memory address is located, locating the corresponding input virtual address in the second table and its corresponding real address.
0 Assignments
0 Petitions
Accused Products
Abstract
A virtual memory address translation mechanism is provided for converting virtual memory addresses provided by a CPU into real memory addresses within page frames in a large hierachial memory wherein the real memory space is substantially smaller than the scope of the virtual memory. The conversion or translation mechanism includes a combined table in the memory which includes a first list covering the respective virtual address of each memory address (Inverted Page Table or IPT) and a second list connecting each of a plurality of hashed addresses with a predetermined initial virtual address of a linked group of virtual addresses, each of which when hashed produces the connected hashed address (Hashed Addressed Table, HAT). The system also has means for hashing a selected virtual address to produce a hashed address. Also included is apparatus for sequentially searching through the linked group of virtual addresses in the combined table until a selected virtual address is located as well as apparatus responsive to the location of a particular selected virtual address for accessing from the first list, the real memory address of the located virtual address.
135 Citations
14 Claims
-
1. A data processing system comprising:
-
a central processing unit for accessing information stored in page frames by providing a virtual memory address from a virtual memory address space, said virtual memory address space including a plurality of page frame addresses, a first memory for storing information organized as a plurality of page frames and accessible by memory addresses represented by a real memory address space and wherein the virtual memory address space includes a substantially larger number of page frames than the real memory address space; means connected to the central processing unit and the first memory for converting virtual memory addresses received from the central processing unit into real memory addresses for accessing information from single page frames from said first memory, said converting means including; means for hashing a selected virtual address to produce a hashed address; a first table having a list of hashed addresses each with a corresponding predetermined initial virtual address and a pointer to an entry in a second table; said second table having a list of virtual addresses corresponding to the initial virtual addresses in the first table and further having a location in the second table corresponding directly to a unique page frame in the real memory address space and each virtual address including a corresponding link address, said link address connecting a plurality of noncontiguous virtual addresses that when hashed produce the same hashed address; and means for receiving an input virtual memory address, hashing said input virtual memory address with said hashing means to produce an input hashed address, selecting a location in said first table in accordance with said input hashed address, searching the corresponding linked addressed locations until the input virtual memory address is located, locating the corresponding input virtual address in the second table and its corresponding real address. - View Dependent Claims (2, 3, 4)
-
-
5. In a data processing system having a central processing unit for accessing information stored in page frames by providing a virtual memory address from a virtual memory address space, said virtual memory address space including a plurality of page frame addresses, a first memory for storing information organized as a plurality of page frames and accessible by memory addresses represented by a real memory address space and wherein the virtual memory address space includes a substantially larger number of page frames than the real memory address space, the first memory also including a first table having a list of hashed addresses each with a corresponding predetermined initial virtual address and a pointer to an entry to a second table and said second table having a list of virtual addresses corresponding to the initial virtual addresses in the first table and further having a location in the second table corresponding directly to a unique page frame in the real memory address space and each virtual address including a corresponding link address, said link address connecting a plurality of noncontiguous virtual addresses that when hashed produce the same hashed address, a method for converting an input virtual address to a corresponding real address, said method comprising the steps of:
-
hashing the input virtual address to produce an input hashed address; selecting a location in the first table in accordance with the input hashed address; searching the linked addressed locations to locate the input virtual address; and locating in the second table the corresponding virtual address and its corresponding real address. - View Dependent Claims (6, 7)
-
-
8. A data processing system comprising:
-
a central processing unit for accessing information stored in page frames by providing a virtual memory address from a virtual memory address space, said virtual memory address space including a plurality of page frame addresses, a first memory for storing information organized as a plurality of page frames and accessible by memory addresses represented by a real memory address space and wherein the virtual memory address space includes a substantially larger number of page frames than the real memory address space; means connected to the central processing unit and the first memory for converting virtual memory addresses received from the central processing unit into real memory addresses for accessing inforamtion from single page frames from said first memory, said converting means including; means for hashing a selected virtual address to produce a hashed address; a first table having a list of hashed addresses each with a corresponding predetermined initial virtual address and a pointer to an entry in a second table; said second table having a list of virtual addresses corresponding to the initial virtual addresses in the first table and further having a location in the second table corresponding directly to a unique page frame address in the real memory address space and each virtual address including a corresponding link address, said link address connecting a plurality of noncontiguous virtual addresses that when hashed produce the same hashed address and wherein each of said linking addresses is the address of the next connected virtual address in the second table; and means for receiving an input virtual memory address, hashing said input virtual memory address with said hashing means to produce an input hashed address, selecting a location in said first table in accordance with said input hashed address, searching the corresponding linked addressed locations until the input virtual memory address is located, locating the corresponding input virtual address in the second table and its corresponding real address. - View Dependent Claims (9, 10, 11)
-
-
12. In a data processing system having a central processing unit for accessing information stored in page frames by providing a virtual memory address from a virtual memory address space, said virtual memory address space including a plurality of page frame addresses, a first memory for storing information organized as a plurality of page frames and accessible by memory addresses represented by a real memory address space and wherein the virtual memory address space includes a substantially larger number of page frames than the real memory address space, the first memory also including a first table having a list of hashed addresses each with a corresponding predetermined initial virtual address and a pointer to an entry to a second table and said second table having a list of virtual addresses corresponding to the initial virtual addresses in the first table and further having locations in the second table corresponding directly to page frame addresses in the realmemory address space and each virtual address including a corresponding link address, said link address connecting a plurality of noncontiguous virtual addresses than when hashed produce the same hashed address and wherein each of said linking addresses is the address of the next connected virtual address in the second table, a method for converting an input virtual address to a corresponding real address, said method comprising the steps of:
-
hashing the input virtual address to produce an input hashed address; selecting a location in the first table in accordance with the input hashed address; seaching the linked addressed locations to locate the input virtual address; and locating in the second table the corresponding virtual address and its corresponding real address. - View Dependent Claims (13, 14)
-
Specification