CN110244906B - 存储***及其操作方法 - Google Patents
存储***及其操作方法 Download PDFInfo
- Publication number
- CN110244906B CN110244906B CN201811433288.6A CN201811433288A CN110244906B CN 110244906 B CN110244906 B CN 110244906B CN 201811433288 A CN201811433288 A CN 201811433288A CN 110244906 B CN110244906 B CN 110244906B
- Authority
- CN
- China
- Prior art keywords
- block
- wear
- memory
- level
- access count
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本申请公开了一种存储***及其操作方法。存储***可以包括非易失性存储器件和损耗均衡单元。非易失性存储器件包括多个存储块。损耗均衡单元可以被配置为间歇地将存储块之中的所述存储块的累积访问计数增加预定值,每当累积访问计数增加时,基于累积访问计数来判定存储块的损耗等级,基于损耗等级来将存储块设置为热块,并且对热块执行热块管理操作。损耗均衡单元可以响应于达到预定值的访问计数而增加累积访问计数。累积访问计数可以被储存在非易失性存储器件中,并且访问计数可以被储存在易失性存储器件中。
Description
相关申请的交叉引用
本申请要求于2018年3月8日在韩国知识产权局提交的申请号为10-2018-0027514的韩国专利申请的优先权,该申请通过引用整体并入本文。
技术领域
各种实施例总体而言涉及一种存储***,更具体地,涉及一种包括非易失性存储器件的存储***。
背景技术
存储***响应于写入请求而储存由外部设备提供的数据。存储***还可以响应于读取请求而将所储存的数据提供给外部设备。使用存储***的外部设备的示例包括计算机、数码相机、蜂窝电话等。存储***可以在外部设备的制造期间嵌入外部设备中,或者可以单独制造,然后再连接到外部设备。
发明内容
在一个实施例中,一种存储***可以包括:非易失性存储器件,所述非易失性存储器件包括多个存储块;以及损耗均衡单元,所述损耗均衡单元被配置为将所述存储块之中的第一存储块的累积访问计数增加预定值,当所述累积访问次数被增加时,基于所述累积访问计数来确定所述第一存储块的损耗等级,基于所述损耗等级来将所述第一存储块设置为热块,以及对所述热块执行热块管理操作。
在一个实施例中,一种存储***可以包括:非易失性存储器件,其包括存储块;以及损耗均衡单元,其被配置为当第一存储块的访问计数达到检测计数时更新所述第一存储块的累积访问计数,以及当从所述累积访问计数计算的损耗等级超过参考等级时对所述第一存储块执行热块管理操作。
在一个实施例中,一种存储***可以包括:非易失性存储器件,其包括存储块;损耗均衡单元,其被配置为管理所述存储块的损耗等级,以及当所述存储块的损耗等级超过参考等级时,对第一存储块执行热块管理操作。当所有损耗等级超过所述参考等级时,所述损耗均衡单元可以提高所述参考等级。
附图说明
图1是示出根据一个实施例的存储***的框图。
图2、图3和图4示出了根据一个实施例的如下过程的操作:图1的损耗均衡单元(wear leveling unit)将存储块的损耗等级均衡地保持在参考等级。
图5是示出根据实施例的图1的损耗均衡单元的详细配置的框图。
图6示出了根据实施例的逻辑块映射表和物理块映射表。
图7示出了根据实施例的将目标存储块设置为热块的过程。
图8示出了根据实施例的图5的块替换单元执行热块管理操作的过程。
图9示出了根据实施例的图1的损耗均衡单元搜索冷块的过程。
图10是示出根据实施例的图1的损耗均衡单元的操作过程的流程图。
图11是示出根据实施例的图1的损耗均衡单元的操作过程的流程图。
具体实施方式
在下文中,将参考附图通过本发明的说明性实施例来描述根据本发明的数据储存器件及其操作过程。然而,本发明可以以不同的形式来实施,并且不应该被解释为限于本文中所阐述的实施例。相反,提供这些实施例是为了详细描述本发明,直至本发明所属领域的技术人员能够实施本发明的技术方案。
应当理解的是,本发明的实施例不限于附图中所示的细节,附图不一定按比例绘制,并且在某些情况下,为了更清楚描述了本发明的某些特征,可能夸大了比例。虽然使用了特定术语,但应理解的是,所使用的术语仅用于描述特定实施例,并非意在限制本发明的范围。
将进一步理解的是,当元件被称为“连接到”或“耦合到”另一元件时,它可以直接在另一元件上、连接到或耦合到另一元件,或者可能存在一个或多个中间元件。另外,还应理解的是,当元件被称为在两个元件“之间”时,它可以是两个元件之间的唯一元件,或者也可能存在一个或多个中间元件。
当在本文中与项目列表一起使用时,短语“......和......中的至少一个”表示来自列表中的单个项目或列表中的项目的任何组合。例如,“A、B和C中的至少一个”表示仅A、或仅B、或仅C或者A、B和C的任何组合。
本文中所用的术语“或”是指两种或更多种替代物中的一种,但不是两者或两者的任何组合。
正如本文所使用的,除非上下文另外明确指出,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用时,术语“包含”、“包含有”、“包括”和“包括有”指定所述元件的存在,并且不排除一个或多个其他元件的存在或添加。正如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何组合和所有组合。
除非另外定义,否则考虑到本公开,本文中所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在通用词典中定义的那些术语应被解释为具有与其在本公开和相关领域的上下文中的含义一致的含义,并且将不以理想化的或过于形式化的含义来解释,除非本文中明确如此定义。
在以下描述中,阐述了许多具体细节以便提供对本发明的透彻理解。可以在没有这些具体细节中的一些或全部的情况下实践本发明。在其他情况下,没有详细描述众所周知的工艺结构和/或工艺,以免不必要地混淆本发明。
还应注意的是,在一些情况下,如相关领域的技术人员将显而易见的,结合一个实施例描述的元件(也被称为特征)可以单独使用或与另一实施例的其他元件组合使用,除非另外特别说明。
在下文中,将参考附图详细描述本发明的各种实施例。
图1是示出根据一个实施例的存储***100的框图。
存储***100可以被配置为响应于主机设备的写入请求来储存从外部主机设备提供的数据。此外,存储***100可以被配置为响应于主机设备的读取请求而将储存在其中的数据提供给主机设备。
存储***100可以被体现为个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体卡、记忆棒卡、各种多媒体卡(MMC、eMMC、RS-MMC和MMC-Micro)、各种安全数字卡(SD、迷你SD和微型SD)、通用快闪储存器(UFS)、固态硬盘(SSD)等。
存储***100可以包括控制器110、易失性存储器件120和非易失性存储器件130。
控制器110可以控制存储***100的整体操作。控制器110可以响应于来自主机设备的写入请求或读取请求来访问非易失性存储器件120。此外,在不从主机设备请求操作的情况下,控制器110可以执行内部管理操作以维持存储***100的性能并延长存储***100的寿命。
内部管理操作可以包括损耗均衡操作。损耗均衡操作可以指示管理包括在非易失性存储器件130中的存储块MB0、MB1、MB2、MB3、MB4、MB5、MB6和MB7的操作,使得存储块被均衡地使用和损耗。当仅集中使用存储块的一部分并且提前丢弃时,会减少非易失性存储器件130的储存容量和性能,同时缩短非易失性存储器件130的寿命。可以执行损耗均衡操作以克服这种问题。控制器110可以包括损耗均衡单元111,所述损耗均衡单元111被配置成执行损耗均衡操作。虽然图1示出了包括八个存储块MB0至MB7的非易失性存储器件130,但是实施例不限于此,并且可以包括更少存储块或实质上多于八个存储块。
损耗均衡单元111可以通过经由访问计数AC检测包括在非易失性存储器件130中的存储块的损耗等级来识别集中使用的块(例如,热块),并且执行热块管理操作以抑止访问热块。也就是说,可以限制具有高损耗等级的热块的使用,并且可以使用具有低损耗等级的冷块来代替热块。以这种方式,可以实现存储块的损耗均衡。
损耗均衡单元111可以通过易失性存储器件120管理包括在非易失性存储器件130中的存储块的访问计数AC。在每个预定周期中,损耗均衡单元111可以将某个存储块的访问计数AC(其被储存在易失性存储器件120中)累积到相同存储块的累积访问计数AAC(其被储存在非易失性存储器件130中)。
例如,响应于被更新的存储块的累积访问计数ACC,损耗均衡单元111可以间歇地执行检测存储块是否为热块的操作。在一个实施例中,当损耗均衡单元111间歇地执行检测操作时,可以不在每次访问存储块时都检测存储块是否为热块,而是在满足预定条件的同时重复访问时执行检测操作。
当操作非易失性存储器件130时,热块检测操作可能会降低非易失性存储器件130的性能。然而,在本实施例中,可以间歇地执行热块检测操作以防止或减少性能劣化。此外,因为在访问计数AC被累积到非易失性存储器件130的累积访问计数AAC之前,在易失性存储器件120中以高操作速度优先管理访问计数AC,所以可以保持非易失性存储器件130的操作性能。
损耗均衡单元111可以基于存储块的累积访问计数ACC来判定存储块的损耗等级,以及基于存储块的损耗等级来将存储块设置为热块。当存储块的损耗等级超过参考等级时,损耗均衡单元111可以将存储块设置为热块。通过该操作,非易失性存储器件130中的需要被均衡损耗的存储块的损耗等级可以被保持在参考等级附近。因此,可以有效地实现损耗均衡。
损耗均衡单元111可以执行基于存储块的损耗均衡操作。存储块可以大于非易失性存储器件对其执行写入操作的单元(例如,页)。存储块可以包括多个页。例如,存储块可以包括具有连续页地址的页。例如,存储块可以包括在多个存储体中的相同位置处的页,这些页可以由非易失性存储器件130并行地写入访问。
当在基于存储块的损耗均衡操作期间访问某个目标页时,损耗均衡单元111可以考虑访问包括目标页的存储块(即,目标存储块)。当根据主机设备的请求访问目标存储块时,损耗均衡单元111可以增加目标存储块的访问计数AC。在另一实施例中,即使在没有主机设备的请求的情况下访问目标存储块时,损耗均衡单元111也可以增加目标存储块的访问计数AC。将参考图5详细描述损耗均衡单元111的配置和操作过程。
控制器110还可以包括映射单元112。映射单元112可以具有映射表,用于管理由主机设备识别的数据的逻辑地址与指示数据在非易失性存储器件130中实际上储存的位置的物理地址之间的映射关系。映射关系可以在非易失性存储器件130对其执行写入操作的页的基础上形成,可以在主机设备对其分配逻辑地址的数据的基础上形成,或者可以在取决于控制器110的处理能力和目标的各种其他基础上形成。
当如上所述在存储块的基础上执行损耗均衡操作时,映射单元112可以在存储块的基础上形成映射关系。映射表可以包括物理块映射表PBMT,其储存从非易失性存储器件130的存储块的物理块地址到被储存在相应存储块中的数据的逻辑块地址的映射关系。逻辑块地址可以在存储块的基础上指示与数据相对应的逻辑地址。储存在相同存储块中的数据可以对应于相同的逻辑块地址。当通过损耗均衡操作来改变数据的储存位置时,映射单元112可以校正映射关系。
为了快速访问和搜索,物理块映射表PBMT可以被转换为逻辑块映射表LBMT(其储存从逻辑块地址到物理块地址的映射关系),并且被储存在易失性存储器件120中。逻辑块映射表LBMT可以包括存储块的访问计数AC。物理块映射表PBMT可以包括存储块的累积访问计数AAC。将参考图6详细描述逻辑块映射表LBMT和物理块映射表PBMT的配置。
易失性存储器件120可以用作存储***100的工作存储器、缓冲存储器、高速缓冲存储器或其组合。易失性存储器件120可以用作工作存储器,以储存由控制器110使用的各种程序代码和程序数据。例如,易失性存储器件120可以储存映射表。易失性存储器件120可以用作缓冲存储器,以暂时储存在外部设备和非易失性存储器件130之间传输的数据。此外,易失性存储器件120可以用作暂时储存高速缓存数据的高速缓冲存储器。图1示出了易失性存储器件120设置在控制器110外部。然而,在另一实施例中,易失性存储器件120可以被包括在控制器110中。
易失性存储器件120可以包括DRAM(动态随机存取存储器)、SRAM(静态随机存取存储器)等。
根据控制器110的控制,非易失性存储器件130可以储存从控制器110传输的数据、读取储存在其中的数据并将所读取的数据传输到控制器110,或者储存从控制器110传输的数据以及读取储存在其中的数据并将所读取的数据传输到控制器110两者。
非易失性存储器件130可以包括多个存储块MB0至MB7。存储块可以与控制器110对其执行损耗均衡操作的单元相对应。每个存储块可以包括多个页。如上所述,页可以与非易失性存储器件130对其执行写入操作的单元相对应。
一个或多个存储块可以储存物理块映射表PBMT和累积访问计数AAC。
非易失性存储器件130可以包括相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FeRAM)、电阻式随机存取存储器(ReRAM)等。
图1示出了存储***100包括一个非易失性存储器件130,但是包括在存储***100中的非易失性存储器件的数量不限于此。
图2至图4示出了图1的损耗均衡单元将存储块(例如,图1的非易失性存储器件130中的存储块MB0至MB7)的损耗等级均衡地保持在参考等级CWL的过程。在图2至图4的曲线图中,横轴表示存储块,而纵轴表示各个存储块的累积访问计数AAC。
此后,假设非易失性存储器件130包括八个存储块MB0至MB7。当某个存储块的累积访问计数ACC达到最大累积访问计数MAX(例如40,000)时,可能不再使用该存储块并将其丢弃。最大累积访问计数MAX可以与包括在一个存储块中的页数与某个页被预计能承受的最大访问计数AC的乘积相对应。
损耗均衡单元111可以基于对应的存储块的累积访问计数ACC来确定存储块MB0至MB7的损耗等级WL。存储块的损耗等级WL可以指示在通过划分最大累积访问计数MAX而获得的预定数量的部分之中包括存储块的累积访问计数AAC的部分。每当对应存储块的累积访问计数AAC达到部分之间的边界(即,等级提高点)时,可以提高损耗等级WL。当存储块的损耗等级WL较高时,可以指示存储块实质上的损耗。
在图2至图4中示出的说明性示例中,40,000的最大累积访问计数MAX可以被分成四个部分,并且每当累积访问计数AAC达到等级提高点10,000、20,000和30,000时,损耗等级WL可以分别从0升高到1、2和3。换句话说,存储块的损耗等级WL可以与存储块的累积访问计数AAC除以10,000的商相对应。图2示出了存储块MB0至MB7的损耗等级WL可以对应于0的第一时间。
损耗等级WL可以从0升高到3。等级提高点可以对应于10,000、20,000和30,000。如上所述,每当更新存储块的累积访问计数AAC时,损耗均衡单元111可以对存储块执行热块检测操作。此时,损耗均衡单元111可以将存储块MB0至MB7的损耗等级WL与当前参考等级CWL进行比较,并检测每个存储块MB0至MB7是否为热块。当热块检测操作的结果指示不存在损耗等级WL超过参考等级CWL的存储块时,损耗均衡单元111可以省略执行热块管理操作。
图3示出了在热块检测操作期间存储块MB0的损耗等级WL可以升高到1的时间点。因为热块检测操作的结果指示存储块MB0中的为1的损耗等级WL高于参考等级CWL,所以损耗均衡单元111可以将存储块MB0设置为热块。然后,损耗均衡单元111可以执行热块管理操作,以抑制对热块MB0的写入访问。此外,每当其他存储块MB1至MB7中的每一个的损耗等级WL升高到1时,损耗均衡单元111可以将该存储块设置为热块,并且执行热块管理操作。
参考图4,损耗均衡单元111可以基于存储块MB0至MB7的损耗等级来将参考等级CWL提高到1。在本实施例中,如果所有存储块MB0至MB7的损耗等级WL对应于1,则损耗均衡单元111将参考等级CWL提高到1。此后,具有与提高为1的参考等级CWL相同的损耗等级WL的存储块MB0至MB7可以被视为冷块。损耗均衡单元111可以在热块检测操作期间通过将存储块MB0至MB7的损耗等级WL与为1的参考等级CWL进行比较来判定热块。在另一个实施例中,如果存储块的某个百分比(例如,大于85%)具有对应于1的损耗等级,则损耗均衡单元111可以将参考等级CWL提高到1。
图5是示出图1的损耗均衡单元111的详细配置的框图。为了促进理解,图5还示出了图1的易失性存储器件120和非易失性存储器件130。为了执行上述操作,图5中所示的损耗均衡单元111的块(即,单元)可以用硬件、软件或硬件和软件的组合来实现。
损耗均衡单元111可以包括计数单元151、检测定时确定单元152、累积计数单元153、热块判定单元154、块替换单元155和参考等级提高单元156。
计数单元151可以接收与写入访问存储块(即,目标存储块)相对应的逻辑块地址LBA。计数单元151可以基于逻辑块地址LBA而在易失性存储器件120中储存的逻辑块映射表LBMT中找到并读取目标存储块的访问计数AC,并且将访问计数AC增加1。计数单元151可以将增加的访问计数NAC提供给检测定时确定单元152。
检测定时确定单元152可以基于增加的访问计数NAC来判断是否已经达到目标存储块的热块检测时间(即,是否要对目标存储块执行热块检测操作)。
检测定时确定单元152可以将增加的访问计数NAC与检测计数CHC进行比较,以便判断是否已经达到热块检测定时。检测定时确定单元152可以包括寄存器(未示出),其被配置为储存用于比较的检测计数CHC。检测定时确定单元152可以将判断结果TM提供给计数单元151。
当增加的访问计数NAC小于检测计数CHC时,检测定时确定单元152可以确定尚未达到热块检测时间。在这种情况下,因为还不执行热块检测操作,所以可以跳过针对目标存储块的热块管理操作。计数单元151可以响应于指示尚未达到热块检测定时的判断结果TM而将目标存储块的访问计数AC中增加的访问计数NAC储存在易失性存储器件120的逻辑块映射表LBMT中。
然而,当增加的访问计数NAC等于检测计数CHC时,检测定时确定单元152可以确定已经达到热块检测时间。计数单元151可以响应于指示已经达到热块检测时间的判断结果TM而将物理块地址PBA提供给累积计数单元153。因为在热块检测定时的情况下增加的访问计数NAC将被累积在累积访问计数ACC中,所以计数单元151可以将目标存储块的访问计数AC中为0的访问计数重置值RST储存在易失性存储器件120的逻辑块映射表LBMT中。
累积计数单元153可以基于从计数单元151传送的物理块地址PBA而在非易失性存储器件130中储存的物理块映射表中找到并读取目标存储块的累积访问计数AAC,并且将累积访问计数AAC增加检测计数CHC。也就是说,因为需要通过增加的访问计数NAC来增加累积访问计数AAC,所以累积计数单元153的检测计数CHC可以指示增加的访问计数NAC。累积计数单元153可以包括寄存器(未示出),其被配置为储存用于添加的检测计数CHC。累积计数单元153可以将目标存储块的累积访问计数AAC中增加的累积访问计数NAAC储存在非易失性存储器件130的物理块映射表PBMT中。
累积计数单元153可以将增加的累积访问计数NAAC提供给热块判定单元154。
热块判定单元154可以基于增加的累积访问计数NAAC来检测目标存储块是否为热块。也就是说,热块判定单元154可以响应于累积访问计数AAC被更新为增加的累积访问计数NAAC而执行热块检测操作。热块判定单元154可以基于增加的累积访问计数NAAC来将参考等级CWL与目标存储块的损耗等级进行比较,以便检测目标存储块是否为热块。
当热块检测操作的结果指示损耗等级等于(或不大于)参考等级CWL时,热块判定单元154可以确定目标存储块不是热块。因此,可以跳过针对目标存储块的热块管理操作。
然而,当热块检测操作的结果指示损耗等级高于参考等级CWL时,热块判定单元154可以确定目标存储块为热块。在这种情况下,热块判定单元154可以将目标存储块的物理块地址PBA和结果HOT提供给块替换单元155,结果HOT指示目标存储块为热块。此外,热块判定单元154可以向参考等级提高单元156提供指示目标存储块为热块的结果HOT。
热块判定单元154可以包括寄存器(未示出),其被配置为储存用于热块检测操作的参考等级CWL。将参考图7详细描述热块判定单元154执行热块检测操作的过程。
块替换单元155可以基于从热块判定单元154传送的物理块地址PBA来对目标存储块执行热块管理操作。块替换单元155可以在执行热块管理操作的同时访问非易失性存储器件130。将参考图8详细描述块替换单元155执行热块管理操作的过程。
参考等级提高单元156可以响应于从热块判定单元154传送的结果HOT来判定是否提高参考等级CWL。当在非易失性存储器件130中需要损耗均衡的所有存储块的损耗等级比参考等级CWL高时,参考等级提高单元156可以判定提高参考等级CWL,并且将判定结果NCWL传送到热块判定单元154。例如,每当从热块判定单元154接收到指示目标存储块为热块的结果HOT时,参考等级提高单元156可以增加预定计数,并且判断计数是否已经达到要在非易失性存储器件130中被损耗均衡的存储块的数量。当对应的计数已经达到要被损耗均衡的存储块的数量时,它可以指示存储块的损耗等级高于参考等级CWL。因此,当对应的计数达到要被损耗均衡的存储块的数量时,参考等级提高单元156可以将判定结果NCWL传送到热块判定单元154。
图6示出了根据实施例的逻辑块映射表LBMT和物理块映射表PBMT。
在一个实施例中,物理块映射表PBMT可以被储存在非易失性存储器件130中。物理块映射表PBMT可以使用非易失性存储器件130的物理块地址PBA作为索引。例如,非易失性存储器件130可以包括八个存储块,并且存储块可以分别对应于0到7的物理块地址PBA。
物理块映射表PBMT的条目可以包括用于逻辑块地址LBA和累积访问计数AAC的字段。用于逻辑块地址LBA的字段可以包括映射到索引的物理块地址PBA的逻辑块地址。用于累积访问计数AAC的字段可以包括索引的物理块地址PBA的累积访问计数。
例如,与为3的物理块地址PBA相对应的条目PBA3可以包括:被映射到为3的物理块地址PBA的为1的逻辑块地址LBA以及具有在为3的物理块地址PBA的存储块中的为9,800的累积访问计数AAC。
逻辑块映射表LBMT可以被储存在易失性存储器件120中。
逻辑块映射表LBMT可以使用逻辑块地址LBA作为索引。图6基于逻辑块地址LBA具有0到5的值的假设。逻辑块映射表LBMT的条目可以包括用于物理块地址PBA和访问计数AC的字段。用于物理块地址PBA的字段可以包括映射到索引的逻辑块地址LBA的物理块地址。用于访问计数AC的字段可以包括索引的逻辑块地址LBA的访问计数。
例如,与为1的逻辑块地址LBA相对应的条目LBA1可以包括:被映射到为1的逻辑块地址LBA的为3的物理块地址PBA以及具有在为3的物理块地址PBA的存储块中的为98的访问计数AC。
例如,逻辑块映射表LBMT可以在存储***100的启动期间通过转换物理块映射表PBMT来产生,并且被储存在易失性存储器件120中。也就是说,因为逻辑块映射表LBMT包括在物理块映射表PBMT的相对位置处的物理块地址PBA和逻辑块地址LBA,所以可以通过转换物理块映射表PBMT来创建逻辑块映射表LBMT。当启动存储***100时,访问计数AC可以被设置为0。当存储***100要被断电时,可以在存储***100的断电期间将访问计数AC添加到累积访问计数AAC。
在另一实施例中,逻辑块映射表LBMT可以在存储***100的断电期间被储存在非易失性存储器件130中。储存在非易失性存储器件130中的逻辑块映射表LBMT可以在存储***100的启动期间被加载到易失性存储器件120。
图7示出了将目标存储块设置为热块的过程。
在图7的时间点T71、T72和T73处,目标存储块可以对应于为3的物理块地址PBA和为1的逻辑块地址LBA。因此,逻辑块地址LBA的条目LBA1为1,被从图6的逻辑块映射表LBMT中读取,而物理块地址PBA的条目PBA3为3,被从图6的物理块映射表PBMT中读取。
在图7的说明性示例中,在图7的时间点T71到T73处的目标存储块的损耗等级与累积访问计数AAC除以10,000的商相对应,如图3所示。例如,当累积访问计数AAC(例如,9,800)除以10,000的商小于1时,目标存储块在时间点T71处的损耗等级可以对应于0。
此外,在所示的示例中,在时间点T71到T73处,检测计数为100,而参考等级为0。
当在时间点T71处对目标存储块进行写入访问时,计数单元151将访问计数AC从98增加到99。然而,因为访问计数AC尚未达到为100的检测计数,所以访问计数AC不被累积在累积访问计数AAC中,并且将不执行热块检测操作。
当在时间点T72处对目标存储块进行写入访问时,计数单元151将访问计数AC从99增加到100。因为访问计数AC已经达到为100的检测计数,所以检测定时确定单元152确定已经达到针对目标存储块的热块检测定时。因此,累积计数单元153将累积访问计数AAC从9,800增加到9,900(即,增加为100的检测计数),并且计数单元151将访问计数AC重置为0。由于累积访问计数AAC为9,900,因此目标存储块的损耗等级保持为0。因为目标存储块的损耗等级等于为0的参考等级,所以热块判定单元154判定目标存储块不是热块。
在时间点T72与T73之间,可以集中地写入访问目标存储块。结果,访问计数AC可以在时间点T73处从99增加到100。因为访问计数AC已经达到为100的检测计数,所以检测定时确定单元152确定已经达到目标存储块的热块检测定时。作为响应,累积计数单元153将累积访问计数AAC从9,900增加到10,000,并且计数单元151将访问计数AC重置为0。由于累积访问计数AAC已经增加到10,000,因此目标存储块的损耗等级WL对应于1。因为目标存储块的损耗等级WL高于为0的参考等级,所以热块判定单元154将目标存储块设置为热块。
图8示出了根据实施例的图5的块替换单元155执行热块管理操作的过程。图8示出了在时间点T81、T82、T83、T84和T85上抑制对被设置为热块的存储块的写入访问的过程。图8示出了在时间点T81至T85中的每一个处对应于物理块地址PBA的逻辑块地址LBA。
在时间点T81处,可以使用对应于为0到5的物理块地址PBA的存储块,并且对应于为6和7的物理块地址PBA的存储块是备用存储块。具有为3的物理块地址的存储块被设置为热块。
在时间点T82处,储存在热块中的数据(即,逻辑块地址为1的数据)可以被复制或移动到与为6的物理块地址相对应的备用存储块。
在时间点T83处,为6的物理块地址被映射到为1的逻辑块地址,并且为3的物理块地址的映射被移除。因此,具有为3的物理块地址的热块可能不再被写入访问,并且防止了热块的额外损耗。
逻辑块地址为1的数据可以包括经常被更新的热数据。与为6的物理块地址的备用存储块类似,备用存储块可以用于储存热数据,而不是热块。因此,当非易失性存储器件130缺少备用存储块时,需要添加备用存储块。在本实施例中,当非易失性存储器件130缺少备用存储块时,可以如下添加备用存储块。
在时间点T84处,储存在具有为0的物理块地址的存储块中的数据(即,逻辑块地址为0的数据)可以被复制或移动到具有为3的物理块地址的存储块。此时,具有为0的物理块地址的存储块可以为冷块。在本实施例中,冷块可以指示具有与当前参考等级相同的损耗等级的存储块。储存在冷块中的数据可以包括不经常被更新的冷数据。
简而言之,可以使用逻辑块到物理块映射来控制具有为3的物理块地址的热块,以储存冷数据。
在时间点T85处,为3的物理块地址被映射到为0的逻辑块地址,并且为0的物理块地址的映射被移除。具有为0的物理块地址的存储块被设置为备用存储块。
简而言之,尽管没有使用具有为3的物理块地址的热块,但是热块可以不被分配为备用存储块。相反,在冷块中储存的任何数据被传送到热块并对应地调整逻辑到物理映射之后,将具有为0的物理块地址的冷块分配为备用存储块。
图9示出了根据实施例的图1的损耗均衡单元111搜索冷块的过程。
损耗均衡单元111可以将损耗等级信息WLIF储存在易失性存储器件120中,并且管理损耗等级信息WLIF。损耗等级信息WLIF可以包括非易失性存储器件130中包括的存储块MB的损耗等级。可以根据如上所述的存储块的累积访问计数AAC来确定各个存储块的损耗等级。
在另一个实施例中,可以利用图6的逻辑块映射表LBMT来管理损耗等级信息WLIF。例如,逻辑块映射表LBMT可以包括与各个逻辑块地址相对应的损耗等级。
当存储块具有与当前参考等级相同的损耗等级时,存储块可以对应于冷块。因此,为了搜索冷块,损耗均衡单元111可以检测损耗等级信息WLIF中的损耗等级,并且将损耗等级与当前参考等级进行比较。损耗均衡单元111可以通过对损耗等级信息WLIF执行分级搜索操作来有效地搜索冷块。
在一个实施例中,损耗均衡单元111可以将损耗等级信息WLIF划分为信息段IF。每个信息段IF可以包括预定数量的存储块MB的损耗等级。对应于每个信息段IF的预定数量的存储块可以在下文中被称为存储块组。因此,存储块MB可以被划分为与各个信息段IF相对应的多个存储块组MBG。
损耗均衡单元111可以基于信息段IF来产生对应的存储块组MBG的第一标志FLAG1。例如,损耗均衡单元111可以将在每个信息段IF中包括的损耗等级与当前参考等级进行比较,并且判断对应的存储块组是否包括预定数量的冷块或更多的冷块。损耗均衡单元111可以根据判断结果来产生对应的存储块组MBG的第一标志FLAG1。
因此,第一标志FLAG1可以指示对应的存储块组MBG是否包括预定数量的冷块或更多的冷块。被“命中”的第一标志FLAG1可以指示对应的存储块组MBG包括预定数量的冷块或更多的冷块,而“未被命中”的第一标志FLAG1可以指示对应的存储块组MBG不包括预定数量的冷块或更多的冷块。
当在等级1处执行分级搜索操作时,损耗均衡单元111可以基于第一标志FLAG1来选择要检测损耗等级的信息段IF。也就是说,损耗均衡单元111可以检测由被命中的第一标志FLAG1指示的信息段IF中的损耗等级。
为了提高搜索操作的效率,第一标志FLAG1可以在等级2处被构造为分级搜索结构。例如,损耗均衡单元111可以将第一标志FLAG1划分为第一标志组FLAG1G,并且产生对应的第一标志组FLAG1G的第二标志FLAG2。损耗均衡单元111可以判断第一标志组FLAG1G中的每一个是否包括与命中对应的预定数量的第一标志FLAG1,并且根据判断结果来产生第一标志组FLAG1G的第二标志FLAG2。
因此,第二标志FLAG2可以指示对应的第一标志组FLAG1G是否包括与命中对应的预定数量的第一标志FLAG1或更多的第一标志FLAG1。被命中的第二标志FLAG2可以指示第一标志组FLAG1G包括与命中对应的预定数量的第一标志FLAG1或更多的第一标志FLAG1,而未命中的第二标志FLAG2可以指示第一标志组FLAG1G不包括与命中对应的预定数量的第一标志FLAG1或更多的第一标志FLAG1。
参考图9,如下将描述执行在等级2处的分级搜索操作的情况。首先,损耗均衡单元111可以在第二标志FLAG2之中选择被命中的第二标志94。损耗均衡单元111可以在由择中的第二标志94指示的第一标志组FLAG1G中选择被命中的第一标志93。损耗均衡单元111可以检测由择中的第一标志93指示的信息段92的损耗等级。损耗均衡单元111可以检测信息段92的损耗等级,并且在与该信息段对应的存储块组91中搜索冷块。图9展示了分级搜索过程比从开始或任意点起检测损耗等级信息WLIF时更有效,以便搜索冷块。
根据本实施例,第一标志FLAG1可以扩展到在多个等级处的分级搜索结构。也就是说,以与基于第一标志FLAG1来产生第二标志FLAG2的过程类似的方式,可以基于较低级别的标志来产生较高级别的标志。
当在具有多个等级的分级搜索结构中执行分级搜索操作时,损耗均衡单元111可以在顶级标志之中选择命中标志。顶级标志可以指示在最终产生的等级处的标志。损耗均衡单元111可以在由择中的顶级标志指示的较低级别标志组中选择命中标志,并且在等级之间移动的同时重复选择标志。损耗均衡单元111可以最终选择某个第一标志FLAG1,并检测由第一标志FLAG1指示的信息段IF的损耗等级。
在另一个实施例中,损耗均衡单元111可以管理用于损耗等级信息WLIF的每个信息段IF的搜索点。搜索点可以指示在对应的信息段IF中找到冷块的最后位置。因此,当再次在对应的信息段IF中搜索冷块时,损耗均衡单元111可以从当前搜索点开始搜索。
在另一个实施例中,损耗均衡单元111可以管理在损耗等级信息WLIF的每个信息段IF中的冷块的数量。
图10是示出根据实施例的图1的损耗均衡单元111的操作过程的流程图。
在步骤S110处,损耗均衡单元111可以根据主机设备的请求来访问目标存储块。
在步骤S120处,损耗均衡单元111可以增加目标存储块的访问计数。
在步骤S130处,损耗均衡单元111可以判断目标存储块的访问计数是否已经达到检测计数。当目标存储块的访问计数未达到检测计数时,可以结束该过程。当目标存储块的访问计数已达到检测计数时,该过程可以进行到步骤S140。
在步骤S140处,损耗均衡单元111可以将目标存储块的累积访问计数增加检测计数。
在步骤S150处,损耗均衡单元111可以基于目标存储块的累积访问计数来判定目标存储块的损耗等级。
在步骤S160处,损耗均衡单元111可以判断目标存储块的损耗等级是否超过参考等级。当目标存储块的损耗等级不超过参考等级时,可以结束该过程。当目标存储块的损耗等级超过参考等级时,该过程可以进行到步骤S170。
在步骤S170处,损耗均衡单元111可以将目标存储块设置为热块,并且对目标存储块执行热块管理操作。
图11是示出根据实施例的图1的损耗均衡单元111的操作过程的流程图。
在步骤S210处,损耗均衡单元111可以判断非易失性存储器件130的存储块的所有损耗等级是否超过参考等级。当所有损耗等级都不超过参考等级时,可以结束该过程。当所有损耗等级超过参考等级时,该过程可以进行到步骤S220。
在步骤S220处,损耗均衡单元111可以提高参考等级。
根据本实施例,存储***和操作过程可以对非易失性存储器件有效地执行损耗均衡操作,从而延长非易失性存储器件的寿命。
虽然上面已经描述了各种实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例。因此,本文中所描述的存储***和操作过程不应基于所描述的实施例来限制。
Claims (36)
1.一种存储***,包括:
非易失性存储器件,所述非易失性存储器件包括多个存储块;以及
损耗均衡单元,所述损耗均衡单元被配置为:将所述存储块之中的第一存储块的累积访问计数增加预定值,在与累积访问计数部分相对应的损耗等级之中确定与包括所述第一存储块的所述累积访问计数的累积访问计数部分相对应的损耗等级,响应于超过参考等级的所述损耗等级来将所述第一存储块设置为热块,以及对所述热块执行热块管理操作,
其中,当所有存储块的损耗等级超过所述参考等级时,所述损耗均衡单元提高所述参考等级。
2.根据权利要求1所述的存储***,其中,当所述第一存储块被访问时,所述损耗均衡单元增加访问计数,以及响应于达到所述预定值的所述访问计数而将所述累积访问计数增加所述预定值。
3.根据权利要求2所述的存储***,其中,所述损耗均衡单元响应于所述累积访问计数被增加而重置所述访问计数。
4.根据权利要求2所述的存储***,还包括易失性存储器件,
其中,所述累积访问计数被储存在所述非易失性存储器件中,以及
其中,所述访问计数被储存在所述易失性存储器件中。
5.根据权利要求4所述的存储***,其中,所述累积访问计数被包括在第一表中,所述第一表使用与所述第一存储块相对应的物理块地址作为索引,以及
其中,所述访问计数被包括在第二表中,所述第二表使用逻辑块地址作为索引,所述逻辑块地址与被储存在所述第一存储块中的数据相对应。
6.根据权利要求1所述的存储***,其中,所述损耗均衡单元通过将储存在所述第一存储块中的数据移动或复制到第二存储块并限制对所述第一存储块的写入访问来执行所述热块管理操作。
7.根据权利要求6所述的存储***,其中,当基于第三存储块的损耗等级来将所述第三存储块设置为冷块时,所述损耗均衡单元通过将储存在所述第三存储块中的数据移动或复制到所述第一存储块来执行所述热块管理操作。
8.根据权利要求7所述的存储***,其中,当所述第三存储块的损耗等级比所述第一存储块的损耗等级低时,所述损耗均衡单元将所述第三存储块设置为所述冷块。
9.根据权利要求1所述的存储***,其中,所述损耗均衡单元管理包括所述存储块的损耗等级的损耗等级信息,将所述损耗等级信息划分为信息段,每个信息段包括对应的存储块的损耗等级,产生与各个信息段相对应的第一标志,将所述第一标志构造成具有多个等级的分级搜索结构,以及通过对所述分级搜索结构的分级搜索操作来搜索冷块。
10.根据权利要求9所述的存储***,其中,所述第一标志中的每个指示所述对应的存储块是否包括预定数量的冷块或更多的冷块。
11.根据权利要求9所述的存储***,其中,所述分级搜索结构中的较高级别标志指示与所述较高级别标志相对应的较低级别标志是否包括预定数量的命中标志或更多的命中标志,其中,命中标志是如下所述的标志:指示对应的存储块包括预定数量的冷块或更多的冷块,或者指示对应的较低级别标志组包括预定数量的命中标志或更多的命中标志。
12.根据权利要求9所述的存储***,其中,所述损耗均衡单元通过经由所述分级搜索操作而在所述第一标志之中选择第一标志并且将与该第一标志相对应的信息段的损耗等级与参考等级进行比较来搜索所述冷块。
13.一种存储***,包括:
非易失性存储器件,所述非易失性存储器件包括存储块;以及
损耗均衡单元,所述损耗均衡单元被配置为当第一存储块的访问计数达到检测计数时将所述第一存储块的累积访问计数增加所述检测计数,以及当从所述累积访问计数计算的损耗等级超过参考等级时对所述第一存储块执行热块管理操作,
其中,当所有所述存储块的损耗等级超过所述参考等级时,所述损耗均衡单元提高所述参考等级。
14.根据权利要求13所述的存储***,其中,每当所述第一存储块被访问时,所述损耗均衡单元增加所述访问计数。
15.根据权利要求14所述的存储***,其中,当所述累积访问计数被增加时,所述损耗均衡单元重置所述访问计数。
16.根据权利要求13所述的存储***,还包括易失性存储器件,
其中,所述累积访问计数被储存在所述非易失性存储器件中,以及
其中,所述访问计数被储存在所述易失性存储器件中。
17.根据权利要求13所述的存储***,其中,所述累积访问计数被包括在第一表中,所述第一表使用与所述第一存储块相对应的物理块地址作为索引,以及
其中,所述访问计数被包括在第二表中,所述第二表使用逻辑块地址作为索引,所述逻辑块地址与被储存在所述第一存储块中的数据相对应。
18.根据权利要求13所述的存储***,其中,所述损耗均衡单元通过将储存在所述第一存储块中的数据移动或复制到第二存储块并限制对所述第一存储块的写入访问来执行所述热块管理操作。
19.根据权利要求18所述的存储***,其中,当基于第三存储块的损耗等级来将所述第三存储块设置为冷块时,所述损耗均衡单元通过将储存在所述第三存储块中的数据移动或复制到所述第一存储块来执行所述热块管理操作。
20.根据权利要求19所述的存储***,其中,当所述第三存储块的损耗等级比所述第一存储块的损耗等级低时,所述损耗均衡单元将所述第三存储块设置为所述冷块。
21.根据权利要求13所述的存储***,其中,所述损耗均衡单元管理包括所述存储块的损耗等级的损耗等级信息,将所述损耗等级信息划分为信息段,每个信息段包括对应的存储块的损耗等级,产生与各个信息段相对应的第一标志,将所述第一标志构造成具有多个等级的分级搜索结构,以及通过对所述分级搜索结构的分级搜索操作来搜索冷块。
22.根据权利要求21所述的存储***,其中,所述第一标志中的每个指示所述对应的存储块是否包括预定数量的冷块或更多的冷块。
23.根据权利要求21所述的存储***,其中,所述分级搜索结构中的较高级别标志指示与所述较高级别标志相对应的较低级别标志是否包括预定数量的命中标志或更多的命中标志,其中,命中标志是如下所述的标志:指示对应的存储块包括预定数量的冷块或更多的冷块,或者指示对应的较低级别标志组包括预定数量的命中标志或更多的命中标志。
24.根据权利要求21所述的存储***,其中,所述损耗均衡单元通过经由所述分级搜索操作而在所述第一标志之中选择第一标志并且将与该第一标志相对应的信息段的损耗等级与所述参考等级进行比较来搜索所述冷块。
25.一种存储***,包括:
非易失性存储器件,所述非易失性存储器件包括存储块;以及
损耗均衡单元,所述损耗均衡单元被配置为管理所述存储块的损耗等级,以及当第一存储块的损耗等级超过参考等级时对所述第一存储块执行热块管理操作,
其中,当所有损耗等级超过所述参考等级时,所述损耗均衡单元提高所述参考等级。
26.根据权利要求25所述的存储***,其中,每当所述第一存储块被访问时,所述损耗均衡单元增加所述第一存储块的访问计数,当所述访问计数达到预定值时将所述第一存储块的累积访问计数增加所述预定值,以及基于所述累积访问计数来判定所述损耗等级。
27.根据权利要求26所述的存储***,其中,当所述累积访问计数被增加时,所述损耗均衡单元重置所述访问计数。
28.根据权利要求26所述的存储***,还包括易失性存储器件,
其中,所述累积访问计数被储存在所述非易失性存储器件中,以及
其中,所述访问计数被储存在所述易失性存储器件中。
29.根据权利要求28所述的存储***,其中,所述累积访问计数被包括在第一表中,所述第一表使用与所述第一存储块相对应的物理块地址作为索引,以及
所述访问计数被包括在第二表中,所述第二表使用逻辑块地址作为索引,所述逻辑块地址与被储存在所述第一存储块中的数据相对应。
30.根据权利要求25所述的存储***,其中,所述损耗均衡单元通过将储存在所述第一存储块中的数据移动或复制到第二存储块并限制对所述第一存储块的写入访问来执行所述热块管理操作。
31.根据权利要求30所述的存储***,其中,当基于第三存储块的损耗等级来将所述第三存储块设置为冷块时,所述损耗均衡单元通过将储存在所述第三存储块中的数据移动或复制到所述第一存储块来执行所述热块管理操作。
32.根据权利要求31所述的存储***,其中,当所述第三存储块的损耗等级比所述第一存储块的损耗等级低时,所述损耗均衡单元将所述第三存储块设置为所述冷块。
33.根据权利要求25所述的存储***,其中,所述损耗均衡单元将包括所述存储块的损耗等级的损耗等级信息划分为信息段,每个信息段包括对应的存储块的损耗等级,产生与各个信息段相对应的第一标志,将所述第一标志构造成具有多个等级的分级搜索结构,以及通过对所述分级搜索结构的分级搜索操作来搜索冷块。
34.根据权利要求33所述的存储***,其中,所述第一标志中的每个指示所述对应的存储块是否包括预定数量的冷块或更多的冷块。
35.根据权利要求33所述的存储***,其中,所述分级搜索结构中的较高级别标志指示与所述较高级别标志相对应的较低级别标志是否包括预定数量的命中标志或更多的命中标志,其中,命中标志是如下所述的标志:指示对应的存储块包括预定数量的冷块或更多的冷块,或者指示对应的较低级别标志组包括预定数量的命中标志或更多的命中标志。
36.根据权利要求33所述的存储***,其中,所述损耗均衡单元通过经由所述分级搜索操作而在所述第一标志之中选择第一标志并且将与该第一标志相对应的信息段的损耗等级与所述参考等级进行比较来搜索所述冷块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0027514 | 2018-03-08 | ||
KR1020180027514A KR102534648B1 (ko) | 2018-03-08 | 2018-03-08 | 메모리 시스템 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110244906A CN110244906A (zh) | 2019-09-17 |
CN110244906B true CN110244906B (zh) | 2022-12-02 |
Family
ID=67842630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811433288.6A Active CN110244906B (zh) | 2018-03-08 | 2018-11-28 | 存储***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10776262B2 (zh) |
KR (1) | KR102534648B1 (zh) |
CN (1) | CN110244906B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5401444B2 (ja) * | 2007-03-30 | 2014-01-29 | ラムバス・インコーポレーテッド | 異なる種類の集積回路メモリ素子を有する階層メモリモジュールを含むシステム |
KR102567111B1 (ko) * | 2018-08-02 | 2023-08-14 | 삼성전자주식회사 | 스토리지 디바이스 및 스토리지 디바이스의 동작 방법 |
US11645198B2 (en) * | 2020-12-08 | 2023-05-09 | International Business Machines Corporation | Buffer pool maintenance improvement |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101223498A (zh) * | 2005-07-15 | 2008-07-16 | 国际商业机器公司 | 用于管理数据存储的方法、***和计算机程序产品以及虚拟化引擎 |
WO2015189988A1 (ja) * | 2014-06-13 | 2015-12-17 | 株式会社日立製作所 | ファイル再配置ポリシーを出力する管理サーバ、及びストレージシステム |
CN106462500A (zh) * | 2014-05-28 | 2017-02-22 | 美光科技有限公司 | 用于执行损耗均衡操作的设备及方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8060718B2 (en) * | 2006-06-20 | 2011-11-15 | International Business Machines | Updating a memory to maintain even wear |
US20080294813A1 (en) * | 2007-05-24 | 2008-11-27 | Sergey Anatolievich Gorobets | Managing Housekeeping Operations in Flash Memory |
KR100857761B1 (ko) * | 2007-06-14 | 2008-09-10 | 삼성전자주식회사 | 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법 |
TWI366828B (en) * | 2007-09-27 | 2012-06-21 | Phison Electronics Corp | Wear leveling method and controller using the same |
TWI389125B (zh) * | 2008-07-18 | 2013-03-11 | A Data Technology Co Ltd | 記憶體儲存裝置及其控制方法 |
US9280466B2 (en) * | 2008-09-09 | 2016-03-08 | Kabushiki Kaisha Toshiba | Information processing device including memory management device managing access from processor to memory and memory management method |
KR101097438B1 (ko) * | 2009-10-29 | 2011-12-23 | 주식회사 하이닉스반도체 | 웨어 레벨링을 유동적으로 제어하는 반도체 스토리지 시스템 및 그 제어 방법 |
KR20130061967A (ko) * | 2011-12-02 | 2013-06-12 | 삼성전자주식회사 | 메모리 시스템 및 그것의 웨어 레벨링 방법 |
KR102295208B1 (ko) | 2014-12-19 | 2021-09-01 | 삼성전자주식회사 | 프로그램 영역을 동적으로 할당하는 저장 장치 및 그것의 프로그램 방법 |
US9514043B1 (en) | 2015-05-12 | 2016-12-06 | Sandisk Technologies Llc | Systems and methods for utilizing wear leveling windows with non-volatile memory systems |
US10922221B2 (en) * | 2018-03-28 | 2021-02-16 | Micron Technology, Inc. | Memory management |
-
2018
- 2018-03-08 KR KR1020180027514A patent/KR102534648B1/ko active IP Right Grant
- 2018-10-24 US US16/169,835 patent/US10776262B2/en active Active
- 2018-11-28 CN CN201811433288.6A patent/CN110244906B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101223498A (zh) * | 2005-07-15 | 2008-07-16 | 国际商业机器公司 | 用于管理数据存储的方法、***和计算机程序产品以及虚拟化引擎 |
CN106462500A (zh) * | 2014-05-28 | 2017-02-22 | 美光科技有限公司 | 用于执行损耗均衡操作的设备及方法 |
WO2015189988A1 (ja) * | 2014-06-13 | 2015-12-17 | 株式会社日立製作所 | ファイル再配置ポリシーを出力する管理サーバ、及びストレージシステム |
Also Published As
Publication number | Publication date |
---|---|
KR20190106271A (ko) | 2019-09-18 |
KR102534648B1 (ko) | 2023-05-22 |
US10776262B2 (en) | 2020-09-15 |
US20190278706A1 (en) | 2019-09-12 |
CN110244906A (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10922240B2 (en) | Memory system, storage system and method of controlling the memory system | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US9229876B2 (en) | Method and system for dynamic compression of address tables in a memory | |
US9128847B2 (en) | Cache control apparatus and cache control method | |
US10534718B2 (en) | Variable-size table for address translation | |
CN113015965B (zh) | 基于小计写入计数器执行混合损耗均衡操作 | |
CN105489239B (zh) | 数据储存设备及其操作方法 | |
US20110231598A1 (en) | Memory system and controller | |
US11194737B2 (en) | Storage device, controller and method for operating the controller for pattern determination | |
CN110244906B (zh) | 存储***及其操作方法 | |
US11449418B2 (en) | Controller and method for selecting victim block for wear leveling operation | |
JP2013137770A (ja) | Lbaビットマップの使用 | |
US11526296B2 (en) | Controller providing host with map information of physical address for memory region, and operation method thereof | |
WO2015054338A1 (en) | System and method of storing data in a data storage device with a selection of two writing orders in order to improve the reading speed of a differential look ahead reading mode. | |
US11334272B2 (en) | Memory system and operating method thereof | |
US20230214158A1 (en) | Read performance of memory devices | |
US11614885B2 (en) | Data processing method for improving access performance of memory device and data storage device utilizing the same | |
US11422930B2 (en) | Controller, memory system and data processing system | |
US9870826B2 (en) | Memory apparatus and data access method thereof by using multiple memories for lifetime extension | |
US9218294B1 (en) | Multi-level logical block address (LBA) mapping table for solid state | |
CN106257432B (zh) | 数据储存设备及其操作方法 | |
US9846647B2 (en) | Cache device and control method threreof | |
US20170242612A1 (en) | Process data binning for memory swapping | |
CN112230843A (zh) | 限制热-冷交换磨损均衡 | |
KR20200005127A (ko) | 비휘발성 메모리의 주소를 관리하는 반도체 장치 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |