Dynamic memory pools are a pool of memory blocks that can be dynamically allocated and freed at run-time. Their memory blocks are allocated on a given Memory Segment. They have the particularity that if there is no block available when attempting to get one, it will be allocated from free space on the memory segment.
Note that the dynamic memory pools DOES NOT guarantee the data integrity between a block free and a block get operation.