发明名称 Apparatus and method for allocating buffers of a memory including tracking a number of buffers used to store a received frame
摘要 A network switch including a port receiving a first frame. A memory includes first buffers available to store frames and second buffers reserved for the port. A pointer module stores first pointers for the first buffers. A reserve module includes a counter, requests from the pointer module some of the first pointers, and increments the counter to count a number of pointers reserved for the first port. The pointers received from the pointer module are deemed reserved and as a result the first buffers, pointed to by the pointers received from the pointer module, are included in the second buffers. An ingress module stores the first frame in some of the second buffers and determines a destination channel for the first frame. The counter is incremented for each of the second buffers used to store the first frame. An egress module transmits the frame on the destination channel.
申请公布号 US8929363(B1) 申请公布日期 2015.01.06
申请号 US201414164597 申请日期 2014.01.27
申请人 Marvell International Ltd. 发明人 Walsh Hugh M.
分类号 H04L12/50;H04L12/883 主分类号 H04L12/50
代理机构 代理人
主权项 1. A network switch comprising: a first port configured to receive a first frame; a memory comprising (i) a plurality of first buffers available to store frames, and (ii) a plurality of second buffers reserved for the first port; a pointer module configured to store a plurality of first pointers for the plurality of first buffers; a reserve module comprising a first counter, wherein the reserve module is configured to (i) request from the pointer module some of the plurality of first pointers for the plurality of first buffers, and (ii) increment the first counter to count a number of pointers reserved for the first port, wherein pointers received from the pointer module by the reserve module are reserved for the first port and as a result the first buffers, pointed to by the pointers received from the pointer module at the reserve module, are no longer available and are included in the plurality of second buffers; an ingress module configured to (i) store the first frame in some of the plurality of second buffers, and (ii) determine a destination channel for the first frame, wherein the first counter is configured to be incremented for each of the plurality of second buffers used to store the first frame; a forwarding module configured to send the pointers for the some of the plurality of second buffers to a first output queue, wherein the output queue is connected to the destination channel; and an egress module configured to, (i) based on the pointers for the some of the plurality of second buffers in the first output queue, access the first frame in the memory, (ii) transmit the first frame on the destination channel, and (iii) release the pointers for the some of the plurality of second buffers to the pointer module, wherein the some of the plurality of second buffers, subsequent to being released, are available to store frames and are included in the plurality of first buffers, wherein the first counter is configured to be decremented for each of the pointers for the some of the plurality of second buffers released to the pointer module.
地址 Hamilton BM