IP Library Granted Patent US 8,954,653
Granted Patent B1
US 8,954,653 · App. 13/533,529 · Granted Feb 10, 2015

Mechanisms for efficient management of system data in data storage systems

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,954,653
App. No.
13/533,529
Granted
Feb 10, 2015
Kind
B1
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.

Claims (39)

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.

2. The non-volatile data storage system of claim 1 , wherein the block allocation map comprises a bitmap.

3. The non-volatile data storage system of claim 2 , wherein the controller is further configured to infer, using a layout of the bitmap, a physical location in the non-volatile memory array of a block of the plurality of blocks.

4. The non-volatile data storage system of claim 2 , wherein the bitmap comprises a single-bit entry for each block of the plurality of blocks, the entry indicating whether a corresponding block is defective.

5. The non-volatile data storage system of claim 1 , wherein the block allocation map is configured to track a set of blocks that are not suitable for storing data so that the non-volatile data storage system does not comprise a separate defective block list.

6. The non-volatile data storage system of claim 1 , wherein:

the block allocation map is stored in a volatile memory array during normal operation of the non-volatile data storage system; and

in response to detecting an interruption or loss of power supplied to the non-volatile data storage system, the controller is configured to store the block allocation map in the non-volatile memory array.

7. The non-volatile data storage system of claim 1 , wherein:

the plurality of sets of blocks are associated with a plurality of superblocks and the plurality of blocks are grouped into the plurality of superblocks; and

the controller is further configured to perform concurrent execution of at least some data storage operations.

8. The non-volatile data storage system of claim 7 , wherein each block is associated with a superblock upon initialization of the non-volatile data storage system.

9. The non-volatile data storage system of claim 1 , wherein the non-volatile data storage system is a hybrid disk drive.

10. The non-volatile data storage system of claim 1 , wherein controller is configured to perform a program or erase operation.

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.

12. The method of claim 11 , wherein the block allocation map comprises a bitmap.

13. The method of claim 12 , further comprising inferring a physical location in the non-volatile memory array of a block of the plurality of blocks using the bitmap.

14. The method of claim 12 , wherein the bitmap comprises a single-bit entry for each block of the plurality of blocks, the entry indicating whether a corresponding block is defective.

15. The method of claim 11 , wherein the block allocation map is configured to track a set of blocks that are not suitable for storing data so that the non-volatile data storage system does not comprise a separate defective block list.

16. The method of claim 11 , further comprising:

storing the block allocation map in a volatile memory array during normal operation of the non-volatile data storage system; and

in response detecting an interruption or loss of power supplied to the non-volatile data storage system, storing the block allocation map in the non-volatile memory array.

17. The method of claim 11 , wherein:

the plurality of sets of blocks are associated with a plurality of superblocks and the plurality of blocks are grouped into the plurality of superblocks, and

the method further comprises performing concurrent execution of at least some data storage operations.

18. The method of claim 17 , further comprising associating each block with a superblock during initialization of the non-volatile data storage system.

19. The method of claim 11 , wherein the non-volatile data storage system comprises a hybrid disk drive.

20. The method of claim 11 , wherein the programming or erasing is performed in response to receiving a program or erase command.

Assignments (13)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2012
From: LO, JERRY; LAM, JOHNNY A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 028878/0951 →