In a non-volatile memory array, scheduling of reclaim operations to occur
before a shortage of erased blocks arises avoids extended periods of
reclaim that could exceed a time limit. A memory controller uses
information regarding the data stored in the memory array to estimate the
additional host data that may be programmed and the reclaim operations to
be performed and schedules the reclaim operations to be evenly
distributed between write operations until the memory is full.