CN115114180A - 在快闪存储器中进行耗损平衡操作的方法和相关控制器以及储存系统 - Google Patents

在快闪存储器中进行耗损平衡操作的方法和相关控制器以及储存系统 Download PDF

Info

Publication number
CN115114180A
CN115114180A CN202210160308.7A CN202210160308A CN115114180A CN 115114180 A CN115114180 A CN 115114180A CN 202210160308 A CN202210160308 A CN 202210160308A CN 115114180 A CN115114180 A CN 115114180A
Authority
CN
China
Prior art keywords
block
blocks
age
region
flash memory
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.)
Pending
Application number
CN202210160308.7A
Other languages
English (en)
Inventor
杨子逸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN115114180A publication Critical patent/CN115114180A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Abstract

本发明涉及一种在一快闪存储器中进行一耗损平衡操作的方法和相关控制器以及储存系统,该方法包含:根据一区块被抹除后,该快闪存储器进行抹除操作的次数,决定该快闪存储器的多个区块中每一区块的一区块年龄;透过将该多个区块的区块年龄与一年龄限制进行比较,从该多个区块中选出一个或多个候选来源区块;根据该一个或多个候选来源区块的抹除次数或者区块年龄,从该一个或多个候选来源区块中选出一来源区块;以及对该来源区块进行该耗损平衡操作。

Description

在快闪存储器中进行耗损平衡操作的方法和相关控制器以及 储存系统
技术领域
本发明关于快闪存储器,尤指在快闪存储器中进行耗损平衡操作的方法和相关控制器以及储存系统。
背景技术
快闪存储器由个别的可抹除区块组成,每个可抹除区块在提前耗损或者是超过其耐久度之前,具有有限的P/E(编程program/抹除erase)周期。因此,快闪存储器需定期依靠耗损平衡(wear-leveling)操作,防止特定区块上发生密集抹除,并且将抹除更均匀地分散在快闪存储器的所有区块上。
一般来说,只要空闲区块(spare block)的最高抹除次数与快闪存储器中的最低抹除次数之间的差值超过一个临界值,习知的静态耗损平衡(static wear-leveling)操作就会被触发。此时,抹除次数少的区块被选作为来源区块,且这些区块中的数据被当成冷数据(即,不常被存取的数据)。另一方面,具有高抹除次数的空闲区块则被选作为目的区块,并且这些区块中的数据被当成热数据(即,经常被存取的数据)。被认定的“冷数据”将被移动到目的区块,而被认定的“热数据”将被写入到来源区块。在这个情形下,可以预期在一段时间后,来源区块(现在包含热数据)的抹除次数有相对较大的增加,而目的区块(现在包含冷数据)的抹除次数的增加相对较小,从而使得抹除次数之间的差异得以平衡。然而,这种方式可能会导致意外的结果。
考虑图1A所示的情况,少量的区块(即区块组A)具有低抹除次数差值,并包含冷数据,而大量的区块(即,区块组B)具有高抹除次数差值,并包含热数据。之后,当区块组B的抹除次数差值达到抹除次数差值临界值ECTH,在时间T1将触发耗损平衡操作。由于区块组A中区块的抹除次数较少,这些区块被选作来源区块,而区块组A中的冷数据将被移动到区块组B中的多个区块(即,区块组B1)中。再者,热数据将被移动到区块组A中的区块,从而平衡两区块组的抹除次数差值。如图1B所示,当再次达到抹除次数差值临界值ECTH,在时间T2将触发耗损平衡操作。此时,由于区块组A中区块的抹除次数仍然很少,区块组A中的数据会被误认为是冷数据,并且被进一步移动到区块组B中的区块(即,区块组B2)中。
如此一来,先前在时间Tl时,被写入到区块组A1的“热数据”,会再次被移动到具有高抹除次数的区块组B2中的区块,从而导致区块组B2的抹除次数不断上升,继而无法平衡抹除次数之间的差异。由上可知,区块的抹除次数不能完美地反映出数据的温度,仅依靠抹除次数来选择耗损平衡操作的来源区块,可能会导致无意义的数据搬移,降低耗损平衡的效果,甚至可能使写入放大(write amplification)变得更糟。因此,有必要提供一种在耗损平衡操作中选择来源区块的方法。
发明内容
有鉴于此,本发明的目的之一在于提供一种执行耗损平衡操作的方法。本发明实施例提供了可更精确地判断数据温度的方式。首先,本发明维护一个区块年龄表,用以记录快闪存储器中的区块年龄。再者,本发明设定了年龄限制,一旦一个区块的区块年龄超过年龄限制,则判断该区块长时间未进行抹除操作,而该区块很可能包含冷数据,并将该区块选作耗损平衡操作的一个候选来源区块。透过本发明的技术,可以更加准确地判断数据温度,从而避免选出包含有热数据的区块作为来源区块。如此一来,本发明可有效提升耗损平衡的效率。
本发明实施例提供一种在一快闪存储器中进行执行一耗损平衡操作的方法,该方法包含:根据一区块被抹除后,该快闪存储器进行抹除操作的次数,决定该快闪存储器的多个区块中每一区块的一区块年龄;透过将该多个区块的区块年龄与一年龄限制进行比较,从该多个区块中选出一个或多个候选来源区块;根据该一个或多个候选来源区块的抹除次数或者区块年龄,从该一个或多个候选来源区块中选出一来源区块;以及对该来源区块进行该耗损平衡操作。
本发明实施例提供一种用于控制一快闪存储器并对该快闪存储器进行一耗损平衡操作的控制器。该控制器包含:一储存单元以及一处理单元。该储存单元用于储存资讯。该处理单元用于执行一程序码,并参考该快闪存储器或该储存单元中储存的资讯。该处理单元用以进行以下操作:根据一区块被抹除后,该快闪存储器进行抹除操作的次数,决定该快闪存储器的多个区块中每一区块的一区块年龄;透过将该多个区块的区块年龄与一年龄限制进行比较,从该多个区块中选出一个或多个候选来源区块;根据该一个或多个候选来源区块的抹除次数或者区块年龄,从该一个或多个候选来源区块中选出一来源区块;以及对该来源区块进行该耗损平衡操作。
本发明实施例提供一种储存系统,该储存系统包含一快闪存储器以及一控制器。该控制器用于控制该快闪存储器并对该快闪存储器进行一耗损平衡操作,并且进行以下操作:根据一区块被抹除后,该快闪存储器进行抹除操作的次数,决定该快闪存储器的多个区块中每一区块的一区块年龄;透过将该多个区块的区块年龄与一年龄限制进行比较,从该多个区块中选出一个或多个候选来源区块;根据该一个或多个候选来源区块的抹除次数或者区块年龄,从该一个或多个候选来源区块中选出一来源区块;以及对该来源区块进行该耗损平衡操作。
附图说明
图1A与图1B解释了习知技术如何进行耗损平衡操作。
图2为本发明实施例的电子装置的架构示意图。
图3绘示在本发明实施例中如何维护区块年龄表。
图4绘示在本发明实施例中维护区块年龄表的方法流程图。
图5A与图5B解释了本发明第一实施例如何设定年龄限制。
图6A与图6B解释了本发明第二实施例如何设定年龄限制。
图7A与图7B解释了本发明第三实施例如何设定年龄限制。
图8绘示在本发明实施例中针对快闪存储器中进行耗损平衡操作的方法流程图。
图9绘示本发明实施例针对快闪存储器的不同区域维护不同的区块年龄表。
【符号说明】
10 电子装置
50 主控装置
52 处理器
100 储存系统
120 NV存储器
122_1~122_N NV存储器元件
110 存储器控制器
112 微处理器112
112M 只读存储器
112C 程序码
114 控制逻辑电路
115 垃圾回收操作管理引擎
116 随机存取存储器
118 传输接口电路
210~230、310~340 步骤
具体实施方式
在以下内文中,描述了许多具体细节以提供阅读者对本发明实施例的透彻理解。然而,本领域的技术人士将能理解,如何在缺少一个或多个具体细节的情况下,或者利用其他方法或元件或材料等来实现本发明。在其他情况下,众所皆知的结构、材料或操作不会被示出或详细描述,从而避免模糊本发明的核心概念。
说明书中提到的“一实施例”意味着该实施例所描述的特定特征、结构或特性可能被包含于本发明的至少一个实施例中。因此,本说明书中各处出现的“在一实施例中”不一定意味着同一个实施例。此外,前述的特定特征、结构或特性可以以任何合适的形式在一个或多个实施例中结合。
图2为本发明实施例的电子装置10的架构示意图。如图所示,电子装置10包含主控装置(host device)50与储存系统100。主控装置50可包含:至少一处理器52,用来控制主控装置50的运作。在不同实施例中,主控装置50可以是(但不限于):智慧型手机、平板电脑、可穿戴装置、个人电脑、笔记型电脑、数位相机、数位录影机、游戏主机、车用导航系统、印表机、扫描器或者伺服器。另外,在不同实施例中,储存系统100可以是(但不限于):可携式储存装置(如符合SD/MMC、CF、MS、XD或UFS标准的记忆卡)、固态硬碟(solid state drive,SSD)以及各种嵌入式(embedded)储存装置(如符合UFS或EMMC规格的嵌入式储存装置)。
在本发明的各种实施例中,储存系统100可以包含如存储器控制器110之类的控制器,并且还可以包括非挥发性(non-volatile,NV)存储器120。NV存储器120用于储存资讯。NV存储器120可以包括一个或多个NV存储器元件,例如,多个NV存储器元件122_1-122_N。再者,NV存储器120可以是快闪存储器,并且NV存储器元件122_1-122_N可以分别是多个快闪存储器晶片或多个快闪存储器裸晶,但本发明不限于此。另外,NV存储器120可以包含具有二维结构的存储器单元(memory cells),或者可以包含具有三维结构的存储器单元。
如图1所示,存储器控制器110可以包含如微处理器112之类的处理电路、只读存储器(read-only memory,ROM)112M之类的储存元件、控制逻辑电路114、垃圾回收操作管理引擎115、挥发性存储器116和传输接口电路118。其中,这些元件的至少一部分(例如,一部分或全部)可以透过总线彼此互连。挥发性存储器116由随机存取存储器(random-accessmemory,RAM)实现。例如,挥发性存储器116可以是静态RAM(static RAM,SRAM)。挥发性存储器116可以用于向存储器控制器110提供内部储存空间,例如,暂时性地储存资讯。另外,本实施例的ROM112M用于储存程序码112C,而微处理器112用于执行程序码112C,从而控制对NV存储器120的存取。在另一个实施例中,程序码112C可以被储存在NV存储器120中。
存储器控制器110透过控制逻辑电路114来控制NV存储器120的读取、写入和抹除。此外,存储器控制器110可以同时基于来自主控装置50的主机命令执行使用者数据的写入,以及基于垃圾回收操作或耗损平衡操作从NV存储器120中搜集的有效数据,进行有效数据的写入。控制逻辑电路114可以进一步用于控制NV存储器120,其包含错误校正(errorcorrection code,ECC)电路(未示出),以执行数据保护和/或校正,但是本发明不限于此。传输接口电路118符合特定的数据传输规范(例如,序列进阶技术附加装置(SerialAdvanced Technology Attachment,SATA)规范、通用序列总线(Universal Serial Bus,USB)规范、快捷外设互联标准((Peripheral Component Interconnect Express,PCIE)规范、嵌入式多媒体卡(Embedded Multimedia Card,eMMC)规范、或通用快闪存储器储存(Universal Flash Storage,UFS)规范,并可以根据特定的通信规范与主控装置50进行通讯。
一般来说,主控装置50可以透过向存储器控制器110发送主机命令和相应的逻辑地址来间接存取储存系统100。存储器控制器110接收主机命令和逻辑地址,将主机命令转换为存储器操作命令,并且进一步用存储器操作命令控制NV存储器120,从而对NV存储器120内具有特定物理地址的存储器单元(memory cells)或页(pages),执行读、写或抹除操作,其中物理地址对应于逻辑地址。当存储器控制器110对NV存储器元件122_1-122_N内的任何NV存储器元件122_k执行抹除操作时,NV存储器元件122_k中的至少一个区块(block)可以被抹除。另外,NV存储器元件122_k的每个区块可以包括多个页,并且可以在一个或多个页上执行存取操作(例如,读取或写入)。
如前所述,区块的抹除次数不能准确地反映出区块是否储存冷数据。因此,本发明的实施例提供了区分冷数据区块的方法。并且,将具有冷数据的区块选作为耗损平衡的候选来源区块。首先,存储器控制器110决定NV存储器120中的区块的区块年龄。区块年龄的用途在于估计区块未被抹除的时间。如果一个区块长时间没有被抹除,该区块很可能包含冷数据。因此,存储器控制器110将判断一个区块的区块年龄是否超过一个预定年龄限制。如果是,该区块将被视为可能包含冷数据,然后被选作耗损平衡的候选来源区块。
为了决定NV存储器120中的区块的区块年龄,存储器控制器110维护至少一个区块年龄表。该区块年龄表记录NV存储器120中的每个区块(NV存储器120的一部分物理区块,或全部物理区块)的一区块抹除时戳(block erase stamp)BES。此外,存储器控制器110还透过计算已经对NV存储器120的区块执行抹除操作的次数,记录一系统抹除时戳(systemerase stamp)SES。系统抹除时戳SES将会因每次对NV存储器120执行抹除操作而更新,而区块抹除时戳BES则根据区块被抹除时,系统抹除时戳SES的当前数值而更新。由于系统抹除时戳SES根据对NV存储器120执行抹除操作的次数来更新,因此其实质上反映了NV存储器120的耗损。再者,由于区块抹除时戳BES随着系统抹除时戳SES的当前数值而更新,故其可大致反映出区块被抹除的时间点。透过将系统抹除时戳SES的值减去一个区块的区块抹除时戳BES的值,可以相应地估计该区块的区块年龄。区块年龄可以反映出一个区块有多久没有被抹除,或者该区块被抹除后经历的时间。区块年龄越老,就越有可能包含冷数据。
图3绘示了在本发明实施例中,存储器控制器110如何维护区块年龄表。在本实施例中,假设NV存储器120中有100个区块(即B0~B99)。请注意,区块B0~B99可能仅是NV存储器120的部分区块。换句话说,区块年龄表可以仅用于估计NV存储器120中某些区块的区块年龄。
请再次参考图4,区块B3在时间T1被抹除。当区块B3被抹除时,系统抹除时戳SES的当前数值为0。因此,区块B3的区块抹除时戳BES_B3将被更新成0。相应地,系统抹除时戳SES将因区块B3的抹除操作而增加1,即,从0到1。在时间T2,区块B1被抹除。当区块B1被抹除时,系统抹除时戳SES的当前数值为1。因此,区块B1的区块抹除时戳BES_B1被更新成1。由于区块B1的抹除操作,使得系统抹除时戳SES从1更新成2。在时间T3,区块B98被抹除。当区块B98被抹除时,系统抹除时戳SES的当前数值为2。因此,区块B98的区块抹除时戳BES_B98被更新成2。由于区块B98的抹除操作,系统抹除时戳SES从2更新成3。在时间T4,区块B1再次被抹除。当区块B1被抹除时,系统抹除时戳SES的当前数值为3。因此,区块B1的区块抹除时戳BES_B1更新成3。由于区块B1的抹除操作,系统抹除时戳SES将从3更新成4。由于区块B1在时间T4再次被抹除,区块B1的区块年龄BA_B1为1(即,4-3=1),变得比先前年轻。
图4绘示如何根据以上的方式维护区块年龄表的流程图。在步骤210,抹除一区块。在步骤220,根据系统抹除时戳的当前数值更新区块的区块抹除时戳。在步骤220,因应区块的抹除,更新系统抹除时戳。根据区块年龄表BAT,存储器控制器110可以透过计算系统抹除时戳SES的当前数值与区块抹除时戳BES_k之间的差值,从而决定区块Bk的区块年龄BA_k。其中,BA_k=(SES)-(BES_Bk)。
基于区块年龄表BAT,存储器控制器110可以随时决定区块的区块年龄。据此,存储器控制器110持续监控区块的区块年龄。一旦一个区块的区块年龄区块超过了年龄限制,则表示该区块已经很长时间没有被抹除。有鉴于此,存储器控制器110选择该区块作为耗损平衡操作的候选来源区块,因为该区块可能具有冷数据。
根据本发明的多个实施例,存储器控制器110可以根据NV存储器120中区块的抹除次数差值的变化,来设定年龄限制。进一步来说,存储器控制器110记录每个区块的抹除次数,其中抹除次数表示区块已被抹除的次数。存储器控制器110将每个区块的抹除次数中减去与NV存储器120相关的区块最低抹除次数,从而决定每个区块的抹除次数差值。下面解释几种决定年龄限制的方式。
请考虑图5A与图5B所示的情况,其绘示NV存储器120的区块的抹除次数差值的分布。如图5A所示,NV存储器120中存在可能包含冷数据的少量区块(即,区块组A)和可能包含热数据的大量区块(即,区块组B)。在一段时间后,抹除次数差值的分布发生如图5B所示的变化,其中区块组B中的区块的抹除次数差值显著地增加。这种情况可能是因为在这段时间中区块组A的区块的抹除次数很少,而区块组B的区块抹除次数很多。由此看来,区块组A的区块中的数据极有可能是冷数据。
因此,存储器控制器110可以根据NV存储器120的区块总数量的倍数来设置年龄限制,即,年龄限制为:TBN*N,其中TBN为NV存储器120的区块总数量,并且N大于等于1。这是因为当区块组B的区块数量足够大时,会接近NV存储器120的区块总数量TBN,因此数值“TBN*N”会很接近区块组B中的区块平均地被抹除N次的总次数。如果一个区块的区块年龄超过这个年龄限制,显然代表即便区块组的B中的区块已经被抹除了很多次,但该区块依然没有被抹除过一次。由此看来,该区块极有可能包含冷数据。因此,将年龄限制设置成区块总数量的N倍,可以准确地将具有冷数据的区块,与区块组A(即少量区块)区隔开来。
考虑图6A与图6B所示的另一种情况,其绘示NV存储器120的区块的抹除次数差值的分布。如图6A所示,NV存储器120中存在可能包含热数据的少量区块(即,区块组C),和可能包含冷数据的大量区块(即,区块组D)。在一段时间后,抹除次数差值的分布发生如图6B所示的变化,其中区块组C中的区块的抹除次数差值显著地增加,且这些抹除次数差值达到了抹除次数差值临界值ECTH。这种情况可能是因为区块组D中的区块的抹除次数很少,而区块组C中的区块的抹除次数很多。由此看来,区块组D的区块中的数据极有可能是冷数据。
因此,存储器控制器110可以根据抹除次数差值临界值ECTH和NV存储器120中超额配置(over-provisioning)区块的区块数量OPN来设置年龄限制。即,年龄限制为:ECTH*OPN*N,其中N大于等于1。超额配置区块的区块数量OPN可用于估计区块组C的实际区块数量的最小值。如果区块组C中所有区块都增加了如图6B所示的抹除次数差值,这意味着至少有“OPN”个区块的抹除次数差值具有相同的增加。因此,如果一个区块的区块年龄超过年龄限制:“ECTH*OPN*N”,则表示在区块组C的区块经历了很多次的抹除操作后,该区块依然没有被抹除一次。因此,可以肯定该区块极有可能包含冷数据。由上可知,使用年龄限制:“ECTH*OPN*N”可以准确地将具有冷数据的区块,与区块组D(即大量区块)区隔开来。
在本发明的一个实施例中,可以根据区块的预期寿命(expected lifetime)编程/抹除(P/E)周期(区块在完全耗损前,预期的P/E周期上限)的百分比,决定抹除次数差值临界值ECTH。例如,抹除次数差值临界值ECTH可以根据3000次的预期寿命P/E周期的10%,即300次周期来设置。此外,由于预期寿命P/E周期的差异,NV存储器120的单层储存单元(single-level cell)区域中的区块,其抹除次数差值临界值ECTH可以高于NV存储器120的三层储存单元(triple-level cell)区域中的区块的抹除次数差值临界值ECTH。
考虑由图7A与图7B所示的情况,其绘示NV存储器120的区块的抹除次数差值的分布。如图7A所示,NV存储器120中的少量区块(即,区块组E)可能包含热数据,而大量区块(即,区块组F)可能包含冷数据。如果区块组E的区块的抹除次数在一定时间内显著地增加,且平均地达到抹除次数差值临界值ECTH。这意味着在一段时间内,相较于区块组F中的区块,区块组E中的区块经历了很多次抹除操作。有鉴于此,存储器控制器110可以根据NV快闪存储器120中区块的抹除次数差值DiffSUM的总和,除以抹除次数差值临界值ECTH的结果,设置年龄限制。亦即,年龄限制可以设置成:(DiffSUM/ECTH)*N,其中N大于或等于1。如图7A所示,数值“DiffSUM/ECTH”将非常接近区块组E的区块数。因此,数值“(DiffSUM/DiffTH)*N”将接近区块组E的区块被平均地被抹除N次的总次数。有鉴于此,如果一个区块的区块年龄超过了这个年龄限制,可以确定该区块很可能包含冷数据。因此,年龄限制:“(DiffSUM/ECTH)*N”可以准确地将具有冷数据的区块,与区块组F(即大量区块)区隔开来。
如图7B所示的情况,数值“DiffSUM/ECTH”将非常接近区块组G(即,可能包含热数据的大量区块)的区块数量。因此,数值“(DiffSUM/DiffTH)*N”将接近区块组G的区块被平均地抹除N次的总次数。有鉴于此,如果一个区块的区块年龄超过了这个年龄限制,可以确定该区块很可能包含冷数据。因此,年龄限制:“(DiffSUM/ECTH)*N”可以准确地将具有冷数据的区块,与区块组H(即少量区块)区隔开来。
当一个或多个区块的区块年龄超过年龄限制时,这意味着该一个或多个区块长时间没有被抹除,并且它们很可能包含冷数据。因此,存储器控制器110可以选择这样的区块作为候选来源区块,然后从这些候选来源区块中,决定耗损平衡操作的来源区块。根据不同实施例,存储器控制器110可以用不同方式来确定来源区块。在一个实施例中,存储器控制器110可以从候选来源区块中选择具有最老区块年龄的区块作为来源区块。这是因为区块年龄与数据温度高度地相关,所以具有最老区块年龄的区块很可能包含冷数据。在另一个实施例中,存储器控制器110可以从候选来源区块中选择具有最低抹除次数的区块作为来源区块。这是因为抹除次数也与数据温度高度地相关,所以抹除次数最少的区块也很可能包含冷数据。
在来源区块被选择之后,存储器控制器110开始对来源区块进行耗损平衡操作。耗损平衡操作将来源区块中的数据移动到NV存储器120中具有最高抹除次数的空闲/备用区块(spare/free block)。另一方面,来自NV存储器120中具有高抹除次数的一个或多个区块的热数据将被写入至来源区块,从而平衡NV存储器120的区块之间的抹除次数差异。
图6绘示本发明一个实施例中,管理一快闪存储器的一耗损平衡操作的方法流程图,其包括以下步骤:
步骤310:根据一区块被抹除后,该快闪存储器进行抹除操作的次数,决定该快闪存储器的多个区块中每一个区块的一区块年龄;
步骤320:透过将该多个区块的区块年龄与一年龄限制进行比较,从该多个区块中选出一个或多个候选来源区块;
步骤330:根据该一个或多个候选来源区块的抹除次数或者区块年龄,从该一个或多个候选来源区块中选出一来源区块;以及
步骤340:对该来源区块进行该耗损平衡操作。
由于在上述实施例中,已对这些步骤的原理和详细操作进行了透彻的说明,为简洁起见,在此不再赘述。
请注意,以上段落中的用语“所有区块”、“区块总数量”可能代表一特定区块组,而非NV存储器120中所有的物理区块。此外,针对NV存储器120中的不同区块,可以采用不同的区块年龄决定方法以及不同的年龄限制决定方法。
请参考图9以进一步理解。如图9所示,NV存储器120可能包含单层储存单元(SLC)区域126和三层储存单元(TLC)区域127。也就是说,存储器控制器110可以为SLC区域126中的区块维护一个区块年龄表BAT_SLC,以及为TLC区域127中的区块维护另一个区块年龄表BAT_TLC。更具体地说,存储器控制器110记录仅在SLC区域126中的区块被抹除时才更新的第一系统抹除时戳,并相应地维护区块年龄表BAT_SLC,同时记录仅在TLC区域126中的区块被抹除时才更新的第二系统抹除时戳,并相应地维护区块年龄表BAT_TLC。换言之,SLC区域126中的区块抹除可能不会导致区块年龄表BAT_TLC的更新,反之亦然。在另一实施例中,如果SLC区域126是动态SLC区域(dynamic SLC region),在SLC区域126或者TLC区域127中的一个区块中被抹除时,SLC区域126的第一系统抹除时戳和TLC区域127的第二系统抹除时戳将会被更新。
此外,SLC区域126中的区块和TLC区域127中的区块的年龄限制可能不同,这是因为SLC区块和TLC区块通常具有不同的预期寿命P/E周期,从而具有不同的抹除次数差值临界值ECTH。另外,以上所提到的用语“所有区块”,可以代表“SLC区域126中的所有区块”或者是“TLC区域127中的所有区块”,而用语“区块总数量”可以代表“SLC区域126的区块总数量”,或者是“TLC区域127的区块总数量”。
总结来说,本发明提供了一种执行耗损平衡操作的方法,以及相关的控制器和储存系统。在本发明中,只有当一个区块的区块年龄超过年龄限制时,才会将该区块选作耗损平衡的候选来源区块。因此,来源区块的选择不再仅凭区块的抹除次数,从而避免习知技术对数据温度的误判。由此可知,本发明提升了在快闪存储器中进行耗损平衡的效率。
本发明之实施例可使用硬件、软件、固件以及其相关结合来完成。藉由适当之一指令执行系统,可使用储存于一存储器中之软件或固件来实作本发明的实施例。就硬体而言,则是可应用下列任一技术或其相关结合来完成:具有可根据数据信号执行逻辑功能之逻辑闸的一个别运算逻辑、具有合适的组合逻辑闸之一特定应用集成电路(applicationspecific integrated circuit,ASIC)、可程序闸阵列(programmable gate array,PGA)或一现场可程序闸阵列(field programmable gate array,FPGA)等。
说明书内的流程图中的流程和方块示出了基于本发明的各种实施例的系统、方法和电脑软体产品所能实现的架构,功能和操作。在这方面,流程图或功能方块图中的每个方块可以代表程序码的模组,区段或者是部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。另外,功能方块图以及/或流程图中的每个方块,以及方块的组合,基本上可以由执行指定功能或动作的专用硬体系统来实现,或专用硬体和电脑程序指令的组合来实现。这些电脑程序指令还可以存储在电脑可读媒体中,该媒体可以使电脑或其他可编程数据处理装置以特定方式工作,使得存储在电脑可读媒体中的指令,实现流程图以及/或功能方块图中的方块所指定的功能/动作。
以上所述仅为本发明之较佳实施例,凡依本发明申请专利范围所做之均等变化与修饰,皆应属本发明之涵盖范围。

Claims (23)

1.一种在一快闪存储器中进行执行一耗损平衡操作的方法,包含:
根据一区块被抹除后,该快闪存储器进行抹除操作的次数,决定该快闪存储器的多个区块中每一区块的一区块年龄;
透过将该多个区块的区块年龄与一年龄限制进行比较,从该多个区块中选出一个或多个候选来源区块;
根据该一个或多个候选来源区块的抹除次数或者区块年龄,从该一个或多个候选来源区块中选出一来源区块;以及
对该来源区块进行该耗损平衡操作。
2.如权利要求1所述的方法,其中决定该多个区块中的每一区块的该区块年龄的步骤包含:
因应该多个区块上所进行的抹除操作,记录并且更新一系统抹除时戳;
当一区块被抹除时,根据该系统抹除时戳的一当前数值,记录并且更新一区块抹除时戳;以及
透过计算该系统抹除时戳的数值与该区块抹除时戳的数值之间的差值,决定该区块年龄。
3.如权利要求1所述的方法,其特征在于,该快闪存储器包含一单层储存单元(single-level cell,SLC)区域以及一三层储存单元(triple-level cell,TLC)区域,并且其中决定该多个区块中的每一区块的该区块年龄的步骤包含:
记录一第一系统抹除时戳,并且仅在该SLC区域中有抹除操作发生时,才更新该第一系统抹除时戳;以及记录一第二系统抹除时戳,并且仅在该TLC区域中有抹除操作发生时,才更新该第二系统抹除时戳;
当该SLC区域中的一个区块被抹除时,根据该第一系统抹除时戳的一当前数值,更新该SLC区域中的该区块的一第一区块抹除时戳,并且当该TLC区域中的一个区块被抹除时,根据该第二系统抹除时戳的一当前数值,更新该TLC区域中的该区块的一第二区块抹除时戳;以及
透过计算该第一系统抹除时戳的数值与该第一区块抹除时戳的数值之间的差值,来决定该SLC区域中的该区块的该区块年龄;并且透过计算该第二系统抹除时戳的数值与该第二区块抹除时戳的数值之间的差值,来决定该TLC区域中的该区块的该区块年龄。
4.如权利要求1所述的方法,其特征在于,选择该一个或多个候选来源区块的步骤包含:
设定该年龄限制;以及
选择区块年龄超过该年龄限制的一个或多个区块作为该一个或多个候选来源区块。
5.如权利要求4所述的方法,其特征在于,设定该年龄限制的步骤包含:
根据该快闪存储器中该多个区块的一区块数量来设定该年龄限制。
6.如权利要求5所述的方法,其特征在于,该快闪存储器包含一SLC区域与一TLC区域,且设定该年龄限制的步骤包含:
根据该SLC区域的一区块数量,设定一第一年龄限制;以及根据该TLC区域的一区块数量,设定一第二年龄限制,并且选择该一个或多个候选来源区块的步骤包含:
从该SLC区域中选择区块年龄超过该第一年龄限制的一个或多个区块作为该一个或多个候选来源区块;以及
从该TLC区域中选择区块年龄超过该第二年龄限制的一个或多个区块作为该一个或多个候选来源区块。
7.如权利要求4所述的方法,其特征在于,设定该年龄限制的步骤包含:
根据一抹除次数差值临界值和该快闪存储器中超额配置(over-provisioning)区块的数量设定该年龄限制。
8.如权利要求7所述的方法,其特征在于,该抹除次数差值临界值系根据该多个区块的预期寿命编程/抹除周期(program/erase cycle)的一百分比所决定。
9.如权利要求7所述的方法,其特征在于,该快闪存储器包含一SLC区域与一TLC区域,且设定该年龄限制的步骤包含:
根据该SLC区域的一第一抹除次数差值临界值和该快闪存储器中超额配置区块的数量,设定一第一年龄限制;以及
根据该TLC区域的一第二抹除次数差值临界值和该快闪存储器中超额配置区块的数量,设定一第二年龄限制;以及选择该一个或多个候选来源区块的步骤包含:
从该SLC区域中选择区块年龄超过该第一年龄限制的一个或多个区块作为该一个或多个候选来源区块;以及
从该TLC区域中选择区块年龄超过该第二年龄限制的一个或多个区块作为该一个或多个候选来源区块。
10.如权利要求4所述的方法,其特征在于,设定该年龄限制的步骤包含:
根据该快闪存储器中该多个区块的抹除次数差值的总和以及一抹除次数差值临界值来设定该年龄限制。
11.如权利要求10所述的方法,其特征在于,该快闪存储器包含一SLC区域与一TLC区域,且设定该年龄限制的步骤包含:
根据该SLC区域中区块的抹除次数差值的总和以及该SLC区域的一第一抹除次数差值临界值,设定一第一年龄限制;以及
根据该TLC区域中区块的抹除次数差值的总和以及该TLC区域的一第二抹除次数差值临界值,设定一第二年龄限制;以及选择该一个或多个候选来源区块的步骤包含:
从该SLC区域中选择区块年龄超过该第一年龄限制的一个或多个区块作为该一个或多个候选来源区块;以及
从该TLC区域中选择区块年龄超过该第二年龄限制的一个或多个区块作为该一个或多个候选来源区块。
12.一种用于控制一快闪存储器并对该快闪存储器进行一耗损平衡操作的控制器,包含:
一储存单元,用于储存资讯;以及
一处理单元,用于执行一程序码,并参考该快闪存储器或该储存单元中储存的资讯,进行以下操作:
根据一区块被抹除后,该快闪存储器进行抹除操作的次数,决定该快闪存储器的多个区块中每一区块的一区块年龄;
透过将该多个区块的区块年龄与一年龄限制进行比较,从该多个区块中选出一个或多个候选来源区块;
根据该一个或多个候选来源区块的抹除次数或者区块年龄,从该一个或多个候选来源区块中选出一来源区块;以及
对该来源区块进行该耗损平衡操作。
13.如权利要求12所述的控制器,其特征在于,该处理单元执行该程序码以进行以下操作:
因应该多个区块上所进行的抹除操作,记录并且更新一系统抹除时戳;
当一区块被抹除时,根据该系统抹除时戳的一当前数值,记录并且更新一区块抹除时戳;以及
透过计算该系统抹除时戳的数值与该区块抹除时戳的数值之间的差值,决定该区块年龄。
14.如权利要求12所述的控制器,其特征在于,该快闪存储器包含一单层储存单元(single-level cell,SLC)区域以及一三层储存单元(triple-level cell,TLC)区域,该处理单元执行该程序码以进行以下操作:
记录一第一系统抹除时戳,并且仅在该SLC区域中有抹除操作发生时,才更新该第一系统抹除时戳;以及记录一第二系统抹除时戳,并且仅在该TLC区域中有抹除操作发生时,才更新该第二系统抹除时戳;
当该SLC区域中的一个区块被抹除时,根据该第一系统抹除时戳的一当前数值,更新该SLC区域中的该区块的一第一区块抹除时戳,并且当该TLC区域中的一个区块被抹除时,根据该第二系统抹除时戳的一当前数值,更新该TLC区域中的该区块的一第二区块抹除时戳;以及
透过计算该第一系统抹除时戳的数值与该第一区块抹除时戳的数值之间的差值,来决定该SLC区域中的该区块的该区块年龄;并且透过计算该第二系统抹除时戳的数值与该第二区块抹除时戳的数值之间的差值,来决定该TLC区域中的该区块的该区块年龄。
15.如权利要求12所述的控制器,其特征在于,该处理单元执行该程序码以进行以下操作:
设定该年龄限制;以及
选择区块年龄超过该年龄限制的一个或多个区块作为该一个或多个候选来源区块。
16.如权利要求15所述的控制器,其特征在于,该处理单元执行该程序码以进行以下操作:
根据该快闪存储器中该多个区块的一区块数量来设定该年龄限制。
17.如权利要求16所述的控制器,其特征在于,该快闪存储器包含一SLC区域与一TLC区域,且该处理单元执行该程序码以进行以下操作:
根据该SLC区域的一区块数量,设定一第一年龄限制;以及根据该TLC区域的一区块数量,设定一第二年龄限制,并且选择该一个或多个候选来源区块的步骤包含:
从该SLC区域中选择区块年龄超过该第一年龄限制的一个或多个区块作为该一个或多个候选来源区块;以及
从该TLC区域中选择区块年龄超过该第二年龄限制的一个或多个区块作为该一个或多个候选来源区块。
18.如权利要求15所述的控制器,其特征在于,该处理单元执行该程序码以进行以下操作:
根据一抹除次数差值临界值和该快闪存储器中超额配置(over-provisioning)区块的数量设定该年龄限制。
19.如权利要求18所述的控制器,其特征在于,该抹除次数差值临界值系根据该多个区块的预期寿命编程/抹除周期(program/erase cycle)的一百分比所决定。
20.如权利要求18所述的控制器,其特征在于,该快闪存储器包含一SLC区域与一TLC区域,且该处理单元执行该程序码以进行以下操作:
根据该SLC区域的一第一抹除次数差值临界值和该快闪存储器中超额配置区块的数量,设定一第一年龄限制;以及
根据该TLC区域的一第二抹除次数差值临界值和该快闪存储器中超额配置区块的数量,设定一第二年龄限制;以及选择该一个或多个候选来源区块的步骤包含:
从该SLC区域中选择区块年龄超过该第一年龄限制的一个或多个区块作为该一个或多个候选来源区块;以及
从该TLC区域中选择区块年龄超过该第二年龄限制的一个或多个区块作为该一个或多个候选来源区块。
21.如权利要求15所述的控制器,其特征在于,该处理单元执行该程序码以进行以下操作:
根据该快闪存储器中该多个区块的抹除次数差值的总和以及一抹除次数差值临界值来设定该年龄限制。
22.如权利要求21所述的控制器,其特征在于,该快闪存储器包含一SLC区域与一TLC区域,且该处理单元执行该程序码以进行以下操作:
根据该SLC区域中区块的抹除次数差值的总和以及该SLC区域的一第一抹除次数差值临界值,设定一第一年龄限制;以及
根据该TLC区域中区块的抹除次数差值的总和以及该TLC区域的一第二抹除次数差值临界值,设定一第二年龄限制;以及选择该一个或多个候选来源区块的步骤包含:
从该SLC区域中选择区块年龄超过该第一年龄限制的一个或多个区块作为该一个或多个候选来源区块;以及
从该TLC区域中选择区块年龄超过该第二年龄限制的一个或多个区块作为该一个或多个候选来源区块。
23.一种储存系统,包含:
一快闪存储器;以及
一控制器,用于控制该快闪存储器并对该快闪存储器进行一耗损平衡操作,该控制器用于:
根据一区块被抹除后,该快闪存储器进行抹除操作的次数,决定该快闪存储器的多个区块中每一区块的一区块年龄;
透过将该多个区块的区块年龄与一年龄限制进行比较,从该多个区块中选出一个或多个候选来源区块;
根据该一个或多个候选来源区块的抹除次数或者区块年龄,从该一个或多个候选来源区块中选出一来源区块;以及
对该来源区块进行该耗损平衡操作。
CN202210160308.7A 2021-03-19 2022-02-22 在快闪存储器中进行耗损平衡操作的方法和相关控制器以及储存系统 Pending CN115114180A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/206,147 US20220300184A1 (en) 2021-03-19 2021-03-19 Method of performing wear-leveling operation in flash memory and related controller and storage system
US17/206,147 2021-03-19

Publications (1)

Publication Number Publication Date
CN115114180A true CN115114180A (zh) 2022-09-27

Family

ID=83284678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210160308.7A Pending CN115114180A (zh) 2021-03-19 2022-02-22 在快闪存储器中进行耗损平衡操作的方法和相关控制器以及储存系统

Country Status (3)

Country Link
US (1) US20220300184A1 (zh)
CN (1) CN115114180A (zh)
TW (1) TWI797742B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893244B2 (en) * 2021-10-12 2024-02-06 Western Digital Technologies, Inc. Hybrid memory management of non-volatile memory (NVM) devices for use with recurrent neural networks
US20230386588A1 (en) * 2022-05-25 2023-11-30 Micron Technology, Inc. Media management

Family Cites Families (14)

* 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
US7752382B2 (en) * 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
KR100881669B1 (ko) * 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
TW201015581A (en) * 2008-10-01 2010-04-16 A Data Technology Co Ltd Non-volatile storage device and control method thereof
US8082386B2 (en) * 2008-10-21 2011-12-20 Skymedi Corporation Method of performing wear leveling with variable threshold
KR20120096212A (ko) * 2011-02-22 2012-08-30 삼성전자주식회사 비휘발성 메모리 장치, 메모리 컨트롤러, 및 이들의 동작 방법
US9405670B2 (en) * 2011-06-09 2016-08-02 Tsinghua University Wear leveling method and apparatus
US9176862B2 (en) * 2011-12-29 2015-11-03 Sandisk Technologies Inc. SLC-MLC wear balancing
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
US10235056B2 (en) * 2014-09-26 2019-03-19 Western Digital Technologies, Inc. Storage device health diagnosis
KR102258126B1 (ko) * 2015-03-19 2021-05-28 삼성전자주식회사 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US10228862B2 (en) * 2017-03-15 2019-03-12 Western Digital Technologies, Inc. Capacity-aware wear leveling in solid-state storage devices
US10956317B2 (en) * 2019-02-11 2021-03-23 International Business Machines Corporation Garbage collection in non-volatile memory that fully programs dependent layers in a target block
JP2022007191A (ja) * 2020-06-25 2022-01-13 キオクシア株式会社 ストレージデバイス、ストレージシステム及び制御方法

Also Published As

Publication number Publication date
TW202238369A (zh) 2022-10-01
US20220300184A1 (en) 2022-09-22
TWI797742B (zh) 2023-04-01

Similar Documents

Publication Publication Date Title
CN107608908B (zh) 用于数据储存装置的磨损平均方法
US10275162B2 (en) Methods and systems for managing data migration in solid state non-volatile memory
CN107368429B (zh) 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法
US10838859B2 (en) Recency based victim block selection for garbage collection in a solid state device (SSD)
US9747202B1 (en) Storage module and method for identifying hot and cold data
US10409525B2 (en) Memory management method, memory control circuit unit and memory storage device
US9665481B2 (en) Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit
US8225050B2 (en) Memory storage device and a control method thereof
US10990325B2 (en) Write control method, associated data storage device and controller thereof
US9965194B2 (en) Data writing method, memory control circuit unit and memory storage apparatus which performs data arrangement operation according to usage frequency of physical erasing unit of memory storage apparatus
CN110377233B (zh) Ssd读性能优化方法、装置、计算机设备及存储介质
CN115114180A (zh) 在快闪存储器中进行耗损平衡操作的方法和相关控制器以及储存系统
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
CN106445401B (zh) 表格更新方法、存储器储存装置及存储器控制电路单元
TWI437569B (zh) 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
US20200073591A1 (en) Flash memory controller and associated accessing method and electronic device
US10339045B2 (en) Valid data management method and storage controller
US20130332653A1 (en) Memory management method, and memory controller and memory storage device using the same
US11403018B2 (en) Method and apparatus for performing block management regarding non-volatile memory
US20200073582A1 (en) Flash memory controller and associated accessing method and electronic device
US11687447B1 (en) Method and apparatus for performing access control of memory device with aid of additional physical address information
CN112068782B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN115237820A (zh) 以局部清理操作来进行垃圾回收的方法与相关控制器和储存系统
CN111324284B (zh) 一种存储器
Li et al. SSKIP: Lifetime Aware Page Skipping for Multi-Level Cell Flash-based Solid-State Drives

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination