This application claims the priority benefit of China application serial no. 202410090932.3, filed on Jan. 23, 2024. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.
The present invention relates to a memory control technology, and in particular, to a voltage adjustment method, a memory storage device and a memory control circuit unit.
Portable electronic devices such as mobile phones and notebook computers have grown rapidly in recent years, resulting in a rapid increase in consumer demand for storage media. Since rewritable non-volatile memory module (for example, flash memory) has the characteristics of data non-volatile, power saving, small size, and no mechanical structure, the rewritable non-volatile memory module is very suitable to be built into the various portable electronic devices exemplarily mentioned above.
Traditionally, if there are too many errors in the data read from a physical page in a rewritable non-volatile memory module, these errors may not be completely corrected in subsequent decoding operations. In this case, a general operation is to adjust a read voltage by querying a large number of data tables, and use the adjusted read voltage to re-read data from the same physical page and then decode the data to try to reduce the number of error bits in the read data, so as to improve a decoding success rate. However, in practice, due to the large number of data tables need to be queried, it often takes a lot of time to adjust the read voltage to a suitable voltage position, thus reducing data read efficiency.
The disclosure provides a memory management method, a memory storage device, and a memory control circuit unit, which may improve the data read efficiency.
Exemplary embodiments of the disclosure provides a voltage adjustment method for a rewritable non-volatile memory module, wherein the rewritable non-volatile memory module comprises a plurality of physical units, and the voltage adjustment method comprises: reading a first physical unit among the physical units based on a first read voltage to obtain a first count value, wherein the first count value reflects a total number of memory cells each having a threshold voltage lower than the first read voltage; obtaining a second count value based on a difference between the first count value and a first default value; bringing the second count value into a formula below to obtain a voltage adjustment parameter,
Exemplary embodiments of the disclosure further provides a memory storage device, comprising: a connection interface unit, configured to connect to a host system; a rewritable non-volatile memory module, comprising a plurality of physical units; and a memory control circuit unit, connected to the connection interface unit and the rewritable non-volatile memory module, wherein the memory control circuit unit is configured to: read a first physical unit among the physical units based on a first read voltage to obtain a first count value, wherein the first count value reflects a total number of memory cells each having a threshold voltage lower than the first read voltage; obtain a second count value based on a difference between the first count value and a first default value; bring the second count value into a formula below to obtain a voltage adjustment parameter,
Exemplary embodiments of the disclosure further provides a memory control circuit unit for controlling a rewritable non-volatile memory module, wherein the rewritable non-volatile memory module comprises a plurality of physical units, and the memory control circuit unit comprises: a host interface, configured to connect to a host system; a memory interface, configured to connect to the rewriteable non-volatile memory module; and a memory management circuit, connected to the host interface and the memory interface, wherein the memory management circuit is configured to: read a first physical unit among the physical units based on a first read voltage to obtain a first count value, wherein the first count value reflects a total number of memory cells each having a threshold voltage lower than the first read voltage; obtain a second count value based on a difference between the first count value and a first default value; bring the second count value into a formula below to obtain a voltage adjustment parameter,
Based on the above, after reading the first physical unit based on the first read voltage, the first count value may be obtained. The first count value may reflect the total number of memory cells each having the threshold voltage lower than the first read voltage in the first physical unit. Based on the difference between the first count value and the first default value, the second count value may be obtained. After bringing the second count value into a target formula, the voltage adjustment parameter may be obtained, and then the first read voltage may be adjusted to the second read voltage according to the voltage adjustment parameter. Afterwards, the first physical unit may be re-read based on the second read voltage to improve the accuracy of the read data and thus improve data read efficiency
Referring to
The host system 11 may be connected to the memory storage device 10 through the data transmission interface 114. For example, the host system 11 may store data to the memory storage device 10 or read data from the memory storage device 10 through the data transmission interface 114. In addition, the host system 11 may be connected to the I/O device 12 through the system bus 110. For example, the host system 11 may transmit output signals to the I/O device 12 or receive input signals from the I/O device 12 through the system bus 110.
In an exemplary embodiment, the processor 111, the random access memory 112, the read only memory 113 and the data transmission interface 114 may be disposed on a motherboard 20 of the host system 11. The number of the data transmission interfaces 114 may be one or more. Through the data transmission interface 114, the motherboard 20 may be connected to the memory storage device 10 through wired or wireless means.
In an exemplary embodiment, the memory storage device 10 may be, for example, a pen drive 201, a memory card 202, a solid state drive (SSD) 203 or a wireless memory storage device 204. The wireless memory storage device 204 may be, for example, a Near Field Communication (NFC) memory storage device, a WiFi memory storage device, a Bluetooth memory storage device, a low-power Bluetooth memory storage device (e.g., iBeacon) or other types of memory storage devices based on various wireless communication technologies. In addition, the motherboard 20 may also be connected to different I/O devices, such as a Global Positioning System (GPS) module 205, a network interface card 206, a wireless transmission device 207, a keyboard 208, a screen 209, a speaker 210, etc., through the system bus 110. For example, in an exemplary embodiment, the motherboard 20 may access the wireless memory storage device 204 through the wireless transmission device 207.
In an exemplary embodiment, the host system 11 is a computer system. In an example embodiment, the host system 11 may be any system that may substantially cooperate with a memory storage device for storing data. In an example embodiment, the memory storage device 10 and the host system 11 may respectively include the memory storage device 30 and the host system 31 of
The connection interface unit 41 is configured to connect to the host system 11. The memory storage device 10 may communicate with the host system 11 through the connection interface unit 41. For example, the connection interface unit 41 may be compatible with a Peripheral Component Interconnect Express (PCI Express) standard, a Serial Advanced Technology Attachment (SATA) standard, a Parallel Advanced Technology Attachment (PATA) standard, an Institute of Electrical and Electronic Engineers (IEEE) 1394 standard, an Universal Serial Bus (USB) standard, a SD interface standard, an Ultra High Speed-I (UHS-I)) interface standard, an Ultra High Speed-II (UHS-II) interface standard, a Memory Stick (MS) interface standard, a MCP interface standard, a MMC interface standard, an eMMC interface standard, an Universal Flash Storage (UFS) interface standard, an eMCP interface standard, a CF interface standard, an Integrated Device Electronics (IDE) standard or other suitable standards.
The memory control circuit unit 42 is connected to the connection interface unit 41 and the rewritable non-volatile memory module 43. The memory control circuit unit 42 is configured to control the rewritable non-volatile memory module 43. For example, the memory control circuit unit 42 may instruct the rewritable non-volatile memory module 43 to perform operations such as writing, reading, and erasing data according to instructions from the host system 11. For example, memory control circuit unit 42 may include a flash memory controller.
The rewritable non-volatile memory module 43 is configured to store data from the host system 11. The rewritable non-volatile memory module 43 may include a Single Level Cell (SLC) NAND flash memory module (that is, a flash memory module that may store 1 bit in one memory cell), Multi Level Cell (MLC) NAND flash memory module (that is, a flash memory module that may store 2 bits in one memory cell), Triple Level Cell (TLC) NAND flash memory module (that is, a flash memory module that may store 3 bits in one memory cell), Quad Level Cell (QLC) NAND flash memory module group (that is, a flash memory module that may store 4 bits in a memory cell), other flash memory modules, or other memory modules with the same or similar characteristics.
The memory management circuit 51 is configured to control the overall operation of the memory control circuit unit 42. For example, the memory management circuit 51 may include a Central Processing Unit (CPU), or other programmable general-purpose or special-purpose microprocessor, a Digital Signal Processor (DSP), a programmable controller, an Application Specific Integrated Circuits (ASIC), a Programmable Logic Device (PLD) or other similar devices or a combination of these devices.
The host interface 52 is connected to the memory management circuit 51. The memory management circuit 51 may communicate with the host system 11 through the host interface 52. For example, host interface 52 is compatible with the PCI Express standard, the SATA standard, the PATA standard, the IEEE 1394 standard, the USB standard, the SD standard, the UHS-I standard, the UHS-II standard, the MS standard, the MMC standard, the eMMC standard, the UFS standard, the CF standard, the IDE standard or other suitable data transmission standards.
The memory interface 53 is connected to memory management circuit 51. The memory management circuit 51 may access the rewritable non-volatile memory module 43 through the memory interface 53. For example, the memory management circuit 51 may issue operation instructions to the rewritable non-volatile memory module 43 through the memory interface 53 to instruct the rewritable non-volatile memory module 43 to perform various operations such as reading, writing, or erasing data.
In an exemplary embodiment, the memory control circuit unit 42 further includes an error detection and correction circuit 54, a buffer memory 55 and a power management circuit 56.
The error detection and correction circuit 54 is connected to the memory management circuit 51 and is configured to perform error detection and correction operation to ensure the correctness of data. For example, when the memory management circuit 51 receives a write instruction from the host system 11, the error detection and correction circuit 54 may generate an error correction code (ECC) and/or an error detection code (EDC) for the data corresponding to the write command, and the memory management circuit 51 may store the data corresponding to the write instruction and the corresponding error correction code and/or error detection code into the rewritable non-volatile memory module 43. Afterwards, when the memory management circuit 51 reads data from the rewritable non-volatile memory module 43, the memory management circuit 51 also reads the error correction code and/or the error check code corresponding to the data, and the error detection and correction circuit 54 may perform the error detection and correction operation on the read data according to the error correction code and/or the error check code.
The buffer memory 55 is connected to the memory management circuit 51 and is configured to temporarily store data. The power management circuit 56 is connected to the memory management circuit 51 and is configured to control the power supply of the memory storage device 10.
In an exemplary embodiment, a physical unit refers to a physical address or a physical programming unit. The physical programming unit is a basic unit for performing programming operation for storing data. For example, a physical programming unit may include one or more physical pages or physical sectors. In an example embodiment, a physical unit may also be composed of multiple consecutive or non-consecutive physical addresses. In an example embodiment, a physical unit may also refer to a virtual block (VB). A virtual block may include multiple physical addresses or multiple physical programming units. In an example embodiment, a virtual block may include one or more physical erasing units. The physical erasing unit is a basic unit for performing erasing operation for erasing data. For example, a physical erasing unit may include one or more physical blocks.
In an exemplary embodiment, the physical units 610(0) to 610(A) in the storage area 601 are configured to store user data (e.g., user data from the host system 11 in
In an example embodiment, the memory management circuit 51 may configure logical units 612(0) to 612(C) to map the physical units 610(0) to 610(A) in the storage area 601. In an example embodiment, each logical unit corresponds to a logical address. For example, a logical address may include one or more Logical Block Address (LBA) or other logical management units. In an example embodiment, a logical unit may also correspond to a logical programming unit or be composed of multiple consecutive or non-consecutive logical addresses.
In an example embodiment, the memory management circuit 51 may record management data (also referred to as logical-to-physical mapping information) describing the mapping relationship between the logical unit and the physical unit in at least one logical-to-physical mapping table. When the host system 11 intends to read data from or write data to the memory storage device 10, the memory management circuit 51 may access the rewritable non-volatile memory module 43 according to the information recorded in the logical-to-physical mapping table.
In an example embodiment, when data is read from the first physical unit, a read voltage RV(1) may be applied to the first physical unit, and the rewritable non-volatile memory module 43 may return a read result to memory management circuit 51. For example, after the read voltage RV(1) is applied to the first physical unit, if a threshold voltage of a memory cell in the first physical unit is lower than the read voltage RV(1), the rewritable non-volatile memory module 43 may return the bit “1” as the read result corresponding to this memory cell to the memory management circuit 51. Alternatively, if a threshold voltage of a memory cell in the first physical unit is higher than the read voltage RV(1), the rewritable non-volatile memory module 43 may return the bit “0” as the read result corresponding to this memory cell to the memory management circuit 51.
However, after the threshold voltage distribution of the memory cells in the first physical unit undergoes a serious voltage shift (as shown in
Taking
In an exemplary embodiment, after a decoding failure occurs (that is, errors in the read data cannot be completely corrected), the memory management circuit 51 may initiate a re-reading operation of the first physical unit. In the reread operation, the memory management circuit 51 may adjust the read voltage for the next data read from the first physical unit to try to reduce the number of error bits in the data read from the first physical unit next time.
In an example embodiment, in the adjustment operation of the read voltage, the memory management circuit 51 may read the first physical unit based on a first read voltage to obtain a count value (also referred to as a first count value). The first count value may reflect a total number of memory cells each having a threshold voltage lower than the first read voltage in the first physical unit. Taking
In an example embodiment, the memory management circuit 51 may obtain another count value (also referred to as a second count value) based on the difference between the first count value and a default value (also referred to as a first default value). That is, the second count value may reflect the difference between the first count value and the first default value. For example, assuming that the difference between the first count value and the first default value is “2000”, then the second count value may be “2000”, and the present disclosure is not limited thereto.
In an example embodiment, the first default value may be positively related to the total number of all bits stored in the first physical unit. That is, the greater the total number of bits stored in the first physical unit, the greater the first default value may be. In an example embodiment, the first default value may be ½ of the total number of (all) bits stored in the first physical unit. For example, assuming that the total number of all bits stored in the first physical unit is “8000”, then the first default value may be “4000” (that is, 8000/2=4000). In addition, assuming that the first count value is “6000”, then the second count value may be “2000” (that is, 6000−4000=2000).
In an example embodiment, after obtaining the second count value, the memory management circuit 51 may bring the second count value into the following formula (also referred to as a target formula) to obtain a voltage adjustment parameter.
In the target formula above, ΔR represents the voltage adjustment parameter, ΔCNT1 represents the second count value, and a and b are constants. It should be noted that, a and b may be set according to practical needs, and the present disclosure does not limit the actual values of a and b. In addition, the target formula may also be adjusted according to practical needs, which is not limited by the present disclosure.
In an example embodiment, the memory management circuit 51 may adjust the first read voltage to another read voltage (also referred to as a second read voltage) according to the voltage adjustment parameter (e.g., ΔR). The second read voltage may then be used in the reread operation of the first physical unit. For example, after obtaining the second read voltage, the memory management circuit 51 may read the first physical unit based on the second read voltage to try to reduce the number of error bits in the data read from the first physical unit in the reread operation.
In an example embodiment, the memory management circuit 51 may determine whether the second count value is greater than zero. In response to the second count value being greater than zero, the memory management circuit 51 may subtract the voltage adjustment parameter from the first read voltage to obtain the second read voltage. Taking
In an example embodiment, the memory management circuit 51 may use different parameter sets to set a and b in the target formula. For example, according to different second count values (such as different ΔCNT1), the memory management circuit 51 may select different parameter sets from multiple candidate parameter sets to set a and b in the target formula. As a result, ΔR (i.e., the voltage adjustment parameter) obtained through the target formula may be determined more accurately.
In an example embodiment, the memory management circuit 51 may determine whether the second count value (e.g., ΔCNT1) is greater than another default value (also referred to as a second default value). In response to the second count value being greater than the second default value, the memory management circuit 51 may use a first set of parameters to set a and b in the target formula. For example, in an exemplary embodiment, the memory management circuit 51 may use the first set of parameters to set a and b in the target formula as “62” and “46”, respectively. In addition, in response to the second count value not being greater than the second default value, the memory management circuit 51 may use a second set of parameters to set a and b in the target formula. The first set of parameters is different from the second set of parameters. For example, in an exemplary embodiment, the memory management circuit 51 may use the second set of parameters to set a and b in the target formula as “24” and “17”, respectively.
In an example embodiment, the second default value may also be positively related to the total number of all bits stored in the first physical unit, while the second default value is different from the first default value. For example, the second default value may be smaller than the first default value. In an example embodiment, the second default value may be 1/K of the total number of all bits stored in the first physical unit. For example, K may be 8 or other integers greater than 1, depending on practical needs.
In an example embodiment, in a certain numerical interval (also referred to as a first numerical interval) of the second count value, the memory management circuit 51 may use a curve 91 to simulate a part of the curve 90. In addition, in another numerical interval (also referred to as a second numerical interval) of the second count value, the memory management circuit 51 may use a curve 92 to simulate another part of the curve 90. The first numerical interval and the second numerical interval do not overlap with each other.
In an example embodiment, it is assumed that a threshold value THR is the second default value. In a case where the second count value is less than the threshold value THR (that is, the second count value is located in the first numerical interval of the second count value), the memory management circuit 51 may use the curve 91 to match the curve 90. For example, if the first set of parameters is used to set a and b in the target formula (for example, a=″24″ and b=″17″), then in a case that the second count value is less than the threshold value THR, the curve 91 may accurately match the actual or optimal correspondence relationship between the input (i.e., ΔCNT1) and the output (i.e., ΔR) of the target formula.
In an example embodiment, when the second count value is greater than the threshold value THR (that is, the second count value is located in the second numerical interval of the second count value), the memory management circuit 51 may use the curve 92 to match the curve 90. For example, if the second set of parameters is used to set a and b in the target formula (for example, a=″62″ and b=″46″), then in a case that the second count value is greater than the threshold value THR, the curve 92 may accurately match the actual or optimal correspondence relationship between the input (i.e., ΔCNT1) and the output (i.e., ΔR) of the target formula. It should be noted that, in another exemplary embodiment, more or fewer curves may also be used to match the curve 90, which is not limited by the present disclosure.
However, each step in
In summary, the voltage adjustment method, the memory storage device and the memory control circuit unit proposed by exemplary embodiment of the present disclosure may evaluate the shift of the read voltage through a specially designed means, and then use a corresponding voltage adjustment parameters to adjust the read voltage, so as to improve the data reading efficiency. In addition, by using segmented curves to match the actual or optimal correspondence relationship between the input and output of the target formula, the calculation accuracy of the voltage adjustment parameter may also be effectively improved.
Although the disclosure has been disclosed in the above embodiments, the embodiments are not intended to limit the disclosure. Persons skilled in the art may make some changes and modifications without departing from the spirit and scope of the disclosure. The protection scope of the disclosure shall be defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
202410090932.3 | Jan 2024 | CN | national |