存储器装置的数据管理方法与系统与流程

文档序号:16775536发布日期:2019-02-01 18:42阅读:166来源:国知局
存储器装置的数据管理方法与系统与流程

本发明是有关于一种存储器装置的数据管理方法与数据管理系统。



背景技术:

随着半导体科技的发展,各种半导体存储器不断推陈出新。举例来说,闪存(flashmemory)、磁性存储器(magneticcorememory)或相变化存储器(phasechangememories,pcm)均广泛使用于电子装置中。

相变化存储器是一种非易失性随机存取存储器。相变化存储器的材料可以转换成一结晶状态(crystallinestate)与一非结晶状态(amorphousstate),以储存数字数据。当在读取时,通过判断存储器单元的阻值,来判断该存储器单元所储存的数字数据是逻辑1或逻辑0。

然而,存储器单元的阻值可能随着时间经过而产生漂移(例如,由高阻值状态漂移至低阻值态),如此一来,将误判所读取的数据。为避免数据读取的误判,目前的可行做法之一乃是经过一段时间后,对存储器单元(或者是存储器页(memorypage))进行更新(refresh),以解决阻值漂移。

本发明提供一种存储器装置的数据管理方法与数据管理系统,以管理存储器装置的保存时间与更新时间。



技术实现要素:

根据本发明一实例,提出一种存储器装置的数据管理系统,该存储器装置包括多个区块,该数据管理系统包括:一处理器,具有一系统定时器用以计数一系统时间,该处理器耦接至该存储器装置;以及一保存时间存储器单元,耦接至该处理器,该保存时间存储器单元包括一剩余保存时间储存区、一区块编号储存区与一保存模式参数储存区,该保存模式参数储存区包括一第一保存模式,该剩余保存时间储存区包括相关于该第一保存模式的一第一最大剩余保存时间、一第一最小剩余保时间与一第一中间剩余保存时间,该区块编号储存区至少储存该存储器装置的该些区块中的一第一区块的一第一区块编号。当第一次存取或第一次更新或第一次编程该存储器装置的该第一区块的至少一部份时,或者每当该存储器装置的该第一区块整体被存取或更新或编程时,该处理器指定该第一区块的该第一区块编号指向至该第一保存模式的该第一最大剩余保存时间。当一第一降级触发时间达到且该第一区块的该第一区块编号目前指向至该第一最大剩余保存时间,该处理器将该第一区块的该第一区块编号从该第一最大剩余保存时间指向该第一中间剩余保存时间。当一第二降级触发时间达到且该第一区块的该第一区块编号目前指向至该第一中间剩余保存时间,该处理器将该第一区块的该第一区块编号从该第一中间剩余保存时间指向该第一最小剩余保存时间。一旦该第一区块的该第一区块编号指向该第一最小剩余保存时间,该处理器触发该存储器装置以更新该第一区块,以及该处理器将该第一区块的该第一区块编号从该第一最小剩余保存时间指向该第一最大剩余保存时间。

根据本发明另一实例,提出一种存储器装置的数据管理方法,包括:计数一系统时间;当第一次存取或第一次更新或第一次编程该存储器装置的一第一区块的至少一部份时,或者每当该存储器装置的该第一区块整体被存取或更新或编程时,指定该第一区块的一第一区块编号指向至一第一保存模式的一第一最大剩余保存时间,该第一保存模式包括该第一最大剩余保存时间、一第一最小剩余保存时间与一第一中间剩余保存时间;当该第一最大剩余保存时间的一第一降级触发时间达到且该第一区块的该第一区块编号目前指向至该第一最大剩余保存时间,将该第一区块的该第一区块编号从该第一最大剩余保存时间指向该第一中间剩余保存时间;当该第一中间剩余保存时间的一第二降级触发时间达到且该第一区块的该第一区块编号目前指向至该第一中间剩余保存时间,将该第一区块的该第一区块编号从该第一中间剩余保存时间指向该第一最小剩余保存时间;以及一旦该第一区块的该第一区块编号指向该第一最小剩余保存时间,触发该存储器装置以更新该第一区块,以及将该第一区块的该第一区块编号从该第一最小剩余保存时间指向该第一最大剩余保存时间。

附图说明

为了对本本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合所附图式详细说明如下:

图1显示根据本发明一实施例的数据管理系统的示意图。

图2显示根据本发明一实施例的保存时间存储器单元的示意图。

图3a-图3h显示根据本发明一实施例的保存时间管理示意图。

图4显示根据本发明另一实施例的具有两种保存模式的数据管理的示意图。

图5显示根据本发明一实施例的存储器装置的数据管理方法的流程图。

【符号说明】

100:数据管理系统150:存储器装置

110:处理器115:系统定时器

120:保存时间存储器单元

122:保存模式参数储存区124:剩余保存时间储存区

126:区块编号储存区

pp0-ppn:区块编号

510-530c:步骤

具体实施方式

本说明书的技术用语系参照本技术领域的习惯用语,如本说明书对部分用语有加以说明或定义,该部分用语的解释系以本说明书的说明或定义为准。本发明的各个实施例分别具有一或多个技术特征。在可能实施的前提下,本技术领域具有通常知识者可选择性地实施任一实施例中部分或全部的技术特征,或者选择性地将这些实施例中部分或全部的技术特征加以组合。

现请参考图1,其显示根据本发明一实施例的数据管理系统100的示意图。数据管理系统100耦接至存储器装置150,用以管理存储器装置150的数据保存。亦即,数据管理系统100决定存储器装置150的多个存储器页的剩余保存时间与更新时间。

数据管理系统100包括:处理器110与保存时间存储器单元120。处理器110更包括系统定时器(systemtimecounter)115。处理器110耦接至存储器装置150与保存时间存储器单元120。处理器110管理的存储器装置150的剩余保存时间与更新时间,处理器110的操作细节将于底下说明之。系统定时器115用以计数系统时间。

现请参考图2,其显示根据本发明一实施例的保存时间存储器单元120的示意图。如图2所示,保存时间存储器单元120包括:保存模式参数储存区122、剩余保存时间储存区124与区块编号储存区126。

保存模式参数储存区122用以储存至少一保存模式参数。保存模式参数用以指示所对应的区块的保存模式。在此,「区块」是指存储器装置150的储存区块,例如是存储器页(memorypage)。存储器装置150包括多个区块。在此实施例中,为方便解说,以存储器装置150的所有区块对应至同一保存模式为例做说明,但当初本发明并不受限于此。当第一次存取或第一次更新或第一次编程存储器装置150的一区块的一部份或全部时,处理器110预测该区块的一预设保存时间并指定该区块的一保存模式。在本发明实施例中,当第一次存取或第一次更新或第一次编程存储器装置150的该区块的一部份或全部时,可能是最坏情况(worstcase)。因为,这意味着该区块内的第一次被存取或第一次被更新或第一次被编程的相对应存储器单元可能最快达到保存时间。在此,「第一次存取或第一次更新或第一次编程」是指于存储器装置150制造完成后,存储器装置150的该区块第一次被存取或第一次被更新或第一次被编程。

在本发明另一可能实施例中,每当存储器装置150的一区块整体被存取或被更新或被编程时,处理器110预测该区块的预设保存时间并指定该区块的保存模式。由于对整个区块进行存取或更新或编程,可以对该区块的所有存储器单元指定同样的保存时间。

当保存模式为10000秒时,代表,所对应的区块的最大剩余保存时间为10000秒。也就是说,在本发明实施例中,于该区块被更新或存取之后,于保存时间到期之前,本发明实施例对该区块进行更新。相似地,如果保存模式为107秒,于该区块被更新或存取之后,保存时间(107秒)到期之前,本发明实施例对该区块进行更新。

剩余保存时间储存区124用以指示各区块所对应的目前剩余保存时间。以保存模式为10000秒为例做说明,在本发明实施例中,将10000秒分成10个群组,第1个群组代表10000秒,第2个群组代表9000秒,其余可依此类推,当然本发明不受限于此。在本发明其他可能实施例中,可依照其他方式来将最大剩余保存时间分割成多个群组,例如,依照指数或对数的方式来将最大剩余保存时间分割成多个群组。

在本发明实施例中,依照该些区块的个别剩余保存时间进行分群,具有相同剩余保存时间的该些区块属于同一群组。

例如,在某个时间点,区块p9的剩余保存时间为10000秒,处理器110将区块编号pp9(相关于区块p9)归为第1个群组;区块p8的剩余保存时间为9000秒,处理器110将区块pp8(相关于区块p8)归为第2个群组,区块p0的剩余保存时间为1000秒,处理器110将区块pp0(相关于区块p0)归为第10个群组,其余依此类推。10000秒亦可称为最大剩余保存时间,1000秒亦可称为最小剩余保存时间,而2000秒-9000秒亦可称为中间剩余保存时间。

区块编号区126用以储存属于存储器装置150的所有区块的所有区块编号。当更新或存取或编程一区块时,处理器110将该区块的一区块编号指向最大剩余保存时间;而当降级条件触发时,处理器110将符合降级条件的一区块编号降级,以该区块编号指向下一剩余保存时间。在本发明实施例中,各群组有各自的降级触发条件。

现请参照图3a-图3h,其显示根据本发明一实施例的保存时间管理示意图。为方便解释起见,在此从系统定时器115的系统时间(systemtime,st)等于0秒(st=0)开始做说明。请注意,在本发明图式中,出现于区块编号储存区126内的参考符号pp0-pp6乃是代表指向该些区块p0-p6(未显示出,该些区块p0-p6位于存储器装置150内)的个别区块编号,在实作上,区块编号可以例如但不受限于,以「指标(pointer)」来实现,该指针指向存储器装置150内的相对应区块。

如图3a所示,在系统时间等于0秒(st=0)时,对区块p0进行存取或更新,处理器110将区块p0的剩余保存时间设为10000秒,故而,处理器110将区块p0的区块编号pp0归为第1个群组,而且,区块p0的区块编号pp0指向10000秒(这代表,区块p0的剩余保存时间为10000秒)。亦即,在本发明实施例中,在系统时间为10000秒之前,第1个群组内的区块编号所对应的区块进行更新,以避免误判该区块的数据。

在本发明实施例中,处理器110根据对该区块的编程或存取或更新的条件(如脉冲电压)或者该存储器装置150的芯片温度等,处理器110可以预测出该区块的保存时间。例如,处理器110预测该区块的一最差晶胞的保存时间,以当成该区块的保存时间。至于如何预测保存时间,在本发明实施例中则不加以特别限定之。

亦即,在本发明实施例中,每个区块对应至一保存模式。本发明实施例可以有一个或多个保存模式。为方便解释起见,在此以所有区块对应至相同保存模式为例做说明,但当知本发明并不受限于此。

如图3b所示,在系统时间等于1000秒(st=1000)时,处理器110得知要触发第1个群组的降级(亦即,第1个群组的降级条件已触发),所以,处理器110将第1个群组的区块编号pp0降级至第2个群组。在此,「降级」是指,处理器110将属于同一个群组的区块编号从指向目前群组改变成指向下一个群组。至于处理器110触发「降级」的原则为,处理器110事先已知道每个群组所分别对应的剩余保留时间,故而,当系统时间到达触发时间时,处理器110即可进行触发。以第1个群组为例,第1个群组的剩余保存时间为10000秒,而第2个群组的剩余保存时间为9000秒,所以,第1个群组的「群组剩余保存时间间隔」为10000-9000=1000秒。当系统时间为1000秒、2000秒、…、9000秒、10000秒、11000秒、12000秒…时,处理器110对第1个群组进行降级(亦即,每隔1000秒降级一次)。同样地,以第2个群组为例,第2个群组的剩余保存时间为9000秒,而第3个群组的剩余保存时间为8000秒,所以,当系统时间为2000秒、3000秒、…、9000秒、10000秒、11000秒、12000秒…时,处理器110对第2个群组进行降级。其余可依此类推。也就是说,在本发明实施例中,当降级条件触发时,处理器110将该区块的区块编号从目前群组降级至下一群组,这代表,处理器110减少区块的剩余保存时间。

虽然在上例中,每个群组的「群组剩余保存时间间隔」是相同的,但在本发明其他可能实施例中,每个群组的「群组剩余保存时间间隔」可以不同,此亦在本发明精神范围内。例如,在本发明其他可能实施例中,以5个群组为例,第1个群组的剩余保存时间为10000,第2个群组的剩余保存时间为9000,第3个群组的剩余保存时间为7500,第4个群组的剩余保存时间为5500,第5个群组的剩余保存时间为1000。在此情况下,根据为两个群组的剩余保存时间间隔的差值做为降级的依据。以上例来说,第1个群组的剩余保存时间为10000,第2个群组的剩余保存时间为9000,剩余保存时间间隔的差值为1000秒,所以处理器110每隔1000秒对第1个群组降级。同样地,处理器110每隔1500秒对第2个群组降级。其余可依此类推。处理器110每隔2000秒对第3个群组降级。处理器110每隔4500秒对第4个群组降级。

如图3c所示,在系统时间等于1500秒(st=1500)时,对区块p1进行存取或更新,处理器110将区块p1的剩余保存时间设为10000秒,处理器110将区块p1的区块编号pp1归为第1个群组(剩余保存时间为10000秒),而区块p0的区块编号pp0仍为第2个群组(剩余保存时间为9000秒)。

如图3d所示,在系统时间等于2000秒(st=2000)时,处理器110触发第1群组与第2群组的降级,所以,区块p0的区块编号pp0(原属于第2个群组)降级为第3个群组(剩余保存时间为8000秒),而区块p1的区块编号pp1(原属于第1个群组)降级为第2个群组(剩余保存时间设为9000秒)。

之后,当系统时间等于3000秒(st=3000)时(未示出),处理器110触发降级,所以,区块p0的区块编号pp0(原属于第3个群组)降级为第4个群组(剩余保存时间为7000秒),而区块p1的区块编号pp1(原属于第2个群组)降级为第3个群组(剩余保存时间为8000秒)。依此类推。当系统时间等于7000秒(st=7000)时(未示出),处理器110触发降级,所以,区块p0的区块编号pp0(原属于第7个群组)降级为第8个群组(剩余保存时间为3000秒),而区块p1的区块编号pp1(原属于第6个群组)降级为第7个群组(剩余保存时间为4000秒)。

如图3e所示,假设在系统时间等于7950秒(st=7950)时,进行区块p2-p4的存取或更新(更特别是,将区块p2-p4的整个区块的内部数据全部更新一次),处理器110将区块p2-p4的剩余保存时间设为10000秒,处理器110将区块p2-p4的区块编号pp2-pp4归为第1个群组,而区块p0的区块编号pp0仍为第8个群组,区块p1的区块编号pp1仍为第7个群组。在此,对区块p2-p4进行存取或更新的时间未必要完全同时。亦即,假设先对区块p2进行存取或更新(但尚未对区块p3及p4进行存取或更新),之后,在区块p2的区块编号pp2仍属于第1个群组时,对区块p3及p4进行存取或更新,则处理器110将区块p2-p4的区块编号pp2-pp4一起归为第1个群组。

在系统时间等于8000秒(st=8000)时(未示出),系统对区块p0-p4的区块编号pp0-pp4进行降级,处理器110将区块p2-p4的区块编号pp2-pp4降级为第2个群组(剩余保存时间为9000秒),而将区块p0的区块编号pp0降级第9个群组(剩余保存时间为2000秒),将区块p1的区块编号pp1降级为第8个群组(剩余保存时间为3000秒)。

如图3f所示,在系统时间等于8950秒(st=8950)时,对区块p5进行存取或更新,处理器110将区块p5的剩余保存时间设为10000秒,处理器110将区块p5的区块编号pp5归为第1个群组(剩余保存时间为10000秒),而区块p0的区块编号pp0仍为第9个群组(剩余保存时间为2000秒)、区块p1的区块编号pp1仍为第8个群组(剩余保存时间为3000秒)、区块p2-p4的区块编号pp2-pp4仍为第2个群组(剩余保存时间为9000秒)。

如图3g所示,在系统时间等于9000秒(st=9000)时,区块p6进行存取或更新,且处理器110对区块p0-p5进行降级。处理器110将区块p6的剩余保存时间设为10000秒,处理器110将区块p6的区块编号pp6归为第1个群组(剩余保存时间为10000秒)。处理器110将区块p5的区块编号pp5降级为第2个群组(剩余保存时间为9000秒),将区块p2-p4的区块编号pp2-pp4降级为第3个群组(剩余保存时间为8000秒),将区块p0的区块编号pp0降级第10个群组(剩余保存时间为1000秒),区块p1的区块编号pp1降级为第9个群组(剩余保存时间为2000秒)。

在本发明实施例中,当区块编号被降级至最低群组时(亦即第10群组,剩余保存时间为1000秒),处理器110触发区块编号升级,将该区块编号从最低群组升级至第1个群组,同时,处理器110触发存储器装置150,将相对应的区块(其区块编号从最低群组升级至第1个群组)进行更新。如图3h所示,在系统时间等于9000秒(st=9000)时,处理器110触发区块p0的区块编号pp0升级,将区块p0的区块编号pp0升级至第1个群组。由于此时的区块p6的区块编号pp6也为第1个群组,故而,处理器110可将区块p0的区块编号pp0指向区块p6的区块编号pp6,而区块p6的区块编号pp6则指向10000秒。

另外,在本发明实施例中,由于将同一个群组内的该些区块编号彼此指向,所以,在进行区块更新时,可以很方便地知道哪些区块该被更新。例如,区块编号pp2-pp4属同一个群组,当处理器110将区块编号pp2-pp4降级至最后一个群组时,处理器110通知存储器装置150,以对区块p2-p4进行更新。详细地说,由于区块编号pp2指向最低剩余保存时间,区块编号pp3指向区块编号pp2,区块编号pp4指向区块编号pp3,透过这些指向关系,处理器110可以得知指向最低剩余保存时间的该群组包括区块编号pp2-pp4,故而,处理器110可以得知区块编号pp2-pp4所对应的区块p2-p4该被更新。在本发明说明书中,在指向同一剩余保存时间的一或多个区块编号中,有一区块编号乃是「直接指向」该剩余保存时间(如图3e中的区块编号pp2),而其余的区块编号则是「间接指向」该剩余保存时间(如图3e中的区块编号pp3-pp4,透过区块编号pp2来指向剩余保存时间)。

在本发明实施例中,如果一区块被存取或更新的话,则处理器110将该区块的区块编号升级至第1个群组,不论该区块编号原本属于哪一个群组。也就是说,如果一区块被存取的话,则处理器110将该区块的剩余保存时间设为10000秒(亦即,最大剩余保存时间)。此外,当该区块被存取或更新之时,该区块的区块编号目前正指向至第1个群组,则该区块的区块编号仍维持指向至第1个群组。

另外,在本发明实施例中,于进行降级后,如果有多个区块编号同时指向最小保存时间,则处理器110依序触发该些区块的更新(亦即,该些区块的更新时间可彼此不同)。例如,于进行降级后,区块编号pp0与pp1同时指向最小保存时间(1000s)。于系统时间等于9000秒时,处理器110触发存储器装置150更新区块p0。于系统时间等于9050秒时,处理器110触发存储器装置150更新区块p1。如此一来,可在区块p0与p1的剩余保存时间未达0之前,更新区块p0与p1,以避免区块p0与p1的阻值漂移而被误判。

简言之,在本发明实施例中,当存取或更新一区块时,处理器将该区块的区块编号升级至第1个群组,以指向最大剩余保存时间。另外,处理器将指向相同剩余保存时间的多个区块编号视为同一个群组,且属于同一群组的该些区块编号之中,其中一个区块编号指向相对应的剩余保存时间,而其余的区块编号则可以彼此指向(如图3f中的区块编号pp2-pp4般,区块编号pp2指向相对应的剩余保存时间,区块编号pp3指向区块编号pp2,区块编号pp4指向区块编号pp3)。

当处理器得知一群组的「降级触发时间点」已到达时,处理器将该群组内的所有区块编号降级至下一群组。实务上,在处理器的控制下,该群组内的第1个区块编号(例如,图3f中的区块编号pp2)从目前剩余保存时间指向下一个剩余保存时间,而属于同一群组的其他区块编号(例如,图3f中的区块编号pp3与pp4)的指向关系未被改变。故而,透过修改该群组内的第1个区块编号的指向,即可改变该群组指向下一个剩余保存时间。

图4显示根据本发明另一实施例的具有两种保存模式的数据管理的示意图。如图4所示,保存模式可以包括两种:104秒与107秒。这些保存模式可以包括不同的剩余保存时间。例如,104秒的保存模式包括:剩余保存时间10000秒、9000秒、…、1000秒(区块编号pp0、pp1与pp4分别指向10000秒、9000秒与1000秒);而107秒的保存模式包括:剩余保存时间100天(d)、90天(d)、…、10天(d)(区块编号pp5、pp6与ppn分别指向100d(天)秒、90d(天)与10d(天))。当然,本发明其他可能实施例可以包括更多的保存模式,此皆在本发明精神范围内。

以图4为例,在进行区块的编程或存取或更新时,处理器110可预测该区块的预设保存时间,据以找出所对应的保存模式。例如,以图4为例,当在存取区块p0时,处理器110预测该区块p0的保存时间可能为20000秒,故而,处理器110指定该区块p0的保存模式为10000(104)秒,并让该区块p0的区块编号pp0指向该保存模式(104秒)的最大剩余保存时间(10000秒)。在另一例中,当在存取区块p5时,处理器110预测该区块p5的保存时间可能为150天,故而,处理器110指定该区块p5的保存模式为107秒,并让该区块p5的区块编号pp5指向该保存模式(107秒)的最大剩余保存时间100d(天)。亦即,在本发明实施例中,每个区块对应至一保存模式。

请参照图5,其显示根据本发明一实施例的存储器装置的数据管理方法的流程图。如图5所示,在步骤510中,计数一系统时间。在步骤520中,当第一次存取或第一次更新或第一次编程存储器装置150的该第一区块时的一部份或全部时(或者是对每当该第一区块被全部存取或更新或编程时),该处理器110指定该第一区块的一第一区块编号指向至一第一保存模式的一第一最大剩余保存时间,该第一保存模式包括该第一最大剩余保存时间、一第一最小剩余保存时间与一第一中间剩余保存时间。在步骤530a中,当该第一最大剩余保存时间的一第一降级触发时间达到且该第一区块的该第一区块编号目前指向至该第一最大剩余保存时间,该处理器110将该第一区块的该第一区块编号从该第一最大剩余保存时间指向该第一中间剩余保存时间。在步骤530b中,当该第一中间剩余保存时间的一第二降级触发时间达到且该第一区块的该第一区块编号目前指向至该第一中间剩余保存时间,该处理器110将该第一区块的该第一区块编号从该第一中间剩余保存时间指向该第一最小剩余保存时间。在步骤530c中,一旦该第一区块的该第一区块编号指向该第一最小剩余保存时间,该处理器110触发该存储器装置以更新该第一区块,以及将该第一区块的该第一区块编号从该第一最小剩余保存时间指向该第一最大剩余保存时间。

在本发明实施例中,透过群组式管理存储器装置的区块的剩余保持时间,可以有效地在区块的剩余保持时间到期之前,对区块进行更新,以避免因为区块的阻值漂移所导致的数据错误读取。此外,由于是群组式管理区块的剩余保持时间,管理机制可以大为简化。

综上所述,虽然本发明已以实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本本发明的精神和范围内,当可作各种的更动与润饰。因此,本本发明的保护范围当视随附的权利要求范围所界定的为准。

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