CN108153680B - 数据存储装置及其操作方法 - Google Patents

数据存储装置及其操作方法 Download PDF

Info

Publication number
CN108153680B
CN108153680B CN201710264384.1A CN201710264384A CN108153680B CN 108153680 B CN108153680 B CN 108153680B CN 201710264384 A CN201710264384 A CN 201710264384A CN 108153680 B CN108153680 B CN 108153680B
Authority
CN
China
Prior art keywords
memory
memory regions
candidate
regions
victim
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
Application number
CN201710264384.1A
Other languages
English (en)
Other versions
CN108153680A (zh
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.)
SK Hynix Inc
Original Assignee
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN108153680A publication Critical patent/CN108153680A/zh
Application granted granted Critical
Publication of CN108153680B publication Critical patent/CN108153680B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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/1016Performance improvement
    • 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
    • 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/7205Cleaning, compaction, garbage collection, erase control
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

本发明涉及一种数据存储装置,其包括:存储器装置,其包括多个存储器区域;以及控制器,其适于基于多个存储器区域的擦除计数在多个存储器区域中选择一个或多个候选存储器区域,基于候选存储器区域的数量确定调整值,在候选存储器区域中选择等于或小于调整值的数量的牺牲存储器区域,并对所选牺牲存储器区域执行垃圾收集操作。

Description

数据存储装置及其操作方法
相关申请的交叉引用
本申请要求于2016年12月5日向韩国知识产权局提交的申请号为10-2016-0164549的韩国申请的优先权,其全部内容通过引用并入本文。
技术领域
各个实施例总体涉及一种数据存储装置,更特别地,涉及一种包括非易失性存储器装置的数据存储装置。
背景技术
数据存储装置可响应于写入请求而存储由外部装置提供的数据。数据存储装置还可响应于读取请求将存储的数据提供给外部装置。使用数据存储装置的外部装置的示例包括台式计算机以及包括计算机、数码相机、蜂窝电话、智能电话、智能卡等的便携式和移动电子装置。数据存储装置可在外部装置的制造期间嵌入外部装置中,或者可被单独制造,然后连接到外部装置。
发明内容
在实施例中,数据存储装置可包括:存储器装置,其包括多个存储器区域;以及控制器,其适于基于多个存储器区域的擦除计数在多个存储器区域中选择一个或多个候选存储器区域,基于候选存储器区域的数量确定调整值,在候选存储器区域中选择等于或小于调整值的数量的牺牲(victim)存储器区域,并对所选牺牲存储器区域执行垃圾收集操作。
在实施例中,用于操作数据存储装置的方法可包括:基于多个存储器区域的擦除计数在多个存储器区域中选择一个或多个候选存储器区域;基于候选存储器区域的数量确定调整值;根据等于或小于调整值的数量在候选存储器区域中选择一个或多个牺牲存储器区域;以及对牺牲存储器区域执行垃圾收集操作。
附图说明
通过参照附图描述本发明的各个实施例,本发明的上述和其它特征及优点对于本领域的技术人员将变得更加显而易见,其中:
图1是示出根据本发明的实施例的数据存储装置的框图。
图2是示出图1的数据存储装置采用的用于在多个存储器区域中选择候选存储器区域的存储器管理单元的方法的图。
图3是示出图1的数据存储装置采用的存储器管理单元的损耗均衡操作的图。
图4是示出用于操作图1的数据存储装置的方法的流程图。
图5是示出根据本发明的实施例的数据存储装置的框图。
图6是示出图5的数据存储装置采用的存储器管理单元的损耗均衡操作的操作模式的表。
图7是示出基于图6的表的、图5的数据存储装置采用的存储器管理单元的损耗均衡操作的图。
图8是示出用于操作图5的数据存储装置的方法的流程图。
图9是示出图5的数据存储装置采用的存储器管理单元的损耗均衡操作和存储器保护(securement)操作的模式的表。
图10是示出基于图9的表的、图5的数据存储装置采用的存储器管理单元的损耗均衡操作和存储器保护操作的图。
图11是示出用于操作图5的数据存储装置的方法的流程图。
图12是示出图5的数据存储装置采用的存储器管理单元的损耗均衡操作和存储器保护操作的模式的表。
图13是示出基于图12的表的、图5的数据存储装置采用的存储器管理单元的损耗均衡操作和存储器保护操作的图。
图14是示出用于操作图5的数据存储装置的方法的流程图。
图15是示出根据本发明的实施例的固态驱动器(SSD)的框图。
图16是示出应用了根据本发明的实施例的一个或多个数据存储装置的数据处理系统的框图。
具体实施方式
在下文中,将参照附图描述包括数据存储装置及其操作方法的本发明的各种示例性实施例。然而,本发明可以不同的其它实施例、形式以及其变型实施,并不应被解释为受限于本文所阐述的实施例。相反,提供这些实施例以在使本领域的技术人员能够实施本发明的技术概念的范围内足够详细地描述本发明。
将理解的是,本发明的实施例不限于附图中所示的细节,附图不一定按比例绘制,并且在一些情况下,可能放大比例以便更清楚地描绘本发明的某些特征。虽然使用了特定术语,但是应当理解,所使用的术语仅用于描述特定实施例,并且不旨在限制本发明的范围。
将进一步理解的是,当元件被称为“连接到”或“联接到”另一元件时,其可直接在另一元件上、连接到或联接到另一元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
短语“……和……中的至少一个”在本文中与项目列表一起使用时,其表示列表中的单个项目或列表中项目的任何组合。例如,“A、B和C中的至少一个”是指仅有A或仅有B或仅有C,或A、B和C的任何组合。
本文所用的术语“或”是指两种(或更多种)替代物中的任一种,而不是两者(或其任何组合)。
如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”以及“包含有”时,其说明所陈述元件的存在,并且不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本领域的普通技术人员考虑本公开时通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。可在没有一些或全部这些具体细节的情况下实践本发明。在其它情况下,没有详细地描述公知的进程结构和/或进程以避免不必要地模糊本发明。
还应注意,在一些情况下,对于相关领域的技术人员显而易见的是,除非另有特别说明,否则所描述的一个实施例的相关的元件(也被称为特征)可以单独使用或与另一个实施例的其它元件组合使用。
在下文中,将参照附图详细描述本发明的各个实施例。
图1是示出根据本发明的实施例的数据存储装置10的框图。
数据存储装置10可响应于来自外部装置的写入请求而存储从外部装置提供的数据。此外,数据存储装置10可响应于来自外部装置的读取请求,将存储的数据提供给外部装置。
数据存储装置10可以个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(例如,MMC、eMMC、RS-MMC和MMC-Micro)、各种安全数字卡(例如,SD、迷你-SD和微型-SD)、通用闪速存储(UFS)、固态驱动器(SSD)等的形式配置。
数据存储装置10可包括控制器100和存储介质500。
控制器100可控制数据存储装置10。响应于从外部装置传输的写入请求,控制器100可将数据存储在存储介质500中,并且响应于从外部装置传输的读取请求,控制器100可读取存储在存储介质500中的数据并将读取的数据输出到外部装置。控制器100可包括存储器管理单元110。存储器管理单元110可执行用于维持存储介质500的性能的各种存储器管理操作并延长存储介质500的寿命。特别地,为了均匀地使用包含在存储介质500中的多个存储器区域MR0至MRn,存储器管理单元110可基于调整值112对可从多个存储器区域MR0至MRn中选择的候选存储器区域111进行损耗均衡操作。在本公开中,包含在控制器100的存储器管理单元110中的候选存储器区域111是指示包含在存储介质500中的多个存储器区域MR0至MRn中的候选存储器区域的信息。
存储器管理单元110可管理多个存储器区域MR0至MRn的擦除计数。每当多个存储器区域MR0至MRn中发生擦除存储器区域时,存储器管理单元110可增加用于擦除存储器区域的擦除计数。具有小的擦除计数的存储器区域可被认为是轻微磨损,而具有大的擦除计数的存储器区域可被认为是严重磨损。
存储器管理单元110可基于多个存储器区域MR0至MRn的各个擦除计数在多个存储器区域MR0至MRn中选择一个或多个候选存储器区域111。例如,存储器管理单元110可在多个存储器区域MR0至MRn中选择具有相对小的擦除计数的存储器区域作为候选存储器区域111。也就是说,所选候选存储器区域111可以是多个存储器区域MR0至MRn中轻微磨损的存储器区域。
然后,存储器管理单元110可基于所选候选存储器区域111的数量来确定调整值112。存储器管理单元110可确定调整值112随着候选存储器区域111的数量增加而增加。例如,存储器管理单元110可确定调整值112与候选存储器区域111相对于多个存储器区域MR0至MRn的比率成比例。换言之,随着候选存储器区域111的数量增加,调整值112也可按比例增加。
此后,存储器管理单元110可在候选存储器区域111中选择等于或小于调整值112的数量的牺牲存储器区域,并对牺牲存储器区域执行垃圾收集操作。在垃圾收集操作期间,存储在牺牲存储器区域中的有效数据可被移动到多个存储器区域MR0至MRn中的空闲存储器区域中,从而清空牺牲存储器区域并将其转换为空闲存储器区域。因此,牺牲存储器区域可变成空闲存储器区域以促进其使用,因此,多个存储器区域MR0至MRn可以被均衡损耗。
每当满足预定的管理条件时,可对候选存储器区域111执行垃圾收集操作。可进行单个垃圾收集操作的候选存储器区域111的数量可等于调整值112。例如,存储器管理单元110可管理写入数据的累积大小的信息。每当从外部装置接收到写入请求时,存储器管理单元110可更新累积大小信息,并且每当写入数据的累积大小达到阈值大小时,存储器管理单元110可执行垃圾收集操作。每当满足这种管理条件时,存储器管理单元110可确定是否存在尚未进行垃圾收集的候选存储器区域111。当存在未进行垃圾收集的候选存储器区域111时,存储器管理单元110可重复在候选存储器区域111中选择等于或小于调整值112的数量的牺牲存储器区域,并对所选牺牲存储器区域执行垃圾收集操作。当不再存在未进行垃圾收集的候选存储器区域111时,例如当所有候选存储器区域111均进行垃圾收集时,存储器管理单元110可基于多个存储器区域MR0至MRn的擦除计数来选择新的候选存储器区域111。
根据实施例,在执行垃圾收集操作之后,存储器管理单元110可从候选存储器区域111中移除转换成空闲存储器区域的牺牲存储器区域。此外,在执行垃圾收集操作之后,存储器管理单元110可初始化累积大小信息。
垃圾收集操作可以不全部立刻处理所选择的用于损耗均衡操作的候选存储器区域111。每当满足管理条件时,对数量等于或小于调整值112的候选存储器区域111的一些执行单个垃圾收集操作。调整值112可与候选存储器区域111的数量成比例,因此与轻微磨损的存储器区域的比率成比例。在以这种方式进行损耗均衡操作的情况下,可降低控制器100的负担(overhead),并可提高控制器100的操作效率。
根据控制器100的控制,存储介质500可存储从控制器100传输的数据,并可读取存储的数据并将读取的数据传输至控制器100。存储介质500可包括一个或多个非易失性存储器装置。非易失性存储器装置可包括诸如NAND闪存或NOR闪存的闪速存储器、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)、电阻式随机存取存储器(ReRAM)等。
存储介质500可包括多个存储器区域MR0至MRn。多个存储器区域MR0至MRn可包含在一个非易失性存储器装置中。根据实施例,多个存储器区域MR0至MRn可以是形成在多个非易失性存储器装置上的逻辑单元。
图2是示出图1的存储器管理单元110在多个存储器区域MR0至MRn中选择候选存储器区域111的方法的图。在图2的图中,横轴表示多个存储器区域MR0至MRn的指数,纵轴表示多个存储器区域MR0至MRn的擦除计数。因此,在图2的图中,点可分别对应于存储器区域MR0至MRn。
参照图2,存储器管理单元110可基于多个存储器区域MR0至MRn的擦除计数来选择用于损耗均衡操作的候选存储器区域111。存储器管理单元110可选择具有小于第二值VL2的擦除计数的存储器区域作为候选存储器区域111,所述第二值VL2通过将第一值VL1加到多个存储器区域MR0至MRn的擦除计数中的最小擦除计数MIN而获得。因此,可将多个存储器区域MR0至MRn中轻微磨损的存储器区域选择为候选存储器区域111。
可根据操作环境和控制器100的负担将第一值VL1设置为适当的值。也就是说,当第一值VL1大时,因为每次选择较大数量的候选存储器区域111,所以可能无法很好地反映出随时间推移的存储器区域的状态变化。相反,当第一值VL1小时,因为频繁地执行选择候选存储器区域111的进程,所以可能增加控制器100的负担。
在使用存储介质500的同时,每当选择候选存储器区域111时,可根据上述方法选择不同数量的候选存储器区域111可不同。存储器管理单元110可基于所选候选存储器区域111的数量来确定调整值112。存储器管理单元110可基于以下等式来确定调整值112。
调整值=(候选存储器区域111的数量/全部存储器区域MR0至MRn的数量)×p
可根据操作环境和控制器100的负担将“p”的值设置为适当的值。也就是说,如果“p”的值太大,则因为每当满足管理条件时处理太大数量的牺牲存储器区域,所以可能增加控制器100的负担。相反,如果“p”的值太小,则损耗均衡效率可能变差。
图3是示出图1的存储器管理单元110执行损耗均衡操作的方法的图。
在时间T1,存储器管理单元110可确定满足管理条件,例如从时间T0到时间T1累积的写入数据的大小已经达到阈值大小。然后,存储器管理单元110可通过参照指示包含在存储介质500中的多个存储器区域MR0至MRn中的候选存储器区域的信息111来确定不存在所选候选存储器区域,并如上参照图2所述在多个存储器区域MR0至MRn中选择候选存储器区域310。表示候选存储器区域310的条(bar)的长度可与候选存储器区域310的数量成比例,因此,条的长度的后续变化可意味着候选存储器区域310的数量的变化。存储器管理单元110可基于候选存储器区域310相对于多个存储器区域MR0至MRn的比率来确定调整值α1。存储器管理单元110可在候选存储器区域310中随机地选择等于或小于调整值α1的数量的牺牲存储器区域,并对牺牲存储器区域执行垃圾收集操作。存储器管理单元110可从候选存储器区域310中移除进行了垃圾收集的牺牲存储器区域。
在时间T2,存储器管理单元110可确定从时间T1累积的写入数据的大小达到阈值大小。然后,存储器管理单元110可在剩余候选存储器区域310中随机地选择等于或小于在时间T1确定的调整值α1的数量的牺牲存储器区域,并对牺牲存储器区域执行垃圾收集操作。存储器管理单元110可从候选存储器区域310中移除进行了垃圾收集的牺牲存储器区域。
在时间T3,存储器管理单元110可确定从时间T2累积的写入数据的大小达到阈值大小。存储器管理单元110可在剩余候选存储器区域310中选择等于或小于先前确定的调整值α1的数量的牺牲存储器区域,并对所选牺牲存储器区域执行垃圾收集操作。存储器管理单元110可从候选存储器区域310中移除进行了垃圾收集的牺牲存储器区域。
在时间T4,存储器管理单元110可确定从时间T3累积的写入数据的大小达到阈值大小。存储器管理单元110可通过参照指示包含在存储介质500中的多个存储器区域MR0至MRn中的候选存储器区域的信息111来确定不再存在候选存储器区域310,并且可选择新的候选存储器区域320。存储器管理单元110可基于候选存储器区域320相对于多个存储器区域MR0至MRn的比率来重新确定调整值α2。例如,在时间T4选择的候选存储器区域320的数量可小于在时间T1选择的候选存储器区域310的数量,因此,可确定在时间T4的调整值α2更小。存储器管理单元110可在候选存储器区域320中随机地选择等于或小于调整值α2的数量的牺牲存储器区域,并对所选牺牲存储器区域执行垃圾收集操作。存储器管理单元110可从候选存储器区域320中移除进行了垃圾收集的牺牲存储器区域。
图4是示出用于操作图1的数据存储装置10的方法的流程图。
参照图4,在步骤S110中,存储器管理单元110可确定是否满足管理条件。例如,存储器管理单元110可管理写入数据的累积大小的信息。每当从外部装置接收到写入请求时,存储器管理单元110可更新累积大小信息,并确定累积的写入数据的大小是否达到阈值大小。当不满足管理条件时,可结束该进程。当满足管理条件时,该进程可以进行到步骤S120。
在步骤S120中,存储器管理单元110可通过参照指示包含在存储介质500中的多个存储器区域MR0至MRn中的候选存储器区域的信息111来确定是否存在候选存储器区域111。换言之,存储器管理单元110可确定是否存在先前选择并且未进行垃圾收集的候选存储器区域111。当存在候选存储器区域111时,该进程可进行到步骤S150。如果存在候选存储器区域111,则当选择候选存储器区域111时可能已经确定了调整值112,并且在步骤S150中,可根据相应的调整值112来选择牺牲存储器区域。然而,当不存在候选存储器区域111时,该进程可进行到步骤S130。
在步骤S130中,存储器管理单元110可基于多个存储器区域MR0至MRn的擦除计数来选择一个或多个候选存储器区域111。例如,存储器管理单元110可选择具有小于第二值的擦除计数的存储器区域作为候选存储器区域111,如之前照图2所述,该第二值通过将第一值加到擦除计数中的最小擦除计数而获得。
在步骤S140中,存储器管理单元110可基于候选存储器区域111的数量来确定调整值112。调整值112可被确定为与候选存储器区域111相对于多个存储器区域MR0至MRn的比率成比例。可保留确定的调整值112,直到在步骤S130中选择的所有候选存储器区域111都进行了垃圾收集为止。
在步骤S150中,存储器管理单元110可在候选存储器区域111中选择可由调整值112确定的数量的牺牲存储器区域。例如,所选牺牲存储器区域的数量可等于调整值112。重要的是,通过在候选存储器区域111中随机选择牺牲存储器区域,可最大化损耗均衡效应。
在步骤S160中,存储器管理单元110可对所选牺牲存储器区域执行垃圾收集操作。存储器管理单元110可将存储在牺牲存储器区域中的有效数据移动到多个存储器区域MR0至MRn中的空闲存储器区域中,并将牺牲存储器区域清空为空闲存储器区域。存储器管理单元110可从候选存储器区域111中移除进行了垃圾收集的牺牲存储器区域。
可重复执行图4所示的进程。
图5是示出根据本发明的实施例的数据存储装置20的框图。
数据存储装置20可包括控制器200和存储介质500。控制器200可包括存储器管理单元210。
使用与图1的存储器管理单元110相同的方法,存储器管理单元210可基于多个存储器区域MR0至MRn的擦除计数来选择候选存储器区域211。此外,使用与图1的存储器管理单元110相同的方法,存储器管理单元210可基于所选候选存储器区域211的数量来确定调整值212。然而,存储器管理单元210可不仅基于调整值212而且基于模式值213在候选存储器区域211中选择牺牲存储器区域。也就是说,存储器管理单元210可根据调整值212和模式值213的和在候选存储器区域211中选择牺牲存储器区域。
存储器管理单元210可基于多个存储器区域MR0至MRn中的空闲存储器区域的数量来确定模式值213。模式值213可对应于根据空闲存储器区域的数量在管理操作的多个模式中所选的一个。由于模式对应于空闲存储器区域的较大数量,所以该模式可对应于较大的模式值213。每当因满足管理条件而执行损耗均衡操作时,根据基于空闲存储器区域的数量在管理操作的多个模式中选择的模式来确定模式值213。
也就是说,由于轻微磨损的牺牲存储器区域具有相对较大量的有效数据,所以对这种轻微磨损的牺牲存储器区域的垃圾收集操作可能增加控制器200的负担。因此,当空闲存储器区域的数量大时,可对大量的牺牲存储器区域执行垃圾收集操作,从而分散控制器200的负担。
同时,损耗均衡操作的模式可对应于不同的管理条件。例如,可根据模式不同地设置将与写入数据的累积大小进行比较的阈值大小。例如,在多个模式中,由于模式对应于空闲存储器区域的较大数量,所以该模式可对应于较大的阈值大小。因此,由于当空闲存储器区域的数量较大时以长间隔执行损耗均衡操作,所以可调整控制器200的负担。
图6是示出图5的存储器管理单元210的损耗均衡操作的模式MODE1至MODE3的表。
参照图6,可根据例如空闲存储器区域的数量“f”的模式条件,在任何一个操作模式MODE1至MODE3中执行损耗均衡操作。模式MODE1至MODE3分别对应于模式值m1至m3,并且空闲存储器区域的较大数量“f”可对应于较大的模式值。存储器管理单元210可选择根据空闲存储器区域的数量“f”所确定的模式的模式值。同时,不管模式如何,可保持根据候选存储器区域211的数量所确定的调整值“α”,直到所有候选存储器区域211都进行了垃圾收集。
模式MODE1至MODE3分别对应于阈值大小s1至s3,并且空闲存储器区域的较大数量“f”可对应于较大的阈值大小。
因此,例如,当空闲存储器区域的数量“f”包含在值f2和f1之间时,存储器管理单元210可选择模式MODE2,并且在候选存储器区域211中选择等于或小于调整值“α”与模式值m2之和的数量的牺牲存储器区域。在对所选牺牲存储器区域执行了垃圾收集操作之后,可基于对应于模式MODE2的阈值大小s2来确定是否满足下一次损耗均衡操作的管理条件。
根据实施例,可不根据空闲存储器区域的数量“f”而是根据空闲存储器区域相对于全部存储器区域MR0至MRn的比率来区分模式MODE1至MODE3。
虽然图6示出了在3种模式MODE1至MODE3中执行损耗均衡操作的情况,但是应当注意的是,模式的数量不限于此。
图7是示出图5的存储器管理单元210基于图6的表执行损耗均衡操作的方法的图。
在时间T11,存储器管理单元210可确定满足管理条件,例如,从时间T0累积的写入数据的大小达到预设阈值大小。存储器管理单元210可通过参照指示包含在存储介质500中的多个存储器区域MR0至MRn中的候选存储器区域的信息111来确定不存在所选候选存储器区域,并如上参照图2所述在多个存储器区域MR0至MRn中选择候选存储器区域710。存储器管理单元210可基于候选存储器区域710相对于多个存储器区域MR0至MRn的比率来确定调整值α1。存储器管理单元210可基于空闲存储器区域的数量“f”确定对应于模式MODE1的MODE1和模式值m1。存储器管理单元210可在候选存储器区域710中选择等于或小于调整值α1与模式值m1之和的数量的牺牲存储器区域,并对所选牺牲存储器区域执行垃圾收集操作。存储器管理单元210可从候选存储器区域710中移除进行了垃圾收集的牺牲存储器区域。存储器管理单元210可将对应于模式MODE1的阈值大小s1设置为新的管理条件。
在时间T12,存储器管理单元210可确定从时间T11累积的写入数据的大小达到阈值大小s1。存储器管理单元210可基于空闲存储器区域的数量“f”确定对应于模式MODE2的MODE2和模式值m2。存储器管理单元210可在剩余候选存储器区域710中选择等于或小于在时间T11确定的调整值α1与模式值m2之和的数量的牺牲存储器区域,并对所选牺牲存储器区域执行垃圾收集操作。存储器管理单元210可从候选存储器区域710中移除进行了垃圾收集的牺牲存储器区域。存储器管理单元210可将对应于模式MODE2的阈值大小s2设置为新的管理条件。
图8是示出用于操作图5的数据存储装置20的方法的流程图。以下,将参照图5、图6和图8描述用于操作数据存储装置20的方法。
参照图8,步骤S210至S240可与图4的步骤S110至S140基本相同。
在步骤S250中,存储器管理单元210可基于空闲存储器区域的数量“f”来确定模式值213。模式值213可以是多个模式中与空闲存储器区域的数量“f”相对应的模式的模式值。由于模式对应于空闲存储器区域的较大数量“f”,所以该模式可对应于较大的模式值。
在步骤S260中,存储器管理单元210可在候选存储器区域211中选择等于或小于调整值212与模式值213之和的数量的牺牲存储器区域。
步骤S270可与图4的步骤S160基本相同。
图9是示出图5的存储器管理单元210的损耗均衡操作和存储器保护操作的模式MODE1至MODE4的表。
根据实施例,当满足管理条件时,存储器管理单元210可基于空闲存储器区域的数量优先地执行比损耗均衡操作更加有效地保护空闲存储器区域的存储器保护操作。也就是说,当满足管理条件时,根据多个存储器区域MR0至MRn的有效数据的量和空闲存储器区域的数量,存储器管理单元210可在多个存储器区域MR0至MRn中而非在候选存储器区域211中选择牺牲存储器区域。
当例如空闲存储器区域的数量小于阈值数量时,存储器管理单元210可确定执行存储器保护操作而非损耗均衡操作。当执行存储器保护操作时,存储器管理单元210可在多个存储器区域MR0至MRn中选择具有少量有效数据的存储器区域作为牺牲存储器区域。存储器管理单元210可对所选牺牲存储器区域执行垃圾收集操作。也就是说,当确定存储器管理单元210执行存储器保护操作而非损耗均衡操作时,可基于有效数据的量来选择牺牲存储器区域,以便最小化垃圾收集成本。
根据实施例,存储器管理单元210可基于空闲存储器区域相对于全部存储器区域的比率而非空闲存储器区域的数量来确定是否优先地执行存储器保护操作而非损耗均衡操作。换言之,当空闲存储器区域相对于全部存储器区域的比率小于阈值比率时,存储器管理单元210可确定执行存储器保护操作。
因此,参照图9,根据例如空闲存储器区域的数量“f”的模式条件在模式MODE1至MODE4的任何一种模式中执行例如损耗均衡操作和存储器保护操作的存储器管理操作。当空闲存储器区域的数量“f”小于阈值数量f3时,在模式MODE4中执行存储器保护操作,并且当空闲存储器区域的数量“f”等于或大于阈值f3时,可在模式MODE1至MODE3中的任何一个中执行损耗均衡操作。在模式MODE1至MODE3中执行损耗均衡操作的方法可与上面参照图6至图8描述的方法相同。在模式MODE4中,存储器管理单元210可不从选择用于损耗均衡操作的候选存储器区域211中选择牺牲存储器区域,而是可在多个存储器区域MR0至MRn中选择具有少量有效数据的存储器区域作为牺牲存储器区域。
根据实施例,在模式MODE4中选择的牺牲存储器区域的数量可不受限制。存储器管理单元210可对尽可能多的牺牲存储器区域执行垃圾收集操作,直到从存储器保护操作开始时经过预定时间。
虽然图9示出了在三种模式(例如,MODE1、MODE2和MODE3)中执行损耗均衡操作并且在一种模式(例如MODE4)中执行存储器保护操作的示例,但应当注意的是,本发明不限于这种方式,并且用于损耗均衡操作和存储器保护操作的模式的数量可以变化。
图10是示出图5的存储器管理单元210基于图9的表执行损耗均衡操作和存储器保护操作的方法的图。
在时间T21,存储器管理单元210可确定满足管理条件,例如,从时间T0累积的写入数据的大小达到预设阈值大小。存储器管理单元210可基于等于或大于阈值数量f3的空闲存储器区域的数量来确定模式MODE1,并确定执行损耗均衡操作。存储器管理单元210可通过参照指示包含在存储介质500中的多个存储器区域MR0至MRn中的候选存储器区域的信息111来确定不存在所选候选存储器区域,并如上参照图2所述在多个存储器区域MR0至MRn中选择候选存储器区域1010。存储器管理单元210可基于候选存储器区域1010相对于多个存储器区域MR0至MRn的比率来确定调整值α1。存储器管理单元210可在候选存储器区域1010中选择等于或小于调整值α1与对应于模式MODE1的模式值m1之和的数量的牺牲存储器区域,并对所选牺牲存储器区域执行垃圾收集操作。存储器管理单元210可从候选存储器区域1010中移除进行了垃圾收集的牺牲存储器区域。存储器管理单元210可将对应于模式MODE1的阈值大小s1设置为新的管理条件。
在时间T22,存储器管理单元210可确定从时间T21累积的写入数据的大小达到阈值大小。存储器管理单元210可基于小于阈值数量f3的空闲存储器区域的数量来确定模式MODE4,并确定执行存储器保护操作。因此,存储器管理单元210可基于有效数据的量从多个存储器区域MR0至MRn中而非从候选存储器区域1010中选择牺牲存储器区域1020,并在预定时间对所选牺牲存储器区域1020执行垃圾收集操作。存储器管理单元210可将对应于模式MODE4的阈值大小s4设置为新的管理条件。
在时间T23,存储器管理单元210可确定从时间T22累积的写入数据的大小达到阈值大小。存储器管理单元210可基于等于或大于阈值数量f3的空闲存储器区域的数量来确定模式MODE2,并确定执行损耗均衡操作。因此,存储器管理单元210可在剩余候选存储器区域1010中选择等于或小于在时间T21确定的调整值α1与对应于模式MODE2的模式值m2之和的数量的牺牲存储器区域,并对牺牲存储器区域执行垃圾收集操作。存储器管理单元210可从候选存储器区域1010中移除进行了垃圾收集的牺牲存储器区域。存储器管理单元210可将对应于模式MODE2的阈值大小s2设置为新的管理条件。
在时间T24,存储器管理单元210可确定从时间T23累积的写入数据的大小达到阈值大小。存储器管理单元210可基于等于或大于阈值数量f3的空闲存储器区域的数量来确定模式MODE2,并确定执行损耗均衡操作。存储器管理单元210可确定不再存在候选存储器区域1010,并选择新的候选存储器区域1030。存储器管理单元210可基于候选存储器区域1030相对于多个存储器区域MR0至MRn的比率来重新确定调整值α2。因此,存储器管理单元210可在候选存储器区域1030中选择等于或小于调整值α2与对应于模式MODE2的模式值m2之和的数量的牺牲存储器区域,并对所选牺牲存储器区域执行垃圾收集操作。存储器管理单元210可从候选存储器区域1030中移除进行了垃圾收集的牺牲存储器区域。存储器管理单元210可将对应于模式MODE2的阈值大小s2设置为新的管理条件。
图11是示出用于操作图5的数据存储装置20的方法的流程图。以下,将参照图5、图9和图11描述用于操作数据存储装置20的方法。
参照图11,步骤S310可与图8的步骤S210基本相同。
在步骤S320中,存储器管理单元210可确定空闲存储器区域的数量“f”是否小于阈值数量。当空闲存储器区域的数量“f”小于阈值数量时,进程可进行到用于存储器保护操作的步骤S330。当空闲存储器区域的数量“f”等于或大于阈值数量时,进程可进行到用于损耗均衡操作的步骤S340。
在步骤S330中,存储器管理单元210可基于有效数据的量从多个存储器区域MR0至MRn中选择牺牲存储器区域。
步骤S340至S390可与图8的步骤S220至S270基本相同。
图12是示出图5的存储器管理单元210的损耗均衡操作和存储器保护操作的模式MODE1至MODE4的表。
在上述实施例中,即使确定执行损耗均衡操作,但当不存在候选存储器区域211时,存储器管理单元210可立即选择新的候选存储器区域211。根据实施例,每当满足候选选择条件时,存储器管理单元210可选择候选存储器区域211。因此,在满足候选选择条件之前对所有候选存储器区域211进行垃圾收集的情况下,存储器管理单元210可执行存储器保护操作而非损耗均衡操作。类似于管理条件,候选选择条件可以是例如写入数据的累积大小是否达到预设阈值大小。存储器管理单元210可在满足管理条件之后确定候选选择条件。然而,根据实施例,存储器管理单元210可独立于管理条件来确定候选选择条件。
因此,参照图12,当满足管理条件时,可选择模式MODE1至MODE4,并且模式MODE1至MODE4可基本上类似于图9的模式MODE1至MODE4。然而,虽然尚未满足例如候选选择条件的新的模式条件,但是当不存在候选存储器区域211时,可选择用于存储器保护操作的模式MODE4。
图13是示出图5的存储器管理单元210基于图12的表执行损耗均衡操作和存储器保护操作的方法的图。
存储器管理单元210在时间T31至T33的操作可与图10的存储器管理单元210在时间T21至T23的操作相同。
在时间T34,存储器管理单元210可确定从时间T33累积的写入数据的大小达到对应于模式MODE2的阈值大小s2。即使空闲存储器区域的数量等于或大于阈值数量f3,但存储器管理单元210可确定不存在时间T31时选择的候选存储器区域1310,并且从时间T31累积的写入数据的大小未达到对应于候选选择条件的阈值大小。因此,存储器管理单元210可确定执行存储器保护操作。存储器管理单元210可基于有效数据的量从多个存储器区域MR0至MRn中选择牺牲存储器区域1330,并在预定时间对牺牲存储器区域1330执行垃圾收集操作。存储器管理单元210可将对应于模式MODE4的阈值大小s4设置为新的管理条件。
在时间T35,存储器管理单元210可确定从时间T34累积的写入数据的大小达到对应于模式MODE4的阈值大小s4。存储器管理单元210可基于等于或大于阈值数量f3的空闲存储器区域的数量来确定模式MODE2,并确定从候选存储器区域1310被选择的时间T31累积的写入数据的大小达到对应于候选选择条件的阈值大小。因此,存储器管理单元210可选择新的候选存储器区域1340。由于存储器管理单元210之后执行损耗均衡操作的方法类似于上述方法,因此将省略对其的描述。
图14是示出用于操作图5的数据存储装置20的方法的流程图。以下,将参照图5、图12和图14描述用于操作数据存储装置20的方法。
参照图14,步骤S410至S440可与图11的步骤S310至S340基本相同。
在步骤S450中,存储器管理单元210可确定是否满足候选选择条件。例如,存储器管理单元210可管理写入数据的累积大小的信息。每当从外部装置接收到写入请求时,存储器管理单元210可更新累积大小信息,并确定累积的写入数据的大小是否达到对应于候选选择条件的阈值大小。当满足候选选择条件时,该进程可进行到步骤S460。当不满足候选选择条件时,该进程可进行到步骤S430。
步骤S460至S500可与图11的步骤S350至S390基本相同。
图15是示出根据本发明的实施例的固态驱动器(SSD)1000的框图。
SSD 1000可包括控制器1100和存储介质1200。
控制器1100可控制主机装置1500和存储介质1200之间的数据交换。控制器1100可包括通过内部总线1170联接的处理器1110、RAM1120、ROM 1130、ECC单元1140、主机接口1150和存储介质接口1160。
控制器1100可基本上类似于图1或图5所示的控制器100或200进行操作。
处理器1110可控制控制器1100的一般操作。根据来自主机装置1500的数据处理请求,处理器1110可将数据存储在存储介质1200中,以及从存储介质1200读取存储的数据。为有效地管理存储介质1200,处理器1110可控制SSD 1000的诸如合并操作、损耗均衡操作等的内部操作。
RAM 1120可存储将由处理器1110使用的程序和程序数据。RAM1120可在将从主机接口1150传输的数据传递至存储介质1200之前临时存储这些数据,并且可在将从存储介质1200传输的数据传递至主机装置1500之前临时存储这些数据。
ROM 1130可存储将由处理器1110读取的程序代码。程序代码可包括将由处理器1110处理的指令,用于处理器1110控制控制器1100的内部单元。
ECC单元1140可对将存储在存储介质1200中的数据进行编码,并且可对从存储介质1200读取的数据进行解码。ECC单元1140可根据ECC算法检测并校正数据中出现的错误。
主机接口1150可与主机装置1500交换数据处理请求、数据等。
存储介质接口1160可将控制信号和数据传输至存储介质1200。存储介质接口1160可传输来自存储介质1200的数据。存储介质接口1160可通过多个通道CH0至CHn与存储介质1200联接。
存储介质1200可包括多个非易失性存储器装置NVM0至NVMn。多个非易失性存储器装置NVM0至NVMn中的每一个可根据控制器1100的控制来执行写入操作和读取操作。
图16是示出可应用根据实施例的数据存储装置10和/或20的数据处理系统2000的框图。
数据处理系统2000可包括计算机、膝上型计算机、上网本、智能电话、数字电视、数字照相机、导航仪等。数据处理系统2000可包括主处理器2100、主存储器装置2200、数据存储装置2300和输入/输出装置2400。数据处理系统2000的内部单元可通过系统总线2500交换数据、控制信号等。
主处理器2100可控制数据处理系统2000的一般操作。主处理器2100可以是例如诸如微处理器的中央处理单元。主处理器2100可执行主存储器装置2200上的诸如操作系统、应用、装置驱动程序等的软件。
主存储器装置2200可存储将由主处理器2100使用的程序及程序数据。主存储器装置2200可临时存储将传输至数据存储装置2300和输入/输出装置2400的数据。
数据存储装置2300可包括控制器2310和存储介质2320。数据存储装置2300可基本上类似于图1或图5的数据存储装置10或20被配置和操作。
输入/输出装置2400可包括键盘、扫描仪、触摸屏、屏幕监视器、打印机、鼠标等,其能够与用户交换数据,诸如从用户接收用于控制数据处理系统2000的指令或向用户提供处理结果。
根据实施例,数据处理系统2000可通过诸如LAN(局域网)、WAN(广域网)、无线网络等的网络2600与至少一个服务器2700通信。数据处理系统2000可包括用于访问网络2600的网络接口(未示出)。
尽管上面已经描述了各种实施例,但是本领域技术人员将理解,所描述的实施例仅是示例。因此,本文所描述的数据存储装置及其操作方法不应限于所描述的实施例。在不脱离本发明的精神和范围的情况下,本领域的技术人员可设想出许多其它实施例和/或其变型。

Claims (16)

1.一种数据存储装置,其包括:
存储器装置,其包括多个存储器区域;以及
控制器,其适于:
基于所述多个存储器区域的擦除计数在所述多个存储器区域中选择一个或多个候选存储器区域,
基于所述候选存储器区域的数量确定调整值,使得所述调整值与所述候选存储器区域相对于所述多个存储器区域的比率成比例地增加,
在所述一个或多个候选存储器区域中选择牺牲存储器区域,其中所述牺牲存储器区域的数量等于所述调整值,并且
对所选择的牺牲存储器区域执行垃圾收集操作。
2.根据权利要求1所述的数据存储装置,其中所述控制器选择具有小于第二值的擦除计数的存储器区域作为所述候选存储器区域,所述第二值通过将第一值加到所述擦除计数中的最小擦除计数而获得。
3.根据权利要求1所述的数据存储装置,
其中所述控制器通过参考写入数据的累积大小来确定是否满足管理条件,并且
其中每当满足所述管理条件时,所述控制器对在所述候选存储器区域中重新选择的等于或小于所述调整值的数量的牺牲存储器区域执行垃圾收集操作。
4.根据权利要求3所述的数据存储装置,
其中每当满足所述管理条件时,所述控制器确定在所述候选存储器区域中是否存在未执行所述垃圾收集操作的候选存储器区域;并且
其中根据是否存在未执行所述垃圾收集操作的候选存储器区域的确定结果,所述控制器基于所述擦除计数在所述多个存储器区域中重新选择一个或多个候选存储器区域。
5.根据权利要求4所述的数据存储装置,
其中当不存在未执行所述垃圾收集操作的候选存储器区域时,所述控制器确定是否满足候选选择条件;并且
其中当不满足所述候选选择条件时,所述控制器根据存储在其中的有效数据的量在所述多个存储器区域中而非在所述候选存储器区域中选择牺牲存储器区域。
6.根据权利要求1所述的数据存储装置,其中所述控制器根据存储在其中的有效数据的量和所述多个存储器区域中的空闲存储器区域的数量在所述多个存储器区域中而非在所述候选存储器区域中选择牺牲存储器区域。
7.根据权利要求1所述的数据存储装置,其中所述控制器基于所述多个存储器区域中的空闲存储器区域的数量来确定模式值,并且将牺牲存储器区域的数量选择为等于或小于所述调整值与所述模式值之和。
8.根据权利要求7所述的数据存储装置,
其中所述模式值对应于多个模式中与所述空闲存储器区域的数量相对应的模式,并且
其中所述模式值随着相应的模式对应的空闲存储器区域的数量变大而变大。
9.一种用于操作数据存储装置的方法,其包括:
基于多个存储器区域的擦除计数在所述多个存储器区域中选择一个或多个候选存储器区域;
基于所述候选存储器区域的数量确定调整值,使得所述调整值与所述候选存储器区域相对于所述多个存储器区域的比率成比例地增加;
在所述候选存储器区域中选择一个或多个牺牲存储器区域,其中所述牺牲存储器区域的数量等于所述调整值;以及
对所述牺牲存储器区域执行垃圾收集操作。
10.根据权利要求9所述的方法,其中选择所述候选存储器区域包括选择具有小于第二值的擦除计数的存储器区域作为所述候选存储器区域,所述第二值通过将第一值加到所述擦除计数中的最小擦除计数而获得。
11.根据权利要求9所述的方法,其进一步包括:
通过参考写入数据的累积大小来确定是否满足管理条件;以及
每当满足所述管理条件时,对在所述候选存储器区域中重新选择的等于或小于所述调整值的数量的牺牲存储器区域执行所述垃圾收集操作。
12.根据权利要求11所述的方法,其进一步包括:
每当满足所述管理条件时,确定在所述候选存储器区域中是否存在未执行所述垃圾收集操作的候选存储器区域;以及
根据是否存在未执行所述垃圾收集操作的候选存储器区域的确定结果,基于所述擦除计数在所述多个存储器区域中重新选择一个或多个候选存储器区域。
13.根据权利要求12所述的方法,其进一步包括:
当不存在未执行所述垃圾收集操作的候选存储器区域时,确定是否满足候选选择条件;以及
当不满足所述候选选择条件时,根据存储在其中的有效数据的量在所述多个存储器区域中而非在所述候选存储器区域中选择牺牲存储器区域。
14.根据权利要求9所述的方法,其进一步包括根据存储在其中的有效数据的量和所述多个存储器区域中的空闲存储器区域的数量在所述多个存储器区域中而非在所述候选存储器区域中选择牺牲存储器区域。
15.根据权利要求9所述的方法,
进一步包括基于所述多个存储器区域中的空闲存储器区域的数量来确定模式值,
其中选择等于或者小于所述调整值与所述模式值之和的数量的牺牲存储器区域。
16.根据权利要求15所述的方法,
其中所述模式值对应于多个模式中与所述空闲存储器区域的数量相对应的模式,并且
其中所述模式值随着相应的模式对应的空闲存储器区域的数量变大而变大。
CN201710264384.1A 2016-12-05 2017-04-21 数据存储装置及其操作方法 Active CN108153680B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160164549A KR20180064198A (ko) 2016-12-05 2016-12-05 데이터 저장 장치 및 그것의 동작 방법
KR10-2016-0164549 2016-12-05

Publications (2)

Publication Number Publication Date
CN108153680A CN108153680A (zh) 2018-06-12
CN108153680B true CN108153680B (zh) 2021-10-26

Family

ID=62243995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710264384.1A Active CN108153680B (zh) 2016-12-05 2017-04-21 数据存储装置及其操作方法

Country Status (3)

Country Link
US (1) US10157127B2 (zh)
KR (1) KR20180064198A (zh)
CN (1) CN108153680B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180108939A (ko) * 2017-03-23 2018-10-05 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10713155B2 (en) * 2018-07-19 2020-07-14 Micron Technology, Inc. Biased sampling methodology for wear leveling
KR20200043054A (ko) * 2018-10-17 2020-04-27 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US11119912B2 (en) * 2019-03-25 2021-09-14 International Business Machines Corporation Ordering data updates for improving garbage collection being performed while performing the set of data updates
TWI786288B (zh) 2019-04-09 2022-12-11 韓商愛思開海力士有限公司 儲存裝置、儲存裝置的控制方法及記錄媒體
US10877882B1 (en) 2019-06-19 2020-12-29 Micron Technology, Inc. Garbage collection adapted to user device access
TWI705331B (zh) * 2019-06-24 2020-09-21 群聯電子股份有限公司 有效資料合併方法、記憶體控制電路單元與記憶體儲存裝置
KR20210089853A (ko) * 2020-01-09 2021-07-19 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
TWI741779B (zh) * 2020-09-04 2021-10-01 群聯電子股份有限公司 資料整併方法、記憶體儲存裝置及記憶體控制電路單元
KR20240010944A (ko) * 2022-07-18 2024-01-25 에스케이하이닉스 주식회사 컨트롤러 및 이의 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231617A (zh) * 2008-01-21 2008-07-30 中兴通讯股份有限公司 闪存设备的数据处理方法
US8285918B2 (en) * 2009-12-11 2012-10-09 Nimble Storage, Inc. Flash memory cache for data storage device
CN103455435A (zh) * 2013-08-29 2013-12-18 华为技术有限公司 数据写入方法及装置
CN105528301A (zh) * 2015-12-07 2016-04-27 中国人民解放军信息工程大学 一种NAND Flash闪存垃圾回收方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070208904A1 (en) * 2006-03-03 2007-09-06 Wu-Han Hsieh Wear leveling method and apparatus for nonvolatile memory
US8621141B2 (en) 2010-04-01 2013-12-31 Intel Corporations Method and system for wear leveling in a solid state drive
TWI587136B (zh) * 2011-05-06 2017-06-11 創惟科技股份有限公司 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法
CN103377152A (zh) * 2012-04-26 2013-10-30 深圳市朗科科技股份有限公司 固态硬盘的写操作控制方法及写操作装置
US9411718B2 (en) * 2012-12-21 2016-08-09 Seagate Technology Llc Method to apply fine grain wear leveling and garbage collection
US9632712B2 (en) * 2014-07-02 2017-04-25 Sandisk Technologies Llc System and method of updating metablocks associated with multiple memory dies
IN2015CH01601A (zh) * 2015-03-28 2015-05-01 Wipro Ltd
US10296452B2 (en) * 2015-05-11 2019-05-21 SK Hynix Inc. Data separation by delaying hot block garbage collection
US9911487B2 (en) * 2015-05-19 2018-03-06 EMC IP Holding Company LLC Method and system for storing and recovering data from flash memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231617A (zh) * 2008-01-21 2008-07-30 中兴通讯股份有限公司 闪存设备的数据处理方法
US8285918B2 (en) * 2009-12-11 2012-10-09 Nimble Storage, Inc. Flash memory cache for data storage device
CN103455435A (zh) * 2013-08-29 2013-12-18 华为技术有限公司 数据写入方法及装置
CN105528301A (zh) * 2015-12-07 2016-04-27 中国人民解放军信息工程大学 一种NAND Flash闪存垃圾回收方法

Also Published As

Publication number Publication date
CN108153680A (zh) 2018-06-12
KR20180064198A (ko) 2018-06-14
US10157127B2 (en) 2018-12-18
US20180157586A1 (en) 2018-06-07

Similar Documents

Publication Publication Date Title
CN108153680B (zh) 数据存储装置及其操作方法
CN107678976B (zh) 数据存储装置及其操作方法
CN106855832B (zh) 数据存储装置及其操作方法
CN106558332B (zh) 数据处理器件及其操作方法
CN108108261B (zh) 数据存储装置及其操作方法
US20190079830A1 (en) Data storage device and operating method thereof
CN108415663B (zh) 数据存储装置的操作方法
US11392309B2 (en) Memory system for performing migration operation and operating method thereof
US20130179647A1 (en) Storage device and data management method thereof
CN108958643B (zh) 数据存储装置及其操作方法
US20170357466A1 (en) Data storage device and operating method thereof
US10324622B2 (en) Data storage device and operating method thereof
KR20210051873A (ko) 컨트롤러 및 메모리 시스템
US10191790B2 (en) Data storage device and error recovery method thereof
US10552333B2 (en) Data storage device and operating method thereof
KR102523967B1 (ko) 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템
KR20170139730A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11182290B2 (en) Data storage device and operating method thereof for performing a garbage collection operation in consideration of a lifetime of a nonvolatile memory device
KR102507769B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US20170269833A1 (en) Data storage device
US20170344260A1 (en) Electronic device and operating method thereof

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