Memory device, memory system, memory controller and operating method
Patent Information
- Application Number
- CN202480000430.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-20
- Publication Date
- 2025-10-24
AI Technical Summary
As the usage time increases, the charge stored in the memory cells of NAND type memory will increase the data reading error rate due to the usage time, repeated read operations and cross temperature changes. The prior art takes a long time through reread table error correction and is not effective in changing usage scenarios.
By obtaining the read result of the memory cell under the multi-order read voltage, the predicted valley voltage of the target order is calculated and used as the read voltage, the read operation is optimized.
Improves the accuracy and efficiency of data reading, reduces time waste caused by reread table query, and improves the performance of memory devices.
Smart Images

Figure CN120836058A_ABST
Abstract
Description
Memory device, memory system, memory controller and operation method Technical Field
[0001] The present application relates to, but is not limited to, a memory device, a memory system, a memory controller, and an operating method. Background Art
[0002] With the advancement of technology, the integrated circuit industry has seen a growing market. Within this industry, the processes and technologies for non-volatile memory devices have seen rapid advancements in recent years, with NAND memory being particularly widely used. NAND memory achieves data storage by capturing and storing charge within the gate dielectric layer of its memory cells. However, over time, the charge stored in the memory cells changes with age, repeated read operations, and temperature fluctuations, affecting the accuracy of data read from the cells.
[0003] Summary of the Invention
[0004] In a first aspect, an embodiment of the present application provides a memory device, comprising: a memory cell array, comprising memory cells having a plurality of storage bits, wherein the plurality of storage bits correspond to a plurality of levels of read voltages; a preset number of the memory cells form a codeword; a peripheral circuit, coupled to the memory cell array and configured to: obtain a first result corresponding to at least one of the codewords at a target read voltage of a target level; the first result comprises a representation of the number of bits flipped in two read results of at least one of the codewords at the first read voltage and the second read voltage; the difference between the first read voltage and the second read voltage is less than a preset voltage; obtain a predicted valley voltage of the target level based on the first result corresponding to the target read voltage of the target level and the level of the target level; and determine a target valley voltage of the target level based on the predicted valley voltage of the target level; the target valley voltage is used as a read voltage for at least one of the codewords when performing a read operation.
[0005] In a second aspect, an embodiment of the present application provides a memory system, comprising: one or more memory devices as provided in any one of the first aspects; and a memory controller coupled to and controlling the memory devices.
[0006] In a third aspect, an embodiment of the present application provides a memory controller coupled to at least one memory device, wherein the memory device includes a storage unit having multiple storage bits, and the multiple storage bits correspond to multiple levels of read voltages; a preset number of the storage units form a codeword; the memory controller includes: a control unit, configured to: obtain a first result corresponding to at least one of the codewords at a target read voltage of a target level; the first result includes a representation of the number of bits flipped in two read results of at least one of the codewords at a first read voltage and a second read voltage; the difference between the first read voltage and the second read voltage is less than a preset voltage; obtain a predicted valley voltage of the target level based on the first result corresponding to the target read voltage of the target level and the level of the target level; and determine a target valley voltage of the target level based on the predicted valley voltage of the target level; the target valley voltage is used as a read voltage for at least one of the codewords when performing a read operation.
[0007] In a fourth aspect, an embodiment of the present application provides an operating method for a memory device, wherein the memory device includes a memory cell having a plurality of storage bits, wherein the plurality of storage bits correspond to a plurality of levels of read voltages; a preset number of the memory cells form a codeword; the operating method includes: obtaining a first result corresponding to at least one of the codewords at a target read voltage of a target level; the first result includes a representation of the number of bits flipped in two read results of at least one of the codewords at a first read voltage and a second read voltage; the difference between the first read voltage and the second read voltage is less than a preset voltage; obtaining a predicted valley voltage of the target level based on the first result corresponding to the target read voltage of the target level and the level of the target level; and determining a target valley voltage of the target level based on the predicted valley voltage of the target level; the target valley voltage is used as a read voltage for at least one of the codewords when performing a read operation.
[0008] In a fifth aspect, an embodiment of the present application provides an operating method for a memory system, comprising: a memory controller in the memory system sends a data acquisition instruction, wherein the data acquisition instruction indicates acquisition of a target valley voltage; a memory device in the memory system receives the data acquisition instruction, acquires the target valley voltage according to the operating method of the memory device described in the fourth aspect, and sends information including the target valley voltage to the memory controller; the memory controller performs a read operation on data stored in the memory device according to the target valley voltage in the information.
[0009] In a sixth aspect, an embodiment of the present application provides an operating method for a memory controller, wherein the memory controller is coupled to at least one memory device, the memory device including a storage unit having multiple bits, and the multiple storage bits correspond to multiple levels of read voltages; a preset number of the storage units form a codeword; the operating method includes: obtaining a first result corresponding to at least one of the codewords at a target read voltage of a target level; the first result includes a representation of the number of bits flipped in two read results of at least one of the codewords at a first read voltage and a second read voltage; the difference between the first read voltage and the second read voltage is less than a preset voltage; obtaining a predicted valley voltage of the target level based on the first result corresponding to the target read voltage of the target level and the level of the target level; and determining a target valley voltage of the target level based on the predicted valley voltage of the target level; the target valley voltage is used as a read voltage for at least one of the codewords when performing a read operation.
[0010] In the seventh aspect, an embodiment of the present application provides a storage medium having executable instructions stored thereon. When the executable instructions are executed, the steps of any one of the operating methods provided in the fourth aspect, the fifth aspect, and the sixth aspect can be implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the multiple drawings represent the same or similar components or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings only depict some embodiments disclosed in this application and should not be construed as limiting the scope of this application.
[0012] FIG1 is a schematic diagram of an exemplary system having a memory system according to an embodiment of the present application;
[0013] FIG2A is a schematic diagram of an exemplary memory card having a memory system according to an embodiment of the present application;
[0014] FIG2B is a schematic diagram of an exemplary solid-state drive having a memory system according to an embodiment of the present application;
[0015] FIG3 is a schematic diagram of an exemplary memory including peripheral circuits according to an embodiment of the present application;
[0016] FIG4 is a cross-sectional schematic diagram of a memory cell array including a NAND memory string according to an embodiment of the present application;
[0017] FIG5 is a schematic diagram of an exemplary memory device including a memory cell array and peripheral circuits according to an embodiment of the present application;
[0018] FIG6 is a schematic diagram of an exemplary read operation flow of a memory system provided by the present application;
[0019] FIG7 is a schematic diagram illustrating a flowchart of an implementation of an operation method performed by a peripheral circuit of a memory device according to an embodiment of the present application;
[0020] FIG8A is a schematic diagram of a threshold voltage distribution corresponding to a memory cell including two memory bits provided in one embodiment of the present application;
[0021] FIG8B is a schematic diagram of a threshold voltage distribution corresponding to a memory cell including three memory bits provided in one embodiment of the present application;
[0022] FIG8C is a schematic diagram of a threshold voltage distribution corresponding to a memory cell including four memory bits provided in one embodiment of the present application;
[0023] FIG9 is a first schematic diagram of a method for determining a target valley voltage of the seven-level read voltage L7 shown in FIG8B according to an embodiment of the present application;
[0024] FIG10 is a schematic diagram of a method for determining a target valley voltage of the seventh-level read voltage L7 shown in FIG9 according to an embodiment of the present application;
[0025] FIG11A is a schematic diagram of a method for determining a preset threshold corresponding to the fifth-level read voltage corresponding to the lower page shown in FIG8B according to an embodiment of the present application;
[0026] FIG11B is a second schematic diagram of a method for determining a preset threshold corresponding to the fifth-level read voltage corresponding to the lower page shown in FIG8B according to an embodiment of the present application;
[0027] FIG12 is a second schematic diagram of a method for determining a target valley voltage of a seven-level read voltage as shown in FIG8B according to an embodiment of the present application;
[0028] FIG13 is a schematic diagram of a method for determining a target valley voltage of the seventh-level read voltage corresponding to the upper page shown in FIG12 according to an embodiment of the present application;
[0029] FIG14 is a schematic diagram of a method for confirming a predicted valley voltage of the second target step as shown in FIG8B , provided in accordance with an embodiment of the present application;
[0030] FIG15A is a schematic diagram of a method for confirming a predicted valley voltage of a second target step corresponding to the lower page shown in FIG8B according to an embodiment of the present application;
[0031] FIG15B is a schematic diagram of a method for confirming a predicted valley voltage of a second target step corresponding to the middle page shown in FIG8B according to an embodiment of the present application;
[0032] FIG15C is a schematic diagram of a method for confirming a predicted valley voltage of a second target step corresponding to the upper page shown in FIG8B according to an embodiment of the present application;
[0033] FIG16 is a flowchart of a method for operating a memory device according to an embodiment of the present application;
[0034] FIG17 is a second flowchart of a method for operating a memory device according to an embodiment of the present application;
[0035] FIG18 is a schematic diagram of an exemplary structure of a memory system provided in one embodiment of the present application;
[0036] FIG19 is a block diagram of a memory system provided by an embodiment of the present application;
[0037] FIG20 is a timing diagram of an exemplary start-up single-level read mode operation provided by the present application;
[0038] FIG21 is a timing diagram of determining a target valley voltage and performing a read operation according to an embodiment of the present application;
[0039] FIG22 is a schematic diagram of the composition structure of a storage medium provided in an embodiment of the present application. DETAILED DESCRIPTION
[0040] The exemplary embodiments disclosed herein will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the specific embodiments described herein. Rather, these embodiments are provided to enable a more thorough understanding of the present application and to fully convey the scope of the present application to those skilled in the art.
[0041] In the following description, numerous specific details are provided to provide a more thorough understanding of the present application. However, it will be apparent to those skilled in the art that the present application can be practiced without one or more of these details. In other instances, certain technical features known in the art are not described to avoid confusion with the present application; that is, all features of actual embodiments are not described herein, nor are well-known functions and structures described in detail.
[0042] In addition, the accompanying drawings are merely schematic illustrations of the present application and are not necessarily drawn to scale. Identical reference numerals in the figures denote identical or similar parts, and thus repetitive descriptions thereof will be omitted. Some of the blocks shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0043] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all steps. For example, some steps may be decomposed, while some steps may be combined or partially combined, so the actual execution order may change according to actual circumstances.
[0044] The purpose of the terms used herein is only to describe specific embodiments and is not intended to limit the present application. When used herein, the singular forms "a", "an", and "the" are intended to include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the terms "comprising" and / or "including", when used in this specification, identify the presence of the features, integers, steps, operations, elements and / or parts, but do not exclude the presence of one or more other features, integers, steps, operations, elements, parts and / or groups. When used herein, the term "and / or" includes any and all combinations of the relevant listed items.
[0045] The memory device in the embodiments of the present application includes but is not limited to a three-dimensional NAND memory. For ease of understanding, the three-dimensional NAND memory is used as an example for description.
[0046] FIG1 shows a block diagram of an exemplary system 100 with a memory device according to some aspects of the present application. System 100 can be a mobile phone, a desktop computer, a laptop computer, a tablet computer, a vehicle computer, a game console, a printer, a positioning device, a wearable electronic device, a smart sensor, a virtual reality (VR) device, an augmented reality (AR) device, or any other suitable electronic device having storage therein. As shown in FIG1 , system 100 can include a host 108 and a memory system 102, the memory system 102 having one or more memory devices 104 and a memory controller 106. Host 108 can be a processor (e.g., a central processing unit (CPU)) or a system on chip (SoC) (e.g., an application processor (AP)) of an electronic device. Host 108 can be configured to send data to or receive data from memory device 104.
[0047] According to some embodiments, memory controller 106 is coupled to memory device 104 and host 108 and is configured to control memory device 104. Memory controller 106 can manage data stored in memory device 104 and communicate with host 108. In some embodiments, memory controller 106 is designed to operate in a low duty cycle environment, such as a Secure Digital (SD) card, a Compact Flash (CF) card, a Universal Serial Bus (USB) flash drive, or other media for use in electronic devices such as personal computers, digital cameras, mobile phones, etc.
[0048] In some embodiments, the memory controller 106 is designed to operate in a high duty cycle environment Solid State Disk (SSD) or embedded Multi Media Card (eMMC), which is used as data storage for mobile devices such as smartphones, tablet computers, laptop computers, etc., as well as enterprise storage arrays.
[0049] The memory controller 106 may be configured to control operations of the memory device 104, such as read, erase, and program operations. The memory controller 106 may also be configured to manage various functions regarding data stored or to be stored in the memory device 104, including, but not limited to, bad block management, garbage collection, logical to physical address translation, wear leveling, etc. In some embodiments, the memory controller 106 may also be configured to process error correction codes for data read from or written to the memory device 104.
[0050] The memory controller 106 may also perform any other suitable functions, such as formatting the memory device 104. The memory controller 106 may communicate with an external device (e.g., the host 108) according to a specific communication protocol. For example, the memory controller 106 may communicate with the external device through at least one of various interface protocols, such as a USB protocol, an MMC protocol, a Peripheral Component Interconnection (PCI) protocol, a PCI Express (PCI-E) protocol, an Advanced Technology Attachment (ATA) protocol, a Serial ATA protocol, a Parallel ATA protocol, a Small Computer Small Interface (SCSI) protocol, an Enhanced Small Disk Interface (ESDI) protocol, an Integrated Drive Electronics (IDE) protocol, a Firewire protocol, and the like.
[0051] The memory controller 106 and one or more memory devices 104 can be integrated into various types of storage devices, for example, included in the same package (e.g., a Universal Flash Storage (UFS) package or an eMMC package). In other words, the memory system 102 can be implemented and packaged into different types of terminal electronic products.
[0052] In one example as shown in FIG2 a , the memory controller 106 and the single memory device 104 can be integrated into a memory card 202. The memory card 202 can include a PC card (PCMCIA, Personal Computer Memory Card International Association), a CF card, a Smart Media (SM) card, a memory stick, a multimedia card (MMC, RS-MMC, MMCmicro), an SD card (SD, miniSD, microSD, SDHC), a UFS, etc. The memory card 202 can also include a memory card connector 204 that couples the memory card 202 to a host (e.g., the host 108 in FIG1 ).
[0053] In another example, as shown in FIG2 b , the memory controller 106 and the plurality of memory devices 104 can be integrated into an SSD 206. The SSD 206 can also include an SSD connector 208 that couples the SSD 206 to a host (e.g., the host 108 in FIG1 ). In some embodiments, the storage capacity and / or operating speed of the SSD 206 is greater than the storage capacity and / or operating speed of the memory card 202.
[0054] In some embodiments, each memory block may be coupled to a plurality of word lines, and a plurality of memory cells coupled to each word line constitute a physical page.
[0055] FIG3 illustrates a schematic circuit diagram of an exemplary memory device 300 including peripheral circuitry according to some aspects of the present disclosure. Memory device 300 may be an example of memory device 104 in FIG1 . Memory device 300 may include a memory cell array 301 and peripheral circuitry 302 coupled to memory cell array 301. For illustration, memory cell array 301 is described as a three-dimensional NAND-type memory cell array, wherein memory cells 306 are NAND-type memory cells provided in an array of memory strings 308, each memory string 308 extending vertically above a substrate (not shown). In some embodiments, each memory string 308 includes a plurality of memory cells 306 coupled in series and vertically stacked. Each memory cell 306 may hold a continuous analog value, such as a voltage or charge, that depends on the number of electrons trapped within the region of the memory cell 306. Each memory cell 306 may be a floating-gate memory cell including a floating-gate transistor, or a charge-trapping memory cell including a charge-trapping transistor.
[0056] In some embodiments, each memory cell 306 is a single-level cell (SLC) that has two possible storage states and can therefore store one bit of data. For example, the first storage state "0" can correspond to a first voltage range, and the second storage state "1" can correspond to a second voltage range. In some embodiments, each memory cell 306 is a multi-level cell (MLC) that can store more than one bit of data in more than four storage states. For example, an MLC can store two bits per cell (also referred to as a double-level cell), three bits per cell (also referred to as a trinary-level cell (TLC)), four bits per cell (also referred to as a quad-level cell (QLC)), five bits per cell (also referred to as a penta-level cell (PLC)), or more than five bits per cell. Each MLC can be programmed to take on a range of possible nominal storage values. In one example, if each MLC stores two bits of data, the MLC can be programmed to assume one of three possible programming levels from the erased state by writing one of three possible nominal storage values to the cell, a fourth nominal storage value can be used for the erased state.
[0057] It should be noted that the storage state mentioned here is the storage state of the storage unit mentioned in this application. Different storage cells have different numbers of storage states. For example, an SLC type storage cell has 2 storage states (that is, two memory states), wherein these 2 storage states include: a programming state and an erased state. For another example, an MLC type storage cell has 4 storage states, wherein these 4 storage states include: an erased state and three programming states. For another example, a TLC type storage cell has 8 storage states, wherein these 8 storage states include: one erased state and seven programming states. In some embodiments, a QLC type storage cell has 16 storage states, wherein these 16 storage states include: one erased state and fifteen programming states.
[0058] As shown in FIG3 , each memory string 308 may include a lower select transistor (BSG) 310 (also known as a source-side select transistor) at its source terminal and an upper select transistor (TSG) 312 (also known as a drain-side select transistor) at its drain terminal. The BSG 310 and the TSG 312 may be configured to activate the selected memory string 308 during read and program operations. In some embodiments, the sources of the memory strings 308 in the same memory block 304 are coupled via the same source line (SL) 314 (e.g., a common SL). In other words, according to some embodiments, all memory strings 308 in the same memory block 304 have an array common source (ACS). According to some embodiments, the TSG 312 of each memory string 308 is coupled to a corresponding bit line (BL) 316, from which data can be read or written via an output bus (not shown). In some embodiments, each memory string 308 is configured to be selected or deselected by applying a select voltage (e.g., higher than the threshold voltage of a transistor having TSG 312) or a deselect voltage (e.g., 0V) to a corresponding TSG 312 via one or more TSG lines 313 and / or by applying a select voltage (e.g., higher than the threshold voltage of a transistor having BSG 310) or a deselect voltage (e.g., 0V) to a corresponding BSG 310 via one or more BSG lines 315.
[0059] As shown in FIG3 , a memory string 308 can be organized into a plurality of memory blocks 304, each of which can have a common source line 314 (e.g., coupled to ground). In some embodiments, each memory block 304 is a basic data unit for erase operations, i.e., all memory cells 306 on the same memory block 304 are erased simultaneously. To erase the memory cells 306 in a selected memory block 304, the source lines 314 coupled to the selected memory block 304 and to unselected memory blocks 304 in the same plane as the selected memory block 304 can be biased with an erase voltage (Vers) (e.g., a high positive voltage (e.g., 20V or higher)). It should be understood that in some examples, erase operations can be performed at the half-block level, at the quarter-block level, or at any suitable number of memory blocks or any suitable fraction of memory blocks. Memory cells 306 of adjacent memory strings 308 can be coupled by word lines 318, which select which row of memory cells 306 is affected by read and program operations.
[0060] 3 , each memory cell 306 in the plurality of memory cells is coupled to a corresponding word line 318 , and each memory string 308 is coupled to a corresponding bit line 316 via a corresponding select transistor (eg, top select transistor (TSG) 312 ).
[0061] FIG4 illustrates a cross-sectional schematic diagram of an exemplary memory cell array 301 including a NAND memory string 308 according to some aspects of the present disclosure. As shown in FIG4 , the NAND memory cell array 301 may include a stacked structure 410 comprising a plurality of gate layers 411 and a plurality of insulating layers 412 alternately stacked in sequence, and a channel structure vertically extending through the gate layers 411 and the insulating layers 412. The channel structure is coupled to each gate layer to form a memory cell, and the channel structure is coupled to the plurality of gate layers in the stacked structure 410 to form the memory string 308. The gate layers 411 and the insulating layers 412 may be alternately stacked, with two adjacent gate layers 411 separated by an insulating layer 412.
[0062] The constituent material of the gate layer 411 may include a conductive material. Conductive materials include, but are not limited to, tungsten (W), cobalt (Co), copper (Cu), aluminum (Al), polysilicon, doped silicon, silicide, or any combination thereof. In some embodiments, each gate layer 411 includes a metal layer, for example, a tungsten layer. In some embodiments, each gate layer 411 includes a doped polysilicon layer. Each gate layer 411 may include a control gate surrounding a memory cell. The gate layer 411 at the top of the stacked structure 410 may extend laterally as an upper selection gate line, the gate layer 411 at the bottom of the stacked structure 410 may extend laterally as a lower selection gate line, and the gate layer 411 extending laterally between the upper selection gate line and the lower selection gate line may serve as a word line layer.
[0063] In some embodiments, the stacked structure 410 may be disposed on a substrate 401. The substrate 401 may include silicon (e.g., single crystal silicon), silicon germanium (SiGe), gallium arsenide (GaAs), germanium (Ge), silicon on insulator (SOI), germanium on insulator (GOI), or any other suitable material.
[0064] In some embodiments, memory string 308 includes a channel structure extending vertically through stacked structure 410. In some embodiments, the channel structure includes a channel hole filled with one or more semiconductor materials (e.g., serving as a semiconductor channel) and one or more dielectric materials (e.g., serving as a memory film). In some embodiments, the semiconductor channel includes silicon, such as polycrystalline silicon. In some embodiments, the memory film is a composite dielectric layer including a tunneling layer, a storage layer (also referred to as a "charge trapping / storage layer"), and a barrier layer. The channel structure may have a cylindrical shape (e.g., a pillar shape). In some embodiments, the semiconductor channel, tunneling layer, storage layer, and barrier layer are arranged radially in this order from the center of the pillar toward the outer surface of the pillar. The tunneling layer may include silicon oxide, silicon oxynitride, or any combination thereof. The storage layer may include silicon nitride, silicon oxynitride, or any combination thereof. The barrier layer may include silicon oxide, silicon oxynitride, a high dielectric constant (high-k) dielectric, or any combination thereof. In one example, the memory film may include a composite layer of silicon oxide / silicon oxynitride / silicon oxide (ONO).
[0065] Referring back to FIG3 , the peripheral circuit 302 can be coupled to the memory cell array 301 via the bit lines 316, word lines 318, source lines 314, BSG lines 315, and TSG lines 313. The peripheral circuit 302 can include any suitable analog, digital, and mixed signal circuits for facilitating the operation of the memory cell array 301 by applying voltage and / or current signals to each target memory cell 306 and sensing voltage and / or current signals from each target memory cell 306 via the bit lines 316, word lines 318, source lines 314, BSG lines 315, and TSG lines 313. The peripheral circuit 302 can include various types of peripheral circuits formed using metal-oxide-semiconductor (MOS) technology. For example, FIG5 shows some exemplary peripheral circuits, including a page buffer / sense amplifier 504, a column decoder / bit line driver 506, a row decoder / word line driver 508, a voltage generator 510, a control logic 512, a register 514, an interface 516, and a data bus 518. It should be understood that in some examples, additional peripheral circuits not shown in FIG. 5 may also be included.
[0066] The page buffer / sense amplifier 504 can be configured to read data from the memory cell array 301 and program (write) data to the memory cell array 301 according to a control signal from the control logic 512. In one example, the page buffer / sense amplifier 504 can store program data (write data) to be programmed into the memory cell array 301. In another example, the page buffer / sense amplifier 504 can perform a program verification operation to ensure that the data has been correctly programmed into the memory cell 306 coupled to the selected word line 318. In yet another example, the page buffer / sense amplifier 504 can also sense a low-power signal from the bit line 316 representing the data bit stored in the memory cell 306 and amplify the small voltage swing to a recognizable logic level during a read operation. The column decoder / bit line driver 506 can be configured to be controlled by the control logic 512 and select one or more memory strings 308 by applying a bit line voltage generated from the voltage generator 510.
[0067] The row decoder / word line driver 508 can be configured to be controlled by control logic 512 and to select / deselect memory blocks 304 of the memory cell array 301 and to select / deselect word lines 318 of the memory blocks 304. The row decoder / word line driver 508 can also be configured to drive the word lines 318 using word line voltages generated from a voltage generator 510. In some embodiments, the row decoder / word line driver 508 can also select / deselect and drive the BSG lines 315 and the TSG lines 313. As described in detail below, the row decoder / word line driver 508 is configured to perform a programming operation on the memory cells 306 coupled to the selected word line(s) 318. The voltage generator 510 can be configured to be controlled by control logic 512 and to generate word line voltages (e.g., a read voltage, a program voltage, a pass voltage, a channel boosting voltage, a verify voltage, etc.), bit line voltages, and source line voltages to be supplied to the memory cell array 301.
[0068] The control logic 512 can be coupled to each of the other parts in the peripheral circuit described above and is configured to control the operation of each of the other parts in the peripheral circuit. The register 514 can be coupled to the control logic 512 and includes a status register, a command register, and an address register for storing status information, command operation code (OP code), and command address for controlling the operation of each peripheral circuit. The interface 516 can be coupled to the control logic 512 and act as a control buffer to buffer control commands received from a host (not shown) and relay them to the control logic 512, as well as buffer status information received from the control logic 512 and relay it to the host. The interface 516 can also be coupled to the column decoder / bit line driver 506 via the data bus 518 and act as a data I / O interface and data buffer to buffer data and relay it to the memory cell array 301 or relay or buffer data from the memory cell array 301.
[0069] The basic principle of 3D NAND memory is that data is written by injecting a certain amount of charge into a memory cell, via carriers (electrons or holes) across a charge barrier. The stored data can then be read based on the threshold voltage at which the memory cell turns on. Therefore, to ensure accurate data is read, a robust and efficient error correction algorithm is typically employed during data reading.
[0070] However, as the charge stored in a memory cell changes over time due to age, repeated read operations, and temperature fluctuations, this can affect the accuracy of data reads. When the threshold voltage shifts significantly upward or downward, the likelihood of read errors is high when reading the data from the memory cell using the original read voltage. Furthermore, when the read error rate exceeds the error correction capability, data read failures can occur.
[0071] Figure 6 illustrates a schematic diagram of an exemplary read operation flow for a memory system. As shown in Figure 6 , when a memory controller controls a memory device to perform a read operation, it first performs a default read operation (FW default read) on the memory cell at the corresponding physical address. If the default read operation fails, a reread operation (Read retry) is performed. If the reread operation fails, a soft decode operation is performed. If the soft decode operation fails, a Redundant Array of Independent Disks (RAID) operation is performed. If the RAID operation fails, the read operation ceases and fails due to uncorrectable errors. The memory controller then sends a read fail signal to the host 108. The reread operation and the default read operation can also be applied to hard decode.
[0072] In some embodiments, a reread operation can typically be performed by querying a retry table provided by the manufacturer. The reread operation is essentially an error correction mechanism. The reread table provides a reference voltage for reading data. By querying the reread table, each storage cell is read again at a read voltage that deviates from the normal threshold voltage and corrects the error in conjunction with an error correction algorithm in an attempt to correctly read the data. If the read error data is corrected, the reread table query stops. If the read error data cannot be corrected, the reread table query continues until the entire reread table is traversed.
[0073] The aforementioned reread operation method requires querying the reread table line by line, which inevitably increases the number of trial and error cycles and is time-consuming. Furthermore, the reread table provided by the manufacturer is only a reference value for specific environments. Real-world usage scenarios vary greatly, so the manufacturer's reread table does not cover many scenarios. Consequently, even after traversing the reread table, data may not be corrected, resulting in a significant waste of command processing time. In short, rereading by repeatedly polling the reread table is time-consuming, affecting the response time of subsequent commands and, consequently, device performance.
[0074] Based on one or more of the above problems, in a first aspect, embodiments of the present application provide a memory device.
[0075] As shown in FIG7 , the memory device includes: a memory cell array including memory cells having a plurality of storage bits; the plurality of storage bits corresponding to a plurality of read voltage levels; a predetermined number of memory cells forming a codeword; and a peripheral circuit coupled to the memory cell array and configured to perform the following steps:
[0076] Step S10: Obtain a first result corresponding to at least one codeword at a target read voltage of a target level; the first result includes a number of bits flipped in two read results representing the at least one codeword at the first read voltage and the second read voltage; and the difference between the first read voltage and the second read voltage is less than a preset voltage.
[0077] Step S20 : obtaining a predicted valley voltage of the target level according to a first result corresponding to at least one codeword at a target read voltage of the target level and the level number of the target level.
[0078] Step S30: determining a target valley voltage of the target step based on the predicted valley voltage of the target step; the target valley voltage is used as a read voltage when performing a read operation on at least one codeword.
[0079] Here, the structure of the memory device is referred to above FIG3 and will not be described in detail here.
[0080] In some embodiments, a memory device includes a memory cell array, the memory cell array includes a plurality of memory cells, and a preset number of memory cells form a code word (CW).
[0081] In some embodiments, the number of storage cells included in a codeword is the same as the number of storage cells included in one encoding or decoding when performing error correction encoding or decoding. In some specific embodiments, the number of storage cells included in a codeword may be less than or equal to the number of storage cells coupled to a physical page, such as the number of storage cells included in a codeword is 1 / 4 of the number of storage cells coupled to a physical page. In some specific embodiments, a codeword may include a number ranging from 2 4 to 2 12 For example, a code word may include 2 4 , 2 8 or 2 12 storage units.
[0082] In general, different memory systems may choose codewords of different sizes to meet their performance, reliability, and storage requirements.
[0083] Memory cells in different types of memory devices (eg, MLC, TLC, or QLC) can store different numbers of bits.
[0084] It should be noted that in practice, codewords will have some additional reserved space for management and error correction, so the number of storage units actually required may slightly exceed the above calculation result.
[0085] It is understandable that a codeword may include multiple storage units, and the number of storage units included in a codeword may be adjusted according to actual conditions.
[0086] In some embodiments, during the reading of the memory device, a read operation reads out the data of a physical page. When the number of storage cells contained in a codeword can be less than the number of storage cells coupled to a physical page, the codeword is a unit that can be executed to obtain the first result, but multiple codewords are not actually excluded. In other words, the first result corresponding to at least one codeword under the current read voltage can be obtained here. For example, a physical page can correspond to 4 codewords, and the page buffer hardware operation can count the fail bit count (FBC) of each of the 4 codewords at one time, and then add the FBC of the four codewords to obtain the FBC of a physical page. The subsequent calculation uses the added value. It can be understood that the first result here can be based on the data of a physical page, and a physical page can correspond to multiple codewords.
[0087] In some embodiments, the memory cell array includes memory cells with M storage bits, the M storage bits correspond to M pages, and the M-bit memory cells read their M-bit storage data through N-level read voltages; M and N are both integers greater than 1, and N=2 M -1.
[0088] For example, when the number of storage bits of a memory cell includes two, the corresponding storage states include states 0 to 4. Referring to FIG8A , the four states are state 0 (also called the erased state) E, state 1 (also called the first storage state) P1, state 2 (also called the second storage state) P2, and state 3 (also called the third storage state) P3. The binary data corresponding to these four states are 11, 10, 00, and 01, respectively. Accordingly, the memory device includes two pages, namely, a lower page (LP) and an upper page (UP).
[0089] Taking the memory cell shown in FIG8A as an example, the two-bit memory cell reads its two-bit four-state storage data through three-level read voltages (first level read voltage L1, second level read voltage L2 and third level read voltage L3 shown in FIG8A).
[0090] For example, one page corresponds to multiple read voltages, and the other page corresponds to a single read voltage. As shown in FIG8A , the binary data corresponding to the lower page is 1001, and reading the lower page requires the corresponding first read voltage L1 and third read voltage L3. The binary data corresponding to the upper page is 1100, and reading the upper page requires the corresponding second read voltage L2.
[0091] For example, when the number of storage bits of a memory cell includes three bits, the corresponding storage states include states 0 to 7. Referring to FIG8B , the eight states are state 0 (also called the erased state) E, state 1 (also called the first storage state) P1, state 2 (also called the second storage state) P2, ... state 7 (also called the seventh storage state) P7. The binary data corresponding to the eight states are 111, 110, 100, 000, 010, 011, 001, and 101, respectively. Accordingly, the memory device includes three pages: a lower page, a middle page (MP), and an upper page.
[0092] Taking the memory cell shown in FIG8B as an example, the three-bit memory cell reads its three-bit eight-state storage data through seven levels of read voltages (the first-level read voltage L1, the second-level read voltage L2, the third-level read voltage L3, the fourth-level read voltage L4, the fifth-level read voltage L5, the sixth-level read voltage L6, and the seventh-level read voltage L7 shown in FIG8B ).
[0093] For example, each page corresponds to multiple read voltage levels. As shown in FIG8B , the binary data corresponding to the lower page are 10000111, and reading the lower page requires corresponding to the first read voltage L1 and the fifth read voltage L5. The binary data corresponding to the middle page are 11001100, and reading the middle page requires corresponding to the second read voltage L2, the fourth read voltage L4, and the sixth read voltage L6. The binary data corresponding to the upper page are 11100001, and reading the upper page requires corresponding to the third read voltage L3 and the seventh read voltage L7.
[0094] Exemplarily, when the number of storage bits of a memory cell includes four bits, the corresponding storage states include the 0th state to the 15th state. Referring to FIG8C , the 16 states are the 0th state (also called the erased state) E, the 1st state (also called the 1st storage state) P1, the 2nd state (also called the 2nd storage state) P2…the 15th state (also called the 15th storage state) P15, and the binary data corresponding to the 16 states are 1111, 0111, 0110….1110. Accordingly, the memory device includes four pages, namely, a lower page, a middle page, an upper page, and an extra page (XP). Here, the four storage bits corresponding to the 16 states are stored in the lower page, the middle page, the upper page, and the extra page, respectively.
[0095] Taking the memory cell shown in Figure 8C as an example, the four-bit memory cell reads its four-bit sixteen-state storage data through 15 levels of read voltages (the first level read voltage L1, the second level read voltage L2, the third level read voltage L3, the fourth level read voltage L4, the fifth level read voltage L5, the sixth level read voltage L6, the seventh level read voltage L7, the eighth level read voltage L8, the ninth level read voltage L9, the tenth level read voltage L10, the eleventh level read voltage L11, the twelfth level read voltage L12, the thirteenth level read voltage L13, the fourteenth level read voltage L14, and the fifteenth level read voltage L15 shown in Figure 8C).
[0096] Exemplarily, each page corresponds to multiple read voltage levels. As shown in FIG8C , the binary data corresponding to the lower page are 1100000011111100. Reading the lower page requires corresponding read voltages L2, L8, and L14. The binary data corresponding to the middle page are 1110000110000111. Reading the middle page requires corresponding read voltages L3, L7, L9, and L13. The binary data corresponding to the upper page are 1111100000110001. Reading the upper page requires corresponding read voltages L5, L10, L12, and L15. The binary data corresponding to the extra pages are 1000110000011111. Reading the extra pages requires corresponding first-level read voltage L1, fourth-level read voltage L4, sixth-level read voltage L6 and eleventh-level read voltage L11.
[0097] The lower page is usually closest to the source / drain, so each level of the read voltage corresponding to the lower page is determined first, with the fastest access speed and shortest response time, which can ensure balanced performance and durability during data access.
[0098] It should be noted that the method of preferentially determining each level of read voltage corresponding to the next page is only an example and is not used to limit the order of determining each level of read voltage in the multi-level read voltage corresponding to at least part of the pages in the embodiment of the present application.
[0099] In some embodiments, at least some pages correspond to multi-level read voltages, the multi-level read voltages including a first-level read voltage and a second-level read voltage, wherein the second-level read voltage is lower than the first-level read voltage. For example, the first-level read voltage can be understood as the highest read voltage among the multi-level read voltages for each page, and the second-level read voltage can be understood as other read voltages lower than the highest read voltage among the multi-level read voltages for each page.
[0100] It should be noted that the first and second levels are used to distinguish between a high-level read voltage and a low-level read voltage among the multiple-level read voltages corresponding to at least a portion of the page, with the low-level read voltage being lower than the high-level read voltage. For a memory cell containing multiple storage bits, a page corresponding to one storage bit may include one or more levels, and one level may include one or more levels.
[0101] For example, referring to FIG8A , a memory device includes a lower page and an upper page, wherein the lower page corresponds to multiple levels, and the multiple levels corresponding to the lower page include a first level and a third level, and a first level read voltage L1 is less than a third level read voltage L3. Here, the third level read voltage L3 corresponds to the read voltage of the first level of the lower page (the upper level read voltage of the lower page), and the first level read voltage L1 corresponds to the read voltage of the second level of the lower page (the lower level read voltage of the lower page).
[0102] For example, referring to FIG8B , a memory device includes a lower page, a middle page, and an upper page, wherein each page corresponds to multiple levels. The multiple levels corresponding to the lower page include a first level and a fifth level, where a first level read voltage L1 is less than a fifth level read voltage L5. The multiple levels corresponding to the middle page include a second level, a fourth level, and a sixth level, where a second level read voltage L2 and a fourth level read voltage L4 are both less than a sixth level read voltage L6. The multiple levels corresponding to the upper page include a third level and a seventh level, where a third level read voltage L3 is less than a seventh level read voltage L7. Here, the fifth level read voltage L5, the sixth level read voltage L6, and the seventh level read voltage L7 correspond to the first level read voltages of the lower, middle, and upper pages, respectively. The first level read voltage L1, the second level read voltage L2, the fourth level read voltage L4, and the third level read voltage L3 correspond to the second level read voltages of the lower, middle, and upper pages, respectively.
[0103] Exemplarily, referring to Figure 8C, the memory device includes a lower page, a middle page, an upper page and an extra page, wherein each page corresponds to multiple levels, the multiple levels corresponding to the lower page include the second level, the eighth level and the fourteenth level, the second level read voltage L2 and the eighth level read voltage L8 are both less than the fourteenth level read voltage L14, the multiple levels corresponding to the middle page include the third level, the seventh level, the ninth level and the thirteenth level, the third level read voltage L3, the seventh level read voltage L7 and the ninth level read voltage L9 are all less than the thirteenth level read voltage L13, the multiple levels corresponding to the upper page include the fifth level, the tenth level, the twelfth level and the fifteenth level, the fifth level read voltage L5, the tenth level read voltage L10 and the twelfth level read voltage L12 are less than the fifteenth level read voltage L15, the multiple levels corresponding to the extra page include the first level, the fourth level, the sixth level and the eleventh level, the first level read voltage L1, the fourth level read voltage L4 and the sixth level read voltage L6 are less than the eleventh level read voltage L11. Here, the fourteenth-level read voltage L14, the thirteenth-level read voltage L13, the fifteenth-level read voltage L15 and the eleventh-level read voltage L11 correspond to the first-level read voltages of the lower page, middle page, upper page and extra page respectively, the second-level read voltage L2 and the eighth-level read voltage L8 correspond to the second-level read voltage of the lower page, the third-level read voltage L3, the seventh-level read voltage L7 and the ninth-level read voltage L9 correspond to the second-level read voltage of the middle page, the fifth-level read voltage L5, the tenth-level read voltage L10 and the twelfth-level read voltage L12 correspond to the second-level read voltage of the upper page, the first-level read voltage L1, the fourth-level read voltage L4 and the sixth-level read voltage L6 correspond to the second-level read voltage of the extra page.
[0104] In some embodiments, the peripheral circuit is configured to: obtain a first result corresponding to at least one codeword at a target read voltage of a target step; obtain a predicted valley voltage of the target step based on the first result corresponding to the at least one codeword at the target read voltage of the target step and the step number of the target step; and determine a target valley voltage of the target step based on the predicted valley voltage of the target step. Here and below, a memory cell array including memory cells with a storage bit count of 3 bits is used as an example for detailed description, but this is not intended to limit the embodiments of the present application.
[0105] It should be noted that the level number of the target level indicates whether the target level belongs to the first level or the second level. More specifically, the target level is one of the multiple read voltage levels corresponding to the first level and / or the second level. Therefore, in some specific embodiments, the peripheral circuit is configured to obtain a predicted valley voltage of the target level based on a first result corresponding to at least one codeword at the target read voltage of the target level and the level number of the target level.
[0106] It should be noted that the predicted valley voltage can be used directly as a target valley voltage to perform a read operation on the data to be read, or can be obtained after further processing. The specific method of obtaining the predicted valley voltage will be further described below.
[0107] Exemplarily, as shown in Figure 9, taking the seventh-level read voltage L7 corresponding to the first level with the target level as an example, the peripheral circuit is configured to: obtain a first result Y1 corresponding to at least one codeword under the target read voltage of the seventh-level read voltage L7 (V0 shown in Figure 9); obtain a predicted valley voltage (V2 shown in Figure 9) of the seventh-level read voltage L7 based on the first result Y1 corresponding to at least one codeword under the target read voltage of the seventh-level read voltage L7 (V0 shown in Figure 9) and the level of the seventh-level read voltage L7; determine the target valley voltage of the seventh-level read voltage L7 based on the predicted valley voltage (V2 shown in Figure 9) of the seventh-level read voltage L7.
[0108] It should be noted that the difference between the first read voltage and the second read voltage can be less than a preset voltage. In some specific embodiments, the second read voltage is greater than the first read voltage, and the difference between the first read voltage and the second read voltage is set to a range of 5mV to 20mV. For example, the difference between the first read voltage and the second read voltage can be 5mV, 10mV, 15mV, or 20mV. In other specific embodiments, the second read voltage is less than the first read voltage, and the difference between the first read voltage and the second read voltage is set to a range of -5mV to -20mV. For example, the difference between the first read voltage and the second read voltage can be -5mV, -10mV, -15mV, or -20mV.
[0109] It should be noted that the first read voltage and the second read voltage are contextually related, that is, the second read voltage is obtained after the third adjustment is performed based on the first read voltage. Based on this, the voltage difference between the first read voltage and the second read voltage is the step size of the third adjustment. The fact that the difference between the first read voltage and the second read voltage is less than the preset voltage can be understood as the first read voltage and the second read voltage having a smaller voltage difference. The preset voltage is related to the step size of the third adjustment and can be a voltage slightly larger than the step size of the third adjustment. In some specific embodiments, the preset voltage is set in a range of 6mV to 21mV. Exemplarily, the preset voltage can be 6mV, 11mV, 16mV, or 21mV. In other specific embodiments, the preset voltage is set in a range of -6mV to -21mV. Exemplarily, the preset voltage can be -6mV, -10mV, -16mV, or -21mV.
[0110] It should be noted that the first read voltage and the second read voltage are both general terms. The target read voltage and the read voltage obtained after the first adjustment to the target read voltage may both be referred to as the first read voltage, and the read voltage obtained after the third adjustment to the first read voltage may both be referred to as the second read voltage. In other words, the first read voltage is a general term and can be understood as the target read voltage or the target adjusted read voltage (a voltage obtained by adjusting the target read voltage by a target step size, where the target step size can be set to a range of 50mV to 150mV, and illustratively, the target step size can be 50mV, 60mV, 70mV, 80mV, 100mV, 120mV, or 150mV).
[0111] In each embodiment of the present application, the first result corresponding to a specific voltage can be understood as: the specific voltage is subjected to a third adjustment, that is, the specific voltage and the specific voltage after the third adjustment have a first voltage difference △V1, and the number of bits flipped in the two reading results of a preset number of storage cells at the specific voltage and the specific voltage after the third adjustment can be used as the first result corresponding to the specific voltage, wherein the preset number of storage cells can form at least one codeword.
[0112] For example, the first result corresponding to the first read voltage can be understood as: the first read voltage is adjusted by the third adjustment to obtain the second read voltage, i.e., the first read voltage and the second read voltage have a first voltage difference ΔV1, and the number of bits flipped in the two read results of the preset number of memory cells at the first read voltage and the second read voltage can be used as the first result corresponding to the first read voltage. The first read voltage can be the target read voltage (V0 shown in FIG9 ) of the target level (the seventh level read voltage L7), and the second read voltage can be the read voltage obtained by the third adjustment to the first read voltage (V1 shown in FIG9 ). Alternatively, the first read voltage can be the predicted valley voltage of the target level (the seventh level read voltage L7) (V2 shown in FIG9 ), and the second read voltage can be the read voltage obtained by the third adjustment to the predicted valley voltage of the target level (V3 shown in FIG9 ).
[0113] In various embodiments of the present application, the target valley voltage can be obtained as follows: based on the predicted valley voltage of the target step satisfying a preset condition, the predicted valley voltage of the target step is used as the target valley voltage of the target step. For example, based on the first result corresponding to the first step at the target read voltage, a preset threshold is obtained; the preset threshold is used to represent the first result corresponding to the maximum value within the valid range of the predicted valley voltage; based on the first result corresponding to the predicted valley voltage of the first step being less than the preset threshold, the predicted valley voltage of the first step is used as the target valley voltage of the first step.
[0114] It should be noted that the predicted valley voltage here can be directly used as a target valley voltage to perform a read operation on the data to be read according to needs, or can be further processed to obtain the target valley voltage.
[0115] In each embodiment of the present application, the acquisition of the predicted valley voltage can be understood as follows: based on the first result corresponding to at least one codeword at the target read voltage of the target step and the order number of the target step, the predicted valley voltage of the target step is acquired. For example, based on the first result corresponding to the target step at the target read voltage, the order number of the target step, and a mapping function, the predicted valley voltage of the target step is acquired; the mapping function is used to characterize the relationship between the first result corresponding to the target read voltage, the order number of the target step, and the predicted valley voltage of the target step. It should be noted that, for the sake of convenience, the above-mentioned mapping function in this embodiment is also referred to as the first mapping function, that is, the first mapping function is used to characterize the relationship between the first result corresponding to the target read voltage, the order number of the target step, and the predicted valley voltage of the target step.
[0116] The acquisition of the predicted valley voltage can also be understood as follows: based on the predicted valley voltage / target valley voltage of the first target step, the predicted valley voltage of the second target step is acquired, where the first target step includes at least one first step from the plurality of first steps corresponding to the multiple pages, and the second target step includes the remaining first steps and / or second steps; the read voltage of the second target step is less than the read voltage of the first target step. For example, the predicted valley voltage of the second target step is acquired based on the predicted valley voltage / target valley voltage of the first target step and a second mapping function, where the second mapping function is used to characterize the relationship between the predicted valley voltage / target valley voltage of the first target step and the predicted valley voltage of the second target step.
[0117] In various embodiments of the present application, obtaining an adjusted voltage (e.g., an adjusted read voltage / an adjusted target read voltage) can be understood as follows: a voltage obtained by adjusting a specific voltage according to a target step size. For example, a first adjustment is performed on the target read voltage multiple times with a first step size, and the target read voltages after the first adjustment are obtained multiple times, or a second adjustment is performed on the target read voltage multiple times with a second step size, and the target read voltages after the second adjustment are obtained multiple times; wherein the first step size value range is set to 50mV to 150mV, and the first step size value can be 50mV, 60mV, 70mV, 80mV, 100mV, 120mV, or 150mV, and the second step size value range is set to 20mV to 40mV, and the second step size value can be 20mV, 30mV, or 40mV.
[0118] In some embodiments, before obtaining a first result corresponding to at least one codeword at a target read voltage of a target level, the read mode of the memory device is set to a single-level read mode (Single Level Read, SLR); the single-level read mode includes reading at least one bit of storage data stored in a memory cell through a first-level read voltage.
[0119] In some embodiments, the memory device is configured to enter a single-level read mode in response to a mode setting command, and obtain a first result corresponding to at least one codeword at a target read voltage of a target level in the single-level read mode.
[0120] In some embodiments, the peripheral circuit is configured to: obtain the predicted valley voltage of the target step based on the first result corresponding to the target read voltage, the step number of the target step, and a mapping function; the mapping function is used to characterize the relationship between the first result corresponding to the target read voltage, the step number of the target step, and the predicted valley voltage of the target step.
[0121] In some embodiments, the peripheral circuit is configured to: calculate the product of the prediction direction and the compensation value; the prediction direction is determined based on the first result corresponding to the target read voltage, the programming state of the storage block where the codeword is located, and the order number of the target stage; the compensation value is determined based on the first result corresponding to the target read voltage and the order number of the target stage; and the sum of the product and the target read voltage is used as the predicted valley voltage of the target stage.
[0122] In some embodiments, the peripheral circuit is configured to obtain a compensation value based on a first result corresponding to a target read voltage, the order of the target order, a first constant, a second constant, and a step size; wherein the first constant and the second constant are both fixed values related to the order of the target order, and the step size is related to the first constant and the second constant.
[0123] In this application, the term “first result corresponding to the target reading voltage” may be referred to as “first first result” for short.
[0124] In some embodiments, the compensation value tune is obtained based on the first result fFBC, the level of the target level, the first constant fbc_ref1, the second constant fbc_ref2, and the step size step. For example, the formula (1) for obtaining the compensation value tune is: tune = mult * step + remd / fbc_ref2.
[0125] Formula (2) for obtaining the first parameter mult is: mult = fFBC / fbc_ref1, where the first parameter mult represents the quotient obtained by dividing the first result fFBC by the first constant fbc_ref1. Formula (3) for obtaining the second parameter remd is: remd = fFBC % fbc_ref2, where the second parameter remd represents the remainder obtained by dividing the first result fFBC by the second constant fbc_ref2.
[0126] It should be noted that remd / fbc_ref2 in formula (1) represents the remainder obtained by dividing the second parameter remd by the second constant fbc_ref2.
[0127] In some specific embodiments, a prediction direction dir is obtained based on the first result fFBC, the programming state of the memory block where the codeword is located, and the level number of the target level. The programming state of the memory block where the codeword is located includes two types: fully programmed and partially programmed. A memory block where all memory cells in the memory block where the codeword is located are programmed is called a fully programmed block (Close Block), and a memory block where only some memory cells in the memory block where the codeword is located are programmed is called a partially programmed block (Open Block). The level number of the target level indicates whether the target level belongs to the first level or the second level. More specifically, the target level is one of the multiple read voltage levels corresponding to the first level and / or the second level. It can be understood that the prediction direction dir is related to the level number of the target level.
[0128] The value of the prediction direction can be obtained by obtaining a preset value based on the first result, the programming state of the storage block where the codeword is located, and the order of the target order. The preset value can be set based on an empirical value or the default value of the memory device configured at the factory after a large number of simulation experiments.
[0129] Exemplarily, the value of the prediction direction dir is 0, 1 or -1.
[0130] In some embodiments, a predicted offset value guess_sft of the predicted valley voltage pred_valley of the target step relative to the target read voltage v_default of the target step is obtained based on the prediction direction dir, the compensation value tune, and the target read voltage v_default of the target step. For example, formula (4) for obtaining the predicted offset value guess_sft is: guess_sft = dir * tune.
[0131] Here, the target read voltage v_default of the target stage may refer to a preset read voltage that can distinguish two adjacent storage states of a memory cell of a memory device in a previous read process, wherein the preset read voltage may be set based on an empirical value or be a default value configured when the memory device leaves the factory after a large number of simulation experiments.
[0132] In some specific embodiments, a predicted valley voltage pred_valley of the target step is obtained based on the target read voltage v_default and the predicted offset value guess_sft of the target step.
[0133] Exemplarily, the formula (5) for obtaining the predicted valley voltage guess_sft of the target step is: pred_valley=guess_sft+v_default.
[0134] The first constant fbc_ref1 is a fixed value related to the number of the target level. Taking TLC as an example, the exemplary first constant fbc_ref1 is {DMY, 150, 200, 300, 300, 250, 140, 140}. In some embodiments, the value of the first constant fbc_ref1 is related to the number of the target level. More specifically, the value of the first constant fbc_ref1 is related to the number of the target level. When the target levels are the first level read voltage L1, the second level read voltage L2, the third level read voltage L3, the fourth level read voltage L4, the fifth level read voltage L5, the sixth level read voltage L6, and the seventh level read voltage L7, the first constant fbc_ref1 takes the values of 150, 200, 300, 300, 250, 140, and 140, respectively.
[0135] The second constant fbc_ref2 is a fixed value related to the number of the target level. An exemplary second constant fbc_ref2 is {DMY, 35, 30, 35, 35, 60, 35, 40}. In some embodiments, the value of the second constant fbc_ref2 is related to the number of the target level. More specifically, the value of the second constant fbc_ref2 is related to the number of the target level. When the target levels are the first level read voltage L1, the second level read voltage L2, the third level read voltage L3, the fourth level read voltage L4, the fifth level read voltage L5, the sixth level read voltage L6, and the seventh level read voltage L7, the second constant fbc_ref2 takes the values of 35, 30, 35, 35, 60, 35, and 40, respectively.
[0136] An exemplary step size ranges from 6 DAC to 10 DAC. More specifically, the step size can be 6 DAC, 8 DAC, or 10 DAC.
[0137] The value of the step size step is related to the first constant fbc_ref1 and the second constant fbc_ref2. That is, the specific value of the step size step will change with the first constant fbc_ref1 and the second constant fbc_ref2 within the value range of 6DAC to 10DAC.
[0138] It should be noted that the conversion relationship between DAC and the aforementioned mV is 1DAC=10mV.
[0139] When the exemplary first constant fbc_ref1 is {DMY, 150, 200, 300, 300, 250, 140, 140} and the exemplary second constant fbc_ref2 is {DMY, 35, 30, 35, 35, 60, 35, 40}, the exemplary step size is 8 DAC.
[0140] It should be noted that the first constant fbc_ref1 and the second constant fbc_ref2 are fixed values related to the target order, and the step size step is related to the first constant fbc_ref1 and the second constant fbc_ref2. The first constant fbc_ref1, the second constant fbc_ref2, and the step size step can be empirical values or default values configured when the memory device is shipped. These default values are determined through extensive simulation experiments before the memory device is shipped.
[0141] Exemplary values of the prediction direction dir are shown in Table 1. When the memory block where the codeword is located is a fully programmed block (Close Block) and the target levels are the first level read voltage L1, the second level read voltage L2, the third level read voltage L3, the fourth level read voltage L4, the fifth level read voltage L5, the sixth level read voltage L6, and the seventh level read voltage L7, respectively, the prediction direction dir values are 1, 1, 1, -1, -1, -1, and -1, respectively. When the memory block where the codeword is located is a partially programmed block (Open Block) and the target levels are the first level read voltage L1, the second level read voltage L2, the third level read voltage L3, the fourth level read voltage L4, the fifth level read voltage L5, the sixth level read voltage L6, and the seventh level read voltage L7, respectively, the prediction direction dir values are all -1.
[0142] Table 1
[0143] The above formulas and related parameters (such as the first constant, the second constant, the step size and the prediction direction, etc.) are only used as an example. The formulas and related parameters in the embodiments of the present application can be adjusted according to the actual product performance.
[0144] In one specific embodiment, the process of obtaining the predicted valley voltage for the target level is described by combining the formulas in the above embodiment, a specific example of the first constant, second constant, step size, and prediction direction using TLC as an example, and Figure 9. Since the target level is the seventh-level read voltage L7, the first constant fbc_ref1 is set to 140, the second constant fbc_ref2 is set to 40, and the step size step is set to 8DAC. Assuming that the memory block where the codeword is located is a partially programmed block (Open Block), referring to the specific example in Table 1, the prediction direction dir is set to -1.
[0145] For example, the first result fFBC of the seventh-level read voltage L7 shown in FIG9 is 627, and the offset value corresponding to the target read voltage v-default of the seventh-level read voltage L7 is 0. According to formula (2), the first parameter mult is the quotient of 627 / 140, that is, the first parameter mult is equal to 4. According to formula (3), the second parameter remd is the remainder of 627 / 40, that is, the second parameter remd is equal to 67. According to formula (1), the compensation value tune = 4*8 + 67 / 40 = 33. According to formula (4), the predicted offset value guess_sft = (-1)*33DAC = -33DAC. According to formula (5), the predicted valley voltage pred_valley of the seventh-level read voltage L7 is obtained as pred_valley = -33DAC + v_default. It can be understood that the magnitude of the predicted valley voltage pred_valley of the seventh-level read voltage L7 is offset by 33DAC to the left (in the direction of voltage reduction) compared to the target read voltage of the seventh-level read voltage L7.
[0146] FIG10 is a schematic diagram of a method for determining a target valley voltage of the seventh-level read voltage L7 shown in FIG9 , according to an embodiment of the present application. For example, as shown in FIG10 , a first result Y1 corresponding to a target read voltage (V0 shown in FIG10 ) for the seventh-level read voltage L7 of at least one codeword is obtained. The target read voltage (V0 shown in FIG10 ) for the seventh-level read voltage L7 of the at least one codeword is adjusted multiple times to obtain multiple adjusted target read voltages having different differences from the target read voltage. Furthermore, multiple first results Y2, Y3, Y4, Y5, Y6, Y7, Y8, Y9, and Y10 corresponding to the multiple adjusted target read voltages of the at least one codeword are obtained. First result Y2 is the minimum value among the multiple first results, and therefore the adjusted target read voltage (V2 shown in FIG10 ) corresponding to first result Y2 is used as the target valley voltage of the seventh-level read voltage L7.
[0147] It should be noted that in FIG10 , the target read voltage of the seventh read voltage level L7 is adjusted multiple times (e.g., nine times) and multiple first results corresponding to the multiple adjusted target read voltages are obtained. Thus, the target valley voltage determined based on the multiple first results is substantially equal to the difference between the predicted valley voltage (V2 shown in FIG9 ) directly obtained using the mapping function (first mapping function) in FIG9 and the target read voltage. It is understood that, compared to obtaining the target valley voltage through multiple iterations using the target read voltage of the target level, directly obtaining the predicted valley voltage of the target level based on the first result corresponding to at least one codeword at the target read voltage of the target level can reduce the number of iterations, thereby obtaining the target valley voltage more quickly and with higher accuracy.
[0148] In some embodiments, the peripheral circuit is configured to respectively obtain predicted valley voltages of each of the multiple levels except the target level. For example, a similar method is used to obtain the predicted valley voltage of the seventh-level read voltage L7 to obtain the predicted valley voltage of the third-level read voltage L3. The predicted valley voltages of the seventh-level read voltage L7 and the third-level read voltage L3 can be used to read data from the upper page of at least one codeword. A similar method is used to obtain the predicted valley voltage of the seventh-level read voltage L7 to obtain the predicted valley voltage of the first-level read voltage L1 and the predicted valley voltage of the fifth-level read voltage L5 to read data from the lower page of at least one codeword. A similar method is used to obtain the predicted valley voltage of the seventh-level read voltage L7 to obtain the predicted valley voltage of the second-level read voltage L2, the predicted valley voltage of the fourth-level read voltage L4, and the predicted valley voltage of the sixth-level read voltage L6 to read data from the middle page of at least one codeword.
[0149] In some embodiments, the peripheral circuit is configured as follows: based on the fact that the predicted valley voltage of the target order meets the preset conditions, the predicted valley voltage of the target order is used as the target valley voltage of the target order; based on the fact that the predicted valley voltage of the target order does not meet the preset conditions, the first result corresponding to the last predicted valley voltage is used as the first result in the mapping function (first mapping function), and the mapping function (first mapping function) is iterated in a loop until the predicted valley voltage of the target order meets the preset conditions.
[0150] In some embodiments, the peripheral circuit is configured to: obtain a preset threshold value based on the first result corresponding to the target read voltage; the preset threshold value is used to characterize the first result corresponding to the maximum value in the valid range of the predicted valley voltage; based on the first result corresponding to the predicted valley voltage of the target level being less than the preset threshold value, the predicted valley voltage of the target level is used as the target valley voltage of the target level.
[0151] In some specific embodiments, the target read voltage can be set according to an empirical value (for example, the read voltage corresponding to successful data reading); it can also be a default value configured when the memory device is shipped from the factory, which is obtained through a large number of simulation experiments. The default value is obtained through a large number of simulation experiments before the memory device is shipped from the factory; the default valley voltage can be a default value configured when the memory device is shipped from the factory, which is obtained through a large number of simulation experiments.
[0152] In this application, the term “the first result corresponding to the default valley voltage” may be referred to as “the default first result” for short.
[0153] In some embodiments, the preset threshold is positively correlated with the degree of deviation, where the degree of deviation is the absolute value of the difference between the initial first result and the default first result.
[0154] For example, the greater the absolute value of the difference between the initial first result and the default first result, the greater the preset threshold. For example, if the difference between the initial first result Y11 and the default first result Y13 in FIG11A is smaller than the difference between the initial first result Y11 and the default first result Y13 in FIG11B , it can be seen that the preset threshold in FIG11A (Y12 shown in FIG11A ) is smaller than the preset threshold in FIG11B (Y12 shown in FIG11B ).
[0155] In some embodiments, the peripheral circuit is configured to: based on the predicted valley voltage of the target step satisfying a preset condition, use the predicted valley voltage of the target step as the target valley voltage of the target step. For example, as shown in FIG9 , the peripheral circuit is configured to: based on the first result Y1 corresponding to the target read voltage (V0 in FIG9 ), obtain a preset threshold value; based on the first result Y2 corresponding to the predicted valley voltage of the target step (the seventh-level read voltage L7) (V2 in FIG9 ) being less than the preset threshold value, use the predicted valley voltage of the target step (the seventh-level read voltage L7) (V2 in FIG9 ) as the target valley voltage of the target step.
[0156] In some embodiments, the peripheral circuit is configured to: based on the fact that the predicted valley voltage of the target order does not meet the preset conditions, use the first result corresponding to the last predicted valley voltage as the first result in the mapping function (first mapping function), and perform loop iterations according to the mapping function (first mapping function) until the predicted valley voltage of the target order meets the preset conditions. Exemplarily, as shown in Figure 12, the peripheral circuit is configured as follows: based on the predicted valley voltage (V2 shown in Figure 12) of the target level (seventh-level read voltage L7) being greater than a preset threshold, the first result (Y2 shown in Figure 12) corresponding to the predicted valley voltage (V2 shown in Figure 12) is used as the first result in the mapping function (first mapping function), and the mapping function (first mapping function) disclosed in the aforementioned embodiment of the present application is iterated in a loop until the first result (Y14 shown in Figure 12) corresponding to the predicted valley voltage (V5 shown in Figure 12) of the target level (seventh-level read voltage L7) is less than the preset threshold, and the predicted valley voltage (V5 shown in Figure 12) of the target level (seventh-level read voltage L7) is used as the target valley voltage of the target level (seventh-level read voltage L7).
[0157] The first result Y14 is the number of bits flipped in the two read results at the first read voltage (V5 shown in FIG12 ) and the second read voltage (V6 shown in FIG12 ). FIG12 illustrates a case where, when the predicted valley voltage of the target level does not meet the preset condition, performing one loop iteration according to the mapping function (the first mapping function) ensures that the predicted valley voltage of the target level meets the preset condition. It should be noted that the number of loop iterations can be adjusted based on actual conditions.
[0158] In some embodiments, the peripheral circuit is configured as follows: if the predicted valley bottom voltage of the target stage still does not meet the preset conditions after the mapping function is iterated more than a preset number of times, the predicted valley bottom voltage of the target stage is adjusted multiple times with the first step length, and the first results corresponding to the read voltages after the multiple first adjustments are obtained respectively; the inflection point value is determined based on the first results corresponding to the read voltages after the multiple first adjustments, and the read voltage corresponding to the inflection point value is the inflection point voltage; the inflection point voltage is adjusted multiple times with a second step length, and the first results corresponding to the read voltages after the multiple second adjustments are obtained respectively; the second step length is smaller than the first step length; and the target valley bottom voltage of the target stage is determined based on the first results corresponding to the read voltages after the multiple second adjustments.
[0159] In some specific embodiments, as shown in Figure 13, the peripheral circuit is configured as follows: after the mapping function (first mapping function) is iterated more than a preset number of times, the first result corresponding to the predicted valley voltage (V7 as shown in Figure 13) of the target level (seventh-level reading voltage L7) is still greater than the preset threshold, the predicted valley voltage (V7 as shown in Figure 13) of the target level is adjusted multiple times with the first step length, and the first results corresponding to the reading voltage after the multiple first adjustments are obtained respectively.
[0160] In some embodiments, the preset number of times is 3-7 times. Exemplarily, the preset number of times may be 3, 5, or 7 times.
[0161] In some embodiments, as shown in Figure 13, the peripheral circuit is configured to obtain the inflection point voltage through the following steps: after obtaining the first result Y15 corresponding to the predicted valley voltage (V7 as shown in Figure 13) of the target level (seventh-level read voltage L7), based on the predicted valley voltage (V7 as shown in Figure 13), the predicted valley voltage (V7 as shown in Figure 13) is adjusted for the first time using the first step length (positive value) to obtain the first result Y16, and the predicted valley voltage (V7 as shown in Figure 13) is adjusted for the second time using the first step length (negative value) to obtain the first result Y17.
[0162] Based on the fact that the first result Y16 is greater than the first result Y15 and the first result Y17 is less than the first result Y15, it is determined to use the first step length (negative value) to adjust the target read voltage multiple times to obtain the first result after multiple adjustments (for example, the first result Y18 to Y21, or the first result Y18 to Y23, or the first result Y18 to Y24).
[0163] Based on at least one rising trend, it is determined to stop the first adjustment of the predicted valley voltage (V7 as shown in Figure 13); here, an rising trend can be understood as, the first result Y(P+1) obtained by performing the P-th first adjustment on the predicted valley voltage (V7 as shown in Figure 13) using the first step length (negative value) is less than the first result Y(P+2) obtained by performing the (P+2)-th first adjustment on the predicted valley voltage (V7 as shown in Figure 13) using the first step length (negative value), which is determined to be an rising trend; for example, the first result Y21 is greater than the first result Y20, the first result Y22 is greater than the first result Y21, the first result Y23 is greater than the first result Y22, or the first result Y23 is greater than the first result Y22, which can all be determined as an rising trend.
[0164] The minimum value among the first results corresponding to the multiple first adjusted read voltages obtained is determined as the inflection point value, and the first adjusted read voltage corresponding to the inflection point value is the inflection point voltage; for example, the minimum value among the multiple first results is the first result Y20, and the first result Y20 is used as the inflection point value, and the first adjusted read voltage corresponding to the inflection point value is the inflection point voltage V8.
[0165] In some embodiments, the first result corresponding to the read voltage after multiple first adjustments includes a first adjacent value and a second adjacent value adjacent to the inflection point value; the peripheral circuit is configured to: limit the read voltage corresponding to each of the multiple second adjustments between the read voltage corresponding to the first adjacent value and the inflection point voltage based on the difference between the first adjacent value and the inflection point value being less than the difference between the second adjacent value and the inflection point value; and obtain the average value of the read voltage corresponding to the first adjacent value and the inflection point voltage, and when the first result corresponding to the average value is less than a preset threshold, use the average value as the target valley voltage; when the first result corresponding to the average value is greater than or equal to the preset threshold, continue to perform a second adjustment between the read voltage corresponding to the first adjacent value and the inflection point voltage until the first result corresponding to the adjusted read voltage is less than the preset threshold.
[0166] In some specific embodiments, as shown in FIG13 , the peripheral circuit is configured to: after obtaining the inflection point value (first result Y20) and the inflection point voltage V8, perform at least one second adjustment using a second step size based on the inflection point voltage V8 to obtain an adjusted predicted valley voltage. The detailed process of performing at least one second adjustment using the second step size can be understood with reference to the detailed process of performing at least one first adjustment using the first step size in the above embodiment, and will not be repeated here.
[0167] Here, the second step size is smaller than the first step size. In some embodiments, the first step size may range from 50mV to 150mV, and illustratively, the first step size may be 50mV, 80mV, 100mV, 120mV, or 150mV. The second step size may be a smaller step size. In some embodiments, the second step size may range from 20mV to 40mV, and illustratively, the second step size may be 20mV, 30mV, or 40mV.
[0168] In some specific embodiments, as shown in Figure 13, the peripheral circuit is configured to: limit the read voltage after each adjustment corresponding to the multiple second adjustments between the read voltage (V9 shown in Figure 13) corresponding to the first adjacent value (first result Y21) and the inflection point value (first result Y20) based on the difference between the first adjacent value (first result Y21) and the inflection point value (first result Y20) being less than the difference between the second adjacent value (first result Y19) and the inflection point value (first result Y20); and obtain the average value of the read voltage (V9 shown in Figure 13) corresponding to the first adjacent value (first result Y21) and the inflection point voltage V8, and based on the first result Yv corresponding to the average value being less than a preset threshold, use the average value (V10 shown in Figure 13) as the target valley voltage of the seventh-level read voltage L7.
[0169] In some embodiments, the peripheral circuit is configured to: when the first result Yv corresponding to the average value is greater than or equal to a preset threshold, continue to perform a second adjustment between the read voltage (V9 shown in Figure 13) corresponding to the first adjacent value (first result Y21) and the inflection point voltage V8 until the first result corresponding to the adjusted read voltage is less than the preset threshold.
[0170] In some embodiments, the peripheral circuit is configured to: obtain a predicted valley voltage of a second target stage based on a predicted valley voltage of a first target stage, the first target stage including at least one first stage among a plurality of first stages corresponding to a plurality of pages, and the second target stage including the remaining first stages and / or second stages; the read voltage of the second target stage is less than the read voltage of the first target stage.
[0171] Here, a memory cell array including memory cells with a storage bit count of 3 bits is used as an example for detailed description, but this is not intended to limit the various embodiments of the present application. As shown in FIG8B , the fifth-level read voltage L5, the sixth-level read voltage L6, and the seventh-level read voltage L7 correspond to the first-level read voltages of the lower, middle, and upper pages, respectively. The first-level read voltage L1, the second-level read voltage L2, and the fourth-level read voltage L4 and the third-level read voltage L3 correspond to the second-level read voltages of the lower, middle, and upper pages, respectively. The first target level includes at least one of the fifth-level read voltage L5, the sixth-level read voltage L6, and the seventh-level read voltage L7. The second target level includes the remaining first levels and / or second levels. For example, when the first target level is the seventh-level read voltage L7, the second target level includes the fifth-level read voltage L5, the sixth-level read voltage L6, and / or the first-level read voltage L1, the second-level read voltage L2, the fourth-level read voltage L4, and the third-level read voltage L3.
[0172] In some embodiments, when the first target level is the seventh-level read voltage L7, the predicted valley voltages of all other first and second levels can be obtained based on the predicted valley voltage of the seventh-level read voltage L7, that is, the predicted valley voltages of the first-level read voltage L1, the second-level read voltage L2, the fourth-level read voltage L4, the fifth-level read voltage L5, and the sixth-level read voltage L6 can be directly obtained based on the predicted valley voltage of the seventh-level read voltage L7.
[0173] FIG14 is a schematic diagram illustrating a method for obtaining a predicted valley voltage for the second target step, as shown in FIG8B , according to an embodiment of the present application. Referring to FIG8B and FIG14 , the peripheral circuit is configured to: obtain the predicted valley voltage for the first target step (the seventh-level read voltage L7); and, based on the predicted valley voltage for the first target step (the seventh-level read voltage L7), obtain the predicted valley voltages for the second target step (the fifth-level read voltage L5, the sixth-level read voltage L6, and / or the first-level read voltage L1, the second-level read voltage L2, and the fourth-level read voltage L4 and the third-level read voltage L3).
[0174] In some embodiments, as shown in Figure 14, the peripheral circuit is configured to obtain the predicted valley voltage (V12 shown in Figure 14) of the second target level (sixth level read voltage L6) based on the predicted valley voltage (V11 shown in Figure 14) of the first target level (seventh level read voltage L7) and the second mapping function, and the second mapping function is used to characterize the relationship between the predicted valley voltage of the first target level and the predicted valley voltage of the second target level.
[0175] The second mapping function may be an empirical formula; or it may be a default formula configured when the memory device leaves the factory, and the default formula is obtained through a large number of simulation experiments before the memory device leaves the factory.
[0176] In other embodiments, the predicted valley voltage of the sixth-level read voltage L6 can be obtained based on the predicted valley voltage of the seventh-level read voltage L7, the target valley voltage of the sixth-level read voltage L6 can be obtained based on the predicted valley voltage of the sixth-level read voltage L6, and then the predicted valley voltage of the fifth-level read voltage L5 can be obtained based on the target valley voltage of the sixth-level read voltage L6, and so on, to obtain the target valley voltages of the fifth-level read voltage L5, the fourth-level read voltage L4, the third-level read voltage L3, the second-level read voltage L2 and the first-level read voltage L1 respectively.
[0177] In some embodiments, the peripheral circuit is configured to: obtain a predicted valley voltage of a first stage of each of the multiple pages; and obtain a predicted valley voltage of a second stage belonging to the same page as the first stage based on the predicted valley voltage of the first stage in each page.
[0178] Specifically, as shown in Figures 15A, 15B, and 15C, the number of storage bits of a memory cell of at least one codeword is 3, corresponding to the lower, middle, and upper pages, respectively. Each page corresponds to multiple levels. The multiple levels of the lower page include a first level and a fifth level, where the first level read voltage L1 is less than the fifth level read voltage L5. The multiple levels of the middle page include a second level, a fourth level, and a sixth level, where the second level read voltage L2 and the fourth level read voltage L4 are both less than the sixth level read voltage L6. The multiple levels of the upper page include a third level and a seventh level, where the third level read voltage L3 is less than the seventh level read voltage L7. Here, the fifth level read voltage L5, the sixth level read voltage L6, and the seventh level read voltage L7 correspond to the first level read voltages of the lower, middle, and upper pages, respectively. The first level read voltage L1 corresponds to the second level read voltage of the lower page, the second level read voltage L2 and the fourth level read voltage L4 correspond to the second level read voltages of the middle page, and the third level read voltage L3 corresponds to the second level read voltage of the upper page.
[0179] Exemplarily, as shown in FIG15A , the peripheral circuit is configured to: obtain the predicted valley voltage of the fifth-level read voltage L5 of the lower page among multiple pages (V13 shown in FIG15A ); and obtain the predicted valley voltage of the first-level read voltage L1 of the lower page (V14 shown in FIG15A ) based on the predicted valley voltage of the fifth-level read voltage L5 of the lower page.
[0180] Exemplarily, as shown in FIG15B , the peripheral circuit is configured to: obtain the predicted valley voltage of the fourth-level read voltage L4 having the largest read voltage among the multiple second-stage read voltages of the middle page based on the predicted valley voltage of the sixth-level read voltage L6 of the middle page among the multiple pages (V15 shown in FIG15B ); and obtain the predicted valley voltage of the second-level read voltage L2 having a smaller read voltage than its adjacent sequence based on the predicted valley voltage of the fourth-level read voltage L4 (V17 shown in FIG15B ).
[0181] As shown in Figure 15C, the peripheral circuit is configured to obtain the predicted valley voltage (V19 shown in Figure 15C) of the third-level read voltage L3 of the upper page based on the predicted valley voltage (V18 shown in Figure 15C) of the seventh-level read voltage L7 of the upper page.
[0182] In some embodiments, the peripheral circuit is configured to perform a read operation on at least one codeword according to the predicted valley voltages of all first stages and second stages.
[0183] Exemplarily, as shown in Figures 15A to 15C, the peripheral circuit is configured to perform a first read operation on at least one codeword based on the predicted valley voltage of the first-level read voltage L1, the predicted valley voltage of the second-level read voltage L2, the predicted valley voltage of the third-level read voltage L3, the predicted valley voltage of the fourth-level read voltage L4, the predicted valley voltage of the fifth-level read voltage L5, the predicted valley voltage of the sixth-level read voltage L6, and the predicted valley voltage of the seventh-level read voltage L7.
[0184] Exemplarily, the peripheral circuit is configured to: in response to a failure of the first error correction decoding of the first read result corresponding to the first read operation, use the predicted valley voltage of the first order and the predicted valley voltage of the second order as the initial target read voltage; obtain the first result corresponding to the initial target read voltage; determine that the initial target read voltage is the target valley voltage based on the first result corresponding to the initial target read voltage satisfying a preset condition; or, adjust the initial target read voltage at least once, and obtain the first result corresponding to the adjusted target read voltage after each adjustment; determine that the adjusted target read voltage is the target valley voltage based on the first result corresponding to the adjusted target read voltage satisfying the preset condition; and perform a second read operation on at least one codeword based on the target valley voltage.
[0185] Here, the first result corresponding to the initial target read voltage satisfies the preset condition, which can be understood as the first result corresponding to the initial target read voltage is less than the preset threshold value. The first result corresponding to the initial target read voltage does not satisfy the preset condition, which can be understood as the first result corresponding to the initial target read voltage is greater than or equal to the preset threshold value. The preset threshold value can be set with reference to the relevant descriptions of Figures 11A to 11B, and will not be repeated here.
[0186] In some embodiments, in the scenario of a QLC type memory cell, the number of storage bits of the memory cell includes four bits, and the corresponding storage states include the 0th state to the 15th state. The four storage bits corresponding to the 16 states are respectively stored in the lower page, the middle page, the upper page, and the extra page. The lower page includes a first level (i.e., the fourteenth level) and multiple second levels (i.e., the eighth level and the second level); the middle page includes a first level (i.e., the thirteenth level) and multiple second levels (i.e., the ninth level, the seventh level, and the third level); the upper page includes a first level (i.e., the fifteenth level) and multiple second levels (i.e., the twelfth level, the tenth level, and the fifth level); and the extra page includes a first level (i.e., the eleventh level) and multiple second levels (i.e., the sixth level, the fourth level, and the first level).
[0187] In some embodiments, as shown in FIG8C , the peripheral circuit is configured to: obtain the predicted valley voltage of the eighth level read voltage L8 of the lower page according to the predicted valley voltage of the fourteenth level read voltage L14 of the lower page, obtain the predicted valley voltage of the second level read voltage L2 of the lower page according to the predicted valley voltage of the eighth level read voltage L8 of the lower page; obtain the predicted valley voltage of the ninth level read voltage L9 of the middle page according to the predicted valley voltage of the thirteenth level read voltage L13 of the middle page, obtain the predicted valley voltage of the seventh level read voltage L7 of the middle page according to the predicted valley voltage of the ninth level read voltage L9 of the middle page, obtain the predicted valley voltage of the third level read voltage L3 of the middle page according to the predicted valley voltage of the seventh level read voltage L7 of the middle page; obtain the predicted valley voltage of the eighth level read voltage L8 of the lower page according to the predicted valley voltage of the eighth level read voltage L8 of the lower page; obtain the predicted valley voltage of the ninth level read voltage L9 of the middle page according to the predicted valley voltage of the ninth level read voltage L9 of the middle page; obtain the predicted valley voltage of the third level read voltage L3 of the middle page according to the predicted valley voltage of the seventh level read voltage L7 of the middle page; obtain the predicted valley voltage of the eighth level read voltage L8 of the upper page according to the predicted valley voltage of the fifteenth level read voltage L13 of the upper page Based on the predicted valley voltage of the 12th level read voltage L15 of the additional page, the predicted valley voltage of the 12th level read voltage L12 of the previous page is obtained. Based on the predicted valley voltage of the 12th level read voltage L12 of the previous page, the predicted valley voltage of the 10th level read voltage L10 of the previous page is obtained. Based on the predicted valley voltage of the 10th level read voltage L10 of the previous page, the predicted valley voltage of the 5th level read voltage L5 of the previous page is obtained. Based on the predicted valley voltage of the 11th level read voltage L11 of the additional page, the predicted valley voltage of the 6th level read voltage L6 of the additional page is obtained. Based on the predicted valley voltage of the 6th level read voltage of the additional page, the predicted valley voltage of the 4th level read voltage L4 of the additional page is obtained. Based on the predicted valley voltage of the 4th level read voltage L4 of the additional page, the predicted valley voltage of the 1st level read voltage L1 of the additional page is obtained. In this way, the predicted valley voltages of the 15 levels of read voltages required for reading QLC type memory cells are obtained.
[0188] In some embodiments, the peripheral circuit is configured to: read the stored data of at least one codeword at a first read voltage to obtain a second result; read the stored data of at least one codeword at a 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 that represent the flipping of the third result compared to the second result to obtain the first result.
[0189] Exemplarily, as shown in FIG9 , data stored in a storage cell in at least one codeword is read at a first read voltage (V0 shown in FIG9 ), and a storage cell having a threshold voltage less than the first read voltage is marked as bit 1, and a storage cell having a threshold voltage greater than the first read voltage is marked as bit 0, thereby obtaining a second result.
[0190] Exemplarily, as shown in FIG9 , data stored in a storage cell in at least one codeword is read at a second read voltage (V1 shown in FIG9 ), and a storage cell whose threshold voltage is less than the second read voltage is marked as bit 1, and a storage cell whose threshold voltage is greater than the second read voltage is marked as bit 0, thereby obtaining a third result.
[0191] Exemplarily, the second result and the third result are subjected to an XOR operation to obtain a fourth result. It should be noted that the XOR operation is one of the basic logical operations. In binary, if two binary numbers at the same position are the same, the result is "0", and if two binary numbers at the same position are different, the result is "1" (i.e., the same is 0, and different is 1).
[0192] Exemplarily, a bit set to 1 in the fourth result indicates that the data read from a memory cell in at least one codeword at the first read voltage and the data read from the second read voltage are different, while a bit set to 0 in the fourth result indicates that the data read from a memory cell in at least one codeword at the first read voltage and the data read from the second read voltage are the same. In other words, the number of bits set to 1 in the fourth result indicates the number of bits flipped between the first and second read voltages for the at least one codeword, while the number of bits set to 0 in the fourth result indicates the number of identical bits between the first and second read voltages for the at least one codeword. Since a single-level read mode is employed, i.e., both read operations read a single bit of data stored in the same page of memory cells in the at least one codeword, the number of bits set to 1 in the fourth result indicates the number of memory cells flipped between the first and second read voltages for the at least one codeword, which are recorded as the first result corresponding to the first read voltage. For example, the first result Y1 corresponding to the at least one codeword at the target read voltage (V0 shown in FIG. 9 ) is Y1, and the first result Y2 corresponding to the at least one codeword at the predicted valley voltage (V2 shown in FIG. 9 ) for the target level is Y2.
[0193] In some embodiments, the peripheral circuit includes: a first latch, a second latch, and a third latch; the first latch is configured to store the second result; the second latch is configured to store the third result; and the third latch is configured to store the fourth result.
[0194] Exemplarily, the stored data of at least one codeword read at a first read voltage (i.e., the second result) is stored in a first latch, and the stored data of at least one codeword read at a second read voltage (i.e., the third result) is stored in a second latch. After performing an XOR operation on the second result and the third result, a fourth result is obtained, and the number of bits in the fourth result that represent the flipping of the third result compared to the second result is counted and stored in a third latch.
[0195] On the first aspect, in each memory device provided by the embodiments of the present application, a first result (the size of the first result can be several bytes) is transmitted without transmitting at least one codeword (for example, the size of the codeword can be 4KB), thereby reducing the amount of data transmitted; based on the first result corresponding to the at least one codeword at the target read voltage of the target stage and the stage number of the target stage, a predicted valley voltage of the target stage is obtained, and the iterative convergence speed of determining the target valley voltage based on the predicted valley voltage of the target stage is faster; the process of obtaining the first result converges inside the memory device, does not occupy space such as a memory controller, and has a low degree of dependence on, for example, a memory controller; the process of obtaining the predicted valley voltage / determining the valley voltage based on the first result is completed in the memory device; the transmission time of the output port is reduced; and it is applicable to MLC, TLC or QLC type memory devices.
[0196] FIG16 is a flowchart of a method for operating a memory device according to an embodiment of the present application. The detailed process of determining the target valley voltage will be described in detail below using FIG16. It should be noted that, herein and hereinafter, the target valley voltage refers to the voltage used to perform a read operation on the data to be read.
[0197] In step S101, the target valley voltage acquisition procedure is triggered, and the target valley voltage acquisition process is started. Next, step S102 is executed.
[0198] As previously mentioned, since the memory cell has multiple storage bits, the multiple storage bits correspond to multiple pages, and at least one page corresponds to multiple levels. When determining the target valley voltage, the target valley voltage for each level of the at least one level of read voltage corresponding to each of the multiple pages is determined sequentially. In step S103, one level is selected from the multiple levels corresponding to a page as the target level, and the target read voltage corresponding to the target level read voltage is first determined. For example, using TLC as an example, the target valley voltages for the first level read voltage L1 and the fifth level read voltage L5 corresponding to the next page are first determined. Either L1 or L5 can be selected as the target level. After the target level is determined, step S103 is executed.
[0199] In step S103, the main task is to determine the type of the target level. Here, the target level can be divided into two categories, the first level (also called high level) and the second level (also called low level), wherein the read voltage of the first level is greater than the read voltage of the second level. For example, still taking the lower page of TLC as an example, L5 is the first level and L1 is the second level. If L1 is selected as the target level in step S103, the target level is the second level, that is, the low level; if L5 is selected as the target level in step S104, the target level is the first level, that is, the high level. According to the target level being the low level, execute step S104; according to the target level being the high level, execute step S106.
[0200] In step S104, a predicted valley voltage is obtained. Here, the predicted valley voltage is obtained by deriving the predicted valley voltage corresponding to the lower order based on the target valley voltage corresponding to the higher order and a related mapping function. Here and below, the related mapping function may be obtained by fitting a large number of experimental results before the memory device leaves the factory and stored in the memory device. Next, step S105 is executed.
[0201] In step S105, it is determined whether the two-step prediction is successful. Here, the so-called two-step prediction may include a first prediction and a second prediction. The first prediction is to obtain a high-order predicted valley voltage. Specifically, the high-order predicted valley voltage is obtained based on the first result corresponding to the target read voltage (default read voltage), the order of the high-order, and the first mapping function. The second prediction is to obtain a low-order predicted valley voltage. Specifically, the low-order predicted valley voltage is obtained based on the high-order predicted valley voltage, the order of the low-order, and the second mapping function. After the two-step prediction, the predicted valley voltage is not confirmed. Hard decoding is directly performed using the high-order predicted valley voltage and the low-order predicted valley voltage. If the hard decoding is successful, the two-step prediction is successful. At this time, the search for the target valley voltage is stopped and step S121 is executed. If the hard decoding fails, the two-step prediction is failed. At this time, the point corresponding to the predicted valley voltage is used as the near-valley point for the subsequent iteration, and step S107 is continued.
[0202] It should be noted that if the hard decoding fails, it means that the two-step prediction is unsuccessful. At this time, it is necessary to determine the target valley voltage through searching or also called looping (or iteration). Therefore, when the two-step prediction is unsuccessful, the loop process will be entered. After the two-step prediction is unsuccessful, the search process can be directly executed from the beginning of the loop, that is, jump from step S105 to S107.
[0203] If the target level is high, a search or loop is performed to determine the target valley voltage for the high level. In step S106, a default read voltage is used as the target read voltage. Here, the target read voltage can serve as the initial value for subsequent searches or loops. In some implementations, the default read voltage can be the read voltage when the threshold voltage of the memory cell has not shifted, such as the read voltage corresponding to a write operation, in which case the corresponding offset value is 0 DAC. Step S107 is executed after step S106.
[0204] It should be noted that here and below, the conversion relationship between DAC and the aforementioned mv is 1DAC=10mv.
[0205] In step S107, the target valley voltage is determined by searching or looping. After step S107, step S108 is executed.
[0206] For the first execution loop, in step S108, a first result at the target read voltage is obtained. It is understood that for subsequent execution loops, in step S108, a first result at an adjusted target read voltage is obtained. After step S108, step S109 is executed.
[0207] In step S109, the first threshold TH1 is determined or adjusted based on the first result at the target read voltage. It is understandable that when performing a read operation, the further the threshold voltage of the memory cell deviates from the threshold voltage during writing, the larger the first result read using the target read voltage will generally be. Based on this, the specific value of the first result at the default read voltage can be used to confirm the first threshold TH1. The first threshold TH1 is used to characterize the change (increase) in the valley voltage caused by the memory cell threshold voltage deviation. Step S110 is executed after step S109. The first threshold here can be further understood with reference to the relevant description of the preset threshold in the aforementioned embodiment.
[0208] It should be noted that step S109 is mainly for the first execution of the loop process, and can be skipped for subsequent execution of the loop process.
[0209] In step S110, a predicted valley voltage is obtained, and a determination is made as to whether the first result corresponding to the predicted valley voltage is less than the aforementioned first threshold TH1. Based on the first result corresponding to the target read voltage after the previous adjustment and a related mapping function (such as the aforementioned first mapping function), the predicted valley voltage after the next adjustment is obtained, and the first result corresponding to the obtained predicted valley voltage is compared with the first threshold TH1. If the determination result of step S110 is negative, it indicates that the first result corresponding to the predicted valley voltage obtained at this time is greater than or equal to the first threshold TH1. The loop continues with step S108, adjusting the target read voltage and re-obtaining the predicted valley voltage. Each re-obtained first result corresponding to the predicted valley voltage is compared with the first threshold TH1 until the first result corresponding to the obtained predicted valley voltage is less than the first threshold TH1. In other words, the prediction is iterated using the aforementioned prediction formula or related mapping function until the first result corresponding to the obtained predicted valley voltage is less than the first threshold TH1. When the judgment result of step S110 is yes, it means that the first result corresponding to the predicted valley voltage obtained at this time is less than the first threshold TH1, and the process goes to the next step S111.
[0210] In step S111, an inflection point is found. Here, the target read voltage after each adjustment is used as the horizontal coordinate, and the first result corresponding to the corresponding adjusted target read voltage is used as the vertical coordinate, and the horizontal and vertical coordinates will form a point. The inflection point can be understood as a point relatively close to the bottom of the valley. In some embodiments, it is possible to start from the near-valley point with a coarser step size (first step size), and search to the left and right boundaries respectively until the left and right boundaries are reached, and the point corresponding to the minimum first result in the search process is used as the inflection point. Here, the inflection point is a point that is closer to the bottom of the valley than the near-valley point. The point that is less than the first threshold in the aforementioned step can be used as the near-valley point. For example, the near-valley point can be the point that is less than the first threshold that appears for the first time in the aforementioned step. The first step size can be a larger step size. In some embodiments, the first step size can be 5DAC-15DAC. Exemplarily, the first step size can be 5DAC, 10DAC or 15DAC. Step S112 is performed after step S111.
[0211] In step S112, it is determined whether an inflection point has been found. If no inflection point has been found, the search continues, and step S111 is continued until an inflection point is found. After the inflection point is found, step S113 is executed.
[0212] In step S113 and step S114, the search can be performed starting from the near-valley point with a finer step size (second step size) to the left boundary and the right boundary respectively until the left boundary and the right boundary are reached or the statistics of the upward trend exceed the preset number of times. Here, when the first result corresponding to the target read voltage after the next adjustment is greater than the first result corresponding to the target read voltage after the previous adjustment, a statistics of the upward trend is performed. In some embodiments, the preset number of times is 3-7 times. Exemplarily, the preset number of times can be 3, 5 or 7 times. It should be noted that the positions of step S113 and step S114 can be interchanged. The second step size can be a smaller step size. In some embodiments, the second step size can be 2DAC-4DAC. Exemplarily, the second step size can be 2DAC, 3DAC or 4DAC.
[0213] When the searches in step S113 and step S114 satisfy the aforementioned conditions (reaching the boundary or the statistics showing an upward trend exceed the preset number of times), step S115 is executed.
[0214] In step S115, the adjusted target read voltage corresponding to the minimum first result is used as the target valley voltage. After step S115, step S116 is executed.
[0215] In step S116, it is determined whether the target valley voltage is valid. The method for determining whether the target valley voltage is valid may be to read data using the target valley voltage and decode the read data via the memory controller. Successful decoding indicates whether the target valley voltage is valid. If the result of step S116 is yes, step S121 is executed; if the result of step S116 is no, step S117 is executed.
[0216] In step S117, it is determined whether the loop has ended. If the determination result of step S117 is yes, step S119 is executed; if the determination result of step S117 is no, step S118 is executed.
[0217] In step S118, the process enters the next loop and continues searching. Step S118 jumps to step S107.
[0218] In step S119, it is determined whether the target order is a high order. If the determination result of step S119 is yes, step S120 is executed; if the determination result of step S119 is no, step S121 is executed.
[0219] In step S120, the predicted valley voltage of the low-order is obtained based on the target valley voltage of the high-order. Here, the predicted valley voltage of the low-order can be obtained by using the target valley voltage of the high-order, the order of the low-order, and a related mapping function (such as the second mapping function described above). Step S121 is executed after step S120.
[0220] In step S121, it is determined whether the corresponding target valley voltages for all the read voltage levels included in the page have been determined. If the determination result in step S121 is yes, it means that the target valley voltages for all the read voltage levels included in the page have been determined, and step S123 can be executed. If the determination result in step S121 is no, it means that the target valley voltages for all the read voltage levels included in the page have not yet been determined, and step S122 can be executed.
[0221] In step S122, for the steps whose valley bottom voltages are not determined, the valley bottom voltages of each step are determined in sequence. Step S122 jumps to step S102.
[0222] In step S123 , the process of obtaining the target valley voltage is terminated. It should be noted that after step S123 , the target valley voltages corresponding to the read voltages of all steps of the next page can be determined.
[0223] FIG17 is a second flowchart of a method for operating a memory device according to an embodiment of the present application. The detailed process of determining the target valley voltage will be described in detail below with reference to FIG17 .
[0224] In step S201, the target valley voltage acquisition procedure is triggered, and the target valley voltage acquisition process is started. Next, step S202 is executed.
[0225] In step S202, in some embodiments, the read mode of the memory device is set to a single-level read mode, where the single-level read mode includes reading at least one bit of data stored in the memory cell using a single-level read voltage.
[0226] As previously mentioned, since the memory cell has multiple storage bits, the multiple storage bits correspond to multiple pages, and at least one page corresponds to multiple levels. When determining the target valley voltage, the target valley voltage for each level of the at least one level of read voltage corresponding to each of the multiple pages is determined sequentially. In step S203, one level is selected from the multiple levels corresponding to a page as the target level, and the target read voltage corresponding to the target level read voltage is first determined. For example, using TLC as an example, the target valley voltages for the first level read voltage L1 and the fifth level read voltage L5 corresponding to the next page are first determined. Either L1 or L5 can be selected as the target level. After the target level is determined, step S204 is executed.
[0227] In step S204, the main task is to determine the type of the target order. Here, the target order can be divided into two categories, the first order (also called high order) and the second order (also called low order), wherein the read voltage of the first order is greater than the read voltage of the second order. For example, still taking the lower page of TLC as an example, L5 is the first order and L1 is the second order. If L1 is selected as the target order in step S203, the target order is the second order, that is, the low order; if L5 is selected as the target order in step S204, the target order is the first order, that is, the high order. According to the target order being the low order, execute step S205; according to the target order being the high order, execute step S207.
[0228] In step S205, a predicted valley voltage is obtained. Here, the predicted valley voltage is obtained by deriving the predicted valley voltage corresponding to the lower order based on the target valley voltage corresponding to the higher order and a related mapping function. Here and below, the related mapping function may be obtained by fitting a large number of experimental results before the memory device leaves the factory and stored in the memory device. Next, step S206 is executed.
[0229] In step S206, it is determined whether the two-step prediction is successful. Here, the so-called two-step prediction may include a first prediction and a second prediction. The first prediction is to obtain a high-order predicted valley voltage. Specifically, the high-order predicted valley voltage is obtained based on the first result corresponding to the target read voltage (default read voltage), the order of the high-order, and the first mapping function. The second prediction is to obtain a low-order predicted valley voltage. Specifically, the low-order predicted valley voltage is obtained based on the high-order predicted valley voltage, the order of the low-order, and the second mapping function. After the two-step prediction, the predicted valley voltage is not confirmed. Hard decoding is performed directly using the high-order predicted valley voltage and the low-order predicted valley voltage. If the hard decoding succeeds, the two-step prediction is successful. The search for the target valley voltage is then stopped, and step S245 is executed. If the hard decoding fails, the two-step prediction fails. The point corresponding to the predicted valley voltage is used as the near-valley point for subsequent iterations, and step S220 is continued. Step S220 will be described in detail in the subsequent description.
[0230] It should be noted that if the hard decoding fails, it means that the two-step prediction is unsuccessful. At this time, it is necessary to determine the target valley voltage through searching or also called looping (or iteration). Therefore, when the two-step prediction is unsuccessful, the loop process will be entered. After the two-step prediction is unsuccessful, the search process can be directly executed from the beginning of the loop, that is, jumping from step S206 to S208; or the point corresponding to the predicted valley voltage can be directly used as the near-valley point of the subsequent iteration, that is, jumping from step S206 (S219) to S220.
[0231] If the target level is high, a search or loop is performed to determine the target valley voltage for the high level. In step S207, a default read voltage is used as the target read voltage. Here, the target read voltage can serve as the initial value for subsequent searches or loops. In some implementations, the default read voltage can be the read voltage when the threshold voltage of the memory cell has not shifted, such as the read voltage corresponding to a write operation, in which case the corresponding offset value is 0 DAC. Step S208 is executed after step S207.
[0232] In step S208, the target valley voltage is determined by searching or looping. After step S208, step S209 is executed.
[0233] During the first execution of the loop, step S209 is to obtain the first result at the target read voltage. It is understood that during subsequent execution of the loop, step S209 is to obtain the first result at the adjusted target read voltage. Step S210 is executed after step S209.
[0234] In step S210, various parameters are determined or adjusted based on the first result under the target read voltage. Here, the various parameters may include at least a first threshold, a first boundary voltage (the position corresponding to the first boundary voltage is also called the left boundary) and a second boundary voltage (the position corresponding to the second boundary voltage is also called the right boundary). It is understandable that when performing a read operation, the further the threshold voltage of the memory cell shifts compared to the threshold voltage during writing, the larger the first result read using the target read voltage will generally be. Based on this, the specific value of the first result under the default read voltage can be used to confirm the first threshold value. The first threshold value is used to characterize the change (lift) in the valley voltage caused by the shift of the threshold voltage of the memory cell. Here, the initial first boundary voltage and the initial second boundary voltage can be set based on empirical values, such as initially setting an initial first boundary voltage and an initial second boundary voltage with a relatively large range. Then, based on the first result under the target read voltage, the initial first boundary voltage and the initial second boundary voltage are adjusted, such as narrowing the range of the first boundary voltage and the second boundary voltage to obtain the first boundary voltage and the second boundary voltage. Step S211 is performed after step S210.
[0235] It should be noted that step S210 is mainly for the first execution cycle process, and can be skipped for subsequent execution cycles.
[0236] During the first execution of the loop, step S211 determines whether the first result at the target read voltage is less than the first threshold. It is understood that during subsequent executions of the loop, step S211 determines whether the first result at the adjusted target read voltage is less than the first threshold. If the determination result in step S211 is yes, it can be assumed that the first result corresponding to the adjusted target read voltage basically meets the requirements for read data decoding. The process then jumps to step S242, terminating the loop and outputting the corresponding target valley voltage. If the determination result in step S211 is no, the loop continues to step S212.
[0237] In step S212, it is determined whether the target memory block is a partially written memory block. Here, the target memory block is the memory block where at least one codeword to be read is located. A partially written memory block includes a memory block that has both a programmed state and an erased state. If the result of step S212 is yes, step S213 is executed; if the result of step S212 is no, step S214 is executed.
[0238] It should be noted that step S212 is mainly for the first execution of the loop process, and for subsequent execution of the loop process, this step can be skipped. After skipping this step, step S214 is continued.
[0239] In step S213, considering that the offset of the threshold voltage of the storage cell in the underfilled storage block is more complex than the offset of the threshold voltage of the storage cell in the filled storage block (the filled storage block can be understood as a storage block with a write time difference less than a preset time length in the same application scenario as the underfilled storage block), the offset of the threshold voltage of the storage cell in the underfilled storage block is also related to the position of the first blank physical page in the underfilled storage block (the first blank physical page can be understood as the physical page in which the first data state appearing in the underfilled storage block is all erased according to the programming order) and the position of the physical page to be read (the physical page where the at least one codeword to be read is located). Based on this, the predicted valley voltage can be obtained based on the first offset corresponding to the filled storage block, the second offset corresponding to the position of the first blank physical page in the underfilled storage block, and the third offset corresponding to the position of the physical page to be read, and then the process proceeds to step S214. It is understandable that the obtained predicted valley voltage is more targeted than blindly adjusting the target read voltage, and can shorten the search time to a certain extent and determine the target valley voltage more quickly.
[0240] In step S214, determine whether a near-valley point is found. Here, the target read voltage after each adjustment is used as the horizontal coordinate, and the first result corresponding to the corresponding adjusted target read voltage is used as the vertical coordinate, and the horizontal and vertical coordinates will form a point. In the process of adjusting the target read voltage multiple times, the point corresponding to the multiple first results corresponding to the multiple adjusted target read voltages that is first less than the near-valley threshold can be used as the near-valley point. The near-valley threshold is used to characterize the maximum value of the first result corresponding to the voltage close to the bottom of the valley. It should be noted that the near-valley threshold is different from the aforementioned first threshold. When the first result is less than the near-valley threshold, it means that a more refined search can be carried out next; when the first result is less than the first threshold, it means that the search can be stopped next. When the judgment result of step S214 is yes, execute step S219; when the judgment result of step S214 is no, execute step S215.
[0241] If no near-valley point is found in step S215, the process proceeds to step S215, where the predicted read voltage after the next adjustment is obtained based on the first result corresponding to the target read voltage after the previous adjustment and the related mapping function (such as the first mapping function described above). That is, the prediction is iterated using the aforementioned prediction formula or mapping function. After step S215, step S216 is executed.
[0242] In step S216, a determination is made as to whether the next adjusted predicted read voltage hits a boundary. The boundary here can be either the left boundary or the right boundary, and hitting the boundary can be understood as being exactly on the boundary or crossing the boundary. If the determination result in step S216 is yes, step S217 is executed; if the determination result in step S216 is no, step S218 is executed.
[0243] In step S217, the adjustment direction is changed. There are two adjustment directions for adjusting the target read voltage: positive (rightward) and negative (leftward). Adjusting the offset direction can be understood as: previously adjusting to the right, then adjusting to the left after hitting the right boundary; or previously adjusting to the left, then adjusting to the right after hitting the left boundary. After step S217, step S218 is executed.
[0244] In step S218, the first result of the adjusted target read voltage is obtained. After step S218, step S214 is executed. That is, after each target voltage adjustment and the corresponding first result is obtained, a determination is made as to whether the latest adjustment point is a near-valley point. One or more adjustments are performed until a near-valley point is found.
[0245] It should be noted that if the next cycle is entered after the step of finding the near valley point because the subsequent conditions are not met, steps S215 to S218 can be skipped.
[0246] In step S219, you can refer to the description in step S206. When the two-step prediction is unsuccessful, the loop process will be entered. After the two-step prediction is unsuccessful, the point corresponding to the predicted valley bottom voltage can be directly used as the near-valley point of the subsequent iteration, that is, jump from step S219 to S220.
[0247] In step S220, it is determined whether the predicted valley voltage at the current point (the latest adjusted target read voltage) is valid. In some embodiments, the predicted valley voltage can be determined to be valid by the first result corresponding to the latest adjusted target read voltage being less than the first threshold. It should be noted that although in step S211, when the first result under the (adjusted) target read voltage is not less than the first threshold, S212 and subsequent steps are entered, but before the judgment result of step S214 is yes, the target read voltage is adjusted at least once, so the new adjusted target read voltage may be less than the first threshold at this time. When the judgment result of step S220 is yes, step S224 is executed; when the judgment result of step S220 is no, step S221 is executed.
[0248] In step S221, a determination is made as to whether the first result fbc of the current point is greater than the fbc of the previous point. After finding the near-valley point, a rough search for an inflection point begins to the left. Generally, the magnitude of fbc decreases and then increases. When the first result fbc of the current point is greater than the fbc of the previous point, this indicates that fbc will increase further during the subsequent leftward adjustment, and the previous point was a relatively small point. In this case, the previous point is set as the inflection point. In some embodiments, the step size used for the rough search can be a larger step size, for example, 5DAC-15DAC, or more specifically, 5DAC, 10DAC, or 15DAC. Based on this, if the determination result of step S221 is yes, step S223 is executed; if the determination result of step S221 is no, step S222 is executed.
[0249] In step S222, a rough search is performed to the left starting from the point near the valley, and each search is compared with the fbc of the previous search until a point is found where the value stops decreasing and starts increasing. Once this point is found, step S222 is completed and the process goes to step S223.
[0250] In step S223, the previous point (i.e., the point where the decrease stops and the increase begins) is set as the inflection point, and a fine search is performed to the right starting from the inflection point. In some embodiments, the step size used in the fine search can be a smaller step size, for example, 1DAC-4DAC, more specifically, 2DAC or 3DAC. After step S223, step S225 is executed.
[0251] In step S224, the current point is set as the inflection point, and a fine search is started from the inflection point to the right. In some embodiments, the step size used in the fine search can refer to step S223. After step S224, step S225 is executed.
[0252] In step S225 , it is determined whether the target read voltage is adjusted to the left. If the determination result of step S225 is yes, step S229 is executed; if the determination result of step S225 is no, step S226 is executed.
[0253] In step S226, the target read voltage is adjusted rightward. During the adjustment, a determination is made as to whether the right boundary is hit or whether the rise count (also known as an upward trend count, where an upward trend count is performed when the first result corresponding to the next adjusted target read voltage is greater than the first result corresponding to the previous adjusted target read voltage) exceeds a preset number TH2. In some embodiments, the preset number is 3-7 times, and illustratively, the preset number can be 3, 5, or 7 times. If the determination in step S226 is yes, step S228 is executed; if the determination in step S226 is no, step S227 is executed.
[0254] In step S227, if the right boundary is not hit or the lift count does not exceed the preset number TH2, the search continues to the right boundary and a judgment is made after each search until the right boundary is hit or the lift count exceeds the preset number TH2. That is, when step S227 is completed, the process jumps to step S228.
[0255] In step S228 , the target read voltage starts to be adjusted leftward.
[0256] In step S229, while adjusting the target read voltage to the left, it is determined whether the left boundary or lift count is hit. The lift count here can be understood with reference to the aforementioned step S226. The thresholds for the left and right lift counts are generally set to the same value. If the judgment result of step S229 is yes, step S231 is executed; if the judgment result of step S229 is no, step S230 is executed.
[0257] In step S230, if the left boundary is not hit or the lift count does not exceed the preset number TH2, the search continues to the left boundary, and a judgment is made after each search until the left boundary is hit or the lift count exceeds the preset number TH2. That is, when step S230 is completed, jump to step S231.
[0258] In step S231, a determination is made as to whether the most recent first result is the minimum. Here, the most recent first result refers to whether the first result at the adjusted target read voltage after the last target read voltage adjustment is the minimum. At this point, it is necessary to traverse all search points in at least this loop to find the adjusted target read voltage corresponding to the point with the minimum first result. If the determination result in step S231 is yes, step S233 is executed; if the determination result in step S231 is no, step S232 is executed.
[0259] In step S232, the latest first result is updated using the found minimum first result. Step S233 is executed after step S232.
[0260] In step S233, it is determined whether the near-valley count exceeds the preset number TH3. Here, the smallest first result among the multiple first results corresponding to the target read voltage after multiple adjustments is used as the reference value. If the number of the remaining multiple first results whose difference from the reference value is less than the second threshold is greater than the preset number, the search is stopped and the target read voltage corresponding to the smallest first result among the multiple first results is used as the target valley voltage. In some embodiments, the second threshold and the preset number can be set together according to actual conditions. Generally, if the second threshold is set slightly larger, the preset number is also relatively larger; generally, if the second threshold is set slightly smaller, the preset number is also relatively smaller. If the judgment result of step S233 is yes, the search is stopped and step S237 is executed. If the judgment result of step S233 is no, the next judgment is entered and step S234 is executed.
[0261] In step S234, a determination is made as to whether the repeated valley count exceeds a preset number TH4. Here, during multiple adjustments to the target read voltage, different adjustment methods may be employed. If the adjusted target read voltages corresponding to the different adjustment methods exceeding the preset number are the same, and the first result corresponding to the same target read voltage is the minimum value among all first results, the same target read voltage is used as the target valley voltage. In some embodiments, the preset number is 2-4, and illustratively, the preset number may be 2, 3, or 4. If the determination result in step S234 is yes, the search is terminated and step S237 is executed. If the determination result in step S234 is no, the process proceeds to the next determination step, executing step S235.
[0262] It should be noted that step S233 and step S234 belong to different judgment methods and their positions can be interchanged. In other words, the repeated valley count can be judged first, and then the approximate estimate can be judged when the repeated valley count does not meet the conditions. It is understandable that other judgments can also be performed here to determine whether the loop has ended.
[0263] In step S235, it is determined whether the loop has ended. If the determination result of step S235 is yes, step S237 is executed; if the determination result of step S235 is no, step S236 is executed.
[0264] In step S236, the process enters the next loop and continues searching. Step S236 jumps to step S209.
[0265] In step S237, the target step search is completed, and the adjusted target read voltage corresponding to the minimum first result is used as the target valley voltage. After step S237, step S238 is executed.
[0266] In step S238, it is determined whether the target order is a high order. If the determination result of step S238 is yes, step S239 is executed; if the determination result of step S238 is no, step S240 is executed.
[0267] In step S239, the predicted valley voltage of the low-order is obtained based on the target valley voltage of the high-order. Here, the predicted valley voltage of the low-order can be obtained by using the target valley voltage of the high-order, the order of the low-order, and a related mapping function (such as the second mapping function described above). Step S240 is executed after step S239.
[0268] In step S240, it is determined whether the corresponding target valley voltages have been determined for all the read voltage levels included in the page. If the determination result in step S240 is yes, it means that the target valley voltages corresponding to all the read voltage levels included in the page have been determined, and step S242 can be executed. If the determination result in step S240 is no, it means that the target valley voltages corresponding to all the read voltage levels included in the page have not yet been determined, and step S241 can be executed.
[0269] In step S241, for the steps for which the target valley voltage has not been determined, the target valley voltage of each step is determined in sequence. Step S236 jumps to step S202.
[0270] In step S242 , the process of obtaining the target valley voltage is terminated. It should be noted that after step S242 , the target valley voltages corresponding to the read voltages of all steps of the next page can be determined.
[0271] It should be noted that the method disclosed in the embodiments of the present application can solve many problems existing in the reread operation, but it is not used to limit the application scenarios in the embodiments of the present application. The method disclosed in the embodiments of the present application is also applicable to conventional read operations.
[0272] It should be noted that the execution entity of the specific implementation process of each step in Figures 16 and 17 can be a peripheral circuit or a memory controller.
[0273] In a second aspect, an embodiment of the present application provides a memory system, as shown in Figures 18 and 19, the memory system 102 includes: one or more memory devices 104 as provided in the first aspect; and a memory controller 106, which is coupled to the memory device 104 and controls the memory device 104.
[0274] As shown in FIG18 , in some embodiments, a memory system 102 is coupled to a host, responding to host instructions and performing various feedback operations. Memory system 102 may include a memory controller 106 and a memory device 104. Memory controller 106 is configured to control memory device 104 to perform operations such as read, write, and erase. Memory controller 106 and memory device 104 may also be coupled in any suitable manner.
[0275] The memory controller 106 may include a host interface (I / F) 1061, a memory interface (I / F) 1062, a control unit 1063, a read-only memory (ROM) 1069, a random access memory (RAM) 1070, an error correction module 1064, a garbage collection module 1065, a wear leveling module 1066, a data buffer 1067, and a bus 1060. The host interface 1061 is a connection interface between the host 108 and the memory controller 106. The host interface 1061 allows the host and the memory controller to communicate according to a specific protocol, send read and write requests, and perform other operations. The memory interface 1062 is a connection interface between the memory controller 106 and the memory device 104. The memory interface 1062 is used to implement data transmission between the memory controller 106 and the memory device 104. The control unit 1063 is used to control the memory system 106 as a whole. The specific steps executed by the memory controller described above are mainly executed and completed by the control unit 1063 here. In some specific embodiments, the control unit 1063 is, for example, a central processing unit (CPU), a microprocessor (MCU), etc. The ROM 1069 generally contains the firmware or firmware program code of the memory controller 106, which is used to initialize and operate the various components of the memory controller. The RAM 1070 is generally used to cache data. The error correction module 1064 can further include an encoding unit and a decoding unit; the encoding unit is used to encode the data to be stored to obtain check data, and the decoding unit is used to decode the check data to detect and correct possible erroneous data during data transmission.
[0276] The garbage collection module 1065 is used to read valid data from some storage blocks, rewrite it, and then mark these storage blocks as new backup storage blocks after the storage space of the memory device reaches a certain threshold. Garbage collection is generally implemented in three steps: selecting a source storage block with less valid data; finding valid data from the source storage block; and writing the valid data to the target storage block. At this point, all data in the source storage block becomes invalid data, and the source storage block is marked and can be used as a new backup storage block. The wear leveling module 1066 is used to maintain a balanced wear (number of erases) on each storage block in the memory system through data statistics and algorithms. Wear leveling is generally implemented in two steps: selecting a source storage block containing cold data; reading valid data from the source storage block and writing it to a storage block with a relatively high erase count. At this point, the valid data in the source storage block becomes invalid data and is marked. The buffer 1067 is used to cache data.
[0277] In some specific embodiments, the memory controller 106 is configured to control the memory device 104 to perform a read operation on at least one codeword.
[0278] In some specific embodiments, the memory device 104 includes: a memory cell array including memory cells having multiple storage bits; multiple levels of read voltage corresponding to the multiple storage bits; a preset number of memory cells forming a codeword; peripheral circuitry of the memory device 104, coupled to the memory cell array and configured to: obtain a first result corresponding to at least one codeword at a target read voltage at a target level; the first result including a number of bits flipped in two read results representing the at least one codeword at the first read voltage and the second read voltage; the difference between the first read voltage and the second read voltage being less than a preset voltage; obtaining a predicted valley voltage of the target level based on the first result corresponding to the at least one codeword at the target read voltage at the target level and the level of the target level; and determining a target valley voltage of the target level based on the predicted valley voltage of the target level; the target valley voltage being used as the read voltage when performing a read operation on the at least one codeword.
[0279] In some specific embodiments, the peripheral circuit of the memory device 104 is configured to obtain a predicted valley voltage of the target step based on the first result corresponding to the target read voltage, the step number of the target step, and a mapping function; the mapping function is used to characterize the relationship between the first result corresponding to the target read voltage, the step number of the target step, and the predicted valley voltage of the target step.
[0280] In some specific embodiments, the peripheral circuit of the memory device 104 is configured to: calculate the product of the prediction direction and the compensation value; the prediction direction is determined based on the first result corresponding to the target read voltage, the programming state of the storage block where the codeword is located, and the level number of the target level; the compensation value is determined based on the first result corresponding to the target read voltage and the level number of the target level; and the sum of the product and the target read voltage is used as the predicted valley voltage of the target level.
[0281] In some specific embodiments, the peripheral circuit of the memory device 104 is configured to obtain a compensation value based on a first result corresponding to a target read voltage, the level of the target level, a first constant, a second constant, and a step size; wherein the first constant and the second constant are both fixed values related to the level of the target level, and the step size is related to the first constant and the second constant.
[0282] In some specific embodiments, the peripheral circuit of the memory device 104 is configured as follows: based on the predicted valley voltage of the target level meeting the preset condition, the predicted valley voltage of the target level is used as the target valley voltage of the target level; based on the predicted valley voltage of the target level not meeting the preset condition, the first result corresponding to the last predicted valley voltage is used as the first result in the mapping function, and the mapping function is iterated in a loop until the predicted valley voltage of the target level meets the preset condition.
[0283] In some specific embodiments, the peripheral circuit of the memory device 104 is configured to: obtain a preset threshold value based on the first result corresponding to the target read voltage; the preset threshold value is used to represent the first result corresponding to the maximum value in the valid range of the predicted valley voltage; and based on the first result corresponding to the predicted valley voltage of the target level being less than the preset threshold value, use the predicted valley voltage of the target level as the target valley voltage of the target level.
[0284] In some specific embodiments, the peripheral circuit of the memory device 104 is configured as follows: if the predicted valley voltage of the target stage still does not meet the preset condition after the mapping function is iterated more than a preset number of times, the predicted valley voltage of the target stage is adjusted multiple times with the first step length, and the first results corresponding to the read voltages after the multiple first adjustments are respectively obtained; the inflection point value is determined based on the first results corresponding to the read voltages after the multiple first adjustments, and the read voltage corresponding to the inflection point value is the inflection point voltage; the inflection point voltage is adjusted multiple times with a second step length, and the first results corresponding to the read voltages after the multiple second adjustments are respectively obtained; the second step length is smaller than the first step length; and the target valley voltage of the target stage is determined based on the first results corresponding to the read voltages after the multiple second adjustments.
[0285] In some specific embodiments, the first result corresponding to the read voltage after multiple first adjustments includes a first adjacent value and a second adjacent value adjacent to the inflection point value; the peripheral circuit of the memory device 104 is configured to: limit the read voltage corresponding to each of the multiple second adjustments to between the read voltage corresponding to the first adjacent value and the inflection point voltage based on the difference between the first adjacent value and the inflection point value being less than the difference between the second adjacent value and the inflection point value; and obtain the average value of the read voltage corresponding to the first adjacent value and the inflection point voltage, and when the first result corresponding to the average value is less than a preset threshold, use the average value as the target valley voltage; when the first result corresponding to the average value is greater than or equal to the preset threshold, continue to perform a second adjustment between the read voltage corresponding to the first adjacent value and the inflection point voltage until the first result corresponding to the adjusted read voltage is less than the preset threshold.
[0286] In some specific embodiments, multiple storage bits correspond to multiple pages respectively; at least one page corresponds to multiple levels, the multiple levels include a first level and a second level, and the read voltage of the second level is lower than the read voltage of the first level; the peripheral circuit of the memory device 104 is configured to: obtain a predicted valley voltage of the second target level based on the predicted valley voltage of the first target level, the first target level includes at least one first level among the multiple first levels corresponding to the multiple pages, and the second target level includes the remaining first levels and / or second levels; the read voltage of the second target level is lower than the read voltage of the first target level.
[0287] In some embodiments, the peripheral circuits of the memory device 104 are configured to perform a read operation on at least one codeword according to the predicted valley voltages of all first and second stages.
[0288] In some specific embodiments, the peripheral circuits of the memory device 104 are configured to respectively obtain the predicted valley voltages of the other levels except the target level in the multiple levels.
[0289] In some specific embodiments, the peripheral circuit of the memory device 104 is configured to: read the stored data of at least one codeword at a first read voltage to obtain a second result; read the stored data of at least one codeword at a 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 that represent the flipping of the third result compared to the second result to obtain the first result.
[0290] In some specific embodiments, the peripheral circuit of the memory device 104 includes: a first latch, a second latch, and a third latch; the first latch is configured to store the second result; the second latch is configured to store the third result; and the third latch is configured to store the fourth result.
[0291] In some embodiments, the memory controller 106 is configured to: send a data acquisition instruction, the data acquisition instruction instructing to obtain a target valley voltage; the memory device 104 is configured to: receive the data acquisition instruction, obtain the target valley voltage, and send information including the target valley voltage to the memory controller; the memory controller is further configured to: perform a read operation on the data stored in the memory device according to the target valley voltage in the information.
[0292] In some embodiments, the memory controller 106 is further configured to perform an error correction code decoding operation on the read result of the read operation. In some implementations, the error correction code decoding operation includes a hard decoding operation using a low density parity check code (LDPC).
[0293] In some embodiments, the memory controller 106 is configured to: send a mode setting command, the mode setting command indicating that the read mode of the memory device is set to a single-level read mode; the single-level read mode includes reading at least one bit of storage data stored in the memory cell through a first-level read voltage; the memory device 104 is configured to: enter the single-level read mode in response to the mode setting command, and, in the single-level read mode, obtain a first result corresponding to at least one codeword at a target read voltage.
[0294] On the second aspect, in the memory system provided by the embodiment of the present application, the first result (the size of the first result can be several bytes) is transmitted without transmitting at least one codeword (for example, the size of the codeword can be 4KB), and the amount of data transmitted between the memory device and the memory controller is reduced; the process of obtaining the first result converges inside the memory device, does not occupy the space of the memory controller, and has a low degree of dependence on the memory controller; the predicted valley voltage of the target level is obtained in the memory device based on the first result corresponding to at least one codeword at the target level target read voltage and the level number of the target level, and the process of determining the target valley voltage based on the predicted valley voltage of the target level reduces the transmission time of the input and output ports of the memory device and / or the time of the error correction decoding operation of the memory controller, saves the iteration time of the error correction decoding algorithm of the memory controller, and makes the error correction decoding faster; it is suitable for MLC, TLC or QLC type memory systems.
[0295] In a third aspect, an embodiment of the present application provides a memory controller coupled to at least one memory device, the memory device including a storage unit having multiple bits of storage, the multiple storage bits corresponding to multiple levels of read voltages; a preset number of the storage units form a codeword; the memory controller includes: a control unit configured to: obtain a first result corresponding to at least one codeword at a target read voltage of a target level; the first result includes a representation of the number of bits flipped in two read results of at least one codeword at a first read voltage and a second read voltage; the difference between the first read voltage and the second read voltage is less than a preset voltage; obtain a predicted valley voltage of the target level based on the first result corresponding to the target read voltage of the target level and the level of the target level; and determine a target valley voltage of the target level based on the predicted valley voltage of the target level; the target valley voltage is used as a read voltage for at least one codeword when performing a read operation.
[0296] In some specific embodiments, the control unit is configured to: obtain the predicted valley voltage of the target step based on the first result corresponding to the target read voltage, the step number of the target step, and a mapping function; the mapping function is used to characterize the relationship between the first result corresponding to the target read voltage, the step number of the target step, and the predicted valley voltage of the target step.
[0297] In some specific embodiments, the control unit is configured to: calculate the product of the prediction direction and the compensation value; the prediction direction is determined based on the first result corresponding to the target read voltage, the programming state of the storage block where the codeword is located, and the level number of the target level; the compensation value is determined based on the first result corresponding to the target read voltage and the level number of the target level; and the sum of the product and the target read voltage is used as the predicted valley voltage of the target level.
[0298] In some specific embodiments, the control unit is configured to obtain a compensation value based on the first result corresponding to the target reading voltage, the order of the target order, the first constant, the second constant and the step size; wherein the first constant and the second constant are both fixed values related to the order of the target order, and the step size is related to the first constant and the second constant.
[0299] In some specific embodiments, the control unit is configured to: based on the predicted valley voltage of the target order meeting the preset conditions, use the predicted valley voltage of the target order as the target valley voltage of the target order; based on the predicted valley voltage of the target order not meeting the preset conditions, use the first result corresponding to the last predicted valley voltage as the first result in the mapping function, and perform loop iterations according to the mapping function until the predicted valley voltage of the target order meets the preset conditions.
[0300] In some specific embodiments, the control unit is configured to: obtain a preset threshold value based on the first result corresponding to the target reading voltage; the preset threshold value is used to characterize the first result corresponding to the maximum value in the valid range of the predicted valley voltage; based on the first result corresponding to the predicted valley voltage of the target level being less than the preset threshold value, the predicted valley voltage of the target level is used as the target valley voltage of the target level.
[0301] In some specific embodiments, the control unit is configured to: if the predicted valley bottom voltage of the target stage still does not meet the preset conditions after the mapping function is iterated more than a preset number of times, the predicted valley bottom voltage of the target stage is adjusted multiple times with the first step length, and the first results corresponding to the read voltages after the multiple first adjustments are respectively obtained; the inflection point value is determined based on the first results corresponding to the read voltages after the multiple first adjustments, and the read voltage corresponding to the inflection point value is the inflection point voltage; the inflection point voltage is adjusted multiple times with a second step length, and the first results corresponding to the read voltages after the multiple second adjustments are respectively obtained; the second step length is smaller than the first step length; and the target valley bottom voltage of the target stage is determined based on the first results corresponding to the read voltages after the multiple second adjustments.
[0302] In some specific embodiments, the first result corresponding to the read voltage after multiple first adjustments includes a first adjacent value and a second adjacent value adjacent to the inflection point value; the control unit is configured to: limit the read voltage corresponding to each of the multiple second adjustments to between the read voltage corresponding to the first adjacent value and the inflection point voltage based on the difference between the first adjacent value and the inflection point value being less than the difference between the second adjacent value and the inflection point value; and obtain the average value of the read voltage corresponding to the first adjacent value and the inflection point voltage, and when the first result corresponding to the average value is less than a preset threshold, use the average value as the target valley voltage; when the first result corresponding to the average value is greater than or equal to the preset threshold, continue to perform a second adjustment between the read voltage corresponding to the first adjacent value and the inflection point voltage until the first result corresponding to the adjusted read voltage is less than the preset threshold.
[0303] In some specific embodiments, multiple storage bits correspond to multiple pages respectively; at least one page corresponds to multiple stages, the multiple stages include a first stage and a second stage, and the read voltage of the second stage is lower than the read voltage of the first stage; the control unit is configured to: obtain the predicted valley voltage of the second target stage according to the predicted valley voltage of the first target stage, the first target stage includes at least one first stage among the multiple first stages corresponding to the multiple pages, and the second target stage includes the remaining first stages and / or second stages; the read voltage of the second target stage is lower than the read voltage of the first target stage.
[0304] In some specific embodiments, the control unit is configured to: perform a read operation on at least one codeword according to the predicted valley voltages of all first stages and second stages.
[0305] In some specific embodiments, the control unit is configured to respectively obtain predicted valley voltages of the multiple steps except the target step.
[0306] In some embodiments, the data size of the first result is less than a preset data size threshold. Exemplarily, the data size of the first result ranges from 1 byte to 4 bytes. Therefore, during the process of determining the target valley voltage, the data size transmitted between the memory device and the memory controller is small and fast, which is beneficial for improving the overall speed of the read operation.
[0307] Here, the term "control unit" can be understood in conjunction with the control unit shown in FIG18 . It should be noted that in this embodiment of the present application, the execution subject is replaced by the control unit in the memory controller instead of the aforementioned peripheral circuit. That is, in this embodiment of the present application, the memory device obtains at least one first result; the control unit simultaneously analyzes and processes the at least one first result and determines the target valley voltage based on the analysis and processing.
[0308] It should be noted that the execution subject of the specific implementation process of the aforementioned Figures 16 and 17 can be the control unit in the memory control.
[0309] On the third aspect, in the memory controller provided in the embodiment of the present application, a first result (the size of the first result can be several bytes) is transmitted between the memory device and the memory controller without transmitting at least one codeword (for example, the size of the codeword can be 4KB), so the amount of data transmitted between the memory device and the memory controller is reduced; the process of obtaining the first result converges inside the memory device, does not occupy the space of the memory controller, and has a low degree of dependence on the memory controller; compared with the memory device, the memory controller completes the process of obtaining the predicted valley voltage of the target stage based on the first result corresponding to at least one codeword at the target stage target read voltage and the stage number of the target stage, and the target valley voltage is determined based on the predicted valley voltage of the target stage. This process is more efficient, reduces the transmission time of the input and output ports of the memory device and / or the time of the error correction decoding operation of the memory controller, saves the iteration time of the error correction decoding algorithm of the memory controller, and makes the error correction decoding faster; it is suitable for MLC, TLC or QLC type memory systems.
[0310] In a fourth aspect, an embodiment of the present application provides an operating method for a memory device, wherein the memory device includes a memory cell having a plurality of storage bits, wherein the plurality of storage bits correspond to a plurality of levels of read voltages; a preset number of memory cells form a codeword; the operating method for the memory device includes: obtaining a first result corresponding to at least one codeword at a target read voltage of a target level; the first result includes a representation of the number of bits flipped in two read results of the at least one codeword at the first read voltage and the second read voltage; the difference between the first read voltage and the second read voltage is less than a preset voltage; obtaining a predicted valley voltage of the target level based on the first result corresponding to the at least one codeword at the target read voltage of the target level and the level of the target level; and determining a target valley voltage of the target level based on the predicted valley voltage of the target level; the target valley voltage is used as a read voltage for at least one codeword when performing a read operation.
[0311] In some embodiments, a method for operating a memory device includes obtaining a predicted valley voltage of a target step based on a first result corresponding to a target read voltage, the step number of the target step, and a mapping function; the mapping function is used to characterize the relationship between the first result corresponding to the target read voltage, the step number of the target step, and the predicted valley voltage of the target step.
[0312] In some embodiments, a method for operating a memory device includes: calculating the product of a prediction direction and a compensation value; determining the prediction direction based on a first result corresponding to a target read voltage, a programming state of a storage block where a codeword is located, and the level of a target level; and determining the compensation value based on the first result corresponding to the target read voltage and the level of the target level; and taking the sum of the product and the target read voltage as the predicted valley voltage of the target level.
[0313] In some embodiments, a method for operating a memory device includes obtaining a compensation value based on a first result corresponding to a target read voltage, a target level, a first constant, a second constant, and a step size; wherein the first constant and the second constant are both fixed values related to the target level, and the step size is related to the first constant and the second constant.
[0314] In some embodiments, a method for operating a memory device includes: based on the predicted valley voltage of the target level meeting a preset condition, using the predicted valley voltage of the target level as a target valley voltage of the target level; based on the predicted valley voltage of the target level not meeting the preset condition, using the first result corresponding to the last predicted valley voltage as the first result in a mapping function, and iterating according to the mapping function until the predicted valley voltage of the target level meets the preset condition.
[0315] In some embodiments, a method for operating a memory device includes: obtaining a preset threshold value based on a first result corresponding to a target read voltage; the preset threshold value is used to represent the first result corresponding to the maximum value in a valid range of the predicted valley voltage; if the first result corresponding to the predicted valley voltage of the target step is less than the preset threshold value, using the predicted valley voltage of the target step as a target valley voltage of the target step. In some embodiments, the method for operating a memory device includes: if the predicted valley voltage of the target step still does not meet a preset condition after looping through a mapping function for more than a preset number of times, performing a first adjustment on the predicted valley voltage of the target step with a first step size, and obtaining first results corresponding to the read voltages after the first adjustments; determining an inflection point value based on the obtained first results corresponding to the read voltages after the first adjustments, the read voltage corresponding to the inflection point value being the inflection point voltage; performing a second adjustment on the inflection point voltage with a second step size, and obtaining first results corresponding to the read voltages after the second adjustments; the second step size is less than the first step size; and determining the target valley voltage of the target step based on the obtained first results corresponding to the read voltages after the second adjustments.
[0316] In some embodiments, the first result corresponding to the read voltage after multiple first adjustments includes a first adjacent value and a second adjacent value adjacent to the inflection point value; the operating method of the memory device includes: according to the difference between the first adjacent value and the inflection point value being less than the difference between the second adjacent value and the inflection point value, limiting the read voltage corresponding to each adjustment of the multiple second adjustments to between the read voltage corresponding to the first adjacent value and the inflection point voltage; and obtaining the average value of the read voltage and the inflection point voltage corresponding to the first adjacent value, when the first result corresponding to the average value is less than a preset threshold, using the average value as the target valley voltage; when the first result corresponding to the average value is greater than or equal to the preset threshold, continuing to perform a second adjustment between the read voltage corresponding to the first adjacent value and the inflection point voltage until the first result corresponding to the adjusted read voltage is less than the preset threshold.
[0317] In some embodiments, multiple storage bits correspond to multiple pages respectively; at least one page corresponds to multiple levels, the multiple levels include a first level and a second level, and a read voltage of the second level is lower than a read voltage of the first level; an operating method of the memory device includes: obtaining a predicted valley voltage of a second target level based on a predicted valley voltage of a first target level, the first target level includes at least one first level among multiple first levels corresponding to the multiple pages, and the second target level includes the remaining first levels and / or second levels; the read voltage of the second target level is lower than the read voltage of the first target level.
[0318] In some embodiments, a method for operating a memory device includes performing a read operation on at least one codeword according to predicted valley voltages of all first and second levels.
[0319] In some embodiments, a method for operating a memory device includes: respectively obtaining predicted valley voltages of other levels except a target level among a plurality of levels.
[0320] In some embodiments, a method for operating a storage device includes: reading stored data of at least one codeword at a first read voltage to obtain a second result; reading stored data of at least one codeword at a second read voltage to obtain a third result; performing a logical operation on the second result and the third result to obtain a fourth result; and counting the number of bits in the fourth result that represent a flip of the third result compared to the second result to obtain a first result.
[0321] In a fifth aspect, an embodiment of the present application provides an operating method for a memory system, comprising: a memory controller in the memory system sends a data acquisition instruction, the data acquisition instruction instructing to obtain a target valley voltage; a memory device in the memory system receives the data acquisition instruction, obtains the target valley voltage according to the operating method of the memory device of the fourth aspect, and sends information including the target valley voltage to the memory controller; the memory controller performs a read operation on the data stored in the memory device according to the target valley voltage in the information.
[0322] In some specific embodiments, a memory device in a memory system includes a memory cell having a plurality of storage bits, wherein the plurality of storage bits correspond to a plurality of levels of read voltages; a preset number of memory cells form a codeword; and an operating method of the memory system includes: obtaining a first result corresponding to at least one codeword at a target read voltage of a target level; the first result includes a representation of the number of bits flipped in two read results of the at least one codeword at the first read voltage and the second read voltage; the difference between the first read voltage and the second read voltage is less than a preset voltage; obtaining a predicted valley voltage of the target level based on the first result corresponding to the at least one codeword at the target read voltage of the target level and the level of the target level; and determining a target valley voltage of the target level based on the predicted valley voltage of the target level; the target valley voltage is used as a read voltage when performing a read operation on the at least one codeword.
[0323] In a sixth aspect, an embodiment of the present application provides an operating method of a memory controller, which is coupled to at least one memory device, wherein the memory device includes a memory cell having a plurality of storage bits, and the plurality of storage bits correspond to a plurality of levels of read voltages; a preset number of memory cells form a codeword; the operating method of the memory controller of the memory device includes: obtaining a first result corresponding to at least one codeword at a target read voltage of a target level; the first result includes a representation of the number of bits flipped in two read results of at least one codeword at a first read voltage and a second read voltage; the difference between the first read voltage and the second read voltage is less than a preset voltage; obtaining a predicted valley voltage of the target level based on the first result corresponding to the target read voltage of the target level and the level of the target level; and determining a target valley voltage of the target level based on the predicted valley voltage of the target level; the target valley voltage is used as a read voltage for at least one codeword when performing a read operation.
[0324] In some embodiments, a method for operating a memory controller of a memory device includes: obtaining a predicted valley voltage of a target step based on a first result corresponding to a target read voltage, a step number of a target step, and a mapping function; the mapping function is used to characterize the relationship between the first result corresponding to the target read voltage, the step number of the target step, and the predicted valley voltage of the target step.
[0325] In some embodiments, an operating method of a memory controller of a memory device includes: calculating the product of a prediction direction and a compensation value; determining the prediction direction based on a first result corresponding to a target read voltage, a programming state of a storage block where a codeword is located, and the level of a target level; and determining the compensation value based on the first result corresponding to the target read voltage and the level of the target level; and taking the sum of the product and the target read voltage as the predicted valley voltage of the target level.
[0326] In some embodiments, a method for operating a memory controller of a memory device includes: obtaining a compensation value based on a first result corresponding to a target read voltage, the level of the target level, a first constant, a second constant, and a step size; wherein the first constant and the second constant are both fixed values related to the level of the target level, and the step size is related to the first constant and the second constant. In some embodiments, a method for operating a memory controller of a memory device includes: based on a predicted valley voltage of the target level meeting a preset condition, using the predicted valley voltage of the target level as a target valley voltage of the target level; and based on a predicted valley voltage of the target level not meeting the preset condition, using the first result corresponding to the previous predicted valley voltage as a first result in a mapping function, and iterating the mapping function until the predicted valley voltage of the target level meets the preset condition.
[0327] In some embodiments, a method for operating a memory controller of a memory device includes: obtaining a preset threshold value based on a first result corresponding to a target read voltage; the preset threshold value is used to represent the first result corresponding to the maximum value in a valid range of the predicted valley voltage; if the first result corresponding to the predicted valley voltage of the target step is less than the preset threshold value, using the predicted valley voltage of the target step as a target valley voltage of the target step. In some embodiments, a method for operating a memory controller of a memory device includes: if the predicted valley voltage of the target step still does not meet a preset condition after looping through a mapping function for more than a preset number of times, performing a first adjustment on the predicted valley voltage of the target step with a first step size, and obtaining first results corresponding to the read voltages after the first adjustments; determining an inflection point value based on the obtained first results corresponding to the read voltages after the first adjustments, the read voltage corresponding to the inflection point value being the inflection point voltage; performing a second adjustment on the inflection point voltage with a second step size, and obtaining first results corresponding to the read voltages after the second adjustments; the second step size is less than the first step size; and determining the target valley voltage of the target step based on the obtained first results corresponding to the read voltages after the second adjustments.
[0328] In some embodiments, the first result corresponding to the read voltage after multiple first adjustments includes a first adjacent value and a second adjacent value adjacent to the inflection point value; the operating method of the memory controller of the memory device includes: according to the difference between the first adjacent value and the inflection point value being less than the difference between the second adjacent value and the inflection point value, limiting the read voltage corresponding to each adjustment of the multiple second adjustments to between the read voltage corresponding to the first adjacent value and the inflection point voltage; and obtaining the average value of the read voltage and the inflection point voltage corresponding to the first adjacent value, when the first result corresponding to the average value is less than a preset threshold, using the average value as the target valley voltage; when the first result corresponding to the average value is greater than or equal to the preset threshold, continuing to perform a second adjustment between the read voltage corresponding to the first adjacent value and the inflection point voltage until the first result corresponding to the adjusted read voltage is less than the preset threshold.
[0329] In some embodiments, multiple storage bits correspond to multiple pages respectively; at least one page corresponds to multiple levels, the multiple levels include a first level and a second level, and a read voltage of the second level is lower than a read voltage of the first level; an operating method of a memory controller of a memory device includes: obtaining a predicted valley voltage of a second target level based on a predicted valley voltage of a first target level, the first target level includes at least one first level among a plurality of first levels corresponding to the multiple pages, and the second target level includes the remaining first levels and / or second levels; the read voltage of the second target level is lower than the read voltage of the first target level.
[0330] In some embodiments, a method of operating a memory controller of a memory device includes performing a read operation on at least one codeword according to predicted valley voltages of all first and second levels.
[0331] In some embodiments, a method for operating a memory controller of a memory device includes respectively obtaining predicted valley voltages of other levels among a plurality of levels except a target level.
[0332] Figure 20 is an exemplary timing diagram for starting a single-stage read mode operation provided by the present application. DQx can be represented as a data bus signal, and Cycle Type can further represent the type of the data bus signal.
[0333] As shown in FIG20 , the set function command may include, for example, a sub-command (e.g., EFh). Exemplarily, the memory device starts the single-level read mode upon receiving a sub-command EFh. In the single-level read mode, the memory device transmits the address ADDR of the data to be read (e.g., two column addresses C1-C2 and three row addresses R1-R3) between the received sub-commands 00h and 30h. During the read time, the data DATA (e.g., Dn) corresponding to the page of the received address may be cached in the page buffer first, and then the data DATA may be read on demand. It should be noted that in the above embodiment, when performing a reread operation, the data corresponding to a physical page (e.g., Dn) needs to be frequently transmitted (Din / Dout) between the memory device and the memory controller, and the transmission of the data takes a long time.
[0334] Figure 21 is a timing diagram for determining a target valley voltage and performing a read operation according to an embodiment of the present application. As shown in Figure 21, a read command may include, for example, two sub-commands (e.g., 00h and 30h). For example, the memory device transmits the address ADDR of the data to be read (e.g., two column addresses C1-C2 and three row addresses R1-R3) between the received sub-commands 00h and 30h. After the memory device receives sub-command 30h, it may first cache the corresponding data DATA (e.g., Dn) in the page of the received address in a page buffer within the read time, and then read the data DATA on demand.
[0335] In an exemplary embodiment, the memory device 104 transmits the address ADDR of the data to be read (e.g., two column addresses C1-C2 and three row addresses R1-R3) between the received subcommands 00h and 30h. After receiving subcommand 30h, the memory device 104 receives subcommands EFh and xxh of the data acquisition instruction. Under the instruction of the data acquisition instruction, the memory device 104 acquires the first result corresponding to the codeword at the corresponding read voltage and sends the acquired first result to the memory controller. The memory controller determines a target valley voltage based on the multiple first results corresponding to the multiple different read voltages received from the memory device and performs a read operation on the data stored in the memory device according to the target valley voltage.
[0336] It should be noted that the data acquisition instruction provided in the embodiment of the present application is only an example and should not unduly limit the scope of protection of the present application.
[0337] In some embodiments, the data volume of the first result is less than a preset data volume threshold, for example, the data volume of the first result ranges from 1 byte to 4 bytes. Therefore, in the process of determining the target valley voltage, the amount of data transmitted between the memory device and the memory controller is small and the speed is fast, which is conducive to improving the overall speed of the read operation.
[0338] An embodiment of the present application further provides a storage medium having executable instructions stored thereon. When the executable instructions are executed, the steps of the operating method in the above embodiment of the present application can be implemented.
[0339] In some specific embodiments, the storage medium can be a memory such as Ferromagnetic Random Access Memory (FRAM), Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Flash Memory, magnetic surface storage, an optical disc, or a Compact Disc Read-Only Memory (CD-ROM); it can also be various devices including one or any combination of the above memory devices.
[0340] In some embodiments, executable instructions may be in the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0341] As an example, executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file that stores other programs or data, e.g., in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinating files (e.g., files storing one or more modules, subroutines, or code portions).
[0342] As an example, executable instructions may be deployed to be executed on one electronic device, or on multiple electronic devices located at one site, or on multiple electronic devices distributed across multiple sites and interconnected by a communication network.
[0343] In some specific embodiments, referring to Figure 22, Figure 22 is a schematic diagram of the composition structure of a storage medium provided in an embodiment of the present application; wherein, the storage medium includes a first storage medium corresponding to the memory device 104, a second storage medium corresponding to the memory controller 104, and a third storage medium corresponding to the memory system 102; when the executable instruction is executed by the memory device, the first storage medium can be used to implement the steps of the operating method of the memory device described in the above embodiment of the present application; when the executable instruction is executed by the memory controller, the second storage medium can be used to implement the steps of the operating method of the memory controller described in the above embodiment of the present application; when the executable instruction is executed by the memory system, the third storage medium can be used to implement the steps of the operating method of the memory system described in the above embodiment of the present application.
[0344] It should be understood that "one embodiment" or "an embodiment" mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. The above-mentioned serial numbers of the embodiments of the present application are for description only and do not represent the advantages and disadvantages of the embodiments.
[0345] The above description is only a preferred embodiment of the present application and does not limit the patent scope of the present application. All equivalent structural transformations made using the contents of the present application description and drawings under the inventive concept of the present application, or direct / indirect application in other related technical fields are included in the patent protection scope of the present application.
Claims
1. A memory device comprising: A memory cell array includes memory cells having multiple storage bits, wherein the multiple storage bits correspond to multiple levels of read voltages; A preset number of storage units form a codeword; A peripheral circuit is coupled to the memory cell array and is configured to: Obtaining a first result corresponding to at least one of the codewords at a target read voltage of a target level; the first result including a number of bits flipped in two read results of the at least one codeword at the first read voltage and at a second read voltage; and a difference between the first read voltage and the second read voltage being less than a preset voltage; Obtaining a predicted valley voltage of the target step according to a first result corresponding to at least one of the codewords at a target read voltage of the target step and the step number of the target step; and Based on the predicted valley voltage of the target step, a target valley voltage of the target step is determined; the target valley voltage is used as a read voltage when performing a read operation on at least one of the codewords.
2. The memory device according to claim 1, wherein The peripheral circuit is configured as follows: According to the first result corresponding to the target read voltage, the order number of the target order, and the mapping function, the predicted valley voltage of the target order is obtained; the mapping function is used to characterize the relationship between the first result corresponding to the target read voltage, the order number of the target order and the predicted valley voltage of the target order.
3. The memory device according to claim 2, wherein The peripheral circuit is configured as follows: Calculating a product of a prediction direction and a compensation value; the prediction direction is determined according to a first result corresponding to the target read voltage, a programming state of a memory block where the codeword is located, and the level of the target level; and the compensation value is determined according to the first result corresponding to the target read voltage and the level of the target level; The sum of the product and the target read voltage is used as the predicted valley voltage of the target step.
4. The memory device according to claim 3, wherein The peripheral circuit is configured as follows: The compensation value is obtained according to the first result corresponding to the target reading voltage, the order of the target order, the first constant, the second constant and the step size; wherein the first constant and the second constant are both fixed values related to the order of the target order, and the step size is related to the first constant and the second constant.
5. The memory device according to claim 2, wherein The peripheral circuit is configured as follows: According to the predicted valley bottom voltage of the target step satisfying a preset condition, taking the predicted valley bottom voltage of the target step as the target valley bottom voltage of the target step; According to the fact that the predicted valley voltage of the target order does not meet the preset condition, the first result corresponding to the last predicted valley voltage is used as the first result in the mapping function, and the mapping function is iterated in a loop until the predicted valley voltage of the target order meets the preset condition. The memory device according to claim 5 , wherein: The peripheral circuit is configured as follows: Obtaining a preset threshold value according to a first result corresponding to the target reading voltage; The preset threshold is used to represent a first result corresponding to a maximum value in a valid range of the predicted valley voltage; According to the first result corresponding to the predicted valley voltage of the target step being smaller than the preset threshold, the predicted valley voltage of the target step is used as the target valley voltage of the target step.
7. The memory device according to claim 6, wherein: The peripheral circuit is configured as follows: If the predicted valley voltage of the target step still does not meet a preset condition after loop iterations according to the mapping function exceed a preset number of times, the predicted valley voltage of the target step is adjusted multiple times with a first step length, and first results corresponding to the read voltages after the multiple first adjustments are respectively obtained; determining an inflection point value according to the first results corresponding to the read voltages obtained after the multiple first adjustments, where the read voltage corresponding to the inflection point value is the inflection point voltage; Performing a second adjustment on the knee point voltage multiple times with a second step size, and respectively obtaining first results corresponding to the read voltage after the multiple second adjustments; The second step length is smaller than the first step length; and The target valley voltage of the target step is determined according to the obtained first results corresponding to the plurality of second adjusted read voltages.
8. The memory device according to claim 7, wherein The first results corresponding to the read voltages after the multiple first adjustments include a first adjacent value and a second adjacent value adjacent to the inflection point value; The peripheral circuit is configured as follows: According to the difference between the first adjacent value and the inflection point value being less than the difference between the second adjacent value and the inflection point value, limiting the read voltage after each adjustment corresponding to the multiple second adjustments to between the read voltage corresponding to the first adjacent value and the inflection point voltage; and Obtain an average value of the read voltage corresponding to the first adjacent value and the inflection point voltage; when a first result corresponding to the average value is less than the preset threshold, use the average value as the target valley voltage; when the first result corresponding to the average value is greater than or equal to the preset threshold, continue to perform a second adjustment between the read voltage corresponding to the first adjacent value and the inflection point voltage until the first result corresponding to the adjusted read voltage is less than the preset threshold.
9. [Corrected 01.03.2024 according to Rule 91] A memory device according to claim 1, wherein The plurality of storage bits correspond to the plurality of pages respectively; at least one page corresponds to a plurality of levels, the plurality of levels including a first level and a second level, a read voltage of the second level being lower than a read voltage of the first level; The peripheral circuit is configured as follows: Based on the predicted valley voltage of the first target stage, the predicted valley voltage of the second target stage is obtained, the first target stage includes at least one first stage among the multiple first stages corresponding to the multiple pages, and the second target stage includes the remaining first stages and / or second stages; the read voltage of the second target stage is less than the read voltage of the first target stage.
10. The memory device according to claim 9, wherein The peripheral circuit is configured as follows: A read operation is performed on at least one of the codewords according to the predicted valley voltages of all the first and second stages.
11. The memory device according to claim 1, wherein The peripheral circuit is configured as follows: The predicted valley voltages of the other steps in the multiple steps except the target step are respectively obtained.
12. The memory device according to claim 1, wherein The peripheral circuit is configured as follows: Reading stored data of at least one of the codewords at the first read voltage to obtain a second result; reading stored data of at least one of the codewords at the second read voltage to obtain a third result; performing a logical operation on the second result and the third result to obtain a fourth result; The first result is obtained by counting the number of bits in the fourth result that represent that the third result is flipped compared with the second result.
13. The memory device according to claim 12, wherein: The peripheral circuit includes: a first latch, a second latch, and a third latch; The first latch is configured to: store the second result; The second latch is configured to: store the third result; The third latch is configured to store the fourth result.
14. A memory system comprising: One or more memory devices as claimed in any one of claims 1 to 13; and A memory controller is coupled to the memory device and controls the memory device.
15. The memory system according to claim 14, wherein: The memory controller is configured to send a data acquisition instruction, wherein the data acquisition instruction instructs acquisition of a target valley voltage; The memory device is configured to: receive the data acquisition instruction, acquire the target valley voltage, and send information including the target valley voltage to the memory controller; The memory controller is further configured to perform a read operation on data stored in the memory device according to the target valley voltage in the information.
16. The memory system according to claim 15, wherein: The memory controller is further configured to perform an error correction code decoding operation on a read result of the read operation.
17. A memory controller coupled to at least one memory device, the memory device comprising a memory cell having a plurality of storage bits, the plurality of storage bits corresponding to a plurality of levels of read voltages; A preset number of storage units form a codeword; The storage controller includes: The control unit is configured to: Obtaining a first result corresponding to at least one of the codewords at a target read voltage of a target level; the first result including a number of bits flipped in two read results of the at least one codeword at the first read voltage and at a second read voltage; and a difference between the first read voltage and the second read voltage being less than a preset voltage; Obtaining a predicted valley voltage of the target step according to a first result corresponding to at least one of the codewords at a target read voltage of the target step and the step number of the target step; and Based on the predicted valley voltage of the target step, a target valley voltage of the target step is determined; the target valley voltage is used as a read voltage when performing a read operation on at least one of the codewords.
18. The memory controller according to claim 17, wherein: The control unit is configured to: According to the first result corresponding to the target read voltage, the order number of the target order, and the mapping function, the predicted valley voltage of the target order is obtained; the mapping function is used to characterize the relationship between the first result corresponding to the target read voltage, the order number of the target order and the predicted valley voltage of the target order.
19. The memory controller according to claim 18, wherein: The control unit is configured to: Calculating a product of a prediction direction and a compensation value; the prediction direction is determined according to a first result corresponding to the target read voltage, a programming state of a memory block where the codeword is located, and the level of the target level; and the compensation value is determined according to the first result corresponding to the target read voltage and the level of the target level; The sum of the product and the target read voltage is used as the predicted valley voltage of the target step.
20. The memory controller according to claim 19, wherein: The control unit is configured to: The compensation value is obtained according to the first result corresponding to the target reading voltage, the order of the target order, the first constant, the second constant and the step size; wherein the first constant and the second constant are both fixed values related to the order of the target order, and the step size is related to the first constant and the second constant.
21. The memory controller according to claim 18, wherein: The control unit is configured to: According to the predicted valley bottom voltage of the target step satisfying a preset condition, using the predicted valley bottom voltage of the target step as the target valley bottom voltage of the target step; According to the fact that the predicted valley voltage of the target order does not meet the preset condition, the first result corresponding to the last predicted valley voltage is used as the first result in the mapping function, and the mapping function is iterated in a loop until the predicted valley voltage of the target order meets the preset condition.
22. The memory controller according to claim 21, wherein: The control unit is configured to: Obtaining a preset threshold value according to the first result corresponding to the target read voltage; the preset threshold value is used to represent the first result corresponding to the maximum value in the valid range of the predicted valley voltage; According to the first result corresponding to the predicted valley voltage of the target step being smaller than the preset threshold, the predicted valley voltage of the target step is used as the target valley voltage of the target step.
23. The memory controller according to claim 22, wherein: The control unit is configured to: When the predicted valley voltage of the target step still does not meet a preset condition after loop iteration according to the mapping function exceeds a preset number of times, the predicted valley voltage of the target step is first adjusted multiple times with the first step length, and first results corresponding to the read voltages after the multiple first adjustments are respectively obtained; determining an inflection point value according to the first results corresponding to the read voltages obtained after the multiple first adjustments, where the read voltage corresponding to the inflection point value is the inflection point voltage; Performing a second adjustment on the knee point voltage multiple times with a second step size, and respectively obtaining first results corresponding to the read voltage after the multiple second adjustments; The second step length is smaller than the first step length; and The target valley voltage of the target step is determined according to the obtained first results corresponding to the plurality of second adjusted read voltages.
24. The memory controller according to claim 23, wherein: The first results corresponding to the read voltages after the multiple first adjustments include a first adjacent value and a second adjacent value adjacent to the inflection point value; The control unit is configured to: According to the difference between the first adjacent value and the inflection point value being smaller than the difference between the second adjacent value and the inflection point value, limiting the read voltage corresponding to the range of the multiple second adjustments after each adjustment to be between the read voltage corresponding to the first adjacent value and the inflection point voltage; and Take the average value of the read voltage corresponding to the first adjacent value and the inflection point voltage. When the first result corresponding to the average value is less than the preset threshold, use the average value as the target valley voltage. When the first result corresponding to the average value is greater than or equal to the preset threshold, continue to make a second adjustment between the read voltage corresponding to the first adjacent value and the inflection point voltage until the first result corresponding to the adjusted read voltage is less than the preset threshold.
25. The memory controller according to claim 17, wherein: The plurality of storage bits correspond to the plurality of pages respectively; at least one page corresponds to a plurality of levels, the plurality of levels including a first level and a second level, a read voltage of the second level being lower than a read voltage of the first level; The control unit is configured to: Based on the predicted valley voltage of the first target stage, the predicted valley voltage of the second target stage is obtained, the first target stage includes at least one first stage among the multiple first stages corresponding to the multiple pages, and the second target stage includes the remaining first stages and / or second stages; the read voltage of the second target stage is less than the read voltage of the first target stage.
26. The memory controller according to claim 25, wherein: The control unit is configured to: A read operation is performed on at least one of the codewords according to the predicted valley voltages of all the first and second stages.
27. The memory controller according to claim 17, wherein: The control unit is configured to: The predicted valley voltages of the other steps in the multiple steps except the target step are respectively obtained.
28. A method for operating a memory device, the memory device comprising a memory cell having a plurality of storage bits, wherein the plurality of storage bits correspond to a plurality of levels of read voltages; The preset number of storage units forms a codeword; the operation method includes: Obtaining a first result corresponding to at least one of the codewords at a target read voltage of a target level; the first result including a number of bits flipped in two read results of the at least one codeword at the first read voltage and at a second read voltage; and a difference between the first read voltage and the second read voltage being less than a preset voltage; Obtaining a predicted valley voltage of the target step according to a first result corresponding to at least one of the codewords at a target read voltage of the target step and the step number of the target step; and Based on the predicted valley voltage of the target step, a target valley voltage of the target step is determined; the target valley voltage is used as a read voltage when performing a read operation on at least one of the codewords.
29. A method for operating a memory system, comprising: A memory controller in the memory system sends a data acquisition instruction, wherein the data acquisition instruction instructs acquisition of a target valley voltage; The memory device in the memory system receives the data acquisition instruction, The operating method of the memory device according to claim 28, obtaining the target valley voltage, and sending information including the target valley voltage to the memory controller; The memory controller performs a read operation on data stored in the memory device according to the target valley voltage in the information.
30. [Corrected 01.03.2024 according to Rule 91] A method for operating a memory controller, the memory controller being coupled to at least one memory device, the memory device comprising a memory cell having a plurality of storage bits, the plurality of storage bits corresponding to a plurality of levels of read voltage; A preset number of storage units form a codeword; The operation method includes: Obtaining a first result corresponding to at least one of the codewords at a target read voltage of a target level; the first result including a number of bits flipped in two read results of the at least one codeword at the first read voltage and at a second read voltage; and a difference between the first read voltage and the second read voltage being less than a preset voltage; Obtaining a predicted valley voltage of the target step according to a first result corresponding to at least one of the codewords at a target read voltage of the target step and the step number of the target step; and Based on the predicted valley voltage of the target step, a target valley voltage of the target step is determined; the target valley voltage is used as a read voltage when performing a read operation on at least one of the codewords.
31. A storage medium having executable instructions stored thereon, wherein when the executable instructions are executed, the steps of the operating method according to any one of claims 28 to 30 can be implemented.