IP Library Granted Patent US 7,346,746
Granted Patent B2
US 7,346,746 · App. 10/133,941 · Granted Mar 18, 2008

High performance architecture with shared memory

Assignee: Infineon Technologies Aktiengesellschaft
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,346,746
App. No.
10/133,941
Granted
Mar 18, 2008
Kind
B2
Abstract

A system with multiple processors sharing a single memory module without noticeable performance degradation is described. The memory module is divided into n independently addressable banks, where n is at least 2 and mapped such that sequential addresses are rotated between the banks. A bank may be further divided into a plurality of blocks. A cache is provided to enable a processor to fetch from memory a plurality of data words from different memory banks to reduce memory latency caused by memory contention.

Claims (23)

1. A method of sharing a memory module between a plurality of processors comprising:

dividing the memory module into n banks, where n=at least 2, enabling the memory module to be accessed by one or more processors simultaneously;

mapping the memory module to allocate sequential addresses to alternate banks of the memory module;

storing data words in the memory module, wherein data words in sequential addresses are stored in alternate banks due to the mapping of the memory module;

providing a first signal path, the first signal path coupling a cache to a processor and the memory module when selected, the cache enabling the processor to fetch a plurality of data words from different banks simultaneously;

dividing the bank into x blocks, where x=at least 1, wherein a block can be accessed by one of the plurality of processors at any one time;

determining whether contention has occurred, wherein two or more processors are accessing the same address range at any one time, the address range coincides with at least one block;

synchronizing the processors to access different banks when contention has occurred, wherein the step of synchronizing the processors comprises inserting wait states for processors with lower priorities when contention occurs; and

activating the first signal path when contention has occurred.

2. The method of claim 1 further including the step of providing a second signal path, the second signal path coupling the processor to the memory module when selected.

3. The method of claim 2 further including a step of activating the second signal path when contention has not occurred.

4. The method of claim 3 further including a step of determining access priorities of the processors when contention has occurred.

5. The method of claim 4 wherein the step of determining access priorities comprises assigning lower access priorities to processors that have caused the contention.

6. A system comprising:

a plurality of processors;

a memory module comprising n banks, where n=at least 2, wherein a bank can be accessed by one or more processors at any one time, the bank comprises x blocks, where x=at least 1, wherein a block can be accessed by one of the plurality of processors at any one time;

a memory map for allocating sequential addresses to alternate banks of the memory module;

data words stored in memory, wherein data words in sequential addresses are stored in alternate banks according to the memory map;

a plurality of control logic units for enabling a processor to access a plurality of data words from different banks, wherein a control logic unit comprises first and second signal paths, the first signal path coupling a cache to a processor and the memory module, the second signal path coupling the processor to the memory module, wherein the first signal path comprises a cache register and a multiplexer;

a flow control unit for synchronizing the processors to access different blocks at any one time; and

a priority register for storing the access priority of a processor.

7. The system of claim 6 further comprising a plurality of critical memory modules for storing a plurality of data words for the processors to reduce the possibility of contention.

8. The system of claim 6 wherein a control logic unit comprises a first signal path, the first signal path coupling a cache to a processor and the memory module.

Assignments (8)
CHANGE OF NAME Recorded Apr 6, 2022
From: LANTIQ BETEILIGUNGS-GMBH & CO. KG
To: INTEL GERMANY GMBH & CO. KG
Reel/Frame 059645/0263 →
MERGER AND CHANGE OF NAME Recorded Jan 17, 2018
From: LANTIQ DEUTSCHLAND GMBH; LANTIQ BETEILIGUNGS-GMBH & CO. KG
To: LANTIQ BETEILIGUNGS-GMBH & CO. KG
Reel/Frame 045086/0015 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 025413/0340 AND 025406/0677 Recorded Apr 17, 2015
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LANTIQ BETEILIGUNGS-GMBH & CO. KG
Reel/Frame 035453/0712 →
GRANT OF SECURITY INTEREST IN U.S. PATENTS Recorded Nov 29, 2010
From: LANTIQ DEUTSCHLAND GMBH
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 025406/0677 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2010
From: INFINEON TECHNOLOGIES AG
To: INFINEON TECHNOLOGIES WIRELESS SOLUTIONS GMBH
Reel/Frame 024576/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2010
From: INFINEON TECHNOLOGIES WIRELESS SOLUTIONS GMBH
To: LANTIQ DEUTSCHLAND GMBH
Reel/Frame 024576/0472 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE FROM INFINEON TECHNOLOGIES AKTIENGESELLSCHAFT TO INFINEON TECHNOLOGIES AG PREVIOUSLY RECORDED ON REEL 012999 FRAME 0133. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE INFINEON TECHNOLOGIES AG. Recorded Nov 20, 2009
From: JAIN, RAJ KUMAR; FRENZEL, RUDI
To: INFINEON TECHNOLOGIES AG
Reel/Frame 023550/0221 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2002
From: JAIN, RAJ KUMAR; FRENZEL, RUDI
To: INFINEON TECHNOLOGIES AKTIENGESELLSCHAFT
Reel/Frame 012999/0133 →
Continuity (1)
Related Publication 20030204665A1 · Oct 30, 2003