IP Library Granted Patent US 11,487,450
Granted Patent B1
US 11,487,450 · App. 17/320,836 · Granted Nov 1, 2022

Storage system and method for dynamic allocation of control blocks for improving host write and read

Inventors: Sridhar Prudviraj Gunda (Karnataka, IN); Yarriswamy Chandranna (Karnataka, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0631G06F3/0604G06F3/064G06F3/0679G06F12/1009G06F2212/1016
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 11,487,450
App. No.
17/320,836
Granted
Nov 1, 2022
Kind
B1
Abstract

A storage system has a pool of reserved memory blocks that can be used either as control blocks or as overprovision blocks. A controller in the storage system can dynamically allocate one or more blocks reserved for control blocks as extra overprovision blocks. If the storage system is running low on control blocks, the controller can allocate the extra blocks from overprovision pool back as control blocks.

Claims (47)

1. A storage system comprising:

a memory comprising a first number of blocks configured to be reserved as control blocks and a second number of blocks configured to be reserved as overprovision blocks; and

a controller coupled to the memory and configured to:

allocate some of the first number of blocks as overprovision blocks instead of control blocks;

determine whether a number of control blocks that are free is less than a threshold; and

in response to determining that the number of control blocks that are free is less than the threshold, allocate an overprovision block as a control block.

2. The storage system of claim 1 , wherein the controller is further configured to select the overprovision block to allocate based on a program-erase cycle count.

3. The storage system of claim 1 , wherein the controller is further configured to determine whether a total number of consumed control blocks is less than the first number and is further configured to allocate the overprovision block in response to determining that the total number of consumed control blocks is less than the first number.

4. The storage system of claim 3 , wherein the controller is further configured to perform a compaction operation on the control blocks to generate an open control block in response to determining that the total number of consumed control blocks is not equal to the first number.

5. The storage system of claim 1 , wherein the controller is further configured to determine how many of the first number of blocks to allocate as overprovision blocks based on logical fullness of the memory or on a host load.

6. The storage system of claim 1 , wherein the first number is a maximum allowed number of control blocks.

7. The storage system of claim 1 , wherein the controller is further configured to allocate some of the first number of blocks as overprovision blocks during a first mount to a host.

8. The storage system of claim 1 , wherein the controller is further configured to:

receive a write command from the host;

determine whether an open control block is available; and

in response to determining that an open control block is available:

update a logical-to-physical map entry in the open control block; and

write data from the write command in an overprovision block.

9. The storage system of claim 8 , wherein the controller is further configured to determine whether the number of control blocks that are free is less than the threshold in response to determining that an open control block is not available.

10. The storage system of claim 1 , wherein the controller is further configured to:

in response to determining that the number of blocks that are free is not less than the threshold:

select an open control block:

update a logical-to-physical map entry in the open control block; and

write data from a write command in an overprovision block.

11. The storage system of claim 1 , wherein the memory comprises a three-dimensional memory.

12. In a storage system comprising a memory comprising a first number of blocks configured to be reserved as control blocks and a second number of blocks configured to be reserved as overprovision blocks, a method comprising:

allocating some of the first number of blocks as overprovision blocks instead of control blocks;

determining whether a number of control blocks that are free is less than a threshold; and

in response to determining that the number of control blocks that are free is less than the threshold, allocating an overprovision block as a control block.

13. The method of claim 12 , further comprising selecting the overprovision block to allocate based on a program-erase cycle count.

14. The method of claim 12 , further comprising:

determining whether a total number of consumed control blocks is less than the first number, wherein the overprovision block is allocated in response to determining that the total number of consumed control blocks is less than or equal to the first number.

15. The method of claim 12 , further comprising determining how many of the first number of blocks to allocate as overprovision blocks based on logical fullness of the memory.

16. The method of claim 12 , further comprising determining how many of the first number of blocks to allocate as overprovision blocks based on host load.

17. The method of claim 12 , wherein some of the first number of blocks is allocated as overprovision blocks during a first mount to a host.

18. The method of claim 12 , further comprising:

receiving a write command from the host;

determining whether an open control block is available; and

in response to determining that an open control block is available:

updating a logical-to-physical map entry in the open control block; and

writing data from the write command in an overprovision block.

19. The method of claim 18 , wherein the first number is a maximum allowed number of control blocks.

20. A storage system comprising:

a memory comprising a first number of blocks configured to be reserved as control blocks and a second number of blocks configured to be reserved as overprovision blocks;

means for allocating some of the first number of blocks as overprovision blocks instead of control blocks;

means for determining whether a number of control blocks that are free is less than a threshold; and

means for allocating an overprovision block as a control block in response to determining that the number of control blocks that are free is less than the threshold.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 057651 FRAME 0296 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058981/0958 →
SECURITY INTEREST Recorded Sep 17, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 057651/0296 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2021
From: GUNDA, SRIDHAR PRUDVIRAJ; CHANDRANNA, YARRISWAMY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 056247/0296 →