Interrupt techniques
First Claim
Patent Images
1. A method comprising:
- receiving contents of a network protocol unit from one or more message segments at a buffer identified by a queue associated with a virtual message receive engine, wherein the virtual message receive engine is associated with a message engine and wherein identification of a memory address of the buffer comprises identification of a virtual message engine address of the message engine and is independent of identifying a destination memory address of the buffer, wherein at least one of the message segments comprises;
a destination virtual message engine address;
a reassembly tag field; and
a message segment offset field, whereinthe queue is based at least in part on the reassembly tag field,the buffer is located based at least in part on the reassembly tag field, anda location in the buffer to store at least one of the message segments is based at least in part on the message segment offset field; and
indicating availability of contents of the buffer to a core using an interrupt.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described that can be used by a message engine to notify a core or hardware thread of activity. For example, an inter-processor interrupt can be used to notify the core or hardware thread. The message engine may generate notifications in response to one or more message received from a transmitting message engine. Message engines may communicate without sharing memory space.
64 Citations
25 Claims
-
1. A method comprising:
-
receiving contents of a network protocol unit from one or more message segments at a buffer identified by a queue associated with a virtual message receive engine, wherein the virtual message receive engine is associated with a message engine and wherein identification of a memory address of the buffer comprises identification of a virtual message engine address of the message engine and is independent of identifying a destination memory address of the buffer, wherein at least one of the message segments comprises; a destination virtual message engine address; a reassembly tag field; and a message segment offset field, wherein the queue is based at least in part on the reassembly tag field, the buffer is located based at least in part on the reassembly tag field, and a location in the buffer to store at least one of the message segments is based at least in part on the message segment offset field; and indicating availability of contents of the buffer to a core using an interrupt. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 25)
-
-
10. An apparatus comprising:
-
a memory configured to store a buffer to receive contents of a network protocol unit from one or more message segments; a core; and a message engine to indicate availability of the contents of the buffer to the core using an interrupt, wherein the message engine is configured to associate with a virtual message receive engine and wherein identification of a memory address of the buffer includes identification of a virtual message engine address of the virtual message receive engine and is independent of identification of a destination memory address of the buffer, wherein at least one of the message segments comprises; a destination virtual message engine address; a reassembly tag field; and a message segment offset field, wherein a queue is based at least in part on the reassembly tag field, the buffer is identified using the queue and is located based at least in part on the reassembly tag field, and a location in the buffer to store at least one of the message segments is based at least in part on the message segment offset field. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
a storage device; at least one core; a network interface to receive a network protocol unit; and first and second message engines, wherein the first message engine is to form at least one message from contents of the network protocol unit and to transmit the at least one message to a buffer accessible to the second message engine, wherein a virtual message receive engine is configured to associate with the second message engine and wherein to transmit to the buffer, the first message engine is to identify a memory address of the buffer using a virtual message engine address of the virtual message receive engine independent of identification of the destination memory address of the buffer, wherein at least one message comprises; a destination virtual message engine address; a reassembly tag field; and a message segment offset field, wherein a queue is based at least in part on the reassembly tag field, the buffer is identified using the queue and is located based at least in part on the reassembly tag field, and a location in the buffer to store at least one of the message segments is based at least in part on the message segment offset field, and the second message engine is to notify one of the at least one core of availability of the message using an interrupt. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification