IP Library Granted Patent US 7,936,669
Granted Patent B2
US 7,936,669 · App. 12/179,454 · Granted May 3, 2011

Systems and methods for flow control and quality of service

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,936,669
App. No.
12/179,454
Granted
May 3, 2011
Kind
B2
Abstract

Various embodiments of methods and systems for pausing and shaping data flow while supporting both parameterized and prioritized Quality of Service are disclosed. In some embodiments, a system for pausing and shaping data flow comprises an input buffer, a first pause controller coupled to the input buffer and an output buffer for flow control messages. Various embodiments also include a hop-1 buffer coupled to the input buffer and a hop-2 buffer comprising a plurality of queues coupled to the hop-1 buffer. Additionally, in some embodiments, a second pause controller is coupled to the queues. The second pause controller selects a queue or queues that will cause a pause to be generated based on a predetermined condition. A two-hop process controller controls the data packet flow from the input buffer to the hop-1 buffer and from the hop-1 buffer to the hop-2 queues based on packet classification.

Claims (38)

1. A system for pausing data flow comprising:

an input buffer;

a first pause controller coupled to the input buffer;

a hop-1 buffer coupled to the input buffer;

a hop-2 buffer coupled to the hop-1 buffer, the hop-2 buffer including a plurality of queues;

a second pause controller coupled to the queues, the second pause controller selecting a queue that will cause a pause to be generated based on a predetermined condition; and

a two-hop process controller that controls a data packet flow from the input buffer to the hop-1 buffer and from the hop-1 buffer to the hop-2 queues.

2. The system of claim 1 , further comprising assigning a QoS level to each of the hop-2 queues and pausing based on the QoS level of the queues.

3. The system of claim 2 , wherein the second pause controller is configured to transmit a pause frame that includes class of data traffic information.

4. The system of claim 3 , wherein the QoS level of the hop-2 queues is assigned based on the class of data traffic that is being received by each of the queues.

5. The system of claim 1 , wherein the second pause controller is further configured to transmit information indicating which queue is generating a pause.

6. The system of claim 1 , wherein the first pause controller generates a pause based on a predetermined condition.

7. The system of claim 1 , wherein the two-hop controller controls the data packet transfer from the input buffer to the hop-1 buffer, the hop-1 buffer comprising a group of packet descriptors and associated memory space that is managed by the two-hop controller and used by a DMA to do the packet transfer.

8. The system of claim 1 , wherein the two-hop controller controls the data packet transfer from the hop-1 buffer to the hop-2 buffer by classifying packets into the plurality of queues of the hop-2 buffer according to certain predetermined criteria.

9. A system for pausing data flow comprising:

a data receiving device including:

an input buffer;

a first pause controller coupled to the input buffer;

a hop-1 buffer coupled to the input buffer;

a hop-2 buffer coupled to the hop-1 buffer, the hop-2 buffer including a plurality of queues;

a second pause controller coupled to the queues, the second pause controller selecting a queue that will cause a pause to be generated based on a predetermined condition; and

a two-hop process controller that controls the data packet flow from the input buffer to the hop-1 buffer, and from the hop-1 buffer to the hop-2 queues; and

a data transmission device including:

a plurality of application queues;

a transmit queue, coupled to the application queue and configured to transmit data to a data receiving device; and

a data transmission controller, coupled to the application queues and the transmit queue, the data transmission controller configured to track memory space available in the data receiving device, multiplex packets from the application queues to the transmit queue and control when data is transmitted to the data receiving device based on the memory space available in the data receiving device.

10. The system of claim 9 , further comprising assigning a priority to a hop-2 buffer queue and pausing based on the priority of the hop-2 buffer queue.

11. The system of claim 10 , wherein the pause controller is configured to transmit a pause frame that includes class of data traffic information.

12. The system of claim 11 , wherein the priority of a hop-2 buffer queue is assigned based on the class of data traffic that is being received by the hop-2 buffer queue.

13. The system of claim 9 , wherein the flow controller is further configured to transmit information indicating which hop-2 buffer queue is generating a pause.

14. The system of claim 9 , wherein the data transmit device is further configured to pause a specific data stream.

15. The system of claim 14 , wherein the data transmit device is further configured to pause a data stream according to some predetermined budget.

16. The system of claim 14 , wherein the data transmit device is further configured to pause a data stream with a certain QoS level according to feedback information from the data receive device.

17. The system of claim 16 , wherein the feedback information is in the form of pause frames containing the QoS levels and a pause time.

18. The system of claim 16 , wherein the feedback information is in the form of proprietary packets containing data selected from the group consisting of QoS levels, status of the hop-2 buffer queues and pause time.

19. The system of claim 9 , wherein the data transmit device is further configured to transmit data for a hop-2 buffer queue at the same rate that the data is processed.

20. The system of claim 19 , wherein the data transmit device and the receiving device communicate flow control information using out-of-band messaging.

21. The system of claim 19 , wherein the data transmit device and the receiving device communicate flow control information using in-band messaging.

Assignments (7)
SECURITY AGREEMENT Recorded Jul 9, 2021
From: MAXLINEAR, INC.; MAXLINEAR COMMUNICATIONS, LLC; EXAR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 056816/0089 →
RELEASE OF SECURITY INTEREST Recorded Jun 23, 2021
From: MUFG UNION BANK, N.A.
To: MAXLINEAR, INC.; EXAR CORPORATION; MAXLINEAR COMMUNICATIONS LLC
Reel/Frame 056656/0204 →
SUCCESSION OF AGENCY (REEL 042453 / FRAME 0001) Recorded Jul 1, 2020
From: JPMORGAN CHASE BANK, N.A.
To: MUFG UNION BANK, N.A.
Reel/Frame 053115/0842 →
SECURITY AGREEMENT Recorded May 12, 2017
From: MAXLINEAR, INC.; ENTROPIC COMMUNICATIONS, LLC (F/K/A ENTROPIC COMMUNICATIONS, INC.); EXAR CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042453/0001 →
MERGER AND CHANGE OF NAME Recorded May 19, 2015
From: ENTROPIC COMMUNICATIONS, INC.; EXCALIBUR SUBSIDIARY, LLC; ENTROPIC COMMUNICATIONS, LLC
To: ENTROPIC COMMUNICATIONS, LLC
Reel/Frame 035717/0628 →
MERGER AND CHANGE OF NAME Recorded May 18, 2015
From: EXCALIBUR ACQUISITION CORPORATION; ENTROPIC COMMUNICATIONS, INC.; ENTROPIC COMMUNICATIONS, INC.
To: ENTROPIC COMMUNICATIONS, INC.
Reel/Frame 035706/0267 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2008
From: WU, ZONG LIANG
To: ENTROPIC COMMUNICATIONS, INC.
Reel/Frame 021722/0776 →