One or more mapping data structures are maintained containing mappings of
logical flash memory addresses to physical flash memory addresses. Each
mapping data structure has a predetermined capacity of mappings. A master
data structure is also maintained containing a pointer to each of the one
or more mapping data structures. Additional mapping data structures are
allocated as needed to provide capacity for additional mappings. Each
time a mapping data structure is allocated or de-allocated the pointers
in the master data structure are changed accordingly.