IP Library Granted Patent US 9,025,374
Granted Patent B2
US 9,025,374 · App. 13/757,771 · Granted May 5, 2015

System and method to update read voltages in a non-volatile memory in response to tracking data

Inventors: Nian Niles Yang (Mountain View, CA); Ryan Takafuji (San Jose, CA); Seungjune Jeon (Milpitas, CA); Chris Avila (Saratoga, CA); Steven Sprouse (San Jose, CA)
Assignee: Sandisk Technologies Inc.
G06F12/0246G11C16/00G11C29/021G11C29/028
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,025,374
App. No.
13/757,771
Granted
May 5, 2015
Kind
B2
Abstract

A method includes reading a representation of tracking data from at least a portion of a non-volatile memory. The method further includes adjusting a read voltage based on a comparison between a number of bits in tracking data as compared to a count of bits in the representation of the tracking data.

Claims (34)

1. A method comprising:

reading data from a non-volatile memory in response to a host read request; and

in response to the read data being uncorrectable via error correction code (ECC) decoding:

reading a representation of tracking data from at least a portion of the non-volatile memory; and

adjusting a read voltage based on a comparison between a number of bits having a particular bit value in the tracking data to a count of bits having the particular bit value in the representation of the tracking data.

2. The method of claim 1 , wherein the number of bits having the particular bit value in the tracking data corresponds to a first number of storage elements in one or more states when the tracking data is stored to a group of storage elements in the non-volatile memory, and wherein the count of bits having the particular bit value in the representation of the tracking data corresponds to a second number of storage elements in the one or more states when the representation of the tracking data is read from the group of storage elements.

3. The method of claim 1 , wherein the tracking data is a portion of a tracking pattern that is stored in the portion of the non-volatile memory.

4. The method of claim 3 , wherein the tracking pattern is interleaved over multiple logical pages in the non-volatile memory, and wherein the tracking data is the portion of the tracking pattern at a single logical page of the multiple logical pages.

5. The method of claim 1 , wherein the portion of the non-volatile memory comprises a group of cells at consecutive indices of a wordline.

6. The method of claim 1 , wherein the portion of the non-volatile memory comprises multiple portions and wherein the multiple portions are separated by user data storage elements.

7. The method of claim 1 , wherein the tracking data is generated by a tracking data generator.

8. The method of claim 7 , wherein the tracking data generator includes a linear feedback shift register.

9. The method of claim 1 , further comprising saving the adjusted read voltage as a default read voltage for one or more blocks of the non-volatile memory.

10. The method of claim 1 , wherein the read voltage is adjusted without error correction code (ECC) decoding of the representation of the tracking data.

11. A method comprising:

storing, in a group of storage elements at a wordline of a non-volatile memory, tracking data in a first portion of the group of storage elements and storing user data in a second portion of the group of storage elements, wherein the tracking data is retrievable for determination of errors in the tracking data;

reading a representation of the user data from the second portion responsive to a host read request; and

in response to the representation of the user data being uncorrectable via error correction code (ECC) decoding, adjusting a read voltage based on a comparison between a number of bits having a particular bit value in the tracking data to a count of bits having the particular bit value in a representation of the tracking data read from the first portion.

12. The method of claim 11 , wherein the representation of the tracking data is read from the non-volatile memory in response to a determination that the representation of the user data is uncorrectable.

13. The method of claim 11 , wherein the tracking data is generated by a tracking data generator.

14. The method of claim 13 , wherein the tracking data generator includes a linear feedback shift register.

15. The method of claim 11 , wherein the first portion comprises storage elements at consecutive indices of the wordline.

16. The method of claim 11 , wherein the first portion comprises multiple groups of storage elements and wherein storage elements of the second portion are located along the wordline between the multiple groups.

17. A data storage device comprising:

a non-volatile memory coupled to a controller, wherein the controller is configured to read a representation of user data from the non-volatile memory in response to a host read request and to initiate error correction code (ECC) decoding of the representation of the user data; and

a read voltage correction engine configured to adjust a read voltage to be used by the controller to read data from the non-volatile memory, wherein the read voltage is adjusted responsive to the representation of the user data being uncorrectable by the ECC decoding, and wherein the read voltage is adjusted based on a comparison between a count of storage elements that are determined to be in one or more states based on a representation of tracking data read from the non-volatile memory as compared to a number of storage elements in the one or more states according to a tracking pattern that includes the tracking data.

18. The data storage device of claim 17 , wherein the read voltage correction engine is in the controller.

19. The data storage device of claim 17 , wherein the read voltage correction engine is in the non-volatile memory.

20. The data storage device of claim 17 , wherein the controller is configured to read the representation of tracking data from a portion of the non-volatile memory, wherein the portion of the non-volatile memory comprises a group of cells at consecutive indices of a wordline.

21. The data storage device of claim 17 , wherein the controller is configured to read the representation of tracking data from a portion of the non-volatile memory, wherein the portion of the non-volatile memory comprises multiple portions, and wherein the multiple portions are separated by user data storage elements.

22. The data storage device of claim 17 , further comprising a tracking data generator, and wherein the tracking data is generated by the tracking data generator.

23. The data storage device of claim 22 , wherein the tracking data generator includes a linear feedback shift register.

24. The data storage device of claim 17 , wherein the controller is configured to save the adjusted read voltage as a default read voltage for one or more blocks of the non-volatile memory.

25. The data storage device of claim 17 , wherein the read voltage correction engine is further configured to adjust the read voltage without error correction code (ECC) decoding of the representation of the tracking data.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
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 Feb 2, 2013
From: YANG, NIAN NILES; TAKAFUJI, RYAN; JEON, SEUNGJUNE; AVILA, CHRIS; SPROUSE, STEVEN
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 029743/0818 →
Continuity (2)
Provisional Application 61736967 · Dec 13, 2012
Related Publication 20140173172A1 · Jun 19, 2014