Systems and methods for blocking transmission of a frame in a network device
First Claim
1. A network device comprising:
- a first queue configured to store a frame;
a first timing module configured to generate a local clock signal;
an adjustment module configured to determine (i) based on a first edge of a first cycle of a global clock signal, an expected time of a second edge of a second cycle of the global clock signal, and (ii) a window centered on the expected time of the second edge of the global clock signal, wherein each of the first edge and the second edge is a rising edge or a falling edge of the global clock signal;
a register module configured to capture a time of a first edge of a first cycle of the local clock signal,wherein the adjustment module is configured to, based on the captured time of the first edge of the local clock signal and the time of the first edge of the global clock signal, generate an adjustment signal to center a second edge of a second cycle of the local clock signal in the window, and wherein each of the first edge of the local clock signal and the second edge of the local clock signal is a rising edge or a falling edge of the local clock signal; and
a blocking shaper configured to, subsequent to adjusting the second edge of the local clock signal, block transmission of the frame from the network device based on timing of the local clock signal.
7 Assignments
0 Petitions
Accused Products
Abstract
A network device including a queue, a timing module, an adjustment module, a register module and a blocking shaper. The queue is configured to store a frame. The timing module is configured to generate a local clock signal. The adjustment module is configured to determine (i) based on a first edge of a global clock signal, an expected time of a second edge of the global clock signal, and (ii) a window centered on the expected time of the second edge of the global clock signal. The register module is configured to capture a time of a first edge of the local clock signal. The adjustment module is configured to, based on the captured time of the first edge of the local clock signal and the time of the first edge of the global clock signal, generate an adjustment signal to center a second edge of the local clock signal in the window. The blocking shaper is configured to, subsequent to adjusting the second edge of the local clock signal, block transmission of the frame from the network device based on timing of the local clock signal.
38 Citations
32 Claims
-
1. A network device comprising:
-
a first queue configured to store a frame; a first timing module configured to generate a local clock signal; an adjustment module configured to determine (i) based on a first edge of a first cycle of a global clock signal, an expected time of a second edge of a second cycle of the global clock signal, and (ii) a window centered on the expected time of the second edge of the global clock signal, wherein each of the first edge and the second edge is a rising edge or a falling edge of the global clock signal; a register module configured to capture a time of a first edge of a first cycle of the local clock signal, wherein the adjustment module is configured to, based on the captured time of the first edge of the local clock signal and the time of the first edge of the global clock signal, generate an adjustment signal to center a second edge of a second cycle of the local clock signal in the window, and wherein each of the first edge of the local clock signal and the second edge of the local clock signal is a rising edge or a falling edge of the local clock signal; and a blocking shaper configured to, subsequent to adjusting the second edge of the local clock signal, block transmission of the frame from the network device based on timing of the local clock signal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A network device comprising:
-
a first queue configured to store a frame; a timing module configured to generate a local clock signal; a plurality of ports, wherein each of the plurality of ports comprises (i) a plurality of queues, (ii) an egress module, and (iii) a respective one of a plurality of queue state tables, wherein each of the plurality of queue state tables comprises a plurality of entries, wherein each of the entries comprises a state of a respective one of the plurality of queues for the corresponding port, wherein the plurality of ports comprise a first port, wherein the first port comprises the first queue, and wherein each of the egress modules is configured to cycle through the plurality of entries in a corresponding one of the plurality of queue state tables; and a memory configured to store a port table, wherein the port table comprises a plurality of delays respectively for the plurality of ports, wherein each of the egress modules is configured to, based on the respective delay, start cycling through the plurality of queues for the corresponding port, the egress module of the first port is configured to, based on the corresponding delay in the port table, delay from an edge of the local clock signal cycling through the plurality of entries in the corresponding one of the plurality of queue state tables; and each of the egress modules of the plurality of ports other than the first port is configured to, based on the corresponding delays in the port table, delay from an operation performed by a consecutively prior one of the plurality of ports cycling through the plurality of entries in the corresponding one of the plurality of queue state tables.
-
-
19. A method of operating a network device, wherein the network device comprises a first queue, the method comprising:
-
storing a frame in the first queue; generating a local clock signal; determining (i) based on a first edge of a first cycle of a global clock signal, an expected time of a second edge of a second cycle of the global clock signal, and (ii) a window centered on the expected time of the second edge of the global clock signal, wherein each of the first edge and the second edge is a rising edge or a falling edge of the global clock signal; capturing a time of a first edge of a first cycle of the local clock signal; based on the captured time of the first edge of the local clock signal and the time of the first edge of the global clock signal, generating an adjustment signal to center a second edge of a second cycle of the local clock signal in the window, wherein each of the first edge of the local clock signal and the second edge of the local clock signal is a rising edge or a falling edge of the local clock signal; and subsequent to adjusting the second edge of the local clock signal, blocking transmission of the frame from the network device based on timing of the local clock signal. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
Specification