IP Library Granted Patent US 9,911,477
Granted Patent B1
US 9,911,477 · App. 14/256,721 · Granted Mar 6, 2018

Memory controller architecture with improved memory scheduling efficiency

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 9,911,477
App. No.
14/256,721
Granted
Mar 6, 2018
Kind
B1
Abstract

Integrated circuits that include memory interface and controller circuitry for communicating with external memory are provided. The memory interface and controller circuitry may include a user logic interface, a memory controller, and a physical layer input-output interface. The user logic interface may be operated in a first clock domain. The memory controller may be operated in a second clock domain. The physical layer interface may be operated in a third clock domain that is an integer multiple of the second clock domain. The user logic interface may include only user-dependent blocks. The physical layer interface may include memory protocol agnostic blocks and/or memory protocol specific blocks. The memory controller may include both memory protocol agnostic blocks and memory protocol dependent blocks. The memory controller may include one or more color pipelines for scheduling memory requests in a parallel arbitration scheme.

Claims (13)

1. An integrated circuit that communicates with external memory, comprising:

user logic;

user interface circuitry that interfaces with the user logic;

physical layer interface circuitry that interfaces with the external memory; and

memory controller circuitry interposed between the user interface circuitry and the physical layer interface circuitry, wherein the memory controller circuitry includes a plurality of color pipelines that are operated in parallel to process memory access requests for different portions of the external memory, wherein a first color pipeline of the plurality of color pipelines is assigned to a first portion of the external memory, and wherein a second color pipeline of the plurality of color pipelines is assigned to a second portion of the external memory that is different from the first portion, wherein the first color pipeline includes arbitration circuitry for arbitrating between memory access requests of varying priority for the first portion of the external memory, wherein each color pipeline in the plurality of color pipelines includes a read command queue and a write command buffer, wherein the first color pipeline elevates a priority value for a read access request associated with a given address in the read command queue in response to receiving a write access request associated with the given address at the write command buffer, and wherein the read access request associated with the given address is fulfilled before the write access request associated with the given address in response to the priority value for the read access request associated with the given address being elevated.

2. The integrated circuit defined in claim 1 , further comprising:

a rate matching circuit interposed between the user interface circuitry and the memory controller circuitry.

3. The integrated circuit defined in claim 1 , wherein the memory controller circuitry further includes a read data decoder for decoding incoming read data and a read ID queue that stores a read ID associated with the incoming read data.

4. The integrated circuit defined in claim 1 , wherein the memory controller circuitry further includes routing circuitry that receives the memory access requests from the user interface circuitry and that routes each of the memory access requests to a selected one of the plurality of color pipelines.

5. The integrated circuit defined in claim 1 , wherein each color pipeline in the plurality of color pipelines further includes a write data buffer that stores write data and a write data encoder that encodes the stored write data.

6. The integrated circuit defined in claim 5 , wherein each color pipeline in the plurality of color pipelines further includes a row address strobe (RAS) arbiter that arbitrates among different memory bank accesses and a column address strobe (CAS) arbiter that arbitrates between read and write memory access requests.

7. The integrated circuit defined in claim 6 , wherein the memory controller circuitry further includes a color arbiter that receives read and write memory access requests from the plurality of color pipelines.

8. The integrated circuit defined in claim 7 , wherein the physical layer interface circuitry includes time slicer circuitry that receives and processes memory access requests output from the color arbiter in a time multiplexed fashion.

Assignments (3)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S NAME FROM "CHEE TAK TEH" TO "CHEE HAK TEH" PREVIOUSLY RECORDED ON REEL 032710 FRAME 0995. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 16, 2014
From: TEH, CHEE HAK
To: ALTERA CORPORATION
Reel/Frame 032912/0177 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2014
From: TEH, CHEE TAK
To: ALTERA CORPORATION
Reel/Frame 032710/0995 →