1. A method of assigning addresses to data of file objects within a continuous logical address space, comprising: divide the continuous logical address space into logical blocks of addresses, said logical blocks having a capacity, maintain at least one list including logical blocks that individually contain addresses assigned to an amount of valid data less than a the capacity of the logical blocks, select a logical block from said at least one list, copy the addresses assigned to valid data from the selected logical block into another logical block, and thereafter utilize the selected logical block for storing addresses for other data, wherein selecting a logical block includes selecting the logical block from said at least one list that has the least amount of valid data with assigned addresses in such logical block relative to the amount of valid data with assigned addresses in other logical blocks on the list.