The rapid growth of backbone network traffic increases the gaps among the available network bandwidth, the CPU computation power and the memory bandwidth. The memory bandwidth has become the main performance bottleneck of network processor. In this paper, an efficient memory subsystem design is proposed which combines dynamic memory allocation and a novel page-based memory access algorithm. The dynamic memory allocation achieves fast random packet access and flexible queue management. Utilizing the paged-based memory access algorithm, an efficient design of memory controller is proposed and high throughput can be implemented in the network processor.