CN104851458A - 解码方法、存储器存储装置与存储器控制电路单元 - Google Patents
解码方法、存储器存储装置与存储器控制电路单元 Download PDFInfo
- Publication number
- CN104851458A CN104851458A CN201410054692.8A CN201410054692A CN104851458A CN 104851458 A CN104851458 A CN 104851458A CN 201410054692 A CN201410054692 A CN 201410054692A CN 104851458 A CN104851458 A CN 104851458A
- Authority
- CN
- China
- Prior art keywords
- reading
- verification
- those
- summation
- 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
- Read Only Memory (AREA)
Abstract
本发明提供一种解码方法、存储器存储装置与存储器控制电路单元。此解码方法包括:发送第一读取指令序列,用以指示根据第一读取电压读取存储包以取得多个第一验证比特;根据第一验证比特执行奇偶检查程序以取得多个校验子;根据校验子决定不同于第一读取电压的第二读取电压;发送第二读取指令序列,用以指示根据第二读取电压读取存储包以取得多个第二验证比特;以及根据第二验证比特执行一解码程序。由此,可以增加解码的更正能力。
Description
技术领域
本发明是有关于一种解码方法,且特别是有关于一种可复写式非易失性存儲器模块的解码方法、存储器存储装置与存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存儲器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建在上述所举例的各种可携式多媒体装置中。
一般来说,写入至可复写式非易失性存儲器模块的数据都会根据一个错误更正码来编码。从可复写式非易失性存儲器模块中所读取的数据也会经过对应的解码程序。在一些情况下,若所读取的数据中有错误位,并且这些错误位无法被更正,则需要的解码时间会更长。此外,解码程序的种类至少可以包括硬比特模式解码程序与软比特模式解码程序。一般来说软比特模式解码程序的更正能力比硬比特模式解码程序的更正能力好。但若没有支持软比特模式解码程序,则更正能力会下降。因此,如何增加解码的速度或增加解码的更正能力,为此领域技术人员所关心的议题。
发明内容
本发明提供一种解码方法、存储器存储装置与存储器控制电路单元,可以增加更正能力。
本发明一范例实施例提出一种解码方法,用于可复写式非易失性存儲器模块。此可复写式非易失性存儲器模块包括多个第一存储包。上述的解码方法包括:发送第一读取指令序列,用以指示根据第一读取电压读取第一存储包以取得多个第一验证比特;根据第一验证比特执行一奇偶检查程序以取得多个第一校验子;根据第一校验子决定不同于第一读取电压的第二读取电压;发送第二读取指令序列,用以指示根据第二读取电压读取第一存储包以取得多个第二验证比特;以及根据第二验证比特执行第一解码程序。
在一范例实施例中,其中根据第一校验子决定第二读取电压的步骤包括:根据第一校验子计算一校验总和;根据校验总和更新一校验总和信息;判断校验总和信息是否符合一平衡条件;以及根据校验总和信息是否符合平衡条件来增加或是减少第一读取电压以取得第二读取电压。
在一范例实施例中,上述的校验总和信息为一校验总和向量,并且根据校验总和更新校验总和信息的步骤包括:将校验总和加入校验总和向量当中。上述判断校验总和信息是否符合平衡条件的步骤包括:取得校验总和向量的一微分向量;计算微分向量的总和;以及判断微分向量的总和是否小于一平衡临界值。
在一范例实施例中,上述根据校验总和信息是否符合平衡条件来增加或是减少第一读取电压以取得第二读取电压的步骤包括:若微分向量的总和小于平衡临界值,根据读取电压表增加第一读取电压以取得第二读取电压;以及若微分向量的总和大于等于平衡临界值,根据读取电压表减少第一读取电压以取得第二读取电压。
在一范例实施例中,上述的第一解码程序为一软比特模式解码程序,并且根据第二验证比特执行第一解码程序的步骤包括:根据第二验证比特执行奇偶检查程序以取得多个第二校验子;根据第二校验子重新决定第二读取电压;发出第三读取指令序列,用以指示根据重新决定的第二读取电压读取第一存储包以重新取得第二验证比特;判断一重复读取条件是否满足;若重复读取条件满足,重复执行所述重新决定第二读取电压的步骤,以及发出第三读取指令序列的步骤,直到满足重复读取条件;若重复读取条件不满足,根据第一验证比特、第二验证比特以及重新取得的第二验证比特执行软比特模式解码程序。
在一范例实施例中,上述根据第一验证比特、第二验证比特以及重新取得的第二验证比特执行软比特模式解码程序的步骤包括:将第一验证比特、第二验证比特以及重新取得的第二验证比特分别相加,以取得多个验证数值;根据验证数值取得多个通道可靠度信息;以及根据通道可靠度信息执行软比特模式解码程序。
在一范例实施例中,上述判断重复读取条件是否满足的步骤包括:判断一读取次数是否大于一读取临界值;若读取次数大于读取临界值,判断重复读取条件不满足;以及若读取次数不大于读取临界值,判断重复读取条件被满足。
在一范例实施例中,在根据第一校验子决定第二读取电压的步骤之前,解码方法还包括:根据第一校验子计算一校验总和;判断校验总和是否小于第一校验临界值;若校验总和小于第一校验临界值,由第一更正电路执行第一硬比特模式解码程序;若校验总和大于等于第一校验临界值,判断校验总和是否小于第二校验临界值;以及若校验总和小于第二校验临界值,由第二更正电路执行第二硬比特模式解码程序,其中第一更正电路的一精准度小于第二更正电路的一精准度。
在一范例实施例中,上述的解码方法还包括:若校验总和大于等于第二校验临界值,判断校验总和是否小于第三校验临界值;若校验总和小于第三校验临界值,判断是否支持一软比特模式解码程序;若支持软比特模式解码程序,执行软比特模式解码程序;若不支持软比特模式解码程序或校验总和大于等于第三校验临界值,判断一读取次数是否大于一读取临界值;以及若读取次数不大于读取临界值,执行所述根据第一校验子决定第二读取电压的步骤。
本发明一范例实施例提出一种存储器存储装置,包括连接接口单元、上述的可复写式非易失性存儲器模块与存储器控制电路单元。存储器控制电路单元是电性连接至连接接口单元与可复写式非易失性存儲器模块,用以发送第一读取指令序列。第一读取指令序列用以指示根据第一读取电压读取第一存储包以取得多个第一验证比特。存储器控制电路单元也用以根据第一验证比特执行奇偶检查程序以取得多个第一校验子,并且根据第一校验子决定不同于第一读取电压的第二读取电压。存储器控制电路单元还用以发送第二读取指令序列,以指示根据第二读取电压读取第一存储包以取得多个第二验证比特。存储器控制电路单元根据第二验证比特执行第一解码程序。
在一范例实施例中,上述存储器控制电路单元根据第一校验子决定第二读取电压的操作包括:存储器控制电路单元根据第一校验子计算一校验总和,根据校验总和更新一校验总和信息,并且判断校验总和信息是否符合一平衡条件。存储器控制电路单元根据校验总和信息是否符合平衡条件来增加或是减少第一读取电压以取得第二读取电压。
在一范例实施例中,上述的校验总和信息为一校验总和向量。存储器控制电路单元根据校验总和更新校验总和信息的操作包括:将校验总和加入校验总和向量当中。存储器控制电路单元判断校验总和信息是否符合平衡条件的操作包括:存储器控制电路单元取得校验总和向量的一微分向量,计算微分向量的一总和,并且判断微分向量的总和是否小于一平衡临界值。
在一范例实施例中,上述存储器控制电路单元根据校验总和信息是否符合平衡条件来增加或是减少第一读取电压以取得第二读取电压的操作包括:若微分向量的总和小于平衡临界值,存储器控制电路单元根据一读取电压表增加第一读取电压以取得第二读取电压;以及若微分向量的总和大于等于平衡临界值,存储器控制电路单元根据读取电压表减少第一读取电压以取得第二读取电压。
在一范例实施例中,上述的第一解码程序为一软比特模式解码程序。存储器控制电路单元根据第二验证比特执行第一解码程序的操作包括:存储器控制电路单元根据第二验证比特执行奇偶检查程序以取得多个第二校验子,根据第二校验子重新决定第二读取电压,并且发出第三读取指令序列。第三读取指令序列是用以指示根据重新决定的第二读取电压读取第一存储包以重新取得第二验证比特。存储器控制电路单元判断一重复读取条件是否满足。若重复读取条件满足,存储器控制电路单元重复执行所述重新决定第二读取电压的步骤,以及发出第三读取指令序列的步骤,直到满足重复读取条件。若重复读取条件不满足,存储器控制电路单元根据第一验证比特、第二验证比特以及重新取得的第二验证比特执行软比特模式解码程序。
在一范例实施例中,上述存储器控制电路单元根据第一验证比特、第二验证比特以及重新取得的第二验证比特执行软比特模式解码程序的操作包括:存储器控制电路单元将第一验证比特、第二验证比特以及重新取得的第二验证比特分别相加,以取得多个验证数值;存储器控制电路单元根据验证数值取得多个通道可靠度信息;以及存储器控制电路单元根据通道可靠度信息执行软比特模式解码程序。
在一范例实施例中,上述存储器控制电路单元判断重复读取条件是否满足的操作包括:存储器控制电路单元判断一读取次数是否大于一读取临界值;若读取次数大于读取临界值,存储器控制电路单元判断重复读取条件不满足;以及若读取次数不大于读取临界值,存储器控制电路单元判断重复读取条件被满足。
在一范例实施例中,上述的存储器控制电路单元包括第一更正电路与第二更正电路,并且第一更正电路的精准度小于第二更正电路的精准度。存储器控制电路单元还用以根据第一校验子计算校验总和,并且判断校验总和是否小于第一校验临界值。若校验总和小于第一校验临界值,第一更正电路执行第一硬比特模式解码程序。若校验总和大于等于第一校验临界值,存储器控制电路单元判断校验总和是否小于第二校验临界值。若校验总和小于第二校验临界值,第二更正电路执行第二硬比特模式解码程序。
在一范例实施例中,若校验总和大于等于第二校验临界值,存储器控制电路单元还用以判断校验总和是否小于第三校验临界值。若校验总和小于第三校验临界值,存储器控制电路单元还用以判断是否支持一软比特模式解码程序。若支持软比特模式解码程序,存储器控制电路单元还用以执行软比特模式解码程序。若不支持软比特模式解码程序或校验总和大于等于第三校验临界值,存储器控制电路单元还用以判断一读取次数是否大于一读取临界值。若读取次数不大于读取临界值,存储器控制电路单元还用以执行所述根据第一校验子决定第二读取电压的操作。
本发明一范例实施例提出一种存储器控制电路单元,用于控制上述的可复写式非易失性存儲器模块。存储器控制电路单元包括主机接口、存储器接口、存储器管理电路以及错误检查与校正电路。存储器接口是用以电性连接至可复写式非易失性存儲器模块。存储器管理电路,电性连接至主机接口与存储器接口,用以发送第一读取指令序列。第一读取指令序列是用以指示根据第一读取电压读取第一存储包以取得多个第一验证比特。错误检查与校正电路用以根据第一验证比特执行奇偶检查程序以取得多个第一校验子。存储器管理电路用以根据第一校验子决定不同于第一读取电压的第二读取电压。存储器管理电路用以发送第二读取指令序列,以指示根据第二读取电压读取第一存储包以取得多个第二验证比特。错误检查与校正电路用以根据第二验证比特执行第一解码程序。
在一范例实施例中,上述存储器管理电路根据第一校验子决定第二读取电压的操作包括:存储器管理电路根据第一校验子计算校验总和,根据校验总和更新校验总和信息,并且判断校验总和信息是否符合一平衡条件。存储器管理电路根据校验总和信息是否符合平衡条件来增加或是减少第一读取电压以取得第二读取电压。
在一范例实施例中,上述的校验总和信息为校验总和向量,并且存储器管理电路根据校验总和更新校验总和信息的操作包括:存储器管理电路将校验总和加入校验总和向量当中。存储器管理电路判断校验总和信息是否符合平衡条件的操作包括:存储器管理电路取得校验总和向量的一微分向量,计算微分向量的一总和,并且判断微分向量的总和是否小于一平衡临界值。
在一范例实施例中,上述存储器管理电路根据校验总和信息是否符合平衡条件来增加或是减少第一读取电压以取得第二读取电压的操作包括:若微分向量的总和小于平衡临界值,存储器管理电路根据一读取电压表增加第一读取电压以取得第二读取电压;以及若微分向量的总和大于等于平衡临界值,存储器管理电路根据读取电压表减少第一读取电压以取得第二读取电压。
在一范例实施例中,上述的第一解码程序为软比特模式解码程序。错误检查与校正电路还用以根据第二验证比特执行奇偶检查程序以取得多个第二校验子。存储器管理电路还用以根据第二校验子重新决定第二读取电压,并且发出第三读取指令序列。其中第三读取指令序列用以指示根据重新决定的第二读取电压读取第一存储包以重新取得第二验证比特。存储器管理电路还用以判断一重复读取条件是否满足。若重复读取条件满足,存储器管理电路还用以重复执行所述重新决定第二读取电压的步骤,以及发出第三读取指令序列的步骤,直到满足重复读取条件。若重复读取条件不满足,错误检查与校正电路还用以根据第一验证比特、第二验证比特以及重新取得的第二验证比特执行软比特模式解码程序。
在一范例实施例中,上述的存储器管理电路还用以将第一验证比特、第二验证比特以及重新取得的第二验证比特分别相加,以取得多个验证数值。存储器管理电路还用以根据验证数值取得多个通道可靠度信息。错误检查与校正电路还用以根据通道可靠度信息执行软比特模式解码程序。
在一范例实施例中,上述存储器管理电路判断重复读取条件是否满足的操作包括:存储器管理电路判断读取次数是否大于读取临界值;若读取次数大于读取临界值,存储器管理电路判断重复读取条件不满足;以及若读取次数不大于读取临界值,存储器管理电路判断重复读取条件被满足。
在一范例实施例中,上述的错误检查与校正电路包括第一更正电路与第二更正电路,并且第一更正电路的精准度小于第二更正电路的精准度。其中,存储器管理电路还用以根据第一校验子计算校验总和,并且判断校验总和是否小于第一校验临界值。若校验总和小于第一校验临界值,第一更正电路执行第一硬比特模式解码程序。若校验总和大于等于第一校验临界值,存储器管理电路判断校验总和是否小于第二校验临界值。若校验总和小于第二校验临界值,第二更正电路执行第二硬比特模式解码程序。
在一范例实施例中,若校验总和大于等于第二校验临界值,存储器管理电路还用以判断校验总和是否小于第三校验临界值。若校验总和小于第三校验临界值,存储器管理电路还用以判断是否支持一软比特模式解码程序。若支持软比特模式解码程序,错误检查与校正电路还用以执行软比特模式解码程序。若不支持软比特模式解码程序或校验总和大于等于第三校验临界值,存储器管理电路还用以判断读取次数是否大于读取临界值。若读取次数不大于读取临界值,存储器管理电路还用以执行所述根据第一校验子决定第二读取电压的操作。
本发明范例实施例提出一种存储器存储装置,包括连接接口单元、可复写式非易失性存儲器模块与存储器控制电路单元。存储器控制电路单元是电性连接至连接接口单元与可复写式非易失性存儲器模块,用以根据可复写式非易失性存儲器模块的一辨识码来判断是否支持一软比特模式解码程序。若判断支持软比特模式解码程序,存储器控制电路单元用以取得一默认查找表,并且根据预设查找表执行软比特模式解码程序。若判断不支持软比特模式解码程序,存储器控制电路单元用以建立一查找表,并且根据查找表执行软比特模式解码程序。
在一范例实施例中,存储器控制电路单元建立查找表的操作包括下列操作。存储器控制电路单元发送第一读取指令序列,其中第一读取指令序列用以指示根据第一读取电压读取可复写式非易失性存儲器模块中的多个第一存储包以取得多个第一验证比特。存储器控制电路单元根据第一验证比特执行奇偶检查程序以取得多个第一校验子,并且根据第一校验子决定第二读取电压,其中第二读取电压不同于第一读取电压。存储器控制电路单元发送第二读取指令序列,其中第二读取指令序列用以指示根据第二读取电压读取第一存储包以取得多个第二验证比特。存储器控制电路单元根据第一验证比特与第二验证比特建立查找表。
在一范例实施例中,存储器控制电路单元根据第一验证比特与第二验证比特建立查找表建立查找表操作包括以下操作。存储器控制电路单元根据第二验证比特执行奇偶检查程序以取得多个第二校验子,根据第二校验子重新决定第二读取电压,并且发出第三读取指令序列。此第三读取指令序列用以指示根据重新决定的第二读取电压读取第一存储包以重新取得第二验证比特。存储器控制电路单元判断一重复读取条件是否满足。若重复读取条件满足,存储器控制电路单元重复执行所述重新决定第二读取电压的步骤,以及发出第三读取指令序列的步骤,直到满足重复读取条件。若重复读取条件不满足,存储器控制电路单元根据第一验证比特、第二验证比特以及重新取得的第二验证比特建立查找表。
在一范例实施例中,存储器控制电路单元根据第一验证比特、第二验证比特以及重新取得的第二验证比特建立查找表的操作包括以下操作。存储器控制电路单元将第一验证比特、第二验证比特以及重新取得的第二验证比特分别相加,以取得多个验证数值。存储器控制电路单元根据验证数值建立查找表,其中查找表纪录多个通道可靠度信息。
基于上述,本发明范例实施例提出的解码方法、存储器存储装置与存储器控制电路单元,可以在不支持软比特模式解码程序的情况下,根据验证比特得到通道可靠度信息,由此增加更正能力。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统与存储器存储装置的示意图;
图2是根据一范例实施例所示出的计算机、输入/输出装置与存储器存储装置的示意图;
图3是根据一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是示出图1所示的存储器存储装置的概要方块图;
图5是根据一范例实施例所示出的可复写式非易失性存儲器模块的概要方块图;
图6是根据一范例实施例所示出的存储包阵列的示意图;
图7是根据一范例实施例所示出存储于存储包阵列中的写入数据所对应的栅极电压的统计分配图;
图8是根据一范例实施例所示出的从存储包中读取数据的示意图;
图9是根据另一范例实施例所示出的从存储包中读取数据的示意图;
图10是根据一范例实施例所示出的管理可复写式非易失性存儲器模块的示意图;
图11是根据一范例实施例所示出的存储器控制电路单元的概要方块图;
图12是根据一范例实施例示出奇偶检查矩阵的示意图;
图13是根据一范例实施例示出读取验证比特的示意图;
图14是根据一范例实施例示出解码的示意图;
图15是根据第二范例实施例示出错误检查与校正电路208的示意方块图;
图16是根据第七范例实施例示出解码的流程图;
图17是根据第八范例实施例示出读取奇偶校正矩阵信息的流程图;
图18是根据第八范例实施例示出错误检查与校正电路的方块图;
图19是根据第八范例实施例示出更正电路的方块图;
图20是根据一范例实施例示出不符合平衡条件的示意图;
图21是根据一范例实施例示出符合平衡条件的示意图;
图22是根据一范例实施例示出调整读取电压的流程图;
图23是根据第九范例实施例所示出的解码流程图;
图24是根据另一范例实施例示出解码方法的流程图。
附图标记说明:
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:选择栅源极晶体管;
SGS:选择栅源极;
SGD:选择栅漏极;
LSB:最低有效位;
CSB:中间有效位;
MSB:最高有效位;
VA、VB、VC、VD、VE、VF、VG、V1~V5-:读取电压;
400(0)~400(N):实体抹除单元;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
208:错误检查与校正电路;
210:缓冲存储器;
212:电源管理电路;
1330:二分图;
1332(1)~1332(k):奇偶节点;
1334(1)~1334(n):信息节点;
L1~Ln:通道可靠度信息;
Li→j、Lj→i:可靠度信息;
1510、1520:存储状态;
1501~1506:区间;
b1~b5:验证比特;
S1401~S1412、S1601~S1616、S1701~S1705、S2201~S2204、S2301~S2314、S2401~S2404:步骤;
1530:第一更正电路;
1540:第二更正电路;
1550:检查电路;
1560、1820、1830:存储器;
1810:解码器;
1910(1)~1910(C):缓冲器;
1920(1)~1920(C):位移器;
1930:信息节点单元;
1940(1)~1940(C):奇偶节点单元;
2001~2008:坐标点;
2010、2020:曲线。
具体实施方式
[第一范例实施例]
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存儲器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据一范例实施例所示出的主机系统与存储器存储装置的示意图。图2是根据一范例实施例所示出的计算机、输入/输出装置与存储器存储装置的示意图。
请参照图1,主机系统1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(randomaccess 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 State Drive,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也可以是符合并行高级技术附件(ParallelAdvanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速外围组件互连接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、安全数字(Secure Digital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra HighSpeed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多媒体存储卡(Multi Media Card,MMC)接口标准、崁入式多媒体存储卡(EmbeddedMultimedia Card,eMMC)接口标准、通用闪存(Universal Flash Storage,UFS)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元102可与存储器控制电路单元104封装在一个芯片中,或者连接接口单元102是布设于一包含存储器控制电路单元104的芯片外。
存储器控制电路单元104用以执行以硬件形式或固体形式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存儲器模块106中进行数据的写入、读取与抹除等运作。在一范例实施例中,当存储器控制电路单元104是发出写入指令序列、读取指令序列与抹除指令序列来完成上述写入、读取与抹除等运作。每一个指令序列中可包括一或多个讯号、辨识码、数据、或其组合,本发明并不限制指令序列的内容。
可复写式非易失性存儲器模块106是电性连接至存储器控制电路单元104,并且用以存储主机系统1000所写入的数据。可复写式非易失性存儲器模块106可以是单阶存储包(Single Level Cell,SLC)NAND型快闪存储器模块、多阶存储包(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储包中可存储2个位数据的快闪存储器模块)、复数阶存储包(Triple LevelCell,TLC)NAND型快闪存储器模块(即,一个存储包中可存储3个位数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存儲器模块。
图5是根据一范例实施例所示出的可复写式非易失性存儲器模块的概要方块图。图6是根据一范例实施例所示出的存储包阵列的示意图。
请参照图5,可复写式非易失性存儲器模块106包括存储包阵列2202、字符线控制电路2204、比特线控制电路2206、行解码器(column decoder)2208、数据输入/输出缓冲器2210与控制电路2212。
在本范例实施例中,存储包阵列2202可包括用以存储数据的多个存储包702、多个选择栅漏极(select gate drain,SGD)晶体管712与多个选择栅源极(select gate 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中的存储包是以临界电压的改变来存储多位(bits)。具体来说,每一个存储包的控制栅极(control gate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,因而改变了存储包的临界电压。此改变临界电压的程序也称为”把数据写入至存储包”或”程序化存储包”。随着临界电压的改变,存储包阵列2202的每一存储包具有多个存储状态。并且通过读取电压可以判断存储包是属于哪一个存储状态,由此取得存储包所存储的位。
图7是根据一范例实施例所示出存储于存储包阵列中的写入数据所对应的栅极电压的统计分配图。
请参照图7,以MLC NAND型闪存为例,随着不同的临界电压,每一存储包具有4种存储状态,并且此些存储状态分别地代表"11"、"10"、"00"与"01"等位。换言之,每一个存储状态包括最低有效位(Least Significant Bit,LSB)以及最高有效位(Most Significant Bit,MSB)。在本范例实施例中,存储状态(即,"11"、"10"、"00"与"01")中从左侧算起的第1个位为LSB,而从左侧算起的第2个位为MSB。因此,在此范例实施例中,每一存储包可存储2个位。必须了解的是,图7所示出的临界电压及其存储状态的对应仅为一个范例。在本发明另一范例实施例中,临界电压与存储状态的对应也可是随着临界电压越大而以"11"、"10"、"01"与"00"排列,或是其他排列。此外,在另一范例实施例中,也可定义从左侧算起的第1个位为MSB,而从左侧算起的第2个位为LSB。
图8是根据一范例实施例所示出的从存储包中读取数据的示意图,其是以MLC NAND型闪存为例。
请参照图8,存储包阵列2202的存储包的读取运作是通过施予读取电压于控制栅极,通过存储包通道的导通状态,来识别存储包存储的数据。验证比特(VA)是用以指示施予读取电压VA时存储包通道是否为导通;验证比特(VC)是用以指示施予读取电压VC时,存储包通道是否为导通;验证比特(VB)是用以指示施予读取电压VB时,存储包通道是否为导通。在此假设验证比特是”1”时表示对应的存储包通道导通,而验证比特是”0”时表示对应的存储包通道没有导通。如图8所示,通过验证比特(VA)~(VC)可以判断存储包是处于哪一个存储状态,进而取得所存储的位。
图9是根据另一范例实施例所示出的从存储包中读取数据的示意图。
请参照图9,以一TLC NAND型闪存为例,每一个存储状态包括左侧算起的第1个位的最低有效位LSB、从左侧算起的第2个位的中间有效位(CenterSignificant Bit,CSB)以及从左侧算起的第3个位的最高有效位MSB。在此范例中,依照不同的临界电压,存储包具有8种存储状态(即,"111"、"110"、"100"、"101"、"001"、"000"、"010"与"011")。通过施加读取电压VA~VG于控制栅极,可以识别存储包所存储的位。其中,值得说明的是,此8种存储状态的排列顺序,可依制造商的设计而定,非以本范例的排列方式为限。
图10是根据一范例实施例所示出的管理可复写式非易失性存儲器模块的示意图。
请参照图10,可复写式非易失性存儲器模块106的存储包702会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元400(0)~400(N)。具体来说,同一条字符在线的存储包会组成一或多个实体程序化单元。若每一个存储包可存储2个以上的位,则同一条字符在线的实体程序化单元可被分类为下实体程序化单元与上实体程序化单元。例如,每一存储包的LSB是属于下实体程序化单元,并且每一存储包的MSB是属于上实体程序化单元。一般来说,在MLC NAND型闪存中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。在此范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面或是实体扇(sector)。若实体程序化单元为实体页面,则每一个实体程序化单元通常包括数据比特区与冗余位区。数据比特区包含多个实体扇,用以存储用户的数据,而冗余位区用以存储系统的数据(例如,错误更正码)。在本范例实施例中,每一个数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,本发明并不限制实体扇的大小以及个数。另一方面,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储包。例如,实体抹除单元为实体区块。
图11是根据一范例实施例所示出的存储器控制电路单元的概要方块图。必须了解的是,图11所示的存储器控制电路单元的结构仅为一范例,本发明不以此为限。
请参照图11,存储器控制电路单元104包括存储器管理电路202、主机接口204、存储器接口206与错误检查与校正电路208。
存储器管理电路202用以控制存储器控制电路单元104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路202的操作时,等同于说明存储器控制电路单元104的操作,以下并不再赘述。
在本范例实施例中,存储器管理电路202的控制指令是以固体形式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被刻录至此只读存储器中。当存储器存储装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程序代码形式存储于可复写式非易失性存儲器模块106的特定区域(例如,存儲器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元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所能接受的格式。具体来说,若存储器管理电路202要存取可复写式非易失性存儲器模块106时,存储器接口206会产生对应的指令序列。这些指令序列可包括一或多个讯号,或是在总线上的数据。例如,在读取指令序列中,会包括读取的辨识码、存储器地址等信息。
错误检查与校正电路208是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路208会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC code)或错误检查码(error detecting code,EDC),并且存储器管理电路202会将对应此写入指令的数据与对应的错误更正码或错误检查码写入至可复写式非易失性存儲器模块106中。之后,当存储器管理电路202从可复写式非易失性存儲器模块106中读取数据时会同时读取此数据对应的错误更正码或错误检查码,并且错误检查与校正电路208会依据此错误更正码或错误检查码对所读取的数据执行错误检查与校正程序。在此范例实施例中,错误检查与校正电路208所使用的是低密度奇偶检查校正码(low density parity code,LDPC)。
在低密度奇偶检查校正码中,是用一个奇偶检查矩阵来定义有效的码字。以下将奇偶检查矩阵标记为矩阵H,并且一码字标记为CW。依照以下方程序(1),若奇偶检查矩阵H与码字CW的相乘是零向量,表示码字CW为有效的码字。其中运算符表示模2(mod2)的矩阵相乘。换言之,矩阵H的零空间(null space)便包含了所有的有效码字。然而,本发明并不限制码字CW的内容。例如,码字CW也可以包括用任意算法所产生的错误更正码或是错误检查码。
其中矩阵H的维度是k-乘-n(k-by-n),码字CW的维度是1-乘-n。k与n为正整数。码字CW中包括了信息比特与奇偶位,即码字CW可以表示成[MP],其中向量M是由信息比特所组成,向量P是由奇偶位所组成。向量M的维度是1-乘-(n-k),而向量P的维度是1-乘-k。以下将信息比特与奇偶位统称为数据比特。换言之,码字CW中具有n个数据比特,其中信息比特的长度为(n-k)位,并且奇偶位的长度是k位,即码字CW的码率(code rate)为(n-k)/n。
一般来说在编码时会使用一个产生矩阵(以下标记为G),使得对于任意的向量M都可满足以下方程式(2)。其中产生矩阵G的维度是(n-k)-乘-n。
由方程式(2)所产生的码字CW为有效的码字。因此可将方程式(2)代入方程式(1),由此得到以下方程式(3)。
由于向量M可以是任意的向量,因此以下方程序(4)必定会满足。也就是说,在决定奇偶检查矩阵H以后,对应的产生矩阵G也可被决定。
在解码一个码字CW时,会先对码字中的数据比特执行一个奇偶检查程序,例如将奇偶检查矩阵H与码字CW相乘以产生一个向量(以下标记为S,如以下方程序(5)所示)。若向量S是零向量,则可直接输出码字CW。若向量S不是零向量,则表示码字CW不是有效的码字。
向量S的维度是k-乘-1,其中每一个元素也称为校验子(syndrome)。若码字CW不是有效的码字,则错误检查与校正电路208会执行一个解码程序,以尝试更正码字CW中的错误位。
图12是根据一范例实施例示出奇偶检查矩阵的示意图。
请参照图12,一般来说,奇耦检查矩阵H可以表示为二分图(bipartitegraph)1330,其中包括奇偶节点1332(1)~1332(k)与信息节点1334(1)~1334(n)。每一个奇偶节点1332(1)~1332(k)是对应到一个校验子,而每一个信息节点1334(1)~1334(n)是对应一个数据比特。数据比特与校验子之间的对应关系(即,信息节点1334(1)~1334(n)与奇偶节点1332(1)~1332(k)之间的连结关系)是根据奇偶检查矩阵所产生。具体来说,若奇耦检查矩阵中第i列第j行的元素为1,则第i个奇偶节点1332(i)便会连接到第j个信息节点1334(j),其中i与j为正整数。
当存储器管理电路202从可复写式非易失性存儲器模块106中读取n个数据比特(形成一个码字)时,当存储器管理电路202也会取得每一个数据比特的一通道可靠度信息。此通道可靠度信息是用以表示对应的数据比特被解码为位”1”或是”0”的机率(或称信心度),以下再详细说明。在二分图1330中,信息节点1334(1)~1334(n)也会接收到对应的通道可靠度信息。例如,信息节点1332(1)会接收第1个数据比特的通道可靠度信息L1,而信息节点1332(j)会接收第j个数据比特的通道可靠度信息Lj。
错误检查与校正电路208会根据二分图1330的结构与通道可靠度信息L1~Ln来执行解码程序。此解码程序会包括迭代解码。具体来说,在迭代解码中,信息节点1334(1)~1334(n)会计算出可靠度信息给奇偶节点1332(1)~1332(k),并且奇偶节点1332(1)~1332(k)也会计算出可靠度信息给信息节点1334(1)~1334(n)。这些可靠度信息会沿着这些二分图1330中的边(edge)来传送。例如,奇偶节点1332(i)传送给信息节点1334(j)的是可靠度信息Li→j,而信息节点1334(j)传送给奇偶节点1332(i)是可靠度信息Lj→i。这些可靠度信息是用来表示一个节点认为某一个数据比特被解码为”1”或是”0”的机率(也称为信心度)有多少。举例来说,可靠度信息Lj→i表示信息节点1334(j)认为第j个数据比特被解码为”1”或是”0”的信心度(可为正或是负),而可靠度信息Li→j表示奇偶节点1332(i)认为第j个数据比特被解码为”1”或是”0”的信心度。而信息节点1334(1)~1334(n)与奇偶节点1332(1)~1332(k)会根据输入的可靠度信息来计算输出的可靠度信息,其近似于计算一个数据比特被解码为”1”或是”0”的条件机率。因此,上述传送可靠度信息的过程又被称为置信传播(beliefpropagation)。
当采用不同的算法,信息节点1334(1)~1334(n)及/或奇偶节点1332(1)~1332(k)会计算出不同的可靠度信息。例如,错误检查与校正电路208可以采用总和-乘积算法(Sum-Product Algorithm)、最小值-总和算法(Min-SumAlgorithm)、或是位翻转(bit-flipping Algorithm),本发明并不限制采用何种算法。
在迭代解码的每一次迭代中,信息节点1334(1)~1334(n)会传递可靠度信息给奇偶节点1332(1)~1332(k),并且奇偶节点1332(1)~1332(k)会传递可靠度信息给信息节点1334(1)~1334(n)。在每一次迭代过后,信息节点1334(1)~1334(n)会根据目前的可靠度信息计算出每一个数据比特应该被解码为位”1”或是”0”。接下来对这些计算出的数据比特执行奇偶检查程序,即将数据比特所形成的码字与奇偶检查矩阵相乘,由此判断该码字是否为有效的码字。若所产生的码字为有效的码字,则迭代解码会停止。若所产生的码字不是有效的码字,则会进行下一次的迭代。若迭代解码的迭代次数超过一个默认值,则迭代解码也会停止,表示解码失败。
图13是根据一范例实施例示出读取验证比特的示意图。请参照图13,在此假设属于存储状态1510的存储包所存储的是位”1”,而属于存储状态1520的存储包所存储的是位”0”。存储状态1510与存储状态1520有部分的重迭,也即在某些读取电压,部分属于存储状态1510的存储包会被判别为属于存储状态1520,而部分属于存储状态1520的存储包会被判别为属于存储状态1510。在一范例实施例中,当施加读取电压于存储包的控制栅极以后,随着存储包通道是否导通,存储器管理电路202所取得的验证比特会是”0”或是”1”。在此假设若存储包通道没有导通时则对应的验证比特是”0”,反之则是”1”。若存储器管理电路202施加了读取电压V1~V5至某一存储包,则存储器管理电路202会取得5个验证比特。具体来说,读取电压V1是对应到验证比特b1;读取电压V2是对应到验证比特b2;读取电压V3是对应到验证比特b3;读取电压V4是对应到验证比特b4;读取电压V5是对应到验证比特b5。若一个存储包的临界电压是在区间1501,则从验证比特b1至验证比特b5,存储器管理电路202所取得的验证比特会是”11111”;若存储包的临界电压是在区间1502,则验证比特会是”01111”;若存储包的临界电压是在区间1503,则验证比特会是”00111”;若存储包的临界电压是在区间1504,则验证比特会是”00011”;若存储包的临界电压是在区间1505,则验证比特会是”00001”;若存储包的临界电压是在区间1506,则验证比特会是”00000”。在另一范例实施例中,可复写式非易失性存儲器模块106也可以将对验证比特b1~b5做运算以后,把运算后的验证比特传送给存储器管理电路202。例如,验证比特b2与b4会进行互斥或运算,而验证比特b1与b5会进行互斥或运算。如此一来,存储器管理电路202只会取得3个验证比特。本发明并不限制验证比特的个数与内容。
在此范例实施例中,读取电压V1~V5的其中之一会被设定为正负号(sign)读取电压。此正负号读取电压是用来决定数据比特为何。例如,若读取电压V3为正负号读取电压,则数据比特会相同于验证比特b3-;若读取电压V2为正负号读取电压,则数据比特会相同于验证比特b2,以此类推。在每一个区间中,根据存储包属于存储状态1510的机率与属于存储状态1520的机率,可以计算出对数可能性比值(Log Likelihood Ratio,LLR),而在此范例实施例中此对数可能性比值也被称为数据比特的通道可靠度信息。在一范例实施例中,各个区间所对应的对数可能性比值可以事先被计算出来并且存储在一个查找表中。存储器管理电路202可以将验证比特b1~b5输入此查找表中,由此取得对应的对数可能性比值以作为通道可靠度信息。所取得的通道可靠度信息(即,图12中的L1~Ln)便可以来执行上述的迭代解码。在一范例实施例中,若设定不同的正负号读取电压,则会使用不同的查找表来取得通道可靠度信息。
在上述的范例实施例中,若读取电压的个数为x个,则可以分出x+1个区间,其中x为正整数。然而,在另一范例实施例中,若读取电压的个数为x个,则可以分出y个区间,其中y可为任意的正整数。本发明并不限制x个读取电压会产生几个区间。若读取电压的个数为1(例如,仅使用读取电压V3-),则所进行的解码程序也被称为硬比特模式解码程序。若读取电压的个数大于1,则所进行的解码程序也被称为软比特模式解码程序。一般来说,软比特模式解码程序所使用的信息较多,因此能更正较多的错误位,但执行速度也比较慢。此外,在一范例实施例中,当进行硬比特模式解码程序时,存储器管理电路202可以直接根据所取得的验证比特来计算出通道可靠度信息,并不会通过查找表。例如,若验证比特为”1”,则通道可靠度信息可设定为z;若验证比特为”0”,则通道可靠度信息可设定为-z,其中z为实数。
在本范例实施例中,错误检查与校正电路208中包括第一更正电路与第二更正电路。当要读取可复写式非易失性存儲器模块106中多个第一存储包所存储的数据时,存储器管理电路202会先根据一第一读取电压来读取这些第一存储包以取得多个第一验证比特。第一更正电路会根据这些第一验证比特来执行第一硬比特模式解码程序。例如,第一更正电路会根据第一验证比特来产生通道可靠度信息,再利用通道可靠度信息来执行迭代解码。然而,迭代解码、通道可靠度信息、与硬比特模式解码程序已详细说明如上,在此并不再赘述。第一更正电路也会判断第一硬比特模式解码程序是否产生有效码字(也称为第一有效码字)。若第一硬比特模式解码程序产生了有效码字,则错误检查与校正电路208会输出该有效码字。若第一硬比特模式解码程序没有产生有效码字,会由第二更正电路来继续解码。具体来说,第二更正电路会根据第一验证比特执行第二硬比特模式解码程序,并判断第二硬比特模式解码程序是否产生有效码字(也称为第二有效码字)。若第二硬比特模式解码程序产生了有效码字,则错误检查与校正电路208会输出该有效码字。特别的是,第一更正电路的精准度(或更正能力)小于第二更正电路的精准度(或更正能力)。在一范例实施例中,精准度表示在迭代解码中用几个位来表示可靠度信息。也就是说,相较于第一更正电路,第二更正电路会使用更多个位来表示可靠度信息,由此第二更正电路具有较好的更正能力,其中,在本范例实施例中,第一更正电路可具有2位运算精度,第二更正电路可具有6位运算精度。此外,第一硬比特模式解码程序与第二硬比特模式解码程序可以使用相同的算法或是不同的算法,本发明并不在此限。然而,由于第一更正电路与第二更正电路所使用的都是第一验证比特,因此存储器管理电路202不需要再使用另外的读取电压来读取第一存储包。此外,在本范例实施例中,第一更正电路与第二更正电路是彼此独立的电路,但在另一范例实施例中,第一更正电路可是第二更正电路的至少一部分,或第一更正电路与第二更正电路可共享一相同电路。
在此范例实施例中,错误检查与校正电路208所使用的是低密度奇偶检查校正码。然而,在另一范例实施例中,错误检查与校正电路208所使用的也可以是回旋码(convolutional code)、涡轮码(turbo code)、或其他可具有硬比特模式解码程序与软比特模式解码程序的算法。
图14是根据一范例实施例示出解码的示意图。
请参照图14,在步骤S1401中,根据第一读取电压读取第一存储包以取得第一验证比特。在步骤S1402中,根据第一验证比特执行第一硬比特模式解码程序。在步骤S1403中,判断是否产生有效码字。若产生有效码字,在步骤S1410中输出有效码字。若没有产生有效码字,在步骤S1404中,根据第一验证比特执行第二硬比特模式解码程序。在步骤S1405中,判断是否产生有效码字。然而,步骤S1401~S1405已详细说明如上,在此便不再赘述。
在一范例实施例中,若在步骤S1405中判断没有产生有效码字,则进行步骤S1406,存储器管理电路202根据多个第二读取电压读取第一存储包以取得多个第二验证比特。其中第二读取电压的个数大于第一读取电压的个数。例如,若第二读取电压的个数是5个,则存储器管理电路202会从每一个第一存储包取得5个第二验证比特。在步骤S1407中,第二更正电路会根据第二验证比特执行软比特模式解码程序。然而,软比特模式解码程序已详细说明如上,在此便不再赘述。在步骤S1408中,第二更正电路会判断软比特模式解码程序是否产生有效码字(也称第三有效码字)。若软比特模式解码程序产生有效码字,在步骤S1410中会输出该有效码字。若软比特模式解码程序没有产生有效码字,在步骤S1409中,存储器管理电路202会判断一个读取次数是否大于一读取临界值。若读取次数大于读取临界值,在步骤S1411中存储器管理电路202判断解码失败。若读取次数不大于读取临界值,在步骤S1412中存储器管理电路202会更新读取次数(例如,加上1),重新设定第一读取电压,并且回到步骤S1401,根据重新设定的第一读取电压来读取第一存储包以重新取得第一验证比特。在步骤S1402中第一更正电路会根据重新取得的第一验证比特执行第一硬比特模式解码程序,以下不再赘述。
[第二范例实施例]
图15是根据第二范例实施例示出错误检查与校正电路208的示意方块图。
请参照图15,错误检查与校正电路208包括检查电路1550、存储器1560、第一更正电路1530与第二更正电路1540。在存储器管理电路202取得验证比特以后,检查电路1550会根据这些验证比特产生数据比特,并且对数据比特执行奇偶检查程序以产生多个校验子。例如,数据比特可根据正负号读取电压来决定,而数据比特所形成的向量与奇偶检查矩阵相乘可以得到多个校验子。然而,正负号读取电压与奇偶检查程序已说明如上,在此不再赘述。所产生的校验子会被存储在存储器1560当中。
在第一硬比特模式解码程序、第二硬比特模式解码程序、及/或软比特模式解码程序中,第一更正电路1530及/或第二更正电路1540会根据校验子来产生错误位的索引。具体来说,在低密度奇偶检查校正码的迭代解码中,可根据校验子取得每一个数据比特的可靠度信息,并且根据可靠度信息决定数据比特中错误位的索引。当要判断是否产生有效的码字时,可判断错误位的索引与校验子是否符合奇偶条件。若错误位的索引与校验子符合奇偶条件,
可输出错误位的索引,这些索引可用来更正数据比特以产生有效的码字。最后,更正后的数据比特会被输出。以下再举多个范例实施例详细说明上述算法的不同态样。
[第三范例实施例]
请参照回图12,在第三范例实施例中,根据校验子取得可靠度信息的步骤可以表示为以下方程序(6)~(9)。
αji=sign(Lj→i)…(8)
βji=|Lj→i|…(9)
Si为第i个校验子。N(i)为对应至第i个校验子的数据比特(表示为所有连接到奇偶节点1332(i)的信息节点)。{j}为第j个数据比特所形成的集合。在首次迭代中,可靠度信息Lj→i会等于通道可靠度信息Lj。
接着,可靠度信息Lj→i可根据以下方程序(10)来更新。
跟据以下方程序(11)可以计算每一个数据比特的总和可靠度信息。
更正电路1540判断每一个数据比特的总和可靠度信息是否符合一临界值以决定错误位并取得一错误索引向量,此错误索引向量的长度会等于码字的长度。例如,取得错误索引向量的步骤可以根据方程式(12)来执行。
e为错误索引向量,其中包括了e1~en。ej表示错误索引向量中第j个索引。若ej等于1,表示码字中第j个数据比特是错误位。
最后,第一更正电路1530及/或第二更正电路1540会对奇偶检查矩阵与错误索引向量做模2乘法以取得第一向量,并且判断第一向量是否相同于校验子所形成的向量。若第一向量相同于校验子所形成的向量,表示错误位的索引与校验子符合奇偶条件,此时会停止迭代解码,并且输出错误索引向量。换句话说,若方程式(13)符合,则迭代解码会停止。然而,若方程式(13)不符合,则进行下一次迭代,即重复上述方程式(6)~(12)。
若输出了错误索引向量,表示可产生有效码字。具体来说,错误检查与校正电路208会根据错误索引向量来更正数据比特,更正后的数据比特便会形成有效码字。然而,若上述的迭代解码中,错误位的索引与校验子一直无法符合奇偶条件,并且因为迭代次数超过了迭代临界值而停止迭代解码,则表示无法产生有效的码字。
[第四范例实施例]
第四范例实施例中所适用的是硬比特模式解码程序,并且所有数据比特的对数可能性比值的平均值会被当作通道可靠度信息,也即所有的数据比特有相同的通道可靠度信息。
在第四范例实施例的首次迭代中,不论i与j为多少,可靠度信息Lj→i都是上述的通道可靠度信息(以下标记为Lr)。根据校验子取得总合可靠度信息的步骤可表示为上述的方程式(6)~(9)(重复列在下面)以及下列方程式(14)~(15)。
αji=sign(Lj→i)…(8)
βji=|Lj→i|…(9)
此外,取得错误索引向量的步骤与判断校验子与错误索引向量是否符合奇偶条件的步骤与上述方程式(12)与(13)相同,在此不再赘述。
[第五范例实施例]
在第五范例实施例中,上述的方程式(6)可用最小值的运算来逼近。具体来说,根据校验子取得可靠度信息的步骤可表示为以下方程序(16)与上述方程式(8)~(9)(重复列在下面)。
αji=sign(Lj→i)…(8)
βji=|Lj→i|…(9)
其他如计算总合可靠度信息的步骤、取得错误索引向量的步骤、与判断是否符合奇偶条件的步骤都与第三范例实施例或第四范例实施例相同,在此不再赘述。值得注意的是,方程式(16)可以用于硬比特模式解码程序或是软比特模式解码程序,本发明并不在此限。
[第六范例实施例]
在第六范例实施例中,在根据校验子来计算可靠度信息时,是将校验子所形成的向量与奇偶检查矩阵相乘以取得一向量(也称第二向量),表示为以下方程序(17)。
f=sT·H…(17)
f为上述的第二向量,维度是1-乘-n,其中包括每一个数据比特的可靠度信息。值得注意的是,方程式(17)中的乘法是一般的矩阵乘法,并不是模2的矩阵乘法。因此,若向量f中一个元素的数值越大,表示一个数据比特错误的机率越大。
接下来,根据向量f中数值最大的元素来决定错误位的索引。在此假设向量f中第e个元素具有最大的数值,则e即为错误位的索引,其中e为正整数。在判断校验子与错误位的索引是否符合奇偶条件时,第一更正电路1530及/或第二更正电路1540会根据此索引e从奇耦检查矩阵H的多个行(column)中挑选第e个行(也称为错误更正行),并且根据此第e个行来更新校验子。例如,此更新的步骤可根据方程式(18)来执行。
s=s+he…(18)
he是奇耦检查矩阵H中的第e行。方程式(18)中的加法是模2的加法。最后,判断更新后的校验子所形成的向量是否为零向量。若更新后的校验子所形成的向量为零向量(即,向量s中所有的元素为0),则表示符合该奇偶条件,此时迭代解码会被停止,并且在每一次迭代中产生的索引e会被输出。若更新后的校验子所形成的向量不为零向量,则进行下一次的迭代,即依据更新后的校验子来重新执行上述方程式(17)与(18)。
[第七范例实施例]
请参照图15,在第七范例实施例中,第一硬比特模式解码程序、第二硬比特模式解码程序及软比特模式解码程序可以是上述第三范例实施例至第六范例实施例中的任何一个,或者是传统计算可靠度信息的算法。此外,第一硬比特模式解码程序、第二硬比特模式解码程序与软比特模式解码程序可以采用相同的算法或是不同的算法,本发明并不在此限。特别的是,由于校验子是被存储在存储器1560当中,因此可以重复被利用。例如,若第一硬比特模式解码程序与第二硬比特模式解码程序都会使用校验子来更新可靠度信息,则第二更正电路1540在进行第二硬比特模式解码程序时便不需要重复计算校验子,可直接从存储器1560取得校验子。
校验子可以用来估测错误位的个数。例如,若为”1”的校验子的个数越多,表示码字中错误位的个数应该会越多。因此,在第七范例实施例中,还会根据这些校验子来决定解码的流程。图16是根据第七范例实施例示出解码的流程图。请参照图16,在步骤S1601中,根据第一读取电压读取第一存储包以取得第一验证比特。在步骤S1602中,根据第一验证比特取得数据比特,接着取得校验子与校验总和。例如,校验总和是所有校验子的相加(一般的加法,非模2的加法)。在步骤S1603中,判断校验总和是否小于第一校验临界值。若校验总和小于第一校验临界值,在步骤S1604中,由第一更正电路执行第一硬比特模式解码,并在步骤S1605中判断是否产生有效码字。若步骤S1605产生有效码字,则在步骤S1606输出所产生的有效码字。
若步骤S1603中判断校验总和不小于第一校验临界值,在步骤S1607中判断校验总和是否小于第二校验临界值。若校验总和小于第二校验临界值,或者是步骤S1605中没有产生有效码字,进行步骤S1608,由第二更正电路执行第二硬比特模式解码程序。在步骤S1609中,判断第二硬比特模式解码程序是否产生有效码字。若产生有效码字,则进行步骤S1606,输出所产生的有效码字。
若步骤S1607中判断校验总和不小于第二校验临界值,在步骤S1610中判断校验总和是否小于第三校验临界值。若校验总和小于第三校验临界值或是步骤S1609中没有产生有效码字,进行步骤S1611,根据多个第二读取电压读取第一存储包以取得多个第二验证比特。接下来在步骤S1612中由第二更正电路执行软比特模式解码程序,并且在步骤S1613中判断是否产生有效码字。若步骤S1613产生了有效码字,则进行步骤S1606,输出有效码字。
若步骤S1613没有产生有效码字,或者是步骤S1610中判断校验总和不小于第三校验临界值,进行步骤S1614,判断读取次数是否大于读取临界值。若读取次数大于读取临界值,则表示解码失败(步骤S1615)。若读取次数不小于读取临界值,则在步骤S1616中更新读取次数,重新设定第一读取电压,并且回到步骤S1601。
在此范例实施例中,第一校验临界值小于第二校验临界值,而第二校验临界值小于第三校验临界值。然而,本发明并不限制第一校验临界值、第二校验临界值与第三校验临界值为多少。
[第八范例实施例]
在第八范例实施例中,所使用的是类循环低密度奇偶检查校正码(Quasi-Cyclic Low-Density Parity-Check Codes,QC-LDPC)。具体来说,奇偶校正矩阵包括多个排列矩阵与多个零矩阵,可以用以下方程式(19)来表示。
A11~ACT为排列矩阵或是零矩阵,其中C、T为正整数。每一个排列矩阵或是零矩阵的维度是b-乘-b,其中b为正整数。但本发明并不限制正整数C、T、与b的数值。每一个排列矩阵是由单位矩阵(identity matrix)经过往右、往左、往上、往下、或其组合的位移(shift)所产生,因此可以用索引来表示排列矩阵。例如,若某一个排列矩阵是将单位矩阵往右位移两行所产生,则对应的索引可设定为2。此外,零矩阵所对应的索引可设定为一特定数值,例如为-1。因此,奇偶检查矩阵可以用多个索引来表示,如以下方程序(20)所示。
其中a11~aCT为实数,表示上述的索引。在此范例实施例中,这些索引会组成奇偶校正矩阵信息并且会经过一个错误更正码(例如,BCH码)来编码以产生第一数据,第一数据会被存储在可复写式非易失性存儲器模块106当中。这些奇偶校正矩阵信息可用来重建出奇偶校正矩阵。在此范例实施例中,存储器管理电路202是在开机时从可复写式非易失性存儲器模块106读取奇偶校正矩阵信息,由此改变目前的奇偶校正矩阵。然而,存储器管理电路202也可以在任意的时间读取奇偶校正矩阵信息,本发明并不在此限。
图17是根据第八范例实施例示出读取奇偶校正矩阵信息的流程图。图18是根据第八范例实施例示出错误检查与校正电路的方块图。
请参照图17与图18,除了图15所示出的组件以外,在第八范例实施例中,错误检查与校正电路208还包括存储器1820、1830与解码器1810。在步骤S1701中,存储器管理电路202读取可复写式非易失性存儲器模块106中所存储的第一数据。所读取的第一数据会被送给解码器1810。解码器1810会对第一数据执行BCH解码程序,并且判断BCH解码程序是否成功(步骤S1702)。若步骤S1702没有解码成功,在步骤S1704中,存储器管理电路202会判断读取次数是否大于一个读取临界值。若读取次数大于读取临界值,表示加载奇偶检查矩阵信息失败。若读取次数不大于读取临界值,在步骤S1705中,存储器管理电路202会更新读取次数,改变读取电压,并且回到步骤S1701。
另一方面,若步骤S1702中成功解码,则解码器1810会取得奇偶检查矩阵信息并将奇偶检查矩阵信息载入存储器1820与1830(步骤S1703)。第一更正电路1530会根据存储器1810中的奇偶检查矩阵信息来设定第一更正电路1530的至少一参数(也称第一参数),其是用来执行第一硬比特模式解码程序。第二更正电路1540会根据存储器1820中的奇偶检查矩阵信息来设定第二更正电路1540的至少一参数(也称第二参数),其是用来执行第二硬比特模式解码程序。
图19是根据第八范例实施例示出更正电路的方块图。
请参照图19,第一更正电路1530包括缓冲器1910(1)~1910(C)、位移器1920(1)~1920(C)、信息节点单元1930、奇偶节点单元1940(1)~1940(C)。其中信息节点单元1930是用以实作上述更新可靠度信息Lj→i的步骤,奇偶节点单元1940(1)~1940(C)是用以实作了上述更新可靠度信息Li→j的步骤。奇偶节点单元1940(1)~1940(C)所计算出的可靠度信息会再回传给缓冲器1910(1)~1910(C)。奇偶检查矩阵信息是用以设定位移器1920(1)~1920(C)中的参数。特别的是,根据不同的奇偶检查矩阵信息,位移器1920(1)~1920(C)中会设定不同的参数,由此实作不同的奇偶检查矩阵。第一更正电路1530的架构也被称为洗排程(shuffle schedule)或是洗网络(shuffle network)。在此范例实施例中,第一更正电路1530所采用的是平行(parallel)的架构,然而在其他范例实施例中也可以采用串行(serial),或者两者的混合,本发明并不在此限。此外,第二更正电路1540的架构也类似于第一更正电路1530,但两者可以采用相同,或是不相同(例如,一为平行,另一为串行)的架构,本发明并不在此限。
[第九范例实施例]
在此范例实施例中,当存储器管理电路202要重新设定读取电压时,还会根据校验子来重新设定读取电压。具体来说,假设存储器管理电路202先发送了一读取指令序列(也称第一读取指令序列)给可复写式非易失性存儲器模块106,用以指示根据第一读取电压读取第一存储包以取得多个第一验证比特。错误检查与校正电路208会根据这些第一验证比特来执行奇偶检查程序以取得多个第一校验子。接下来,存储器管理电路202会根据这些第一校验子决定不同于第一读取电压的第二读取电压。此外,存储器管理电路202会发送另一读取指令序列(也称第二读取指令序列)给可复写式非易失性存儲器模块106,用以指示根据第二读取电压来读取第一存储包以取得多个第二验证比特。取得第二验证比特以后,存储器管理电路202会根据这些第二验证比特来执行一第一解码程序。此第一解码程序可以是硬比特模式解码程序,也可以是软比特模式解码程序,本发明并不在此限。在一范例实施例中,由于第二读取电压是根据第一校验子所取得,因此可以减少重复读取的次数;或者,第一解码程序可以有较好的更正能力,但本发明并不限制根据校验子调整读取电压的好处。
举例来说,存储器管理电路202可根据第一校验子计算一个校验总和。存储器管理电路202会根据此校验总和来更新一校验总和信息,并且判断此校验总和信息是否符合一平衡条件。图20是根据一范例实施例示出不符合平衡条件的示意图。请参照图20,其中横轴是读取电压,纵轴是校验总和。假设存储器管理电路202已经重复读取第一存储包共4次,并且在每一次的读取后都会计算对应的校验总和,如坐标点2001~2004所示。在图20中,上述的校验总和信息可表示为曲线2010(或表示为一函式),也就是说存储器管理电路202在得到一个新的校验总和以后,都可以产生对应的曲线。平衡条件的所指的是,曲线2010是否为左右对称,若是则符合平衡条件。在此,坐标点2001~2004并没有符合平衡条件。图21是根据一范例实施例示出符合平衡条件的示意图。请参照图21,坐标点2001~2008所形成的曲线2020即接近左右对称,而符合平衡条件。因此,在图20中,存储器管理电路202会判断曲线2010是否左右对称(即,判断校验总和信息是否符合平衡条件),进而决定如何调整读取电压。
在一范例实施例中,上述的校验总和信息为一校验总和向量。在每一次重复读取第一存储包并且取得对应的校验总和以后,存储器管理电路202会将校验总和加入至该校验总和向量当中。存储器管理电路202还会取得校验总和向量的一微分(differential)向量,并且计算微分向量的总和。在此范例实施例中,上述的平衡的条件是要判断微分向量的总和是否小于一平衡临界值。例如,若微分向量的总和小于平衡临界值,存储器管理电路202会增加读取电压;反之则减少读取电压。然而,微分向量具有方向性,本发明并不限制微分向量的方向,也不限制平衡临界值的大小。
在一范例实施例中,存储器管理电路202会根据一个读取电压表来调整读取电压,此读取电压表记录了多个偏移量。举例来说,读取电压表可以表示为[-0.5;-0.25;-0.05;0.05;0.25;0.5],若存储器管理电路202挑选到偏移量-0.5,即会将第一读取电压减少0.5伏特而取得第二读取电压。在此范例实施例中,读取电压表中的偏移量是由小到大排列,但本发明并不在此限。若微分向量的总和小于平衡临界值,存储器管理电路202会在读取电压表中往第一方向来挑选一个偏移量,由此增加读取电压;若微分向量的总和大于等于平衡临界值,则存储器管理电路202会在读取电压表中往第二方向挑选偏移量,由此减少读取电压。例如,当读取电压表中的偏移量是由小到大排列,则第一方向是右边且第二方向是左边,但本发明并不在此限。
表1为取得第二读取电压的一个范例。表1中每一行都表示一次重新读取,因此校验总和向量的长度会随着读取次数增加。在表1的范例实施例中,平衡临界值为0,并且读取电压表中的偏移量并不会重复使用。图22是根据一范例实施例示出调整读取电压的流程图。
表1
请参照表1与图22,在步骤S2201中,取得验证比特并计算校验总和。例如,校验总和向量为[300,320,350],而新取得的校验总和为”380”。
在步骤S2202中,判断微分向量的总和是否小于平衡临界值。例如,微分向量的总和为”50”。
若微分向量的总和小于平衡临界值,在步骤S2203中,从校验总和向量的尾端加入校验总和。具体来说,若校验总和向量标记为cs且新取得的校验总和标记为chksum,则步骤S2203可写为cs=[cs chksum]。
若微分向量的总和大于等于平衡临界值,在步骤S2204中,从校验总和向量的头部加入校验总和。如以上的标记,则步骤S2205可写为cs=[chksumcs]。例如,更新后的校验总和向量为[380,300,320,350]。
在步骤S2205中,判断更新后的微分向量的总和是否小于平衡临界值。例如,更新后的微分向量的总和为”-30”,其小于平衡临界值。
若步骤S2205的结果为否,在步骤S2206中,在读取电压表中往第二方向挑选一个偏移量来减少第一读取电压以取得第二读取电压。若更新后的微分向量的总和小于平衡临界值,在步骤S2207中,在步骤S2207中,在读取电压表中往第一方向挑选一个偏移量来增加第一读取电压以取得第二读取电压。例如,根据第二读取电压来读取存储包以后,所取得的校验总和为”410”。
重复图22中的步骤,便可以得到上述表1。在一范例实施例中,校验总和向量中的数值是对应至读取电压表中的偏移量,若两个偏移量在读取电压表中是相邻,则对应的两个校验总和在校验总和向量中也会是相邻。例如,校验总和”380”是对应至偏移量”0.05”,校验总和”300”是对应至偏移量”-0.05”,而校验总和”320”是对应至偏移量”-0.25”。
在一范例实施例中,可复写式非易失性存儲器模块106并不支持软比特模式解码,即存储器管理电路202并没有用以取得通道可靠度信息的查找表。然而,存储器管理电路202可以根据步骤S2201所取得的验证比特来建立查找表,并且所建立的查找表可用来执行软比特模式解码。具体来说,在存储器管理电路202发送读取指令序列,以根据第二读取电压来读取第一存储器以后,存储器管理电路202会取得多个第二验证比特。存储器管理电路202会根据第二验证比特执行奇偶检查程序以取得多个第二校验子。存储器管理电路202可执行如图22的步骤,由此根据这些第二校验子来调整第二读取电压(即,重新决定第二读取电压)。在重新决定第二读取电压以后,存储器管理电路202会发出一读取指令序列(也称第三读取指令序列),用以指示根据重新决定的第二读取电压来读取第一存储包以重新取得第二验证比特。接下来,存储器管理电路202会判断一个重复读取条件是否满足。若重复读取条件被满足,存储器管理电路202会重复执行上述重新决定第二读取电压的步骤,以及发出第三读取指令序列的步骤,直到满足该重复读取条件。若重复读取条件不满足,根据在步骤S2201所取得的验证比特(包括第一验证比特、第二验证比特以及重新取得的第二验证比特)来建立查找表以执行软比特模式解码程序。举例来说,存储器管理电路202会将第一验证比特、第二验证比特以及重新取得的第二验证比特分别相加(一般的相加,非模2的相加),以取得多个验证数值。例如,若第一验证比特是”1100…”、第二验证比特是”1101…”,并且重新取得的第二验证比特是”1010…”,则验证数值会是”3211…”。
接着,存储器管理电路202会根据这些验证数值来取得多个通道可靠度信息。例如,存储器管理电路202会将这些验证数值输入至一个验证数值查找表,而取得通道可靠度信息的对应关系(相同或相近的验证数值会对应至相同的通道可靠度信息)。存储器管理电路202也会根据这些验证数值建立一个新的查找表,其中记录了上述的通道可靠度信息。因此,对于每一个数据比特,存储器管理电路202都可以取得对应的通道可靠度信息,并根据这些通道可靠度信息来执行软比特模式解码程序。值得一提的是,上述根据验证数值来取得通道可靠度信息的计算是用以估测对数可能性比值(LLR)。然而,如图21所示,当校验总和信息符合平衡条件时,所估测出来的对数可能性比值较为准确。若是如图20的情况,所估测出来的对数可能性比值便会相对地不准确。因此,在一范例实施例中,上述通过平衡条件来调整读取电压的手段与根据验证数值取得通道可靠度信息的手段会一起使用。
在一范例实施例中,在每次调整读取电压时,错误检查与校正电路208都会执行硬比特模式解码程序,若硬比特模式解码程序无法产生有效码字存储器管理电路202才会继续调整读取电压。然而,当读取次数大于一读取临界值(即,不满足上述的重复读取条件),存储器管理电路202便会停止重复决定第二读取电压,并根据所收集到的验证比特来执行软比特模式解码。
图23是根据第九范例实施例所示出的解码流程图。请参照图23,在步骤S2301中,读取第一存储包以取得第一验证比特。在步骤S2302中,根据验证比特取得数据比特、校验子与校验总和。在步骤S2303中,判断校验总和是否小于第一校验临界值。若校验总和小于第一校验临界值,在步骤S2304中,由第一更正电路执行第一硬比特模式解码程序。在步骤S2305中,判断是否产生有效码字。若产生有效码字,在步骤S2306中输出有效码字。
若校验总和大于等于第一校验临界值,在步骤S2307中,判断校验总和是否小于第二校验临界值。若校验总和小于第二校验临界值,在步骤S2308中,由第二更正电路执行第二硬比特模式解码程序。在步骤S2309中,判断是否产生有效码字。
若在步骤S2309中没有产生有效码字,或者是在校验总和大于等于第二校验临界值,在步骤S2310中,判断是否满足重复读取条件。在一范例实施例中,在步骤S2310中是判断读取次数是否大于读取临界值,若否则进行步骤S2311,若是则进行步骤S2312。然而,在另一范例实施例中,在步骤S2310中是判断校验总和信息是否符合平衡条件,若是则进行步骤S2312,若否则进行步骤S2311。或者,也可以将上述两个判断条件结合,本发明并不限制步骤S2310的内容。
在步骤S2311中,根据校验子调整读取电压。接着,回到步骤S2301,继续读取第一存储包。
在步骤S2312中,根据所收集的验证比特取得通道可靠度信息。在步骤S2313中,根据通道可靠度信息执行软比特模式解码程序。在步骤S2314中,判断是否产生有效码字。若在步骤S2314中没有产生有效码字,则表示解码失败。
在图23的范例实施例中,上述的第一解码程序可以是步骤S2304、S2308、或是步骤S2313所进行的解码程序。
在另一范例实施例中,还可判断是否支持软比特模式解码程序,由此在解码方法中有不同的软比特解码程序。图24是根据另一范例实施例示出解码方法的流程图。
请参照图24,其中步骤S2301~S2311以说明如上,在此不再赘述。若校验总和大于等于第二校验临界值,在步骤S2401中,判断校验总和是否小于第三校验临界值。
若校验总和小于第三校验临界值,在步骤S2402中,判断是否支持软比特模式解码程序。例如,存储器管理电路202会根据一个变量或是旗标来判断是否支持软比特模式解码程序。或者,存储器管理电路202也可以根据可复写式非易失性存儲器模块106的辨识码来判断是否支持软比特模式解码程序。具体来说,存储器管理电路202拥有至少一个默认查找表(纪录通道可靠度信息),并且每一个预设查找表是对应到一个辨识码。存储器管理电路202会判断可复写式非易失性存儲器模块106的辨识码是否包含于这些预设查找表所对应的辨识码。若此判断的结果为”是”,则存储器管理电路202会判断软比特模式解码程序有被支持;若此判断的结果为”否”,则存储器管理电路202会判断软比特模式解码程序并不被支持。
若支持软比特模式解码程序,在步骤S2403中,根据多个读取电压读取第一存储包以取得通道可靠度信息,并执行软比特模式解码程序。具体来说,存储器管理电路202会根据可复写式非易失性存儲器模块106的辨识码取得对应的预设查找表,将验证比特输入此默认查找表以取得通道可靠度信息,接着根据这些通道可靠度信息来执行软比特模式解码程序。
接着,在步骤S2404中判断是否产生有效码字。
若校验总和大于等于第三校验临界值、不支持软比特模式解码程序、或在步骤S2404中没有产生有效码字,则进行步骤S2310。值得注意的是,虽然步骤S2403与步骤S2313所执行的都是软比特模式解码程序,但步骤S2403所使用的通道可靠度信息是通过默认查找表而取得,而步骤S2313所使用的通道可靠度信息是根据验证比特所估测出(即,建立一个查找表)。
综上所述,本发明范例实施例提出的解码方法、存储器存储装置与存储器控制电路单元,可以在可复写式非易失性存儲器模块不支持软比特模式解码程序时,利用每次读取存储包时所取得的验证比特来估测出通道可靠度信息。此外,在调整读取电压时,会考虑是否符合平衡条件,由此所估测出的通道可靠度信息较为准确。根据上述的通道可靠度信息来执行解码程序,可提称更正能力。
最后应说明的是:以上各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (35)
1.一种解码方法,其特征在于,用于一可复写式非易失性存儲器模块,其中该可复写式非易失性存儲器模块包括多个第一存储包,该解码方法包括:
发送一第一读取指令序列,其中该第一读取指令序列用以指示根据一第一读取电压读取该些第一存储包以取得多个第一验证比特;
根据该些第一验证比特执行一奇偶检查程序以取得多个第一校验子;
根据该些第一校验子决定一第二读取电压,其中该第二读取电压不同于该第一读取电压;
发送一第二读取指令序列,其中该第二读取指令序列用以指示根据该第二读取电压读取该些第一存储包以取得多个第二验证比特;以及
根据该些第二验证比特执行一第一解码程序。
2.根据权利要求1所述的解码方法,其特征在于,该根据该些第一校验子决定该第二读取电压的步骤包括:
根据该些第一校验子计算一校验总和;
根据该校验总和更新一校验总和信息;
判断该校验总和信息是否符合一平衡条件;以及
根据该校验总和信息是否符合该平衡条件来增加或是减少该第一读取电压以取得该第二读取电压。
3.根据权利要求2所述的解码方法,其特征在于,
该校验总和信息为一校验总和向量,并且根据该校验总和更新该校验总和信息的步骤包括:
将该校验总和加入该校验总和向量当中,
其中,判断该校验总和信息是否符合该平衡条件的步骤包括:
取得该校验总和向量的一微分向量;
计算该微分向量的一总和;以及
判断该微分向量的该总和是否小于一平衡临界值。
4.根据权利要求3所述的解码方法,其特征在于,根据该校验总和信息是否符合该平衡条件来增加或是减少该第一读取电压以取得该第二读取电压的步骤包括:
若该微分向量的该总和小于该平衡临界值,根据一读取电压表增加该第一读取电压以取得该第二读取电压;以及
若该微分向量的该总和大于等于该平衡临界值,根据该读取电压表减少该第一读取电压以取得该第二读取电压。
5.根据权利要求1所述的解码方法,其特征在于,该第一解码程序为一软比特模式解码程序,并且根据该些第二验证比特执行该第一解码程序的步骤包括:
根据该些第二验证比特执行该奇偶检查程序以取得多个第二校验子;
根据该些第二校验子重新决定该第二读取电压;
发出一第三读取指令序列,其中该第三读取指令序列用以指示根据重新决定的该第二读取电压读取该些第一存储包以重新取得该些第二验证比特;
判断一重复读取条件是否满足;
若该重复读取条件满足,重复执行所述重新决定该第二读取电压的步骤,以及发出该第三读取指令序列的步骤,直到满足该重复读取条件;
若该重复读取条件不满足,根据该些第一验证比特、该些第二验证比特以及重新取得的该些第二验证比特执行该软比特模式解码程序。
6.根据权利要求5所述的解码方法,其特征在于,根据该些第一验证比特、该些第二验证比特以及重新取得的该些第二验证比特执行该软比特模式解码程序的步骤包括:
将该些第一验证比特、该些第二验证比特以及重新取得的该些第二验证比特分别相加,以取得多个验证数值;
根据该些验证数值取得多个通道可靠度信息;以及
根据该些通道可靠度信息执行该软比特模式解码程序。
7.根据权利要求5所述的解码方法,其特征在于,判断该重复读取条件是否满足的步骤包括:
判断一读取次数是否大于一读取临界值;
若该读取次数大于该读取临界值,判断该重复读取条件不满足;以及
若该读取次数不大于该读取临界值,判断该重复读取条件被满足。
8.根据权利要求1所述的解码方法,其特征在于,在所述根据该些第一校验子决定该第二读取电压的步骤之前,该解码方法还包括:
根据该些第一校验子计算一校验总和;
判断该校验总和是否小于一第一校验临界值;
若该校验总和小于该第一校验临界值,由一第一更正电路执行一第一硬比特模式解码程序;
若该校验总和大于等于该第一校验临界值,判断该校验总和是否小于一第二校验临界值;以及
若该校验总和小于该第二校验临界值,由一第二更正电路执行一第二硬比特模式解码程序,其中该第一更正电路的一精准度小于该第二更正电路的一精准度。
9.根据权利要求8所述的解码方法,其特征在于,还包括:
若该校验总和大于等于该第二校验临界值,判断该校验总和是否小于一第三校验临界值;
若该校验总和小于该第三校验临界值,判断是否支持一软比特模式解码程序;
若支持该软比特模式解码程序,执行该软比特模式解码程序;
若不支持该软比特模式解码程序或该校验总和大于等于该第三校验临界值,判断一读取次数是否大于一读取临界值;以及
若该读取次数不大于该读取临界值,执行所述根据该些第一校验子决定该第二读取电压的步骤。
10.一种存储器存储装置,其特征在于,包括:
一连接接口单元;
一可复写式非易失性存儲器模块,包括多个第一存储包;以及
一存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存儲器模块,用以发送一第一读取指令序列,其中该第一读取指令序列用以指示根据一第一读取电压读取该些第一存储包以取得多个第一验证比特,
其中,该存储器控制电路单元用以根据该些第一验证比特执行一奇偶检查程序以取得多个第一校验子,并且根据该些第一校验子决定一第二读取电压,其中该第二读取电压不同于该第一读取电压,
其中,该存储器控制电路单元用以发送一第二读取指令序列,其中该第二读取指令序列用以指示根据该第二读取电压读取该些第一存储包以取得多个第二验证比特,
其中,该存储器控制电路单元用以根据该些第二验证比特执行一第一解码程序。
11.根据权利要求10所述的存储器存储装置,其特征在于,该存储器控制电路单元根据该些第一校验子决定该第二读取电压的操作包括:
该存储器控制电路单元根据该些第一校验子计算一校验总和,根据该校验总和更新一校验总和信息,并且判断该校验总和信息是否符合一平衡条件,
其中,该存储器控制电路单元根据该校验总和信息是否符合该平衡条件来增加或是减少该第一读取电压以取得该第二读取电压。
12.根据权利要求11所述的存储器存储装置,其特征在于,该校验总和信息为一校验总和向量,并且该存储器控制电路单元根据该校验总和更新该校验总和信息的操作包括:
将该校验总和加入该校验总和向量当中,
其中,该存储器控制电路单元判断该校验总和信息是否符合该平衡条件的操作包括:
该存储器控制电路单元取得该校验总和向量的一微分向量,计算该微分向量的一总和,并且判断该微分向量的该总和是否小于一平衡临界值。
13.根据权利要求12所述的存储器存储装置,其特征在于,该存储器控制电路单元根据该校验总和信息是否符合该平衡条件来增加或是减少该第一读取电压以取得该第二读取电压的操作包括:
若该微分向量的该总和小于该平衡临界值,该存储器控制电路单元根据一读取电压表增加该第一读取电压以取得该第二读取电压;以及
若该微分向量的该总和大于等于该平衡临界值,该存储器控制电路单元根据该读取电压表减少该第一读取电压以取得该第二读取电压。
14.根据权利要求10所述的存储器存储装置,其特征在于,该第一解码程序为一软比特模式解码程序,并且该存储器控制电路单元根据该些第二验证比特执行该第一解码程序的操作包括:
该存储器控制电路单元根据该些第二验证比特执行该奇偶检查程序以取得多个第二校验子,根据该些第二校验子重新决定该第二读取电压,并且发出一第三读取指令序列,其中该第三读取指令序列用以指示根据重新决定的该第二读取电压读取该些第一存储包以重新取得该些第二验证比特;
该存储器控制电路单元判断一重复读取条件是否满足;
若该重复读取条件满足,该存储器控制电路单元重复执行所述重新决定该第二读取电压的步骤,以及发出该第三读取指令序列的步骤,直到满足该重复读取条件;以及
若该重复读取条件不满足,该存储器控制电路单元根据该些第一验证比特、该些第二验证比特以及重新取得的该些第二验证比特执行该软比特模式解码程序。
15.根据权利要求14所述的存储器存储装置,其特征在于,该存储器控制电路单元根据该些第一验证比特、该些第二验证比特以及重新取得的该些第二验证比特执行该软比特模式解码程序的操作包括:
该存储器控制电路单元将该些第一验证比特、该些第二验证比特以及重新取得的该些第二验证比特分别相加,以取得多个验证数值;
该存储器控制电路单元根据该些验证数值取得多个通道可靠度信息;以及
该存储器控制电路单元根据该些通道可靠度信息执行该软比特模式解码程序。
16.根据权利要求14所述的存储器存储装置,其特征在于,该存储器控制电路单元判断该重复读取条件是否满足的操作包括:
该存储器控制电路单元判断一读取次数是否大于一读取临界值;
若该读取次数大于该读取临界值,该存储器控制电路单元判断该重复读取条件不满足;以及
若该读取次数不大于该读取临界值,该存储器控制电路单元判断该重复读取条件被满足。
17.根据权利要求10所述的存储器存储装置,其特征在于,该存储器控制电路单元包括一第一更正电路与一第二更正电路,并且该第一更正电路的一精准度小于该第二更正电路的一精准度,
其中,该存储器控制电路单元还用以根据该些第一校验子计算一校验总和,并且判断该校验总和是否小于一第一校验临界值,
其中,若该校验总和小于该第一校验临界值,该第一更正电路执行一第一硬比特模式解码程序,
若该校验总和大于等于该第一校验临界值,该存储器控制电路单元判断该校验总和是否小于一第二校验临界值,
若该校验总和小于该第二校验临界值,该第二更正电路执行一第二硬比特模式解码程序。
18.根据权利要求17所述的存储器存储装置,其特征在于,其中若该校验总和大于等于该第二校验临界值,该存储器控制电路单元还用以判断该校验总和是否小于一第三校验临界值,
若该校验总和小于该第三校验临界值,该存储器控制电路单元还用以判断是否支持一软比特模式解码程序,
若支持该软比特模式解码程序,该存储器控制电路单元还用以执行该软比特模式解码程序,
若不支持该软比特模式解码程序或该校验总和大于等于该第三校验临界值,该存储器控制电路单元还用以判断一读取次数是否大于一读取临界值,
若该读取次数不大于该读取临界值,该存储器控制电路单元还用以执行所述根据该些第一校验子决定该第二读取电压的操作。
19.一种存储器控制电路单元,其特征在于,用于控制一可复写式非易失性存儲器模块,其中该可复写式非易失性存儲器模块包括多个第一存储包,该存储器控制电路单元包括:
一主机接口;
一存储器接口,用以电性连接至该可复写式非易失性存儲器模块;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,用以发送一第一读取指令序列,其中该第一读取指令序列用以指示根据一第一读取电压读取该些第一存储包以取得多个第一验证比特;以及
一错误检查与校正电路,用以根据该些第一验证比特执行一奇偶检查程序以取得多个第一校验子,
其中,该存储器管理电路用以根据该些第一校验子决定一第二读取电压,其中该第二读取电压不同于该第一读取电压,
其中,该存储器管理电路用以发送一第二读取指令序列,其中该第二读取指令序列用以指示根据该第二读取电压读取该些第一存储包以取得多个第二验证比特,
其中,该错误检查与校正电路用以根据该些第二验证比特执行一第一解码程序。
20.根据权利要求19所述的存储器控制电路单元,其特征在于,该存储器管理电路根据该些第一校验子决定该第二读取电压的操作包括:
该存储器管理电路根据该些第一校验子计算一校验总和,根据该校验总和更新一校验总和信息,并且判断该校验总和信息是否符合一平衡条件,
其中,该存储器管理电路根据该校验总和信息是否符合该平衡条件来增加或是减少该第一读取电压以取得该第二读取电压。
21.根据权利要求20所述的存储器控制电路单元,其特征在于,该校验总和信息为一校验总和向量,并且该存储器管理电路根据该校验总和更新该校验总和信息的操作包括:
该存储器管理电路将该校验总和加入该校验总和向量当中,
其中,该存储器管理电路判断该校验总和信息是否符合该平衡条件的操作包括:
该存储器管理电路取得该校验总和向量的一微分向量,计算该微分向量的一总和,并且判断该微分向量的该总和是否小于一平衡临界值。
22.根据权利要求21所述的存储器控制电路单元,其特征在于,该存储器管理电路根据该校验总和信息是否符合该平衡条件来增加或是减少该第一读取电压以取得该第二读取电压的操作包括:
若该微分向量的该总和小于该平衡临界值,该存储器管理电路根据一读取电压表增加该第一读取电压以取得该第二读取电压;以及
若该微分向量的该总和大于等于该平衡临界值,该存储器管理电路根据该读取电压表减少该第一读取电压以取得该第二读取电压。
23.根据权利要求19所述的存储器控制电路单元,其特征在于,该第一解码程序为一软比特模式解码程序,
其中,该错误检查与校正电路还用以根据该些第二验证比特执行该奇偶检查程序以取得多个第二校验子,
其中,该存储器管理电路还用以根据该些第二校验子重新决定该第二读取电压,并且发出一第三读取指令序列,其中该第三读取指令序列用以指示根据重新决定的该第二读取电压读取该些第一存储包以重新取得该些第二验证比特,
其中,该存储器管理电路还用以判断一重复读取条件是否满足,
其中,若该重复读取条件满足,该存储器管理电路还用以重复执行所述重新决定该第二读取电压的步骤,以及发出该第三读取指令序列的步骤,直到满足该重复读取条件,
其中,若该重复读取条件不满足,该错误检查与校正电路还用以根据该些第一验证比特、该些第二验证比特以及重新取得的该些第二验证比特执行该软比特模式解码程序。
24.根据权利要求23所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以将该些第一验证比特、该些第二验证比特以及重新取得的该些第二验证比特分别相加,以取得多个验证数值,
其中,该存储器管理电路还用以根据该些验证数值取得多个通道可靠度信息,
其中,该错误检查与校正电路还用以根据该些通道可靠度信息执行该软比特模式解码程序。
25.根据权利要求23所述的存储器控制电路单元,其特征在于,该存储器管理电路判断该重复读取条件是否满足的操作包括:
该存储器管理电路判断一读取次数是否大于一读取临界值;
若该读取次数大于该读取临界值,该存储器管理电路判断该重复读取条件不满足;以及
若该读取次数不大于该读取临界值,该存储器管理电路判断该重复读取条件被满足。
26.根据权利要求19所述的存储器控制电路单元,其特征在于,该错误检查与校正电路包括一第一更正电路与一第二更正电路,并且该第一更正电路的一精准度小于该第二更正电路的一精准度,
其中,该存储器管理电路还用以根据该些第一校验子计算一校验总和,并且判断该校验总和是否小于一第一校验临界值,
其中,若该校验总和小于该第一校验临界值,该第一更正电路执行一第一硬比特模式解码程序,
若该校验总和大于等于该第一校验临界值,该存储器管理电路判断该校验总和是否小于一第二校验临界值,
若该校验总和小于该第二校验临界值,该第二更正电路执行一第二硬比特模式解码程序。
27.根据权利要求26所述的存储器控制电路单元,其特征在于,若该校验总和大于等于该第二校验临界值,该存储器管理电路还用以判断该校验总和是否小于一第三校验临界值,
若该校验总和小于该第三校验临界值,该存储器管理电路还用以判断是否支持一软比特模式解码程序,
若支持该软比特模式解码程序,该错误检查与校正电路还用以执行该软比特模式解码程序,
若不支持该软比特模式解码程序或该校验总和大于等于该第三校验临界值,该存储器管理电路还用以判断一读取次数是否大于一读取临界值,
若该读取次数不大于该读取临界值,该存储器管理电路还用以执行所述根据该些第一校验子决定该第二读取电压的操作。
28.一种存储器存储装置,其特征在于,包括:
一连接接口单元;
一可复写式非易失性存儲器模块;以及
一存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存儲器模块,用以根据该可复写式非易失性存儲器模块的一辨识码来判断是否支持一软比特模式解码程序,
若判断支持该软比特模式解码程序,该存储器控制电路单元用以取得一默认查找表,并且根据该预设查找表执行该软比特模式解码程序,
若判断不支持该软比特模式解码程序,该存储器控制电路单元用以建立一查找表,并且根据该查找表执行该软比特模式解码程序。
29.根据权利要求28所述的存储器存储装置,其特征在于,该存储器控制电路单元建立该查找表的操作包括:
该存储器控制电路单元发送一第一读取指令序列,其中该第一读取指令序列用以指示根据一第一读取电压读取该可复写式非易失性存儲器模块中的多个第一存储包以取得多个第一验证比特;
该存储器控制电路单元根据该些第一验证比特执行一奇偶检查程序以取得多个第一校验子,并且根据该些第一校验子决定一第二读取电压,其中该第二读取电压不同于该第一读取电压;
该存储器控制电路单元发送一第二读取指令序列,其中该第二读取指令序列用以指示根据该第二读取电压读取该些第一存储包以取得多个第二验证比特;以及
该存储器控制电路单元用以根据该些第一验证比特与该些第二验证比特建立该查找表。
30.根据权利要求29所述的存储器存储装置,其特征在于,该存储器控制电路单元根据该些第一校验子决定该第二读取电压的操作包括:
该存储器控制电路单元根据该些第一校验子计算一校验总和,根据该校验总和更新一校验总和信息,并且判断该校验总和信息是否符合一平衡条件,
其中,该存储器控制电路单元根据该校验总和信息是否符合该平衡条件来增加或是减少该第一读取电压以取得该第二读取电压。
31.根据权利要求30所述的存储器存储装置,其特征在于,该校验总和信息为一校验总和向量,并且该存储器控制电路单元根据该校验总和更新该校验总和信息的操作包括:
将该校验总和加入该校验总和向量当中,
其中,该存储器控制电路单元判断该校验总和信息是否符合该平衡条件的操作包括:
该存储器控制电路单元取得该校验总和向量的一微分向量,计算该微分向量的一总和,并且判断该微分向量的该总和是否小于一平衡临界值。
32.根据权利要求31所述的存储器存储装置,其特征在于,该存储器控制电路单元根据该校验总和信息是否符合该平衡条件来增加或是减少该第一读取电压以取得该第二读取电压的操作包括:
若该微分向量的该总和小于该平衡临界值,该存储器控制电路单元根据一读取电压表增加该第一读取电压以取得该第二读取电压;以及
若该微分向量的该总和大于等于该平衡临界值,该存储器控制电路单元根据该读取电压表减少该第一读取电压以取得该第二读取电压。
33.根据权利要求29所述的存储器存储装置,其特征在于,该存储器控制电路单元根据该些第一验证比特与该些第二验证比特建立该查找表建立该查找表操作包括:
该存储器控制电路单元根据该些第二验证比特执行该奇偶检查程序以取得多个第二校验子,根据该些第二校验子重新决定该第二读取电压,并且发出一第三读取指令序列,其中该第三读取指令序列用以指示根据重新决定的该第二读取电压读取该些第一存储包以重新取得该些第二验证比特;
该存储器控制电路单元判断一重复读取条件是否满足;
若该重复读取条件满足,该存储器控制电路单元重复执行所述重新决定该第二读取电压的步骤,以及发出该第三读取指令序列的步骤,直到满足该重复读取条件;以及
若该重复读取条件不满足,该存储器控制电路单元根据该些第一验证比特、该些第二验证比特以及重新取得的该些第二验证比特建立该查找表。
34.根据权利要求33所述的存储器存储装置,其特征在于,该存储器控制电路单元根据该些第一验证比特、该些第二验证比特以及重新取得的该些第二验证比特建立该查找表的操作包括:
该存储器控制电路单元将该些第一验证比特、该些第二验证比特以及重新取得的该些第二验证比特分别相加,以取得多个验证数值;
该存储器控制电路单元根据该些验证数值建立该查找表,其中该查找表纪录多个通道可靠度信息。
35.根据权利要求33所述的存储器存储装置,其特征在于,其中该存储器控制电路单元判断该重复读取条件是否满足的操作包括:
该存储器控制电路单元判断一读取次数是否大于一读取临界值;
若该读取次数大于该读取临界值,该存储器控制电路单元判断该重复读取条件不满足;以及
若该读取次数不大于该读取临界值,该存储器控制电路单元判断该重复读取条件被满足。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410054692.8A CN104851458B (zh) | 2014-02-18 | 2014-02-18 | 解码方法、存储器存储装置与存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410054692.8A CN104851458B (zh) | 2014-02-18 | 2014-02-18 | 解码方法、存储器存储装置与存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104851458A true CN104851458A (zh) | 2015-08-19 |
CN104851458B CN104851458B (zh) | 2019-02-05 |
Family
ID=53851053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410054692.8A Active CN104851458B (zh) | 2014-02-18 | 2014-02-18 | 解码方法、存储器存储装置与存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104851458B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708649A (zh) * | 2015-11-13 | 2017-05-24 | 大心电子股份有限公司 | 解码方法、存储器储存装置及存储器控制电路单元 |
CN107608817A (zh) * | 2016-07-12 | 2018-01-19 | 大心电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
CN110739016A (zh) * | 2018-07-19 | 2020-01-31 | 慧荣科技股份有限公司 | 闪存控制器以及用来存取闪存模块的方法 |
CN111258791A (zh) * | 2018-12-03 | 2020-06-09 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN112068778A (zh) * | 2020-03-23 | 2020-12-11 | 杭州华澜微电子股份有限公司 | 用于保持从存储阵列中读取的数据的完整性的方法和设备 |
CN112634972A (zh) * | 2019-09-24 | 2021-04-09 | 群联电子股份有限公司 | 电压识别方法、存储器控制电路单元以及存储器储存装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244338A1 (en) * | 2007-03-31 | 2008-10-02 | Nima Mokhlesi | Soft bit data transmission for error correction control in non-volatile memory |
CN103137213A (zh) * | 2011-12-01 | 2013-06-05 | 慧荣科技股份有限公司 | 具有低密度奇偶校验码译码能力的存储器控制装置及方法 |
US20130215678A1 (en) * | 2012-02-22 | 2013-08-22 | Silicon Motion, Inc. | Method, Memory Controller and System for Reading Data Stored in Flash Memory |
-
2014
- 2014-02-18 CN CN201410054692.8A patent/CN104851458B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244338A1 (en) * | 2007-03-31 | 2008-10-02 | Nima Mokhlesi | Soft bit data transmission for error correction control in non-volatile memory |
CN103137213A (zh) * | 2011-12-01 | 2013-06-05 | 慧荣科技股份有限公司 | 具有低密度奇偶校验码译码能力的存储器控制装置及方法 |
US20130215678A1 (en) * | 2012-02-22 | 2013-08-22 | Silicon Motion, Inc. | Method, Memory Controller and System for Reading Data Stored in Flash Memory |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708649A (zh) * | 2015-11-13 | 2017-05-24 | 大心电子股份有限公司 | 解码方法、存储器储存装置及存储器控制电路单元 |
CN106708649B (zh) * | 2015-11-13 | 2019-08-06 | 深圳大心电子科技有限公司 | 解码方法、存储器储存装置及存储器控制电路单元 |
CN107608817A (zh) * | 2016-07-12 | 2018-01-19 | 大心电子股份有限公司 | 解码方法、存储器存储装置及存储器控制电路单元 |
US11086567B2 (en) | 2018-07-19 | 2021-08-10 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
US11494085B2 (en) | 2018-07-19 | 2022-11-08 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
CN110739017A (zh) * | 2018-07-19 | 2020-01-31 | 慧荣科技股份有限公司 | 闪存控制器、闪存模块以及电子装置 |
CN110739016A (zh) * | 2018-07-19 | 2020-01-31 | 慧荣科技股份有限公司 | 闪存控制器以及用来存取闪存模块的方法 |
US11099781B2 (en) | 2018-07-19 | 2021-08-24 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
CN110739016B (zh) * | 2018-07-19 | 2021-10-15 | 慧荣科技股份有限公司 | 闪存控制器以及用来存取闪存模块的方法 |
US11256425B2 (en) | 2018-07-19 | 2022-02-22 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
CN110739017B (zh) * | 2018-07-19 | 2022-03-25 | 慧荣科技股份有限公司 | 闪存控制器、闪存模块以及电子装置 |
US11494086B2 (en) | 2018-07-19 | 2022-11-08 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
CN111258791A (zh) * | 2018-12-03 | 2020-06-09 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN111258791B (zh) * | 2018-12-03 | 2023-05-02 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN112634972A (zh) * | 2019-09-24 | 2021-04-09 | 群联电子股份有限公司 | 电压识别方法、存储器控制电路单元以及存储器储存装置 |
CN112634972B (zh) * | 2019-09-24 | 2023-08-15 | 群联电子股份有限公司 | 电压识别方法、存储器控制电路单元以及存储器储存装置 |
CN112068778B (zh) * | 2020-03-23 | 2022-04-26 | 杭州华澜微电子股份有限公司 | 用于保持从存储阵列中读取的数据的完整性的方法和设备 |
CN112068778A (zh) * | 2020-03-23 | 2020-12-11 | 杭州华澜微电子股份有限公司 | 用于保持从存储阵列中读取的数据的完整性的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104851458B (zh) | 2019-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI540586B (zh) | 解碼方法、記憶體儲存裝置、記憶體控制電路單元 | |
KR102643457B1 (ko) | Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법 | |
US9471421B2 (en) | Data accessing method, memory storage device and memory controlling circuit unit | |
TWI523018B (zh) | 解碼方法、記憶體儲存裝置、記憶體控制電路單元 | |
CN104601178A (zh) | 解码方法、解码电路、存储器存储装置与控制电路单元 | |
CN105468292B (zh) | 数据存取方法、存储器储存装置及存储器控制电路单元 | |
CN104851458A (zh) | 解码方法、存储器存储装置与存储器控制电路单元 | |
CN104572334B (zh) | 解码方法、存储器存储装置与存储器控制电路单元 | |
US9553608B2 (en) | Data storage device decoder and method of operation | |
US10193569B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
US9362951B2 (en) | Decoding method, decoding circuit, memory storage device and controlling circuit unit | |
CN105022674B (zh) | 解码方法、存储器存储装置、存储器控制电路单元 | |
US11139832B1 (en) | LDPC decoder and operating method thereof | |
US10200063B2 (en) | Memory controller, semiconductor memory system and operating method thereof | |
CN104733044B (zh) | 译码方法、存储器存储装置、存储器控制电路单元 | |
CN105023613A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
US9858994B2 (en) | Memory system with MLC memory cells and partial page compression or reduction | |
CN105304142A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN104424045A (zh) | 解码方法、存储器储存装置与非易失性存储器模块 | |
CN104778975B (zh) | 译码方法、存储器存储装置、存储器控制电路单元 | |
TWI527036B (zh) | 解碼方法、記憶體儲存裝置、記憶體控制電路單元 | |
US11036579B2 (en) | Decoder for memory system and method thereof | |
CN105304143A (zh) | 解码方法、存储器控制电路单元及存储器存储装置 | |
CN105575440A (zh) | 错误处理方法、存储器储存装置及存储器控制电路单元 | |
CN105320573B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |