CN103514103B - 数据保护方法、存储器控制器与存储器储存装置 - Google Patents
数据保护方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN103514103B CN103514103B CN201210212251.7A CN201210212251A CN103514103B CN 103514103 B CN103514103 B CN 103514103B CN 201210212251 A CN201210212251 A CN 201210212251A CN 103514103 B CN103514103 B CN 103514103B
- Authority
- CN
- China
- Prior art keywords
- time
- physical blocks
- memory
- data
- power
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000005055 memory storage Effects 0.000 title description 55
- 238000012937 correction Methods 0.000 claims description 33
- 230000006870 function Effects 0.000 claims 6
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 claims 1
- 229910052799 carbon Inorganic materials 0.000 claims 1
- 230000005611 electricity Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
一种数据保护方法,用于具有多个物理区块的可复写式非易失性存储器模块。此数据保护方法包括:当可复写式非易失性存储器模块被给电时,取得距离上一次断电的到目前被给电之间的断电时间;当此断电时间大于一个时间临界值时,根据区块信息来判断物理区块是否符合更新条件;对符合更新条件的物理区块执行更新程序。此更新程序是用以读取物理区块所储存的数据并将数据重新写入至上述多个物理区块的其中之一。据此,此方法能够使物理区块中的数据不容易遗失,并进一步地增加可复写式非易失性存储器模块的使用寿命。
Description
技术领域
本发明是有关于一种数据保护方法,且特别是有关于一种应用于可复写式非易失性存储器的数据保护方法,以及使用此方法的存储器控制器与存储器储存装置。
背景技术
数字相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,一个可复写式非易失性存储器模块会包括多个物理区块。而每个物理区块会有一个抹除次数的上限,若超过此上限,则表示此物理区块所储存的数据容易遗失,或者是无法保证此物理区块所储存的数据能保存很久的时间。当储存在物理区块中的数据无法被保存时,便表示可复写式非易失性存储器模块的使用寿命快要结束。因此,如何保护抹除次数已超过上限的物理区块所储存的数据以增加使用寿命,为本领域技术人员所关心的议题。
发明内容
本发明提供一种数据保护方法,以及使用此方法的存储器控制器与存储器储存装置,其可以增加可复写式非易失性存储器模块的使用寿命。
本发明一范例实施例提出一种数据保护方法,用于控制一可复写式非易失性存储器模块,而此可复写式非易失性存储器模块包括多个物理区块。此数据保护方法包括:当可复写式非易失性存储器模块被给电时,取得距离可复写式非易失性存储器模块上一次断电的第一时间到目前被给电的第二时间之间的断电时间;以及,当此断电时间大于第一时间临界值时,根据每一个物理区块的区块信息来判断各物理区块是否符合更新条件;对符合更新条件的物理区块执行一更新程序。上述的更新程序是用以读取被执行更新程序的物理区块所储存的第一数据并将第一数据重新写入至上述多个物理区块的其中之一。
在一范例实施例中,上述的区块信息为物理区块的抹除次数。上述根据每一个物理区块的区块信息来判断各物理区块是否符合更新条件的步骤包括:判断抹除次数大于一个抹除临界值的物理区块符合更新条件。
在一范例实施例中,上述的数据保护方法还包括:当上述的断电时间大于第二时间临界值时,判断所有的物理区块皆符合更新条件。
在一范例实施例中,上述的区块信息为一个错误更正码。上述每一个物理区块包括多个物理页面。而每一个物理页面包括一数据位区以及一冗余位区,且冗余位区中记录有除错更正码。上述根据每一个物理区块的区块信息来判断各物理区块是否符合更新条件的步骤包括:根据数据位区所储存的数据以及错误更正码,判断对于每一个物理页面是否发生一个可还原错误,此可还原错误表示数据位区所储存的数据发生错误,但可以根据错误更正码来更正数据位区所储存的数据;以及,若发生上述的可还原错误,则判断发生可还原错误的物理页面所属的物理区块符合更新条件。
在一范例实施例中,上述取得断电时间的步骤包括:当可复写式非易失性存储器模块被断电时,设定一计数器开始更新所记录的值;以及,当可复写式非易失性存储器模块被给电时,根据计数器所记录的值取得上述的断电时间。
在一范例实施例中,上述取得断电时间的步骤包括:当可复写式非易失性存储器模块被给电时,从一个断电时间计算单元取得上述的断电时间。
以另外一个角度来说,本发明一范例实施例提出一种存储器储存装置,包括连接器、可复写式非易失性存储器模块与存储器控制器。其中,连接器是用以电性连接至一主机系统,而可复写式非易失性存储器模块包括多个物理页面。存储器控制器则是电性连接至连接器与可复写式非易失性存储器模块。当存储器储存装置被给电时,存储器控制器会取得距离存储器储存装置上一次断电的第一时间到目前被给电的第二时间之间的一断电时间。当断电时间大于第一时间临界值时,存储器控制器用以根据每一个物理区块的区块信息来判断每一个物理区块是否符合更新条件。存储器控制器用以对符合更新条件的物理区块执行一更新程序。此更新程序是用以读取被执行更新程序的物理区块所储存的第一数据并将第一数据重新写入至上述的物理区块的其中之一。
在一范例实施例中,上述的区块信息为抹除次数。存储器控制器还用以判断抹除次数大于一个抹除临界值的物理区块符合更新条件。
在一范例实施例中,当断电时间大于第二时间临界值时,上述的存储器控制器会判断所有的物理区块皆符合更新条件。
在一范例实施例中,上述的区块信息为错误更正码。上述每一个物理区块包括多个物理页面。而每一个物理页面包括数据位区以及冗余位区,冗余位区中记录有上述的除错更正码。存储器控制器会根据数据位区所储存的数据以及错误更正码,判断每一个物理页面是否发生一可还原错误。此可还原错误表示数据位区所储存的数据发生错误,但可以根据错误更正码来更正数据位区所储存的数据。若发生可还原错误,存储器控制器会判断发生可还原错误的物理页面所属的物理区块符合更新条件。
在一范例实施例中,上述的存储器储存装置还包括计数器与电池。计数器是电性连接至上述的存储器控制器。电池则提供一电源给此计数器。当存储器储存装置被断电时,存储器控制器设定计数器开始更新所记录的值。当存储器储存装置被给电时,存储器控制器根据计数器所记录的值取得上述的断电时间。
在一范例实施例中,当存储器储存装置被给电时,存储器控制器会从一个断电时间计算单元取得上述的断电时间。
以另外一个角度来说,本发明一范例实施例提出一种存储器控制器,包括主机接口、存储器接口与存储器管理电路。其中,主机接口是用以电性连接至一主机系统。存储器接口是电性连接至一可复写式非易失性存储器模块,而此可复写式非易失性存储器模块包括多个物理区块。存储器管理电路是电性连接至上述的主机接口与存储器接口。当可复写式非易失性存储器模块被给电时,存储器管理电路会取得距离可复写式非易失性存储器模块上一次断电的第一时间到目前被给电的第二时间之间的一断电时间。当断电时间大于第一时间临界值时,存储器管理电路用以根据每一个物理区块的区块信息来判断每一个物理区块是否符合更新条件。存储器管理电用以对符合更新条件的物理区块执行一更新程序。此更新程序是用以读取被执行更新程序的物理区块所储存的第一数据并将第一数据重新写入至物理区块的其中之一。
在一范例实施例中,上述的区块信息为抹除次数。存储器管理电路还用以判断抹除次数大于一抹除临界值的物理区块符合更新条件。
在一范例实施例中,当断电时间大于第二时间临界值时,存储器管理电路会判断所有的物理区块符合更新条件。
在一范例实施例中,上述的区块信息为错误更正码。每一个物理区块包括多个物理页面。而每一个物理页面包括数据位区以及冗余位区,冗余位区记录有上述的除错更正码。存储器管理电路会根据数据位区所储存的数据以及上述的错误更正码,判断每一个物理页面是否发生一可还原错误。此可还原错误表示数据位区所储存的数据发生错误,但可以根据错误更正码来更正数据位区所储存的数据。若发生可还原错误,存储器管理电路会判断发生可还原错误的物理页面所属的物理区块符合更新条件。
在一范例实施例中,当可复写式非易失性存储器模块被断电时,存储器管理电路会设定一计数器开始更新所记录的值。当可复写式非易失性存储器模块被给电时,存储器管理电路会根据计数器所记录的值以取得断电时间。
在一范例实施例中,当可复写式非易失性存储器模块被给电时,存储器管理电路会从一个断电时间计算单元取得上述的断电时间。
基于上述,本发明的范例实施例所提出的数据保护方法、存储器控制器与存储器储存装置,可以在存储器储存装置被重新供电以后,更新其中部分或全部的物理区块。如此一来,能持续地保存物理区块中所储存的数据,进而增加存储器储存装置的使用寿命。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
图1B是根据一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图。
图2是绘示图1A所示的存储器储存装置的概要方块图。
图3是根据一范例实施例所绘示的存储器控制器的概要方块图。
图4与图5是根据一范例实施例说明对一物理区块执行更新程序的范例示意图。
图6是根据一范例实施例说明利用错误更正码来判断数据是否发生错误的范例示意图。
图7是根据一范例实施例说明数据保护方法的流程图。
[主要元件标号说明]
1000:主机系统 1100:计算机
1102:微处理器 1104:随机存取存储器
1106:输入/输出装置 1108:系统总线
1110:数据传输接口 1202:鼠标
1204:键盘 1206:显示器
1208:打印机 1212:随身盘
1214:存储卡 1216:固态硬盘
1310:数字相机 1312:SD卡
1314:MMC卡 1316:存储棒
1318:CF卡 1320:嵌入式储存装置
100:存储器储存装置 102:连接器
104:存储器控制器 106:可复写式非易失性存储器模块
108:计数器 109:电池
110:断电时间计算单元 304(0)~304(R):物理区块
402:第一数据 602(0)~602(A):物理页面
604(0)~604(A):数据位区 606(0)~606(A):冗余位区
620:数据 640:错误更正码
S702、S704、S706、S708、S710、S712:数据保护方法的步骤
具体实施方式
一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
请参照图1A,主机系统1000一般包括计算机1100与输入/输出(input/out put,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(random access memory,RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其它装置。
在本发明实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其它元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身盘1212、存储卡1214或固态硬盘(Solid State Drive,SSD)1216等的可复写式非易失性存储器储存装置。
一般而言,主机系统1000为可实质地与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2是绘示图1A所示的存储器储存装置的概要方块图。
请参照图2,存储器储存装置100包括连接器102、存储器控制器104、可复写式非易失性存储器模块106、以及断电时间计算单元110。
在本范例实施例中,连接器102是相容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合并列先进附件(Parallel Advanced TechnologyAttachment,PATA)标准、电气和电子工程师协会(Institute of Electricaland Eletronic 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)接口标准、通用闪存(UniversalFlash Storage,UFS)接口标准、小型快闪(Compact Flash,CF)接口标准、集成式驱动电子接口(Integrated Device Elect ronics,IDE)标准或其它适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机系统1000所写入的数据。可复写式非易失性存储器模块106具有物理区块304(0)~304(R)。例如,物理区块304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理区块分别具有多个物理页面,并且每一物理页面具有至少一物理扇区,其中属于同一个物理区块的物理页面可被独立地写入且被同时地抹除。例如,每一物理区块是由128个物理页面所组成,并且每一物理页面具有8个物理扇区(sector)。也就是说,在每一物理扇区为512字节(byte)的例子中,每一物理页面的容量为4千字节(Kilobyte,KB)。然而,必须了解的是,本发明不限于此,每一物理区块是可由64个物理页面、256个物理页面或其它任意个物理页面所组成。
更详细来说,物理区块为抹除的最小单位。亦即,每一物理区块含有最小数目的一并被抹除的存储单元。物理页面为编程的最小单元。即,物理页面为写入数据的最小单元。然而,必须了解的是,在本发明另一范例实施例中,写入数据的最小单位亦可以是物理扇区或其它大小。每一物理页面通常包括数据位区与冗余位区。数据位区用以储存使用者的数据,而冗余位区用以储存系统的数据(例如,错误检查与校正码)。
在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(Multi Level Cell,MLC)NAND闪存模块,即一个存储单元中可储存至少2个位数据。然而,本发明不限于此,可复写式非易失性存储器模块106亦可是单阶存储单元(Single Level Cell,SLC)NAND闪存模块、多个阶存储单元(Trinary Level Cell,TLC)NAND型闪存模块、其它闪存模块或其它具有相同特性的存储器模块。
断电时间计算单元100是用提供存储器储存装置100被断电的时间。例如,断电时间计算单元110被实作为计数器108与电池109。计数器108是电性连接至存储器控制器104,其中记录有一个值。在计数器108被启动以后,计数器108会持续的更新所记录的值。例如,计数器108会在隔每一个时间单位后增加所记录的值。因此,计数器108所记录的值在经过计算以后也可以被用来表示一个时间区间。而电池109则是用以供应电源给计数器108。存储器控制器104可以通过启动计数器108以及读取计数器108等操作来取得存储器储存装置100被断电的时间。
图3是根据一范例实施例所绘示的存储器控制器的概要方块图。
请参照图3,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路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标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其它适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252、电源管理电路254与错误检查与校正电路256。
缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking andCorrecting Code,ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
当存储器储存装置100电性连接至主机系统1000时,主机系统1000会供应电源给存储器储存装置100中的各个元件(例如,存储器控制器104与可复写式非易失性存储器模块106)。相反地,存储器储存装置100与主机系统1000的电性连接关系被切断时,存储器储存装置100中的各个元件便会被断电。在本范例实施例中,存储器管理电路202会计算存储器储存装置100失去电源供应的一个断电时间。若此断电时间超过一个时间临界值,则会进一步的判断所有的物理区是否符合一个更新条件。并且,存储器管理电路202会对符合更新条件的物理区块执行一个更新程序,将物理区块所储存的数据重新写入。
具体来说,当存储器储存装置100被断电时(此时亦称第一时间),存储器管理电路202会启动计数器108。接下来,计数器108便会持续地更新其所记录的值。而在存储器储存装置100被断电的期间,由电池109供应电源给计数器108。因此,即使主机系统1000并没有供应电源给存储器储存装置100,计数器108还是可以正常的运作。
接下来,当存储器储存装置100重新被电性连接至主机系统1000(或是电性连接至另一个能提供电源的电子装置)时,存储器储存装置100及其中的各个元件都会被给电。此时(亦称为第二时间),存储器管理电路202会读取计数器108所记录的值,并根据计数器108所记录的值来计算一个断电时间,此断电时间表示从第一时间到第二时间经过了多久。换句话说,存储器管理电路202可以根据计数器108所记录的值来取得距离可复写式非易失性存储器模块106上一次被断电的第一时间到目前被给电的第二时间之间的断电时间。
存储器管理电路202会判断所计算出的断电时间是否超过一个时间临界值(亦称第一时间临界值)。若断电时间超过此时间临界值,存储器管理电路202会根据物理区块的区块信息(例如抹除次数,错误更正码或是读取次数)来判断判断物理区块304(0)~304(R)是否符合更新条件。若一个物理区块符合更新条件,则表示储存在此物理区块中的数据有容易遗失,或是容易发生错误的可能。在本范例实施例中,存储器管理电路202会对符合更新条件的物理区块执行更新程序。此更新程序是用以读取一个物理区块所储存的数据并将此数据重新写入至物理区块304(0)~304(R)的其中之一。
例如,存储器管理电路202会取得每一个物理区块的抹除次数。当存储器管理电路202判断断电时间超过第一时间临界值时,会判断抹除次数超过一个抹除临界值的物理区块满足更新条件。在本范例实施例中,第一时间临界值是被设定为1个月,而抹除临界值则为一个物理区块的抹除上限(例如,10万次)。然而,在其它范例实施例中,第一时间临界值与抹除临界值也可以被设定为其它的时间与次数,本发明并不在此限。
图4与图5是根据一范例实施例说明对一物理区块执行更新程序的范例示意图。
请参照图4,在此假设当存储器储存装置100重新被给电时,存储器管理电路202判断断电时间已超过第一时间临界值,且物理区块304(0)的抹除次数已超过抹除临界值。也就是说,物理区块304(0)会满足更新条件。此时,存储器管理电路202会读取储存在物理区块304(0)中的第一数据402至缓冲存储器252,并会对物理区块304(0)执行抹除指令。接下来,存储器管理电路202会将第一数据402重新写入至物理区块304(0)。如此一来,便完成对物理区块304(0)执行更新程序的操作。然而,存储器管理电路202也可以将第一数据402写入至其它的物理区块,本发明并不在此限。在另一范例实施例中,如图5所示,存储器管理电路202也会将第一数据402写入至物理区块304(1)当中。
此外,在另一范例实施例中,存储器管理电路202会先判断断电时间是否大于一个第二时间临界值,如断电时间没超过第二时间临界值时,再判断是否超过第一时间临界值。第二时间临界值会大于第一时间临界值。在本范例实施例中,第二时间临界值是被设定为1年,当断电时间大于第二时间临界值时,表示储存在物理区块304(0)~304(R)的数据已经很久没有被更新,容易遗失或发生错误。因此,在判断断电时间大于第二时间临界值时,存储器管理电路202会判断所有的物理区块304(0)~304(R)都符合更新条件。换言之,存储器管理电路202会对所有的物理区块304(0)~304(R)都执行更新程序。然而,在其它范例实施例中,第二时间临界值也可以被设定为其它的数值,本发明并不在此限。
另一方面,本范例实施例中是根据抹除次数来判断是否执行更新程序。然而,由于每一次的抹除都是为了让物理区块能够接受下一个写入操作。因此,在另一范例实施例中,也可以计算每一个物理区块的写入次数,并用写入次数来代替抹除次数,本发明并不在此限。
除了根据断电时间与抹除次数来判断一个物理区块是否符合更新条件以外,在另一范例实施例中,存储器管理电路202还会根据一个物理区块中所储存的数据是否发生错误来判断此物理区块是否符合更新条件。具体来说,每一个物理区块会包括多个物理页面,每个物理页面会包括一个数据位区与一个冗余位区。数据位区是用以储存使用者的数据,而冗余位区是用以储存系统的数据。例如,冗余位区可以储存一个错误更正码(error correctioncode,ECC),此错误更正码是对应到数据位区中的数据。存储器管理电路202可以根据冗余位区中的错误更正码来判断数据位区中的数据是否发生错误。
图6是根据一范例实施例说明利用错误更正码来判断数据是否发生错误的范例示意图。
请参照图6,物理区块304(0)中包括了物理页面602(0)~602(A)、数据位区604(0)~604(A)与冗余位区606(0)~606(A)。例如,物理页面602(0)包括了数据位区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(0)是属于物理页面304(0),因此存储器管理电路会判断物理区块304(0)符合更新条件并对物理区块304(0)执行更新程序。换言之,存储器管理电路202会判断发生可还原错误的物理页面所属的物理区块符合更新条件。
在本范例实施例中,断电时间计算单元110是被实作为计数器108与电池109。然而,在另一范例实施例中,断电时间计算单元110也可以被实作为一定时器(图未示)。此定时器可设置于主机系统1000或于存储器储存装置100,且此定时器可以一应用程序或一硬件电路的方式来实现。举例来说,当存储器储存装置100与主机系统1000之间的电性连接关系被切断以后(此时亦称第一时间),主机系统1000上的一个应用程序便会开始计时。等到下次存储器储存装置100重新电性连接至主机系统1000时(此时亦称第二时间),此应用程序便会识别存储器储存装置100,并计算出第一时间到第二时间之间的断电时间。接下来,应用程序会传送一个断电时间消息给存储器管理电路202,此断电时间消息便包含了所计算出的断电时间。因此,存储器管理电路202便可以根据此断电时间消息取得断电时间。
图7是根据一范例实施例说明数据保护方法的流程图。
请参照图7,在步骤S702中,当可复写式非易失性存储器模块被给电时,存储器管理电路202会取得距离可复写式非易失性存储器模块上一次断电的第一时间到目前被给电的第二时间之间的断电时间。
在步骤S704中,存储器管理电路202会判断断电时间是否大于第二时间临界值。
若断电时间大于第二时间临界值,在步骤S706中,存储器管理电路202会判断所有的物理区块都符合更新条件。
若断电时间并不大于第二时间临界值,在步骤S708中,存储器管理电路202会判断电时间是否大于第一时间临界值。
若断电时间大于第一时间临界值,在步骤S710中,存储器管理电路202会根据每一个物理区块的区块信息来判断物理区块是否符合更新条件。相反的,若断电时间并不大于第一时间临界值,则存储器管理电路202会结束此流程。
在步骤S721中,存储器管理电路202会对符合更新条件的物理区块执行更新程序。
然而,图7中各步骤已详细说明如上,在此便不再赘述。
综上所述,本发明范例实施例所提出的数据保护方法、存储器控制器与存储器储存装置,可以在存储器储存装置重新被给电的时候得到一个断电时间。并且,会根据断电时间的大小、物理区块的抹除次数或是否发生可还原错误来决定是否要对物理区块执行更新程序。如此一来,物理区块中所储存的数据会在存储器储存装置被给电时被重新写入。藉此,可以保护物理区块中所储存的数据不会容易遗失,进一步地增加可复写式非易失性存储器的使用寿命。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。
Claims (18)
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所述的存储器控制器,其中当该可复写式非易失性存储器模块被给电时,该存储器管理电路还用以通过一断电时间计算单元取得该断电时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210212251.7A CN103514103B (zh) | 2012-06-21 | 2012-06-21 | 数据保护方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210212251.7A CN103514103B (zh) | 2012-06-21 | 2012-06-21 | 数据保护方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103514103A CN103514103A (zh) | 2014-01-15 |
CN103514103B true CN103514103B (zh) | 2016-09-28 |
Family
ID=49896858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210212251.7A Active CN103514103B (zh) | 2012-06-21 | 2012-06-21 | 数据保护方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514103B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809082B (zh) * | 2014-01-29 | 2018-02-02 | 群联电子股份有限公司 | 数据保护方法、存储器存储装置及存储器控制电路单元 |
CN106484308B (zh) * | 2015-08-26 | 2019-08-06 | 群联电子股份有限公司 | 数据保护方法、存储器控制电路单元及存储器储存装置 |
TWI621129B (zh) * | 2016-10-25 | 2018-04-11 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料寫入方法 |
CN108108273B (zh) * | 2016-11-25 | 2021-02-26 | 技嘉科技股份有限公司 | 主机板及其电脑系统 |
CN108630280A (zh) * | 2017-03-16 | 2018-10-09 | 宇瞻科技股份有限公司 | 在非挥发性储存装置上提升数据耐久性的控制方法 |
TWI670601B (zh) * | 2018-07-30 | 2019-09-01 | 慧榮科技股份有限公司 | 斷電保護方法及系統 |
CN111026676B (zh) * | 2019-12-27 | 2023-08-01 | 中煤科工集团重庆研究院有限公司 | 利用存储单元地址携带时间信息的存储方法及存储系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1136207A (zh) * | 1995-01-05 | 1996-11-20 | 株式会社东芝 | 半导体存储器 |
CN101615427A (zh) * | 2008-06-24 | 2009-12-30 | 群联电子股份有限公司 | 非易失性存储器的存储器管理方法及使用此方法的控制器 |
CN102004707A (zh) * | 2010-11-15 | 2011-04-06 | 记忆科技(深圳)有限公司 | 一种固态硬盘掉电保护的方法及其装置 |
CN102157202A (zh) * | 2008-01-22 | 2011-08-17 | 群联电子股份有限公司 | 防止非易失性存储器发生读取干扰的方法及其控制器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012063884A (ja) * | 2010-09-14 | 2012-03-29 | Toshiba Corp | 記憶装置、電子機器、および記憶装置の制御方法 |
-
2012
- 2012-06-21 CN CN201210212251.7A patent/CN103514103B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1136207A (zh) * | 1995-01-05 | 1996-11-20 | 株式会社东芝 | 半导体存储器 |
CN102157202A (zh) * | 2008-01-22 | 2011-08-17 | 群联电子股份有限公司 | 防止非易失性存储器发生读取干扰的方法及其控制器 |
CN101615427A (zh) * | 2008-06-24 | 2009-12-30 | 群联电子股份有限公司 | 非易失性存储器的存储器管理方法及使用此方法的控制器 |
CN102004707A (zh) * | 2010-11-15 | 2011-04-06 | 记忆科技(深圳)有限公司 | 一种固态硬盘掉电保护的方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103514103A (zh) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI467376B (zh) | 資料保護方法、記憶體控制器與記憶體儲存裝置 | |
TWI524183B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN103514103B (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
TWI490871B (zh) | 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI479314B (zh) | 系統資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI545572B (zh) | 記憶胞程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN103514096B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN105320464B (zh) | 防止读取干扰的方法、存储器控制电路单元与存储装置 | |
TWI591482B (zh) | 資料保護方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI486765B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
CN104765695A (zh) | 一种nand flash坏块管理系统及方法 | |
TW201348960A (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
CN106445401B (zh) | 表格更新方法、存储器储存装置及存储器控制电路单元 | |
CN104793891A (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN103593296B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
TW201734812A (zh) | 紀錄資料區塊的使用時間的方法及其裝置 | |
TWI509615B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
CN107045890B (zh) | 数据保护方法、存储器控制电路单元及存储器存储装置 | |
CN103678162B (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
CN102567221B (zh) | 数据管理方法、存储器控制器与存储器储存装置 | |
CN106484308B (zh) | 数据保护方法、存储器控制电路单元及存储器储存装置 | |
CN103513930A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN104252600B (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
TWI550625B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN103488579B (zh) | 存储器管理方法、存储器控制器与存储器储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |