为高速缓存应用使用降级闪存裸片的方法及架构、固态驱动器与流程

文档序号:11277751阅读:299来源:国知局
为高速缓存应用使用降级闪存裸片的方法及架构、固态驱动器与流程

本申请要求2016年03月18日提交美国专利商标局、申请号为15/074961、发明名称为“methodandsystemforusingdowngradedflashdieforcacheapplications”的美国发明专利申请的优先权,其全部内容通过引用结合在本申请中。

本发明的实施方式总体上涉及闪存领域。更具体地,本发明的实施方式涉及使用降级闪存裸片作为高速缓存的系统和方法。



背景技术:

在数据存储领域中,越来越需要降低实现高速缓存存储解决方案的成本,以更好地满足现代超大规模数据中心对高速缓存的巨大需求。分层存储解决方案试图在现代数据中心的性能需求和数据保留要求之间达到平衡。例如,一个示例性分层存储路径将数据从cpu核心传输到cpu本身上的各种级别的高速缓存,然后传输到dimm存储器,然后传输到硬盘驱动器用于长期存储。当系统关机时,存储在dimm和cpu缓存的易失性存储器中的所有数据都将丢失。因此,对于该架构,数据总是被整合并存储在硬盘驱动器中以永久/非易失性存储。对于上游和下游传输的数据,从永久存储器获取数据,缓存在存储器中,由cpu更新/处理,并使用存储器缓冲器写回到永久存储器。

虽然传统的分层存储解决方案提供相对较高的性能和数据保留,但是随后的创新进一步增加了使用多层高速缓存来桥接存储设备之间的间隙的分层存储解决方案的性能(例如,吞吐量、iops、延迟等)。最近,闪存ssd被插入在高速低容量ram和低速高容量硬盘驱动器之间,以进一步增强这些系统的性能。闪存ssd相比传统hdd提供更小的占用空间、更低的能耗、更高的性能和更低的故障率。

闪存ssd设备通常被设计用于通用存储、提供优异的输入/输出(io)性能和多年的数据保持。然而,当用作高速缓存设备时,在将数据写入盘以用于永久存储之前,数据在存储设备上仅仅保持短暂的时间段。因此,对于缓存设备,传统的数据保留要求是不必要的。因此,通用闪存ssd对于用作缓存设备而言大材小用并且价格过高。数据中心通常使用大量的闪存ssd,从而导致不必要的高基础设施成本。需要一种具有高级性能,同时降低基础设施成本以更好地满足现代超大规模数据中心的需要的高速缓存设备。



技术实现要素:

本文公开了一种识别和使用适合于ssd高速缓存中的ssd高速缓存应用的低成本不适格(un-qualified)裸片的方法和装置。本发明的实施方式使得能够生产具有足够的数据保留和耐久性的高速缓存裸片ssd以满足现代数据中心的需求,同时显著降低其基础设施成本。

根据一个实施方式,公开了一种识别和使用适合于ssd高速缓存中的ssd高速缓存应用的低成本不适格裸片的方法。该方法包括从ssd高速缓存应用提取应用数据,基于应用数据对ssd高速缓存应用的行为建模以产生建模行为,表征第一不适格裸片以确定第一不适格裸片的至少一个量化属性,以及相对于所述ssd高速缓存应用的建模行为来测试所述第一不适格裸片的所述至少一个量化属性,以确定所述不适格裸片是否适合在所述ssd高速缓存中使用。

根据一些实施方式,上述方法还包括重复提取、建模、表征和测试,直到识别出足够数量的不适格裸片以构造满足ssd高速缓存的规定要求的ssd高速缓存应用为止,并且封装足够数量的不适格裸片以形成集成电路。

根据一些实施方式,上述方法还包括使用所述集成电路构建高速缓存裸片ssd,针对ssd高速缓存应用的建模行为的要求来测试高速缓存裸片ssd,以及生成缓存裸片ssd。

根据一些其它实施方式,上述方法还包括使用对应的设备管理固件和软件来控制和监视ssd高速缓存应用的高速缓存裸片ssd。

根据另一实施方式,公开了一种固态驱动器。所述固态驱动器包括用于存储数据位的多个不适格裸片和ssd控制器。ssd控制器包括:用于向多个不适格裸片发送数据和从多个不适格裸片接收数据的第一接口;用于向cpu发送数据和从cpu接收数据的第二接口;连接到第一和第二接口的第一多个模块,用于压缩、加密和ecc编码数据以便使用多个不适格裸片;以及连接到所述第一接口和第二接口的第二多个模块,用于ecc解码、解密和解压缩从所述多个不适格裸片获取的数据。

附图说明

并入本说明书中并且形成本说明书的一部分的附图示出了本发明的实施方式,并且与说明书一起用于解释本发明的原理:

图1是分层存储解决方案的示例性数据路径的框图。

图2是根据本发明的实施方式描绘的示例性高速缓存裸片ssd架构的框图。

图3是根据本发明的实施方式示出的示例性闪存编程机制的图。

图4是描绘根据本发明实施方式的包括用于闪存单元的编程状态和擦除状态的示例性阈值高斯分布的一系列图。

图5是描绘根据本发明的实施方式的用于测试和表征用作高速缓存裸片的黑片的方法的示例性系列的计算机实现的步骤的流程图。

具体实施方式

现在将详细参考几个实施方式。虽然将结合替代实施方式来描述主题,但是将理解的是,它们不旨在将所要求保护的主题限于这些实施方式。相反,所要求保护的主题旨在覆盖可以包括在由所附权利要求限定的所要求保护的主题的精神和范围内的替代,修改和等同物。

此外,在以下详细描述中,阐述了许多具体细节以便提供对所要求保护的主题的透彻理解。然而,本领域技术人员将认识到,可以在没有这些具体细节或其等同物的情况下实施实施方式。在其他情况下,没有详细描述公知的方法、过程、组件和电路,以免不必要地模糊本主题的方面和特征。

下面的详细描述的部分是就方法来呈现和讨论的。尽管在描述该方法的操作的本文(例如,图5)中公开了步骤和其排序,但这样的步骤和排序是示例性的。实施方式非常适合于执行本文的附图的流程图中所述的步骤的各种其它步骤或变化,并且以不同于本文所描绘和描述的顺序执行。

根据可在计算机存储器上执行的数据位的操作的过程、步骤、逻辑块、处理和其他符号表示来呈现详细描述的一些部分。这些描述和表示是数据处理领域的技术人员用来将他们的工作的实质最有效地传达给本领域的其他技术人员的手段。本文中,过程、计算机执行的步骤、逻辑块、过程等通常被认为是导致期望结果的步骤或指令的自相一致的序列。这些步骤是需要物理量的物理操纵的那些步骤。通常,尽管不是必须的,这些量采取能够在计算机系统中存储、传送、组合、比较和以其他方式操纵的电或磁信号的形式。有时,主要出于公共使用的原因,将这些信号称为比特、值、元素、符号、字符、项、数字等等已经被证明是方便的。

然而,应当记住,所有这些和类似的术语将与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非特别声明,否则从以下讨论中显而易见,应当理解,在使用诸如“访问”、“写入”、“包括”、“存储”、“传送”、“遍历”、“关联”、“识别”等是指计算机系统或类似的电子计算设备的动作和过程,其将计算机系统的寄存器和存储器内表示为物理(电子)量的数据操纵并变换成类似地表示为物理计算机系统存储器或寄存器或其他这样的信息存储,传输或显示设备内的量。

用于闪存ssd缓存应用的降级闪存模块

本发明的实施方式描述了用于使用降级闪存裸片(称为“黑片”)来实现闪存ssd高速缓存设备以降低在高容量数据存储系统中实现闪存ssd高速缓存的成本的系统和方法。这些闪存ssd缓存设备提供足够的数据保留和耐久性能,以满足现代数据中心的需求,同时大幅降低了基础设施成本。

本文所描述的降级裸片是从作为适格裸片的同一个晶片上切割的不适格的快闪裸片。当从晶片上切割裸片时,测试每个裸片以确定其是否满足适格裸片的所有要求。不满足这些要求的裸片是通常存在一个或多个缺陷的不适格裸片。本发明的实施方式有利地使用不满足适格裸片的数据保留要求的较不昂贵的不适格裸片。例如,如果裸片不能存储至少12个月的写入数据,则这种裸片会被分类为不适格。当实现闪存ssd高速缓存设备时,这些数据保留要求可以被放弃和/或放宽到不适格的裸片可接受使用的点。

图1描绘了根据本发明实施方式的分层存储解决方案的示例性数据路径。存储路径101-103包括用于执行逻辑操作并在cpu的一个或多个高速缓存中临时存储少量数据的cpu110。数据经cpu更新/处理之后,被发送到用于高性能、低容量、易失性存储器的ram112。分层存储路径101还包括硬盘(hdd)114和用于存档存储的磁带存储设备(tape)116。不管数据类型或iops要求如何,活动数据总是经由盘114被处理并且访问。很少访问的冷数据通常被移动到磁带存储设备116,并且在需要时移动到硬盘驱动器114。

存储路径102表示更高级的存储解决方案,其包括闪存ssd124以桥接高性能低容量ram122和低性能高容量hdd126之间的间隙。在该配置中,闪存ssd临时保持数据,并且数据最终被刷新到hdd。随着闪存ssd的价格下降,这种类型的存储解决方案由于例如增强的吞吐量、iops和增强的容量而具有吸引力。最近,诸如非易失性双列直插存储器模块(nvdimm)134的新技术已经成熟用于企业应用以进一步增强性能。存储路径103包括位于ram132和闪存ssd136之间的nvdimm134,并且进一步增强了存储路径的性能。

图2描绘了根据本发明实施方式的示例性高速缓存裸片ssd架构200。cpu214将数据发送到ssd201以进行存储,并使用主机接口206接收数据进行更新/处理。主机接口206可包括例如串行器/解串器(serdes)接口或用于pciexpress规范(pipe)接口的物理接口。尽管与多电平单元(mlc)闪存相比,三电平单元(tlc)闪存提供了低得多的p/e周期,但是ssd控制器213将ssd性能增强到类似于mlc闪存的水平。包括闪存(例如,nand闪存)的一系列黑片202和203用于使用开放式nand闪存接口(onfi)/toggle接口204存储由ssd控制器213写入的数据位。为了确保在使用不适格裸片时的服务质量,使用具有可调整的纠错能力的灵活的ecc引擎。由主机接口206接收的数据由压缩模块209压缩,由加密模块208加密,并且由ecc编码模块207使用纠错码(ecc)进行编码。由于相比使用适格裸片构建的ssd缓存可能有更高的错误率,纠错能力需要得到相应增强。灵活的管理系统用于在编码器接近容量时,实时地调整ecc编码模块207。ecc编码模块207可以通过降低编码器速率(例如,一次编码较少的比特)或使用更多的冗余比特来提供更强的纠错。高速缓存裸片ssd架构200还包括闪存转换层215。根据一些实施方式,基于观察到的实时校正的位数来调整ecc编码模块207。

然后将数据发送到nand接口204以使用黑片进行存储。ssd控制器213还包括用于处理存储在黑片202和203上的数据的一系列模块。ecc解码器210从nand接口204接收编码数据并解码ecc编码数据。解码数据由解密模块211解密并由解压缩模块213解压缩。然后将解压缩的数据传递到主机接口206以供cpu214获取。

ssd控制器213还可以包括数据刷新模块,用于在被触发时将数据从缓存裸片ssd复制到另一个存储设备以防止数据丢失。根据本发明的一些实施方式,为高速缓存裸片ssd定义了超时值。当数据被存储在高速缓存裸片ssd上的时间长于该超时时间时,数据被自动刷新到硬盘驱动器或其他归档存储设备。根据一些实施方式,为高速缓存裸片ssd定义了水印或阈值。当存储在高速缓存裸片ssd上的总数据达到水印(例如,总容量的90%)时,数据被自动刷新到硬盘驱动器或其他归档存储设备。

图3示出了根据本发明的实施方式的示例性闪存编程机制随时间的图。使用编程和验证过程来将数据写入高速缓存裸片ssd,其中施加一次编程电压vpp,并且单元被读取以确定阈值电压是否高于预设电压。如果阈值电压低于预设电压,则编程继续,直到阈值电压被确定为高于预设电压为止。增大的δvpp导致了阈值电压的更宽分布。实现性能增强以定制专门用作高速缓存的缓存裸片ssd。这减少了编程和验证周期的数量,并且还在位被编程到单元中时减轻了高速缓存裸片ssd的写延迟。每次在nand单元的浮栅上施加电荷时,vpp的值都增加。当每次写入之后编程电压vpp增大δvpp的增量时,减少编程和验证周期的数量以减轻写入延迟。

图4描绘了根据本发明实施方式的描绘用于触发编程状态和擦除状态(“er”)的示例性阈值高斯分布的一系列图。er范围中的阈值电压触发了擦除状态,并且使得位值1被存储在单元中。阈值分布401表示在通用ssd中使用的每单元2位存储的示例性适格mlcnand裸片。阈值分布402表示具有标准噪声容限的每单元1位存储的适格裸片。阈值分布403表示具有增加的噪声容限404的每个单元1比特存储的不适格芯片。利用这种较宽的阈值分布,使得比特值0被存储的编程状态进一步沿vth轴定位。噪声容限404应该足够大以在数据被保持在高速缓存裸片ssd中的短时间段内应对信噪比。通常,编程状态和擦除状态之间的较大间隙将降低预期的位错误率。测试高速缓存裸片以确保在由于过多噪声而丢失数据之前可以从高速缓存裸片获取数据。

图5描绘了根据本发明实施方式的描绘用于测试和表征用作高速缓存裸片的黑片的方法500的一系列计算机实现步骤的流程图。这种ssd和应用开发方法形成了闭环,并且可以用于迭代地执行硬件和软件优化以提高效率。

在步骤s1,提取并分析在线应用数据以对给定应用的行为(例如,需要的数据保留,在数据被拷出之前的读取数量,以及在多少有效数据被保持在当写入页时的缓存ssd)进行建模从而进行递归建模。在步骤s2,提取黑片的特性并量化各种性质,例如但不限于数据保持、编程/擦除周期和温度范围。在步骤s3,基于特定应用来针对预定的规则集测试量化的属性,以验证黑片(例如,确定黑片是否适合在ssd高速缓存中使用)。满足预定规则集合的黑片可以用作高速缓存裸片。在步骤s4,多个高速缓存裸片一起被封装在封装中以形成集成电路(例如,nand快闪芯片)。在步骤s5,使用该集成电路来构造高速缓存裸片ssd。在步骤s6,使用一系列程序彻底测试高速缓存裸片ssd,并且生成高速缓存裸片ssd的规范。在步骤s7,调整应用以确保与高速缓存裸片ssd的兼容性,并且使用对应的设备管理固件和软件来控制和监视高速缓存裸片ssd。

可以重复执行方法500的步骤s1和s7以递归地优化硬件和软件并且确保无缝的数据路径。可以重复整个过程s1-s7,直到满足应用要求。

至此描述了本发明的实施方式。虽然已经在特定实施方式中描述了本发明,但是应当理解,本发明不应被解释为受这些实施方式的限制,而是根据所附权利要求来解释。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1