1. A method for managing a non-volatile memory, the non-volatile memory having a plurality of blocks, each block having a plurality of sub-blocks, each sub-block having a data area and a spare area, the method comprising the steps of: obtaining a last physical address, the last physical address corresponding to a first sub-block which is adjacent to a second sub-block where data is latest 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, comprising the steps of: scanning an assistant information being stored in the corresponding spare area to identify a sequence of sub-blocks in which identical assistant information are stored, wherein the assistant information is stored when a command for sequentially writing the non-volatile memory is received and the assistant information of each sub-block comprises a sequential length indicating the length of data being sequentially stored in a portion of sub-blocks; and determining the validity of data being stored in the corresponding data area by comparing a length of the sequence of sub-blocks and the sequential length which is stored in one of the corresponding spare areas; and producing a mapping table according to the step of determining the validity of data.