← Back to Patent Explorer
US6629195B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Implementing semaphores in a content addressable memory

Assignee: Intel Corp
•
Filing: 2001-06-26
•
Granted: 2003-09-30
•
Expires: 2021-06-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A network processor application-specific integrated circuit (ASIC) includes a plurality of processor devices each adapted to generate a semaphore operation request. A request arbiter, having connections to the plurality of processor devices, is provided to determine the semaphore operation request from one of the plurality of processor devices to be forwarded. A content addressable memory (CAM) is provided to store a data set. A CAM control state machine interconnects the request arbiter and the CAM, and implements a semaphore operation requested by one of the plurality of processor devices to the content addressable memory to access the data set.

Inventors

  • 👤 Jacob J. Schroeder
  • 👤 Magnussen Andreas
  • 👤 Jens K. Andreassen
  • 👤 Steen V. Kock

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 16:32
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 112 words
A method of implementing semaphores in a content addressable memory (CAM), comprising: receiving data to be processed; searching for an address of a data set stored in the CAM corresponding to the received data; executing a test and set operation on a semaphore associated with the data set in the CAM; determining whether the set operation was successful; waiting a period of time if the set operation failed; processing the received data utilizing the data set stored in the CAM corresponding to the received data if the set operation was successful; and executing a clear operation on the semaphore associated with the data set in the CAM after processing the received data.
Claim 2
Independent Claim 112 words
A method of implementing semaphores in a content addressable memory (CAM), comprising: receiving data to be processed; searching for an address of a data set stored in the CAM corresponding to the received data; executing a test and set operation on a semaphore associated with the data set in the CAM; determining whether the set operation was successful; waiting a period of time if the set operation failed; processing the received data utilizing the data set stored in the CAM corresponding to the received data if the set operation was successful; and executing a clear operation on the semaphore associated with the data set in the CAM after processing the received data.
Claim 3
Dependent Claim 23 words
The method according to claim 1 , wherein the processing includes reading from or writing to the data set stored in the CAM.
Claim 4
Dependent Claim 55 words
The method according to claim 1 , further including: executing a second test and set operation on the semaphore associated with the data set stored in the CAM after waiting the period of time; determining whether the second set operation was successful; and waiting a second period of time if the second set operation failed.
Claim 5
Dependent Claim 13 words
The method according to claim 1 , wherein the data is a frame.
Claim 6
Dependent Claim 18 words
The method according to claim 1 , wherein the data set is a transmission control block (TCB) record.
Claim 7
Dependent Claim 121 words
A processor device, comprising: a machine-readable medium; and machine-readable program code, stored on the machine-readable medium, having instructions to receive data to be processed, search for an address of a data set stored in the CAM corresponding to the received data, execute a test and set operation on a semaphore associated with the data set in the CAM, determine whether the set operation was successful, wait a period of time if the set operation failed, process the received data utilizing the data set stored in the CAM corresponding to the received data if the set operation was successful, and execute a clear operation on the semaphore associated with the data set in the CAM after the received data has been processed.
Claim 8
Dependent Claim 121 words
A processor device, comprising: a machine-readable medium; and machine-readable program code, stored on the machine-readable medium, having instructions to receive data to be processed, search for an address of a data set stored in the CAM corresponding to the received data, execute a test and set operation on a semaphore associated with the data set in the CAM, determine whether the set operation was successful, wait a period of time if the set operation failed, process the received data utilizing the data set stored in the CAM corresponding to the received data if the set operation was successful, and execute a clear operation on the semaphore associated with the data set in the CAM after the received data has been processed.
Claim 9
Dependent Claim 28 words
The processor device according to claim 6 , wherein the instructions to process include instructions to read from or write to the data set stored in the CAM.
Claim 10
Dependent Claim 63 words
The processor device according to claim 6 , wherein the machine-readable program code further includes instructions to: execute a second test and set operation on the semaphore associated with the data set stored in the CAM after waiting the period of time; determine whether the second set operation was successful; and wait a second period of time if the second set operation failed.
Claim 11
Dependent Claim 14 words
The processor device according to claim 6 , wherein the data is a frame.
Claim 12
Dependent Claim 19 words
The processor device according to claim 6 , wherein the data set is a transmission control block (TCB) record.
Claim 13
Independent Claim 111 words
A method of operating a network processor device, comprising: receiving a frame; searching for an address of a transmission control block (TCB) record stored in a content addressable memory (CAM) corresponding to the frame; executing a test and set operation on a semaphore associated with the TCB record stored in the CAM; determining whether the set operation was successful; waiting a period of time if the set operation failed; processing the frame utilizing the TCB record stored in the CAM corresponding to the frame if the set operation was successful; and executing a clear operation on the semaphore associated with the TCB record stored in the CAM after processing the frame.
Claim 14
Independent Claim 111 words
A method of operating a network processor device, comprising: receiving a frame; searching for an address of a transmission control block (TCB) record stored in a content addressable memory (CAM) corresponding to the frame; executing a test and set operation on a semaphore associated with the TCB record stored in the CAM; determining whether the set operation was successful; waiting a period of time if the set operation failed; processing the frame utilizing the TCB record stored in the CAM corresponding to the frame if the set operation was successful; and executing a clear operation on the semaphore associated with the TCB record stored in the CAM after processing the frame.
Claim 15
Dependent Claim 23 words
The method according to claim 11 , wherein the processing includes reading from or writing to the data set stored in the CAM.
Claim 16
Dependent Claim 55 words
The method according to claim 11 , further including: executing a second test and set operation on the semaphore associated with the TCB record stored in the CAM after waiting the period of time; determining whether the second set operation was successful; and waiting a second period of time if the second set operation failed.
Claim 17
Dependent Claim 124 words
A network processor device, comprising: a machine-readable medium; and machine-readable program code, stored on the machine-readable medium, having instructions to receive a frame, search for an address of a transmission control block (TCB) record stored in a content addressable memory (CAM) corresponding to the frame, execute a test and set operation on a semaphore associated with the TCB record stored in the CAM, determine whether the set operation was successful, wait a period of time if the set operation failed, process the frame utilizing the TCB record stored in the CAM corresponding to the frame if the set operation was successful, and execute a clear operation on the semaphore associated with the TCB record stored in the CAM after the frame has been processed.
Claim 18
Dependent Claim 124 words
A network processor device, comprising: a machine-readable medium; and machine-readable program code, stored on the machine-readable medium, having instructions to receive a frame, search for an address of a transmission control block (TCB) record stored in a content addressable memory (CAM) corresponding to the frame, execute a test and set operation on a semaphore associated with the TCB record stored in the CAM, determine whether the set operation was successful, wait a period of time if the set operation failed, process the frame utilizing the TCB record stored in the CAM corresponding to the frame if the set operation was successful, and execute a clear operation on the semaphore associated with the TCB record stored in the CAM after the frame has been processed.
Claim 19
Dependent Claim 24 words
The network processor device according to claim 14 , wherein the processing includes reading from or writing to the data set in the CAM.
Claim 20
Dependent Claim 64 words
The network processor device according to claim 14 , wherein the machine-readable program code further includes instructions to: execute a second test and set operation on the semaphore associated with the TCB record stored in the CAM after waiting the period of time; determine whether the second set operation was successful; and wait a second period of time if the second set operation failed.

References Cited (Backward Citations)

US6148300A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-09-29 2007-03-31 2007-09-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-09-29 2011-03-31 2011-09-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-09-29 2015-03-31 2015-09-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag