Storage system and method for program reordering to mitigate program disturbs
AssigneeWestern Digital Technologies, Inc.
InventorsDaniel J. Linnen, Prakash Subedi, Khanfer A. Kukkady, Mark Murin
Life of this patent
Estimating the term…
Abstract
A storage system has a memory that is organized in wordlines. Each wordline has a number of strings. A controller in the storage system changes, in each of the wordlines, which of the strings is a last string programmed. Doing so can unmask a program disturb error when triple-level cells in the memory are used as pseudo-multi-level cells. By unmasking the program disturb error, the controller can detect and correct the error.
Claims16
A storage system comprising:
- a memory comprising memory cells configured to store X number of bits per memory cell, wherein X is a positive integer and wherein the memory is organized into a plurality of wordlines, wherein each wordline comprises a plurality of programming segments;
- and
- a controller configured to:
- for each of a plurality of program cycles, change, in each of the plurality of wordlines and with respect to a prior wordline, which of the plurality of programming segments is a last programming segment programmed;
- after the plurality of program cycles, observe a pattern showing that an error repeatedly occurred on a certain programming segment of the plurality of programming segments;
- based on the observed pattern, select the certain programming segment to be the last programming segment programmed;
- detect a number of program disturb errors in the memory;
- and
- correct the program disturb errors using the error correction operation.
In a storage system comprising a memory comprising memory cells configured to store X number of bits per memory cell, wherein X is a positive integer, wherein the memory is organized into a plurality of wordlines, wherein each wordline comprises a plurality of programming segments, and wherein the memory comprises a plurality of memory dies organized in a stripe, a method comprising:
- changing, in each memory die in the stripe, which of the plurality of programming segments is a last programming segment programmed;
- observing a pattern showing that an error repeatedly occurred on a certain programming segment of the plurality of programming segments;
- based on the observed pattern, selecting the certain programming segment to be the last programming segment programmed;
- detecting a number of program disturb errors in the memory;
- and
- correcting the program disturb errors using the error correction operation.
A storage system comprising:
- a memory comprising memory cells configured to store X number of bits per memory cell, wherein X is a positive integer and wherein the memory is organized into a plurality of wordlines, wherein each wordline comprises a plurality of programming segments;
- means for, for each of a plurality of program cycles, changing, in each of the plurality of wordlines and with respect to a prior wordline, which of the plurality of programming segments is a last programming segment programmed;
- means for, after the plurality of program cycles, observing a pattern showing that an error repeatedly occurred on a certain programming segment of the plurality of programming segments;
- means for, based on the observed pattern, selecting the certain programming segment to be the last programming segment programmed;
- means for detecting a number of program disturb errors in the memory;
- and
- means for correcting the program disturb errors using the error correction operation.
Dependencies are inferred from the claim text.