IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0698794
(2010-02-02)
|
등록번호 |
US-8131854
(2012-03-06)
|
발명자
/ 주소 |
- Dyckerhoff, Stefan
- Kritayakirana, Kong
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
0 인용 특허 :
48 |
초록
▼
A system processes packet data received in a number of incoming streams of variable speeds. The system includes an input interface, input logic, and one or more packet processors. The input interface receives the packet data and outputs the data using a first arbitration element. The input logic inc
A system processes packet data received in a number of incoming streams of variable speeds. The system includes an input interface, input logic, and one or more packet processors. The input interface receives the packet data and outputs the data using a first arbitration element. The input logic includes flow control logic, a memory, and a dispatch unit. The flow control logic initiates flow control on the data output by the input interface. The memory stores the data from the input interface. The dispatch unit reads the data from the memory using a second arbitration element. The packet processor(s) process the data from the dispatch unit.
대표청구항
▼
1. A method performed by a network device, comprising: storing, by the network device and in a plurality of entries associated with a first arbitration element, a plurality of data stream identifiers, one of the plurality of data stream identifiers being stored in a respective quantity of entries, o
1. A method performed by a network device, comprising: storing, by the network device and in a plurality of entries associated with a first arbitration element, a plurality of data stream identifiers, one of the plurality of data stream identifiers being stored in a respective quantity of entries, of the plurality of entries, based on a speed of a respective data stream, of a plurality of data streams, that corresponds to the one of the plurality of data stream identifiers;receiving, by the network device, packet data associated with the plurality of data streams;identifying, by the network device, a data stream identifier stored in a first entry, of the plurality of entries, associated with the first arbitration element, the data stream identifier corresponding to a data stream of the plurality of data streams;storing, in a memory associated with the network device, the packet data associated with the data stream;identifying, by the network device, a particular data stream identifier stored in another first entry, of another plurality of entries, associated with a second arbitration element, the particular data stream identifier corresponding to a particular data stream of the plurality of data streams; andreading, from the memory associated with the network device, the packet data associated with the particular data stream. 2. The method of claim 1, where each entry in the first arbitration element is associated with a bandwidth unit that corresponds to a particular quantity of bandwidth, the method further comprising: specifying a speed associated with the data stream;determining a respective allocated bandwidth for the data stream based on the specified speed associated with the data stream; andallocating the respective quantity of entries for the data stream based on the respective allocated bandwidth for the data stream. 3. The method of claim 2, further comprising: increasing the specified speed for the particular data stream of the plurality of data streams; andallocating additional entries, of the other plurality of entries, for the particular data stream. 4. The method of claim 1, further comprising: receiving a flow control notification from a flow controller, the flow control notification indicating that packet data associated with the particular data stream is not to be processed; andceasing to read packet data, associated with the particular data stream, from the memory in response to the flow control notification. 5. The method of claim 1, where the memory includes a plurality of memory buckets for the plurality of data streams, a respective one of the plurality of memory buckets corresponds to the data stream; and where storing the packet data associated with the data stream, further includes:storing the packet data, associated with the data stream, in the respective one of the plurality of memory buckets that corresponds to the data stream. 6. The method of claim 5, further comprising: determining that the respective one of the plurality of memory buckets has reached capacity; andbased on the determination that the respective one of the plurality of memory buckets has reached capacity: dropping the packet data associated with the data stream, orceasing to process the packet data associated with the data stream. 7. A system, comprising: a memory to store packet data associated with a plurality of data streams of different speeds;an interface controller to arbitrate among the plurality of data streams to store the packet data in the memory based on a next entry in a first arbitration table, where the first arbitration table includes: a respective quantity of entries corresponding to each data stream, of the plurality of data streams, where the respective quantity of entries are set based on a respective speed associated with the each data stream;a flow controller to determine whether to initiate flow control over the packet data based on a quantity of packet data, associated with the each data stream and stored in the memory, and a respective flow control threshold for the each data stream; anda dispatcher to arbitrate among the plurality of data streams to read the packet data from the memory based on another next entry in a second arbitration table, where the second arbitration table includes: another respective quantity of entries corresponding to the each data stream, where the other respective quantity of entries is set based on a respective speed associated with the each data stream. 8. The system of claim 7, where the memory includes: a different memory bucket for each data stream, of the plurality of data streams. 9. The system of claim 7, where the flow controller is further to: determine that a quantity of packet data associated with a particular data stream, of the plurality of data streams, is greater than a flow control threshold associated with the particular data stream, andsend a notification to the interface controller to cease processing packet data associated with the particular data stream upon determining that the quantity of packet data is greater than the flow control threshold. 10. The system of claim 9, where the memory is a first-in-first-out (FIFO) memory, where a size of the FIFO memory is based on a latency that corresponds to a response time for the interface controller to receive the notification and to cease processing the packet data associated with the particular data stream. 11. The system of claim 7, where the flow controller is further to: determine that a quantity of packet data, associated with a particular data stream of the plurality of data streams, is greater than a drop packet threshold associated with the particular data stream, where the drop packet threshold is greater than the flow control threshold, anddrop packet data associated with the particular data stream upon determining that the quantity of packet data is greater than the drop packet threshold. 12. The system of claim 7, where the flow controller is further to: determine a quantity of entries, in the memory, that store packet data that is associated with a particular data stream, of the plurality of data streams,compare the quantity of entries with the flow control threshold,initiate the flow control over the packet data, associated with the particular data stream, when the quantity of entries is greater than the flow control threshold, andprocess the packet data, associated with the particular data stream, without the flow control when the quantity of entries is less than or equal to the flow control threshold. 13. The system of claim 7, where the interface controller is further to: determine that the next entry corresponds to a particular data stream, of the plurality of data streams, andprocess packet data associated with the particular data stream upon determining that the next entry corresponds to the particular data stream. 14. The system of claim 7, where the dispatcher is further to: determine that the other next entry corresponds to a particular data stream, of the plurality of data streams, andread, from the memory, packet data associated with the particular data stream upon determining that the other next entry corresponds to the particular data stream. 15. A network device, comprising: an interface to: receive packet data associated with a plurality of data streams, andforward the packet data; anda flow controller to: receive the packet data forwarded by the interface,store the packet data in a memory associated with the network device,identify a quantity of entries, in the memory, that store packet data for each data stream, of the plurality of data streams,compare the quantity of entries for a particular data stream, of the plurality of data streams, to a flow control threshold, corresponding to the particular data stream, to determine whether to initiate flow control over the particular data stream,process the particular data stream without flow control when the quantity of entries for the particular data stream is less than or equal to the flow control threshold,compare the quantity of entries, for the particular data stream, to a drop packet threshold corresponding to the particular data stream, when the quantity of entries for the particular data stream is greater than the flow control threshold, where the drop packet threshold is greater than the flow control threshold,send, to the interface, a notification to cease forwarding packet data associated with the particular data stream when the quantity of entries for the particular data stream is less than or equal to the drop packet threshold, anddrop the packet data associated with the particular data stream when the quantity of entries for the particular data stream is greater than the drop packet threshold. 16. The network device of claim 15, where the memory is a first-in-first-out (FIFO) memory in which packet data is processed only when the packet data reaches a first entry of a plurality of entries within the FIFO memory, and where, when processing the particular data stream without flow control, the flow controller is further to:determine that packet data associated with the particular data stream has reached the first entry within the FIFO memory, andprocess the packet data associated with the particular data stream upon determining that the packet data associated with the particular data stream has reached the first entry within the FIFO memory. 17. The network device of claim 15, where the flow control threshold for the particular data stream or the drop packet threshold for the particular data stream is based on a speed associated with the particular data stream. 18. The network device of claim 15, where the flow controller is further to: drop the packet data associated with the particular data stream when the interface fails to respond to the notification to cease forwarding the packet data associated with the particular data stream. 19. The network device of claim 15, where, after sending the notification to cease forwarding the packet data associated with the particular data stream, the flow controller is further to: continue to process the packet data until a response, to the notification to cease forwarding the packet data, is received from the interface. 20. The network device of claim 15, where the flow controller is further to: set a size for the memory based on a duration of time for the interface to respond to the notification to cease forwarding the packet data associated with the particular data stream. 21. A method, comprising: receiving, by a network device and from an interface of the network device, packet data associated with a plurality of data streams;storing, in a memory associated with the network device, the packet data in a memory associated with the network device;identifying, by the network device, a quantity of entries, in the memory, that store packet data for each data stream, of the plurality of data streams;comparing, by the network device, the quantity of entries for a particular data stream, of the plurality of data streams, to a flow control threshold that corresponds to the particular data stream, to determine whether to initiate flow control over the particular data stream;when the comparing yields a first outcome: processing, by the network device, the particular data stream without flow control, andsending, by the network device, a notification to cease forwarding packet data associated with the particular data stream; andwhen the comparing yields a different second outcome: comparing, by the network device, the quantity of entries for the particular data stream to a drop packet threshold corresponding to the particular data stream, where the drop packet threshold is greater than the flow control threshold, anddropping, by the network device, the packet data associated with the particular data stream. 22. The method of claim 21, where the first outcome comprises the quantity of entries for the particular data stream being less than the flow control threshold. 23. The method of claim 21, where the second outcome comprises the quantity of entries for the particular data stream being greater than the drop packet threshold.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.