METHOD FOR OPERATING NON-VOLATILE MEMORY AND DATA STORAGE SYSTEM USING THE SAME
First Claim
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:
- obtaining an index by comparing an average erase count of selected physical blocks with a first threshold;
determining a performance capability status for the non-volatile memory according to the index, wherein the performance capability status is set to a first status when the average erase count exceeds the first threshold;
generating an indication based on the performance capability status; and
performing a limp function in response to the first status, 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.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for operating a non-volatile memory is provided. The non-volatile memory includes a plurality of physical blocks haing a plurality of data blocks and spare blocks. An index is obtained by comparing an average erase count of selected physical blocks with a first threshold. Each erase count for each physical block is the total number of the erase operations performed thereon. A performance capability status for the memory is determined according to the index. The performance capability status is set to a first status when the average erase count exceeds the first threshold. An indication is generated based on the performance capability status. A limp function is performed in response to the first status for configuring a minimum number of the at least some spare blocks reserved and used for data update operations.
31 Citations
19 Claims
-
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:
-
obtaining an index by comparing an average erase count of selected physical blocks with a first threshold; determining a performance capability status for the non-volatile memory according to the index, wherein the performance capability status is set to a first status when the average erase count exceeds the first threshold; generating an indication based on the performance capability status; and performing a limp function in response to the first status, 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. - View Dependent Claims (2, 3, 4)
-
-
5. 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:
-
generating an index according to a total number of spare blocks other than the at least some spare blocks corresponding to the data blocks reserved and used for data update operations; displaying an indication according to the index; and performing a limp function when the indication is in a first status, 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. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. A data storage system, comprising:
-
a memory module having a non-volatile memory and a controller, wherein the non-volatile memory comprises a plurality of physical blocks having a plurality of data blocks and a plurality of spare blocks, and 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, and the controller coupled to the non-volatile memory for obtaining an average erase count of selected physical blocks, wherein each erase count for each physical block is the total number of the erase operations performed thereon; and a host coupled to the memory module for obtaining an index by comparing the average erase count with a first threshold, determining a performance capability status for the non-volatile memory according to the index, wherein the performance capability status is set to a first status when the average erase count exceeds the first threshold, generating an indication based on the performance capability status and performing a limp function in response to the first status, wherein the limp function is to configure a minimum number of the at least some spare blocks reserved and used for data update operations. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
Specification