Translation hardware assist for data communication switch
First Claim
1. A method for assisting switching a discrete information unit of digital data, for use within a switching controller having an input interface and a plurality of output interfaces, wherein the output interfaces are associated with nodes operative in different protocols, and a transfer memory for switching the discrete information unit from an input interface to an output interface, comprising the steps of:
- (a) determining a destination node for the discrete information unit;
(b) determining a segment size for the discrete information unit through association with the destination node;
(c) allocating buffers in the transfer memory to the discrete information unit; and
(d) writing the discrete information unit in the allocated buffers as a series of segments of the segment size.
5 Assignments
0 Petitions
Accused Products
Abstract
A protocol translation hardware assist for resolving protocol incompatibilities in a multi-protocol switching environment. Discrete information units are transferred seamlessly from inputs to disparate protocol outputs by writing inbound discrete information units into selected address spaces in allocated buffers in a transfer queue in a manner which accounts for protocol format differences while allowing for straightforward dequeueing. The hardware assist fragments inbound discrete information units into multiple outbound units and creates offsets indicated by destination protocol requirements. A bypass check may be implemented to avoid subjecting to the fragmentation inquiry discrete information units for which it can be inferred a priori that fragmentation is not required.
-
Citations
23 Claims
-
1. A method for assisting switching a discrete information unit of digital data, for use within a switching controller having an input interface and a plurality of output interfaces, wherein the output interfaces are associated with nodes operative in different protocols, and a transfer memory for switching the discrete information unit from an input interface to an output interface, comprising the steps of:
-
(a) determining a destination node for the discrete information unit;
(b) determining a segment size for the discrete information unit through association with the destination node;
(c) allocating buffers in the transfer memory to the discrete information unit; and
(d) writing the discrete information unit in the allocated buffers as a series of segments of the segment size. - View Dependent Claims (2, 3)
(e) formatting the written segments for the protocol type operative on the destination node; and
(f) reading the formatted written segments to the destination interface associated with the destination node.
-
-
3. The switching assist method according to claim 2, wherein the formatting step comprises writing protocol header information into address spaces preceding the written segments in the allocated buffers.
-
4. A method for assisting switching a discrete information unit of digital data, for use within a switching controller having an input port and a plurality of output ports, wherein the output ports are operative in different protocols, and a transfer memory for switching the discrete information unit from a source input port to a destination output port, comprising the steps of:
-
(a) determining a destination output port for the discrete information unit and one or more translation assist values for the destination output port, the translation assist values including a maximum transfer unit value identifying a maximum length for a unit for transmission on the destination output port and a segment size value identifying an allowable length for a unit for transmission on the destination output port;
(b) comparing the length of the discrete information unit with the maximum transfer unit value; and
(c) if the length of the discrete information unit exceeds the maximum allowable length, writing the discrete information unit to the transfer memory as a series of segments of the segment size, the written segments separated from one another by an amount of address space; and
(d) otherwise, writing the discrete information unit to the transfer memory as a single contiguous segment. - View Dependent Claims (5, 6, 7, 8, 9, 10)
(e) repeating steps (a) through (d) for a plurality of discrete information units; and
(f) reading pairs of headers and segments from the transfer memory to the destination output ports in a predetermined logical order.
-
-
8. The switching assist method according to claim 4, wherein the destination output port is determined by association with an identifier in the discrete information unit.
-
9. The switching assist method according to claim 4, wherein the translation assist values are determined by association with the determined destination output port.
-
10. The switching assist method according to claim 4, wherein the translation assist values are stored in a register maintained for the protocol type operative on the destination output port.
-
11. A method for assisting switching a discrete information unit of digital data, for use within a switching controller having an input port and a plurality of output ports, wherein the output ports are operative in different protocols, and a transfer memory for switching the discrete information unit from a source input port to a destination output port, comprising the steps of:
-
(a) determining a destination output port for the discrete information unit and one or more translation assist values for the protocol type operative on the destination output port, the translation assist values including a maximum transfer unit value identifying a maximum length for a unit of the protocol type and a segment size value identifying an allowable length for a unit of the protocol type;
(b) comparing the length of the discrete information unit with the maximum transfer unit value; and
(c) if the length of the discrete information unit exceeds the maximum allowable length, writing the discrete information unit to the transfer memory as a series of segments of the segment size, the written segments separated from one another by an amount of address space; and
(d) otherwise, writing the discrete information unit to the transfer memory as a single contiguous segment. - View Dependent Claims (12, 13, 14, 15, 16, 17)
(e) repeating steps (a) through (d) for a plurality of discrete information units; and
(f) reading pairs of headers and segments from the transfer memory to the destination output port in a predetermined logical order.
-
-
15. The switching assist method according to claim 11, wherein the destination output port is determined by association with an identifier in the discrete information unit.
-
16. The switching assist method according to claim 11, wherein the translation assist values are determined by association with the determined destination output port.
-
17. The switching assist method according to claim 11, wherein the translation assist values are stored in a register maintained for the protocol type operative on the destination output port.
-
18. A method for assisting switching a discrete information unit of digital data, for use within a switching controller having an input port and a plurality of output ports, wherein the output ports are operative in different protocols, and a transfer memory for switching the discrete information unit from a source input port to a destination output port, comprising the steps of:
-
(a) comparing the protocol type of the inbound discrete information unit with a configured protocol type value, the configured value identifying the protocol type which among all protocol types active on any output port specifies the shortest maximum length for a unit for transmission in the protocol type; and
(b) if the inbound discrete information unit is of the identified protocol type, writing the discrete information unit in the transfer memory as a single contiguous segment;
(c) otherwise, (i) determining a destination output port for the discrete information unit and one or more translation assist values for the destination output port, the translation assist values including a maximum transfer unit value identifying a maximum length for a unit for transmission on the destination output port and a segment size value identifying an allowable length for a unit for transmission on the destination output port;
(ii) comparing the length of the discrete information unit with the maximum transfer unit value; and
(iii) if the length of the discrete information unit exceeds the maximum allowable length, writing the discrete information unit in the transfer memory as a series of segments of the segment size, the written segments separated from one another by an amount of address space; and
(iv) otherwise, writing the discrete information unit in the transfer memory as a single contiguous segment. - View Dependent Claims (19, 20, 21, 22, 23)
(e) repeating steps (a) through (c) for a plurality of discrete information units; and
(f) reading pairs of headers and segments from the transfer memory to the destination output ports in a predetermined logical order.
-
Specification