Memory device, memory system, memory controller and operating method thereof
Examples of the present application provide a memory device, memory system, memory controller and operating method thereof, wherein the memory device includes: an array of memory cells, including multiple memory cells, and a preset number of memory cells forming one code word; peripheral circuit coupled to the array of memory cells and configured to: generate a first boundary voltage and a second boundary voltage in accordance with the first result corresponding to at least one code word at a target read voltage; make at least one adjustment to the target read voltage, and obtain the corresponding first result at the adjusted target read voltage after each adjustment; in a process of the adjustment, change a current direction of adjustment to the voltage in accordance with the target read voltage after one adjustment exceeding a range defined by the first boundary voltage and the second boundary voltage.
1 . A memory device, comprising:
an array of memory cells including multiple memory cells, a preset number of the multiple memory cells forming one code word;
a peripheral circuit coupled to the array of memory cells and configured to:
perform a first read operation on at least one code word at a first read voltage and a second read operation on the at least one code word at a second read voltage, the second read voltage being different from the first read voltage by less than a preset voltage, a range of the preset voltage being 6 mV to 21 mV;
determine a first result based on a number of bits flipped between a first read result corresponding to the first read voltage and a second read result corresponding to the second read voltage;
generate a first boundary voltage and a second boundary voltage varying based on the first result corresponding to the at least one code word at a target read voltage;
make adjustments to the target read voltage by a first step size and a second step size less than the first step size, and obtain the corresponding first result at the adjusted target read voltage after a respective adjustment; in a process of the adjustments at the first step size, change a current direction of an adjusted voltage in accordance with the target read voltage after one adjustment of the adjustments exceeding a range defined by the first boundary voltage and the second boundary voltage; and
determine a target valley voltage in accordance with the corresponding first result at the adjusted target read voltage meeting a preset condition, the target valley voltage being taken as a read voltage at which a read operation is performed on the at least one code word.
2 . The memory device of claim 1 , wherein:
one memory cell of the multiple memory cells includes multiple storage bits, and the multiple storage bits correspond to read voltages in multiple stages; and
the peripheral circuit is configured to:
obtain an initial first boundary voltage and an initial second boundary voltage corresponding to a target stage in the multiple stages;
adjust the initial first boundary voltage and the initial second boundary voltage corresponding to the target stage to obtain the first boundary voltage and the second boundary voltage corresponding to the target stage, in accordance with a first result corresponding to the at least one code word at a target read voltage in the target stage; and
determine a target valley voltage corresponding to the target stage, in accordance with a corresponding first result at an adjusted target read voltage in the target stage meeting the preset condition.
3 . The memory device of claim 2 , wherein;
the range defined by the initial first boundary voltage and the initial second boundary voltage is smaller than a first preset range; and
the peripheral circuit is configured to:
expand the range defined by the initial first boundary voltage and the initial second boundary voltage corresponding to the target stage to obtain the first boundary voltage and the second boundary voltage corresponding to the target stage, in accordance with the first result corresponding to the at least one code word at the target read voltage in the target stage being greater than a first preset value.
4 . The memory device of claim 3 , wherein; the peripheral circuit is configured to perform one of:
expanding the range defined by the initial first boundary voltage and the initial second boundary voltage corresponding to the target stage by way of offsetting both of the initial first boundary voltage and the initial second boundary voltage corresponding to the target stage in a decreasing direction; and
expanding the range defined by the initial first boundary voltage and the initial second boundary voltage corresponding to the target stage by way of offsetting both of the initial first boundary voltage and the initial second boundary voltage corresponding to the target stage in an increasing direction.
5 . The memory device of claim 2 , wherein;
the range defined by the initial first boundary voltage and the initial second boundary voltage is larger than a second preset range; and
the peripheral circuit is configured to:
narrow the range defined by the initial first boundary voltage and the initial second boundary voltage corresponding to the target stage to obtain the first boundary voltage and the second boundary voltage corresponding to the target stage, in accordance with the first result corresponding to the at least one code word at the target read voltage in the target stage being less than a second preset value.
6 . The memory device of claim 2 , wherein the peripheral circuit is configured to:
make M first adjustments of the adjustments with the first step size to the target read voltage to be adjusted, and obtain M corresponding first results at a first set of target read voltages after each of the M first adjustments respectively;
take a minimum first result among the M corresponding first results as a knee-point value, and a read voltage corresponding to the knee-point value being a knee-point voltage;
make N second adjustments of the adjustments to the knee-point voltage with the second step size, and obtain N corresponding first results at a second set of target read voltages after each of the N second adjustments respectively; M and N being both positive integers greater than 1; and the N corresponding first results being obtained after the M corresponding first results; and
determine the target valley voltage in accordance with the N corresponding first results at an obtained target read voltage after the N second adjustments meeting a preset condition.
7 . The memory device of claim 6 , wherein the peripheral circuit is configured to:
before making the M first adjustments to the target read voltage to be adjusted, generate a first threshold in accordance with the first result corresponding to the at least one code word at the target read voltage, wherein the first threshold is configured to indicate a maximum among the corresponding first results at the target read voltages near the target valley voltage;
in accordance with the corresponding first result at the adjusted target read voltage being greater than or equal to the first threshold, generate a target read voltage after a next adjustment based on a corresponding first result at a target read voltage after a previous adjustment, until the corresponding first result at the adjusted target read voltage is less than the first threshold; and
after the corresponding first result at the adjusted target read voltage is less than the first threshold, make the M first adjustments with the first step size to the target read voltage to be adjusted.
8 . The memory device of claim 7 , wherein:
the first boundary voltage is less than the second boundary voltage; and
the peripheral circuit is configured to:
starting from the first boundary voltage, adjust the target read voltage in an increasing direction, in accordance with the target read voltage generated after the next adjustment being less than or equal to the first boundary voltage; or
starting from the second boundary voltage, adjust the target read voltage in a decreasing direction, in accordance with the target read voltage generated after the next adjustment being greater than or equal to the second boundary voltage.
9 . The memory device of claim 7 , wherein the peripheral circuit is configured to:
take, as a near-valley voltage, the adjusted target read voltage corresponding to the first result that is less than the first threshold for a first time among multiple corresponding first results at target read voltages after multiple adjustments; and
in a process of making the M first adjustments to the near-valley voltage with the first step size, starting from the near-valley voltage, make adjustments in a first direction with the first step size until the corresponding first result at the adjusted target read voltage in the first direction is greater than the first threshold; and starting from the near-valley voltage, make adjustments in a second direction opposite to the first direction with the first step size until the corresponding first result at the adjusted target read voltage in the second direction is greater than the first threshold.
10 . The memory device of claim 7 , wherein the peripheral circuit is configured to:
generate the first threshold in accordance with the corresponding first result at the target read voltage and a first mapping function; wherein the first mapping function is to present a relationship between the first threshold and the corresponding first result at the target read voltage; and
generate a predicted value of the target read voltage after the next adjustment in accordance with the corresponding first result at the target read voltage after the previous adjustment, and a second mapping function and a stage number at which the target stage is,
wherein the second mapping function is configured to indicate a relationship between the corresponding first result at the target read voltage after the previous adjustment, the stage number at which the target stage is, and the predicted value of the target valley voltage in the target stage.
11 . The memory device of claim 6 , wherein the peripheral circuit is configured to:
in a process of making the N second adjustments to the knee-point voltage with the second step size, starting from the knee-point voltage, make adjustments in two opposite directions with the second step size, in the process of making adjustments in each direction, count one for upward trend when the corresponding first result at the target read voltage after the next adjustment is greater than the corresponding first result at the target read voltage after a previous adjustment, and determine a third boundary voltage and a fourth boundary voltage in accordance with a total counted number being greater than or equal to a preset number; and
in the process of making adjustments in each direction, when a corresponding first result at a target read voltage after one adjustment is lower than a second threshold, take the minimum first result among multiple corresponding first results at the target read voltages after the adjustments in each direction as a reference value, when the number of first results among remaining first results which differ from the reference value with a difference being less than a third threshold is greater than a preset number, stop the adjustments and take, as the target valley voltage, the read voltage corresponding to the minimum first result among the multiple corresponding first results.
12 . The memory device of claim 11 , wherein the peripheral circuit is configured to:
in the process of making adjustments in each direction, take the corresponding adjusted target read voltages as the third boundary voltage and the fourth boundary voltage, respectively, in accordance with the total counted number being equal to the preset number;
in the process of making the adjustments in each direction, when the third boundary voltage and the fourth boundary voltage have been determined, obtain the corresponding first result at the target read voltage after a last adjustment, the target read voltage after the last adjustment being an average of the third boundary voltage and the fourth boundary voltage; and
take, as the target valley voltage, the read voltage corresponding to the minimum first result among the multiple corresponding first results at all the adjusted target read voltages.
13 . The memory device of claim 2 , wherein:
the array of memory cells includes memory cells with multiple storage bits, and the multiple storage bits correspond to multiple pages respectively; at least part of the pages corresponding to multiple stages, the multiple stages including a first stage and a second stage, and the read voltage in the second stage being less than the read voltage in the first stage; and
the peripheral circuit is configured to:
generate a target valley voltage in the second stage of the multiple stages or a target valley voltage in other first stage corresponding to a lower read voltage with the target valley voltage in accordance with a target valley voltage in the first stage to which a stage number corresponding to the target valley voltage belonging.
14 . The memory device of claim 1 , wherein the peripheral circuit is configured to:
read storage data of the at least one code word at the first read voltage to obtain a second result;
read the storage data of the at least one code word at the second read voltage to obtain a third result;
perform a logical operation on the second result and the third result to obtain a fourth result; and
count the number of bits in the fourth result which represent flip of bits in the third result relative to the second result to obtain the first result.
15 . The memory device of claim 14 , wherein the peripheral circuit includes:
a first latch configured to: store the second result;
a second latch configured to: store the third result; and
a third latch configured to: store the fourth result.
16 . A memory system, comprising:
one or more memory devices, comprising:
an array of memory cells including multiple memory cells, a preset number of the multiple memory cells forming one code word;
a peripheral circuit coupled to the array of memory cells and configured to:
perform a first read operation on at least one code word at a first read voltage and a second read operation on the at least one code word at a second read voltage, the second read voltage being different from the first read voltage by less than a preset voltage, a range of the preset voltage being 6 mV to 21 mV;
determine a first result based on a number of bits flipped between a first read result corresponding to the first read voltage and a second read result corresponding to the second read voltage;
generate a first boundary voltage and a second boundary voltage varying based on the first result corresponding to the at least one code word at a target read voltage;
make adjustments to the target read voltage by a first step size and a second step size less than the first step size, and obtain the corresponding first result at the adjusted target read voltage after a respective adjustment; in a process of the adjustments at the first step size, change a current direction of an adjusted voltage in accordance with the target read voltage after one adjustment of the adjustments exceeding a range defined by the first boundary voltage and the second boundary voltage; and
determine a target valley voltage in accordance with the corresponding first result at the adjusted target read voltage meeting a preset condition, the target valley voltage being taken as a read voltage at which a read operation is performed on the at least one code word; and
a memory controller coupled to the one or more memory devices and controlling the one or more memory devices.
17 . The memory system of claim 16 , wherein
the memory controller is configured to: send a first instruction before performing a read operation on data stored in a memory device, wherein the first instruction indicates an instruction to obtain information representing the target valley voltage;
the memory device is configured to: receive the first instruction, obtain the information representing the target valley voltage, and send the obtained information representing the target valley voltage to the memory controller; and
the memory controller is further configured to: control the memory device to perform a read operation with the target valley voltage, and perform an error correction decode operation on a read result of the read operation.
18 . A memory controller, comprising:
a control component configured to:
generate a first boundary voltage and a second boundary voltage in accordance with a first result corresponding to at least one code word at a target read voltage, wherein the at least one code word is formed by a preset number of memory cells of an array of memory cells in at least one memory device coupled to the memory controller; wherein:
a first read operation is performed on at least one code word at a first read voltage, and a second read operation is performed on the at least one code word at a second read voltage, the second read voltage being different from the first read voltage by less than a preset voltage, a range of the preset voltage being 6 mV to 21 mV; and
a first result is determined based on a number of bits flipped between a first read result corresponding to the first read voltage and a second read result corresponding to the second read voltage;
make adjustments to the target read voltage by a first step size and a second step size less than the first step size, and obtain the corresponding first result at the adjusted target read voltage after a respective adjustment; in a process of the adjustments at the first step size, change a current direction of an adjusted voltage in accordance with the target read voltage after one adjustment of the adjustments exceeding a range defined by the first boundary voltage and the second boundary voltage; and
determine a target valley voltage in accordance with the corresponding first result at the adjusted target read voltage meeting a preset condition, the target valley voltage being taken as a read voltage at which a read operation is performed on the at least one code word.
19 . The memory controller of claim 18 , wherein:
one memory cell of the memory cells includes multiple storage bits, and the multiple storage bits correspond to read voltages in multiple stages; and
the control component is configured to:
obtain an initial first boundary voltage and an initial second boundary voltage corresponding to a target stage in the multiple stages;
adjust the initial first boundary voltage and the initial second boundary voltage corresponding to the target stage to obtain the first boundary voltage and the second boundary voltage corresponding to the target stage, in accordance with the first result corresponding to the at least one code word at a target read voltage in the target stage; and
determine the target valley voltage corresponding to the target stage in accordance with the corresponding first result at the adjusted target read voltage in the target stage meeting the preset condition.
20 . The memory controller of claim 19 , wherein;
the range defined by the initial first boundary voltage and the initial second boundary voltage is smaller than a first preset range; and
the control component is configured to:
expand the range defined by the initial first boundary voltage and the initial second boundary voltage corresponding to the target stage to obtain the first boundary voltage and the second boundary voltage corresponding to the target stage, in accordance with the first result corresponding to the at least one code word at the target read voltage in the target stage being greater than a first preset value.