Abstract:
A physical layer (PHY) module of a network device includes an auto-negotiation module that enables an auto-negotiation mode when the network device one of powers up and loses a link. The PHY includes a control module that communicates with the auto-negotiation module, and that generates a full duplex signal when a PHY of a link partner is in a full duplex mode and does not have the auto-negotiation mode enabled, wherein the PHY sets a duplex mode to the full duplex mode based on the full duplex signal.

Description:
FIELD 
   The present disclosure relates to network systems, and more particularly to automatically negotiating communication modes of network devices. 
   BACKGROUND 
   The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description which may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure. 
   A network device generally comprises a physical layer (PHY) module and a medium access controller (MAC). In wired networks, the PHY connects the network device to a cable. The MAC provides an interface between the PHY and a host. Referring now to  FIG. 1 , a first network device  20  is connected to a second network device  22  using a cable  14 . In a typical network, the first network device  20  may be called a local device and the network device  22  may be called a link partner of the local device, or vice versa. 
   The first network device  20  comprises a PHY  24  and a MAC  26 . The PHY  24  is coupled to the cable  14  via a connector  12 . The second network device  22  comprises a PHY  28  and a MAC  30 . The PHY  28  is coupled to the cable  14  via a connector  15 . In an Ethernet-based network, the cable  14  is generally a CAT  5  or CAT  6  twisted-pair cable. The connectors  12  and  15  are generally RJ45 connectors. 
   A PHY of a network device may communicate at different speeds and use different modes of communication depending on the topology of the network. For example, the PHY of the network device that operates in a Fast Ethernet network may communicate at 100 Mbps (Mega bits per second) while the PHY of the network device that operates in a Gigabit Ethernet network may communicate at 1000 Mbps (i.e., 1 Giga bits per second). Additionally, the PHY of the network device that communicates using a full duplex mode can transmit and receive data simultaneously while the PHY of the network device that communicates using a half duplex mode can only transmit or receive data at a given time. Consequently, data transfer rates are usually higher in full duplex mode than in half duplex mode. 
   PHY&#39;s of some network devices use a mechanism called auto-negotiation to exchange communication mode information. For example, PHY  24  of the local device  20  may advertise the communication mode of PHY  24  to PHY  28  of the link partner  22 . Additionally, PHY  24  may detect the communication mode of PHY  28 . Thereafter, the communication modes of PHY  24  and PHY  28  may be synchronized. 
   Specifically, auto-negotiation is a mechanism that takes control of the cable  14  when a connection is established between the PHY  24  of the first network device  20  and the PHY  28  of the second network device  22 . Using auto-negotiation, the PHY  24  advertises the communication modes in which PHY  24  can communicate and detects the communication modes in which PHY  28  can communicate. Thereafter, auto-negotiation automatically synchronizes the communication modes of PHY  24  and PHY  28  so that the first network device  20  and the second network device  22  may communicate at the highest possible data transfer rate. 
   PHY&#39;s of some network devices, however, may be incapable of auto-negotiation. For example, PHY  24  may be capable of auto-negotiation, but PHY  28  may be incapable of auto-negotiation. In that case, PHY  24  uses a mechanism called parallel detection and communicates with PHY  28  in half duplex mode according to the IEEE 802.3u standard, which is hereby incorporated by reference in its entirety. 
   SUMMARY 
   A physical layer (PHY) module of a network device comprises an auto-negotiation module that enables an auto-negotiation mode when the network device one of powers up and loses a link. The PHY comprises a control module that communicates with the auto-negotiation module, and that generates a full duplex signal when a PHY of a link partner is in a full duplex mode and does not have the auto-negotiation mode enabled, wherein the PHY sets a duplex mode to the full duplex mode based on the full duplex signal. 
   In another feature, the auto-negotiation module sets the duplex mode of the PHY to the full duplex mode based on the full duplex signal. 
   In another feature, the control module sets the duplex mode of the PHY to the full duplex mode based on the full duplex signal. 
   In another feature, the auto-negotiation module determines whether the PHY of the link partner is in the auto-negotiation mode. 
   In another feature, the control module does not generate the full duplex signal when the PHY of the link partner is in the auto-negotiation mode. 
   In another feature, the network device parallel detects the PHY of the link partner when the PHY of the link partner is not in the auto-negotiation mode. The PHY of the network device does not parallel detect the PHY of the link partner when the PHY of the link partner is in the auto-negotiation mode. 
   In another feature, the PHY of the network device and the PHY of the link partner communicate in full duplex mode. 
   In another feature, a network device comprises the PHY. The network device further comprises a medium access controller (MAC) module. 
   In still other features, a method comprises enabling an auto-negotiation mode in a physical layer (PHY) module when a network device one of powers up and loses a link, generating a full duplex signal when a PHY of a link partner is in a full duplex mode and does not have the auto-negotiation mode enabled, and setting a duplex mode to the full duplex mode based on the full duplex signal. 
   In another feature, the method further comprises determining whether the PHY of the link partner is in the auto-negotiation mode. 
   In another feature, the method further comprises not generating the full duplex signal when the PHY of the link partner is in the auto-negotiation mode. 
   In another feature, the method further comprises parallel detecting the PHY of the link partner when the PHY of the link partner is not in the auto-negotiation mode. The method further comprises not parallel detecting the PHY of the link partner when the PHY of the link partner is in the auto-negotiation mode. 
   In another feature, the method further comprises communicating between the PHY of the network device and the PHY of the link partner in full duplex mode. 
   In still other features, a physical layer (PHY) module of a network device comprises auto-negotiation means for enabling an auto-negotiation mode when the network device one of powers up and loses a link. The PHY comprises control means for communicating with the auto-negotiation means, and generating a full duplex signal when a PHY of a link partner is in a full duplex mode and does not have the auto-negotiation mode enabled, wherein the PHY sets a duplex mode to the full duplex mode based on the full duplex signal. 
   In another feature, the auto-negotiation means sets the duplex mode of the PHY to the full duplex mode based on the full duplex signal. 
   In another feature, the control means sets the duplex mode of the PHY to the full duplex mode based on the full duplex signal. 
   In another feature, the auto-negotiation module determines whether the PHY of the link partner is in the auto-negotiation mode. 
   In another feature, the control means does not generate the full duplex signal when the PHY of the link partner is in the auto-negotiation mode. 
   In another feature, the PHY of the network device parallel detects the PHY of the link partner when the PHY of the link partner is not in the auto-negotiation mode. The PHY of the network device does not parallel detect the PHY of the link partner when the PHY of the link partner is in the auto-negotiation mode. 
   In another feature, the PHY of the network device and the PHY of the link partner communicate in full duplex mode. 
   In another feature, a network device comprises the PHY. The network device further comprises a medium access controller (MAC) module. 
   In still other features, a computer program stored for use by a processor for operating a physical layer (PHY) module of a network device comprises enabling an auto-negotiation mode when the network device one of powers up and loses a link, generating a full duplex signal when a PHY of a link partner is in a full duplex mode and does not have the auto-negotiation mode enabled, and setting a duplex mode to the full duplex mode based on the full duplex signal. 
   In another feature, the computer program further comprises determining whether the PHY of the link partner is in the auto-negotiation mode. 
   In another feature, the computer program further comprises not generating the full duplex signal when the PHY of the link partner is in the auto-negotiation mode. 
   In another feature, the computer program further comprises parallel detecting the PHY of the link partner when the PHY of the link partner is not in the auto-negotiation mode. The computer program further comprises not parallel detecting the PHY of the link partner when the PHY of the link partner is in the auto-negotiation mode. 
   In another feature, the computer program further comprises communicating between the PHY of the network device and the PHY of the link partner in full duplex mode. 
   In still other features, the systems and methods described above are implemented by a computer program executed by one or more processors. The computer program can reside on a computer readable medium such as but not limited to memory, non-volatile data storage and/or other suitable tangible storage mediums. 
   Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the disclosure, are intended for purposes of illustration only and are not intended to limit the scope of the disclosure. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein: 
       FIG. 1  is a functional block diagram of an exemplary network comprising a first network device communicating with a second network device via a twisted-pair cable according to the prior art; 
       FIG. 2  is a functional block diagram of a system used by a physical layer (PHY) module of a network device to parallel detect to full-duplex mode according to the present disclosure; and 
       FIG. 3  is a flowchart of a method used by a PHY to parallel detect to full duplex mode according to the present disclosure. 
   

   DETAILED DESCRIPTION 
   The following description is merely exemplary in nature and is in no way intended to limit the disclosure, its application, or uses. For purposes of clarity, the same reference numbers will be used in the drawings to identify similar elements. As used herein, the term module, circuit and/or device refers to an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A or B or C), using a non-exclusive logical or. It should be understood that steps within a method may be executed in different order without altering the principles of the present disclosure. 
   In an exemplary network, a physical layer (PHY) module of a first network device (i.e., PHY 1 ) and a PHY of a second network device (i.e., PHY 2 ) may be preset to communicate in full duplex mode. If, however, PHY 1  is capable of auto-negotiating and PHY 2  is not, PHY 1  may parallel detect PHY 2 , and PHY 1  may default to half duplex mode. Consequently, PHY 1  and PHY 2  may have incompatible communication modes. 
   One way to resolve the incompatibility is to initially set PHY 1  to full duplex and later enable auto-negotiation in PHY 1  when PHY 1  senses that PHY 2  is auto-negotiating. Thereafter, PHY 1  and PHY 2  may auto-negotiate and communicate in full duplex mode. 
   Another way to resolve the incompatibility is to not preset PHY 1  to full duplex mode. Instead, auto-negotiation is initially enabled in PHY 1 . That is, auto-negotiation is enabled in PHY 1  on startup or when a link is lost. If auto-negotiation is also enabled in PHY 2 , PHY 1  and PHY 2  may auto-negotiate and communicate in full duplex mode. On the other hand, if auto-negotiation is not enabled in PHY 2 , PHY 1  may parallel detect PHY 2 . Thereafter, PHY 1  is set to full duplex mode instead of defaulting PHY 1  to half duplex mode. Thus, communication modes of PHY 1  and PHY 2  are synchronized, and PHY 1  and PHY 2  communicate in full duplex mode. 
   Referring now to  FIG. 2 , a system  50  used by a PHY to parallel detect to full duplex mode is shown. A PHY  25  communicates with a PHY  28  using a cable  14 . The PHY  25  comprises an auto-negotiation module  52 , a control module  54 , and an interface module  58 . The interface module  58  interfaces the PHY  25  and the auto-negotiation module  52  to the cable  14 . The interface module  58  comprises circuits that enable the PHY  25  to communicate in either full duplex mode or half duplex mode over the cable  14 . The control module  54  determines whether the PHY  25  communicates in full duplex mode or half duplex mode. 
   Specifically, PHY  25  is not preset to full duplex mode. Instead, auto-negotiation is initially enabled in PHY  25 . That is, auto-negotiation is enabled in PHY  25  on startup or when a link is lost. The auto-negotiation module  52  detects whether PHY  28  is auto-negotiating. If the auto-negotiation module  52  determines that PHY  28  is auto-negotiating, the auto-negotiation module  52  sets a flag in a register indicating that PHY  28  is auto-negotiating. The control module  54  checks the flag. If the control module  54  finds that the flag indicates that PHY  28  is auto-negotiating, PHY  25  and PHY  28  auto-negotiate and communicate in full duplex mode. 
   If, however, the auto-negotiation module  52  determines that PHY  28  is not auto-negotiating, but is instead preset to full duplex mode, the auto-negotiation module  52  sets the flag in the register indicating that PHY  28  is not auto-negotiating, but is instead preset to full duplex mode. The control module  54  checks the flag. If the control module  54  finds that the flag in the register indicates that PHY  28  is not auto-negotiating, but is instead preset to full duplex mode, the control module  54  generates a full duplex signal. Based on the full duplex signal, PHY  25  parallel detects PHY  28 , and the control module  54  sets PHY  25  to full duplex mode instead of defaulting PHY  25  to half duplex mode. Thus, PHY  25  and PHY  28  communicate in full duplex mode. 
   Referring now to  FIG. 3 , a method  100  used by a PHY to parallel detect to full duplex mode begins at step  102 . A PHY  25  (PHY A), which communicates with a PHY  28  (PHY B), is initially enabled to auto-negotiate instead of being preset or forced to full duplex mode in step  104 . An auto-negotiation module  52  in PHY A determines in step  106  whether PHY B is auto-negotiating. 
   If true, PHY A and PHY B auto-negotiate and communicate in full duplex mode in step  114 , and the method  100  ends in step  120 . If false, PHY B is not auto-negotiating but is instead preset or forced to full duplex mode. In that case, the control module  54  generates a full duplex signal, and PHY A parallel detects PHY B in step  116  based on the full duplex signal. Additionally, based on the full duplex signal, the control module  54  in PHY A sets PHY A to full duplex mode in step  118  instead of defaulting PHY A to half duplex mode. Thereafter, PHY A and PHY B communicate in full duplex mode, and the method  100  ends in step  120 . 
   Those skilled in the art can now appreciate from the foregoing description that the broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, the specification and the following claims.