USRE38309EExpiredUtility

Full duplex flow control for Ethernet networks

75
Assignee: SUN MICROSYSTEMS INCPriority: Nov 6, 1995Filed: Jul 14, 2000Granted: Nov 11, 2003
Est. expiryNov 6, 2015(expired)· nominal 20-yr term from priority
H04L 47/10H04L 47/13H04L 12/4013H04L 47/266H04L 49/351H04L 12/413
75
PatentIndex Score
17
Cited by
24
References
29
Claims

Abstract

CSMA/CD is used to implement flow control in a full-duplex Ethernet network in a lossless fashion. Uniquely identifiable flow control transmit on/off (“XON/XOFF”) messages are transmitted, preferably during IPG, by a receiving station about to be congested to the transmitting station whose data output is to be controlled. The transmitting station physical layer receives and decodes these messages. If XOFF is recognized, the transmitting station continuously asserts CRS to its MAC layer at the MII, regardless of the prior CRS current state. CRS is continuously asserted until the receiving station transmits an XON flow control signal, indicating its ability to accept further data. During CRS assertion, the transmitting station defers transmission, e.g., is flow controlled. The MAC layer is slightly modified (but is still backward compatible with half-duplex networks) to provide separate transmit deferral receive data frame mechanisms using separate and independent input status signals, namely CRS and RX_DV. CRS provides a carrierSense signal used for deferral within the MAC transmit process, and RX_DV provides a receive_carrierSense signal that frames data within the MAC receive process. As long as CRS remains asserted, the transmitting station defers transmission, thereby implementing flow control. In addition to slight MAC layer modification, the present invention slightly modified the physical layer, MII interface and reconciliation sublayer.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
       1. A flow control method for use with a full-duplex Ethernet network that includes at least a first station  endstation coupled by a medium to a second station  endstation for transmission of signals therebetween, each station  endstation definable as including at least a physical layer and a reconciliation sublayer and a media independent interface (MII) therebetween, and a media access control layer, the method including the following steps: 
       (a) when resources of said second station  endstation approach a threshold level of congestion, causing said second station  endstation to periodically transmit a first flow control (XOFF) signal over said medium to said first station  endstation, and causing said second station  endstation to periodically transmit a second flow control (XON) signal otherwise over said medium to said first station  endstation, said XOFF signal and said XON signal being distinguishable from data signals transmittable over said medium;  
       (b) upon receipt of a said XOFF flow control signal, causing said first station  endstation to continuously assert a carrier sense (CRS) signal to the media access control layer of said first endstation until receipt by said first station  endstation of a control signal commanding de-assertion of said CRS flow control signal;  
       wherein assertion of said CRS continues for a time period not exceeding receipt by said first station  endstation of a said XON signal from said second station  endstation; 
       wherein during assertion of said CRS flow control signal, said first station  endstation is flow controlled. 
     
     
       2. The method of  claim 1 , wherein at step (b), said physical layer of said first station  endstation receives, decodes, and recognizes a said flow control signal, and wherein recognition of a said XOFF flow control signal results in said physical layer of said first station forcing  endstation asserting said CRS signal to force said media access control layer of said first station  endstation to defer further transmission until for a time interval not exceeding transmission by said second station  endstation of a subsequently transmitted said XON control signal. 
     
     
       3. The method of  claim 1 , wherein at step (b), upon receipt, decoding and recognition of a said flow control signal, said physical layer of said first station forces  endstation asserts said CRS signal to force said media access control layer of said first station  endstation to defer until the earlier occurrence of receipt of a said XON control signal or a said  time-out signal. 
     
     
       4. The method of  claim 1 , wherein: 
       said MII interface provides data transmission paths including transmit data (TXD<3:0>), transmit clock (TX_CLK), transmit enable (TX_EN), and transmit error (TX_ER), and provides reception paths including receive data (RXD<3:0>), receive clock (RX_CLK), receive data valid (RX_DV), and receive error (RX_ER), and provides asynchronous media status signals including carrier sense (CRS) and collision (COL), and further provides a management interface for control and status gathering including management data clock (MDC) and management data input/output (MDIO);  
       said TX_CLK is continuously active, said RX CLK is continuously active during reception by said second station  endstation of data from said first station  endstation, and during an inter-packet gap (IPG); and  
       transmission and reception of data by a said station  endstation is uninterrupted with  within a protocol data unit (PDU).  
     
     
       5. The method of  claim 1 , wherein at step (a), a said station  endstation initiates transmission of a said XON or XOFF signal using a primitive RS_FlowControl.request(request_type), wherein request_type:START,STOP. 
     
     
       6. The method of  claim 1 , wherein at step (b), a said station  endstation receives a said XON or XOFF signal using a primitive RS_FlowControl.indicate(indicate_type_ , wherein indicate_type:START,STOP. 
     
     
       7. The method of  claim 1 , wherein at step (b), a said station  endstation recovers from non-receipt of a transmitted said XON signal using a primitive RS_FlowControl_Release.request(). 
     
     
       8. The method of  claim 1 , wherein at step (a), a said XOFF/flow  XOFF flow control signal is produced by said reconciliation layer in said second station  endstation in response to a stop flow control request service primitive (RS_FlowControl.request(STOP)), and is conveyed on said MII interface of said second station  endstation in one receive clock (RX_CLK) period as a transmit data signal (<TXD<3:0>=<pattern 1 >, a de-asserted transmit enable signal (TX_EN), and an asserted transmit error signal (TX_ER)), wherein <pattern 1 > is a bit pattern representing a said XOFF flow control signal. 
     
     
       9. The method of  claim 1 , wherein at step (a), a said XON flow control signal is produced by said reconciliation layer in said second station  endstation in response to a start flow control request service primitive (RS_FlowControl.request(START)), and is conveyed on said MII interface of said second station  endstation in one transmit clock (TX_CLK) period as a transmit data signal (<TXD<3:0>=<pattern 2 >, a de-asserted transmit enable signal (TX_EN), and an asserted transmit error signal (TX_ER)), wherein <pattern 2 > is a bit pattern representing a said XON flow control signal. 
     
     
       10. The method of  claim 1 , wherein said physical layer of said first station  endstation upon receipt of a said XOFF signal from said second station  endstation issues an XOFF signal to said reconciliation layer of said first station  endstation that is conveyed on said MII interface as as  a receive data signal (RXD<3:0>=<pattern 1 >, a de-asserted receive data valid signal (RX_DV), and an asserted receive error signal (RX_ER)), wherein said pattern 1  is a bit pattern representing a said XOFF flow control signal. 
     
     
       11. The method of  claim 1 , wherein said physical layer of said first station  endstation upon receipt of a said XON signal from said second station  endstation issues an XON message to said reconciliation layer of said first station  endstation that is conveyed on said MII interface as a receive data signal (RXD<3:0>=<pattern 2 >, a de-asserted receive data valid signal (RX_DV), and an asserted receive error signal (RX_ER)), wherein said pattern 2  is a bit pattern representing a said XON flow control signal. 
     
     
       12. The method of  claim 1 , wherein said reconciliation layer of said first station  endstation issues a RELEASE message in response to an RS_FlowControl_Release.request() primitive, said RELEASE message being conveyed on said MII interface as a transmit data signal (TXD<3:0>=<pattern 3 >, a de-asserted transmit enable signal (TX_EN), an asserted transmit error signal (TX_ER)), wherein said pattern 3  is a bit pattern representing a said RELEASE signal. 
     
     
       13. The method of  claim 1 , wherein at least an appropriate one of said XON control signal and said XOFF flow control signal is transmitted during at least one inter-packet gap (IPG). 
     
     
       14. The method of  claim 1 , wherein at least an appropriate one of said XON control signal and said XOFF flow control signal is transmitted during a first-half of preamble associated with a frame of data transmitted over said medium. 
     
     
       15. The method of  claim 1 , wherein at least an appropriate one of said XON control signal and said XOFF flow control signal is transmitted during each inter-packet gap (IPG). 
     
     
       16. The method of  claim 1 , wherein said flow control is lossless. 
     
     
       17. The method of  claim 1 , wherein at least said first station  endstation further includes a timer that, upon receipt by said first station  endstation of a said XOFF control signal from said second station  endstation, generates a time-out interval after which said first station  endstation de-asserts said CRS signal even if a said XON signal has not been received by said first station  endstation from said second station  endstation. 
     
     
       18. The method of  claim 1 , wherein said network is IEEE 802  802.3-compliant, and said first station  endstation and said second station  endstation are identical. 
     
     
       19. The method of  claim 1 , wherein a said station  endstation includes a said media access layer having a transmitter process including a deference mechanism responsive to a carrier sense signal (CRS) from said physical layer of said station  endstation, and wherein said media access layer further has a receiver process including a bit receiver mechanism framing data responsive to a receive data valid (RX_DV) from said physical layer of said station  endstation. 
     
     
       20. A method for providing full duplex flow control in a full duplex Ethernet network, comprising: 
       
         receiving a flow control signal at a source station;  
       
       
         responsive to receiving the flow control signal, starting a timer having an expiration time, wherein said timer is implemented in a medium access control layer of said source station; and  
       
       
         delaying transmission from said source station until at least the expiration time;  
       
         wherein said timer is a timer other than a back - off timer applied after a collision.    
     
     
       21. The method of  claim 20 , wherein the flow control signal is compliant with an IEEE  802 . 3  pause command.  
     
     
       22. A method for providing full duplex flow control in a manner operable with an IEEE  802 . 3  standard, comprising: 
       
         at a transmitting endstation, receiving a first flow control signal from a destination endstation, wherein the first flow control signal is compliant with the IEEE  802 . 3  standard; and  
       
       
         responsive to receiving the first flow control signal, delaying transmission for a predetermined period of time measured by a timer managed by a medium access control layer of the transmitting endstation.  
       
     
     
       23. The method of  claim 22 , further comprising: 
         responsive to receiving a second flow control signal compliant with the IEEE  802 . 3  standard, re - starting transmission.    
     
     
       24. A method for providing full duplex flow control in a manner operable with an IEEE  802 . 3  standard, comprising: 
       
         at a transmitting endstation, deferring transmission during a period of time measured by a timer maintained by a medium access control layer of the transmitting endstation;  
       
       
         receiving a flow control signal from a destination endstation, wherein the flow control signal is compliant with the IEEE  802 . 3  standard; and  
       
       
         responsive to receiving the flow control signal, resuming transmission from the transmitting endstation.  
       
     
     
       25. A flow control method for use with a full duplex Ethernet network that includes at least a source endstation coupled by a medium to a destination endstation for transmission of signals therebetween, comprising: 
       
         establishing a communication connection between the source endstation and the destination endstation for the purpose of exchanging data;  
       
       
         upon receipt of a transmit off message at the source endstation from the destination endstation, pausing the transmission of data from the source endstation; and  
       
         resuming the transmission of data from the source endstation upon expiration of a timer maintained in a medium access control  ( MAC )  layer of the source endstation.    
     
     
       26. A flow control method for use with a full duplex Ethernet network that includes at least a source station coupled by a medium to a destination station for transmission of signals therebetween, comprising: 
       
         receiving a pause command from a destination station at a source station; and  
       
       
         halting the transmission of data from the source station to the destination station until one of:  
       
       
         an expiration of a given time measured by a medium access control layer of the source station; and  
       
       
         receipt of a resume command from the destination station.  
       
     
     
       27. The method of  claim 20 , further comprising: 
         responsive to receiving a second flow control signal prior to the expiration time, re - starting transmission.    
     
     
       28. A method of performing flow control between a first communication endstation and a second communication endstation, comprising: 
       
         establishing a communication connection between a first endstation and a second endstation;  
       
       
         receiving a first flow control signal at the first endstation from the second endstation;  
       
         in response to said first flow control signal, asserting a Carrier Sense  ( CRS )  signal toward a medium access control  ( MAC )  layer in the first endstation to defer transmission from the first endstation to the second endstation; and    
         de - asserting said CRS signal in response to one of:    
       
         a second flow control signal from the second endstation; and  
       
       
         expiration of a timer initiated in response to said first flow control signal.  
       
     
     
       29. A method of applying flow control between endstation in a communication network, comprising: 
       
         establishing a communication connection between a first endstation and a second endstation in a communication network in order to exchange data;  
       
       
         transmitting one or more communication units from the first endstation to the second endstation;  
       
       
         receiving at the first endstation a first flow control signal from the second endstation;  
       
         initiating, in a medium access control  ( MAC )  layer of the first endstation, a delay timer; and    
       
         delaying transmission of a next communication unit from the first endstation to the second endstation until one of:  
       
       
         said delay timer expires; and  
       
       
         a second flow control signal countermanding said first flow control signal is received at the first endstation from the second endstation.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.