IP Library Granted Patent US 6,944,731
Granted Patent B2
US 6,944,731 · App. 10/025,331 · Granted Sep 13, 2005

Dynamic random access memory system with bank conflict avoidance feature

Assignee: Agere Systems Inc.
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,944,731
App. No.
10/025,331
Granted
Sep 13, 2005
Kind
B2
Abstract

A memory system having multiple memory banks is configured to prevent bank conflict between access requests. The memory system includes a memory controller and a plurality of memory banks operatively coupled to the memory controller, with each of the memory banks configured for storing a plurality of data items. More particularly, a given data item is stored as multiple copies of the data item with the multiple copies being stored in respective ones of a designated minimum number of the memory banks. The memory controller is adapted to process requests for access to the data items stored in the memory banks in accordance with a specified bank access sequence.

Claims (48)

1. A memory system comprising:

a memory controller; and

a plurality of memory banks operatively coupled to the memory controller, each of the memory banks configured for storing a plurality of data items, wherein a given data item is stored as multiple copies of the data item with the multiple copies being stored in respective ones of a designated minimum number of the memory banks;

the memory controller being adapted to process requests for access to the data items stored in the memory banks in accordance with a specified bank access sequence configured to prevent bank conflict between the access requests;

wherein the memory controller comprises:

a set of queues configured for storing the access requests, each of the queues being associated with a corresponding one of the plurality of memory banks; and

an arbiter operatively coupled to the set of queues for selecting a given one of the access requests therefrom in accordance with the specified bank access sequence.

2. The memory system of claim 1 wherein the minimum number of the memory banks for storage of the multiple copies of the given data item is determined as a function of a random cycle time of the memory banks.

3. The memory system of claim 1 wherein each of at least a subset of the plurality of memory banks is configured to store the same plurality of data items, the subset comprising at least two of the memory banks.

4. The memory system of claim 1 further comprising a first memory channel including the plurality of memory banks as a first plurality of memory banks and a second memory channel including a second plurality of memory banks.

5. The memory system of claim 4 wherein the memory controller further comprises a first controller coupled to each of the first plurality of memory banks via a first set of address, data and control buses, and a second controller coupled to each of the second plurality of memory banks via a second set of address, data and control buses.

6. The memory system of claim 1 wherein the specified bank access sequence comprises a round-robin selection sequence in which particular ones of the access requests are selected in a round-robin sequence from head positions of the sets of queues and applied to corresponding ones of the plurality of memory banks.

7. The memory system of claim 1 wherein each of at least a subset of the plurality of memory banks is implemented using one or more dynamic random access memory (DRAM) devices.

8. The memory system of claim 7 wherein one or more of the DRAM devices comprises a fast cycle DRAM (FCDRAM) device.

9. The memory system of claim 1 being operable in multiple modes, the multiple modes comprising at least:

a first mode in which a given data item is stored as multiple copies of the data item with a given one of the multiple copies in each of a designated minimum number of the memory banks, and the memory controller is adapted to process requests for access to the data items stored in the memory banks in accordance with the specified bank access sequence; and

a second mode in which the given data item is stored as a single copy of the data item with the single copy in a particular one of the plurality of memory banks, and the memory controller is adapted to process requests for access to the data items stored in the memory banks in accordance with a sequence other than the specified bank access sequence.

10. The memory system of claim 1 wherein the access requests comprise a plurality of read requests.

11. The memory system of claim 1 wherein the system processes the access requests in the form of a plurality of read requests and a plurality of write requests, the read requests and the write requests being in an unbalanced ratio favoring the read requests.

12. A memory system comprising:

a memory controller; and

a plurality of memory banks operatively coupled to the memory controller, each of the memory banks configured for storm a plurality of data items, wherein a given data item is stored as multiple copies of the data item with the multiple copies being stored in respective ones of a designated minimum number of the memory banks;

the memory controller being adapted to process requests for access to the data items stored in the memory banks in accordance with a specified bank access sequence configured to prevent bank conflict between the access requests;

wherein the minimum number of the memory banks for storage of the multiple copies of the given data item is determined as a function of the random cycle time of the memory banks and a random bank access delay of the memory banks.

13. The memory system of claim 12 wherein the minimum number of the memory banks for storage of the multiple copies of the given data item is determined as an integer greater than or equal to a ratio of the random cycle time of the memory banks to the random bank access delay of the memory banks.

14. A processing system comprising:

a processing device; and

a memory system operatively coupled to the processing device, the memory system comprising:

a memory controller; and

a plurality of memory banks operatively coupled to the memory controller, each of the memory banks configured for storing a plurality of data items, wherein a given data item is stored as multiple copies of the data item with the multiple copies being stored in respective ones of a designated minimum number of the memory banks;

the memory controller being adapted to process requests received from the processing device for access to the data items stored in the memory banks in accordance with a specified bank access sequence configured to prevent bank conflict between the access requests;

wherein the memory controller comprises;

a set of queues configured for storing the access requests, each of the queues being associated with a corresponding one of the plurality of memory banks; and

an arbiter operatively coupled to the set of queues for selecting a given one of the access requests therefrom in accordance with the specified bank access sequence.

15. The processing system of claim 14 wherein the processing device comprises a network processor.

16. The processing system of claim 15 wherein the memory system implements an external tree memory for the network processor.

17. A method for use in a memory system comprising a memory controller and a plurality of memory banks operatively coupled to the memory controller, each of the memory banks configured for storing a plurality of data items, the method comprising:

storing a given data item as multiple copies of the data item with the multiple copies being stored in respective ones of a designated minimum number of the memory banks; and

processing in the memory controller requests for access to the data items stored in the memory banks in accordance with a specified bank access sequence configured to prevent bank conflict between the access requests;

wherein the memory controller comprises;

a set of queues configured for storing the access requests, each of the queues being associated with a corresponding one of the plurality of memory banks; and

an arbiter operatively coupled to the set of queues for selecting a given one of the access requests therefrom in accordance with the specified bank access sequence.

18. A method for use in a memory system comprising a memory controller and a plurality of memory banks operatively coupled to the memory controller, each of the memory banks configured for storing a plurality of data items, the method comprising:

determining a minimum number of the memory banks for storage of multiple copies of a given data item as a function of a random cycle time of the memory banks; and

storing the given data item as multiple copies of the data item with the multiple copies being stored in respective ones of the designated minimum number of the memory banks;

wherein the memory controller comprises:

a set of queues configured for storing the access requests, each of the queues being associated with a corresponding one of the plurality of memory banks; and

an arbiter operatively coupled to the set of queues for selecting a given one of the access requests therefrom in accordance with the specified bank access sequence.

Assignments (11)
MERGER Recorded Mar 3, 2023
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED; BROADCOM INTERNATIONAL PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 062952/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
To: BROADCOM INTERNATIONAL PTE. LTD.
Reel/Frame 053771/0901 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0097. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048555/0510 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047196/0097 →
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: AGERE SYSTEMS LLC
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035365/0634 →
CERTIFICATE OF CONVERSION Recorded Aug 29, 2014
From: AGERE SYSTEMS INC.
To: AGERE SYSTEMS LLC
Reel/Frame 033663/0948 →
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 Mar 13, 2002
From: BOUCHARD, GREGG A.; CALLE, MAURICIO; RAMASWAMI, RAVI
To: AGERE SYSTEMS INC.
Reel/Frame 012692/0170 →
Continuity (1)
Related Publication 20030115403A1 · Jun 19, 2003