IP Library Granted Patent US 9,952,939
Granted Patent B1
US 9,952,939 · App. 14/700,760 · Granted Apr 24, 2018

System and method for lower page data recovery in a solid state drive

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 9,952,939
App. No.
14/700,760
Granted
Apr 24, 2018
Kind
B1
Abstract

In some embodiments of the present invention, a data storage system includes a controller and a non-volatile memory array having a plurality of memory pages. The controller performs a method that efficiently resolves the lower page corruption problem. In one embodiment, the method selects programmed lower page(s) for which paired upper page(s) have not been programmed, reads data from those selected lower page(s), corrects the read data, and reprograms the read data into those lower page(s). Since the number of lower pages in this condition is typically low (e.g., several pages in a block with hundreds or thousands of pages), this is a much more efficient method than reprogramming the entire block. In another embodiment, a similar reprogramming method is applied as a data recovery scheme in situations in which only lower pages are programmed (e.g., SLC memory, MLC memory in SLC mode, etc.).

Claims (32)

1. A solid-state storage system, including:

a non-volatile flash memory array including a plurality of memory blocks, each including a plurality of memory pages; and

a controller configured to:

determine whether a state of the storage system meets a pre-defined data integrity condition;

in response to determining that the state of the storage system meets the pre-defined data integrity condition, select a memory page from the plurality of memory blocks;

read data from the selected memory page;

apply error correction to the read data to generate corrected data; and

program the corrected data back to the selected memory page.

2. The solid-state storage system of claim 1 , wherein the state of the storage system includes a state of a memory page in a reference memory block.

3. The solid-state storage system of claim 2 , wherein the state of the memory page in the reference memory block comprises a failure bit rate.

4. The solid-state storage system of claim 3 , wherein the failure bit rate is used to approximate time lapsed since last programmed.

5. The solid-state storage system of claim 3 , wherein the failure bit rate is obtained from a scanning process.

6. The solid-state storage system of claim 1 , wherein the non-volatile flash memory array comprises multi-level memory (MLC) cells and the memory page is in a memory block that is lower-page only programmed.

7. The solid-state storage system of claim 1 , wherein the non-volatile flash memory array comprises single-level memory (SLC) cells.

8. The solid-state storage system of claim 1 , wherein the controller is configured to determine whether the state of the storage system meets the pre-defined condition to initiate data recovery as part of a startup sequence.

9. The solid-state storage system of claim 8 , wherein the state of the storage system includes a program-erase cycle count.

10. A method of preserving data integrity in a solid-state storage system that includes a non-volatile flash memory array including a plurality of memory blocks, each including a plurality of memory pages, the method including:

determining whether a state of the storage system meets a pre-defined data integrity condition;

in response to determining that the state of the storage system meets the pre-defined data integrity condition, selecting a memory page from the plurality of memory blocks;

reading data from the selected memory page;

applying error correction to the read data to generate corrected data; and

programming the corrected data back to the selected memory page.

11. The method of claim 10 , wherein the state of the storage system includes a state of a memory page in a reference memory block.

12. The method of claim 11 , wherein the state of the memory page in the reference memory block comprises a failure bit rate.

13. The method of claim 12 , wherein the failure bit rate is used to approximate time lapsed since last programmed.

14. The method of claim 12 , wherein the failure bit rate is obtained from a scanning process.

15. The method of claim 10 , wherein the non-volatile flash memory array comprises multi-level memory (MLC) cells and the memory page is in a memory block that is lower-page only programmed.

16. The method of claim 10 , wherein the non-volatile flash memory array comprises single-level memory (SLC) cells.

17. The method of claim 10 , wherein determining whether the state of the storage system meets the pre-defined condition to initiate data recovery is performed as part of a startup sequence.

18. The method of claim 17 , wherein the state of the storage system includes a program-erase cycle count.

19. The solid-state storage system of claim 1 , wherein the state of the storage system is based on a voltage reference drift measured in a reference page.

20. The method of claim 10 , wherein the state of the storage system is based on a voltage reference drift measured in a reference page.

Assignments (13)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
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 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2015
From: SUN, YONGKE; ZHAO, DENGTAO; YANG, JUI-YAO
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 035540/0730 →