IP Library Granted Patent US 7,243,192
Granted Patent B2
US 7,243,192 · App. 11/426,758 · Granted Jul 10, 2007

Cache memory architecture with system controller device that compares cache tags to memory addresses received from microprocessor

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,243,192
App. No.
11/426,758
Granted
Jul 10, 2007
Kind
B2
Abstract

A single memory element, which may consist of general purpose SRAM chips, implements both tag and data cache memory functions, resulting in an efficient, low cost implementation of high speed external cache memory. In one embodiment, a bank of general purpose RAM used by a microprocessor as an external cache memory stores both cache tags and cache data in separate memory locations. During a read operation, the microprocessor retrieves a cache tag from the bank of general purpose RAM before retrieving corresponding cache data therefrom, and compares the cache tag to a memory address to assess whether requested data resides in the cache memory. The comparison may also be performed concurrently by a system controller device, which may abort the main memory access if a cache hit is detected.

Claims (28)

1. A system controller device adapted to be connected between a microprocessor and a main memory and to provide an interface to the main memory, the system controller device comprising:

a memory interface circuit configured to receive a main memory address from the microprocessor over a bus that interconnects the microprocessor and the system controller device, and to use the main memory address to perform a memory read operation in which data is read from the main memory; and

a cache tag comparison circuit configured to receive a cache tag value as the cache tag value is read by the microprocessor from an external cache memory that is external to the microprocessor and the system controller device, and to compare the cache tag value with the main memory address received by the memory interface circuit to determine whether the data associated with the memory read operation resides in said external cache memory;

wherein the memory interface circuit is configured to begin the memory read operation before the cache tag comparison circuit compares the cache tag value with the main memory address, and the cache tag comparison circuit is further configured to prevent the memory interface circuit from completing the memory read operation if the comparison of the cache tag value with the main memory address reveals that said data resides in the external cache memory.

2. The system controller device of claim 1 , wherein the cache tag comparison circuit is configured to receive the cache tag value over said bus after the memory interface circuit has received the main memory address over said bus.

3. The system controller device of claim 1 in combination with said microprocessor, wherein the microprocessor is configured to compare the cache tag value with the main memory address to make its own determination of whether said data is in the external cache memory.

4. In a system controller device that connects a microprocessor to a main memory, a method of supporting the microprocessor's use of an external cache memory, the method comprising:

receiving and latching a main memory address supplied to the system controller device by the microprocessor for performing a main memory read operation;

receiving a cache tag as the cache tag is read by the microprocessor from the external cache memory;

with a comparison circuit of the system controller device, performing a comparison of the main memory address and the cache tag to assess whether data associated with the main memory read operation resides in the external cache memory; and

aborting the main memory read operation if the comparison performed with said comparison circuit of the system controller device reveals that said data resides in the external cache memory;

wherein the system controller device receives the main memory address and the cache tag over a common bus during different respective bus cycles.

5. The method of claim 4 , wherein the comparison performed by the comparison circuit of the system controller device is redundant of, and performed in parallel with, a comparison performed by the microprocessor.

6. A microprocessor system, comprising:

a microprocessor; and

a system controller device adapted to be connected between the microprocessor and a main memory and to provide an interface to the main memory, the system controller device comprising:

a memory interface circuit configured to receive a main memory address from the microprocessor over a bus that interconnects the microprocessor and the system controller device, and to use the main memory address to perform a memory read operation in which data is read from the main memory; and

a cache tag comparison circuit configured to receive a cache tag value as the cache tag value is read by the microprocessor from an external cache memory that is external to the microprocessor and the system controller device, and to compare the cache tag value with the main memory address received by the memory interface circuit to determine whether the data associated with the memory read operation resides in said external cache memory;

wherein the cache tag comparison circuit is further configured to prevent the memory interface circuit from completing the memory read operation if the comparison of the cache tag value with the main memory address reveals that said data resides in the external cache memory;

wherein the microprocessor is configured to compare the cache tag value with the main memory address to make its own determination of whether said data is in the external cache memory.

7. The microprocessor system of claim 6 , wherein the cache tag comparison circuit is configured to receive the cache tag value over said bus after the memory interface circuit has received the main memory address over said bus.

8. The microprocessor system of claim 6 , wherein the memory interface circuit is configured to begin the memory read operation only if the comparison reveals that the data is not in the external cache memory.

9. In a system controller device that connects a microprocessor to a main memory, a method of supporting the microprocessor's use of an external cache memory, the method comprising:

receiving and latching a main memory address supplied to the system controller device by the microprocessor for performing a main memory read operation;

receiving a cache tag as the cache tag is read by the microprocessor from the external cache memory;

with a comparison circuit of the system controller device, performing a comparison of the main memory address and the cache tag to assess whether data associated with the main memory read operation resides in the external cache memory; and

aborting the main memory read operation if the comparison performed with said comparison circuit of the system controller device reveals that said data resides in the external cache memory;

wherein the comparison performed by the comparison circuit of the system controller device is redundant of, and performed in parallel with, a comparison performed by the microprocessor.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
CHANGE OF NAME Recorded Apr 7, 2016
From: PMC-SIERRA, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 038381/0753 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2016
From: BANK OF AMERICA, N.A.
To: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
Reel/Frame 037675/0129 →
SECURITY INTEREST IN PATENTS Recorded Aug 6, 2013
From: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 030947/0710 →