1. A method for managing a non-violate memory, the non-violate memory having a plurality of blocks, each block having a plurality of sub-blocks, the method comprising the steps of: obtaining a last physical address, the last physical address corresponding to a first sub-block which is close to a second sub-block where data is newly stored, wherein a first block has the first sub-block; determining the validity of data being stored in each sub-block of at least one block, the at least one block comprising at least one block of the first block and the neighboring blocks of the first block; and producing a mapping table according to the step of determining the validity of data.