IP Library Granted Patent US 8,539,313
Granted Patent B2
US 8,539,313 · App. 13/673,543 · Granted Sep 17, 2013

System and method of data encoding

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 8,539,313
App. No.
13/673,543
Granted
Sep 17, 2013
Kind
B2
Abstract

A method includes, after data is stored at a data area of a memory device and error correction code (ECC) data corresponding to the data is stored at an ECC area corresponding to the data area, detecting a triggering condition. In response to detecting the triggering condition, the method also includes storing second ECC data in the ECC area, where the second ECC data includes redundant information for a first portion of the data area and storing third ECC data at the memory device. The third ECC data includes redundant information for a second portion of the data area.

Claims (40)

1. A method comprising:

after data is stored at a data area of a memory device and first error correction code (ECC) data corresponding to the data is stored at an ECC area corresponding to the data area:

detecting a triggering condition; and

in response to detecting the triggering condition:

storing second ECC data in the ECC area, wherein the second ECC data is distinct from the first ECC data and includes redundant information for a first portion of the data area; and

storing third ECC data at the memory device, wherein the third ECC data is distinct from the first ECC data and from the second ECC data and wherein the third ECC data includes redundant information for a second portion of the data area.

2. The method of claim 1 , wherein the first ECC data is replaced by the second ECC data in the ECC area.

3. The method of claim 1 , further comprising updating a table to associate a location of the third ECC data in the memory device with the data area.

4. The method of claim 1 , wherein the triggering condition is detected when an error indicator exceeds a threshold.

5. The method of claim 4 , wherein the error indicator includes a count of writes, erases, or both writes and erases.

6. The method of claim 4 , wherein the error indicator includes data corresponding to an increase of read errors.

7. The method of claim 4 , wherein the error indicator includes data corresponding to an increase of read times.

8. The method of claim 1 , wherein the second ECC data is generated by providing first data corresponding to the first portion of the data area to an ECC engine without second data corresponding to the second portion of the data area, and wherein the third ECC data is generated by providing the second data to the ECC engine without the first data.

9. A data storage device comprising:

a memory including a word line, the word line having a data area and an error correction coding (ECC) area corresponding to the data area; and

a controller, wherein the controller is configured to, after data is stored at the data area and first ECC data corresponding to the data is stored at the ECC area:

detect a triggering condition; and

in response to detecting the triggering condition:

store second ECC data in the ECC area, wherein the second ECC data is distinct from the first ECC data and includes redundant information for a first portion of the data area; and

store third ECC data at the memory, wherein the third ECC data is distinct from the first ECC data and from the second ECC data and wherein the third ECC data includes redundant information for a second portion of the data area.

10. The data storage device of claim 9 , wherein the third ECC data is stored to second word line of the memory, wherein the second word line is dedicated to ECC storage.

11. The data storage device of claim 9 , wherein the controller is further configured to update a table to associate a location of the third ECC data with the data area.

12. The data storage device of claim 9 , further comprising an ECC engine to generate the first ECC data, the second ECC data, and the third ECC data.

13. The data storage device of claim 12 , wherein the controller is configured to provide first data corresponding to the first portion of the data area and second data corresponding to the second portion of the data area to the ECC engine to generate the first ECC data, and wherein the controller is configured to provide the first data to the ECC engine without the second data to generate the second ECC data and to provide the second data to the ECC engine without the first data to generate the third ECC data.

14. The data storage device of claim 9 , wherein the controller is further configured to, in response to receiving a request to read the data from the word line, access a table to determine whether an ECC storage location other than the ECC area is associated with the data area.

15. The data storage device of claim 9 , wherein the controller detects the triggering condition when an error indicator exceeds a threshold.

16. The data storage device of claim 15 , wherein the error indicator corresponds to a count of writes, erases, an increase of read errors, an increase of read times, or a combination thereof.

17. A method comprising:

at a data storage device with a memory, performing:

receiving a request to read data from a data area of the memory, wherein the data area is associated with an error correction coding (ECC) area;

determining whether another ECC storage location other than the ECC area is associated with the data area;

when no other ECC storage location is associated with the data area, reading the data from the data area and processing the data using first ECC data from the ECC area, the first ECC data corresponding to the data; and

when at least one other ECC storage location is associated with the data area:

reading a first portion of the data from a first portion of the data area and processing the first portion of the data using second ECC data from the ECC area, the second ECC data corresponding to the first portion of the data wherein the second ECC data is distinct from the first ECC data; and

reading a second portion of the data from a second portion of the data area and processing the second portion of the data using third ECC data from the at least one other ECC storage location, the third ECC data being distinct from the first ECC data and distinct from the second ECC data and wherein the third ECC data corresponds to the second portion of the data.

18. The method of claim 17 , wherein processing the first portion of the data using the second ECC data produces first error corrected data, wherein processing the second portion of the data using the third ECC data produces second error corrected data, and further comprising:

combining the first error corrected data and the second error corrected data to form combined data; and

providing the combined data to a host device in response to the request to read the data.

19. The method of claim 17 , wherein determining whether another ECC storage location other than the ECC area is associated with the data area includes accessing a table to locate an entry corresponding to the data area.

20. The method of claim 17 , wherein the at least one other ECC storage location associated with the data area comprises a parity word line.

Assignments (2)
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2012
From: D'ABREU, MANUEL ANTONIO; SKALA, STEPHEN
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 029273/0648 →