A memory controller for a wireless communication system comprises a packet
buffer write system and a packet buffer read system. The packet buffer
write system places packets including packet header and packet data into
a packet buffer. The packet buffer read system removes packets including
a packet header and packet data from a packet buffer. The packet buffer
is arranged into a plurality of packet buffer memory slots, each slot
comprising a descriptor status array location including an availability
bit set to "used" or "free", and a packet buffer memory location
comprising a descriptor memory slot and a data segment memory slot. The
descriptor memory slot includes header information for each packet, and
the data segment memory slot includes packet data. The memory controller
operates on one or more queues of data, and data is placed into a
particular queue in packet memory determined by priority information
derived from incoming packet header or packet data. Data is removed from
packet memory based on which queue the data may be found in. The queues
are based on a priority system, where one queue receives priority over
another queue for data reception and transmission.