CN106164873A - 当到达寿命终止条件时约束写入固态存储器的方法和装置 - Google Patents

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

Info

Publication number
CN106164873A
CN106164873A CN201580015862.4A CN201580015862A CN106164873A CN 106164873 A CN106164873 A CN 106164873A CN 201580015862 A CN201580015862 A CN 201580015862A CN 106164873 A CN106164873 A CN 106164873A
Authority
CN
China
Prior art keywords
state memory
solid
write
lba
main frame
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.)
Granted
Application number
CN201580015862.4A
Other languages
English (en)
Other versions
CN106164873B (zh
Inventor
K·W·吉本斯
C·W·摩根
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.)
Western Digital Technologies Inc
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 CN106164873A publication Critical patent/CN106164873A/zh
Application granted granted Critical
Publication of CN106164873B publication Critical patent/CN106164873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

一种数据存储设备,包括:固态存储器,其包括在启动过程期间由主机访问的对应于启动数据的逻辑块地址(“LBA”);以及控制器。所述控制器可以配置为:确定对应于所述启动数据的LBA;确定所述固态存储器是否已经达到寿命终止条件。当确定所述固态存储器已经达到寿命终止条件时,所述控制器在启动过程期间可以约束所述主机写入对应于启动数据的LBA,并在所述启动过程完成时,将所述固态存储器设置成只读模式。

Description

当到达寿命终止条件时约束写入固态存储器的方法和装置
背景技术
电子设备中的固态存储器可能具有有限量的可用写擦周期。传统上,当固态存储器达到特定数量的写擦周期时,固态存储器可以设置为只读模式。然而,在只读模式下,电子设备可能不能启动,因为其可能需要写入到固态存储器。
如果电子设备不能启动,则可能难以访问固态存储器内的数据。这可能不仅需要替代固态存储器,而且需要通过利用替代存储器取回存储于固态存储器内的数据的繁琐过程。然而,不能利用替代存储器可能导致在固态存储器中的数据丢失。
附图说明
根据结合附图在下文阐述的详细描述,本实施例的特征和优点将变得更清楚,在附图中:
图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访问;以及LBA128,其在启动过程期间被主机102访问。在框S704中,控制器108限制主机写入到在启动过程期间由主机102访问的LBA的模式中的那些LBA中。
在实施例中,主机处理器可以例如执行以上针对主机102公开的一个或多个功能。例如,主机处理器可以配置为在启动过程期间写入启动数据。在实施例中,主机102包括主机处理器。然而,在实施例中,电子设备100可以包括主机处理器,而不是主机102或除主机102之外。
普通技术人员将会理解到是,结合本文公开的例子描述的各种说明性逻辑块、模块和算法部分可以实现为电子硬件、计算机软件或两者的组合。此外,实施例还可以实现于非瞬态机器可读介质上,使得处理器或计算机执行或实现特定功能。
为了清楚地示出硬件和软件的这种互换性,一般依据其功能在上文描述了各种说明性部件、块、模块、电路和处理部件。这种功能是实现为硬件还是软件取决于施加到整个系统上的特定应用和设计限制。技术人员可以以各种方式实现用于每个特定应用的所描述的功能,但是这种实现决策不应被解释为引起背离所公开装置和方法的范围。
结合本文公开的例子所描述的方法或算法的部分可以直接实现于硬件、处理器执行的软件模块中或两者的组合中。方法或算法的部分还可以以在例子中提供的那些的替代的次序执行。软件模块可以驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除盘、光盘或本领域已知的任意其它形式的存储介质。示例性存储介质耦合到处理器上,从而处理器可以从存储介质读取信息并将信息写入到存储介质。替代地,存储介质可以集成到处理器上。处理器和存储介质可以驻留在专用集成电路(ASIC)。
提供所公开例子的先前描述以使得本领域任意普通技术人员能够制造或利用所公开的方法和装置。对这些例子的各种修改对本领域技术人员是明显的,并且本文定义的原理可以应用于其它例子,而不背离所公开方法和装置的精神或者范围。所描述的实施例在所有方面被认为仅是说明性的而非限制性的,并因此本公开的范围由随附权利要求表示而不是由前述表述表示。落入权利要求的等价的含义和范围内的所有改变将涵括在其范围内。

Claims (31)

1.一种数据存储设备,包括:
固态存储器,其包括在启动过程期间由主机访问的对应于启动数据的逻辑块地址(“LBA”);以及
控制器,其配置为:
确定对应于所述启动数据的所述LBA;
确定所述固态存储器是否已经达到寿命终止条件;
当确定固态存储器已经达到寿命终止条件时:
在启动过程期间约束所述主机写入对应于所述启动数据的所述LBA;以及
当所述启动过程完成时,将所述固态存储器设置成只读模式。
2.根据权利要求1所述的数据存储设备,其中,当所述固态存储器的写擦周期的数量在从所述固态存储器的写擦周期的寿命终止数量起的预定的写擦周期数量之内时,达到所述寿命终止条件。
3.根据权利要求2所述的数据存储设备,其中,所述控制器还被配置为当所述写擦周期的数量等于或大于所述固态存储器的写擦周期的寿命终止数量时,将所述固态存储器设置成所述只读模式。
4.根据权利要求1所述的数据存储设备,其中,当所述固态存储器的备用块计数小于备用块计数的预定阈值时,达到寿命终止条件。
5.根据权利要求1所述的数据存储设备,其中,所述控制器还被配置为:
在确定所述固态存储器已经达到寿命终止条件之前,限制对所述固态存储器内的保留区的写入数量;以及
当确定该固态存储器已经达到寿命终止条件时,使用所述保留区来处理所述主机写入对应于所述启动数据的所述LBA。
6.根据权利要求1所述的数据存储设备,其中,所述控制器还被配置为通过以下来约束所述主机写入:
学习在所述启动过程期间由所述主机访问的LBA的模式;以及
在所述启动过程期间限制所述主机写入由所述主机访问的LBA的所述模式中的那些LBA。
7.根据权利要求1所述的数据存储设备,其中,所述控制器还被配置为通过以下来约束所述主机写入:
将所述主机限制为预定的写入数量。
8.根据权利要求7所述的数据存储设备,其中,所述预定的写入数量是写入的预设数量。
9.根据权利要求7所述的数据存储设备,其中,通过观察在所述启动过程期间由所述主机执行的写入的数量来学习所述预定的写入数量。
10.根据权利要求1所述的数据存储设备,还包括磁旋转盘。
11.一种用于操作数据存储设备的方法,包括:
确定在启动过程期间由主机访问的对应于启动数据的逻辑块地址(“LBA”),其中,所述LBA包括所述数据存储设备的固态存储器的LBA;
确定所述固态存储器是否已经达到寿命终止条件;以及
当确定所述固态存储器已经达到寿命终止条件时:
在启动过程期间约束所述主机写入对应于所述启动数据的所述LBA;以及
当所述启动过程完成时,将所述固态存储器设置成只读模式。
12.根据权利要求11所述的方法,其中,当所述固态存储器的写擦周期的数量在从所述固态存储器的写擦周期的寿命终止数量起的预定的写擦周期数量之内时,达到所述寿命终止条件。
13.根据权利要求12所述的方法,还包括:当所述写擦周期的数量等于或大于所述固态存储器的所述写擦周期的寿命终止数量时,将所述固态存储器设置成所述只读模式。
14.根据权利要求11所述的方法,其中,当所述固态存储器的备用块计数小于备用块计数的预定阈值时,达到寿命终止条件。
15.根据权利要求11所述的方法,还包括:
在确定所述固态存储器已经达到寿命终止条件之前,限制对所述固态存储器内的保留区的写入数量;以及
当确定该固态存储器已经达到寿命终止条件时,使用所述保留区来处理所述主机写入对应于所述启动数据的所述LBA。
16.根据权利要求11所述的方法,其中,约束所述主机写入还包括:
学习在所述启动过程期间由所述主机访问的LBA的模式;以及
在所述启动过程期间限制所述主机写入由所述主机访问的LBA的所述模式中的那些LBA。
17.根据权利要求11所述的方法,其中,约束所述主机写入还包括:
将所述主机限制为预定的写入数量。
18.根据权利要求17所述的方法,其中,所述预定的写入数量是写入的预设数量。
19.根据权利要求17所述的方法,其中,通过观察在所述启动过程期间由所述主机执行的写入的数量来学习所述预定的写入数量。
20.根据权利要求11所述的方法,其中,所述数据存储设备还包括磁旋转盘。
21.一种电子设备,包括:
主机处理器,其被配置为在启动过程期间写入启动数据;以及
数据存储设备,包括:
固态存储器,其包括在所述启动过程期间由所述主机处理器访问的对应于所述启动数据的逻辑块地址(“LBA”);以及
控制器,其配置为:
从所述主机处理器确定对应于所述启动数据的所述LBA;
确定所述固态存储器是否已经达到寿命终止条件;
当确定所述固态存储器已经达到寿命终止条件时:
在启动过程期间约束所述主机处理器写入对应于所述启动数据的所述LBA;以及
当所述启动过程完成时,将所述固态存储器设置成只读模式。
22.根据权利要求21所述的电子设备,其中,当所述固态存储器的写擦周期的数量在从所述固态存储器的写擦周期的寿命终止数量起的预定的写擦周期数量之内时,达到寿命终止条件。
23.根据权利要求22所述的电子设备,其中,所述控制器还配置为当所述写擦周期的数量等于或大于所述固态存储器的所述写擦周期的寿命终止数量时,将所述固态存储器设置成所述只读模式。
24.根据权利要求21所述的电子设备,其中,当所述固态存储器的备用块计数小于备用块计数的预定阈值时,达到寿命终止条件。
25.根据权利要求21所述的电子设备,其中,所述控制器还配置为:
在确定所述固态存储器已经达到寿命终止条件之前,限制对所述固态存储器内的保留区的写入数量;以及
当确定该固态存储器已经达到寿命终止条件时,使用所述保留区来处理从所述主机处理器到对应于所述启动数据的所述LBA的所述写入。
26.根据权利要求21所述的电子设备,其中,所述控制器还配置为通过以下来约束从所述主机处理器的所述写入:
学习在所述启动过程期间由所述主机处理器访问的LBA的模式;以及
在所述启动过程期间限制对由所述主机处理器访问的LBA的所述模式中的那些LBA的由所述主机处理器的所述写入。
27.根据权利要求21所述的电子设备,其中,所述控制器还被配置为通过以下来约束从所述主机处理器的所述写入:
将由所述主机处理器的所述写入限制为预定的写入数量。
28.根据权利要求27所述的电子设备,其中,所述预定的写入数量是写入的预设数量。
29.根据权利要求27所述的电子设备,其中,通过观察在所述启动过程期间由所述主机处理器执行的写入的数量来学习预定的写入数量。
30.根据权利要求21所述的电子设备,还包括磁旋转盘。
31.根据权利要求21所述的电子设备,其中,所述主机处理器还包括基本输入/输出系统(“BIOS”),其被配置为在所述启动过程期间写入所述启动数据的至少一部分。
CN201580015862.4A 2014-03-24 2015-03-20 当到达寿命终止条件时约束写入固态存储器的方法和装置 Active CN106164873B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461969635P 2014-03-24 2014-03-24
US61/969,635 2014-03-24
US14/275,032 2014-05-12
US14/275,032 US9268487B2 (en) 2014-03-24 2014-05-12 Method and apparatus for restricting writes to solid state memory when an end-of life condition is reached
PCT/US2015/021817 WO2015148315A1 (en) 2014-03-24 2015-03-20 Method and apparatus for restricting writes to solid state memory when an end-of-life condition is reached

Publications (2)

Publication Number Publication Date
CN106164873A true CN106164873A (zh) 2016-11-23
CN106164873B CN106164873B (zh) 2019-08-16

Family

ID=54142141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580015862.4A Active CN106164873B (zh) 2014-03-24 2015-03-20 当到达寿命终止条件时约束写入固态存储器的方法和装置

Country Status (6)

Country Link
US (1) US9268487B2 (zh)
EP (1) EP3123336B1 (zh)
JP (1) JP6613242B2 (zh)
KR (2) KR102188628B1 (zh)
CN (1) CN106164873B (zh)
WO (1) WO2015148315A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP6193834B2 (ja) * 2014-10-29 2017-09-06 ファナック株式会社 データ保存システム
JP6532240B2 (ja) * 2015-02-09 2019-06-19 キヤノン株式会社 情報処理装置およびその制御方法
US10445200B2 (en) * 2016-05-02 2019-10-15 Samsung Electronics Co., Ltd. Storage device having various recovery methods and recovery modes
KR102628239B1 (ko) 2016-05-02 2024-01-24 삼성전자주식회사 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치 및 호스트 장치를 포함하는 컴퓨팅 장치의 동작 방법
CN110413492B (zh) * 2018-04-28 2023-07-04 伊姆西Ip控股有限责任公司 存储盘的健康评估方法、电子设备和计算机程序产品
JP7401193B2 (ja) * 2019-04-17 2023-12-19 キヤノン株式会社 情報処理装置及びその制御方法並びにプログラム
US11218019B2 (en) 2019-07-29 2022-01-04 Micron Technology, Inc. Power backup architecture using capacitor
US11409348B2 (en) * 2019-07-29 2022-08-09 Micron Technology, Inc. Power backup architecture to manage capacitor health
CN113467703A (zh) * 2020-03-31 2021-10-01 杭州海康存储科技有限公司 存储介质的管理方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070204128A1 (en) * 2003-09-10 2007-08-30 Super Talent Electronics Inc. Two-Level RAM Lookup Table for Block and Page Allocation and Wear-Leveling in Limited-Write Flash-Memories
US8327067B2 (en) * 2006-07-31 2012-12-04 Kabushiki Kaisha Toshiba Nonvolatile memory system, and data read/write method for nonvolatile memory system
WO2013027642A1 (en) * 2011-08-19 2013-02-28 Kabushiki Kaisha Toshiba Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device

Family Cites Families (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091965A1 (en) 2000-12-22 2002-07-11 Mark Moshayedi System and method for early detection of impending failure of a data storage system
US6856556B1 (en) 2003-04-03 2005-02-15 Siliconsystems, Inc. Storage subsystem with embedded circuit for protecting against anomalies in power signal from host
US7502256B2 (en) 2004-11-30 2009-03-10 Siliconsystems, Inc. Systems and methods for reducing unauthorized data recovery from solid-state storage devices
US7653778B2 (en) 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
US7523013B2 (en) * 2006-05-15 2009-04-21 Sandisk Corporation Methods of end of life calculation for non-volatile memories
US7590666B2 (en) 2006-06-16 2009-09-15 Microsoft Corporation Predicting capacity consumption in a memory component
US7765373B1 (en) 2006-06-27 2010-07-27 Siliconsystems, Inc. System for controlling use of a solid-state storage subsystem
US8108692B1 (en) 2006-06-27 2012-01-31 Siliconsystems, Inc. Solid-state storage subsystem security solution
US7509441B1 (en) 2006-06-30 2009-03-24 Siliconsystems, Inc. Systems and methods for segmenting and protecting a storage subsystem
US7447807B1 (en) 2006-06-30 2008-11-04 Siliconsystems, Inc. Systems and methods for storing data in segments of a storage subsystem
US8015433B2 (en) 2006-09-13 2011-09-06 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory for storage of failure-related data
US7356442B1 (en) 2006-10-05 2008-04-08 International Business Machines Corporation End of life prediction of flash memory
US8161227B1 (en) 2006-10-30 2012-04-17 Siliconsystems, Inc. Storage subsystem capable of programming field-programmable devices of a target computer system
US8549236B2 (en) 2006-12-15 2013-10-01 Siliconsystems, Inc. Storage subsystem with multiple non-volatile memory arrays to protect against data losses
JP4572205B2 (ja) * 2007-01-12 2010-11-04 Necインフロンティア株式会社 フラッシュメモリドライブ装置、その制御方法及びそのプログラム
KR100881187B1 (ko) 2007-01-16 2009-02-05 삼성전자주식회사 하이브리드 하드 디스크 드라이브, 하이브리드 하드 디스크드라이브를 내장하는 컴퓨터 시스템, 그리고 하이브리드하드 디스크 드라이브의 플래시 메모리 dma 회로
US7596643B2 (en) 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
US7685338B2 (en) 2007-05-24 2010-03-23 Siliconsystems, Inc. Solid state storage subsystem for embedded applications
US7685337B2 (en) 2007-05-24 2010-03-23 Siliconsystems, Inc. Solid state storage subsystem for embedded applications
US7685374B2 (en) 2007-07-26 2010-03-23 Siliconsystems, Inc. Multi-interface and multi-bus structured solid-state storage subsystem
US8639863B1 (en) * 2007-08-30 2014-01-28 Virident Systems, Inc. Memory apparatus for replaceable non-volatile memory
US8095851B2 (en) 2007-09-06 2012-01-10 Siliconsystems, Inc. Storage subsystem capable of adjusting ECC settings based on monitored conditions
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
US7733712B1 (en) 2008-05-20 2010-06-08 Siliconsystems, Inc. Storage subsystem with embedded circuit for protecting against anomalies in power signal from host
US8583835B1 (en) 2008-08-06 2013-11-12 Siliconsystems, Inc. Command portal for executing non-standard storage subsystem commands
US8375151B1 (en) 2009-02-12 2013-02-12 Siliconsystems, Inc. Command portal for securely communicating and executing non-standard storage subsystem commands
US8327066B2 (en) * 2008-09-30 2012-12-04 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations
US9176859B2 (en) 2009-01-07 2015-11-03 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
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
US8151137B2 (en) * 2009-05-28 2012-04-03 Lsi Corporation Systems and methods for governing the life cycle of a solid state drive
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
US8243525B1 (en) 2009-09-30 2012-08-14 Western Digital Technologies, Inc. Refreshing non-volatile semiconductor memory by reading without rewriting
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
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
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
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
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
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
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
JP5002719B1 (ja) * 2011-03-10 2012-08-15 株式会社東芝 情報処理装置、外部記憶装置、ホスト装置、中継装置、制御プログラム及び情報処理装置の制御方法
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
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
US8751728B1 (en) 2011-04-29 2014-06-10 Western Digital Technologies, Inc. Storage system bus transfer optimization
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
JP2013047913A (ja) * 2011-08-29 2013-03-07 Toshiba Corp 情報処理装置、情報処理装置の制御方法、制御ツール、及びホスト装置
US8423722B1 (en) 2011-08-26 2013-04-16 Western Digital Technologies, Inc. System and method for high performance command processing in solid state drives
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
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture 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
TWI476590B (zh) * 2012-05-31 2015-03-11 Phison Electronics Corp 記憶體管理方法、記憶體控制器與記憶體儲存裝置
US8788778B1 (en) 2012-06-04 2014-07-22 Western Digital Technologies, Inc. Garbage collection based on the inactivity level of stored data
US9430322B2 (en) * 2012-08-02 2016-08-30 Sandisk Technologies Llc Device based wear leveling using intrinsic endurance
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
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070204128A1 (en) * 2003-09-10 2007-08-30 Super Talent Electronics Inc. Two-Level RAM Lookup Table for Block and Page Allocation and Wear-Leveling in Limited-Write Flash-Memories
US8327067B2 (en) * 2006-07-31 2012-12-04 Kabushiki Kaisha Toshiba Nonvolatile memory system, and data read/write method for nonvolatile memory system
WO2013027642A1 (en) * 2011-08-19 2013-02-28 Kabushiki Kaisha Toshiba Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device

Also Published As

Publication number Publication date
KR20160136434A (ko) 2016-11-29
KR20190020179A (ko) 2019-02-27
EP3123336A1 (en) 2017-02-01
US9268487B2 (en) 2016-02-23
EP3123336B1 (en) 2019-04-24
WO2015148315A1 (en) 2015-10-01
JP2017510891A (ja) 2017-04-13
US20150268873A1 (en) 2015-09-24
KR101951770B1 (ko) 2019-02-25
CN106164873B (zh) 2019-08-16
KR102188628B1 (ko) 2020-12-08
EP3123336A4 (en) 2017-12-27
JP6613242B2 (ja) 2019-11-27

Similar Documents

Publication Publication Date Title
CN106164873A (zh) 当到达寿命终止条件时约束写入固态存储器的方法和装置
KR101494051B1 (ko) 불휘발성 메모리 시스템들을 위한 위브 시퀀스 카운터
US10108472B2 (en) Adaptive read disturb reclaim policy
US9886341B2 (en) Optimizing reclaimed flash memory
US9239785B2 (en) Stochastic block allocation for improved wear leveling
US20150113207A1 (en) Operating method of data storage device
CN107305530A (zh) 数据存储装置及其操作方法
CN106095699B (zh) 用于快闪存储器的可扩展spor算法
CN104699413B (zh) 数据管理方法、存储器存储装置及存储器控制电路单元
US9141530B2 (en) Data writing method, memory controller and memory storage device
US9442834B2 (en) Data management method, memory controller and memory storage device
CN107799150A (zh) 3d nand闪存的错误缓解
US20140331107A1 (en) Method of storing system data, and memory controller and memory storage apparatus using the same
TW201527973A (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
US20160179596A1 (en) Operating method of data storage device
CN107240420A (zh) 数据存储装置及其操作方法
TWI486765B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
CN109727630A (zh) 存储系统及其操作方法
US20170329703A1 (en) Self-management memory system and operating method thereof
CN110083305A (zh) 存储器系统及其操作方法
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
US11650795B2 (en) Raw read based physically unclonable function for flash memory
CN109656471B (zh) 数据存储设备及其操作方法
CN112084118A (zh) 数据存储装置及其操作方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant