this may take place only when there is some minimum amount or no space left in free storage list.
need to determine which blocks are still alive and which data is dead - clear out the old data so we can use the space  segment-by-segment basis
look through fat table and check the validity of each file block and then remove the ones that are unused