[go: up one dir, main page]

CN112634972B - Voltage identification method, memory control circuit unit, and memory storage device - Google Patents

Voltage identification method, memory control circuit unit, and memory storage device Download PDF

Info

Publication number
CN112634972B
CN112634972B CN201910905963.9A CN201910905963A CN112634972B CN 112634972 B CN112634972 B CN 112634972B CN 201910905963 A CN201910905963 A CN 201910905963A CN 112634972 B CN112634972 B CN 112634972B
Authority
CN
China
Prior art keywords
read voltage
memory
read
groups
bit sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910905963.9A
Other languages
Chinese (zh)
Other versions
CN112634972A (en
Inventor
林纬
刘安城
陈思玮
杨宇翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN201910905963.9A priority Critical patent/CN112634972B/en
Publication of CN112634972A publication Critical patent/CN112634972A/en
Application granted granted Critical
Publication of CN112634972B publication Critical patent/CN112634972B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Read Only Memory (AREA)

Abstract

The invention provides a voltage identification method, a memory control circuit unit and a memory storage device. The method comprises the following steps: reading the first memory cell according to a first read voltage group of the plurality of read voltage groups and performing a first decoding operation to generate first verification information; identifying a plurality of second read voltage sets corresponding to the first interval in the plurality of read voltage sets according to the first interval in which the first verification information is located in the plurality of intervals; the first memory cell is read using a third read voltage set of the second read voltage sets and a first decoding operation is performed.

Description

电压识别方法、存储器控制电路单元以及存储器储存装置Voltage identification method, memory control circuit unit, and memory storage device

技术领域technical field

本发明是有关于一种电压识别方法、存储器控制电路单元以及存储器储存装置。The invention relates to a voltage identification method, a memory control circuit unit and a memory storage device.

背景技术Background technique

数字相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。Digital cameras, mobile phones, and MP3 players have grown rapidly in recent years, making consumers' demand for storage media also increase rapidly. Since the rewritable non-volatile memory module (such as flash memory) has the characteristics of data non-volatility, power saving, small size, and no mechanical structure, it is very suitable for being built in various portable devices such as the above examples. in the multimedia device.

一般来说,在从可复写式非易失性存储器模块中读取数据时,存储器管理电路可以先执行硬位模式译码操作来进行译码以取得所欲读取的数据。在执行硬位模式译码操作时,可以先使用读取电压来读取存储单元并进行译码。若译码失败,存储器管理电路会重新取得另一读取电压,并用此另一读取电压来读取前述的存储单元,以重新进行译码。若又再次发生译码失败且重新取得读取电压的次数没有超过默认次数,则存储器管理电路会再重新取得其他取得电压,并且根据重新取得的读取电压读取前述的存储单元以重新进行译码。当执行重新取得读取电压的步骤的执行次数超过默认次数时,存储器管理电路可以改为执行其他的译码操作(例如,软位模式译码操作)。Generally speaking, when reading data from the rewritable non-volatile memory module, the memory management circuit can first perform a hard bit pattern decoding operation to decode to obtain the data to be read. When performing the decoding operation of the hard bit pattern, the read voltage can be used to read the memory cell and perform decoding. If the decoding fails, the memory management circuit will obtain another read voltage again, and use the another read voltage to read the aforementioned memory cells for re-decoding. If the decoding fails again and the number of times to re-acquire the read voltage does not exceed the default number of times, the memory management circuit will re-acquire other voltages, and read the aforementioned memory cells according to the re-acquired read voltage to re-decode. code. When the number of executions of the step of re-obtaining the read voltage exceeds the default number of times, the memory management circuit may instead perform other decoding operations (eg, soft bit pattern decoding operations).

特别是,前述的预设次数通常是“所有可用以重新取得的读取电压的数量”,而此数量通常较大并且会造成在改为执行其他的译码操作(例如,软位模式译码操作)前需耗费大量的时间在执行重新取得读取电压以执行读取与译码的操作中。因此,如何快速地判断哪些读取电压会发生译码失败并避免使用此些读取电压进行读取以减少硬位模式译码操作的运行时间,是本领域技术人员所欲解决的问题之一。In particular, the aforementioned preset number of times is usually "the number of all read voltages available to be retrieved", and this number is usually large and will cause other decode operations to be performed instead (e.g., soft bit pattern decoding). It takes a lot of time to perform the operation of reacquiring the read voltage to perform the read and decode operation. Therefore, how to quickly determine which read voltages will fail to decode and avoid using these read voltages for reading to reduce the running time of the hard bit pattern decoding operation is one of the problems that those skilled in the art want to solve. .

发明内容Contents of the invention

本发明提供一种电压识别方法、存储器控制电路单元以及存储器储存装置,可以快速地判断哪些读取电压会发生译码失败并避免使用此些读取电压进行读取以减少硬位模式译码操作的运行时间。The present invention provides a voltage identification method, a memory control circuit unit, and a memory storage device, which can quickly determine which read voltages will fail to decode and avoid using these read voltages for reading to reduce hard bit pattern decoding operations running time.

本发明提出一种电压识别方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储单元,所述方法包括:根据多个读取电压组中的第一读取电压组读取所述多个存储单元中的多个第一存储单元并执行第一译码操作以产生第一校验信息;根据多个区间(interval)中所述第一校验信息所位于的第一区间,识别所述多个读取电压组中对应于所述第一区间的多个第二读取电压组;以及使用所述多个第二读取电压组中的第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作。The present invention proposes a voltage identification method for a rewritable nonvolatile memory module, wherein the rewritable nonvolatile memory module includes a plurality of storage units, and the method includes: according to a plurality of read voltages The first read voltage group in the group reads a plurality of first memory cells in the plurality of memory cells and performs a first decoding operation to generate first verification information; according to the plurality of intervals (interval) The first interval where the first verification information is located, identifying a plurality of second read voltage groups corresponding to the first interval among the plurality of read voltage groups; and using the plurality of second read voltage groups A third read voltage set in the set reads the plurality of first memory cells and performs the first decode operation.

在本发明的一实施例中,识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的步骤包括:根据所述多个区间中所述第一校验信息所位于的所述第一区间,识别所述多个读取电压组中不被用来读取所述多个第一存储单元的多个第四读取电压组。In an embodiment of the present invention, the step of identifying the plurality of second read voltage groups corresponding to the first interval in the plurality of read voltage groups includes: according to the The first section where the first verification information is located identifies a plurality of fourth read voltage groups that are not used to read the plurality of first memory cells among the plurality of read voltage groups.

在本发明的一实施例中,根据所述多个读取电压组中的所述第一读取电压组读取所述多个存储单元中的所述多个第一存储单元并执行所述第一译码操作以产生所述第一校验信息的步骤之前,所述方法还包括:对所述多个读取电压组中的每一个读取电压组储存校验信息查找表,其中所述校验信息查找表用以记录所述校验信息查找表所属的读取电压组在所述多个区间中的每一个区间所对应的所述多个读取电压组中的多个第一类读取电压组以及多个第二类读取电压组。In an embodiment of the present invention, read the plurality of first memory cells in the plurality of memory cells according to the first read voltage group in the plurality of read voltage groups and execute the Before the first decoding operation to generate the first verification information, the method further includes: storing a verification information lookup table for each of the plurality of read voltage groups, wherein the The verification information lookup table is used to record the plurality of first read voltage groups in the plurality of read voltage groups corresponding to each of the plurality of intervals of the read voltage group to which the verification information lookup table belongs. A type of read voltage group and a plurality of second type of read voltage groups.

在本发明的一实施例中,所述校验信息查找表用以记录对应于所述多个区间中的每一个区间的位序列,在所述位序列中对应于所述多个第一类读取电压组的多个位分别被设定为第一位数值,且在所述位序列中对应于所述多个第二类读取电压组的多个位分别被设定为第二位数值。In an embodiment of the present invention, the check information lookup table is used to record a bit sequence corresponding to each of the plurality of intervals, and in the bit sequence corresponding to the plurality of first types A plurality of bits of the read voltage group are respectively set to a first bit value, and a plurality of bits corresponding to the plurality of second type read voltage groups in the bit sequence are respectively set to a second bit value.

在本发明的一实施例中,所述多个第一类读取电压组的至少其中之一被用以执行读取操作,且所述多个第二类读取电压组不会被用以执行所述读取操作。In an embodiment of the present invention, at least one of the plurality of first-type read voltage groups is used to perform a read operation, and the plurality of second-type read voltage groups are not used for The read operation is performed.

在本发明的一实施例中,识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的步骤包括:从所述第一读取电压组的所述校验信息查找表中获得对应于所述第一区间的第一位序列,并根据所述第一位序列中被设定为所述第一位数值的多个位识别所述多个第二读取电压组。In an embodiment of the present invention, the step of identifying the plurality of second read voltage groups corresponding to the first interval among the plurality of read voltage groups includes: from the first read voltage group Obtain the first bit sequence corresponding to the first interval from the check information lookup table, and identify the multiple bits according to a plurality of bits in the first bit sequence set as the first bit value A second read voltage group.

在本发明的一实施例中,使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作的步骤包括:使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作以产生第二校验信息;根据所述多个区间中所述第二校验信息所位于的第二区间,从所述第三读取电压组的所述校验信息查找表中获得对应于所述第二区间的第二位序列;对所述第一位序列以及所述第二位序列执行逻辑运算以获得第三位序列;根据所述第三位序列识别所述多个读取电压组中的多个第五读取电压组,其中所述多个第五读取电压组中的每一个读取电压组在所述第三位序列中所对应的位的数值为所述第二位数值,且所述多个第五读取电压组不会被用以读取所述多个第一存储单元;以及使用所述多个读取电压组中所述多个第五读取电压组以外的其他读取电压组读取所述多个第一存储单元。In an embodiment of the present invention, using the third read voltage group in the plurality of second read voltage groups to read the plurality of first memory cells and perform the first decoding operation The steps include: reading the plurality of first memory cells using the third read voltage group of the plurality of second read voltage groups and performing the first decoding operation to generate second verification information ; According to the second interval in which the second verification information is located in the plurality of intervals, obtain the second interval corresponding to the second interval from the verification information lookup table of the third read voltage group A two-bit sequence; performing a logical operation on the first bit sequence and the second bit sequence to obtain a third bit sequence; identifying a plurality of fifth in the plurality of read voltage groups according to the third bit sequence Read voltage groups, wherein the value of the bit corresponding to each of the plurality of fifth read voltage groups in the third bit sequence is the second bit value, and the plurality of fifth read voltage groups A fifth read voltage group will not be used to read the plurality of first memory cells; and using other read voltages in the plurality of read voltage groups other than the plurality of fifth read voltage groups A group reads the plurality of first memory cells.

本发明提出一种存储器控制电路单元,用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个存储单元,所述存储器控制电路单元包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至所述可复写式非易失性存储器模块。存储器管理电路电性连接至所述主机接口以及所述存储器接口。存储器管理电路用以执行下述运作:根据多个读取电压组中的第一读取电压组读取所述多个存储单元中的多个第一存储单元并执行第一译码操作以产生第一校验信息;根据多个区间(interval)中所述第一校验信息所位于的第一区间,识别所述多个读取电压组中对应于所述第一区间的多个第二读取电压组;以及使用所述多个第二读取电压组中的第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作。The present invention proposes a memory control circuit unit for a rewritable non-volatile memory module, the rewritable non-volatile memory module includes a plurality of storage units, the memory control circuit unit includes a host interface, a memory interface and memory management circuitry. The host interface is used to electrically connect to the host system. The memory interface is used to electrically connect to the rewritable non-volatile memory module. The memory management circuit is electrically connected to the host interface and the memory interface. The memory management circuit is used to perform the following operations: read a plurality of first memory cells in the plurality of memory cells according to a first read voltage group in the plurality of read voltage groups and perform a first decoding operation to generate First verification information; according to the first interval in which the first verification information is located in a plurality of intervals (intervals), identify a plurality of second reading voltage groups corresponding to the first interval in the plurality of read voltage groups a read voltage set; and read the plurality of first memory cells and perform the first decoding operation using a third read voltage set of the plurality of second read voltage sets.

在本发明的一实施例中,在识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的运作中,所述存储器管理电路还用以根据所述多个区间中所述第一校验信息所位于的所述第一区间,识别所述多个读取电压组中不被用来读取所述多个第一存储单元的多个第四读取电压组。In an embodiment of the present invention, during the operation of identifying the plurality of second read voltage groups corresponding to the first interval among the plurality of read voltage groups, the memory management circuit is further used to According to the first interval in which the first verification information is located in the plurality of intervals, identify a plurality of read voltage groups that are not used to read the plurality of first memory cells A fourth read voltage set.

在本发明的一实施例中,在根据所述多个读取电压组中的所述第一读取电压组读取所述多个存储单元中的所述多个第一存储单元并执行所述第一译码操作以产生所述第一校验信息的运作之前,所述存储器管理电路还用以对所述多个读取电压组中的每一个读取电压组储存校验信息查找表。其中所述校验信息查找表用以记录所述校验信息查找表所属的读取电压组在所述多个区间中的每一个区间所对应的所述多个读取电压组中的多个第一类读取电压组以及多个第二类读取电压组。In an embodiment of the present invention, after reading the plurality of first memory cells in the plurality of memory cells according to the first read voltage group in the plurality of read voltage groups and executing the Before the first decoding operation to generate the first verification information, the memory management circuit is also used to store a verification information lookup table for each of the plurality of read voltage groups . Wherein the verification information lookup table is used to record the plurality of read voltage groups corresponding to each of the plurality of intervals of the read voltage group to which the verification information lookup table belongs A first type of read voltage group and a plurality of second type of read voltage groups.

在本发明的一实施例中,所述校验信息查找表用以记录对应于所述多个区间中的每一个区间的位序列,在所述位序列中对应于所述多个第一类读取电压组的多个位分别被设定为第一位数值,且在所述位序列中对应于所述多个第二类读取电压组的多个位分别被设定为第二位数值。In an embodiment of the present invention, the check information lookup table is used to record a bit sequence corresponding to each of the plurality of intervals, and in the bit sequence corresponding to the plurality of first types A plurality of bits of the read voltage group are respectively set to a first bit value, and a plurality of bits corresponding to the plurality of second type read voltage groups in the bit sequence are respectively set to a second bit value.

在本发明的一实施例中,所述多个第一类读取电压组的至少其中之一被用以执行读取操作,且所述多个第二类读取电压组不会被用以执行所述读取操作。In an embodiment of the present invention, at least one of the plurality of first-type read voltage groups is used to perform a read operation, and the plurality of second-type read voltage groups are not used for The read operation is performed.

在本发明的一实施例中,在识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的运作中,所述存储器管理电路还用以从所述第一读取电压组的所述校验信息查找表中获得对应于所述第一区间的第一位序列,并根据所述第一位序列中被设定为所述第一位数值的多个位识别所述多个第二读取电压组。In an embodiment of the present invention, during the operation of identifying the plurality of second read voltage groups corresponding to the first interval among the plurality of read voltage groups, the memory management circuit is further used to Obtain a first bit sequence corresponding to the first interval from the check information lookup table of the first read voltage group, and set it as the first bit according to the first bit sequence The plurality of bits of the value identify the plurality of second read voltage groups.

在本发明的一实施例中,在使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作的运作中,所述存储器管理电路还用以执行下述运作:使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作以产生第二校验信息;根据所述多个区间中所述第二校验信息所位于的第二区间,从所述第三读取电压组的所述校验信息查找表中获得对应于所述第二区间的第二位序列;对所述第一位序列以及所述第二位序列执行逻辑运算以获得第三位序列;根据所述第三位序列识别所述多个读取电压组中的多个第五读取电压组,其中所述多个第五读取电压组中的每一个读取电压组在所述第三位序列中所对应的位的数值为所述第二位数值,且所述多个第五读取电压组不会被用以读取所述多个第一存储单元;以及使用所述多个读取电压组中所述多个第五读取电压组以外的其他读取电压组读取所述多个第一存储单元。In an embodiment of the present invention, after using the third read voltage group in the plurality of second read voltage groups to read the plurality of first memory cells and perform the first decoding operation In operation, the memory management circuit is further configured to perform the following operations: use the third read voltage group in the plurality of second read voltage groups to read the plurality of first memory cells and execute The first decoding operation is to generate second verification information; according to the second interval in which the second verification information is located in the plurality of intervals, the verification from the third read voltage group obtaining a second bit sequence corresponding to the second interval in the information lookup table; performing a logical operation on the first bit sequence and the second bit sequence to obtain a third bit sequence; identifying according to the third bit sequence A plurality of fifth read voltage groups among the plurality of read voltage groups, wherein each of the plurality of fifth read voltage groups corresponds to a bit in the third bit sequence The value of is the second bit value, and the plurality of fifth read voltage groups will not be used to read the plurality of first memory cells; and using the plurality of read voltage groups described in The plurality of first memory cells are read by other read voltage groups than the plurality of fifth read voltage groups.

本发明提出一种存储器储存装置,所述存储器储存装置包括连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。连接接口单元用以电性连接至主机系统。可复写式非易失性存储器模块具有多个存储单元。存储器控制电路单元用以电性连接至所述连接接口单元与所述可复写式非易失性存储器模块。存储器控制电路单元用以执行下述运作:根据多个读取电压组中的第一读取电压组读取所述多个存储单元中的多个第一存储单元并执行第一译码操作以产生第一校验信息;根据多个区间(interval)中所述第一校验信息所位于的第一区间,识别所述多个读取电压组中对应于所述第一区间的多个第二读取电压组;以及使用所述多个第二读取电压组中的第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作。The present invention provides a memory storage device, which includes a connection interface unit, a rewritable non-volatile memory module, and a memory control circuit unit. The connection interface unit is used to electrically connect to the host system. A rewritable nonvolatile memory module has a plurality of storage cells. The memory control circuit unit is used to electrically connect to the connection interface unit and the rewritable non-volatile memory module. The memory control circuit unit is used to perform the following operations: read a plurality of first memory cells in the plurality of memory cells according to a first read voltage group in the plurality of read voltage groups and perform a first decoding operation to generating first verification information; identifying a plurality of first intervals corresponding to the first interval in the plurality of read voltage groups according to the first interval in which the first verification information is located in the plurality of intervals (intervals) two sets of read voltages; and using a third set of read voltages in the plurality of second read voltage sets to read the plurality of first memory cells and perform the first decoding operation.

在本发明的一实施例中,在识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的运作中,所述存储器控制电路单元还用以根据所述多个区间中所述第一校验信息所位于的所述第一区间,识别所述多个读取电压组中不被用来读取所述多个第一存储单元的多个第四读取电压组。In an embodiment of the present invention, in the operation of identifying the plurality of second read voltage groups corresponding to the first interval among the plurality of read voltage groups, the memory control circuit unit further uses to identify, according to the first interval in which the first verification information is located in the plurality of intervals, which of the plurality of read voltage groups is not used to read the plurality of first memory cells A fourth read voltage group.

在本发明的一实施例中,在根据所述多个读取电压组中的所述第一读取电压组读取所述多个存储单元中的所述多个第一存储单元并执行所述第一译码操作以产生所述第一校验信息的运作之前,所述存储器控制电路单元还用以对所述多个读取电压组中的每一个读取电压组储存校验信息查找表。其中所述校验信息查找表用以记录所述校验信息查找表所属的读取电压组在所述多个区间中的每一个区间所对应的所述多个读取电压组中的多个第一类读取电压组以及多个第二类读取电压组。In an embodiment of the present invention, after reading the plurality of first memory cells in the plurality of memory cells according to the first read voltage group in the plurality of read voltage groups and executing the Before the operation of the first decoding operation to generate the first verification information, the memory control circuit unit is also used to store the verification information lookup for each of the plurality of read voltage groups surface. Wherein the verification information lookup table is used to record the plurality of read voltage groups corresponding to each of the plurality of intervals of the read voltage group to which the verification information lookup table belongs A first type of read voltage group and a plurality of second type of read voltage groups.

在本发明的一实施例中,所述校验信息查找表用以记录对应于所述多个区间中的每一个区间的位序列,在所述位序列中对应于所述多个第一类读取电压组的多个位分别被设定为第一位数值,且在所述位序列中对应于所述多个第二类读取电压组的多个位分别被设定为第二位数值。In an embodiment of the present invention, the check information lookup table is used to record a bit sequence corresponding to each of the plurality of intervals, and in the bit sequence corresponding to the plurality of first types A plurality of bits of the read voltage group are respectively set to a first bit value, and a plurality of bits corresponding to the plurality of second type read voltage groups in the bit sequence are respectively set to a second bit value.

在本发明的一实施例中,所述多个第一类读取电压组的至少其中之一被用以执行读取操作,且所述多个第二类读取电压组不会被用以执行所述读取操作。In an embodiment of the present invention, at least one of the plurality of first-type read voltage groups is used to perform a read operation, and the plurality of second-type read voltage groups are not used for The read operation is performed.

在本发明的一实施例中,在识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的运作中,所述存储器控制电路单元还用以从所述第一读取电压组的所述校验信息查找表中获得对应于所述第一区间的第一位序列,并根据所述第一位序列中被设定为所述第一位数值的多个位识别所述多个第二读取电压组。In an embodiment of the present invention, in the operation of identifying the plurality of second read voltage groups corresponding to the first interval among the plurality of read voltage groups, the memory control circuit unit further uses Obtaining a first bit sequence corresponding to the first interval from the check information lookup table of the first read voltage group, and setting it as the first bit sequence according to the first bit sequence A plurality of bits of the bit value identify the plurality of second read voltage groups.

在本发明的一实施例中,在使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作的运作中,所述存储器控制电路单元还用以执行下述运作:使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作以产生第二校验信息;根据所述多个区间中所述第二校验信息所位于的第二区间,从所述第三读取电压组的所述校验信息查找表中获得对应于所述第二区间的第二位序列;对所述第一位序列以及所述第二位序列执行逻辑运算以获得第三位序列;根据所述第三位序列识别所述多个读取电压组中的多个第五读取电压组,其中所述多个第五读取电压组中的每一个读取电压组在所述第三位序列中所对应的位的数值为所述第二位数值,且所述多个第五读取电压组不会被用以读取所述多个第一存储单元;以及使用所述多个读取电压组中所述多个第五读取电压组以外的其他读取电压组读取所述多个第一存储单元。In an embodiment of the present invention, after using the third read voltage group in the plurality of second read voltage groups to read the plurality of first memory cells and perform the first decoding operation In the operation, the memory control circuit unit is further configured to perform the following operation: use the third read voltage group in the plurality of second read voltage groups to read the plurality of first memory cells and performing the first decoding operation to generate second verification information; according to the second interval in which the second verification information is located in the plurality of intervals, from the calibration of the third read voltage group Obtain the second bit sequence corresponding to the second interval in the verification information lookup table; perform logical operations on the first bit sequence and the second bit sequence to obtain a third bit sequence; according to the third bit sequence identifying a plurality of fifth read voltage groups of the plurality of read voltage groups, wherein each of the plurality of fifth read voltage groups corresponds to a The value of the bit is the second bit value, and the plurality of fifth read voltage groups will not be used to read the plurality of first memory cells; and using all of the plurality of read voltage groups The plurality of first memory cells are read by other read voltage groups other than the plurality of fifth read voltage groups.

基于上述,本发明的电压识别方法、存储器控制电路单元与存储器储存装置可以快速地判断哪些读取电压组可能会发生译码失败,并且避免使用此些读取电压组执行存储单元的读取以减少硬位模式译码操作的运行时间。Based on the above, the voltage identification method, the memory control circuit unit and the memory storage device of the present invention can quickly determine which read voltage groups may fail to decode, and avoid using these read voltage groups to perform the reading of the memory cells. Reduced runtime of hard bit pattern decode operations.

附图说明Description of drawings

图1是根据本发明的一范例实施例所示出的主机系统、存储器储存装置及输入/输出(I/O)装置的示意图。FIG. 1 is a schematic diagram of a host system, a memory storage device and an input/output (I/O) device according to an exemplary embodiment of the present invention.

图2是根据本发明的另一范例实施例所示出的主机系统、存储器储存装置及I/O装置的示意图。FIG. 2 is a schematic diagram of a host system, a memory storage device and an I/O device according to another exemplary embodiment of the present invention.

图3是根据本发明的另一范例实施例所示出的主机系统与存储器储存装置的示意图。FIG. 3 is a schematic diagram of a host system and a memory storage device according to another exemplary embodiment of the present invention.

图4是根据本发明的一范例实施例所示出的存储器储存装置的概要方块图。FIG. 4 is a schematic block diagram of a memory storage device according to an exemplary embodiment of the present invention.

图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。FIG. 5 is a schematic block diagram of a rewritable non-volatile memory module according to an exemplary embodiment.

图6是根据一范例实施例所示出的存储单元数组的示意图。FIG. 6 is a schematic diagram of a memory cell array according to an exemplary embodiment.

图7是根据一范例实施例所示出储存于存储单元数组中的写入数据所对应的栅极电压的统计分配图。FIG. 7 is a graph showing statistical distribution of gate voltages corresponding to written data stored in a memory cell array according to an exemplary embodiment.

图8是根据一范例实施例所示出之程序化存储单元的示意图。FIG. 8 is a schematic diagram of a programmed memory cell according to an exemplary embodiment.

图9是根据一范例实施例所示出的从存储单元中读取数据的示意图。Fig. 9 is a schematic diagram of reading data from a storage unit according to an exemplary embodiment.

图10是根据另一范例实施例所示出的从存储单元中读取数据的示意图。Fig. 10 is a schematic diagram of reading data from a storage unit according to another exemplary embodiment.

图11是根据本发明范例实施例所示出的管理可复写式非易失性存储器模块的示意图。FIG. 11 is a schematic diagram of managing a rewritable non-volatile memory module according to an exemplary embodiment of the present invention.

图12是根据一范例实施例所示出的存储器控制电路单元的概要方块图。FIG. 12 is a schematic block diagram of a memory control circuit unit according to an exemplary embodiment.

图13是根据一范例实施例示出硬位模式译码的示意图。FIG. 13 is a diagram illustrating hard bit pattern decoding according to an exemplary embodiment.

图14是根据一范例实施例示出校验信息查找表的示意图。Fig. 14 is a schematic diagram showing a check information lookup table according to an exemplary embodiment.

图15是根据一范例实施例示出对位序列执行逻辑运算的示意图。FIG. 15 is a diagram illustrating logical operations performed on bit sequences according to an exemplary embodiment.

图16是根据一范例实施例示出电压识别方法的流程图。FIG. 16 is a flowchart illustrating a voltage identification method according to an exemplary embodiment.

附图标记说明:Explanation of reference signs:

10、30:存储器储存装置;10, 30: memory storage device;

11、31:主机系统;11, 31: host system;

110:系统总线;110: system bus;

111:处理器;111: processor;

112:随机存取存储器;112: random access memory;

113:只读存储器;113: read-only memory;

114:数据传输接口;114: data transmission interface;

12:输入/输出(I/O)装置;12: input/output (I/O) device;

20:主板;20: main board;

201:U盘;201: U disk;

202:存储卡;202: memory card;

203:固态硬盘;203: solid state drive;

204:无线存储器储存装置;204: wireless memory storage device;

205:全球定位系统模块;205: a global positioning system module;

206:网络适配器;206: network adapter;

207:无线传输装置;207: wireless transmission device;

208:键盘;208: keyboard;

209:屏幕;209: screen;

210:喇叭;210: Horn;

32:SD卡;32: SD card;

33:CF卡;33: CF card;

34:嵌入式储存装置;34: embedded storage device;

341:嵌入式多媒体卡;341: embedded multimedia card;

342:嵌入式多芯片封装储存装置;342: Embedded multi-chip packaging storage device;

402:连接接口单元;402: connect the interface unit;

404:存储器控制电路单元;404: memory control circuit unit;

406:可复写式非易失性存储器模块;406: a rewritable non-volatile memory module;

2202:存储单元数组;2202: storage unit array;

2204:字线控制电路;2204: word line control circuit;

2206:位线控制电路;2206: bit line control circuit;

2208:行译码器;2208: row decoder;

2210:数据输入/输出缓冲器;2210: data input/output buffer;

2212:控制电路;2212: control circuit;

502:存储单元;502: storage unit;

504:位线;504: bit line;

506:字线;506: word line;

508:共享源极线;508: shared source line;

512:选择闸漏极晶体管;512: select the gate-drain transistor;

514:选择闸源极晶体管;514: select the gate source transistor;

VA、VB、VC、VD、VE、VF、VG:读取电压;VA, VB, VC, VD, VE, VF, VG: read voltage;

400(0)~400(N):实体抹除单元;400(0)~400(N): Entity erasing unit;

702:存储器管理电路;702: memory management circuit;

704:主机接口;704: host interface;

706:存储器接口;706: memory interface;

708:错误检查与校正电路;708: error checking and correction circuit;

710:缓冲存储器;710: buffer memory;

712:电源管理电路;712: power management circuit;

1410、1420:分布;1410, 1420: distribution;

1430:区域;1430: area;

1440~1444:读取电压;1440~1444: read voltage;

SI_0~SI_2:区间;SI_0~SI_2: Interval;

T0~T15:读取电压组;T0~T15: read the voltage group;

1400:校验信息查找表;1400: Check the information lookup table;

IBS、BS1~BS2、NBS1~NBS2、NBSn:位序列;IBS, BS1~BS2, NBS1~NBS2, NBSn: bit sequence;

步骤S1601:根据多个读取电压组中的第一读取电压组读取第一存储单元并执行第一译码操作以产生第一校验信息的步骤;Step S1601: a step of reading a first memory cell according to a first read voltage group in multiple read voltage groups and performing a first decoding operation to generate first verification information;

步骤S1603:根据多个区间中第一校验信息所位于的第一区间,识别前述的多个读取电压组中对应于第一区间的多个第二读取电压组的步骤;Step S1603: According to the first interval where the first verification information is located in the plurality of intervals, the step of identifying multiple second read voltage groups corresponding to the first interval among the aforementioned multiple read voltage groups;

步骤S1605:使用第二读取电压组中的第三读取电压组读取第一存储单元并执行第一译码操作的步骤。Step S1605: a step of reading the first memory cell by using the third read voltage group in the second read voltage group and performing the first decoding operation.

具体实施方式Detailed ways

一般而言,存储器储存装置(也称,存储器储存系统)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(也称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。Generally speaking, a memory storage device (also called a memory storage system) includes a rewritable non-volatile memory module (rewritable non-volatile memory module) and a controller (also called a control circuit). Typically memory storage devices are used with a host system so that the host system can write data to or read data from the memory storage device.

图1是根据本发明的一范例实施例所示出的主机系统、存储器储存装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器储存装置及I/O装置的示意图。FIG. 1 is a schematic diagram of a host system, a memory storage device and an input/output (I/O) device according to an exemplary embodiment of the present invention. FIG. 2 is a schematic diagram of a host system, a memory storage device and an I/O device according to another exemplary embodiment of the present invention.

请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至系统总线(system bus)110。Referring to FIG. 1 and FIG. 2 , the host system 11 generally includes a processor 111 , a random access memory (random access memory, RAM) 112 , a read only memory (ROM) 113 and a data transmission interface 114 . The processor 111 , random access memory 112 , ROM 113 and data transmission interface 114 are all electrically connected to a system bus 110 .

在本范例实施例中,主机系统11是通过数据传输接口114与存储器储存装置10电性连接。例如,主机系统11可经由数据传输接口114将数据储存至存储器储存装置10或从存储器储存装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12电性连接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。In this exemplary embodiment, the host system 11 is electrically connected to the memory storage device 10 through the data transmission interface 114 . For example, the host system 11 can store data into the memory storage device 10 or read data from the memory storage device 10 via the data transmission interface 114 . In addition, the host system 11 is electrically connected to the I/O device 12 through the system bus 110 . For example, host system 11 may transmit output signals to or receive input signals from I/O devices 12 via system bus 110 .

在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主板20可以经由有线或无线方式电性连接至存储器储存装置10。存储器储存装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器储存装置204。无线存储器储存装置204可例如是近距离无线通信(Near FieldCommunication,NFC)存储器储存装置、无线传真(WiFi)存储器储存装置、蓝牙(Bluetooth)存储器储存装置或低功耗蓝牙存储器储存装置(例如,iBeacon)等以各式无线通信技术为基础的存储器储存装置。此外,主板20也可以通过系统总线110电性连接至全球定位系统(Global Positioning System,GPS)模块205、网络适配器206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主板20可通过无线传输装置207存取无线存储器储存装置204。In this exemplary embodiment, the processor 111 , the random access memory 112 , the read-only memory 113 and the data transmission interface 114 can be disposed on the motherboard 20 of the host system 11 . The number of data transmission interfaces 114 may be one or more. Through the data transmission interface 114 , the motherboard 20 can be electrically connected to the memory storage device 10 via wire or wirelessly. The memory storage device 10 can be, for example, a USB flash drive 201 , a memory card 202 , a solid state drive (Solid State Drive, SSD) 203 or a wireless memory storage device 204 . The wireless memory storage device 204 can be, for example, a near field communication (Near Field Communication, NFC) memory storage device, a wireless fax (WiFi) memory storage device, a Bluetooth (Bluetooth) memory storage device or a Bluetooth low energy memory storage device (for example, iBeacon ) and other memory storage devices based on various wireless communication technologies. In addition, the motherboard 20 can also be electrically connected to various I/Os such as a Global Positioning System (GPS) module 205, a network adapter 206, a wireless transmission device 207, a keyboard 208, a screen 209, and a speaker 210 through the system bus 110. device. For example, in an exemplary embodiment, the motherboard 20 can access the wireless memory storage device 204 through the wireless transmission device 207 .

在一范例实施例中,所提及的主机系统为可实质地与存储器储存装置配合以储存数据的任意系统。虽然在上述范例实施例中,主机系统是以计算机系统来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器储存装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数字相机、摄像机、通信装置、音频播放器、视频播放器或平板电脑等系统,而存储器储存装置30可为其所使用的SD卡32、CF卡33或嵌入式储存装置34等各式非易失性存储器储存装置。嵌入式储存装置34包括嵌入式多媒体卡(embedded MMC,eMMC)341和/或嵌入式多芯片封装储存装置(embedded Multi ChipPackage,eMCP)342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式储存装置。In an example embodiment, reference to a host system is substantially any system that can cooperate with a memory storage device to store data. Although in the above exemplary embodiments, the host system is described as a computer system, however, FIG. 3 is a schematic diagram of a host system and a memory storage device according to another exemplary embodiment of the present invention. Please refer to FIG. 3 , in another exemplary embodiment, the host system 31 can also be a system such as a digital camera, a video camera, a communication device, an audio player, a video player, or a tablet computer, and the memory storage device 30 can be used for it. SD card 32, CF card 33 or embedded storage device 34 and other non-volatile memory storage devices. The embedded storage device 34 includes various types of substrates such as an embedded multimedia card (embedded MMC, eMMC) 341 and/or an embedded multi-chip package storage device (embedded Multi Chip Package, eMCP) 342, etc., directly electrically connecting the memory module to the host system. embedded storage on the .

图4是根据本发明的一范例实施例所示出的存储器储存装置的概要方块图。FIG. 4 is a schematic block diagram of a memory storage device according to an exemplary embodiment of the present invention.

请参照图4,存储器储存装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。Referring to FIG. 4 , the memory storage device 10 includes a connection interface unit 402 , a memory control circuit unit 404 and a rewritable non-volatile memory module 406 .

在本范例实施例中,连接接口单元402是兼容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、安全数字(SecureDigital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、嵌入式多媒体储存卡(Embedded Multimedia Card,eMMC)接口标准、通用闪存(UniversalFlash Storage,UFS)接口标准、嵌入式多芯片封装(embedded Multi Chip Package,eMCP)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(IntegratedDevice Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于包含存储器控制电路单元404的芯片外。In this exemplary embodiment, the connection interface unit 402 is compatible with the Serial Advanced Technology Attachment (SATA) standard. However, it must be understood that the present invention is not limited thereto, and the connection interface unit 402 may also be a device conforming to the Parallel Advanced Technology Attachment (PATA) standard, the Institute of Electrical and Electronic Engineers (Institute of Electrical and Electronic Engineers, IEEE) 1394 Standard, high-speed peripheral component connection interface (Peripheral Component Interconnect Express, PCI Express) standard, Universal Serial Bus (Universal Serial Bus, USB) standard, Secure Digital (SecureDigital, SD) interface standard, Ultra High Speed-I , UHS-I) interface standard, Ultra High Speed-II (UHS-II) interface standard, memory stick (Memory Stick, MS) interface standard, multi-chip package (Multi-Chip Package) interface standard, multimedia Memory card (Multi Media Card, MMC) interface standard, embedded multimedia memory card (Embedded Multimedia Card, eMMC) interface standard, universal flash memory (Universal Flash Storage, UFS) interface standard, embedded multi-chip package (embedded Multi Chip Package, eMCP) ) interface standard, Compact Flash (CF) interface standard, Integrated Device Electronics (IDE) standard, or other suitable standards. The connection interface unit 402 can be packaged with the memory control circuit unit 404 in one chip, or the connection interface unit 402 can be arranged outside the chip including the memory control circuit unit 404 .

存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。The memory control circuit unit 404 is used to execute a plurality of logic gates or control instructions implemented in hardware or firmware, and write and read data in the rewritable non-volatile memory module 406 according to the instructions of the host system 11. Fetch and erase operations.

可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404并且用以储存主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型闪存模块(即,一个存储单元中可储存1个位的闪存模块)、二阶存储单元(Multi Level Cell,MLC)NAND型闪存模块(即,一个存储单元中可储存2个位的闪存模块)、多阶存储单元(Triple Level Cell,TLC)NAND型闪存模块(即,一个存储单元中可储存3个位的闪存模块)、其他闪存模块或其他具有相同特性的存储器模块。The rewritable non-volatile memory module 406 is electrically connected to the memory control circuit unit 404 and used for storing data written by the host system 11 . The rewritable non-volatile memory module 406 can be a single-level storage unit (Single Level Cell, SLC) NAND flash memory module (that is, a flash memory module that can store 1 bit in a storage unit), a second-level storage unit (Multi Level Cell, MLC) NAND flash memory module (that is, a flash memory module that can store 2 bits in a storage unit), multi-level storage unit (Triple Level Cell, TLC) NAND flash memory module (that is, a storage unit that can store 3-bit flash module), other flash modules, or other memory modules with the same characteristics.

可复写式非易失性存储器模块406中的存储单元是以数组的方式设置。以下以二维数组来对存储单元数组进行说明。但是,在此须注意的是,以下范例实施例只是存储单元数组的一种范例,在其他的范例实施例中,存储单元数组的配置方式可以被调整以符合实务上的需求。The storage units in the rewritable non-volatile memory module 406 are arranged in an array. The storage unit array is described below as a two-dimensional array. However, it should be noted that the following exemplary embodiment is only an example of the storage unit array, and in other exemplary embodiments, the configuration of the storage unit array can be adjusted to meet practical requirements.

图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。图6是根据一范例实施例所示出的存储单元数组的示意图。FIG. 5 is a schematic block diagram of a rewritable non-volatile memory module according to an exemplary embodiment. FIG. 6 is a schematic diagram of a memory cell array according to an exemplary embodiment.

请同时参照图5与图6,可复写式非易失性存储器模块406包括存储单元数组2202、字线控制电路2204、位线控制电路2206、行译码器(column decoder)2208、数据输入/输出缓冲器2210与控制电路2212。Please refer to FIG. 5 and FIG. 6 at the same time, the rewritable non-volatile memory module 406 includes a memory cell array 2202, a word line control circuit 2204, a bit line control circuit 2206, a row decoder (column decoder) 2208, a data input/ The output buffer 2210 and the control circuit 2212 .

在本范例实施例中,存储单元数组2202可包括用以储存数据的多个存储单元502、多个选择闸漏极(select gate drain,SGD)晶体管512与多个选择闸源极(select gatesource,SGS)晶体管514、以及连接此些存储单元的多条位线504、多条字线506、与共享源极线508(如图6所示)。存储单元502是以数组方式(或立体堆栈的方式)配置在位线504与字线506的交叉点上。当从存储器控制电路单元404接收到写入指令或读取指令时,控制电路2212会控制字线控制电路2204、位线控制电路2206、行译码器2208、数据输入/输出缓冲器2210来写入数据至存储单元数组2202或从存储单元数组2202中读取数据,其中字线控制电路2204用以控制施予至字线506的电压,位线控制电路2206用以控制施予至位线504的电压,行译码器2208依据指令中的列地址以选择对应的位线,并且数据输入/输出缓冲器2210用以暂存数据。In this exemplary embodiment, the memory cell array 2202 may include a plurality of memory cells 502 for storing data, a plurality of select gate drain (SGD) transistors 512 and a plurality of select gate sources (select gate source, SGS) transistor 514, and a plurality of bit lines 504, a plurality of word lines 506, and a shared source line 508 connected to these memory cells (as shown in FIG. 6). The memory cells 502 are arranged in an array (or in a three-dimensional stack) at intersections of the bit lines 504 and the word lines 506 . When receiving a write instruction or a read instruction from the memory control circuit unit 404, the control circuit 2212 will control the word line control circuit 2204, the bit line control circuit 2206, the row decoder 2208, and the data input/output buffer 2210 to write Entering data into the memory cell array 2202 or reading data from the memory cell array 2202, wherein the word line control circuit 2204 is used to control the voltage applied to the word line 506, and the bit line control circuit 2206 is used to control the voltage applied to the bit line 504 The row decoder 2208 selects the corresponding bit line according to the column address in the instruction, and the data input/output buffer 2210 is used for temporarily storing data.

可复写式非易失性存储器模块406中的存储单元是以临界电压的改变来储存多位(bits)。具体来说,每一个存储单元的控制栅极(control gate)与通道之间有一个电荷捕捉层。通过施予写入电压至控制栅极,可以改变电荷捕捉层的电子量,因而改变了存储单元的临界电压。此改变临界电压的程序也称为“把数据写入至存储单元”或“程序化存储单元”。随着临界电压的改变,存储单元数组2202的每一存储单元具有多个储存状态。并且通过读取电压可以判断存储单元是属于哪一个储存状态,藉此取得存储单元所储存的位。The storage cells in the rewritable non-volatile memory module 406 store multiple bits by changing the threshold voltage. Specifically, there is a charge trapping layer between the control gate (control gate) and the channel of each memory cell. By applying a write voltage to the control gate, the amount of electrons in the charge trapping layer can be changed, thereby changing the threshold voltage of the memory cell. This process of changing the threshold voltage is also called "writing data into the memory cell" or "programming the memory cell". As the threshold voltage changes, each memory cell in the memory cell array 2202 has multiple storage states. And by reading the voltage, it can be judged which storage state the memory cell belongs to, so as to obtain the bit stored in the memory cell.

图7是根据一范例实施例所示出储存于存储单元数组中的写入数据所对应的栅极电压的统计分配图。FIG. 7 is a graph showing statistical distribution of gate voltages corresponding to written data stored in a memory cell array according to an exemplary embodiment.

请参照图7,以MLC NAND型闪存为例,随着不同的临界电压,每一存储单元具有4种储存状态,并且此些储存状态分别地代表"11"、"10"、"00"与"01"等位。换言之,每一个储存状态包括最低有效位(Least Significant Bit,LSB)以及最高有效位(Most SignificantBit,MSB)。在本范例实施例中,储存状态(即,"11"、"10"、"00"与"01")中从左侧算起之第1个位为LSB,而从左侧算起的第2个位为MSB。因此,在此范例实施例中,每一存储单元可储存2个位。必须了解的是,图8所示出的临界电压及其储存状态的对应仅为一个范例。在本发明另一范例实施例中,临界电压与储存状态的对应也可是随着临界电压越大而以"11"、"10"、"01"与"00"排列,或是其他排列。此外,在另一范例时实例中,也可定义从左侧算起的第1个位为MSB,而从左侧算起的第2个位为LSB。Please refer to Figure 7, taking MLC NAND flash memory as an example, with different threshold voltages, each memory cell has 4 storage states, and these storage states represent "11", "10", "00" and "01" and so on. In other words, each storage state includes a least significant bit (Least Significant Bit, LSB) and a most significant bit (Most Significant Bit, MSB). In this exemplary embodiment, the first bit from the left in the storage states (i.e., "11", "10", "00" and "01") is the LSB, and the bit from the left 2 bits are MSB. Therefore, in this example embodiment, each memory cell can store 2 bits. It should be understood that the threshold voltage and its storage state correspondence shown in FIG. 8 is just an example. In another exemplary embodiment of the present invention, the correspondence between the threshold voltage and the storage state can also be arranged in "11", "10", "01" and "00" as the threshold voltage increases, or other arrangements. In addition, in another example, the first bit from the left can also be defined as the MSB, and the second bit from the left can be defined as the LSB.

图8是根据一范例实施例所示出的程序化存储单元的示意图。FIG. 8 is a schematic diagram of a programmed memory cell according to an exemplary embodiment.

请参照图8,在本范例实施例中,存储单元的程序化是通过脉冲写入/验证临界电压方法来完成。具体来说,欲将数据写入至存储单元时,存储器控制电路单元404会设定初始写入电压以及写入脉冲时间,并且指示可复写式非易失性存储器模块406的控制电路2212使用所设定的初始写入电压以及写入脉冲时间来程序化存储单元,以进行数据的写入。之后,存储器控制电路单元404会施加验证电压至控制栅极来判断存储单元是否导通,进而判断存储单元是否已处于正确的储存状态(具有正确的临界电压)。倘若存储单元未被程序化至正确的储存状态时,存储器控制电路单元404指示控制电路2212以目前施予的写入电压加上增量阶跃脉冲程序(Incremental-step-pulse programming,ISPP)调整值作为新的写入电压并且依据新的写入电压与写入脉冲时间再次来程序化存储单元。反之,倘若存储单元已被程序化至正确的储存状态时,则表示数据已被正确地写入至存储单元。例如,初始写入电压会被设定为16伏特(Voltage,V),写入脉冲时间会被设定为18微秒(microseconds,μs)并且增量阶跃脉冲程序调整值被设定为0.6V,但本发明不限于此。Referring to FIG. 8 , in this exemplary embodiment, the programming of the memory cells is accomplished by pulse write/verify threshold voltage method. Specifically, when data is to be written into the storage unit, the memory control circuit unit 404 will set the initial write voltage and write pulse time, and instruct the control circuit 2212 of the rewritable non-volatile memory module 406 to use the The memory cell is programmed with the set initial write voltage and write pulse time to write data. Afterwards, the memory control circuit unit 404 will apply a verification voltage to the control gate to determine whether the memory cell is turned on, and then determine whether the memory cell is in the correct storage state (with the correct threshold voltage). If the memory cell is not programmed to the correct storage state, the memory control circuit unit 404 instructs the control circuit 2212 to adjust with the currently applied write voltage plus an incremental step pulse program (Incremental-step-pulse programming, ISPP) value as the new write voltage and program the memory cell again according to the new write voltage and write pulse time. Conversely, if the memory cell has been programmed to a correct storage state, it means that the data has been correctly written into the memory cell. For example, the initial write voltage will be set to 16 volts (Voltage, V), the write pulse time will be set to 18 microseconds (microseconds, μs) and the incremental step pulse program adjustment value will be set to 0.6 V, but the present invention is not limited thereto.

图9是根据一范例实施例所示出的从存储单元中读取数据的示意图,其是以MLCNAND型闪存为例。FIG. 9 is a schematic diagram of reading data from a storage unit according to an exemplary embodiment, which takes MLCNAND flash memory as an example.

请参照图9,存储单元数组2202之存储单元的读取运作是通过施予读取电压于控制栅极,通过存储单元的导通状态,来识别存储单元储存的数据。验证位(VA)是用以指示施予读取电压VA时存储单元是否为导通;验证位(VC)是用以指示施予读取电压VC时存储单元是否为导通;验证位(VB)是用以指示施予读取电压VB时存储单元是否为导通。在此假设验证位是”1”时表示对应的存储单元导通,而验证位是”0”时表示对应的存储单元没有导通。如图9所示,通过验证位(VA)~(VC)可以判断存储单元是处于哪一个储存状态,进而取得所储存的位。Please refer to FIG. 9 , the read operation of the memory cells of the memory cell array 2202 is to identify the data stored in the memory cells by applying the read voltage to the control gate and through the conduction state of the memory cells. The verification bit (VA) is used to indicate whether the memory cell is turned on when the read voltage VA is applied; the verification bit (VC) is used to indicate whether the memory cell is turned on when the read voltage VC is applied; the verification bit (VB ) is used to indicate whether the memory cell is turned on when the read voltage VB is applied. Here, it is assumed that when the verification bit is "1", it means that the corresponding memory cell is turned on, and when the verification bit is "0", it means that the corresponding memory cell is not turned on. As shown in FIG. 9 , the storage state of the storage unit can be determined through the verification bits (VA)˜(VC), and then the stored bits can be obtained.

图10是根据另一范例实施例所示出的从存储单元中读取数据的示意图。Fig. 10 is a schematic diagram of reading data from a storage unit according to another exemplary embodiment.

请参照图10,以TLC NAND型闪存为例,每一个储存状态包括左侧算起的第1个位的最低有效位LSB、从左侧算起的第2个位的中间有效位(Center Significant Bit,CSB)以及从左侧算起的第3个位的最高有效位MSB。在此范例中,依照不同的临界电压,存储单元具有8种储存状态(即,"111"、"110"、"100"、"101"、"001"、"000"、"010"与"011")。通过施加读取电压VA~VG于控制栅极,可以识别存储单元所储存的位。Please refer to Figure 10, taking TLC NAND flash memory as an example, each storage state includes the least significant bit LSB of the first bit from the left, the middle significant bit (Center Significant bit) of the second bit from the left Bit, CSB) and the most significant bit MSB of the third bit from the left. In this example, according to different threshold voltages, the memory cell has 8 storage states (i.e., "111", "110", "100", "101", "001", "000", "010" and " 011"). By applying read voltages VA˜VG to the control gates, the bits stored in the memory cells can be identified.

图11是根据本发明范例实施例所示出的管理可复写式非易失性存储器模块的示意图。FIG. 11 is a schematic diagram of managing a rewritable non-volatile memory module according to an exemplary embodiment of the present invention.

请参照图11,可复写式非易失性存储器模块406的存储单元502会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元400(0)~400(N)。具体来说,同一条字符在线的存储单元会组成一或多个实体程序化单元。若每一个存储单元可储存2个以上的位,则同一条字符在线的实体程序化单元可被分类为下实体程序化单元与上实体程序化单元。例如,每一存储单元的LSB是属于下实体程序化单元,并且每一存储单元的MSB是属于上实体程序化单元。在此范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面或是实体扇(sector)。若实体程序化单元为实体页面,则每一个实体程序化单元通常包括数据位区与冗余位区。数据位区包含多个实体扇,用以储存用户的数据,而冗余位区用以储存系统的数据(例如,错误更正码)。在本范例实施例中,每一个数据位区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据位区中也可包含8个、16个或数目更多或更少的实体扇,本发明并不限制实体扇的大小以及个数。另一方面,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体区块。Please refer to FIG. 11, the storage unit 502 of the rewritable non-volatile memory module 406 will constitute a plurality of physical programming units, and these physical programming units will constitute a plurality of physical erasing units 400(0)-400( N). Specifically, the storage units on the same character line will form one or more physical programming units. If each storage unit can store more than 2 bits, the physical programming units on the same character line can be classified into lower physical programming units and upper physical programming units. For example, the LSB of each storage unit belongs to the lower physical programming unit, and the MSB of each storage unit belongs to the upper physical programming unit. In this exemplary embodiment, the entity programming unit is the smallest unit of programming. That is, the entity programming unit is the smallest unit for writing data. For example, the entity programming unit is an entity page or an entity sector. If the physical programming unit is a physical page, each physical programming unit usually includes a data bit area and a redundant bit area. The data bit area includes a plurality of physical sectors for storing user data, and the redundant bit area is used for storing system data (eg, error correction code). In this exemplary embodiment, each data bit area includes 32 physical sectors, and the size of one physical sector is 512 bytes (byte, B). However, in other exemplary embodiments, the data bit area may also include 8, 16 or more or less physical sectors, and the present invention does not limit the size and number of physical sectors. On the other hand, the entity erasing unit is the smallest unit of erasing. That is, each physical erase unit contains a minimum number of memory cells that are erased. For example, the physical erasing unit is a physical block.

图12是根据一范例实施例所示出的存储器控制电路单元的概要方块图。必须了解的是,图12所示的存储器控制电路单元的结构仅为一范例,本发明不以此为限。FIG. 12 is a schematic block diagram of a memory control circuit unit according to an exemplary embodiment. It must be understood that the structure of the memory control circuit unit shown in FIG. 12 is just an example, and the present invention is not limited thereto.

请参照图12,存储器控制电路单元404包括存储器管理电路702、主机接口704、存储器接口706及错误检查与校正电路708。Referring to FIG. 12 , the memory control circuit unit 404 includes a memory management circuit 702 , a host interface 704 , a memory interface 706 and an error checking and correction circuit 708 .

存储器管理电路702用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路702具有多个控制指令,并且在存储器储存装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路702或任何包含于存储器控制电路单元404中的电路组件的操作时,等同于说明存储器控制电路单元404的操作。The memory management circuit 702 is used to control the overall operation of the memory control circuit unit 404 . Specifically, the memory management circuit 702 has a plurality of control instructions, and when the memory storage device 10 is operating, these control instructions will be executed to perform operations such as writing, reading, and erasing data. When describing the operation of the memory management circuit 702 or any circuit components included in the memory control circuit unit 404 , it is equivalent to describing the operation of the memory control circuit unit 404 .

在本范例实施例中,存储器管理电路702的控制指令是以固件型式来实作。例如,存储器管理电路702具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被刻录至此只读存储器中。当存储器储存装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。In this exemplary embodiment, the control commands of the memory management circuit 702 are implemented in the form of firmware. For example, the memory management circuit 702 has a microprocessor unit (not shown) and a read-only memory (not shown), and these control instructions are written into the read-only memory. When the memory storage device 10 is in operation, these control instructions will be executed by the microprocessor unit to perform operations such as writing, reading, and erasing data.

在另一范例实施例中,存储器管理电路702的控制指令也可以程序代码型式储存于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路702具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将储存于可复写式非易失性存储器模块406中的控制指令加载至存储器管理电路702的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。In another exemplary embodiment, the control instructions of the memory management circuit 702 may also be stored in a specific area of the rewritable non-volatile memory module 406 in the form of program code (for example, a system area dedicated to storing system data in the memory module) middle. In addition, the memory management circuit 702 has a microprocessor unit (not shown), a read only memory (not shown), and a random access memory (not shown). In particular, the ROM has a boot code (boot code), and when the memory control circuit unit 404 is enabled, the microprocessor unit will first execute the boot code to store in the rewritable non-volatile memory module The control instructions in 406 are loaded into the random access memory of the memory management circuit 702 . Afterwards, the microprocessor unit will execute these control instructions to perform operations such as writing, reading and erasing data.

此外,在另一范例实施例中,存储器管理电路702的控制指令也可以硬件型式来实作。例如,存储器管理电路702包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或其群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序代码或脚本并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路702还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。In addition, in another exemplary embodiment, the control instructions of the memory management circuit 702 can also be implemented in hardware. For example, the memory management circuit 702 includes a microcontroller, a memory unit management circuit, a memory writing circuit, a memory reading circuit, a memory erasing circuit and a data processing circuit. The storage unit management circuit, the memory writing circuit, the memory reading circuit, the memory erasing circuit and the data processing circuit are electrically connected to the microcontroller. The storage unit management circuit is used for managing the storage units or groups thereof of the rewritable non-volatile memory module 406 . The memory writing circuit is used to issue a write command sequence to the rewritable non-volatile memory module 406 to write data into the rewritable non-volatile memory module 406 . The memory read circuit is used to issue a read command sequence to the rewritable non-volatile memory module 406 to read data from the rewritable non-volatile memory module 406 . The memory erasing circuit is used for issuing an erase command sequence to the rewritable non-volatile memory module 406 to erase data from the rewritable non-volatile memory module 406 . The data processing circuit is used for processing data to be written into the rewritable non-volatile memory module 406 and data read from the rewritable non-volatile memory module 406 . The write command sequence, the read command sequence and the erase command sequence may respectively include one or more program codes or scripts and are used to instruct the rewritable non-volatile memory module 406 to perform corresponding write, read and Erase etc. In an exemplary embodiment, the memory management circuit 702 can also issue other types of instruction sequences to the rewritable non-volatile memory module 406 to instruct to perform corresponding operations.

主机接口704是电性连接至存储器管理电路702并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口704来传送至存储器管理电路702。在本范例实施例中,主机接口704是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口704也可以是兼容于PATA标准、IEEE 1394标准、PCIExpress标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。The host interface 704 is electrically connected to the memory management circuit 702 and used for receiving and identifying commands and data transmitted by the host system 11 . That is to say, the commands and data sent by the host system 11 are sent to the memory management circuit 702 through the host interface 704 . In this exemplary embodiment, the host interface 704 is compatible with the SATA standard. However, it must be understood that the present invention is not limited thereto, and the host interface 704 may also be compatible with PATA standard, IEEE 1394 standard, PCIExpress standard, USB standard, SD standard, UHS-I standard, UHS-II standard, MS standard, MMC standard, eMMC standard, UFS standard, CF standard, IDE standard or other suitable data transmission standards.

存储器接口706是电性连接至存储器管理电路702并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口706转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路702要存取可复写式非易失性存储器模块406,存储器接口706会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路702产生并且通过存储器接口706传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括脚本或程序代码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。The memory interface 706 is electrically connected to the memory management circuit 702 and used for accessing the rewritable non-volatile memory module 406 . That is to say, the data to be written into the rewritable nonvolatile memory module 406 will be converted into a format acceptable to the rewritable nonvolatile memory module 406 via the memory interface 706 . Specifically, if the memory management circuit 702 wants to access the rewritable non-volatile memory module 406, the memory interface 706 will transmit the corresponding instruction sequence. For example, these command sequences may include a write command sequence for writing data, a read command sequence for reading data, an erase command sequence for erasing data, and instructions for various memory operations such as changing the read the corresponding sequence of instructions to fetch voltage levels or execute garbage collection routines, etc.). These instruction sequences are, for example, generated by the memory management circuit 702 and transmitted to the rewritable non-volatile memory module 406 through the memory interface 706 . These command sequences may include one or more signals, or data on a bus. These signals or data may include script or program code. For example, in the read command sequence, information such as read identification code and memory address will be included.

错误检查与校正电路708是电性连接至存储器管理电路702并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路702从主机系统11中接收到写入指令时,错误检查与校正电路708会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC code)或错误检查码(error detecting code,EDC),并且存储器管理电路702会将对应此写入指令的数据与对应的错误更正码或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路702从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码或错误检查码,并且错误检查与校正电路708会依据此错误更正码或错误检查码对所读取的数据执行错误检查与校正程序。The error checking and correcting circuit 708 is electrically connected to the memory management circuit 702 and used for executing error checking and correcting procedures to ensure the correctness of data. Specifically, when the memory management circuit 702 receives a write command from the host system 11, the error checking and correction circuit 708 will generate a corresponding error correcting code (ECC code) for the data corresponding to the write command or error checking code (error detecting code, EDC), and the memory management circuit 702 will write the data corresponding to the write command and the corresponding error correction code or error checking code into the rewritable non-volatile memory module 406 . Afterwards, when the memory management circuit 702 reads data from the rewritable non-volatile memory module 406, it will read the error correction code or error check code corresponding to the data at the same time, and the error check and correction circuit 708 will base on this error Correction code or error checking code performs error checking and correction procedures on the read data.

在本发明一范例实施例中,存储器控制电路单元404还包括缓冲存储器710与电源管理电路712。缓冲存储器710是电性连接至存储器管理电路702并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路712是电性连接至存储器管理电路702并且用以控制存储器储存装置100的电源。In an exemplary embodiment of the present invention, the memory control circuit unit 404 further includes a buffer memory 710 and a power management circuit 712 . The buffer memory 710 is electrically connected to the memory management circuit 702 and used for temporarily storing data and instructions from the host system 11 or data from the rewritable non-volatile memory module 406 . The power management circuit 712 is electrically connected to the memory management circuit 702 and used for controlling the power of the memory storage device 100 .

图13是根据一范例实施例示出硬位模式译码的示意图。FIG. 13 is a diagram illustrating hard bit pattern decoding according to an exemplary embodiment.

请参照图13,在此以SLC闪存为例,分布1410与分布1420是用来表示多个第一存储单元的储存状态,而分布1410与1420分别代表着不同的储存状态。这些第一存储单元可以属于同样的实体程序化单元或是不同的实体程序化单元,本发明并不在此限。在此假设当一个存储单元属于分布1410时,此存储单元所储存的是位“1”;当存储单元属于分布1420时,此存储单元储存的是位“0”。当存储器管理电路702以读取电压1440来读取存储单元时,存储器管理电路702会取得验证位,其是用来指示此存储单元是否为导通。在此假设存储单元导通时验证位是“1”,反之则是“0”,但本发明并不在此限。若此验证位为“1”,则存储器管理电路702会判断此存储单元属于分布1410,反之则是分布1420。然而,分布1410与分布1420在区域1430中是重叠的。也就是说,有若干个存储单元应该是属于分布1410但被识别为分布1420,并且有若干个存储单元应该是属于分布1420但被识别为分布1410。Please refer to FIG. 13 , taking the SLC flash memory as an example here, the distribution 1410 and the distribution 1420 are used to represent the storage states of a plurality of first storage units, and the distributions 1410 and 1420 respectively represent different storage states. These first storage units may belong to the same physical programming unit or different physical programming units, and the present invention is not limited thereto. It is assumed here that when a memory unit belongs to the distribution 1410 , the memory unit stores a bit “1”; when the memory unit belongs to the distribution 1420 , the memory unit stores a bit “0”. When the memory management circuit 702 reads the memory cell with the read voltage 1440 , the memory management circuit 702 obtains a verification bit, which is used to indicate whether the memory cell is turned on. It is assumed here that the verification bit is “1” when the memory cell is turned on, and “0” otherwise, but the present invention is not limited thereto. If the verification bit is “1”, the memory management circuit 702 will determine that the storage unit belongs to the distribution 1410 , otherwise it is the distribution 1420 . However, distribution 1410 and distribution 1420 overlap in region 1430 . That is, there are several storage units that should belong to distribution 1410 but are identified as distribution 1420 , and there are several storage units that should belong to distribution 1420 but are identified as distribution 1410 .

在此范例实施例中,当要读取这些第一存储单元时,存储器管理电路702会先选择读取电压(例如,读取电压1441)来读取这些第一存储单元以取得第一存储单元的验证位。错误检查与校正电路708会根据第一存储单元的验证位来执行包含机率译码算法的译码操作(也称为第一解码操作),以产生多个译码位,而此些译码位可以组成一个码字。In this exemplary embodiment, when these first memory cells are to be read, the memory management circuit 702 will first select a read voltage (eg, read voltage 1441) to read these first memory cells to obtain the first memory cells verification bit. The error checking and correction circuit 708 performs a decoding operation including a probabilistic decoding algorithm (also referred to as a first decoding operation) according to the verification bit of the first storage unit to generate a plurality of decoding bits, and these decoding bits can form a codeword.

在本范例实施例中,机率译码算法是把一个符号(symbol)可能的解码结果当作一个候选人(candidate),并且在译码过程中输入的信息或者中间运算过程的数值是以这些候选人的机率值或是候选人之间机率的比例来表示,进而决定最有可能的候选人是哪一个。举例而言,如果一个符号有两个候选人(位0and 1),机率译码算法是各自依照0或者1发生的机率去计算最有可能的候选人,或者是以0与1之间机率的比例去计算最有可能的候选人。假如是N个候选人,例如在有限场(Finite Field)下可能的数值为0~N-1(N为正整数,每一个候选人是代表多个位),则机率译码算法是各自计算N个候选人的机率来决定最有可能的候选人,或者是以其中一个数值的机率作为分母去计算相对的机率比例来决定最有可能的候选人。在一范例实施例中,上述机率的比例也可以用对数的形式来表示。In this exemplary embodiment, the probabilistic decoding algorithm takes the possible decoding result of a symbol (symbol) as a candidate (candidate), and the information input in the decoding process or the value of the intermediate operation process is based on these candidates The probability value of a person or the ratio of the probability among candidates is expressed to determine which one is the most likely candidate. For example, if a symbol has two candidates (bits 0 and 1), the probabilistic decoding algorithm calculates the most likely candidate with a probability of 0 or 1 occurring, respectively, or with a probability between 0 and 1 ratio to calculate the most likely candidates. If there are N candidates, for example, the possible values in a finite field (Finite Field) are 0 to N-1 (N is a positive integer, and each candidate represents multiple bits), then the probabilistic decoding algorithm is calculated separately The probability of N candidates to determine the most likely candidate, or use the probability of one of the values as the denominator to calculate the relative probability ratio to determine the most likely candidate. In an exemplary embodiment, the ratio of the above probabilities may also be expressed in logarithmic form.

在本范例实施例中,机率译码算法可以是回旋码(convolutional code)、涡轮码(turbo code)、低密度奇偶检查码(low-density parity-check code)或其他具有机率译码特征的算法。举例来说,在回旋码与涡轮码中,可以用有限状态机(finite statemachine)来编码与译码,并且在本范例实施例中会根据验证位来计算最有可能的多个状态,进而产生译码位。以下将以低密度奇偶检查码为例进行说明。In this exemplary embodiment, the probabilistic decoding algorithm may be convolutional code, turbo code, low-density parity-check code (low-density parity-check code) or other algorithms with probabilistic decoding characteristics . For example, in convolutional codes and turbo codes, a finite state machine (finite state machine) can be used for encoding and decoding, and in this exemplary embodiment, the most probable multiple states are calculated according to the verification bits, thereby generating decoding bits. The following will take the low density parity check code as an example for description.

若使用的是低密度奇偶检查码,在根据验证位来执行第一译码操作时,存储器管理电路702还会根据每一个验证位来取得每一个存储单元的译码初始值。例如,若验证位是“1”,存储器管理电路702会设定对应的存储单元的译码初始值为n;若验证位是“0”,则解码初始值为-n。其中n为正数,但本发明并不限制正整数n的值为多少。在一实施例中,n例如是8。If the low density parity check code is used, when performing the first decoding operation according to the verification bit, the memory management circuit 702 also obtains the decoding initial value of each storage unit according to each verification bit. For example, if the verification bit is "1", the memory management circuit 702 will set the initial decoding value of the corresponding storage unit to n; if the verification bit is "0", the initial decoding value is -n. Where n is a positive number, but the present invention does not limit the value of the positive integer n. In one embodiment, n is 8, for example.

接下来,错误检查与校正电路708会根据这些译码初始值来执行低密度奇偶检查算法的迭代译码以产生包含多个译码位的码字。在迭代译码中,这些译码初始值会不断地被更新以代表一个机率值,而这个机率值也被称为可靠度(realiability)或信心度(belief)。被更新的译码初始值会被转换成多个译码位,错误检查与校正电路708会把这些译码位当作一个向量,并将此向量与低密度奇偶检查算法的奇偶检查矩阵(parity-checkmatrix)做模2(module 2)的矩阵相乘,以取得多个校验子(syndrome)。这些校验子可以用来判断译码位所组成的码字是否为有效的码字。若译码位所组成的码字是有效的码字,则迭代译码会停止,并且错误检查与校正电路708会输出这些译码位所组成的码字。若译码字节成无效的码字,则会继续更新解码初始值并且产生新的译码位以进行下一次迭代。当迭代次数到达预设迭代次数时,迭代解码会停止。错误检查与校正电路708会利用最后一次迭代所产生的译码位来判断是否译码成功。例如,若根据校验子判断最后一次迭代所产生的译码字节成有效的码字,则是解码成功;若第一译码字节成无效的码字,则表示译码失败。Next, the ECC circuit 708 performs iterative decoding of the LDPC algorithm according to the decoding initial values to generate a codeword comprising a plurality of decoded bits. In iterative decoding, these decoding initial values are constantly updated to represent a probability value, and this probability value is also called reliability (reliability) or confidence (belief). The updated decoded initial value will be converted into a plurality of decoded bits, and the error checking and correcting circuit 708 will regard these decoded bits as a vector, and compare this vector with the parity check matrix (parity check matrix) of the LDPC algorithm -checkmatrix) do matrix multiplication of module 2 to obtain multiple syndromes. These syndromes can be used to judge whether a codeword composed of decoded bits is a valid codeword. If the codeword composed of decoded bits is a valid codeword, the iterative decoding stops, and the error checking and correction circuit 708 outputs the codeword composed of these decoded bits. If the decoded byte becomes an invalid codeword, the decoding initial value will continue to be updated and a new decoded bit will be generated for the next iteration. When the number of iterations reaches the preset number of iterations, iterative decoding will stop. The ECC circuit 708 uses the decoded bits generated in the last iteration to determine whether the decoding is successful. For example, if it is judged according to the syndrome that the decoded byte generated in the last iteration is a valid codeword, then the decoding is successful; if the first decoded byte is an invalid codeword, it means that the decoding fails.

在另一范例实施例中译码操作所包括的机率译码算法是回旋码与涡轮码,并且译码操作中还会包括其他的错误校正码。例如,回旋码与涡轮码可以搭配任意算法的奇偶码一起使用。在译码操作中回旋码或涡轮码的译码部分执行完毕以后,奇偶码可以用来判断所产生的译码位所组成的码字是否为有效的码字,进而判断是否解码成功。In another exemplary embodiment, the probabilistic decoding algorithms included in the decoding operation are convolutional codes and turbo codes, and other error correction codes are also included in the decoding operation. For example, convolutional codes and turbo codes can be used with parity codes of any algorithm. After the decoding part of the convolutional code or the turbo code is executed in the decoding operation, the parity code can be used to judge whether the codeword composed of the generated decoding bits is a valid codeword, and then judge whether the decoding is successful.

不论使用何种错误校正码,若译码失败,表示这些第一存储单元储存有不可更正的错误位。若译码失败,存储器管理电路702会重新取得另一读取电压,并用此另一读取电压(例如读取电压1442)来读取这些第一存储单元,以重新取得存储单元的验证位。存储器管理电路702会根据重新取得的验证位来执行上述的第一译码操作以取得由多个译码字节成的另一码字。在一范例实施例中,错误检查与校正电路708会根据该另一码字所对应的校验子判断所述另一码字是否为有效的码字。若所述另一码字非为有效的码字时,存储器管理电路702会判断译码失败。若重新取得读取电压的次数没有超过默认次数,则存储器管理电路702会再重新取得其他取得电压(例如,读取电压1443),并且根据重新取得的读取电压1443读取第一存储单元,以重新取得验证位并执行第一译码操作。No matter what kind of error correction code is used, if the decoding fails, it means that the first storage units store uncorrectable error bits. If the decoding fails, the memory management circuit 702 will obtain another read voltage again, and use the other read voltage (for example, the read voltage 1442 ) to read the first memory cells, so as to obtain the verification bits of the memory cells again. The memory management circuit 702 performs the above-mentioned first decoding operation according to the retrieved verification bits to obtain another codeword formed from a plurality of decoded bytes. In an exemplary embodiment, the ECC circuit 708 judges whether the other codeword is a valid codeword according to the syndrome corresponding to the other codeword. If the other codeword is not a valid codeword, the memory management circuit 702 will judge that the decoding fails. If the times of re-obtaining the read voltage does not exceed the default times, the memory management circuit 702 will re-acquire other voltages (for example, the read voltage 1443), and read the first memory cell according to the re-acquired read voltage 1443, to retrieve the verification bits and perform the first decoding operation.

换句话说,当有不可更正的错误位时,通过重新取得读取电压,一些存储单元的验证位会被改变,进而改变机率译码算法中若干个机率值,进而有机会改变了译码操作的译码结果。逻辑上来说,上述重新取得读取电压的动作是要翻转(flip)一个码字中的若干位,并对新的码字重新解码。在一些情况下,在翻转前无法译码的码字(有不可更正的错误位),有可能在翻转后可以译码。并且,在一范例实施例中存储器管理电路702会尝试译码数次,直到尝试的次数超过预设次数为止。然而,本发明并不限制预设次数为多少。In other words, when there is an uncorrectable error bit, by re-acquiring the read voltage, the verify bit of some memory cells will be changed, thereby changing several probability values in the probabilistic decoding algorithm, thereby changing the decoding operation decoding result. Logically speaking, the above-mentioned action of reacquiring the read voltage is to flip several bits in a codeword and re-decode the new codeword. In some cases, codewords that could not be decoded (with uncorrectable error bits) before flipping may be decodable after flipping. Moreover, in an exemplary embodiment, the memory management circuit 702 will try decoding several times until the number of attempts exceeds a preset number. However, the present invention does not limit the number of preset times.

此须说明的是,虽然上述的在重新读取(Retry-Read)机制是重新取得一个读取电压,然而本发明不限于此。在应用于MLC或TLC闪存的实施例中,重新读取机制是用于取得读取电压组,并且使用此读取电压组中的多个读取电压读取存储单元并执行第一译码操作。更详细来说,存储器管理电路702会预先配置默认读取电压组与多个用于重新读取的重新读取电压组。在第一次读取第一存储单元时,存储器管理电路702可以先使用上述的默认读取电压组中的多个读取电压读取第一存储单元以执行硬位模式译码操作。当使用默认读取电压组中的第一电压读取第一存储单元但发生译码失败时,存储器管理电路702可以执行重新读取机制以从选择上述的重新读取电压组的其中之一以执行第一次的重新读取并执行硬位模式译码操作。在第一次的重新读取的过程中当发生译码失败时,存储器管理电路702可以执行第二次的重新读取。例如,存储器管理电路702可以再从上述的重新读取电压组的中选择其他的读取电压组来读取第一存储单元并执行硬位模式译码操作。须注意的是,虽然上述实施例只执行了两次重新读取的操作,但本发明并不用于限定重新读取的数量。此外,本发明并不限制所使用的是SLC、MLC或是TLC闪存。需注意的识,虽然前述范例是描述读取电压组中包括多个读取电压,然而本发明并不用于限定读取电压组中的读取电压的数量。在其他实施例中,读取电压组也可以仅包括一个读取电压。It should be noted that although the above-mentioned Retry-Read mechanism is to obtain a read voltage again, the present invention is not limited thereto. In an embodiment applied to MLC or TLC flash memory, the re-read mechanism is used to obtain a set of read voltages, and use multiple read voltages in this set of read voltages to read the memory cell and perform the first decoding operation . In more detail, the memory management circuit 702 pre-configures a default read voltage set and multiple re-read voltage sets for re-reading. When reading the first storage unit for the first time, the memory management circuit 702 may use multiple read voltages in the above-mentioned default read voltage group to read the first storage unit to perform a hard bit pattern decoding operation. When using the first voltage in the default read voltage group to read the first memory cell but a decoding failure occurs, the memory management circuit 702 can execute a re-read mechanism to select one of the above-mentioned re-read voltage groups to Perform the first refetch and perform the hard bit pattern decode operation. When a decoding failure occurs during the first re-read process, the memory management circuit 702 may perform a second re-read. For example, the memory management circuit 702 may select another read voltage group from the above-mentioned re-read voltage group to read the first memory cell and perform a hard bit pattern decoding operation. It should be noted that although the above embodiment only performs two re-read operations, the present invention is not intended to limit the number of re-read operations. In addition, the present invention does not limit the use of SLC, MLC or TLC flash memory. It should be noted that although the foregoing examples describe that the read voltage set includes a plurality of read voltages, the present invention is not intended to limit the number of read voltages in the read voltage set. In other embodiments, the read voltage group may only include one read voltage.

在图13的范例实施例中,存储单元的译码初始值是根据一个验证位而被分为两个数值(例如,n与-n)。根据两种数值来执行的迭代译码也被称为硬位模式(hard bit mode)的迭代解码。然而,上述改变读取电压的步骤也可以应用在软位模式(soft bit mode)的迭代解码,其中每一个存储单元的译码初始值是根据多个验证位所决定。值得注意的是,不论是硬位模式或是软位模式,在迭代译码中都会计算位的机率值,因此都属于机率译码算法。In the exemplary embodiment of FIG. 13 , the decoded initial value of the memory cell is divided into two values (eg, n and -n) according to a verification bit. Iterative decoding performed according to two values is also called hard bit mode iterative decoding. However, the above steps of changing the read voltage can also be applied to iterative decoding of soft bit mode, wherein the decoding initial value of each memory cell is determined according to a plurality of verification bits. It is worth noting that, whether it is a hard bit pattern or a soft bit pattern, the probability value of the bit is calculated in iterative decoding, so it belongs to the probability decoding algorithm.

基于上述,在从可复写式非易失性存储器模块406中读取数据时,存储器管理电路702会先执行硬位模式译码操作来进行译码以取得所欲读取的数据。在执行硬位模式译码操作时,可以先使用读取电压组来读取存储单元并进行译码。若译码失败且重新取得读取电压组的次数没有超过默认次数,则存储器管理电路702会再重新取得其他取得电压组,并且根据重新取得的读取电压组读取前述的存储单元以重新进行译码。当执行重新取得读取电压组的步骤的执行次数超过默认次数时,存储器管理电路702可以改为执行其他的译码操作(例如,软位模式译码操作)。Based on the above, when reading data from the rewritable non-volatile memory module 406 , the memory management circuit 702 will first perform a hard bit pattern decoding operation to decode to obtain the data to be read. When performing the decoding operation of the hard bit pattern, the read voltage group can be used to read the memory cell and perform decoding. If the decoding fails and the number of times to re-acquire the read voltage group does not exceed the default number of times, the memory management circuit 702 will re-acquire other obtained voltage groups, and read the aforementioned memory cells according to the re-acquired read voltage group to re-acquire decoding. When the number of executions of the step of re-acquiring the read voltage group exceeds the default number of times, the memory management circuit 702 may instead perform other decoding operations (eg, soft bit pattern decoding operations).

特别是,前述的预设次数通常是“所有可用以重新取得的读取电压组的数量”,而此数量在MLC或是TLC闪存中通常较大并且会造成在改为执行其他的译码操作(例如,软位模式译码操作)前需耗费大量的时间在执行重新取得读取电压组以执行读取与译码的操作中。In particular, the aforementioned preset number of times is usually "the number of all read voltage groups available for retrieval", and this number is usually large in MLC or TLC flash memory and causes other decoding operations to be performed instead. (For example, soft bit pattern decoding operation) It takes a lot of time to perform the operation of re-acquiring the read voltage set to perform the reading and decoding.

因此,本发明提出一种电压识别方法,可以快速地判断哪些读取电压组可能会发生译码失败,并且避免使用此些读取电压组执行存储单元的读取以减少硬位模式译码操作的运行时间。Therefore, the present invention proposes a voltage identification method, which can quickly determine which read voltage groups may fail to decode, and avoid using these read voltage groups to perform reading of memory cells to reduce hard bit pattern decoding operations running time.

详细来说,在本实施例中,存储器管理电路702会对每一个读取电压组储存对应的校验信息查找表。例如,图14是根据一范例实施例示出校验信息查找表的示意图。In detail, in this embodiment, the memory management circuit 702 stores a corresponding check information lookup table for each read voltage group. For example, FIG. 14 is a schematic diagram showing a check information lookup table according to an exemplary embodiment.

请参照图14,假设在本实施例中,存储器管理电路702被配置了读取电压组T0~T15。针对读取电压组T0~T15中的每一个读取电压组,存储器管理电路702会预先储存相对应的校验信息查找表。以读取电压组T0为例,假设图14中的校验信息查找表1400是对应于读取电压组T0的校验信息查找表。在校验信息查找表1400中,可以记录多个区间SI_0~SI_2中的每一个区间与前述的读取电压组T0~T15之间的关系。Referring to FIG. 14 , it is assumed that in this embodiment, the memory management circuit 702 is configured with read voltage groups T0 - T15 . For each read voltage group in the read voltage groups T0 - T15 , the memory management circuit 702 pre-stores a corresponding check information lookup table. Taking the reading voltage group T0 as an example, it is assumed that the verification information lookup table 1400 in FIG. 14 is a verification information lookup table corresponding to the reading voltage group T0. In the verification information lookup table 1400 , the relationship between each of the multiple intervals SI_0 - SI_2 and the aforementioned read voltage groups T0 - T15 can be recorded.

在此需说明的是,区间SI_0~SI_2中的每一个区间用以代表校验信息(例如,前述的校验子)的范围。例如,区间SI_0代表校验子的数值小于或等于600;区间SI_1代表校验子的数值大于600并且小于800;区间SI_2代表校验子的数值大于或等于800。然而,本发明并不用于限定前述区间的数量以及每个区间的数值范围。It should be noted here that each of the intervals SI_0˜SI_2 is used to represent the range of the parity information (eg, the aforementioned syndrome). For example, interval SI_0 indicates that the syndrome value is less than or equal to 600; interval SI_1 indicates that the syndrome value is greater than 600 and less than 800; interval SI_2 indicates that the syndrome value is greater than or equal to 800. However, the present invention is not intended to limit the number of the foregoing intervals and the numerical range of each interval.

特别是,针对SI_0~SI_2中的每一个区间,校验信息查找表1400会储存相对应的位序列,并且位序列中的多个位会分别对应至读取电压组T0~T15。以校验信息查找表1400中的区间SI_0为例,区间SI_0的位序列为“0110111111111101”。其中,第1个位对应至读取电压组T0、第2个位对应至读取电压组T1、第3个位对应至读取电压组T2,以此类推。而位数值被设定为1(也称为,第一位数值)的读取电压组又可以被称为“第一类读取电压组”,位数值被设定为0(也称为,第二位数值)的读取电压组又可以被称为“第二类读取电压组”。在本实施例中,“第一类读取电压组”代表在重新读取机制中可以被用来重新取得的读取电压组,且此些读取电压组可以有较高的机率成功译码所读取出的数据(即,发生译码失败的机率小于门槛值),故第一类读取电压组可以被用来执行读取操作。“第二类读取电压组”代表在重新读取机制中不会被用来重新取得的读取电压组,且此些读取电压组有较高的机率发生解码失败(例如,发生解码失败的机率大于前述门槛值),故第二类读取电压组不会被用来执行读取操作。In particular, for each interval in SI_0˜SI_2, the check information lookup table 1400 will store a corresponding bit sequence, and a plurality of bits in the bit sequence will correspond to the read voltage groups T0˜T15 respectively. Taking the interval SI_0 in the check information lookup table 1400 as an example, the bit sequence of the interval SI_0 is "0110111111111101". Wherein, the first bit corresponds to the read voltage group T0, the second bit corresponds to the read voltage group T1, the third bit corresponds to the read voltage group T2, and so on. And the read voltage group whose bit value is set to 1 (also referred to as the first bit value) can be called "the first type of read voltage group", and the bit value is set to 0 (also referred to as, The read voltage group of the second digit value) may also be referred to as "the second type of read voltage group". In this embodiment, the "first type of read voltage group" represents the read voltage group that can be used to retrieve in the re-read mechanism, and these read voltage groups can have a higher probability of successful decoding The read data (that is, the probability of decoding failure is less than the threshold value), so the first type of read voltage group can be used to perform the read operation. The "second type of read voltage group" represents the read voltage group that will not be used for re-acquisition in the re-read mechanism, and these read voltage groups have a higher probability of decoding failure (e.g., decoding failure occurs The probability is greater than the aforementioned threshold value), so the second type of read voltage group will not be used to perform the read operation.

在此需说明的是,每一个区间的位序列中的位需被设定为0或1可以根据读取电压分布图、通过统计或实验的方式来决定。以读取电压组T0的校验信息查找表1400为例,在区间SI_0的位序列中,位数值被设定为0的位所对应的读取电压组T3与T14在读取电压分布图中与读取电压组T0的距离较远(例如,距离大于门槛值),而使用读取电压组T3与T14进行读取会有较高的机率发生译码失败,因此可以将区间SI_0的位序列中读取电压组T3与T14所对应的位(即,第4、15个位)设定为0。此外,在读取电压分布图中,由于读取电压组T3与T14以外的其他的读取电压组距离读取电压组T0较近,代表此些读取电压组可以有较高的机率成功译码所读取出的数据,因此读取电压组T3与T14以外的其他的读取电压组所对应的位会被设定为1。此外,由于校验信息查找表1400为读取电压组T0的校验信息查找表,故在此会将读取电压组T0所对应的数值设定为0以避免在重新读取机制中重复使用读取电压组T0。It should be noted here that, the bits in the bit sequence of each interval need to be set to 0 or 1, which can be determined by reading the voltage distribution diagram, through statistical or experimental methods. Taking the verification information lookup table 1400 of the read voltage group T0 as an example, in the bit sequence of the interval SI_0, the read voltage groups T3 and T14 corresponding to the bit whose bit value is set to 0 are shown in the read voltage distribution diagram The distance from the read voltage group T0 is far (for example, the distance is greater than the threshold value), and reading with the read voltage groups T3 and T14 has a higher probability of decoding failure, so the bit sequence of the interval SI_0 can be Bits (that is, the 4th and 15th bits) corresponding to the read voltage groups T3 and T14 are set to 0. In addition, in the reading voltage distribution diagram, since the reading voltage groups other than the reading voltage group T3 and T14 are closer to the reading voltage group T0, it means that these reading voltage groups have a higher probability of successfully translating Therefore, bits corresponding to other read voltage groups other than the read voltage group T3 and T14 are set to 1. In addition, since the verification information lookup table 1400 is a verification information lookup table of the read voltage group T0, the value corresponding to the read voltage group T0 is set to 0 to avoid repeated use in the re-read mechanism Read voltage group T0.

虽然前述范例是以校验信息查找表1400中的区间SI_0为例进行说明,但相类似的方式也可以应用到校验信息查找表1400中的区间SI_1、SI_2。此外,针对读取电压组T0~T15中的每一个读取电压组,存储器管理电路702会储存类似于校验信息检查表1400的校验信息查找表。Although the foregoing example is described by taking the interval SI_0 in the verification information lookup table 1400 as an example, a similar method can also be applied to the intervals SI_1 and SI_2 in the verification information lookup table 1400 . In addition, for each read voltage group in the read voltage groups T0 - T15 , the memory management circuit 702 stores a check information lookup table similar to the check information check table 1400 .

之后,当存储器管理电路702第一次读取可复写式非易失性存储器模块406中的多个第一存储单元时,假设存储器管理电路702先使用读取电压组T0(也称为,第一读取电压组)来读取此些第一存储单元并执行第一译码操作以产生校验子(也称为,第一校验信息)。之后,存储器管理电路702会使用此第一校验信息判断是否译码成功(即,译码位所组成的码字是否为有效的码字)。Afterwards, when the memory management circuit 702 reads a plurality of first storage units in the rewritable non-volatile memory module 406 for the first time, it is assumed that the memory management circuit 702 first uses the read voltage group T0 (also referred to as the first A read voltage set) to read the first memory cells and perform a first decoding operation to generate a syndrome (also referred to as first check information). Afterwards, the memory management circuit 702 will use the first verification information to determine whether the decoding is successful (that is, whether the codeword composed of decoded bits is a valid codeword).

当使用此第一校验信息判断译码发生失败(即,译码位所组成的码字非为有效的码字)时,会执行重新读取机制。更详细来说,假设第一校验信息的值为400(即,校验子的值为400),存储器管理电路702会判断第一校验信息是位于校验信息查找表1400中的区间SI_0(也称为,第一区间)。存储器管理电路702会从校验信息查找表1400中获得对应于区间SI_0的位序列(也称为,第一位序列)。特别是,由于是第一次读取第一存储单元,在本实施例中,存储器管理电路702会先产生长度相同于第一位序列的初始位序列IBS,且初始位序列IBS中的每一个位皆为1。接着,存储器管理电路702会对初始位序列IBS与第一位序列进行逻辑运算,例如为与(AND)运算。When the first check information is used to determine that the decoding fails (that is, the codeword composed of decoded bits is not a valid codeword), a re-reading mechanism will be executed. In more detail, assuming that the value of the first check information is 400 (that is, the value of the syndrome is 400), the memory management circuit 702 will determine that the first check information is located in the interval SI_0 in the check information lookup table 1400 (Also known as, first interval). The memory management circuit 702 obtains the bit sequence (also referred to as the first bit sequence) corresponding to the interval SI_0 from the parity information lookup table 1400 . In particular, since it is the first time to read the first storage unit, in this embodiment, the memory management circuit 702 will first generate an initial bit sequence IBS with the same length as the first bit sequence, and each of the initial bit sequence IBS All bits are 1. Next, the memory management circuit 702 performs logic operations on the initial bit sequence IBS and the first bit sequence, such as an AND (AND) operation.

例如,图15是根据一范例实施例示出对位序列执行逻辑运算的示意图。For example, FIG. 15 is a diagram illustrating logical operations performed on bit sequences according to an exemplary embodiment.

请参照图15,在获得第一位序列BS1后,存储器管理电路702会将初始位序列IBS与第一位序列BS1执行逻辑运算以获得位序列NBS1。特别是,由于初始位序列IBS的每个位皆为1,故位序列NBS1的每个位的数值会相同于第一位序列BS1。之后,存储器管理电路702会将位序列NBS1中被设定为1的位所对应的读取电压组T1~T2、T4~T13与T15(统称为,第二读取电压组)识别为在重新读取机制中可以被用来读取第一存储单元的读取电压组;此外,存储器管理电路702会将位序列NBS1中被设定为0的位所对应的读取电压组T0、T3与T14(统称为,第四读取电压组)识别为在重新读取机制中不会被用来读取第一存储单元的读取电压组。Referring to FIG. 15 , after obtaining the first bit sequence BS1 , the memory management circuit 702 performs a logic operation on the initial bit sequence IBS and the first bit sequence BS1 to obtain the bit sequence NBS1 . In particular, since each bit of the initial bit sequence IBS is 1, the value of each bit of the bit sequence NBS1 is the same as that of the first bit sequence BS1. Afterwards, the memory management circuit 702 will identify the read voltage groups T1-T2, T4-T13 and T15 (collectively referred to as the second read voltage group) corresponding to the bits set to 1 in the bit sequence NBS1 as being re- The reading mechanism can be used to read the reading voltage group of the first memory cell; in addition, the memory management circuit 702 will set the reading voltage group T0, T3 corresponding to the bit set to 0 in the bit sequence NBS1 and T14 (collectively, the fourth set of read voltages) identifies the set of read voltages that will not be used to read the first memory cell in the re-read mechanism.

假设存储器管理电路702从读取电压组T1~T2、T4~T13与T15中选择读取电压组T1(也称为,第三读取电压组)用以重新读取第一存储单元。在使用读取电压组T1重新读取第一存储单元并执行第一译码操作以产生校验子(也称为,第二校验信息)。存储器管理电路702会使用此第二校验信息判断是否译码成功(即,译码位所组成的码字是否为有效的码字)。Assume that the memory management circuit 702 selects the read voltage set T1 (also referred to as the third read voltage set) from the read voltage sets T1 - T2 , T4 - T13 and T15 for re-reading the first memory cell. The first memory cell is read again using the read voltage set T1 and the first decoding operation is performed to generate a syndrome (also referred to as second verification information). The memory management circuit 702 will use the second verification information to determine whether the decoding is successful (that is, whether the codeword composed of decoded bits is a valid codeword).

当使用此第二校验信息判断译码发生失败(即,译码位所组成的码字非为有效的码字)时,会再次执行重新读取机制。更详细来说,假设第二校验信息的值为700(即,校验子的值为700),存储器管理电路702会判断此第二校验信息是位于读取电压组T1的校验信息查找表(未示出)中的区间SI_1(也称为,第二区间)。存储器管理电路702会从读取电压组T1的校验信息查找表中获得对应于区间SI_1的位序列BS2(也称为,第二位序列)。接着,存储器管理电路702会对位序列NBS1(其相同于位序列BS1)与位序列BS2进行逻辑运算以获得如图15的位序列NBS2(也称为,第三位序列)。在图15的范例中由于位序列NBS1为“0110111111111101”且位序列BS2为“1000111000010101”,两者逻辑运算后可以获得“0000111000010101”的位序列NBS2。When the second check information is used to determine that the decoding fails (that is, the codeword composed of decoded bits is not a valid codeword), the re-reading mechanism will be executed again. In more detail, assuming that the value of the second verification information is 700 (that is, the value of the syndrome is 700), the memory management circuit 702 will determine that the second verification information is the verification information located in the read voltage group T1 Interval SI_1 (also referred to as second interval) in a lookup table (not shown). The memory management circuit 702 obtains the bit sequence BS2 (also referred to as the second bit sequence) corresponding to the interval SI_1 from the check information lookup table of the read voltage group T1. Next, the memory management circuit 702 performs logic operations on the bit sequence NBS1 (which is the same as the bit sequence BS1 ) and the bit sequence BS2 to obtain the bit sequence NBS2 (also referred to as the third bit sequence) as shown in FIG. 15 . In the example of FIG. 15 , since the bit sequence NBS1 is “011011111111101” and the bit sequence BS2 is “1000111000010101”, the bit sequence NBS2 of “0000111000010101” can be obtained after logical operation of the two.

之后,存储器管理电路702会将位序列NBS2中被设定为1的位所对应的读取电压组T4~T6、T11、T13与T15识别为在重新读取机制中可以被用来读取第一存储单元的读取电压组;此外,存储器管理电路702会将位序列NBS2中被设定为0的位所对应的读取电压组T0~T3、T7~T10、T12与T14(统称为,第五读取电压组)识别为在重新读取机制中不会被用来读取第一存储单元的读取电压组。之后,存储器管理电路702可以使用读取电压组T4~T6、T11、T13与T15的其中之一读取前述的第一存储单元。Afterwards, the memory management circuit 702 will identify the read voltage groups T4˜T6, T11, T13 and T15 corresponding to the bits set to 1 in the bit sequence NBS2 as being available for reading the first A read voltage group of a memory cell; in addition, the memory management circuit 702 will set the read voltage groups T0-T3, T7-T10, T12 and T14 (collectively referred to as, A fifth set of read voltages) is identified as the set of read voltages that will not be used to read the first memory cell in the re-read mechanism. Afterwards, the memory management circuit 702 can use one of the read voltage groups T4 - T6 , T11 , T13 and T15 to read the aforementioned first memory cell.

前述的重新读取机制中,可以在译码失败时执行一次位序列的逻辑运算以根据逻辑运算后所获得的位序列挑选用于重新读取的读取电压组。特别是,当逻辑运算后所获得的位序列的每个位皆为0时(例如,图15中的位序列NBSn),代表读取电压组T0~T15所读取出的数据皆无法被成功的译码,此时存储器管理电路702可以改为执行其他的译码操作(例如,软位模式译码操作)。特别是,当一个读取电压组在一位序列中所对应的位被设定为0时,代表使用该读取电压组所读取出的数据无法被成功的译码,故存储器管理电路702可以避免使用该读取电压组,进而减少硬位模式译码操作的运行时间。In the aforementioned re-reading mechanism, a logical operation of the bit sequence may be performed when the decoding fails to select a read voltage group for re-reading according to the bit sequence obtained after the logical operation. In particular, when each bit of the bit sequence obtained after the logical operation is 0 (for example, the bit sequence NBSn in FIG. 15 ), it means that the data read by the read voltage groups T0-T15 cannot be successfully read. At this time, the memory management circuit 702 can instead perform other decoding operations (eg, soft bit pattern decoding operations). In particular, when the corresponding bit of a read voltage group in the bit sequence is set to 0, it means that the data read using the read voltage group cannot be successfully decoded, so the memory management circuit 702 The use of the read voltage group can be avoided, thereby reducing the runtime of the hard bit pattern decoding operation.

图16是根据一范例实施例示出电压识别方法的流程图。FIG. 16 is a flowchart illustrating a voltage identification method according to an exemplary embodiment.

请参照图16,在步骤S1601中,存储器管理电路702根据多个读取电压组中的第一读取电压组读取第一存储单元并执行第一译码操作以产生第一校验信息。在步骤S1603中,存储器管理电路702根据多个区间中第一校验信息所位于的第一区间,识别前述的多个读取电压组中对应于第一区间的多个第二读取电压组。在步骤S1605中,存储器管理电路702使用第二读取电压组中的第三读取电压组读取第一存储单元并执行第一译码操作。Referring to FIG. 16 , in step S1601 , the memory management circuit 702 reads the first memory cell according to the first read voltage group in the plurality of read voltage groups and performs a first decoding operation to generate first verification information. In step S1603, the memory management circuit 702 identifies the plurality of second read voltage groups corresponding to the first interval among the aforementioned plurality of read voltage groups according to the first interval in which the first verification information is located in the plurality of intervals . In step S1605, the memory management circuit 702 reads the first memory cell using the third read voltage set in the second read voltage set and performs a first decoding operation.

综上所述,本发明的电压识别方法、存储器控制电路单元与存储器储存装置可以快速地判断哪些读取电压组可能会发生译码失败,并且避免使用此些读取电压组执行存储单元的读取以减少硬位模式译码操作的运行时间。To sum up, the voltage identification method, the memory control circuit unit and the memory storage device of the present invention can quickly determine which reading voltage groups may fail to decode, and avoid using these reading voltage groups to perform memory cell reading. Taken to reduce the runtime of hard bit pattern decode operations.

Claims (21)

1. A voltage identification method for a rewritable non-volatile memory module, wherein the rewritable non-volatile memory module comprises a plurality of memory cells, the method comprising:
reading a plurality of first memory cells in the plurality of memory cells according to a first read voltage group in the plurality of read voltage groups and performing a first decoding operation to generate first verification information;
identifying a plurality of second read voltage groups corresponding to a first interval in the plurality of read voltage groups according to the first interval in which the first verification information is located in the plurality of intervals; and
the plurality of first memory cells are read using a third read voltage group of the plurality of second read voltage groups and the first decoding operation is performed.
2. The voltage identification method of claim 1, wherein identifying the plurality of second read voltage groups of the plurality of read voltage groups corresponding to the first interval comprises:
And identifying a plurality of fourth read voltage groups which are not used for reading the plurality of first memory cells in the plurality of read voltage groups according to the first interval in which the first verification information is located in the plurality of intervals.
3. The voltage identification method of claim 1, wherein prior to the step of reading the plurality of first memory cells of the plurality of memory cells according to the first one of the plurality of read voltage groups and performing the first decoding operation to generate the first verification information, the method further comprises:
storing a check information lookup table for each of the plurality of read voltage sets, wherein the check information lookup table is used for recording a plurality of first-type read voltage sets and a plurality of second-type read voltage sets in the plurality of read voltage sets corresponding to each of the plurality of intervals of the read voltage sets to which the check information lookup table belongs.
4. The voltage identification method of claim 3, wherein the check information lookup table is used to record a bit sequence corresponding to each of the plurality of intervals, wherein a plurality of bits corresponding to the plurality of first type read voltage groups are respectively set to a first bit value, and a plurality of bits corresponding to the plurality of second type read voltage groups are respectively set to a second bit value.
5. The voltage identification method of claim 4, wherein at least one of the plurality of first type read voltage sets is used to perform a read operation and the plurality of second type read voltage sets is not used to perform the read operation.
6. The voltage identification method of claim 4, wherein identifying the plurality of second read voltage groups of the plurality of read voltage groups corresponding to the first interval comprises:
a first bit sequence corresponding to the first interval is obtained from the check information lookup table of the first read voltage group, and the plurality of second read voltage groups are identified according to a plurality of bits set to the first bit value in the first bit sequence.
7. The voltage identification method of claim 6, wherein reading the plurality of first memory cells and performing the first decoding operation using the third one of the plurality of second read voltage sets comprises:
reading the plurality of first memory cells using the third read voltage group of the plurality of second read voltage groups and performing the first decoding operation to generate second parity information;
Obtaining a second bit sequence corresponding to a second section from the check information lookup table of the third read voltage group according to the second section in which the second check information is located in the sections;
performing a logical operation on the first bit sequence and the second bit sequence to obtain a third bit sequence;
identifying a plurality of fifth read voltage groups of the plurality of read voltage groups according to the third bit sequence, wherein a value of a bit corresponding to each of the plurality of fifth read voltage groups in the third bit sequence is the second bit value, and the plurality of fifth read voltage groups are not used for reading the plurality of first memory cells; and
and reading the plurality of first memory cells using other read voltage groups than the fifth read voltage groups.
8. A memory control circuit unit for a rewritable nonvolatile memory module including a plurality of memory cells, the memory control circuit unit comprising:
the host interface is used for being electrically connected to a host system;
A memory interface electrically connected to the rewritable non-volatile memory module; and
a memory management circuit electrically connected to the host interface and the memory interface,
wherein the memory management circuit is used for reading a plurality of first memory cells in the plurality of memory cells according to a first read voltage group in a plurality of read voltage groups and performing a first decoding operation to generate first verification information,
wherein the memory management circuit is further configured to identify a plurality of second read voltage sets corresponding to the first interval from the plurality of read voltage sets according to a first interval in which the first verification information is located,
the memory management circuit is also configured to read the plurality of first memory cells using a third read voltage set of the plurality of second read voltage sets and perform the first decoding operation.
9. The memory control circuit unit of claim 8, wherein in operation of identifying the plurality of second read voltage sets of the plurality of read voltage sets corresponding to the first interval,
the memory management circuit is further configured to identify a fourth plurality of read voltage groups of the plurality of read voltage groups that are not used to read the plurality of first memory cells according to the first interval in which the first verification information is located.
10. The memory control circuit unit of claim 8, wherein prior to the operation of reading the plurality of first memory cells of the plurality of memory cells according to the first read voltage group of the plurality of read voltage groups and performing the first decoding operation to generate the first verification information,
the memory management circuit is also configured to store a verification information lookup table for each of the plurality of read voltage sets,
the check information lookup table is used for recording a plurality of first type read voltage groups and a plurality of second type read voltage groups in the plurality of read voltage groups corresponding to each interval in the plurality of intervals, wherein the read voltage groups to which the check information lookup table belongs.
11. The memory control circuit unit of claim 10, wherein the check information lookup table is to record a bit sequence corresponding to each of the plurality of intervals in which a plurality of bits corresponding to the plurality of first type read voltage groups are respectively set to a first bit value and a plurality of bits corresponding to the plurality of second type read voltage groups are respectively set to a second bit value.
12. The memory control circuit unit of claim 11, wherein at least one of the plurality of first type read voltage sets is used to perform a read operation and the plurality of second type read voltage sets is not used to perform the read operation.
13. The memory control circuit unit of claim 11, wherein in operation of identifying the plurality of second read voltage sets of the plurality of read voltage sets corresponding to the first interval,
the memory management circuit is further configured to obtain a first bit sequence corresponding to the first interval from the check information lookup table of the first read voltage group, and identify the plurality of second read voltage groups according to a plurality of bits set to the first bit value in the first bit sequence.
14. The memory control circuit unit of claim 13, wherein in an operation of reading the plurality of first memory cells using the third read voltage group of the plurality of second read voltage groups and performing the first decoding operation,
the memory management circuit is also configured to read the plurality of first memory cells using the third one of the plurality of second read voltage sets and perform the first decoding operation to generate second parity information,
The memory management circuit is further configured to obtain a second bit sequence corresponding to a second interval from the check information lookup table of the third read voltage group according to the second interval in which the second check information is located among the plurality of intervals,
the memory management circuit is also configured to perform a logical operation on the first bit sequence and the second bit sequence to obtain a third bit sequence,
the memory management circuit is further configured to identify a plurality of fifth read voltage sets of the plurality of read voltage sets according to the third bit sequence, wherein a value of a bit corresponding to each of the plurality of fifth read voltage sets in the third bit sequence is the second bit value, and the plurality of fifth read voltage sets are not used to read the plurality of first memory cells,
the memory management circuit is also configured to read the plurality of first memory cells using other read voltage sets of the plurality of read voltage sets than the fifth read voltage set.
15. A memory storage device, comprising:
the connection interface unit is used for being electrically connected to the host system;
a rewritable nonvolatile memory module having a plurality of memory cells; and
A memory control circuit unit electrically connected to the connection interface unit and the rewritable nonvolatile memory module,
wherein the memory control circuit unit is used for reading a plurality of first memory cells in the plurality of memory cells according to a first read voltage group in the plurality of read voltage groups and performing a first decoding operation to generate first verification information,
wherein the memory control circuit unit is further configured to identify a plurality of second read voltage sets corresponding to a first section among the plurality of read voltage sets according to a first section in which the first verification information is located among the plurality of sections,
the memory control circuit unit is also used for reading the plurality of first memory cells by using a third read voltage group in the plurality of second read voltage groups and executing the first decoding operation.
16. The memory storage device of claim 15, wherein in operation of identifying the plurality of second read voltage sets of the plurality of read voltage sets corresponding to the first interval,
the memory control circuit unit is further configured to identify a fourth plurality of read voltage groups of the plurality of read voltage groups that are not used to read the plurality of first memory cells according to the first section in which the first verification information is located.
17. The memory storage device of claim 15, wherein prior to the operation of reading the first ones of the plurality of memory cells according to the first one of the plurality of read voltage sets and performing the first decoding operation to generate the first verification information,
the memory control circuit unit is further configured to store a check information lookup table for each of the plurality of read voltage sets,
the check information lookup table is used for recording a plurality of first type read voltage groups and a plurality of second type read voltage groups in the plurality of read voltage groups corresponding to each interval in the plurality of intervals, wherein the read voltage groups to which the check information lookup table belongs.
18. The memory storage device of claim 17, wherein the check information lookup table is configured to record a bit sequence corresponding to each of the plurality of intervals, wherein a plurality of bits corresponding to the plurality of first type read voltage sets are respectively set to a first bit value in the bit sequence, and wherein a plurality of bits corresponding to the plurality of second type read voltage sets are respectively set to a second bit value in the bit sequence.
19. The memory storage device of claim 18, wherein at least one of the plurality of first-type read voltage sets is used to perform a read operation and the plurality of second-type read voltage sets is not used to perform the read operation.
20. The memory storage device of claim 18, wherein in operation of identifying the plurality of second read voltage sets of the plurality of read voltage sets corresponding to the first interval,
the memory control circuit unit is further configured to obtain a first bit sequence corresponding to the first section from the check information lookup table of the first read voltage group, and identify the plurality of second read voltage groups according to a plurality of bits set to the first bit value in the first bit sequence.
21. The memory storage device of claim 20, wherein in operation of reading the plurality of first memory cells using the third set of read voltages of the plurality of second set of read voltages and performing the first decoding operation,
the memory control circuit unit is also configured to read the plurality of first memory cells using the third read voltage group of the plurality of second read voltage groups and perform the first decoding operation to generate second parity information,
The memory control circuit unit is further configured to obtain a second bit sequence corresponding to a second section from the check information lookup table of the third read voltage group according to the second section in which the second check information is located among the plurality of sections,
the memory control circuit unit is also configured to perform a logical operation on the first bit sequence and the second bit sequence to obtain a third bit sequence,
the memory control circuit unit is further configured to identify a plurality of fifth read voltage sets of the plurality of read voltage sets according to the third bit sequence, wherein a bit value corresponding to each of the plurality of fifth read voltage sets in the third bit sequence is the second bit value, and the plurality of fifth read voltage sets are not used to read the plurality of first memory cells,
the memory control circuit unit is further configured to read the plurality of first memory cells using other read voltage groups than the fifth read voltage groups among the plurality of read voltage groups.
CN201910905963.9A 2019-09-24 2019-09-24 Voltage identification method, memory control circuit unit, and memory storage device Active CN112634972B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910905963.9A CN112634972B (en) 2019-09-24 2019-09-24 Voltage identification method, memory control circuit unit, and memory storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910905963.9A CN112634972B (en) 2019-09-24 2019-09-24 Voltage identification method, memory control circuit unit, and memory storage device

Publications (2)

Publication Number Publication Date
CN112634972A CN112634972A (en) 2021-04-09
CN112634972B true CN112634972B (en) 2023-08-15

Family

ID=75282669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910905963.9A Active CN112634972B (en) 2019-09-24 2019-09-24 Voltage identification method, memory control circuit unit, and memory storage device

Country Status (1)

Country Link
CN (1) CN112634972B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104851458A (en) * 2014-02-18 2015-08-19 群联电子股份有限公司 Decoding method, memory storage device and memory control circuit unit
CN106158040A (en) * 2015-04-21 2016-11-23 群联电子股份有限公司 Read voltage level estimation method, memory storage device and control circuit unit
CN107622783A (en) * 2016-07-14 2018-01-23 群联电子股份有限公司 Decoding method, memory storage device and memory control circuit unit

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10475523B2 (en) * 2013-05-31 2019-11-12 Western Digital Technologies, Inc. Updating read voltages triggered by the rate of temperature change
TWI508082B (en) * 2013-09-30 2015-11-11 Phison Electronics Corp Decoding method, memory storage device and memory controlling circuit unit
KR20160102738A (en) * 2015-02-23 2016-08-31 에스케이하이닉스 주식회사 Controller, semiconductor memory system and operating method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104851458A (en) * 2014-02-18 2015-08-19 群联电子股份有限公司 Decoding method, memory storage device and memory control circuit unit
CN106158040A (en) * 2015-04-21 2016-11-23 群联电子股份有限公司 Read voltage level estimation method, memory storage device and control circuit unit
CN107622783A (en) * 2016-07-14 2018-01-23 群联电子股份有限公司 Decoding method, memory storage device and memory control circuit unit

Also Published As

Publication number Publication date
CN112634972A (en) 2021-04-09

Similar Documents

Publication Publication Date Title
CN104572334B (en) Decoding method, memory storage device and memory control circuit unit
TWI695378B (en) Bit tagging method, memory controlling circuit unit and memory storage device
TWI628660B (en) Decoding method, memory controlling circuit unit and memory storage device
TWI668695B (en) Voltage adjusting method, memory controlling circuit unit and memory storage device
CN111415692B (en) Decoding method, memory control circuit unit, and memory storage device
US10685711B1 (en) Decoding method, memory controlling circuit unit and memory storage device
TWI721842B (en) Decoding method, memory storage device, and memory controlling circuit unit
US11190217B2 (en) Data writing method, memory controlling circuit unit and memory storage device
TWI691962B (en) Decoding method, memory controlling circuit unit and memory storage device
CN107146638A (en) Decoding method, memory storage device and memory control circuit unit
TWI681396B (en) Decoding method, memory controlling circuit unit and memory storage device
CN111508546B (en) Decoding method, memory control circuit unit and memory storage device
CN112634972B (en) Voltage identification method, memory control circuit unit, and memory storage device
TWI705449B (en) Voltage identifying method, memory controlling circuit unit and memory storage device
TWI742509B (en) Data writing method, memory controlling circuit unit and memory storage device
CN109960603B (en) Bit marking method, memory control circuit unit and memory storage device
CN110797069A (en) Voltage adjusting method, memory control circuit unit and memory storage device
CN111435604B (en) Decoding method, memory control circuit unit and memory storage device
CN113138947B (en) Data writing method, memory control circuit unit and memory storage device
CN113496752B (en) Decoding method, memory storage device and memory control circuit unit
TWI681393B (en) Decoding method, memory controlling circuit unit and memory storage device
CN110795268B (en) Bit judgment method, memory control circuit unit and memory storage device
CN111324478B (en) Decoding method, memory control circuit unit and memory storage device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant