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

文档序号:11954882阅读:228来源:国知局
存储器管理方法、存储器存储装置与存储器控制电路单元与流程

本发明涉及一种存储器管理方法,尤其涉及一种用于可复写式非易失性存储器模块的存储器管理方法、存储器存储装置和存储器控制电路单元。



背景技术:

数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于快闪存储器(例如,快闪存储器)具有数据非易失性、省电、体积小等特性,所以非常适合内装于上述所举例的各种便携式多媒体装置中。

一般来说,当可复写式非易失性存储器模块的使用时间和/或存取次数增加,从可复写式非易失性存储器模块的存储单元读取的数据会包含越来越多的错误比特。然而,数据校正操作往往需要花费大量的时间。



技术实现要素:

本发明提出一种存储器管理方法、存储器存储装置,与存储器控制电路单元,其能够减少从可复写式非易失性存储器模块中读取的数据所包含的错误比特。

本发明的一范例实施例提出一种存储器管理方法,其用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个存储单元,所述存储器管理方法包括:从所述存储单元中取得第一存储单元的抹除状态电压与所述第一存储单元的程序化状态电压,其中所述第一存储单元是操作于第一程序化模式;以及若所述抹除状态电压与所述程序化状态电压之间的间隙的宽度大于第一门槛值,将所述第一存储单元操作于第二程序化模式,其中操作于所述第二程序化模式的所述第一存储单元的多个第二状态的第二数量小于或等于操作于所述第一程序化模式的所述第一存储单元的多个第一状态的第一数量。

在本发明的一范例实施例中,所述抹除状态电压是所述第一存储单元的最抹除(most-erased)状态电压,并且所述程序化状态电压是所述第一存储单元的最程序化(most-programmed)状态电压,其中取得所述抹除状态电压与所述程序化状态电压的步骤包括:在所述第一存储单元被抹除之后,记录所述最抹除状态电压;以及在所述第一存储单元被程序化之后,记录所述最程序化状态电压。

在本发明的一范例实施例中,所述存储器管理方法还包括:若所述抹除状态电压与所述程序化状态电压之间的所述间隙的所述宽度不大于所述第一门槛值,将所述第一存储单元操作于第三程序化模式,其中操作于所述第三程序化模式的所述第一存储单元的多个第三状态的第三数量小于所述第二数量。

在本发明的一范例实施例中,所述存储器管理方法还包括:若所述抹除状态电压与所述程序化状态电压之间的所述间隙的所述宽度大于第二门槛值,将所述第一存储单元操作于第四程序化模式,其中所述第二门槛值大于所述第一门槛值,其中操作于所述第四程序化模式的所述第一存储单元的多个第四状态的第四数量大于所述第二数量。

在本发明的一范例实施例中,所述存储器管理方法还包括:若所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度不大于第一预设门槛值,则将所述第一存储单元操作于错误校正模式中,其中所述第一预设门槛值小于所述第一门槛值。

在本发明的一范例实施例中,所述存储器管理方法还包括:判断所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度是否大于第二预设门槛值,其中所述第二预设门槛值大于所述第一门槛值;以及若所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度不大于所述第二预设门槛值,则判断所述间隙的所述宽度是否大于所述第一门槛值;以及若所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度大于所述第二预设门槛值,则保持将所述第一存储单元操作于所述第一程序化模式而不执行判断所述间隙的所述宽度是否大于所述第一门槛值的步骤。

在本发明的一范例实施例中,所述存储器管理方法还包括:将指示所述第一存储单元不操作于所述第一程序化模式的信息记录在所述可复写式非易 失性存储器模块的管理区中。

在本发明的一范例实施例中,所述管理区中的第二存储单元的第二可靠度高于所述第一存储单元的第一可靠度。

本发明的另一范例实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块及存储器控制电路单元。所述连接接口单元用以电性连接至主机系统。所述可复写式非易失性存储器模块包括多个存储单元。所述存储器控制电路单元电性连接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元是用以取得所述存储单元中的第一存储单元的抹除状态电压和所述第一存储单元的程序化状态电压,其中所述第一存储单元是操作于第一程序化模式,其中若所述抹除状态电压和所述程序化状态电压之间的间隙的宽度大于第一门槛值,所述存储器控制电路单元还用以将所述第一存储单元操作于第二程序化模式,其中操作于所述第二程序化模式的所述第一存储单元的多个第二状态的第二数量小于或等于操作于所述第一程序化模式的所述第一存储单元的多个第一状态的第一数量。

在本发明的一范例实施例中,所述抹除状态电压是所述第一存储单元的最抹除状态电压,并且所述程序化状态电压是所述第一存储单元的最程序化状态电压,其中所述存储器控制电路单元取得所述抹除状态电压和所述程序化状态电压的操作包括:在所述第一存储单元被抹除之后,记录所述最抹除状态电压;以及在所述第一存储单元被程序化之后,记录所述最程序化状态电压。

在本发明的一范例实施例中,若所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度不大于所述第一门槛值,所述存储器控制电路单元还用以将所述第一存储单元操作于第三程序化模式,其中操作于所述第三程序化模式的所述第一存储单元的多个第三状态的第三数量小于所述第二数量。

在本发明的一范例实施例中,若所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度大于第二门槛值,则所述存储器控制电路单元还用以将所述第一存储单元操作于第四程序化模式,其中所述第二门槛值大于所述第一门槛值,其中操作于所述第四程序化模式的所述第一存储单元的 多个第四状态的第四数量大于所述第二数量。

在本发明的一范例实施例中,若所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度不大于第一预设门槛值,则所述存储器控制电路单元还用以将所述第一存储单元操作于错误校正模式,其中所述第一预设门槛值小于所述第一门槛值。

在本发明的一范例实施例中,所述存储器控制电路单元还用以判断所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度是否大于第二预设门槛值,其中所述第二预设门槛值大于所述第一门槛值,其中若所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度不大于所述第二预设门槛值,则所述存储器控制电路单元还用以判断所述间隙的所述宽度是否大于所述第一门槛值,其中若所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度大于所述第二预设门槛值,则所述存储器控制电路单元还用以保持将所述第一存储单元操作于所述第一程序化模式而不执行判断所述间隙的所述宽度是否大于所述第一预设门槛值的操作。

在本发明的一范例实施例中,所述存储器控制电路单元还用以将指示所述第一存储单元不操作于所述第一程序化模式的信息记录在所述可复写式非易失性存储器模块的管理区中。

在本发明的一范例实施例中,所述管理区中的第二存储单元的第二可靠度高于所述第一存储单元的第一可靠度。

本发明的另一范例实施例提出一种存储器控制电路单元,其用以控制可复写式非易失性存储器模块,所述存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。所述主机接口用以电性连接至主机系统。所述存储器接口用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储单元。所述存储器管理电路电性连接至所述主机接口和所述存储器接口。所述存储器管理电路用以取得所述存储单元中的第一存储单元的抹除状态电压和所述第一存储单元的程序化状态电压,其中所述第一存储单元操作于第一程序化模式,其中若所述抹除状态电压和所述程序化状态电压之间的间隙的宽度大于第一门槛值,则所述存储器管理电路还用以将所述第一存储单元操作于第二程序化模式,其中操作于所述第二程序化模式的所述第一存储单元的多个第二状态的第二数量小于或等 于操作于所述第一程序化模式的所述第一存储单元的多个第一状态的第一数量。

在本发明的一范例实施例中,所述抹除状态电压是所述第一存储单元的最抹除状态电压,并且所述程序化状态电压是所述第一存储单元的最程序化状态电压,其中所述存储器管理电路取得所述抹除状态电压和所述程序化状态电压的操作包括:在所述第一存储单元被抹除之后,记录所述最抹除状态电压;以及在所述第一存储单元被程序化之后,记录所述最程序化状态电压。

在本发明的一范例实施例中,若所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度不大于所述第一门槛值,则所述存储器管理电路还用以将所述第一存储单元操作于第三程序化模式,其中操作于所述第三程序化模式的所述第一存储单元的多个第三状态的第三数量小于所述第二数量。

在本发明的一范例实施例中,若所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度大于第二门槛值,则所述存储器控制电路单元还用以将所述第一存储单元操作于第四程序化模式,其中所述第二门槛值大于所述第一门槛值,其中操作于所述第四程序化模式的所述第一存储单元的多个第四状态的第四数量大于所述第二数量。

在本发明的一范例实施例中,若所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度不大于第一预设门槛值,则所述存储器管理电路还用以将所述第一存储单元操作于错误校正模式,其中所述第一预设门槛值小于所述第一门槛值。

在本发明的一范例实施例中,所述存储器管理电路还用以判断所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度是否大于第二预设门槛值,其中所述第二预设门槛值大于所述第一门槛值,其中若所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度不大于所述第二预设门槛值,则所述存储器管理电路还用以判断所述间隙的所述宽度是否大于所述第一门槛值;其中若所述抹除状态电压和所述程序化状态电压之间的所述间隙的所述宽度大于所述第二预设门槛值,则所述存储器管理电路还用以保持将所述第一存储单元操作于所述第一程序化模式而不执行判断所述间隙的所述宽度是否大于所述第一门槛值的操作。

在本发明的一范例实施例中,所述存储器管理电路还用以将指示所述第一存储单元不操作于所述第一程序化模式的信息记录在所述可复写式非易失性存储器模块的一管理区中。

在本发明的一范例实施例中,所述管理区中的第二存储单元的第二可靠度高于所述第一存储单元的第一可靠度。

基于上述,根据一个存储单元的抹除状态电压和程序化状态电压,一个程序化模式可以被决定并且被来操作此存储单元。藉此,从此存储单元中读取的数据所包含的错误比特可被减少,并可延长可复写式非易失性存储器模块的寿命。

为让本发明的上述特征和优点能更明显易懂,下文特举范例实施例,并配合附图作详细说明如下。

附图说明

图1是本发明的一范例实施例所示出的主机系统与存储器存储装置的示意图;

图2是本发明的一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图;

图3是本发明的一范例实施例所示出的主机系统与存储器存储装置的示意图;

图4是图1的存储器存储装置的结构方块图;

图5是本发明的一范例实施例所示出的可复写式非易失性存储器模块的结构方块图;

图6是本发明的一范例实施例所示出的存储单元阵列的示意图;

图7是本发明的一范例实施例所示出的浮动栅极存储单元的示意图;

图8是本发明的一范例实施例所示出的电荷捕获层存储单元的示意图;

图9是本发明的一范例实施例所示出的存储器控制电路单元的结构方块图;

图10是本发明的一范例实施例所示出的存储单元的临界电压分布的示意图;

图11是本发明的另一范例实施例所示出的存储单元的临界电压分布的 示意图;

图12是本发明的另一范例实施例所示出的存储单元的临界电压分布的示意图;

图13是本发明的一范例实施例所示出的待处理的退化临界电压分布的示意图;

图14a-14c是本发明的一范例实施例所示出的管理存储单元的操作的示意图;

图15是本发明的一范例实施例所示出的存储器管理方法的流程图;

图16是本发明的另一范例实施例所示出的存储器管理方法的流程图。

附图标记说明:

10:存储器存储装置;

11:主机系统;

12:电脑;

122:微处理器;

124:随机存取存储器;

126:系统总线;

128:数据传输接口;

13:输入/输出装置;

21:鼠标;

22:键盘;

23:显示器;

24:打印机;

25:随身盘;

26:存储卡;

27:固态硬盘;

31:数码相机;

32:SD卡;

33:MMC卡;

34:存储棒;

35:CF卡;

36:嵌入式存储装置;

402:连接接口单元;

404:存储器控制电路单元;

406:可复写式非易失性存储器模块;

502:存储单元阵列;

504:字线控制电路;

506:位线控制电路;

508:行译码器;

510:数据输入/输出缓冲器;

512:控制电路;

602:存储单元;

604:位线;

606:字线;

608:共用源极线;

612:选择栅漏极晶体管;

614:选择栅源极晶体管;

712CG、812CG:控制栅极;

714FG:浮动栅极;

714TP:浮动栅极的上表面;

714BT:浮动栅极的下表面;

716、816:P型基板;

814CTL:电荷捕获层;

902:存储器管理电路;

904:主机接口;

906:存储器接口;

908:错误检查与校正电路;

910:缓冲存储器;

912:电源管理电路;

1010、1020、1110、1120、1130、1140、1210、1220、1230、1240、1250、1260、1270、1280、1310、1320:状态;

1330:重叠区域;

S1501、S1502、S1503、S1504、S1505、S1506、S1507、S1508、S1601、S1602、S1603、S1604、S1605、S1606、S1607、S1608、S1609:存储器管理方法的步骤。

具体实施方式

一般来说,存储器存储装置(也称存储器存储系统)包括可复写式非易失性存储器模块和控制器(也称控制电路)。存储器存储装置通常与主机系统一起使用,使得主机系统可以从存储器存储装置中读写数据。

图1是本发明的一范例实施例所示出的主机系统和存储器存储装置的示意图。图2是本发明的一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图。

请参照图1,主机系统11包括电脑12和输入/输出装置13。电脑12包括微处理器122、随机存取存储器(random access memory,简称RAM)124、系统总线126以及数据传输接口128。举例来说,如图2所示,输入/输出装置13包括鼠标21、键盘22、显示器23与打印机24。必须了解的是,在图2中所示出的装置并非用以限定输入/输出装置13,输入/输出装置13可还包括其他装置。

在一范例实施例中,存储器存储装置10是通过数据传输接口128电性连接至主机系统11的其他装置。通过使用微处理器122、随机存取存储器124与输入/输出装置13,可将数据写入至存储器存储装置10中,或者从存储器存储装置10中读取数据。举例来说,如图2所示,存储器存储装置10可以是诸如随身盘25、存储卡26或固态硬盘27等的可复写式非易失性存储器存储装置。

图3是本发明的一范例实施例所示出的主机系统与存储器存储装置的示意图。

一般来说,主机系统11为可实质地与存储器存储装置10配合以存储数据的任意系统。在本范例实施例中,主机系统11示出为电脑系统。然而,在另一范例实施例中主机系统11可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄影机)31时,可 复写式非易失性存储器存储装置则为SD卡32、MMC卡33、存储棒(memory stick)34、CF卡35或嵌入式存储装置36(如图3所示)。嵌入式存储装置36包括嵌入式多媒体卡(Embedded MMC,简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。

图4是图1的存储器存储装置的结构方块图。

请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。

在本范例实施例中,连接接口单元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的芯片之外。

存储器控制电路单元404用以执行多个逻辑门或多个以硬件形式或固件形式实作的控制指令,以根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等操作。

可复写式非易失性存储器模块406被电性连接至存储器控制电路单元404并且用以存储从主机系统11写入的数据。可复写式非易失性存储器模块406可以是与非门(NAND)快闪存储器模块、或非门(NOR)快闪存储器模块或是其他形式的快闪存储器模块。

图5是本发明的一范例实施例所示出的可复写式非易失性存储器模块的结构方块图。图6是本发明的一范例实施例所示出的存储单元阵列的示意图。

请参照图5,可复写式非易失性存储器模块406包括存储单元阵列502、字线控制电路504、位线控制电路506、行译码器508、数据输入/输出缓冲器510以及控制电路512。

在本范例实施例中,存储单元阵列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用以暂存数据。

可复写式非易失性存储器模块406中的每一个存储单元可以通过改变存储单元的临界电压来存储一或多个比特数据。特别是,在每一个存储单元中,控制栅极与通道之间有一电荷存储层。施予写入电压至控制栅极可改变电荷存储层中的电子数量,从而改变存储单元的临界电压。改变临界电压的此一过程也被称之为“写入数据至存储单元”或是“程序化存储单元”。存储单元阵列502中的每一个存储单元依据临界电压的变化而有多个存储状态。此外,存储单元所属的存储状态可通过施予读取电压来决定,以获得存储在存储单元中的比特数据。在本范例实施例中,每一存储单元的电荷存储层可以是浮动栅极或是电荷捕获层。

图7是本发明的一范例实施例所示出的浮动栅极存储单元的示意图。

请参照图7,浮动栅极存储单元包括控制栅极712CG、浮动栅极714FG以及P型基板(或井)716。当控制栅极712CG被施予正电压并且P型基板(或井)716接地时,浮动栅极714FG的上表面714TP是带负电并且浮动栅极714FG的下表面714BT是带正电。在此情况下,浮动栅极存储单元中可存储 的电量的理论上限为qND×H,其中q为基本电荷、ND为浮动栅极614FG的施主密度(doner density),并且H为浮动栅极的高度。然而,理论上限并非实际上限,一些不规律的事件也可能会驱使所述存储的电量超出所述上限。

图8是本发明的一范例实施例所示出的电荷捕获层存储单元的示意图。

请参照图8,电荷捕获层存储单元包括控制栅极812CG、电荷捕获层814CTL与P型基板(或井)816。在此例中,电荷捕获层存储单元中可存储的电量的理论上限为qNt,其中Nt为电荷捕获层814CTL的陷阱密度(trap density)。然而,理论上限并非实际上限,一些不规律的事件也可能会使此存储电量超出极值之外。

图9是本发明的一范例实施例所示出的存储器控制电路单元的结构方块图。

请参照图9,存储器控制电路单元404包括存储器管理电路902、主机接口904、存储器接口906和错误检查与校正电路908。

存储器管理电路902是用以控制存储器控制电路单元404的整体运作。特别是,存储器管理电路902具有多个控制指令。在存储器存储装置10的操作过程中,此些控制指令会被执行以执行诸如写入、读取和抹除数据等的各种操作。存储器控制电路单元404的操作方法类似于存储器管理电路902的操作方法,因此以下省略相关的描述。

在本范例实施例中,存储器管理电路902的控制指令是以固件形式来实作。举例来说,存储器管理电路902具有微处理器单元(未示出)与只读存储器(未示出),而控制指令是烧录在只读存储器中。在存储器存储装置10的操作过程中,微处理器单元会执行控制指令来完成写入、读取或抹除数据等操作。

在另一范例实施例中,存储器管理电路902的控制指令也可以程序码的形式存储在可复写式非易失性存储器模块406的特定区域(例如,存储器中专用以存放系统数据的系统区)中。此外,存储器管理电路902具有微处理器单元(未示出)、只读存储器(未示出),以及随机存取存储器(未示出)。尤其是,只读存储器中具有开机码(boot code),当存储器控制电路单元404被使能时,微处理器单元会执行此开机码来将存储在可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路902的随机存取存储器中。然后,微处理器单元会执行此些控制指令来完成写入、读取或抹除数据等操作。

此外,在另一范例实施例中,存储器管理电路902的控制指令也可以是以硬件形式被实作。例如,存储器管理电路902包括微控制器、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路皆电性连接至微处理器。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及欲从可复写式非易失性存储器模块106中读取的数据。

主机接口904电性连接至存储器管理电路902并且用以接收和识别从主机系统11所传送的指令与数据。换句话说,从主机系统11传送的指令与数据会通过主机接口904被传送至存储器管理电路902。在本范例实施例中,主机接口904是相容于串行高级技术附件(SATA)标准。然而,必须了解的是,本发明不限于此,主机接口904也可以是相容于并行高级技术附件(PATA)标准、电气和电子工程师协会(IEEE)1394标准、高速周边元件连接接口(PCI Express)标准、通用序列总线(USB)、安全数码(SD)接口标准、超高速一代(UHS-I)接口标准、超高速二代(UHS-II)接口标准、存储棒(MS)接口标准、多媒体存储卡(MMC)接口标准、嵌入式多媒体存储卡(eMMC)接口标准、通用快闪存储器(UFS)接口标准、小型快闪(CF)接口标准、整合式驱动电子接口(IDE)标准或其他适合数据传输的标准。

存储器接口906是电性连接至存储器管理电路902并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口906转换为可复写式非易失性存储器模块406所能接受的格式。特别是,当存储器管理电路902欲存取可复写式非易失性存储器模块406时,存储器接口906会传送对应的指令序列。此些指令序列包括来自总线的一或多个信号或数据。例如,在读取指令序列中,会包括诸如识别码和存储器地址等信息。

错误检查与校正电路908是电性连接至存储器管理电路902并且用以执 行错误检查与校正程序以确保数据的正确性。特别是,当存储器管理电路902从主机系统11中接收到写入指令时,错误检查与校正电路908会为对应此写入指令的数据产生对应的错误校正码(ECC)和/或错误检测码(EDC),并且存储器管理电路902会将对应此写入指令的数据与对应的错误校正码和/或错误检测码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路902从可复写式非易失性存储器模块406中读取数据时会同时从可复写式非易失性存储器模块406读取此数据对应的错误校正码和/或错误检测码,并且错误检查与校正电路908会依据此错误校正码和/或错误检测码对所读取的数据执行错误检查与校正程序。

在一范例实施例中,存储器控制电路单元404还包括缓冲存储器910与电源管理电路912。缓冲存储器910电性连接至存储器管理电路902并且用以暂存来自主机系统11的数据与指令或来自可复写式非易失性存储器模块406的数据。电源管理电路912电性连接至存储器管理电路902并且用以控制存储器存储装置10的电源。

可复写式非易失性存储器模块406中的存储单元会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元。特别是,在同一条字线上的存储单元构成一或多个实体程序化单元。如果每一个存储单元可以存储两个以上的比特,则在同一条字线上的实体程序化单元至少可以被划分为下实体程序化单元和上实体程序化单元。一般来说,下实体程序化单元的写入速度快于上实体程序化单元的写入速度,或下实体程序化单元的可靠度高于上实体程序化单元的可靠度。

在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元可以是实体页面(page)或实体扇区(sector)。若实体程序化单元是实体页面,则此实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体扇区用以存储使用者的数据,而冗余比特区用以存储系统数据(例如,错误校正码)。在本范例实施例中,数据比特区包含32个实体扇区,并且每一个实体扇区的大小为512比特组。然而,在另一范例实施例中,数据比特区也可以包括8、16或者更多或更少的实体扇区,实体扇区的数量和大小并不限于此。另一方面,实体抹除单元为抹除的最小单元。也就是说,每一实体抹除单元包含同时被 抹除的一最小数量的存储单元。举例来说,实体抹除单元可以是实体区块。

图10是本发明的一范例实施例所示出的存储单元的临界电压分布的示意图。

请参照图10,在写入数据至多个存储单元之后,此些存储单元的临界电压分布包括1010和1020两个状态。状态1010和1020分别代表比特值“1”和“0”。例如,具有较低电压峰值的状态1010代表比特值“1”,并且具有较高电压峰值的状态1020代表比特值“0”。通过施予介于状态1010和状态1020间的读取电压至此些存储单元,可以取得此些存储单元所存储的数据。举例来说,对应于某一读取电压,临界电压低于此读取电压的存储单元可被识别为存储比特值“1”,而临界电压高于此读取电压的其他存储单元则可被识别为存储比特值“0”。在本范例实施例中,每一个存储单元包含两个状态也称作其被操作于二阶存储单元(two level cell,简称2LC)程序化模式。每一个操作在二阶存储单元程序化模式的存储单元可用以存储一个比特的数据。然而,在另一范例实施例中,状态1010是代表比特值“0”,而状态1020是代表比特值“1”。

图11是根据本发明的另一范例实施例所示出的存储单元的临界电压分布的示意图。

请参照图11,在写入数据至多个存储单元之后,此些存储单元的临界电压分布包括1110至1140四个状态。此些状态1110至1140分别表示比特值“11”、“10”、“00”和“01”。例如,状态1110是代表比特值“11”,状态1120是代表比特值“10”,状态1130是代表比特值“00”,以及状态1140是代表比特值“01”。通过施予不同的读取电压至此些存储单元中,可以取得存储在此些存储单元中的数据。在本范例实施例中,每一个存储单元包含四个状态,也称作此些存储单元被操作于四阶存储单元(four level cell,简称4LC)程序化模式。每一操作在四阶存储单元程序化模式的存储单元可用以存储两个比特的数据。然而,状态1110至1140中的每一状态所代表的数据可能根据不同的设计而有所不同。

图12是本发明的另一范例实施例所示出的存储单元的临界电压分布的示意图。

请参照图12,在写入数据至多个存储单元之后,此些存储单元的临界电 压分布包括1210至1280八个状态。此些状态1210至1280分别表示比特值“111”、“110”、“100”、“101”、“001”、“000”、“010”和“011”。通过施予不同的读取电压至此些存储单元中,可以读取存储在此些存储单元中的数据。在本范例实施例中,每一个存储单元包含八个状态,也称作此些存储单元被操作于八阶存储单元(eight level cell,简称8LC)程序化模式。每一操作在八阶存储单元程序化模式的存储单元可用以存储三个比特的数据。然而,状态1210至1280中的每一状态所代表的数据可能根据不同的设计而有所不同。

必须注意的是,在另一范例实施例中,每一存储单元的状态的数量也可以是三、五、六、七或更多,本发明不加以限制。换句话说,每一存储单元可以被操作于M阶存储单元(M level cell,简称MLC)程序化模式,其中M可为任何大于或等于二的正整数。若某一存储单元被操作在M阶存储单元程序化模式,则此存储单元在其所对应的临界电压分布中具有M个状态(或峰)。

然而,当存储单元重复地被程序化和抹除之后(即,经过多个P/E循环),存储单元的临界电压分布的各个峰值会逐渐退化(即,越扁平和越宽),并且存储在此些存储单元中的数据的错误会增加。

图13是本发明的一范例实施例所示出的待处理的退化临界电压分布的示意图。

请参照图13,以操作在2LC程序化模式的存储单元的退化临界电压分布为例,代表比特值“1”的状态1310和代表比特值“0”的状态1320有部分重叠。在重叠区域1330中,某一个存储比特值“1”的存储单元的临界电压高于所施加的读取电压Vread,因此此存储单元可能被错误识别为存储比特值“0”;或者,某一个存储比特值“0”的存储单元的临界电压低于所施加的读取电压Vread,因此此存储单元可能被错误识别为存储比特值“1”。即,在此情况下,当施予读取电压Vread以读取存储在此些存储单元中的数据时,所读取的数据中可能会包含许多的错误。类似的情况也可能会发生在图11和图12中任两个相邻的状态中。

在本范例实施例中,是假设可复写式非易失性存储器模块406中的某一个存储单元(以下也称为第一存储单元)一开始是被操作在一个特定的程序化模式(也称第一程序化模式)。例如,第一程序化模式可能是在可复写式非易失 性存储器模块406的制造过程中就被配置。存储器管理电路902会取得第一存储单元的抹除状态电压和第一存储单元的程序化状态电压。在此,抹除状态电压是指第一存储单元的最抹除(most-erased)状态电压,并且程序化状态电压是指第一存储单元的最程序化(most-programmed)状态电压。在本范例实施例中,当第一存储单元处于抹除状态时,存储器管理电路902会记录此第一存储单元的最抹除状态电压。其中,第一存储单元处于抹除状态是指此第一存储单元已被抹除并且还没有被用来存储数据。例如,存储器管理电路902会抹除第一存储单元然后记录下此第一存储单元的最抹除状态电压。当第一存储单元处于程序化状态时,存储器管理电路902会记录此第一存储单元的最程序化状态电压。其中,第一存储单元处于程序化状态是指此第一存储单元已被程序化并且数据已被存储在此第一存储单元中。例如,存储器管理电路902会程序化第一存储单元然后记录下此第一存储单元的最程序化状态电压。若第一存储单元处于程序化状态时具有多个状态,则第一存储单元的最程序化状态电压指的是第一存储单元的此些状态中具有最高临界电压的状态。

以图10到图12的范例实施例为例,根据第一存储单元所采用的程序化模式(即,第一程序化模式),此第一存储单元的最抹除状态电压会包含在状态1010、1110或1210之中,并且此第一存储单元的最程序化状态电压则是会包含在状态1020、1140或1280之中。然而,在另一范例实施例中,存储器管理电路902可以扫描可复写式非易失性存储器模块406中的所有或部分的存储单元,以取得被扫描的存储单元的最抹除状态电压与最程序化状态电压。

存储器管理电路902会分析抹除状态电压和程序化状态电压之间的间隙并且依据抹除状态电压和程序化状态电压之间的间隙的宽度来决定用以操作第一存储单元的程序化模式。根据不同的间隙的宽度,不同的程序化模式可能会被决定并且被采用。在一些例子中,新决定的程序化模式也可能和第一程序化模式相同。

在本范例实施例中,存储器管理电路902会判断抹除状态电压和程序化状态电压之间的间隙的宽度是否大于一门槛值(以下也称为第一门槛值)。若此抹除状态电压和此程序化状态电压之间的间隙的宽度大于第一门槛值,存储器管理电路902会决定将第一存储单元操作在一个特定的程序化模式(以下也 称为第二程序化模式)。第二程序化模式与第一程序化模式可能相同也可能不同。操作在第二程序化模式的第一存储单元的状态(以下也称为第二状态)的数量(以下也称为第二数量)会小于或等于操作在第一程序化模式的第一存储单元的状态(以下也称为第一状态)的数量(以下也称为第一数量)。然而,若抹除状态电压和程序化状态电压之间的间隙的宽度不大于第一门槛值,则存储器管理电路902会决定将第一存储单元操作在另一程序化模式(以下也称为第三程序化模式)。此第三程序化模式不同于第一程序化模式与第二程序化模式。操作在第三程序化模式的第一存储单元的状态(以下也称为第三状态)的数量(以下也称为第三数量)会小于第二数量。

在本范例实施例中,若抹除状态电压和程序化状态电压之间的间隙的宽度大于第一门槛值,则存储器管理电路902会进一步判断此间隙的宽度是否大于另一门槛值(以下也称为第二门槛值)。第二门槛值大于第一门槛值。若上述的间隙的宽度大于第二门槛值,则存储器管理电路902会决定将第一存储单元操作在另一程序化模式(以下也称为第四程序化模式)。操作在第四程序化模式的第一存储单元的状态(也称第四状态)的数量(也称第四数量)会大于第二数量并且小于或等于第一数量。然而,若上述间隙的宽度大于第一门槛值并且小于第二门槛值,则第一存储单元会被保持操作在第二程序化模式。多个连续判断所采用的门槛值会逐渐增加,并且对应的判断操作会被执行,直到所述间隙的宽度被判定于为落于两个特定的门槛值之间。如此一来,便可以决定适当的程序化模式并将此程序化模式用于操作第一存储单元。换句话说,若第一存储单元的抹除状态电压和第一存储单元的程序化状态电压之间的间隙太窄,第一存储单元可被决定为操作在具有比较少状态的程序化模式中;而若第一存储单元的抹除状态电压和第一存储单元的程序化状态电压之间的间隙足够宽,则第一存储单元可被决定为操作在具有较多状态的程序化模式。藉此,第一存储单元的可靠度便可被改善。在本范例实施例中,每一个存储单元都是根据所述的间隙而被操作在对应的程序化模式。即,在同一实体单元或不同实体单元中的至少两个不同的存储单元可能会被操作在不同的程序化模式中。然而,在另一范例实施例中,在对应于某一个存储单元的程序化模式被决定后,包含此存储单元的某一个实体单元中所有的存储单元皆会被操作在相同的程序化模式。例如,此实体单元可以是实体扇区、实体 程序化单元或是实体抹除单元。如此一来,存储器存储装置10的使用寿命便可被延长。

图14a-14c是本发明的一范例实施例所示出的管理存储单元操作的示意图。

请参照图14a,假设一些存储单元一开始是被设定为以4LC程序化模式来操作。在临界电压退化后,这些存储单元的临界电压分布的峰值变的越来越扁平和越来越宽。例如,图14a中示出了至少部分存储单元的退化抹除状态电压和退化程序化状态电压。在本范例实施例中,在执行上述分析每一个存储单元的抹除状态电压和程序化状态电压之间的间隙并且指派特定的程序化模式给每一个存储单元的操作之后,临界电压坐落在电压范围ΔV的存储单元被指派操作在2LC程序化模式(如图14b所示),原因是此些存储单元的所述间隙太窄;而临界电压不坐落在电压范围ΔV的存储单元则维持操作在4LC程序化模式(如图14c所示)。例如,在本范例实施例中,电压范围ΔV可被视为第一门槛值。

在一范例实施例中,存储器管理电路902还可以判断所述抹除状态电压和程序化状态电压之间的间隙的宽度是否大于一预设门槛值(以下也称为第一预设门槛值)。此第一预设门槛值小于在以上范例实施例中与上述间隙比较的其他门槛值。若抹除状态电压和程序化状态电压之间的间隙的宽度不大于第一预设门槛值,则存储器管理电路902还可以决定将第一存储单元操作在错误校正模式。在错误校正模式中,错误检查与校正电路908会检查和校正从第一存储单元读取的数据。例如,在图13的范例实施例中,即使1310和1320两个状态相互重叠或非常接近,读取数据中的错误一般可以在错误校正模式中被校正。在一范例实施例中,除了错误校正模式以外的其他程序化模式(例如,2LC程序化模式,4LC程序化模式或8LC程序化模式等)将不会采用任何的错误校正程序,以加速读取数据的速度。然而,在另一范例实施例中,错误校正模式会采用较强的错误校正程序,而其他程序化模式(例如,2LC程序化模式,4LC程序化模式或8LC程序化模式等)则会采用较弱的错误校正程序。较强的错误校正程序的错误校正能力要优于较弱的错误校正程序。例如,较强的错误校正程序可包含需要大量计算资源的迭代译码程序,诸如低密度奇偶码(low density parity code,简称LDPC)算法、BCH算法等等;而较弱的 错误校正程序则可包含非迭代译码程序或任何对计算资源需求较低的译码算法。基此,在维持数据可靠度的同时,数据读取的速度也能够提升。

在前述范例实施例中,所述分析与判断操作可在任何时间点执行,像是在制造过程中或是在使用者端。例如,可以在存储器存储装置10的制造过程中通过测试装置来执行。例如,可以在存储器存储装置10出厂后由存储器管理电路902来执行。然而,在另一范例实施例中,上述的分析与判断的操作只有当第一存储单元、包含第一存储单元的实体单元或可复写式非易失性存储器模块406的使用程度(usage degree)达到一预设程度才会执行。上述的使用程度可通过任何与第一存储单元的可靠度相关的因子来估算。在一范例实施例中,使用程度是以使用程度值(usage degree value)来表示。使用程度值是根据如读取次数、写入次数、抹除次数、错误比特数、错误比特率、数据存储持续时间或其他与第一存储单元的可靠度相关的因子来决定。例如,若第一存储单元的抹除次数达到3000次,上述的分析与判断操作会被执行,以优化第一存储单元的可靠度;反之,若第一存储单元的抹除次数未达3000次,则上述的分析与判断操作不会被执行并且第一存储单元会被维持操作在第一程序化模式中。

在另一范例实施例中,存储器管理电路902会判断所述间隙的宽度是否大于另一预设门槛值(以下也称为第二预设门槛值)。若所述间隙的宽度大于第二预设门槛值,表示所述间隙的宽度足够宽,那么存储器管理电路902便不会执行所述分析与判断操作并且第一存储单元会被维持操作在第一程序化模式。然而,若所述间隙的宽度不大于第二门槛值,则存储器管理电路902便会继续执行上述分析与判断操作。也就是说,在一些范例实施例中,所述分析与判断操作可以根据第一存储单元的所述间隙或所述使用程度来决定是否执行。

在本范例实施例中,在决定将第一存储单元操作在某一个的程序化模式后,指示第一存储单元不操作在原先的第一程序化模式的信息会被记录在可复写式非易失性存储器模块406的一个管理区中。例如,此信息可以指示存储单元所采用的程序化模式和/或采用新程序化模式的存储单元与实体单元的至少其中之一的实体地址。然而,记录在管理区中的信息还可以包含任何有用的信息,而不限于上述。管理区中的每一个存储单元的可靠度可能高于 第一存储单元或其他不在管理区中的存储单元的可靠度。例如,在本范例实施例中,在管理区中的每一个存储单元都操作在2LC程序化模式中,以确保存储在管理区中的信息是正确的。上述信息可以是当存储器管理电路902欲操作(例如,写入数据至可复写式非易失性存储器模块406)对应的存储单元时从管理区中读取出来。另外,在另一范例实施例中,上述的信息也可以是被记录在存储器控制电路单元404中。

在一范例实施例中,管理区是配置在可复写式非易失性存储器模块406的每一个串(string)(即,存储单元串)和/或每一个页面(即,实体页面)中。举例来说,假设可复写式非易失性存储器模块406包括M个页面和N个串,每一页面包括关联至同一条字线的多个存储单元,每一串包括关联至同一条位线的多个存储单元,则可复写式非易失性存储器模块406的存储单元的总数为M×N。在此范例实施例中,在某一个串中的Q个存储单元被用以记录此串所采用的程序化模式的信息,其中Q=log2Z,Z为可能被采用的程序化模式的总数。举例来说,假如可能被采用的程序化模式的总数为4(例如,ECC、2LC、3LC和4LC),则Q会被设定为2。另外,在属于某一个页面的管理区中的存储单元则会被用以记录此页面所采用的程序化模式的信息。基此,若某一个页面将要被程序化,那么此页面所采用的程序化模式的信息会先被读取,并且使用此页面所采用的程序化模式来程序化此页面。

在一范例实施例中,上述Q个存储单元的总数可以被计算为Q×(M+N)。例如,此些Q×(M+N)个存储单元被称为自适应分配存储器用量(adaptive allocation memory usage)。为了记录上述信息(例如,采用程序化模式的相关信息或采用新程序化模式的存储单元的实体地址),以下不等式(1.1)被满足。

Q×(M+N)<R1×2Q×MN×M/2 (1.1)

在不等式(1.1)中,R1为在一个串中的一个存储单元发生错误的机率,R1×2Q×MN×M/2为以串为基础作错误校正所移除的存储单元个数(即,属于同一串的所有有错误比特的存储单元皆会被舍弃)。当N远大于M时,不等式(1.1)可以被简化成以下的不等式(1.2)。

Q/2Q-1<M2R1 (1.2)

在此例中,R1也可称作Rbound。当M增加时Rbound会减少。然而,在另一范例实施例中,为了记录上述信息(例如,采用程序化模式的相关信息或采 用新程序化模式的存储单元的实体地址),以下不等式(2.1)被满足。

Q×(M+N)<R2×2Q×MN (2.1)

在不等式(2.1)中,R2为一个存储单元发生错误的机率,R2×2Q×MN为以存储单元为基础作错误校正所移除的存储单元个数(即,只有发生错误的存储单元会被删除)。当N远大于M时,不等式(2.1)可以被简化成以下的不等式(2.2)。

Q/2Q<MR2 (2.2)

在此例中,R2也可称作Rbound。当M增加时Rbound会减少。也就是说,随着可复写式非易失性记忆模块406的一个串所含的存储单元增加,本发明的存储器管理方法就会更有效。

图15是根据本发明的一范例实施例所示出的存储器管理方法的流程图。

请参照图15,假设在可复写式非易失性存储器模块406中的第一存储单元初始是被设定操作在第一程序化模式,并且此第一程序化模式为4LC程序化模式。在步骤S1501中,第一存储单元的抹除状态电压与第一存储单元的程序化状态电压会被取得。在此,抹除状态电压是指最抹除状态电压,并且程序化状态电压是指最程序化状态电压,相关的描述已在先前段落说明,以下不再重复。在步骤S1502中,判断抹除状态电压与程序化状态电压之间的间隙(即,间隙的宽度)是否大于第一预设门槛值。若此间隙不大于第一预设门槛值,则在步骤S1503中,决定将第一存储单元操作在错误校正(ECC)模式。错误校正模式已在先前段落说明,相关说明在此不再重复描述。若此间隙大于第一预设门槛值,则在步骤S1504中,判断此间隙是否大于第一门槛值。其中,第一门槛值大于第一预设门槛值。若此间隙不大于第一门槛值,则在步骤S1505中,决定将第一存储单元操作在第三程序化模式。在本范例实施例中,第三程序化模式为2LC程序化模式。若此间隙大于第一门槛值,则在步骤S1506中,判断此间隙是否大于第二门槛值,其中第二门槛值大于第一门槛值。若此间隙不大于第二门槛值,则在步骤S1507中,决定将第一存储单元操作在第二程序化模式。在本范例实施例中,第二程序化模式为3LC程序化模式。若此间隙大于第二门槛值,在步骤S1508中,决定将第一存储单元操作在第四程序化模式中。在本范例实施例中,第四程序化模式为4LC程序化模式。然而,在图15的另一范例实施例中,若第一存储单元起始的程序 化模式为5LC程序化模式到8LC程序化模式中的其中一个或为其他程序化模式,则在步骤S1506之后还会执行额外的判断步骤。另外,根据不同的设计,在图15的范例实施例中所采用的每一个程序化模式有可能不同,并且判断步骤S1502、S1504和S1506中的任一个也可能被省略。例如,在图15的另一范例实施例中,步骤S1504是接在步骤S1501后被执行,而步骤S1502会被省略。

图16是本发明的另一范例实施例所示出的存储器管理方法的流程图。

请参照图16,假设在可复写式非易失性存储器模块406中的第一存储单元初始是被设定操作在第一程序化模式,并且此地一程序化模式为4LC程序化模式。在步骤S1601中,第一存储单元的抹除状态电压和第一存储单元的程序化状态电压会被取得。在此,抹除状态电压是指最抹除状态电压,并且程序化状态电压是指最程序化状态电压,相关的描述已在先前段落说明,以下不再重复。在步骤S1602中,判断抹除状态电压和程序化状态电压的间隙是否大于第二预设门槛值。若此间隙大于第二预设门槛值,则不执行以下的步骤。例如,步骤S1601会在步骤S1602之后再次执行。若此间隙不大于第二预设门槛值,则在步骤S1603中,判断此间隙是否大于第一预设门槛值。若此间隙不大于第一预设门槛值,则在步骤S1604中,决定将第一存储单元操作在错误校正模式。错误校正模式已在先前段落说明,相关说明在此不再重复描述。若此间隙大于第一预设门槛值,则在步骤S1605中,判断此间隙是否大于第一门槛值。其中第一门槛值大于第一预设门槛值。若此间隙不大于第一门槛值,则在步骤S1606中,决定将第一存储单元操作在第三程序化模式。在本范例实施例中,第三程序化模式为2LC程序化模式。若此间隙大于第一门槛值,则在步骤1607中,会判断此间隙是否大于第二门槛值,其中第二门槛值大于第一门槛值。若此间隙不大于第二门槛值,则在步骤S1608中,决定将第一存储单元操作在第二程序化模式中。在本范例实施例中,第二程序化模式为3LC程序化模式。若此间隙大于第二门槛值,则在步骤S1609中,决定将第一存储单元操作在第四程序化模式。在本范例实施例中,第四程序化模式为4LC程序化模式。然而,在图16的另一范例实施例中,步骤S1602也可以替换成判断第一存储单元的使用程度是否达到预设程度的操作。若第一存储单元的使用程度达到预设程度,则执行如步骤S1603等后续步骤。 若此第一存储单元的使用程度未达预设程度,则如步骤S1603等后续步骤便不会被执行。

然而,图15和图16中的每一个步骤都已在以上段落中详细描述,以下不再重复赘述。必须注意的是,图15和图16中的每一个步骤都可以程序码或电路来实作,但此并非用以限定本发明。另外,图15与图16中所示出的方法可以单独实施或配合以上范例实施例一起实施,本发明不加以限制。

综上所述,根据存储单元的抹除状态电压与程序化状态电压之间的间隙落于某一个范围,一个特定的程序化模式会被决定并且用以操作此存储单元。藉此,从此存储单元所读取的数据所包含的错误比特可被减少,并且可复写式非易失性存储器模块的使用寿命可被延长。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1