用于闪存装置的操作参数的制作方法

文档序号:12128690阅读:184来源:国知局
用于闪存装置的操作参数的制作方法

本公开涉及闪存存储系统,并更具体地,涉及用于闪存装置的优化操作参数。



背景技术:

诸如固态驱动器(SSD)的闪存存储系统使用闪存作为非易失性储存介质。闪存存储系统可包括多个闪存装置。闪存装置当存储数据时被编程(例如,写入),并且当释放闪存装置上的空间时被擦除。闪存装置具有在变为不可使用之前闪存装置能经受的有限数目的编程/擦除(P/E)周期。编程电压和其他操作参数可进一步影响闪存装置在故障之前能经受的P/E周期的数目。



技术实现要素:

本技术通过基于闪存装置的预测寿命值确定操作参数,来优化闪存存储系统中的操作参数。可通过测试闪存装置来确定该预测寿命值。

根据本技术的方面,提供了一种用于管理闪存存储系统的机器实现的方法。该方法包括:确定该闪存存储系统中的多个闪存装置的每一个的预测寿命值,其中所述多个闪存装置的至少一个的预测寿命值高于所述多个闪存装置的至少另一个的预测寿命值。该方法还包括基于所述多个闪存装置的相应预测寿命值,来确定所述多个闪存装置的每一个的操作参数。该方法还包括基于确定的操作参数来配置所述多个闪存装置。

根据本技术的其他方面,提供了一种闪存存储系统。该闪存存储系统包括多个闪存装置和控制器。所述多个闪存装置的每一个具有预测寿命值,其中所述多个闪存装置的至少一个的预测寿命值高于所述多个闪存装置的至少另一个的预测寿命值。该控制器被配置为接收用于数据操作的命令。该控制器被配置为确定具有与该数据操作关联的闪存块的所述多个闪存装置之一的操作参数,其中基于所述多个闪存装置之一的相应预测寿命值,来确定操作参数。该控制器还被配置为基于确定的操作参数来配置所述多个闪存装置之一。该控制器还被配置为在所述多个闪存装置之一上运行该数据操作。

根据本技术的其他方面,提供了一种利用可运行指令编码的机器可读介质,该可运行指令当由处理器运行时,促使处理器执行操作。所述操作包括接收用于数据操作的命令。所述操作还包括确定具有与该数据操作关联的闪存块的所述多个闪存装置之一的操作参数,其中所述多个闪存装置的每一个具有预测寿命值,其中所述多个闪存装置的至少两个具有不同预测寿命值,其中基于所述多个闪存装置之一的相应预测寿命值,来确定操作参数。该操作还包括基于确定的操作参数来配置所述多个闪存装置之一。该操作还包括在所述多个闪存装置之一上运行该数据操作。

可理解的是,根据以下详细描述,本技术的其他配置对于本领域技术人员将变得容易理解,其中通过示意性方式示出和描述了本技术的各个配置。将认识到,本技术能够具有其他和不同配置,并且其几个细节能够具有各个其他方面的修改,而全部不脱离本技术的范围。因此,图和详细描述应被看作本质上示意性的而不是限制性的。

附图说明

图1是图示了根据本技术的各方面的闪存存储系统的组件的框图。

图2是图示了根据本技术的各方面的用于管理闪存存储系统的方法的流程图。

图3是图示了根据本技术的各方面的用于管理闪存存储系统的另一方法的流程图。

具体实施方式

下面阐明的详细描述意欲作为本技术的各个配置的描述,并且不意欲仅代表其中可实践本技术的配置。附图被合并在这里并构成详细描述的一部分。为了提高本技术的全面理解的目的,详细描述包括特定细节。然而,可在没有这些特定细节的情况下实践本技术。在一些实例中,按照框图形式示出了结构和组件,以便避免使得本技术的概念模糊。

诸如固态驱动器(SSD)的闪存存储系统包括一个或多个闪存装置,每一闪存装置可包括一个或多个晶粒(dies)。每一闪存装置或晶粒包括闪存单元的阵列。每一存储单元包括用来存储数据的一个或多个比特的浮栅晶体管。闪存单元可被组织为物理块,每一物理块包括多个页面。数据按照页面的写入单元被写入到闪存。数据按照物理块的擦除单元从闪存擦除。每一P/E周期可使得闪存装置物理降级或磨损,从而在该磨损使得储存的整体性和可靠性恶化之前、每一闪存装置具有确定数目的P/E周期。

通过向闪存装置的存储单元的适当浮栅晶体管施加电压,来编程或擦除闪存装置。通过施加较高初始电压(例如,增加初始脉冲值)、按照较快速率增加施加的电压(例如,增加增量脉冲值)、或施加电压达到较长持续时间(例如,增加脉冲宽度),可改进闪存装置的性能(例如,较快写入和/或擦除速度)。然而,较高性能可引起闪存装置的较快降级,使得闪存装置的寿命减少。相反,降低闪存装置的性能可增加闪存装置的寿命。通过确定闪存装置的预测寿命值,可调整闪存装置的性能用于期望用途。

图1是图示了根据本技术的各方面的闪存存储系统110的组件的框图。如图1中描绘的,闪存存储系统110包括接口115、控制器120、闪存装置130A和闪存装置130B(统称为闪存装置130)、以及存储器125。接口115促进闪存存储系统110和主机150之间的数据、命令和/或控制信号的通信。控制器120控制闪存存储系统110的操作,以根据从主机150接收的命令来存储和恢复闪存装置130中的数据。控制器120可包括处理器。可以是随机存取存储器(RAM)的存储器125提供临时储存空间,用于由控制器120处理命令并在主机150和闪存装置130之间传递数据。下面更详细地描述这些组件的每一个的操作。

接口115提供主机150和闪存存储系统110之间的物理和电气连接。接口115被配置为促进经由物理和电气连接在主机150和闪存存储系统110之间的数据、命令和/或控制信号的通信。该连接以及与接口115的通信可基于诸如通用串行总线(USB)、小型计算机系统接口(SCSI)、串行高级技术附加(SATA)等的标准接口。作为选择,连接和/或通信可基于私有接口,尽管本技术不限于任何特定类型接口。

控制器120管理主机150和闪存装置130之间的数据的流动。控制器120被配置为经由接口115从主机150接收命令和数据。例如,控制器120可从主机150接收数据和写入命令,以在闪存装置130中写入数据。控制器120被进一步配置为经由接口115向主机150发送数据。例如,控制器120可响应于读取命令从闪存装置130读取数据并且向主机150发送数据。控制器120被进一步配置为基于内部控制算法或可从主机150接收的其他类型命令,而管理在闪存装置130和存储器125中存储的数据。例如,控制器120被配置为执行诸如碎片收集(GC)和其他维护操作的数据操作。本领域技术人员将熟悉闪存装置中的控制器所执行的其他传统操作,这里将不对其进行详细描述。

控制器120可利用通用目的处理器、微控制器、数字信号处理器(DSP)、片上系统(SoC)、特定用途集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件、或被设计和配置为这些这里描述的操作和功能的其任何组合来实现。控制器120可通过运行机器/计算机可读介质上存储的一个或多个指令序列,而执行这里描述的操作和功能。机器/计算机可读介质可以是闪存装置130、存储器125、或控制器120能从其读取指令或代码的其他类型介质。例如,闪存存储系统110可包括只读存储器(ROM),诸如EPROM或EEPROM,其利用包括在闪存存储系统110的操作期间由控制器120读取和运行的一个或多个指令序列的固件/软件来编码。

闪存装置130的每一个可以是单一闪存芯片或晶粒,或者可代表多个闪存芯片的组。闪存装置130可在控制器120通过其从闪存装置130读取并向闪存装置130写入数据的多个通道之间组织,或者耦接到单一通道。闪存装置130可使用NAND闪存来实现。闪存装置130的每一个可包括寄存器135,其可以是用于存储特定数据(诸如相应闪存装置130的特性和/或操作参数)的一个或多个寄存器。这些操作参数可包括诸如初始脉冲值、增量脉冲值、和脉冲宽度的写入和/或擦除操作参数。

闪存装置130包括被划分为诸如闪存块140的储存块的多个存储单元。尽管图1示出了闪存装置130的每一个具有两个闪存块140,但是闪存装置130可具有更多或更少闪存块140,并且闪存装置130的每一个可具有相同或不同数目的闪存块140。闪存块140可被称为数据块或存储块,并且可由控制器120使用物理块地址寻址。闪存块140的每一个进一步使用物理页面地址或与包括参考页面的储存块的物理块地址的偏移、被划分为控制器120可寻址的多个数据片段或页面。页面可存储扇区或其他主数据单元。闪存块140代表在单一擦除操作中在闪存装置130内擦除的数据的单元。物理页面代表在单一读取或写入操作中从闪存装置130读取或向闪存装置130写入的数据的单元。尽管在块和页面方面描述了闪存装置130,但是可使用其他技术来表示闪存装置内的这些数据单元。

本技术不限于任何特定容量的闪存。例如,储存块的每一个可包括32、64、128或512页。另外,每一页可包括512字节、2KB、4KB或32KB。每一扇区可包括4KB或其他尺寸,使得扇区可与和页面具有相同尺寸,或者每一页可存在多个扇区。

在图1中,存储器125代表在闪存存储系统110的操作期间与控制器120耦接并由控制器120使用的易失性存储器。控制器120可在存储器125中缓存命令和/或数据。控制器120还可以使用存储器125来存储映射表或查找表,用来将主机150使用的逻辑数据地址变换为与闪存装置130的部分对应的虚拟和/或物理地址。用来管理闪存装置的其他类型表格、数据、状态指示符等可由控制器120存储在存储器125中。例如,闪存装置130的特性和/或参数可被存储在存储器125中。存储器125可使用动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或其他类型易失性随机存取存储器来实现,而不脱离本技术的范围。

主机150可以是计算装置,诸如计算机/服务器、智能电话、或从闪存存储系统110读取数据并向闪存存储系统110写入数据的任何其他电子装置。主机150可具有操作系统或向闪存存储系统110发布读取和写入命令的其他软件。闪存存储系统110可与主机150集成或者可在主机150外部。闪存存储系统110可无线连接到主机150、或者可物理连接到主机150。

控制器120被配置为对闪存装置130执行数据操作。例如,控制器120可确定GC在闪存块140之一上是否必要。可基于耗损均衡方案对于GC选择闪存块140。因为闪存装置的有限的P/E周期,所以比其他闪存装置更频繁使用特定闪存装置可导致特定闪存装置在其他闪存装置之前出现故障。

控制器120可为了耗损均衡目的而记录每一闪存块140的P/E周期计数。在均匀耗损均衡方案中,一般选择具有最低P/E周期计数的闪存块140,来均匀分布来自P/E周期的损耗。该均匀耗损均衡方案一般不考虑闪存装置的预测寿命值,并且在假设闪存存储系统110一般包括具有类似预测寿命值的闪存装置的前提下操作。预测寿命值可对应于在闪存块的故障之前期望对闪存装置的闪存块执行的P/E周期的数目。

闪存装置的诸如P/E周期期望的预测寿命值通常由闪存装置的制造商确定。例如,制造商可从一批制造晶粒中选择晶粒的小样本用于测试。该测试可涉及施加电压以擦除样本晶粒上的闪存单元。特别是,该测试可涉及施加最低电压达到最短脉冲宽度,直到认为擦除了闪存单元为止。基于该测试,制造商可利用诸如30,000个P/E周期的平均预测寿命值来评估(rate)测试的这批产品。尽管这批产品的每一晶粒的平均预测寿命值被评估为相同,但是每一晶粒的实际寿命值可大于或小于通过该测试所确定的平均预测寿命值。

闪存存储系统110可包括闪存装置130,所述闪存装置130基于批测试具有相同或相似平均预测寿命值。然而,每一个别闪存装置130可具有高于或低于平均预测寿命值的实际寿命值。如果一个或多个闪存装置130具有低于平均预测寿命值的实际寿命值,则所述一个或多个闪存装置130可在达到平均预测寿命之前出现故障。

另外,闪存存储系统可基于闪存存储系统中的闪存装置的预测寿命值来评估或分类。具有高P/E周期期望的闪存装置可被期望具有长寿命用于在企业储存系统中使用,或者可在为了更快编程/擦除速度而牺牲长寿命的高性能系统中使用。具有低P/E周期期望的闪存装置可在具有较低寿命期望或较低速度的低性能系统中使用。可利用更精确的预测寿命值来确定更精确的评估等级。

为了确定更精确的预测寿命值,可测试每一闪存装置。闪存装置可在组装之前测试,或者可在闪存存储系统中安装之后测试。可测试每一闪存装置中的一个或多个块,这可导致测试的块不可使用。然而,可利用过多块来制造闪存装置,以解决块故障或在维护操作中使用。为了降低块内的地点变化的影响,可测试每一闪存装置上的相同地点的相同块。

如上面概括的,对每一闪存装置执行低电压测试可以是耗时的,并所以可以不总是可行的。代替使用最低电压,可使用最大电压用于最大电压测试。在最大电压测试期间,可以是闪存装置可控制的最大电压的最大电压可被施加达到长持续时间和/或多个脉冲,以便加速块的单元中的电荷捕获,达到饱和点。另外,代替等待脉冲之间的冷却时段,可连续施加脉冲,这可进一步加速时间以达到饱和点。在最大电压测试中使用的电压参数—其可包括达到饱和所需的最大电压处的脉冲的数目、或达到饱和的电压持续时间—可被测量和使用,以确定比平均预测寿命值更精确的预测寿命值。例如,可从向各个闪存装置执行最大电压测试收集实验数据,以使得电压参数与预期的P/E周期计数相关。

使用这些预测寿命值,闪存装置可被更好匹配用于在闪存存储系统中使用。作为选择,闪存存储系统可在测试每一闪存装置的预测寿命值之前组装。预测寿命值可较好确定闪存存储系统的性能等级。例如,如果闪存存储系统的闪存装置的预测寿命值一般全部比基于平均预测寿命值(其可已被使用用于闪存存储系统的初始组装)预期的更高或更低,则该闪存存储系统可因此被评估为更高等级或更低等级。

闪存装置的操作参数可从缺省值调整,以便实现闪存存储系统的期望性能和/或使用期限。例如,如果闪存存储系统包括具有比平均预测寿命值更大的预测寿命值的闪存装置,则闪存装置的操作参数可被调整以增加性能,导致更高性能闪存存储系统。然而,增加的性能可增加闪存存储系统的损耗,这可降低闪存存储系统的寿命。每一闪存装置的操作参数的调整可基于对应预测寿命值,使得降低的寿命不会下降到低于原始平均预测寿命值。

相反,如果所有闪存装置具有比平均预测寿命值更低的预测寿命值,则以性能作为代价,每一闪存装置的操作参数可被调整以将寿命增加到平均预测寿命值。如果闪存存储系统的闪存装置具有高于和低于平均预测寿命值的预测寿命值,则具有低于平均预测寿命值的预测寿命值的闪存装置的操作参数可被调整为将寿命增加直到该平均预测寿命值,并且具有高于平均预测寿命值的预测寿命值的闪存装置的操作参数可被调整用于增加的性能,以抵销其他闪存装置的降低的性能。

图2示出了根据本技术的各方面的用于优化操作参数的示范处理的流程图200。图2的处理可在闪存装置的制造或测试阶段期间执行,或者可在闪存装置的初始化序列期间执行。在210,确定闪存存储系统中的多个闪存装置的每一个的预测寿命值,其中所述多个闪存装置的至少一个的预测寿命值高于所述多个闪存装置的至少另一个的预测寿命值。在闪存存储系统110中,相应闪存装置130的预测寿命值可与相应闪存装置130上的每一闪存块140关联。预测寿命值可对应于在对应闪存装置130中的闪存块140的故障之前、期望对对应闪存装置130中的闪存块140执行的P/E周期的数目。尽管可能已基于相似平均预测寿命值选择了闪存装置,但是个别测试可揭示每一闪存装置的预测寿命值的变化。在图1中,闪存装置130A可具有比闪存装置130B的预测寿命值更高的预测寿命值。

预测寿命值可通过个别晶粒测试来确定,使得预测寿命值基于从每一闪存装置中的测试闪存块测量的测试值。来自实验室测试或模拟的实验数据可提供将操作参数与寿命值相关的数据。预测寿命值可例如被存储在每一闪存装置130上的指定闪存块140中,诸如一个或多个表格中。作为选择,预测寿命值可被存储在每一闪存装置130上的寄存器135中、或被存储在存储器125中。

在220,基于所述多个闪存装置的相应预测寿命值,来确定所述多个闪存装置的每一个的操作参数。操作参数可包括写入操作参数和擦除操作参数。例如,当预测寿命值高于原始期望的寿命值时,操作参数可从缺省操作参数值被调整,以增加性能。初始脉冲值、增量脉冲值、和脉冲宽度中的一个或多个可被增加,以加速写入或擦除操作。每一闪存装置的操作参数可不同。该差别可对应于每一闪存装置的预测寿命值之间的差别。在图1中,可调整闪存装置130A的操作参数,以在降低闪存装置130A的延长寿命的同时增加性能,并且可调整闪存装置130B的操作参数,以在延长闪存装置130B的较短寿命的同时减低性能。闪存存储系统110可在寿命和性能中达到平衡。

在230,基于确定的操作参数来配置所述多个闪存装置。该配置可包括在闪存装置的相应寄存器或指定闪存块中存储操作参数。在图1中,控制器120可在每一闪存装置130的指定闪存块140和/或寄存器135中存储操作参数。

图3示出了根据各方面的用于优化操作参数的另一示范处理的流程图300。图3的处理可例如在闪存存储系统的操作期间由闪存存储系统的控制器执行。闪存存储系统包括多个闪存装置,每一闪存装置具有预测寿命值,并且其中所述多个闪存装置的至少一个的预测寿命值高于所述多个闪存装置的至少另一个的预测寿命值。

在310,接收数据操作的命令。控制器120可从主机150接收读取、写入、或擦除命令,诸如从主机150向闪存块140写入主数据的写入操作。作为选择,该命令可以用于控制器120要执行的维护操作,诸如GC处理以收回(reclaim)闪存块140中的无效存储地点。

在320,对于与数据操作关联的具有闪存块的多个闪存装置之一确定操作参数,其中基于所述多个闪存装置之一的相应预测寿命值,来确定所述操作参数。在图1中,控制器120可基于对于数据操作选择的闪存块140,来选择闪存装置130。控制器120可读取数据结构中存储的值,诸如表格,所述值可以被存储在选择的闪存装置130的指定闪存块140或寄存器135上,以确定操作参数。

在330,基于确定的操作参数来配置所述多个闪存装置之一。在图1中,控制器120可通过基于确定的操作参数调整用于数据操作的电压参数,来配置选择的闪存装置130。

在340,在所述多个闪存装置之一上运行数据操作。在控制器120在320处选择了闪存块140并在330处配置了具有该闪存块140的闪存装置130之后,控制器120可通过基于确定的操作参数施加编程/擦除参数,来对该闪存块140执行数据操作。该数据操作可以是写入操作、GC处理或其他维护操作。对于每一闪存装置130,控制器可基于对应操作参数来施加编程/擦除参数。

另外,操作参数可随着闪存装置老化而改变。闪存装置可被配置用于在闪存装置的寿命开始时的较快性能,并逐步被配置用于在闪存装置老化时的较慢性能,以便保持剩余P/E周期。例如,当闪存装置的寿命达到一个或多个里程碑时,操作参数可改变。当新的时,闪存装置可利用操作参数的第一集合配置。在第一里程碑处,这样的10,000个P/E周期或使用的寿命的30%,闪存装置可利用操作参数的第二集合配置,这可对应于比操作参数的第一集合降低的性能。作为选择,可继续调整闪存装置的操作参数。

另外,可由于其他因素而调整操作参数,诸如如果闪存装置过早发生故障,其他闪存装置可被调整用于较高性能以抵销来自发生故障的闪存装置的性能的损失,或者可被调整用于较长寿命以防止将来过早发生故障。在某些实现中,可手动重写操作参数。

这里描述的各个图示的块、模块、元件、组件、方法和算法可被实现为电子硬件、计算机软件、或两者的组合。为了说明硬件和软件的该互换性,各个图示的块、模块、元件、组件、方法和算法在上面已一般在它们的功能性方面进行了描述。这样的功能性实现为硬件还是软件取决于总体系统上强加的特定应用和设计约束。描述的功能性可对于每一特定应用按照变化方式实现。各个组件和块可不同地安排(例如,按照不同顺序安排、或按照不同方式分割),而全部不脱离本技术的范围。

可理解的是,公开的处理中的步骤的特定顺序或等级是示范方案的说明。基于设计偏好,可理解的是,可重新安排处理中的步骤的特定顺序或等级。这些步骤中的一些可同时执行。所附方法权利要求按照样本顺序呈现了各个步骤的元素,并且不打算限于呈现的特定顺序或等级。

提供先前描述以使得本领域技术人员能够实践这里描述的各个方面。对于这些方面的各个修改对于本领域技术人员将是容易理解的,并且这里定义的一般原理可应用到其他方面。由此,权利要求不意欲限于这里示出的方面,而是应符合与语言权利要求一致的全部范围,其中提及单数的元素不意欲意味着“一个和仅一个”除非这样特别阐明,而是意味着“一个或多个”。除非按照别的方式特别阐明,术语“一些”表示一个或多个。阳性的代词(例如,他的)包括阴性和中性性别(例如,她的和它的),并且反之亦然。标题和副标题,如果存在的话,仅用于便利性而不限制本发明。

诸如“方面”的惯用语不暗指该方面对于本技术是必要的、或者该方面应用到本技术的所有配置。与方面相关的公开可应用到所有配置、或者一个或多个配置。诸如方面的惯用语可表示一个或多个方面,并且反之亦然。诸如“配置”的惯用语不暗指该配置对于本技术是必要的、或者该配置应用到本技术的所有配置。与配置相关的公开可应用到所有配置、或者一个或多个配置。诸如配置的惯用语可表示一个或多个配置,并且反之亦然。

这里使用单词“示范”以意味着“充当示例或解释”。这里描述为“示范”的任何方面或设计并非必须被解释为比其他方面或设计好或有利。

本领域技术人员已知或稍后将知道的贯穿该公开描述的各个方面的元素的所有结构和功能等效通过引用在这里被明确合并,并意欲由权利要求包含。此外,这里没有公开的内容意欲是公众专用的,而不管这样的公开是否在权利要求中被显式引用。没有权利要求元素应在35U.S.C.§112第六段下解释,除非该元素使用短语“用于……部件”明确阐明,或者在方法权利要求的情况下,该元素使用短语“用于……步骤”阐明。此外,在描述或权利要求中使用术语“包含”、“具有”等的程度下,这样的术语意欲按照术语“包括”类似的方式是包含性的,因为“包括”当作为过渡单词在权利要求中采样时被解释。

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