IP Library Granted Patent US 7,181,589
Granted Patent B2
US 7,181,589 · App. 10/835,855 · Granted Feb 20, 2007

System and method for performing address translation in a computer system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,181,589
App. No.
10/835,855
Granted
Feb 20, 2007
Kind
B2
Abstract

An address translation unit generates a physical address for access to a memory from a virtual address using either a translation lookaside buffer or a segmentation buffer. If the virtual address falls within a predetermined range, the address translation unit will use the segmentation buffer to generate the physical address. Upon generation of the physical address, the memory will either receive data from or provide data to a processor in accordance with the instructions being processed by the processor.

Claims (52)

1. A method for performing address translation in a computer system, comprising:

identifying a base virtual address and a block size for a block of memory;

adding the block size to the base virtual address to establish an end virtual address for the block of memory;

receiving an input virtual address to a location in the memory;

determining whether the input virtual address is within a range defined by the base virtual address and the end virtual address;

generating an index to a physical base address in a physical base table in response to the virtual address being within the range, the index being generated by:

subtracting the base virtual address from the input virtual address to obtain a first index result;

subtracting a node block size from the first result to obtain a second index result;

identifying particular bits in the second result to obtain the index;

generating an offset, the offset being generated by:

subtracting the base virtual address from the input virtual address to obtain a first offset result;

dividing the first offset result by the node block size to obtain the offset;

generating a physical address in response to the offset and the physical base address, the physical address being the physical base address plus the offset.

2. The method of claim 1 , further comprising:

generating the physical address from the virtual address through a translation lookaside buffer in response to the virtual address not being within the range.

3. The method of claim 1 , further comprising: repeating the determination of whether the virtual address is within the range for each entry of the physical base table.

4. The method of claim 1 , further comprising:

generating a hit indication in response to the virtual address being in the range.

5. The method of claim 1 , further comprising:

generating a miss indication in response to the virtual address not being in the range.

6. The method of claim 1 , further comprising:

providing access to the location in memory in accordance with the physical address.

7. A system for performing address translation in a computer system, comprising:

a processor operable to generate a virtual address to a memory location;

an address translator operable to generate a physical address in response to the virtual address, the address translator operable to generate the virtual address using a translation buffer in response to the virtual address not being in a predetermined range, the address translator operable to generate the physical address using a segmentation buffer in response to the virtual address being in the range, wherein the address translator implements the method of claim 1 ;

a memory operable to access the memory location from the physical address.

8. The system of claim 7 , wherein the segmentation buffer includes a plurality of entries each having a base virtual address field, a total block size field, a node block size field, a physical base table, a shift field, and an attribute field.

9. The system of claim 8 , wherein the address translator compares the virtual address to the range defined by the base virtual address field and the total block size field.

10. The system of claim 9 , wherein the address translator generates a miss indication in response to the virtual address not being in the range of any entry of the segmentation buffer.

11. The system of claim 9 , wherein the address translator generates a hit indication in response to the virtual address being within the range of any entry of the segmentation buffer.

12. The system of claim 7 , wherein the processor is given access to the memory location identified by the physical address.

13. A system for performing address translation in a computer system, comprising:

means for identifying a base virtual address and a block size for a block of memory;

means for adding the block size to the base virtual address to establish an end virtual address for the block of memory;

means for receiving an input virtual address to a location in the memory;

means for determining whether the input virtual address is within a range defined by the base virtual address and the end virtual address;

means for generating an index to a physical base address in a physical base table in response to the virtual address being within the range, the means for generating the index including:

means for subtracting the base virtual address from the input virtual address to obtain a first index result;

means for subtracting a node block size from the first result to obtain a second index result;

means for identifying particular bits in the second result to obtain the index;

means for generating an offset, the means for generating the offset including:

means for subtracting the base virtual address from the input virtual address to obtain a first offset result;

means for dividing the first offset result by the node block size to obtain the offset;

means for generating a physical address in response to the offset and the physical base address, the physical address being the physical base address plus the offset.

14. The system of claim 13 , further comprising:

means for repeating the determination of whether the virtual address is within the range for each entry of the physical base table.

15. The system of claim 13 , further comprising:

means for generating a hit indication in response to the virtual address being in the range.

16. The system of claim 13 , further comprising:

means for generating a miss indication in response to the virtual address not being in the range.

17. The system of claim 13 , further comprising:

means for providing access to the location in memory in accordance with the physical address.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 040545/0362 →
ORDER. . . AUTHORIZING THE SALE OF ALL OR SUBSTANTIALLY ALL OF THE ASSETS OF THE DEBTORS FREE AND CLEAR OF ALL LIENS, CLAIMS, ENCUMBRANCES, AND INTERESTS. Recorded Jul 25, 2016
From: WELLS FARGO FOOTHILL CAPITAL, INC.
To: SILICON GRAPHICS INC.
Reel/Frame 039461/0418 →
ORDER. . .AUTHORIZING THE SALE OF ALL OR SUBSTANTIALLY ALL OF THE ASSETS OF THE DEBTORS FREE AND CLEAR OF ALL LIENS, CLAIMS, ENCUMBRANCES, AND INTERESTS. Recorded Jul 25, 2016
From: MORGAN STANLEY & CO., INCORPORATED
To: SILICON GRAPHICS, INC.
Reel/Frame 039461/0713 →
SECURITY INTEREST Recorded Mar 13, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035200/0722 →
MERGER Recorded Jan 22, 2015
From: SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 034804/0437 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2015
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 034804/0446 →
CHANGE OF NAME Recorded Jan 22, 2015
From: SILICON GRAPHICS INTERNATIONAL, INC.
To: SGI INTERNATIONAL, INC.
Reel/Frame 034804/0661 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2012
From: MILLER, STEVEN C.; DENEROFF, MARTIN M.; SCHIMMEL, CURT F.
To: SILICON GRAPHICS, INC.
Reel/Frame 028871/0749 →