IP Library Granted Patent US 11,662,941
Granted Patent B2
US 11,662,941 · App. 17/211,599 · Granted May 30, 2023

System and method for mitigating effect of erase cells on adjacent cells

Inventors: Bhavadip Bipinbhai Solanki (Bangalore, IN); Dharmaraju Marenahally Krishna (Bangalore, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0655G06F3/061G06F3/0619G06F3/0679G11C16/0483
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,662,941
App. No.
17/211,599
Granted
May 30, 2023
Kind
B2
Abstract

Methods and systems for increasing reliability of a data storage device are disclosed. During fabrication runs of a non-volatile memory (NVM) die, such as a NAND, there may be a number of memory cells designated as erase cells. When one or more erase cells are physically adjacent to programmed memory cell, electrical effects of the erase cell may cause a bit to flip in the adjacent good memory cell. To mitigate this effect, an LDPC engine is used to generate additional parity bits for the erased bit/cells. When a host requests data from the NVM, the parity bits may be used to correct additional errors because of the erased state to programmed state bit flips.

Claims (41)

1. A data storage device, comprising:

a non-volatile memory (NVM) comprising a block of memory cells used to store data, wherein the block of memory cells comprises erase cells and programmable cells;

a low-density parity check (LDPC) engine; and

a controller configured to perform a method for error correction, the method comprising:

identifying a subset of the block of memory cells as erase cells, and wherein data is programmed to the erase cells;

receiving the identities of the erase cells at the LDPC engine;

generating error correction code (ECC) bits for the erase cells;

detecting a bit flip in a programmable cell; and

using the ECC bits for the erase cells to correct the bit flip using the LDPC engine.

2. The data storage device of claim 1 , the method further comprising receiving host data from a host and storing the host data in the block based on the identities of the erase cells.

3. The data storage device of claim 2 , the method further comprising using the generated ECC bits to generate data parity bits based for the host data.

4. The data storage device of claim 3 , the method further comprising receiving a request for the host data and identifying a bit of the host data that has flipped to an incorrect value.

5. The data storage device of claim 4 , the method further comprising correcting the flipped bit using the data parity bits, and providing the corrected bit to the host.

6. The data storage device of claim 5 , wherein identifying a memory cell as an erase cell comprises obtaining a binary value as a result of a predefined logical operation on multiple pages/bits of the memory cell.

7. The data storage device of claim 6 , wherein storing host data in the block comprises masking out erase cells.

8. A controller for a data storage device, comprising:

an I/O to one or more memories comprising a plurality of memory cells, wherein the plurality of memory cells comprise erase cells and programmable cells; and

a processor configured to perform a method to identify erase cells and correct reading of data stored in the plurality of memory cells, the method comprising:

identifying fewer than all of the plurality of memory cells as erase cells, and wherein data is programmed to the erase cells;

generating an ECC code for the plurality of memory cells not identified as erase cells;

generating a data ECC code for host data received from a host;

detecting a bit flip in the programmable cells; and

using the ECC code for the erase cells to correct the bit flip using a LDPC engine.

9. The controller of claim 8 , wherein the each of the plurality of memory cells are configured to store multiple memory pages.

10. The controller of claim 9 , wherein the identifying further comprises, for each cell of the plurality of memory cells, combining multiple pages of the cell using a logical AND operation, resulting in a Boolean TRUE value.

11. The controller of claim 9 , wherein the multiple pages of the memory cell comprises three pages.

12. The controller of claim 8 , the method further comprising storing the host data in the one or more memories based on the identified erase cells.

13. The controller of claim 12 , the method further comprising receiving a read data request from the host, reading the host data from the one or more memories and identifying an error in the host data.

14. The controller of claim 13 , the method further comprising correcting the error using the data ECC code.

15. The controller of claim 13 , the method further comprising detecting an additional error in the host data, and correcting the additional error with an error correction algorithm.

16. A system for storing data, comprising:

a memory means comprising a plurality of memory cell means, a portion of the memory cell means comprising erase cells and programmable cells, and wherein data is programmed to the erase cells; and

a controller means configured to perform a method for mitigating an effect of the erase cells on adjacent memory cell means, the method comprising:

identifying one or more errors in host data stored in the plurality of memory cell means;

correcting the one or more errors with an ECC code generated based on the erase cells;

detecting a bit flip in the programmable cells; and

using the ECC code for the erase cells to correct the bit flip using an LDPC means.

17. The system of claim 16 , wherein the method further comprises determining the erase cells by combining pages within each of the memory cell means using a logical AND function.

18. The system of claim 17 , wherein the method further comprises writing host data to the plurality of memory cell means based on the erase cells.

19. The system of claim 18 , further comprising generating the ECC code using the LDPC means and storing the ECC code in the memory means.

20. The system of claim 19 , wherein the method further comprises identifying a second error in the host data, and correcting the second error with a second error correction algorithm.

Assignments (10)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
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 Mar 25, 2021
From: SOLANKI, BHAVADIP BIPINBHAI; MARENAHALLY KRISHNA, DHARMARAJU
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 055712/0354 →