Patent ID: 8498304
Filing Date: 2013-07-30
Classification: H04L

Abstract:
1. A communication controller comprising: a memory including a plurality of segments for temporarily storing a packet to be relayed, using a segment of a fixed size as a unit of management of a storage area; a packet acknowledging unit configured to receive a packet to be relayed from an external source; a packet writing unit configured to refer to an offset, indicating a location in a segment where a free area starts, store a packet, starting at the location in the segment indicated by the offset, update the location of start indicated by the offset in accordance with the packet size, and store another packet, starting at the location of start in the segment thus updated; and a packet sending unit configured to read the packet, starting at the location of start, read said other packet, starting at the updated location of start, and send the packets outside the communication controller; a read count storage configured to store, in association with each of the plurality of segments, a total number of times that at least one packet stored in the respective segments should be read; and a segment releasing unit, wherein, each time the packet writing unit stores the packet acknowledged by the packet acknowledging unit in a segment, the packet writing unit increments the total associated with the segment, the packet sending unit decrements the total associated with the segment each time the packet sending unit reads the packet stored in the segment, and the segment releasing unit configures a segment for which the read count reaches 0 as a new free area.