A training frame is generated, and the training frame includes a plurality of partial frames that include training information. The training frame has a defined duration. The training frame is generated by inverting a first bit in each of at least some partial frames, and including an info field frame in the training frame. The training frame is transmitted for training purposes.
|
1. A method, comprising:
generating, at a network interface device, a training frame comprising a plurality of partial frames that include training information, and the generating including
inverting, at the network interface device, a respective first bit in each of at least some partial frames, and
including, at the network interface device, an info field frame in the training frame; and
transmitting, with the network interface device, the training frame for training purposes, the training frame including the info field frame and the plurality of partial frames, wherein each of the at least some of the partial frames includes the respective inverted first bit when the training frame is transmitted.
18. A network interface device, comprising:
a media access control (MAC) processing device implemented on one or more integrated circuits; and
a physical layer (PHY) processing device coupled to the MAC processing device, wherein the PHY processing device is implemented on the one or more integrated circuits, and wherein the PHY processing device is configured to:
generate a training frame comprising a plurality of partial frames that includes training information, and the PHY processing device is configured to generate the training frame by
inverting a respective first bit in each of at least some partial frames, and
including an info field frame in the training frame;
wherein the PHY processing device is further configured to transmit the training frame to another PHY processing device for training purposes, the training frame including the info field frame and the plurality of partial frames, wherein each of the at least some of the partial frames includes the respective inverted first bit when the training frame is transmitted.
10. A method, comprising:
maintaining, at a first network interface device, a first counter that increments for each partial frame transmitted by the first network interface device to a second network interface device;
generating, at the first network interface device, a training frame for training purposes, wherein the training frame comprises a plurality of partial frames that include training information, wherein generating the training frame comprises
including, at the first network interface device, a first info field frame in the training frame, wherein the first info field frame comprises a first partial frame count field having a first value corresponding to a first count of the first counter, wherein the first partial frame count field is for synchronizing a second counter of the second network interface device with the first counter of the first network interface device;
transmitting, with the first network interface device, the training frame to the second network interface device; and
receiving, at the first network interface device, a second info field frame from the second network interface device, wherein a beginning of the second info field frame is received within one partial frame duration of transmission of a beginning of the first info field frame, wherein the second info field comprises a second partial frame count field having a second value corresponding to a second count of the second counter, and wherein the first value is the same as the second value.
27. A network interface device, comprising:
a media access control (MAC) processing device implemented on one or more integrated circuits; and
a physical layer (PHY) processing device coupled to the MAC processing device, wherein the PHY processing device is implemented on the one or more integrated circuits, and wherein the PHY processing device is configured to:
maintain a first counter that increments for each partial frame transmitted by the network interface device to a second network interface device, and
generate a training frame for training purposes, wherein the training frame comprises a plurality of partial frames that include training information, wherein generating the training frame comprises
including a first info field frame in the training frame, wherein the first info field frame comprises a first partial frame count field having a first value corresponding to a first count of the first counter, wherein the first partial frame count field is for synchronizing a second counter of the second network interface device with the first counter of the network interface device;
wherein the PHY processing device is further configured to:
transmit the training frame to the second network interface device, and
receive a second info field frame from the second network interface device, wherein a beginning of the second info field frame is received within one partial frame duration of transmission of a beginning of the first info field frame, wherein the second info field comprises a second partial frame count field having a second value corresponding to a second count of the second counter, and wherein the first value is the same as the second value.
2. The method of
4. The method of
inserting, at the network interface device, the info field frame in a last partial frame in the plurality of partial frames.
5. The method of
receiving, at the network interface device, another info field frame from another network interface device, wherein a beginning of the other info field frame is received within one partial frame duration of transmission of a beginning of the info field frame, wherein the other info field frame comprises a partial frame count field having the value.
6. The method of
receiving, at the network interface device, another info field frame from another network interface device, wherein the other info field comprises a partial frame count field having another value, wherein the other value is a sum of the value and a skew value Y, and wherein a beginning of the other info field frame is received between Y partial frame durations and Y+1 partial frame durations after transmission of a beginning of the info field frame.
7. The method of
generating, at the network interface device, a second training frame comprising a plurality of second partial frames, including
inverting, at the network interface device, a first bit in each of at least some second partial frames, and
including, at the network interface device, a second info field frame in the second training frame,
wherein a number of partial frames in the training frame is the same as a number of second partial frames in the second training frame; and
transmitting, with the network interface device, the second training frame for training purposes.
8. The method of
the info field frame comprises a first partial frame count field having a first value; and
the second info field frame comprises a second partial frame count field having a second value, wherein the second value is a sum of the first value and the number of partial frames in the training frame.
9. The method of
the info field frame comprises a first partial frame count field having a first value; and
the second info field frame comprises a second partial frame count field having a second value, wherein the second value is the first value incremented by one.
11. The method of
12. The method of
13. The method of
entering, at the first network interface device, a low power idle (LPI) mode;
during the LPI mode,
using, at the first network interface device, the first counter to determine timing of a plurality of alert windows, wherein alert windows in the plurality of alert windows are spaced apart from one another by a defined duration that is the same as a duration of one or more partial frames,
exiting, at a receive portion of the first network interface device, a low power mode during the plurality of alert windows and re-entering the low power mode, at the receive portion of the first network device, between alert windows in the plurality of alert windows, and
exiting, at the first network interface device, the LPI mode only when an alert signal is received within one of the alert windows.
14. The method of
15. The method of
16. The method of
17. The method of
19. The network interface device of
20. The network interface device of
21. The network interface device of
22. The network interface device of
receive another info field frame from the other PHY processing device, wherein a beginning of the other info field frame is received within one partial frame duration of transmitting a beginning of the info field frame, wherein the other info field frame comprises a partial frame count field having the value.
23. The network interface device of
receive another info field frame from the other PHY processing device, wherein the other info field comprises a partial frame count field having another value that is a sum of the value and a skew value Y, and wherein a beginning of the other info field frame is received between Y partial frame durations and Y+1 partial frame durations after transmission of a beginning of the info field frame.
24. The network interface device of
generate a second training frame comprising a plurality of second partial frames by inverting a first bit in each of at least some second partial frames, and including a second info field frames in the second training frame,
wherein a number of partial frames in the training frame is the same as a number of second partial frames in the second training frame, and
transmit the second training frame to other PHY processing device for training purposes.
25. The network interface device of
the info field frame comprises a first partial frame count field having a first value; and
the second info field frame comprises a second partial frame count field having a second value, wherein the second value is a sum of the first value and the number of partial frames in the training frame.
26. The network interface device of
the info field frame comprises a first partial frame count field having a first value; and
the second info field frame comprises a second partial frame count field having a second value, wherein the second value is the first value incremented by one.
28. The network interface device of
29. The network interface device of
30. The network interface device of
enter a low power idle (LPI) mode;
during the LPI mode,
use the first counter to determine timing of a plurality of alert windows, wherein alert windows in the plurality of alert windows are spaced apart from one another by a defined duration that is the same as a duration of one or more partial frames,
exit, at a receive portion of the PHY processing device, a low power mode during the plurality of alert windows and re-enter the low power mode, at the receive portion of the PHY processing device, between alert windows in the plurality of alert windows, and
exit the LPI mode only when an alert signal is received within one of the alert windows.
31. The network interface device of
32. The network interface device of
33. The network interface device of
34. The network interface device of
|
This application claims the benefit of U.S. Provisional Patent Application No. 62/030,896, entitled “1000BASE-T1 Training and Energy Efficient Ethernet,” filed on Jul. 30, 2014, the disclosure of which is incorporated herein by reference in its entirety.
The present disclosure is related generally to communication networks and, more particularly, to generation of communication frames for training purposes and for supporting Energy Efficient Ethernet.
Gigabit Ethernet is designed to transmit Ethernet frames at a rate of one gigabits per second (1 Gb/s). Gigabit Ethernet utilizes physical layer (PHY) processing devices such as 1000BASE-T1, as defined by the Institute of Electrical and Electronics Engineers (IEEE) 802.3 bp Ethernet Standard. A 1000BASE-T1 PHY processing device supports full-duplex operation at 1 Gb/s over a single twisted copper wire pair. A 1000BASE-T1 PHY processing device can operate in severely constrained environments, such as automotive and industrial environments in which certain requirements (e.g., electromagnetic compatibility and temperature requirements) must be met.
In an embodiment, a method includes generating, at a network interface device, a training frame comprising a plurality of partial frames that include training information. The generating of the training frame includes inverting, at the network interface device, a first bit in each of at least some partial frames, and including, at the network interface device, an info field frame in the training frame. The method further includes transmitting, with the network interface device, the training frame for training purposes.
In another embodiment, a duration of the training frame is the same as a duration of a Reed-Solomon encoded frame.
In still another embodiment, the info field frame includes a partial frame count field having a value, and the method further includes receiving, at the network interface device, another info field frame from another network interface device, where a beginning of the other info field frame is received within one partial frame duration of transmission of a beginning of the info field frame, and the other info field frame includes a partial frame count field having the value.
In yet another embodiment, a method includes maintaining, at a first network interface device, a first counter that increments for each partial frame transmitted by the first network interface device to a second network interface device. The method further includes generating, at the first network interface device, a training frame for training purposes, where the training frame includes a plurality of partial frames that include training information. The generating of the training frame comprises including, at the first network interface device, a first info field frame in the training frame, where the first info field frame includes a first partial frame count field having a first value corresponding to a first count of the first counter. The first partial frame count field is for synchronizing a second counter of the second network interface device with the first counter of the first network interface device. The method further includes transmitting, with the first network interface device, the training frame to the second network interface device. The method includes receiving, at the first network interface device, a second info field frame from the second network interface device, where a beginning of the second info field frame is received within one partial frame duration of transmission of a beginning of the first info field frame. The second info field includes a second partial frame count field having a second value corresponding to a second count of the second counter, and the first value is the same as the second value.
In an embodiment, a duration of the training frame is the same as a duration of each error correction encoded frame exchanged between the first network interface device and the second network interface device.
In another embodiment, each error correction encoded frame is a Reed-Solomon encoded frame.
In yet another embodiment, the method also includes entering, at the first network interface device, a low power idle (LPI) mode. During the LPI mode, the method includes using, at the first network interface device, the first counter to determine timing of a plurality of alert windows, where alert windows in the plurality of alert windows are spaced apart from one another by a defined duration that is the same as a duration of one or more partial frame. The method further includes exiting, at a receive portion of the first network interface device, a low power mode during the plurality of alert windows and re-entering the low power mode, at the receive portion of the first network device, between alert windows in the plurality of alert windows. The method includes exiting, at the first network interface device, the LPI mode only when an alert signal is received within one of the alert windows.
In an embodiment, a network interface device includes a physical layer (PHY) processing device. The PHY processing device is configured to generate a training frame comprising a plurality of partial frames that includes training information. The PHY processing device is configured to generate the training frame by inverting a first bit in each of at least some partial frames, and including an info field frame in the training frame. The PHY processing device is further configured to transmit the training frame to another PHY processing device for training purposes.
In another embodiment, a network interface device includes a physical layer (PHY) processing device. The PHY processing device is configured to maintain a first counter that increments for each partial frame transmitted by the network interface device to a second network interface device. The PHY processing device is further configured to generate a training frame for training purposes, where the training frame comprises a plurality of partial frames that include training information. The PHY processing device is configured to generate the training frame by including a first info field frame in the training frame, where the first info field frame includes a first partial frame count field having a first value corresponding to a first count of the first counter. The first partial frame count field is for synchronizing a second counter of the second network interface device with the first counter of the network interface device. The PHY processing device is then configured to transmit the training frame to the second network interface device. The PHY processing device is configured to receive a second info field frame from the second network interface device, where a beginning of the second info field frame is received within one partial frame duration of transmission of a beginning of the first info field frame. The second info field includes a second partial frame count field having a second value corresponding to a second count of the second counter, and the first value is the same as the second value.
In yet another embodiment, the PHY processing device is further configured to enter a low power idle (LPI) mode. During the LPI mode, the PHY processing device is configured to use the first counter to determine timing of a plurality of alert windows, where alert windows in the plurality of alert windows are spaced apart from one another by a defined duration that is the same as a duration of one or more partial frames. The PHY processing device is also configured to exit, at a receive portion of the PHY processing device, a low power mode during the plurality of alert windows and re-enter the low power mode, at the receive portion of the PHY processing device, between alert windows in the plurality of alert windows. The PHY processing device is further configured to exit the LPI mode only when an alert signal is received within one of the alert windows.
In embodiments described below, a network interface device (e.g., which is included in a communication device such as an endpoint device (e.g., a server, a desktop computer, a laptop computer, etc.) or an intermediate network device (e.g., a network switch, a network bridge, a network hub, a network router, etc.) or other suitable network device) includes a PHY processing device, for example, a 1000BASE-T1 PHY processing device. According to various embodiments, a network interface device includes a 1000BASE-T1 PHY processing device having finer communication frame resolution, which (i) allows quicker clock locking and synchronization between the 1000BASE-T1 PHY processing device and its link partner and (ii) provides support for Energy Efficient Ethernet (EEE) with only one channel in the link.
The PHY transmitter 200 includes at least an 8N/(8N+1) encoder 202, a Reed-Solomon (RS) error correction encoder 204, a scrambler 206, a modulator 208, and a driver 210. In various embodiments, the PHY transmitter 200 is configured to receive a plurality of bits from a MAC processing device (e.g., the MAC processing device 110) via a GMII (e.g., the GMII 130). The 8N/(8N+1) encoder 202 is configured to encode the received bits according to the 8N/(8N+1) pointer based coding scheme as described in U.S. Pat. No. 7,251,699, entitled “Low Overhead Coding with Arbitrary Control Symbol Placement”, the entirety of which is incorporated by reference herein. Then, forward error correction encoding is performed on the 8N/(8N+1)-encoded bits via the RS encoder 204 to generate RS parity bits. The RS encoder 204 is further configured to aggregate the RS parity bits with the 8N/(8N+1)-encoded bits to form a RS-encoded frame. The scrambler 206 is configured to scramble the bits in RS-encoded frame. The RS-encoded frame is modulated via the modulator 208, which utilizes 3 level pulse amplitude modulation (PAM3) transmitted at a rate of 750 MHz. Then, the driver 210 of the PHY transmitter 200 is configured to provide the PAM3 symbols to a medium dependent interface (MDI), which in turn couples to a transmission medium. In other embodiments, the PHY transmitter 200 further includes a shaper (not shown in
The PHY receiver 220 includes at least an analog to digital converter (ADC) 222, a digital signal processor (DSP) 224, a demodulator 224, a de-scrambler 228, a RS decoder 230, and an 8N/(8N+1) decoder 232. In various embodiments, the PHY receiver 220 is configured to receive an analog signal from a medium via a MDI. The ADC 222 is configured to convert the received analog signal into a digital signal, which is then processed by the DSP 224, which outputs a digital signal having PAM3 symbols. Next, the demodulator 226 is configured to demodulate the PAM3 symbols into binary bits. The bits are then de-scrambled via the de-scrambler 228. The RS decoder 230 is configured to decode the de-scrambled bits and perform error correction. The error-corrected bits are then further decoded via the 8N/(8N+1) decoder 232 before being transmitted to a MAC processing device (e.g., the MAC processing device 110) via a GMII (e.g., GMII 130).
In various embodiments, a 1000BASE-T1 PHY processing device can be configured either as a master PHY processing device or a slave PHY processing device. A master PHY processing device uses a free running local clock to determine the timing of transmitter operations. A slave PHY processing device recovers the clock from the signal received from the master PHY processing device and uses the received signal to determine the timing of transmitter operations. Furthermore, the master PHY processing device and the slave PHY processing device are configured to synchronize their clocks and timing of transmitter operations during a training mode before entering normal data transmission mode.
Referring again to
The training frame 300 is a communication frame having a defined duration, where the training frame 300 includes training signals and/or training information. In
In operation, the PHY processing device 120 is configured to transmit the training frame 300, including the info frame field 304, to its link partner. In turn, the link partner is configured to determine the number of partial frames 302 transmitted by the PHY processing device 120 by counting the number of inverted bits 302-1. Referring to
The master PHY processing device has a free running local clock and is configured to maintain a count of partial frames (PFC), which indicates a number of partial frames that have been generated. The master PHY processing device is configured to generate a plurality of training frames, e.g. a first training frame 410, a second training frame 420, and a third training frame 430, with each training frame having the same duration as a RS-encoded frame. In another embodiment, each training frame has the same duration as another error correction encoded frame. Each training frame is divided into PF partial frames, e.g., the first training frame 410 is divided into PF partial frames 412. Each partial frame includes PRS number of symbols (e.g., PAM3 symbols). The boundary of each partial frame (except for at least one partial frame, e.g., the last partial frame) is marked by an inverted first bit, e.g., the boundary of the partial frame 412 is denoted by its inverted first bit 412-1.
Each training frame further includes an info field frame, which contains various parameters of the link. For example, the first training frame 410 includes a first info field frame 414, the second training frame 420 includes a second info field frame 424, and the third training frame 430 includes a third info field frame 434. Each info field frame includes a partial frame count (PFC) field, which indicates the number of partial frames that have been generated. For example, the PFC field in the first info field frame 424 is N, since N partial frames have been generated; the PFC field in the second info field frame 434 is N+PF, since PF partial frames have been generated since the first info field frame 424; and the PFC field in the third info field frame 434 is N+2*PF, since PF partial frames have been generated since the second info field frame 424, or 2*PF partial frames have been generated since the first info field frame 414. For each training frame generated, the PFC field in the info field frame is incremented by PF.
In various embodiments, the master PHY processing device is configured to transmit the training frames, including the info field frames, to the slave PHY processing device. The slave PHY processing device is configured to recover the clock based on the signal received from the master PHY processing device. The slave PHY processing device is further configured to use the received signal to determine the timing of transmitter operations. For example, the slave PHY processing device is configured to maintain a PFC based on the PFC fields received from the master PHY processing device. In an embodiment, the PFC maintained by the PHY processing device should be the same as the PFC maintained by the master processing device, but with a delay. In an embodiment, the slave PHY processing device is configured to accept the PFC field transmitted by the master PHY processing device only if a cyclic redundancy check (e.g., CRC-16) returns no errors.
Referring to
The slave PHY processing device is further configured to generate one info field frame per training frame. For example, the slave PHY processing device is configured to generate a fourth info field frame 444 in the fourth training frame 440, a fifth info field frame 454 in the fifth training frame 450, and a sixth info field frame 464 in the sixth training frame 460. Like the info field frame generated by the master PHY processing device, each info field frame generated by the slave PHY processing device includes a PFC field. The PFC field generated by the slave PHY processing device indicates the PFC maintained by the slave PHY processing device. A PFC field from the slave PHY processing device should be transmitted within between zero to one partial frame duration (PRST) after the master PHY processing device transmits a PFC field, and the PFC field from the slave PHY processing device should have the same value as the PFC transmitted by the master PHY processing device. For example, the PFC field in the fourth info field frame 444 is N, which is based on the PFC field in the first info field frame 414; the PFC field in the fifth info field frame 454 is N+PF, which is based on the PFC field in the second info field frame 424; and the PFC field in the sixth info field frame 464 is N+2*PF, which is based on the PFC field in the third info field frame 434.
The slave PHY processing device is configured to transmit the training frames (e.g., the fourth training frame 440, the fifth training frame 450, and the sixth training frame 450) to the master PHY processing device. To synchronize timing with the master PHY processing device, the slave PHY processing device is configured to transmit the info field frame (having the PFC count that matches the PFC count received from the master PHY processing device) within one (1) partial frame duration (PRST) of receiving the info field frame from the master PHY processing device. For example, the slave PHY processing device is configured to transmit the fourth info field frame 444 within one PRST of receiving the first info field frame 414 from the master PHY processing device. The slave PHY processing device is then configured to transmit the fifth info field frame 454 within one PRST of receiving the second info field frame 424 from the master PHY processing device. Next, the slave PHY processing device is configured to transmit the sixth info field frame 464 within one PRST of receiving the third info field frame 434 from the master PHY processing device.
The timing synchronization signals 500 are similar to the timing synchronization signals 400 of
A PFC field from the slave PHY processing device should be transmitted within between Y*PRST and (Y+1)*PRST after the master PHY processing device transmits a PFC field, where Y is a suitable positive integer, and the PFC field from the slave PHY processing device should have a value that is Y plus the PFC transmitted by the master PHY processing device.
In
Each info field frame generated by the slave PHY processing device includes a PFC field. The PFC field generated by the slave PHY processing device is based on the info field frame (e.g., info field frames 414, 424, and 434) generated and transmitted by the master PHY processing device. However, unlike the time synchronization technique 400 of
According to various embodiments, a 1000BASE-T1 PHY processing device is configured to support Energy Efficient Ethernet (EEE). The EEE capability is a mechanism by which the 1000BASE-T1 PHY processing device is able to reduce power consumption during periods of low link utilization. The 1000BASE-T1 PHY processing device can enter a low power idle (LPI) mode of operation after reaching normal operation (i.e., after completing training and entering data mode). The 1000BASE-T1 PHY processing device is configured to enable LPI mode separately in each transmit and receive directions.
To further illustrate the operation of a PHY processing device in LPI mode,
To keep the PHY processing device and its link partner synchronized during LPI mode, a Refresh pattern is periodically sent by the PHY processing device and its link partner, and vice versa. In
In
After entering the LPI mode, the slave PHY processing device is configured to power up (at least receiver circuitry) to be prepared to receive an alert signal in each of a plurality of second alert windows 614. The slave PHY processing device is configured to exit the LPI mode only when an alert signal is received within a second alert window 614, the alert signal having been transmitted by the master PHY processing device. Outside the second alert windows 614, a receiver of the slave PHY processing device is allowed to power down.
The first alert windows 604 (at the master PHY processing device) and the second alert windows 614 (at the slave PHY processing device) are staggered from one another so Alert signals do not overlap. In various embodiments, a second alert window 614 is offset from a first alert window 604 by AF×PRS symbols, where AF is a number of partial frame durations separating valid Alert signal starting points. The first alert windows 604 are separated from one another by 2*AF×PRS symbols, and the second alert windows 614 are also separated from one another by 2*AF×PRS symbols.
In an embodiment, the master PHY processing device is configured to transmit refresh signals only during alert windows of the slave PHY processing device. Similarly, the slave PHY processing device is configured to transmit refresh signals only during alert windows of the master PHY processing device. For example, the master PHY processing device receives the refresh pattern 602 during one of the first alert windows 604. The slave PHY processing device receives a refresh pattern 613 during one of the second alert windows 614.
Table 700 illustrates example parameter values according to three RS encoding schemes. The first RS encoding scheme 702 is represented by the notation RS(180, 154), in which 180 symbols are encoded to make a 154 symbol RS codeword. The second RS encoding scheme 704 is represented by the notation RS(360, 308), in which 360 11-bit symbols are encoded to make a 308 symbol RS codeword. The third RS encoding scheme 706 is represented by the notation RS(630, 539), in which 630 11-bit symbols are encoded to make a 539 symbol RS codeword. In some embodiments, each symbol consists of 11 bits. In other embodiments, each symbol consists of another suitable number of bits. Although three RS encoding schemes are shown in table 700, in other embodiments, the PHY processing device 120 is configured to implement other RS encoding schemes compliant with 1000BASE-T1.
The example parameters shown in table 700 include the following:
RS: number of PAM3 symbols per RS-encoded frame duration;
RST: duration of a RS-encoded frame in ns;
PRS: number of PAM3 symbols per partial frame in a RS-encoded frame duration;
PRST: duration of a partial frame in ns;
PF: number of partial frames per RS-encoded frame duration;
QF: number of RS-encoded frame durations per quiet/refresh cycle in LPI mode;
AF: number of partial frames separate alert windows;
Refresh_LPI: number of partial frames for a Refresh pattern;
Enter_LPI_RS: number of partial frames with LPI signal to enter LPI mode;
Alert_LPI: number of alert sequences to exit LPI mode;
Exit_LPI_RS: number of RS frame durations with all idle signals upon exiting LPI mode; and
Alert_sym: number of RS symbols in an alert sequence.
In other embodiments, the parameters shown in table 700 are assigned different values based on the RS encoding scheme chosen by the PHY processing device. In still other embodiments, parameters other than those shown in table 700 are used based on the error correction encoding scheme(s) used by the PHY processing device.
In some embodiments, the number of partial frames in a frame having the same duration as an RS-encoded frame is an integer, i.e., PF=RS/PRS=RST/PRST is an integer. In an embodiment, the frame duration of a partial frame is an integer multiple of 8*N ns, where N is the number of symbols encoded in each RS-encoded frame.
At 802, the PHY processing device 120, according to an embodiment, is configured to generate a training frame (e.g., first training frame 410). The training frame includes a plurality of partial frames (e.g., partial frames 412) that include training information. The training frame has a defined duration. In
According to another embodiment, the PHY processing device 120 is configured to generate the info field frame to include a partial frame count (PFC) field. In an embodiment, the PFC field has a value (e.g., N) that is based on the number of partial frames generated at the master PHY processing device. At 806, the PHY processing device 120 is configured to receive another info field frame (e.g., fourth info field 444) within one partial frame duration of transmitting the info field frame (e.g., first info field 414), and the other info field frame includes a partial frame count field having the same value (e.g., N), the other info field frame having been generated by the slave PHY processing device.
According to another embodiment, the PHY processing device 120 is configured to receive another info field frame after transmitting the info field frame, the other info field frame having been generated by the slave PHY processing device. The other info field includes a partial frame count field having another value, where the other value is a sum of the value (e.g., N) and a skew value (e.g., Y), where the other info field frame is received between Y*PRST and (Y+1)*PRST after the beginning of the info field frame generated by the PHY processing device 120.
According to yet another embodiment, the PHY processing device 120 is configured to generate each partial frame to have same number of symbols. According to still another embodiment, the PHY processing device 120 is configured to generate the info field frame as a last partial frame in the training frame.
According to an embodiment, the PHY processing device 120 is configured to generate a second training frame (e.g., second training frame 420). The second training frame includes a plurality of second partial frames. The PHY processing device 120 is configured to generate the second training frame by inverting a first bit in each second partial frame (except for at least one partial frame), and including a second info field frame (e.g., second info field frame 424) in the second training frame. In addition, a number of partial frames in the training frame is the same as a number of second partial frames in the second training frame.
According to another embodiment, the PHY processing device 120 is configured to generate the info field frame to include a first partial frame count field having a first value (e.g., N), and to generate the second info field frame to a second partial frame count field having a second value. The second value is a sum of the first value (e.g., N) and the number of partial frames (e.g., PF) in the first training frame. In another embodiment, the second value is the first value (e.g., N) incremented by 1 (e.g., N+1).
According to still another embodiment, the PHY processing device 120 is configured to receive a third info field frame (e.g., fifth info field frame 454) within one partial frame duration of transmitting the second info field frame (e.g., second info field frame 424), the third info field frame having been generated by the slave PHY processing device. The third info field frame includes a partial frame count field having the second value (e.g., N+PF).
According to another embodiment, the PHY processing device 120 is configured to receive a third info field frame after transmitting the second info field frame, the third info field frame having been generated by the slave PHY processing device. The third info field frame includes a partial frame count field having a third value, where the third value is a sum of the second value and a skew value Y, where the third info field frame is received between (N+PF+Y)*PRST and (N+PF+Y+1)*PRST after the beginning of the second field frame generated by the PHY processing device 120.
At 902, the PHY processing device 120, according to an embodiment, is configured to maintain a first counter that increments for each partial frame transmitted by the PHY processing device 120. At 904, the PHY processing device 120 is configured to generate a training frame for training purposes. The training frame includes a plurality of partial frames that include training information. The PHY processing device 120 is configured to generate the training frame by including a first info field frame in the training frame. The first info field frame includes a first partial frame count field having a first value corresponding to a first count of the first counter, and the first partial frame count field is for synchronizing a second counter of the second network interface device with the first counter of the PHY processing device 120, where the second network interface device corresponds to a link partner of the PHY processing device 120 (e.g., a slave PHY processing device).
Then at 906, the PHY processing device 120 is configured to transmit the training frame to the second network interface device. At 908, the PHY processing device 120 is configured to receive a second info field frame from the second network interface device, where a beginning of the second info field frame is received within one partial frame duration of transmission of a beginning of the first info field frame. The second info field includes a second partial frame count field having a second value corresponding to a second count of the second counter, and the first value is the same as the second value.
At 910, the PHY processing device 120 is configured to enter a LPI mode. At 912, at least a receive portion of the PHY processing device 120 is configured to exit a low power state during a plurality of alert windows (e.g., first alert window 604), where the receive portion of the PHY processing device 120 is configured to be prepared to receive an alert signal during the alert windows. In an embodiment, the alert windows are spaced apart from one another by a defined number of partial frames (e.g., 2*AF partial frames). At 914, the PHY processing device 120 is configured to exit the low power idle mode only when an alert signal is received within one of the alert windows, the alert signal having been generated by a slave device.
In the method 900, a duration of the training frame is the same as a duration of a RS-encoded frame. In other embodiments, however, the duration of the training frame is the same as a duration of each error correction encoded frame exchanged between the PHY processing device 120 and the second network interface device.
According to another embodiment, the PHY processing device 120 is communicatively coupled to the second network interface device (e.g., a slave PHY processing device). In this case, at 910, the PHY processing device 120 is configured to transmit an alert signal to the second network interface device so that the alert signal is received within one of a second plurality of alert windows (e.g., second alert window 614) of the second network interface device.
According to yet another embodiment, a plurality of second alert windows of the second network interface device is offset from the plurality of alert windows of the PHY processing device 120 by a duration corresponding to one half of the time between the start of adjacent alert windows of the PHY processing device 120.
According to still another embodiment, the PHY processing device 120 is configured to transmit an alert signal to the second network interface device so that the alert signal is received within one of the second alert windows of the second network interface device.
According to an embodiment, the PHY processing device 120 is configured to transmit a refresh signal (e.g., slave Refresh pattern 613) to the second network interface device so that the refresh signal is received within one of a second plurality of alert windows (e.g., second alert window 614) at the second network interface device.
According to another embodiment, the PHY processing device 120 is configured to refresh a receiver of PHY processing device 120 only when a refresh signal (e.g., master Refresh pattern 602) is received within an alert window (e.g., alert window 604).
At 1002, the PHY processing device 120, according to an embodiment, is configured to maintain a partial frame count (PFC) based on partial frame count fields and inverted first bits in first training frames received from a master device.
At 1004, the PHY processing device 120, is configured to generate a second training frame (e.g., second training frame 440). The second training frame includes a plurality of partial frames (e.g., partial frames 412) that include training information. A duration of the second training frame is the same as a duration of a RS-encoded frame. The PHY processing device 120 is further configured to generate the second training frame by inverting a first bit (e.g., inverted first bit 412-1) in each partial frame (except for at least one partial frame) at 1004a, and including an info field frame (e.g., info field frame 444) in one of the partial frames of the training frame at 1004b. In an embodiment, the first bit of the partial frame that includes the info field frame is not inverted. The info field frame includes the PFC maintained at block 1002.
Then at 1008, the PHY processing device 120 is configured to transmit the second training frame to the master device for training purposes so that a beginning of the info field frame (the second info field frame) of the second training frame is transmitted within a defined time period after the beginning of an info field frame of one of first training frames (the first info field frame) is received. In an embodiment, the first info field frame includes a first PFC count of N, and the second info field frame includes a second PFC count of N. In this embodiment, the beginning of the second info field frame is transmitted within one partial frame duration of the beginning of the first info field frame.
In an embodiment, the first info field frame includes a first PFC count of N, and the second info field frame includes a second PFC count of N+Y, where Y is a suitable positive integer. In this embodiment, the beginning of the second info field frame is transmitted between i) Y partial frame durations and ii) Y+1 partial frame durations after the beginning of the first info field frame.
At 1102, the PHY processing device 120, according to an embodiment, is configured to enter a LPI mode. At 1106, at least a receive portion of the PHY processing device 120 is further configured to exit a low power state during a first plurality of alert windows (e.g., second alert windows 614), where the receive portion of the PHY processing device 120 is configured to be prepared to receive an alert signal during the alert windows in the first plurality of alert windows. In an embodiment, the alert windows in the first plurality of alert windows are spaced apart from one another by a defined number of partial frame durations (e.g., 2*AF partial frame durations). The first plurality of alert windows is offset from a second plurality of alert windows of a second network interface device (e.g., master PHY processing device) by half the defined number of partial frame durations (e.g., AF partial frame durations). At 1108, the PHY processing device 120 is configured to exit the LPI mode only when an alert signal is received within one of the alert windows in the first plurality of alert windows, the alert signal having been generated by the master device.
At least some of the various blocks, operations, and techniques described above may be implemented utilizing hardware, a processor executing firmware instructions, a processor executing software instructions, or any suitable combination thereof. When implemented utilizing a processor executing software or firmware instructions, the software or firmware instructions may be stored in any tangible, non-transitory computer readable medium, or media, such as a magnetic disk, an optical disk, a random access memory (RAM), a read only memory (ROM), a flash memory, a memory of a processor, a tape drive, etc. The software or firmware instructions may include machine readable instructions that, when executed by one or more processors, cause the one or more processors to perform various acts.
When implemented in hardware, the hardware may comprise one or more of discrete components, an integrated circuit, an application-specific integrated circuit (ASIC), a programmable logic device (PLD), etc.
While the present invention has been described with reference to specific examples, which are intended to be illustrative only and not to be limiting of the invention, changes, additions and/or deletions may be made to the disclosed embodiments without departing from the scope of the invention.
Patent | Priority | Assignee | Title |
10256941, | Jul 30 2014 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Power saving in a communication network for a motor vehicle |
10511406, | Jul 30 2014 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Power saving in a twisted wire pair communication network |
11558146, | Oct 20 2020 | ROHDE & SCHWARZ GMBH & CO KG | Signal analysis apparatus and method for analyzing a symbol sequence |
11606185, | Nov 12 2019 | MARVELL INTERNATIONAL LTD | Detection of physical layer parameter of a master device in an ethernet network |
Patent | Priority | Assignee | Title |
6362757, | Aug 20 1999 | Electronics and Telecommunications Research Institute | Method and apparatus for encoding MB810 line code with the characteristics of minimum bandwidth and DC-free |
6476737, | Nov 16 2001 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Rate 64/65 (d=0, G=11/I=10) run length limited modulation code |
6504493, | Oct 31 2000 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Method and apparatus for encoding/decoding data |
6813651, | Feb 18 2000 | CALLAHAN CELLULAR L L C | Interface device for ethernet transceiver and 1394 controller |
7251699, | Feb 07 2003 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Low overhead coding with arbitrary control symbol placement |
20010034729, | |||
20030147654, | |||
20030187994, | |||
20090276680, | |||
20100235706, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jul 30 2015 | Marvell International Ltd. | (assignment on the face of the patent) | / | |||
Jul 30 2015 | LO, WILLIAM | MARVELL SEMICONDUCTOR, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 045386 | /0484 | |
Aug 05 2015 | MARVELL SEMICONDUCTOR, INC | MARVELL INTERNATIONAL LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 045386 | /0792 | |
Dec 31 2019 | MARVELL INTERNATIONAL LTD | CAVIUM INTERNATIONAL | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 052918 | /0001 | |
Dec 31 2019 | CAVIUM INTERNATIONAL | MARVELL ASIA PTE, LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 053475 | /0001 |
Date | Maintenance Fee Events |
Nov 09 2021 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
May 22 2021 | 4 years fee payment window open |
Nov 22 2021 | 6 months grace period start (w surcharge) |
May 22 2022 | patent expiry (for year 4) |
May 22 2024 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 22 2025 | 8 years fee payment window open |
Nov 22 2025 | 6 months grace period start (w surcharge) |
May 22 2026 | patent expiry (for year 8) |
May 22 2028 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 22 2029 | 12 years fee payment window open |
Nov 22 2029 | 6 months grace period start (w surcharge) |
May 22 2030 | patent expiry (for year 12) |
May 22 2032 | 2 years to revive unintentionally abandoned end. (for year 12) |