CN102243613B - 管理固态存储器中垃圾收集的系统和方法 - Google Patents

管理固态存储器中垃圾收集的系统和方法 Download PDF

Info

Publication number
CN102243613B
CN102243613B CN201110126948.8A CN201110126948A CN102243613B CN 102243613 B CN102243613 B CN 102243613B CN 201110126948 A CN201110126948 A CN 201110126948A CN 102243613 B CN102243613 B CN 102243613B
Authority
CN
China
Prior art keywords
pond
memory block
invalid page
page
block
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
CN201110126948.8A
Other languages
English (en)
Other versions
CN102243613A (zh
Inventor
H-F·康
A·C·坎
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.)
Sandisk Technology Co
Original Assignee
Western Digital Technologies 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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of CN102243613A publication Critical patent/CN102243613A/zh
Application granted granted Critical
Publication of CN102243613B publication Critical patent/CN102243613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

本发明实施例涉及选择存储器块以便垃圾收集以使垃圾收集操作释放的存储器的量最大化。此处公开的系统和方法提供有效选择最优或者接近最优的垃圾收集候选块,最优选择定义为最无效页面的块。在一个实施例中,控制器将存储器块按照每个块包含的无效页面的量分类到各个无效块池。当进行垃圾收集时,控制器从具有最大的无效页面最小量的块的非空池选择块。池以高效方式帮助垃圾收集候选的最优或者接近最优选择并且池的数据结构能够用在存储器中占用最小空间的位掩码实现。

Description

管理固态存储器中垃圾收集的系统和方法
背景技术
固态存储器子系统在其正常操作中执行多个命令。例如,对可能包含有效和无效数据的存储器块频繁执行垃圾收集。当这种存储器块被选择进行垃圾收集时,垃圾收集操作将存储器块内的有效数据复制到存储器中的新位置接着擦除整个存储器块,使整个块可用于将来的数据写入。因此,通过垃圾收集处理释放的存储器的量取决于被选择进行垃圾收集的存储器块内的无效页面的量。
发明内容
本发明的实施例涉及优化进行垃圾收集的存储器块的选择以使垃圾收集操作释放的存储器的量最大化。此处公开的系统和方法提供最优或者接近最优垃圾收集候选块的高效率选择,最优选择定义为具有最多无效页面的块。
此处公开的某些实施例提供一种存储子系统,包括:非易失性固态存储器阵列;以及控制器,所述控制器包括垃圾收集模块并且被配置为接收和执行来自主机系统和所述垃圾收集模块的存储器命令。所述控制器还被配置为:针对所述存储器阵列中的第一存储器块,维护无效页面计数器,所述无效页面计数器用于存储与所述第一存储器块内的无效页面的数目有关的数据,所述第一存储器块按照无效页面的数目被分配到第一池,其中所述垃圾收集模块被配置为基于无效页面的数目从多个池中选择存储器块。所述控制器还被配置为在执行来自所述主机系统的、引起所述第一存储器块内的页面的有效性改变的存储器命令之后,更新与所述第一存储器块关联的所述无效页面计数器;以及当更新后的无效页面计数器超过阈值时,将所述第一存储器块重分配到第二池。
此处公开的某些实施例提供一种管理非易失性固态存储器中的存储器操作的方法。所述方法包括:针对所述非易失性固态存储器中的第一存储器块,维护无效页面计数器,所述无效页面计数器用于储存与所述第一存储器块内的无效页面的数目有关的数据,所述第一存储器块按照无效页面的数目被分类到多个池的第一池中。所述方法还包括在从主机系统接收引起所述第一存储器块内的页面的有效性改变的写入命令之后,更新用于所述第一存储器块的所述无效页面计数器;以及当所述第一存储器块的无效页面计数器指示所述第一存储器块内的无效页面的数目超过阈值时,将所述第一存储器块重分类到所述多个池的第二池。
此处公开的某些实施例提供一种针对垃圾收集存储器命令在存储子系统的非易失性存储器阵列中选择存储器块的方法。所述方法可包括维护与所述存储器块内的无效页面的数目有关的数据;将所述存储器块分配到多个池中,每个池被配置为在分配到该池的各个存储器块中具有不同的无效页面最小阈值;以及当从主机系统接收的存储器命令引起所述存储器块内的页面的有效性改变时,更新所述数据。所述方法还包括基于更新后的数据将包含该页面的存储器块重分配到具有更高的无效页面最小阈值的新池以及选择被分配到具有最大的最小阈值的池的存储器块以便垃圾收集。
此处公开的某些实施例提供一种针对垃圾收集存储器命令在存储子系统的非易失性存储器阵列中选择存储器块的方法。所述方法可包括维护关于所述存储器块内无效的页面的数目的统计数据;基于无效页面的数目使用所述统计数据来维护存储器块的多个池;以及当从主机系统接收的存储器命令引起所述存储器块内的页面的有效性改变时,更新所述统计数据。所述方法还包括基于更新后的统计数据将包含该页面的存储器块重分配到所述多个池的新池,该新池具有比和所述存储器块关联的当前池高的无效页面最小阈值;以及从所述多个池的第一池选择第一存储器块以便垃圾收集。
如本文所述的池的使用有助于以高效的方式最优或者接近最优地选择垃圾收集候选块。此外,池的数据结构能够用位掩码实现,其在存储器中占用最小空间。
附图说明
下面将参照附图描述体现本发明的各个特征的系统和方法,其中:
图1是例示根据一个实施例的固态存储子系统的框图。
图2是例示根据一个实施例的维护固态存储子系统内的存储器块上的无效页面信息的方法的流程图。
图3是例示根据一个实施例的选择存储器块进行垃圾收集的方法的流程图。
图4例示根据一个实施例的使用无效块和自由块池以跟踪进行垃圾收集的存储器块的示例。
具体实施方式
尽管描述了本发明的特定实施例,这些实施例仅仅通过示例呈现,而不意在限制本发明的范围。实际上,此处描述的新颖方法和系统可以以各种其它形式实现。此外,可以对此处描述的方法和系统的形式进行各种省略、替换和改变而不背离本发明的精神。所附的权利要求和其等效体意在覆盖将落入本发明的精神和范围内的这类形式或者修改。
概括
本发明的实施例涉及优化进行垃圾收集的存储器块的选择以使垃圾收集操作释放的存储器的量最大化。此处公开的系统和方法提供最优或者接近最优垃圾收集候选块的高效率选择,最优选择定义为具有最多无效页面的块。在一个实施例中,控制器按照每个块包含的无效页面的量将存储器块分类到各个无效块池。当进行垃圾收集时,控制器从具有最大的无效页面最小量的块的非空池里选择块。这些池有助于以有效的方式最优或者接近最优选择垃圾收集候选块,并且池的数据结构能够用位掩码实现,其在存储器中占用最小空间。尽管本公开描述了可应用于块的各个实施例,但实施例不被限制并且可应用于存储器的其它单元,诸如超块。
系统概括
图1是例示存储子系统实施例的框图。如图所示,存储子系统140包括控制器150,所述控制器继而包括主机命令队列142、垃圾收集命令队列144以及垃圾收集模块148。在一个实施例中,主机命令队列142从驻留在主机系统130中的驱动器132接收存储器命令,并且垃圾收集命令队列144从管理垃圾收集的垃圾收集模块148接收命令。在其它实施例中,来自驱动器132和垃圾收集模块148的命令被接收到单个队列以便执行。来自驱动器132的存储器命令可以包括由主机系统130发出的写入和读出命令,而来自垃圾收集模块148的存储器命令可以包括用于垃圾收集的命令。如图1进一步示出,在一个实施例中,控制器150对一个或多个非易失性固态存储器阵列160执行主机命令队列142和垃圾收集命令队列144中的命令。
控制器150还维护若干数据结构,在一个实施例中,所述数据结构包括无效页面表152和映射表154。在一个实施例中,无效页面表152保持跟踪整个非易失性固态存储器阵列160中位于物理页面地址处的数据的有效性,而映射表154保持跟踪非易失性存储器阵列160中的逻辑块地址(LBA)和物理页面地址之间的对应关系。在一个实施例中,其他数据结构包括无效页面计数器156、无效块池162和自由池164。在一个实施例中,针对存储器阵列160中的至少一些存储器块维护无效页面计数器156。在一个实施例中,针对每个块维护无效页面计数器156并且该无效页面计数器跟踪关联的块内的无效页面的数量。在一个实施例中,无效页面计数器156和/或无效页面表152被存储在动态随机存取存储器(DRAM)中。在一个实施例中块被分配到各个无效块池162。例如,使用中的块可以被分类到具有至少25%无效页面的块的池、具有至少50%无效页面的块的池、具有至少75%无效页面的块的池、或者具有100%无效页面的块的池。可用于新写入的块被分类到自由池164。在一个实施例中,涉及池分配的数据结构被存储在静态随机存取存储器(SRAM)中。下面将进一步描述这些用于垃圾收集的数据结构的使用和维护。
维护存储器块的无效页面数据
图2是例示根据一个实施例的用于维护存储器块上的无效页面信息的方法200的流程图。在框202,控制器150开始接收写入命令(操作)以便执行。写入操作可以由主机系统130发出。在框204,控制器更新映射表154作为执行写入操作的一部分。在一个实施例中,控制器通过以下来更新映射表,首先在映射表中定位写入命令中的LBA的条目以确定对应于LBA的物理页面地址,接着用新数据被写入的新物理页面地址更新定位的条目。例如,写入可以指向LBA10,其在写入操作之前被映射到块5,页面2。在实际写入到存储器以前,控制器更新映射表使LBA10的条目对应于数据将被写入的新位置(例如块12,页面4)。替换地,控制器可以在向存储器实际写入之后更新映射表。在框206,控制器确定是否需要对无效页面表更新。在大多数情形下这是需要的,除非与写入操作关联的特定LBA条目先前没有被分配到任何物理地址。在以上示例中,由于块5,页面2现在是无效的,无效页面表154覆盖块5的部分需要被更新。如果需要更新,则方法进行到框208,其中控制器使针对有改变的块的无效页面计数器156递增。接着在框210中,无效页面表152被更新。
在框212,控制器进行另一检查以确定针对有改变的块的页面计数器是否跨过无效页面阈值。如果已经跨过阈值,则在框214,块被重分配到新的池。遵循以上示例,如果无效页面计数器指示块5中的无效页面的数量已经在总共2048中增加到1024,则块5从25%无效池被重分配到50%无效池。在一个实施例中,处理来自主机的写入操作的控制器处理在进行以上更新任务的同时获得无效页面计数器、无效页面表和无效块池数据结构或者这些数据结构的子集的锁定(lock)。由于垃圾收集处理在操作中参照一些相同数据结构,因此锁定这些数据结构防止垃圾收集处理和其它内部系统处理读取过期的数据和执行命令,其将造成数据一致性问题。例如,在一个实施例中,当使用无效页面表来阻止即将发生的垃圾收集命令在被指示为包含无效信息的物理页面地址上执行时,在进行更新时将表锁定确保正确地阻止尝试写入无效数据的垃圾收集命令根据更新信息执行。在其它实施例中,各个更新步骤可以不同于图2所示的顺序执行。
使用无效页面数据来选择进行垃圾收集的存储器块
图3是例示根据一个实施例的选择进行垃圾收集的存储器块的方法的流程图。在一个实施例中,方法300由控制器150执行以选择最优或者接近最优的候选块以便垃圾收集。如以上讨论的,最优选择包括选择具有最大数目的无效页面的块以使由垃圾收集操作释放的存储器的量最大化。
在图3中,与各个池关联的阈值百分比仅仅作为示例提供并且可以使用其它百分比。另外,在一个实施例中,根据非易失性存储器阵列中提供的过度供给(over-povisioning)(超过声明容量的额外存储)设定最低阈值百分比。例如,最低阈值百分比可以等于或者大于过度供给量,因为过度供给量与当自由块被耗尽时块中的无效页面的最小量相关。在例示的示例中,25%无效页面的最低阈值对应于示例存储子系统中提供的25%过度供给。在其它实施例中,池的数目可以被设定为其它数目,并且最低阈值百分比可以高于或者低于过度供给百分比。在一个实施例中,至少一个池的阈值被设定为100%或者接近100%无效,以捕捉将在垃圾收集之后产生最大量的空间的块。
方法300开始于框302,这里控制器确定自由池中是否保留有足够的块以容纳即将发生的写入操作。如果确定自由池中没有足够的块,则触发垃圾收集,并且方法进入框304,这里控制器确定在100%无效池中是否存在任何块。如果是,则在框312中选择来自该池的存储器块。如果不是,则在框306中控制器确定75%无效池中是否存在任何块。如果是,则在框312中选择来自该池的存储器块。如果在75%池中没有发现,则在框308中针对50%无效池重复相同的过程。最终,如果在100%、75%或者50%池中没有块,则在框310中从25%池中选择块。在本示例中25%池是默认池,并且期望包含至少一个块,因为只有在框302中自由池被确定为耗尽时,才达到框310。这是因为当没有更多的自由块时,25%的过度供给确保至少一个具有至少25%无效页面的块。在框310或者312中所选择的候选块接着用在框314中的垃圾收集操作中。最终,尽管图3示出选择单个块,其它实施例可以从一个或者多个池中一并选择多个块以便垃圾收集。例如,如果控制器确定垃圾收集需要45个块,并且在100%池中仅有10个块并且在75%池中有41个块,则控制器可以从100%池中选择10个并且从75%池中选择其需要的剩余35个。
多池数据结构
图4例示根据一个实施例的无效块池402的示例设定。如图所示,示例块0-7根据每个块包含的无效页面的数目分布在4个池402A-D中。如先前在图3中所示,如果确定在自由池404中没有足够的块,则控制器触发垃圾收集。如果并且当其发生时,块7将被首先选择进行垃圾收集,因为其属于100%无效池。如果仍需要更多个块进行垃圾收集,则在下一循环中控制器将从池402B(块0、块2或者块5)中选择任何块,因为池402A现在为空并且池402B现在是具有最大的最小无效页面阈值(至少75%)的非空池。
在一个实施例中,为了实现速度优化,被分配到具有多个块的池的块的选择不取决于块的无效页面的实际百分比并且可以基于选择处理的当前位置选择池中的候选块或者可以随机选择块。选择处理可以以连续方式遍历块以定位分配到最大的非空池的下一可用块。例如,如果选择处理最后在块1结束对候选块的搜索,则将选择块2,因为在100%池中没有更多的块(块7已经被采用)并且块2是该选择处理中碰到的75%池中的第一个块。由此,即使其具有比块0或者块5更低的百分比,从池402B中也选择块2。在下一循环中,随着选择处理从块3提取,移动到块4,并且找到块5,块5将被选择,其为属于75%池的下一个块。在其它实施例中,可以进行额外的检查和/或比较,使得可以选择同一池中具有更大或者最大百分比的块。在各个实施例中,一次选择若干块并且可以跨越不同的池(例如块7可以与块0、2、和5一起选择)。然而,在一些实施例中,选择处理保持从具有最大的无效页面最小量的块的池到具有最小的无效页面最小量的块的池。
尽管选择处理从池中去除块,其它存储器操作可以使块重分配到具有更大的无效页面最小量的池或者如果块先前没有达到任何阈值,块可以被新分配到池。
在一个实施例中,池结构用位掩码实现,并且块可以与指示其分配到池的一个或者多个位关联。例如,4池结构可以包括针对块的4个对应的位掩码,每个位掩码指示各个块是否属于特定池。在一个实施例中,额外的检查位可以分配到一组块以加速选择处理。例如,可以使用检查位来指示32个块的状态,使得当检查位被设定为“0”时,选择处理能够跳过32个块,知道这些块都不具有指示分配到所考虑的特定池的“1”位。如果检查位被设定为“1”,则选择处理将检查32个块的各个位,因为“1”指示至少一个块被分配到特定池。在另一实施例中,额外的检查位可以被以层级顺序分配到检查位组。例如,额外的检查位可以被分配到一组检查位,使得如果检查位的任何一个被设定为“1”,则额外的检查位将也被设定为“1”。检查位方法减少定位被分配到具有最大的最小量无效页面的池的块所需要的时间。在另一实施例中,池分配被维护在表中。
多池数据结构提供选择最优或者接近最优的候选块以便垃圾收集的有效方法。在一个实施例中,使用分类链接的列表结构来组织有资格垃圾收集的块。在一个实施例中,块在链接表中被按照块中的无效页面的量分类,使得可以通过从链接表的前或者后(取决于分类的方向)选择块定位垃圾收集的最优候选者。在一个实施例中,以上描述的池以分类链接表结构实现,其中具有到对应于各个池的最小无效页面阈值的条目的指针,使得能够迅速定位分配到各个池的块。在另一实施例中,一个或者多个链接表被用于每个池,并且如以上描述块被分配到池并且插入到对应的池的一个或者多个链接表中。在一些实施例中,相比于链接表实现,用位掩码实现的池数据结构需要显著更少的开销存储器。这个差异在存储子系统中是显著的,其中潜在地存在百万计的块或者数万超块,其可以是任意给定时间用于垃圾收集的候选。
结论
以上公开的具体实施例的特征和属性可以以不同方式组合以形成其他的实施例,所有其他的实施例将落入本公开的范围之内。尽管本公开提供特定优选实施例和应用,对本领域技术人员明显的其它实施例,包括没有提供此处阐述的全部特征和优点的实施例,也在本公开的范围之内。因此,本公开的范围意在仅仅参照所附的权利要求限定。

Claims (24)

1.一种存储子系统,包括:
非易失性固态存储器阵列;以及
控制器,其包括垃圾收集模块,所述控制器被配置为接收和执行来自主机系统和所述垃圾收集模块的存储器命令,所述控制器还被配置为:
针对所述存储器阵列中的第一存储器块,维护无效页面计数器,所述无效页面计数器用于存储与所述第一存储器块内的无效页面的数目有关的数据,所述第一存储器块按照无效页面的数目被分配到第一池,其中所述垃圾收集模块被配置为基于无效页面的数目从多个池中选择存储器块;
在执行来自所述主机系统的、引起所述第一存储器块内的页面的有效性改变的存储器命令之后,
更新与所述第一存储器块关联的所述无效页面计数器;以及
当更新后的无效页面计数器超过阈值时,将所述第一存储器块重分配到第二池。
2.根据权利要求1所述的存储子系统,其中所述控制器还被配置为在所述第一存储器块进行垃圾收集之后,将所述第一存储器块分配到用于自由存储器块的池。
3.根据权利要求1所述的存储子系统,其中所述多个池中的每一个被分配有具有不同的无效页面最小数目的块,并且所述垃圾收集模块被配置为针对垃圾收集选择被分配到第三池的第二存储器块,所述第三池具有最大的无效页面最小数目。
4.根据权利要求1所述的存储子系统,其中所述多个池包括所述第一池、所述第二池、第三池和第四池,所述第一池被初始配置用于具有至少25%无效页面的存储器块,所述第二池被初始配置用于具有至少50%无效页面的存储器块,所述第三池被初始配置用于具有至少75%无效页面的存储器块,所述第四池被初始配置用于具有100%无效页面的存储器块。
5.根据权利要求1所述的存储子系统,其中数据结构被用来存储与存储器块的池分配有关的数据。
6.根据权利要求5所述的存储子系统,其中所述数据结构被存储在静态随机存取存储器中。
7.根据权利要求5所述的存储子系统,其中所述数据结构是树形结构。
8.根据权利要求5所述的存储子系统,其中所述控制器还被配置为在将所述第一存储器块重分配到不同的池中之前,获得对所述数据结构的锁定。
9.根据权利要求1所述的存储子系统,其中所述控制器还被配置为在更新所述页面计数器之前,获得对所述无效页面计数器的锁定。
10.根据权利要求1所述的存储子系统,其中所述无效页面计数器被存储在动态随机存取存储器中。
11.一种管理非易失性固态存储器中的存储器操作的方法,所述方法包括:
针对所述非易失性固态存储器中的第一存储器块,维护无效页面计数器,所述无效页面计数器用于储存与所述第一存储器块内的无效页面的数目有关的数据,所述第一存储器块按照无效页面的数目被分类到多个池的第一池;
在从主机系统接收引起所述第一存储器块内的页面的有效性改变的写入命令之后,
更新用于所述第一存储器块的所述无效页面计数器;以及
当所述第一存储器块的无效页面计数器指示所述第一存储器块内的无效页面的数目超过阈值时,将所述第一存储器块重分类到所述多个池的第二池。
12.根据权利要求11所述的方法,还包括:
针对垃圾收集选择被分类到具有最大的无效页面最小阈值的第三池中的第二存储器块。
13.根据权利要求11所述的方法,其中所述多个池包括所述第一池、所述第二池、第三池和第四池,所述第一池被初始配置用于具有至少25%无效页面的存储器块,所述第二池被初始配置用于具有至少50%无效页面的存储器块,所述第三池被初始配置用于具有至少75%无效页面的存储器块,所述第四池被初始配置用于具有100%无效页面的存储器块。
14.根据权利要求11所述的方法,还包括:
在映射表中针对所述写入命令中的逻辑地址定位条目以确定对应于所述逻辑地址的物理页面地址;
用阻止即将发生的垃圾收集命令在所述物理页面地址处执行的信息更新无效页面表;
执行所述写入命令;以及
用新物理地址更新所述映射表中定位的条目,所述数据通过所述写入命令的执行被写入所述新物理地址。
15.根据权利要求14所述的方法,其中更新所述无效页面表还包括更新所述无效页面表中的条目以指示在所述物理页面地址的数据是无效的。
16.根据权利要求14所述的方法,其中所述无效页面表被实现为位掩码,其中使用位来代表页面地址处的数据的有效性。
17.根据权利要求14所述的方法,其中所述无效页面表存储在动态随机存取存储器中。
18.根据权利要求11所述的方法,其中数据结构被用来存储与所述存储器块的池分类有关的数据。
19.根据权利要求18所述的方法,其中所述数据结构存储在静态随机存取存储器中。
20.根据权利要求18所述的方法,其中所述数据结构是树形结构。
21.根据权利要求11所述的方法,其中所述无效页面计数器存储在动态随机存取存储器中。
22.一种针对垃圾收集存储器命令在存储子系统的非易失性存储器阵列中选择存储器块的方法,所述方法包括:
维护与所述存储器块内的无效页面的数目有关的数据;
将所述存储器块分配到多个池中,每个池被配置为在分配到该池的各个存储器块中具有不同的无效页面最小阈值;
当从主机系统接收的存储器命令引起所述存储器块内的页面的有效性改变时,更新所述数据;
基于更新后的数据将包含该页面的存储器块重分配到具有更高的无效页面最小阈值的新池;以及
选择被分配到具有最大的最小阈值的池的存储器块以便垃圾收集。
23.根据权利要求22所述的方法,其中所述选择还包括:
用至少一个存储器块条目识别具有最大的最小阈值的池。
24.一种针对垃圾收集存储器命令在存储子系统的非易失性存储器阵列中选择存储器块的方法,所述方法包括:
维护关于所述存储器块内无效的页面的数目的统计数据;
基于无效页面的数目使用所述统计数据来维护存储器块的多个池;
当从主机系统接收的存储器命令引起所述存储器块内的页面的有效性改变时,更新所述统计数据;
基于更新后的统计数据将包含该页面的存储器块重分配到所述多个池的新池,该新池具有比和所述存储器块关联的当前池高的无效页面最小阈值;以及
从所述多个池的第一池选择第一存储器块以便垃圾收集。
CN201110126948.8A 2010-05-12 2011-05-12 管理固态存储器中垃圾收集的系统和方法 Active CN102243613B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/778,740 2010-05-12
US12/778,740 US9026716B2 (en) 2010-05-12 2010-05-12 System and method for managing garbage collection in solid-state memory

Publications (2)

Publication Number Publication Date
CN102243613A CN102243613A (zh) 2011-11-16
CN102243613B true CN102243613B (zh) 2015-11-25

Family

ID=44912745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110126948.8A Active CN102243613B (zh) 2010-05-12 2011-05-12 管理固态存储器中垃圾收集的系统和方法

Country Status (3)

Country Link
US (1) US9026716B2 (zh)
CN (1) CN102243613B (zh)
HK (1) HK1160526A1 (zh)

Families Citing this family (188)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176859B2 (en) 2009-01-07 2015-11-03 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
US10079048B2 (en) 2009-03-24 2018-09-18 Western Digital Technologies, Inc. Adjusting access of non-volatile semiconductor memory based on access time
US8479080B1 (en) * 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US9753847B2 (en) 2009-10-27 2017-09-05 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
US8407449B1 (en) 2010-02-26 2013-03-26 Western Digital Technologies, Inc. Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table
US9183134B2 (en) 2010-04-22 2015-11-10 Seagate Technology Llc Data segregation in a storage device
US8782327B1 (en) 2010-05-11 2014-07-15 Western Digital Technologies, Inc. System and method for managing execution of internal commands and host commands in a solid-state memory
US9026716B2 (en) 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory
US8959284B1 (en) 2010-06-28 2015-02-17 Western Digital Technologies, Inc. Disk drive steering write data to write cache based on workload
US8521972B1 (en) 2010-06-30 2013-08-27 Western Digital Technologies, Inc. System and method for optimizing garbage collection in data storage
US9058280B1 (en) 2010-08-13 2015-06-16 Western Digital Technologies, Inc. Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time
US8769190B1 (en) 2010-09-15 2014-07-01 Western Digital Technologies, Inc. System and method for reducing contentions in solid-state memory access
US8788779B1 (en) 2010-09-17 2014-07-22 Western Digital Technologies, Inc. Non-volatile storage subsystem with energy-based performance throttling
US9164886B1 (en) 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
US9021192B1 (en) 2010-09-21 2015-04-28 Western Digital Technologies, Inc. System and method for enhancing processing of memory access requests
US8738846B2 (en) * 2010-10-15 2014-05-27 Arkologic Limited File system-aware solid-state storage management system
US9069475B1 (en) 2010-10-26 2015-06-30 Western Digital Technologies, Inc. Hybrid drive selectively spinning up disk when powered on
US8700950B1 (en) 2011-02-11 2014-04-15 Western Digital Technologies, Inc. System and method for data error recovery in a solid state subsystem
US8700951B1 (en) 2011-03-09 2014-04-15 Western Digital Technologies, Inc. System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata
US9361044B2 (en) 2011-03-28 2016-06-07 Western Digital Technologies, Inc. Power-safe data management system
KR101954995B1 (ko) * 2011-04-27 2019-05-31 시게이트 테크놀로지 엘엘씨 저장 매체에 라이트 된 데이터 머지 방법, 저장 매체에 대한 라이트 동작 제어 방법, 이를 적용한 저장 장치, 컴퓨터 시스템 및 저장 매체
US8918595B2 (en) * 2011-04-28 2014-12-23 Seagate Technology Llc Enforcing system intentions during memory scheduling
US8745318B2 (en) * 2011-06-28 2014-06-03 Seagate Technology Llc Parameter tracking for memory devices
US8898373B1 (en) 2011-06-29 2014-11-25 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US9189392B1 (en) 2011-06-30 2015-11-17 Western Digital Technologies, Inc. Opportunistic defragmentation during garbage collection
US9158670B1 (en) 2011-06-30 2015-10-13 Western Digital Technologies, Inc. System and method for dynamically adjusting garbage collection policies in solid-state memory
US8700834B2 (en) * 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US9081663B2 (en) * 2011-11-18 2015-07-14 Stec, Inc. Optimized garbage collection algorithm to improve solid state drive reliability
US8977804B1 (en) 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Varying data redundancy in storage systems
US9268701B1 (en) 2011-11-21 2016-02-23 Western Digital Technologies, Inc. Caching of data in data storage systems by managing the size of read and write cache based on a measurement of cache reliability
US9075712B2 (en) * 2011-11-30 2015-07-07 International Business Machines Corporation Scheduling requests in a solid state memory device
US8819375B1 (en) 2011-11-30 2014-08-26 Western Digital Technologies, Inc. Method for selective defragmentation in a data storage device
US8959416B1 (en) 2011-12-16 2015-02-17 Western Digital Technologies, Inc. Memory defect management using signature identification
US9348741B1 (en) 2011-12-19 2016-05-24 Western Digital Technologies, Inc. Systems and methods for handling write data access requests in data storage devices
KR20130076429A (ko) * 2011-12-28 2013-07-08 삼성전자주식회사 메모리 장치의 저장 영역 관리 방법 및 이를 이용한 저장 장치
CN103226516A (zh) * 2012-01-31 2013-07-31 上海华虹集成电路有限责任公司 将Nandflash的物理块按无效页数量进行排序的方法
TWI475385B (zh) * 2012-03-14 2015-03-01 Phison Electronics Corp 程式化記憶胞與資料讀取方法、記憶體控制器與儲存裝置
JP2013196276A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd 情報処理装置、プログラムおよびデータ配置方法
CN105183660B (zh) * 2012-03-23 2018-07-13 群联电子股份有限公司 数据读取方法、存储器控制器与储存装置
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
US8966205B1 (en) 2012-05-10 2015-02-24 Western Digital Technologies, Inc. System data management using garbage collection and hybrid self mapping
US8984247B1 (en) 2012-05-10 2015-03-17 Western Digital Technologies, Inc. Storing and reconstructing mapping table data in a data storage system
US9977612B1 (en) 2012-05-11 2018-05-22 Western Digital Technologies, Inc. System data management using garbage collection and logs
US9170932B1 (en) 2012-05-22 2015-10-27 Western Digital Technologies, Inc. System data storage mechanism providing coherency and segmented data loading
US9244833B2 (en) 2012-05-30 2016-01-26 Silicon Motion, Inc. Data-storage device and flash memory control method
TWI448891B (zh) * 2012-09-06 2014-08-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
US8788778B1 (en) 2012-06-04 2014-07-22 Western Digital Technologies, Inc. Garbage collection based on the inactivity level of stored data
US8954653B1 (en) 2012-06-26 2015-02-10 Western Digital Technologies, Inc. Mechanisms for efficient management of system data in data storage systems
US8924832B1 (en) 2012-06-26 2014-12-30 Western Digital Technologies, Inc. Efficient error handling mechanisms in data storage systems
US9146857B2 (en) * 2012-08-18 2015-09-29 Storart Technology Co. Ltd. Method for mapping management
US8966343B2 (en) 2012-08-21 2015-02-24 Western Digital Technologies, Inc. Solid-state drive retention monitor using reference blocks
US8898548B1 (en) 2012-08-24 2014-11-25 Western Digital Technologies, Inc. Methods, data storage devices and systems having variable size ECC page size
US9268682B2 (en) 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
US9507523B1 (en) 2012-10-12 2016-11-29 Western Digital Technologies, Inc. Methods, devices and systems for variable size logical page management in a solid state drive
US9489296B1 (en) 2012-10-17 2016-11-08 Western Digital Technologies, Inc. Methods, devices and systems for hardware-based garbage collection in solid state drives
US8972826B2 (en) 2012-10-24 2015-03-03 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
US9177638B2 (en) 2012-11-13 2015-11-03 Western Digital Technologies, Inc. Methods and devices for avoiding lower page corruption in data storage devices
US8954694B2 (en) 2012-11-15 2015-02-10 Western Digital Technologies, Inc. Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
US9021339B2 (en) 2012-11-29 2015-04-28 Western Digital Technologies, Inc. Data reliability schemes for data storage systems
US9059736B2 (en) 2012-12-03 2015-06-16 Western Digital Technologies, Inc. Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme
US9032271B2 (en) 2012-12-07 2015-05-12 Western Digital Technologies, Inc. System and method for lower page data recovery in a solid state drive
US9122625B1 (en) 2012-12-18 2015-09-01 Western Digital Technologies, Inc. Error correcting code encoder supporting multiple code rates and throughput speeds for data storage systems
US8966339B1 (en) 2012-12-18 2015-02-24 Western Digital Technologies, Inc. Decoder supporting multiple code rates and code lengths for data storage systems
US9619317B1 (en) 2012-12-18 2017-04-11 Western Digital Technologies, Inc. Decoder having early decoding termination detection
US9214963B1 (en) 2012-12-21 2015-12-15 Western Digital Technologies, Inc. Method and system for monitoring data channel to enable use of dynamically adjustable LDPC coding parameters in a data storage system
US8954655B2 (en) 2013-01-14 2015-02-10 Western Digital Technologies, Inc. Systems and methods of configuring a mode of operation in a solid-state memory
US8972655B2 (en) 2013-01-21 2015-03-03 Western Digital Technolgies, Inc. Initialization of a storage device
US9274966B1 (en) 2013-02-20 2016-03-01 Western Digital Technologies, Inc. Dynamically throttling host commands to disk drives
CN104008061B (zh) * 2013-02-22 2018-01-23 华为技术有限公司 内存回收方法及装置
US9454474B2 (en) 2013-03-05 2016-09-27 Western Digital Technologies, Inc. Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive
US9641378B1 (en) 2013-03-12 2017-05-02 Western Digital Technologies, Inc. Adjustment of compression ratios for data storage
US8924824B1 (en) 2013-03-12 2014-12-30 Western Digital Technologies, Inc. Soft-decision input generation for data storage systems
US9280472B1 (en) 2013-03-13 2016-03-08 Western Digital Technologies, Inc. Caching data in a high performance zone of a data storage system
US8990668B2 (en) 2013-03-14 2015-03-24 Western Digital Technologies, Inc. Decoding data stored in solid-state memory
US9059742B1 (en) 2013-03-15 2015-06-16 Western Digital Technologies, Inc. System and method for dynamic scaling of LDPC decoder in a solid state drive
US9335950B2 (en) 2013-03-15 2016-05-10 Western Digital Technologies, Inc. Multiple stream compression and formatting of data for data storage systems
US9218279B2 (en) 2013-03-15 2015-12-22 Western Digital Technologies, Inc. Atomic write command support in a solid state drive
US9448738B2 (en) 2013-03-15 2016-09-20 Western Digital Technologies, Inc. Compression and formatting of data for data storage systems
US9013920B2 (en) 2013-04-03 2015-04-21 Western Digital Technologies, Inc. Systems and methods of write precompensation to extend life of a solid-state memory
US9123686B2 (en) 2013-04-12 2015-09-01 Western Digital Technologies, Inc. Thermal management for solid-state drive
US9338927B2 (en) 2013-05-02 2016-05-10 Western Digital Technologies, Inc. Thermal interface material pad and method of forming the same
US9195293B1 (en) 2013-05-03 2015-11-24 Western Digital Technologies, Inc. User controlled data storage device power and performance settings
US10417123B1 (en) 2013-05-16 2019-09-17 Western Digital Technologies, Inc. Systems and methods for improving garbage collection and wear leveling performance in data storage systems
US9081700B2 (en) 2013-05-16 2015-07-14 Western Digital Technologies, Inc. High performance read-modify-write system providing line-rate merging of dataframe segments in hardware
US9170938B1 (en) 2013-05-17 2015-10-27 Western Digital Technologies, Inc. Method and system for atomically writing scattered information in a solid state storage device
US9280200B1 (en) 2013-05-20 2016-03-08 Western Digital Technologies, Inc. Automatic peak current throttle of tiered storage elements
US9740248B2 (en) 2013-06-07 2017-08-22 Western Digital Technologies, Inc. Component placement within a solid state drive
US9274978B2 (en) 2013-06-10 2016-03-01 Western Digital Technologies, Inc. Migration of encrypted data for data storage systems
US9436630B2 (en) 2013-06-11 2016-09-06 Western Digital Technologies, Inc. Using dual phys to support multiple PCIe link widths
US9830257B1 (en) 2013-06-12 2017-11-28 Western Digital Technologies, Inc. Fast saving of data during power interruption in data storage systems
US9665501B1 (en) 2013-06-18 2017-05-30 Western Digital Technologies, Inc. Self-encrypting data storage device supporting object-level encryption
US9304560B2 (en) 2013-06-19 2016-04-05 Western Digital Technologies, Inc. Backup power for reducing host current transients
US9208101B2 (en) 2013-06-26 2015-12-08 Western Digital Technologies, Inc. Virtual NAND capacity extension in a hybrid drive
US9583153B1 (en) 2013-06-28 2017-02-28 Western Digital Technologies, Inc. Memory card placement within a solid state drive
US9042197B2 (en) 2013-07-23 2015-05-26 Western Digital Technologies, Inc. Power fail protection and recovery using low power states in a data storage device/system
US9141176B1 (en) 2013-07-29 2015-09-22 Western Digital Technologies, Inc. Power management for data storage device
US9070379B2 (en) 2013-08-28 2015-06-30 Western Digital Technologies, Inc. Data migration for data storage device
US9442668B1 (en) 2013-08-29 2016-09-13 Western Digital Technologies, Inc. Adaptive power management control with performance feedback
US9263136B1 (en) 2013-09-04 2016-02-16 Western Digital Technologies, Inc. Data retention flags in solid-state drives
US9304709B2 (en) 2013-09-06 2016-04-05 Western Digital Technologies, Inc. High performance system providing selective merging of dataframe segments in hardware
US10444998B1 (en) 2013-10-24 2019-10-15 Western Digital Technologies, Inc. Data storage device providing data maintenance services
US9007841B1 (en) 2013-10-24 2015-04-14 Western Digital Technologies, Inc. Programming scheme for improved voltage distribution in solid-state memory
US9330143B2 (en) 2013-10-24 2016-05-03 Western Digital Technologies, Inc. Data storage device supporting accelerated database operations
US9323467B2 (en) 2013-10-29 2016-04-26 Western Digital Technologies, Inc. Data storage device startup
US8917471B1 (en) 2013-10-29 2014-12-23 Western Digital Technologies, Inc. Power management for data storage device
US9286176B1 (en) 2013-11-08 2016-03-15 Western Digital Technologies, Inc. Selective skipping of blocks in an SSD
US9270296B1 (en) 2013-11-13 2016-02-23 Western Digital Technologies, Inc. Method and system for soft decoding through single read
US9529710B1 (en) 2013-12-06 2016-12-27 Western Digital Technologies, Inc. Interleaved channels in a solid-state drive
US9007854B1 (en) 2013-12-09 2015-04-14 Western Digital Technologies, Inc. Method and system for optimized soft decoding in a data storage device
GB201322290D0 (en) * 2013-12-17 2014-01-29 Ibm Method and device for managing a memory
US10140067B1 (en) 2013-12-19 2018-11-27 Western Digital Technologies, Inc. Data management for data storage device with multiple types of non-volatile memory media
US9036283B1 (en) 2014-01-22 2015-05-19 Western Digital Technologies, Inc. Data storage device with selective write to a first storage media or a second storage media
US9501393B2 (en) * 2014-01-27 2016-11-22 Western Digital Technologies, Inc. Data storage system garbage collection based on at least one attribute
US9337864B1 (en) 2014-01-29 2016-05-10 Western Digital Technologies, Inc. Non-binary LDPC decoder using binary subgroup processing
US9250994B1 (en) 2014-02-05 2016-02-02 Western Digital Technologies, Inc. Non-binary low-density parity check (LDPC) decoding using trellis maximization
US9384088B1 (en) 2014-02-24 2016-07-05 Western Digital Technologies, Inc. Double writing map table entries in a data storage system to guard against silent corruption
US9354955B1 (en) 2014-03-19 2016-05-31 Western Digital Technologies, Inc. Partial garbage collection for fast error handling and optimized garbage collection for the invisible band
US9268487B2 (en) 2014-03-24 2016-02-23 Western Digital Technologies, Inc. Method and apparatus for restricting writes to solid state memory when an end-of life condition is reached
US9348520B2 (en) 2014-03-24 2016-05-24 Western Digital Technologies, Inc. Lifetime extension of non-volatile semiconductor memory for data storage device
US9448742B2 (en) * 2014-03-27 2016-09-20 Western Digital Technologies, Inc. Communication between a host and a secondary storage device
CN103927263B (zh) * 2014-04-01 2017-02-15 华为技术有限公司 垃圾回收方法和装置
US9564212B2 (en) 2014-05-06 2017-02-07 Western Digital Technologies, Inc. Solid-state memory corruption mitigation
US9690696B1 (en) 2014-05-14 2017-06-27 Western Digital Technologies, Inc. Lifetime extension of memory for data storage system
US9472222B2 (en) 2014-05-16 2016-10-18 Western Digital Technologies, Inc. Vibration mitigation for a data storage device
US9383926B2 (en) * 2014-05-27 2016-07-05 Kabushiki Kaisha Toshiba Host-controlled garbage collection
US9671975B2 (en) 2014-06-16 2017-06-06 International Business Machines Corporation Partial release management
KR20160027805A (ko) * 2014-09-02 2016-03-10 삼성전자주식회사 비휘발성 메모리 장치를 위한 가비지 컬렉션 방법
US9275741B1 (en) 2014-09-10 2016-03-01 Western Digital Technologies, Inc. Temperature compensation management in solid-state memory
US10235056B2 (en) * 2014-09-26 2019-03-19 Western Digital Technologies, Inc. Storage device health diagnosis
US9418699B1 (en) 2014-10-09 2016-08-16 Western Digital Technologies, Inc. Management of sequentially written data
US9405356B1 (en) 2014-10-21 2016-08-02 Western Digital Technologies, Inc. Temperature compensation in data storage device
US10102118B2 (en) 2014-10-30 2018-10-16 Toshiba Memory Corporation Memory system and non-transitory computer readable recording medium
US11347637B2 (en) 2014-10-30 2022-05-31 Kioxia Corporation Memory system and non-transitory computer readable recording medium
US9823859B2 (en) 2014-11-06 2017-11-21 Western Digital Technologies, Inc. Mechanical shock mitigation for data storage
KR102343246B1 (ko) * 2014-12-12 2021-12-27 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9619158B2 (en) 2014-12-17 2017-04-11 International Business Machines Corporation Two-level hierarchical log structured array architecture with minimized write amplification
US9606734B2 (en) 2014-12-22 2017-03-28 International Business Machines Corporation Two-level hierarchical log structured array architecture using coordinated garbage collection for flash arrays
US20160179399A1 (en) * 2014-12-23 2016-06-23 Sandisk Technologies Inc. System and Method for Selecting Blocks for Garbage Collection Based on Block Health
US20160188233A1 (en) * 2014-12-26 2016-06-30 Mediatek Inc. Method for interrupting cleaning procedure of flash memory
JP6482322B2 (ja) 2014-12-29 2019-03-13 東芝メモリ株式会社 メモリ装置及びプログラム
US10474569B2 (en) * 2014-12-29 2019-11-12 Toshiba Memory Corporation Information processing device including nonvolatile cache memory and processor
US10120793B2 (en) 2014-12-29 2018-11-06 Toshiba Memory Corporation Memory device and non-transitory computer readable recording medium
US9857995B1 (en) 2015-03-09 2018-01-02 Western Digital Technologies, Inc. Data storage device and method providing non-volatile memory buffer for real-time primary non-volatile memory protection
US9740437B2 (en) * 2015-03-27 2017-08-22 Intel Corporation Mechanism to adapt garbage collection resource allocation in a solid state drive
CN107533506B (zh) * 2015-05-06 2021-03-23 华为技术有限公司 日志结构化文件系统中的垃圾回收方法和设备
US9785563B1 (en) 2015-08-13 2017-10-10 Western Digital Technologies, Inc. Read command processing for data storage system based on previous writes
US9668337B2 (en) 2015-09-08 2017-05-30 Western Digital Technologies, Inc. Temperature management in data storage devices
US9727261B2 (en) 2015-09-24 2017-08-08 Western Digital Technologies, Inc. Weighted programming patterns in solid-state data storage systems
US10013174B2 (en) 2015-09-30 2018-07-03 Western Digital Technologies, Inc. Mapping system selection for data storage device
US9836232B1 (en) 2015-09-30 2017-12-05 Western Digital Technologies, Inc. Data storage device and method for using secondary non-volatile memory for temporary metadata storage
WO2017069646A1 (en) * 2015-10-19 2017-04-27 Huawei Technologies Co., Ltd. Method and device for determination of garbage collector thread number and activity management in log-structured file systems
US9620226B1 (en) 2015-10-30 2017-04-11 Western Digital Technologies, Inc. Data retention charge loss and read disturb compensation in solid-state data storage systems
KR20170060206A (ko) * 2015-11-23 2017-06-01 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10126981B1 (en) 2015-12-14 2018-11-13 Western Digital Technologies, Inc. Tiered storage using storage class memory
US10216536B2 (en) * 2016-03-11 2019-02-26 Vmware, Inc. Swap file defragmentation in a hypervisor
US10540274B2 (en) * 2016-03-29 2020-01-21 Micron Technology, Inc. Memory devices including dynamic superblocks, and related methods and electronic systems
US20170300249A1 (en) * 2016-04-15 2017-10-19 Western Digital Technologies, Inc. Validity tracking for garbage collection
US10229048B2 (en) 2016-06-29 2019-03-12 Western Digital Technologies, Inc. Unified paging scheme for dense and sparse translation tables on flash storage systems
US10175896B2 (en) 2016-06-29 2019-01-08 Western Digital Technologies, Inc. Incremental snapshot based technique on paged translation systems
US10235287B2 (en) 2016-06-29 2019-03-19 Western Digital Technologies, Inc. Efficient management of paged translation maps in memory and flash
US11216361B2 (en) 2016-06-29 2022-01-04 Western Digital Technologies, Inc. Translation lookup and garbage collection optimizations on storage system with paged translation table
US10353813B2 (en) 2016-06-29 2019-07-16 Western Digital Technologies, Inc. Checkpoint based technique for bootstrapping forward map under constrained memory for flash devices
US10387303B2 (en) 2016-08-16 2019-08-20 Western Digital Technologies, Inc. Non-volatile storage system with compute engine to accelerate big data applications
KR102318477B1 (ko) 2016-08-29 2021-10-27 삼성전자주식회사 Ssd 어레이 관리를 위한 스트림 식별자 기반 스토리지 시스템
US10459644B2 (en) 2016-10-28 2019-10-29 Western Digital Techologies, Inc. Non-volatile storage system with integrated compute engine and optimized use of local fast memory
TWI619018B (zh) * 2016-11-10 2018-03-21 慧榮科技股份有限公司 可用於資料儲存裝置之垃圾蒐集方法
JP6618941B2 (ja) * 2017-03-03 2019-12-11 株式会社東芝 管理装置、情報処理装置および管理方法
US11188456B2 (en) * 2017-03-21 2021-11-30 Western Digital Technologies Inc. Storage system and method for predictive block allocation for efficient garbage collection
US10565123B2 (en) 2017-04-10 2020-02-18 Western Digital Technologies, Inc. Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module
US11416162B2 (en) * 2017-09-27 2022-08-16 Beijing Memblaze Technology Co., Ltd Garbage collection method and storage device
CN107844432B (zh) * 2017-11-22 2021-01-12 深圳忆联信息系统有限公司 一种固态硬盘动态垃圾回收的方法及固态硬盘
KR102659036B1 (ko) * 2018-07-11 2024-04-22 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US10956071B2 (en) 2018-10-01 2021-03-23 Western Digital Technologies, Inc. Container key value store for data storage devices
US10769062B2 (en) 2018-10-01 2020-09-08 Western Digital Technologies, Inc. Fine granularity translation layer for data storage devices
US10740231B2 (en) 2018-11-20 2020-08-11 Western Digital Technologies, Inc. Data access in data storage device including storage class memory
US11237744B2 (en) * 2018-12-28 2022-02-01 Verizon Media Inc. Method and system for configuring a write amplification factor of a storage engine based on a compaction value associated with a data file
US11061598B2 (en) * 2019-03-25 2021-07-13 Western Digital Technologies, Inc. Optimized handling of multiple copies in storage management
KR20200132171A (ko) * 2019-05-15 2020-11-25 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 장치
KR20210017401A (ko) * 2019-08-08 2021-02-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법과, 이를 위한 컨트롤러
US11016905B1 (en) 2019-11-13 2021-05-25 Western Digital Technologies, Inc. Storage class memory access
CN115757193B (zh) 2019-11-15 2023-11-03 荣耀终端有限公司 一种内存的管理方法及电子设备
US11249921B2 (en) 2020-05-06 2022-02-15 Western Digital Technologies, Inc. Page modification encoding and caching
CN112241325B (zh) * 2020-12-15 2021-03-23 南京集成电路设计服务产业创新中心有限公司 一种基于内存池的超大规模集成电路数据库和设计方法
US12061814B2 (en) 2021-01-25 2024-08-13 Pure Storage, Inc. Using data similarity to select segments for garbage collection
US11579795B2 (en) * 2021-01-27 2023-02-14 Solid State Storage Technology Corporation Control method for solid state drive

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404028A (zh) * 2008-11-07 2009-04-08 宇龙计算机通信科技(深圳)有限公司 一种整理文件碎片的方法和系统
CN101419573A (zh) * 2008-12-01 2009-04-29 成都市华为赛门铁克科技有限公司 一种存储管理的方法、系统和存储设备

Family Cites Families (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02109153A (ja) 1988-10-18 1990-04-20 Fujitsu Ltd プロセッサ間データ伝送方式
US5163131A (en) 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
US5123094A (en) 1990-01-26 1992-06-16 Apple Computer, Inc. Interprocessor communications includes second CPU designating memory locations assigned to first CPU and writing their addresses into registers
US5634099A (en) 1994-12-09 1997-05-27 International Business Machines Corporation Direct memory access unit for transferring data between processor memories in multiprocessing systems
JP2831602B2 (ja) 1995-01-13 1998-12-02 富士通株式会社 圧縮データ管理装置及び圧縮データ管理方法
US5933847A (en) * 1995-09-28 1999-08-03 Canon Kabushiki Kaisha Selecting erase method based on type of power supply for flash EEPROM
US6088740A (en) 1997-08-05 2000-07-11 Adaptec, Inc. Command queuing system for a hardware accelerated command interpreter engine
US6205521B1 (en) * 1997-11-03 2001-03-20 Compaq Computer Corporation Inclusion map for accelerated cache flush
US6678801B1 (en) 1998-04-17 2004-01-13 Terraforce Technologies Corp. DSP with distributed RAM structure
US6338122B1 (en) 1998-12-15 2002-01-08 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that speculatively forwards a read request to a remote processing node
JP2000193423A (ja) 1998-12-28 2000-07-14 Tdk Corp 膜厚測定方法、研磨方法及び薄膜磁気ヘッドの製造方法、並びに薄膜磁気ヘッド形成用基板
US6378051B1 (en) 1999-06-14 2002-04-23 Maxtor Corporation Interrupt signal prioritized shared buffer memory access system and method
JP2003518313A (ja) 1999-12-22 2003-06-03 シーゲイト テクノロジー エルエルシー ディスク駆動機構のバッファとの間のデータの転送を管理するバッファ管理システム
US8171204B2 (en) 2000-01-06 2012-05-01 Super Talent Electronics, Inc. Intelligent solid-state non-volatile memory device (NVMD) system with multi-level caching of multiple channels
US20050204187A1 (en) * 2004-03-11 2005-09-15 Lee Charles C. System and method for managing blocks in flash memory
US7406547B2 (en) 2000-08-09 2008-07-29 Seagate Technology Llc Sequential vectored buffer management
EP2804106A1 (en) 2000-09-06 2014-11-19 Ericsson Modems SA Inter-processor communication system
US6862151B2 (en) 2000-11-15 2005-03-01 Seagate Technologies Llc Method and apparatus for read error recovery
US7174467B1 (en) 2001-07-18 2007-02-06 Advanced Micro Devices, Inc. Message based power management in a multi-processor system
US6829660B2 (en) 2001-12-12 2004-12-07 Emulex Design & Manufacturing Corporation Supercharge message exchanger
US7114041B2 (en) 2002-12-20 2006-09-26 Lsi Logic Corporation AMBA modular memory controller
US7082494B1 (en) 2002-12-24 2006-07-25 Western Digital Technologies, Inc. Disk drive executing a preemptive multitasking operating system comprising tasks of varying priority
CN1689116A (zh) 2003-02-28 2005-10-26 富士通株式会社 闪存以及存储器控制方法
US7870346B2 (en) 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7080188B2 (en) 2003-03-10 2006-07-18 Marvell International Ltd. Method and system for embedded disk controllers
US6856556B1 (en) 2003-04-03 2005-02-15 Siliconsystems, Inc. Storage subsystem with embedded circuit for protecting against anomalies in power signal from host
JP4327585B2 (ja) 2003-12-25 2009-09-09 株式会社東芝 記憶装置
US7127549B2 (en) 2004-02-04 2006-10-24 Sandisk Corporation Disk acceleration using first and second storage devices
DE102004009497B3 (de) 2004-02-27 2005-06-30 Infineon Technologies Ag Chipintegriertes Mehrprozessorsystem und Verfahren zur Kommunikation zwischen mehreren Prozessoren eines chipintegrierten Mehrprozessorsystems
US20080082736A1 (en) * 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
US7441067B2 (en) 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
US7502256B2 (en) 2004-11-30 2009-03-10 Siliconsystems, Inc. Systems and methods for reducing unauthorized data recovery from solid-state storage devices
US7366826B2 (en) 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
CN101091101A (zh) 2004-12-27 2007-12-19 新科实业有限公司 通过俄歇电子能谱测量纳米薄膜厚度的方法
US7363421B2 (en) 2005-01-13 2008-04-22 Stmicroelectronics S.R.L. Optimizing write/erase operations in memory devices
US7315917B2 (en) 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US20060161724A1 (en) 2005-01-20 2006-07-20 Bennett Alan D Scheduling of housekeeping operations in flash memory systems
US6969989B1 (en) 2005-03-11 2005-11-29 Western Digital (Fremont), Inc. Method for characterizing a perpendicular recording head writing pole
US8452929B2 (en) 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US20070016721A1 (en) 2005-07-18 2007-01-18 Wyse Technology Inc. Flash file system power-up by using sequential sector allocation
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7984084B2 (en) 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
KR100739722B1 (ko) 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
US7441054B2 (en) 2005-09-26 2008-10-21 Realtek Semiconductor Corp. Method of accessing internal memory of a processor and device thereof
US7594067B2 (en) 2005-10-20 2009-09-22 Stec, Inc. Enhanced data access in a storage device
US7831783B2 (en) * 2005-12-22 2010-11-09 Honeywell International Inc. Effective wear-leveling and concurrent reclamation method for embedded linear flash file systems
KR100706808B1 (ko) * 2006-02-03 2007-04-12 삼성전자주식회사 쓰기 버퍼로서 동작하는 불 휘발성 메모리를 구비한 데이터저장 장치 및 그것의 블록 회수 방법
US7653778B2 (en) 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
US7424587B2 (en) 2006-05-23 2008-09-09 Dataram, Inc. Methods for managing data writes and reads to a hybrid solid-state disk drive
FI120220B (fi) * 2006-06-08 2009-07-31 Tellabs Oy Menetelmä ja järjestely transaktioiden käsittelemiseksi flash-tyyppisessä muistivälineessä
US8108692B1 (en) 2006-06-27 2012-01-31 Siliconsystems, Inc. Solid-state storage subsystem security solution
US7765373B1 (en) 2006-06-27 2010-07-27 Siliconsystems, Inc. System for controlling use of a solid-state storage subsystem
US7447807B1 (en) 2006-06-30 2008-11-04 Siliconsystems, Inc. Systems and methods for storing data in segments of a storage subsystem
US7509441B1 (en) 2006-06-30 2009-03-24 Siliconsystems, Inc. Systems and methods for segmenting and protecting a storage subsystem
US8161227B1 (en) 2006-10-30 2012-04-17 Siliconsystems, Inc. Storage subsystem capable of programming field-programmable devices of a target computer system
US7747813B2 (en) 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US20080126685A1 (en) 2006-11-24 2008-05-29 Radoslav Danilak System, method, and computer program product for reducing memory write operations using an instruction set
US7904764B2 (en) 2006-11-24 2011-03-08 Sandforce, Inc. Memory lifetime gauging system, method and computer program product
US7809900B2 (en) 2006-11-24 2010-10-05 Sandforce, Inc. System, method, and computer program product for delaying an operation that reduces a lifetime of memory
US8549236B2 (en) 2006-12-15 2013-10-01 Siliconsystems, Inc. Storage subsystem with multiple non-volatile memory arrays to protect against data losses
US20080155166A1 (en) 2006-12-22 2008-06-26 Fujitsu Limited Application specific processor for controlling data buffer manager
US7596643B2 (en) 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
KR20080085574A (ko) 2007-03-20 2008-09-24 삼성전자주식회사 비휘발성 메모리의 가비지 컬렉션을 위한 장치 및 방법
US9207876B2 (en) 2007-04-19 2015-12-08 Microsoft Technology Licensing, Llc Remove-on-delete technologies for solid state drive optimization
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
US7685337B2 (en) 2007-05-24 2010-03-23 Siliconsystems, Inc. Solid state storage subsystem for embedded applications
US7685338B2 (en) 2007-05-24 2010-03-23 Siliconsystems, Inc. Solid state storage subsystem for embedded applications
DE102007024469B4 (de) 2007-05-25 2009-04-23 Eos Gmbh Electro Optical Systems Verfahren zum schichtweisen Herstellen eines dreidimensionalen Objekts
US9396103B2 (en) 2007-06-08 2016-07-19 Sandisk Technologies Llc Method and system for storage address re-mapping for a memory device
DE102007029833B4 (de) 2007-06-28 2019-03-28 Texas Instruments Deutschland Gmbh Mikrocontroller mit Datenmodifikationsmodul und System umfassend ein Datenmodifikationsmodul
KR100922389B1 (ko) 2007-07-04 2009-10-19 삼성전자주식회사 플래시 메모리를 위한 색인 스킴
US7685374B2 (en) 2007-07-26 2010-03-23 Siliconsystems, Inc. Multi-interface and multi-bus structured solid-state storage subsystem
US8095851B2 (en) 2007-09-06 2012-01-10 Siliconsystems, Inc. Storage subsystem capable of adjusting ECC settings based on monitored conditions
WO2009045904A1 (en) 2007-10-02 2009-04-09 Openpeak, Inc. System and method for inter-processor communication
US20090119460A1 (en) 2007-11-07 2009-05-07 Infineon Technologies Ag Storing Portions of a Data Transfer Descriptor in Cached and Uncached Address Space
US8296498B2 (en) 2007-11-13 2012-10-23 Sandisk Technologies Inc. Method and system for virtual fast access non-volatile RAM
US7903486B2 (en) 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
US8000059B2 (en) 2007-12-12 2011-08-16 Hitachi Global Storage Technologies Netherlands B.V. Perpendicular magnetic write head with a thin wrap around magnetic shield
US8621138B2 (en) 2007-12-27 2013-12-31 Sandisk Enterprise Ip Llc Flash storage controller execute loop
US8239611B2 (en) 2007-12-28 2012-08-07 Spansion Llc Relocating data in a memory device
EP2225643B1 (en) * 2007-12-28 2020-05-06 Toshiba Memory Corporation Semiconductor storage device
US8078918B2 (en) 2008-02-07 2011-12-13 Siliconsystems, Inc. Solid state storage subsystem that maintains and provides access to data reflective of a failure risk
US7962792B2 (en) 2008-02-11 2011-06-14 Siliconsystems, Inc. Interface for enabling a host computer to retrieve device monitor data from a solid state storage subsystem
US20090271562A1 (en) * 2008-04-25 2009-10-29 Sinclair Alan W Method and system for storage address re-mapping for a multi-bank memory device
US7733712B1 (en) 2008-05-20 2010-06-08 Siliconsystems, Inc. Storage subsystem with embedded circuit for protecting against anomalies in power signal from host
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
US8375151B1 (en) 2009-02-12 2013-02-12 Siliconsystems, Inc. Command portal for securely communicating and executing non-standard storage subsystem commands
US8583835B1 (en) 2008-08-06 2013-11-12 Siliconsystems, Inc. Command portal for executing non-standard storage subsystem commands
US9176859B2 (en) 2009-01-07 2015-11-03 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
US20100185806A1 (en) * 2009-01-16 2010-07-22 Arvind Pruthi Caching systems and methods using a solid state disk
US8090899B1 (en) 2009-03-04 2012-01-03 Western Digital Technologies, Inc. Solid state drive power safe wear-leveling
US10079048B2 (en) 2009-03-24 2018-09-18 Western Digital Technologies, Inc. Adjusting access of non-volatile semiconductor memory based on access time
US8566507B2 (en) 2009-04-08 2013-10-22 Google Inc. Data storage device capable of recognizing and controlling multiple types of memory chips
US8166233B2 (en) * 2009-07-24 2012-04-24 Lsi Corporation Garbage collection for solid state disks
US8688894B2 (en) 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
US8463826B2 (en) 2009-09-03 2013-06-11 Apple Inc. Incremental garbage collection for non-volatile memories
US8243525B1 (en) 2009-09-30 2012-08-14 Western Digital Technologies, Inc. Refreshing non-volatile semiconductor memory by reading without rewriting
US8254172B1 (en) 2009-09-30 2012-08-28 Western Digital Technologies, Inc. Wear leveling non-volatile semiconductor memory based on erase times and program times
US9753847B2 (en) 2009-10-27 2017-09-05 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
US8261012B2 (en) 2009-10-30 2012-09-04 Western Digital Technologies, Inc. Non-volatile semiconductor memory comprising power fail circuitry for flushing write data in response to a power fail signal
US8135903B1 (en) 2009-10-30 2012-03-13 Western Digital Technologies, Inc. Non-volatile semiconductor memory compressing data to improve performance
US8397107B1 (en) 2009-12-11 2013-03-12 Western Digital Technologies, Inc. Data storage device employing data path protection using both LBA and PBA
US8443167B1 (en) 2009-12-16 2013-05-14 Western Digital Technologies, Inc. Data storage device employing a run-length mapping table and a single address mapping table
JP4738536B1 (ja) * 2010-01-29 2011-08-03 株式会社東芝 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法
US8316176B1 (en) 2010-02-17 2012-11-20 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification
US8407449B1 (en) 2010-02-26 2013-03-26 Western Digital Technologies, Inc. Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table
JP5066209B2 (ja) * 2010-03-18 2012-11-07 株式会社東芝 コントローラ、データ記憶装置、及びプログラム
US8725931B1 (en) 2010-03-26 2014-05-13 Western Digital Technologies, Inc. System and method for managing the execution of memory commands in a solid-state memory
US8713066B1 (en) 2010-03-29 2014-04-29 Western Digital Technologies, Inc. Managing wear leveling and garbage collection operations in a solid-state memory using linked lists
US8782327B1 (en) 2010-05-11 2014-07-15 Western Digital Technologies, Inc. System and method for managing execution of internal commands and host commands in a solid-state memory
US9026716B2 (en) 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory
US8341339B1 (en) 2010-06-14 2012-12-25 Western Digital Technologies, Inc. Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk
US8612669B1 (en) 2010-06-28 2013-12-17 Western Digital Technologies, Inc. System and method for performing data retention in solid-state memory using copy commands and validity and usage data
US8447920B1 (en) 2010-06-29 2013-05-21 Western Digital Technologies, Inc. System and method for managing data access in non-volatile memory
US8521972B1 (en) 2010-06-30 2013-08-27 Western Digital Technologies, Inc. System and method for optimizing garbage collection in data storage
US8639872B1 (en) 2010-08-13 2014-01-28 Western Digital Technologies, Inc. Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk
US8775720B1 (en) 2010-08-31 2014-07-08 Western Digital Technologies, Inc. Hybrid drive balancing execution times for non-volatile semiconductor memory and disk
US8638602B1 (en) 2010-09-10 2014-01-28 Western Digital Technologies, Inc. Background selection of voltage reference values for performing memory read operations
US8769190B1 (en) 2010-09-15 2014-07-01 Western Digital Technologies, Inc. System and method for reducing contentions in solid-state memory access
US8788779B1 (en) 2010-09-17 2014-07-22 Western Digital Technologies, Inc. Non-volatile storage subsystem with energy-based performance throttling
US8612804B1 (en) 2010-09-30 2013-12-17 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US8601313B1 (en) 2010-12-13 2013-12-03 Western Digital Technologies, Inc. System and method for a data reliability scheme in a solid state memory
US8601311B2 (en) 2010-12-14 2013-12-03 Western Digital Technologies, Inc. System and method for using over-provisioned data capacity to maintain a data redundancy scheme in a solid state memory
US8615681B2 (en) 2010-12-14 2013-12-24 Western Digital Technologies, Inc. System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss
US8458435B1 (en) 2010-12-20 2013-06-04 Western Digital Technologies, Inc. Sequential write thread detection
US8392635B2 (en) 2010-12-22 2013-03-05 Western Digital Technologies, Inc. Selectively enabling a host transfer interrupt
US9141571B2 (en) 2010-12-28 2015-09-22 Avago Technologies General Ip (Singapore) Pte. Ltd. PCI express switch with logical device capability
US8683113B2 (en) 2011-02-04 2014-03-25 Western Digital Technologies, Inc. Concurrently searching multiple devices of a non-volatile semiconductor memory
US8700950B1 (en) 2011-02-11 2014-04-15 Western Digital Technologies, Inc. System and method for data error recovery in a solid state subsystem
US8700951B1 (en) 2011-03-09 2014-04-15 Western Digital Technologies, Inc. System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata
US8769232B2 (en) 2011-04-06 2014-07-01 Western Digital Technologies, Inc. Non-volatile semiconductor memory module enabling out of order host command chunk media access
US8751728B1 (en) 2011-04-29 2014-06-10 Western Digital Technologies, Inc. Storage system bus transfer optimization
US8862804B2 (en) 2011-04-29 2014-10-14 Western Digital Technologies, Inc. System and method for improved parity determination within a data redundancy scheme in a solid state memory
US9021178B2 (en) 2011-05-02 2015-04-28 Western Digital Technologies, Inc. High performance path for command processing
US8503237B1 (en) 2011-05-18 2013-08-06 Western Digital Technologies, Inc. System and method for data recovery in a solid state storage device
US8793429B1 (en) 2011-06-03 2014-07-29 Western Digital Technologies, Inc. Solid-state drive with reduced power up time
US8719531B2 (en) 2011-06-14 2014-05-06 Western Digital Technologies, Inc. System and method for performing data retention that incorporates environmental conditions
US8423722B1 (en) 2011-08-26 2013-04-16 Western Digital Technologies, Inc. System and method for high performance command processing in solid state drives
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US8977803B2 (en) 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Disk drive data caching using a multi-tiered memory
US8724422B1 (en) 2012-02-29 2014-05-13 Western Digital Technologies, Inc. System and method for charging back-up charge storage element for data storage device using spindle phase switching elements
US9003224B2 (en) 2012-04-25 2015-04-07 Western Digital Technologies, Inc. Managing unreliable memory in data storage systems
US8788778B1 (en) 2012-06-04 2014-07-22 Western Digital Technologies, Inc. Garbage collection based on the inactivity level of stored data
US8966343B2 (en) 2012-08-21 2015-02-24 Western Digital Technologies, Inc. Solid-state drive retention monitor using reference blocks
US8788880B1 (en) 2012-08-22 2014-07-22 Western Digital Technologies, Inc. Efficient retry mechanism for solid-state memory failures
US9268682B2 (en) 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
US8972826B2 (en) 2012-10-24 2015-03-03 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
US9177638B2 (en) 2012-11-13 2015-11-03 Western Digital Technologies, Inc. Methods and devices for avoiding lower page corruption in data storage devices
US8954694B2 (en) 2012-11-15 2015-02-10 Western Digital Technologies, Inc. Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
US9021339B2 (en) 2012-11-29 2015-04-28 Western Digital Technologies, Inc. Data reliability schemes for data storage systems
US9059736B2 (en) 2012-12-03 2015-06-16 Western Digital Technologies, Inc. Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme
US20140223255A1 (en) 2012-12-18 2014-08-07 Western Digital Technologies, Inc. Decoder having early decoding termination detection
US9430376B2 (en) 2012-12-26 2016-08-30 Western Digital Technologies, Inc. Priority-based garbage collection for data storage systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404028A (zh) * 2008-11-07 2009-04-08 宇龙计算机通信科技(深圳)有限公司 一种整理文件碎片的方法和系统
CN101419573A (zh) * 2008-12-01 2009-04-29 成都市华为赛门铁克科技有限公司 一种存储管理的方法、系统和存储设备

Also Published As

Publication number Publication date
HK1160526A1 (zh) 2012-08-17
US20110283049A1 (en) 2011-11-17
US9026716B2 (en) 2015-05-05
CN102243613A (zh) 2011-11-16

Similar Documents

Publication Publication Date Title
CN102243613B (zh) 管理固态存储器中垃圾收集的系统和方法
US10204042B2 (en) Memory system having persistent garbage collection
CN102667736B (zh) 存储器管理装置及存储器管理方法
CN109783004B (zh) 数据储存装置与存储器装置的数据处理方法
CN100435116C (zh) 具有存储器平面对准的非易失性存储器及方法
US8239611B2 (en) Relocating data in a memory device
US9158670B1 (en) System and method for dynamically adjusting garbage collection policies in solid-state memory
CN102508788B (zh) Ssd及ssd垃圾回收方法和装置
CN109074310A (zh) 包含动态超级块的存储器装置及相关方法以及电子系统
US8706998B2 (en) Method for managing flash memories having mixed memory types
CN102171663A (zh) 管理缓存内容的存储
CN101169751A (zh) 具有闪存设备的系统及其数据恢复方法
CN1701390A (zh) 跟踪非易失性存储器系统中最频繁擦除区块
CN103608782A (zh) Lsb页面和msb页面中的选择性数据存储
KR20200068941A (ko) 메모리 시스템 내 저장된 데이터를 제어하는 방법 및 장치
US20130145078A1 (en) Method for controlling memory array of flash memory, and flash memory using the same
CN101263462A (zh) 具有区块管理的非易失性存储器
US20140328127A1 (en) Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same
CN109558333B (zh) 具有可变额外存储空间的固态存储设备命名空间
KR102343246B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US8261013B2 (en) Method for even utilization of a plurality of flash memory chips
US8954646B2 (en) Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof
US20150220433A1 (en) Method for managing flash memories having mixed memory types using a finely granulated allocation of logical memory addresses to physical memory addresses
CN113190180A (zh) 一种基于混合介质的存储装置及分布式存储系统
US10007601B2 (en) Data storage device and operating method for flash memory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1160526

Country of ref document: HK

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1160526

Country of ref document: HK

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240828

Address after: California, USA

Patentee after: SanDisk Technology Co.

Country or region after: U.S.A.

Address before: California, USA

Patentee before: Western Digital Technologies, Inc.

Country or region before: U.S.A.