IP Library Granted Patent US 9,142,323
Granted Patent B1
US 9,142,323 · App. 13/408,913 · Granted Sep 22, 2015

Hardware acceleration of DSP error recovery for flash memory

Inventors: Meng-Kun Lee (Cupertino, CA); Kwok W. Yeung (Milpitas, CA)
Assignee: SK hynix memory solutions inc.
G11C29/42G11C5/147
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,142,323
App. No.
13/408,913
Granted
Sep 22, 2015
Kind
B1
Abstract

A method for correcting a cell voltage driftage in a NAND flash device is disclosed. An indicator indicating a cell voltage driftage in a memory unit of a NAND flash device is monitored by a processor. A cell voltage driftage in the NAND flash device is detected based at least in part on the indicator. One or more NAND commands correcting the cell voltage driftage are generated. The one or more NAND commands include a NAND command associated with changing a configuration setting of the NAND flash device.

Claims (36)

1. A method for correcting a cell voltage driftage in a NAND flash device, comprising:

using a cell voltage driftage detector to monitor an indicator indicating a cell voltage driftage in a memory unit of a NAND flash device, wherein monitoring the indicator includes monitoring intermediate results of an error-correcting code (ECC) decoder decoding data stored in the memory unit of the NAND flash device, wherein the ECC decoder comprises a low-density parity-check (LDPC) decoder, and wherein monitoring the intermediate results of the LDPC decoder comprises monitoring a number of LDPC iterations of the LDPC decoder;

using the cell voltage driftage detector to detect a cell voltage driftage in the NAND flash device based at least in part on the indicator, comprising detecting a cell voltage driftage in the NAND flash device in response to detecting the number of LDPC iterations is greater than a predetermined threshold for the number of LDPC iterations; and

in response to detecting the cell voltage driftage, generating one or more NAND commands correcting the cell voltage driftage, including by generating a NAND command associated with changing a configuration setting of the NAND flash device.

2. The method of claim 1 , wherein detecting comprises detecting the cell voltage driftage prior to the error-correcting code (ECC) decoder decoding data stored in the memory unit of the NAND flash device fails to decode the data.

3. The method of claim 1 , wherein the intermediate results comprise a number of errors before error-correction.

4. The method of claim 1 , wherein monitoring the indicator includes monitoring operation data corresponding to the NAND flash device.

5. The method of claim 4 , wherein the operation data comprises status data of the NAND flash device.

6. The method of claim 4 , wherein the operation data comprises statistical information of the NAND flash device.

7. The method of claim 4 , wherein the operation data comprises a number of one-bits and a number of zero-bits in data stored in the memory unit.

8. The method of claim 1 , wherein the one or more NAND commands comprise one or more read threshold register value change commands.

9. The method of claim 1 , further comprising generating one or more NAND read commands.

10. The method of claim 9 , further comprising monitoring the indicator after the generation of the one or more NAND read commands.

11. The method of claim 1 , further comprising scheduling an order in which the one or more NAND commands correcting the cell voltage driftage and one or more NAND commands not related to correcting the cell voltage driftage are sent to an NAND interface.

12. The method of claim 1 , wherein the cell voltage driftage detector comprises hardware blocks without assistance from software or firmware.

13. A system for correcting a cell voltage driftage in a NAND flash device, comprising:

a cell voltage driftage indicator monitor receiving an indicator indicating a cell voltage driftage in a memory unit of a NAND flash device, wherein the indicator includes intermediate results of an error-correcting code (ECC) decoder decoding data stored in the memory unit of the NAND flash device, wherein the ECC decoder comprises a low-density parity-check (LDPC) decoder, and wherein the intermediate results of the LDPC decoder comprises a number of LDPC iterations of the LDPC decoder; and

a cell voltage driftage detector coupled to the cell voltage driftage indication monitor, configured to:

monitor the indicator;

detect a cell voltage driftage in the NAND flash device based at least in part on the indicator, comprising detecting a cell voltage driftage in the NAND flash device in response to detecting the number of LDPC iterations is greater than a predetermined threshold for the number of LDPC iterations; and

in response to detecting the cell voltage driftage, generate one or more NAND commands correcting the cell voltage driftage, wherein generating includes generating a NAND command associated with changing a configuration setting of the NAND flash device.

14. The system of claim 13 , wherein detecting comprises detecting the cell voltage driftage prior to the error-correcting code (ECC) decoder decoding data stored in the memory unit of the NAND flash device fails to decode the data.

15. The system of claim 13 , wherein the intermediate results comprise a number of errors before error-correction.

16. The system of claim 13 , wherein the indicator includes operation data corresponding to the NAND flash device.

17. The system of claim 16 , wherein the operation data comprises status data of the NAND flash device.

18. The system of claim 16 , wherein the operation data comprises statistical information of the NAND flash device.

19. The system of claim 16 , wherein the operation data comprises a number of one-bits and a number of zero-bits in data stored in the memory unit.

20. The system of claim 13 , wherein the one or more NAND commands comprise one or more read threshold register value change commands.

21. The system of claim 13 , wherein the cell voltage driftage detector is further configured to generate one or more NAND read commands.

22. The system of claim 21 , wherein the cell voltage driftage detector is further configured to monitor the indicator after the generation of the one or more NAND read commands.

23. The system of claim 13 , wherein the cell voltage driftage detector is further configured to schedule an order in which the one or more NAND commands correcting the cell voltage driftage and one or more NAND commands not related to correcting the cell voltage driftage are sent to an NAND interface.

24. The system of claim 13 , wherein the cell voltage driftage detector comprises hardware blocks without assistance from software or firmware.

25. A computer program product for correcting a cell voltage driftage in a NAND flash device, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

monitoring an indicator indicating a cell voltage driftage in a memory unit of a NAND flash device, wherein monitoring the indicator includes monitoring intermediate results of an error-correcting code (ECC) decoder decoding data stored in the memory unit of the NAND flash device, wherein the ECC decoder comprises a low-density parity-check (LDPC) decoder, and wherein monitoring the intermediate results of the LDPC decoder comprises monitoring a number of LDPC iterations of the LDPC decoder;

detecting a cell voltage driftage in the NAND flash device based at least in part on the indicator, comprising detecting a cell voltage driftage in the NAND flash device in response to detecting the number of LDPC iterations is greater than a predetermined threshold for the number of LDPC iterations; and

in response to detecting the cell voltage driftage, generating one or more NAND commands correcting the cell voltage driftage, including by generating a NAND command associated with changing a configuration setting of the NAND flash device.

Assignments (3)
CHANGE OF NAME Recorded Feb 26, 2013
From: LINK_A_MEDIA DEVICES CORPORATION
To: SK HYNIX MEMORY SOLUTIONS INC.
Reel/Frame 029881/0790 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SUITE NUMBER THAT IS MISSING FROM THE ADDRESS PREVIOUSLY RECORDED ON REEL 028008 FRAME 0846. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT ADDRESS FOR THE ASSIGNEE IS LINK_A_MEDIA DEVICES CORPORATION 2550 WALSH AVENUE SUITE 200, SANTA CLARA, CA 95051. Recorded May 31, 2012
From: LEE, MENG KUN; YEUNG, KWOK W.
To: LINK_A_MEDIA DEVICES CORPORATION
Reel/Frame 028306/0982 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2012
From: LEE, MENG KUN; YEUNG, KWOK W.
To: LINK_A_MEDIA DEVICES CORPORATION
Reel/Frame 028008/0846 →
Continuity (1)
Provisional Application 61448148 · Mar 1, 2011