Method and apparatus for routing interleaved incoming ATM cells with reduced channel switching
AssigneeSun Microsystems, Inc.
InventorsRasoul M. Oskouy, Denny Gentry
Life of this patent
Estimating the term…
Abstract
A number of storage units and a number of state machines are provided to reorder interleaved ATM data cells for a number of channels incoming to a networked host computer. The storage units store the incoming ATM data cells, a number of data structures tracking the stored ATM data cells for the channels and the free resources, and an unload schedule queue. The state machines load and unload the incoming ATM data cells, and update the tracking data structures and schedule queue accordingly.
Claims21
An apparatus comprising:
- at least one storage unit comprising:
- a first plurality of storage slots, said first plurality of storage slots to temporarily store interleaved incoming asynchronous transfer mode (ATM) cells from an input communication line, said cells comprising a variable number of channels,
- a second plurality of storage slots, said second plurality of storage slots to store a plurality of data structures, said data structures to track the storage slots of currently stored ATM cells for each of the variable number of channels, and to track free storage slots of said first plurality of storage slots available to temporarily store additional incoming ATM cells from the input communication line, and
- a third plurality of storage slots, said third plurality of storage slots to store a channel-based unload schedule, said channel-based unload schedule to identify which of said variable number of channels of cells require unloading;
- and
- at least one state machine coupled to said storage unit, said state machine to load interleaved incoming ATM cells into said free storage slots of said first plurality of storage slots as they arrive through said input communication line, and to unload said stored ATM cells out of their storage slots in a reordered sequence onto an output communication line in accordance with said channel-based unload schedule, one scheduled channel at a time, multiple cells per scheduled channel, thereby reducing channel switching,
- said at least one state machine to further update said tracking data structures as cells are loaded and unloaded, each of said variable number of channels being scheduled for unloading responsive to one of arrival of a last cell of a data packet for a particular channel and a number of cells stored for the particular channel reaching a predetermined level.
In a network of computers, a method for routing interleaved asynchronous transfer mode (ATM) cells incoming from an input communication line to a host computer for a variable number of channels through an output communication line, with reduced amount of channel switching, said method comprising the steps of:
- (a) loading and temporarily storing said interleaved incoming ATM cells, by at least one state machine, for said channels in a first storage unit comprising a first plurality of storage slots, said loading and storing being performed as said ATM cells arrive through said input communication line;
- (b) tracking the storage slots of the currently stored ATM cells, by said at least one state machine, for said variable number of channels, and free storage slots of said first plurality of storage slots available for storing additional incoming ATM cells;
- (c) scheduling, by said at least one state machine, a channel having ATM cells stored to be unloaded responsive to either arrival of a last cell of a data packet for the channel or a number of cells stored for the channel reaching a predetermined level;
- and
- (d) unloading, by said at least one state machine, the stored ATM cells in a reordered sequence in accordance with the scheduled channels onto the output communication line, one scheduled channel at a time, multiple cells per channel, thereby reducing channel switching.
A method for providing a function for routing interleaved incoming asynchronous transfer mode (ATM) cells comprising a variable number of channels with reduced amount of channel switching to a network interface, said method comprising the steps of:
- (a) providing at least one storage unit comprising a first plurality of storage slots for storing said incoming ATM cells provided through an input communication line, a second plurality of storage slots for storing a plurality of data structures tracking the storage slots of said stored ATM cells for said variable number of channels, and tracking free storage slots of said first plurality of storage slots for storing additional incoming ATM cells, and a third plurality of storage slots for storing a channel-based unload schedule identifying which of said channels having stored ATM cells requiring unloading;
- (b) providing at least one state machine coupled to said storage unit for loading said interleaved ATM cells into said storage unit as they arrive, and unloading said stored ATM cells out of their storage slots in a reordered sequence onto an output communication line, in accordance to said channel-based unload schedule, one scheduled channel at a time, multiple cells per scheduled channel, thereby reducing channel switching,
- said at least one state machine further updating said tracking data structures and said channel-based unload schedule as said loading and unloading are performed, each of said channels being scheduled for unloading responsive to either arrival of a last cell of a data packet for the channel or a number of cells stored for the channel reaching a predetermined level.
Dependencies are inferred from the claim text.