IP Library Granted Patent US 10,067,823
Granted Patent B2
US 10,067,823 · App. 14/560,767 · Granted Sep 4, 2018

Systems and methods for adaptive error corrective code mechanisms

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,067,823
App. No.
14/560,767
Granted
Sep 4, 2018
Kind
B2
Abstract

Systems and methods for managing the endurance of a solid state drive by assigning error corrective codes (ECC) to a plurality of solid state drive blocks are provided. The disclosed systems and methods can provide a plurality of error corrective codes, each code having a corresponding correction capability and assign to each solid state drive block an error corrective code, according to a reliability of the solid state drive block. Moreover, the disclosed systems and methods can group the solid state drive blocks into groups according to their assigned error corrective codes and apply, for each group of solid state drive block, a level of ECC correction according to the assigned error corrective code of each group.

Claims (30)

1. method for managing an endurance of a solid state drive, comprising:

providing a plurality of error corrective code (ECC) mechanisms, each mechanism having a corresponding correction capability;

assigning to each solid state drive block of a plurality of solid state drive blocks an error corrective code mechanism of the plurality of ECC mechanisms, according to a reliability of the solid state drive block;

monitoring the reliability of each solid state drive block based on a number of read-retry operations;

determining the number of read-retry operations associated with a first solid state drive block satisfies a threshold;

re-assigning to the first solid state block a different ECC mechanism of the plurality of ECC mechanisms based on the determination; and

applying, for the first solid state drive block, the different ECC mechanism for data operations in the first solid state drive block.

2. The method of claim 1 , wherein the different ECC mechanism is associated with a higher level of error correction than a previous ECC mechanism assigned to the first solid state drive block.

3. The method of claim 1 , wherein monitoring the reliability of the first solid state drive block is further based on at least one of a static rule and a dynamic rule.

4. The method of claim 3 , wherein the static rule includes at least one of a program-erase cycle of the first solid state drive block and read-retry operation information.

5. The method of claim 3 , wherein the dynamic rule includes at least one of a count of correctable errors, and a count of uncorrectable errors.

6. The method of claim 1 , further comprising determining that the reliability of the first solid state drive block has changed based on an uncorrectable error associated with the first solid state drive block.

7. The method of claim 6 , further comprising recovering data stored in the first solid state drive block.

8. The method of claim 7 , further comprising determining that the first solid state drive block is corrupted.

9. A memory controller comprising:

a controller module configured to:

communicate with a solid state drive having a plurality of blocks;

provide a plurality of error corrective code (ECC) mechanisms, each mechanism having a corresponding correction capability;

assign to each solid state drive block of the plurality of blocks an error corrective code mechanism of the plurality of ECC mechanisms, according to a reliability of the solid state drive block;

monitor the reliability of each solid state drive block based on a number of read-retry operations;

determine the number of read-retry operations associated with a first solid state drive block satisfies a threshold;

re-assign the first solid state drive block to a different ECC mechanism of the plurality of ECC mechanisms based on the determination; and

apply, for the first solid state drive block, the different ECC mechanism for data operations in the first solid state drive block.

10. The memory controller of claim 9 , wherein the different ECC mechanism is associated with a higher level of error correction than a previous ECC mechanism assigned to the first solid state drive block.

11. The memory controller of claim 9 , wherein monitoring the reliability of the first solid state drive block is further based on at least one of a static rule and a dynamic rule.

12. The memory controller of claim 11 , wherein the static rule includes at least one of a program-erase cycle of the first solid state drive block and read-retry operation information.

13. The memory controller of claim 11 , wherein the dynamic rule includes at least one of a count of correctable errors, and a count of uncorrectable errors.

14. The memory controller of claim 9 , wherein the controller module is further configured to determine that the reliability of the first solid state drive block has changed based on an uncorrectable error associated with the first solid state drive block.

15. The memory controller of claim 14 , wherein the controller module is further configured to recover data stored in the first solid state drive block.

16. The memory controller of claim 15 , wherein the controller module is further configured to determine that the first solid state drive block is corrupted.

Assignments (12)
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 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040829/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2015
From: SINGHAI, ASHISH; NARASIMHA, ASHWIN; KUMAR, AJITH
To: HGST NETHERLANDS B.V.
Reel/Frame 036840/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2015
From: SINGHAI, ASHISH; NARASIMHA, ASHWIN; KUMAR, AJITH
To: HGST NETHERLANDS B.V.
Reel/Frame 036758/0034 →