IP Library Granted Patent US 7,206,891
Granted Patent B2
US 7,206,891 · App. 10/255,912 · Granted Apr 17, 2007

Multi-port memory controller having independent ECC encoders

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 7,206,891
App. No.
10/255,912
Granted
Apr 17, 2007
Kind
B2
Abstract

A memory controller system is provided, which includes a plurality of system buses, a multi-port memory controller and a plurality of error correcting code (ECC) encoders. The memory controller has a plurality of system bus ports and a memory port. Each ECC encoder is coupled between a respective system bus and a respective system bus port of the memory controller.

Claims (27)

1. A memory controller system comprising:

a plurality of system buses;

a multi-port memory controller comprising a plurality of system bus ports and a memory port;

a plurality of error correcting code (ECC) encoders, wherein each ECC encoder is coupled between a respective system bus and a respective system bus port of the memory controller, wherein each ECC encoder is adapted to receive write data on an ECC input, which has an ECC block width, generate a set of ECC bits based on the write data, and apply the set of ECC bits with the write data on an ECC output; and

for each ECC encoder, a respective line buffer coupled between the respective system bus and the ECC input, which gathers write data from the system bus into groups of write data, corresponding to respective memory addresses, and applies each group of write data to the ECC input as an ECC block if the group has a width that is equal to the ECC block width, and if the group of write data has a width that is less the ECC block width, then the line buffer receives read data from the memory address through the memory controller, merges the read data with the group of write data to form the ECC block and then applies the ECC block to the ECC input.

2. The memory controller system of claim 1 and further comprising a memory coupled to the memory port via a memory bus.

3. The memory controller system of claim 2 , wherein the multi-port memory controller comprises:

means for granting access to the memory by one of the line buffers while another of the line buffers is merging the read data from the memory address with the group of write data to form the ECC block and applying the ECC block to the ECC input.

4. The memory controller system of claim 2 wherein the multi-port memory controller comprises:

means for granting access to the memory by one of the line buffers while another of the line buffers is gathering write data from the system bus.

5. The memory controller system of claim 1 , wherein the set of ECC bits comprises a plurality of ECC bits.

6. The memory controller system of claim 1 and further comprising:

a shared ECC decoder coupled between the memory controller and each of the system buses.

7. A method of writing data to a memory through a multi-port memory controller, the method comprising:

(a) processing memory access requests received from a plurality of system busses through respective system bus ports of the memory controller, wherein each port has a respective ECC encoder having an ECC block width;

(b) receiving write data from a first of the system buses;

(c) if the write data has a width that is equal to the ECC block width, applying the write data to a first of the ECC encoders as an ECC block;

(d) if the write data has a width that is less the ECC block width, reading data from the memory address within the memory through a first port of the memory controller and merging the data read from the memory address with the write data to form the ECC block and then applying the ECC block to the first ECC encoder;

(e) generating a set of ECC bits with the first ECC encoder based on the ECC block; and

(f) writing the ECC block and the set of ECC bits to the memory address through the first port of the memory controller.

8. The method of claim 7 and further comprising:

(g) allowing access to the memory through ports other than the first port of the memory controller during any one of steps (b), (c), (d), and (e), except when reading from the memory address in step (d) or writing to the memory address in step (f).

9. The method of claim 8 and further comprising:

(h) accessing the memory through a second port of the memory controller while merging the data in step (d).

10. The method of claim 8 and further comprising:

(h) accessing the memory through a second port of the memory controller while generating the set of ECC bits in step (e).

11. The method of claim 7 wherein the set of ECC bits generated in step (e) comprises a plurality of ECC bits.

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: 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2002
From: EMERSON, STEVEN M.; HAMMITT, GREGORY F.
To: LSI LOGIC CORPORATION
Reel/Frame 013339/0683 →