IP Library Granted Patent US 8,510,493
Granted Patent B2
US 8,510,493 · App. 12/978,719 · Granted Aug 13, 2013

Circuit to efficiently handle data movement within a cache controller or on-chip memory peripheral

Inventors: Judy M Gehman (Fort Collins, CO); Jerome M Meyer (Chanhassen, MN)
Assignee: LSI Corporation
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,510,493
App. No.
12/978,719
Granted
Aug 13, 2013
Kind
B2
Abstract

The present invention is directed to a circuit for managing data movement between an interface supporting the PLB6 bus protocol, an interface supporting the AMBA AXI bus protocol, and internal data arrays of a cache controller and/or on-chip memory peripheral. The circuit implements register file buffers for gathering data to bridge differences between the bus protocols and bus widths in a manner which addresses latency and performance concerns of the overall system.

Claims (30)

1. A controller, comprising:

a command and control processing subsystem;

a bus interface, the bus interface configured for being communicatively coupled with the command and control processing subsystem;

an array interface, the array interface configured for being communicatively coupled with the command and control processing subsystem; and

a memory controller interface, the memory controller interface configured for being communicatively coupled with the command and control processing subsystem, wherein the command and control processing subsystem includes: a Write Address Control (WAC) partition, a Read Address Control (RAC) partition, a Write Data Flow (WDF) partition, and a Read Data Flow (RDF) partition, the RAC partition is configured for generating read requests for the memory controller interface and for providing said generated read requests to the memory controller interface, the WAC partition is configured for generating write requests for the memory controller interface and for providing said generated write requests to the memory controller interface, the WAC partition is configured for receiving: write requests from the bus interface, cache maintenance operations from a Device Control Register (DCR) partition, and cache push requests from the array interface.

2. A controller as claimed in claim 1 , wherein the RDF partition includes a first register file memory and a second register file memory.

3. A controller as claimed in claim 2 , wherein the WDF partition includes a first register file memory and a second register file memory.

4. A controller as claimed in claim 3 , wherein the RDF partition includes a first mux/demux structure and a second mux/demux structure, the first mux/demux structure being connected to the second register file memory and the bus interface, the second mux/demux structure being connected to the first register file memory, the second register file memory and the bus interface.

5. A controller as claimed in claim 1 , wherein the RAC partition is configured for receiving read requests from a bus partition.

6. A controller as claimed in claim 1 , wherein the RDF partition is configured for providing buffering for data received from the memory controller interface, said data received from said memory controller interface having as its destination one of: a cache data array of the controller; and a bus.

7. A controller as claimed in claim 6 , wherein the RDF partition is configured for providing buffering for data received from the array interface, said data received from the array interface having as its destination the bus.

8. A controller as claimed in claim 1 , wherein the WDF partition is configured for providing buffering for write data received from the bus interface, said write data received from the bus interface having as its destination one of: the cache data array of the controller; and the memory controller interface of the controller.

9. A controller as claimed in claim 8 , wherein the WDF partition is configured for providing write buffering for eviction data received from the cache data array, said eviction data having as its destination the memory controller interface.

10. A controller as claimed in claim 1 , wherein the controller is one of: a cache controller and an on-chip memory peripheral.

11. A controller, comprising:

a command and control processing subsystem, the command and control processing subsystem including: a Write Address Control (WAC) partition, a Read Address Control (RAC) partition, a Write Data Flow (WDF) partition, and a Read Data Flow (RDF) partition, the WDF partition including a first register file memory and a second register file memory, the RDF partition including a first register file memory and a second register file memory;

a Processor Local Bus (PLB) interface, the PLB interface configured for being communicatively coupled with the command and control processing subsystem;

an array interface, the array interface configured for being communicatively coupled with the command and control processing subsystem; and

an Advanced eXtensible Interface (AXI) interface, the AXI interface configured for being communicatively coupled with the command and control processing subsystem,

wherein eviction data from the array interface writes into the first register file memory of the WDF partition via a first data path, while write data received via the PLB interface is written into the second register file memory of the WDF partition via a second data path, said second data path being separate from said first data path, said writing of the eviction data into first register file memory and said writing of the write data received via the PLB interface into the second register file memory occurring concurrently.

12. A controller as claimed in claim 11 , wherein read data received via the AXI interface writes into the first register file memory of the RDF partition via a third data path, while hit data from the array interface is written into the second register file memory of the RDF partition via a fourth data path, said fourth data path being separate from said third data path, said writing of the read data into the first register file memory of the RDF partition and said writing of the hit data into the second register file memory of the RDF partition occurring concurrently.

13. A controller as claimed in claim 12 , wherein when the array interface and the AXI interface attempt to concurrently read data from the second register file memory of the WDF partition, the array interface reads data from the second register file memory of the WDF partition before the AXI interface reads data from the second register file memory of the WDF partition.

14. A controller as claimed in claim 13 , wherein when the PLB interface and the array interface attempt to concurrently read data from the first register file memory of the RDF partition, the PLB interface reads data from the first register file memory of the RDF partition before the array interface reads data from the first register file memory of the RDF partition.

15. A controller, comprising:

a command and control processing subsystem, the command and control processing subsystem including: a Write Address Control (WAC) partition, a Read Address Control (RAC) partition, a Write Data Flow (WDF) partition, and a Read Data Flow (RDF) partition, the WDF partition including a first register file memory and a second register file memory, the RDF partition including a first register file memory and a second register file memory;

a Processor Local Bus (PLB) interface, the PLB interface configured for being communicatively coupled with the command and control processing subsystem, the PLB interface configured for receiving write data from a PLB bus and providing the write data to the command and control processing subsystem;

an array interface, the array interface configured for being communicatively coupled with the command and control processing subsystem; and

an Advanced eXtensible Interface (AXI) interface, the AXI interface configured for being communicatively coupled with the command and control processing subsystem, the AXI interface configured for receiving read data from an AXI bus and providing the read data to the command and control processing subsystem,

wherein the second register file memory of the RDF partition is configured for receiving the read data provided by the AXI interface, the second register file memory of the RDF partition being further configured for transferring said received read data to at least one of: the PLB interface and the array interface, the second register file memory of the WDF partition is configured for receiving the write data provided by the PLB interface, the second register file memory of the WDF partition being further configured for transferring said received write data to at least one of: the AXI interface and the array interface.

16. A controller as claimed in claim 15 , wherein the controller is configured for adjusting a read address used to read data from the AXI interface to align returned AXI data for said entry of the returned data into the RDF partition for promoting efficient use of AXI and PLB bandwidth.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
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 Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2010
From: GEHMAN, JUDY M.; MEYER, JEROME M.
To: LSI CORPORATION
Reel/Frame 025537/0446 →
Continuity (1)
Related Publication 20120166730A1 · Jun 28, 2012