1. A method of assigning addresses to data of file objects within a continuous logical address space divided into blocks of addresses, comprising: maintain at least one list including blocks that individually contain addresses assigned to an amount of valid data less than a capacity of the block, select a block from said at least one list, copy the valid data from the selected block into another block, and thereafter utilize the selected block for assigning addresses to other data.