本发明系关于一种数据储存装置,特别是关于可判断页面是否遭受断电攻击的数据储存装置。
背景技术:
快闪存储器为一种普遍的非挥发性数据储存装置,系以电性方式抹除与程序化。以与非门型的快闪存储器(即NAND FLASH)为例,常用作存储卡(memory card)、通用序列总线闪存装置(USB flash device)、固态硬盘(SSD)、嵌入式快闪存储器模块(eMMC)…等使用。
快闪存储器(如,NAND FLASH)的储存阵列包括多个区块(blocks),其中浮置栅极晶体管可用以构成快闪存储器。浮置栅极晶体管中的浮置栅极,可捕捉的电荷以储存数据。然而,储存于浮置栅极的电荷会由于快闪存储器的操作以及各种环境参数,自浮置栅极流失,造成数据读取或者写入的错误。另外,当电源不稳定时,也会造成数据读取或者写入的错误。
技术实现要素:
本发明所提供的数据储存装置可判断页面是否遭受断电攻击。
本发明提供一种数据储存装置。数据储存装置包括一快闪存储器以及一控制器。快闪存储器包括多个页面,其中每一页面包括一备用区域(Spare Area),并且每一备用区域包括一断电计数(POR Count)。控制器被设置为根据页面中备用区域所储存的断电计数,判断页面中的一第一页面是否遭受断电攻击。
在一实施例中,快闪存储器更包括一记录表,用以记录一参考断电计数,其中每当数据储存装置被断电后,控制器被设置为将参考断电计数加一。控制器被设置为当对页面中的至少一目标页面进行一写入程序时,将记录表中的参考断电计数写入目标页面的备用区域以作为目标页面的断电计数。
在另一实施例中,控制器被设置为用以读取第一页面的断电计数以及与第一页面相邻并且位于第一页面前方的一第二页面的断电计数,并将第一页面的断电计数与第二页面的断电计数进行比较,其中当第一页面的断电计数不同于第二页面的断电计数时,判断第一页面遭受过断电攻击。
又另一实施例中,控制器被设置为用以读取与第一页面相邻的一第二页面以及一第三页面的断电计数,并将第二页面的断电计数与第三页面的断电计数进行比较,其中当第二页面的断电计数不同于第三页面的断电计数时,判断第一页面遭受过断电攻击。
另外,第一页面是无法被控制器成功读取的页面。
本发明另提供一种断电事件判断方法,适用于具有一快闪存储器的一数据储存装置,其中快闪存储器包括多个页面,每一页面包括一备用区域(Spare Area)。断电事件判断方法包括:当页面进行一写入程序时,将一参考断电计数写入被执行写入程序的每一页面的备用区域以作为页面的一断电计数;以及根据页面中备用区域所储存的断电计数,判断页面中的一第一页面是否遭受断电攻击。
在一实施例中,断电事件判断方法更包括每当数据储存装置被断电后,将参考断电计数加一。
在另一实施例中,断电事件判断方法更包括:读取第一页面的断电计数以及与第一页面相邻并且位于第一页面前方的一第二页面的断电计数;将第一页面的断电计数与第二页面的断电计数进行比较;以及当第一页面的断电计数不同于第二页面的断电计数时,判断第一页面遭受过断电攻击。
又另一实施例中,断电事件判断方法更包括:读取与第一页面相邻的一第二页面以及一第三页面的断电计数;将第二页面的断电计数与第三页面的断电计数进行比较;以及当第二页面的断电计数不同于第三页面的断电计数时,判断第一页面遭受过断电攻击。
另外,第一页面是无法被控制器成功读取的页面。
附图说明
图1为本发明所提供的一电子系统的一种实施例的方块图。
图2为本发明所提供的一快闪存储器的一种实施例的方块图。
图3~6为本发明所提供的一快闪存储器的一种实施例的示意图。
图7为本发明所提供的一断电事件判断方法的一种实施例的流程图。
图8为本发明所提供的断电事件判断方法中的比较方法的一种实施例的流程图。
图9为本发明所提供的断电事件判断方法中的比较方法的另一种实施例的流程图。
【附图标记说明】
100 电子系统;
120 主机;
140 数据储存装置;
160 控制器;
162 运算单元;
164 永久存储器;
180 快闪存储器;
TB1 记录表;
SPA1-SPAN 备用区域;
P1-PN 页面;
PORC1~PORCN 断电计数;
UECC 第一页面;
S700-S702、S800-S806、S900-S906 步骤。
具体实施方式
以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。
图1为本发明所提供的一电子系统的一种实施例的方块图。电子系统100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储 器180以及一控制器160,且可根据主机110所下达的命令操作。控制器160包括一运算单元162以及一永久存储器(如,只读存储器ROM)164。永久存储器164与所载的程序码、数据组成固件(firmware),由运算单元162执行,使控制器160基于该固件控制该快闪存储器180。快闪存储器180包括多个页面P1~PN,其中每一页面P1~PN具有一备用区域(Spare Area)SPA1~SPAN,如图2所示。在一实施例中,快闪存储器180包括多个区块,并且每一区块包括多个页面,其中快闪存储器180以区块为单位进行抹除,并且页面为单位进行写入。
值得注意的是,在一实施例中,每一备用区域SPA1~SPAN包括一断电计数(POR Count)。快闪存储器180更包括一记录表TB1,用以记录一参考断电计数,其中每当数据储存装置140被断电后,控制器160被设置为将参考断电计数加一。另外,控制器160更被设置为当对页面中的至少一目标页面进行一写入程序时,将记录表TB1中的参考断电计数写入目标页面的备用区域以作为目标页面的断电计数,但本发明不限于此。在一实施例中,控制器160系被设置在数据储存装置140被断电并重新启动时,将参考断电计数加一,但本发明不限于此。值得注意的是,在一实施例中,断电包括正常断电(关机)以及不正常断电,但本发明不限于此。在另一实施例中,断电仅包括不正常断电。举例而言,当记录表TB1中的参考断电计数为2并且控制器160正在对页面P1进行一写入程序时,控制器160将记录表TB1中的参考断电计数“2”写入页面P1的备用区域SPA1以作为页面P1的断电计数(POR Count)。在其他实施例中,页面的断电计数亦可经由累加的方式进行记录,而不用记录表TB1中的参考断电计数。
另外,控制器160被设置为根据页面P1~PN中备用区域SPA1~SPAN所储存的断电计数,判断页面P1~PN中的一第一页面是否遭受断电攻击。在一实施例中,第一页面是无法被控制器160成功读取的页面,但本发明不限于此。第一页面亦可为快闪存储器180中的任一页面。举例而言,当控制器160根据主机120的命令或者控制器160内部的命令对快闪存储器180中的页面P1~P30进行读取并且无法成功对页面P1~P30中的页面P4读取时,控制器160被设置为根据页面P1~PN中备用区域SPA1~SPAN所储存的断电计数,判断页面P4 是否遭受断电攻击,但本发明不限于此。值得注意的是,当页面的错误比特超过一既定值,并且无法由错误校正所更正时,控制器160无法成功读取该页面。
在一实施例中,控制器160被设置为用以读取第一页面的断电计数以及与第一页面相邻并且位于第一页面前方的一第二页面的断电计数,并将第一页面的断电计数与第二页面的断电计数进行比较,其中当第一页面的断电计数不同于第二页面的断电计数时,判断第一页面遭受过断电攻击,但本发明不限于此。举例而言,假设第一页面为页面P4,如图3所示。控制器160被设置为用以读取页面P4的断电计数PORC4以及与页面P4相邻并且位于页面P4前方的一页面P3的断电计数PORC3,并将页面P4的断电计数PORC4与页面P3的断电计数PORC3进行比较。在本实施例中,页面P4的断电计数PORC4为3,并且页面P3的断电计数PORC3为2。由于断电计数PORC4以及断电计数PORC3不同,故控制器160判断页面P4遭受过断电攻击。又举例而言,假设第一页面为页面P4,如图4所示。控制器160被设置为用以读取页面P4的断电计数PORC4以及与页面P4相邻并且位于页面P4前方的一页面P3的断电计数PORC3,并将页面P4的断电计数PORC4与页面P3的断电计数PORC3进行比较。在本实施例中,页面P4的断电计数PORC4为2,并且页面P3的断电计数PORC3为2。由于断电计数PORC4以及断电计数PORC3相同,故控制器160判断页面P4未遭受过断电攻击。
在另一实施例中,控制器160被设置为用以读取与第一页面相邻的一第二页面以及一第三页面的断电计数,并将第二页面的断电计数与第三页面的断电计数进行比较,其中当第二页面的断电计数不同于第三页面的断电计数时,判断第一页面遭受过断电攻击。举例而言,在本实施例中,第一页面为无法被控制器160成功读取的页面UECC,并且无法被控制器160成功读取的页面UECC为页面P4,如图5所示。控制器160被设置为用以读取与页面P4相邻的页面P3的断电计数PORC3以及页面P5的断电计数PORC5,并将页面P3的断电计数PORC3以及页面P5的断电计数PORC5进行比较。在本实施例中,页面P3的断电计数PORC3为2,并且页面P5的断电计数PORC5为3。由于页面P3的断电计数PORC3以及页面P5的断电计数PORC5不同,故控制器160判断页面P4遭受过断电攻击。又举例而言,在本实施例中,第一页面为无法被控 制器160成功读取的页面UECC,并且无法被控制器160成功读取的页面UECC为页面P4,如图6所示。控制器160被设置为用以读取与页面P4相邻的页面P3的断电计数PORC3以及页面P5的断电计数PORC5,并将页面P3的断电计数PORC3以及页面P5的断电计数PORC5进行比较。在本实施例中,页面P3的断电计数PORC3为2,并且页面P5的断电计数PORC5为2。由于页面P3的断电计数PORC3以及页面P5的断电计数PORC5相同,故控制器160判断页面P4未遭受过断电攻击。
图7为本发明所提供的一断电事件判断方法的一种实施例的流程图。断电事件判断方法,适用于图1所示的数据储存装置140。流程开始于步骤S700。
在步骤S700中,当快闪存储器180中的至少一页面进行一写入程序时,控制器160将一参考断电计数写入被执行写入程序的每一页面的备用区域以作为页面的一断电计数。举例而言,当记录表TB1中的参考断电计数为2并且控制器160正在对页面P1进行一写入程序时,控制器160将记录表TB1中的参考断电计数“2”写入页面P1的备用区域SPA1以作为页面P1的断电计数(POR Count)。在一实施例中,断电事件判断方法更包括每当数据储存装置140被断电后,将参考断电计数加一。
接着,在步骤S702中,控制器160根据页面中备用区域所储存的断电计数,判断页面中的一第一页面是否遭受断电攻击。在一实施例中,第一页面是无法被控制器160成功读取的页面,但本发明不限于此。第一页面亦可为快闪存储器180中的任一页面。流程结束于步骤S702。
图8为本发明所提供的断电事件判断方法中的比较方法的一种实施例的流程图。比较方法适用于图1所示的数据储存装置140,并且为图7中的步骤S702的详细说明。流程开始于步骤S800。
在步骤S800中,控制器160读取第一页面的断电计数以及与第一页面相邻并且位于第一页面前方的一第二页面的断电计数。举例而言,假设第一页面为页面P4,如第3~4图所示。控制器160被设置为用以读取页面P4的断电计数PORC4以及与页面P4相邻并且位于页面P4前方的一页面P3的断电计数PORC3,但本发明不限于此。
接着,在步骤S802中,控制器160将第一页面的断电计数与第二页面的 断电计数进行比较,以判断第一页面的断电计数与第二页面的断电计数是否相同。当第一页面的断电计数与第二页面的断电计数不同时,流程进行至步骤S804。当第一页面的断电计数与第二页面的断电计数相同时,流程进行至步骤S806。举例而言,假设第一页面为页面P4,如图3~4所示。控制器160被设置为将页面P4的断电计数PORC4与页面P3的断电计数PORC3进行比较。在图3的实施例中,页面P4的断电计数PORC4为3,并且页面P3的断电计数PORC3为2。由于断电计数PORC4以及断电计数PORC3不同,故流程进行至步骤S804。在图4的实施例中,页面P4的断电计数PORC4为2,并且页面P3的断电计数PORC3为2。由于断电计数PORC4以及断电计数PORC3相同,故流程进行至步骤S806。
在步骤S804中,控制器160判断第一页面遭受过断电攻击。流程结束于步骤S804。
在步骤S806中,控制器160判断第一页面未遭受过断电攻击。流程结束于步骤S806。
图9为本发明所提供的断电事件判断方法中的比较方法的另一种实施例的流程图。比较方法适用于图1所示的数据储存装置140,并且为图7中的步骤S702的详细说明。流程开始于步骤S900。
在步骤S900中,控制器160读取与第一页面相邻的一第二页面以及一第三页面的断电计数。举例而言,在本实施例中,第一页面为无法被控制器160成功读取的页面UECC,并且无法被控制器160成功读取的页面UECC为页面P4,如图5~6所示。控制器160被设置为用以读取与页面P4相邻的页面P3的断电计数PORC3以及页面P5的断电计数PORC5。
接着,在步骤S902中,控制器160将第二页面的断电计数与第三页面的断电计数以进行比较,以判断第二页面的断电计数与第三页面的断电计数是否相同。当第二页面的断电计数与第三页面的断电计数不同时,流程进行至步骤S904。当第二页面的断电计数与第三页面的断电计数相同时,流程进行至步骤S906。举例而言,在本实施例中,第一页面为无法被控制器160成功读取的页面UECC,并且无法被控制器160成功读取的页面UECC为页面P4,如图5~6所示。控制器160将页面P3的断电计数PORC3以及页面P5的断电计数PORC5 进行比较。在图4的实施例中,页面P3的断电计数PORC3为2,并且页面P5的断电计数PORC5为3。由于页面P3的断电计数PORC3以及页面P5的断电计数PORC5不同,故流程进行至步骤S904。在图5的实施例中,页面P3的断电计数PORC3为2,并且页面P5的断电计数PORC5为2。由于页面P3的断电计数PORC3以及页面P5的断电计数PORC5相同,故流程进行至步骤S906。
在步骤S904中,控制器160判断第一页面遭受过断电攻击。流程结束于步骤S904。
在步骤S906中,控制器160判断第一页面未遭受过断电攻击。流程结束于步骤S906。
本发明的方法,或特定型态或其部分,可以以程序码的型态存在。程序码可储存于实体媒体,如软盘、光盘片、硬盘、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程序码也可通过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
惟以上所述者,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即大凡依本发明权利要求及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或权利要求不须达成本发明所揭露的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。