Patent ID: 7733889

Claim:
A network switching device that transfers variable-length packets between a plurality of networks, the device comprising: a buffer for shared use as data storage areas for both incoming packets and outgoing packets; a packet divider that divides a received packet into one or more data blocks with a fixed length and supplies the divided data blocks to said buffer; and a buffer controller that creates a transmit queue for each destination network to store up to a fixed number of data blocks, registers the received packet with one of the transmit queues that corresponds to a given destination of the received packet after writing the divided data blocks into said buffer, and manages linkage between the data blocks in each packet, as well as linkage between packets in each transmit queue, as a linked list structure based on locations of data blocks in said buffer; wherein said buffer controller comprises: a pointer stack storing pointers in a unified manner, the pointers indicating the locations of the data blocks in said buffer; a receive pointer buffer disposed for each source network to receive pointers obtained from said pointer stack, as well as to count the number of pointers that are received; a transmit queue pointer counter disposed for each destination network to count the number of pointers corresponding to the data blocks that are registered with the corresponding transmit queue; and a transmit pointer buffer disposed for each destination network to receive pointers used in transmitting a packet from the corresponding transmit queue, as well as to count the number of pointers that are received.