Mechanisms for efficient management of system data in data storage systems
First Claim
1. A non-volatile data storage system, comprising:
- a non-volatile memory array comprising a plurality of blocks configured to store data, the plurality of blocks grouped into a plurality of sets of blocks; and
a controller configured to;
maintain a block allocation map comprising defect data indicating whether the plurality of blocks are defective;
in response to determining that a first block of the plurality of blocks is not marked as defective in the block allocation map, program or erase the first block; and
in response to determining that the first block of the plurality of blocks is marked as defective in the block allocation map, select a second block in a same set of blocks as the first block and program or erase the second block,wherein the arrangement of the defect data in the block allocation map additionally provides information related to associations of the plurality of blocks with the respective sets of blocks so that the non-volatile data storage system does not comprise a separate table configured to record the associations between the plurality of blocks and the sets of blocks.
10 Assignments
0 Petitions
Accused Products
Abstract
A data storage system configured to efficiently manage system data, efficiently organize system data, and reduce system data redundancy is disclosed. In one embodiment, the data storage system can maintain memory allocation information configured to track defective allocation units. Memory allocation information can be further configured to provide information for locating the memory allocation units or memory locations in physical memory. Separate information that indicates locations of the data allocation units or memory locations and/or records defective memory locations may not be needed. Hence, redundancy can be reduced, efficiency can be increased, and improved performance can be attained.
-
Citations
20 Claims
-
1. A non-volatile data storage system, comprising:
-
a non-volatile memory array comprising a plurality of blocks configured to store data, the plurality of blocks grouped into a plurality of sets of blocks; and a controller configured to; maintain a block allocation map comprising defect data indicating whether the plurality of blocks are defective; in response to determining that a first block of the plurality of blocks is not marked as defective in the block allocation map, program or erase the first block; and in response to determining that the first block of the plurality of blocks is marked as defective in the block allocation map, select a second block in a same set of blocks as the first block and program or erase the second block, wherein the arrangement of the defect data in the block allocation map additionally provides information related to associations of the plurality of blocks with the respective sets of blocks so that the non-volatile data storage system does not comprise a separate table configured to record the associations between the plurality of blocks and the sets of blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a non-volatile data storage system comprising a controller and a non-volatile memory array comprising a plurality of blocks configured to store data, the plurality of blocks grouped into a plurality of sets of blocks, a method of programming or erasing data, the method comprising:
-
maintaining a block allocation map comprising defect data indicating whether the plurality of blocks are defective; in response to determining that a first block of the plurality of blocks is not marked as defective in the block allocation map, programming or erasing the first block; and in response to determining that the first block of the plurality of blocks is marked as defective in the block allocation map, selecting a second block in a same set of blocks as the first block and programming or erasing the second block, wherein the arrangement of the defect data in the block allocation map additionally provides information related to associations of the plurality of blocks with the respective sets of blocks so that the non-volatile data storage system does not comprise a separate table configured to record the associations between the plurality of blocks and the sets of blocks, and wherein the method is performed under the control of the controller. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification