IP Library Granted Patent US 11,789,616
Granted Patent B2
US 11,789,616 · App. 17/183,678 · Granted Oct 17, 2023

Storage system and method for dynamic allocation of secondary backup blocks

Inventors: Narendhiran Chinnaanangur Ravimohan (Bangalore, IN); Balakumar Rajendran (Tamil Nadu, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0614G06F3/0631G06F3/0653G06F3/0673
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,789,616
App. No.
17/183,678
Granted
Oct 17, 2023
Kind
B2
Abstract

A storage system receives data to be stored in its memory. A controller in the storage system allocates a primary block of the memory to store the data and determines the health of the allocated block. If the controller determines that the allocated block is not healthy enough to reliably store the data, the controller allocates a secondary block to redundantly store the data.

Claims (40)

1. A storage system comprising:

a memory; and

a controller configured to:

allocate a primary block and a secondary block of the memory to store data using a dual-write programming method;

in response to allocating the primary and secondary blocks, compute a probability that the secondary block can be released;

determine whether the probability that the secondary block can be released is above a threshold;

in response to determining that the probability that the secondary block can be released is not above the threshold, perform the dual-write programming method to redundantly store the data in the primary block of the memory and the redundant block of the memory; and

in response to determining that the probability that the secondary block can be released is above the threshold:

store the data in the primary block of the memory but not in the secondary blocks of the memory; and

release the secondary block of the memory for a purpose other than to redundantly store the data;

wherein the probability that the secondary block can be released is based on whether a certain number of program-erase cycles have been performed in the primary block, whether the primary block is part of a defective memory zone, and whether the primary block is at a certain program temperature.

2. The storage system of claim 1 , wherein the probability is computed at least in part by an amount of time needed to erase the primary block of the memory.

3. The storage system of claim 1 , wherein the probability is computed at least in part by the primary block's location in the memory.

4. The storage system of claim 1 , wherein the probability is computed at least in part by a status of a program operation to the primary block of the memory.

5. The storage system of claim 1 , wherein the probability is computed at least in part by a status of a post-write verification operation on the primary block of the memory.

6. The storage system of claim 1 , wherein the primary and secondary blocks of the memory comprise single-level cells.

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

8. The storage system of claim 1 , wherein the purpose improves burst performance.

9. The storage system of claim 1 , wherein the purpose increases a multi-level cell (MLC) pool size.

10. In a storage system comprising a memory, a method comprising:

allocating a primary block and a secondary block of the memory to store data using a dual-write programming method;

in response to allocating the primary and secondary blocks, computing a probability that the secondary block can be released;

determining whether the probability that the secondary block can be released is not above a threshold;

in response to determining that the probability that the secondary block can be released is not above the threshold, performing the dual-write programming method to redundantly store the data in the primary block of the memory and the redundant block of the memory; and

in response to determining that the probability that the secondary block can be released is above the threshold:

storing the data in the primary block of the memory but not in the secondary blocks of the memory; and

releasing the secondary block of the memory for a purpose other than to redundantly store the data;

wherein the probability that the secondary block can be released is based on whether a certain number of program-erase cycles have been performed in the primary block, whether the primary block is part of a defective memory zone, and whether certain wordlines in the primary block are to be programmed.

11. The method of claim 10 , wherein the probability is computed based on a health of the primary block.

12. The method of claim 10 , wherein the purpose improves burst performance and/or increases a multi-level cell (MLC) pool size.

13. A storage system comprising:

a memory;

means for allocating a primary block and a secondary block of the memory to store data using a dual-write programming method;

means for, in response to allocating the primary and secondary blocks, computing a probability that the secondary block can be released

means for determining whether the probability that the secondary block can be released is above a threshold;

means for, in response to determining that the probability that the secondary block can be released is not above the threshold, performing the dual-write programming method to redundantly store the data in the primary block of the memory and the redundant block of the memory; and

means for, in response to determining that the probability that the secondary block can be released is above the threshold:

storing the data in the primary block of the memory but not in the secondary blocks of the memory; and

releasing the secondary block of the memory for a purpose other than to redundantly store the data;

wherein the probability that the secondary block can be released is based on whether a certain number of program-erase cycles have been performed in the primary block, whether the primary block is part of a defective memory zone, and whether a post-verify cycle estimation for the primary block is above a 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 056285 FRAME 0292 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 056285/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2021
From: RAVIMOHAN, NARENDHIRAN CHINNAANANGUR; RAJENDRAN, BALAKUMAR
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 055391/0139 →
Continuity (2)
Provisional Application 63119778 · Dec 1, 2020
Related Publication 20220171539A1 · Jun 2, 2022
Cited By (1)
US 12,423,180