IP Library Granted Patent US 6,842,821
Granted Patent B2
US 6,842,821 · App. 10/307,666 · Granted Jan 11, 2005

DDR SDRAM memory controller with multiple dependency request architecture and intelligent requestor interface

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,842,821
App. No.
10/307,666
Granted
Jan 11, 2005
Kind
B2
Abstract

A controller for a double data rate synchronous dynamic random access memory (SDRAM) includes an address storage block comprising an address storage register for each of a plurality of priority levels for receiving a memory address of a request from an incoming command queue for each of a plurality of priority levels and a priority logic block coupled to the address storage block wherein the priority logic block comprises a first priority register for storing a register number field for each of the plurality of priority levels, a second priority register for storing a request valid field for each of the plurality of priority levels, and a third priority register for storing a state machine address field for each of the plurality of priority levels.

Claims (25)

1. A controller for a double data rate synchronous dynamic random access memory (SDRAM) comprising:

an address storage block comprising an address storage register for each of a plurality of priority levels for receiving a memory address of a request from an incoming command queue for each of a plurality of priority levels; and

a priority logic block coupled to the address storage block wherein the priority logic block comprises a first priority register for storing a register number field for each of the plurality of priority levels, a second priority register for storing a request valid field for each of the plurality of priority levels, and a third priority register for storing a state machine address field for each of the plurality of priority levels.

2. The controller of claim 1 wherein each register number field contains a register number of a corresponding address storage register.

3. The controller of claim 2 wherein each request valid field indicates whether a corresponding register number field contains the register number associated with a request granted by one of a plurality of bank state machines.

4. The controller of claim 3 wherein each state machine address field identifies one of the plurality of bank state machines to which a request from the incoming command queue is assigned.

5. The controller of claim 3 further comprising a request selection block for receiving a command associated with the request granted by one of the plurality of bank state machines for each of the plurality of priority levels and for selecting which command to send to the SDRAM.

6. The controller of claim 5 wherein the request selection block selects the command associated with the request having highest priority if the command is a Read, Write, Activate or Precharge and if all timing constraints of the SDRAM are satisfied.

7. The controller of claim 6 wherein the request selection block selects the command associated with the request having lower priority than the request having highest priority if all timing constraints of the SDRAM are not satisfied.

8. The controller of claim 6 wherein the request selection block sends a NOP command to the SDRAM if no requests are active.

9. The controller of claim 1 further comprising a shift logic block for shifting the first priority register, the second priority register, and the third priority register according to one of a plurality of shift cycles selected from a dependency table entry wherein the dependency table entry is a function of a current value of each request valid field.

10. The controller of claim 9 wherein a first shift cycle of the plurality of shift cycles comprises a circular shift by one field position of each register number field in the first priority register, each request valid field in the second priority register, and each state machine address field in the third priority register.

11. The controller of claim 10 wherein a second shift cycle of the plurality of shift cycles comprises a circular shift by one field position of at least two register number fields in the first priority register, at least two request valid fields in the second priority register, and at least two state machine address fields in the third priority register.

12. A method for controlling a double data rate synchronous dynamic random access memory (SDRAM) comprising:

receiving a memory address of a request from an incoming command queue in an address storage register for each of a plurality of priority levels;

storing a register number field for each of the plurality of priority levels in a first priority register;

storing a request valid field for each of the plurality of priority levels in a second priority register; and

storing a state machine address field for each of the plurality of priority levels in a third priority register.

13. The method of claim 12 wherein each register number field contains a register number of a corresponding address storage register.

14. The method of claim 13 further comprising indicating in each request valid field whether a corresponding register number field contains the register number associated with a request granted by one of a plurality of bank state machines.

15. The method of claim 14 further comprising identifying in each state machine address field one of the plurality of bank state machines to which a request from the incoming command queue is assigned.

16. The method of claim 14 further comprising receiving a command associated with the request granted by one of the plurality of bank state machines for each of the plurality of priority levels and selecting which command to send to the SDRAM.

17. The method of claim 16 further comprising selecting the command associated with the request having highest priority if the command is a Read, Write, Activate or Precharge and if all timing constraints of the SDRAM are satisfied.

18. The method of claim 17 further comprising selecting the command associated with the request having lower priority than the request having highest priority if all timing constraints of the SDRAM are not satisfied.

19. The method of claim 17 further comprising sending a NOP command to the SDRAM if no requests are active.

Assignments (6)
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 →
CHANGE OF NAME Recorded Jun 6, 2014
From: LSI LOGIC CORPORATION
To: LSI CORPORATION
Reel/Frame 033102/0270 →
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 →