Hardware enforced virtual sequentiality
First Claim
1. A method of processing memory reads and writes in a packet processor comprising the steps of:
- receiving a memory read having a first associated sequence number;
receiving a memory write having a second associated sequence number;
determining if a memory conflict exists between said memory read and said memory write based on a comparison of said first associated sequence number and said second associated sequence number; and
signaling a restart based on said step of determining, utilizing said first associated sequence number.
3 Assignments
0 Petitions
Accused Products
Abstract
A mechanism processes memory reads and writes in a packet processor. Each memory access has an associated sequence number and information is maintained allowing the detection of memory conflicts. The mechanism is placed between a processing element and a memory system such that write data is buffered and both reads and writes are recorded. When a memory conflict is detected, based on a strict or alternate ordering model, a restart signal is generated and the entries for the associated sequence number are flushed. When the work associated with a sequence number has completed, a signal is made so that associated write data can be sent to the memory system and the entries for that sequence number can be flushed.
46 Citations
5 Claims
-
1. A method of processing memory reads and writes in a packet processor comprising the steps of:
-
receiving a memory read having a first associated sequence number; receiving a memory write having a second associated sequence number; determining if a memory conflict exists between said memory read and said memory write based on a comparison of said first associated sequence number and said second associated sequence number; and signaling a restart based on said step of determining, utilizing said first associated sequence number. - View Dependent Claims (2, 3, 4, 5)
-
Specification