当到达寿命终止条件时约束写入固态存储器的方法和装置与流程

文档序号:11851430阅读:351来源:国知局
当到达寿命终止条件时约束写入固态存储器的方法和装置与流程

电子设备中的固态存储器可能具有有限量的可用写擦周期。传统上,当固态存储器达到特定数量的写擦周期时,固态存储器可以设置为只读模式。然而,在只读模式下,电子设备可能不能启动,因为其可能需要写入到固态存储器。

如果电子设备不能启动,则可能难以访问固态存储器内的数据。这可能不仅需要替代固态存储器,而且需要通过利用替代存储器取回存储于固态存储器内的数据的繁琐过程。然而,不能利用替代存储器可能导致在固态存储器中的数据丢失。

附图说明

根据结合附图在下文阐述的详细描述,本实施例的特征和优点将变得更清楚,在附图中:

图1描绘了根据实施例的电子设备;

图2描绘了根据实施例的数据存储设备;

图3描绘了根据实施例的基于写擦周期的数量的固态存储器的模式;

图4描绘了根据实施例的用于操作数据存储设备的过程;

图5描绘了根据实施例的用于操作数据存储设备的过程的额外或可选框;

图6描绘了根据实施例的固态存储器;

图7描绘了根据实施例的用于操作数据存储设备的过程的额外或可选框;以及

图8描绘了根据实施例的固态存储器。

具体实施方式

在实施例中,图1中示出了电子设备100。如图1所示的实施例可见的,电子设备100包括主机102、数据存储设备104和易失性存储器106。在实施例中,电子设备100包括计算机、膝上型计算机、机顶盒、平板计算机、移动通信设备或可以利用数据存储设备104启动的其它类型的设备。在实施例中,易失性存储器包括随机存取存储器(“RAM”),例如动态随机存取存储器(“DRAM”)。易失性存储器106例如可以用于高速缓存可以由主机102访问的数据。

在实施例中,图2示出了数据存储设备104。如在图2中所示,数据存储设备104包括控制器108、固态存储器110、可选磁旋转盘112以及易失性存储器114。控制器108可以控制固态存储器110、磁旋转盘112和易失性存储器114的操作。在实施例中,固态存储器110包括非易失性存储器。在实施例中,易失性存储器114包括RAM,例如DRAM。易失性存储器114例如可以用于为固态存储器110高速缓存数据。在实施例中,当数据存储设备104包括固态存储器110和磁旋转盘112时,数据存储设备104可以包括混合驱动器。

虽然本文的描述一般涉及固态存储器,但是可以理解的是,固态存储器可以包括各种类型的固态非易失性存储器设备中的一个或多个,例如,闪速集成电路、硫族化物RAM(C-RAM)、相变存储器(PC-RAM或PRAM)、可编程金属化单元RAM(PMC-RAM或PMCm)、双向通用存储器(OUM)、电阻RAM(RRAM)、NAND存储器(例如,单层单元(SLC)存储器、多层单元(MLC)存储器或其任意组合)、NOR存储器、EEPROM、铁电存储器(FeRAM)、磁阻RAM(MRAM)、其它离散NVM(非易失性存储器)芯片或其任意组合。

参考图1和图2,在启动过程期间,主机102可以将启动数据写入到固态存储器110上。在实施例中,启动数据可以包括启动日志、关于电子设备100的信息或其任意组合。关于电子设备100的信息可以包括接口速度、芯片组设置、启动设置、或可能涉及电子设备100的状态或性能的其它信息。例如,主机102的基本输入/输出系统(“BIOS”)可以将启动数据写到固态存储器110上。

在主机102已经将启动数据写到固态存储器110上之后,控制器108可以确定对应于启动数据的逻辑块地址(“LBA”)。因此,控制器108可以保持知道哪些LBA正被用于启动数据。

在实施例中,控制器108还可以确定固态存储器110的写擦周期的数量。写擦周期的数量可以用于确定固态存储器110何时达到寿命终止条件。例如,固态存储器110可能在特定数量的写擦周期之后用坏。因此,当写擦周期的数量在从写擦周期的寿命终止数量起的预定的写擦周期数量内时,控制器108可以确定固态存储器110已经达到了寿命终止条件。

固态存储器110的寿命终止条件不表示固态存储器110不能作为数据存储设备起作用或半起作用。而是,固态存储器110正接近固态存储器110的可靠性可能不能满足特定性能标准的写擦周期的数量,例如制造商设置的性能标准。

例如,如图3所看到的,示出了写擦周期的数量120、寿命终止条件116以及写擦周期的寿命终止数量。在N0和N1写擦周期之间,写擦周期的数量120小于从写擦周期的寿命终止数量118起的预定的写擦周期数量。然而,在N1和N2之间,写擦周期的数量120已经到达寿命终止条件116,并且在从写擦周期的寿命终止数量118起的预定的写擦周期数量内。在N2之后,写擦周期的数量120已经超过写擦周期的寿命终止数量118。

在实施例中,在到达寿命终止条件116之前,控制器108将固态存储器110设置成正常模式。也就是说,固态存储器110可以正常启动并正常操作,包括在启动过程期间和之后读取和写入数据到固态存储器110。当到达寿命终止条件116时,控制器108可以将固态存储器110设置成只启动写入读取模式。

在只启动写入读取模式期间,控制器108可以约束主机102在启动过程期间写入对应于启动数据的LBA。此外,在只启动写入读取模式期间,当启动过程完成时,控制器108可以将固态存储器110设置成只读模式。也就是说,在启动过程期间,固态存储器110可以写入数据,但是在启动过程完成之后,固态存储器110将不再能够写入数据。然而,在启动过程期间和在启动过程完成之后,固态存储器110将能够读取数据。

因此,数据存储设备104可以启动,因为在启动过程期间主机102可以将启动数据写入到固态存储器110中的对应于启动数据的LBA上。然而,在启动过程完成之后,因为数据不能被写入到固态存储器110上,所以维持存储于固态存储器110中的数据的数据完整性。在实施例中,这允许用户根据接近固态存储器110的寿命终止而备份或转移存储于固态存储器110内的数据到另一位置。例如,用户可以将数据转移到磁旋转盘112或另一数据存储设备。例如,这可以防止或减少用户将会丢失存储于固态存储器110内的一些或所有数据的可能性。

否则,如果在启动过程期间(例如,借助严格的只读模式)主机102不能将启动数据写入到固态存储器110上,则主机102可能不会完成启动过程并进入正常操作模式。在这种情况下,用户可能不得不移除数据存储设备104,并试图通过经由另一电子设备或借助在同一电子设备100内完成启动过程的另一数据存储设备访问它而恢复在固态存储器110上的数据。

当达到写擦周期的寿命终止数量118时,控制器108将固态存储器110设置成只读模式。也就是说,当写擦周期的数量等于或大于固态存储器110的写擦周期的寿命终止数量时,控制器108将固态存储器110设置成只读模式。在这种情况下,固态存储器110将只被允许在启动过程期间或之后读取数据。将不允许写入数据到固态存储器110。

在实施例中,寿命终止条件可以涉及或基于固态存储器110的备用块计数,取代图3所示的写擦周期。因此,当固态存储器110的备用块计数小于备用块计数的预定阈值时,可以达到寿命终止条件。因此,当备用块计数的数量减少时,固态存储器110将接近寿命终止条件。

在实施例中,可以在固态存储器110中保留备用块,并且通常不能被主机102访问。而是,当在固态存储器110内存在有缺陷的块时,可以使用备用块替代有缺陷的块。在这种情况下,用于替代有缺陷的块的备用块将能够被主机102访问。在实施例中,备用块计数可以表示可用的备用块的数量。

在实施例中,在图4中示出了用于操作数据存储设备104的过程。在框S402中,控制器108确定在启动过程期间由主机102访问的对应于启动数据的LBA。在框S404中,控制器108确定固态存储器110是否达到寿命终止条件,例如图3所示的寿命终止条件116。当确定固态存储器110已经达到寿命终止条件116时,在框S406和S408中,控制器108可以将固态存储器设置成只启动写入读取模式。

在框S406中,控制器108在启动过程期间约束主机写入对应于启动数据的LBA。在实施例中,控制器108还可以将主机102限制到预定的写入数量。在实施例中,预定的写入数量是写入的预设数量。在实施例中,由控制器108通过观察在启动过程期间由主机执行的写入的数量来学习预定的写入数量。例如,这可以减少针对固态存储器110或固态存储器110的一部分的写擦周期的数量。在框S408中,当启动过程完成时,控制器108将固态存储器110设置成只读模式。

在实施例中,图5示出了用于操作数据存储设备104的过程的额外或可选框。在框S502中,在确定固态存储器已经达到寿命终止条件之前,控制器108限制对固态存储器110内的保留区的写入数量。例如,在图6所示的实施例中,固态存储器110可以包括非保留区122和保留区124。非保留区122可以用于主机102来写入大部分类型的数据。保留区124可以保留用于启动数据。

控制器108因此可以限制对保留区124的写入数量。例如,控制器108可以防止除了启动数据之外的其它数据被写入到保留区124。例如,这可以延长保留区124的寿命,因为将减少写擦周期的数量。接着,这可以延长固态存储器110的寿命,因为可以在启动过程期间写入启动数据。这允许固态存储器110启动以允许访问存储于固态存储器110内的数据。

在实施例中,图7中示出了用于操作数据存储设备104的过程的额外或可选框。在框S702中,控制器108学习在启动过程期间由主机102访问的LBA的模式。例如,如图8中的实施例所示,固态存储器110可以包括LBA 126,其在启动过程期间不被主机102访问;以及LBA 128,其在启动过程期间被主机102访问。在框S704中,控制器108限制主机写入到在启动过程期间由主机102访问的LBA的模式中的那些LBA中。

在实施例中,主机处理器可以例如执行以上针对主机102公开的一个或多个功能。例如,主机处理器可以配置为在启动过程期间写入启动数据。在实施例中,主机102包括主机处理器。然而,在实施例中,电子设备100可以包括主机处理器,而不是主机102或除主机102之外。

普通技术人员将会理解到是,结合本文公开的例子描述的各种说明性逻辑块、模块和算法部分可以实现为电子硬件、计算机软件或两者的组合。此外,实施例还可以实现于非瞬态机器可读介质上,使得处理器或计算机执行或实现特定功能。

为了清楚地示出硬件和软件的这种互换性,一般依据其功能在上文描述了各种说明性部件、块、模块、电路和处理部件。这种功能是实现为硬件还是软件取决于施加到整个系统上的特定应用和设计限制。技术人员可以以各种方式实现用于每个特定应用的所描述的功能,但是这种实现决策不应被解释为引起背离所公开装置和方法的范围。

结合本文公开的例子所描述的方法或算法的部分可以直接实现于硬件、处理器执行的软件模块中或两者的组合中。方法或算法的部分还可以以在例子中提供的那些的替代的次序执行。软件模块可以驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除盘、光盘或本领域已知的任意其它形式的存储介质。示例性存储介质耦合到处理器上,从而处理器可以从存储介质读取信息并将信息写入到存储介质。替代地,存储介质可以集成到处理器上。处理器和存储介质可以驻留在专用集成电路(ASIC)。

提供所公开例子的先前描述以使得本领域任意普通技术人员能够制造或利用所公开的方法和装置。对这些例子的各种修改对本领域技术人员是明显的,并且本文定义的原理可以应用于其它例子,而不背离所公开方法和装置的精神或者范围。所描述的实施例在所有方面被认为仅是说明性的而非限制性的,并因此本公开的范围由随附权利要求表示而不是由前述表述表示。落入权利要求的等价的含义和范围内的所有改变将涵括在其范围内。

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