Patent US5708790A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5708790A Expired / Lapsed US ⏱️ 0.0 years remaining

Virtual memory mapping method and system for address translation mapping of logical memory partitions for BAT and TLB entries in a data processing system

Assignee: International Business Machines Corp
•
Filing: 1995-12-12
•
Granted: 1998-01-13
•
Expires: 2015-12-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for address translation mapping of logical partitions for address translation buffer entries in a data processing system is provided. The method comprises receiving a logical address for a memory reference to a selected logical partition of a plurality of logical partitions of a particular block of virtual memory, wherein the block of virtual memory is divided into the plurality of logical partitions, and wherein the logical address includes a plurality of logical partition selection bits selecting the selected logical partition from among the plurality of logical partitions. If the selected logical partition is valid in real memory, as indicated by a logical partition valid bit associated with the selected logical partition, a physical address for the memory reference in the selected logical partition is compiled from an entry of an address translation buffer that is associated with the particular block of virtual memory, wherein the logical partition valid bit is one of a plurality of logical partitions valid bits contained in the entry associated with the particular block of virtual memory, the plurality of logical partition valid bits being associated with the plurality of logical partitions. Thereafter, the memory reference within the selected logical partition is retrieved at the compiled physical address.

Inventors

  • 👤 Steven W. White
  • 👤 G. Jeanette McWilliams
  • 👤 Jack Wayne Kemp

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 14:13
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 229 words
A method for address translation mapping of logical partitions for address translation buffer entries in a data processing system, the method comprising the steps of: receiving a logical address for a memory reference to a selected logical partition among a plurality of logical partitions of a particular block of virtual memory, wherein the block of virtual memory is divided into the plurality of logical partitions, and wherein the logical address includes a plurality of logical partition selection bits selecting the selected logical partition from among the plurality of logical partitions; if the selected logical partition is valid in real memory, as indicated by a logical partition valid bit associated with the selected logical partition, compiling a physical address for the memory reference in the selected logical partition from an entry of an address translation buffer that is associated with the particular block of virtual memory regardless of whether logical partitions of said particular block other than said selected logical partition are valid within said real memory, wherein the logical partition valid bit is one of a plurality of logical partitions valid bits contained in the entry associated with the particular block of virtual memory, the plurality of logical partition valid bits each being associated with a respective one of the plurality of logical partitions; and retrieving the memory reference within the selected logical partition at the compiled physical address.
Claim 2
Independent Claim 229 words
A method for address translation mapping of logical partitions for address translation buffer entries in a data processing system, the method comprising the steps of: receiving a logical address for a memory reference to a selected logical partition among a plurality of logical partitions of a particular block of virtual memory, wherein the block of virtual memory is divided into the plurality of logical partitions, and wherein the logical address includes a plurality of logical partition selection bits selecting the selected logical partition from among the plurality of logical partitions; if the selected logical partition is valid in real memory, as indicated by a logical partition valid bit associated with the selected logical partition, compiling a physical address for the memory reference in the selected logical partition from an entry of an address translation buffer that is associated with the particular block of virtual memory regardless of whether logical partitions of said particular block other than said selected logical partition are valid within said real memory, wherein the logical partition valid bit is one of a plurality of logical partitions valid bits contained in the entry associated with the particular block of virtual memory, the plurality of logical partition valid bits each being associated with a respective one of the plurality of logical partitions; and retrieving the memory reference within the selected logical partition at the compiled physical address.
Claim 3
Dependent Claim 101 words
A method for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 1, wherein a logical address includes a virtual block number for the particular block of virtual memory, and wherein each entry includes a virtual block number for an associated block of memory and a real block number addressing the associated block in real memory, and wherein an entry is associated with a particular block of virtual memory when the virtual block number for the particular block of virtual memory and the virtual block number for the entry are equal.
Claim 4
Dependent Claim 50 words
A method for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 1, wherein the step of compiling comprises concatenating the real block number with the logical partition selection bits and a real address offset to form a physical address.
Claim 5
Dependent Claim 93 words
A method for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 1, further comprising the steps of: if said plurality of logical partition valid bits indicate that none of said plurality of logical partitions of said particular block of virtual memory is valid within said real memory, storing into the real memory the selected logical partition for the received logical address, and creating an entry in the address translation buffer for the particular block of memory addressed by the received logical address.
Claim 6
Dependent Claim 106 words
A method for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 1, further comprising the steps of: if said plurality of logical partition valid bits indicate that at least one logical partition of said particular block other than said selected logical partition is valid within the real memory, storing into the real memory the selected logical partition addressed by the received logical address, and updating the plurality of logical partition valid bits in the entry corresponding to the particular block of memory to indicate that the selected logical partition is contained in the real memory.
Claim 7
Dependent Claim 63 words
A method for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 4, and further comprising the step of accessing said selected logical partition in the real memory prior to storing, into said real memory, another of said plurality of logical partitions in the block of memory addressed by the received logical address.
Claim 8
Independent Claim 227 words
A system for address translation mapping of logical partitions for address translation buffer entries in a data processing system, said system comprising: means for receiving a logical address for a memory reference to a selected logical partition among a plurality of logical partitions of a particular block of virtual memory, wherein the block of virtual memory is divided into the plurality of logical partitions, and wherein the logical address includes a plurality of logical partition selection bits selecting the selected logical partition from among the plurality of logical partitions; means, responsive to the selected logical partition being valid in real memory, as indicated by a logical partition valid bit associated with the selected logical partition, for compiling a physical address for the memory reference in the selected logical partition from an entry of an address translation buffer that is associated with the particular block of virtual memory regardless of whether logical partitions of said particular block other than said selected logical partition are valid within said real memory, wherein the logical partition valid bit is one of a plurality of logical partitions valid bits contained in the entry associated with the particular block of virtual memory that are each associated with a respective one of the plurality of logical partitions; and means for retrieving the memory reference within the selected logical partition at the compiled physical address.
Claim 9
Independent Claim 227 words
A system for address translation mapping of logical partitions for address translation buffer entries in a data processing system, said system comprising: means for receiving a logical address for a memory reference to a selected logical partition among a plurality of logical partitions of a particular block of virtual memory, wherein the block of virtual memory is divided into the plurality of logical partitions, and wherein the logical address includes a plurality of logical partition selection bits selecting the selected logical partition from among the plurality of logical partitions; means, responsive to the selected logical partition being valid in real memory, as indicated by a logical partition valid bit associated with the selected logical partition, for compiling a physical address for the memory reference in the selected logical partition from an entry of an address translation buffer that is associated with the particular block of virtual memory regardless of whether logical partitions of said particular block other than said selected logical partition are valid within said real memory, wherein the logical partition valid bit is one of a plurality of logical partitions valid bits contained in the entry associated with the particular block of virtual memory that are each associated with a respective one of the plurality of logical partitions; and means for retrieving the memory reference within the selected logical partition at the compiled physical address.
Claim 10
Dependent Claim 101 words
A system for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 7, wherein a logical address includes a virtual block number for the particular block of virtual memory, and wherein each entry includes a virtual block number for an associated block of memory and a real block number addressing the associated block in real memory, and wherein an entry is associated with a particular block of virtual memory when the virtual block number for the particular block of virtual memory and the virtual block number for the entry are equal.
Claim 11
Dependent Claim 53 words
A system for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 7, wherein the means for compiling comprises means for concatenating the real 4 block number with the logical partition selection bits and a real address offset to form a physical address.
Claim 12
Dependent Claim 89 words
A system for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 7, further comprising means, responsive to said plurality of logical partition valid bits indicating that none of said plurality of logical partition of said particular block is valid within the real memory, for storing into the real memory the selected logical partition for the received logical address, and creating an entry in the address translation buffer for the block of memory addressed by the received logical address.
Claim 13
Dependent Claim 111 words
A system for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 7, further comprising means, responsive to said .plurality of logical partition valid bits indicating that at least one logical partition of said particular block other than said selected logical partition is valid within the real memory, for storing into the real memory the selected logical partition addressed by the received logical address, and updating the plurality of logical partition valid bits in the entry corresponding to the block of memory addressed by the received logical address to indicate that the selected logical partition is contained in the real memory.
Claim 14
Dependent Claim 63 words
A system for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 7, said system further comprising means for accessing said selected logical partition in the real memory prior to storing, into said real memory, another of said plurality of logical partitions in the block of memory addressed by the received logical address.
Claim 15
Independent Claim 299 words
A method for address translation mapping of logical partitions for address translation buffer entries in a data processing system, the method comprising the steps of: receiving a logical address for a memory reference to a selected logical partition of a particular block of virtual memory, wherein the particular block of virtual memory is divided into a plurality of logical partitions, and wherein a logical address includes a virtual block number addressing the block of memory in virtual memory space, a plurality of logical partition selection bits selecting the selected logical partition within the block of memory, and a real address offset; determining if there is a match between the virtual block number of the received logical address and a virtual block number for any entry in an address translation buffer, wherein each entry in the address translation buffer is associated with a block of virtual memory and includes a virtual block number, a real block number addressing the block of memory in real memory, and a plurality of logical partition valid bits, wherein a logical partition of the block of virtual memory is indicated as valid in real memory by an associated logical partition valid bit of!among the plurality of logical partition valid bits; and if there is a match of the virtual block numbers for the received logical address and an entry in the address translation buffer and if the selected logical partition is indicated as valid by the associated logical partition valid bit, combining the real block number with the logical partition selection bits and the real address offset to form a physical address in real memory for the memory reference in the selected logical partition, regardless of whether logical partitions of said particular block other than said selected logical partition are valid within said real memory.
Claim 16
Independent Claim 299 words
A method for address translation mapping of logical partitions for address translation buffer entries in a data processing system, the method comprising the steps of: receiving a logical address for a memory reference to a selected logical partition of a particular block of virtual memory, wherein the particular block of virtual memory is divided into a plurality of logical partitions, and wherein a logical address includes a virtual block number addressing the block of memory in virtual memory space, a plurality of logical partition selection bits selecting the selected logical partition within the block of memory, and a real address offset; determining if there is a match between the virtual block number of the received logical address and a virtual block number for any entry in an address translation buffer, wherein each entry in the address translation buffer is associated with a block of virtual memory and includes a virtual block number, a real block number addressing the block of memory in real memory, and a plurality of logical partition valid bits, wherein a logical partition of the block of virtual memory is indicated as valid in real memory by an associated logical partition valid bit of!among the plurality of logical partition valid bits; and if there is a match of the virtual block numbers for the received logical address and an entry in the address translation buffer and if the selected logical partition is indicated as valid by the associated logical partition valid bit, combining the real block number with the logical partition selection bits and the real address offset to form a physical address in real memory for the memory reference in the selected logical partition, regardless of whether logical partitions of said particular block other than said selected logical partition are valid within said real memory.
Claim 17
Dependent Claim 43 words
A method for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 13, further comprising the step of retrieving the memory reference in the selected logical partition addressed by the formed physical address.
Claim 18
Dependent Claim 99 words
A method for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 13, if there is not a match of the virtual block number of the received logical address and the virtual block number of any entry in the address translation buffer, further comprising the steps of storing into the real memory the selected logical partition for the received logical address, and creating an entry in the address translation buffer for the block of memory addressed by the received logical address with the associated partition valid bit being set.
Claim 19
Dependent Claim 106 words
A method for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 13, when the selected logical partition is not indicated as valid in an entry having a match with the virtual block number of the received logical address, further comprising the steps of storing into the real memory the block of memory addressed by the received logical address, and updating the plurality of logical partition valid bits in the entry corresponding to the block of memory addressed by the received logical address to indicate that the selected logical partition is contained in the real memory.
Claim 20
Dependent Claim 62 words
A method for address translation mapping of logical partitions for address translation buffer entries in a data processing system according to claim 13, wherein the step of combining is performed by concatenating the real block number with the plurality of logical partition selection bits and a real address offset to form a physical address for the selected partition of the memory reference.
Claim 21
Dependent Claim 370 words
A virtual memory mapping system for translating a logical address for a memory reference to a block of virtual memory into a physical address for the memory reference in real memory, wherein the block of virtual memory is divided into a plurality of logical partitions, and wherein a logical address includes a virtual block number addressing the block of memory in virtual memory space, a plurality of logical partition selection bits selecting the selected logical partition within the block of memory, and a real address offset, the virtual memory mapping system comprising: an address translation buffer containing a plurality of entries, wherein each entry in the address translation buffer is associated with a block of virtual memory and includes a virtual block number, a real block number addressing the block of memory in real memory, and a plurality of logical partition valid bits, wherein a logical partition of the block of virtual memory is indicated as valid in real memory by an associated logical partition valid bit among the plurality of logical partition valid bits; means for combining the real block number with the logical partition selection bits and the real address offset to form a physical address in real memory for the memory reference in the selected logical partition, when the selected logical partition is indicated as valid by the associated logical partition valid bit; a comparator that receives a logical address for a memory reference to a selected logical partition of a block of virtual memory and determines if there is a match between the virtual block number of the received logical address and a virtual block number for any entry in the address translation buffer; selection means for selecting the logical partition valid bit associated with the selected logical partition; and a physical address register that receives and stores the real block number, the logical partition selection bits and the real address offset as a physical address to the real memory for the memory reference, when the logical partition valid bit associated with the selected logical partition indicates the selected partition is valid in real memory regardless of whether logical partitions of said particular block other than said selected logical partition are valid within said real memory.
Claim 22
Dependent Claim 370 words
A virtual memory mapping system for translating a logical address for a memory reference to a block of virtual memory into a physical address for the memory reference in real memory, wherein the block of virtual memory is divided into a plurality of logical partitions, and wherein a logical address includes a virtual block number addressing the block of memory in virtual memory space, a plurality of logical partition selection bits selecting the selected logical partition within the block of memory, and a real address offset, the virtual memory mapping system comprising: an address translation buffer containing a plurality of entries, wherein each entry in the address translation buffer is associated with a block of virtual memory and includes a virtual block number, a real block number addressing the block of memory in real memory, and a plurality of logical partition valid bits, wherein a logical partition of the block of virtual memory is indicated as valid in real memory by an associated logical partition valid bit among the plurality of logical partition valid bits; means for combining the real block number with the logical partition selection bits and the real address offset to form a physical address in real memory for the memory reference in the selected logical partition, when the selected logical partition is indicated as valid by the associated logical partition valid bit; a comparator that receives a logical address for a memory reference to a selected logical partition of a block of virtual memory and determines if there is a match between the virtual block number of the received logical address and a virtual block number for any entry in the address translation buffer; selection means for selecting the logical partition valid bit associated with the selected logical partition; and a physical address register that receives and stores the real block number, the logical partition selection bits and the real address offset as a physical address to the real memory for the memory reference, when the logical partition valid bit associated with the selected logical partition indicates the selected partition is valid in real memory regardless of whether logical partitions of said particular block other than said selected logical partition are valid within said real memory.
Claim 23
Dependent Claim 30 words
A virtual memory mapping system according to claim 18, further comprising a main memory that outputs the memory reference in the selected logical partition addressed by the formed physical address.
Claim 24
Dependent Claim 83 words
A virtual memory mapping system according to claim 18, further comprising a main memory capable of storing the selected partition of the block of memory addressed by the received logical address, and wherein the address translation buffer creates an entry for the block of memory addressed by the received logical address, when the comparator determines there is not a match of the virtual block number of the received logical address and the virtual block number of any entry in the address translation buffer.
Claim 25
Dependent Claim 99 words
A virtual memory mapping system according to claim 18, further comprising a main memory capable of storing the block of memory addressed by the received logical address, and wherein the address translation buffer updates the plurality of logical partition valid bits in the entry corresponding to the block of memory addressed by the received logical address to indicate that the selected logical partition of the block of memory is contained in real memory, when the selected logical partition is not indicated as valid in an entry having a match with the virtual block number of the received logical address.
Claim 26
Dependent Claim 45 words
A virtual memory mapping system according to claim 18, wherein the physical address register concatenates the real block number with the plurality of logical partition selection bits and a real address offset to form a physical address for the selected partition of the memory reference.

References Cited (Backward Citations)

US4754394A Cited
US4855900A Cited
US5109485A Cited
US5210844A Cited
US5058003A Cited
US5117350A Cited
US5450558A Cited
US5442766A Cited
US5535351A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-01-12 2001-07-14 2002-01-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-01-12 2005-07-14 2006-01-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-01-12 2009-07-14 2010-01-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag