This paper presents a hardware-efficient memory allocation technique, called EMA, that detects the existence of any free block of requested size in memory. EMA can allocate a free memory block of any number of chunks in any part of memory without having any internal fragmentation. The gate-level design of the hardware unit, along with its area-time measurements is given in this paper. Simulation results indicate that EMA is fast and flexible enough to allocate/deallocate a free block in any part of memory resulting in efficient utilization of memory spaces. In addition, the VHDL synthesis with FPGA implementation shows that EMA has less complicated hardware, and is faster than the known hardware techniques.