存储器管理方法、存储器存储装置及存储器控制电路单元转让专利

申请号 : CN201410851103.9

文献号 : CN105810246A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林纬许祐诚

申请人 : 群联电子股份有限公司

摘要 :

本发明提供一种存储器管理方法、存储器存储装置及存储器控制电路单元。所述存储器管理方法包括:将数据程序化至可复写式非易失性存储器模块的多个存储单元;根据一预设偏压区间以及存有所述数据的所述存储单元的临界电压分布判断所述数据的存储状态是符合第一条件或第二条件;若所述数据的存储状态是符合第一条件,执行第一操作;以及若所述数据的存储状态是符合第二条件,则执行第二操作,其中所述第一操作与所述第二操作不同。藉此,可减少将有效数据误判为无效数据的机率。

权利要求 :

1.一种存储器管理方法,用于可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块包括多个存储单元,该存储器管理方法包括:将数据程序化至该些存储单元;

根据预设偏压区间以及存有该数据的该些存储单元的临界电压分布判断该数据的存储状态是符合第一条件或第二条件;

若该数据的该存储状态符合第一条件,执行第一操作;以及若该数据的该存储状态符合第二条件,执行第二操作,其中该第一操作与该第二操作不同。

2.根据权利要求1所述的存储器管理方法,其特征在于,判断该数据的该存储状态是符合该第一条件或该第二条件的步骤包括:扫描该些存储单元以获得该些存储单元的该临界电压分布;

判断该临界电压分布的分布范围是否与该预设偏压区间一致;以及若该临界电压分布的该分布范围与该预设偏压区间一致,判定该数据的该存储状态是符合该第二条件。

3.根据权利要求2所述的存储器管理方法,其特征在于,判断该数据的该存储状态是符合该第一条件或该第二条件的步骤还包括:判断该临界电压分布的位置是否是位于错误范围内。

4.根据权利要求1所述的存储器管理方法,其特征在于,判断该数据的该存储状态是符合该第一条件或该第二条件的步骤包括:统计该些存储单元中的至少一第一存储单元的第一数目,其中每一该至少一第一存储单元的临界电压小于该预设偏压区间的上限值;

判断该第一数目是否大于门槛值;以及

若该第一数目大于该门槛值,判定该数据的该存储状态是符合该第二条件。

5.根据权利要求4所述的存储器管理方法,其特征在于,还包括:将预设读取电压加上预设偏压区间调整值以获得该预设偏压区间的该上限值。

6.根据权利要求1所述的存储器管理方法,其特征在于,该预设偏压区间符合增量阶跃脉冲程序的程序化模型。

7.根据权利要求1所述的存储器管理方法,其特征在于,该第一操作包括将存储在该些存储单元中的该数据识别为有效数据且译码该数据,其中该第二操作包括将存储在该些存储单元中的该数据识别为无效数据且不译码该数据。

8.根据权利要求1所述的存储器管理方法,其特征在于,还包括:读取该些存储单元以获得多个比特;以及

判断该些比特中的错误比特数是否大于预设值,

其中判断该数据的该存储状态是符合该第一条件或该第二条件的步骤是在该错误比特数大于该预设值时执行。

9.一种存储器存储装置,其特征在于,包括:

连接接口单元,用以电性连接至主机系统;

可复写式非易失性存储器模块,包括多个存储单元;以及存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,其中该存储器控制电路单元用以将一数据写入至该些存储单元,其中该存储器控制电路单元还用以根据预设偏压区间以及存有该数据的该些存储单元的临界电压分布判断该数据的存储状态是符合第一条件或第二条件,其中若该数据的该存储状态是符合该第一条件,该存储器控制电路单元还用以执行第一操作,其中若该数据的该存储状态是符合该第二条件,该存储器控制电路单元还用以执行第二操作,其中该第一操作与该第二操作不同。

10.根据权利要求9所述的存储器存储装置,其特征在于,该存储器控制电路单元判断该数据的该存储状态是符合该第一条件或该第二条件的操作包括:扫描该些存储单元以获得该些存储单元的该临界电压分布;

判断该临界电压分布的分布范围是否与该预设偏压区间一致;以及若该临界电压分布的该分布范围与该预设偏压区间一致,判定该数据的该存储状态是符合该第二条件。

11.根据权利要求10所述的存储器存储装置,其特征在于,该存储器控制电路单元判断该数据的该存储状态是符合该第一条件或该第二条件的操作还包括:判断该临界电压分布的位置是否是位于错误范围内。

12.根据权利要求9所述的存储器存储装置,其特征在于,该存储器控制电路单元判断该数据的该存储状态是符合该第一条件或该第二条件的操作包括:统计该些存储单元中的至少一第一存储单元的第一数目,其中每一该至少一第一存储单元的临界电压小于该预设偏压区间的上限值;

判断该第一数目是否大于门槛值;以及

若该第一数目大于该门槛值,判定该数据的该存储状态是符合该第二条件。

13.根据权利要求12所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以将预设读取电压加上预设偏压区间调整值以获得该预设偏压区间的该上限值。

14.根据权利要求9所述的存储器存储装置,其特征在于,该预设偏压区间符合增量阶跃脉冲程序的程序化模型。

15.根据权利要求9所述的存储器存储装置,其特征在于,该第一操作包括将存储在该些存储单元中的该数据识别为有效数据且译码该数据,其中该第二操作包括将存储在该些存储单元中的该数据识别为无效数据且不译码该数据。

16.根据权利要求9所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以读取该些存储单元以获得多个比特,其中该存储器控制电路单元还用以判断该些比特中的错误比特数是否大于预设值,其中判断该数据的该存储状态是符合该第一条件或该第二条件的操作是在该错误比特数大于该预设值时执行。

17.一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块包括多个存储单元,该存储器控制电路单元包括:主机接口,用以电性连接至主机系统;

存储器接口,用以电性连接至该可复写式非易失性存储器模块;以及存储器管理电路,电性连接至该主机接口与该存储器接口,其中该存储器管理电路用以发送写入指令序列,其中该写入指令序列指示将数据写入至该些存储单元,其中该存储器管理电路还用以根据预设偏压区间以及存有该数据的该些存储单元的临界电压分布判断该数据的存储状态是符合第一条件或第二条件,其中若该数据的该存储状态是符合该第一条件,该存储器管理电路还用以执行第一操作,其中若该数据的该存储状态是符合该第二条件,该存储器管理电路还用以执行第二操作,其中该第一操作与该第二操作不同。

18.根据权利要求17所述的存储器控制电路单元,其特征在于,该存储器管理电路判断该数据的该存储状态是符合该第一条件或该第二条件的操作包括:扫描该些存储单元以获得该些存储单元的该临界电压分布;

判断该临界电压分布的分布范围是否与该预设偏压区间一致;以及若该临界电压分布的该分布范围与该预设偏压区间一致,判定该数据的该存储状态是符合该第二条件。

19.根据权利要求18所述的存储器控制电路单元,其特征在于,该存储器管理电路判断该数据的该存储状态是符合该第一条件或该第二条件的操作还包括:判断该临界电压分布的位置是否是位于错误范围内。

20.根据权利要求17所述的存储器控制电路单元,其特征在于,该存储器管理电路判断该数据的该存储状态是符合该第一条件或该第二条件的操作包括:统计该些存储单元中的至少一第一存储单元的第一数目,其中每一该至少一第一存储单元的临界电压小于该预设偏压区间的上限值;

判断该第一数目是否大于门槛值;以及

若该第一数目大于该门槛值,判定该数据的该存储状态是符合该第二条件。

21.根据权利要求20所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以将预设读取电压加上预设偏压区间调整值以获得该预设偏压区间的该上限值。

22.根据权利要求17所述的存储器控制电路单元,其特征在于,该预设偏压区间符合增量阶跃脉冲程序的程序化模型。

23.根据权利要求17所述的存储器控制电路单元,其特征在于,该存储器控制电路单元还包括错误检查与校正电路,其中该第一操作包括将存储在该些存储单元中的该数据识别为有效数据并且指示该错误检查与校正电路译码该数据,其中该第二操作包括将存储在该些存储单元中的该数据识别为无效数据并且不指示该错误检查与校正电路译码该数据。

24.根据权利要求17所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以发送读取指令序列,其中该读取指令序列指示读取该些存储单元以获得多个比特,其中该存储器管理电路还用以判断该些比特中的错误比特数是否大于预设值,其中判断该数据的该存储状态是符合该第一条件或该第二条件的操作是在该错误比特数大于该预设值时执行。

说明书 :

存储器管理方法、存储器存储装置及存储器控制电路单元

技术领域

[0001] 本发明是有关于一种存储器管理方法,且特别是有关于一种存储器管理方法、存储器存储装置及存储器控制电路单元。

背景技术

[0002] 数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
[0003] 一般来说,存储器存储装置被断电之前写入的数据可能会存在许多错误。因此,在存储器存储装置被重新启动之后,部分断电之前写入的数据会被找出来并且会被识别为无效数据。然而,如何降低存储器存储装置中的有效数据被误判为无效数据的机率仍属本领域所致力研究的课题之一。

发明内容

[0004] 本发明提供一种存储器管理方法、存储器存储装置及存储器控制电路单元,可减少将有效数据误判为无效数据的机率。
[0005] 本发明的一范例实施例提供一种存储器管理方法,用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个存储单元,所述存储器管理方法包括:将数据程序化至所述存储单元;根据预设偏压区间以及存有所述数据的所述存储单元的临界电压分布判断所述数据的存储状态是符合第一条件或第二条件;若所述数据的存储状态是符合所述第一条件,执行第一操作;以及若所述数据的存储状态是符合所述第二条件,执行第二操作,其中所述第一操作与所述第二操作不同。
[0006] 在本发明的一范例实施例中,所述判断所述数据的存储状态是符合第一条件或第二条件的步骤包括:扫描所述存储单元以获得所述存储单元的所述临界电压分布;判断所述临界电压分布的分布范围是否与所述预设偏压区间一致;以及若所述临界电压分布的所述分布范围与所述预设偏压区间一致,判定所述数据的存储状态是符合所述第二条件。
[0007] 在本发明的一范例实施例中,所述判断所述数据的存储状态是符合第一条件或第二条件的步骤还包括:判断所述临界电压分布的位置是否是位于错误范围内。
[0008] 在本发明的一范例实施例中,所述判断所述数据的存储状态是符合第一条件或第二条件的步骤包括:统计所述存储单元中的至少一第一存储单元的第一数目,其中每一所述第一存储单元的临界电压小于所述预设偏压区间的上限值;判断所述第一数目是否大于门槛值;以及若所述第一数目大于所述门槛值,判定所述数据的存储状态是符合所述第二条件。
[0009] 在本发明的一范例实施例中,所述存储器管理方法还包括:将预设读取电压加上预设偏压区间调整值以获得所述预设偏压区间的所述上限值。
[0010] 在本发明的一范例实施例中,所述预设偏压区间符合增量阶跃脉冲程序(Incremental-step-pulse programming,简称:ISPP)的程序化模型。
[0011] 在本发明的一范例实施例中,所述第一操作包括将存储在所述存储单元中的所述数据识别为有效数据且译码所述数据,而所述第二操作包括将存储在所述存储单元中的所述数据识别为无效数据且不译码所述数据。
[0012] 在本发明的一范例实施例中,所述存储器管理方法还包括:读取所述存储单元以获得多个比特;以及判断所述比特中的错误比特数是否大于预设值,其中判断所述数据的存储状态是符合所述第一条件或所述第二条件的步骤是在所述错误比特数大于所述预设值时执行。
[0013] 本发明的另一范例实施例提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。连接接口单元用以电性连接至主机系统。可复写式非易失性存储器模块包括多个存储单元。存储器控制电路单元电性连接至所述连接接口单元与所述可复写式非易失性存储器模块。其中所述存储器控制电路单元用以将数据写入至所述存储单元,其中所述存储器控制电路单元还用以根据预设偏压区间以及存有所述数据的所述存储单元的临界电压分布判断所述数据的存储状态是符合第一条件或第二条件,其中若所述数据的存储状态是符合所述第一条件,所述存储器控制电路单元还用以执行第一操作,其中若所述数据的存储状态是符合所述第二条件,所述存储器控制电路单元还用以执行第二操作,其中所述第一操作与所述第二操作不同。
[0014] 在本发明的一范例实施例中,所述存储器控制电路单元判断所述数据的存储状态是符合所述第一条件或所述第二条件的操作包括:扫描所述存储单元以获得所述存储单元的所述临界电压分布;判断所述临界电压分布的分布范围是否与所述预设偏压区间一致;以及若所述临界电压分布的所述分布范围与所述预设偏压区间一致,判定所述数据的存储状态是符合所述第二条件。
[0015] 在本发明的一范例实施例中,所述存储器控制电路单元判断所述数据的存储状态是符合所述第一条件或所述第二条件的操作还包括:判断所述临界电压分布的位置是否是位于错误范围内。
[0016] 在本发明的一范例实施例中,所述存储器控制电路单元判断所述数据的存储状态是符合所述第一条件或所述第二条件的操作包括:统计所述存储单元中的至少一第一存储单元的第一数目,其中每一所述第一存储单元的临界电压小于所述预设偏压区间的上限值;判断所述第一数目是否大于门槛值;以及若所述第一数目大于所述门槛值,判定所述数据的存储状态是符合所述第二条件。
[0017] 在本发明的一范例实施例中,所述存储器控制电路单元还用以将预设读取电压加上预设偏压区间调整值以获得所述预设偏压区间的所述上限值。
[0018] 在本发明的一范例实施例中,所述第一操作包括将存储在所述存储单元中的所述数据识别为有效数据且译码所述数据,而所述第二操作包括将存储在所述存储单元中的所述数据识别为无效数据且不译码所述数据。
[0019] 在本发明的一范例实施例中,所述存储器控制电路单元还用以读取所述存储单元以获得多个比特,其中所述存储器控制电路单元还用以判断所述比特中的错误比特数是否大于预设值,其中判断所述数据的存储状态是符合所述第一条件或所述第二条件的操作是在所述错误比特数大于所述预设值时执行。
[0020] 本发明的另一范例实施例提供一种存储器控制电路单元,其用于控制可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储单元,所述存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至所述可复写式非易失性存储器模块。存储器管理电路电性连接至所述主机接口与所述存储器接口。其中所述存储器管理电路用以发送写入指令序列,其中所述写入指令序列指示将数据写入至所述存储单元,其中所述存储器管理电路还用以根据预设偏压区间以及存有所述数据的所述存储单元的临界电压分布判断所述数据的存储状态是符合第一条件或第二条件,其中若所述数据的存储状态是符合所述第一条件,所述存储器管理电路还用以执行第一操作,其中若所述数据的存储状态是符合所述第二条件,所述存储器管理电路还用以执行第二操作,其中所述第一操作与所述第二操作不同。
[0021] 在本发明的一范例实施例中,所述存储器管理电路判断所述数据的存储状态是符合所述第一条件或所述第二条件的操作包括:扫描所述存储单元以获得所述存储单元的所述临界电压分布;判断所述临界电压分布的分布范围是否与所述预设偏压区间一致;以及若所述临界电压分布的所述分布范围与所述预设偏压区间一致,判定所述数据的存储状态是符合所述第二条件。
[0022] 在本发明的一范例实施例中,所述存储器管理电路判断所述数据的存储状态是符合所述第一条件或所述第二条件的操作还包括:判断所述临界电压分布的位置是否是位于错误范围内。
[0023] 在本发明的一范例实施例中,所述存储器管理电路判断所述数据的存储状态是符合所述第一条件或所述第二条件的操作包括:统计所述存储单元中的至少一第一存储单元的第一数目,其中每一所述第一存储单元的临界电压小于所述预设偏压区间的上限值;判断所述第一数目是否大于门槛值;以及若所述第一数目大于所述门槛值,判定所述数据的存储状态是符合所述第二条件。
[0024] 在本发明的一范例实施例中,所述存储器管理电路还用以将预设读取电压加上预设偏压区间调整值以获得所述预设偏压区间的所述上限值。
[0025] 在本发明的一范例实施例中,所述存储器控制电路单元还包括错误检查与校正电路,其中所述第一操作包括将存储在所述存储单元中的所述数据识别为有效数据并且指示所述错误检查与校正电路译码所述数据,而所述第二操作包括将存储在所述存储单元中的所述数据识别为无效数据并且不指示所述错误检查与校正电路译码所述数据。
[0026] 在本发明的一范例实施例中,所述存储器管理电路还用以发送读取指令序列,其中所述读取指令序列指示读取所述存储单元以获得多个比特,其中所述存储器管理电路还用以判断所述比特中的错误比特数是否大于预设值,其中判断所述数据的存储状态是符合所述第一条件或所述第二条件的操作是在所述错误比特数大于所述预设值时执行。
[0027] 基于上述,有别于传统仅根据数据中错误比特的数目来判断数据是否有效,本发明利用预设偏压区间来找出系统断电前写入的无效数据,将可有效减少将有效数据误判为无效数据的机率。
[0028] 为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

[0029] 图1是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的示意图;
[0030] 图2是根据本发明的一范例实施例所示出的计算机、输入/输出装置与存储器存储装置的范例示意图;
[0031] 图3是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的范例示意图;
[0032] 图4是示出图1所示的存储器存储装置的概要方块图;
[0033] 图5是根据本发明的一范例实施例所示出的可复写式非易失性存储器模块的概要方块图;
[0034] 图6是根据本发明的一范例实施例所示出的存储单元阵列的范例示意图;
[0035] 图7是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
[0036] 图8是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图;
[0037] 图9是根据本发明的一范例实施例所示出的存储单元的临界电压分布图;
[0038] 图10是根据本发明的一范例实施例所示出的程序化存储单元的示意图;
[0039] 图11是根据本发明的一范例实施例所示出的错误的临界电压分布的示意图;
[0040] 图12是根据本发明的一范例实施例所示出的判断数据是否有效地被程序化至此些存储单元中的示意图;
[0041] 图13是根据本发明的另一范例实施例所示出的判断数据是否有效地被程序化至此些存储单元中的示意图;
[0042] 图14是根据本发明的一范例实施例所示出的存储器管理方法的示意图;
[0043] 图15是根据本发明的另一范例实施例所示出的存储器管理方法的示意图;
[0044] 图16是根据本发明的另一范例实施例所示出的存储器管理方法的示意图;
[0045] 图17是根据本发明的另一范例实施例所示出的存储器管理方法的示意图;
[0046] 附图标记说明:
[0047] 10:存储器存储装置;
[0048] 11:主机系统;
[0049] 12:计算机;
[0050] 122:微处理器;
[0051] 124:随机存取存储器;
[0052] 126:系统总线;
[0053] 128:数据传输接口;
[0054] 13:输入/输出装置;
[0055] 21:鼠标;
[0056] 22:键盘;
[0057] 23:显示器;
[0058] 24:打印机;
[0059] 25:U盘;
[0060] 26:存储卡;
[0061] 27:固态硬盘;
[0062] 31:数码相机;
[0063] 32:SD卡;
[0064] 33:MMC卡;
[0065] 34:存储棒;
[0066] 35:CF卡;
[0067] 36:嵌入式存储装置;
[0068] 402:连接接口单元;
[0069] 404:存储器控制电路单元;
[0070] 406:可复写式非易失性存储器模块;
[0071] 502:存储单元阵列;
[0072] 504:字符线控制电路;
[0073] 506:比特线控制电路;
[0074] 508:行译码器;
[0075] 510:数据输入/输出缓冲器;
[0076] 512:控制电路;
[0077] 602:存储单元;
[0078] 604:比特线;
[0079] 606:字符线;
[0080] 608:共用源极线;
[0081] 612、选择栅漏极晶体管;
[0082] 614:选择栅源极晶体管;
[0083] 702:存储器管理电路;
[0084] 704:主机接口;
[0085] 706:存储器接口;
[0086] 708:错误检查与校正电路;
[0087] 710:缓冲存储器;
[0088] 712:电源管理电路;
[0089] 800(0)~800(R):实体抹除单元;
[0090] 810(0)~810(D):逻辑单元;
[0091] 802:存储区;
[0092] 806:系统区;
[0093] 901、902、1101、1102、1201、1202、1301、1302:分布;
[0094] 1010、1020、1030、1040、1050:位置;
[0095] ΔV、ΔVISPP:分布范围;
[0096] 1203:重叠区域;
[0097] VR:预设读取电压;
[0098] VMAX:上限电压;
[0099] S1401~S1404、S1501~S1505、S1601~S1605、S1701~S1707:步骤。

具体实施方式

[0100] 一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
[0101] 图1是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的范例示意图。图2是根据本发明的一范例实施例所示出的计算机、输入/输出装置与存储器存储装置的范例示意图。
[0102] 请参照图1,主机系统11一般包括计算机12与输入/输出(input/output,简称:I/O)装置13。计算机12包括微处理器122、随机存取存储器(random access memory,简称:RAM)124、系统总线126与数据传输接口128。输入/输出装置13包括如图2的鼠标
21、键盘22、显示器23与打印机24。必须了解的是,图2所示的装置非限制输入/输出装置13,输入/输出装置13可还包括其他装置。
[0103] 在一范例实施例中,存储器存储装置10是通过数据传输接口128与主机系统11的其他元件电性连接。通过微处理器122、随机存取存储器124与输入/输出装置13的操作可将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。例如,存储器存储装置10可以是如图2所示的U盘25、存储卡26或固态硬盘(Solid State Drive,简称:SSD)27等的可复写式非易失性存储器存储装置。
[0104] 图3是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的范例示意图。
[0105] 一般而言,主机系统11为可实质地与存储器存储装置10配合以存储数据的任意系统。虽然在本范例实施例中,主机系统11是以计算机系统来作说明,然而,另一范例实施例中,主机系统11可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄影机)31时,可复写式非易失性存储器存储装置则为其所使用的SD卡32、MMC卡33、存储棒(memory stick)34、CF卡35或嵌入式存储装置36(如图3所示)。嵌入式存储装置36包括嵌入式多媒体卡(Embedded MMC,简称:eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接在主机系统的基板上。
[0106] 图4是示出图1所示的存储器存储装置的概要方块图。
[0107] 请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
[0108] 在本范例实施例中,连接接口单元402是相容于串行高级技术附件(Serial Advanced Technology Attachment,简称:SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是并行高级技术附件(Parallel Advanced Technology Attachment,简称:PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,简称:IEEE)1394标准、高速外设互联接口(Peripheral Component Interconnect Express,简称:PCI Express)标准、通用串行总线(Universal Serial Bus,简称:USB)标准、安全数字(Secure Digital,简称:SD)接口标准、超高速一代(Ultra High Speed-I,简称:UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称:UHS-II)接口标准、存储棒(Memory Stick,简称:MS)接口标准、多媒体存储卡(Multi Media Card,简称:MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card,简称:eMMC)接口标准、通用快闪存储器(Universal Flash Storage,简称:UFS)接口标准、小型快闪(Compact Flash,简称:CF)接口标准、集成驱动电子接口(Integrated Device Electronics,简称:IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设在一包含存储器控制电路单元404的芯片外。
[0109] 存储器控制电路单元404用以执行以硬件形式或固件形式实作的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等操作。
[0110] 可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单层存储单元(Single Level Cell,简称:SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特数据的快闪存储器模块)、多层存储单元(Multi Level Cell,简称:MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特数据的快闪存储器模块)、复数层存储单元(Triple Level Cell,简称:TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
[0111] 图5是根据本发明的一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。图6是根据本发明的一范例实施例所示出的存储单元阵列的范例示意图。
[0112] 请参照图5,可复写式非易失性存储器模块406包括存储单元阵列502、字符线控制电路504、比特线控制电路506、行译码器(column decoder)508、数据输入/输出缓冲器510与控制电路512。
[0113] 在本范例实施例中,存储单元阵列502可包括用以存储数据的多个存储单元602、多个选择栅漏极(select gate drain,简称:SGD)晶体管612与多个选择栅源极(select gate source,简称:SGS)晶体管614、以及连接此些存储单元的多条比特线604、多条字符线606、与共用源极线608(如图6所示)。存储单元602是以阵列方式(或立体堆叠的方式)配置在比特线604与字符线606的交叉点上。当从存储器控制电路单元404接收到写入指令或读取指令时,控制电路512会控制字符线控制电路504、比特线控制电路506、行译码器508、数据输入/输出缓冲器510来写入数据至存储单元阵列502或从存储单元阵列502中读取数据,其中字符线控制电路504用以控制施加至字符线606的电压,比特线控制电路506用以控制施加至比特线604的电压,行译码器508依据指令中的列地址以选择对应的比特线,并且数据输入/输出缓冲器510用以暂存数据。
[0114] 可复写式非易失性存储器模块406中的每一个存储单元是以临界电压的改变来存储一或多个比特。具体来说,每一个存储单元的控制栅极(control gate)与通道之间有一个电荷捕捉层。通过施加一写入电压至控制栅极,可以改变电荷补捉层的电子量,因而改变了存储单元的临界电压。此改变临界电压的程序也称为“把数据写入至存储单元”或“程序化存储单元”。随着临界电压的改变,存储单元阵列502的每一个存储单元具有多个存储状态。并且通过读取电压可以判断存储单元是属于哪一个存储状态,藉此取得存储单元所存储的一或多个比特。
[0115] 图7是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
[0116] 请参照图7,存储器控制电路单元404包括存储器管理电路702、主机接口704、存储器接口706及错误检查与校正电路708。
[0117] 存储器管理电路702用以控制存储器控制电路单元404的整体操作。具体来说,存储器管理电路702具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等操作。以下说明存储器管理电路702的操作时,等同于说明存储器控制电路单元404的操作,以下并不再赘述。
[0118] 在本范例实施例中,存储器管理电路702的控制指令是以固件形式来实作。例如,存储器管理电路702具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等操作。
[0119] 在另一范例实施例中,存储器管理电路702的控制指令也可以程序码形式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路702具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被触发时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路702的随机存取存储器中。之后,微处理器单元会运行此些控制指令以进行数据的写入、读取与抹除等操作。
[0120] 此外,在另一范例实施例中,存储器管理电路702的控制指令也可以一硬件形式来实作。例如,存储器管理电路702包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块406的实体抹除单元;存储器写入单元用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取单元用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除单元用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。
[0121] 主机接口704是电性连接至存储器管理电路702并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口704来传送至存储器管理电路702。在本范例实施例中,主机接口704是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口704也可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
[0122] 存储器接口706是电性连接至存储器管理电路702并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会通过存储器接口706转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路702要存取可复写式非易失性存储器模块406,存储器接口706会传送对应的指令序列。这些指令序列可包括一或多个信号,或是在总线上的数据。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
[0123] 错误检查与校正电路708是电性连接至存储器管理电路702并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路702从主机系统11中接收到写入指令时,错误检查与校正电路708会为对应此写入指令的数据产生对应的错误更正码(error correcting code,简称:ECC)和/或错误检查码(error detecting code,简称:EDC),并且存储器管理电路702会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路702从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码及/或错误检查码,并且错误检查与校正电路708会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正程序。
[0124] 在一范例实施例中,存储器控制电路单元404还包括缓冲存储器710与电源管理电路712。缓冲存储器710是电性连接至存储器管理电路702并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路712是电性连接至存储器管理电路702并且用以控制存储器存储装置10的电源。
[0125] 图8是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的范例示意图。必须了解的是,在此描述可复写式非易失性存储器模块406的实体抹除单元的操作时,以“选择”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体抹除单元的实际位置并未改动,而是逻辑上对可复写式非易失性存储器模块的实体抹除单元进行操作。
[0126] 可复写式非易失性存储器模块406的存储单元会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元。具体来说,同一条字符线上的存储单元会组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字符线上的实体程序化单元至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效比特(Least Significant Bit,简称:LSB)是属于下实体程序化单元,并且一存储单元的最高有效比特(Most Significant Bit,简称:MSB)是属于上实体程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。在此范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面或是实体扇(sector)。若实体程序化单元为实体页面,则每一个实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体扇,用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,错误更正码)。在本范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512比特组(byte,简称:B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,本发明并不限制实体扇的大小以及个数。另一方面,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体块。
[0127] 请参照图8,存储器管理电路702可将可复写式非易失性存储器模块406的实体抹除单元800(0)~800(R)逻辑地划分为多个区域,例如为存储区802与系统区806。
[0128] 存储区802的实体抹除单元是用以存储来自主机系统11的数据。存储区802中会存储有效数据(valid data)与无效数据(invalid data)。例如,当主机系统要删除一份有效数据时,被删除的数据可能还是存储在存储区802中,但会被标记为无效数据。没有存储有效数据的实体抹除单元也被称为闲置(spare)实体抹除单元。例如,被抹除以后的实体抹除单元便会成为闲置实体抹除单元。若存储区802或系统区806中有实体抹除单元损坏时,存储区802中的实体抹除单元也可以用来替换损坏的实体抹除单元。倘若存储区802中没有可用的实体抹除单元来替换损坏的实体抹除单元时,则存储器管理电路702会将整个存储器存储装置10宣告为写入保护(write protect)状态,而无法再写入数据。此外,有存储有效数据的实体抹除单元也被称为非闲置(non-spare)实体抹除单元。
[0129] 系统区806的实体抹除单元是用以记录系统数据,其中此系统数据包括关于存储器芯片的制造商与型号、存储器芯片的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。
[0130] 存储区802与系统区806的实体抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置10的操作中,实体抹除单元关联至存储区802与系统区806的分组关系会动态地变动。例如,当系统区806中的实体抹除单元损坏而被存储区802的实体抹除单元取代时,则原本在存储区802的实体抹除单元会被关联至系统区806。
[0131] 存储器管理电路702会配置逻辑单元810(0)~810(D)以映射至存储区802中的实体抹除单元800(0)~800(A)。例如,在本范例实施例中,主机系统11是通过逻辑地址来存取存储区802中的数据,因此,每一个逻辑单元810(0)~810(D)是指一个逻辑地址。此外,在一范例实施例中,每一个逻辑单元810(0)~810(D)也可以是指一个逻辑扇、一个逻辑程序化单元、一个逻辑抹除单元或者由多个连续的逻辑地址组成。每一个逻辑单元810(0)~810(D)是映射至一或多个实体单元。在本范例实施例中,一个实体单元是指一个实体抹除单元。然而,在另一范例实施例中,一个实体单元也可以是一个实体地址、一个实体扇、一个实体程序化单元或者是由多个连续的实体地址组成,本发明不加以限制。存储器管理电路702会将逻辑单元与实体单元之间的映射关系记录于一或多个逻辑-实体映射表。当主机系统11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路702可根据此一或多个逻辑-实体映射表来执行对于存储器存储装置10的数据存取。
[0132] 图9是根据本发明的一范例实施例所示出的存储单元的临界电压分布图。
[0133] 请参照图9,横轴代表存储单元的临界电压,而纵轴代表存储单元个数。存储器管理电路702会发送一写入指令序列至可复写式非易失性存储器模块406。此写入指令序列包括一或多个指令或程序码并且用以指示将数据写入至可复写式非易失性存储器模块406中的一个实体程序化单元。图9表示此实体程序化单元中各个存储单元的临界电压。在此假设若某一个存储单元的临界电压是落在分布901,此存储单元所存储的是比特“1”;若某一个存储单元的临界电压是落在分布902,此存储单元所存储的是比特“0”。值得一提的是,本范例实施例是以SLC NAND型快闪存储器模块为例,因此临界电压的分布有两种可能。然而,在其他范例实施例中,临界电压的分布可能四种、八种或其他任意个可能,而读取电压可以在任意两个分布之间。此外,本发明也不限制每一个分布所代表的比特。例如,在另一范例实施例中,分布901是代表比特“0”,并且分布902是代表比特“1”。
[0134] 当要从可复写式非易失性存储器模块406读取数据时,存储器管理电路702会发送一读取指令序列至可复写式非易失性存储器模块406。此读取指令序列包括一或多个指令或程序码并且用以指示读取一个实体程序化单元中的多个存储单元以取得多个比特。例如,存储器管理电路702会根据分布901与分布902之间的一个读取电压来读取一个实体程序化单元中的多个存储单元。若某一个存储单元的临界电压小于此读取电压,则此存储单元会导通,并且存储器管理电路702会读到比特“1”。相反地,若某一个存储单元的临界电压大于此读取电压,则此存储单元不会导通,并且存储器管理电路702会读到比特“0”。
[0135] 图10是根据本发明的一范例实施例所示出的程序化存储单元的示意图。
[0136] 请参照图9与图10,在本范例实施例中,存储器管理电路702是指示基于增量阶跃脉冲程序(Incremental-step-pulse programming,简称:ISPP)的程序化模型来程序化存储单元。在ISPP程序化模型中,程序化所使用的写入电压(也称为写入偏压)会逐渐加大,直到存储单元被程序化至正确的存储状态为止。例如,对于需程序化至分布901中的存储单元来说,存储器管理电路702会先使用一个初始写入偏压来程序化此些存储单元。然后,存储器管理电路702会逐渐加大写入偏压以执行多次的程序化(例如,将写入偏压增加一个偏压调整量而执行下一次的程序化)。例如,根据逐渐加大的写入偏压,被程序化的存储单元的临界电压分布会从初始的位置1010依序移动至位置1050。在此假设位置1050上的临界电压分布是此些存储单元正确的存储状态,则当被程序化的存储单元的临界电压分布位于位置1050上时,可获得分布901。值得一提的是,在此是假设初始写入偏压是16伏特(Voltage,简称:V),偏压调整量被设定为0.6V,并且ISPP程序化模型中每一个分布在电压上的分布范围(或称为分布区间)是ΔVISPP(如图10所示)。然而,位置1010~1050之间的临界电压分布的改变次数会随着每一次增加的偏压调整量的不同而增加或减少,而不限于此。此外,上述程序化过程中所使用的初始写入偏压和/或偏压调整量可以是由存储器管理电路702指示或者是由可复写式非易失性存储器模块406自行决定(例如,由控制电路512控制),本发明不加以限制。
[0137] 在存储器存储装置10的使用过程中,存储器存储装置10随时都可能被断电或被关机。若可复写式非易失性存储器模块406中某些存储单元尚未被程序化至正确的存储状态,存储器存储装置10就被断电或被关机,则此些存储单元所存储的数据可能会存在大量的错误。
[0138] 图11是根据本发明的一范例实施例所示出的错误的临界电压分布的示意图。
[0139] 请参照图10与图11,在程序化一个实体程序化单元中的某些存储单元的过程中,假设当前此些存储单元的临界电压分布位于位置1040,且存储器存储装置10被突然地断电,则此实体程序化单元中所有的存储单元的临界电压分布例如是分布1101与1102。分布1102位于错误的位置1040(正确的位置是位置1050),并且属于分布1102的存储单元具有大量的错误。此外,分布1101与1102在电压上的分布范围符合ISPP程序化模型。也就是说,分布1101与1102在电压上各别的分布范围都是ΔVISPP。
[0140] 传统上,为了找出上述因断电或关机而没有正确存储的数据,在存储器存储装置被断电并重新供电(或者被关机并且重新开机)之后,存储器存储装置会判断可复写式非易失性存储器模块中特定的区域中的数据的错误比特数是否太多。若此数据的错误比特数太多,则此数据会被直接视为是断电或关机前没有正确存储的数据并且被标记为无效数据。然而,这样的做法可能会导致某些不是在断电或关机前写入的数据只是因为其错误比特数太多就直接被标记为无效数据而没有被适当地更正。本发明可准确地识别出哪些数据是属于断电或关机前没有正确存储的数据而可视为无效数据,以及哪些数据是单纯因为其错误比特数太高而需要适当地更正,从而可有效减少上述误判的问题发生的机率。
[0141] 在本范例实施例中,在一笔数据被写入至上述存储单元之后,存储器管理电路702会根据一个预设偏压区间以及存有此数据的此些存储单元的临界电压分布来判断此数据的存储状态是符合一第一条件或一第二条件。其中,若此数据的存储状态符合第一条件,表示此数据已被有效地程序化至对应的存储单元中;若此数据的存储状态符合第二条件,表示此数据没有被有效地程序化至对应的存储单元中。例如,在一范例实施例中,存储器管理电路702会扫描此些存储单元以获得此些存储单元的临界电压分布。存储器管理电路702会判断此临界电压分布的分布范围是否与预设偏压区间一致。若临界电压分布的分布范围与预设偏压区间不一致,则存储器管理电路702会判定此数据的存储状态符合第一条件并且据以执行第一操作。例如,第一操作可以包括将此些存储单元识别为存储有效数据并且可进一步将此些存储单元中的数据读出并且加以译码/更正。反之,若临界电压分布的分布范围与预设偏压区间一致,则存储器管理电路702会判定此数据的存储状态符合第二条件并且据以执行第二操作。第一操作与第二操作不同。在此所指的第一操作与第二操作不同可以是指所有或部分的操作细节不同。例如,第二操作可以包括将此些存储单元识别为存储无效数据并且不需要将此些存储单元中的数据读出,更不需要加以译码/更正。此外,第二操作还可以包括通知主机系统11此笔数据发生写入错误并且要求重新写入等。
[0142] 图12是根据本发明的一范例实施例所示出的判断数据是否有效地被程序化至此些存储单元中的示意图。
[0143] 请参照图12,假设某些数据在某些存储单元中存储了较长的时间、此些数据被存取的次数较多和/或此些存储单元经过高温处理,则此些存储单元的临界电压分布会呈现像是分布1201与1202。在此,分布1201代表存储比特“1”的存储单元,并且分布1202代表存储比特“0”的存储单元。分布1201与1202之间具有一重叠区域1203(以斜线表示)。在重叠区域1203中,部分存储比特“0”的存储单元会被识别为存储比特“1”,并且部分存储比特“1”的存储单元会被识别为存储比特“0”。例如,假设是以预设读取电压VR来读取此些存储单元,则实际存储比特“0”但其临界电压小于预设读取电压VR的存储单元会被错误地识别为存储比特“1”,并且实际存储比特“1”但其临界电压大于预设读取电压VR的存储单元会被错误地识别为存储比特“0”。此外,在另一范例实施例中,分布1202也可以代表存储比特“1”的存储单元,并且分布1202也可以代表存储比特“0”的存储单元,本发明不加以限制。
[0144] 存储器管理电路702会将上述分布范围ΔVISPP设定为一个预设偏压区间。存储器管理电路702会扫描此些存储单元以获得此些存储单元的临界电压分布(例如,分布1202)。存储器管理电路702会获得分布1202在电压上的分布范围ΔV(如图12所示)。
存储器管理电路702会判断分布范围ΔV是否与分布范围ΔVISPP一致。例如,存储器管理电路702可以判断分布范围ΔV是否小于或等于分布范围ΔVISPP。在图12的范例实施例中,分布范围ΔV大于分布范围ΔVISPP,表示分布范围ΔV与分布范围ΔVISPP不一致,因此存储器管理电路702会判定数据已有效地被程序化至此些存储单元中并且执行上述第一操作。也就是说,即使此些存储单元所存储的数据的错误比特数很多,存储器管理电路702也不会将此些存储单元所存储的数据误判为是在存储器存储装置10被断电或被关机前所存储的数据。此外,若分布范围ΔV小于或等于分布范围ΔVISPP(例如,图11的范例实施例),表示分布范围ΔV与分布范围ΔVISPP一致,因此存储器管理电路702会判定数据不是有效地被程序化至此些存储单元中(例如,存储单元的程序化过程被意外地中断)并且执行上述第二操作。
[0145] 在图12的另一范例实施例中,存储器管理电路702还会判断分布1202的位置是否是位于一错误范围内。分布1202的位置可以是指分布1202的峰值(peak)在电压上的位置(即,分布1202中存储单元数量最多的电压位置)、分布1202的上/下限电压位置或者分布1202中的任一个电压位置。错误范围包含存储单元被程序化正确的存储状态之前其临界电压分布在电压上的可能移动范围。例如,此可能移动范围包括图10的位置1010~1050之间的任一位置(不包含位置1050)。若分布范围ΔV大于分布范围ΔVISPP和或临界电压分布1202的位置不是位于此错误范围内,存储器管理电路702会判定数据已有效地被程序化至此些存储单元中(即,符合第一条件)并且执行上述第一操作。反之,若分布范围ΔV小于或等于分布范围ΔVISPP且临界电压分布1202的位置是位于此错误范围内,则存储器管理电路702会判定数据非有效地被程序化至此些存储单元中(即,符合第二条件)并且执行上述第二操作。
[0146] 然而,图12的范例实施例中的操作需要扫描多个存储单元以获得此些存储单元的临界电压分布,因此所需的时间较多。本发明另提出了其他的做法而可较为快速地获得上述判断结果。
[0147] 图13是根据本发明的另一范例实施例所示出的判断数据是否有效地被程序化至此些存储单元中的示意图。
[0148] 请参照图13,分布1301与分布1302分别相同或相似于分布1201与分布1202,故在此不加以赘述。在本范例实施例中,存储器管理电路702不需要完整扫描存储单元以获得分布1301或分布1302。在本范例实施例中,存储器管理电路702会统计此些存储单元中的一部分(也称为第一存储单元)的数目(也称为第一数目),其中每一个第一存储单元的临界电压都小于预设偏压区间的上限值。例如,假设预设偏压区间是分布范围ΔVISPP,则预设偏压区间的上限值就是上限电压VMAX(如图13所示)。例如,存储器管理电路702会将预设读取电压VR加上一个预设偏压区间调整值以获得预设偏压区间的上限值。其中,预设偏压区间调整值就是分布范围ΔVISPP的值,并且预设读取电压VR例如是最佳读取电压或当前使用的读取电压。也就是说,存储器管理电路702可以统计图13中斜线范围内的所有存储单元的数目作为第一数目。
[0149] 在图11与图13的范例实施例中,若以临界电压小于上限电压VMAX的存储单元作为第一数目,则图11的范例实施例中所统计出的第一数目势必会大幅多于图13的范例实施例中所统计出的第一数目。因此,可以设定一个门槛值。若统计出的第一数目大于此门槛值,表示当前检查的存储单元没有被程序化到正确的存储状态(存储单元的临界电压分布较类似于分布1102),而这样的情形有很大的机率是发生在存储器存储装置10突然被断电或被关机。反之,若统计出的第一数目小于或等于此门槛值,表示当前检查的存储单元已经被程序化到正确的存储状态(存储单元的临界电压分布较类似于分布1302)。因此,在本范例实施例中,存储器管理电路702会判断第一数目是否大于一门槛值。若第一数目大于此门槛值,存储器管理电路702会判定数据的存储状态符合第二条件。反之,若第一数目小于或等于此门槛值,则存储器管理电路702会判定数据的存储状态符合第一条件。换言之,此门槛值即是用以识别当前检查的存储单元的临界电压分布是较类似于分布1102或者分布1302,或者用以识别当前检查的存储单元所存储的数据是否是在存储器存储装置10突然被断电或被关机之前所存储的具有大量错误的数据。例如,在图11的范例实施例中,统计出来的第一数目会大于此门槛值,并且此些存储单元会被识别为存储无效数据。反之,在图13的范例实施例中,统计出来的第一数目会小于此门槛值,并且此些存储单元会被识别为存储有效数据。在本范例实施例中,可将此门槛值设定为等于或接近当前检查的存储单元的总数。例如,可将此门槛值设定为当前检查的存储单元的总数的90%~100%或者更少。然而,在另一范例实施例中,也可以根据实务上的需求来调整此门槛值。
[0150] 在一范例实施例中,上述判断数据的存储状态是符合第一条件或第二条件的多种操作也可以部分或全部合并使用。例如,只有在临界电压分布的分布范围与预设偏压区间一致、临界电压分布的位置位于错误范围内、且第一数目大于门槛值时,被检查的存储单元才会被识别为程序化尚未完成且存储无效数据(即,数据的存储状态符合第二条件)。
[0151] 在一范例实施例中,上述判断数据的存储状态是符合第一条件或第二条件的操作可以在任意时间点执行。或者,在另一范例实施例中,上述判断数据的存储状态是符合第一条件或第二条件的操作则是在特定时间点执行。例如,此特定时间点可以包括存储器存储装置10被断电并重新供电(或者被关机并且重新开机)时、存储器存储装置10闲置超过一预设时间时、存储器存储装置10被连续使用超过另一预设时间时、对于可复写式非易失性存储器模块406中的某些存储单元的存取次数(例如,写入次数、读取次数和/或抹除次数)超过一预设次数以及从可复写式非易失性存储器模块406中读取出的数据的错误比特数超过一预设值时的至少其中之一,或者也可由使用者选择执行。例如,在一范例实施例中,在存储器存储装置10被断电并重新供电(或者被关机并且重新开机)之后或任意时间点,若存储器管理电路702接收到可复写式非易失性存储器模块406反应于一读取指令序列而传送的多个比特或执行开机扫描而获得此些比特,错误检查与校正电路708会对此些比特进行译码,例如,进行低密度奇偶检查校正码(low density parity code,简称:LDPC)译码,以找出此些比特中的错误比特。存储器管理电路702会判断此些错误比特的数目(即,错误比特数)是否大于一预设值。若此错误比特数大于此预设值,存储器管理电路702会执行上述判断数据的存储状态是符合第一条件或第二条件的操作。反之,若此错误比特数不大于此预设值,则存储器管理电路702会执行预设操作。此预设操作例如是更正数据中的错误比特并将更正后的数据传送至主机系统11等等。
[0152] 此外,在一范例实施例中,上述第一操作还可以包括将识别为存储无效数据的存储单元抹除,而第二操作则还可以包括将被识别为存储有效数据的存储单元中的数据更新和/或搬移数据等有助于改善数据存储正确性的操作。
[0153] 图14是根据本发明的一范例实施例所示出的存储器管理方法的示意图。
[0154] 请参照图14,在步骤S1401中,将数据写入至多个存储单元。在步骤S1402中,根据一预设偏压区间以及存有此数据的存储单元的临界电压分布判断数据的存储状态是否符合第一条件。若数据的存储状态是符合第一条件,在步骤S1403中,执行上述第一操作。若数据的存储状态不符合第一条件(即,符合第二条件),在步骤S1404中,执行上述第二操作。
[0155] 图15是根据本发明的另一范例实施例所示出的存储器管理方法的示意图。
[0156] 请参照图15,在步骤S1501中,将数据写入至多个存储单元。在步骤S1502中,扫描所述存储单元以获得所述存储单元的临界电压分布。在步骤S1503中,判断所述存储单元的临界电压分布的分布范围是否与预设偏压区间一致且临界电压分布的位置是否位于错误范围内。若所述存储单元的临界电压分布的分布范围与预设偏压区间不一致和/或临界电压分布的位置不是位于错误范围内,在步骤S1504中,执行上述第一操作。若所述存储单元的临界电压分布的分布范围与预设偏压区间一致且临界电压分布的位置位于错误范围内,在步骤S1505中,执行上述第二操作。
[0157] 图16是根据本发明的另一范例实施例所示出的存储器管理方法的示意图。
[0158] 请参照图16,在步骤S1601中,将数据写入至多个存储单元。在步骤S1602中,统计所述存储单元中的第一存储单元的第一数目,其中每一个第一存储单元的临界电压都小于一预设偏压区间的上限值。在步骤S1603中,判断第一数目是否大于一门槛值。若第一数目不大于此门槛值,在步骤S1604中,执行上述第一操作。若第一数目大于此门槛值,在步骤S1605中,执行上述第二操作。
[0159] 图17是根据本发明的另一范例实施例所示出的存储器管理方法的示意图。
[0160] 请参照图17,在步骤S1701中,将数据写入至多个存储单元。在步骤S1702中,读取所述存储单元以获得多个比特。在步骤S1703中,判断所述比特中的错误比特数是否大于一预设值。若所述比特中的错误比特数大于此预设值,在步骤S1704中,根据一预设偏压区间以及存有此数据的存储单元的临界电压分布判断数据的存储状态是否符合第一条件。若数据的存储状态是符合第一条件,在步骤S1705中,执行上述第一操作。若数据的存储状态不符合第一条件(即,符合第二条件),在步骤S1706中,执行上述第二操作。若所述比特中的错误比特数不大于此预设值,在步骤S1707中,执行预设操作。
[0161] 然而,图14至图17中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图14至图17中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图14至图17的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
[0162] 综上所述,有别于传统仅根据数据中错误比特的数目来判断存储单元中的数据是否有效和/或先前对于存储单元的程序化是否被意外地中止,本发明利用预设偏压区间来找出系统断电前写入的无效数据,将可有效减少将有效数据误判为无效数据的机率。
[0163] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。