IP Library Granted Patent US 6,931,510
Granted Patent B1
US 6,931,510 · App. 09/629,085 · Granted Aug 16, 2005

Method and system for translation lookaside buffer coherence in multiprocessor systems

Assignee: Sun Microsystems, Inc.
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 6,931,510
App. No.
09/629,085
Granted
Aug 16, 2005
Kind
B1
Abstract

This invention is an apparatus, method, and system for translational lookaside buffer coherency in computer systems having a plurality of processors, each having an associated TLB for storing address translation data, and the computer system having a plurality of independent paths upon which the plurality of processors are distributed and a TLB message transmitted on said plurality of independent paths.

Claims (53)

1. A method for maintaining translation lookaside buffer (“TLB”) coherency in a computer system having a plurality of processors, each of the processors having an associated TLB for storing address translation data, the system having a main communication network coupled to the plurality of processors, said method comprising:

accessing a virtual address in a first TLB associated with one of the plurality of processors;

performing an operation on the first TLB based on the accessed virtual address and a physical address corresponding to the accessed virtual address;

generating a TLB message in response to a change in contents of the first TLB caused by the operation performed on the first TLB, the TLB message comprising an access request and at least one of the accessed virtual address and the corresponding physical address;

sending the TLB message to the plurality of processors other than the processor associated with the first TLB via the main communication network; and

determining, at each of the plurality of processors other than that associated with the first TLB, if the TLB message affects the address translation data stored in the associated TLB in response to receiving the TLB message

wherein the operation causing a change in contents of the first TLB includes:

inputting a first entry into the first TLB when a physical address corresponding to the virtual address is not located in the first TLB;

moving a second entry from the first TLB to another location within the computer system, the second entry associated with a physical address corresponding to the virtual address; and

removing a third entry from the first TLB, the third entry associated with a physical address corresponding to the virtual address.

2. A method for maintaining translation lookaside buffer (“TLB”) coherency in a computer system having a plurality of processors, each of the processors having an associated TLB for storing address translation data, the system having a main communication network coupled to the plurality of processors, said method comprising:

accessing a virtual address in a first TLB associated with one of the plurality of processors;

performing an operation on the first TLB based on the accessed virtual address and a physical address corresponding to the accessed virtual address;

generating a TLB message in response to a change in contents of the first TLB caused by the operation performed on the first TLB, the TLB message comprising an access request and at least one of the accessed virtual address and the corresponding physical address;

sending the TLB message to the plurality of processors other than the processor associated with the first TLB via the main communication network; and

determining, at each of the plurality of processors other than that associated with the first TLB, if the TLB message affects the address translation data stored in the associated TLB in response to receiving the TLB message, wherein the TLB message comprises:

a request for a read access to a first entry to add the address translation data into the associated TLB in each of the plurality of processors, further

wherein the TLB message comprises both of the accessed virtual address and the corresponding physical address.

3. A method for maintaining translation lookaside buffer (“TLB”) coherency in a computer system having a plurality of processors, each of the processors having an associated TLB for storing address translation data, the system having a main communication network coupled to the plurality of processors, said method comprising:

accessing a virtual address in a first TLB associated with one of the plurality of processors;

performing an operation on the first TLB based on the accessed virtual address and a physical address corresponding to the accessed virtual address;

generating a TLB message in response to a change in contents of the first TLB caused by the operation performed on the first TLB, the TLB message comprising an access request and at least one of the accessed virtual address and the corresponding physical address;

sending the TLB message to the plurality of processors other than the processor associated with the first TLB via the main communication network; and

determining, at each of the plurality of processors other than that associated with the first TLB, if the TLB message affects the address translation data stored in the associated TLB in response to receiving the TLB message, wherein the TLB message comprises:

a request for a write access to a second entry to modify all copies of the second entry in the associated TLB of each of the plurality of processors, further

wherein the TLB message comprises both of the accessed virtual address and the corresponding physical address.

4. An apparatus for maintaining translation lookaside buffer (“TLB”) coherency in a computer system including a plurality of processors, each of the plurality of processors having an associated TLB for storing address translation data, said apparatus comprising:

means for accessing a virtual address in a first TLB associated with one of the plurality of processors;

means for performing an operation on the first TLB based on the accessed virtual address and a physical address corresponding to the accessed virtual address;

means for generating a TLB message in response to a change in contents of the first TLB caused by the operation performed on the first TLB, the TLB message comprising an access request and at least one of the accessed virtual address and the corresponding physical address;

means for sending the TLB message to the plurality of processors other than the processor associated with the first TLB via the main communication network; and

means for determining, at each of the plurality of processors other than that associated with the first TLB, if the TLB message affects the address translation data stored in the associated TLB in response to receiving the TLB message

wherein the operation causing a change in contents of the first TLB includes:

inputting a first entry into the first TLB when a physical address corresponding to the virtual address is not located in the first TLB;

moving a second entry from the first TLB to another location within the computer system, the second entry associated with a physical address corresponding to the virtual address; and

removing a third entry from the first TLB, the third entry associated with a physical address corresponding to the virtual address.

5. An apparatus for maintaining translation lookaside buffer (“TLB”) coherency in a computer system including a plurality of processors, each of the plurality of processors having an associated TLB for storing address translation data, said apparatus comprising:

means for accessing a virtual address in a first TLB associated with one of the plurality of processors;

means for performing an operation on the first TLB based on the accessed virtual address and a physical address corresponding to the accessed virtual address;

means for generating a TLB message in response to a change in contents of the first TLB caused by the operation performed on the first TLB, the TLB message comprising an access request and at least one of the accessed virtual address and the corresponding physical address;

means for sending the TLB message to the plurality of processors other than the processor associated with the first TLB via the main communication network; and

means for determining, at each of the plurality of processors other than that associated with the first TLB, if the TLB message affects the address translation data stored in the associated TLB in response to receiving the TLB message, wherein

said means for transmitting comprises:

means for interconnecting each of the plurality of a processors to one another via corresponding one of the plurality of independent paths, further

wherein the TLB message comprises both of the accessed virtual address and the corresponding physical address.

6. An apparatus for maintaining translation lookaside buffer (“TLB”) coherency in a computer system including a plurality of processors, each of the plurality of processors having an associated TLB for storing address translation data, said apparatus comprising:

means for accessing a virtual address in a first TLB associated with one of the plurality of processors;

means for performing an operation on the first TLB based on the accessed virtual address and a physical address corresponding to the accessed virtual address;

means for generating a TLB message in response to a change in contents of the first TLB caused by the operation performed on the first TLB, the TLB message comprising an access request and at least one of the accessed virtual address and the corresponding physical address;

means for sending the TLB message to the plurality of processors other than the processor associated with the first TLB via the main communication network; and

means for determining, at each of the plurality of processors other than that associated with the first TLB, if the TLB message affects the address translation data stored in the associated TLB in response to receiving the TLB message, wherein the TLB message comprises:

a request for a read access to a first entry to add the address translation data into the associated TLB in each of the plurality of processors, further

wherein the TLB message comprises both of the accessed virtual address and the corresponding physical address.

Assignments (2)
CHANGE OF NAME Recorded Sep 1, 2011
From: SUN MICROSYSTEMS, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 026843/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2000
From: DAMRON, PETER
To: SUN MICROSYSTEMS, INC.
Reel/Frame 011026/0547 →