IP Library Granted Patent US 8,661,179
Granted Patent B2
US 8,661,179 · App. 12/245,437 · Granted Feb 25, 2014

Cache memory architecture having reduced tag memory size and method of operation thereof

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 8,661,179
App. No.
12/245,437
Granted
Feb 25, 2014
Kind
B2
Abstract

A cache memory architecture, a method of operating a cache memory and a memory controller. In one embodiment, the cache memory architecture includes: (1) a segment memory configured to contain at least one most significant bit (MSB) of a main memory address, the at least one MSB being common to addresses in a particular main memory logical segment that includes the main memory address, (2) a tag memory configured to contain tags that include other bits of the main memory address and (3) combinatorial logic associated with the segment memory and the tag memory and configured to indicate a cache hit only when both the at least one most significant bit and the other bits match a requested main memory address.

Claims (32)

1. A cache memory architecture including a cache memory, comprising:

a segment memory configured to contain at least one most significant bit of a main memory address, said at least one most significant bit being common to addresses in a particular main memory segment that includes said main memory address, wherein said segment memory is distinct and separate from said cache memory and a tag memory;

said tag memory configured to contain tags that include other bits of said main memory address; and

combinatorial logic associated with said segment memory and said tag memory and configured to concurrently compare said at least one most significant bit and said other bits to corresponding portions of a requested main memory address and indicate a cache hit only when both said at least one most significant bit and said other bits match said requested main memory address.

2. The cache memory architecture as recited in claim 1 wherein said at least one most significant bit is a segment identifier, said segment memory is further configured to contain a single segment identifier and said combinatorial logic includes a single comparator and an AND gate.

3. The cache memory architecture as recited in claim 1 wherein said at least one most significant bit is a segment identifier, said segment memory is configured to contain multiple segment identifiers, said tags include segment pointers and said combinatorial logic includes multiple corresponding comparators, a segment select multiplexer and an AND gate.

4. The cache memory architecture as recited in claim 3 further comprising an OR gate configured to receive outputs from each of said multiple corresponding comparators.

5. The cache memory architecture as recited in claim 1 wherein said particular main memory segment is an equal size relative to other main memory segments.

6. The cache memory architecture as recited in claim 1 further comprising a flush control unit configured to receive an output of said combinatorial logic.

7. The cache memory architecture as recited in claim 1 wherein said segment memory includes at least one segment register.

8. A method of operating a cache memory, comprising:

storing at least one most significant bit of a main memory address in a segment memory, said at least one most significant bit being common to addresses in a particular main memory segment that includes said main memory address, wherein said segment memory is separate and distinct from said cache memory and a tag memory;

storing tags that include other bits of said main memory address in said tag memory;

concurrently comparing said at least one most significant bit and said other bits to corresponding portions of a requested main memory address; and

indicating a cache hit only when both said at least one most significant bit and said other bits match said requested main memory address.

9. The method as recited in claim 8 wherein said at least one most significant bit is a segment identifier, said segment memory configured to contain a single segment identifier and said combinatorial logic including a single comparator and an AND gate.

10. The method as recited in claim 8 wherein said at least one most significant bit is a segment identifier, said segment memory configured to contain multiple segment identifiers, said tags including segment pointers and said combinatorial logic including multiple corresponding comparators, a segment select multiplexer and an AND gate.

11. The method as recited in claim 10 further comprising receiving outputs from each of said multiple corresponding comparators in an OR gate.

12. The method as recited in claim 8 wherein said particular main memory segment is an equal size relative to other main memory segments.

13. The method as recited in claim 8 further comprising receiving an output of said combinatorial logic in a flush control unit.

14. The method as recited in claim 8 wherein said segment memory includes at least one segment register.

15. A memory controller coupled to a cache memory comprising:

logic configured to control:

a segment memory configured to contain at least one most significant bit of a main memory address, said at least one most significant bit being common to addresses in a particular main memory segment that includes said main memory address, wherein said segment memory is separate and distinct from said cache memory and a tag memory, and

said tag memory configured to contain tags that include other bits of said main memory address;

combinatorial logic configured to concurrently compare said at least one most significant bit and said other bits to corresponding portions of a requested main memory address and indicate a cache hit only when both said at least one most significant bit and said other bits match said requested main memory address; and

a flush control unit configured to receive an output of said combinatorial logic.

16. The memory controller as recited in claim 15 wherein said at least one most significant bit is a segment identifier, said segment memory is further configured to contain a single segment identifier and said combinatorial logic includes a single comparator and an AND gate.

17. The memory controller as recited in claim 15 wherein said at least one most significant bit is a segment identifier, said segment memory is configured to contain multiple segment identifiers, said tags include segment pointers and said combinatorial logic includes multiple corresponding comparators, a segment select multiplexer and an AND gate.

18. The memory controller as recited in claim 17 further comprising an OR gate configured to receive outputs from each of said multiple corresponding comparators.

19. The memory controller as recited in claim 15 wherein said particular main memory segment is an equal size relative to other main memory segments.

20. The memory controller as recited in claim 15 wherein said segment memory includes at least one segment register.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: LSI CORPORATION
To: INTEL CORPORATION
Reel/Frame 035090/0477 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 32856/0031 Recorded Nov 18, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034286/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2014
From: AGERE SYSTEMS LLC
To: LSI CORPORATION
Reel/Frame 034245/0655 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
CERTIFICATE OF CONVERSION Recorded Nov 12, 2013
From: AGERE SYSTEMS INC.
To: AGERE SYSTEMS LLC
Reel/Frame 031626/0512 →