1. A method for operating a non-volatile memory having a plurality of physical blocks, which comprise a plurality of data blocks and a plurality of spare blocks, wherein the data blocks are used for storing data, and at least some spare blocks corresponding to the data blocks are reserved and used for data update operations, comprising: estimating a performance capability status for the non-volatile memory according to an average erase count of selected physical blocks; performing a limp function when the average erase count exceeds a first threshold, wherein the limp function is used to configure a minimum number of the at least some spare blocks reserved and used for data update operations.