改进在低队列深度工作负载中的混合随机性能的方法

文档序号:9923686阅读:335来源:国知局
改进在低队列深度工作负载中的混合随机性能的方法
【技术领域】
[0001] 公开的实施例一般涉及存储器系统,尤其涉及,改进在存储装置(例如,包括一个 或多个闪存装置)中的低队列深度工作负载中的混合随机性能。
【背景技术】
[0002] 包含闪存的半导体存储器装置通常利用存储器单元存储数据为电值(诸如电荷或 电压之类)。闪存单元,例如,包含具有浮置栅极的单个晶体管,该浮置栅极用于存储代表数 据值的电荷。闪存是可以被电擦除和重编程的非易失性数据存储装置。更一般地,与易失性 存储器相反,非易失性存储器(例如,闪存,以及使用各种各样的技术的任何一种实现的其 它类型的非易失性存储器)即使不供电也保留存储的信息,这需要电力以保持存储的信息。
[0003] 由于一些存储器命令(例如,读取和/或写入命令)需要在预定数量的时间内完成 (例如,为了满足资格要求),优化存储器管理过程以提高存储器装置的性能是很重要的。

【发明内容】

[0004] 所附权利要求的范围内的各种实施例的系统、方法和装置每个具有几个方面,几 个方面中没有单个的一个独自负责这里描述的属性。不限制所附权利要求的范围,在考虑 本公开之后,特别是在考虑部分标题为"【具体实施方式】",人们将理解各种实施例的各方面 是如何用于能够改进在低队列深度工作负载中的混合随机性能。在一个方面,根据确定工 作负载是不合格的工作负载,写入缓存的定期冲洗被安排,并且根据确定工作负载是合格 的工作负载,写入缓存的优化的冲洗被安排。
【附图说明】
[0005] 因此本公开可以更详细地理解,通过参考各种实施例的特征可能具有更特别的描 述,其中一些在附图中说明。附图,然而,仅仅说明了本公开的相关特征,并且因此不应被认 为是限制性的,因为该描述可能允许其它有效的特征。
[0006] 图1示出了根据一些实施例的数据存储系统的实现方式的框图。
[0007] 图2示出了根据一些实施例的管理模块的实现方式的框图。
[0008] 图3A-3B示出了根据一些实施例的管理存储系统的方法的流程图表示。
[0009] 根据惯例,附图中说明的各种特征可能不按比例绘制。因此,各种特征的尺寸为了 清楚可能任意扩大或缩小。此外,附图的一些可能未描述给定的系统、方法或装置的所有组 件。最后,相同的附图标记可能用于表示贯穿说明书和附图的相同的特征。
【具体实施方式】
[0010] 这里所描述的各种实施例包含用于能够改进在低队列深度工作负载中的混合随 机性能的系统、方法和/或装置。包含系统、方法和/或装置的一些实施例以根据确定工作负 载是不合格的工作负载来安排写入缓存的定期冲洗,并且根据确定工作负载是合格的工作 负载来安排写入缓存的优化的冲洗。
[0011] (A1)更具体地,一些实施例包含一种管理存储系统的方法。在一些实施例中,方法 包括:(1)保持相应于来自主机的写入命令的写入缓存,存储系统的存储装置被可操作地耦 合到主机,存储装置包含多个非易失性存储器单位,其中写入缓存包含来自主机的、但尚未 保存到非易失性存储器单位的写入命令,写入命令被映射用于在多个非易失性存储器单位 中的存储,(2)根据来自主机的命令确定工作负载,存储装置被可操作地耦合到主机,(3)根 据确定工作负载是不合格的工作负载,安排写入缓存的定期冲洗,其中定期冲洗包含从写 入缓存冲洗预定数量的数据到多个非易失性存储器单位的一个非易失性存储器单位,以及 (4)根据确定工作负载是合格的工作负载,安排写入缓存的优化的冲洗,其中优化的冲洗包 含冲洗第一倍数的预定数量的数据到相应数目的多个非易失性存储器单位,其中第一倍数 是大于1的整数。
[0012] (A2)在A1的的方法的一些实施例中,定期冲洗包含从写入命令累积足够的数据以 将预定数量的数据写入到多个非易失性存储器单位的一个非易失性存储器单位,并且优化 的冲洗包含从写入命令累积足够的数据以将第一倍数的预定数量的数据写入到相应数目 的多个非易失性存储器单位。
[0013] (A3)在A1和A2的任一个的方法的一些实施例中,方法还包含,随后确定工作负载 已经从合格的工作负载改变为不合格的工作负载,执行一个或多个定期冲洗,每个定期冲 洗包含从写入缓存冲洗预定数量的数据到多个非易失性存储器单位的一个非易失性存储 器单位。
[0014] (A4)在A3的的方法的一些实施例中,执行一个或多个定期冲洗包含并行执行多个 定期冲洗。
[0015] (A5)在A1至A4的任一个的方法的一些实施例中,方法还包含,根据确定主机已经 空闲至少预定数量的时间,冲洗写入缓存到多个非易失性存储器单位的一个或多个。
[0016] (A6)在A1至A4的任一个的方法的一些实施例中,方法还包含,根据确定主机已经 空闲至少预定数量的时间,并且根据确定写入缓存含有至少非零整数倍的预定数量的数 据,冲洗非零整数倍的预定数量的数据到多个非易失性存储器单位的一个或多个。
[0017] (A7)在A1至A6的任一个的方法的一些实施例中,存储装置包括一个或多个闪存装 置。
[0018] (A8)在另一个方面,存储装置包含(1)非易失性存储器(例如,包括一个或多个非 易失性存储装置,诸如闪存装置),(2)-个或多个处理器,以及(3)存储一个或多个程序的 控制器存储器(例如,在控制器中或耦合到控制器的非易失性存储器或易失性存储器),当 该一个或多个程序被一个或多个处理器执行时引起存储装置执行或控制这里描述的方法 A1至A7的任一个的执行。
[0019] (A10)在另一个方面,如上的方法A1至A7的任一个由存储装置来执行,存储装置包 含用于执行这里描述的方法的任一个的装置。
[0020] (A12)在另一个方面,存储系统包含(1)存储介质(例如,包括一个或多个非易失性 存储装置,诸如闪存装置),(2)-个或多个处理器,以及(3)存储一个或多个程序的存储器 (例如,在存储系统中的非易失性存储器或易失性存储器),当该一个或多个程序被一个或 多个处理器执行时引起存储系统执行或控制这里描述的方法A1至A7的任一个的执行。
[0021] (A13)在另一个方面,一些实施例包含非临时性计算机可读存储介质,其存储配置 成通过存储装置的一个或多个处理器执行的一个或多个程序,一个或多个程序包含用于执 行这里描述的方法的任一个的指令。
[0022] 这里描述了很多的细节以便于提供在附图中示出的示例的实现例的完全理解。然 而,一些实施例可以在没有很多具体的细节的情况下实施,并且权利要求的保护范围仅由 在权利要求中明确列举的那些特征和方面来限制。此外,已知的方法、组件和电路没有以详 尽的细节描述以便不必要地模糊这里描述的实现方式的更多相关的方面。
[0023] 包含下面描述的那些的数据存储系统使用多种技术以避免由各种故障机制引起 的数据丢失,该故障机制包含存储介质故障、通信故障、和在系统和子系统级上的故障。这 些机制的共同特征是使用数据冗余以保护数据,补偿实际的和潜在的数据错误(例如,介质 错误、丢失数据、传输错误、不可访问数据等)。一类冗余机制被称为错误校正编码(error correction codes,ECC)。许多类型的错误校正编码是已知的(例如,BCH、LDPC、Reed-Solomon等),作为用于存储具有被保护的数据的它们或与被保护的数据相结合的它们的许 多方案。另一类的冗余机制是擦除编码(例如,角锥体(pyramid)、喷泉(fountain)、部分 MDS、本地可修复的(locally repairable)、简单的再生等)
[0024]另一种类型或级别的冗余机制典型地被称为RAID(独立磁盘冗余阵列),即使当存 储介质不是传统意义上的"盘"。有多种形式的RAID、或RAID方案,提供不同级别的数据保护 (例如,1^10-1、1^10-5、1^10-6、1^10-10等)。典型地,在使用1^10的系统中,存储在多个不 同的存储位置的数据的"条带"被当作一组,并且存储有本将已经丢失的条带中的任何数据 的足够的冗余数据,在存储位置的任一个的部分或完全故障中,使用条带中的其他数据来 恢复,可能包含冗余数据。
[0025]图1示出了根据一些实施例的数据存储系统100的框图。虽然一些示例的特征被示 出,为了简洁的目的,各种其他特征没有被示出,以免模糊这里公开的示例的实施例的相关 方面。为此,作为非限制性的示例,数据存储系统100包含存储装置120(有时也被称为信息 存储装置,或数据存储装置,或者存储器装置),其包含存储控制器124、诸如闪存控制器的 一个或多个非易失性存储器(non-volatile memory,NVM)控制器130、以及非易失性存储器 (例如,一个或多个NVM装置140、142,诸如一个或多个闪存装置),并且连同计算机系统110 使用。在一些实施例中,存储装置120包含单个NVM装置,而在其他实施例中,存储装置120包 含多个NVM装置。在一些实施例中,NVM装置140、142包含NAND类型闪存或者N0R类型闪存。此 外,在
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1