数据保护方法、存储器控制电路单元及存储器储存装置与流程

文档序号:12176237阅读:148来源:国知局
本发明涉及一种数据保护方法,尤其涉及用于可复写式非易失性存储器的数据保护方法、存储器控制电路单元及存储器储存装置。
背景技术
::数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,因此,近年可复写式非易失性存储器产业成为电子产业中相当热门的一环。例如,以快闪存储器作为储存媒体的固态硬盘(Solid-statedrive)已广泛应用作为电脑主机的硬盘,以提升电脑的存取效能。可复写式非易失性存储器模块通常包括多个物理抹除单元。储存于物理抹除单元中的数据,在经过多次存取或经过长时间闲置之后,可能会遗失或者出现错误比特的状况,因此存储器储存装置通常会每隔一段时间就对可复写式非易失性存储器模块的物理抹除单元执行刷新操作,以确保数据的正确性。但由于目前的存储器储存装置无法得知从上次断电到这次上电所历经的断电时间长短,因此无法准确地根据时间来判断是否需执行刷新操作。如何获取从上次断电到这次上电所历经的断电时间,以准确地判断何时该执行刷新操作,是此领域技术人员所致力的目标。技术实现要素:本发明提供一种数据保护方法、存储器控制电路单元及存储器储存装置,其能够准确地判断存储器储存装置的断电时间。本发明的一范例实施例提供一种用于存储器储存装置的数据保护方法。此存储器储存装置具有可复写式非易失性存储器模块,可复写式非易失性存储器模块具有多个物理抹除单元。本数据保护方法包括当存储器储存装置上电时,从与存储器储存装置电性连接的主机系统中取得目前系统时间作为开机时间,所述的目前系统时间是通过主机系统的基本输入输出系统载入与执行存储器储存装置的扩充只读存储器中的指令程序而传送至存储器储存装置;获取对应存储器储存装置的关机时间;计算关机时间到开机时间之间的断电时间;倘若断电时间大于断电时间门槛值,对所述多个物理抹除单元执行刷新操作。在本发明的一范例实施例中,上述的数据保护方法还包括倘若断电时间不大于断电时间门槛值,获取先前所记录的总断电时间,并且计算断电时间与总断电时间的总和;倘若断电时间与总断电时间的总和大于断电时间门槛值,则对所述多个物理抹除单元执行刷新操作;此外,在对所述多个物理抹除单元执行刷新操作之后,重置总断电时间。在本发明的一范例实施例中,上述的数据保护方法还包括倘若断电时间与总断电时间的总和不大于断电时间门槛值,则以断电时间与总断电时间的总和来更新总断电时间,并且将 更新的总断电时间储存在所述多个物理抹除单元之中的至少一个物理抹除单元中。在本发明的一范例实施例中,上述的数据保护方法还包括在对所述多个物理抹除单元执行刷新操作之后,持续记录刷新操作间隔时间;并且倘若刷新操作间隔时间大于间隔时间门槛值,对所述多个物理抹除单元执行刷新操作。在本发明的一范例实施例中,上述对所述多个物理抹除单元执行刷新操作的步骤包括检查与计算储存在所述多个物理抹除单元之中的第一物理抹除单元中的有效数据的错误比特的数目;并且倘若第一物理抹除单元中的有效数据的错误比特的数目大于预设错误比特数门槛值时,将第一物理抹除单元的有效数据复制到所述多个物理抹除单元之中的第二物理抹除单元;此外,倘若第一物理抹除单元中的有效数据的错误比特的数目不大于预设错误比特数门槛值时,则不将第一物理抹除单元的有效数据复制到所述多个物理抹除单元之中的第二物理抹除单元。在本发明的一范例实施例中,所述多个物理抹除单元属于可复写式非易失性存储器模块的系统区。在本发明的一范例实施例中,上述的数据保护方法还包括在可复写式非易失性存储器模块的其中一个物理抹除单元中记录关机时间,所述的关机时间是在存储器储存装置断电前被记录。在本发明的一范例实施例中,上述获取对应该存储器储存装置的该关机时间的步骤包括当存储器储存装置上电时,从可复写式非易失性存储器模块的其中一个物理抹除单元中读取关机时间。本发明的一范例实施例提供一种配置于存储器储存装置的存储器控制电路单元,用于控制存储器储存装置的可复写式非易失性存储器模块,可复写式非易失性存储器模块具有多个物理抹除单元。存储器控制电路单元包括主机接口、存储器接口与存储器管理电路。主机接口电性连接至主机系统,存储器接口电性连接至可复写式非易失性存储器模块,存储器管理电路电性连接至主机接口与存储器接口。当存储器储存装置上电时,存储器管理电路从主机系统中取得目前系统时间作为开机时间,所述的目前系统时间是通过主机系统的基本输入输出系统载入与执行存储器储存装置的扩充只读存储器中的指令程序而传送至存储器储存装置。再者,存储器管理电路获取对应存储器储存装置的关机时间,并且计算关机时间到开机时间之间的断电时间。倘若断电时间大于断电时间门槛值,存储器管理电路则对所述多个物理抹除单元执行刷新操作。在本发明的一范例实施例中,倘若断电时间不大于断电时间门槛值,存储器管理电路获取先前所记录的总断电时间,并且计算断电时间与总断电时间的总和。倘若断电时间与总断电时间的总和大于断电时间门槛值,存储器管理电路则对所述多个物理抹除单元执行刷新操作。此外,在对所述多个物理抹除单元执行刷新操作之后,存储器管理电路重置总断电时间。在本发明的一范例实施例中,倘若断电时间与总断电时间的总和不大于断电时间门槛值,存储器管理电路以断电时间与总断电时间的总和来更新总断电时间,并且将更新的总断电时间储存在所述多个物理抹除单元之中的至少一个物理抹除单元中。在本发明的一范例实施例中,存储器管理电路在对所述多个物理抹除单元执行刷新操作之后,持续记录刷新操作间隔时间。并且,倘若刷新操作间隔时间大于间隔时间门槛值,存储器管理电路对所述多个物理抹除单元执行刷新操作。在本发明的一范例实施例中,存储器控制电路单元还包括电性连接至存储器管理电路的错误检查与校正电路。而存储器管理电路还下达读取指令序列来读取储存在所述多个物理抹除单元之中的第一物理抹除单元中的有效数据,并由错误检查与校正电路检查第一物理抹除单元中的有效数据。再者,存储器控制电路单元还计算第一物理抹除单元中的有效数据的错误比特的数目。并且,倘若第一物理抹除单元中的有效数据的错误比特的数目大于预设错误比特数门槛值时,存储器管理电路还将第一物理抹除单元的有效数据复制到所述多个物理抹除单元之中的第二物理抹除单元。此外,倘若第一物理抹除单元中的有效数据的错误比特的数目不大于预设错误比特数门槛值时,存储器管理电路则不将第一物理抹除单元的有效数据复制到所述多个物理抹除单元之中的第二物理抹除单元。在本发明的一范例实施例中,所述多个物理抹除单元属于可复写式非易失性存储器模块的系统区。在本发明的一范例实施例中,存储器管理电路还在可复写式非易失性存储器模块的其中一个物理抹除单元中记录关机时间,所述的关机时间是在存储器储存装置断电前被记录。在本发明的一范例实施例中,当存储器储存装置上电时,存储器管理电路从可复写式非易失性存储器模块的其中一个物理抹除单元中读取关机时间。本发明的一范例实施例提出一种存储器储存装置,其包括连接接口单元、可复写式非易失性存储器模块与上述存储器控制电路单元。连接接口单元电性连接至主机系统。可复写式非易失性存储器模块具有多个物理抹除单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块。基于上述,本发明范例实施例所提供的数据保护方法、存储器控制电路单元及存储器储存装置,能够准确地判断断电时间以执行刷新操作,避免数据遗失或发生错误,达到数据保护的效果。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明图1是根据一范例实施例所示出的主机系统与存储器储存装置的示意图;图2是根据一范例实施例所示出的电脑、输入/输出装置与存储器储存装置的示意图;图3是根据一范例实施例所示出的存储器储存装置的概要方块图;图4是根据一范例实施例所示出的存储器控制电路单元的概要方块图;图5与图6是根据一范例实施例所示出的管理物理抹除单元的范例示意图;图7是根据一范例实施例所示出的检查及计算物理抹除单元中的有效数据的错误比特的数目的示意图;图8是根据一范例实施例所示出的数据保护方法的流程图;图9是根据另一范例实施例所示出的数据保护方法的流程图。附图标记说明:10:存储器储存装置;11:主机系统;12:电脑;13:输入/输出装置;122:微处理器;124:随机存取存储器(RAM);126:系统总线;128:数据传输接口;21:鼠标;22:键盘;23:显示器;24:打印机;25:固态硬盘;402:连接接口单元;404:存储器控制电路单元;406:可复写式非易失性存储器模块;410(0)~410(N):物理抹除单元;502:存储器管理电路;504:主机接口;506:存储器接口;508:缓冲存储器;510:电源管理电路;512:错误检查与校正电路;602:数据区;604:闲置区;606:系统区;608:取代区;LBA(0)~LBA(H):逻辑单元;LZ(0)~LZ(M):逻辑区域;PBA(0):物理抹除单元;PBA(0-0)~PBA(0-K):物理程序化单元;S801、S803、S805、S807、S809、S901、S903、S905、S907:步骤。具体实施方式一般而言,存储器储存装置(也称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。图1是根据一范例实施例所示出的主机系统与存储器储存装置的示意图,且图2是根据一范例实施例所示出的电脑、输入/输出装置与存储器储存装置的示意图。请参照图1,主机系统11一般包括电脑12与输入/输出(input/output,简称:I/O)装置13。电脑12包括微处理器122、随机存取存储器(randomaccessmemory,简称:RAM)124、系统总线126与数据传输接口128。输入/输出装置13包括如图2的鼠标21、键盘22、显示 器23与打印机24。必须了解的是,图2所示的装置非限制输入/输出装置13,输入/输出装置13可还包括其他装置。在本范例实施例中,存储器储存装置10是通过数据传输接口128与主机系统11的其他元件电性连接。通过微处理器122、随机存取存储器124与输入/输出装置13的运作可将数据写入至存储器储存装置10或从存储器储存装置10中读取数据。例如,存储器储存装置10可以是如图2所示的固态硬盘(SolidStateDrive,简称:SSD)25。图3是根据一范例实施例所示出的存储器储存装置的概要方块图。请参照图3,存储器储存装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。在本范例实施例中,连接接口单元402是相容于高速外设部件连接接口(PeripheralComponentInterconnectExpress,简称:PCIExpress)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合外设部件连接接口(PeripheralComponentInterconnect,简称:PCI)标准或工业标准架构(InstructionSetArchitecture,简称:ISA)标准。存储器控制电路单元404用以执行以硬件型式或固件型式实现的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等操作。可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404,并且用以储存主机系统11所写入的数据。可复写式非易失性存储器模块406具有物理抹除单元410(0)~410(N)。例如,物理抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理抹除单元分别具有多个物理程序化单元,其中属于同一个物理抹除单元的物理程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一物理抹除单元是可由64个物理程序化单元、256个物理程序化单元或其他任意个物理程序化单元所组成。更详细来说,物理抹除单元为抹除的最小单位。也就是,每一物理抹除单元含有最小数目的一并被抹除的存储单元。物理程序化单元为程序的最小单元。即,物理程序化单元为写入数据的最小单元。每一物理程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个物理存取地址用以储存使用者的数据,而冗余比特区用以储存系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个物理程序化单元的数据比特区中会包含8个物理存取地址,且一个物理存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的物理存取地址,本发明并不限制物理存取地址的大小以及个数。例如,在一范例实施例中,物理抹除单元为物理区块,并且物理程序化单元为物理页面或物理扇区,但本发明不以此为限。在本范例实施例中,可复写式非易失性存储器模块406为单阶存储单元(SingleLevelCell,简称:SLC)NAND型快闪存储器模块(即,一个存储单元中可储存1个数据比特的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块406也可是多阶存储单元(MultiLevelCell,简称:MLC)NAND型快闪存储器模块(即,一个存储单元中可储存2个数据比特的快闪存储器模块)、多阶存储单元(TrinaryLevelCell,简称:TLC)NAND型快闪存储器模块(即,一个存储单元中可储存3个数据比特的快闪存储器模块)、其他快闪 存储器模块或其他具有相同特性的存储器模块。图4是根据一范例实施例所示出的存储器控制电路单元的概要方块图。请参照图4,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512。存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器储存装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等操作。在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等操作。图5与图6是根据一范例实施例所示出的管理物理抹除单元的范例示意图。必须了解的是,在此描述可复写式非易失性存储器模块106的物理抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作物理抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块的物理抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的物理抹除单元进行操作。请参照图5,存储器控制电路单元404(或存储器管理电路502)会将物理抹除单元410(0)~410(N)逻辑地分组为数据区602、闲置区604、系统区606与取代区608。逻辑上属于数据区602与闲置区604的物理抹除单元是用以储存来自于主机系统11的数据。具体来说,数据区602的物理抹除单元是被视为已储存数据的物理抹除单元,而闲置区604的物理抹除单元是用以替换数据区602的物理抹除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器管理电路502会从闲置区604中提取物理抹除单元,并且将数据写入至所提取的物理抹除单元中,以替换数据区602的物理抹除单元。逻辑上属于系统区606的物理抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的物理抹除单元数、每一物理抹除单元的物理程序化单元数等。逻辑上属于取代区608中的物理抹除单元是用于坏物理抹除单元取代程序,以取代损坏的物理抹除单元。具体来说,倘若取代区608中仍存有正常的物理抹除单元并且数据区602的物理抹除单元损坏时,存储器管理电路502会从取代区608中提取正常的物理抹除单元来更换损坏的物理抹除单元。特别是,数据区602、闲置区604、系统区606与取代区608的物理抹除单元的数量会根据不同的存储器规格而有所不同。此外,必须了解的是,在存储器储存装置10的运作中,物理抹除单元关联至数据区602、闲置区604、系统区606与取代区608的分组关系会动态地变动。例如,当闲置区604中的物理抹除单元损坏而被取代区608的物理抹除单元取代时,则原本取代区608的物理抹除单元会被关联至闲置区604。请参照图6,存储器控制电路单元404(或存储器管理电路502)会配置逻辑单元LBA(0)~LBA(H)以映射数据区602的物理抹除单元,其中每一逻辑单元具有多个逻辑子单元以映射对应的物理抹除单元的物理程序化单元。并且,当主机系统11欲写入数据至逻辑单元或更新储存于逻辑单元中的数据时,存储器控制电路单元404(或存储器管理电路502)会从闲 置区604中提取一个物理抹除单元来写入数据,以轮替数据区602的物理抹除单元。在本范例实施例中,逻辑子单元可以是逻辑页面或逻辑扇区。为了识别每个逻辑单元的数据被储存在哪个物理抹除单元,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会记录逻辑单元与物理抹除单元之间的映射。并且,当主机系统11欲在逻辑子单元中存取数据时,存储器控制电路单元404(或存储器管理电路502)会确认此逻辑子单元所属的逻辑单元,并且在此逻辑单元所映射的物理抹除单元中来存取数据。例如,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会在可复写式非易失性存储器模块406中储存逻辑地址-物理地址映射表来记录每一逻辑单元所映射的物理抹除单元,并且当欲存取数据时存储器控制电路单元404(或存储器管理电路502)会将逻辑地址-物理地址映射表载入至缓冲存储器508来维护。值得一提的是,由于缓冲存储器508的容量有限无法储存记录所有逻辑单元的映射关系的映射表,因此,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会将逻辑单元LBA(0)~LBA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑地址-物理地址映射表。特别是,当存储器控制电路单元404(或存储器管理电路502)欲更新某个逻辑单元的映射时,对应此逻辑单元所属的逻辑区域的逻辑地址-物理地址映射表会被载入至缓冲存储器508来被更新。在本发明另一范例实施例中,存储器管理电路502的控制指令也可以程序型式储存于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等操作。此外,在本发明另一范例实施例中,存储器管理电路502的控制指令也可以一硬件型式来实现。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块406的物理抹除单元;存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。请再参照图4,主机接口504是电性连接至存储器管理电路502并且用以电性连接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于PCIExpress标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PCI标准、ISA标准或其他适合的数据传输标准。存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。缓冲存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器储存装置10的电源。错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(ErrorCheckingandCorrectingCode,简称:ECCCode),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。当主机系统11开机时,会供应电源给电性连接于主机系统11的存储器储存装置10,使存储器储存装置10上电(electrify)。而主机系统11在开机时会通过本身的基本输入输出系统(BasicInput/OutputSystem,简称:BIOS)扫描存储器储存装置10的扩充只读存储器(ExpansionROM),以读取扩充只读存储器中所储存的指令程序,进而将指令程序载入及执行。在本范例实施例中,可复写式非易失性存储器模块406的部分储存空间会被划分出作为扩充只读存储器。然而必须了解的是,本发明不限于此,在另一范例实施例中,存储器储存装置10中可配置其他存储器模块作为扩充只读存储器。扩充只读存储器中所储存的指令程序可包括请求主机系统回传本身的目前系统时间的指令程序。基此,当主机系统11开机而使存储器储存装置10上电时,主机系统11会通过基本输入输出系统载入并执行扩充只读存储器中的指令程序,由此将主机系统11的目前系统时间传送至存储器储存装置10。存储器储存装置10可将从主机系统11所接收的目前系统时间作为开机时间,并储存于可复写式非易失性存储器模块406的物理抹除单元中(例如,系统区606的物理抹除单元)。相对地,当存储器储存装置10与主机系统11之间的电性连接关系消失,或主机系统关机后,供应给存储器储存装置10的电源会被切断,而使存储器储存装置10断电。一般而言,存储器储存装置10在断电前,通常会执行数据储存操作。基此,当存储器储存装置10上电后,存储器控制电路单元404(或存储器管理电路502)即可从所储存的数据中获取断电前储存数据的时间作为关机时间。在本范例实施例中,存储器储存装置10会在断电前将数据储存至可复写式非易失性存储器模块406的其中一个物理抹除单元中,而当存储器储存装置10上电时,即可从此物理抹除单元所储存的数据中获取断电前储存数据的时间作为关机时间。举例而言,存储器储存装置10在断电前将记录逻辑单元与物理抹除单元之间映射关系的逻辑地址-物理地址映射表,从缓冲存储器508中回存至可复写式非易失性存储器模块406的物理抹除单元中,而此逻辑地址-物理地址映射表会记录有回存的时间。之后,当存储器储存装置10于断电后再次上电时,即可通过断电前所储存在逻辑地址-物理地址映射表中的数据获取关机时间。通过储存在逻辑地 址-物理地址映射表中的数据获取关机时间仅为其中一个实施例,然而,在其他范例实施例中,也可从其他在断电前被储存的数据获取关机时间,本发明并不限制从何处获取关机数据。如上所述,当存储器储存装置10上电后,存储器控制电路单元404(或存储器管理电路502)可以通过主机系统11取得对应这次上电的开机时间,并可通过已储存的数据取得对应上次断电的关机时间,进而计算出关机时间到开机时间之间的断电时间(即未上电时间)。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会进一步判断所计算出的断电时间是否大于断电时间门槛值。在此,断电时间门槛值可根据可复写式非易失性存储器模块406的类型设定为特定时间,例如三个月或一年,或是可根据实际使用上的需求另外设定,本发明并不加以限制。特别是,倘若所计算出的断电时间大于断电时间门槛值,则表示存储器储存装置10已经长时间未被使用,可复写式非易失性存储器模块406中所储存的数据可能会遗失或者出现错误比特的情况。此时,存储器控制电路单元404(或存储器管理电路502)会针对可复写式非易失性存储器模块406的物理抹除单元执行刷新操作(refreshoperation)。倘若所计算出的断电时间不大于断电时间门槛值,存储器控制电路单元404(或存储器管理电路502)会根据断电时间计算存储器储存装置10的总断电时间。具体而言,存储器控制电路单元404(或存储器管理电路502)会将不大于断电时间门槛值的断电时间加总以计算出存储器储存装置10的总断电时间。也就是说,存储器控制电路单元404(或存储器管理电路502)会获取先前所记录的总断电时间,并计算断电时间与总断电时间的总和。倘若断电时间与先前所记录的总断电时间的总和不大于断电时间门槛值,则将总断电时间更新为断电时间与先前所记录的总断电时间的总和。在本范例实施例中,总断电时间可储存在可复写式非易失性存储器模块406的其中一个物理抹除单元中。举例而言,可将总断电时间储存在可复写式非易失性存储器模块406的系统区606的物理抹除单元中。另一方面,倘若此断电时间与先前所记录的总断电时间的总和大于断电时间门槛值,存储器控制电路单元404(或存储器管理电路502)会针对可复写式非易失性存储器模块406的物理抹除单元执行刷新操作。具体而言,存储器控制电路单元404(或存储器管理电路502)会针对可复写式非易失性存储器模块406中,已储存有效数据的物理抹除单元执行刷新操作。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会于刷新操作完成后,重置总断电时间(例如,将总断电时间重置为0)。举例而言,存储器控制电路单元404(或存储器管理电路502)可于断电时间大于断电时间门槛值或总断电时间大于断电时间门槛值时,在执行刷新操作之后重置总断电时间。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)是同时使用了断电时间及总断电时间来判断是否执行刷新操作。在另一范例实施例中,存储器控制电路单元404(或存储器管理电路502)也可仅根据每次上电时所计算的断电时间来判断是否执行刷新操作,而不计算总断电时间。除了根据断电时间或总断电时间来判断是否执行刷新操作之外,存储器控制电路单元404(或存储器管理电路502)会在执行刷新操作之后持续记录刷新操作间隔时间。且当刷新操作间隔时间大于间隔时间门槛值时,执行刷新操作。刷新操作间隔时间是指完成本次刷新操作至执行下次刷新操作之间的间隔时间。而间隔时间门槛值则可根据可复写式非易失性存储器模块406的类型设定为特定时间,例如一周,或是根据实际使用上的需求另外设定,本发明 并不加以限制。此外,刷新操作间隔时间也可储存在可复写式非易失性存储器模块406的系统区606的物理抹除单元中。以下将说明如何对可复写式非易失性存储器模块406的物理抹除单元410(0)~410(N)执行刷新操作。具体而言,存储器控制电路单元404(或存储器管理电路502)会下达读取指令序列来读取各物理抹除单元410(0)~410(N)中的有效数据,且利用错误检查与校正码检查各物理抹除单元410(0)~410(N)中的有效数据,以计算有效数据的错误比特的数目。倘若物理抹除单元中的有效数据的错误比特的数目大于预设错误比特数门槛值时,存储器控制电路单元404(或存储器管理电路502)会将有效数据复制到空的物理抹除单元中。而在将有效数据复制到空的物理抹除单元之后,存储器控制电路单元404(或存储器管理电路502)会更新逻辑地址-物理地址映射表,以将被复制的有效数据所属的逻辑单元重新映射到新的物理抹除单元。更详细地来说,存储器控制电路单元404(或存储器管理电路502)会利用错误检查与校正码对所读取的具有错误比特的有效数据进行校正,再将校正后的有效数据复制到空的物理抹除单元,以完成刷新操作。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)可以从闲置区604中提取一个空的物理抹除单元来将校正后的有效数据复制到此空的物理抹除单元中。而在另一范例实施例中,存储器控制电路单元404(或存储器管理电路502)可以将校正后的有效数据暂存在缓冲存储器508中,并对欲储存此有效数据的物理抹除单元执行抹除程序,再将缓冲存储器508中校正后的有效数据程序到此抹除完成的物理抹除单元中。图7是根据一范例实施例所示出的检查及计算物理抹除单元中的有效数据的错误比特的数目的示意图。请参照图7,物理抹除单元PBA(0)中包括多个物理程序化单元PBA(0-0)~PBA(0-K),每个物理程序化单元包括数据比特区及冗余比特区。数据比特区是用以储存有效数据,冗余比特区则用以储存对应有效数据的错误检查与校正码。当存储器控制电路单元404(或存储器管理电路502)对物理抹除单元PBA(0)执行刷新操作时,存储器控制电路单元404(或存储器管理电路502)会下达读取指令序列依序读取物理程序化单元PBA(0-0)~PBA(0-K)的有效数据及对应的错误检查与校正码,并由错误检查与校正电路512利用错误检查与校正码来检查有效数据是否有错误,以计算有效数据的错误比特的数目。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)可以在检查出物理抹除单元PBA(0)中至少存在特定数量的物理程序化单元所储存的有效数据的错误比特的数目大于预设错误比特数门槛值时,即判断需将物理抹除单元PBA(0)的有效数据复制到另一个物理抹除单元中。相对地,若没有检查出物理抹除单元PBA(0)中至少存在特定数量的物理程序化单元所储存的有效数据的错误比特的数目大于预设错误比特数门槛值时,也就是说,在物理抹除单元PBA(0)中,储存的有效数据的错误比特的数目大于预设错误比特数门槛值的物理程序化单元的数量小于特定数量,则判断不需将物理抹除单元PBA(0)的有效数据复制到另一个物理抹除单元中。此特定数量可为大于或等于1的数量。举例而言,预设在检查出存在至少1个物理程序化单元所储存的有效数据的错误比特的数目大于预设错误比特数门槛值时,即判断需将物理抹除单元的有效数据复制到另一个物理抹除单元(即第二物理抹除单元)中。因此,当依序检查到物理程序化单元PBA(0-3)并发现所储存的有效数据的错误比特的数目大于预设错误比特数门槛值时,即判断需将储存于物理抹除单元PBA(0)的有效数据复制到另一个 物理抹除单元中。相对地,当依序检查完所有的物理程序化单元PBA(0-0)~PBA(0-K)后,未发现所储存的有效数据的错误比特的数目大于预设错误比特数门槛值的物理程序化单元时,也就是说,物理抹除单元PBA(0)中的每一个物理程序化单元所储存的有效数据的错误比特的数目皆不大于预设错误比特数门槛值,则判断不需将储存于物理抹除单元PBA(0)的有效数据复制到另一个物理抹除单元(即第二物理抹除单元)中。然而,在另一实施例中,存储器控制电路单元404(或存储器管理电路502)也可以在检查完物理抹除单元PBA(0)中所有的物理程序化单元PBA(0-0)~PBA(0-K)所储存的有效数据后,计算所有发生错误的有效数据的错误比特的数目的平均值。倘若此平均值大于预设错误比特数门槛值时,判断需将物理抹除单元PBA(0)的有效数据复制到另一个物理抹除单元中。相对地,倘若此平均值不大于预设错误比特数门槛值时,则判断不需将物理抹除单元PBA(0)的有效数据复制到另一个物理抹除单元(即第二物理抹除单元)中。举例而言,存储器控制电路单元404(或存储器管理电路502)检查完物理抹除单元PBA(0)中所有的物理程序化单元PBA(0-0)~PBA(0-K)所储存的有效数据,并发现物理程序化单元PBA(0-3)、PBA(0-8)及PBA(0-9)所储存的有效数据发生错误。因此,存储器控制电路单元404(或存储器管理电路502)会计算物理程序化单元PBA(0-3)、PBA(0-8)及PBA(0-9)所储存的有效数据的错误比特的数目的平均值。倘若此平均值大于预设错误比特数门槛值,判断需将物理抹除单元PBA(0)的有效数据复制到另一个物理抹除单元中。相对地,倘若此平均值不大于预设错误比特数门槛值,则不需将物理抹除单元PBA(0)的有效数据复制到另一个物理抹除单元(即第二物理抹除单元)中。在本范例实施例中,预设错误比特数门槛值可设定为小于错误检查与校正码可校正的错误比特数的上限值。举例而言,错误检查与校正码可校正的错误比特数的上限值为40个比特数,也就是说,错误检查与校正码最多可校正40个错误比特,则预设错误比特数门槛值便可设定为35个比特数,以避免因有效数据的错误比特的数目超过错误检查与校正码可校正的错误比特数的上限值而造成读取失败的情况。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会针对可复写式非易失性存储器模块406中所有已储存有效数据的物理抹除单元执行刷新操作。然而,在本发明的另一实施例中,存储器控制电路单元404(或存储器管理电路502)可仅针对可复写式非易失性存储器模块406中所有已储存有效数据的物理抹除单元之中的部分物理抹除单元执行刷新操作,本发明不加以限制。举例而言,存储器控制电路单元404(或存储器管理电路502)可同时针对数据区602及系统区606中的物理抹除单元执行刷新操作,或者,也可仅针对数据区602或系统区606中的物理抹除单元执行刷新操作。图8是根据一范例实施例所示出的数据保护方法的流程图。请参照图8,在步骤S801中,当存储器储存装置10上电时,存储器控制电路单元404(或存储器管理电路502)从与存储器装置10电性连接的主机系统11中取得目前系统时间作为开机时间。在本范例实施例中,是通过主机系统11的基本输入输出系统载入与执行存储器储存装置10的扩充只读存储器的指令程序,并由主机系统11将目前系统时间传送至存储器储存装置10。在步骤S803中,存储器控制电路单元404(或存储器管理电路502)获取对应存储器储存装置10的关机时间。在本范例实施例中,此关机时间是存储器储存装置10上次断电前被记录在逻辑地址-物理地址映射表中。基此,存储器储存装置10上电时,可从逻辑地址-物理 地址映射表中获取此关机时间。在步骤S805中,存储器控制电路单元404(或存储器管理电路502)计算关机时间到开机时间之间的断电时间。在步骤S807中,存储器控制电路单元404(或存储器管理电路502)判断断电时间是否大于断电时间门槛值。倘若断电时间大于断电时间门槛值,在步骤S809中,存储器控制电路单元404(或存储器管理电路502)对存储器储存装置10的可复写式非易失性存储器模块406的物理抹除单元执行刷新操作。图9是根据另一范例实施例所示出的数据保护方法的流程图。请参照图9,其中,步骤S801~S809与图8的步骤相同,在此不再赘述。以下将针对与图8的范例实施例不同之处进行说明。在本范例实施例的步骤S807中,存储器控制电路单元404(或存储器管理电路502)判断断电时间是否大于断电时间门槛值。倘若存储器储存装置10的断电时间不大于断电时间门槛值,在步骤S901中,存储器控制电路单元404(或存储器管理电路502)获取先前所记录的总断电时间并且计算断电时间与总断电时间的总和。在步骤S903中,存储器控制电路单元404(或存储器管理电路502)判断断电时间与总断电时间的总和是否大于断电时间门槛值。倘若断电时间与总断电时间的总和大于断电时间门槛值,则进行步骤S809,存储器控制电路单元404(或存储器管理电路502)对存储器储存装置10的可复写式非易失性存储器模块406的物理抹除单元410(0)~410(N)执行刷新操作。且在执行刷新操作之后,在步骤S905中,存储器控制电路单元404(或存储器管理电路502)重置总断电时间。倘若断电时间与总断电时间的总和不大于断电时间门槛值,在步骤S907中,存储器控制电路单元404(或存储器管理电路502)以断电时间与总断电时间的总和更新总断电时间,并且将更新的总断电时间储存在可复写式非易失性存储器模块406的至少一个物理抹除单元中。在本范例实施例中,可将总断电时间储存在可复写式非易失性存储器模块406的系统区的物理抹除单元中。值得一提的是,在本范例实施例中,会针对断电时间及总断电时间来判断是否执行刷新操作,因而在执行步骤S809的刷新操作之后,即可重新计算总断电时间,存储器控制电路单元404(或存储器管理电路502)由此重置总断电时间。因此,与图8的范例实施例不同,倘若判断本次计算的断电时间大于断电时间门槛值,存储器控制电路单元404(或存储器管理电路502)会执行步骤S809的刷新操作,且执行刷新操作之后,进行步骤S905以重置总断电时间。图8及图9中对存储器储存装置10的可复写式非易失性存储器模块406的物理抹除单元执行刷新操作的步骤已于前面的范例实施例中说明,在此不再赘述。综上所述,本发明所提供的数据保护方法、存储器控制电路单元与存储器储存装置,能够准确地计算出存储器储存装置的断电时间(即未上电时间),并根据断电时间来判断是否执行刷新操作。藉此可有效避免数据遗失或错误的情况,达到保护存储器储存装置所储存的数据的效果。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参 照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1