IP Library Granted Patent US 10,871,910
Granted Patent B1
US 10,871,910 · App. 16/586,895 · Granted Dec 22, 2020

Non-volatile memory with selective interleaved coding based on block reliability

Inventors: Idan Alrod (Herzeliya, IL); Ariel Navon (Revava, IL); Eran Sharon (Rishon Lezion, IL)
Assignee: Western Digital Technologies, Inc.
G06F3/064G06F3/0619G06F3/0644G06F3/0653G06F3/0679G06F11/076G06F11/1044G06F11/1068G06F12/0607G11C29/52
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 10,871,910
App. No.
16/586,895
Granted
Dec 22, 2020
Kind
B1
Abstract

In one embodiment, the disclosure teaches an apparatus including a memory array and a processor in communication with the memory array. The processor is configured to determine health scores of blocks of the memory array, where the health scores indicate the health of the blocks. The processor also is configured to receive data from a host, and select an interleaving scheme for programming the data based on the data type and a block to which the data is written based on the health scores. In one embodiment, sequential type data is written to unhealthy blocks and non-sequential data is written to healthy blocks.

Claims (46)

1. An apparatus, comprising:

a memory array; and

a processor in communication with the memory array, wherein the processor is configured to:

determine health scores for a plurality of blocks of the memory array, the health scores indicating the health of the blocks;

receive, from a host, data having a data type;

select an interleaving scheme for encoding the data based on the data type, wherein the interleaving scheme is one of interleaved and non-interleaved; and

write the data to a healthy block if a non-interleaved scheme was selected and write the data to an unhealthy block if an interleaved scheme was selected.

2. The apparatus of claim 1 , wherein a healthy block has a health score above a predetermined value and an unhealthy block has a health score below the predetermined value.

3. The apparatus of claim 1 , wherein the data type is one of sequential and non-sequential.

4. The apparatus of claim 3 , wherein sequential data is written to an unhealthy block and non-sequential data is written to a healthy block.

5. The apparatus of claim 4 , wherein a first Error Correction Code (ECC) scheme is used for sequential data and a second ECC scheme is used for non-sequential data.

6. The apparatus of claim 1 , wherein the health score is based on a fail bit count of a first block.

7. The apparatus of claim 1 , wherein the processor is further configured to assign the healthy block to a first partition based on a mapping of the health score of the healthy block and a partition identifier corresponding to the first partition.

8. The apparatus of claim 1 , wherein the processor is further configured to:

assign the healthy block to a first partition associated with a random data type responsive to the health score of the healthy block satisfying a first predetermined threshold; and

assign the unhealthy block to a second partition associated with a sequential data type responsive to the health score of the unhealthy block satisfying a second predetermined threshold.

9. The apparatus of claim 8 , wherein the first partition and the second partition are associated with a same code word length.

10. The apparatus of claim 1 , wherein the processor is further configured to update the health score responsive to a schedule or a triggering event.

11. The apparatus of claim 1 , wherein a parity portion of the data includes an indication of the data type.

12. The apparatus of claim 1 , wherein the processor is further configured to:

identify the data type;

apply non-interleaved coding when the data type is a random type; and

apply interleaved coding when the data type is a sequential type.

13. A method comprising:

determining, by a controller, health scores for a plurality of blocks of a memory array, the health scores indicating the health of the blocks;

receiving, by the controller and from a host, data having a data type;

selecting, by the controller, an interleaving scheme for encoding the data based on the data type, wherein the interleaving scheme is one of interleaved and non-interleaved; and

writing, by the controller, the data to a healthy block if a non-interleaved scheme was selected and writing the data to an unhealthy block if an interleaved scheme was selected.

14. The method of claim 13 , wherein the health score is based on a fail bit count of a first block.

15. The method of claim 13 , further comprising assigning, by the controller, the healthy block to a first partition based on a mapping of the health score of the healthy block and a partition identifier corresponding to the first partition.

16. The method of claim 13 , further comprising:

assigning, by the controller, the healthy block to a first partition associated with a random data type responsive to the health score of the healthy block satisfying a first predetermined threshold; and

assigning, by the controller, the unhealthy block to a second partition associated with a sequential data type responsive to the health score of the unhealthy block satisfying a second predetermined threshold.

17. The method of claim 16 , wherein the first partition and the second partition are associated with a same code word length.

18. The method of claim 13 , further comprising updating, by the controller, the health score responsive to a schedule or a triggering event.

19. The method of claim 13 , wherein a parity portion of the data includes an indication of the data type.

20. The method of claim 13 , further comprising:

applying, by the controller, non-interleaved coding when the data type is a random type; and

applying, by the controller, interleaved coding when the data type is a sequential type.

21. An apparatus, comprising:

a memory array; and

processing means in communication with the memory array, wherein the processing means includes:

means for determining health scores for a plurality of blocks of the memory array, the health scores indicating the health of the blocks;

means for receiving, from a host, data having a data type;

means for selecting an interleaving scheme for encoding the data based on the data type, wherein the interleaving scheme is one of interleaved and non-interleaved; and

means for writing the data to a healthy block if a non-interleaved scheme was selected and means for writing the data to an unhealthy block if an interleaved scheme was selected.

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 051717 FRAME 0716 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0385 →
SECURITY INTEREST Recorded Feb 4, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 051717/0716 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: ALROD, IDAN; NAVON, ARIEL; SHARON, ERAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 051658/0854 →
Cited By (4)
US 12,197,318 US 12,399,777 US 12,474,848 US 12,639,163