В принципе была такая мысль. Сделать таблицу в отдельной памяти. В которой лежат адреса на масив во флеши. И показывают какой условно говоря файл стерт, а какой нет. Но размер такой таблицы для мелких файлов не намного меньше основного хранилища. И к тому же когда основное хранилище физически заполнится полностью, несмотря на то, что многие файлы уже логически стерты, все повторяется со стиранием блока и дефрагментацией.