1. A data processing method, comprising: defining a first memory pool in a first physical memory; defining a second memory pool in a second physical memory distinct from the first physical memory, the second memory pool having a lower latency than the first memory pool; and programming, by a processor executing a software component, a hardware component to operate on the first memory pool or operate directly on the second memory pool based on one or more predetermined criteria, wherein defining the second memory pool comprises defining the size of the second memory pool such that a majority of data operations of the hardware component are performed using the second memory pool, and wherein the hardware component is programmed to operate directly on the second memory pool by maintaining data in the second memory pool whenever space is available, wherein the hardware component and the software component operate on data stored in the second memory pool when processing the data at each of a plurality of protocol layers, wherein the data is not copied to the first memory pool after processing at each of the plurality of protocol layers.