IP Library Granted Patent US 6,892,279
Granted Patent B2
US 6,892,279 · App. 10/444,600 · Granted May 10, 2005

Method and apparatus for accelerating retrieval of data from a memory system with cache by reducing latency

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,892,279
App. No.
10/444,600
Granted
May 10, 2005
Kind
B2
Abstract

A memory controller controls a buffer which stores the most recently used addresses and associated data, but the data stored in the buffer is only a portion of a row of data (termed row head data) stored in main memory. In a memory access initiated by the CPU, both the buffer and main memory are accessed simultaneously. If the buffer contains the address requested, the buffer immediately begins to provide the associated row head data in a burst to the cache memory. Meanwhile, the same row address is activated in the main memory bank corresponding to the requested address found in the buffer. After the buffer provides the row head data, the remainder of the burst of requested data is provided by the main memory to the CPU.

Claims (31)

1. A memory system comprising:

(a) at least one bank of memory having a plurality of memory locations for storing data;

(b) a memory controller operatively coupled to said at least one bank of memory for controlling said bank of memory;

(c) a buffer operatively coupled to said at least one bank of memory said buffer comprising a plurality of buffer entries, each buffer entry including an address portion and a data portion, said address portion addressing at least one of the plurality of memory locations in said bank of memory, said data portion being row head data and including a first portion of the data stored in said at least one of the plurality of memory locations;

(d) a buffer controller operatively coupled to said buffer for issuing instructions to said buffer; and

(e) a second portion of the data associated with an address stored in said address portion of said buffer, said second portion being not included in said data portion of said buffer.

2. The memory system as claimed in claim 1 where said address portion references a row in said at least one bank of memory.

3. The memory system as claimed in claim 1 where the buffer includes a comparator to compare said address portion of each buffer entry to an address incoming to said at least one bank of memory.

4. The memory system as claimed in claim 3 where comparisons of address portions of all the buffer entries are performed substantially simultaneously.

5. The memory system as claimed in claim 4 where the comparisons are performed using content addressable memory.

6. The memory system as claimed in claim 1 where each buffer entry further includes a marker to indicate whether said buffer entry has been recently accessed.

7. A method of retrieving data from a memory system, said method comprising:

(a) receiving a read request for data contents of a memory location;

(b) searching a buffer for a portion of said data contents;

(c) substantially simultaneously with step (b), accessing a main memory;

(d) in the event that said portion of said data contents is stored in said buffer, retrieving said portion from said buffer while substantially simultaneously retrieving a remaining portion of said date contents from said main memory; and

(e) in the event that said portion of said data contents is not stored in said buffer, retrieving said portion and said remaining portion of said data contents from said main memory.

8. The method as claimed in claim 7 further including the following step:

(f) if said portion of said data contents is not stored in said buffer, storing said portion of said retrieved data contents in said buffer.

9. The method as claimed in claim 8 wherein said portion of said retrieved data contents replaces an entry in said buffer.

10. The method as claimed in claim 7 wherein if a request to write data to a memory location is received, said data is written to said main memory and a portion of said data is written to said buffer.

11. The method as claimed in claim 10 wherein said portion of said written data replaces data stored in said buffer.

12. The method as claimed in claim 11 wherein said data is written concurrently to both said buffer and said main memory.

13. The method as claimed in claim 11 wherein an entry in said buffer that has been recently accessed is marked accordingly and said portion of said written data replaces an entry other than a marked entry in said buffer.

14. The method as claimed in claim 13 wherein said marked entry in said buffer is marked by way of assigning a value to a flag bit stored in said buffer.

15. The method as claimed in claim 14 wherein after a new buffer entry has been accessed, a corresponding flag bit is set.

16. The method as claimed in claim 15 wherein a corresponding flag bit of a previously accessed buffer entry is reset.

17. The method as claimed in claim 7 wherein an entry in said buffer that has been recently accessed is marked accordingly.

18. The method as claimed in claim 17 wherein said entry is marked by way of assigning a value to a flag bit stored in said buffer.

19. The method as claimed in claim 18 wherein after a new buffer entry has been accessed, a corresponding flag bit is set.

20. The method as claimed in claim 19 wherein a corresponding flag bit of a previously accessed buffer entry is reset.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2020
From: CPPIB CREDIT INVESTMENTS INC.
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 054278/0333 →
RELEASE OF U.S. PATENT AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Oct 12, 2018
From: ROYAL BANK OF CANADA, AS LENDER
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 047645/0424 →
AMENDED AND RESTATED U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Aug 22, 2018
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CPPIB CREDIT INVESTMENTS, INC.
Reel/Frame 046900/0136 →
U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Sep 9, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CPPIB CREDIT INVESTMENTS INC., AS LENDER; ROYAL BANK OF CANADA, AS LENDER
Reel/Frame 033706/0367 →
CHANGE OF ADDRESS Recorded Sep 3, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 033678/0096 →
RELEASE OF SECURITY INTEREST Recorded Aug 7, 2014
From: ROYAL BANK OF CANADA
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.; CONVERSANT IP N.B. 868 INC.; CONVERSANT IP N.B. 276 INC.
Reel/Frame 033484/0344 →
CHANGE OF NAME Recorded Mar 13, 2014
From: MOSAID TECHNOLOGIES INCORPORATED
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 032439/0638 →
U.S. INTELLECTUAL PROPERTY SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) - SHORT FORM Recorded Jan 10, 2012
From: 658276 N.B. LTD.; 658868 N.B. INC.; MOSAID TECHNOLOGIES INCORPORATED
To: ROYAL BANK OF CANADA
Reel/Frame 027512/0196 →
CHANGE OF ADDRESS OF ASSIGNEE Recorded Apr 15, 2009
From: MOSAID TECHNOLOGIES INCORPORATED
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 022542/0876 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2008
From: MEKHIEL, NAGI, MR.
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 021467/0916 →