an ethernet data switch maintains one or more queues for each of its ports in a shared memory . the memory is divided into data packets . when a data packet is received , the switch checks whether it can be stored efficiently in the packet buffers , and if the packet cannot be stored efficiently then a portion of the packet is stored in a separate memory and the remaining portion of the packet is stored in the packet buffers .