数据保护方法、存储器控制器与存储器储存装置制造方法

文档序号:6486438阅读:84来源:国知局
数据保护方法、存储器控制器与存储器储存装置制造方法
【专利摘要】一种数据保护方法,用于具有多个物理区块的可复写式非易失性存储器模块。此数据保护方法包括:当可复写式非易失性存储器模块被给电时,取得距离上一次断电的到目前被给电之间的断电时间;当此断电时间大于一个时间临界值时,根据区块信息来判断物理区块是否符合更新条件;对符合更新条件的物理区块执行更新程序。此更新程序是用以读取物理区块所储存的数据并将数据重新写入至上述多个物理区块的其中之一。据此,此方法能够使物理区块中的数据不容易遗失,并进一步地增加可复写式非易失性存储器模块的使用寿命。
【专利说明】数据保护方法、存储器控制器与存储器储存装置
【技术领域】
[0001]本发明是有关于一种数据保护方法,且特别是有关于一种应用于可复写式非易失性存储器的数据保护方法,以及使用此方法的存储器控制器与存储器储存装置。
【背景技术】
[0002]数字相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
[0003]一般来说,一个可复写式非易失性存储器模块会包括多个物理区块。而每个物理区块会有一个抹除次数的上限,若超过此上限,则表示此物理区块所储存的数据容易遗失,或者是无法保证此物理区块所储存的数据能保存很久的时间。当储存在物理区块中的数据无法被保存时,便表示可复写式非易失性存储器模块的使用寿命快要结束。因此,如何保护抹除次数已超过上限的物理区块所储存的数据以增加使用寿命,为本领域技术人员所关心的议题。

【发明内容】

[0004]本发明提供一种数据保护方法,以及使用此方法的存储器控制器与存储器储存装置,其可以增加可复写式非易失性存储器模块的使用寿命。
[0005]本发明一范例实施例提出一种数据保护方法,用于控制一可复写式非易失性存储器模块,而此可复写式非易失性存储器模块包括多个物理区块。此数据保护方法包括:当可复写式非易失性存储器模块被给电时,取得距离可复写式非易失性存储器模块上一次断电的第一时间到目前被给电的第二时间之间的断电时间;以及,当此断电时间大于第一时间临界值时,根据每一个物理区块的区块信息来判断各物理区块是否符合更新条件;对符合更新条件的物理区块执行一更新程序。上述的更新程序是用以读取被执行更新程序的物理区块所储存的第一数据并将第一数据重新写入至上述多个物理区块的其中之一。
[0006]在一范例实施例中,上述的区块信息为物理区块的抹除次数。上述根据每一个物理区块的区块信息来判断各物理区块是否符合更新条件的步骤包括:判断抹除次数大于一个抹除临界值的物理区块符合更新条件。
[0007]在一范例实施例中,上述的数据保护方法还包括:当上述的断电时间大于第二时间临界值时,判断所有的物理区块皆符合更新条件。
[0008]在一范例实施例中,上述的区块信息为一个错误更正码。上述每一个物理区块包括多个物理页面。而每一个物理页面包括一数据位区以及一冗余位区,且冗余位区中记录有除错更正码。上述根据每一个物理区块的区块信息来判断各物理区块是否符合更新条件的步骤包括:根据数据位区所储存的数据以及错误更正码,判断对于每一个物理页面是否发生一个可还原错误,此可还原错误表示数据位区所储存的数据发生错误,但可以根据错误更正码来更正数据位区所储存的数据;以及,若发生上述的可还原错误,则判断发生可还原错误的物理页面所属的物理区块符合更新条件。
[0009]在一范例实施例中,上述取得断电时间的步骤包括:当可复写式非易失性存储器模块被断电时,设定一计数器开始更新所记录的值;以及,当可复写式非易失性存储器模块被给电时,根据计数器所记录的值取得上述的断电时间。
[0010]在一范例实施例中,上述取得断电时间的步骤包括:当可复写式非易失性存储器模块被给电时,从一个断电时间计算单元取得上述的断电时间。
[0011]以另外一个角度来说,本发明一范例实施例提出一种存储器储存装置,包括连接器、可复写式非易失性存储器模块与存储器控制器。其中,连接器是用以电性连接至一主机系统,而可复写式非易失性存储器模块包括多个物理页面。存储器控制器则是电性连接至连接器与可复写式非易失性存储器模块。当存储器储存装置被给电时,存储器控制器会取得距离存储器储存装置上一次断电的第一时间到目前被给电的第二时间之间的一断电时间。当断电时间大于第一时间临界值时,存储器控制器用以根据每一个物理区块的区块信息来判断每一个物理区块是否符合更新条件。存储器控制器用以对符合更新条件的物理区块执行一更新程序。此更新程序是用以读取被执行更新程序的物理区块所储存的第一数据并将第一数据重新写入至上述的物理区块的其中之一。
[0012]在一范例实施例中,上述的区块信息为抹除次数。存储器控制器还用以判断抹除次数大于一个抹除临界值的物理区块符合更新条件。
[0013]在一范例实施例中,当断电时间大于第二时间临界值时,上述的存储器控制器会判断所有的物理区块皆符合更新条件。
[0014]在一范例实施例中,上述的区块信息为错误更正码。上述每一个物理区块包括多个物理页面。而每一个物理页面包括数据位区以及冗余位区,冗余位区中记录有上述的除错更正码。存储器控制器会根据数据位区所储存的数据以及错误更正码,判断每一个物理页面是否发生一可还原错误。此可还原错误表示数据位区所储存的数据发生错误,但可以根据错误更正码来更正数据位区所储存的数据。若发生可还原错误,存储器控制器会判断发生可还原错误的物理页面所属的物理区块符合更新条件。
[0015]在一范例实施例中,上述的存储器储存装置还包括计数器与电池。计数器是电性连接至上述的存储器控制器。电池则提供一电源给此计数器。当存储器储存装置被断电时,存储器控制器设定计数器开始更新所记录的值。当存储器储存装置被给电时,存储器控制器根据计数器所记录的值取得上述的断电时间。
[0016]在一范例实施例中,当存储器储存装置被给电时,存储器控制器会从一个断电时间计算单元取得上述的断电时间。
[0017]以另外一个角度来说,本发明一范例实施例提出一种存储器控制器,包括主机接口、存储器接口与存储器管理电路。其中,主机接口是用以电性连接至一主机系统。存储器接口是电性连接至一可复写式非易失性存储器模块,而此可复写式非易失性存储器模块包括多个物理区块。存储器管理电路是电性连接至上述的主机接口与存储器接口。当可复写式非易失性存储器模块被给电时,存储器管理电路会取得距离可复写式非易失性存储器模块上一次断电的第一时间到目前被给电的第二时间之间的一断电时间。当断电时间大于第一时间临界值时,存储器管理电路用以根据每一个物理区块的区块信息来判断每一个物理区块是否符合更新条件。存储器管理电用以对符合更新条件的物理区块执行一更新程序。此更新程序是用以读取被执行更新程序的物理区块所储存的第一数据并将第一数据重新写入至物理区块的其中之一。
[0018]在一范例实施例中,上述的区块信息为抹除次数。存储器管理电路还用以判断抹除次数大于一抹除临界值的物理区块符合更新条件。
[0019]在一范例实施例中,当断电时间大于第二时间临界值时,存储器管理电路会判断所有的物理区块符合更新条件。
[0020]在一范例实施例中,上述的区块信息为错误更正码。每一个物理区块包括多个物理页面。而每一个物理页面包括数据位区以及冗余位区,冗余位区记录有上述的除错更正码。存储器管理电路会根据数据位区所储存的数据以及上述的错误更正码,判断每一个物理页面是否发生一可还原错误。此可还原错误表示数据位区所储存的数据发生错误,但可以根据错误更正码来更正数据位区所储存的数据。若发生可还原错误,存储器管理电路会判断发生可还原错误的物理页面所属的物理区块符合更新条件。
[0021]在一范例实施例中,当可复写式非易失性存储器模块被断电时,存储器管理电路会设定一计数器开始更新所记录的值。当可复写式非易失性存储器模块被给电时,存储器管理电路会根据计数器所记录的值以取得断电时间。
[0022]在一范例实施例中,当可复写式非易失性存储器模块被给电时,存储器管理电路会从一个断电时间计算单元取得上述的断电时间。
[0023]基于上述,本发明 的范例实施例所提出的数据保护方法、存储器控制器与存储器储存装置,可以在存储器储存装置被重新供电以后,更新其中部分或全部的物理区块。如此一来,能持续地保存物理区块中所储存的数据,进而增加存储器储存装置的使用寿命。
[0024]为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
【专利附图】

【附图说明】
[0025]图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
[0026]图1B是根据一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
[0027]图1C是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图。
[0028]图2是绘示图1A所示的存储器储存装置的概要方块图。
[0029]图3是根据一范例实施例所绘示的存储器控制器的概要方块图。
[0030]图4与图5是根据一范例实施例说明对一物理区块执行更新程序的范例示意图。
[0031]图6是根据一范例实施例说明利用错误更正码来判断数据是否发生错误的范例示意图。
[0032]图7是根据一范例实施例说明数据保护方法的流程图。
[0033][主要元件标号说明]
[0034]1000:主机系统1100:计算机
[0035]1102:微处理器1104:随机存取存储器
[0036]1106:输入/输出装置1108:系统总线[0037]1110:数据传输接口1202:鼠标
[0038]1204:键盘1206:显示器
[0039]1208:打印机1212:随身盘
[0040]1214:存储卡1216:固态硬盘
[0041]1310:数字相机1312:SD 卡
[0042]1314:MMC 卡1316:存储棒
[0043]1318:CF卡1320:嵌入式储存装置
[0044]100:存储器储存装置102:连接器
[0045]104:存储器控制器106:可复写式非易失性存储器模块
[0046]108:计数器109:电池
[0047]110:断电时间计算单元304(0)~304(R):物理区块
[0048]402:第一数据602(0)~602(A):物理页面
[0049]604(0)~604(A):数 据位区606 (O)~606 (A):冗余位区
[0050]620:数据640:错误更正码
[0051]S702、S704、S706、S708、S710、S712:数据保护方法的步骤
【具体实施方式】
[0052]—般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
[0053]图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
[0054]请参照图1A,主机系统1000 —般包括计算机1100与输入/输出(input/output, I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(random accessmemory, RAM) 1104、系统总线1108与数据传输接口 1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其它装置。
[0055]在本发明实施例中,存储器储存装置100是通过数据传输接口 1110与主机系统1000的其它元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身盘1212、存储卡1214或固态硬盘(SolidState Drive, SSD) 1216等的可复写式非易失性存储器储存装置。
[0056]一般而言,主机系统1000为可实质地与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick) 1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC, eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。[0057]图2是绘示图1A所示的存储器储存装置的概要方块图。
[0058]请参照图2,存储器储存装置100包括连接器102、存储器控制器104、可复写式非易失性存储器模块106、以及断电时间计算单元110。
[0059]在本范例实施例中,连接器102是相容于序列先进附件(Serial AdvancedTechnology Attachment, SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合并列先进附件(Parallel Advanced Technology Attachment, PATA)标准、电气和电子工程师协会(Institute of Electrical and Eletronic Engineers, IEEE) 1394 标准、高速周边零件连接接口(Peripheral Component Interconnect Express, PCI Express)标准、通用序列总线(Universal Serial Bus, USB)标准、安全数字(Secure Digital, SD)接口标准、超高速一代(Ultra High Speed-1, UHS-1)接口标准、超高速二代(Ultra HighSpeed-1I, UHS-1I)接口标准、存储棒(Memory Stick, MS)接口标准、多媒体储存卡(MultiMedia Card, MMC)接口标准、嵌入式多媒体储存卡(Embedded Multimedia Card, eMMC)接口标准、通用闪存(Universal Flash Storage,UFS)接 口标准、小型快闪(Compact Flash, CF)接口标准、集成式驱动电子接口(Integrated Device Elect ronics, IDE)标准或其它适合的标准。
[0060]存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
[0061]可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机系统1000所写入的数据。可复写式非易失性存储器模块106具有物理区块304(0)?304 (R)。例如,物理区块304(0)?304 (R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理区块分别具有多个物理页面,并且每一物理页面具有至少一物理扇区,其中属于同一个物理区块的物理页面可被独立地写入且被同时地抹除。例如,每一物理区块是由128个物理页面所组成,并且每一物理页面具有8个物理扇区(sector)。也就是说,在每一物理扇区为512字节(byte)的例子中,每一物理页面的容量为4千字节(Kilobyte, KB)。然而,必须了解的是,本发明不限于此,每一物理区块是可由64个物理页面、256个物理页面或其它任意个物理页面所组成。
[0062]更详细来说,物理区块为抹除的最小单位。亦即,每一物理区块含有最小数目的一并被抹除的存储单元。物理页面为编程的最小单元。即,物理页面为写入数据的最小单元。然而,必须了解的是,在本发明另一范例实施例中,写入数据的最小单位亦可以是物理扇区或其它大小。每一物理页面通常包括数据位区与冗余位区。数据位区用以储存使用者的数据,而冗余位区用以储存系统的数据(例如,错误检查与校正码)。
[0063]在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(MultiLevel Cell,MLC)NAND闪存模块,即一个存储单元中可储存至少2个位数据。然而,本发明不限于此,可复写式非易失性存储器模块106亦可是单阶存储单元(Single LevelCell, SLC) NAND闪存模块、多个阶存储单元(Trinary Level Cell, TLC) NAND型闪存模块、其它闪存模块或其它具有相同特性的存储器模块。
[0064]断电时间计算单元100是用提供存储器储存装置100被断电的时间。例如,断电时间计算单元110被实作为计数器108与电池109。计数器108是电性连接至存储器控制器104,其中记录有一个值。在计数器108被启动以后,计数器108会持续的更新所记录的值。例如,计数器108会在隔每一个时间单位后增加所记录的值。因此,计数器108所记录的值在经过计算以后也可以被用来表示一个时间区间。而电池109则是用以供应电源给计数器108。存储器控制器104可以通过启动计数器108以及读取计数器108等操作来取得存储器储存装置100被断电的时间。
[0065]图3是根据一范例实施例所绘示的存储器控制器的概要方块图。
[0066]请参照图3,存储器控制器104包括存储器管理电路202、主机接口 204与存储器接口 206。
[0067]存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
[0068]在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未绘示)与只读存储器(未绘示),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
[0069]在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程序码型式储存于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模块106中的控制指令加载至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
[0070]此外,在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以一硬件型式来实作。例如,存储器管理电路202包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块106的物理区块;存储器写入单元用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取单元用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除单元用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
[0071]主机接口 204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口 204是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口 204亦可以是兼容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其它适合的数据传输标准。[0072]存储器接口 206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口 206转换为可复写式非易失性存储器模块106所能接受的格式。
[0073]在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252、电源管理电路254与错误检查与校正电路256。
[0074]缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
[0075]电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
[0076]错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code, ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
[0077]当存储器储存装置100电性连接至主机系统1000时,主机系统1000会供应电源给存储器储存装置100中的各个元件(例如,存储器控制器104与可复写式非易失性存储器模块106)。相反地,存储器储存装置100与主机系统1000的电性连接关系被切断时,存储器储存装置100中的各个元件便会被断电。在本范例实施例中,存储器管理电路202会计算存储器储存装置100失去电源供应的一个断电时间。若此断电时间超过一个时间临界值,则会进一步的判断所有的物理区是否符合一个更新条件。并且,存储器管理电路202会对符合更新条件的物理区块执行一个更新程序,将物理区块所储存的数据重新写入。
[0078]具体来说,当存储器储存装置100被断电时(此时亦称第一时间),存储器管理电路202会启动计数器108。接下来,计数器108便会持续地更新其所记录的值。而在存储器储存装置100被断电的期间,由电池109供应电源给计数器108。因此,即使主机系统1000并没有供应电源给存储器储存装置100,计数器108还是可以正常的运作。
[0079]接下来,当存储器储存装置100重新被电性连接至主机系统1000(或是电性连接至另一个能提供电源的电子装置)时,存储器储存装置100及其中的各个元件都会被给电。此时(亦称为第二时间),存储器管理电路202会读取计数器108所记录的值,并根据计数器108所记录的值来计算一个断电时间,此断电时间表示从第一时间到第二时间经过了多久。换句话说,存储器管理电路202可以根据计数器108所记录的值来取得距离可复写式非易失性存储器模块106上一次被断电的第一时间到目前被给电的第二时间之间的断电时间。
[0080]存储器管理电路202会判断所计算出的断电时间是否超过一个时间临界值(亦称第一时间临界值)。若断电时间超过此时间临界值,存储器管理电路202会根据物理区块的区块信息(例如抹除次数,错误更正码或是读取次数)来判断判断物理区块304(0)?304(R)是否符合更新条件。若一个物理区块符合更新条件,则表示储存在此物理区块中的数据有容易遗失,或是容易发生错误的可能。在本范例实施例中,存储器管理电路202会对符合更新条件的物理区块执行更新程序。此更新程序是用以读取一个物理区块所储存的数据并将此数据重新写入至物理区块304(O)?304(R)的其中之一。
[0081]例如,存储器管理电路202会取得每一个物理区块的抹除次数。当存储器管理电路202判断断电时间超过第一时间临界值时,会判断抹除次数超过一个抹除临界值的物理区块满足更新条件。在本范例实施例中,第一时间临界值是被设定为I个月,而抹除临界值则为一个物理区块的抹除上限(例如,10万次)。然而,在其它范例实施例中,第一时间临界值与抹除临界值也可以被设定为其它的时间与次数,本发明并不在此限。
[0082]图4与图5是根据一范例实施例说明对一物理区块执行更新程序的范例示意图。
[0083]请参照图4,在此假设当存储器储存装置100重新被给电时,存储器管理电路202判断断电时间已超过第一时间临界值,且物理区块304(0)的抹除次数已超过抹除临界值。也就是说,物理区块304 (O)会满足更新条件。此时,存储器管理电路202会读取储存在物理区块304(0)中的第一数据402至缓冲存储器252,并会对物理区块304(0)执行抹除指令。接下来,存储器管理电路202会将第一数据402重新写入至物理区块304(0)。如此一来,便完成对物理区块304(0)执行更新程序的操作。然而,存储器管理电路202也可以将第一数据402写入至其它的物理区块,本发明并不在此限。在另一范例实施例中,如图5所示,存储器管理电路202也会将第一数据402写入至物理区块304(1)当中。
[0084]此外,在另一范例实施例中,存储器管理电路202会先判断断电时间是否大于一个第二时间临界值,如断电时间没超过第二时间临界值时,再判断是否超过第一时间临界值。第二时间临界值会大于第一时间临界值。在本范例实施例中,第二时间临界值是被设定为I年,当断电时间大于第二时间临界值时,表示储存在物理区块304(0)?304(R)的数据已经很久没有被更新,容易遗失或发生错误。因此,在判断断电时间大于第二时间临界值时,存储器管理电路202会判断所有的物理区块304(0)?304(R)都符合更新条件。换言之,存储器管理电路202会对所有的物理区块304(0)?304(R)都执行更新程序。然而,在其它范例实施例中,第二时间临界值也可以被设定为其它的数值,本发明并不在此限。
[0085]另一方面,本范例实施例中是根据抹除次数来判断是否执行更新程序。然而,由于每一次的抹除都是为了让物理区块能够接受下一个写入操作。因此,在另一范例实施例中,也可以计算每一个物理区块的写入次数,并用写入次数来代替抹除次数,本发明并不在此限。
[0086]除了根据断电时间与抹除次数来判断一个物理区块是否符合更新条件以外,在另一范例实施例中,存储器管理电路202还会根据一个物理区块中所储存的数据是否发生错误来判断此物理区块是否符合更新条件。具体来说,每一个物理区块会包括多个物理页面,每个物理页面会包括一个数据位区与一个冗余位区。数据位区是用以储存使用者的数据,而冗余位区是用以储存系统的数据。例如,冗余位区可以储存一个错误更正码(errorcorrection code,ECC),此错误更正码是对应到数据位区中的数据。存储器管理电路202可以根据冗余位区中的错误更正码来判断数据位区中的数据是否发生错误。
[0087]图6是根据一范例实施例说明利用错误更正码来判断数据是否发生错误的范例示意图。
[0088]请参照图6,物理区块304(0)中包括了物理页面602 (O)?602(A)、数据位区604(0)?604(A)与冗余位区606(0)?606 (A)。例如,物理页面602 (O)包括了数据位区604(0)与冗余位区606(0),而物理页面602(1)包括了数据位区604(1)与冗余位区606(1)。在数据位区604(0)中储存了数据620,而冗余位区606(0)储存了错误更正码(ECC) 640。错误更正码640是用以判断数据620是否发生了错误,并且若数据620发生错误的位个数没有超过错误更正码640能够更正的上限,错误更正码640也可以用来更正数据620所发生的错误。在本范例实施例中,存储器管理电路202会根据错误更正码640与数据620来判断是否发生了一个可还原错误。此可还原错误便表示数据620发生错误的位个数并没有超过错误更正码640能够更正的上限。由于发生可还原错误的物理页面602 (O)是属于物理页面304(0),因此存储器管理电路会判断物理区块304(0)符合更新条件并对物理区块304(0)执行更新程序。换言之,存储器管理电路202会判断发生可还原错误的物理页面所属的物理区块符合更新条件。
[0089]在本范例实施例中,断电时间计算单元110是被实作为计数器108与电池109。然而,在另一范例实施例中,断电时间计算单元110也可以被实作为一定时器(图未示)。此定时器可设置于主机系统1000或于存储器储存装置100,且此定时器可以一应用程序或一硬件电路的方式来实现。举例来说,当存储器储存装置100与主机系统1000之间的电性连接关系被切断以后(此时亦称第一时间),主机系统1000上的一个应用程序便会开始计时。等到下次存储器储存装置100重新电性连接至主机系统1000时(此时亦称第二时间),此应用程序便会识别存储器储存装置100,并计算出第一时间到第二时间之间的断电时间。接下来,应用程序会传送一个断电时间消息给存储器管理电路202,此断电时间消息便包含了所计算出的断电时间。因此,存储器管理电路202便可以根据此断电时间消息取得断电时间。
[0090]图7是根据一范例实施例说明数据保护方法的流程图。
[0091]请参照图7,在步骤S702中,当可复写式非易失性存储器模块被给电时,存储器管理电路202会取得距离可复写式非易失性存储器模块上一次断电的第一时间到目前被给电的第二时间之间的断电时间。
[0092]在步骤S704中,存储器管理电路202会判断断电时间是否大于第二时间临界值。
[0093]若断电时间大于第二时间临界值,在步骤S706中,存储器管理电路202会判断所有的物理区块都符合更新条件。
[0094]若断电时间并不大于第二时间临界值,在步骤S708中,存储器管理电路202会判断电时间是否大于第一时间临界值。
[0095]若断电时间大于第一时间临界值,在步骤S710中,存储器管理电路202会根据每一个物理区块的区块信息来判断物理区块是否符合更新条件。相反的,若断电时间并不大于第一时间临界值,则存储器管理电路202会结束此流程。
[0096]在步骤S721中,存储器管理电路202会对符合更新条件的物理区块执行更新程序。
[0097]然而,图7中各步骤已详细说明如上,在此便不再赘述。
[0098]综上所述,本发明范例实施例所提出的数据保护方法、存储器控制器与存储器储存装置,可以在存储器储存装置重新被给电的时候得到一个断电时间。并且,会根据断电时间的大小、物理区块的抹除次数或是否发生可还原错误来决定是否要对物理区块执行更新程序。如此一来,物理区块中所储存的数据会在存储器储存装置被给电时被重新写入。藉此,可以保护物理区块中所储存的数据不会容易遗失,进一步地增加可复写式非易失性存储器的使用寿命。
[0099]虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属【技术领域】中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。
【权利要求】
1.一种数据保护方法,用于控制一可复写式非易失性存储器模块,该可复写式非易失性存储器模块包括多个物理区块,该数据保护方法包括: 当该可复写式非易失性存储器模块被给电时,取得距离该可复写式非易失性存储器模块上一次断电的一第一时间到目前被给电的一第二时间之间的一断电时间; 当该断电时间大于一第一时间临界值时,根据每一该些物理区块的一区块信息来判断每一该些物理区块是否符合一更新条件; 对该些物理区块中符合该更新条件的物理区块执行一更新程序,其中该更新程序用以读取被执行该更新程序的物理区块所储存的一第一数据并将该第一数据重新写入至该些物理区块的其中之一。
2.根据权利要求1所述的数据保护方法,其中该区块信息为一抹除次数,所述根据每一该些物理区块的该区块信息判断各该些物理区块是否符合该更新条件的步骤包括: 判断该些物理区块中,该抹除次数大于一抹除临界值的该物理区块符合该更新条件。
3.根据权利要求1所述的数据保护方法,还包括: 当该断电时间大于一第二时间临界值时,判断所有的该些物理区块皆符合该更新条件。
4.根据权利要求1所述的数据保护方法,其中该区块信息为一错误更正码,每一该些物理区块包括多个物理页面,每一该些物理页面包括一数据位区以及一冗余位区,该冗余位区用以记录该除错更正码,其中根据每一该些物理区块的该区块信息判断各该些物理区块是否符合该更新条件的步骤包括: 根据该数据位区所储存的数据以及该错误更正码,判断对于每一该些物理页面是否发生一可还原错误,其中该可还原错误表示该数据位区所储存的数据发生错误,但可以根据该错误更正码来更正该数据位区所储存的数据;以及 若发生该可还原错误,则判断发生该可还原错误的该物理页面所属的该物理区块符合该更新条件。
5.根据权利要求1所述的数据保护方法,其中取得该断电时间的步骤包括: 当该可复写式非易失性存储器模块被断电时,设定一计数器开始更新该计数器所记录的值;以及 当该可复写式非易失性存储器模块被给电时,根据该计数器所记录的值取得该断电时间。
6.根据权利要求1所述的数据保护方法,其中取得该断电时间的步骤包括: 当该可复写式非易失性存储器模块被给电时,通过一断电时间计算单元取得该断电时间。
7.一种存储器储存装置,包括: 一连接器,用以电性连接至一主机系统; 一可复写式非易失性存储器模块,包括多个物理页面;以及 一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模块, 其中,当该存储器储存装置被给电时,该存储器控制器用以取得距离该存储器储存装置上一次断电的一第一时间到目前被给电的一第二时间之间的一断电时间, 其中,当该断电时间大于一第一时间临界值时,该存储器控制器用以根据每一该些物理区块的一区块信息来判断每一该些物理区块是否符合一更新条件, 其中,该存储器控制器用以对该些物理区块中符合该更新条件的该物理区块执行一更新程序,其中该更新程序用以读取被执行该更新程序的该物理区块所储存的一第一数据并将该第一数据重新写入至该些物理区块的其中之一。
8.根据权利要求7所述的存储器储存装置,其中该区块信息为一抹除次数,该存储器控制器还用以判断该些物理区块中,该抹除次数大于一抹除临界值的该物理区块符合该更新条件。
9.根据权利要求7所述的存储器储存装置,其中当该断电时间大于一第二时间临界值时,该存储器控制器判断所有的该些物理区块皆符合该更新条件。
10.根据权利要求7所述的存储器储存装置,其中该区块信息为一错误更正码,每一该些物理区块包括多个物理页面,每一该些物理页面包括一数据位区以及一冗余位区,该冗余位区用以记录该除错更正码, 该存储器控制器根据该数据位区所储存的数据以及该错误更正码,判断每一该些物理页面是否发生一可还原错误,其中该可还原错误表示该数据位区所储存的数据发生错误,但可以根据该错误更正码来更正该数据位区所储存的数据, 若发生该可还原错误,该存储器控制器还用以判断发生该可还原错误的该物理页面所属的该物理区块符合该更新条件。
11.根据权利要求7所述的存储器储存装置,还包括: 一计数器,电性连接至该存储器控制器;以及 一电池,提供一电源给该计数器, 其中当该存储器储存装置被断电时,该存储器控制器设定该计数器开始更新所记录的值, 其中当该存储器储存装置被给电时,该存储器控制器根据该计数器所记录的值取得该断电时间。
12.根据权利要求7所述的存储器储存装置,其中当该存储器储存装置被给电时,该存储器控制器还用以通过一断电时间计算单元取得该断电时间。
13.一种存储器控制器,包括: 一主机接口,用以电性连接至一主机系统; 一存储器接口,电性连接至一可复写式非易失性存储器模块,该可复写式非易失性存储器模块包括多个物理区块;以及 一存储器管理电路,电性连接至该主机接口与该存储器接口, 其中,当该可复写式非易失性存储器模块被给电时,该存储器管理电路取得距离该可复写式非易失性存储器模块上一次断电的一第一时间到目前被给电的一第二时间之间的一断电时间, 其中,当该断电时间大于一第一时间临界值时,该存储器管理电路用以根据每一该些物理区块的一区块信息来判断每一该些物理区块是否符合一更新条件, 其中,该存储器管理电路用以对该些物理区块中符合该更新条件的该物理区块执行一更新程序,其中该更新程序用以读取被执行该更新程序的该物理区块所储存的一第一数据并将该第一数据重新写入至该些物理区块的其中之一。
14.根据权利要求13所述的存储器控制器,其中该区块信息为一抹除次数,该存储器管理电路还用以判断该些物理区块中,该抹除次数大于一抹除临界值的该物理区块符合该更新条件。
15.根据权利要求13所述的存储器控制器,其中当该断电时间大于一第二时间临界值时,该存储器管理电路判断所有的该些物理区块皆符合该更新条件。
16.根据权利要求13所述的存储器控制器,其中该区块信息为一错误更正码,每一该些物理区块包括多个物理页面,每一该些物理页面包括一数据位区以及一冗余位区,该冗余位区用以记录该除错更正码, 该存储器管理电路根据该数据位区所储存的数据以及该错误更正码,判断每一该些物理页面是否发生一可还原错误,其中该可还原错误表示该数据位区所储存的数据发生错误,但可以根据该错误更正码来更正该数据位区所储存的数据, 若发生该可还原错误,该存储器管理电路判断发生该可还原错误的该物理页面所属的该物理区块符合该更新条件。
17.根据权利要求13所述的存储器控制器,其中当该可复写式非易失性存储器模块被断电时,该存储器管理电路设定一计数器开始更新所记录的值, 当该可复写式非易失性存储器模块被给电时,该存储器管理电路根据该计数器所记录的值以取得该断电时间。
18.根据权利要求13所述的存储器控制器,其中当该可复写式非易失性存储器模块被给电时,该存储器管理电路还用以通过一断电时间计算单元取得该断电时间。
【文档编号】G06F12/06GK103514103SQ201210212251
【公开日】2014年1月15日 申请日期:2012年6月21日 优先权日:2012年6月21日
【发明者】朱健华 申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1