IP Library Granted Patent US 10,025,652
Granted Patent B2
US 10,025,652 · App. 14/924,671 · Granted Jul 17, 2018

Error location pointers for non volatile memory

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,025,652
App. No.
14/924,671
Granted
Jul 17, 2018
Kind
B2
Abstract

Embodiments of the present disclosure generally relate to an improved method and system for error correction in non-volatile memory cells. The method includes writing data to a first location in non-volatile memory from a block of user data stored in DRAM and verifying the written data matches the block of user data. If the written data fails verification, the method further includes writing an error location pointer indicative of one or more error locations in the first location to a second location in non-volatile memory. Writing the one or more error locations to the error location pointer includes verifying the written error location pointer matches an address of the one or more error locations in the first location to ensure integrity of the error location pointer. Use of the error location pointer results in non-volatile memory with increased data rate, decreased read latency and a low probability of data loss.

Claims (33)

1. An error correction method for non-volatile memory, comprising:

writing data to a first location in the non-volatile memory from a block of user data stored in DRAM;

verifying that the written data matches the block of user data stored in DRAM; and

if the written data fails verification, writing an error location pointer indicative of one or more error locations in the first location to a second location in the non-volatile memory, wherein the writing of the one or more error locations to the second location includes verifying that the written error location pointer matches an address of the one or more error locations in the first location to ensure integrity of the error location pointer wherein verifying that the written error location pointer matches an address of the one or more error locations in the first location comprises a cyclic redundancy check.

2. The method of claim 1 , further comprising:

if the written error location pointer fails verification, using an error correction code to decode the error location pointer.

3. The method of claim 1 , wherein the one or more error locations in the first location are written to the error location pointer in the second location jointly.

4. The method of claim 1 , wherein the one or more error locations in the first location are written to the error location pointer in the second location individually.

5. The method of claim 4 , wherein verifying that the written error location pointer matches an address of the one or more error locations in the first location comprises a cyclic redundancy check.

6. The method of claim 4 , further comprising:

if the written error location pointer fails verification, using an error correction code to decode the error location pointer.

7. A non-transitory computer readable storage medium storing a program, which, when executed by a processor performs an operation for correcting errors in non-volatile memory, the operation comprising:

writing data to a first location in the non-volatile memory from a block of user data stored in DRAM;

verifying that the written data matches the block of user data stored in DRAM; and if the written data fails verification, writing an error location pointer indicative of one or more error locations in the first location to a second location in the non-volatile memory, wherein writing of the one or more error locations to the second location includes verifying that the written error location pointer matches an address of the one or more error locations in the first location to ensure integrity of the error location pointer wherein verifying that the written error location pointer matches an address of the one or more error locations in the first location comprises a cyclic redundancy check.

8. The non-transitory computer readable storage medium of claim 7 , further comprising:

if the written error location pointer fails verification, using an error correction code to decode the error location pointer.

9. The non-transitory computer readable storage medium of claim 7 , wherein the one or more error locations in the first location are written to the error location pointer in the second location jointly.

10. The non-transitory computer readable storage medium of claim 7 , wherein the one or more error locations in the first location are written to the error location pointer in the second location individually.

11. The non-transitory computer readable storage medium of claim 10 , wherein verifying that the written error location pointer matches an address of the one or more error locations in the first location comprises a cyclic redundancy check.

12. The non-transitory computer readable storage medium of claim 10 , further comprising:

if the written error location pointer fails verification, using an error correction code to decode the error location pointer.

13. A system, comprising:

a processor; and

a memory, wherein the memory includes an application program configured to perform an operation for correcting errors in non-volatile memory, the operation comprising:

writing data to a first location in the non-volatile memory from a block of user data stored in DRAM;

verifying that the written data matches the block of user data store in DRAM; and

if the written data fails verification, writing an error location pointer indicative of one or more error locations in the first location to a second location in the non-volatile memory, wherein writing of the one or more error locations to the second location includes verifying that the written error location pointer matches an address of the one or more error locations in the first location to ensure integrity of the error location pointer wherein verifying that the written error location pointer matches an address of the one or more error locations in the first location comprises a cyclic redundancy check.

14. The system of claim 13 , further comprising:

if the written error location pointer fails verification, using an error correction code to decode the error location pointer.

15. The system of claim 13 , wherein the one or more error locations in the first location are written to the error location pointer in the second location jointly.

16. The system of claim 13 , wherein the one or more error locations in the first location are written to the error location pointer in the second location individually.

17. The system of claim 16 , further comprising:

if the written error location pointer fails verification, using an error correction code to decode the error location pointer.

Assignments (13)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT SERIAL NO 15/025,946 PREVIOUSLY RECORDED AT REEL: 040831 FRAME: 0265. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 15, 2017
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043973/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040831/0265 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED ON REEL 036936 FRAME 0458. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 9, 2016
From: BANDIC, ZVONIMIR Z.; GUNNAM, KIRAN KUMAR; MATEESCU, ROBERT EUGENIU; QIN, MINGHAI
To: HGST NETHERLANDS B.V.
Reel/Frame 039637/0408 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2015
From: BANDIC, ZVONIMIR Z.; GUNNAM, KIRAN KUMAR; MATEESCU, ROBERT EUGENIU; QIN, MINGAHAI
To: HGST NETHERLANDS B.V.
Reel/Frame 036936/0458 →