CN105304143B - 解码方法、存储器控制电路单元及存储器存储装置 - Google Patents
解码方法、存储器控制电路单元及存储器存储装置 Download PDFInfo
- Publication number
- CN105304143B CN105304143B CN201410347359.6A CN201410347359A CN105304143B CN 105304143 B CN105304143 B CN 105304143B CN 201410347359 A CN201410347359 A CN 201410347359A CN 105304143 B CN105304143 B CN 105304143B
- Authority
- CN
- China
- Prior art keywords
- reliability information
- bit
- bits
- control circuit
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种解码方法、存储器控制电路单元及存储器存储装置。此解码方法包括:发送用以读取多个存储单元以取得多个位的读取指令序列,并且获得对应于每一多个位的多个可靠度信息。此解码方法还包括:计算此些可靠度信息中符合查验条件的多个可靠度信息的总和,并且将此总和加上平衡信息以获得对应于此些位中的第一位与第一校验子的权重。此解码方法还包括:判断此些位是否具有至少一错误,并且若此些位具有至少一错误,根据所述权重执行迭代解码程序。
Description
技术领域
本发明是有关于一种解码方法,且特别是有关于一种用于可复写式非易失性存储器模块的解码方法、存储器控制电路单元及存储器存储装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,写入至可复写式非易失性存储器模块的数据都会根据一个纠错码来编码。从可复写式非易失性存储器模块中所读取的数据也会经过对应的解码程序。然而,纠错码的更正能力有其上限,并且可复写式非易失性存储器模块中数据发生错误的机率会随着使用寿命一起改变。因此,如何增加解码的更正能力与正确性,为此领域技术人员所关心的问题。
发明内容
本发明提供一种解码方法、存储器控制电路单元及存储器存储装置,其可有效地提高解码的更正能力。
本发明的一范例实施例提供一种用于可复写式非易失性存储器模块的解码方法,所述可复写式非易失性存储器模块包括多个存储单元,本解码方法包括:发送读取指令序列,其中所述读取指令序列用以读取多个存储单元以取得多个位;获得多个可靠度信息,其中每一可靠度信息对应于所述位的其中之一;计算所述可靠度信息中符合查验条件的多个可靠度信息的总和;将所述总和加上平衡信息以获得对应于所述位中的第一位与第一校验子的权重;判断所述位是否具有至少一错误;以及若所述位具有至少一错误,根据所述权重执行迭代解码程序。
在本发明的一范例实施例中,上述判断此些位是否具有至少一错误的步骤包括:对所述位执行奇偶检验程序以取得包含第一校验子的多个校验子,其中每一所述位是对应至所述校验子的至少其中之一;以及根据所述校验子判断所述位是否具有至少一错误。所述奇偶检验程序是根据奇偶检验矩阵所执行,并且所述奇偶检验矩阵包括多个限制(constraint),上述计算所述可靠度信息中符合查验条件的所述可靠度信息的总和的步骤包括:根据所述限制中对应于所述第一校验子的第一限制,从所述可靠度信息中决定符合所述查验条件的所述可靠度信息。
在本发明的一范例实施例中,上述第一限制包括多个元素,而根据所述第一限制从所述可靠度信息中决定符合所述查验条件的所述可靠度信息的步骤包括:根据所述元素中值是“1”的多个元素,从所述可靠度信息中决定符合所述查验条件的所述可靠度信息。
在本发明的一范例实施例中,上述将所述总和加上所述平衡信息以获得对应于所述第一位与所述第一校验子的所述权重的步骤包括:将所述总和加上所述平衡信息以获得第一评估信息;以及将所述第一评估信息除以第二评估信息以获得对应于所述第一位与所述第一校验子的所述权重,其中所述第二评估信息是所述可靠度信息中对应于所述第一位的可靠度信息。
在本发明的一范例实施例中,上述解码方法,还包括:从符合所述查验条件的所述可靠度信息中选择对应于所述位中的第二位的可靠度信息,其中所述第二位相异于所述第一位;并且将对应于所述第二位的所述可靠度信息乘上调整因子以获得所述平衡信息。
本发明的一范例实施例提出一种用于控制可复写式非易失性存储器模块的存储器控制电路单元,其中可复写式非易失性存储器模块包括多个存储单元。此存储器控制电路单元包括主机接口、存储器接口、存储器管理电路以及差错校验电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块。存储器管理电路电性连接至主机接口与存储器接口,其中存储器管理电路用以发送读取指令序列,并且所述读取指令序列用以读取所述存储单元,以取得多个位。差错校验电路电性连接至所述存储器管理电路并且用以获得多个可靠度信息,其中每一可靠度信息对应于所述位的其中之一。在此,差错校验电路还用以计算所述可靠度信息中符合查验条件的多个可靠度信息的总和,并且将所述总和加上平衡信息以获得对应于所述位中的第一位与第一校验子的权重。此外,差错校验电路还用以判断所述位是否具有至少一错误,若所述位具有至少一错误,差错校验电路还用以根据所述权重执行迭代解码程序。
在本发明的一范例实施例中,上述差错校验电路判断所述位是否具有至少一错误的操作包括:差错校验电路对所述位执行奇偶检验程序以取得包含所述第一校验子的多个校验子,其中每一所述位是对应至所述校验子的至少其中之一,以及根据所述校验子判断所述位是否具有至少一错误。所述奇偶检验程序是根据奇偶检验矩阵所执行,并且所述奇偶检验矩阵包括多个限制。上述差错校验电路计算所述可靠度信息中符合所述查验条件的所述可靠度信息的总和的操作包括:差错校验电路根据所述限制中对应于所述第一校验子的第一限制,从所述可靠度信息中决定符合所述查验条件的可靠度信息。
在本发明的一范例实施例中,上述第一限制包括多个元素,而差错校验电路根据所述第一限制从所述可靠度信息中决定符合所述查验条件的可靠度信息的操作包括:差错校验电路根据所述元素中值是“1”的多个元素,从所述可靠度信息中决定符合所述查验条件的可靠度信息。
在本发明的一范例实施例中,上述差错校验电路将所述总和加上所述平衡信息以获得对应于所述第一位与所述第一校验子的权重的操作包括:差错校验电路将所述总和加上所述平衡信息以获得第一评估信息,以及将所述第一评估信息除以第二评估信息以获得对应于所述第一位与所述第一校验子的权重,其中所述第二评估信息是所述可靠度信息中对应于所述第一位的可靠度信息。
在本发明的一范例实施例中,上述差错校验电路还用以从符合所述查验条件的所述可靠度信息中选择对应于所述位中的第二位的可靠度信息,其中所述第二位相异于所述第一位,并且差错校验电路还用以将对应于所述第二位的所述可靠度信息乘上调整因子以获得所述平衡信息。
本发明的一范例实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。可复写式非易失性存储器模块包括多个存储单元。连接接口单元用以电性连接至主机系统。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块,并且用以发送读取指令序列,其中所述读取指令序列用以读取所述存储单元,以取得多个位。在此,存储器控制电路单元还用以获得多个可靠度信息,其中每一可靠度信息对应于所述位的其中之一。此外,存储器控制电路单元还用以计算所述可靠度信息中符合查验条件的多个可靠度信息的总和,并且将所述总和加上平衡信息以获得对应于所述位中的第一位与第一校验子的权重。存储器控制电路单元还用以判断所述位是否具有至少一错误,并且若所述位具有至少一错误,存储器控制电路单元还用以根据所述权重执行迭代解码程序。
在本发明的一范例实施例中,上述存储器控制电路单元判断所述位是否具有至少一错误的操作包括:存储器控制电路单元对所述位执行奇偶检验程序以取得包含所述第一校验子的多个校验子,其中每一所述位是对应至所述校验子的至少其中之一;以及存储器控制电路单元根据所述校验子判断所述位是否具有至少一错误。所述奇偶检验程序是根据奇偶检验矩阵所执行,并且所述奇偶检验矩阵包括多个限制。上述存储器控制电路单元计算所述可靠度信息中符合所述查验条件的所述可靠度信息的总和的操作包括:存储器控制电路单元根据所述限制中对应于所述第一校验子的第一限制,从所述可靠度信息中决定符合所述查验条件的可靠度信息。
在本发明的一范例实施例中,上述第一限制包括多个元素,而存储器控制电路单元根据所述第一限制从所述可靠度信息中决定符合所述查验条件的所述可靠度信息的操作包括:存储器控制电路单元根据所述元素中值是“1”的多个元素,从所述可靠度信息中决定符合所述查验条件的可靠度信息。
在本发明的一范例实施例中,上述存储器控制电路单元将所述总和加上所述平衡信息以获得对应于所述第一位与所述第一校验子的权重的操作包括:存储器控制电路单元将所述总和加上所述平衡信息以获得第一评估信息;以及存储器控制电路单元将所述第一评估信息除以一第二评估信息以获得对应于所述第一位与所述第一校验子的权重,其中所述第二评估信息是所述可靠度信息中对应于所述第一位的可靠度信息。
在本发明的一范例实施例中,上述存储器控制电路单元还用以从符合所述查验条件的所述可靠度信息中选择对应于所述位中的第二位的可靠度信息,其中所述第二位相异于所述第一位。存储器控制电路单元还用以将对应于所述第二位的所述可靠度信息乘上调整因子以获得所述平衡信息。
在本发明的一范例实施例中,上述对应于所述第二位的所述可靠度信息的值是符合所述查验条件的所述可靠度信息的值中最小的。
在本发明的一范例实施例中,上述对应于所述第二位的所述可靠度信息的值在符合所述查验条件的所述可靠度信息中仅大于所述第一位所对应的可靠度信息的值。
在本发明的一范例实施例中,上述平衡信息的值是正相关(positivecorrelation)于所述第一校验子在奇偶检验矩阵中所对应的第一限制的列权重。
基于上述,当从可复写式非易失性存储器模块中读取的位存在错误时,本发明的一范例实施例可以根据对应于各个位的权重值计算校验权重信息,并由此决定要更新哪些位。特别是,本发明范例实施例提出的解码方法、存储器控制电路单元与存储器存储装置是在每一限制中根据对应于每一个位的整体的可靠度信息、非对应于目前所计算的位的可靠度信息中的最小值以及对应于目前所计算的位的可靠度信息来计算出每一位的权重值。基此,可有效地增加解码的更正能力。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的范例示意图;
图2是根据本发明的一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的范例示意图;
图3是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的范例示意图;
图4是示出图1所示的存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的可复写式非易失性存储器模块的概要方块图;
图6是根据本发明的一范例实施例所示出的存储单元阵列的范例示意图;
图7是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图;
图8是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图9是根据本发明的一范例实施例所示出的奇偶检验矩阵的范例示意图;
图10是根据本发明的一范例实施例所示出的SLC型快闪存储器模块的临界电压分布的范例示意图;
图11是根据本发明的一范例实施例所示出的矩阵相乘的范例示意图;
图12是根据本发明的一范例实施例所示出的权重矩阵的范例示意图;
图13是根据本发明的一范例实施例所示出的码字、可靠度信息、奇偶检验矩阵与校验子之间的对应关系的范例示意图;
图14是根据本发明的一范例实施例所示出的计算出的权重的范例示意图;
图15是根据本发明的一范例实施例所示出的矩阵相乘的范例示意图;
图16是根据本发明的一范例实施例所示出的校验权重信息的范例示意图;
图17是根据本发明的一范例实施例所示出的解码方法的流程图。
附图标记说明:
1000:主机系统;
1100:电脑;
1102:微处理器;
1104:随机存取存储器;
1106:输入/输出装置;
1108:系统总线;
1110:数据传输接口;
1202:鼠标;
1204:键盘;
1206:显示器;
1208:打印机;
1212:U盘;
1214:存储卡;
1216:固态硬盘;
1310:数码相机;
1312:SD卡;
1314:MMC卡;
1316:记忆棒;
1318:CF卡;
1320:嵌入式存储装置;
100:存储器存储装置;
102:连接接口单元;
104:存储器控制电路单元;
106:可复写式非易失性存储器模块;
2202:存储单元阵列;
2204:字符线控制电路;
2206:位线控制电路;
2208:行解码器;
2210:数据输入/输出缓冲器;
2212:控制电路;
702:存储单元;
704:位线;
706:字符线;
708:共用源极线;
712、714:晶体管;
400(0)~400(N):实体程序化单元;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
208:差错校验电路;
210:缓冲存储器;
212:电源管理电路;
900:奇偶检验矩阵;
1010、1020:分布;
1001:读取电压;
1030:重叠区域;
1101:码字;
1103:可靠度信息向量;
1105:校验向量;
1200:权重矩阵;
S1701、S1703、S1705、S1707、S1709、S1711、S1713:解码方法的步骤。
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的范例示意图。图2是根据本发明的一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的范例示意图。
请参照图1,主机系统1000一般包括电脑1100与输入/输出(input/output;简称I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(random access memory;简称RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在一范例实施例中,存储器存储装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图2所示的U盘1212、存储卡1214或固态硬盘(Solid StateDrive;简称SSD)1216等的可复写式非易失性存储器存储装置。
图3是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的范例示意图。
一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,另一范例实施例中,主机系统1000可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄影机)1310时,可复写式非易失性存储器存储装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memory stick)1316、CF卡1318或嵌入式存储装置1320(如图3所示)。嵌入式存储装置1320包括嵌入式多媒体卡(Embedded MMC;简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图4是示出图1所示的存储器存储装置的概要方块图。
请参照图4,存储器存储装置100包括连接接口单元102、存储器控制电路单元104与可复写式非易失性存储器模块106。
在本范例实施例中,连接接口单元102是相容于串行高级技术附件(SerialAdvanced Technology Attachment;简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102也可以是符合并行高级技术附件(Parallel Advanced TechnologyAttachment;简称PATA)标准、电气和电子工程师协会(Institute of Electrical andElectronic Engineers;简称IEEE)1394标准、高速周边零件连接接口(PeripheralComponent Interconnect Express;简称PCI Express)标准、通用串行总线(UniversalSerial Bus;简称USB)标准、安全数字(Secure Digital;简称SD)接口标准、超高速一代(Ultra High Speed-I;简称UHS-I)接口标准、超高速二代(Ultra High Speed-II;简称UHS-II)接口标准、记忆棒(Memory Stick;简称MS)接口标准、多媒体存储卡(Multi MediaCard;简称MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card;简称eMMC)接口标准、通用快闪存储器(Universal Flash Storage;简称UFS)接口标准、小型快闪(Compact Flash;简称CF)接口标准、集成电路设备接口(Integrated DeviceElectronics;简称IDE)标准或其他适合的标准。连接接口单元102可与存储器控制电路单元104封装在一个芯片中,或者连接接口单元102是布设于一包含存储器控制电路单元104的芯片外。
存储器控制电路单元104用以执行以硬件形式或固件形式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制电路单元104,并且用以存储主机系统1000所写入的数据。可复写式非易失性存储器模块106可以是单阶存储单元(Single Level Cell;简称SLC)NAND型快闪存储器模块、多阶存储单元(Multi LevelCell;简称MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个位数据的快闪存储器模块)、复数阶存储单元(Triple Level Cell;简称TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个位数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
图5是根据本发明的一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。图6是根据本发明的一范例实施例所示出的存储单元阵列的范例示意图。
请参照图5,可复写式非易失性存储器模块106包括存储单元阵列2202、字符线控制电路2204、位线控制电路2206、行解码器(column decoder)2208、数据输入/输出缓冲器2210与控制电路2212。
在本范例实施例中,存储单元阵列2202可包括用以存储数据的多个存储单元702、多个选择栅漏极(select gate drain;简称SGD)晶体管712与多个选择栅源极(selectgate source;简称SGS)晶体管714、以及连接此些存储单元的多条位线704、多条字符线706、与共用源极线708(如图6所示)。存储单元702是以阵列方式(或立体堆叠的方式)配置在位线704与字符线706的交叉点上。当从存储器控制电路单元104接收到写入指令或读取指令时,控制电路2212会控制字符线控制电路2204、位线控制电路2206、行解码器2208、数据输入/输出缓冲器2210来写入数据至存储单元阵列2202或从存储单元阵列2202中读取数据,其中字符线控制电路2204用以控制施予至字符线706的电压,位线控制电路2206用以控制施予至位线704的电压,行解码器2208依据指令中的列位址以选择对应的位线,并且数据输入/输出缓冲器2210用以暂存数据。
可复写式非易失性存储器模块106中的每一个存储单元是以临界电压的改变来存储一或多个位。具体来说,每一个存储单元的控制栅极(control gate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷捕捉层的电子量,因而改变了存储单元的临界电压。此改变临界电压的程序也称为”把数据写入至存储单元”或”程序化存储单元”。随着临界电压的改变,存储单元阵列2202的每一个存储单元具有多个存储状态。并且通过读取电压可以判断存储单元是属于哪一个存储状态,藉此取得存储单元所存储的一或多个位。
图7是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图。
请参照图7,可复写式非易失性存储器模块106的存储单元702会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元400(0)~400(N)。具体来说,同一条字符线上的存储单元会组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的位,则同一条字符线上的实体程序化单元可被分类为下实体程序化单元与上实体程序化单元。例如,每一存储单元的LSB是属于下实体程序化单元,并且每一存储单元的MSB是属于上实体程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。在此范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面或是实体扇(sector)。若实体程序化单元为实体页面,则每一个实体程序化单元通常包括数据位区与冗余位区。数据位区包含多个实体扇,用以存储使用者的数据,而冗余位区用以存储系统的数据(例如,纠错码)。在本范例实施例中,每一个数据位区包含32个实体扇,且一个实体扇的大小为512位组(byte;简称B)。然而,在其他范例实施例中,数据位区中也可包含8个、16个或数目更多或更少的实体扇,本发明并不限制实体扇的大小以及个数。另一方面,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体区块。
图8是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图8,存储器控制电路单元104包括存储器管理电路202、主机接口204、存储器接口206及差错校验电路208。
存储器管理电路202用以控制存储器控制电路单元104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路202的操作时,等同于说明存储器控制电路单元104的操作,以下并不再赘述。
在本范例实施例中,存储器管理电路202的控制指令是以固件形式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路202的控制指令也可以程序码形式存储于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元104被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路202的控制指令也可以一硬件形式来实作。例如,存储器管理电路202包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块106的实体抹除单元;存储器写入单元用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取单元用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除单元用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204也可以是相容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
差错校验电路208是电性连接至存储器管理电路202并且用以执行差错校验程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,差错校验电路208会为对应此写入指令的数据产生对应的纠错码(error correctingcode;简称ECC)及/或检错码(error detecting code;简称EDC),并且存储器管理电路202会将对应此写入指令的数据与对应的纠错码或检错码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的纠错码或检错码,并且差错校验电路208会依据此纠错码或检错码对所读取的数据执行差错校验程序。
在一范例实施例中,存储器控制电路单元104还包括缓冲存储器210与电源管理电路212。
缓冲存储器210是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
电源管理电路212是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。
在此范例实施例中,差错校验电路208所使用的是低密度奇偶校验码(lowdensity parity code;简称LDPC)。然而,在另一范例实施例中,差错校验电路208所使用的也可以是BCH码、回旋码(convolutional code)、涡轮码(turbo code),但不限于此。
在此范例实施例中,差错校验电路208会根据一个低密度奇偶检查演算法来编码与解码。在低密度奇偶检查校正码中,是用一个奇偶检验矩阵来定义有效的码字。以下将奇偶检验矩阵标记为矩阵H,并且一码字标记为CW。依照以下方程式(1),若奇偶检验矩阵H与码字CW的相乘是零向量,表示码字CW为有效的码字。其中运算子表示模2(mod2)的矩阵相乘。换句话说,矩阵H的零空间(null space)便包含了所有的有效码字。然而,本发明并不限制码字CW的内容。例如,码字CW也可以包括用任意演算法所产生的纠错码或是检错码。
其中矩阵H的维度是m-乘-n(m-by-n),码字CW的维度是1-乘-n。m与n为正整数。码字CW中包括了信息位与奇偶位,即码字CW可以表示成[M P],其中向量M是由信息位所组成,向量P是由奇偶位所组成。向量M的维度是1-乘-(n-m),而向量P的维度是1-乘-m。以下将信息位与奇偶位统称为数据位。换句话说,码字CW中具有n个数据位,其中信息位的长度为(n-m)位,并且奇偶位的长度是m位,即码字CW的码率(code rate)为(n-m)/n。
一般来说在编码时会使用一个产生矩阵(以下标记为G),使得对于任意的向量M都可满足以下方程序(2)。其中产生矩阵G的维度是(n-m)-乘-n。
由方程式(2)所产生的码字CW为有效的码字。因此可将方程式(2)代入方程序(1),藉此得到以下方程序(3)。
由于向量M可以是任意的向量,因此以下方程式(4)必定会满足。也就是说,在决定奇偶检验矩阵H以后,对应的产生矩阵G也可被决定。
在解码一个码字CW时,会先对码字中的数据位执行一个奇偶检验程序,例如将奇偶检验矩阵H与码字CW相乘以产生一个向量(以下标记为S,如以下方程式(5)所示)。若向量S是零向量,则可直接输出码字CW。若向量S不是零向量,则表示码字CW不是有效的码字。
向量S的维度是m-乘-1,其中每一个元素也称为校验子(syndrome)。若码字CW不是有效的码字,则差错校验电路208会执行一个解码程序,以尝试更正码字CW中的错误位。在一范例实施例中,差错校验电路208所执行的解码程序为一迭代(iteration)解码程序。也就是说,解码的程序会不断的重复执行,直到成功的解出码字或执行次数到达一预定阈值为止。
图9是根据本发明的一范例实施例所示出的奇偶检验矩阵的范例示意图。
请参照图9,奇偶检验矩阵900的维度是4-乘-9,但本发明并不限制正整数m与n为多少。奇偶检验矩阵900的每一列(row)也代表了一限制(constraint)。例如,奇偶检验矩阵900的第一列至第四列分别代表第一限制至第四限制。奇偶检验矩阵900中的每一限制包括多个元素。以奇偶检验矩阵900的第一个列(即,第一限制)为例,若某一个码字是有效码字(valid codeword),则将此码字中第1、2、3与第4个位做模2(modulo-2)的加法之后,会得到位“0”。在此领域有通常知识者应能理解如何用奇偶检验矩阵900来编码,在此便不再赘述。此外,奇偶检验矩阵900仅为一个范例矩阵,而非用以限制本发明。
当存储器管理电路202要将多个位写入至可复写式非易失性存储器模块106时,差错校验电路208会对每(n-m)个欲被写入的位(即,信息位)都产生对应的m个奇偶位。接下来,存储器管理电路202会把这n个位作为一个码字写入至可复写式非易失性存储器模块106。
图10是根据本发明的一范例实施例所示出的SLC型快闪存储器模块的临界电压分布的范例示意图。
请参照图10,横轴代表存储单元的临界电压,而纵轴代表存储单元个数。例如,图10是表示一个实体程序化单元中各个存储单元的临界电压。在此假设当某一个存储单元的临界电压是落在分布1010时,此存储单元所存储的是位“1”;相反地,若某一个存储单元的临界电压是落在分布1020时,此存储单元所存储的是位“0”。值得一提的是,本范例实施例是以SLC型快闪存储器模块为例,因此临界电压的分布有两种可能。然而,在其他范例实施例中,临界电压的分布可能四种、八种或其他任意个可能,而读取电压可以在任意两个分布之间。此外,本发明也不限制每一个分布所代表的位。
当要从可复写式非易失性存储器模块106读取数据时,存储器管理电路202会发送一读取指令序列至可复写式非易失性存储器模块106。此读取指令序列包括一或多个指令或程序码,并且用以指示读取一个实体程序化单元中的多个存储单元以取得多个位。例如,根据读取电压1001来读取一个实体程序化单元中的多个存储单元。若某一个存储单元的临界电压小于此读取电压,则此存储单元会导通,并且存储器管理电路202会读到位“1”。相反地,若某一个存储单元的临界电压大于此读取电压,则此存储单元不会导通,并且存储器管理电路202会读到位“0”。
值得注意的是,分布1010与分布1020包含一个重叠区域1030。重叠区域1030表示有一些存储单元中所存储的应该是位“1”(属于分布1010),但其临界电压大于读取电压1001;或者,有一些存储单元中所存储的应该是位“0”(属于分布1020),但其临界电压小于读取电压1001。换句话说,所读取的位中,有部分的位会有错误。在另一范例实施例中,也可以从一个存储单元中读取出多个位,本发明不加以限制。此外,一次的读取也可以是读取一个实体扇中的多个存储单元或者任意数量的存储单元,本发明不加以限制。
在此范例实施例中,当存储器管理电路202从可复写式非易失性存储器模块106中读取n个位(形成一个码字)时,存储器管理电路202也会取得对应于每一个位的可靠度信息。在此,可靠度信息是用以表示对应的位被解码为位“1”或是“0”的机率(或称信心度)。特别是,当采用不同的演算法时,所获得的对应于每一位的可靠度信息的值会不相同。例如,差错校验电路208可以采用总和-乘积演算法(Sum-Product Algorithm)、最小值-总和演算法(Min-Sum Algorithm)、或是位翻转演算法(bit-flipping Algorithm),本发明并不限制采用何种演算法。
差错校验电路208会判断这些位是否具有至少一个错误。例如,在本范例实施例中,差错校验电路208会对这些位执行奇偶检验程序以取得多个校验子(syndrome),其中每一个位是对应至这些校验子的至少其中之一。换句话说,这些校验子可以组成上述向量S。在一范例实施例中,上述向量S也称为校验向量。差错校验电路208会根据校验向量S中的多个校验子判断这些位是否具有至少一个错误。例如,若校验向量S中的每一个校验子都是“0”,差错校验电路208会判定这些位不具有任何错误,并且判定由这些位组成的码字是有效码字;若校验向量S中的一或多个校验子是“1”,则差错校验电路208会判定这些位具有至少一个错误,并且判定由这些位所组成的码字不是有效码字。
图11是根据本发明的一范例实施例所示出的矩阵相乘的范例示意图。
请参照图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。
若码字1101中的位V1~V9没有错误,则差错校验电路208会输出码字1101中的位V1~V9。若位V1~V9具有至少一个错误,差错校验电路208会对位V1~V9执行一迭代解码程序以取得多个解码位。特别是,在执行一个迭代解码程序之前,差错校验电路208会获得对应于每一个位与每一个校验子的一个权重。这些权重可以利用一个权重矩阵来表示。这些权重也可以被记录在一查找表中。差错校验电路208会根据此些权重来执行迭代解码程序。或者,在一范例实施例中,获得对应于每一个位与每一个校验子的权重的操作,也可以视为是迭代解码程序的一部分,本发明不加以限制。
图12是根据本发明的一范例实施例所示出的权重矩阵的范例示意图。
请参照图12,权重矩阵1200中记载了权重W1,1~W4,9。其中,权重W1,1是对应于位V1与校验子S1;权重W1,2是对应于位V2与校验子S1;权重W2,1是对应于位V1与校验子S2,以此类推。权重矩阵1200的矩阵大小与奇偶检验矩阵900一致。例如,权重矩阵1200也具有m个列与n个行。
差错校验电路208会计算所获得的可靠度信息中符合一查验条件的多个可靠度信息的总和,并且将此总和加上对应的一平衡信息以获得权重矩阵1200中的一个权重。以下将以计算权重W1,1作为范例进行说明。
图13是根据本发明的一范例实施例所示出的码字、可靠度信息、奇偶检验矩阵与校验子之间的对应关系的范例示意图。
请参照图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。
在计算权重W1,1时,差错校验电路208会根据奇偶检验矩阵900中的第一限制,从可靠度信息向量1103中决定符合查验条件的多个可靠度信息。例如,差错校验电路208会根据第一限制所包括的元素中,其值是“1”的多个元素,从可靠度信息向量1103中决定符合此查验条件的多个可靠度信息。例如,在此范例实施例中,第一限制中从左边数过来的前四个元素的元素值是“1”,因此可靠度信息向量1103中符合查验条件的可靠度信息为“0.6”、“0.8”、“0.2”与“1.3”。之后,差错校验电路208会获得符合此查验条件的可靠度信息的总和为“2.9”。
在本范例实施例中,每一个限制都对应至一个平衡信息。差错校验电路208会将上述总和加上对应于第一限制的平衡信息以获得权重W1,1。更具体而言,差错校验电路208会将上述总和加上对应于第一限制的平衡信息以获得第一评估信息,并且将第一评估信息除以一第二评估信息以获得权重W1,1。
差错校验电路208会从上述符合查验条件的可靠度信息中选择对应于另一位(也称为第二位)的可靠度信息。其中,此第二位相异于第一位。也即,在此范例实施例中,此第二位是位V2~V4的其中之一。特别是,在本范例实施例中,所选出的对应于第二位的可靠度信息的值是所有符合查验条件的可靠度信息的值中最小的,或者对应于第二位的可靠度信息的值是在所有符合查验条件的可靠度信息中仅大于第一位所对应的可靠度信息的值。例如,在本范例实施例中,第一位(即,位V1)所对应的可靠度信息的值为“0.6”,因此,差错校验电路208会从“0.8”、“0.2”、“1.3”中选择其值为“0.2”的可靠度信息作为对应于第二位的可靠度信息。也就是说,在本范例实施例中,第二位为位V3,并且对应于第二位的可靠度信息为“0.2”。然而,在另一范例实施中,第二位也可以根据任意的条件来进行选择,本发明不加以限制。例如,在一范例实施例中,也可以将符合查验条件的可靠度信息输入一查找表或一演算法,并且将此查找表或此演算法的输出作为对应于第二位的可靠度信息。
在本范例实施例中,每一个限制都对应至一个调整因子α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。
其中,为根据对应于第m限制的符合查验条件的可靠度信息的总和,为第一评估信息,|yn|为第二评估信息,为对应于第二位的可靠度信息,并且为对应于第m限制的平衡信息。
在一范例实施例中,对应于第m限制的平衡信息的值是正相关于第m限制的列权重。例如,对应于第一限制的平衡信息的值是正相关于第一限制的列权重;对应于第二限制的平衡信息的值是正相关于第二限制的列权重,以此类推。举例而言,差错校验电路208会根据第一限制中值是“1”的元素的个数来决定第一限制的列权重。例如,在图13的范例实施例中,第一限制中有四个元素的值是“1”,因此差错校验电路208会决定第一限制的列权重为“4”。以此类推,第二限制的列权重为“6”,第三限制的列权重为“6”,并且第四限制的列权重为“4”。此外,在另一范例实施例中,对应于第m限制的平衡信息的值也可以是负相关于或不相关于第m限制的列权重,本发明不加以限制。
在一范例实施例中,差错校验电路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。
其中,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”。
根据上述操作,差错校验电路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中其余的权重的计算可依此类推,在此不加以赘述。
图14是根据本发明的一范例实施例所示出的计算出的权重的范例示意图。
请参照图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”。
图15是根据本发明的一范例实施例所示出的矩阵相乘的范例示意图。
请参照图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的校验权重信息。
其中,向量En即可用来表示每一位V1~V9的校验权重信息。
差错校验电路208会根据位V1~V9的校验权重信息来翻转(flip)这些位的至少其中之一。例如,差错校验电路208会将某一个或多个位从“1”翻转成“0”或者从“0”翻转成“1”。在一范例实施例中,上述翻转位的操作也称为位翻转(bit flipping)。具体而言,在每一次的迭代解码程序中,一个码字中最多只会有一个位被翻转。例如,此被翻转的位的校验权重信息的值会大于其他没有被翻转的位的校验权重信息的值。此外,在另一范例实施例中,差错校验电路208会判断码字1101中的每一个位的校验权重信息是否符合一权重条件。例如,差错校验电路208会判断每一个位的校验权重信息的值是否大于一阈值。倘若某一个位的校验权重信息的值大于此阈值时,则差错校验电路208会判定此位的校验权重信息符合权重条件,并且翻转此位。换句话说,在一范例实施例中,被翻转的位的校验权重信息即为符合权重条件的校验权重信息。
图16是根据本发明的一范例实施例所示出的校验权重信息的范例示意图。
请参照图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会决定是要执行另一次的迭代解码程序或停止解码。
在此范例实施例中,若差错校验电路208判定码字1101中存在错误,则差错校验电路208会计数一迭代次数,例如,将迭代次数加1,并且判断计数后的迭代次数是否达到一中止次数。在此,中止次数例如是30次或者更多或更少。若计数后的迭代次数达到中止次数,则差错校验电路208会判定解码失败,并且停止解码。若计数后的迭代次数没有达到中止次数,则差错校验电路208会执行另一次的迭代解码程序。
图17是根据本发明的一范例实施例所示出的解码方法的流程图。
请参照图17,首先,在步骤S1701中,发送一读取指令序列,其中所述读取指令序列用以读取多个存储单元以取得多个位。在步骤S1703中,获得对应于每一位的可靠度信息。接着,在步骤S1705中,计算所述可靠度信息中符合查验条件的多个可靠度信息的总和。在步骤S1707中,将所述总和加上一平衡信息以获得对应于所述位中的第一位与第一校验子的权重。之后,在步骤S1709中,判断所述位是否具有至少一错误。若所述位具有所述至少一错误,在步骤S1711中,根据所述权重执行迭代解码程序。若所述位不具有所述错误,在步骤S1713中,输出所述位。
然而,图17中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图17中各步骤可以实作为多个程序码或是电路,本发明并不在此限。此外,图17的方法可以搭配以上实施例使用,也可以单独使用,本发明并不在此限。
综上所述,当从可复写式非易失性存储器模块中读取的位存在错误时,本发明范例实施例的解码方法、存储器控制电路单元与存储器存储装置会给予对应于码字中不同位与不同校验子的权重适当的权重值。藉此,可增加根据校验权重信息来进行解码的解码效率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种解码方法,用于可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块包括多个存储单元,该解码方法包括:
发送读取指令序列,其中该读取指令序列用以读取所述多个存储单元,以取得多个位;
获得多个可靠度信息,其中所述多个可靠度信息分别对应于所述多个位的其中之一;
计算所述多个可靠度信息中符合查验条件的多个可靠度信息的总和;
将该总和加上平衡信息以获得对应于所述多个位中的第一位与第一校验子的权重;
判断所述多个位是否具有至少一错误;以及
若所述多个位具有该至少一错误,根据该权重执行迭代解码程序,以更正该至少一错误。
2.根据权利要求1所述的解码方法,其特征在于,判断所述多个位是否具有该至少一错误的步骤包括:
对所述多个位执行奇偶检验程序以取得包含该第一校验子的多个校验子,其中每一所述多个位是对应至所述多个校验子的至少其中之一;以及
根据所述多个校验子判断所述多个位是否具有该至少一错误,
其中该奇偶检验程序是根据奇偶检验矩阵所执行,并且该奇偶检验矩阵包括多个限制,
其中计算所述多个可靠度信息中符合该查验条件的所述多个可靠度信息的该总和的步骤包括:
根据所述多个限制中对应于该第一校验子的第一限制,从所述多个可靠度信息中决定符合该查验条件的所述多个可靠度信息。
3.根据权利要求2所述的解码方法,其特征在于,该第一限制包括多个元素,而根据该第一限制从所述多个可靠度信息中决定符合该查验条件的所述多个可靠度信息的步骤包括:
根据所述多个元素中值是“1”的多个元素,从所述多个可靠度信息中决定符合该查验条件的所述多个可靠度信息。
4.根据权利要求1所述的解码方法,其特征在于,将该总和加上该平衡信息以获得对应于该第一位与该第一校验子的该权重的步骤包括:
将该总和加上该平衡信息以获得第一评估信息;以及
将该第一评估信息除以第二评估信息以获得对应于该第一位与该第一校验子的该权重,其中该第二评估信息是所述多个可靠度信息中对应于该第一位的可靠度信息。
5.根据权利要求1所述的解码方法,其特征在于,还包括:
从符合该查验条件的所述多个可靠度信息中选择对应于所述多个位中的第二位的可靠度信息,其中该第二位相异于该第一位;并且
将对应于该第二位的该可靠度信息乘上调整因子以获得该平衡信息。
6.根据权利要求5所述的解码方法,其特征在于,对应于该第二位的该可靠度信息的值是符合该查验条件的所述多个可靠度信息的值中最小的。
7.根据权利要求5所述的解码方法,其特征在于,对应于该第二位的该可靠度信息的值是在符合该查验条件的所述多个可靠度信息中仅大于该第一位所对应的可靠度信息的值。
8.根据权利要求1所述的解码方法,其特征在于,该平衡信息的值是正相关于该第一校验子在奇偶检验矩阵中所对应的第一限制的列权重。
9.一种存储器控制电路单元,用于可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块包括多个存储单元,该存储器控制电路单元包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至该可复写式非易失性存储器模块;
存储器管理电路,电性连接至该主机接口与该存储器接口,并且用以发送读取指令序列,其中该读取指令序列用以读取所述多个存储单元,以取得多个位;以及
差错校验电路,电性连接至该存储器管理电路,用以获得多个可靠度信息,其中所述多个可靠度信息分别对应于所述多个位的其中之一;
该差错校验电路还用以计算所述多个可靠度信息中符合查验条件的多个可靠度信息的总和,
该差错校验电路还用以将该总和加上平衡信息以获得对应于所述多个位中的第一位与第一校验子的权重,
该差错校验电路还用以判断所述多个位是否具有至少一错误,
若所述多个位具有该至少一错误,该差错校验电路还用以根据该权重执行迭代解码程序,以更正该至少一错误。
10.根据权利要求9所述的存储器控制电路单元,其特征在于,该差错校验电路判断所述多个位是否具有该至少一错误的操作包括:
该差错校验电路对所述多个位执行奇偶检验程序以取得包含该第一校验子的多个校验子,其中每一所述多个位是对应至所述多个校验子的至少其中之一;以及
该差错校验电路根据所述多个校验子判断所述多个位是否具有该至少一错误,
其中该奇偶检验程序是根据奇偶检验矩阵所执行,并且该奇偶检验矩阵包括多个限制,
其中该差错校验电路计算所述多个可靠度信息中符合该查验条件的所述多个可靠度信息的该总和的操作包括:
该差错校验电路根据所述多个限制中对应于该第一校验子的第一限制,从所述多个可靠度信息中决定符合该查验条件的所述多个可靠度信息。
11.根据权利要求10所述的存储器控制电路单元,其特征在于,该第一限制包括多个元素,而该差错校验电路根据该第一限制从所述多个可靠度信息中决定符合该查验条件的所述多个可靠度信息的操作包括:
该差错校验电路根据所述多个元素中值是“1”的多个元素,从所述多个可靠度信息中决定符合该查验条件的所述多个可靠度信息。
12.根据权利要求9所述的存储器控制电路单元,其特征在于,该差错校验电路将该总和加上该平衡信息以获得对应于该第一位与该第一校验子的该权重的操作包括:
该差错校验电路将该总和加上该平衡信息以获得第一评估信息;以及
该差错校验电路将该第一评估信息除以第二评估信息以获得对应于该第一位与该第一校验子的该权重,其中该第二评估信息是所述多个可靠度信息中对应于该第一位的可靠度信息。
13.根据权利要求9所述的存储器控制电路单元,其特征在于,该差错校验电路还用以从符合该查验条件的所述多个可靠度信息中选择对应于所述多个位中的第二位的可靠度信息,其中该第二位相异于该第一位,
该差错校验电路还用以将对应于该第二位的该可靠度信息乘上调整因子以获得该平衡信息。
14.根据权利要求13所述的存储器控制电路单元,其特征在于,对应于该第二位的该可靠度信息的值是符合该查验条件的所述多个可靠度信息的值中最小的。
15.根据权利要求13所述的存储器控制电路单元,其特征在于,对应于该第二位的该可靠度信息的值在符合该查验条件的所述多个可靠度信息中仅大于该第一位所对应的可靠度信息的值。
16.根据权利要求9所述的存储器控制电路单元,其特征在于,该平衡信息的值是正相关于该第一校验子在奇偶检验矩阵中所对应的第一限制的列权重。
17.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,包括多个存储单元;以及
存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,
其中该存储器控制电路单元用以发送读取指令序列,其中该读取指令序列用以读取所述多个存储单元,以取得多个位,
该存储器控制电路单元还用以获得多个可靠度信息,其中所述多个可靠度信息分别对应于所述多个位的其中之一,
该存储器控制电路单元还用以计算所述多个可靠度信息中符合查验条件的多个可靠度信息的总和,
该存储器控制电路单元还用以将该总和加上平衡信息以获得对应于所述多个位中的第一位与第一校验子的一权重,
该存储器控制电路单元还用以判断所述多个位是否具有至少一错误,
若所述多个位具有该至少一错误,该存储器控制电路单元还用以根据该权重执行一迭代解码程序,以更正该至少一错误。
18.根据权利要求17所述的存储器存储装置,其特征在于,该存储器控制电路单元判断所述多个位是否具有该至少一错误的操作包括:
该存储器控制电路单元对所述多个位执行奇偶检验程序以取得包含该第一校验子的多个校验子,其中每一所述多个位是对应至所述多个校验子的至少其中之一;以及
该存储器控制电路单元根据所述多个校验子判断所述多个位是否具有该至少一错误,
其中该奇偶检验程序是根据奇偶检验矩阵所执行,并且该奇偶检验矩阵包括多个限制,
其中该存储器控制电路单元计算所述多个可靠度信息中符合该查验条件的所述多个可靠度信息的该总和的操作包括:
该存储器控制电路单元根据所述多个限制中对应于该第一校验子的第一限制,从所述多个可靠度信息中决定符合该查验条件的所述多个可靠度信息。
19.根据权利要求18所述的存储器存储装置,其特征在于,该第一限制包括多个元素,而该存储器控制电路单元根据该第一限制从所述多个可靠度信息中决定符合该查验条件的所述多个可靠度信息的操作包括:
该存储器控制电路单元根据所述多个元素中值是“1”的多个元素,从所述多个可靠度信息中决定符合该查验条件的所述多个可靠度信息。
20.根据权利要求17所述的存储器存储装置,其特征在于,该存储器控制电路单元将该总和加上该平衡信息以获得对应于该第一位与该第一校验子的该权重的操作包括:
该存储器控制电路单元将该总和加上该平衡信息以获得第一评估信息;以及
该存储器控制电路单元将该第一评估信息除以第二评估信息以获得对应于该第一位与该第一校验子的该权重,其中该第二评估信息是所述多个可靠度信息中对应于该第一位的可靠度信息。
21.根据权利要求17所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以从符合该查验条件的所述多个可靠度信息中选择对应于所述多个位中的第二位的可靠度信息,其中该第二位相异于该第一位,
该存储器控制电路单元还用以将对应于该第二位的该可靠度信息乘上调整因子以获得该平衡信息。
22.根据权利要求21所述的存储器存储装置,其特征在于,对应于该第二位的该可靠度信息的值是符合该查验条件的所述多个可靠度信息的值中最小的。
23.根据权利要求21所述的存储器存储装置,其特征在于,对应于该第二位的该可靠度信息的值在符合该查验条件的所述多个可靠度信息中仅大于该第一位所对应的可靠度信息的值。
24.根据权利要求17所述的存储器存储装置,其特征在于,该平衡信息的值是正相关于该第一校验子在奇偶检验矩阵中所对应的第一限制的列权重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410347359.6A CN105304143B (zh) | 2014-07-21 | 2014-07-21 | 解码方法、存储器控制电路单元及存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410347359.6A CN105304143B (zh) | 2014-07-21 | 2014-07-21 | 解码方法、存储器控制电路单元及存储器存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105304143A CN105304143A (zh) | 2016-02-03 |
CN105304143B true CN105304143B (zh) | 2018-10-02 |
Family
ID=55201293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410347359.6A Active CN105304143B (zh) | 2014-07-21 | 2014-07-21 | 解码方法、存储器控制电路单元及存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105304143B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015880B (zh) * | 2016-01-28 | 2020-06-30 | 京微雅格(北京)科技有限公司 | 一种fpga电路和其配置文件处理方法 |
TWI631830B (zh) * | 2016-12-30 | 2018-08-01 | 慧榮科技股份有限公司 | 解碼方法與相關解碼裝置 |
DE102017116280B4 (de) * | 2017-07-19 | 2024-02-22 | Infineon Technologies Ag | Speicheranordnung |
CN113485637A (zh) * | 2021-05-11 | 2021-10-08 | 广州炒米信息科技有限公司 | 数据存储方法、装置及计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512661A (zh) * | 2006-05-12 | 2009-08-19 | 爱诺彼得技术有限责任公司 | 用于存储设备的失真估计与纠错编码的组合 |
CN102932006A (zh) * | 2012-11-19 | 2013-02-13 | 电子科技大学 | 基于平均幅度的低密度奇偶校验码加权比特翻转解码方法 |
CN103971751A (zh) * | 2013-01-31 | 2014-08-06 | Lsi公司 | 以选择性二进制及非二进制解码在闪存中进行检测和解码 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996745B2 (en) * | 2005-05-19 | 2011-08-09 | Stmicroelectronics S.R.L. | ECC for single 4-bits symbol correction of 32 symbols words with 21 maximum row weight matrix |
US9086984B2 (en) * | 2011-01-04 | 2015-07-21 | Seagate Technology Llc | Detection and decoding in flash memories with selective binary and non-binary decoding |
-
2014
- 2014-07-21 CN CN201410347359.6A patent/CN105304143B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512661A (zh) * | 2006-05-12 | 2009-08-19 | 爱诺彼得技术有限责任公司 | 用于存储设备的失真估计与纠错编码的组合 |
CN102932006A (zh) * | 2012-11-19 | 2013-02-13 | 电子科技大学 | 基于平均幅度的低密度奇偶校验码加权比特翻转解码方法 |
CN103971751A (zh) * | 2013-01-31 | 2014-08-06 | Lsi公司 | 以选择性二进制及非二进制解码在闪存中进行检测和解码 |
Also Published As
Publication number | Publication date |
---|---|
CN105304143A (zh) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102643457B1 (ko) | Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법 | |
TWI541820B (zh) | 解碼方法、記憶體控制電路單元及記憶體儲存裝置 | |
US9529666B2 (en) | Decoding method, memory storage device and memory controlling circuit unit | |
US9543983B2 (en) | Decoding method, memory storage device and memory control 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 | |
US9268634B2 (en) | Decoding method, memory storage device and memory controlling circuit unit | |
US9583217B2 (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 (zh) | 解碼方法、記憶體儲存裝置與非揮發性記憶體模組 | |
TWI612527B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN104601178B (zh) | 解码方法、解码电路、存储器存储装置与控制电路单元 | |
US9274891B2 (en) | Decoding method, memory storage device, and memory controlling circuit unit | |
US10193569B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
US10009045B2 (en) | Decoding method, memory controlling circuit unit and memory storage device | |
CN105022674A (zh) | 解码方法、存储器存储装置、存储器控制电路单元 | |
CN104424045B (zh) | 解码方法、存储器储存装置与非易失性存储器模块 | |
CN105023613A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN104733044A (zh) | 译码方法、存储器存储装置、存储器控制电路单元 | |
CN105304142A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN105304143B (zh) | 解码方法、存储器控制电路单元及存储器存储装置 | |
CN104778975B (zh) | 译码方法、存储器存储装置、存储器控制电路单元 | |
CN105575440A (zh) | 错误处理方法、存储器储存装置及存储器控制电路单元 | |
CN107301873B (zh) | 译码方法、存储器储存装置及存储器控制电路单元 | |
CN107590018B (zh) | 译码方法、存储器控制电路单元及存储器存储装置 |
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 |