Method and apparatus for efficient interrupt event notification for a scalable input/output device
First Claim
1. A network system, comprising:
- a plurality of processing entities and associated memory entities, wherein predetermined subsets of the plurality of processing entities define asymmetrical data processing partitions operable to process data transported by the network system;
a network interface unit operably connected to at least one of the asymmetrical data processing partitions, wherein the network interface unit comprises one or more buffers storing data received from a network to which the network interface unit is coupled; and
at least one status register in the network interface unit, the status register containing information indicating a task to be performed by at least one processing entity in the at least one of the asymmetrical data processing partitions, wherein the status register is separate from the one or more buffers, and wherein said information indicating said task is separated from the data stored in the one or more buffers of the network interface unit;
wherein at least one of the memory entities associated with the one of the asymmetrical data processing partitions comprises a mailbox storage register that stores an image of the information indicating the task to be performed stored in the status register of the network interface unit such that information indicating the task to be performed is simultaneously stored in both of said mailbox storage register and said status register; and
wherein the at least one processing entity is configured to;
initially read the information indicating the task to be performed in the mailbox storage register upon detection of an interrupt pertaining to the network interface unit;
execute the task indicated by the information stored in the mailbox storage register; and
during the execution of the task, read the status register in the network interface unit to read information indicating one or more additional tasks to be performed by the at least one processing entity, wherein to read said information indicating one or more additional tasks to be performed, the at least one processing entity reads the status register in the network interface unit and not from the memory entities.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for efficient interrupt event notification for a scalable input/output device in a network system. A network interface unit is operably connected to a plurality of processing entities and associated memory units. At least one status register in the network interface unit contains information relating to a process to be performed by at least one processing entity communicated to the processing entity by an interrupt event notification. Shared memory space comprises a mailbox storage register operable to store an image of the interrupt information stored in the status register of the network interface unit. A processing entity can directly access the process information stored in the mailbox status register thereby reducing system latency associated with reading information in the status register. Updated process status information in the network interface status register may be read by the processing entity on an interleaved basis while executing a process.
-
Citations
23 Claims
-
1. A network system, comprising:
-
a plurality of processing entities and associated memory entities, wherein predetermined subsets of the plurality of processing entities define asymmetrical data processing partitions operable to process data transported by the network system; a network interface unit operably connected to at least one of the asymmetrical data processing partitions, wherein the network interface unit comprises one or more buffers storing data received from a network to which the network interface unit is coupled; and at least one status register in the network interface unit, the status register containing information indicating a task to be performed by at least one processing entity in the at least one of the asymmetrical data processing partitions, wherein the status register is separate from the one or more buffers, and wherein said information indicating said task is separated from the data stored in the one or more buffers of the network interface unit; wherein at least one of the memory entities associated with the one of the asymmetrical data processing partitions comprises a mailbox storage register that stores an image of the information indicating the task to be performed stored in the status register of the network interface unit such that information indicating the task to be performed is simultaneously stored in both of said mailbox storage register and said status register; and wherein the at least one processing entity is configured to; initially read the information indicating the task to be performed in the mailbox storage register upon detection of an interrupt pertaining to the network interface unit; execute the task indicated by the information stored in the mailbox storage register; and during the execution of the task, read the status register in the network interface unit to read information indicating one or more additional tasks to be performed by the at least one processing entity, wherein to read said information indicating one or more additional tasks to be performed, the at least one processing entity reads the status register in the network interface unit and not from the memory entities. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of interrupt event notification in a network data processing system, the method comprising:
-
providing a plurality of processing entities; providing a plurality of memory units defining a shared memory; asymmetrically associating predetermined subsets of the plurality of processing entities with predetermined subsets of the plurality of memory units thereby defining a plurality of asymmetrical data processing partitions operable to process data transported by the network system; operably connecting a network interface unit to at least one of the asymmetrical data processing partitions; storing in one or more buffers of the network interface unit, data received from a network to which the network interface unit is coupled; storing information indicating a task to be performed by at least one processing entity in the at least one of the asymmetrical data processing partitions in a first status register in the network interface unit, wherein the first status register is separate from the one or more buffers, and wherein said information indicating said task is separate from the data stored in the one or more buffers of the network interface unit; storing an image of the information indicating the task to be performed from the first status register in a mailbox storage register in at least one of the memory units in the at least one of the asymmetrical data processing partitions such that information indicating the task to be performed is simultaneously stored in both of said mailbox storage register and said status register; and the at least one processing entity; initially reading the information indicating the task to be performed in the mailbox storage register upon detection of an interrupt pertaining to the network interface unit; executing the task indicated by the information stored in the mailbox storage register; during the execution of the task, reading the status register in the network interface unit to read information indicating one or more additional tasks to be performed by the at least one processing entity, wherein reading said information indicating one or more additional tasks to be performed includes reading the status register in the network interface unit and not from the memory units. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An apparatus for asymmetrically processing data in a network system, comprising:
-
means for providing a plurality of processing entities; means for providing a plurality of memory units defining a shared memory; means for providing a plurality of asymmetrical data processing partitions operable to process data transported by the network system, wherein the plurality of asymmetrical data processing partitions comprise predetermined subsets of the plurality of processing entities and predetermined subsets of the plurality of memory units; means for providing a network interface unit operably connected to at least one of the asymmetrical data processing partitions, wherein the network interface unit comprises one or more buffers storing data received from a network to which the network interface unit is coupled, wherein the network interface unit comprises a status register containing information indicating a task to be performed by at least one processing entity in the one of the asymmetrical data processing partitions, wherein the status register is separate from the one or more buffers, and wherein said information indicating said task is separate from the data stored in the one or more buffers of the network interface unit; wherein at least one of the memory units in one of the asymmetrical data processing partitions comprises a mailbox storage register that stores an image of the information indicating the task to be performed stored in the status register of the network interface unit such that information indicating the task to be performed is simultaneously stored in both of said mailbox storage register and said status register; and wherein the at least one processing entity is configured to; initially read the information indicating the task to be performed in the mailbox storage register upon detection of an interrupt pertaining to the network interface unit; execute the task indicated by the information stored in the mailbox storage register; and during the execution of the task, read the status register in the network interface unit to read information indicating one or more additional tasks to be performed by the at least one processing entity, wherein to read said information indicating one or more additional tasks to be performed, the at least one processing entity reads the status register in the network interface unit and not from the memory units. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
Specification