IP Library Granted Patent US 7,441,088
Granted Patent B1
US 7,441,088 · App. 11/530,895 · Granted Oct 21, 2008

Packet processor memory conflict prediction

Assignee: Teplin Application Limited Liability Company
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,441,088
App. No.
11/530,895
Granted
Oct 21, 2008
Kind
B1
Abstract

A mechanism receives memory reads and writes from a packet processing engine, each memory access having an associated packet identifier. Upon receiving a memory read, conflict prediction logic determines if a future conflict with a memory write is likely, and if so the processing of the memory read is delayed. After the write to which the read depends is received, the delayed memory read is allowed to complete. Such a delayed read mechanism can reduce or eliminate work discarded due to memory conflicts detected after the fact, while preserving the sequential semantics of the packet processor. The conflict prediction logic can be used in conjunction with conflict detection in which write data is buffered and information associated with both reads and writes is recorded.

Claims (15)

1. An apparatus coupled to a packet processing engine and a memory subsystem comprising:

conflict prediction logic configured to receive memory reads from said packet processing engine and capable of asserting a delay read signal;

wherein when said packet processing engine generates a memory read having a first associated packet identifier, if said conflict prediction logic asserts said delay read signal, said memory read is delayed until said packet processing engine generates a first memory write having a second associated packet identifier.

2. The apparatus of claim 1 further comprising:

a data storage element storing data representing said memory read;

conflict detection logic for determining if a memory conflict exists between said memory read and a second memory write having a third associated packet identifier based on said first associated packet identifier and said third associated packet identifier; and

logic for signaling a conflict coupled to said conflict detection logic and utilizing said first associated packet identifier.

3. A method of predicting memory conflicts for a packet processing engine comprising the steps of:

receiving a memory read having a first associated packet identifier from said packet processing engine;

determining if said memory read is likely to depend on a future memory write, having a second associated packet identifier;

delaying said memory read until said future memory write is received based on said step of determining.

4. The method of claim 3 further comprising the steps of:

receiving a second memory write having a third associated packet identifier;

determining if a memory conflict exists between said memory read and said second memory write based on a comparison of said first associated packet identifier and said third associated packet identifier; and

signaling a conflict based on said step of determining, utilizing said first associated packet identifier.

Assignments (3)
MERGER Recorded Dec 30, 2015
From: TEPLIN APPLICATION LIMITED LIABILITY COMPANY
To: F. POSZAT HU, L.L.C.
Reel/Frame 037387/0264 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2008
From: MELVIN, STEPHEN
To: TEPLIN APPLICATION LIMITED LIABILITY COMPANY
Reel/Frame 020783/0780 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2008
From: MELVIN, STEPHEN
To: TEPLIN APPLICATION LIMITED
Reel/Frame 020582/0432 →
Continuity (6)
Continuation 1130637500 · Dec 26, 2005
Continuation 1006534000 · Oct 6, 2002
Provisional Application 6033242500 · Nov 16, 2001
Provisional Application 6034821700 · Nov 9, 2001
Provisional Application 6033907700 · Oct 30, 2001
Provisional Application 6034778100 · Oct 23, 2001