1. A method for managing memory operations in a flash storage device having a plurality of data blocks, each block comprising a plurality of data segments, the method comprising the steps of: providing one or more linked lists comprising a plurality of nodes, each of the plurality of nodes indicating the number of valid data segments in a corresponding one of the plurality of data blocks; ordering the plurality of nodes in the one or more linked lists based upon the number of valid data segments indicated therein; selecting one of the plurality of data blocks for erasure based on the ordering of the one or more linked lists such that the selected data block corresponds to one of the plurality of nodes indicating a lowest number of valid data segments; and erasing the selected data block when an available number of pre-erased data blocks falls below a predetermined amount.