CN102201259A - 非易失性存储器的平均抹写方法 - Google Patents

非易失性存储器的平均抹写方法 Download PDF

Info

Publication number
CN102201259A
CN102201259A CN2010101450708A CN201010145070A CN102201259A CN 102201259 A CN102201259 A CN 102201259A CN 2010101450708 A CN2010101450708 A CN 2010101450708A CN 201010145070 A CN201010145070 A CN 201010145070A CN 102201259 A CN102201259 A CN 102201259A
Authority
CN
China
Prior art keywords
group
storage
block
data
stored
Prior art date
Application number
CN2010101450708A
Other languages
English (en)
Inventor
徐正煜
杨文宗
蔡松峰
Original Assignee
建兴电子科技股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 建兴电子科技股份有限公司 filed Critical 建兴电子科技股份有限公司
Priority to CN2010101450708A priority Critical patent/CN102201259A/zh
Publication of CN102201259A publication Critical patent/CN102201259A/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically

Abstract

一种平均抹写储存区块方法,应用于一非易失性存储器,该方法包含:根据非易失性存储器中每一储存区块的一历史数值与是否储存有数据,将该多个储存区块分类为一第一群组、一第二群组与一第三群组;计算出该非易失性存储器中所有储存区块的一平均历史数值;自该第三群组中将一冷数据搬移至该第一群组,且根据将该冷数据写入至该第一群组的一绝对时间,更新该冷数据所属储存区块的历史数值;清除原存有该冷数据的储存区块并由该第三群组分类至该第二群组;将一储存区块由该第二群组分类至该第一群组;以及将该储存有冷数据的储存区块由该第一群组分类至该第三群组。

Description

非易失性存储器的平均抹写方法

技术领域

[0001] 本发明为一种非易失性存储器的平均抹写方法,尤指一种以储存区块(block)的历史数值(history number)为主要参数的非易失性存储器的平均抹写方法

背景技术

[0002] 目前的存储器(memory)大致可分为两类,分别是易失性存储器 (volatilememory)跟非易失性存储器(non-volatile memory) 0易失性存储器以静态随机存取存储器(SRAM)与动态随机存取存储器(DRAM)为代表,其特征为当提供易失性存储器所需的电源被关闭时,储存于易失性存储器内的数据就会消失不见。非易失性存储器以可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存(flash memory)为代表,其特征为当提供非易失性存储器所需的电源被关闭时,储存于非易失性存储器内的数据依然可保存,但其缺点是相对的读取(read)跟写入(write)速度会比静态随机存取存储器或动态随机存取存储器慢。

[0003] 请参照图1,其所绘示为具有非易失性存储器装置的主机系统的结构示意图。主机系统100(例如移动式储存装置)主要包含系统总线(SyStembuS)104、微控制器(micro-processor) 108、随机存取存储器(RAM) 112、输入输出电路(input/output circuit) 116与非易失性存储器装置120。其中,微控制器108、随机存取存储器112、输入输出电路116与非易失性存储器装置120间可通过系统总线104作数据的传输。再者,主机系统100 (例如移动式储存装置)可经由输入输出电路116连接至另一主机系统(例如计算机系统)。

[0004] 请参照图2,其所绘示为非易失性存储器装置120的结构示意图。非易失性存储器装置120主要包含非易失性存储器124与存储器控制器(memorycontroller) 128。非易失性存储器124由多个储存区块(block)所组成(Block-O至Block-Ν),而每一储存区块再由多个页面(page)所组成。此外,用以储存数据的每一页面包含有使用者数据(user data) 与冗余数据(overhead data,0H),其中使用者数据为使用者储存于非易失性存储器124内的数据,而冗余数据(OH)包含其所对应页面(page)的错误检测修正码(error correction code, ECC)与清除次数(erase count)等数据。

[0005] 在非易失性存储器的规格中,数据的读取或写入是以页面为最小单位,而数据的清除(erase)是以储存区块为最小单位。举例来说,储存于储存区块1 (Block-I)的页面 5(Page-5)数据可以被单独地写入或读取,但是欲清除储存于储存区块1 (Block-I)的页面 5(Page-5)的数据时,必须将储存于储存区块1 (Block-I)内所有页面的数据同时一起被清除。再者,非易失性存储器并不允许对同一页面作数据的直接更新(update),举例来说,若是欲更新页面5(Page-5)上的数据时,必须将所欲更新的数据存入另一原本未储存有数据的页面,再择机将页面5(Page-5)上的数据清除以写入更新的数据。

[0006] 由于非易失性存储器特殊的存取特性,也造成了非易失性存储器并不能与现存的文件系统(如FAT16/32、NTFS)直接兼容。为了让非易失性存储器可以在原有的文件系统(如FAT16/32、NTFS)下运作,必须另加入非易失性存储器地址转换层表(Flash Translation Layer Table, FTL Table)。非易失性存储器地址转换层表(FTL Table)的主要功能为逻辑区块地址(Logical BlockAddress, LBA)与物理地址(Physical Block Address, PBA)间的转换工作,亦即将主机(Host)送出的逻辑区块地址(LBA),转换成非易失性存储器的物理地址(PBA)。一般来说,为了提高非易失性存储器的存取速度,非易失性存储器地址转换层表大部分储存于速度较快的随机存取存储器112内。

[0007] 如前所述,非易失性存储器数据的清除是以储存区块为最小单位。而由于非易失性存储器先天物理结构的限制,根据非易失性存储器型态的不同,每一储存区块能被清除的次数有一定的限制(例如十万次)。当某一储存区块被清除的次数超过一定的限制时, 会造成整个非易失性存储器效能(performance)的降低、储存于此储存区块的数据容易消失或是甚至无法将数据正确地储存于此储存区块。此时,此储存区块则被视为磨损(worn out),不适于写入或储存数据。

[0008] 一般来说,储存于非易失性存储器的数据依其被更新的频率,可分为冷数据(cold data)与热数据(hot data)。举例来说,冷数据包含有操作系统的程序码(code)与多媒体数据等,此等数据几乎只被读取而鲜少被更新;热数据包含有记录文件(log file)等,此等数据需要经常地被更新。如果冷数据只被固定地储存于某些特定储存区块而热数据也只被固定地储存于另些特定储存区块,则将造成储存有热数据的储存区块的磨损是远早于储存有冷数据的储存区块。因此,一般采用平均抹写储存区块(wear leveling)方法,让非易失性存储器内的每一储存区块尽可能被平均使用,以延长非易失性存储器的使用寿命。平均抹写储存区块方法主要采取的作法为存储器交换(SWAP),亦即将鲜少被更新的冷数据移至已被多次清除的储存区块中。由于将冷数据移至清除次数相对较高的储存区块,将导致此清除次数相对较高的储存区块在随后被清除的频率大为降低,这将使得整个非易失性存储器内所有储存区块被清除的频率趋于一致,进而达到延长非易失性存储器使用寿命的目的。

[0009] 美国专利(US 7,035,967 B2)揭露一种平均抹写储存区块方法。请参照图3,其所绘示为美国专利(US 7,035,967 B2)所揭露平均抹写储存区块初始化的流程图。此平均抹写储存区块初始化的主要目的是将非易失性存储器内所有储存区块分类为映像群组、已清除且具较高清除次数群组与已清除且具较低清除次数群组,且计算出非易失性存储器内所有储存区块的平均清除次数(average erase count)。

[0010] 首先,接受平均抹写储存区块初始化的指令(步骤302)。此平均抹写储存区块初使化的指令可由使用者主动实施,或由该主机系统于符合某些特定条件下自动实施。

[0011] 随后,确认出非易失性存储器内所有已被清除的储存区块(erasedblock)(步骤 304)。当非易失性存储器内所有已被清除的储存区块被确认后,可根据每一页面的冗余数据所储存的清除次数,从所有已被清除的储存区块中,找出前N个具有相对较高清除次数的储存区块,并将此N个具有较高清除次数且已被清除的储存区块分类于已清除且具较高清除次数群组(步骤306)。其中,数字N的选择可根据非易失性存储器内所有储存区块的实际数目所决定。再者,将特定储存区块分类至已清除且具较高清除次数群组可通过更新非易失性存储器地址转换层表来表示。

[0012] 随后,从所有已被清除的储存区块中,找出前M个具有相对较少清除次数的储存区块,并将此M个具有较少清除次数且已被清除的储存区块分类于已清除且具较少清除次数群组(步骤308)。同理,数字M的选择可根据非易失性存储器内所有储存区块的实际数目所决定。再者,将特定储存区块分类至已清除且具较少清除次数群组可通过更新非易失性存储器地址转换层表来表示。

[0013] 随后,将剩下所有尚未被分类的储存区块分类于映像群组(步骤310)。其中映像群组中包含有非易失性存储器内所有储存有数据的储存区块以及部分已被清除的储存区块,且此部分已被清除的储存区块的清除次数是介于已清除且具较高清除次数群组与已清除且具较低清除次数群组内的储存区块的清除次数之间。

[0014] 将非易失性存储器内所有储存区块分类完成后,计算出非易失性存储器内所有储存区块的平均清除次数(步骤312)。此步骤可经由将非易失性存储器内所有储存区块的清除次数相加,再除以非易失性存储器内所有储存区块的数目得出。

[0015] 在执行图3所示的平均抹写储存区块初始化的流程后,即可进行平均抹写储存区块方法,亦即根据平均抹写储存区块初始化所得的结果,将原本储存于某一储存区块的冷数据,搬移至清除次数相对较高的另一储存区块中。

[0016] 请参照图4,其所绘示为美国专利(US 7,035,967 B2)所揭露针对某一储存有冷数据的储存区块的平均抹写储存区块方法的流程图。首先,自映像群组中选取一储存有数据的储存区块A(步骤402)。随后,判断储存区块A所储存的数据是否为冷数据(步骤404)。 储存区块A所储存的数据是否为冷数据可由储存区块A的清除次数与平均清除次数相比较判断得知,也就是说,若储存区块A的清除次数远小于平均清除次数,则代表储存区块A鲜少被清除,即可判断出储存区块A所储存的数据为冷数据。反之,若储存区块A的清除次数非远小于平均清除次数,则代表储存区块A并非鲜少被清除,即可判断出储存区块A所储存的数据并非为冷数据。若储存区块A所储存的数据为冷数据,则自已清除且具较高清除次数群组中选取一储存区块B (步骤406)。一般来说,储存区块B为自已清除且具较高清除次数群组中挑选出具最高的清除次数者。随后,将储存区块A所储存的数据复制(copy)至储存区块B (步骤408),亦即,将储存区块A的使用者数据复制至储存区块B。一旦储存区块A 的使用者数据被复制至储存区块B后,储存区块A即可被清除,当储存区块A被清除后,储存区块A的清除次数则被累进加一(步骤410)。

[0017] 随后,自已清除且具较低清除次数群组中选取一储存区块C,并将储存区块C分类至已清除且具较高清除次数群组内(步骤412)。一般来说,储存区块C为自已清除且具较低清除次数群组中选取具最高的清除次数者。将储存区块C分类至已清除且具较高清除次数群组主要是为了替已清除且具较低清除次数群组清出空间,使得储存区块A可在随后的步骤中由映射群组被分类至已清除且具较低清除次数群组内(步骤414)。随后,由于储存区块B已储存有数据,储存区块B将被分类至映像群组(步骤416)。

[0018] 通过图4所示的平均抹写储存区块方法的流程,原本储存有冷数据而导致清除次数相对偏低的储存区块A,由于其所储存的冷数据被复制至储存区块B,使得储存区块A可被清除而提高其利用率。再者,由于储存区块B的清除次数相对偏高,通过将冷数据搬移至储存区块B后,使得储存区块B的清除次数在随后将有效地被控制。再者,将储存区块A由原本的映像群组分类至已清除且具较少清除次数群组,将储存区块B由原本的已清除且具较高清除次数群组分类至映像群组,与将储存区块C由原本的已清除且具较少清除次数群组分类至已清除且具较高清除次数群组可经由更新非易失性存储器地址转换层表来表示。

[0019] 当非易失性存储器内所有储存有冷数据的储存区块经由图4所示的平均抹写储存区块方法处理后,即可达成非易失性存储器的平均抹写储存区块。

发明内容

[0020] 已知的平均抹写储 存区块方法是以储存区块的清除次数作为主要参数,根据清除次数来做平均抹写储存区块方法。本发明则是提出另一种参数取代清除次数,作为平均抹写储存区块方法的主要参数。

[0021] 本发明提出一种平均抹写储存区块方法,应用于一具有多个储存区块的非易失性存储器,该方法包含有:根据每一储存区块的一历史数值与是否储存有数据,将该多个储存区块分类为一第一群组、一第二群组与一第三群组;计算出该非易失性存储器的一平均历史数值;自该第三群组中选取一储存有一冷数据的一第一储存区块;自该第一群组中选取一第二储存区块;将储存于该第一储存区块的该冷数据复制至该第二储存区块,且根据将该冷数据写入至该第二储存区块的一绝对时间,对该第二储存区块的该历史数值作更新; 清除该第一储存区块;自该第二群组中选取一第三储存区块,并将该第三储存区块分类至该第一群组;将该第一储存区块由该第三群组分类至该第二群组;以及将该第二储存区块由该第一群组分类至该第三群组。

[0022] 在本发明的平均抹写储存区块方法中,该历史数值为其储存区块所储存数据的绝对时间,该第一群组由该非易失性存储器所有该些储存区块中具有相对较高的该历史数值且无储存有数据的N个储存区块所组成;该第二群组由该非易失性存储器所有该些储存区块中具有相对较低的该历史数值且无储存有数据的M个储存区块所组成;该第三群组由该非易失性存储器所有该些储存区块中去除分类于该第一群组与该第二群组的多个储存区块所组成。

[0023] 当非易失性存储器内所有储存有冷数据的储存区块经由本发明的平均抹写储存区块方法处理后,即可达成非易失性存储器的平均抹写储存区块。

附图说明

[0024] 本发明得通过下列图式及说明,俾得一更深入的了解:

[0025] 图1所绘示为具有非易失性存储器装置的主机系统的结构示意图。

[0026] 图2所绘示为非易失性存储器装置的结构示意图。

[0027] 图3所绘示为美国专利(US 7,035,967 B2)所揭露平均抹写储存区块初始化的流程图。

[0028] 图4所绘示为美国专利(US 7,035,967 B2)所揭露平均抹写储存区块方法的流程图。

[0029] 图5所绘示为本发明的平均抹写储存区块初始化的流程图。

[0030] 图6所绘示为本发明的平均抹写储存区块方法的流程图。

[0031] 本发明图式中所包含的各元件列式如下:

[0032] 主机系统100 系统总线104

[0033] 微控制器108 随机存取存储器112[0034] 输入输出电路116 非易失性存储器装置120

[0035] 非易失性存储器124 存储器控制器128

具体实施方式

[0036] 已知的平均抹写储存区块方法是以储存区块的清除次数作为主要参数,根据清除次数来做平均抹写储存区块方法。本发明则是以储存区块的历史数值取代清除次数,作为平均抹写储存区块方法的主要参数。

[0037] —般在具有非易失性存储器装置的主机系统中,另有一参数用以记录每一储存区块最近一次写入数据的绝对时间,而此绝对时间是从主机系统于第一次通电启动后开始计算,且以每两分钟作累加。举例来说,某一储存区块于其主机系统第一次通电启动后的第一绝对时间被第一次写入数据,则主机系统会将此第一绝对时间记录下来,并将此储存区块的历史数值定义为此第一绝对时间。当此储存区块于其主机系统第一次通电启动后的第二绝对时间再次被写入数据,则主机系统会将此第二绝对时间记录下来,并将此储存区块的历史数值更新为第二绝对时间。

[0038] 显而易见地,当某一储存区块的历史数值远低于所有储存区块的平均历史数值 (average history number)时,则此储存区块最近一次被写入数据的时间则距离现在时间相对久远,亦即储存于此储存区块的数据在距离现在相对久远的时间内未被更新,则储存于此储存区块的数据可视为一冷数据。反之,当某一储存区块的历史数值远高于所有储存区块的平均历史数值时,则此储存区块最近一次被写入数据的时间则距离现在时间相对接近,亦即储存于此储存区块的数据在距离现在相对接近的时间内被更新过,则储存于此储存区块的数据可视为一热数据。

[0039] 本发明的平均抹写储存区块方法即以此特征,将冷数据搬移至具相对较大历史数值的储存区块内,以平均使用非易失性存储器内所有储存区块,进而延长非易失性存储器的使用寿命。

[0040] 请参照图5,其所绘示为本发明的平均抹写储存区块初始化的流程图。此平均抹写储存区块初始化主要是将非易失性存储器内所有储存区块分类为映像群组、已清除且具较高历史数值群组与已清除且具较低历史数值群组,且计算出非易失性存储器内所有储存区块的平均历史数值。

[0041] 首先,接受平均抹写储存区块初始化的指令(步骤502)。此平均抹写储存区块初使化的指令可由使用者主动实施,或由储存区块所属的主机系统于符合某些特定条件下自动实施。

[0042] 随后,确认出非易失性存储器内所有已被清除的储存区块(步骤504)。当非易失性存储器内所有已被清除的储存区块被确认后,将所记录下的每一储存区块的历史数值与一较高的预设历史数值相比,从所有已被清除的储存区块中找出前N个具有相对较高历史数值的储存区块,并将此N个具有较高历史数值且已被清除的储存区块分类于已清除且具较高历史数值群组(步骤506)。其中,数字N的选择可根据非易失性存储器内所有储存区块的实际数目所决定。再者,将特定储存区块分类至已清除且具较高历史数值群组可通过更新非易失性存储器地址转换层表来表示。

[0043] 随后,将每一储存区块的历史数值与一较低的预设历史数值相比,从所有已被清除的储存区块中找出前M个具有相对较少历史数值的储存区块,并将此M个具有较少历史数值且已被清除的储存区块分类于已清除且具较少历史数值群组(步骤508)。同理,数字 M的选择可根据非易失性存储器内所有储存区块的实际数目所决定。再者,将特定储存区块分类至已清除且具较少历史数值群组可通过更新非易失性存储器地址转换层表来表示。

[0044] 随后,将剩下所有尚未被分类的储存区块分类于映像群组(步骤510)。其中映像群组中包含有非易失性存储器内所有储存有数据的储存区块,以及部分已被清除的储存区块,且此部分已被清除的储存区块的历史数值是介于已清除且具较高历史数值群组与已清除且具较低历史数值群组内的储存区块的历史数值之间。

[0045] 将非易失性存储器内所有储存区块分类完成后,最后,计算出非易失性存储器内所有储存区块的平均历史数值(步骤512)。此步骤可经由将非易失性存储器内所有储存区块的历史数值相加,再除以非易失性存储器内所有储存区块的数目得出。

[0046] 在执行图5所示本发明的平均抹写储存区块初始化的流程后,即可进行本发明的平均抹写储存区块方法,亦即根据平均抹写储存区块初始化所得的结果,将原本储存于某一储存区块的冷数据,搬移至历史数值相对较高的另一储存区块中。

[0047] 请参照图6,其所绘示为本发明的针对某一储存有冷数据的储存区块的平均抹写储存区块方法的流程图。首先,自映像群组中选取一储存有数据的储存区块x(步骤602)。 随后,判断储存区块X所储存的数据是否为一冷数据(步骤604)。储存区块X所储存的数据是否为冷数据可由储存区块X的历史数值与平均历史数值的比较判断出,也就是说,若储存区块X的历史数值远小于平均历史数值,则此储存区块最近一次被写入数据的时间则距离现在时间相对久远,亦即储存于此储存区块的数据在距离现在相对久远时间内未被更新,则储存于此储存区块的数据可视为冷数据。反之,若储存区块X的历史数值非远小于平均历史数值,即可判断出储存区块X所储存的数据并非为冷数据。若储存区块X所储存的数据为冷数据,则自已清除且具较高历史数值群组中选取一储存区块Y (步骤606)。一般来说,储存区块Y为自已清除且具较高历史数值群组中挑选出具最高的历史数值者。随后,将储存区块X所储存的数据复制至储存区块Y,亦即,将储存区块X的使用者数据复制至储存区块Y,且根据将数据写入至储存区块Y的绝对时间,将储存区块Y的历史数值作更新(步骤608)。一旦储存区块X的使用者数据被复制至储存区块Y后,储存区块X即可被清除(步骤 610)。

[0048] 随后,自已清除且具较低历史数值群组中选取一储存区块Z,并将储存区块Z分类至已清除且具较高历史数值群组内(步骤612)。一般来说,储存区块Z为自已清除且具较低历史数值群组中选取具最高的历史数值者。将储存区块Z分类至已清除且具较高历史数值群组主要是为了替已清除且具较低清除次数群组清出空间,使得储存区块X可在随后的步骤中由映射群组被分类至已清除且具较低历史数值群组内(步骤614)。随后,由于储存区块Y已储存有数据,储存区块Y将被分类至映像群组(步骤616)。

[0049] 通过图6所示本发明的平均抹写储存区块方法流程,原本储存有冷数据而导致历史数值相对偏低的储存区块X,由于将其所储存的冷数据被复制至储存区块Y,使得储存区块X可被清除,待下次进行平均抹写储存区块方法时,储存区块X可被利用而提高其利用率。再者,由于储存区块Y的历史数值相对偏高,通过将冷数据移至储存区块Y后,使得储存区块Y的历史数值变高后,储存区块Y的数据将变成热数据,在之后的一段时间内,储存

9区块Y的数据将不再进行更动,直到其余储存区块的历史数值超过储存区块Y的历史数值时才会变更到储存区块Y的数据,因此储存区块Y的历史数值在随后将有效地被控制。再者,将储存区块X由原本的映像群组分类至已清除且具较少历史数值群组,将储存区块Y由原本的已清除且具较高历史数值群组分类至映像群组,与将储存区块Z由原本的已清除且具较少历史数值群组分类至已清除且具较高历史数值群组可经由更新非易失性存储器地址转换层表来表示。

[0050] 当非易失性存储器内所有储存有冷数据的储存区块经由图6所示本发明的平均抹写储存区块方法流程处理后,即可达成非易失性存储器的平均抹写储存区块。

[0051] 在本发明实施例中,具有较高及较低历史数值的两个群组是根据将所有储存区块的历史数值与两个预设的历史数值来比较,因此可以将非易失性存储器分类为三个群组: 映射群组、已清除且具较高历史数值群组与已清除且具较低历史数值群组。然而,也可以以两个以上的预设历史数值,将非易失性存储器的储存区块分类为更多群组,以进行更详细的分类来进行平均抹写储存区块方法,其方法与上述类似,在此便不再赘述。

[0052] 综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作各种更动与润饰,因此本发明的保护范围当视所附的权利要求范围所界定者为准。

Claims (12)

1. 一种平均抹写储存区块方法,应用于一具有多个储存区块的非易失性存储器,该方法包含有下列步骤:根据每一储存区块的一历史数值与是否储存有数据,将该多个储存区块分类为一第一群组、一第二群组与一第三群组,其中该历史数值为其储存区块所储存数据的一绝对时间, 该第一群组由该非易失性存储器所有该多个储存区块中具有相对较高的该历史数值且无储存有数据的N个储存区块所组成;该第二群组由该非易失性存储器所有该多个储存区块中具有相对较低的该历史数值且无储存有数据的M个储存区块所组成;该第三群组由该非易失性存储器所有该多个储存区块中去除分类于该第一群组与该第二群组的多个储存区块所组成;计算出该非易失性存储器的一平均历史数值;自该第三群组中选取储存有一冷数据的一第一储存区块;自该第一群组中选取一第二储存区块;将储存于该第一储存区块的该冷数据复制至该第二储存区块,且根据将该冷数据写入至该第二储存区块的该绝对时间,对该第二储存区块的该历史数值作更新;以及清除该第一储存区块。
2.根据权利要求1所述的平均抹写储存区块方法,其中还包括下列步骤:自该第二群组中选取一第三储存区块,并将该第三储存区块分类至该第一群组;将该第一储存区块由该第三群组分类至该第二群组;以及将该第二储存区块由该第一群组分类至该第三群组。
3.根据权利要求2所述的平均抹写储存区块方法,其中该第三储存区块为选取自该第二群组中具最高历史数值的储存区块。
4.根据权利要求1所述的平均抹写储存区块方法,其中该第二储存区块为选取自该第一群组中具最高历史数值的储存区块。
5.根据权利要求1所述的平均抹写储存区块方法,其中任一储存区块分类至该第一群组、该第二群组及该第三群组是通过更新该非易失性存储器的一非易失性存储器地址转换层表来表不。
6.根据权利要求1所述的平均抹写储存区块方法,其中该绝对时间为其所对应的储存区块最近一次被写入的时间。
7.根据权利要求6所述的平均抹写储存区块方法,其中该绝对时间由该非易失性存储器所属的一主机系统第一次通电启动的时间开始起算。
8.根据权利要求1所述的平均抹写储存区块方法,其中该平均历史数值是经由该非易失性存储器内所有该多个储存区块的的该历史数值相加,再除以该非易失性存储器内所有该多个储存区块的数目得出。
9.根据权利要求1所述的平均抹写储存区块方法,其中该冷数据是由其所储存的储存区块的该历史数值与该平均历史数值的比较而判断出。
10.根据权利要求9所述的平均抹写储存区块方法,其中若任一储存有数据且该储存区块的该历史数值小于该平均历史数值时,则该储存区块所储存的数据为该冷数据。
11.根据权利要求1所述的平均抹写储存区块方法,其中该平均抹写储存区块方法是由使用者主动实施,或由该非易失性存储器所属的一主机系统于符合某些特定条件下自动实施。
12.根据权利要求1所述的平均抹写储存区块方法,其中还包含下列步骤: 根据两个预设且大小不同的历史数值,将该非易失性存储器的所有储存区块分类为该第一群组、该第二群组与该第三群组。
CN2010101450708A 2010-03-24 2010-03-24 非易失性存储器的平均抹写方法 CN102201259A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101450708A CN102201259A (zh) 2010-03-24 2010-03-24 非易失性存储器的平均抹写方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2010101450708A CN102201259A (zh) 2010-03-24 2010-03-24 非易失性存储器的平均抹写方法
US12/981,754 US20110238892A1 (en) 2010-03-24 2010-12-30 Wear leveling method of non-volatile memory

Publications (1)

Publication Number Publication Date
CN102201259A true CN102201259A (zh) 2011-09-28

Family

ID=44657643

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101450708A CN102201259A (zh) 2010-03-24 2010-03-24 非易失性存储器的平均抹写方法

Country Status (2)

Country Link
US (1) US20110238892A1 (zh)
CN (1) CN102201259A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425586A (zh) * 2012-05-17 2013-12-04 群联电子股份有限公司 储存单元管理方法、存储器控制器与存储器储存装置
CN103839578A (zh) * 2012-11-27 2014-06-04 李欣 一种提高基于nand的固态存储器数据保持时间的方法
US9274943B2 (en) 2012-05-08 2016-03-01 Phison Electronics Corp. Storage unit management method, memory controller and memory storage device using the same

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694718B2 (en) 2008-12-30 2014-04-08 Micron Technology, Inc. Wear leveling for erasable memories
US8909851B2 (en) 2011-02-08 2014-12-09 SMART Storage Systems, Inc. Storage control system with change logging mechanism and method of operation thereof
US20120203993A1 (en) * 2011-02-08 2012-08-09 SMART Storage Systems, Inc. Memory system with tiered queuing and method of operation thereof
US8935466B2 (en) 2011-03-28 2015-01-13 SMART Storage Systems, Inc. Data storage system with non-volatile memory and method of operation thereof
US9076528B2 (en) * 2011-05-31 2015-07-07 Micron Technology, Inc. Apparatus including memory management control circuitry and related methods for allocation of a write block cluster
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9021319B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
US9021231B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Storage control system with write amplification control mechanism and method of operation thereof
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US20130275692A1 (en) * 2012-04-16 2013-10-17 Shak Loong Kwok Storage device and methods thereof
US9251056B2 (en) * 2012-06-01 2016-02-02 Macronix International Co., Ltd. Bucket-based wear leveling method and apparatus
US8949689B2 (en) 2012-06-11 2015-02-03 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US9547586B2 (en) * 2013-01-03 2017-01-17 Macronix International Co., Ltd. Metadata containers with indirect pointers
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9470720B2 (en) 2013-03-08 2016-10-18 Sandisk Technologies Llc Test system with localized heating and method of manufacture thereof
US9043780B2 (en) 2013-03-27 2015-05-26 SMART Storage Systems, Inc. Electronic system with system modification control mechanism and method of operation thereof
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US9575884B2 (en) * 2013-05-13 2017-02-21 Qualcomm Incorporated System and method for high performance and low cost flash translation layer
US9898056B2 (en) 2013-06-19 2018-02-20 Sandisk Technologies Llc Electronic assembly with thermal channel and method of manufacture thereof
US9313874B2 (en) 2013-06-19 2016-04-12 SMART Storage Systems, Inc. Electronic system with heat extraction and method of manufacture thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9965199B2 (en) 2013-08-22 2018-05-08 Sandisk Technologies Llc Smart dynamic wear balancing between memory pools
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9348748B2 (en) * 2013-12-24 2016-05-24 Macronix International Co., Ltd. Heal leveling
KR20160077343A (ko) 2014-12-22 2016-07-04 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US9772939B2 (en) * 2015-01-05 2017-09-26 International Business Machines Corporation Heat-based key-value slot organization for flash-optimized data placement in multi-tiered storage systems
KR20160112529A (ko) 2015-03-19 2016-09-28 삼성전자주식회사 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
KR20160150451A (ko) * 2015-06-22 2016-12-30 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
CN101030166A (zh) * 2006-03-03 2007-09-05 凌阳科技股份有限公司 非易失性存储器的平均抹除方法与装置
US20090300269A1 (en) * 2008-05-28 2009-12-03 Radke William H Hybrid memory management

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001079262A (ja) * 1999-09-10 2001-03-27 Sony Computer Entertainment Inc 情報処理装置、エンタテインメント装置、起動画像表示方法および情報記録媒体
TWI373771B (en) * 2008-06-06 2012-10-01 Phison Electronics Corp Memory management method for non-volatile memory and controller using the same
CN101354681B (zh) * 2008-09-23 2010-12-01 美商威睿电通公司 存储器系统、非易失性存储器的磨损均衡方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
CN101030166A (zh) * 2006-03-03 2007-09-05 凌阳科技股份有限公司 非易失性存储器的平均抹除方法与装置
US20090300269A1 (en) * 2008-05-28 2009-12-03 Radke William H Hybrid memory management

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9274943B2 (en) 2012-05-08 2016-03-01 Phison Electronics Corp. Storage unit management method, memory controller and memory storage device using the same
CN103425586A (zh) * 2012-05-17 2013-12-04 群联电子股份有限公司 储存单元管理方法、存储器控制器与存储器储存装置
CN103425586B (zh) * 2012-05-17 2016-09-14 群联电子股份有限公司 储存单元管理方法、存储器控制器与存储器储存装置
CN103839578A (zh) * 2012-11-27 2014-06-04 李欣 一种提高基于nand的固态存储器数据保持时间的方法
CN103839578B (zh) * 2012-11-27 2017-02-08 广东华晟数据固态存储有限公司 一种提高基于nand的固态存储器数据保持时间的方法

Also Published As

Publication number Publication date
US20110238892A1 (en) 2011-09-29

Similar Documents

Publication Publication Date Title
CN101673245B (zh) 包括存储器管理装置的信息处理装置和存储器管理方法
US9177638B2 (en) Methods and devices for avoiding lower page corruption in data storage devices
US7386758B2 (en) Method and apparatus for reconstructing data in object-based storage arrays
CN102667740B (zh) 将数据存储装置分区与物理数据扇区的边界对齐
CN103377010B (zh) 管理数据存储系统中的不可靠存储器的系统和方法
US9430376B2 (en) Priority-based garbage collection for data storage systems
US9652376B2 (en) Cooperative flash memory control
US8156279B2 (en) Storage device and deduplication method
US9042181B2 (en) Periodic erase operation for a non-volatile medium
US8886882B2 (en) Method and apparatus of storage tier and cache management
KR101717644B1 (ko) 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법
US9323465B2 (en) Systems and methods for persistent atomic storage operations
US8578127B2 (en) Apparatus, system, and method for allocating storage
EP2920697B1 (en) Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
US20050132212A1 (en) Policy-driven file system with integrated RAID functionality
US9122579B2 (en) Apparatus, system, and method for a storage layer
US8332576B2 (en) Data reading method for flash memory and controller and storage system using the same
TWI358068B (en) Writing method for non-volatile memory and control
KR100789406B1 (ko) 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법
US9489263B2 (en) Selective ECC refresh for on die buffered non-volatile memory
US10318181B2 (en) System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
US10055285B2 (en) Physical page, logical page, and codeword correspondence
US20050055497A1 (en) Faster write operations to nonvolatile memory by manipulation of frequently-accessed sectors
US20140195725A1 (en) Method and system for data storage
JP2009116873A (ja) ソリッドステートメモリ(ssm)、ssmを有するコンピュータシステム及びssm駆動方法

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)