Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment
First Claim
Patent Images
1. A method of accessing shared-access information stored in external memory, the method comprising:
- storing copies of information units related to packet processing from the external memory to local memory, each information unit having an associated identifier;
maintaining each identifier as an entry in a Content Addressable Memory (CAM), each entry including status information associated with the information unit with which the identifier is associated; and
using the status information to determine validity of the information unit with which the status information is associated and to protect coherency during read-modify-write operations by enforcing exclusive modification privileges between microengines;
wherein the status information comprises a lock status to indicate that the information unit with which the status information is associated is in process of being read from the external memory to the local memory or in process of being modified in the local memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Stored units of information related to packet processing are associated with identifiers, each of which is maintained as an entry in a Content Addressable Memory (CAM). Each entry includes status information associated with the information unit with which the identifier is associated. The status information is used to determine validity of the information unit with which the status information is associated.
388 Citations
20 Claims
-
1. A method of accessing shared-access information stored in external memory, the method comprising:
-
storing copies of information units related to packet processing from the external memory to local memory, each information unit having an associated identifier; maintaining each identifier as an entry in a Content Addressable Memory (CAM), each entry including status information associated with the information unit with which the identifier is associated; and using the status information to determine validity of the information unit with which the status information is associated and to protect coherency during read-modify-write operations by enforcing exclusive modification privileges between microengines; wherein the status information comprises a lock status to indicate that the information unit with which the status information is associated is in process of being read from the external memory to the local memory or in process of being modified in the local memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer program product residing on a computer-readable medium comprising instructions to cause a computer to:
-
store copies of information units related to packet processing from external memory to local memory, each information unit having an associated identifier; maintain each identifier as an entry in a Content Addressable Memory (CAM), each entry including status information associated with the information unit with which the identifier is associated; and use the status information to determine validity of the information unit with which the status information is associated and to protect coherency during read-modify-write operations by enforcing exclusive modification privileges between microengines; wherein the status information comprises a lock status to indicate that the information unit with which the status information is associated is in process of being read from the external memory to the local memory or of being modified in the local memory. - View Dependent Claims (14)
-
-
15. An apparatus comprising:
-
an external memory controller; a local memory; and a Content Addressable Memory (CAM) configured to maintain entries including identifiers and associated status information, the identifiers being associated with units of information related to packet processing that are read from external memory to the local memory, and the apparatus being configured to cause the status information to indicate that a unit of information, which has been associated with an entry of the CAM, is currently invalid when the unit of information is in process of being read from external memory to the local memory, and the apparatus being configured to protect coherency during read-modify-write operations by enforcing exclusive modification privileges between microengines using the status information. - View Dependent Claims (16, 17)
-
-
18. A system comprising:
-
multiple network devices; external memory; and a processor comprising multiple microengines, an external memory controller, a local memory, and a Content Addressable Memory (CAM) configured to maintain entries including identifiers and associated status information, the identifiers being associated with units of information related to packet processing that are read from the external memory to the local memory, and the processor being configured to cause the status information to indicate that a unit of information, which has been associated with an entry of the CAM, is currently invalid when the unit of information is in process of being read from external memory to the local memory. - View Dependent Claims (19, 20)
-
Specification