CN105304143A - Decoding method, memory control circuit unit and memory storage device - Google Patents
Decoding method, memory control circuit unit and memory storage device Download PDFInfo
- Publication number
- CN105304143A CN105304143A CN201410347359.6A CN201410347359A CN105304143A CN 105304143 A CN105304143 A CN 105304143A CN 201410347359 A CN201410347359 A CN 201410347359A CN 105304143 A CN105304143 A CN 105304143A
- Authority
- CN
- China
- Prior art keywords
- reliability information
- bit
- bits
- information
- control circuit
- 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.)
- Granted
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种解码方法、存储器控制电路单元及存储器存储装置。此解码方法包括:发送用以读取多个存储单元以取得多个位的读取指令序列,并且获得对应于每一多个位的多个可靠度信息。此解码方法还包括:计算此些可靠度信息中符合查验条件的多个可靠度信息的总和,并且将此总和加上平衡信息以获得对应于此些位中的第一位与第一校验子的权重。此解码方法还包括:判断此些位是否具有至少一错误,并且若此些位具有至少一错误,根据所述权重执行迭代解码程序。
The present invention provides a decoding method, a memory control circuit unit and a memory storage device. The decoding method includes: sending a read instruction sequence for reading multiple storage units to obtain multiple bits, and obtaining multiple reliability information corresponding to each of the multiple bits. The decoding method also includes: calculating the sum of multiple reliability information that meets the inspection conditions among these reliability information, and adding the balance information to the sum to obtain the weight corresponding to the first bit and the first syndrome among these bits. The decoding method also includes: determining whether these bits have at least one error, and if these bits have at least one error, performing an iterative decoding procedure according to the weight.
Description
技术领域technical field
本发明是有关于一种解码方法,且特别是有关于一种用于可复写式非易失性存储器模块的解码方法、存储器控制电路单元及存储器存储装置。The present invention relates to a decoding method, and in particular to a decoding method for a rewritable non-volatile memory module, 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 (for example, 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 the various memory modules listed above. in portable multimedia devices.
一般来说,写入至可复写式非易失性存储器模块的数据都会根据一个纠错码来编码。从可复写式非易失性存储器模块中所读取的数据也会经过对应的解码程序。然而,纠错码的更正能力有其上限,并且可复写式非易失性存储器模块中数据发生错误的机率会随着使用寿命一起改变。因此,如何增加解码的更正能力与正确性,为此领域技术人员所关心的问题。Generally, the data written into the rewritable non-volatile memory module is encoded according to an error correction code. The data read from the rewritable non-volatile memory module also undergoes a corresponding decoding procedure. However, the correction ability of the error correction code has its upper limit, and the probability of data error in the rewritable non-volatile memory module will change with the service life. Therefore, how to increase the correction capability and correctness of decoding is a concern of those skilled in the art.
发明内容Contents of the invention
本发明提供一种解码方法、存储器控制电路单元及存储器存储装置,其可有效地提高解码的更正能力。The invention provides a decoding method, a memory control circuit unit and a memory storage device, which can effectively improve the correction ability of decoding.
本发明的一范例实施例提供一种用于可复写式非易失性存储器模块的解码方法,所述可复写式非易失性存储器模块包括多个存储单元,本解码方法包括:发送读取指令序列,其中所述读取指令序列用以读取多个存储单元以取得多个位;获得多个可靠度信息,其中每一可靠度信息对应于所述位的其中之一;计算所述可靠度信息中符合查验条件的多个可靠度信息的总和;将所述总和加上平衡信息以获得对应于所述位中的第一位与第一校验子的权重;判断所述位是否具有至少一错误;以及若所述位具有至少一错误,根据所述权重执行迭代解码程序。An exemplary embodiment of the present invention provides a decoding method for a rewritable non-volatile memory module, the rewritable non-volatile memory module includes a plurality of storage units, the decoding method includes: sending and reading An instruction sequence, wherein the read instruction sequence is used to read a plurality of storage units to obtain a plurality of bits; obtain a plurality of reliability information, wherein each reliability information corresponds to one of the bits; calculate the The sum of a plurality of reliability information that meets the inspection conditions in the reliability information; adding the sum to the balance information to obtain the weight corresponding to the first bit and the first syndrome in the bit; judging whether the bit having at least one error; and performing an iterative decoding process according to the weight if the bit has at least one error.
在本发明的一范例实施例中,上述判断此些位是否具有至少一错误的步骤包括:对所述位执行奇偶检验程序以取得包含第一校验子的多个校验子,其中每一所述位是对应至所述校验子的至少其中之一;以及根据所述校验子判断所述位是否具有至少一错误。所述奇偶检验程序是根据奇偶检验矩阵所执行,并且所述奇偶检验矩阵包括多个限制(constraint),上述计算所述可靠度信息中符合查验条件的所述可靠度信息的总和的步骤包括:根据所述限制中对应于所述第一校验子的第一限制,从所述可靠度信息中决定符合所述查验条件的所述可靠度信息。In an exemplary embodiment of the present invention, the above-mentioned step of judging whether the bits have at least one error includes: performing a parity check procedure on the bits to obtain a plurality of syndromes including the first syndrome, each of which The bit is corresponding to at least one of the syndromes; and judging whether the bit has at least one error according to the syndrome. The parity check program is executed according to a parity check matrix, and the parity check matrix includes a plurality of constraints, and the above-mentioned step of calculating the sum of the reliability information that meets the check conditions in the reliability information includes: According to the first constraint corresponding to the first syndrome among the constraints, the reliability information meeting the checking condition is determined from the reliability information.
在本发明的一范例实施例中,上述第一限制包括多个元素,而根据所述第一限制从所述可靠度信息中决定符合所述查验条件的所述可靠度信息的步骤包括:根据所述元素中值是“1”的多个元素,从所述可靠度信息中决定符合所述查验条件的所述可靠度信息。In an exemplary embodiment of the present invention, the above-mentioned first restriction includes a plurality of elements, and the step of determining the reliability information meeting the inspection condition from the reliability information according to the first restriction includes: according to A plurality of elements whose value is "1" among the elements determines the reliability information that meets the verification condition from the reliability information.
在本发明的一范例实施例中,上述将所述总和加上所述平衡信息以获得对应于所述第一位与所述第一校验子的所述权重的步骤包括:将所述总和加上所述平衡信息以获得第一评估信息;以及将所述第一评估信息除以第二评估信息以获得对应于所述第一位与所述第一校验子的所述权重,其中所述第二评估信息是所述可靠度信息中对应于所述第一位的可靠度信息。In an exemplary embodiment of the present invention, the step of adding the sum to the balance information to obtain the weight corresponding to the first bit and the first syndrome includes: adding the sum adding the balance information to obtain first evaluation information; and dividing the first evaluation information by second evaluation information to obtain the weight corresponding to the first bit and the first syndrome, wherein The second evaluation information is reliability information corresponding to the first bit in the reliability information.
在本发明的一范例实施例中,上述解码方法,还包括:从符合所述查验条件的所述可靠度信息中选择对应于所述位中的第二位的可靠度信息,其中所述第二位相异于所述第一位;并且将对应于所述第二位的所述可靠度信息乘上调整因子以获得所述平衡信息。In an exemplary embodiment of the present invention, the above decoding method further includes: selecting reliability information corresponding to the second bit among the bits from the reliability information meeting the checking condition, wherein the second bit Two bits are different from the first bit; and multiplying the reliability information corresponding to the second bit by an adjustment factor to obtain the balance information.
本发明的一范例实施例提出一种用于控制可复写式非易失性存储器模块的存储器控制电路单元,其中可复写式非易失性存储器模块包括多个存储单元。此存储器控制电路单元包括主机接口、存储器接口、存储器管理电路以及差错校验电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块。存储器管理电路电性连接至主机接口与存储器接口,其中存储器管理电路用以发送读取指令序列,并且所述读取指令序列用以读取所述存储单元,以取得多个位。差错校验电路电性连接至所述存储器管理电路并且用以获得多个可靠度信息,其中每一可靠度信息对应于所述位的其中之一。在此,差错校验电路还用以计算所述可靠度信息中符合查验条件的多个可靠度信息的总和,并且将所述总和加上平衡信息以获得对应于所述位中的第一位与第一校验子的权重。此外,差错校验电路还用以判断所述位是否具有至少一错误,若所述位具有至少一错误,差错校验电路还用以根据所述权重执行迭代解码程序。An exemplary embodiment of the present invention provides a memory control circuit unit for controlling a rewritable nonvolatile memory module, wherein the rewritable nonvolatile memory module includes a plurality of storage units. The memory control circuit unit includes a host interface, a memory interface, a memory management circuit and an error checking circuit. The host interface is used to electrically connect to the host system. The memory interface is used for electrically connecting to the rewritable non-volatile memory module. The memory management circuit is electrically connected to the host interface and the memory interface, wherein the memory management circuit is used to send a read command sequence, and the read command sequence is used to read the storage unit to obtain a plurality of bits. The error checking circuit is electrically connected to the memory management circuit and used for obtaining a plurality of reliability information, wherein each reliability information corresponds to one of the bits. Here, the error checking circuit is also used to calculate the sum of a plurality of reliability information that meet the check condition in the reliability information, and add the sum to the balance information to obtain the first bit corresponding to the bit and the weight of the first syndrome. In addition, the error checking circuit is also used to determine whether the bit has at least one error, and if the bit has at least one error, the error checking circuit is also used to perform an iterative decoding process according to the weight.
在本发明的一范例实施例中,上述差错校验电路判断所述位是否具有至少一错误的操作包括:差错校验电路对所述位执行奇偶检验程序以取得包含所述第一校验子的多个校验子,其中每一所述位是对应至所述校验子的至少其中之一,以及根据所述校验子判断所述位是否具有至少一错误。所述奇偶检验程序是根据奇偶检验矩阵所执行,并且所述奇偶检验矩阵包括多个限制。上述差错校验电路计算所述可靠度信息中符合所述查验条件的所述可靠度信息的总和的操作包括:差错校验电路根据所述限制中对应于所述第一校验子的第一限制,从所述可靠度信息中决定符合所述查验条件的可靠度信息。In an exemplary embodiment of the present invention, the above-mentioned operation of the error checking circuit to determine whether the bit has at least one error includes: the error checking circuit performs a parity check procedure on the bit to obtain the first syndrome A plurality of syndromes, wherein each bit corresponds to at least one of the syndromes, and judging whether the bit has at least one error according to the syndrome. The parity check procedure is performed according to a parity check matrix, and the parity check matrix includes constraints. The above-mentioned operation of the error checking circuit to calculate the sum of the reliability information meeting the checking condition in the reliability information includes: the error checking circuit according to the first syndrome corresponding to the first syndrome in the restriction Restriction, determining the reliability information that meets the checking condition from the reliability information.
在本发明的一范例实施例中,上述第一限制包括多个元素,而差错校验电路根据所述第一限制从所述可靠度信息中决定符合所述查验条件的可靠度信息的操作包括:差错校验电路根据所述元素中值是“1”的多个元素,从所述可靠度信息中决定符合所述查验条件的可靠度信息。In an exemplary embodiment of the present invention, the above-mentioned first constraint includes a plurality of elements, and the operation of the error checking circuit to determine the reliability information that meets the checking condition from the reliability information according to the first constraint includes : The error checking circuit determines the reliability information meeting the checking condition from the reliability information according to the plurality of elements whose value is "1" among the elements.
在本发明的一范例实施例中,上述差错校验电路将所述总和加上所述平衡信息以获得对应于所述第一位与所述第一校验子的权重的操作包括:差错校验电路将所述总和加上所述平衡信息以获得第一评估信息,以及将所述第一评估信息除以第二评估信息以获得对应于所述第一位与所述第一校验子的权重,其中所述第二评估信息是所述可靠度信息中对应于所述第一位的可靠度信息。In an exemplary embodiment of the present invention, the operation of the error checking circuit adding the sum to the balance information to obtain the weight corresponding to the first bit and the first syndrome includes: error checking The verification circuit adds the sum to the balance information to obtain first evaluation information, and divides the first evaluation information by the second evaluation information to obtain the first syndrome corresponding to the first bit and the first syndrome , wherein the second evaluation information is the reliability information corresponding to the first bit in the reliability information.
在本发明的一范例实施例中,上述差错校验电路还用以从符合所述查验条件的所述可靠度信息中选择对应于所述位中的第二位的可靠度信息,其中所述第二位相异于所述第一位,并且差错校验电路还用以将对应于所述第二位的所述可靠度信息乘上调整因子以获得所述平衡信息。In an exemplary embodiment of the present invention, the above-mentioned error checking circuit is further configured to select the reliability information corresponding to the second bit among the bits from the reliability information meeting the checking condition, wherein the The second bit is different from the first bit, and the error checking circuit is further configured to multiply the reliability information corresponding to the second bit by an adjustment factor to obtain the balance information.
本发明的一范例实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。可复写式非易失性存储器模块包括多个存储单元。连接接口单元用以电性连接至主机系统。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块,并且用以发送读取指令序列,其中所述读取指令序列用以读取所述存储单元,以取得多个位。在此,存储器控制电路单元还用以获得多个可靠度信息,其中每一可靠度信息对应于所述位的其中之一。此外,存储器控制电路单元还用以计算所述可靠度信息中符合查验条件的多个可靠度信息的总和,并且将所述总和加上平衡信息以获得对应于所述位中的第一位与第一校验子的权重。存储器控制电路单元还用以判断所述位是否具有至少一错误,并且若所述位具有至少一错误,存储器控制电路单元还用以根据所述权重执行迭代解码程序。An exemplary embodiment of 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 rewritable non-volatile memory module includes a plurality of storage units. The connection interface unit is used to electrically connect to the host system. The memory control circuit unit is electrically connected to the connection interface unit and the rewritable non-volatile memory module, and is used to send a read command sequence, wherein the read command sequence is used to read the storage unit to obtain multiple ones. Here, the memory control circuit unit is also used to obtain a plurality of reliability information, wherein each reliability information corresponds to one of the bits. In addition, the memory control circuit unit is also used to calculate the sum of multiple pieces of reliability information that meet the checking conditions in the reliability information, and add the sum to balance information to obtain The weight of the first syndrome. The memory control circuit unit is also used for judging whether the bit has at least one error, and if the bit has at least one error, the memory control circuit unit is also used for performing an iterative decoding procedure according to the weight.
在本发明的一范例实施例中,上述存储器控制电路单元判断所述位是否具有至少一错误的操作包括:存储器控制电路单元对所述位执行奇偶检验程序以取得包含所述第一校验子的多个校验子,其中每一所述位是对应至所述校验子的至少其中之一;以及存储器控制电路单元根据所述校验子判断所述位是否具有至少一错误。所述奇偶检验程序是根据奇偶检验矩阵所执行,并且所述奇偶检验矩阵包括多个限制。上述存储器控制电路单元计算所述可靠度信息中符合所述查验条件的所述可靠度信息的总和的操作包括:存储器控制电路单元根据所述限制中对应于所述第一校验子的第一限制,从所述可靠度信息中决定符合所述查验条件的可靠度信息。In an exemplary embodiment of the present invention, the memory control circuit unit judging whether the bit has at least one error includes: the memory control circuit unit performs a parity check procedure on the bit to obtain the first syndrome a plurality of syndromes, wherein each bit corresponds to at least one of the syndromes; and the memory control circuit unit judges whether the bit has at least one error according to the syndrome. The parity check procedure is performed according to a parity check matrix, and the parity check matrix includes constraints. The above-mentioned operation of the memory control circuit unit calculating the sum of the reliability information that meets the check condition in the reliability information includes: the memory control circuit unit calculates the sum of the reliability information corresponding to the first syndrome in the restriction according to the first Restriction, determining the reliability information that meets the checking condition from the reliability information.
在本发明的一范例实施例中,上述第一限制包括多个元素,而存储器控制电路单元根据所述第一限制从所述可靠度信息中决定符合所述查验条件的所述可靠度信息的操作包括:存储器控制电路单元根据所述元素中值是“1”的多个元素,从所述可靠度信息中决定符合所述查验条件的可靠度信息。In an exemplary embodiment of the present invention, the above-mentioned first restriction includes a plurality of elements, and the memory control circuit unit determines from the reliability information according to the first restriction the reliability information that meets the checking condition. The operation includes: the memory control circuit unit determines the reliability information meeting the check condition from the reliability information according to a plurality of elements whose value is "1" among the elements.
在本发明的一范例实施例中,上述存储器控制电路单元将所述总和加上所述平衡信息以获得对应于所述第一位与所述第一校验子的权重的操作包括:存储器控制电路单元将所述总和加上所述平衡信息以获得第一评估信息;以及存储器控制电路单元将所述第一评估信息除以一第二评估信息以获得对应于所述第一位与所述第一校验子的权重,其中所述第二评估信息是所述可靠度信息中对应于所述第一位的可靠度信息。In an exemplary embodiment of the present invention, the operation of the memory control circuit unit adding the sum to the balance information to obtain the weight corresponding to the first bit and the first syndrome includes: memory control The circuit unit adds the sum to the balance information to obtain first evaluation information; and the memory control circuit unit divides the first evaluation information by a second evaluation information to obtain a value corresponding to the first bit and the The weight of the first syndrome, wherein the second evaluation information is the reliability information corresponding to the first bit in the reliability information.
在本发明的一范例实施例中,上述存储器控制电路单元还用以从符合所述查验条件的所述可靠度信息中选择对应于所述位中的第二位的可靠度信息,其中所述第二位相异于所述第一位。存储器控制电路单元还用以将对应于所述第二位的所述可靠度信息乘上调整因子以获得所述平衡信息。In an exemplary embodiment of the present invention, the memory control circuit unit is further configured to select the reliability information corresponding to the second bit among the bits from the reliability information meeting the check condition, wherein the The second bit is different from the first bit. The memory control circuit unit is further configured to multiply the reliability information corresponding to the second bit by an adjustment factor to obtain the balance information.
在本发明的一范例实施例中,上述对应于所述第二位的所述可靠度信息的值是符合所述查验条件的所述可靠度信息的值中最小的。In an exemplary embodiment of the present invention, the value of the reliability information corresponding to the second bit is the smallest among the values of the reliability information meeting the checking condition.
在本发明的一范例实施例中,上述对应于所述第二位的所述可靠度信息的值在符合所述查验条件的所述可靠度信息中仅大于所述第一位所对应的可靠度信息的值。In an exemplary embodiment of the present invention, the value of the reliability information corresponding to the second bit is only larger than the reliability information corresponding to the first bit in the reliability information that meets the checking condition. The value of the degree information.
在本发明的一范例实施例中,上述平衡信息的值是正相关(positivecorrelation)于所述第一校验子在奇偶检验矩阵中所对应的第一限制的列权重。In an exemplary embodiment of the present invention, the value of the balance information is positively correlated with the first restricted column weight corresponding to the first syndrome in the parity check matrix.
基于上述,当从可复写式非易失性存储器模块中读取的位存在错误时,本发明的一范例实施例可以根据对应于各个位的权重值计算校验权重信息,并由此决定要更新哪些位。特别是,本发明范例实施例提出的解码方法、存储器控制电路单元与存储器存储装置是在每一限制中根据对应于每一个位的整体的可靠度信息、非对应于目前所计算的位的可靠度信息中的最小值以及对应于目前所计算的位的可靠度信息来计算出每一位的权重值。基此,可有效地增加解码的更正能力。Based on the above, when there is an error in the bit read from the rewritable non-volatile memory module, an exemplary embodiment of the present invention can calculate the verification weight information according to the weight value corresponding to each bit, and thus determine the which bits to update. In particular, the decoding method, the memory control circuit unit and the memory storage device proposed by the exemplary embodiments of the present invention are based on the overall reliability information corresponding to each bit in each constraint, not corresponding to the reliability of the bit currently calculated. The weight value of each bit is calculated using the minimum value in the degree information and the reliability information corresponding to the currently calculated bit. Based on this, the correction capability of decoding can be effectively increased.
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。In order to make the above-mentioned features and advantages of the present invention more comprehensible, the following specific embodiments are described in detail with reference to the accompanying drawings.
附图说明Description of drawings
图1是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的范例示意图;FIG. 1 is an exemplary schematic diagram of a host system and a memory storage device according to an exemplary embodiment of the present invention;
图2是根据本发明的一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的范例示意图;FIG. 2 is an exemplary schematic diagram of a computer, an input/output device and a memory storage device according to an exemplary embodiment of the present invention;
图3是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的范例示意图;FIG. 3 is an exemplary schematic diagram of a host system and a memory storage device according to an exemplary embodiment of the present invention;
图4是示出图1所示的存储器存储装置的概要方块图;FIG. 4 is a schematic block diagram showing the memory storage device shown in FIG. 1;
图5是根据本发明的一范例实施例所示出的可复写式非易失性存储器模块的概要方块图;FIG. 5 is a schematic block diagram of a rewritable non-volatile memory module according to an exemplary embodiment of the present invention;
图6是根据本发明的一范例实施例所示出的存储单元阵列的范例示意图;FIG. 6 is an exemplary schematic diagram of a memory cell array according to an exemplary embodiment of the present invention;
图7是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图;FIG. 7 is an exemplary schematic diagram of managing a rewritable non-volatile memory module according to an exemplary embodiment of the present invention;
图8是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;FIG. 8 is a schematic block diagram of a memory control circuit unit according to an exemplary embodiment of the present invention;
图9是根据本发明的一范例实施例所示出的奇偶检验矩阵的范例示意图;FIG. 9 is an example schematic diagram of a parity check matrix shown according to an example embodiment of the present invention;
图10是根据本发明的一范例实施例所示出的SLC型快闪存储器模块的临界电压分布的范例示意图;FIG. 10 is an exemplary schematic diagram of a threshold voltage distribution of an SLC flash memory module according to an exemplary embodiment of the present invention;
图11是根据本发明的一范例实施例所示出的矩阵相乘的范例示意图;Fig. 11 is an exemplary schematic diagram of matrix multiplication shown according to an exemplary embodiment of the present invention;
图12是根据本发明的一范例实施例所示出的权重矩阵的范例示意图;Fig. 12 is an exemplary schematic diagram of a weight matrix shown according to an exemplary embodiment of the present invention;
图13是根据本发明的一范例实施例所示出的码字、可靠度信息、奇偶检验矩阵与校验子之间的对应关系的范例示意图;Fig. 13 is a schematic diagram showing an example of the corresponding relationship between codewords, reliability information, parity check matrix and syndrome according to an example embodiment of the present invention;
图14是根据本发明的一范例实施例所示出的计算出的权重的范例示意图;Fig. 14 is an exemplary schematic diagram of calculated weights according to an exemplary embodiment of the present invention;
图15是根据本发明的一范例实施例所示出的矩阵相乘的范例示意图;Fig. 15 is an example schematic diagram of matrix multiplication shown according to an example embodiment of the present invention;
图16是根据本发明的一范例实施例所示出的校验权重信息的范例示意图;Fig. 16 is an exemplary schematic diagram of verification weight information according to an exemplary embodiment of the present invention;
图17是根据本发明的一范例实施例所示出的解码方法的流程图。Fig. 17 is a flowchart of a decoding method according to an exemplary embodiment of the present invention.
附图标记说明:Explanation of reference signs:
1000:主机系统;1000: host system;
1100:电脑;1100: computer;
1102:微处理器;1102: microprocessor;
1104:随机存取存储器;1104: random access memory;
1106:输入/输出装置;1106: input/output device;
1108:系统总线;1108: system bus;
1110:数据传输接口;1110: data transmission interface;
1202:鼠标;1202: mouse;
1204:键盘;1204: keyboard;
1206:显示器;1206: display;
1208:打印机;1208: printer;
1212:U盘;1212: U disk;
1214:存储卡;1214: memory card;
1216:固态硬盘;1216: SSD;
1310:数码相机;1310: digital camera;
1312:SD卡;1312: SD card;
1314:MMC卡;1314: MMC card;
1316:记忆棒;1316: memory stick;
1318:CF卡;1318: CF card;
1320:嵌入式存储装置;1320: embedded storage device;
100:存储器存储装置;100: memory storage device;
102:连接接口单元;102: connect the interface unit;
104:存储器控制电路单元;104: memory control circuit unit;
106:可复写式非易失性存储器模块;106: a rewritable non-volatile memory module;
2202:存储单元阵列;2202: memory cell array;
2204:字符线控制电路;2204: character line control circuit;
2206:位线控制电路;2206: bit line control circuit;
2208:行解码器;2208: row decoder;
2210:数据输入/输出缓冲器;2210: data input/output buffer;
2212:控制电路;2212: control circuit;
702:存储单元;702: storage unit;
704:位线;704: bit line;
706:字符线;706: character line;
708:共用源极线;708: sharing the source line;
712、714:晶体管;712, 714: transistors;
400(0)~400(N):实体程序化单元;400(0)~400(N): Entity programming unit;
202:存储器管理电路;202: memory management circuit;
204:主机接口;204: host interface;
206:存储器接口;206: memory interface;
208:差错校验电路;208: error checking circuit;
210:缓冲存储器;210: buffer memory;
212:电源管理电路;212: power management circuit;
900:奇偶检验矩阵;900: parity check matrix;
1010、1020:分布;1010, 1020: distribution;
1001:读取电压;1001: read voltage;
1030:重叠区域;1030: overlapping area;
1101:码字;1101: code word;
1103:可靠度信息向量;1103: reliability information vector;
1105:校验向量;1105: check vector;
1200:权重矩阵;1200: weight matrix;
S1701、S1703、S1705、S1707、S1709、S1711、S1713:解码方法的步骤。S1701, S1703, S1705, S1707, S1709, S1711, S1713: steps of the decoding method.
具体实施方式detailed description
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。Generally speaking, a memory storage device (also called a memory storage system) includes a rewritable non-volatile memory module and a controller (also called a control circuit). Typically memory storage devices are used with a host system such that the host system can write data to or read data from the memory storage device.
图1是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的范例示意图。图2是根据本发明的一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的范例示意图。FIG. 1 is an exemplary schematic diagram of a host system and a memory storage device according to an exemplary embodiment of the present invention. FIG. 2 is an exemplary schematic diagram of a computer, an input/output device and a memory storage device according to an exemplary embodiment of the present invention.
请参照图1,主机系统1000一般包括电脑1100与输入/输出(input/output;简称I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(randomaccessmemory;简称RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。Referring to FIG. 1 , the host system 1000 generally includes a computer 1100 and an input/output (input/output; I/O for short) device 1106 . The computer 1100 includes a microprocessor 1102 , a random access memory (random access memory; RAM for short) 1104 , a system bus 1108 and a data transmission interface 1110 . The input/output device 1106 includes a mouse 1202 , a keyboard 1204 , a monitor 1206 and a printer 1208 as shown in FIG. 2 . It must be understood that the device shown in FIG. 2 is not limited to the input/output device 1106, and the input/output device 1106 may also include other devices.
在一范例实施例中,存储器存储装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图2所示的U盘1212、存储卡1214或固态硬盘(SolidStateDrive;简称SSD)1216等的可复写式非易失性存储器存储装置。In an exemplary embodiment, the memory storage device 100 is electrically connected with other components of the host system 1000 through the data transmission interface 1110 . Data can be written into or read from the memory storage device 100 through the operation of the microprocessor 1102 , the random access memory 1104 and the input/output device 1106 . For example, the memory storage device 100 may be a rewritable non-volatile memory storage device such as a USB disk 1212 , a memory card 1214 or a solid state drive (Solid State Drive; SSD for short) 1216 as shown in FIG. 2 .
图3是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的范例示意图。FIG. 3 is an exemplary schematic diagram of a host system and a memory storage device according to an exemplary embodiment of the present invention.
一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,另一范例实施例中,主机系统1000可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄影机)1310时,可复写式非易失性存储器存储装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memorystick)1316、CF卡1318或嵌入式存储装置1320(如图3所示)。嵌入式存储装置1320包括嵌入式多媒体卡(EmbeddedMMC;简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。In general, host system 1000 is any system that can cooperate substantially with memory storage device 100 to store data. Although in this exemplary embodiment, the host system 1000 is described as a computer system, however, in another exemplary embodiment, the host system 1000 may be a system such as a digital camera, a video camera, a communication device, an audio player, or a video player. . For example, when the host system is a digital camera (video camera) 1310, the rewritable non-volatile memory storage device is an SD card 1312, an MMC card 1314, a memory stick (memorystick) 1316, a CF card 1318 or an embedded Formula storage device 1320 (as shown in FIG. 3 ). The embedded storage device 1320 includes an embedded multimedia card (EmbeddedMMC; eMMC for short). It is worth mentioning that the embedded multimedia card is directly electrically connected to the substrate of the host system.
图4是示出图1所示的存储器存储装置的概要方块图。FIG. 4 is a schematic block diagram showing the memory storage device shown in FIG. 1 .
请参照图4,存储器存储装置100包括连接接口单元102、存储器控制电路单元104与可复写式非易失性存储器模块106。Referring to FIG. 4 , the memory storage device 100 includes a connection interface unit 102 , a memory control circuit unit 104 and a rewritable non-volatile memory module 106 .
在本范例实施例中,连接接口单元102是相容于串行高级技术附件(SerialAdvancedTechnologyAttachment;简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102也可以是符合并行高级技术附件(ParallelAdvancedTechnologyAttachment;简称PATA)标准、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers;简称IEEE)1394标准、高速周边零件连接接口(PeripheralComponentInterconnectExpress;简称PCIExpress)标准、通用串行总线(UniversalSerialBus;简称USB)标准、安全数字(SecureDigital;简称SD)接口标准、超高速一代(UltraHighSpeed-I;简称UHS-I)接口标准、超高速二代(UltraHighSpeed-II;简称UHS-II)接口标准、记忆棒(MemoryStick;简称MS)接口标准、多媒体存储卡(MultiMediaCard;简称MMC)接口标准、嵌入式多媒体存储卡(EmbeddedMultimediaCard;简称eMMC)接口标准、通用快闪存储器(UniversalFlashStorage;简称UFS)接口标准、小型快闪(CompactFlash;简称CF)接口标准、集成电路设备接口(IntegratedDeviceElectronics;简称IDE)标准或其他适合的标准。连接接口单元102可与存储器控制电路单元104封装在一个芯片中,或者连接接口单元102是布设于一包含存储器控制电路单元104的芯片外。In this exemplary embodiment, the connection interface unit 102 is compatible with the Serial Advanced Technology Attachment (Serial Advanced Technology Attachment, referred to as SATA) standard. However, it must be understood that the present invention is not limited thereto, and the connection interface unit 102 may also be a high-speed peripheral component conforming to the Parallel Advanced Technology Attachment (Parallel Advanced Technology Attachment; PATA) standard, the Institute of Electrical and Electronic Engineers (Institute of Electrical and Electronic Engineers; IEEE) 1394 standard Connection interface (Peripheral Component Interconnect Express; PCIExpress for short) standard, Universal Serial Bus (Universal Serial Bus; USB for short) standard, Secure Digital (Secure Digital; SD for short) interface standard, Ultra High Speed-I (UHS-I for short) UltraHighSpeed-II (UHS-II for short) interface standard, Memory Stick (MemoryStick; MS for short) interface standard, MultiMediaCard (MMC for short) interface standard, EmbeddedMultimediaCard (eMMC for short) Interface standard, Universal Flash Storage (UFS for short) interface standard, Compact Flash (CF for short) interface standard, Integrated Device Electronics (IDE for short) standard or other suitable standards. The connection interface unit 102 can be packaged with the memory control circuit unit 104 in one chip, or the connection interface unit 102 can be arranged outside a chip including the memory control circuit unit 104 .
存储器控制电路单元104用以执行以硬件形式或固件形式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。The memory control circuit unit 104 is used to execute a plurality of logic gates or control instructions implemented in the form of hardware or firmware, and write data in the rewritable non-volatile memory module 106 according to the instructions of the host system 1000, Operations such as reading and erasing.
可复写式非易失性存储器模块106是电性连接至存储器控制电路单元104,并且用以存储主机系统1000所写入的数据。可复写式非易失性存储器模块106可以是单阶存储单元(SingleLevelCell;简称SLC)NAND型快闪存储器模块、多阶存储单元(MultiLevelCell;简称MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个位数据的快闪存储器模块)、复数阶存储单元(TripleLevelCell;简称TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个位数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。The rewritable non-volatile memory module 106 is electrically connected to the memory control circuit unit 104 and used for storing data written by the host system 1000 . The rewritable non-volatile memory module 106 can be a single-level storage unit (SingleLevelCell; referred to as SLC) NAND flash memory module, a multi-level storage unit (MultiLevelCell; referred to as MLC) NAND flash memory module (that is, a memory A flash memory module that can store 2 bits of data in a cell), a multiple-level storage unit (TripleLevelCell; TLC for short) NAND flash memory module (that is, a flash memory module that can store 3 bits of data in a storage unit) , other flash memory modules or other memory modules with the same characteristics.
图5是根据本发明的一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。图6是根据本发明的一范例实施例所示出的存储单元阵列的范例示意图。FIG. 5 is a schematic block diagram of a rewritable non-volatile memory module according to an exemplary embodiment of the present invention. FIG. 6 is an exemplary schematic diagram of a memory cell array according to an exemplary embodiment of the present invention.
请参照图5,可复写式非易失性存储器模块106包括存储单元阵列2202、字符线控制电路2204、位线控制电路2206、行解码器(columndecoder)2208、数据输入/输出缓冲器2210与控制电路2212。Please refer to Fig. 5, rewritable non-volatile memory module 106 includes memory cell array 2202, word line control circuit 2204, bit line control circuit 2206, row decoder (columndecoder) 2208, data input/output buffer 2210 and control circuit 2212.
在本范例实施例中,存储单元阵列2202可包括用以存储数据的多个存储单元702、多个选择栅漏极(selectgatedrain;简称SGD)晶体管712与多个选择栅源极(selectgatesource;简称SGS)晶体管714、以及连接此些存储单元的多条位线704、多条字符线706、与共用源极线708(如图6所示)。存储单元702是以阵列方式(或立体堆叠的方式)配置在位线704与字符线706的交叉点上。当从存储器控制电路单元104接收到写入指令或读取指令时,控制电路2212会控制字符线控制电路2204、位线控制电路2206、行解码器2208、数据输入/输出缓冲器2210来写入数据至存储单元阵列2202或从存储单元阵列2202中读取数据,其中字符线控制电路2204用以控制施予至字符线706的电压,位线控制电路2206用以控制施予至位线704的电压,行解码器2208依据指令中的列位址以选择对应的位线,并且数据输入/输出缓冲器2210用以暂存数据。In this exemplary embodiment, the memory cell array 2202 may include a plurality of memory cells 702 for storing data, a plurality of select gate drain (SGD for short) transistors 712 and a plurality of select gate source (SGS for short) ) transistor 714, and a plurality of bit lines 704, a plurality of word lines 706, and a common source line 708 (as shown in FIG. 6 ) connected to these memory cells. The memory cells 702 are arranged in an array (or three-dimensionally stacked) at intersections of the bit lines 704 and the word lines 706 . When receiving a write instruction or a read instruction from the memory control circuit unit 104, 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 Data is sent to the memory cell array 2202 or read from the memory cell array 2202, wherein the word line control circuit 2204 is used to control the voltage given to the word line 706, and the bit line control circuit 2206 is used to control the voltage given to the bit line 704 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.
可复写式非易失性存储器模块106中的每一个存储单元是以临界电压的改变来存储一或多个位。具体来说,每一个存储单元的控制栅极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷捕捉层的电子量,因而改变了存储单元的临界电压。此改变临界电压的程序也称为”把数据写入至存储单元”或”程序化存储单元”。随着临界电压的改变,存储单元阵列2202的每一个存储单元具有多个存储状态。并且通过读取电压可以判断存储单元是属于哪一个存储状态,藉此取得存储单元所存储的一或多个位。Each memory cell in the rewritable non-volatile memory module 106 stores one or more bits by changing the threshold voltage. Specifically, there is a charge trapping layer between the 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". Each memory cell of the memory cell array 2202 has multiple memory states as the threshold voltage changes. And by reading the voltage, it can be judged which storage state the memory cell belongs to, so as to obtain one or more bits stored in the memory cell.
图7是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图。FIG. 7 is an exemplary schematic diagram of managing a rewritable non-volatile memory module according to an exemplary embodiment of the present invention.
请参照图7,可复写式非易失性存储器模块106的存储单元702会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元400(0)~400(N)。具体来说,同一条字符线上的存储单元会组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的位,则同一条字符线上的实体程序化单元可被分类为下实体程序化单元与上实体程序化单元。例如,每一存储单元的LSB是属于下实体程序化单元,并且每一存储单元的MSB是属于上实体程序化单元。一般来说,在MLCNAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。在此范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面或是实体扇(sector)。若实体程序化单元为实体页面,则每一个实体程序化单元通常包括数据位区与冗余位区。数据位区包含多个实体扇,用以存储使用者的数据,而冗余位区用以存储系统的数据(例如,纠错码)。在本范例实施例中,每一个数据位区包含32个实体扇,且一个实体扇的大小为512位组(byte;简称B)。然而,在其他范例实施例中,数据位区中也可包含8个、16个或数目更多或更少的实体扇,本发明并不限制实体扇的大小以及个数。另一方面,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体区块。Please refer to FIG. 7, the storage unit 702 of the rewritable non-volatile memory module 106 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, storage units on the same word line form one or more physical programming units. If each storage unit can store more than 2 bits, the physical programming units on the same word 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. Generally speaking, in MLCNAND flash memory, the writing speed of the lower physical programming unit will be greater than the writing speed of the upper physical programming unit, or the reliability of the lower physical programming unit is higher than that of the upper physical programming unit reliability. 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 for short). 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.
图8是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。FIG. 8 is a schematic block diagram of a memory control circuit unit according to an exemplary embodiment of the present invention.
请参照图8,存储器控制电路单元104包括存储器管理电路202、主机接口204、存储器接口206及差错校验电路208。Please refer to FIG. 8 , the memory control circuit unit 104 includes a memory management circuit 202 , a host interface 204 , a memory interface 206 and an error checking circuit 208 .
存储器管理电路202用以控制存储器控制电路单元104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路202的操作时,等同于说明存储器控制电路单元104的操作,以下并不再赘述。The memory management circuit 202 is used to control the overall operation of the memory control circuit unit 104 . Specifically, the memory management circuit 202 has a plurality of control instructions, and when the memory storage device 100 is operating, these control instructions are executed to perform operations such as writing, reading, and erasing data. The following description of the operation of the memory management circuit 202 is equivalent to the description of the operation of the memory control circuit unit 104 , which will not be repeated below.
在本范例实施例中,存储器管理电路202的控制指令是以固件形式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。In this exemplary embodiment, the control commands of the memory management circuit 202 are implemented in the form of firmware. For example, the memory management circuit 202 has a microprocessor unit (not shown) and a read-only memory (not shown), and these control instructions are burned into the read-only memory. When the memory storage device 100 is in operation, these control instructions will be executed by the microprocessor unit to perform operations such as writing, reading and erasing data.
在另一范例实施例中,存储器管理电路202的控制指令也可以程序码形式存储于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(bootcode),并且当存储器控制电路单元104被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。In another exemplary embodiment, the control instructions of the memory management circuit 202 can also be stored in a specific area of the rewritable non-volatile memory module 106 in the form of program code (for example, a system area in the memory module dedicated to storing system data) middle. In addition, the memory management circuit 202 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 (bootcode), and when the memory control circuit unit 104 is enabled, the microprocessor unit will first execute the boot code to store the boot code in the rewritable non-volatile memory module 106. The control instructions in are loaded into the random access memory of the memory management circuit 202 . Afterwards, the microprocessor unit will execute these control instructions to perform operations such as writing, reading and erasing data.
此外,在另一范例实施例中,存储器管理电路202的控制指令也可以一硬件形式来实作。例如,存储器管理电路202包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块106的实体抹除单元;存储器写入单元用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取单元用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除单元用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。In addition, in another exemplary embodiment, the control instructions of the memory management circuit 202 may also be implemented in a hardware form. For example, the memory management circuit 202 includes a microcontroller, a memory management unit, a memory writing unit, a memory reading unit, a memory erasing unit and a data processing unit. The memory management unit, the memory writing unit, the memory reading unit, the memory erasing unit and the data processing unit are electrically connected to the microcontroller. Wherein, the memory management unit is used to manage the physical erasing unit of the rewritable non-volatile memory module 106; the memory write unit is used to issue a write command to the rewritable non-volatile memory module 106 to write data To the rewritable non-volatile memory module 106; the memory read unit is used to issue a read instruction to the rewritable non-volatile memory module 106 to read data from the rewritable non-volatile memory module 106 ; The memory erasing unit is used to issue an erase command to the rewritable non-volatile memory module 106 to erase data from the rewritable non-volatile memory module 106; and the data processing unit is used to process the write-in Data to the rewritable nonvolatile memory module 106 and data read from the rewritable nonvolatile memory module 106 .
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204也可以是相容于PATA标准、IEEE1394标准、PCIExpress标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。The host interface 204 is electrically connected to the memory management circuit 202 and used for receiving and identifying commands and data transmitted by the host system 1000 . That is to say, the commands and data transmitted by the host system 1000 are transmitted to the memory management circuit 202 through the host interface 204 . In this exemplary embodiment, the host interface 204 is compatible with the SATA standard. However, it must be understood that the present invention is not limited thereto, and the host interface 204 may also be compatible with PATA standard, IEEE1394 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.
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。The memory interface 206 is electrically connected to the memory management circuit 202 and used for accessing the rewritable non-volatile memory module 106 . That is to say, the data to be written into the rewritable nonvolatile memory module 106 will be converted into a format acceptable to the rewritable nonvolatile memory module 106 via the memory interface 206 .
差错校验电路208是电性连接至存储器管理电路202并且用以执行差错校验程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,差错校验电路208会为对应此写入指令的数据产生对应的纠错码(errorcorrectingcode;简称ECC)及/或检错码(errordetectingcode;简称EDC),并且存储器管理电路202会将对应此写入指令的数据与对应的纠错码或检错码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的纠错码或检错码,并且差错校验电路208会依据此纠错码或检错码对所读取的数据执行差错校验程序。The error checking circuit 208 is electrically connected to the memory management circuit 202 and used for executing an error checking program to ensure the correctness of data. Specifically, when the memory management circuit 202 receives a write command from the host system 1000, the error checking circuit 208 generates a corresponding error correcting code (ECC) and/or for the data corresponding to the write command. error detecting code (EDC for short), and the memory management circuit 202 writes the data corresponding to the write command and the corresponding error correction code or error detection code into the rewritable non-volatile memory module 106 . Afterwards, when the memory management circuit 202 reads data from the rewritable non-volatile memory module 106, it will simultaneously read the error correction code or error detection code corresponding to the data, and the error check circuit 208 will correct the error based on this code or error detection code to perform an error checking procedure on the read data.
在一范例实施例中,存储器控制电路单元104还包括缓冲存储器210与电源管理电路212。In an exemplary embodiment, the memory control circuit unit 104 further includes a buffer memory 210 and a power management circuit 212 .
缓冲存储器210是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。The buffer memory 210 is electrically connected to the memory management circuit 202 and used for temporarily storing data and instructions from the host system 1000 or data from the rewritable non-volatile memory module 106 .
电源管理电路212是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。The power management circuit 212 is electrically connected to the memory management circuit 202 and used for controlling the power of the memory storage device 100 .
在此范例实施例中,差错校验电路208所使用的是低密度奇偶校验码(lowdensityparitycode;简称LDPC)。然而,在另一范例实施例中,差错校验电路208所使用的也可以是BCH码、回旋码(convolutionalcode)、涡轮码(turbocode),但不限于此。In this exemplary embodiment, the error checking circuit 208 uses a low density parity code (LDPC for short). However, in another exemplary embodiment, the error checking circuit 208 may also use a BCH code, a convolutional code, or a turbo code, but is not limited thereto.
在此范例实施例中,差错校验电路208会根据一个低密度奇偶检查演算法来编码与解码。在低密度奇偶检查校正码中,是用一个奇偶检验矩阵来定义有效的码字。以下将奇偶检验矩阵标记为矩阵H,并且一码字标记为CW。依照以下方程式(1),若奇偶检验矩阵H与码字CW的相乘是零向量,表示码字CW为有效的码字。其中运算子表示模2(mod2)的矩阵相乘。换句话说,矩阵H的零空间(nullspace)便包含了所有的有效码字。然而,本发明并不限制码字CW的内容。例如,码字CW也可以包括用任意演算法所产生的纠错码或是检错码。In this exemplary embodiment, the error checking circuit 208 performs encoding and decoding according to a low density parity checking algorithm. In low-density parity-check correction codes, a parity-check matrix is used to define effective codewords. In the following, the parity check matrix is denoted as matrix H, and a codeword is denoted as CW. According to the following equation (1), if the multiplication of the parity check matrix H and the codeword CW is a zero vector, it means that the codeword CW is a valid codeword. where operator Represents matrix multiplication modulo 2 (mod2). In other words, the null space of matrix H contains all valid codewords. However, the invention does not limit the content of the codeword CW. For example, the codeword CW may also include an error-correcting code or an error-detecting code generated by any algorithm.
其中矩阵H的维度是m-乘-n(m-by-n),码字CW的维度是1-乘-n。m与n为正整数。码字CW中包括了信息位与奇偶位,即码字CW可以表示成[MP],其中向量M是由信息位所组成,向量P是由奇偶位所组成。向量M的维度是1-乘-(n-m),而向量P的维度是1-乘-m。以下将信息位与奇偶位统称为数据位。换句话说,码字CW中具有n个数据位,其中信息位的长度为(n-m)位,并且奇偶位的长度是m位,即码字CW的码率(coderate)为(n-m)/n。The dimension of the matrix H is m-by-n (m-by-n), and the dimension of the codeword CW is 1-by-n. m and n are positive integers. The codeword CW includes information bits and parity bits, that is, the codeword CW can be expressed as [MP], where the vector M is composed of information bits, and the vector P is composed of parity bits. The dimension of the vector M is 1-by-(n-m), and the dimension of the vector P is 1-by-m. Hereinafter, information bits and parity bits are collectively referred to as data bits. In other words, there are n data bits in the code word CW, wherein the length of the information bit is (n-m) bits, and the length of the parity bit is m bits, that is, the code rate (coderate) of the code word CW is (n-m)/n .
一般来说在编码时会使用一个产生矩阵(以下标记为G),使得对于任意的向量M都可满足以下方程序(2)。其中产生矩阵G的维度是(n-m)-乘-n。Generally, a generator matrix (marked as G below) is used during encoding, so that the following procedure (2) can be satisfied for any vector M. The dimension of the generated matrix G is (n-m)-by-n.
由方程式(2)所产生的码字CW为有效的码字。因此可将方程式(2)代入方程序(1),藉此得到以下方程序(3)。The codeword CW generated by equation (2) is a valid codeword. Therefore, equation (2) can be substituted into equation (1), thereby obtaining the following equation (3).
由于向量M可以是任意的向量,因此以下方程式(4)必定会满足。也就是说,在决定奇偶检验矩阵H以后,对应的产生矩阵G也可被决定。Since the vector M can be any vector, the following equation (4) must be satisfied. That is to say, after the parity check matrix H is determined, the corresponding generation matrix G can also be determined.
在解码一个码字CW时,会先对码字中的数据位执行一个奇偶检验程序,例如将奇偶检验矩阵H与码字CW相乘以产生一个向量(以下标记为S,如以下方程式(5)所示)。若向量S是零向量,则可直接输出码字CW。若向量S不是零向量,则表示码字CW不是有效的码字。When decoding a codeword CW, a parity check procedure will be performed on the data bits in the codeword first, such as multiplying the parity check matrix H with the codeword CW to generate a vector (marked as S below, such as the following equation (5 ) shown). If the vector S is a zero vector, the codeword CW can be output directly. If the vector S is not a zero vector, it means that the codeword CW is not a valid codeword.
向量S的维度是m-乘-1,其中每一个元素也称为校验子(syndrome)。若码字CW不是有效的码字,则差错校验电路208会执行一个解码程序,以尝试更正码字CW中的错误位。在一范例实施例中,差错校验电路208所执行的解码程序为一迭代(iteration)解码程序。也就是说,解码的程序会不断的重复执行,直到成功的解出码字或执行次数到达一预定阈值为止。The dimension of the vector S is m-by-1, and each element is also called a syndrome. If the codeword CW is not a valid codeword, the error checking circuit 208 performs a decoding process to try to correct the erroneous bits in the codeword CW. In an exemplary embodiment, the decoding process performed by the error checking circuit 208 is an iteration decoding process. That is to say, the decoding procedure will be repeatedly executed until the codeword is successfully decoded or the number of times of execution reaches a predetermined threshold.
图9是根据本发明的一范例实施例所示出的奇偶检验矩阵的范例示意图。FIG. 9 is an exemplary schematic diagram of a parity check matrix according to an exemplary embodiment of the present invention.
请参照图9,奇偶检验矩阵900的维度是4-乘-9,但本发明并不限制正整数m与n为多少。奇偶检验矩阵900的每一列(row)也代表了一限制(constraint)。例如,奇偶检验矩阵900的第一列至第四列分别代表第一限制至第四限制。奇偶检验矩阵900中的每一限制包括多个元素。以奇偶检验矩阵900的第一个列(即,第一限制)为例,若某一个码字是有效码字(validcodeword),则将此码字中第1、2、3与第4个位做模2(modulo-2)的加法之后,会得到位“0”。在此领域有通常知识者应能理解如何用奇偶检验矩阵900来编码,在此便不再赘述。此外,奇偶检验矩阵900仅为一个范例矩阵,而非用以限制本发明。Referring to FIG. 9 , the dimension of the parity check matrix 900 is 4-by-9, but the present invention does not limit the positive integers m and n. Each row of the parity check matrix 900 also represents a constraint. For example, the first to fourth columns of the parity check matrix 900 respectively represent the first to fourth constraints. Each constraint in parity check matrix 900 includes a plurality of elements. Taking the first column (i.e., the first limit) of the parity check matrix 900 as an example, if a certain codeword is a valid codeword (validcodeword), then the 1st, 2nd, 3rd and 4th bits in the codeword After doing the addition modulo 2 (modulo-2), the bit "0" is obtained. A person with ordinary knowledge in this field should be able to understand how to use the parity check matrix 900 for encoding, so details will not be repeated here. In addition, the parity check matrix 900 is just an exemplary matrix, and is not intended to limit the present invention.
当存储器管理电路202要将多个位写入至可复写式非易失性存储器模块106时,差错校验电路208会对每(n-m)个欲被写入的位(即,信息位)都产生对应的m个奇偶位。接下来,存储器管理电路202会把这n个位作为一个码字写入至可复写式非易失性存储器模块106。When the memory management circuit 202 is going to write multiple bits into the rewritable non-volatile memory module 106, the error checking circuit 208 will check every (n-m) bits to be written (ie, information bits) Generate the corresponding m parity bits. Next, the memory management circuit 202 writes the n bits into the rewritable non-volatile memory module 106 as a code word.
图10是根据本发明的一范例实施例所示出的SLC型快闪存储器模块的临界电压分布的范例示意图。FIG. 10 is a schematic diagram illustrating an exemplary threshold voltage distribution of an SLC flash memory module according to an exemplary embodiment of the present invention.
请参照图10,横轴代表存储单元的临界电压,而纵轴代表存储单元个数。例如,图10是表示一个实体程序化单元中各个存储单元的临界电压。在此假设当某一个存储单元的临界电压是落在分布1010时,此存储单元所存储的是位“1”;相反地,若某一个存储单元的临界电压是落在分布1020时,此存储单元所存储的是位“0”。值得一提的是,本范例实施例是以SLC型快闪存储器模块为例,因此临界电压的分布有两种可能。然而,在其他范例实施例中,临界电压的分布可能四种、八种或其他任意个可能,而读取电压可以在任意两个分布之间。此外,本发明也不限制每一个分布所代表的位。Referring to FIG. 10 , the horizontal axis represents the threshold voltage of the memory cells, and the vertical axis represents the number of memory cells. For example, FIG. 10 shows the threshold voltage of each memory cell in a physical programming unit. It is assumed here that when the threshold voltage of a certain memory cell falls within the distribution 1010, the memory cell stores a bit "1"; The cell stores a bit "0". It is worth mentioning that this exemplary embodiment is an example of an SLC flash memory module, so there are two possible distributions of the threshold voltage. However, in other exemplary embodiments, there may be four, eight or any other possible distributions of the threshold voltages, and the read voltage may be between any two distributions. Furthermore, the present invention does not limit the bits represented by each distribution.
当要从可复写式非易失性存储器模块106读取数据时,存储器管理电路202会发送一读取指令序列至可复写式非易失性存储器模块106。此读取指令序列包括一或多个指令或程序码,并且用以指示读取一个实体程序化单元中的多个存储单元以取得多个位。例如,根据读取电压1001来读取一个实体程序化单元中的多个存储单元。若某一个存储单元的临界电压小于此读取电压,则此存储单元会导通,并且存储器管理电路202会读到位“1”。相反地,若某一个存储单元的临界电压大于此读取电压,则此存储单元不会导通,并且存储器管理电路202会读到位“0”。When data is to be read from the rewritable nonvolatile memory module 106 , the memory management circuit 202 sends a read command sequence to the rewritable nonvolatile memory module 106 . The read instruction sequence includes one or more instructions or program codes, and is used to instruct to read a plurality of storage units in a physical programming unit to obtain a plurality of bits. For example, multiple memory cells in one physical programmed unit are read according to the read voltage 1001 . If the threshold voltage of a memory cell is lower than the read voltage, the memory cell is turned on, and the memory management circuit 202 reads a bit "1". Conversely, if the threshold voltage of a certain memory cell is greater than the read voltage, the memory cell will not be turned on, and the memory management circuit 202 will read bit "0".
值得注意的是,分布1010与分布1020包含一个重叠区域1030。重叠区域1030表示有一些存储单元中所存储的应该是位“1”(属于分布1010),但其临界电压大于读取电压1001;或者,有一些存储单元中所存储的应该是位“0”(属于分布1020),但其临界电压小于读取电压1001。换句话说,所读取的位中,有部分的位会有错误。在另一范例实施例中,也可以从一个存储单元中读取出多个位,本发明不加以限制。此外,一次的读取也可以是读取一个实体扇中的多个存储单元或者任意数量的存储单元,本发明不加以限制。It is worth noting that distribution 1010 and distribution 1020 contain an overlapping region 1030 . Overlap region 1030 indicates that there are some memory cells that should store bit "1" (belonging to distribution 1010), but their threshold voltage is greater than the read voltage 1001; or, there are some memory cells that should store bit "0" (belonging to the distribution 1020), but its threshold voltage is less than the read voltage 1001. In other words, some of the read bits will be wrong. In another exemplary embodiment, multiple bits can also be read out from one storage unit, and the invention is not limited thereto. In addition, one reading may also be reading multiple storage units or any number of storage units in one physical sector, which is not limited in the present invention.
在此范例实施例中,当存储器管理电路202从可复写式非易失性存储器模块106中读取n个位(形成一个码字)时,存储器管理电路202也会取得对应于每一个位的可靠度信息。在此,可靠度信息是用以表示对应的位被解码为位“1”或是“0”的机率(或称信心度)。特别是,当采用不同的演算法时,所获得的对应于每一位的可靠度信息的值会不相同。例如,差错校验电路208可以采用总和-乘积演算法(Sum-ProductAlgorithm)、最小值-总和演算法(Min-SumAlgorithm)、或是位翻转演算法(bit-flippingAlgorithm),本发明并不限制采用何种演算法。In this exemplary embodiment, when the memory management circuit 202 reads n bits (forming a code word) from the rewritable non-volatile memory module 106, the memory management circuit 202 also obtains the corresponding reliability information. Here, the reliability information is used to indicate the probability (or confidence) that the corresponding bit is decoded as a bit "1" or "0". In particular, when different algorithms are used, the obtained value of the reliability information corresponding to each bit will be different. For example, the error checking circuit 208 may adopt a sum-product algorithm (Sum-Product Algorithm), a minimum value-sum algorithm (Min-Sum Algorithm), or a bit-flipping algorithm (bit-flipping Algorithm), and the present invention does not limit the use of what algorithm.
差错校验电路208会判断这些位是否具有至少一个错误。例如,在本范例实施例中,差错校验电路208会对这些位执行奇偶检验程序以取得多个校验子(syndrome),其中每一个位是对应至这些校验子的至少其中之一。换句话说,这些校验子可以组成上述向量S。在一范例实施例中,上述向量S也称为校验向量。差错校验电路208会根据校验向量S中的多个校验子判断这些位是否具有至少一个错误。例如,若校验向量S中的每一个校验子都是“0”,差错校验电路208会判定这些位不具有任何错误,并且判定由这些位组成的码字是有效码字;若校验向量S中的一或多个校验子是“1”,则差错校验电路208会判定这些位具有至少一个错误,并且判定由这些位所组成的码字不是有效码字。The error checking circuit 208 determines whether the bits have at least one error. For example, in this exemplary embodiment, the error checking circuit 208 performs a parity checking procedure on these bits to obtain a plurality of syndromes, wherein each bit corresponds to at least one of the syndromes. In other words, these syndromes can form the above vector S. In an exemplary embodiment, the above-mentioned vector S is also called a check vector. The error checking circuit 208 determines whether the bits have at least one error according to the syndromes in the check vector S. For example, if each syndrome in the check vector S is "0", the error checking circuit 208 will determine that these bits do not have any errors, and determine that the code word composed of these bits is a valid code word; If one or more syndromes in the verification vector S are "1", the error checking circuit 208 will determine that these bits have at least one error, and determine that the codeword composed of these bits is not a valid codeword.
图11是根据本发明的一范例实施例所示出的矩阵相乘的范例示意图。FIG. 11 is an exemplary schematic diagram of matrix multiplication according to an exemplary embodiment of the present invention.
请参照图11,奇偶检验矩阵900与码字1101相乘的结果是校验向量1105。码字1101中的每一个位是对应到校验向量1105中的至少一个校验子。举例来说,码字1101中的位V1(对应至奇偶检验矩阵900中的第一行(column))是对应到校验子S1及S2;位V2(对应至奇偶检验矩阵900中的第二行)是对应到校验子S1及S3,以此类推。若位V1发生了错误,则校验子S1及S2可能会是“1”;若位V2发生了错误,则校验子S1及S3可能会是“1”,以此类推。此外,奇偶检验矩阵900中的第一限制是对应至校验子S1,奇偶检验矩阵900中的第二限制是对应至校验子S2,奇偶检验矩阵900中的第三限制是对应至校验子S3,并且奇偶检验矩阵900中的第四限制是对应至校验子S4。Referring to FIG. 11 , the result of multiplying the parity check matrix 900 by the code word 1101 is a check vector 1105 . Each bit in the codeword 1101 corresponds to at least one syndrome in the check vector 1105 . For example, bit V 1 in codeword 1101 (corresponding to the first row (column) in parity check matrix 900) is corresponding to syndromes S 1 and S 2 ; bit V 2 (corresponding to parity check matrix 900 The second line in ) is corresponding to the syndromes S 1 and S 3 , and so on. If an error occurs in bit V 1 , the syndromes S 1 and S 2 may be "1"; if an error occurs in bit V 2 , the syndromes S 1 and S 3 may be "1". analogy. In addition, the first constraint in the parity check matrix 900 corresponds to the syndrome S 1 , the second constraint in the parity check matrix 900 corresponds to the syndrome S 2 , and the third constraint in the parity check matrix 900 corresponds to Syndrome S 3 , and the fourth constraint in the parity check matrix 900 is corresponding to syndrome S 4 .
若码字1101中的位V1~V9没有错误,则差错校验电路208会输出码字1101中的位V1~V9。若位V1~V9具有至少一个错误,差错校验电路208会对位V1~V9执行一迭代解码程序以取得多个解码位。特别是,在执行一个迭代解码程序之前,差错校验电路208会获得对应于每一个位与每一个校验子的一个权重。这些权重可以利用一个权重矩阵来表示。这些权重也可以被记录在一查找表中。差错校验电路208会根据此些权重来执行迭代解码程序。或者,在一范例实施例中,获得对应于每一个位与每一个校验子的权重的操作,也可以视为是迭代解码程序的一部分,本发明不加以限制。If the bits V 1 -V 9 in the codeword 1101 are correct, the error checking circuit 208 will output the bits V 1 -V 9 in the codeword 1101 . If the bits V 1 -V 9 have at least one error, the error checking circuit 208 performs an iterative decoding procedure on the bits V 1 -V 9 to obtain a plurality of decoded bits. In particular, before performing an iterative decoding process, the error checking circuit 208 obtains a weight corresponding to each bit and each syndrome. These weights can be represented by a weight matrix. These weights can also be recorded in a look-up table. The error checking circuit 208 performs an iterative decoding process according to the weights. Alternatively, in an exemplary embodiment, the operation of obtaining the weight corresponding to each bit and each syndrome can also be regarded as a part of the iterative decoding procedure, which is not limited by the present invention.
图12是根据本发明的一范例实施例所示出的权重矩阵的范例示意图。FIG. 12 is an exemplary schematic diagram of a weight matrix according to an exemplary embodiment of the present invention.
请参照图12,权重矩阵1200中记载了权重W1,1~W4,9。其中,权重W1,1是对应于位V1与校验子S1;权重W1,2是对应于位V2与校验子S1;权重W2,1是对应于位V1与校验子S2,以此类推。权重矩阵1200的矩阵大小与奇偶检验矩阵900一致。例如,权重矩阵1200也具有m个列与n个行。Referring to FIG. 12 , the weights W 1,1 -W 4,9 are recorded in the weight matrix 1200 . Among them, weight W 1,1 is corresponding to bit V 1 and syndrome S 1 ; weight W 1,2 is corresponding to bit V 2 and syndrome S 1 ; weight W 2,1 is corresponding to bit V 1 and syndrome S 1 Syndrome S 2 , and so on. The weight matrix 1200 has the same matrix size as the parity check matrix 900 . For example, the weight matrix 1200 also has m columns and n rows.
差错校验电路208会计算所获得的可靠度信息中符合一查验条件的多个可靠度信息的总和,并且将此总和加上对应的一平衡信息以获得权重矩阵1200中的一个权重。以下将以计算权重W1,1作为范例进行说明。The error checking circuit 208 calculates the sum of a plurality of reliability information that meets a check condition in the obtained reliability information, and adds a corresponding balance information to the sum to obtain a weight in the weight matrix 1200 . The calculation of the weight W 1,1 will be used as an example for illustration below.
图13是根据本发明的一范例实施例所示出的码字、可靠度信息、奇偶检验矩阵与校验子之间的对应关系的范例示意图。Fig. 13 is a schematic diagram showing an example of the corresponding relationship among codewords, reliability information, parity check matrix and syndrome according to an example embodiment of the present invention.
请参照图13,在此假设对应于码字1101中每一个位V1~V9的可靠度信息分别为可靠度信息向量1103中的“0.6”、“0.8”、“-0.2”、“1.3”、“-1.5”、“0.3”、“-1.2”、“0.4”与“0.1”。然而,在此可靠度信息向量1103仅为一个范例阵列,而非用以限制本发明。在本范例实施例中,可靠度信息向量1103中的各个可靠度信息会被取绝对值。因此,可靠度信息向量1103中的可靠度信息成为“0.6”、“0.8”、“0.2”、“1.3”、“1.5”、“0.3”、“1.2”、“0.4”与“0.1”。若对应于某一个位的可靠度信息的绝对值越大,则表示此位发生错误的机率越低;若对应于某一个位的可靠度信息的绝对值越小,则表示此位发生错误的机率越高。然而,在另一范例实施例中,也可以对可靠度信息向量1103中的各个可靠度信息作任意的逻辑运算,本发明不加以限制。此外,可靠度信息向量1103中的每一可靠度信息分别对应于奇偶检验矩阵900的每一限制中的一个元素。例如,如图13所示,可靠度信息向量1103中的“0.6”是对应于第一限制至第四限制中从左边数过来的第一个元素,并且可靠度信息向量1103中的“0.8”是对应于第一限制至第四限制中从左边数过来的第二个元素,以此类推。由于权重矩阵1200中的权重W1,1是对应于码字1101中的位V1与校验向量1105中的校验子S1,因此在以下的范例实施例中,码字1101中的位V1也称为第一位,并且校验向量1105中的校验子S1也称为第一校验子,以便于说明如何计算权重W1,1。Referring to FIG. 13 , it is assumed that the reliability information corresponding to each bit V 1 -V 9 in the codeword 1101 is "0.6", "0.8", "-0.2", "1.3" in the reliability information vector 1103, respectively. ", "-1.5", "0.3", "-1.2", "0.4", and "0.1". However, the reliability information vector 1103 is just an example array and is not used to limit the present invention. In this exemplary embodiment, each piece of reliability information in the reliability information vector 1103 is taken as an absolute value. Therefore, the reliability information in the reliability information vector 1103 becomes "0.6", "0.8", "0.2", "1.3", "1.5", "0.3", "1.2", "0.4" and "0.1". If the absolute value of the reliability information corresponding to a certain bit is larger, it means that the probability of error in this bit is lower; if the absolute value of the reliability information corresponding to a certain bit is smaller, it means that the probability of error in this bit is lower. The higher the probability. However, in another exemplary embodiment, any logic operation may be performed on each piece of reliability information in the reliability information vector 1103 , which is not limited by the present invention. In addition, each piece of reliability information in the reliability information vector 1103 corresponds to an element in each constraint of the parity check matrix 900 . For example, as shown in FIG. 13, "0.6" in the reliability information vector 1103 corresponds to the first element counted from the left in the first to fourth constraints, and "0.8" in the reliability information vector 1103 is the second element from the left corresponding to the first through fourth constraints, and so on. Since the weight W 1,1 in the weight matrix 1200 corresponds to the bit V 1 in the codeword 1101 and the syndrome S 1 in the check vector 1105, in the following exemplary embodiments, the bit in the codeword 1101 V 1 is also called the first bit, and the syndrome S 1 in the check vector 1105 is also called the first syndrome, so as to illustrate how to calculate the weight W 1,1 .
在计算权重W1,1时,差错校验电路208会根据奇偶检验矩阵900中的第一限制,从可靠度信息向量1103中决定符合查验条件的多个可靠度信息。例如,差错校验电路208会根据第一限制所包括的元素中,其值是“1”的多个元素,从可靠度信息向量1103中决定符合此查验条件的多个可靠度信息。例如,在此范例实施例中,第一限制中从左边数过来的前四个元素的元素值是“1”,因此可靠度信息向量1103中符合查验条件的可靠度信息为“0.6”、“0.8”、“0.2”与“1.3”。之后,差错校验电路208会获得符合此查验条件的可靠度信息的总和为“2.9”。When calculating the weight W 1,1 , the error checking circuit 208 will determine a plurality of reliability information meeting the checking conditions from the reliability information vector 1103 according to the first constraint in the parity check matrix 900 . For example, the error checking circuit 208 will determine a plurality of reliability information meeting the checking condition from the reliability information vector 1103 according to the elements whose value is "1" among the elements included in the first restriction. For example, in this exemplary embodiment, the element value of the first four elements counted from the left in the first constraint is "1", so the reliability information meeting the inspection conditions in the reliability information vector 1103 is "0.6", "0.8","0.2" and "1.3". Afterwards, the error checking circuit 208 will obtain that the sum of the reliability information meeting the checking condition is "2.9".
在本范例实施例中,每一个限制都对应至一个平衡信息。差错校验电路208会将上述总和加上对应于第一限制的平衡信息以获得权重W1,1。更具体而言,差错校验电路208会将上述总和加上对应于第一限制的平衡信息以获得第一评估信息,并且将第一评估信息除以一第二评估信息以获得权重W1,1。In this exemplary embodiment, each constraint corresponds to a piece of balance information. The error checking circuit 208 adds the above sum to the balance information corresponding to the first constraint to obtain the weight W 1,1 . More specifically, the error checking circuit 208 will add the above sum to the balance information corresponding to the first constraint to obtain the first evaluation information, and divide the first evaluation information by a second evaluation information to obtain the weight W 1, 1 .
差错校验电路208会从上述符合查验条件的可靠度信息中选择对应于另一位(也称为第二位)的可靠度信息。其中,此第二位相异于第一位。也即,在此范例实施例中,此第二位是位V2~V4的其中之一。特别是,在本范例实施例中,所选出的对应于第二位的可靠度信息的值是所有符合查验条件的可靠度信息的值中最小的,或者对应于第二位的可靠度信息的值是在所有符合查验条件的可靠度信息中仅大于第一位所对应的可靠度信息的值。例如,在本范例实施例中,第一位(即,位V1)所对应的可靠度信息的值为“0.6”,因此,差错校验电路208会从“0.8”、“0.2”、“1.3”中选择其值为“0.2”的可靠度信息作为对应于第二位的可靠度信息。也就是说,在本范例实施例中,第二位为位V3,并且对应于第二位的可靠度信息为“0.2”。然而,在另一范例实施中,第二位也可以根据任意的条件来进行选择,本发明不加以限制。例如,在一范例实施例中,也可以将符合查验条件的可靠度信息输入一查找表或一演算法,并且将此查找表或此演算法的输出作为对应于第二位的可靠度信息。The error checking circuit 208 selects the reliability information corresponding to another bit (also referred to as the second bit) from the reliability information meeting the checking condition. Wherein, the second bit is different from the first bit. That is, in this exemplary embodiment, the second bit is one of the bits V 2 -V 4 . In particular, in this exemplary embodiment, the selected value corresponding to the reliability information of the second digit is the smallest value among all the reliability information values meeting the inspection conditions, or corresponds to the reliability information of the second digit The value of is only greater than the value of the reliability information corresponding to the first digit among all the reliability information meeting the inspection conditions. For example, in this exemplary embodiment, the value of the reliability information corresponding to the first bit (that is, bit V 1 ) is "0.6", therefore, the error checking circuit 208 will change from "0.8", "0.2", "1.3", the reliability information whose value is "0.2" is selected as the reliability information corresponding to the second place. That is, in this exemplary embodiment, the second bit is bit V 3 , and the reliability information corresponding to the second bit is "0.2". However, in another exemplary implementation, the second bit can also be selected according to any condition, which is not limited by the present invention. For example, in an exemplary embodiment, the reliability information meeting the checking condition may also be input into a lookup table or an algorithm, and the output of the lookup table or the algorithm is used as the reliability information corresponding to the second bit.
在本范例实施例中,每一个限制都对应至一个调整因子αm。例如,α1对应至第一限制,α2对应至第二限制,α3对应至第三限制,并且α4对应至第四限制。在获得对应于第二位的可靠度信息之后,差错校验电路208会将对应于第二位的可靠度信息乘上调整因子α1以获得对应于第一限制的平衡信息。藉此,可使得符合查验条件的可靠度信息的总和与平衡信息的值相当,避免因平衡信息的值太小而使其被忽略。值得一提的是,在本范例实施例中,调整因子αm为一大于“1”的整数或实数。然而,在另一范例实施例中,调整因子αm也可以是任意的实数,本发明不加以限制。此外,在另一范例实施例中,调整因子αm也可以为“1”。在本范例实施例中,假设调整因子α1为“11.36”,则差错校验电路208可获得第一评估信息为“5.172”。此外,差错校验电路208会将对应于第一位(即,位V1)的可靠度信息作为第二评估信息。也即,在此范例实施例中,第二评估信息为“0.6”。藉此,通过将第一评估信息除以第二评估信息,差错校验电路208可以获得权重W1,1为“8.62”。或者,在一范例实施例中,差错校验电路208可以通过以下方程式(6)来取得图12的权重矩阵1200中的权重W1,1~W4,9。In this exemplary embodiment, each limit corresponds to an adjustment factor α m . For example, α1 corresponds to the first constraint, α2 corresponds to the second constraint, α3 corresponds to the third constraint, and α4 corresponds to the fourth constraint. After obtaining the reliability information corresponding to the second bit, the error checking circuit 208 multiplies the reliability information corresponding to the second bit by the adjustment factor α1 to obtain the balance information corresponding to the first constraint. In this way, the sum of the reliability information meeting the checking condition can be equal to the value of the balance information, so as to prevent the value of the balance information from being ignored because the value is too small. It is worth mentioning that, in this exemplary embodiment, the adjustment factor α m is an integer or real number greater than “1”. However, in another exemplary embodiment, the adjustment factor α m may also be any real number, which is not limited by the present invention. In addition, in another exemplary embodiment, the adjustment factor α m may also be “1”. In this exemplary embodiment, assuming that the adjustment factor α1 is “11.36”, the error checking circuit 208 can obtain the first evaluation information as “5.172”. In addition, the error checking circuit 208 takes the reliability information corresponding to the first bit (ie, the bit V 1 ) as the second evaluation information. That is, in this exemplary embodiment, the second evaluation information is "0.6". Thereby, by dividing the first evaluation information by the second evaluation information, the error checking circuit 208 can obtain the weight W 1,1 as "8.62". Alternatively, in an exemplary embodiment, the error checking circuit 208 can obtain the weights W 1,1 ˜W 4,9 in the weight matrix 1200 of FIG. 12 through the following equation (6).
其中,为根据对应于第m限制的符合查验条件的可靠度信息的总和,为第一评估信息,|yn|为第二评估信息,为对应于第二位的可靠度信息,并且为对应于第m限制的平衡信息。in, is the sum of the reliability information corresponding to the m-th constraint that satisfies the inspection conditions, is the first evaluation information, |y n | is the second evaluation information, is the reliability information corresponding to the second bit, and is the balance information corresponding to the m-th constraint.
在一范例实施例中,对应于第m限制的平衡信息的值是正相关于第m限制的列权重。例如,对应于第一限制的平衡信息的值是正相关于第一限制的列权重;对应于第二限制的平衡信息的值是正相关于第二限制的列权重,以此类推。举例而言,差错校验电路208会根据第一限制中值是“1”的元素的个数来决定第一限制的列权重。例如,在图13的范例实施例中,第一限制中有四个元素的值是“1”,因此差错校验电路208会决定第一限制的列权重为“4”。以此类推,第二限制的列权重为“6”,第三限制的列权重为“6”,并且第四限制的列权重为“4”。此外,在另一范例实施例中,对应于第m限制的平衡信息的值也可以是负相关于或不相关于第m限制的列权重,本发明不加以限制。In an exemplary embodiment, the value of the balance information corresponding to the mth constraint is directly related to the column weight of the mth constraint. For example, the value of the balance information corresponding to the first restriction is directly related to the column weight of the first restriction; the value of the balance information corresponding to the second restriction is directly related to the column weight of the second restriction, and so on. For example, the error checking circuit 208 determines the column weight of the first constraint according to the number of elements whose value is "1" in the first constraint. For example, in the exemplary embodiment of FIG. 13 , the value of four elements in the first constraint is "1", so the error checking circuit 208 determines that the column weight of the first constraint is "4". By analogy, the column weight of the second constraint is "6", the column weight of the third constraint is "6", and the column weight of the fourth constraint is "4". In addition, in another exemplary embodiment, the value of the balance information corresponding to the m-th constraint may also be negatively related or not related to the column weight of the m-th constraint, which is not limited by the present invention.
在一范例实施例中,差错校验电路208会将第m限制的列权重乘上一放大倍数来获得对应于第m限制的调整因子αm。例如,差错校验电路208会将第一限制的列权重乘上一放大倍数来获得调整因子α1。例如,差错校验电路208可以计算可靠度信息向量1103中所有的可靠度信息的一平均值(也称为第一平均值),并且根据奇偶检验矩阵900中的每一限制,从对应的符合查验条件的可靠度信息中获得可靠度信息的最小值与次小值。例如,差错校验电路208会得到对应于第一限制的可靠度信息的最小值与次小值分别为“0.2”与“0.6”,对应于第二限制的可靠度信息的最小值与次小值分别为“0.2”与“0.3”,对应于第三限制的可靠度信息的最小值与次小值分别为“0.1”与“0.3”,以及对应于第四限制的可靠度信息的最小值与次小值分别为“0.1”与“0.2”。之后,差错校验电路208会计算这些最小值与这些次小值加总之后的一平均值(也称为第二平均值),并且将第一平均值除以第二平均值以获得此放大倍数。在本范例实施例中,每一个第m限制的列权重所乘上的放大倍数都是相同的。然而,在另一范例实施例中,每一个第m限制的列权重所乘上的放大倍数也可以是不同的。此外,在另一范例实施例中,可靠度信息的最小值与次小值也可以是以任意的规则来选择,本发明不加以限制。或者,在一范例实施例中,差错校验电路208也可以通过以下方程序(7)来取得调整因子αm。In an exemplary embodiment, the error checking circuit 208 multiplies the column weight of the m-th constraint by an amplification factor to obtain the adjustment factor α m corresponding to the m-th constraint. For example, the error checking circuit 208 will multiply the first restricted column weight by an amplification factor to obtain the adjustment factor α 1 . For example, the error checking circuit 208 may calculate an average value (also referred to as the first average value) of all the reliability information in the reliability information vector 1103, and according to each constraint in the parity check matrix 900, from the corresponding The minimum value and the second minimum value of the reliability information are obtained from the reliability information of the inspection conditions. For example, the error checking circuit 208 will obtain that the minimum value and the second minimum value of the reliability information corresponding to the first restriction are "0.2" and "0.6" respectively, and the minimum value and the second minimum value of the reliability information corresponding to the second restriction are "0.2" and "0.6", respectively. The values are "0.2" and "0.3" respectively, the minimum value and the second minimum value of the reliability information corresponding to the third restriction are "0.1" and "0.3" respectively, and the minimum value of the reliability information corresponding to the fourth restriction and the second smallest value are "0.1" and "0.2" respectively. Afterwards, the error checking circuit 208 calculates an average value (also referred to as the second average value) after summing these minimum values and these second minimum values, and divides the first average value by the second average value to obtain the amplification multiple. In this exemplary embodiment, the magnification factor multiplied by each m-th restricted column weight is the same. However, in another exemplary embodiment, the magnification factor multiplied by each m-th restricted column weight may also be different. In addition, in another exemplary embodiment, the minimum value and the second minimum value of the reliability information may also be selected by arbitrary rules, which is not limited by the present invention. Alternatively, in an exemplary embodiment, the error checking circuit 208 can also obtain the adjustment factor α m through the following procedure (7).
其中,row_weight(m)即为奇偶检验矩阵900中第m限制的列权重,mean(|y|)为上述第一平均值,以及mean(|ymin|)为上述第二平均值。例如,在本范例实施例中,第一平均值是“0.71”(即,(0.6+0.8+0.2+1.3+1.5+0.3+1.2+0.4+0.1)/9=0.71),第二平均值是“0.25”(即,(0.2+0.2+0.1+0.1+0.6+0.3+0.3+0.2)/9=0.25)。因此,可获得调整因子α1~α4分别是“11.36”、“17.04”、“11.36”及“17.04”。Wherein, row_weight(m) is the column weight of the m-th limit in the parity check matrix 900 , mean(|y|) is the above-mentioned first average value, and mean(|y min |) is the above-mentioned second average value. For example, in this exemplary embodiment, the first average value is "0.71" (ie, (0.6+0.8+0.2+1.3+1.5+0.3+1.2+0.4+0.1)/9=0.71), and the second average value is "0.25" (ie, (0.2+0.2+0.1+0.1+0.6+0.3+0.3+0.2)/9=0.25). Therefore, the obtained adjustment factors α1 to α4 are “11.36”, “17.04”, “11.36” and “17.04”, respectively.
根据上述操作,差错校验电路208会分别取得图12的权重矩阵1200中的权重W1,1~W4,9。例如,在本范例实施例中,在计算权重W2,1时,第一位是位V1,并且第二位是位V3。差错校验电路208会根据奇偶检验矩阵900中的第二限制,决定符合查验条件的多个可靠度信息为“0.6”、“0.2”、“1.3”、“1.5”、“0.3”及“1.2”并且其总和为“5.1”。然后,假设调整因子α2是“17.04”,差错校验电路208会获得第一评估信息为“8.508”(即,5.1+(17.04×0.2)),第二评估信息为“0.6”(即,对应于第一位的可靠度信息),并且权重W2,1为“14.18”(即,8.508/0.6=14.18)。权重矩阵1200中其余的权重的计算可依此类推,在此不加以赘述。According to the above operations, the error checking circuit 208 respectively obtains the weights W1,1˜W4,9 in the weight matrix 1200 in FIG. 12 . For example, in this exemplary embodiment, when calculating the weight W2,1, the first bit is bit V1, and the second bit is bit V3. The error checking circuit 208 will determine a plurality of reliability information that meets the checking condition as "0.6", "0.2", "1.3", "1.5", "0.3" and "1.2" according to the second restriction in the parity checking matrix 900 ” and its sum is “5.1”. Then, assuming that the adjustment factor α2 is "17.04", the error checking circuit 208 will obtain the first evaluation information as "8.508" (that is, 5.1+(17.04×0.2)), and the second evaluation information as "0.6" (that is, corresponding to reliability information at the first place), and the weight W2,1 is "14.18" (ie, 8.508/0.6=14.18). Calculation of other weights in the weight matrix 1200 can be deduced in a similar manner, which will not be repeated here.
图14是根据本发明的一范例实施例所示出的计算出的权重的范例示意图。FIG. 14 is a schematic diagram showing an example of calculated weights according to an example embodiment of the present invention.
请参照图14,在权重矩阵1200的第一限制中,对应于位V1与校验子S1的权重W1,1为“8.62”,对应于位V2与校验子S1的权重W1,2为“6.47”,对应于位V3与校验子S1的权重W1,3为“48.58”,以及对应于位V4与校验子S1的权重W1,4为“3.45”。在权重矩阵1200的第二限制中,对应于位V1与校验子S2的权重W2,1为“14.18”,对应于位V3与校验子的权重W2,3为“51.06”,对应于位V4与校验子S2的权重W2,4为“6.54”,对应于位V5与校验子S2的权重W2,5为“5.67”,对应于位V6与校验子S2的权重W2,6为“28.36”,以及对应于位V7与第二校验子S2的权重W2,7为“7.09”,以此类推。值得一提的是,在本范例实施例中,差错校验电路208可对应奇偶检验矩阵900中其值是“0”的元素,将权重矩阵1200中部分的权重设为“0”。Please refer to FIG. 14 , in the first limitation of the weight matrix 1200, the weight W1,1 corresponding to the bit V1 and the syndrome S1 is "8.62", and the weight W1,2 corresponding to the bit V2 and the syndrome S1 is " 6.47", the weight W1,3 corresponding to the bit V3 and the syndrome S1 is "48.58", and the weight W1,4 corresponding to the bit V4 and the syndrome S1 is "3.45". In the second limitation of the weight matrix 1200, the weight W2,1 corresponding to bit V1 and syndrome S2 is "14.18", the weight W2,3 corresponding to bit V3 and syndrome S2 is "51.06", and the weight W2,3 corresponding to bit V3 is "51.06", corresponding to bit The weight W2,4 of V4 and syndrome S2 is "6.54", the weight W2,5 corresponding to bit V5 and syndrome S2 is "5.67", and the weight W2,6 corresponding to bit V6 and syndrome S2 is "28.36", and the weight W2,7 corresponding to the bit V7 and the second syndrome S2 is "7.09", and so on. It is worth mentioning that, in this exemplary embodiment, the error checking circuit 208 can set the weights of the parts in the weight matrix 1200 to “0” corresponding to the elements whose value is “0” in the parity check matrix 900 .
图15是根据本发明的一范例实施例所示出的矩阵相乘的范例示意图。FIG. 15 is a schematic diagram illustrating an example of matrix multiplication according to an example embodiment of the present invention.
请参照图15,在迭代解码程序中,差错校验电路208会根据上述校验子与计算出的权重来取得位V1~V9的校验权重信息。举例而言,差错校验电路208会将每一个校验子乘上一个权重,并且累加校验子与权重相乘的结果以取得校验权重信息。例如,位V1的校验权重信息会等于W1,1S1+W2,1S2,其中权重W1,1及W2,1即为上述图14中的“8.62”与“14.18”。在本范例实施例中,差错校验电路208可以根据一个校验子是“1”或“0”来决定对应于此校验子的权重的值是大于0或小于0。例如,若一个校验子是“1”,则对应于此校验子的权重会乘上“1”;若一个校验子是“0”,则对应于此校验子的权重会乘上“-1”。值得注意的是,在此对校验子S1~S4所做的加法是一般的加法,而不是模2(modulo-2)的加法。换句话说,差错校验电路208可以通过以下方程序(8)来取得对应于位V1~V9的校验权重信息。Please refer to FIG. 15 , in the iterative decoding procedure, the error checking circuit 208 obtains the checking weight information of the bits V1 - V9 according to the aforementioned syndrome and the calculated weights. For example, the error checking circuit 208 multiplies each syndrome by a weight, and accumulates the result of multiplying the syndrome and the weight to obtain the check weight information. For example, the verification weight information of bit V1 is equal to W1,1S1+W2,1S2, wherein the weights W1,1 and W2,1 are “8.62” and “14.18” in FIG. 14 above. In this exemplary embodiment, the error checking circuit 208 may determine whether a syndrome weight value is greater than 0 or less than 0 according to whether a syndrome is "1" or "0". For example, if a syndrome is "1", the weight corresponding to this syndrome will be multiplied by "1"; if a syndrome is "0", the weight corresponding to this syndrome will be multiplied by "-1". It should be noted that the addition of the syndromes S1-S4 here is a general addition, not a modulo-2 (modulo-2) addition. In other words, the error checking circuit 208 can obtain the checking weight information corresponding to the bits V1-V9 through the following procedure (8).
其中,向量En即可用来表示每一位V1~V9的校验权重信息。Wherein, the vector E n can be used to represent the verification weight information of each bit V 1 -V 9 .
差错校验电路208会根据位V1~V9的校验权重信息来翻转(flip)这些位的至少其中之一。例如,差错校验电路208会将某一个或多个位从“1”翻转成“0”或者从“0”翻转成“1”。在一范例实施例中,上述翻转位的操作也称为位翻转(bitflipping)。具体而言,在每一次的迭代解码程序中,一个码字中最多只会有一个位被翻转。例如,此被翻转的位的校验权重信息的值会大于其他没有被翻转的位的校验权重信息的值。此外,在另一范例实施例中,差错校验电路208会判断码字1101中的每一个位的校验权重信息是否符合一权重条件。例如,差错校验电路208会判断每一个位的校验权重信息的值是否大于一阈值。倘若某一个位的校验权重信息的值大于此阈值时,则差错校验电路208会判定此位的校验权重信息符合权重条件,并且翻转此位。换句话说,在一范例实施例中,被翻转的位的校验权重信息即为符合权重条件的校验权重信息。The error checking circuit 208 flips at least one of the bits V 1 -V 9 according to the checking weight information of the bits. For example, the error checking circuit 208 may flip one or more bits from "1" to "0" or from "0" to "1". In an exemplary embodiment, the above operation of flipping bits is also referred to as bit flipping. Specifically, in each iterative decoding procedure, at most one bit in a codeword is flipped. For example, the value of the check weight information of the flipped bit is greater than the value of the check weight information of other bits that are not flipped. Furthermore, in another exemplary embodiment, the error checking circuit 208 judges whether the checking weight information of each bit in the codeword 1101 meets a weight condition. For example, the error checking circuit 208 will determine whether the value of each bit of the checking weight information is greater than a threshold. If the value of the check weight information of a certain bit is greater than the threshold, the error checking circuit 208 will determine that the check weight information of this bit meets the weight condition, and flip this bit. In other words, in an exemplary embodiment, the check weight information of the flipped bits is the check weight information meeting the weight condition.
图16是根据本发明的一范例实施例所示出的校验权重信息的范例示意图。Fig. 16 is a schematic diagram showing an example of check weight information according to an example embodiment of the present invention.
请参照图16,假设码字1101中的位V1~V9分别是“1”、“1”、“0”、“1”、“0”、“1”、“0”、“0”及“1”,校验向量1105中的校验子S1~S4分别是“1”、“0”、“1”及“0”,则根据方程式(8),差错校验电路208可取得向量En,所述向量En用以表示位V1~V9的校验权重信息分别是“-5.56”、“13.98”、“-13.16”、“-3.09”、“-1.67”、“-15.47”、“-0.29”、“9.67”及“61.4”。在此范例实施例中,差错校验电路208会选择取绝对值后的此些校验权重信息中其值最大的一个校验权重信息(即,“15.47”),并且将对应此校验权重信息的位V6翻转。然后,此迭代解码程序会输出另一个具多个位的码字。例如,这些位分别会是“1”、“1”、“0”、“1”、“0”、“0”、“0”、“0”及“1”。然后,差错校验电路208会再次判断这些位是否具有错误。若没有错误,差错校验电路208会输出这些位。若有错误,差错校验电路208会决定是要执行另一次的迭代解码程序或停止解码。Please refer to FIG. 16, assuming that the bits V 1 to V 9 in the codeword 1101 are "1", "1", "0", "1", "0", "1", "0", "0" respectively and "1", the syndromes S 1 to S 4 in the check vector 1105 are "1", "0", "1" and "0" respectively, then according to equation (8), the error check circuit 208 can A vector E n is obtained, and the vector E n is used to indicate that the verification weight information of bits V 1 to V 9 are "-5.56", "13.98", "-13.16", "-3.09", "-1.67", "-15.47", "-0.29", "9.67", and "61.4". In this exemplary embodiment, the error checking circuit 208 will select the check weight information with the largest value (that is, "15.47") among the check weight information after taking the absolute value, and will correspond to the check weight bit V 6 of the information is flipped. The iterative decoding procedure then outputs another multi-bit codeword. For example, the bits would be "1", "1", "0", "1", "0", "0", "0", "0" and "1", respectively. Then, the error checking circuit 208 judges again whether these bits have errors. Error checking circuit 208 outputs these bits if there are no errors. If there is an error, the error checking circuit 208 will decide whether to perform another iterative decoding process or stop decoding.
在此范例实施例中,若差错校验电路208判定码字1101中存在错误,则差错校验电路208会计数一迭代次数,例如,将迭代次数加1,并且判断计数后的迭代次数是否达到一中止次数。在此,中止次数例如是30次或者更多或更少。若计数后的迭代次数达到中止次数,则差错校验电路208会判定解码失败,并且停止解码。若计数后的迭代次数没有达到中止次数,则差错校验电路208会执行另一次的迭代解码程序。In this exemplary embodiment, if the error checking circuit 208 determines that there is an error in the codeword 1101, the error checking circuit 208 will count an iteration number, for example, add 1 to the iteration number, and judge whether the counted iteration number reaches A number of suspensions. Here, the number of suspensions is, for example, 30 or more or less. If the counted number of iterations reaches the number of suspensions, the error checking circuit 208 will determine that the decoding fails, and stop the decoding. If the counted number of iterations does not reach the number of suspensions, the error checking circuit 208 executes another iterative decoding process.
图17是根据本发明的一范例实施例所示出的解码方法的流程图。Fig. 17 is a flowchart of a decoding method according to an exemplary embodiment of the present invention.
请参照图17,首先,在步骤S1701中,发送一读取指令序列,其中所述读取指令序列用以读取多个存储单元以取得多个位。在步骤S1703中,获得对应于每一位的可靠度信息。接着,在步骤S1705中,计算所述可靠度信息中符合查验条件的多个可靠度信息的总和。在步骤S1707中,将所述总和加上一平衡信息以获得对应于所述位中的第一位与第一校验子的权重。之后,在步骤S1709中,判断所述位是否具有至少一错误。若所述位具有所述至少一错误,在步骤S1711中,根据所述权重执行迭代解码程序。若所述位不具有所述错误,在步骤S1713中,输出所述位。Please refer to FIG. 17 , firstly, in step S1701, a read command sequence is sent, wherein the read command sequence is used to read a plurality of storage units to obtain a plurality of bits. In step S1703, reliability information corresponding to each bit is obtained. Next, in step S1705, the sum of multiple pieces of reliability information that meet the inspection conditions in the reliability information is calculated. In step S1707, adding balance information to the sum to obtain a weight corresponding to the first bit and the first syndrome among the bits. After that, in step S1709, it is determined whether the bit has at least one error. If the bit has the at least one error, in step S1711, an iterative decoding procedure is performed according to the weight. If the bit does not have the error, in step S1713, output the bit.
然而,图17中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图17中各步骤可以实作为多个程序码或是电路,本发明并不在此限。此外,图17的方法可以搭配以上实施例使用,也可以单独使用,本发明并不在此限。However, each step in FIG. 17 has been described in detail above, and will not be repeated here. It should be noted that each step in FIG. 17 can be implemented as a plurality of program codes or circuits, and the present invention is not limited thereto. In addition, the method in FIG. 17 can be used in combination with the above embodiments, or can be used alone, and the present invention is not limited thereto.
综上所述,当从可复写式非易失性存储器模块中读取的位存在错误时,本发明范例实施例的解码方法、存储器控制电路单元与存储器存储装置会给予对应于码字中不同位与不同校验子的权重适当的权重值。藉此,可增加根据校验权重信息来进行解码的解码效率。To sum up, when there is an error in the bit read from the rewritable non-volatile memory module, the decoding method, the memory control circuit unit and the memory storage device of the exemplary embodiment of the present invention will give a difference corresponding to the codeword. Bits with appropriate weight values for the weights of the different syndromes. Thereby, the decoding efficiency of decoding according to the check weight information can be increased.
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present invention, rather than limiting them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: It is still possible to modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the technical solutions of the various embodiments of the present invention. scope.
Claims (24)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410347359.6A CN105304143B (en) | 2014-07-21 | 2014-07-21 | Decoding method, memory control circuit unit and memory storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410347359.6A CN105304143B (en) | 2014-07-21 | 2014-07-21 | Decoding method, memory control circuit unit and memory storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105304143A true CN105304143A (en) | 2016-02-03 |
CN105304143B CN105304143B (en) | 2018-10-02 |
Family
ID=55201293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410347359.6A Active CN105304143B (en) | 2014-07-21 | 2014-07-21 | Decoding method, memory control circuit unit and memory storage device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105304143B (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015880A (en) * | 2016-01-28 | 2017-08-04 | 京微雅格(北京)科技有限公司 | A kind of FPGA circuitry and its configuration file processing method |
CN109285576A (en) * | 2017-07-19 | 2019-01-29 | 英飞凌科技股份有限公司 | memory device |
CN112865920A (en) * | 2016-12-30 | 2021-05-28 | 慧荣科技股份有限公司 | Decoding method for decoding received information and related decoding device |
CN113485637A (en) * | 2021-05-11 | 2021-10-08 | 广州炒米信息科技有限公司 | Data storage method and device and computer equipment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011601A1 (en) * | 2005-05-19 | 2007-01-11 | Stmicroelectronics S.R.L. | ECC for single 4-bits symbol correction of 32 symbols words with 22 maximum row weight matrix |
CN101512661A (en) * | 2006-05-12 | 2009-08-19 | 爱诺彼得技术有限责任公司 | Combination of distortion estimation and error correction coding for storage devices |
CN102932006A (en) * | 2012-11-19 | 2013-02-13 | 电子科技大学 | Average magnitude based weighted bit-flipping decoding method for low-density parity-check codes |
US20130145235A1 (en) * | 2011-01-04 | 2013-06-06 | Lsi Corporation | Detection and decoding in flash memories with selective binary and non-binary decoding |
CN103971751A (en) * | 2013-01-31 | 2014-08-06 | Lsi公司 | Detection And Decoding In Flash Memories With Selective Binary And Non-binary Decoding |
-
2014
- 2014-07-21 CN CN201410347359.6A patent/CN105304143B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011601A1 (en) * | 2005-05-19 | 2007-01-11 | Stmicroelectronics S.R.L. | ECC for single 4-bits symbol correction of 32 symbols words with 22 maximum row weight matrix |
CN101512661A (en) * | 2006-05-12 | 2009-08-19 | 爱诺彼得技术有限责任公司 | Combination of distortion estimation and error correction coding for storage devices |
US20130145235A1 (en) * | 2011-01-04 | 2013-06-06 | Lsi Corporation | Detection and decoding in flash memories with selective binary and non-binary decoding |
CN102932006A (en) * | 2012-11-19 | 2013-02-13 | 电子科技大学 | Average magnitude based weighted bit-flipping decoding method for low-density parity-check codes |
CN103971751A (en) * | 2013-01-31 | 2014-08-06 | Lsi公司 | Detection And Decoding In Flash Memories With Selective Binary And Non-binary Decoding |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015880A (en) * | 2016-01-28 | 2017-08-04 | 京微雅格(北京)科技有限公司 | A kind of FPGA circuitry and its configuration file processing method |
CN107015880B (en) * | 2016-01-28 | 2020-06-30 | 京微雅格(北京)科技有限公司 | FPGA circuit and configuration file processing method thereof |
CN112865920A (en) * | 2016-12-30 | 2021-05-28 | 慧荣科技股份有限公司 | Decoding method for decoding received information and related decoding device |
CN109285576A (en) * | 2017-07-19 | 2019-01-29 | 英飞凌科技股份有限公司 | memory device |
CN109285576B (en) * | 2017-07-19 | 2024-07-26 | 英飞凌科技股份有限公司 | Memory device |
CN113485637A (en) * | 2021-05-11 | 2021-10-08 | 广州炒米信息科技有限公司 | Data storage method and device and computer equipment |
Also Published As
Publication number | Publication date |
---|---|
CN105304143B (en) | 2018-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102643457B1 (en) | Ldpc decoder, semiconductor memory system and operating method thereof | |
US9543983B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
US9529666B2 (en) | Decoding method, memory storage device and memory controlling circuit unit | |
TWI541820B (en) | Decoding method, memory controlling circuit unit and memory storage device | |
US9268634B2 (en) | Decoding method, memory storage device and memory controlling circuit unit | |
US9471421B2 (en) | Data accessing method, memory storage device and memory controlling circuit unit | |
US10534665B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
TWI521529B (en) | Decoding method, memory storage device and memory control circuit unit | |
US9973213B2 (en) | Decoding method, and memory storage apparatus and memory control circuit unit using the same | |
TWI512732B (en) | Decoding method, memory storage device and non-valitile memory module | |
CN104601178B (en) | Decoding method, decoding circuit, memory storage device and control circuit unit | |
TWI612527B (en) | Decoding method, memory storage device and memory control circuit unit | |
US9274891B2 (en) | Decoding method, memory storage device, and memory controlling circuit unit | |
US10193569B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
CN105468292A (en) | Data access method, memory storage device and memory control circuit unit | |
CN104424045B (en) | Decoding method, memory storage device and nonvolatile memory module | |
CN105022674A (en) | Decoding method, memory storage device, memory control circuit unit | |
CN105304142B (en) | Decoding method, memory storage device and memory control circuit unit | |
CN105023613A (en) | Decoding method, memory storage device and memory control circuit unit | |
CN104733044A (en) | Decoding method, memory storage device and memory control circuit unit | |
CN104733051A (en) | Decoding method of parity check code, memory storage device and control circuit unit | |
CN105304143B (en) | Decoding method, memory control circuit unit and memory storage device | |
CN104778975B (en) | Decoding method, memory storage device and memory control circuit unit | |
CN105575440A (en) | Error processing method, memory storage device and memory control circuit unit | |
CN107301873B (en) | Decoding method, memory storage device and memory control circuit unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |