Multiple port allocation and configurations for different port operation modes on a host
First Claim
Patent Images
1. A method of port configuration in a host comprising:
- determining if a designated port supports a multi-link mode operation for data transfers, via one or more links;
if the designated port supports the multi-link mode operation, configuring and training the designated port to serve as one of a single link capable port which transfer data via a single link, a multiple link capable port which transfers data via respective multiple links, and multiple of single link ports which transfer data via a respective single link; and
generating and checking a Variant Cyclic Redundancy Code (VCRC) at the end of each data packet by computing the VCRC for most of the data packet when data is transferred with a first set of bytes, computing the VCRC for a second set of bytes that is smaller than the first set of bytes of the data packet if the data packet has some smaller subset of bytes than the first set of bytes, and computing a link CRC for link packets, selecting a CRC in accordance with a first selection signal, holding a CRC state for port designations in a plurality of CRC registers, and selecting an outout from any one of the CRC registers for CRC feedback in accordance with a second selection signal.
1 Assignment
0 Petitions
Accused Products
Abstract
A port configuration mechanism is provided at a host for multiple port allocation and shared resource utilization to support multiple port configurations for different port operation modes on a host to handle data transfers in a switched fabric data network for scalable solutions.
54 Citations
24 Claims
-
1. A method of port configuration in a host comprising:
- determining if a designated port supports a multi-link mode operation for data transfers, via one or more links;
if the designated port supports the multi-link mode operation, configuring and training the designated port to serve as one of a single link capable port which transfer data via a single link, a multiple link capable port which transfers data via respective multiple links, and multiple of single link ports which transfer data via a respective single link; and
generating and checking a Variant Cyclic Redundancy Code (VCRC) at the end of each data packet by computing the VCRC for most of the data packet when data is transferred with a first set of bytes, computing the VCRC for a second set of bytes that is smaller than the first set of bytes of the data packet if the data packet has some smaller subset of bytes than the first set of bytes, and computing a link CRC for link packets, selecting a CRC in accordance with a first selection signal, holding a CRC state for port designations in a plurality of CRC registers, and selecting an outout from any one of the CRC registers for CRC feedback in accordance with a second selection signal. - View Dependent Claims (2, 3, 4, 5, 6)
- determining if a designated port supports a multi-link mode operation for data transfers, via one or more links;
-
7. A host node comprising:
-
at least one port to support data transfers, via one or more links; and
a port configuration mechanism to configure and train the port to serve as a 1x capable port which transfer data via a 1x link, a 4x capable port which transfers data via respective 4x links, or four (4) independent 1x ports which transfer data via a respective 1x link;
wherein the port configuration mechanism further includes Shared Variant Cyclic Redundancy Code (VCRC) Generation/Checking Logic to generate and to check the VCRC for every data packet, and wherein the Shared VCRC Generation/Checking Logic includes;
a 64 bit CRC Generation Block arranged to compute the VCRC for most of the data packet when data is transferred 8 bytes at a time;
a 32 bit CRC Generation Block arranged to compute the VCRC for the last 4 bytes of the data packet if the data packet has an odd number of 4 byte words, and to compute the Link CRC for link packets;
a first multiplexer arranged to select if a 64 bit or a 32 bit Generated CRC is used in accordance with a first selection signal;
a plurality of CRC Registers arranged to hold the CRC State for Port designations; and
a second multiplexer arranged to select an output from any one of the CRC Registers for CRC feedback, via a CRC feedback bus in accordance with a second selection signal. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A computer readable medium comprising instructions that, when executed by a host node in a switched fabric including end nodes and switches interconnected via one or more links, cause the host node to support multiple port configurations on the host node by:
-
determining if a designated port in the host node supports a multi-link mode operation for data transfers, via one or more links;
if the designated port supports the multi-link mode operation, configuring and training the designated port to serve as one of a single link capable port which transfer data via a single link, a multiple link capable port which transfers data via respective multiple links, and multiple of single link ports which transfer data via a respective single link; and
generating and checking a Variant Cyclic Redundancy Code (VCRC) at the end of each data packet by computing the VCRC for most of the data packet when data is transferred with a first set of bytes, computing the VCRC for a second set of bytes that is smaller than the first set of bytes of the data packet if the data packet has a smaller subset of bytes than the first set of bytes, and computing a link CRC for link packets, selecting a CRC in accordance with a first selection signal, holding a CRC state for port designations in a plurality of CRC registers, and selecting an output from any one of the CRC registers for CRC feedback in accordance with a second selection signal. - View Dependent Claims (15, 16, 17)
-
-
18. A host node comprising:
-
at least one port to support a multi-link mode operation for data transfers, via one or more links; and
a port configuration mechanism to configure and train the at least one port to serve as one of a single link capable port which transfer data via a single link, a multiple link capable port which transfers data via respective multiple links, and multiple single link ports which transfer data via a respective single link;
wherein the port configuration mechanism further includes Shared Variant Cyclic Redundancy Code (VCRC) Generation/Checking Logic to generate and to check the VCRC for every data packet, and wherein the Shared VCRC Generation/Checking Logic includes;
a first CRC generator arranged to compute a first VCRC for most of the data packet when data is transferred in a first size;
a second CRC generator arranged to compute a second VCRC for a portion of the data packet if the data packet has a second size, and to compute the Link CRC for link packets;
a first multiplexer arranged to select if the first or the second computed VCRC is used in accordance with a first selection signal;
a plurality of CRC registers arranged to hold a CRC State for port designations; and
a second multiplexer arranged to select an output from any one of the CRC registers for CRC feedback in accordance with a second selection signal. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification