IP Library Granted Patent US 11,354,190
Granted Patent B2
US 11,354,190 · App. 17/184,422 · Granted Jun 7, 2022

Using over provisioning space for selectively storing block parity

Inventors: Rohit Sehgal (San Jose, CA); Sahil Sharma (San Jose, CA); Nian Niles Yang (Mountain View, CA); Philip David Reusswig (Santa Clara, CA)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F11/1068G06F11/076G06F11/0772G06F11/1489G06F12/0246
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,354,190
App. No.
17/184,422
Granted
Jun 7, 2022
Kind
B2
Abstract

Methods and apparatus for storing parity bits in an available over provisioning (OP) space to recover data lost from an entire memory block. For example, a data storage device may receive data from a host device, write the data to a block, and generate a corresponding block parity. The device may then determine a bit error rate (BER) of the block and an average programming duration to write the data written to the block, calculate a probability of the block becoming defective based on the BER and the average programming duration, and comparing the probability of the block to a set of probabilities respectively corresponding to a set of worst-performing blocks in a NVM. Thereafter, the device may write the block parity to an available over provisioning (OP) space in the NVM responsive to the probability of the block being greater than any probability in the set of probabilities.

Claims (70)

1. A data storage device, comprising:

a non-volatile memory (NVM); and

a data storage controller configured to:

receive data from a host device,

write the data to a block in the NVM and generate a corresponding block parity,

determine a bit error rate (BER) of the block and an average programming duration to write the data written to the block,

calculate a probability of the block becoming defective based on the BER and the average programming duration,

compare the probability of the block to a set of probabilities respectively corresponding to a set of worst-performing blocks in the NVM, and

write the block parity to an available over provisioning (OP) space in the NVM responsive to the probability of the block being greater than any probability in the set of probabilities.

2. The data storage device of claim 1 , wherein the data storage controller is further configured to refrain from writing the block parity in any memory responsive to the probability of the block being less than all probabilities in the set of probabilities.

3. The data storage device of claim 1 , wherein the data storage controller is further configured to:

determine an excess space in the OP space; and

wherein the data storage controller configured to write the block parity to the available OP space in the NVM responsive to the probability of the block being greater than any probability in the set of probabilities is further configured to write the block parity to the excess space in the OP space.

4. The data storage device of claim 3 :

wherein the data storage device is referred to as a first data storage device; the data storage controller further configured to:

determine an average OP space among the first data storage device and a plurality of second data storage devices; and

wherein the excess space of the first data storage device comprises an amount of OP space greater than the average OP space.

5. The data storage device of claim 1 , wherein the block parity comprises a full block parity.

6. The data storage device of claim 1 , wherein the data storage controller is further configured to:

execute an operation, specified by the host device, corresponding to the block;

detect, during execution of the host operation, a defect within the block causing a loss of the data written to the block; and

perform an exclusive-or (XOR) operation using the block parity written to the available OP space to recover the lost data.

7. The data storage device of claim 1 , wherein the data storage controller is further configured to:

detect the set of probabilities respectively corresponding to the set of worst-performing blocks in the NVM,

wherein the available OP space stores parity bits corresponding to data written to blocks in the set of worst-performing blocks.

8. The data storage device of claim 7 , wherein a number of blocks in the set of worst-performing blocks for which parity bits are stored in the available OP space is dependent on an amount of the available OP space.

9. A method for use with a data storage device including a non-volatile memory (NVM), the method comprising:

receiving data from a host device;

writing the data to a block in the NVM and generating a corresponding block parity;

determining a bit error rate (BER) of the block and an average programming duration to write the data written to the block;

calculating a probability of the block becoming defective based on the BER and the average programming duration;

comparing the probability of the block to a set of probabilities respectively corresponding to a set of worst-performing blocks in the NVM; and

writing the block parity to an available over provisioning (OP) space in the NVM responsive to the probability of the block being greater than any probability in the set of probabilities.

10. The method of claim 9 , further comprising refraining from writing the block parity in any memory responsive to the probability of the block being less than each of the probabilities in the set of probabilities.

11. The method of claim 9 , further comprising:

determining an excess space in the OP space; and

wherein the writing the block parity to the available OP space in the NVM responsive to the probability of the block being greater than any probability in the set of probabilities comprises writing the block parity to the excess space in the OP space.

12. The method of claim 11 :

wherein the data storage device is referred to as a first data storage device; the method further comprising:

determining an average OP space among the first data storage device and a plurality of second data storage devices; and

wherein the excess space of the first data storage device comprises an amount of OP space greater than the average OP space.

13. The method of claim 9 , wherein the block parity comprises a full block parity.

14. The method of claim 9 , further comprising:

executing an operation, specified by the host device, corresponding to the block;

detecting, during execution of the host operation, a defect within the block causing a loss of the data written to the block; and

performing an exclusive-or (XOR) operation using the block parity written to the available OP space to recover the lost data.

15. The method of claim 9 , further comprising:

detecting the set of probabilities respectively corresponding to the set of worst-performing blocks in the NVM,

wherein the available OP space stores parity bits corresponding to data written to blocks in the set of worst-performing blocks.

16. The method of claim 9 , further comprising:

updating the set of worst-performing blocks with the block if the probability of the block is greater than any probability in the set of probabilities.

17. The method of claim 16 , wherein the updating comprises:

removing, from the set of worst-performing blocks, a previously existing block that has a lowest probability in the set of probabilities; and

adding the block to the set of worst-performing blocks.

18. The method of claim 9 , wherein:

the writing the data to the block comprises writing the data to all wordlines of the block;

the generating the corresponding block parity comprises accumulating, in a volatile memory, parity bits corresponding to the data written to all wordlines of the block;

the determining the BER of the block and the average programming duration comprises determining the BER of the block and the average programming duration after the data is written to all wordlines of the block; and

the writing the block parity to the available OP space in the NVM comprises writing the parity bits accumulated in the volatile memory to the available OP space in the NVM.

19. An apparatus for use with a non-volatile memory (NVM), the apparatus comprising:

means for receiving data from a host device;

means for writing the data to a block in the NVM and generating a corresponding block parity;

means for determining a bit error rate (BER) of the block and an average programming duration to write the data written to the block;

means for calculating a probability of the block becoming defective based on the BER and the average programming duration;

means for comparing the probability of the block to a set of probabilities respectively corresponding to a set of worst-performing blocks in the NVM; and

means for writing the block parity to an available over provisioning (OP) space in the NVM responsive to the probability of the block being greater than any probability in the set of probabilities.

20. The apparatus of claim 19 , further comprising:

means for executing an operation, specified by the host device, corresponding to the block;

means for detecting, during execution of the host operation, a defect within the block causing a loss of the data written to the block; and

means for performing an exclusive-or (XOR) operation using the block parity written to the available OP space to recover the lost data.

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: SEHGAL, ROHIT; SHARMA, SAHIL; YANG, NIAN NILES; REUSSWIG, PHILIP DAVID
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 055397/0345 →