Memory apparatus and operation method therefor, and memory system and operation method therefor
By adjusting the reading voltage of the NAND type memory and determining the valley voltage according to the reading state of the codeword, the problem of data reading incorrectness caused by changes in the charge of the memory cell is solved, and a faster and more reliable reading operation is achieved.
Patent Information
- Application Number
- PCT/CN2023/130023
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-06
- Publication Date
- 2025-06-26
AI Technical Summary
As the usage time increases, the charge stored in the memory cells of NAND-type memory will change, resulting in the correctness of data reading. In the prior art, the reread operation depends on trial and error tables, which takes a long time and incomplete scenario coverage.
By obtaining the first state corresponding to the at least one codeword at the target read voltage, adjusting the read voltage, and determining the valley voltage as the read voltage according to the change trend of the relationship between the number of flipped bits and the magnitude of the preset value reflected by the plurality of first states.
It effectively avoids the time-consuming and incomplete scenario coverage caused by trial and error tables, quickly and accurately finds the valley voltage, reduces the delay in determining the valley voltage, and improves the reliability and user experience of the product.
Smart Images

Figure CN2023130023_26062025_PF_FP_ABST
Abstract
Description
Memory device and operating method thereof, memory system and operating method thereof Technical Field
[0001] The present application relates to, but is not limited to, a memory device and an operating method thereof, a memory system and an operating method thereof. 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 due to factors such as age, repeated read operations, and cross-temperature fluctuations, thus 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 a plurality of memory cells, a preset number of the memory cells forming a codeword; a peripheral circuit coupled to the memory cell array and configured to: obtain a first state corresponding to at least one of the codewords at a target read voltage; the first state is used to characterize the relationship between 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 and a first preset value; the difference between the first read voltage and the second read voltage is less than a preset voltage; the target read voltage is adjusted multiple times, and the first state corresponding to at least one of the codewords at each adjusted read voltage is obtained respectively; a valley voltage is determined based on a changing trend of the relationship between the number of bits flipped and the first preset value reflected in the multiple first states obtained; the valley voltage is used as a read voltage when performing a read operation on at least one of the codewords.
[0005] In a second aspect, an embodiment of the present application provides a memory system, comprising: one or more memory devices as described in any one of the first aspects; and a memory controller coupled to and controlling the memory device.
[0006] In a third aspect, an embodiment of the present application provides a memory system, comprising: at least one memory device, the memory device comprising a plurality of memory cells, a preset number of the memory cells forming a codeword; a memory controller, coupled to the at least one memory device and configured to: obtain a first state corresponding to at least one of the codewords at a target read voltage; the first state is used to characterize the relationship between 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 and a first preset value; the difference between the first read voltage and the second read voltage is less than a preset voltage; the target read voltage is adjusted multiple times, and the first state corresponding to at least one of the codewords at each adjusted read voltage is obtained respectively; a valley voltage is determined based on a changing trend of the relationship between the number of bits flipped and the first preset value reflected in the multiple first states obtained; the valley voltage is used as a read voltage when performing a read operation on at least one of the codewords.
[0007] In a fourth aspect, an embodiment of the present application provides an operating method for a memory device, comprising: obtaining a first state corresponding to at least one codeword at a target read voltage; the first state is used to characterize the relationship between 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 and a first preset value; the difference between the first read voltage and the second read voltage is less than a preset voltage; the memory device comprises a memory cell array, the memory cell array comprises a plurality of memory cells, and a preset number of the memory cells form one of the codewords; adjusting the target read voltage multiple times, and respectively obtaining the first state corresponding to at least one of the codewords at each adjusted read voltage; determining a valley voltage based on a changing trend of the relationship between the number of bits flipped and the first preset value reflected in the obtained plurality of first states; the valley voltage is used as a read voltage when performing a read operation on at least one of the codewords.
[0008] In a fifth aspect, an embodiment of the present application provides an operating method for a memory system, comprising: before performing a read operation on data stored in a memory device of the memory system, sending a first instruction, wherein the first instruction indicates obtaining a valley voltage; the valley voltage is obtained according to the operating method described in any one of the fourth aspects; performing a read operation on the data stored in the memory device using the valley voltage; and performing an error correction code (ECC) decoding operation on the read result of the read operation.
[0009] In a sixth aspect, an embodiment of the present application provides an operating method of a memory system, comprising: obtaining a first state corresponding to at least one codeword at a target read voltage; the first state is used to characterize the relationship between 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 and a first preset value; the difference between the first read voltage and the second read voltage is less than a preset voltage; the memory system comprises at least one memory device, the memory device comprises a plurality of storage cells, and a preset number of the storage cells form one of the codewords; the target read voltage is adjusted multiple times, and the first state corresponding to at least one of the codewords at each adjusted read voltage is obtained respectively; a valley voltage is determined based on a changing trend of the relationship between the number of bits flipped and the first preset value reflected in the obtained multiple first states; the valley voltage is used as a read voltage when performing a read operation on at least one of the codewords.
[0010] In a seventh aspect, the present application provides a memory device, comprising: a memory cell array comprising a plurality of memory cells, a preset number of the memory cells forming a codeword; a peripheral circuit coupled to the memory cell array, comprising control logic and a page buffer; the control logic being configured to: read stored data of at least one of the codewords at a first read voltage to obtain a first result, and store the first result in a first latch of the page buffer; adjust the first read voltage to obtain a second read voltage, read stored data of at least one of the codewords at the second read voltage to obtain a second result, and store the second result in a second latch of the page buffer; a difference between the first read voltage and the second read voltage being less than a preset voltage; perform a logical operation on the first result and the second result to obtain a third result, and store the third result in a third latch of the page buffer; compare the number of bits in the third result indicating that the second result is flipped compared to the first result with a first preset value to obtain a first state; the first state is used to indicate the relationship between the number of bits flipped in the two read results of at least one of the codewords at the first read voltage and the second read voltage and the first preset value.
[0011] In an eighth aspect, the present application provides an operating method for a memory device, the method comprising: reading stored data of at least one codeword at a first read voltage to obtain a first result, and storing the first result in a first latch of a page buffer; the memory device comprises a memory cell array and a page buffer, the memory cell array comprising a plurality of memory cells, a preset number of the memory cells forming a codeword; adjusting the first read voltage to obtain a second read voltage, reading stored data of at least one codeword at the second read voltage to obtain a second result, and storing the second result in a second latch of the page buffer; a difference between the first read voltage and the second read voltage is less than a preset voltage; performing a logical operation on the first result and the second result to obtain a third result, and storing the third result in a third latch of the page buffer; comparing the number of bits in the third result representing that the second result is flipped compared to the first result with a first preset value to obtain a first state; the first state is used to represent the relationship between the number of bits flipped in the two read results of at least one codeword at the first read voltage and the second read voltage and the first preset value. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] 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.
[0013] FIG1 is a schematic diagram of an exemplary system having a memory system according to an embodiment of the present application;
[0014] FIG2 a is a schematic diagram of an exemplary memory card having a memory system according to an embodiment of the present application;
[0015] FIG2 b is a schematic diagram of an exemplary solid-state drive having a memory system according to an embodiment of the present application;
[0016] FIG3 a is a schematic diagram showing the distribution of storage cells of a three-dimensional NAND memory according to an embodiment of the present application;
[0017] FIG3 b is a schematic diagram of an exemplary memory including peripheral circuits according to an embodiment of the present application;
[0018] 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;
[0019] 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;
[0020] FIG6 is a schematic diagram of an exemplary read operation flow of a memory system provided by the present application;
[0021] FIG7 is a schematic diagram of an implementation flow of an operating method of a memory device provided in one embodiment of the present application;
[0022] FIG8 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;
[0023] FIG9 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;
[0024] FIG10 is a schematic diagram of a method for confirming the valley voltage of the first-stage read voltage L1 corresponding to the lower page shown in FIG8 according to an embodiment of the present application;
[0025] FIG11 is a flowchart of an operating method of a memory device according to an embodiment of the present application;
[0026] FIG12 is a block diagram of a memory system provided by an embodiment of the present application;
[0027] FIG13 is a block diagram of a memory system provided by another embodiment of the present application;
[0028] FIG14 is a timing diagram of performing a reread operation according to an embodiment of the present application;
[0029] FIG15 is a timing diagram of determining a valley voltage and performing a read operation according to an embodiment of the present application;
[0030] FIG16 is a block diagram of a computer-readable storage medium according to an embodiment of the present application. DETAILED DESCRIPTION
[0031] 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.
[0032] 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.
[0033] 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.
[0034] The flowcharts shown in the accompanying drawings are merely exemplary 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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, etc.
[0042] 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.
[0043] 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 ).
[0044] 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.
[0045] Figure 3a illustrates a schematic structural diagram of a memory cell array of a three-dimensional NAND memory. As shown in Figure 3a, the memory cell array of the three-dimensional NAND memory comprises several parallel, staggered rows of memory cell rows parallel to gate isolation structures. Every two rows of memory cell rows are separated by a gate isolation structure and an upper select gate isolation structure, and each memory cell row includes multiple memory cells. The gate isolation structure may include a first gate isolation structure and a second gate isolation structure. The first gate isolation structure divides the memory cell array into multiple memory blocks. The multiple second gate isolation structures may divide the memory blocks into multiple finger storage areas. An upper select gate isolation structure disposed between each finger storage area may divide the finger storage area into two parts, thereby dividing the finger storage area into two memory slices. The memory block shown in Figure 3a includes six memory slices. In practical applications, the number of memory slices in a memory block is not limited to this.
[0046] In some embodiments, each memory block may be coupled to multiple word lines, and multiple memory cells coupled to each independently controlled word line constitute a page. For example, all memory cells in each memory slice in FIG3 a are coupled to constitute a page.
[0047] It should be noted that the number of memory cell rows between the gate isolation structure and the upper select gate isolation structure shown in FIG3a is merely illustrative and does not limit the number of memory cell rows contained in a finger storage area of the 3D NAND memory device described herein. In actual applications, the number of memory cell rows contained in a finger storage area can be adjusted based on actual conditions, such as 2, 4, 8, or 16.
[0048] FIG3 b shows 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.
[0049] 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.
[0050] 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.
[0051] As shown in FIG3 b , 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 a top 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.
[0052] As shown in FIG3 b , 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. In some embodiments, referring to FIG. 3 a , multiple memory cells are isolated from each other by an upper select gate isolation structure and a gate isolation structure. The memory cells between the upper select gate isolation structure and the gate isolation structure are arranged into multiple memory cell rows, with each memory cell row being parallel to the gate isolation structure and the upper select gate isolation structure. The memory cells in a memory slice sharing the same word line form a physical page 320. Each physical page 320 can be mapped to at least one logical page based on the storage mode of the corresponding memory cell 306 (e.g., SLC or MLC as described above). The logical page can constitute the basic data unit for programming and reading operations.
[0053] 3a and 3b, 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 selection transistor (eg, top selection transistor (TSG) 312).
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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).
[0058] Referring back to FIG3 b , 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 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.
[0059] 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.
[0060] 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.
[0061] The control logic 512 can be coupled to each of the other parts of the peripheral circuit described above and is configured to control the operation of each of the other parts of 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 (I / F) 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.
[0062] 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 ECC (Error Correction Code) algorithm is typically used during data reading.
[0063] 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 exceeds the ECC's error correction capability, data read failures can occur.
[0064] FIG6 is a schematic diagram illustrating an exemplary read operation flow for a memory system. As shown in FIG6 , 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 the read 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 be applied to hard decode.
[0065] 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 retry table can provide a reference voltage for reading data. By querying the retry table, each storage cell is read again using a read voltage that deviates from the normal threshold voltage and correcting errors with the ECC error correction algorithm in an attempt to correctly read the data. If the read error data is corrected, the retry table query is stopped. If the read error data cannot be corrected, the retry table query is continued until the entire retry table is traversed.
[0066] The aforementioned rereading method requires querying the trial-and-error table one by one, which inevitably increases the number of trial-and-error operations and takes a long time. Furthermore, the trial-and-error tables provided by manufacturers are only reference values for specific environments. Real-world usage scenarios vary greatly, so the manufacturer's trial-and-error tables don't cover many scenarios. Consequently, even after traversing the trial-and-error table data, corrections may not be possible, resulting in a significant waste of command processing time. In short, rereading by repeatedly polling the trial-and-error table is time-consuming, affecting the response time of subsequent commands and, consequently, device performance.
[0067] In view of one or more of the above problems, an embodiment of the present application provides an operating method for a memory device.
[0068] FIG7 is a schematic diagram illustrating a flow chart of an implementation method for operating a memory device according to an embodiment of the present application. The memory device includes a memory cell array, which includes a plurality of memory cells. A predetermined number of memory cells form a code word (CW). As shown in FIG7 , the memory device operating method specifically includes the following steps:
[0069] Step S10: Obtain a first state corresponding to at least one codeword at a target read voltage; the first state is used to represent the relationship between the number of bits flipped in two read results of at least one codeword at the first read voltage and the second read voltage and a first preset value; the difference between the first read voltage and the second read voltage is less than the preset voltage.
[0070] Step S20: adjusting the target read voltage multiple times, and obtaining the first state corresponding to at least one codeword under each adjusted read voltage.
[0071] Step S30: determining a valley voltage according to a variation trend of a relationship between the number of flipped bits reflected in the plurality of first states and a first preset value; the valley voltage is used as a read voltage when performing a read operation on at least one codeword.
[0072] Here, the structure of the memory device is referred to in FIG. 3 b , which will not be described in detail here.
[0073] Here, a preset number of storage units forms a codeword.
[0074] 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 page, such as the number of storage cells included in a codeword is 1 / 4 of the number of storage cells coupled to a 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.
[0075] In general, different memory systems may choose codewords of different sizes to meet their performance, reliability, and storage requirements.
[0076] Memory cells in different types of memory devices (eg, MLC, TLC, or QLC) can store different numbers of bits. Therefore, for codewords of the same size, the number of memory cells included may also be different.
[0077] For example, in a specific embodiment, the size of the codeword is 4KB. Taking the memory cells in the memory cell array as MLC as an example, each memory cell stores 2 bits, so the number of memory cells included in the codeword is 2. 11 .
[0078] For example, in other embodiments, the size of the codeword is 4KB. Taking the memory cells in the memory cell array as QLC as an example, each memory cell stores 4 bits, so the number of memory cells included in the codeword is 2. 10 .
[0079] 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.
[0080] 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.
[0081] It should be noted that in some embodiments, during the process of reading the memory device, a read operation reads out the data of a page. When the number of storage cells contained in a codeword can be less than the number of storage cells coupled to a page, the codeword is the 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 target read voltage can be obtained here. For example, a page can include 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 page, and the subsequent calculation uses the added value. It can be understood that the first result here is based on the data of a page and can include multiple codewords.
[0082] In some embodiments, before obtaining the first state corresponding to at least one codeword at a target read voltage, 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 the memory cell through a first-level read voltage.
[0083] In some embodiments, a memory cell includes M bits, a memory device includes M pages, and an M-bit memory cell reads its M-bit stored data through an N-level read voltage; M and N are both integers greater than 1, and N=2 M -1; the method further comprises:
[0084] For each level of the multi-level read voltage corresponding to each type of page, a valley voltage of each level is determined according to a plurality of first states corresponding to the plurality of read voltages of each level.
[0085] 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 FIG8 , 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 types of pages: lower page (LP), middle page (MP), and upper page (UP).
[0086] Taking the memory cell shown in FIG8 as an example, the three-bit memory cell reads its three-bit eight-state storage data through seven levels of read voltages (first-level read voltage L1, second-level read voltage L2, third-level read voltage L3, fourth-level read voltage L4, fifth-level read voltage L5, sixth-level read voltage L6, and seventh-level read voltage L7 shown in FIG8).
[0087] In some embodiments, the memory device operating method further includes: determining a valley voltage of each level of the multiple levels of read voltages corresponding to each type of page according to multiple first states corresponding to the multiple read voltages of each level.
[0088] Exemplarily, each type of page corresponds to multiple levels of read voltages. As shown in FIG8 , the bottom page corresponds to the first-level read voltage L1 and the fifth-level read voltage L5. The middle page corresponds to the second-level read voltage L2, the fourth-level read voltage L4, and the sixth-level read voltage L6. The top page corresponds to the third-level read voltage L3 and the seventh-level read voltage L7. For the first-level read voltage L1 and the fifth-level read voltage L5 corresponding to the bottom page, the valley voltage of the first-level read voltage L1 can be determined based on the multiple first states corresponding to the multiple read voltages of the first-level read voltage L1. Then, the valley voltage of the fifth-level read voltage L5 can be determined based on the multiple first states corresponding to the multiple read voltages of the fifth-level read voltage L5. In this way, the valley voltage of each level of the multi-level read voltage corresponding to the bottom page can be obtained. The process for determining the valley voltage of each level of the multi-level read voltage corresponding to the middle and top pages is similar to that for the bottom page and will not be further described here.
[0089] The lower page is usually closest to the source / drain, so the valley voltage of each level of the multi-level read voltage corresponding to the lower page is determined first, which has the fastest access speed and the shortest response time, and can ensure balanced performance and durability during data access.
[0090] It should be noted that the method of preferentially determining the valley voltage of each level of the multi-level read voltage corresponding to the lower page is only an example and is not used to limit the order of determining the valley voltage of each level of the multi-level read voltage corresponding to each type of page in the embodiment of the present application.
[0091] 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 FIG9 , 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 types of pages, namely, a lower page, a middle page, an upper page, and an extra page (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.
[0092] Taking the memory cell shown in Figure 9 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 9).
[0093] Exemplarily, each type of page corresponds to multiple levels of read voltages. As shown in FIG9 , the lower page corresponds to the second level read voltage L2, the eighth level read voltage L8, and the fourteenth level read voltage L14. The middle page corresponds to the third level read voltage L3, the seventh level read voltage L7, the ninth level read voltage L9, and the thirteenth level read voltage L13. The upper page corresponds to the fifth level read voltage L5, the tenth level read voltage L10, the twelfth level read voltage L12, and the fifteenth level read voltage L15. The additional page corresponds to the first level read voltage L1, the fourth level read voltage L4, the sixth level read voltage L6, and the eleventh level read voltage L11.
[0094] For the second-level read voltage L2, the eighth-level read voltage L8, and the fourteenth-level read voltage L14 corresponding to the lower page, the valley voltage of the second-level read voltage L2 can be determined based on the multiple first states corresponding to the multiple read voltages of the second-level read voltage L2. Then, the valley voltage of the eighth-level read voltage L8 can be determined based on the multiple first states corresponding to the multiple read voltages of the eighth-level read voltage L8. Finally, the valley voltage of the fourteenth-level read voltage L14 can be determined based on the multiple first states corresponding to the multiple read voltages of the fourteenth-level read voltage L14. In this way, the valley voltage of each level of the multi-level read voltage corresponding to the lower page can be obtained. The process for determining the valley voltage of each level of the multi-level read voltage corresponding to the middle and upper pages is similar to that for the lower page and will not be repeated here.
[0095] Figure 10 is a schematic diagram of a method for determining the valley voltage of the first-stage read voltage L1 corresponding to the lower page shown in Figure 8, according to one embodiment of the present application. Figure 11 is a flow chart of a method for operating a memory device according to one embodiment of the present application. The process of determining the valley voltage will be described in detail below in conjunction with Figures 8, 10, and 11.
[0096] In step S301, a first preset value and a second preset value are obtained; the first preset value may be obtained based on historical data; in some embodiments, the first preset value is less than an upper limit of a fail bit count (FBC) supported by the memory device.
[0097] In step S302 , stored data of at least one codeword is read at a target read voltage to obtain a first result; and the first result is stored in a first latch of the memory device.
[0098] Exemplarily, as shown in FIG10 , stored data of at least one codeword is read at a target read voltage V0 to obtain a first result. Specifically, data stored in the lower page of memory cells in the codeword is read at the target read voltage V0, memory cells with threshold voltages less than the target read voltage V0 are marked as bit 1, and memory cells with threshold voltages greater than the target read voltage V0 are marked as bit 0, to obtain the first result, which is then stored in a first latch of the memory device.
[0099] It should be noted that the target read voltage V0 used for the first time here may refer to a preset read voltage that can distinguish two adjacent storage states of a memory cell of the memory device in a previous reading process, wherein the preset read voltage may be an empirical value; or it may be a default value configured when the memory device leaves the factory, which is obtained through a large number of simulation experiments before the memory device leaves the factory.
[0100] In step S303 , a first adjustment is performed on the target read voltage, and stored data of at least one codeword is read at the adjusted target read voltage to obtain a second result; the second result is stored in a second latch of the memory device.
[0101] Here, the first adjustment can be understood as a small-amplitude adjustment. In some specific embodiments, the small amplitude here, that is, the step size of the first adjustment, is set to range from 5mV to 20mV. Exemplarily, the step size of the first adjustment can be 5mV, 10mV, 15mV, or 20mV.
[0102] It should be noted that the first read voltage and the second read voltage are associated before and after the first adjustment. That is, the second read voltage is obtained after the first adjustment of 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 first adjustment. The difference between the first read voltage and the second read voltage being 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 first adjustment and can be a voltage slightly larger than the step size of the first adjustment. In some specific embodiments, the preset voltage is set in the range of 6mV to 21mV. For example, the preset voltage can be 6mV, 11mV, 16mV, or 21mV.
[0103] It should be noted that the first read voltage and the second read voltage are general concepts. The target read voltage and all subsequent read voltages after the second adjustment can be called the first read voltage, and all read voltages after the first adjustment can be called the second read voltage.
[0104] For example, as shown in FIG10 , a first adjustment is made to the target read voltage V0, and the stored data of the codeword is read at the adjusted target read voltage (V1 shown in FIG10 ) to obtain a second result. Specifically, data stored in the lower page of the memory cells in the codeword is read at the adjusted target read voltage (V1 shown in FIG10 ), and memory cells with a threshold voltage less than the adjusted target read voltage (V1 shown in FIG10 ) are marked as bit 1, and memory cells with a threshold voltage greater than the adjusted target read voltage (V1 shown in FIG10 ) are marked as bit 0, to obtain a second result, which is stored in a second latch of the memory device.
[0105] 10 , the target read voltage V0 and the adjusted target read voltage V1 have a first voltage difference ΔV1 , which is the first adjustment step size. The first adjustment step size is relatively small, and the first adjustment can be understood as a small adjustment.
[0106] In step S304 , a logic operation is performed on the first result and the second result to obtain a third result; and the third result is stored in a third latch of the memory device.
[0107] Exemplarily, as shown in FIG10 , an XOR operation is performed on the first result and the second result to obtain a third result; and the third result is stored in a third latch of the memory device.
[0108] It should be noted that the XOR operation is one of the basic logical operations. In binary, if two binary numbers in the same position are the same, the result is "0", and if two binary numbers in the same position are different, the result is "1" (that is, the same is 0, and different is 1).
[0109] As shown in Figure 10, the bits set to 1 in the third result represent the number of memory cells whose threshold voltages differ between the target read voltage V0 and the adjusted target read voltage V1. In other words, the bits set to 1 in the third result represent the number Y1 of bits flipped between the two codeword read results at the target read voltage V0 and the adjusted target read voltage V1. It should be noted that the target read voltage V0 here is the first read voltage, and the adjusted target read voltage V1 is the second read voltage.
[0110] In step S305 , the number of bits in the third result indicating that the second result is flipped compared to the first result is compared with a first preset value to determine whether the number of bits in the third result indicating that the second result is flipped compared to the first result is greater than the first preset value.
[0111] When the number of bits in the third result indicating that the second result is flipped compared to the first result is greater than a first preset value, step S306 is executed to obtain the first state as a failure state.
[0112] When the number of bits in the third result indicating that the second result is flipped compared to the first result is less than or equal to the first preset value, step S307 is executed to obtain the first state as a pass state.
[0113] In some embodiments, the first preset value is less than the upper limit of the failed bit count supported by the memory device. The upper limit of the failed bit count supported by the memory device means that the failed bits within the upper limit can be detected and corrected by the built-in error correction mechanism, while the failed bits exceeding the upper limit cannot be corrected. Specifically, when the number of bits in the third result that represent the flipping of the second result compared to the first result is greater than the first preset value, it means that when the read voltage corresponding to the first state is used as the valley voltage, the read result may contain uncorrectable errors, and the data integrity and reliability are threatened. Therefore, only when the number of bits in the third result that represent the flipping of the second result compared to the first result is less than the first preset value, can the first state be obtained as a pass state.
[0114] The magnitude of the first preset value depends on the type and storage density of the memory device. The first preset value can be an empirical value or a default value configured at the factory for the memory device, which is derived from extensive simulation experiments before the memory device leaves the factory. For example, the first preset value ranges from 70 to 120. More specifically, the first preset value can be 70, 80, 90, 100, 110, or 120.
[0115] After executing step S306 or step S307, the process proceeds to step S308. In step S308, the target read voltage is second adjusted; the step length of the second adjustment is greater than the step length of the first adjustment; and the step length of the second adjustment is a fixed value.
[0116] Here, the second adjustment can be understood as a larger adjustment. In some specific embodiments, the larger adjustment here, that is, the step range of the second adjustment, is set to 50mV to 80mV. Exemplarily, the step size of the second adjustment can be 50mV, 60mV, 70mV, or 80mV.
[0117] It should be noted that the target read voltage and all subsequent read voltages after the second adjustment may be referred to as first read voltages, and all read voltages after the first adjustment may be referred to as second read voltages.
[0118] For example, as shown in FIG10 , a second adjustment is performed on the target read voltage V0 to obtain the first adjusted read voltage V2. The target read voltage V0 and the first adjusted read voltage V2 have a second voltage difference ΔV2. The magnitude of the second voltage difference ΔV2 is the second adjustment step size. The second adjustment step size is larger than the first adjustment step size, i.e., the second voltage difference ΔV2 is larger than the first voltage difference ΔV1. The second adjustment step size is relatively large, and the second adjustment can be understood as a relatively large adjustment.
[0119] It is understood that the direction of the initial second adjustment of the target read voltage V0 can be random, as long as the absolute value of the voltage difference between the first adjusted read voltage V2 obtained after the second adjustment of the target read voltage V0 and the target read voltage V0 is equal to the second adjustment step size. The first adjusted read voltage V2 can be greater than or less than the target read voltage V0.
[0120] After executing step S308 , the process returns to step S302 . It should be noted that the target read voltage at this time is updated to the first adjusted read voltage V2 .
[0121] Returning to step S302, the data stored in the lower page of the memory cell in the codeword is read at the first adjusted read voltage V2, the memory cell whose threshold voltage is less than the first adjusted read voltage V2 is marked as bit 1, and the memory cell whose threshold voltage is greater than the first adjusted read voltage V2 is marked as bit 0, to obtain a first result, which is stored in the first latch of the memory device.
[0122] Step S303 is executed to perform a first adjustment on the first adjusted read voltage V2, and the stored data of the codeword is read at the adjusted first adjusted read voltage (V3 shown in FIG10 ) to obtain a second result. Specifically, the data stored in the lower page of the memory cell in the codeword is read at the adjusted first adjusted read voltage (V3 shown in FIG10 ), and the memory cell with a threshold voltage less than the adjusted first adjusted read voltage (V3 shown in FIG10 ) is marked as bit 1, and the memory cell with a threshold voltage greater than the adjusted first adjusted read voltage (V3 shown in FIG10 ) is marked as bit 0, thereby obtaining a second result, which is stored in the second latch of the memory device. It should be noted that the adjusted first adjusted read voltage (V3 shown in FIG10 ) here is the second read voltage.
[0123] Step S304 is executed to perform an XOR operation on the first result and the second result to obtain a third result; the third result is stored in a third latch of the memory device. For example, as shown in FIG10 , the bits that are 1 in the third result represent the number of memory cells whose threshold voltages differ between the first adjusted read voltage V2 and the adjusted first adjusted read voltage ( V3 shown in FIG10 ). In other words, the bits that are 1 in the third result represent the number Y2 of bits of the codeword that are flipped between the first adjusted read voltage V2 and the adjusted first adjusted read voltage ( V3 shown in FIG10 ).
[0124] Execute step 305 to compare the number of bits in the third result indicating that the second result is flipped compared to the first result with a first preset value to determine whether the number of bits in the third result indicating that the second result is flipped compared to the first result is greater than the first preset value.
[0125] When the number of bits in the third result indicating that the second result is flipped compared to the first result is greater than the first preset value, step S306 is executed to obtain that the first state corresponding to the codeword under the first adjusted read voltage V2 is a fail state.
[0126] When the number of bits in the third result indicating that the second result is flipped compared to the first result is less than or equal to the first preset value, step S307 is executed to obtain that the first state corresponding to the codeword under the first adjusted read voltage V2 is a pass state.
[0127] It is understood that to adjust the target read voltage multiple times and obtain the first state corresponding to at least one codeword under each adjusted read voltage, steps 302 to S308 need to be executed cyclically. It should be noted that in actual use, the number of times steps 302 to S308 are executed cyclically may vary according to actual needs, and this should not unduly limit the scope of protection of this application.
[0128] In some embodiments, step S309 is executed after executing step S302 to step S308 three times in a loop.
[0129] In some embodiments, after obtaining the first state corresponding to the codeword at the first adjusted read voltage V2, step S308 is performed again. As shown in FIG10 , the first adjusted read voltage V2 is second-adjusted to obtain a second adjusted read voltage (V4 shown in FIG10 ). The first adjusted read voltage V2 and the second adjusted read voltage (V4 shown in FIG10 ) have a second voltage difference ΔV2. It should be noted that the second adjusted read voltage V4 here is the first read voltage.
[0130] After executing step S308 , the process returns to step S302 . It should be noted that the target read voltage at this time is updated to the second adjusted read voltage V4 .
[0131] Returning to step S302 , data stored in the lower page of the memory cells in the codeword is read at the second adjusted read voltage V4 to obtain a first result, which is stored in a first latch of the memory device.
[0132] Step S303 is executed to perform a first adjustment on the second adjusted read voltage V4, and the stored data of the codeword is read at the adjusted second adjusted read voltage (V5 shown in FIG10 ) to obtain a second result, which is stored in a second latch of the memory device.
[0133] Step S304 is executed to perform an XOR operation on the first result and the second result to obtain a third result; the third result is stored in a third latch of the memory device. For example, as shown in FIG10 , the bits that are 1 in the third result represent the number Y3 of bits flipped in the codeword between the read results at the second adjusted read voltage V4 and the adjusted second adjusted read voltage (V5 shown in FIG10 ). It should be noted that the adjusted second adjusted read voltage (V5 shown in FIG10 ) here refers to the second read voltage.
[0134] Execute step 305 to compare the number of bits in the third result indicating that the second result is flipped compared to the first result with a first preset value to determine whether the number of bits in the third result indicating that the second result is flipped compared to the first result is greater than the first preset value. If the number of bits in the third result indicating that the second result is flipped compared to the first result is greater than the first preset value, execute step S306 to determine that the first state corresponding to the codeword at the second adjusted read voltage V4 is a fail state. If the number of bits in the third result indicating that the second result is flipped compared to the first result is less than or equal to the first preset value, execute step S307 to determine that the first state corresponding to the codeword at the second adjusted read voltage V4 is a pass state.
[0135] In this way, three first states corresponding to three different read voltages are obtained. In some embodiments, as shown in FIG10 , if Y1 is greater than a first preset value, the first state corresponding to the codeword at the target read voltage V0 is a fail state. If Y2 is greater than a first preset value, the first state corresponding to the codeword at the first adjusted read voltage V2 is a fail state. If Y3 is less than the first preset value, the first state corresponding to the codeword at the second adjusted read voltage V4 is a pass state.
[0136] After obtaining the preset number of first states, the process proceeds to step S309 . In step S309 , it is determined whether the first states corresponding to the read voltages adjusted multiple times are all failure states.
[0137] If one or more pass states appear in the multiple first states corresponding to the multiple read voltage adjustments, step S310 is executed. For example, the three first states corresponding to the three different read voltages shown in FIG10 are, in order, a fail state, a fail state, and a pass state. Therefore, if one pass state appears in the multiple first states, step S310 is continued.
[0138] In step S310 , it is determined whether a first pass state after a fail state appears in a plurality of first states corresponding to the read voltages adjusted multiple times.
[0139] If the first pass state after the failure state appears in the multiple first states corresponding to the read voltages after the multiple adjustments, step S311 is executed. For example, the change trends of the three first states corresponding to the three different read voltages shown in Figure 10 are failure state, failure state, and pass state, that is, the first pass state after the failure state appears in the multiple first states.
[0140] If the first pass state after the fail state does not appear in the multiple first states corresponding to the read voltages after the multiple adjustments, then the process returns to step S308. For example, if the change trends of the three first states corresponding to the three different read voltages are pass state, fail state, and fail state, then the process returns to step S308, performs a second adjustment on the read voltage after the previous adjustment, and obtains the first state at the adjusted voltage.
[0141] In step S311 , after the first pass state after the failure state appears in the multiple first states corresponding to the read voltages adjusted multiple times, a third adjustment is performed on the read voltage adjusted previously; the step size of the third adjustment is smaller than the step size of the second adjustment.
[0142] After the first pass state after a fail state appears in multiple first states corresponding to the read voltages after multiple adjustments, by reducing the step size for adjusting the read voltage after the previous adjustment, more first states can be obtained as pass states near the read voltage of the first pass state, thereby increasing the judgment basis for determining the valley bottom voltage.
[0143] For example, as shown in FIG10 , a third adjustment is performed on the second adjusted read voltage V4 to obtain a third adjusted read voltage V6. The second adjusted read voltage V4 and the third adjusted read voltage V6 have a third voltage difference ΔV3. The magnitude of the third voltage difference ΔV3 is the step size of the third adjustment. The step size of the third adjustment is smaller than the step size of the second adjustment, that is, the third voltage difference ΔV3 is smaller than the second voltage difference ΔV2. The step size of the third adjustment is relatively small, and the third adjustment can be understood as a relatively small adjustment.
[0144] Exemplarily, the step size range of the third adjustment is set to 20 mV to 40 mV. More specifically, the step size of the third adjustment can be 20 mV, 25 mV, 30 mV, 35 mV, or 40 mV.
[0145] It should be noted that after executing step S311 , the first state corresponding to the codeword under the third adjusted read voltage is obtained by executing the method in steps S302 to S307 .
[0146] Exemplarily, a first state corresponding to a codeword at a third adjusted read voltage V6 is obtained. As shown in FIG10 , data stored in the lower page of a memory cell in the codeword is read at the third adjusted read voltage V6 to obtain a first result, which is stored in a first latch of the memory device. A first adjustment is performed on the third adjusted read voltage V6, and the stored data of the codeword is read at the adjusted third adjusted read voltage (V7 shown in FIG10 ) to obtain a second result, which is stored in a second latch of the memory device. An exclusive-OR operation is performed on the first and second results to obtain a third result, which is stored in a third latch of the memory device. The bits that are 1 in the third result represent the number Y4 of bits flipped in the codeword between the two read results at the third adjusted read voltage V6 and the adjusted third adjusted read voltage (V7 shown in FIG10 ). It should be noted that the adjusted third adjusted read voltage (V7 shown in FIG10 ) here refers to the second read voltage.
[0147] The number of bits in the third result indicating a flip in the second result relative to the first result is compared with a first preset value to obtain the first state corresponding to the codeword at the third adjusted read voltage V6. In one specific example, as shown in FIG10 , Y4 is less than the first preset value, and therefore the first state corresponding to the codeword at the third adjusted read voltage V6 is a pass state. In other embodiments, after the first pass state occurs after a fail state among the multiple first states corresponding to the read voltages after multiple adjustments, a fourth adjustment is performed on the read voltage after the previous adjustment based on the third result corresponding to the first pass state.
[0148] In some embodiments, the step size of the fourth adjustment varies according to the number of bits in the third result indicating that the second result is flipped compared to the first result.
[0149] As shown in Figure 10, the first state corresponding to the second adjusted read voltage V4 is the first pass state after a failure state occurs in multiple first states corresponding to the read voltages after multiple adjustments. Based on the statistical number of third results corresponding to the second adjusted read voltage V4, the second adjusted read voltage V4 is subjected to a fourth adjustment. Specifically, the number of bits in the third result corresponding to the second adjusted read voltage V4 that indicate a flipped second result compared to the first result is counted. If this statistical result is less than 0.5 times a first preset value, it can be assumed that the number of flipped bits is small, indicating that the error rate of the read result obtained by performing a read operation with the second adjusted read voltage V4 is very low. In this case, the step size of the fourth adjustment can be adjusted to be larger than the step size of the second adjustment. Increasing the step size allows for faster exploration of possible states, thereby improving efficiency.
[0150] If the statistical result is greater than or equal to 0.5 times the first preset value, it can be determined that although the number of flipped bits is within the upper limit of the failed bit count supported by the memory device, the number of flipped bits is large, indicating that the error rate of the read result obtained by performing the read operation at the second adjusted read voltage V4 is high. In this case, the fourth adjustment step size can be adjusted to be smaller than the second adjustment step size. Reducing the step size can obtain more first states as pass states near the second adjusted read voltage V4 corresponding to the first pass state, thereby increasing the basis for determining the valley voltage.
[0151] The above approach flexibly and dynamically adjusts the fourth adjustment step size according to the statistical number of the third results corresponding to the first-pass state, thereby improving system performance and accuracy.
[0152] After step S311 , step S312 is executed. If the multiple first states corresponding to the read voltages after multiple adjustments reflect a change from a fail state to at least one pass state and then to a fail state, step S313 is executed to stop adjusting the read voltage and end the operation.
[0153] If the multiple first states corresponding to the read voltages after the multiple adjustments do not reflect a change from a fail state to at least one pass state and then to a fail state, the process returns to step S311 .
[0154] In some embodiments, the third adjustment is maintained until a first failure state after a passing state occurs in the plurality of first states.
[0155] Exemplarily, the changing trends of the four first states corresponding to the four different read voltages shown in Figure 10 are fail state, fail state, pass state, and pass state. Therefore, it is necessary to return to execute step S311, perform a third adjustment on the third adjusted read voltage V6 to obtain the fourth adjusted read voltage V8, and obtain the first state corresponding to the codeword under the fourth adjusted read voltage V8.
[0156] As shown in FIG10 , the data stored in the lower page of the memory cell in the codeword is read at the fourth adjusted read voltage V8 to obtain a first result, which is stored in the first latch of the memory device. The fourth adjusted read voltage V8 is first adjusted, and the stored data of the codeword is read at the adjusted fourth adjusted read voltage (V9 shown in FIG10 ) to obtain a second result, which is stored in the second latch of the memory device. The first result and the second result are XORed together to obtain a third result. The bits that are 1 in the third result represent the number Y5 of bits that flipped between the two read results of the codeword at the fourth adjusted read voltage V8 and the adjusted fourth adjusted read voltage (V9 shown in FIG10 ). Y5 is greater than the first preset value, so the first state corresponding to the codeword at the fourth adjusted read voltage V8 is a fail state. It should be noted that the adjusted fourth adjusted read voltage (V9 shown in FIG10 ) here is the second read voltage.
[0157] Table 1 is an example of multiple first states obtained through multiple iterations shown in FIG. 10 .
[0158] Table 1
[0159] Continuing to execute step S312, it can be seen from Table 1 that the multiple first states corresponding to the read voltage after multiple adjustments reflect the change from the fail state to at least one pass state and then to the fail state. At this time, the read voltage adjustment is stopped and the operation ends.
[0160] In other embodiments, after the first fail state after a pass state occurs in multiple first states, a second adjustment is performed on the previously adjusted read voltage. As shown in Figures 1 and 10, after five iterations, five first states are obtained, and in the fifth iteration, the fourth adjusted read voltage V8 shows a transition from a fail state to at least one pass state and then to a fail state. At this point, an additional second adjustment can be performed on the fourth adjusted read voltage V8, and the corresponding first state at the adjusted fourth adjusted read voltage is obtained. This further enhances the accuracy of determining the valley voltage based on the changing trends of multiple first states.
[0161] In some embodiments, when the multiple first states corresponding to the adjusted read voltages include an even number of pass states between the fail states at both ends, the average value of the adjusted read voltages corresponding to the two pass states in the middle of the multiple pass states is used as the valley voltage.
[0162] Exemplarily, among the multiple first states shown in Table 1, the average value of the read voltages corresponding to the first states obtained in the third and fourth iterations is used as the valley voltage.
[0163] It can be understood that the average value of the read voltage corresponding to the first state obtained in the third and fourth iterations is the valley voltage of the first-stage read voltage L1 corresponding to the lower page shown in FIG8 .
[0164] It should be noted that, in actual use, the number of iterations may vary according to actual needs. The implementation method of obtaining 5 first states after 5 iterations for determining the valley voltage is only an example, and the scope of protection of this application should not be excessively limited here.
[0165] In some embodiments, when the adjusted read voltages correspond to multiple first states that represent a pass state between two fail states, the adjusted read voltage corresponding to the one pass state is used as the valley voltage. For example, Table 2 shows an example of multiple first states obtained through multiple iterations. Among the multiple first states shown in Table 3, the read voltage corresponding to the first state obtained in the third iteration is used as the valley voltage.
[0166] Table 2
[0167] In some implementations, when the multiple first states corresponding to the adjusted read voltage include multiple pass states between the fail states at both ends, the adjusted read voltage corresponding to a pass state at the middle position among the multiple pass states is used as the valley voltage.
[0168] Exemplarily, the multiple first states corresponding to the adjusted read voltages shown in Table 3 reflect three pass states that are located between the fail states at both ends, and the adjusted read voltage corresponding to the pass state at the middle position among the three pass states is used as the valley voltage, that is, the read voltage corresponding to the first state obtained in the fourth iteration is used as the valley voltage.
[0169] If the judgment result of step S309 in FIG. 11 is yes, that is, the multiple first states corresponding to the read voltages after multiple adjustments are all fail states, indicating that no pass state appears in the multiple first states, step S314 is executed to increase the step size corresponding to the second adjustment.
[0170] Table 3
[0171] If no pass state appears in the multiple first states corresponding to the read voltage after multiple adjustments, it means that the step size corresponding to the current second adjustment is too small, resulting in a small voltage adjustment range. Therefore, by increasing the step size corresponding to the second adjustment to increase the voltage adjustment range, the speed of searching for the first pass state can be accelerated.
[0172] After step S314 , step S315 is executed to compare the increased second adjustment step length with the second preset value to determine whether the increased second adjustment step length is greater than the second preset value.
[0173] In some embodiments, the second preset value serves as a limit or constraint, controlling the step size of the second adjustment to balance speed and accuracy. The size of the second preset value is related to the type and storage density of the memory device. The second preset value can be an empirical value or a default value configured at the factory for the memory device, which is determined through extensive simulation experiments before the memory device leaves the factory. For example, the second preset value is set in the range of 80mV to 100mV.
[0174] When the increased second adjustment step size is less than or equal to the second preset value, it means that when adjusting the voltage with this step size, the speed of searching for the first pass state is accelerated without reducing the accuracy. In this case, step S308 is executed again with the increased second adjustment step size.
[0175] If the increased second adjustment step size is greater than the second preset value, this indicates that adjusting the voltage with this step size accelerates the search for the first pass state, but the large adjustment amplitude may result in missing some states, thereby reducing the accuracy of using multiple first states as the basis for determining the valley voltage. In this case, step S316 is executed to adjust the number of storage cells corresponding to at least one codeword, so that the number of storage cells corresponding to the codeword after the adjustment is less than the number of storage cells corresponding to the codeword before the adjustment, and step S302 is then executed again.
[0176] It is understandable that when the increased second adjustment step size is greater than the second preset value, by reducing the number of storage cells corresponding to the codeword, a balance can be achieved between speed and accuracy. Specifically, by reducing the number of storage cells corresponding to the codeword, the total amount of data included in the third result can be reduced. This reduction in the total amount can, to a certain extent, reduce the number of bits counted from the total amount, namely, the number of bits in the third result that represent the second result being flipped compared to the first data will also be reduced, and the number of bits in the third result that represent the second result being flipped compared to the first data will be more likely to fall within the range of the first preset value. In this way, it is easier to find the first pass state among the multiple first states corresponding to the read voltage after multiple adjustments.
[0177] It should be noted that the process of confirming the valley voltages of other levels of read voltages corresponding to the lower page, and the process of confirming the valley voltages of multi-level read voltages corresponding to the middle page and the upper page are similar to the methods disclosed in the above embodiments and will not be repeated here.
[0178] For example, taking the memory cell included in the codeword as a TLC memory cell, 7 levels of read voltage are required to read its three-bit eight-state storage data. Therefore, the operation method for determining the valley voltage disclosed in the above embodiment will be executed 7 times to obtain 7 valley voltages corresponding to the 7 levels of read voltage respectively.
[0179] The operating method of the memory device provided in the embodiments of the present application uses the relationship between the number of flipped bits and a first preset value in two read results of a codeword containing a preset number of memory cells at a first read voltage and a second read voltage as a first state, adjusts the target read voltage multiple times, and obtains the first state corresponding to the codeword at each adjusted read voltage. Based on the changing trend of the relationship between the number of flipped bits and the first preset value reflected in the multiple first states obtained, a valley voltage is determined as the read voltage when performing a read operation on the codeword. In this way, the time-consuming and incomplete scenario coverage problems caused by using a trial-and-error table can be effectively avoided, the space occupied by the trial-and-error table can be saved, the valley voltage can be found more quickly and accurately, the delay in determining the valley voltage can be effectively reduced, and the product reliability and user experience can be improved.
[0180] 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.
[0181] An embodiment of the present application provides a memory device, as shown in FIG3 b . The memory device 300 includes: a memory cell array 301 including a plurality of memory cells 306 , wherein a predetermined number of memory cells 306 form a codeword; and a peripheral circuit 302 coupled to the memory cell array 301 and configured to perform the following steps shown in FIG7 :
[0182] Step S10: Obtain a first state corresponding to at least one codeword at a target read voltage; the first state is used to represent the relationship between the number of bits flipped in two read results of at least one codeword at the first read voltage and the second read voltage and a first preset value; the difference between the first read voltage and the second read voltage is less than the preset voltage.
[0183] Step S20: adjusting the target read voltage multiple times, and obtaining the first state corresponding to at least one codeword under each adjusted read voltage.
[0184] Step S30: determining a valley voltage according to a variation trend of a relationship between the number of flipped bits reflected in the plurality of first states and a first preset value; the valley voltage is used as a read voltage when performing a read operation on at least one codeword.
[0185] Here, the structure of the memory device refers to the aforementioned FIG. 3 b , and the structure of the peripheral circuit refers to the aforementioned FIG. 5 , which will not be described in detail here.
[0186] In some embodiments, the peripheral circuit is configured to: before obtaining at least a first state corresponding to a codeword at a target read voltage, set the read mode of the memory device 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.
[0187] In some embodiments, a memory cell includes M bits, a memory device includes M pages, and an M-bit memory cell reads its M-bit stored data through an N-level read voltage; M and N are both integers greater than 1, and N=2 M -1; the peripheral circuit is configured to: for each level of the multi-level read voltage corresponding to each type of page, determine the valley voltage of each level according to the multiple first states corresponding to the multiple read voltages of each level.
[0188] Exemplarily, when the number of storage bits of a memory cell includes three bits, the corresponding storage states include the 0th state to the 7th state. Referring to FIG8 , the 8 states are respectively the 0th state E, the 1st state P1, the 2nd state P2…the 7th state P7, and the binary data corresponding to the 8 states are 111, 110, 100, 000, 010, 011, 001, and 101, respectively. Accordingly, the memory device includes three types of pages, namely, the lower page, the middle page, and the upper page. Here, the three storage bits corresponding to the 8 states are stored in the lower page, the middle page, and the upper page, respectively. Taking the memory cell shown in FIG8 as an example, the three-bit memory cell reads its three-bit eight-state storage data through a 7-level read voltage.
[0189] Exemplarily, each type of page corresponds to multiple levels of read voltages. As shown in FIG8 , the lower page corresponds to a first-level read voltage L1 and a fifth-level read voltage L5. For the first-level read voltage L1 and the fifth-level read voltage L5 corresponding to the lower page, the valley voltage of the first-level read voltage L1 can be determined based on the multiple first states corresponding to the multiple read voltages of the first-level read voltage L1. Then, the valley voltage of the fifth-level read voltage L5 can be determined based on the multiple first states corresponding to the multiple read voltages of the fifth-level read voltage L5. In this way, the valley voltage of each level of the multiple levels of read voltages corresponding to the lower page can be obtained.
[0190] The process of determining the valley voltage of each level of the multi-level read voltage corresponding to the middle page and the upper page is similar to that of the lower page and will not be repeated here.
[0191] In some embodiments, the peripheral circuit is configured to: obtain a first preset value and a second preset value; the first preset value may be obtained based on historical data; and the first preset value is less than an upper limit of a failed bit count supported by the memory device.
[0192] In some embodiments, the peripheral circuit is configured to: read the stored data of at least one codeword at a target read voltage to obtain a first result; perform a first adjustment on the target read voltage, and read the stored data of at least one codeword at the adjusted target read voltage to obtain a second result; perform a logical operation on the first result and the second result to obtain a third result; and compare the number of bits in the third result that represent the flipping of the second result compared to the first result with a first preset value to obtain a first state.
[0193] In some embodiments, the peripheral circuit includes: a first latch D1, a second latch D2, and a third latch D3; wherein the first latch D1 is configured to store a first result; the second latch D2 is configured to store a second result; and the third latch D3 is configured to store a third result.
[0194] Exemplarily, the first latch D1 , the second latch D2 , and the third latch D3 are located in a page buffer of a peripheral circuit.
[0195] In some embodiments, the first result and the second result are XORed to obtain a third result. As shown in FIG10 , the bits set to 1 in the third result represent the number of memory cells whose threshold voltages differ between the target read voltage V0 and the adjusted target read voltage (V1 shown in FIG10 ). In other words, the bits set to 1 in the third result represent the number Y1 of bits flipped in the codeword between the two read results at the target read voltage V0 and the adjusted target read voltage (V1 shown in FIG10 ).
[0196] In some embodiments, when the number of bits in the third result representing that the second result is flipped compared to the first result is greater than a first preset value, the first state is a fail state; when the number of bits in the third result representing that the second result is flipped compared to the first result is less than or equal to the first preset value, the first state is a pass state.
[0197] In some embodiments, the peripheral circuit is configured to: when adjusting the target read voltage multiple times, perform a second adjustment on the read voltage after the previous adjustment each time; the step size of the second adjustment is larger than the step size of the first adjustment; and the step size of the second adjustment is a fixed value.
[0198] For example, referring to Table 1 and Figure 10, a second adjustment is performed on the target read voltage V0 to obtain a first adjusted read voltage V2. A second voltage difference ΔV2 exists between the target read voltage V0 and the first adjusted read voltage V2. The magnitude of the second voltage difference ΔV2 is the second adjustment step size. The second adjustment step size is larger than the first adjustment step size, i.e., the second voltage difference ΔV2 is larger than the first voltage difference ΔV1. The second adjustment step size is relatively large, and the second adjustment can be understood as a relatively large adjustment.
[0199] In some embodiments, the peripheral circuit is configured to: perform a third adjustment on the read voltage after the previous adjustment after the first pass state occurs in multiple first states corresponding to the read voltages after multiple adjustments; the step size of the third adjustment is smaller than the step size of the second adjustment.
[0200] In some embodiments, as shown in Figure 10, the first state corresponding to the first adjusted read voltage V2 is a fail state. The first adjusted read voltage V2 is second adjusted to obtain a second adjusted read voltage V4, and the first adjusted read voltage V2 and the second adjusted read voltage V4 have a second voltage difference ΔV2.
[0201] In this way, three first states corresponding to three different read voltages are obtained. In some embodiments, as shown in FIG10 , if Y1 is greater than a first preset value, the first state corresponding to the codeword at the target read voltage V0 is a fail state. If Y2 is greater than a first preset value, the first state corresponding to the codeword at the first adjusted read voltage V2 is a fail state. If Y3 is less than the first preset value, the first state corresponding to the codeword at the second adjusted read voltage V4 is a pass state.
[0202] The changing trends of the three first states corresponding to the three different read voltages shown in Figure 10 are: fail state, fail state, and pass state, i.e., the first pass state after a fail state occurs in the multiple first states. Therefore, a third adjustment is performed on the second adjusted read voltage V4 to obtain a third adjusted read voltage V6. The second adjusted read voltage V4 and the third adjusted read voltage V6 have a third voltage difference ΔV3, and the magnitude of the third voltage difference ΔV3 is the step size of the third adjustment. The step size of the third adjustment is smaller than the step size of the second adjustment, i.e., the third voltage difference ΔV3 is smaller than the second voltage difference ΔV2. The step size of the third adjustment is relatively small, and the third adjustment can be understood as a smaller adjustment.
[0203] As shown in FIG10 , the bits that are 1 in the third result represent the number Y4 of bits flipped in the codeword between the two read results at the third adjusted read voltage V6 and the adjusted third adjusted read voltage (V7 in FIG10 ). Y4 is less than the first preset value, so the first state corresponding to the codeword at the third adjusted read voltage V6 is a pass state.
[0204] In other embodiments, the peripheral circuit is configured to: after a first pass state occurs after a fail state in multiple first states corresponding to the read voltages after multiple adjustments, perform a fourth adjustment on the read voltage after the previous adjustment according to a third result corresponding to the first pass state.
[0205] In some embodiments, the step size of the fourth adjustment varies according to the number of bits in the third result indicating that the second result is flipped compared to the first result.
[0206] As shown in Figure 10, the first state corresponding to the third adjustment of the second adjusted read voltage V4 is the first pass state after a failure state occurs in the multiple first states corresponding to the read voltages after multiple adjustments. Based on the statistical number of the third results corresponding to the second adjusted read voltage V4, the second adjusted read voltage V4 is adjusted for the fourth time. Specifically, the number of bits in the third result corresponding to the second adjusted read voltage V4 that indicate a flipped second result compared to the first result is counted. If the statistical result is less than 0.5 times the first preset value, it can be determined that the number of flipped bits is small, indicating that the error rate of the read result obtained by performing the read operation with the second adjusted read voltage V4 is very low. In this case, the step size of the fourth adjustment can be adjusted to be larger than the step size of the second adjustment. Increasing the step size allows for faster exploration of possible states, thereby improving efficiency.
[0207] If the statistical result is greater than or equal to 0.5 times the first preset value, it can be determined that although the number of flipped bits is within the upper limit of the failed bit count supported by the memory device, the number of flipped bits is large, indicating that the error rate of the read result obtained by performing the read operation at the second adjusted read voltage V4 is high. In this case, the fourth adjustment step size can be adjusted to be smaller than the second adjustment step size. Reducing the step size can obtain more first states as pass states near the second adjusted read voltage V4 corresponding to the first pass state, thereby increasing the basis for determining the valley voltage.
[0208] In some embodiments, the peripheral circuit is configured to maintain the third adjustment until a first failure state after a pass state occurs in the plurality of first states.
[0209] For example, the changing trends of the four first states corresponding to the four different read voltages shown in FIG10 are fail state, fail state, pass state, and pass state. Therefore, it is necessary to perform a third adjustment on the third adjusted read voltage V6 to obtain a fourth adjusted read voltage V8 to obtain the first state corresponding to the codeword at the fourth adjusted read voltage V8. The bits that are 1 in the third result represent the number Y5 of bits that flipped in the codeword between the two read results at the fourth adjusted read voltage V8 and the adjusted fourth adjusted read voltage (V9 shown in FIG10).
[0210] In some embodiments, the peripheral circuit is configured to stop adjusting the target read voltage when the multiple first states corresponding to the read voltage after the multiple adjustments reflect a change from a fail state to at least one pass state and then to a fail state.
[0211] Since the number Y5 of bits flipped in the codeword in the two reading results at the fourth adjusted read voltage V8 and the adjusted fourth adjusted read voltage (V9 shown in Figure 10) is greater than the first preset value, the first state corresponding to the codeword at the fourth adjusted read voltage V8 is a fail state. That is, as shown in Table 1, the multiple first states reflect a change from a fail state to at least one pass state and then to a fail state, and the adjustment of the read voltage is stopped at this time.
[0212] In other embodiments, after the first fail state after a pass state occurs in multiple first states, a second adjustment is performed on the previously adjusted read voltage. As shown in Figures 1 and 10, after five iterations, five first states are obtained, and in the fifth iteration, the fourth adjusted read voltage V8 shows a transition from a fail state to at least one pass state and then to a fail state. At this point, an additional second adjustment can be performed on the fourth adjusted read voltage V8, and the corresponding first state at the adjusted fourth adjusted read voltage is obtained. This further enhances the accuracy of determining the valley voltage based on the changing trends of multiple first states.
[0213] In some embodiments, the peripheral circuit is configured as follows: when the multiple first states corresponding to the adjusted read voltage reflect a pass state that is intermediate between the fail states at both ends, including an even number of pass states, the average value of the adjusted read voltage corresponding to the two pass states in the middle position among the multiple pass states is used as the valley voltage.
[0214] Exemplarily, among the multiple first states shown in Table 1, the average value of the read voltages corresponding to the first states obtained in the third and fourth iterations is used as the valley voltage.
[0215] It can be understood that the average value of the read voltage corresponding to the first state obtained in the third and fourth iterations is the valley voltage of the first-stage read voltage L1 corresponding to the lower page shown in FIG8 .
[0216] In some embodiments, the peripheral circuit is configured to use the adjusted read voltage corresponding to one pass state as the valley voltage when the plurality of first states corresponding to the adjusted read voltage include one pass state between the fail states at both ends.
[0217] Exemplarily, among the multiple first states shown in Table 2, the read voltage corresponding to the first state obtained in the third iteration is used as the valley voltage.
[0218] In some implementations, the peripheral circuit is configured to: when the multiple first states corresponding to the adjusted read voltage include multiple pass states that are intermediate between the fail states at both ends, the adjusted read voltage corresponding to a pass state at the middle position among the multiple pass states is used as the valley voltage.
[0219] Exemplarily, the multiple first states corresponding to the adjusted read voltages shown in Table 3 reflect three pass states that are located between the fail states at both ends, and the adjusted read voltage corresponding to the pass state at the middle position among the three pass states is used as the valley voltage, that is, the read voltage corresponding to the first state obtained in the fourth iteration is used as the valley voltage.
[0220] In some embodiments, the peripheral circuit is configured to: when multiple first states corresponding to the read voltages after multiple adjustments are all failure states, increase the step size corresponding to the second adjustment; when the increased step size of the second adjustment exceeds a second preset value, adjust the number of storage cells corresponding to at least one codeword, and the number of storage cells corresponding to a codeword after adjustment is less than the number of storage cells corresponding to a codeword before adjustment.
[0221] In some embodiments, the second preset value serves as a limit or constraint, controlling the step size of the second adjustment to balance speed and accuracy. The size of the second preset value is related to the type and storage density of the memory device. The second preset value can be an empirical value or a default value configured at the factory for the memory device, which is determined through extensive simulation experiments before the memory device leaves the factory. For example, the second preset value is set in the range of 80mV to 100mV.
[0222] It is understandable that when the increased second adjustment step size is greater than the second preset value, by reducing the number of storage cells corresponding to the codeword, a balance can be achieved between speed and accuracy. Specifically, by reducing the number of storage cells corresponding to the codeword, the total amount of data included in the third result can be reduced. This reduction in the total amount can, to a certain extent, reduce the number of bits counted from the total amount, namely, the number of bits in the third result that represent the second result being flipped compared to the first data will also be reduced, and the number of bits in the third result that represent the second result being flipped compared to the first data will be more likely to fall within the range of the first preset value. In this way, it is easier to find the first pass state among the multiple first states corresponding to the read voltage after multiple adjustments.
[0223] An embodiment of the present application provides a memory system, as shown in FIG12 , wherein the memory system 102 includes: one or more memory devices 104 as described in the above embodiments; and a memory controller 106 coupled to the memory device 104 and controlling the memory device 104 .
[0224] In some embodiments, the memory controller 106 is configured to: before performing a read operation on data stored in the memory device 104, send a first instruction instructing to obtain a valley voltage; the memory device 104 is configured to: receive the first instruction, obtain the valley voltage, and send the obtained valley voltage to the memory controller 106; the memory controller 106 is further configured to: perform a read operation on the data stored in the memory device 104 using the valley voltage; and perform an error correction code decoding operation on the read result of the read operation.
[0225] In some embodiments, the error correction code decoding operation includes a hard decoding operation using a low density parity check code (LDPC).
[0226] In this way, the memory controller directly receives the valley voltage from the memory device, reducing data transmission time between the memory controller and the memory device and reserving sufficient time for subsequent error correction code decoding of the read results. Furthermore, the memory controller directly performs a read operation and an error correction code decoding operation based on the valley voltage, shortening overall operation time.
[0227] An embodiment of the present application provides an operating method for a memory system, the operating method comprising: before performing a read operation on data stored in a memory device of the memory system, sending a first instruction, the first instruction instructing to obtain a valley voltage; the valley voltage is obtained by any of the operating methods described in the above embodiments; performing a read operation on the data stored in the memory device using the valley voltage; and performing an error correction code decoding operation on the read result of the read operation.
[0228] Another embodiment of the present application provides a memory system, as shown in FIG13 , wherein the memory system 102 includes: at least one memory device 104, the memory device 104 including a plurality of memory cells, wherein a preset number of memory cells form a codeword; a memory controller 106, coupled to the at least one memory device 104 and configured to: obtain a first state corresponding to the at least one codeword at a target read voltage; the first state being used to represent a relationship between 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 and a first preset value; the difference between the first read voltage and the second read voltage being less than a preset voltage; adjusting the target read voltage multiple times, and obtaining the first state corresponding to the at least one codeword at each adjusted read voltage; determining a valley voltage based on a trend of a change in the relationship between the number of bits flipped and the first preset value as reflected in the multiple obtained first states; and using the valley voltage as a read voltage when performing a read operation on the at least one codeword.
[0229] In some embodiments, the memory controller 106 is configured to: before performing a read operation on data stored in the memory device 104, send a second instruction instructing to obtain a first state corresponding to a codeword under multiple different read voltages; the memory device 104 is configured to: receive the second instruction, obtain multiple first states corresponding to at least one codeword under multiple different read voltages, and send the obtained first states to the memory controller 106; the memory controller 106 is further configured to: determine a valley voltage using the multiple first states corresponding to the multiple different read voltages; and perform a read operation on the data stored in the memory device using the valley voltage.
[0230] In some embodiments, the memory device 106 is configured to: read stored data of at least one codeword at a target read voltage to obtain a first result; perform a first adjustment on the target read voltage, and read stored data of at least one codeword at the adjusted target read voltage to obtain a second result; perform a logical operation on the first result and the second result to obtain a third result; and compare the number of bits in the third result indicating that the second result is flipped compared to the first result with a first preset value to obtain a first state.
[0231] In some embodiments, the data volume of the first state is less than a preset data volume threshold.
[0232] 14 is a timing diagram of performing a reread operation according to an embodiment of 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.
[0233] As shown in FIG14 , 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 non-memory device receives sub-command 30h, it may first cache the data DATA (e.g., Dn) corresponding to the page of the received address in a page buffer within the read time, and then read the data DATA on demand. It should be noted that in the above embodiment, when performing a reread operation, the memory device and the memory controller need to frequently transmit data corresponding to a page, and transmitting this data takes a long time.
[0234] Figure 15 is a timing diagram for determining a valley voltage and performing a read operation, provided by an embodiment of the present application. As shown in Figure 15, in addition to a conventional read command (e.g., a read command including two sub-commands (e.g., 00h and 30h)), this embodiment of the present application also includes a second instruction, e.g., the second instruction including sub-commands EBh and 70h / 78h. 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 sub-commands 00h and 30h. After receiving sub-command 30h, the memory device 104 receives sub-commands EBh and 70h / 78h of the second instruction. Under the direction of the second instruction, the memory device 104 acquires multiple first states corresponding to the codeword at multiple different read voltages and sends the acquired first states to the memory controller. The memory controller uses the multiple first states corresponding to the multiple different read voltages received from the memory device to determine the valley voltage and uses the valley voltage to perform a read operation on the data stored in the memory device.
[0235] It should be noted that the second 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.
[0236] In some embodiments, the amount of data in the first state is smaller than a preset data amount threshold, for example, the amount of data in the first state ranges from 1 byte to 4 bytes. Therefore, in the process of determining the valley voltage, the amount of data transmitted between the memory device and the memory controller is small and the speed is fast, which is beneficial to improving the overall speed of the read operation.
[0237] Another embodiment of the present application provides an operating method for a memory system, comprising: obtaining a first state corresponding to at least one codeword at a target read voltage; the first state is used to represent the relationship between 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 and a first preset value; the difference between the first read voltage and the second read voltage is less than a preset voltage; the memory system includes at least one memory device, the memory device includes multiple storage cells, and a preset number of storage cells form a codeword; the target read voltage is adjusted multiple times, and the first state corresponding to the at least one codeword at each adjusted read voltage is obtained respectively; a valley voltage is determined based on a changing trend of the relationship between the number of bits flipped and the first preset value reflected in the multiple first states obtained; the valley voltage is used as a read voltage when performing a read operation on the at least one codeword.
[0238] In some embodiments, the method further includes: before performing a read operation on the data stored in the memory device, sending a second instruction, the second instruction instructing to obtain multiple first states corresponding to the codeword under multiple different read voltages; using the multiple first states corresponding to the multiple different read voltages to determine the valley voltage, and using the valley voltage to perform a read operation on the data stored in the memory device.
[0239] In some embodiments, the amount of data in the first state is smaller than a preset data amount threshold, for example, the amount of data in the first state ranges from 1 byte to 4 bytes. Therefore, in the process of determining the valley voltage, the amount of data transmitted between the memory device and the memory controller is small and the speed is fast, which is beneficial to improving the overall speed of the read operation.
[0240] In some embodiments, the method further includes: reading the stored data of at least one codeword at a target read voltage to obtain a first result; performing a first adjustment on the target read voltage, and reading the stored data of at least one codeword at the adjusted target read voltage to obtain a second result; performing a logical operation on the first result and the second result to obtain a third result; and comparing the number of bits in the third result that represent the flipping of the second result compared to the first result with a first preset value to obtain a first state.
[0241] Yet another embodiment of the present application provides a memory device, as shown in FIG5 , comprising: a memory cell array 301 comprising a plurality of memory cells, wherein a predetermined number of memory cells form a codeword; a peripheral circuit coupled to the memory cell array 301 and comprising a control logic 512 and a page buffer 504; the control logic 512 being configured to: read stored data of at least one codeword at a first read voltage to obtain a first result, and store the first result in a first latch of the page buffer; adjust the first read voltage to obtain a second read voltage, read stored data of at least one codeword at the second read voltage to obtain a second result, and store the second result in a second latch of the page buffer; the difference between the first read voltage and the second read voltage being less than a predetermined voltage; perform a logical operation on the first result and the second result to obtain a third result, and store the third result in a third latch of the page buffer; compare the number of bits in the third result indicating flipping of the second result relative to the first result with a first predetermined value to obtain a first state; the first state being used to indicate a relationship between the number of bits flipped in the read results of the at least one codeword at both the first read voltage and the second read voltage and the first predetermined value.
[0242] Another embodiment of the present application provides an operating method for a memory device, the memory device including a memory cell array and a page buffer, the memory cell array including a plurality of memory cells, a preset number of memory cells forming a codeword; the method including: reading stored data of at least one codeword at a first read voltage to obtain a first result, and storing the first result in a first latch of the page buffer; adjusting a target read voltage to obtain a second read voltage, reading stored data of at least one codeword at the second read voltage to obtain a second result, and storing the second result in a second latch of the page buffer; a difference between the first read voltage and the second read voltage being less than a preset voltage; performing a logical operation on the first result and the second result to obtain a third result, and storing the third result in a third latch of the page buffer; comparing the number of bits in the third result indicating that the second result is flipped compared to the first result with a first preset value to obtain a first state; the first state is used to indicate the relationship between the number of bits flipped in the two read results of at least one codeword at the first read voltage and the second read voltage and the first preset value.
[0243] Here, as in the previous embodiment, the difference between the first read voltage and the second read voltage being less than the preset voltage can be understood as meaning that the first read voltage and the second read voltage have a smaller voltage difference. In some specific embodiments, the preset voltage range is set to 6mV to 21mV. Exemplarily, the preset voltages may be 6mV, 11mV, 16mV, or 21mV. The first preset value can be obtained based on historical data; the first preset value is less than the upper limit of the failed bit count supported by the memory device.
[0244] It should be noted that the first state, or the process of obtaining the magnitude relationship between the FBC and the first preset value between two read voltages with a very close voltage difference, can be packaged inside the memory device and accelerated by the page buffer in the memory device.
[0245] It should be noted that the concepts mentioned here and in the previous embodiment, which are the same as those in the previous embodiment, can be understood with reference to the description in the previous embodiment and will not be repeated here. Furthermore, the first state finally obtained in this and the previous embodiment can also be used in many scenarios beyond determining the valley voltage described above. For example, it can be used to determine the offset of a memory cell in a memory device.
[0246] Referring to FIG16 , FIG16 is a block diagram of a computer-readable storage medium provided in an embodiment of the present application. As shown in FIG16 , an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium 200 stores a computer program 210. When executed by a processor, the computer program 210 can implement a method for operating a memory system as described in the above technical solution. The method includes: obtaining a first state corresponding to at least one codeword at a target read voltage; the first state is used to represent the relationship between the number of bits flipped in two read results of the at least one codeword at a first read voltage and a second read voltage and a first preset value; the difference between the first read voltage and the second read voltage is less than a preset voltage; the memory system includes at least one memory device, the memory device including a plurality of memory cells, wherein a preset number of memory cells form a codeword; adjusting the target read voltage multiple times, and obtaining the first state corresponding to the at least one codeword at each adjusted read voltage; determining a valley voltage based on a trend in the relationship between the number of bits flipped and the first preset value as reflected in the obtained multiple first states; and using the valley voltage as a read voltage when performing a read operation on the at least one codeword.
[0247] 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.
[0248] 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. Industrial Applicability
[0249] The memory device and operating method thereof, as well as the memory system and operating method thereof, provided in the embodiments of the present application, effectively avoid the time-consuming and incomplete scenario coverage issues associated with using a trial-and-error table. This saves space occupied by the trial-and-error table, allows for faster and more accurate determination of the valley voltage, and effectively reduces the latency associated with determining the valley voltage. Furthermore, performing a read operation based on the obtained valley voltage significantly increases the probability of correctly reading stored data, improving product reliability and user experience.
Claims
1. A memory device, comprising: A memory cell array including a plurality of memory cells, and 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 state corresponding to at least one of the codewords at a target read voltage; the first state is used to characterize the magnitude relationship between the number of bits that are flipped in two read results of at least one of the codewords at a first read voltage and a second read voltage and a first preset value; the difference between the first read voltage and the second read voltage is less than a preset voltage; Adjust the target read voltage multiple times, and respectively obtain the first state corresponding to at least one of the codewords at the read voltage after each adjustment; Determine a valley voltage according to the change trend of the magnitude relationship between the number of bits that are flipped reflected by the obtained multiple first states and the first preset value; the valley voltage is used as the 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 to: Read the stored data of at least one of the codewords at the target read voltage to obtain a first result; Perform a first adjustment on the target read voltage, and read the stored data of at least one of the codewords at the adjusted target read voltage to obtain a second result; Perform a logical operation on the first result and the second result to obtain a third result; Compare the number of bits in the third result that indicate that the second result is flipped compared to the first result with the first preset value to obtain the first state.
3. The memory device according to claim 2, wherein, The peripheral circuit includes: a first latch, a second latch, and a third latch; The first latch is configured to store the first result; The second latch is configured to store the second result; The third latch is configured to store the third result.
4. The memory device according to claim 2, wherein When the number of bits in the third result that indicate that the second result is flipped compared to the first result is greater than the first preset value, the first state is a failure state; When the number of bits in the third result that indicate that the second result is flipped compared to the first result is less than or equal to the first preset value, the first state is a pass state.
5. The memory device according to claim 4, wherein, The peripheral circuit is configured to: When adjusting the target read voltage multiple times, perform a second adjustment on the read voltage after the previous adjustment each time; the step size of the second adjustment is greater than the step size of the first adjustment; the step size of the second adjustment is a fixed value.
6. The memory device according to claim 5, wherein, The peripheral circuit is configured to: When adjusting the target read voltage multiple times, stop adjusting the read voltage when the multiple first states corresponding to the read voltages after multiple adjustments show a change from a failure state to at least one pass state and then to a failure state.
7. The memory device according to claim 6, wherein, The peripheral circuit is configured to: When the pass state in the middle of the failure states at both ends reflected by the multiple first states corresponding to the adjusted read voltage includes one time, use the read voltage corresponding to the one pass state as the valley voltage; When the passing states in the middle of the failure states at both ends reflected by the multiple first states corresponding to the adjusted read voltages include multiple times, the adjusted read voltage corresponding to one passing state in the middle position among the multiple passing states is used as the valley voltage.
8. The memory device according to claim 7, wherein, The peripheral circuit is configured to: When the passing states in the middle of the failure states at both ends reflected by the multiple first states corresponding to the adjusted read voltages include an even number of times, the average value of the adjusted read voltages corresponding to two passing states in the middle position among the multiple passing states is used as the valley voltage.
9. The memory device according to claim 6, wherein, The peripheral circuit is configured to: After the first passing state after the failure state appears among the multiple first states corresponding to the multiple adjusted read voltages, perform a third adjustment on the previous adjusted read voltage; the step size of the third adjustment is less than the step size of the second adjustment.
10. The memory device according to claim 9, wherein, The peripheral circuit is configured to: Maintain the third adjustment until the first failure state after the passing state appears among the multiple first states; After the first failure state after the passing state appears among the multiple first states, perform the second adjustment on the previous adjusted read voltage.
11. The memory device according to claim 6, wherein, The peripheral circuit is configured to: After the first passing state after the failure state appears among the multiple first states corresponding to the multiple adjusted read voltages, perform a fourth adjustment on the previous adjusted read voltage according to the third result corresponding to the first passing state.
12. The memory device according to claim 5, wherein, The peripheral circuit is configured to: When all the multiple first states corresponding to the multiple adjusted read voltages are failure states, increase the step size corresponding to the second adjustment; When the increased step size of the second adjustment exceeds a second preset value, adjust the number of memory cells corresponding to at least one of the codewords, and the number of memory cells corresponding to one codeword after adjustment is less than the number of memory cells corresponding to one codeword before adjustment.
13. The memory device according to claim 1, wherein, The peripheral circuit is configured to: Obtain the first preset value; the first preset value is obtained according to historical data; the first preset value is less than the upper limit of the failure bit count supported by the memory device.
14. The memory device according to claim 1, wherein, The peripheral circuit is configured to: Before obtaining the first state corresponding to at least one of the codewords at the target read voltage, set the read mode of the memory device to a single-level read mode; the single-level read mode includes reading at least one bit of stored data stored in the memory cell through a first-order read voltage.
15. The memory device according to claim 14, wherein, The storage unit includes M bits, the memory device includes M types of pages, and the M-bit storage unit reads its M-bit stored data through N-order read voltages; both M and N are integers greater than 1, and N = 2 M -1; The peripheral circuit is configured to: For each order of the multi-order read voltages corresponding to each type of page, according to each order of the Multiple read voltages correspond to multiple of the first states, and determine the valley voltage of each order.
16. A memory system, comprising: One or more memory devices according to any one of claims 1 to 15; And A memory controller coupled to the memory device and controlling the memory device.
17. The memory system according to claim 16, wherein The memory controller is configured to: before reading the data stored in the memory device, send a first instruction, and the first instruction instructs to obtain the valley voltage; The memory device is configured to: receive the first instruction, obtain a valley voltage, and send the obtained 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 by using the valley voltage; Perform an error correction code decoding operation on the read result of the read operation.
18. A memory system, comprising: At least one memory device, where the memory device includes a plurality of memory cells, and a preset number of the memory cells form a codeword; A memory controller, coupled to the at least one memory device and configured to: Obtain a first state corresponding to at least one of the codewords at a target read voltage; The first state is used to characterize the magnitude relationship between the number of bits that are flipped in the two read results of at least one of the codewords at a first read voltage and a second read voltage and a first preset value; the difference between the first read voltage and the second read voltage is less than a preset voltage; Adjust the target read voltage multiple times, and respectively obtain a first state corresponding to at least one of the codewords at the read voltage after each adjustment; Determine a valley voltage according to the change trend of the magnitude relationship between the number of bits that are flipped reflected by the obtained multiple first states and the first preset value; the valley voltage is used as the read voltage when performing a read operation on at least one of the codewords.
19. The memory system according to claim 18, wherein The memory controller is configured to: Before performing a read operation on the data stored in the memory device, send a second instruction, where the second instruction instructs to obtain a plurality of first states corresponding to at least one of the codewords at a plurality of different read voltages; The memory device is configured to: receive the second instruction, obtain a plurality of first states corresponding to at least one of the codewords at a plurality of different read voltages, and send the obtained first states to the memory controller; The memory controller is further configured to: determine a valley voltage by using the plurality of first states corresponding to the plurality of different read voltages respectively; perform a read operation on the data stored in the memory device by using the valley voltage.
20. The memory system according to claim 19, wherein The memory device is configured to: read the stored data of at least one of the codewords at the target read voltage to obtain a first result; Perform a first adjustment on the target read voltage, and read the stored data of at least one of the codewords at the adjusted target read voltage to obtain a second result; Perform a logical operation on the first result and the second result to obtain a third result; Compare the number of bits in the third result that characterize the second result being flipped compared to the first result with the first preset value to obtain the first state.
21. The memory system according to claim 18, wherein, The data volume of the first state is less than a preset data volume threshold.
22. An operation method of a memory device, comprising: Obtain a first state corresponding to at least one codeword at a target read voltage; The first state is used to characterize the magnitude relationship between the number of bits that are flipped in the two read results of at least one of the codewords at a first read voltage and a second read voltage and a first preset value; the difference between the first read voltage and the second read voltage is less than a preset voltage; the memory device includes a memory cell array, the memory cell array includes a plurality of memory cells, and a preset number of the memory cells form one of the codewords; Adjust the target read voltage multiple times, and respectively obtain the first state corresponding to at least one of the codewords at the read voltage after each adjustment; According to the change trend of the magnitude relationship between the number of bits that are flipped reflected by the obtained multiple first states and the first preset value, determine the valley voltage; the valley voltage is used as the read voltage when performing a read operation on at least one of the codewords.
23. The operating method according to claim 22, wherein, Obtaining the first state corresponding to at least one codeword at the target read voltage includes: Reading the stored data of at least one of the codewords at the target read voltage to obtain a first result; Performing a first adjustment on the target read voltage, and reading the stored data of at least one of the codewords at the adjusted target read voltage to obtain a second result; Performing a logical operation on the first result and the second result to obtain a third result; Comparing the number of bits in the third result that represent a flip of the second result compared to the first result with the first preset value to obtain the first state.
24. The operating method according to claim 23, wherein, The method further includes: Storing the first result in a first latch of the memory device, Storing the second result in a second latch of the memory device; Storing the third result in a third latch of the memory device.
25. The operating method according to claim 23, wherein, The comparing the number of bits in the third result that represent a flip of the second result compared to the first result with the first preset value to obtain the first state includes: When the number of bits in the third result that represent a flip of the second result compared to the first result is greater than the first preset value, the first state is a failure state; When the number of bits in the third result that represent a flip of the second result compared to the first result is less than or equal to the first preset value, the first state is a pass state.
26. The operating method according to claim 25, wherein, The method further includes: When adjusting the target read voltage multiple times, each time a second adjustment is performed on the read voltage after the previous adjustment; the step size of the second adjustment is greater than the step size of the first adjustment; the step size of the second adjustment is a fixed value.
27. The operating method according to claim 26, wherein, The method further includes: When adjusting the target read voltage multiple times, when the multiple first states corresponding to the read voltages after multiple adjustments reflect a change from a failure state to at least one pass state and then to a failure state, stop adjusting the read voltage. When adjusting the target read voltage multiple times, when the multiple first states corresponding to the read voltages after multiple adjustments reflect a change from a failure state to at least one pass state and then to a failure state, stop adjusting the read voltage.
28. The operating method according to claim 27, wherein, According to the change trend of the magnitude relationship between the number of bits that are flipped reflected by the obtained multiple first states and the first preset value, determining the valley voltage includes: When there is one pass state among the pass states between the failure states at both ends reflected by the multiple first states corresponding to the adjusted read voltage, using the adjusted read voltage corresponding to the one pass state as the valley voltage; When the passing states in the middle of the failure states at both ends reflected by the multiple first states corresponding to the adjusted read voltages include multiple times, use the adjusted read voltage corresponding to the passing state in the middle position among the multiple passing states as the valley voltage.
29. The operating method according to claim 28, wherein, Determine the valley voltage according to the change trend of the relationship between the number of bits that flip reflected by the multiple first states obtained and the first preset value, including: When the passing states in the middle of the failure states at both ends reflected by the multiple first states corresponding to the adjusted read voltages include an even number of times, use the average value of the adjusted read voltages corresponding to the two passing states in the middle position among the multiple passing states as the valley voltage.
30. The operating method according to claim 27, wherein, The method further includes: After the first passing state after the failure state appears among the multiple first states corresponding to the multiple adjusted read voltages, perform a third adjustment on the previous adjusted read voltage; the step size of the third adjustment is smaller than the step size of the second adjustment.
31. The operating method according to claim 30, wherein The method further includes: Maintain the third adjustment until the first failure state after the passing state appears among the multiple first states; After the first failure state after the passing state appears among the multiple first states, perform the second adjustment on the previous adjusted read voltage.
32. The operating method according to claim 27, wherein, The method further includes: After the first passing state after the failure state appears among the multiple first states corresponding to the multiple adjusted read voltages According to the third result corresponding to the first passing state, perform a fourth adjustment on the previous adjusted read voltage.
33. The operating method according to claim 30, wherein, The method further includes: When all the multiple first states corresponding to the multiple adjusted read voltages are failure states, increase the step size corresponding to the second adjustment; When the increased step size of the second adjustment exceeds the second preset value, adjust the number of memory cells corresponding to at least one of the codewords, and the number of memory cells corresponding to one adjusted codeword is smaller than the number of memory cells corresponding to one codeword before adjustment.
34. The operating method according to claim 22, wherein, The method further includes: Obtain the first preset value; the first preset value is obtained according to historical data; the first preset value is less than the upper limit of the failure bit count supported by the memory device.
35. The operating method according to claim 22, wherein, The method further includes: Before obtaining the first state corresponding to at least one of the codewords at the target read voltage, set the read mode of the memory device to the single-level read mode; the single-level read mode includes reading at least one bit of stored data stored in the memory cell through a first-order read voltage.
36. The operating method according to claim 35, wherein, The storage unit includes M bits, the memory includes M types of pages, and the M-bit storage unit reads its M-bit stored data through N-order read voltages; both M and N are integers greater than 1, and N = 2 M - 1; The method further includes: For each order of the multi-order read voltages corresponding to each type of page, determine the valley voltage of each order according to the multiple first states corresponding to the multiple read voltages of each order.
37. An operation method of a memory system, including: Before reading the data stored in the memory device of the memory system, send a first instruction, and the first instruction instructs to obtain the valley voltage; The valley voltage is obtained according to the operation method according to any one of claims 22 to 36; Use the valley voltage to read the data stored in the memory device; Perform an error correction code decoding operation on the read result of the read operation.
38. A method for operating a memory system, comprising: Obtain a first state corresponding to at least one codeword at a target read voltage; The first state is used to characterize the magnitude relationship between the number of bits that are flipped in the two read results of at least one of the codewords at a first read voltage and a second read voltage and a first preset value; the difference between the first read voltage and the second read voltage is less than a preset voltage; the memory system includes at least one memory device, the memory device includes a plurality of memory cells, and a preset number of the memory cells form one codeword; Adjust the target read voltage multiple times, and respectively obtain the first state corresponding to at least one of the codewords at the read voltage after each adjustment; Determine a valley voltage according to the change trend of the magnitude relationship between the number of flipped bits reflected by the obtained multiple first states and the first preset value; the valley voltage is used as the read voltage when performing a read operation on at least one of the codewords.
39. The operating method according to claim 38, wherein, The method further includes: Before performing a read operation on the data stored in the memory device, send a second instruction, and the second instruction instructs to obtain a plurality of first states corresponding to at least one of the codewords at a plurality of different read voltages; Determine the valley voltage by using the plurality of first states respectively corresponding to the plurality of different read voltages; perform a read operation on the data stored in the memory device by using the valley voltage.
40. The operating method according to claim 39, wherein, The method further includes: Read the stored data of at least one of the codewords at the target read voltage to obtain a first result; Perform a first adjustment on the target read voltage, and read the stored data of at least one of the codewords at the adjusted target read voltage to obtain a second result; Perform a logical operation on the first result and the second result to obtain a third result; Compare the number of bits in the third result that represent the second result being flipped compared to the first result with the first preset value to obtain the first state.
41. A memory device, comprising: A memory cell array including a plurality of memory cells, and a preset number of the memory cells form one codeword; A peripheral circuit coupled to the memory cell array, including control logic and a page buffer; The control logic is configured to: Read the stored data of at least one of the codewords at a first read voltage to obtain a first result, and store the first result in a first latch of the page buffer; Adjust the first read voltage to obtain a second read voltage, read the stored data of at least one of the codewords at the second read voltage to obtain a second result, and store the second result in a second latch of the page buffer; The difference between the first read voltage and the second read voltage is less than a preset voltage; Perform a logical operation on the first result and the second result to obtain a third result, and store the third result in a third latch of the page buffer; Compare the number of bits in the third result that represent the second result being flipped compared to the first result with a first preset value to obtain a first state; The first state is used to characterize the magnitude relationship between the number of bits that flip in the two read results of at least one of the codewords at the first read voltage and the second read voltage and the first preset value.
42. An operation method of a memory device, the method comprising: Reading stored data of at least one codeword at a first read voltage to obtain a first result, and storing the first result in a first latch of a page buffer; The memory device includes a memory cell array and a page buffer, the memory cell array includes a plurality of memory cells, and a preset number of the memory cells form one of the codewords; Adjusting the first read voltage to obtain a second read voltage, reading stored data of at least one of the codewords at the second read voltage to obtain a second result, and storing the second result in a second latch of the page buffer; The difference between the first read voltage and the second read voltage is less than a preset voltage; Performing a logical operation on the first result and the second result to obtain a third result, and storing the third result in a third latch of the page buffer; Comparing the number of bits in the third result that represent that the second result has flipped compared to the first result with a first preset value to obtain a first state; The first state is used to characterize the bits that include at least one of the codewords that flip in the two read results at the first read voltage and the second read voltage of the magnitude relationship between the number and the first preset value.