CN106354651B - 平均磨损方法、存储器控制电路单元及存储器储存装置 - Google Patents
平均磨损方法、存储器控制电路单元及存储器储存装置 Download PDFInfo
- Publication number
- CN106354651B CN106354651B CN201510411126.2A CN201510411126A CN106354651B CN 106354651 B CN106354651 B CN 106354651B CN 201510411126 A CN201510411126 A CN 201510411126A CN 106354651 B CN106354651 B CN 106354651B
- Authority
- CN
- China
- Prior art keywords
- physically erased
- unit
- data
- physically
- erased cells
- 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
Images
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种平均磨损方法、存储器控制电路单元及存储器储存装置。本方法包括:根据实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将存有有效数据的每一实体抹除单元记录时间标记,以及将每一实体抹除单元记录抹除次数。本方法还包括:根据时间标记从存有有效数据的实体抹除单元中选择第一实体抹除单元,根据每一实体抹除单元配置的抹除次数从没有存有有效数据的实体抹除单元之中提取第二实体抹除单元,以及将第一实体抹除单元中的有效数据写入第二实体抹除单元,并且将第一实体抹除单元标记为没有存有有效数据的实体抹除单元。如此一来,实体抹除单元的磨损程度更为平均且延长了存储器储存系统的寿命。
Description
技术领域
本发明是有关于一种平均磨损方法,且特别是有关于一种平均磨损方法、存储器控制电路单元及存储器储存装置。
背景技术
数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,因此,近年可复写式非易失性存储器产业成为电子产业中相当热门的一环。例如,以快闪存储器作为存储媒体的固态硬盘(Solid-state drive)已广泛应用作为电脑主机的硬盘,以提升电脑的存取效能。
一般来说,为了增加可复写式非易失性存储器的寿命,会尽可能平均地使用可复写式非易失性存储器中的实体抹除单元。例如,可复写式非易失性存储器的实体抹除单元会区分为数据区与闲置区,传统平均磨损(wear leveling)的方法是在可复写式非易失性存储器每执行一段固定的时间后或某个特定的时间点,将数据区中的实体抹除单元与闲置区中的实体抹除单元交换,以期让在数据区中抹除次数较少的实体抹除单元可被交换至闲置区以供程序化(或写入)使用。
在将数据区中抹除次数较少的实体抹除单元交换至闲置区时,通常会从闲置区中选择具有较高抹除次数的实体抹除单元交换至数据区,但倘若此实体抹除单元储存的数据属于频繁更新的数据,则此实体抹除单元很可能在数据更新时再次被关联至闲置区。然而,在下一次需执行平均磨损时,已再被关联至闲置区的这个实体抹除单元因其具有抹除次数高于其他实体抹除单元,而再次被交换至数据区的机会将远比其他实体抹除单元高出许多,造成可复写式非易失性存储器的实体抹除单元的使用不平均。基此,如何选择实体抹除单元来进行平均磨损运作,以使得每个实体抹除单元的使用较为平均,而有效延长可复写式非易失性存储器的寿命是此领域技术人员所致力的目标。
发明内容
本发明提供一种平均磨损方法、存储器控制电路单元及存储器储存装置,其能够有效地平均实体抹除单元的磨损以延长存储器储存装置的寿命。
本发明的一范例实施例提出一种平均磨损方法,用于可复写式非易失性存储器模块,且可复写式非易失性存储器模块包括多个实体抹除单元。本平均磨损方法包括:根据实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将存有有效数据的每一实体抹除单元记录时间标记。本平均磨损方法还包括:将每一实体抹除单元记录抹除次数,并且根据时间标记从存有有效数据的实体抹除单元中选择第一实体抹除单元。本平均磨损方法还包括:根据每一实体抹除单元记录的抹除次数从没有存有有效数据的实体抹除单元中提取第二实体抹除单元,以及将所述第一实体抹除中的有效数据写入所述第二实体抹除单元,并且将第一实体抹除单元标记为没有存有有效数据的实体抹除单元。
在本发明的一范例实施例中,上述根据实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将存有有效数据的每一实体抹除单元记录时间标记,包括:配置多个逻辑地址,其中所述逻辑地址映射存有有效数据的实体抹除单元;建立一阵列;将属于所述逻辑地址之中的第一逻辑地址的第一数据程序化至实体抹除单元之中的实体抹除单元;在所述阵列中记录程序化第一数据的实体抹除单元;接续在将所述第一数据程序化至实体抹除单元之中的实体抹除单元之后,将属于所述逻辑地址之中的第二逻辑地址的第二数据程序化至实体抹除单元之中的实体抹除单元;以及在所述阵列中记录程序化第二数据的实体抹除单元。所述阵列有第一端与第二端,且在所述第一端与所述第二端之间有多个位置。在所述阵列中记录程序化第一数据的实体抹除单元的位置是接续在记录程序化第二数据的实体抹除单元的位置之后,并且记录映程序化第一数据的实体抹除单元的位置与所述第一端之间的距离大于记录程序化第二数据的实体抹除单元的位置与所述第一端之间的距离。
在本发明的一范例实施例中,上述根据所述时间标记从所述存有有效数据的实体抹除单元中选择所述第一实体抹除单元,包括:(a)从所述阵列的所述第二端开始依序选出一个实体抹除单元;(b)判断所选出的实体抹除单元的抹除次数是否小于将实体抹除单元的平均抹除次数减去一预定值所获得的值;(c)倘若所选出的实体抹除单元的抹除次数小于将实体抹除单元的平均抹除次数减去所述预定值所获得的值时,将所选出的实体抹除单元作为所述第一实体抹除单元;以及(d)倘若所选出的实体抹除单元的抹除次数不小于将实体抹除单元的平均抹除次数减去所述预定值所获得的值时,从所述阵列的所述第二端开始依序选出下一个实体抹除单元并执行上述步骤(b)。
在本发明的一范例实施例中,上述根据实体抹除单元之中存有有效数据的实体抹除单元的实体抹除单元的所述程序化顺序将所述存有有效数据的每一实体抹除单元记录所述时间标记,包括:配置多个逻辑地址,其中所述逻辑地址映射所述存有有效数据的实体抹除单元;将属于所述逻辑地址之中的第一逻辑地址的第一数据程序化至实体抹除单元之中映射所述第一逻辑地址的实体抹除单元;在程序化顺序表将对应程序化第一数据的实体抹除单元的时间标记记录为一第一时间戳记;接续在将所述第一数据程序化至实体抹除单元之中的实体抹除单元之后,将属于所述逻辑地址之中的第二逻辑地址的第二数据程序化至实体抹除单元之中的实体抹除单元;以及在所述程序化顺序表将对应程序化第二数据的实体抹除单元的时间标记记录为第二时间戳记。其中所述第一时间戳记小于所述第二时间戳记。
在本发明的一范例实施例中,上述根据所述时间标记从所述存有有效数据的实体抹除单元中选择所述第一实体抹除单元,包括:(a)依据记录在所述程序化顺序表的时间戳记,选出对应最小的时间戳记的实体抹除单元;(b)判断所选出的实体抹除单元的抹除次数是否小于将所述实体抹除单元的平均抹除次数减去一预定值所获得的值;(c)倘若所选出的实体抹除单元的抹除次数小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,将所选出的实体抹除单元作为所述第一实体抹除单元;以及(d)倘若所选出的实体抹除单元的抹除次数不小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,依据记录在所述程序化顺序表的时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元并执行上述步骤(b)。
在本发明的一范例实施例中,上述每一实体抹除单元包括多个实体程序化单元,且每一实体程序化单元包括一数据比特区与一冗余比特区,其中根据实体抹除单元之中存有有效数据的实体抹除单元的所述程序化顺序将所述存有有效数据的每一实体抹除单元记录所述时间标记的步骤包括:配置多个逻辑地址,其中所述逻辑地址映射所述存有有效数据的实体抹除单元;将属于所述逻辑地址之中的第一逻辑地址的第一数据程序化至所述实体抹除单元之中的实体抹除单元;在程序化第一数据的实体抹除单元的冗余比特区中记录第一时间戳记;接续在将所述第一数据程序化至实体抹除单元之中的实体抹除单元之后,将属于所述逻辑地址之中的第二逻辑地址的第二数据程序化至所述实体抹除单元之中的实体抹除单元;以及在程序化第二数据的实体抹除单元的冗余比特区中记录第二时间戳记。其中所述第一时间戳记小于所述第二时间戳记。
在本发明的一范例实施例中,上述根据所述时间标记从所述存有有效数据的该些实体抹除单元中选择所述第一实体抹除单元,包括:(a)依据记录在所述存有有效数据的实体抹除单元的冗余比特区中的多个时间戳记,选出具有最小时间戳记的实体抹除单元;(b)判断所选出的实体抹除单元的抹除次数是否小于将所述实体抹除单元的平均抹除次数减去一预定值所获得的值;(c)倘若所选出的实体抹除单元的抹除次数小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,将所选出的实体抹除单元作为所述第一实体抹除单元;以及(d)倘若所选出的实体抹除单元的抹除次数不小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,依据记录在所述存有有效数据的实体抹除单元的冗余比特区中的时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元并执行上述步骤(b)。
本发明的一范例实施例提出一种存储器控制电路单元,其中所述可复写式非易失性存储器模块包括多个实体抹除单元。此存储器控制电路单元包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统,存储器接口用以电性连接至可复写式非易失性存储器模块,以及存储器管理电路电性连接至主机接口与存储器接口。存储器管理电路用以根据实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将所述存有有效数据的每一实体抹除单元记录时间标记,并且将每一实体抹除单元记录抹除次数。存储器管理电路还用以根据所述时间标记从所述存有有效数据的实体抹除单元中选择第一实体抹除单元,并且根据每一实体抹除单元记录的抹除次数从没有存有有效数据的实体抹除单元中提取第二实体抹除单元。存储器管理电路还用以发送一第一指令序列,并且第一指令序列用以指示将所述第一实体抹除单元中的有效数据写入所述第二实体抹除单元,以及存储器管理电路会将第一实体抹除单元标记为没有存有有效数据的实体抹除单元。
在本发明的一实施例中,上述在根据实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将存有有效数据的每一实体抹除单元记录时间标记,包括,所述存储器管理电路还用以配置多个逻辑地址,其中所述逻辑地址映射存有有效数据的实体抹除单元。存储器管理电路还用以建立一阵列,并且发送第二指令序列,其中第二指令序列指示将属于所述逻辑地址之中的第一逻辑地址的第一数据程序化至所述实体抹除单元之中的实体抹除单元。存储器管理电路还用以在所述阵列中记录程序化第一数据的实体抹除单元,并且接续在将所述第一数据程序化至实体抹除单元之中的实体抹除单元之后发送第三指令序列,其中第三指令序列指示将属于所述逻辑地址之中的第二逻辑地址的第二数据程序化至所述实体抹除单元之中的实体抹除单元。存储器管理电路还用以在所述阵列中记录程序化第二数据的实体抹除单元。其中所述阵列有第一端与第二端,且在所述第一端与所述第二端之间有多个位置,在所述阵列中记录程序化第一数据的实体抹除单元的位置是接续在记录程序化第二数据的实体抹除单元的位置之后,并且记录程序化第一数据的实体抹除单元的位置与所述第一端之间的距离大于记录程序化第二数据的实体抹除单元的位置与所述第一端之间的距离。
在本发明的一实施例中,上述在根据所述时间标记从所述存有有效数据的实体抹除单元中选择所述第一实体抹除单元,包括,所述存储器管理电路还用以从所述阵列的所述第二端开始依序选出一个实体抹除单元。存储器管理电路还用以执行抹除次数判断运作,以判断所选出的实体抹除单元的抹除次数是否小于将所述实体抹除单元的平均抹除次数减去一预定值所获得的值。其中倘若所选出的实体抹除单元的抹除次数小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,存储器管理电路将所选出的实体抹除单元作为第一实体抹除单元。倘若所选出的实体抹除单元的抹除次数不小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,所述存储器管理电路从所述阵列的第二端开始依序选出下一个实体抹除单元并执行上述抹除次数判断运作。
在本发明的一实施例中,上述在根据实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将存有有效数据的每一实体抹除单元记录所述时间标记,包括,存储器管理电路还用以配置多个逻辑地址,其中所述逻辑地址映射存有有效数据的实体抹除单元。存储器管理电路还用以发送第二指令序列,其中第二指令序列指示将属于逻辑地址之中的第一逻辑地址的第一数据程序化至实体抹除单元之中的实体抹除单元。存储器管理电路还用以在程序化顺序表将对应程序化第一数据的实体抹除单元的时间标记记录为第一时间戳记,并且接续在将所述第一数据程序化至实体抹除单元之中的实体抹除单元之后发送第三指令序列,其中第三指令序列指示将属于所述逻辑地址之中的第二逻辑地址的第二数据程序化至实体抹除单元之中的实体抹除单元。存储器管理电路还用以在所述程序化顺序表将程序化第二数据的实体抹除单元的时间标记记录为第二时间戳记,其中所述第一时间戳记小于所述第二时间戳记。
在本发明的一实施例中,上述在根据所述时间标记从所述存有有效数据的实体抹除单元中选择所述第一实体抹除单元,包括,存储器管理电路还用以依据记录在所述程序化顺序表的所述时间戳记,选出对应最小的时间戳记的实体抹除单元。存储器管理电路还用执行抹除次数判断运作,以判断所选出的实体抹除单元的抹除次数是否小于将所述实体抹除单元的平均抹除次数减去一预定值所获得的值。倘若所选出的实体抹除单元的抹除次数小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,存储器管理电路将所选出的实体抹除单元作为所述第一实体抹除单元。倘若所选出的实体抹除单元的抹除次数不小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,存储器管理电路依据记录在所述程序化顺序表的时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元并执行上述抹除次数判断运作。
在本发明的一实施例中,上述每一实体抹除单元包括多个实体程序化单元,且每一实体程序化单元包括一数据比特区与一冗余比特区,其中在根据实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将所述存有有效数据的每一实体抹除单元记录时间标记,包括,存储器管理电路还用以配置多个逻辑地址,其中所述逻辑地址映射所述存有有效数据的实体抹除单元。存储器管理电路还用以发送第二指令序列,其中第二指令序列指示将属于所述逻辑地址之中的第一逻辑地址的第一数据程序化至所述实体抹除单元之中的实体抹除单元,并且在程序化第一数据的实体抹除单元的冗余比特区中记录有第一时间戳记。存储器管理电路还用以接续在将所述第一数据程序化至实体抹除单元之中的的实体抹除单元之后发送第三指令序列,其中第三指令序列用以指示将属于所述逻辑地址之中的第二逻辑地址的第二数据程序化至所述实体抹除单元之中的实体抹除单元,并且在程序化第二数据的实体抹除单元的冗余比特区中记录有第二时间戳记。其中所述第一时间戳记小于所述第二时间戳记。
在本发明的一实施例中,上述在根据所述时间标记从所述存有有效数据的实体抹除单元中选择所述第一实体抹除单元,包括,存储器管理电路还用以依据记录在所述存有有效数据的实体抹除单元的冗余比特区中的多个时间戳记,选出具有最小时间戳记的实体抹除单元。存储器管理电路还用以执行抹除次数判断运作,以判断所选出的实体抹除单元的抹除次数是否小于将所述实体抹除单元的平均抹除次数减去一预定值所获得的值。倘若所选出的实体抹除单元的抹除次数小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,存储器管理电路将所选出的实体抹除单元作为所述第一实体抹除单元。倘若所选出的实体抹除单元的抹除次数不小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,存储器管理电路依据记录在所述存有有效数据的实体抹除单元的冗余比特区中的时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元并执行上述抹除次数判断运作。
本发明的一范例实施例提出一种存储器储存装置,其包括连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元用以电性连接至主机系统。可复写式非易失性存储器模块包括多个实体抹除单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块。存储器控制电路单元用以根据实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将所述存有有效数据的每一实体抹除单元记录一时间标记。存储器控制电路单元还用以将每一实体抹除单元记录抹除次数,并且根据所述时间标记从所述存有有效数据的实体抹除单元中选择第一实体抹除单元。存储器控制电路单元还用以根据每一实体抹除单元记录的抹除次数从没有存有有效数据的实体抹除单元中提取第二实体抹除单元,并且存储器控制电路单元还用以发送第一指令序列,其中第一指令序列用以指示将所述第一实体抹除单元中的有效数据写入所述第二实体抹除单元,以及存储器控制电路单元将第一实体抹除单元标记为没有存有有效数据的实体抹除单元。
在本发明的一范例实施例中,上述在根据实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将存有有效数据的每一实体抹除单元记录时间标记,包括,所述存储器控制电路单元还用以配置多个逻辑地址,其中所述逻辑地址映射存有有效数据的实体抹除单元。存储器控制电路单元还用以建立一阵列,并且发送第二指令序列,其中第二指令序列指示将属于逻辑地址之中的第一逻辑地址的第一数据程序化至所述实体抹除单元之中的实体抹除单元。存储器控制电路单元还用以在所述阵列中记录程序化第一数据的实体抹除单元,并且接续在将所述第一数据程序化至实体抹除单元之中的实体抹除单元之后发送第三指令序列,其中第三指令序列用以指示将属于所述逻辑地址之中的第二逻辑地址的第二数据程序化至所述实体抹除单元之中的实体抹除单元。存储器控制电路单元还用以在所述阵列中记录程序化第二数据的实体抹除单元。其中所述阵列有第一端与第二端,且在所述第一端与所述第二端之间有多个位置。其中在所述阵列中记录程序化第一数据的实体抹除单元的位置是接续在记录程序化第二数据的实体抹除单元的位置之后,并且记录程序化第一数据的实体抹除单元的位置与所述第一端之间的距离大于记录程序化第二数据的实体抹除单元的位置与所述第一端之间的距离。
在本发明的一范例实施例中,上述在根据所述时间标记从所述存有有效数据的实体抹除单元中选择所述第一实体抹除单元,包括,所述存储器控制电路单元还用以从所述阵列的所述第二端开始依序选出一个实体抹除单元,并且执行抹除次数判断运作,以判断所选出的实体抹除单元的抹除次数是否小于将所述实体抹除单元的平均抹除次数减去一预定值所获得的值。倘若所选出的实体抹除单元的抹除次数小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,存储器控制电路单元将所选出的实体抹除单元作为所述第一实体抹除单元。倘若所选出的实体抹除单元的抹除次数不小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,存储器控制电路单元从所述阵列的第二端开始依序选出下一个实体抹除单元并执行上述抹除次数判断运作。
在本发明的一范例实施例中,上述在根据实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将存有有效数据的每一实体抹除单元记录所述时间标记,包括,存储器控制电路单元还用以配置多个逻辑地址,其中所述逻辑地址映射存有有效数据的实体抹除单元。存储器控制电路单元还用以发送第二指令序列,其中第二指令序列指示将属于逻辑地址之中的第一逻辑地址的第一数据程序化至实体抹除单元之中的实体抹除单元。存储器控制电路单元还用以在程序化顺序表将对应程序化第一数据的实体抹除单元的时间标记记录为第一时间戳记,并且接续在将所述第一数据程序化至实体抹除单元之中的实体抹除单元之后发送第三指令序列,其中第三指令序列用以指示将属于逻辑地址之中的第二逻辑地址的第二数据程序化至所述实体抹除单元之中的实体抹除单元。存储器控制电路单元还用以在所述程序化顺序表将对应程序化第二数据的实体抹除单元的时间标记记录为第二时间戳记,其中所述第一时间戳记小于所述第二时间戳记。
在本发明的一范例实施例中,上述在根据所述时间标记从所述存有有效数据的实体抹除单元中选择所述第一实体抹除单元,包括,存储器控制电路单元还用以依据记录在所述程序化顺序表的时间戳记,选出对应最小的时间戳记的实体抹除单元,并且执行抹除次数判断运作,以判断所选出的实体抹除单元的抹除次数是否小于将所述实体抹除单元的平均抹除次数减去一预定值所获得的值。倘若所选出的实体抹除单元的抹除次数小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,存储器控制电路单元将所选出的实体抹除单元作为所述第一实体抹除单元。倘若所选出的实体抹除单元的抹除次数不小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,存储器控制电路单元依据记录在所述程序化顺序表的时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元并执行上述抹除次数判断运作。
在本发明的一范例实施例中,上述每一实体抹除单元包括多个实体程序化单元,每一实体程序化单元包括一数据比特区与一冗余比特区,且存储器控制电路单元还用以配置多个逻辑地址,其中所述逻辑地址映射存有有效数据的实体抹除单元。存储器控制电路单元还用以发送第二指令序列,其中第二指令序列指示将属于逻辑地址之中的第一逻辑地址的第一数据程序化至实体抹除单元之中的实体抹除单元,其中在程序化第一数据的实体抹除单元的冗余比特区中记录有第一时间戳记。存储器控制电路单元还用以接续在将所述第一数据程序化至实体抹除单元之中的实体抹除单元之后发送第三指令序列,其中第三指令序列用以指示将属于所述逻辑地址之中的第二逻辑地址的第二数据程序化至所述实体抹除单元之中的实体抹除单元,其中在程序化第二数据的实体抹除单元的冗余比特区中记录有第二时间戳记,且所述第一时间戳记小于所述第二时间戳记。
在本发明的一范例实施例中,上述在根据所述时间标记从所述存有有效数据的实体抹除单元中选择所述第一实体抹除单元,包括,存储器控制电路单元还用以依据记录在存有有效数据的实体抹除单元的冗余比特区中的多个时间戳记,选出具有最小时间戳记的实体抹除单元,并且执行抹除次数判断运作,以判断所选出的实体抹除单元的抹除次数是否小于将所述实体抹除单元的平均抹除次数减去一预定值所获得的值。倘若所选出的实体抹除单元的抹除次数小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,存储器控制电路单元将所选出的实体抹除单元作为所述第一实体抹除单元。倘若所选出的实体抹除单元的抹除次数不小于将所述实体抹除单元的平均抹除次数减去所述预定值所获得的值时,存储器控制电路单元依据记录在存有有效数据的实体抹除单元的冗余比特区中的时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元并执行上述抹除次数判断运作。
基于上述,本发明是通过时间戳记以及抹除次数选出存储有长时间未更动的数据的实体抹除单元以及具有较大抹除次数的实体抹除单元,并将其作为平均磨损操作的实体抹除单元。如此能有效地平均实体单元的抹除次数,以延长存储器储存装置的使用寿命。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据第一范例实施例所示出的主机系统与存储器储存装置的示意图;
图2是根据第一范例实施例所示出的电脑、输入/输出装置与存储器储存装置的示意图;
图3是根据第一范例实施例所示出的主机系统与存储器储存装置的示意图;
图4是根据第一范例实施例所示出的存储器储存装置的概要方块图;
图5是根据第一范例实施例所示出的存储器控制电路单元的概要方块图;
图6A与图6B是根据第一范例实施例所示出的管理实体抹除单元的范例示意图;
图7是根据第一范例实施例所示出的用以记录对应数据区的实体抹除单元的时间标记的阵列示意图;
图8A与图8B是根据第一范例实施例所示出的为数据区的实体抹除单元配置时间标记的示意图;
图9是根据第一范例实施例所示出的根据时间标记选择实体抹除单元的示意图;
图10A与图10B是根据第一范例实施例所示出的执行平均磨损操作的一个范例示意图;
图11是根据第一范例实施例所示出的平均磨损方法的流程图;
图12A与图12B是根据第二范例实施例所示出的为数据区的实体抹除单元配置时间标记的示意图;
图13A与图13B是根据第三范例实施例所示出的为数据区的实体抹除单元配置时间标记的示意图。
附图标记说明:
10:存储器储存装置;
11:主机系统;
12:电脑;
13:输入/输出装置;
122:微处理器;
124:随机存取存储器(RAM);
126:系统总线;
128:数据传输接口;
21:鼠标;
22:键盘;
23:显示器;
24:打印机;
25:U盘;
26:存储卡;
27:固态硬盘;
31:数字相机;
32:SD卡;
33:MMC卡;
34:记忆棒;
35:CF卡;
36:嵌入式储存装置;
402:连接接口单元;
404:存储器控制电路单元;
406:可复写式非易失性存储器模块;
410(0)~410(N):实体抹除单元;
502:存储器管理电路;
504:主机接口;
506:存储器接口;
508:缓冲存储器;
510:电源管理电路;
512:错误检查与校正电路;
602:数据区;
604:闲置区;
606:系统区;
608:取代区;
610(0)~610(D):逻辑地址;
700:阵列;
702:第一端;
704:第二端;
A1~An:位置;
1302、1304:数据;
S1101、S1103、S1105、S1107、S1109:平均磨损方法的步骤;
1200:程序化顺序表;
1202:实体抹除单元栏位;
1204:时间标记栏位;
1200_1、1300_1:第一时间戳记;
1200_2、1300_2:第二时间戳记;
1306:数据比特区;
1308:冗余比特区。
具体实施方式
[第一范例实施例]
一般而言,存储器储存装置(也称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1是根据第一范例实施例所示出的主机系统与存储器储存装置的示意图,且图2是根据第一范例实施例所示出的电脑、输入/输出装置与存储器储存装置的示意图。
请参照图1,主机系统11一般包括电脑12与输入/输出(input/output,简称I/O)装置13。电脑12包括微处理器122、随机存取存储器(random access memory,简称RAM)124、系统总线126与数据传输接口128。输入/输出装置13包括如图2的鼠标21、键盘22、显示器23与打印机24。必须了解的是,图2所示的装置非限制输入/输出装置13,输入/输出装置13可还包括其他装置。
在本实施例中,存储器储存装置10是通过数据传输接口128与主机系统11的其他元件电性连接。通过微处理器122、随机存取存储器124与输入/输出装置13的运作可将数据写入至存储器储存装置10或从存储器储存装置10中读取数据。例如,存储器储存装置10可以是如图2所示的U盘25、存储卡26或固态硬盘(Solid State Drive,简称SSD)27等的可复写式非易失性存储器储存装置。
图3是根据第一范例实施例所示出的主机系统与存储器储存装置的示意图。
一般而言,主机系统11为可实质地与存储器储存装置10配合以存储数据的任意系统。虽然在本范例实施例中,主机系统11是以电脑系统来做说明,然而,在另一范例实施例中主机系统11可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统11为图3中的数字相机(摄影机)31时,可复写式非易失性存储器储存装置则为其所使用的SD卡32、MMC卡33、记忆棒(memory stick)34、CF卡35或嵌入式储存装置36(如图3所示)。嵌入式储存装置36包括嵌入式多媒体卡(Embedded MMC,简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统11的基板上。
图4是根据第一范例实施例所示出的存储器储存装置的概要方块图。
请参照图4,存储器储存装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是兼容于串行高级技术附件(SerialAdvanced Technology Attachment,简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并行高级技术附件(Parellel Advanced TechnologyAttachment,简称PATA)标准、电气和电子工程师协会(Institute of Electrical andElectronic Engineers,简称IEEE)1394标准、外部设备互连(Peripheral ComponentInterconnect Express,简称PCI Express)标准、通用串行总线(Universal Serial Bus,简称USB)标准、超高速一代(Ultra High Speed-I,简称UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称UHS-II)接口标准、安全数位(Secure Digital,简称SD)接口标准、记忆棒(Memory Stick,简称MS)接口标准、多媒体存储卡(Multi Media Card,简称MMC)接口标准、小型快闪(Compact Flash,简称CF)接口标准、集成设备电路(IntegratedDevice Electronics,简称IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或布设于一包含存储器控制电路单元404的芯片外。
存储器控制电路单元404用以执行以硬件形式或固件形式操作的多个逻辑闸或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等操作。
可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404,并且用以储存主机系统11所写入的数据。可复写式非易失性存储器模块406具有实体抹除单元410(0)~410(N)。例如,实体抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有复数个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目的一并被抹除的存储单元。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以储存使用者的数据,而冗余比特区用以储存系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据比特区中会包含8个实体存取地址,且一个实体存取地址的大小为512比特组(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体程序化单元为实体页面或实体扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块406为多层单元(Multi LevelCell,简称MLC)NAND型快闪存储器模块(即,一个存储单元中可储存2个数据比特的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块406也可是单层单元(Single Level Cell,简称SLC)NAND型快闪存储器模块(即,一个存储单元中可储存1个数据比特的快闪存储器模块)、多层单元(Trinary Level Cell,简称TLC)NAND型快闪存储器模块(即,一个存储单元中可储存3个数据比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
图5是根据第一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器储存装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路502的控制指令是以固件形式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路502的控制指令也可以程序码形式储存于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将储存在可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
主机接口504是电性连接至存储器管理电路502并且用以电性连接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是兼容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器508、电源管理电路510与错误检查与校正电路512。
缓冲存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。
电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器储存装置10的电源。
错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,简称ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图6A与图6B是根据第一范例实施例所示出的管理实体抹除单元的范例示意图。
必须了解的是,在此描述可复写式非易失性存储器模块406的实体抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非易失性存储器模块406的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块406的实体抹除单元进行操作。
请参照图6A,存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(0)~410(N)逻辑地分组为数据区602、闲置区604、系统区606与取代区608。
逻辑上属于数据区602与闲置区604的实体抹除单元是用以储存来自于主机系统11的数据。具体来说,数据区602的实体抹除单元是被视为已存储数据的实体抹除单元,而闲置区604的实体抹除单元是用以替换数据区602的实体抹除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器管理电路502会从闲置区604中提取实体抹除单元,并且将数据写入至所提取的实体抹除单元中,以替换数据区602的实体抹除单元。一般而言,数据区602中的实体抹除单元经过使用者操作后会存有有效数据,而闲置区604中的实体抹除单元为没有存有有效数据的实体抹除单元。
逻辑上属于系统区606的实体抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块406的制造商与型号、可复写式非易失性存储器模块406的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。
逻辑上属于取代区608中的实体抹除单元是用于坏实体抹除单元取代程序,以取代损坏的实体抹除单元。具体来说,倘若取代区608中仍存有正常的实体抹除单元并且数据区602的实体抹除单元损坏时,存储器管理电路502会从取代区608中提取正常的实体抹除单元来更换损坏的实体抹除单元。
特别是,数据区602、闲置区604、系统区606与取代区608的实体抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器储存装置10的运作中,实体抹除单元关联至数据区602、闲置区604、系统区606与取代区608的分组关系会动态地变动。例如,当闲置区604中的实体抹除单元损坏而被取代区608的实体抹除单元取代时,则原本取代区608的实体抹除单元会被关联至闲置区604。
请参照图6B,如上所述,数据区602、闲置区604的实体抹除单元是以轮替方式来储存主机系统11所写入的数据。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会配置逻辑地址610(0)~610(D)给主机系统11,以映射至数据区602中部分的实体抹除单元410(0)~410(F-1),以利于在以上述轮替方式来储存数据的实体抹除单元中进行数据存取。特别是,主机系统11会通过逻辑地址610(0)~610(D)来存取数据区602中的数据。此外,存储器控制电路单元404(或存储器管理电路502)会建立逻辑-实体映射表(logical-physical mapping table),以记录逻辑地址与实体抹除单元之间的映射关系。此逻辑-实体映射表还可以例如是记录逻辑地址与实体程序化单元、逻辑程序化单元与实体程序化单元和/或逻辑程序化单元与实体抹除单元之间的映射关系等各种逻辑与实体的对应关系,本发明不加以限制。
请再参照图6A,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会根据数据区602的实体抹除单元410(0)~410(F-1)的程序化顺序为数据区602的每一实体抹除单元410(0)~410(F-1)记录时间标记。在此,程序化顺序指的是数据区602的实体抹除单元410(0)~410(F-1)被写入数据的先后顺序。例如,数据区602的每一实体抹除单元410(0)~410(F-1)的程序化顺序,即代表每一实体抹除单元410(0)~410(F-1)中的数据的新旧程度,也就是说,越早被写入数据的实体抹除单元中的写入数据为较旧的数据,越晚被写入数据的实体抹除单元中的写入数据为较新的数据。
在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会为每一实体抹除单元410(0)~410(N)记录对应的抹除次数。具体而言,每一实体抹除单元410(0)~410(N)的抹除次数是有限的。例如,实体抹除单元在抹除一万次之后就会损坏,并且当实体抹除单元磨损导致储存容量的部分容量损失或性能明显退化时,会造成使用者所储存的数据遗失或无法储存数据等不利影响。特别是,实体抹除单元的磨损取决于每一实体抹除单元中被程序化或抹除的次数。也就是说,若一实体抹除单元仅被程序化(或者写入)一次,而后未被再次程序化时,此实体抹除单元的磨损程度将相对地低。反之,若一个实体抹除单元被重复地程序化与抹除时,则此实体抹除单元的磨损程度就会相对地高。例如,当可复写式非易失性存储器模块406中的一个实体抹除单元被抹除时,存储器控制电路单元404(或存储器管理电路502)会将对应此实体抹除单元的抹除次数加1。在此,抹除次数可被记录在一抹除次数表中或者其所对应的实体抹除单元中。
在本范例实施例中,当执行平均磨损操作时,存储器控制电路单元404(或存储器管理电路502)会根据每一实体抹除单元410(0)~410(N)的磨损状态(即,抹除次数)以及所记录的时间标记从闲置区604与数据区602中来选择实体抹除单元来进行交换。例如,存储器控制电路单元404(或存储器管理电路502)会根据时间标记从数据区602的实体抹除单元410(0)~410(F-1)中选择一个实体抹除单元(也称为第一实体抹除单元),并且根据每一实体抹除单元记录的抹除次数从闲置区604提取另一个实体抹除单元(也称为第二实体抹除单元)。接着,存储器控制电路单元404(或存储器管理电路502)会发送一指令序列(也称为第一指令序列),此第一指令序列包括一或多个指令或程序码,并且用以指示将第一实体抹除单元中的有效数据写入第二实体抹除单元,以及将第一实体抹除单元标记为没有存有有效数据的实体抹除单元。换言之,存储器控制电路单元404(或存储器管理电路502)会将第二实体抹除单元关联至数据区602,并且将第一实体抹除单元关联至闲置区604,以完成平均磨损操作。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)是提取闲置区604中具有最大抹除次数的实体抹除单元来执行平均抹除操作。也就是说,第二实体抹除单元的抹除次数大于闲置区604中其他的实体抹除单元的抹除次数。然而,本发明不加以限制所提取的第二实体抹除单元的抹除次数,例如,在另一范例实施例中,存储器控制电路单元404(或存储器管理电路502)是提取闲置区604中具有次大抹除次数的实体抹除单元来执行平均抹除操作。
例如,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会建立一个阵列以依序地根据数据区602的实体抹除单元410(0)~410(F-1)的程序化顺序记录实体抹除单元410(0)~410(F-1)来表示数据区602的每一实体抹除单元的时间标记。
图7是根据第一范例实施例所示出的用以记录对应数据区的实体抹除单元的时间标记的阵列示意图。
请参照图7,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)所建立的阵列700具有第一端702与第二端704,并且在第一端702与第二端704之间有多个位置A1~An。在此,第一端702为阵列700的头端,而第二端704为阵列700的尾端。然而,必须了解的是,本发明不限于此,在另一范例实施例中,第一端702也可以是阵列700的尾端,而第二端704也可以是阵列700的头端。阵列700可以表格的形式被储存在缓冲存储器508或随机存取存储器124中,并且在主机系统11关机时或存储器储存装置10断电时被更新至可复写式非易失性存储器模块406中。
图8A与图8B是根据第一范例实施例所示出的为数据区的实体抹除单元配置时间标记的示意图。
请参照图8A,倘若存储器控制电路单元404(或存储器管理电路502)从主机系统11接收到欲写入数据(也称为第一数据)至逻辑地址610(1)(也称为第一逻辑地址)的操作指令序列时,存储器控制电路单元404(或存储器管理电路502)会发送一指令序列(也称为第二指令序列),此第二指令序列包括一或多个指令或程序码,并且用以指示将属于第一逻辑地址610(1)的第一数据程序化至一个实体抹除单元(例如,实体抹除单元410(1)),存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(1)映射至第一逻辑地址610(1)(即,将实体抹除单元410(1)关联至数据区602),并且从阵列700的第一端702开始将映射此第一逻辑地址610(1)的实体抹除单元410(1)记录在阵列700中的位置A1。值得注意的是,本发明并不限制记录在阵列700的实体抹除单元的形式。举例来说,存储器控制电路单元404(或存储器管理电路502)可在阵列700中记录用以代表实体抹除单元410(1)的信息,例如,图8A中所示之阵列700中的“410(1)”可以是实体抹除单元410(1)的编号、识别值或是其所对应的逻辑地址。
请参照图8B,在将第一数据程序化至映射第一逻辑地址610(1)的实体抹除单元410(1)之后,倘若存储器控制电路单元404(或存储器管理电路502)从主机系统11接收到欲写入数据(也称为第二数据)至逻辑地址610(2)(也称为第二逻辑地址)的操作指令序列时,存储器控制电路单元404(或存储器管理电路502)会发送第三指令序列,此第三指令序列也包括一或多个指令或程序码,并且第三指令序列用以指示将属于第二逻辑地址610(2)的第二数据程序化至一个实体抹除单元(例如,实体抹除单元410(2)),将实体抹除单元410(2)映射至第二逻辑地址610(2)(即,将实体抹除单元410(2)关联至数据区602),并且在阵列700中记录映射此第二逻辑地址610(2)的实体抹除单元410(2)。类似地,图8B中所示的阵列700中的“410(2)”可以是实体抹除单元410(2)的编号、识别值或是其所对应的逻辑地址。
此时,如图8B所示,在阵列700中记录映射第一逻辑地址610(1)的实体抹除单元410(1)的位置A2是接续在记录映射第二逻辑地址610(2)的实体抹除单元410(2)的位置A1之后。也就是说,记录映射第一逻辑地址610(1)的实体抹除单元410(1)的位置A2与第一端702之间的距离大于记录映射第二逻辑地址610(2)的实体抹除单元410(2)的位置A1与第一端702之间的距离。
具体而言,对于被写入可复写式非易失性存储器模块406后就长时间未曾更动或甚至被设定成只读属性的数据(以下将这类数据称为冷数据(cold data)),储存此类数据的实体抹除单元因数据鲜少更新或不能更新,因此其抹除次数会相对较低。由于在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)是从阵列700的第一端702开始记录依序被程序化的实体抹除单元。也就是说,被记录在阵列700中具有距离与第二端704越小且距离与第一端702越大的位置的实体抹除单元中的数据为较旧的且较少被更动的数据,而此些较旧的且较少被更动的数据为冷数据的可能性较大。因此,在根据时间标记从数据区602的实体抹除单元中选择第一实体抹除单元的操作中,存储器控制电路单元404(或存储器管理电路502)会从阵列700的第二端704开始依序选出一个实体抹除单元。
图9是根据第一范例实施例所示出的根据时间标记选择实体抹除单元的示意图。
请参照图9,在本范例实施例中,假设目前阵列700的位置A1~An已由存储器控制电路单元404(或存储器管理电路502)依照各实体抹除单元的程序化顺序记录有依序被程序化的实体抹除单元的信息,因此,在根据时间标记从数据区602的实体抹除单元410(0)~410(F-1)中选择第一实体抹除单元的操作中,存储器控制电路单元404(或存储器管理电路502)会从阵列700的第二端704开始选出记录在位置An的实体抹除单元410(1)。接着,存储器控制电路单元404(或存储器管理电路502)会执行抹除次数判断运作,以判断所选出的实体抹除单元的抹除次数是否小于将实体抹除单元的平均抹除次数减去预定值所获得的值。在本范例实施例中,实体抹除单元的平均抹除次数例如是可复写式非易失性存储器模块406中所有实体抹除单元的抹除次数的平均,而预定值为大于或等于0的一个正整数。然而,本发明并不限于此,例如,在另一范例实施例中,实体抹除单元的平均抹除次数可以是部分实体抹除单元的抹除次数的平均,而预定值可依据存储器储存装置10的执行性能而被调整与设定。
之后,倘若所选出的实体抹除单元的抹除次数小于将实体抹除单元的平均抹除次数减去预定值所获得的值时,存储器控制电路单元404(或存储器管理电路502)会将所选出的实体抹除单元作为第一实体抹除单元。反之,倘若所选出的实体抹除单元的抹除次数不小于将实体抹除单元的平均抹除次数减去预定值所获得的值时,存储器控制电路单元404(或存储器管理电路502)会从阵列700的第二端704开始依序选出下一个实体抹除单元并执行上述抹除次数判断操作。
请再参照图9,举例而言,在如图9所示的状态下,存储器控制电路单元404(或存储器管理电路502)会从阵列700的第二端704开始选出记录于位置An的实体抹除单元410(1),并且判断所选出的实体抹除单元410(1)的抹除次数是否小于将实体抹除单元的平均抹除次数减去预定值所获得的值。在此,假设实体抹除单元410(1)的抹除次数经存储器控制电路单元404(或存储器管理电路502)判断后的结果为不小于将实体抹除单元的平均抹除次数减去预定值所获得的值,因此,存储器控制电路单元404(或存储器管理电路502)会从阵列700的第二端704开始依序选出记录在位置A(n-1)的实体抹除单元410(2)并执行上述抹除次数判断运作。
存储器控制电路单元404(或存储器管理电路502)接续地判断所选出的实体抹除单元410(2)的抹除次数是否小于将实体抹除单元的平均抹除次数减去预定值所获得的值,在此,倘若所选出的实体抹除单元410(2)的抹除次数小于将所有实体抹除单元的平均抹除次数减去预定值所获得的值,则存储器控制电路单元404(或存储器管理电路502)会将所选出的实体抹除单元410(2)作为第一实体抹除单元。
图10A与图10B是根据第一范例实施例所示出的执行平均磨损操作的一个范例示意图。
请参照图10A与图10B,在执行平均磨损操作时,存储器控制电路单元404(或存储器管理电路502)会根据时间标记与抹除次数(如图9所示的判断)从数据区602中选出一个实体抹除单元(例如,实体抹除单元410(2)),从闲置区604中选出具有最大抹除次数的实体抹除单元(例如,实体抹除单元410(F+2)),将实体抹除单元410(2)中的有效数据复制到实体抹除单元410(F+2),将实体抹除单元410(F+2)关联至数据区602(即,将实体抹除单元410(F+2)映射至逻辑地址610(2)),并且将实体抹除单元410(2)(或抹除后的将实体抹除单元410(2))关联至闲置区604。在本范例实施例中,通过上述根据时间标记选择实体抹除单元的操作以及对所选择的实体抹除单元执行抹除次数判断的运作,可以选到储存有较旧且较少被更动的冷数据的实体抹除单元,且所选到的实体抹除单元具有较小的抹除次数。如此一来,实体抹除单元410(F+2)被再次执行平均抹除操作的机率会降低,并且原先储存冷数据且抹除次数较小的第一实体抹除单元410(2)有机会用以写入数据。
值得一提的是,本发明并不加以限制上述执行平均磨损操作的时间点,例如,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)是在某一实体抹除单元的抹除次数大于某个门槛值时,执行所述平均磨损操作,其中所述门槛值可依据存储器储存装置10的执行效能与需求而被设定。然而,本发明并不限于此,例如,在另一范例实施例中,存储器控制电路单元404(或存储器管理电路502)是每隔一特定的时间执行所述平均磨损操作。
图11是根据第一范例实施例所示出的平均磨损方法的流程图。
请参照图11,在步骤S1101中,存储器控制电路单元404(或存储器管理电路502)根据实体抹除单元之中存有有效数据的实体抹除单元410(0)~410(F-1)的程序化顺序为存有有效数据的每一实体抹除单元记录时间标记。
在步骤S1103中,存储器控制电路单元404(或存储器管理电路502)为每一实体抹除单元记录抹除次数。
在步骤S1105中,存储器控制电路单元404(或存储器管理电路502)根据时间标记从存有有效数据的实体抹除单元中选择第一实体抹除单元。
在步骤S1107中,存储器控制电路单元404(或存储器管理电路502)根据每一实体抹除单元记录的抹除次数从实体抹除单元之中没有存有有效数据的实体抹除单元中提取第二实体抹除单元。
在步骤S1109中,存储器控制电路单元404(或存储器管理电路502)发送一第一指令序列,此第一指令序列用以指示将第一实体抹除单元中的有效数据写入第二实体抹除单元,并且将第一实体抹除单元标记为没有存有有效数据的实体抹除单元。
[第二范例实施例]
第二范例实施例的存储器储存装置的硬件结构本质上是相同于第一范例实施例的存储器储存装置的硬件结构,其差异之处在于第一范例实施例的存储器储存装置是以阵列的形式为数据区的每一实体抹除单元配置时间标记,而第二范例实施例的存储器储存装置是以程序化顺序表为数据区的每一实体抹除单元配置时间标记。以下将使用第一范例实施例的存储器储存装置的图式与元件编号来详细说明第二范例实施例的存储器储存装置的运作。
图12A与图12B是根据第二范例实施例所示出的为数据区的实体抹除单元配置时间标记的示意图。
请参照图12A,存储器控制电路单元404(或存储器管理电路502)会建立程序化顺序表1200。例如,程序化顺序表1200包括实体抹除单元栏位1202与时间标记栏位1204,其中实体抹除单元栏位1202记录被执行程序化的实体抹除单元的编号、识别值或是其所对应的逻辑地址,而时间标记栏位1204用以记录对应此实体抹除单元的时间戳记。
倘若存储器控制电路单元404(或存储器管理电路502)从主机系统11接收到欲写入数据(也称为第一数据)至逻辑地址610(1)(也称为第一逻辑地址)的操作指令序列时,存储器控制电路单元404(或存储器管理电路502)会发送第二指令序列,此第二指令序列包括一或多个指令或程序码,并且用以指示将属于第一逻辑地址610(1)的第一数据程序化至一个实体抹除单元(例如,实体抹除单元410(1)),存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(1)映射至逻辑地址610(1),并且在程序化顺序表1200中将对应映射此第一逻辑地址610(1)的实体抹除单元410(1)的时间标记记录为第一时间戳记1200_1。例如,存储器控制电路单元404(或存储器管理电路502)是在程序化顺序表1200中将对应映射此第一逻辑地址610(1)的实体抹除单元410(1)记录为“410(1)”,以及将第一时间戳记1200_1记录为“000001”。举例来说,图12A中所示的程序化顺序表1200中的“410(1)”可以是实体抹除单元410(1)的编号、识别值或是其所对应的逻辑地址。
请参照图12B,在将第一数据程序化至实体抹除单元410(1)之后,倘若存储器控制电路单元404(或存储器管理电路502)从主机系统11接收到欲写入数据(也称为第二数据)至逻辑地址610(2)(也称为第二逻辑地址)的操作指令序列时,存储器控制电路单元404(或存储器管理电路502)会发送第三指令序列,此第三指令序列也包括一或多个指令或程序码并且用以指示将属于第二逻辑地址610(2)的第二数据程序化至一个实体抹除单元(例如,实体抹除单元410(2)),将实体抹除单元410(2)映射至第二逻辑地址610(2),并且在程序化顺序表1200中将对应映射此第二逻辑地址610(2)的实体抹除单元410(2)记录为“410(2)”,以及将对应映射此第二逻辑地址610(2)的实体抹除单元410(2)的第二时间戳记1200_2记录为“000002”。类似地,图12B中所示的程序化顺序表1200中的“410(2)”可以是实体抹除单元410(2)的编号、识别值或是其所对应的逻辑地址。在此,如图12B所示,由于对应第一时间戳记1200_1的映射第一逻辑地址610(1)的实体抹除单元410(1)被程序化的时间早于对应第二时间戳记1200_2的映射第二逻辑地址610(2)的实体抹除单元410(2),因此,存储器控制电路单元404(或存储器管理电路502)所记录的第一时间戳记1200_1小于第二时间戳记1200_2。
之后,在执行平均磨损操作时,存储器控制电路单元404(或存储器管理电路502)会依据记录在程序化顺序表1200的时间戳记,选出对应最小的时间戳记的实体抹除单元。例如,在如图12B所示的状态下,存储器控制电路单元404(或存储器管理电路502)会从程序化顺序表1200中选择对应最小时间戳记1200_1的实体抹除单元410(1)(即,其时间标记记录为“000001”的实体抹除单元410(1)),并且判断所选出的实体抹除单元410(1)的抹除次数是否小于将实体抹除单元的平均抹除次数减去预定值所获得的值。在此,假设实体抹除单元410(1)的抹除次数经存储器控制电路单元404(或存储器管理电路502)判断后的结果为不小于将实体抹除单元的平均抹除次数减去预定值所获得的值,因此,存储器控制电路单元404(或存储器管理电路502)会依据记录在程序化顺序表1200的时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元410(2)并执行上述抹除次数判断运作。
存储器控制电路单元404(或存储器管理电路502)接续地判断所选出的实体抹除单元410(2)的抹除次数是否小于将实体抹除单元的平均抹除次数减去预定值所获得的值,在此,倘若所选出的实体抹除单元410(2)的抹除次数小于将所有实体抹除单元的平均抹除次数减去预定值所获得的值,则存储器控制电路单元404(或存储器管理电路502)会将所选出的实体抹除单元410(2)作为第一实体抹除单元。类似地,在存储器控制电路单元404(或存储器管理电路502)根据时间戳记与抹除次数选出第一实体抹除单元后,以及根据各个实体抹除单元的抹除次数选出具有最大抹除次数的第二实体抹除单元后,存储器控制电路单元404(或存储器管理电路502)会执行平均磨损操作以将第一实体抹除单元的数据写入第二实体抹除单元,将第二实体抹除单元关联至数据区602,并且将第一实体抹除单元关联至闲置区604。在此,平均磨损操作是相同于第一范例实施例中图10A与图10B所示的方法,在此不再重复。
[第三范例实施例]
第三范例实施例的存储器储存装置的硬件结构本质上是相同于第一范例实施例的存储器储存装置的硬件结构,其差异之处在于第三范例实施例的存储器储存装置是以实体抹除单元的冗余比特区记录数据区的每一实体抹除单元配置时间标记。以下将使用第一范例实施例的存储器储存装置的图式与元件编号来详细说明第三范例实施例的存储器储存装置的运作。
图13A与图13B是根据第三范例实施例所示出的为数据区的实体抹除单元配置时间标记的示意图。
请参照图13A,每一实体抹除单元包括多个实体程序化单元,且每一实体程序化单元包括一数据比特区1306与一冗余比特区1308,以实体抹除单元410(1)为例,实体抹除单元410(1)包括多个实体程序化单元(即,第0个实体程序化单元至第M-1个实体程序化单元),且每一实体程序化单元包括数据比特区1306与冗余比特区1308。
在本范例实施例中,倘若从主机系统11接收到欲写入数据1302(也称为第一数据)至逻辑地址610(1)(也称为第一逻辑地址)的操作指令序列时,存储器控制电路单元404(或存储器管理电路502)会发送第二指令序列,此第二指令序列包括一或多个指令或程序码,并且第二指令序列用以指示将属于第一逻辑地址610(1)的第一数据1302程序化至一个实体抹除单元(例如,实体抹除单元410(1)),存储器控制电路单元404(或存储器管理电路502)会同时在实体抹除单元410(1)的冗余比特区1308中将时间标记记录为第一时间戳记1300_1,并且将实体抹除单元410(1)映射至第一逻辑地址610(1)。例如,存储器控制电路单元404(或存储器管理电路502)是在实体抹除单元410(1)的第0个实体程序化单元中记录值为“000001”的第一时间戳记1300_1。然而,本发明并不加以限制用以记录时间戳记的实体程序化单元,例如,在另一范例实施例中,存储器控制电路单元404(或存储器管理电路502)是使用实体抹除单元410(1)中的其他实体程序化单元中来记录第一时间戳记1300_1。
请参照图13B,在将第一数据1302程序化至实体抹除单元410(1)之后,倘若存储器控制电路单元404(或存储器管理电路502)从主机系统11接收到欲写入数据1304(也称为第二数据)至逻辑地址610(2)(也称为第二逻辑地址)的操作指令序列时,存储器控制电路单元404(或存储器管理电路502)会发送第三指令序列,此第三指令序列包括一或多个指令或程序码,且第三指令序列用以指示将属于第二逻辑地址610(2)的第二数据1304程序化至一个实体抹除单元(例如,实体抹除单元410(2)),并且存储器控制电路单元404(或存储器管理电路502)会同时在实体抹除单元410(2)的第0个实体程序化单元中记录值为“000002”的第二时间戳记1300_2,以及将实体抹除单元410(2)映射至第二逻辑地址610(2)。在此,如图13B所示,由于对应第一时间戳记1300_1的映射第一逻辑地址610(1)的实体抹除单元410(1)被程序化的时间早于对应第二时间戳记1300_2的映射第二逻辑地址610(2)的实体抹除单元410(2),因此,存储器控制电路单元404(或存储器管理电路502)所记录的第一时间戳记1300_1小于第二时间戳记1300_2。
之后,在执行平均磨损操作时,存储器控制电路单元404(或存储器管理电路502)会依据记录在数据区602的实体抹除单元410(0)~410(F-1)的冗余比特区1308中的多个时间戳记,选出具有最小时间戳记的实体抹除单元。例如,在如图13B所示的状态下,存储器控制电路单元404(或存储器管理电路502)会从实体抹除单元410(0)~410(F-1)中选择对应最小的第一时间戳记1300_1的实体抹除单元410(1)(即,其时间标记记录为“000001”的实体抹除单元410(1)),并且判断所选出的实体抹除单元410(1)的抹除次数是否小于将实体抹除单元的平均抹除次数减去预定值所获得的值。在此,假设实体抹除单元410(1)的抹除次数经存储器控制电路单元404(或存储器管理电路502)判断后的结果为不小于将实体抹除单元的平均抹除次数减去预定值所获得的值,因此,存储器控制电路单元404(或存储器管理电路502)会依据记录在数据区602的实体抹除单元410(0)~410(F-1)的冗余比特区1308中的时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元410(2)并执行上述抹除次数判断运作。类似地,在存储器控制电路单元404(或存储器管理电路502)根据时间戳记与抹除次数选出第一实体抹除单元后,以及根据各个实体抹除单元的抹除次数选出具有最大抹除次数的第二实体抹除单元后,存储器控制电路单元404(或存储器管理电路502)会执行平均磨损操作以将第一实体抹除单元的数据写入第二实体抹除单元,将第二实体抹除单元关联至数据区602,并且将第一实体抹除单元关联至闲置区604。在此,平均磨损操作是相同于第一范例实施例中图10A与图10B所示的方法,在此不再重复。
综上所述,本发明的平均磨损方法会以原先具有较大抹除次数的实体抹除单元与储存有长时间未更动的数据的实体抹除单元进行平均磨损操作,由此原先具有较大抹除次数的实体抹除单元接下来被抹除的机会减小,而原先具有较小抹除次数的实体抹除单元被关联至闲置区以作为用以轮替的实体抹除单元。如此一来,实体抹除单元的磨损程度更为平均且延长了存储器储存系统的寿命。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (21)
1.一种平均磨损方法,其特征在于,用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个实体抹除单元,所述平均磨损方法包括:
根据该些实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将存有有效数据的每一实体抹除单元记录时间标记;
将每一该些实体抹除单元记录抹除次数;
根据所述时间标记及所述抹除次数从存有有效数据的该些实体抹除单元中选择第一实体抹除单元;
根据每一该些实体抹除单元记录的所述抹除次数从没有存有有效数据的实体抹除单元中提取第二实体抹除单元;以及
将所述第一实体抹除单元中的有效数据写入所述第二实体抹除单元,并且将所述第一实体抹除单元标记为没有存有有效数据的实体抹除单元。
2.根据权利要求1所述的平均磨损方法,其特征在于,所述根据该些实体抹除单元之中存有有效数据的实体抹除单元的该程序化顺序将存有有效数据的每一实体抹除单元记录该时间标记,包括:
配置多个逻辑地址,其中该些逻辑地址映射存有有效数据的该些实体抹除单元;
建立阵列;
将属于该些逻辑地址之中的第一逻辑地址的第一数据程序化至该些实体抹除单元之中的实体抹除单元;
在所述阵列中记录程序化所述第一数据的实体抹除单元;
接续在将所述第一数据程序化至该些实体抹除单元之中的实体抹除单元之后,将属于该些逻辑地址之中的第二逻辑地址的第二数据程序化至该些实体抹除单元之中的实体抹除单元;以及
在所述阵列中记录程序化所述第二数据的实体抹除单元,
其中所述阵列有第一端与第二端,且在所述第一端与所述第二端之间有多个位置,
其中在所述阵列中记录程序化所述第一数据的实体抹除单元的位置是接续在记录程序化所述第二数据的实体抹除单元的位置之后,并且记录程序化所述第一数据的实体抹除单元的位置与所述第一端之间的距离大于记录程序化所述第二数据的实体抹除单元的位置与所述第一端之间的距离。
3.根据权利要求2所述的平均磨损方法,其特征在于,所述根据所述时间标记从存有有效数据的该些实体抹除单元中选择该第一实体抹除单元,包括:
(a)从所述阵列的所述第二端开始依序选出一个实体抹除单元;
(b)判断所选出的实体抹除单元的抹除次数是否小于将该些实体抹除单元的平均抹除次数减去预定值所获得的值;
(c)倘若所选出的实体抹除单元的抹除次数小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,将所选出的实体抹除单元作为所述第一实体抹除单元;以及
(d)倘若所选出的实体抹除单元的抹除次数不小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,从所述阵列的所述第二端开始依序选出下一个实体抹除单元并执行上述步骤(b)。
4.根据权利要求1所述的平均磨损方法,其特征在于,所述根据该些实体抹除单元之中存有有效数据的实体抹除单元的该程序化顺序将存有有效数据的每一实体抹除单元记录该时间标记,包括:
配置多个逻辑地址,其中该些逻辑地址映射存有有效数据的该些实体抹除单元;
将属于该些逻辑地址之中的第一逻辑地址的第一数据程序化至该些实体抹除单元之中的实体抹除单元;
在程序化顺序表将对应程序化所述第一数据的实体抹除单元的时间标记记录为第一时间戳记;
接续在将所述第一数据程序化至该些实体抹除单元之中的实体抹除单元之后,将属于该些逻辑地址之中的第二逻辑地址的第二数据程序化至该些实体抹除单元之中的实体抹除单元;以及
在所述程序化顺序表将对应程序化所述第二数据的实体抹除单元的时间标记记录为第二时间戳记,
其中所述第一时间戳记小于所述第二时间戳记。
5.根据权利要求4所述的平均磨损方法,其特征在于,所述根据所述时间标记从存有有效数据的该些实体抹除单元中选择该第一实体抹除单元,包括:
(a)依据记录在所述程序化顺序表的该些时间戳记,选出对应最小的时间戳记的实体抹除单元;
(b)判断所选出的实体抹除单元的抹除次数是否小于将该些实体抹除单元的平均抹除次数减去预定值所获得的值;
(c)倘若所选出的实体抹除单元的抹除次数小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,将所选出的实体抹除单元作为所述第一实体抹除单元;以及
(d)倘若所选出的实体抹除单元的抹除次数不小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,依据记录在所述程序化顺序表的该些时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元并执行上述步骤(b)。
6.根据权利要求1所述的平均磨损方法,其特征在于,所述每一该些实体抹除单元包括多个实体程序化单元,且每一该些实体程序化单元包括一数据比特区与一冗余比特区,其中,所述根据该些实体抹除单元之中存有有效数据的实体抹除单元的该程序化顺序将存有有效数据的每一实体抹除单元记录该时间标记,包括:
配置多个逻辑地址,其中该些逻辑地址映射存有有效数据的该些实体抹除单元;
将属于该些逻辑地址之中的第一逻辑地址的第一数据程序化至该些实体抹除单元之中的实体抹除单元;
在程序化所述第一数据的实体抹除单元的冗余比特区中记录第一时间戳记;
接续在将所述第一数据程序化至该些实体抹除单元之中的实体抹除单元之后,将属于该些逻辑地址之中的第二逻辑地址的第二数据程序化至该些实体抹除单元之中的实体抹除单元;以及
在程序化所述第二数据的实体抹除单元的冗余比特区中记录第二时间戳记,
其中所述第一时间戳记小于所述第二时间戳记。
7.根据权利要求6所述的平均磨损方法,其特征在于,根据所述时间标记从所述存有有效数据的该些实体抹除单元中选择该第一实体抹除单元,包括:
(a)依据记录在存有有效数据的该些实体抹除单元的冗余比特区中的多个时间戳记,选出具有最小时间戳记的实体抹除单元;
(b)判断所选出的实体抹除单元的抹除次数是否小于将该些实体抹除单元的平均抹除次数减去预定值所获得的值;
(c)倘若所选出的实体抹除单元的抹除次数小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,将所选出的实体抹除单元作为所述第一实体抹除单元;以及
(d)倘若所选出的实体抹除单元的抹除次数不小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,依据记录在存有有效数据的该些实体抹除单元的冗余比特区中的该些时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元并执行上述步骤(b)。
8.一种存储器控制电路单元,其特征在于,用于控制可复写式非易失性存储器模块,其中,所述可复写式非易失性存储器模块包括多个实体抹除单元,所述存储器控制电路单元包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至所述可复写式非易失性存储器模块;以及
存储器管理电路,电性连接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以根据该些实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将存有有效数据的每一实体抹除单元记录时间标记,
其中所述存储器管理电路还用以将每一该些实体抹除单元记录抹除次数,
其中所述存储器管理电路还用以根据所述时间标记及所述抹除次数从所述存有有效数据的该些实体抹除单元中选择第一实体抹除单元,
其中所述存储器管理电路还用以根据每一该些实体抹除单元记录的所述抹除次数从没有存有有效数据的实体抹除单元中提取第二实体抹除单元,
其中所述存储器管理电路还用以发送第一指令序列,其中所述第一指令序列用以指示将所述第一实体抹除单元中的有效数据写入所述第二实体抹除单元,并且所述存储器管理电路将所述第一实体抹除单元标记为没有存有有效数据的实体抹除单元。
9.根据权利要求8所述的存储器控制电路单元,其特征在于,所述根据该些实体抹除单元之中存有有效数据的实体抹除单元的该程序化顺序将存有有效数据的每一实体抹除单元记录该时间标记,包括,所述存储器管理电路还用以配置多个逻辑地址,其中该些逻辑地址映射存有有效数据的该些实体抹除单元,
其中所述存储器管理电路还用以建立阵列,
其中所述存储器管理电路还用以发送第二指令序列,其中所述第二指令序列用以指示将属于该些逻辑地址之中的第一逻辑地址的第一数据程序化至该些实体抹除单元之中的实体抹除单元,
其中所述存储器管理电路还用以在所述阵列中记录程序化所述第一数据的实体抹除单元,
其中所述存储器管理电路还用以接续在将所述第一数据程序化至该些实体抹除单元之中的实体抹除单元之后发送第三指令序列,其中所述第三指令序列用以指示将属于该些逻辑地址之中的第二逻辑地址的第二数据程序化至该些实体抹除单元之中的实体抹除单元,
其中所述存储器管理电路还用以在所述阵列中记录程序化所述第二数据的实体抹除单元,
其中所述阵列有第一端与第二端,且在所述第一端与所述第二端之间有多个位置,
其中在所述阵列中记录程序化所述第一数据的实体抹除单元的位置是接续在记录程序化所述第二数据的实体抹除单元的位置之后,并且记录程序化所述第一数据的实体抹除单元的位置与所述第一端之间的距离大于记录程序化所述第二数据的实体抹除单元的位置与所述第一端之间的距离。
10.根据权利要求9所述的存储器控制电路单元,其特征在于,所述根据所述时间标记从所述存有有效数据的该些实体抹除单元中选择该第一实体抹除单元,包括,所述存储器管理电路还用以从所述阵列的所述第二端开始依序选出一个实体抹除单元,
其中所述存储器管理电路还用以执行抹除次数判断运作,以判断所选出的实体抹除单元的抹除次数是否小于将该些实体抹除单元的平均抹除次数减去预定值所获得的值,
其中倘若所选出的实体抹除单元的抹除次数小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,所述存储器管理电路将所选出的实体抹除单元作为所述第一实体抹除单元,
其中倘若所选出的实体抹除单元的抹除次数不小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,所述存储器管理电路从所述阵列的所述第二端开始依序选出下一个实体抹除单元并执行上述所述抹除次数判断运作。
11.根据权利要求8所述的存储器控制电路单元,其特征在于,所述根据该些实体抹除单元之中存有有效数据的实体抹除单元的该程序化顺序将存有有效数据的每一实体抹除单元记录该时间标记包括,所述存储器管理电路还用以配置多个逻辑地址,其中该些逻辑地址映射存有有效数据的该些实体抹除单元,
其中所述存储器管理电路还用以发送第二指令序列,其中所述第二指令序列用以指示将属于该些逻辑地址之中的第一逻辑地址的第一数据程序化至该些实体抹除单元之中的实体抹除单元,
其中所述存储器管理电路还用以在程序化顺序表将对应程序化所述第一数据的实体抹除单元的时间标记记录为第一时间戳记,
其中所述存储器管理电路还用以接续在将所述第一数据程序化至该些实体抹除单元之中的实体抹除单元之后发送第三指令序列,其中所述第三指令序列用以指示将属于该些逻辑地址之中的第二逻辑地址的第二数据程序化至该些实体抹除单元之中的实体抹除单元,
其中所述存储器管理电路还用以在所述程序化顺序表将对应程序化所述第二数据的实体抹除单元的时间标记记录为一第二时间戳记,
其中所述第一时间戳记小于所述第二时间戳记。
12.根据权利要求11所述的存储器控制电路单元,其特征在于,所述根据所述时间标记从所述存有有效数据的该些实体抹除单元中选择该第一实体抹除单元,包括,所述存储器管理电路还用以依据记录在所述程序化顺序表的该些时间戳记,选出对应最小的时间戳记的实体抹除单元,
其中所述存储器管理电路还用执行抹除次数判断运作,以判断所选出的实体抹除单元的抹除次数是否小于将该些实体抹除单元的平均抹除次数减去预定值所获得的值,
其中倘若所选出的实体抹除单元的抹除次数小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,所述存储器管理电路将所选出的实体抹除单元作为所述第一实体抹除单元,
其中倘若所选出的实体抹除单元的抹除次数不小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,所述存储器管理电路依据记录在所述程序化顺序表的该些时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元并执行上述所述抹除次数判断运作。
13.根据权利要求8所述的存储器控制电路单元,其特征在于,每一该些实体抹除单元包括多个实体程序化单元,且每一该些实体程序化单元包括一数据比特区与一冗余比特区,其中,所述根据该些实体抹除单元之中存有有效数据的实体抹除单元的该程序化顺序将存有有效数据的每一实体抹除单元记录该时间标记,包括,所述存储器管理电路还用以配置多个逻辑地址,其中该些逻辑地址映射存有有效数据的该些实体抹除单元,
其中所述存储器管理电路还用以发送第二指令序列,其中所述第二指令序列用以指示将属于该些逻辑地址之中的第一逻辑地址的第一数据程序化至该些实体抹除单元之中的实体抹除单元,
其中在程序化所述第一数据的实体抹除单元的冗余比特区中记录有第一时间戳记,
其中所述存储器管理电路还用以接续在将所述第一数据程序化至该些实体抹除单元之中的实体抹除单元之后发送第三指令序列,其中所述第三指令序列用以指示将属于该些逻辑地址之中的第二逻辑地址的第二数据程序化至该些实体抹除单元之中的实体抹除单元,
其中在程序化所述第二数据的实体抹除单元的冗余比特区中记录有第二时间戳记,
其中所述第一时间戳记小于所述第二时间戳记。
14.根据权利要求13所述的存储器控制电路单元,其特征在于,所述根据所述时间标记从所述存有有效数据的该些实体抹除单元中选择第一实体抹除单元,包括,所述存储器管理电路还用以依据记录在存有有效数据的该些实体抹除单元的冗余比特区中的多个时间戳记,选出具有最小时间戳记的实体抹除单元,
其中所述存储器管理电路还用以执行抹除次数判断运作,以判断所选出的实体抹除单元的抹除次数是否小于将该些实体抹除单元的平均抹除次数减去预定值所获得的值,
其中倘若所选出的实体抹除单元的抹除次数小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,所述存储器管理电路将所选出的实体抹除单元作为所述第一实体抹除单元,
其中倘若所选出的实体抹除单元的抹除次数不小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,所述存储器管理电路依据记录在存有有效数据的该些实体抹除单元的冗余比特区中的该些时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元并执行上述所述抹除次数判断运作。
15.一种存储器储存装置,其特征在于,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,包括多个实体抹除单元;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以根据该些实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将存有有效数据的每一该些实体抹除单元记录时间标记,
其中所述存储器控制电路单元还用以将每一该些实体抹除单元记录抹除次数,
其中所述存储器控制电路单元还用以根据所述时间标记及所述抹除次数从存有有效数据的该些实体抹除单元中选择第一实体抹除单元,
其中所述存储器控制电路单元还用以根据每一该些实体抹除单元记录的所述抹除次数从没有存有有效数据的实体抹除单元中提取第二实体抹除单元,
其中所述存储器控制电路单元还用以发送第一指令序列,其中所述第一指令序列用以指示将所述第一实体抹除单元中的有效数据写入所述第二实体抹除单元,并且所述存储器控制电路单元将所述第一实体抹除单元标记为没有存有有效数据的实体抹除单元。
16.根据权利要求15所述的存储器储存装置,其特征在于,所述根据该些实体抹除单元之中存有有效数据的实体抹除单元的该程序化顺序将存有有效数据的每一该些实体抹除单元记录该时间标记,包括,所述存储器控制电路单元还用以配置多个逻辑地址,其中该些逻辑地址映射存有有效数据的该些实体抹除单元,
其中所述存储器控制电路单元还用以建立阵列,
其中所述存储器控制电路单元还用以发送第二指令序列,其中所述第二指令序列用以指示将属于该些逻辑地址之中的第一逻辑地址的第一数据程序化至该些实体抹除单元之中的实体抹除单元,
其中所述存储器控制电路单元还用以在所述阵列中记录程序化所述第一数据的实体抹除单元,
其中所述存储器控制电路单元还用以接续在将所述第一数据程序化至该些实体抹除单元之中的实体抹除单元之后发送第三指令序列,其中所述第三指令序列用以指示将属于该些逻辑地址之中的第二逻辑地址的第二数据程序化至该些实体抹除单元之中的实体抹除单元,
其中所述存储器控制电路单元还用以在所述阵列中记录程序化所述第二数据的实体抹除单元,
其中所述阵列有第一端与第二端,且在所述第一端与所述第二端之间有多个位置,
其中在所述阵列中记录程序化所述第一数据的实体抹除单元的位置是接续在记录程序化所述第二数据的实体抹除单元的位置之后,并且记录程序化所述第一数据的实体抹除单元的位置与所述第一端之间的距离大于记录程序化所述第二数据的实体抹除单元的位置与所述第一端之间的距离。
17.根据权利要求16所述的存储器储存装置,其特征在于,所述根据所述时间标记从存有有效数据的该些实体抹除单元中选择第一实体抹除单元,包括,所述存储器控制电路单元还用以从所述阵列的所述第二端开始依序选出一个实体抹除单元,
其中所述存储器控制电路单元还用以执行抹除次数判断运作,以判断所选出的实体抹除单元的抹除次数是否小于将该些实体抹除单元的平均抹除次数减去预定值所获得的值,
其中倘若所选出的实体抹除单元的抹除次数小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,所述存储器控制电路单元将所选出的实体抹除单元作为所述第一实体抹除单元,
其中倘若所选出的实体抹除单元的抹除次数不小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,所述存储器控制电路单元从所述阵列的所述第二端开始依序选出下一个实体抹除单元并执行上述所述抹除次数判断运作。
18.根据权利要求15所述的存储器储存装置,其特征在于,所述根据该些实体抹除单元之中存有有效数据的实体抹除单元的该程序化顺序将存有有效数据的每一该些实体抹除单元记录该时间标记,包括,所述存储器控制电路单元还用以配置多个逻辑地址,其中该些逻辑地址映射存有有效数据的该些实体抹除单元,
其中所述存储器控制电路单元还用以发送第二指令序列,其中所述第二指令序列用以指示将属于该些逻辑地址之中的第一逻辑地址的第一数据程序化至该些实体抹除单元之中的实体抹除单元,
其中所述存储器控制电路单元还用以在程序化顺序表将对应程序化所述第一数据的实体抹除单元的时间标记记录为第一时间戳记,
其中所述存储器控制电路单元还用以接续在将所述第一数据程序化至该些实体抹除单元之中的实体抹除单元之后发送第三指令序列,其中所述第三指令序列用以指示将属于该些逻辑地址之中的第二逻辑地址的第二数据程序化至该些实体抹除单元之中的实体抹除单元,
其中所述存储器控制电路单元还用以在所述程序化顺序表将对应程序化所述第二数据的实体抹除单元的时间标记记录为第二时间戳记,
其中所述第一时间戳记小于所述第二时间戳记。
19.根据权利要求18所述的存储器储存装置,其特征在于,所述根据所述时间标记从存有有效数据的该些实体抹除单元中选择该第一实体抹除单元,包括,所述存储器控制电路单元还用以依据记录在所述程序化顺序表的该些时间戳记,选出对应最小的时间戳记的实体抹除单元,
其中所述存储器控制电路单元还用以执行抹除次数判断运作,以判断所选出的实体抹除单元的抹除次数是否小于将该些实体抹除单元的平均抹除次数减去预定值所获得的值,
其中倘若所选出的实体抹除单元的抹除次数小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,所述存储器控制电路单元将所选出的实体抹除单元作为所述第一实体抹除单元,
其中倘若所选出的实体抹除单元的抹除次数不小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,所述存储器控制电路单元依据记录在所述程序化顺序表的该些时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元并执行上述所述抹除次数判断运作。
20.根据权利要求15所述的存储器储存装置,其特征在于,每一该些实体抹除单元包括多个实体程序化单元,且每一该些实体程序化单元包括一数据比特区与一冗余比特区,其中,所述根据该些实体抹除单元之中存有有效数据的实体抹除单元的程序化顺序将存有有效数据的每一该些实体抹除单元记录时间标记,包括,
所述存储器控制电路单元还用以配置多个逻辑地址,其中该些逻辑地址映射存有有效数据的该些实体抹除单元,
其中所述存储器控制电路单元还用以发送第二指令序列,其中所述第二指令序列用以指示将属于该些逻辑地址之中的第一逻辑地址的第一数据程序化至该些实体抹除单元之中的实体抹除单元,
其中在程序化所述第一数据的实体抹除单元的冗余比特区中记录有第一时间戳记,
其中所述存储器控制电路单元还用以接续在将所述第一数据程序化至该些实体抹除单元之中的实体抹除单元之后发送第三指令序列,其中所述第三指令序列用以指示将属于该些逻辑地址之中的第二逻辑地址的第二数据程序化至该些实体抹除单元之中的实体抹除单元,
其中在程序化所述第二数据的实体抹除单元的冗余比特区中记录有第二时间戳记,
其中所述第一时间戳记小于所述第二时间戳记。
21.根据权利要求20所述的存储器储存装置,其特征在于,所述根据所述时间标记从存有有效数据的该些实体抹除单元中选择该第一实体抹除单元,包括,所述存储器控制电路单元还用以依据记录在存有有效数据的该些实体抹除单元的冗余比特区中的多个时间戳记,选出具有最小时间戳记的实体抹除单元,
其中所述存储器控制电路单元还用以执行抹除次数判断运作,以判断所选出的实体抹除单元的抹除次数是否小于将该些实体抹除单元的平均抹除次数减去预定值所获得的值,
其中倘若所选出的实体抹除单元的抹除次数小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,所述存储器控制电路单元将所选出的实体抹除单元作为所述第一实体抹除单元,
其中倘若所选出的实体抹除单元的抹除次数不小于将该些实体抹除单元的平均抹除次数减去所述预定值所获得的值时,所述存储器控制电路单元依据记录在存有有效数据的该些实体抹除单元的冗余比特区中的该些时间戳记,由小到大依序选出对应下一个时间戳记的实体抹除单元并执行上述所述抹除次数判断运作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510411126.2A CN106354651B (zh) | 2015-07-14 | 2015-07-14 | 平均磨损方法、存储器控制电路单元及存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510411126.2A CN106354651B (zh) | 2015-07-14 | 2015-07-14 | 平均磨损方法、存储器控制电路单元及存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106354651A CN106354651A (zh) | 2017-01-25 |
CN106354651B true CN106354651B (zh) | 2020-05-26 |
Family
ID=57842161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510411126.2A Active CN106354651B (zh) | 2015-07-14 | 2015-07-14 | 平均磨损方法、存储器控制电路单元及存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106354651B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324921A (zh) * | 2017-07-31 | 2019-02-12 | 大心电子(英属维京群岛)股份有限公司 | 数据备份方法、数据恢复方法以及存储控制器 |
CN110389708B (zh) * | 2018-04-19 | 2022-11-22 | 群联电子股份有限公司 | 平均磨损方法、存储器控制电路单元与存储器存储装置 |
CN117632037B (zh) * | 2024-01-25 | 2024-05-03 | 合肥兆芯电子有限公司 | 数据存储方法、存储器存储装置及存储器控制器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354681A (zh) * | 2008-09-23 | 2009-01-28 | 美商威睿电通公司 | 存储器系统、非易失性存储器的磨损均衡方法及装置 |
CN101640069A (zh) * | 2008-08-01 | 2010-02-03 | 群联电子股份有限公司 | 用于闪速存储器的平均磨损方法、储存系统与控制器 |
CN101740100A (zh) * | 2008-11-27 | 2010-06-16 | 威刚科技股份有限公司 | 具平均抹除机制的闪存装置及其控制方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6831865B2 (en) * | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
JP2015001908A (ja) * | 2013-06-17 | 2015-01-05 | 富士通株式会社 | 情報処理装置、制御回路、制御プログラム、および制御方法 |
-
2015
- 2015-07-14 CN CN201510411126.2A patent/CN106354651B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101640069A (zh) * | 2008-08-01 | 2010-02-03 | 群联电子股份有限公司 | 用于闪速存储器的平均磨损方法、储存系统与控制器 |
CN101354681A (zh) * | 2008-09-23 | 2009-01-28 | 美商威睿电通公司 | 存储器系统、非易失性存储器的磨损均衡方法及装置 |
CN101740100A (zh) * | 2008-11-27 | 2010-06-16 | 威刚科技股份有限公司 | 具平均抹除机制的闪存装置及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106354651A (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9448868B2 (en) | Data storing method, memory control circuit unit and memory storage apparatus | |
US9268687B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US9665481B2 (en) | Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit | |
US10409525B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US9213629B2 (en) | Block management method, memory controller and memory stoarge apparatus | |
US9582416B2 (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
US9141476B2 (en) | Method of storing system data, and memory controller and memory storage apparatus using the same | |
US9213631B2 (en) | Data processing method, and memory controller and memory storage device using the same | |
CN106372000B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
US20130332653A1 (en) | Memory management method, and memory controller and memory storage device using the same | |
CN103678162B (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
US8943264B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
US9778862B2 (en) | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus | |
CN106959818B (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN106354651B (zh) | 平均磨损方法、存储器控制电路单元及存储器储存装置 | |
US20140089566A1 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN107103930B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
US10824340B2 (en) | Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus | |
CN106469019B (zh) | 存储器管理方法、存储器控制电路单元及存储器储存装置 | |
CN109032957B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN110162493B (zh) | 存储器管理方法及使用所述方法的储存控制器 | |
CN113138720A (zh) | 数据存储方法、存储器控制电路单元以及存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |