A memory management apparatus and method for storing data in units of
various packet sizes in appliances utilizing memory devices are provided.
The memory allocation apparatus includes data memory which includes a
plurality of data blocks, each of which includes a plurality of sub data
blocks having a predetermined size, and when there is a request for
allocating memory space of a variable size, allocates memory space in
units of any one of the sub data blocks and the data blocks, a free list
memory which manages an free memory space of the data memory as at least
one or more lists, and registers that store head location information and
tail location information of the list.