CN105009091B - 一种数据存储系统及用于数据存储系统的动态预留空间方法 - Google Patents

一种数据存储系统及用于数据存储系统的动态预留空间方法 Download PDF

Info

Publication number
CN105009091B
CN105009091B CN201380068657.5A CN201380068657A CN105009091B CN 105009091 B CN105009091 B CN 105009091B CN 201380068657 A CN201380068657 A CN 201380068657A CN 105009091 B CN105009091 B CN 105009091B
Authority
CN
China
Prior art keywords
data
memory array
nonvolatile memory
headspace
capacity
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.)
Active
Application number
CN201380068657.5A
Other languages
English (en)
Other versions
CN105009091A (zh
Inventor
R·L·霍恩
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 CN105009091A publication Critical patent/CN105009091A/zh
Application granted granted Critical
Publication of CN105009091B publication Critical patent/CN105009091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0608Saving storage space on 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/0638Organizing or formatting or addressing of data
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Abstract

公开的实施例针对用于数据存储系统的动态预留空间的系统和方法。在一个实施例中,数据存储系统可以为预留空间保留诸如非易失性固态存储器的存储器的部分。取决于各种预留空间因素,由于压缩用户数据而恢复的存储空间可以被分配用于存储用户数据和/或预留空间。利用公开的动态预留空间系统或方法可以导致更有效地使用缓存存储器,减小写入放大,增大缓存命中率等,从而可以获得改进的数据存储系统性能和增大的耐久性和寿命。

Description

一种数据存储系统及用于数据存储系统的动态预留空间方法
技术领域
本公开涉及用于计算机系统的数据存储系统。具体而言,本公开涉及用于数据存储系统的动态预留空间(overprovisioning)。
背景技术
数据存储系统执行许多系统任务和管理操作,例如其正常操作过程中的垃圾收集、损耗均衡、坏块管理等。执行系统任务和管理操作涉及实质性的开销,例如在将非易失性固态存储器用于存储数据的情况中增大的写入放大。因此,希望提供更有效的机制以便执行管理操作。
附图说明
将参考以下附图来说明体现本发明的各种特征的系统和方法,在附图中:
图1示出了根据本发明一个实施例的实施动态预留空间的主机系统和数据存储系统的组合。
图2示出了根据本发明一个实施例的预留空间参数。
图3示出了根据本发明一个实施例的动态预留空间。
图4示出了根据本发明一个实施例的动态预留空间过程的流程图。
具体实施方式
尽管说明了特定实施例,但仅是示例性地呈现这些实施例,并非旨在限定保护的范围。实际上,本文所述的创新的方法和系统可以以各种其他形式来体现。而且,在不脱离保护范围的情况下,可以在本文所述的方法和系统的形式上做出各种省略、替换、以及变化。
概述
数据存储系统执行许多管理操作,例如其正常操作过程中的垃圾收集、损耗均衡、坏块管理等。执行管理操作涉及实质性的开销,例如在将非易失性固态存储器(NVSM)用于存储数据的情况中增大的写入放大。在某些情况下,为了改进数据存储系统的效率、寿命、以及性能,分配额外的存储器以执行系统任务和/或管理操作可能是有利的。但为系统和/或管理任务分配额外的存储器典型地以减少用于用户数据的存储容量为代价来进行。而数据存储系统典型地向主机系统报告给定存储容量,这个报告的存储容量通常不能在数据存储系统的操作期间被修改。
本发明的实施例针对用于动态预留空间的系统和方法。数据存储系统可以为预留空间保留诸如NVSM缓存存储器的存储器的部分。预留空间部分可以用于有效地执行系统任务和/或管理操作。例如,预留空间部分可以用于减小例如与向NVSM缓存写入数据相关联的写入放大。数据存储系统可以通过压缩存储在NVSM缓存中的数据来恢复存储容量。取决于各种预留空间因素,恢复的存储容量的部分或全部量可以被分配用于预留空间或用于存储用户数据。例如,当由于主机系统活动,应缓存在NVSM中的用户数据量增大时,部分或全部恢复的存储容量可以被用于存储用户数据。作为另一个示例,当NVSM的磨损级别超过阈值时,整个恢复的存储容量的部分可以被用于预留空间。恢复的存储容量的这种动态分配可以改进效率和性能。
在一个实施例中,数据存储系统可以包括非易失性存储器阵列,其具有被配置为存储用户数据的用户数据部分。另外,可以保留预留空间部分。在压缩了用户数据后,可以确定恢复的存储容量的量。基于一个或多个预留空间参数,数据存储系统可以分配恢复的存储容量,用于存储用户数据和/或预留空间部分。
系统概述
图1示出了根据本发明一个实施例的实施基于优先级的垃圾收集的主机系统和数据存储系统的组合100。如所示的,数据存储系统120(例如混合盘驱动器)包括控制器130和非易失性存储器阵列150及磁存储设备160,其包括磁性介质164(例如传统的或叠瓦式(shingled))。非易失性存储器阵列150可以包括非易失性固态存储器(NVSM),例如闪存集成电路、硫属化合物RAM(C-RAM)、相变存储器(PC-RAM或PRAM)、可编程金属化单元RAM(PMC-RAM或PMCm)、Ovonic Unified Memory(OUM)、电阻RAM(RRAM)、NAND存储器(例如单级单元(SLC)存储器、多级单元(MLC)存储器、或其任意组合)、NOR存储器、EEPROM、铁电存储器(FeRAM)、磁阻RAM(MRAM)、其他分立NVM(非易失性存储器)芯片,或其任意组合。非易失性存储器阵列150可以包括一个或多个存储器区,例如块、页等。存储器区可以包括存储器单元。在一个实施例中,非易失性存储器阵列150可以充当用于磁存储设备160的缓存。数据存储系统120可以进一步包括其他类型的存储设备。在一个实施例中,磁存储设备160可以被配置为叠瓦式磁存储设备,非易失性存储器阵列150 被配置为用作叠瓦式磁存储设备的介质缓存。
控制器130可以被配置为从主机系统110的存储接口模块112(例如设备驱动器)接收数据和/或存储访问命令。由存储接口112传送的存储访问命令可以包括由主机系统110发出的写数据和读数据命令。读和写命令可以指定逻辑地址(例如逻辑块地址或LBA),其用于访问数据存储系统120。控制器130可以在非易失性存储器阵列150中执行接收的命令。
数据存储系统120可以存储由主机系统110传送的数据。换句话说,数据存储系统120可以充当用于主机系统110的存储器存储设备。为了便于该功能,控制器130可以实施逻辑接口。逻辑接口可以将数据存储系统的存储器作为可以存储用户数据的逻辑地址集合(例如相连的地址)而呈现给主机系统110。在内部,控制器130可以将逻辑地址映射到非易失性存储器阵列150、磁存储设备160、和/或其他存储模块中的各种物理单元或地址。物理单元可以被配置为存储数据。控制器130包括动态预留空间模块132,其被配置为执行动态预留空间,以及数据压缩模块134,其被配置为压缩数据以便存储于非易失性存储器阵列150和/或磁存储设备160中。
在其他实施例中,代替磁存储设备160,数据存储系统120可以包括另一类数据存储设备,例如第二非易失性存储器阵列。例如,非易失性存储器阵列150可以包括一类存储器,其提供比用于第二非易失性存储器阵列中的存储器类型更快的写/读性能。在一些实施例中,非易失性存储器阵列 150可以充当到远端地点的数据存储设备的缓存,数据的同步可以通过一个或多个网络连接发生。
动态预留空间
图2示出了根据本发明一个实施例的预留空间参数200。如所示的,预留空间参数是:用户数据压缩率202、不工作的非易失性存储器阵列150单元的数量204、从非易失性存储器阵列150读取的数据量与写入非易失性存储器阵列150的数据量的比率206、写入非易失性存储器阵列150的连续数据量与写入非易失性存储器阵列150的非连续数据量的比率208、当前预留空间级别210、存储在非易失性存储器阵列150中的非冗余数据的百分比212、及非易失性存储器阵列150的磨损级别214。非冗余数据包括存储在非易失性存储器阵列150中、但没有与其他存储介质(非易失性存储器阵列150充当其缓存,例如磁存储设备160)同步的数据。可以使用额外的预留空间参数。预留空间参数可以由控制器130和/或动态预留空间模块132 和/或数据压缩模块134产生、跟踪、和/或更新。
图3示出了根据本发明一个实施例的动态预留空间300。动态预留空间 300可以由控制器130和/或动态预留空间模块132和/或数据压缩模块134 执行。如所示的,非易失性存储器阵列150可以被分为用户数据部分154 和系统数据部分158。另外,存储器阵列150可以包括预留空间部分156。可以基于诸如图2的参数200的一个或多个预留空间参数,调整预留空间部分156的大小。在一个实施例中,可以基于诸如加权平均值的预留空间参数的组合,调整预留空间部分的大小。
如图3所示的,在一个实施例中,未压缩的用户数据存储在用户数据部分154中。例如当由数据压缩模块134压缩数据时,数据存储系统120 恢复存储容量170的量。恢复的存储容量可以被分配用于存储用户数据和/ 或用于预留空间。
图4是示出根据本发明一个实施例的动态预留空间的过程400的流程图。过程400可以由控制器130和/或动态预留空间模块132和/或数据压缩模块134执行。过程400在块402开始,在此它执行从主机系统110接收的一个或多个存储命令。例如,过程400可以执行包括用户数据的写入或程序命令。过程400转移到块404,在此,它压缩与存储命令相关联的用户数据。压缩度可以取决于用户数据的类型,较高压缩度可以表示将用户数据压缩到较大程度。例如,可以以高压缩度压缩未压缩的音频和/或视频数据。在一个实施例中,过程400使用无损压缩,例如Lempel-Ziv(LZ)。
过程400转移到块406,在此它确定由于用户数据压缩而恢复的存储容量的量。在块408,过程400确定和/或更新预留空间参数,例如图2的参数200。过程400转移到块408,在此它确定如何将恢复的存储设备分配用于用户数据存储和/或预留空间。
在一个实施例中,响应于相比于磨损级别阈值的非易失性存储器阵列 150的磨损级别的增大,过程400分配至少部分或全部恢复的存储容量用于预留空间。在此情况下,例如,磨损级别的增大指示非易失性存储器阵列 150受到磨损,分配存储容量用于预留空间可以通过减小写入放大而减少磨损率。另一方面,响应于相比于磨损级别阈值的非易失性存储器阵列150 的磨损级别的减小,过程400分配至少部分或全部恢复的存储容量用于存储用户数据。在此情况下,例如,由于非易失性存储器阵列150未受到磨损,因此希望给用户数据分配更多的存储空间以增强非易失性存储器缓存命中率。
在一个实施例中,响应于相比于不工作单元阈值的不工作(或有故障) 非易失性存储器150单元数量的增大,过程400分配至少部分或全部恢复的存储容量用于存储用户数据。在此情况下,例如,分配可用存储器来存储用户数据可能是有利的。响应于非易失性存储器阵列150中存储的非冗余数据相对于非冗余数据阈值的百分比的增大,过程400也分配至少部分或全部恢复的存储容量用于存储用户数据。在此情况下,例如,由于磁存储设备160不接受用于存储的数据(例如因为磁盘未旋转),主机系统110 可以将非易失性存储器150用作数据缓存。稍后可以将至少部分缓存的用户数据转储清除(flush)(或同步)到例如磁存储设备160。响应于从非易失性存储器阵列150读取的数据量与写入非易失性存储器阵列的数据量的比率相对于读/写阈值的增大,过程400也分配至少部分或全部恢复的存储容量用于存储用户数据。在此情况下,例如,主机系统110可以执行更多的数据取回操作,执行这些操作导致小的或没有写入放大。另一方面,响应于从非易失性存储器阵列150读取的数据量与写入非易失性存储器阵列的数据量的比率相对于读/写阈值的减小,过程400分配至少部分或全部恢复的存储容量用于预留空间。在此情况下,例如,主机系统110可以执行与增大的写入放大相关联的更多数据程序操作。分配更多存储容量用于预留空间可以减小非易失性存储器阵列150的磨损。
在一个实施例中,响应于相比于数据压缩阈值的数据压缩率的减小,过程400分配至少部分或全部恢复的存储容量用于存储用户数据。在此情况下,例如,用户数据可以被较少压缩,从而占用更多空间。可以分配更多空间用于存储用户数据。响应于相比于预留空间阈值的预留空间部分的大小的增大,过程400也分配至少部分或全部恢复的存储容量用于存储用户数据。在此情况下,例如,预留空间部分大小可能已经增长过大。响应于相比于连续数据写阈值的写入非易失性存储器阵列150的连续数据量与写入非易失性存储器阵列150的非连续数据量的比率的增大,过程400也分配至少部分或全部恢复的存储容量用于存储用户数据。在此情况下,例如,相比于写入非顺序数据,将连续或顺序数据写入非易失性存储器阵列 150与较低的写入放大相关联。因而,需要较少的预留空间来实现希望的总写入放大。另一方面,响应于写入非易失性存储器阵列150的连续数据量与写入非易失性存储器阵列150的非连续数据量的比率相对于连续数据写阈值的减小,过程400分配至少部分或全部恢复的存储容量用于预留空间。在此情况下,例如,写入更多的非连续或随机数据,其与增大的写入放大相关联。因此,可以分配更多的存储容量用于预留空间。
结论
利用公开的动态预留空间系统和方法可以导致更有效地使用非易失性存储器,减小写入放大,增大缓存命中率等。可以获得改进的数据存储系统性能和增大的耐久性。
其他变化
本领域技术人员会意识到在一些实施例中可以使用另外的预留空间参数。另外,使用任意适合的线性和/或非线性方法可以组合预留空间参数。此外,公开的系统和方法可以由任何数据存储系统使用,其例如由于存储介质的限制而不能写随机存储器单元。这种数据存储系统也可以包括缓存存储器。此外,用户数据可以包括任何类型数据和/或数据类型的组合,例如由主机提供的数据、由数据存储系统产生的数据等。在公开的过程中实际进行的步骤,例如图4中所示的过程,可以与图中所示的不同。可以使用额外的系统部件,可以组合或省略公开的系统部件。取决于实施例,可以去除上述的某些步骤,可以添加其他步骤。因此,本公开的范围旨在仅参照所附权利要求书来限定。
尽管说明了某些实施例,但这些实施例仅被示例性地呈现,并非旨在限定保护的范围。实际上,本文所述的创新的方法和系统可以以各种其他形式来体现。而且,在不脱离保护的精神的情况下,可以在本文所述的方法和系统的形式上做出各种省略、替换和变化。所附权利要求书及其等效替代旨在覆盖这样的形式或修改,视其为落在保护的范围和精神内。例如,本文公开的系统和方法可以应用于硬盘驱动器、固态驱动器等。另外,可以额外地或可替换地使用其他形式的存储设备(例如DRAM或SRAM、配有电池的易失性DRAM或SRAM设备、EPROM、EEPROM存储器等)。作为另一个示例,图中所示的各种部件可以被实施为处理器上的软件和/或固件、ASIC/FPGA、或专用硬件。此外,以上公开的特定实施例的特征和属性可以以不同方式组合,以构成另外的实施例,其全都落在本公开的范围内。尽管本公开提供了某些优选实施例和应用,但对于本领域普通技术人员来说是显而易见的是其他实施例也在本公开的范围内,包括没有提供本文阐述的全部特征和优点的实施例。因此,本公开的范围旨在仅参照所附权利要求书来限定。

Claims (20)

1.一种数据存储系统,包括:
非易失性存储器阵列,其包括用户数据部分和预留空间部分,所述用户数据部分被配置为存储用户数据;
控制器,其被配置为借助以下步骤动态调整所述非易失性存储器阵列的所述预留空间部分的容量:
压缩被存储在所述用户数据部分中的至少一些用户数据;
确定由于所述压缩而恢复的存储容量的量;
计算一个或更多个预留空间参数,所述预留空间参数包括在所述非易失性存储器阵列中存储的非冗余数据的量的测量值,所述非冗余数据包括不是永久地存储在除所述非易失性存储器阵列之外的所述数据存储系统的任何存储器中的数据;以及
至少部分基于所述一个或更多个预留空间参数,将所述恢复的存储容量分配给以下项中的至少一个:所述用户数据部分的容量和所述预留空间部分的所述容量。
2.根据权利要求1所述的数据存储系统,其中,所述控制器被进一步配置为至少部分基于所述一个或更多个预留空间参数中的两个或更多个的组合,分配所述恢复的存储容量。
3.根据权利要求2所述的数据存储系统,其中,所述控制器被进一步配置为确定所述两个或更多个预留空间参数的加权平均值。
4.根据权利要求1所述的数据存储系统,其中,所述一个或更多个预留空间参数包括以下项中的至少一个:
用户数据压缩率;
所述预留空间部分的所述容量;
所述非易失性存储器阵列的磨损级别;
不工作的非易失性存储器阵列单元的数量;
从所述非易失性存储器阵列读取的数据量与写入所述非易失性存储器阵列的数据量的比率;以及
写入所述非易失性存储器阵列的连续数据量与写入所述非易失性存储器阵列的非连续数据量的比率。
5.根据权利要求4所述的数据存储系统,其中,所述控制器被进一步配置为响应于以下项中的至少一个,分配至少一些所述恢复的存储容量给所述预留空间部分的所述容量:
相比于磨损级别阈值的所述非易失性存储器阵列的所述磨损级别的增大;
相比于读/写阈值的从所述非易失性存储器阵列读取的所述数据量与写入所述非易失性存储器阵列的所述数据量的所述比率的增大;以及
相比于连续数据写阈值的写入所述非易失性存储器阵列的所述连续数据量与写入所述非易失性存储器阵列的所述非连续数据量的所述比率的减小。
6.根据权利要求4所述的数据存储系统,其中,所述控制器被进一步配置为响应于以下项中的至少一个,分配至少一些所述恢复的存储容量给所述用户数据部分的所述容量:
相比于不工作单元阈值的不工作的非易失性存储器单元的所述数量的增大;
相比于数据压缩阈值的所述用户数据压缩率的减小;
相比于预留空间阈值的所述预留空间部分的所述容量的增大;以及
相比于连续数据写阈值的写入所述非易失性存储器阵列的所述连续数据量与写入所述非易失性存储器阵列的所述非连续数据量的所述比率的增大。
7.根据权利要求1所述的数据存储系统,其中,所述控制器被进一步配置为使用无损压缩来压缩存储在所述用户数据部分中的所述至少一些用户数据。
8.根据权利要求1所述的数据存储系统,其中,所述数据存储系统进一步包括磁存储设备,并且其中,所述非易失性存储器阵列被配置为用于所述磁存储设备的缓存存储器。
9.根据权利要求1所述的数据存储系统,其中,所述控制器被进一步配置为响应于相比于非冗余数据阈值的所述测量值的增大,分配至少一些所述恢复的存储容量给所述用户数据部分的所述容量,所述测量值包括在所述非易失性存储器阵列中存储的非冗余数据的百分比。
10.根据权利要求1所述的数据存储系统,其中,所述非易失性存储器阵列被配置为针对远程数据存储设备的缓存存储器。
11.一种在包括非易失性存储器阵列的数据存储系统中动态调整预留空间部分的容量的方法,所述非易失性存储器阵列包括用户数据部分和所述预留空间部分,所述用户数据部分被配置为存储用户数据,所述方法包括:
压缩被存储在所述用户数据部分中的至少一些用户数据;
确定由于所述压缩而恢复的存储容量的量;
计算一个或更多个预留空间参数,所述一个或更多个预留空间参数包括在所述非易失性存储器阵列中存储的非冗余数据的量的测量值,所述非冗余数据包括不是永久地存储在除所述非易失性存储器阵列之外的所述数据存储系统的任何存储器中的数据;以及
至少部分基于所述一个或更多个预留空间参数,将所述恢复的存储容量分配给以下项中的至少一个:所述用户数据部分的容量和所述预留空间部分的所述容量,
其中,在控制器的控制下执行所述方法。
12.根据权利要求11所述的方法,其中所述分配包括至少部分基于所述一个或更多个预留空间部分中的每个的组合分配所述恢复的存储容量。
13.根据权利要求12所述的方法,其中,所述组合包括所述一个或更多个预留空间参数中的每个的加权平均值。
14.根据权利要求11所述的方法,其中,所述一个或更多个预留空间参数包括以下项中的至少一个:
用户数据压缩率;
所述预留空间部分的所述容量;
所述非易失性存储器阵列的磨损级别;
不工作的非易失性存储器阵列单元的数量;以及
从所述非易失性存储器阵列读取的数据量与写入所述非易失性存储器阵列的数据量的比率,写入所述非易失性存储器阵列的连续数据量与写入所述非易失性存储器阵列的非连续数据量的比率。
15.根据权利要求14所述的方法,其中所述分配包括响应于以下项中的至少两个,分配至少一些所述恢复的存储容量给所述预留空间部分的所述容量:
相比于磨损级别阈值的所述非易失性存储器阵列的所述磨损级别的增大;
相比于读/写阈值的从所述非易失性存储器阵列读取的所述数据量与写入所述非易失性存储器阵列的所述数据量的所述比率的增大;以及
相比于连续数据写阈值的写入所述非易失性存储器阵列的所述连续数据量与写入所述非易失性存储器阵列的所述非连续数据量的所述比率的减小。
16.根据权利要求14所述的方法,进一步包括响应于以下项中的至少两个,分配至少一些所述恢复的存储容量给所述用户数据部分的所述容量:
相比于不工作单元阈值的不工作的非易失性存储器单元的所述数量的增大;
相比于数据压缩阈值的所述用户数据压缩率的减小;
相比于预留空间阈值的所述预留空间部分的所述容量的增大;以及
相比于连续数据写阈值的写入所述非易失性存储器阵列的所述连续数据量与写入所述非易失性存储器阵列的所述非连续数据量的所述比率的增大。
17.根据权利要求11所述的方法,其中,所述压缩存储在所述用户数据部分中的所述至少一些用户数据包括使用无损压缩进行压缩。
18.根据权利要求11所述的方法,进一步包括磁存储设备,并且其中,所述非易失性存储器阵列被配置为用于所述磁存储设备的缓存存储器。
19.根据权利要求11所述的方法,其中,进一步包括响应于相比于非冗余数据阈值的测量值的增大,分配至少一些所述恢复的存储容量给所述用户数据部分的所述容量,所述测量值包括在所述非易失性存储器阵列中存储的非冗余数据的百分比。
20.根据权利要求11所述的方法,其中,所述非易失性存储器阵列被配置为针对远程数据存储设备的缓存存储器。
CN201380068657.5A 2012-12-26 2013-09-23 一种数据存储系统及用于数据存储系统的动态预留空间方法 Active CN105009091B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/727,150 US9141532B2 (en) 2012-12-26 2012-12-26 Dynamic overprovisioning for data storage systems
US13/727,150 2012-12-26
PCT/US2013/061242 WO2014105228A1 (en) 2012-12-26 2013-09-23 Dynamic overprovisioning for data storage systems

Publications (2)

Publication Number Publication Date
CN105009091A CN105009091A (zh) 2015-10-28
CN105009091B true CN105009091B (zh) 2018-01-02

Family

ID=50976032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380068657.5A Active CN105009091B (zh) 2012-12-26 2013-09-23 一种数据存储系统及用于数据存储系统的动态预留空间方法

Country Status (7)

Country Link
US (1) US9141532B2 (zh)
EP (1) EP2939119B1 (zh)
JP (1) JP6298475B2 (zh)
KR (1) KR101937521B1 (zh)
CN (1) CN105009091B (zh)
HK (1) HK1216046A1 (zh)
WO (1) WO2014105228A1 (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9612956B2 (en) 2013-03-15 2017-04-04 Seagate Technology Llc Multi-tiered caching for data storage management in a device
CN105094685B (zh) 2014-04-29 2018-02-06 国际商业机器公司 进行存储控制的方法和设备
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US10235056B2 (en) * 2014-09-26 2019-03-19 Western Digital Technologies, Inc. Storage device health diagnosis
US11086775B2 (en) * 2014-12-11 2021-08-10 Toshiba Memory Corporation Information processing device, non-transitory computer readable recording medium, and information processing system
US9785575B2 (en) 2014-12-30 2017-10-10 International Business Machines Corporation Optimizing thin provisioning in a data storage system through selective use of multiple grain sizes
US9606737B2 (en) 2015-05-20 2017-03-28 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US9639282B2 (en) 2015-05-20 2017-05-02 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
US10048876B2 (en) 2015-09-10 2018-08-14 Western Digital Technologies, Inc. Method for providing nonvolatile storage write bandwidth using a caching namespace
US10108350B2 (en) 2015-09-10 2018-10-23 Western Digital Technologies, Inc. Method for providing nonvolatile storage write bandwidth using a caching namespace
CN109358804B (zh) * 2015-09-29 2022-03-29 华为技术有限公司 一种数据处理方法、装置及闪存设备
US10002073B2 (en) * 2015-11-06 2018-06-19 SK Hynix Inc. Selective data recycling in non-volatile memory
US9990304B2 (en) * 2015-11-13 2018-06-05 Samsung Electronics Co., Ltd Multimode storage management system
AU2015383834B2 (en) * 2015-11-27 2018-07-19 Huawei Technologies Co., Ltd. Method for storing data by storage device and storage device
US9946483B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning
US9946473B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive
US10019372B2 (en) * 2015-12-16 2018-07-10 Western Digital Technologies, Inc. Caching sensing device data in data storage device
US10592110B2 (en) * 2016-02-19 2020-03-17 International Business Machines Corporation Techniques for dynamically adjusting over-provisioning space of a flash controller based on workload characteristics
CN105867851A (zh) * 2016-03-30 2016-08-17 联想(北京)有限公司 一种存储设备调整方法及装置
CN109690681B (zh) * 2016-06-24 2021-08-31 华为技术有限公司 处理数据的方法、存储装置、固态硬盘和存储系统
US10534716B2 (en) 2016-07-13 2020-01-14 Seagate Technology Llc Limiting access operations in a data storage device
US9842060B1 (en) * 2016-07-13 2017-12-12 Seagate Technology Llc Cache over-provisioning in a data storage device
US10838855B2 (en) * 2017-02-20 2020-11-17 Hitachi, Ltd. Storage system and storage control method
JP6697410B2 (ja) * 2017-03-21 2020-05-20 キオクシア株式会社 メモリシステムおよび制御方法
US11936645B2 (en) 2017-03-30 2024-03-19 Kingston Digital, Inc. Smart security storage system
US10880296B2 (en) * 2017-03-30 2020-12-29 Kingston Digital Inc. Smart security storage
KR102435890B1 (ko) * 2017-08-17 2022-08-25 삼성전자주식회사 스토리지 장치의 어드레스 맵핑 방법 및 동작 방법
CN107526547A (zh) * 2017-08-30 2017-12-29 四川长虹电器股份有限公司 基于android系统的EMMC兼容设计方法
US10983911B2 (en) * 2017-09-01 2021-04-20 Seagate Technology Llc Capacity swapping based on compression
CN110019083B (zh) * 2017-09-20 2023-01-24 阿里巴巴集团控股有限公司 分布式文件系统的存储方法、装置、电子设备及存储介质
US11132133B2 (en) 2018-03-08 2021-09-28 Toshiba Memory Corporation Workload-adaptive overprovisioning in solid state storage drive arrays
TWI673958B (zh) * 2018-08-30 2019-10-01 英屬開曼群島商捷鼎創新股份有限公司 基於抽樣猜測之資料壓縮方法
US11163482B2 (en) 2019-06-26 2021-11-02 International Business Machines Corporation Dynamic performance-class adjustment for storage drives
US11049570B2 (en) 2019-06-26 2021-06-29 International Business Machines Corporation Dynamic writes-per-day adjustment for storage drives
US11137915B2 (en) 2019-06-27 2021-10-05 International Business Machines Corporation Dynamic logical storage capacity adjustment for storage drives
US11726679B2 (en) * 2019-11-05 2023-08-15 Western Digital Technologies, Inc. Applying endurance groups to zoned namespaces
US11392436B2 (en) * 2020-04-01 2022-07-19 Western Digital Technologies, Inc. Advanced file recovery method for flash memory
US11709598B2 (en) * 2020-09-21 2023-07-25 EMC IP Holding Company LLC Dynamic overprovisioning of storage device
CN113093993B (zh) * 2021-03-25 2023-08-22 深圳大普微电子科技有限公司 一种闪存空间动态分配方法及固态硬盘
US11487450B1 (en) * 2021-05-14 2022-11-01 Western Digital Technologies, Inc. Storage system and method for dynamic allocation of control blocks for improving host write and read
US11561695B1 (en) * 2021-07-06 2023-01-24 EMC IP Holding Company LLC Using drive compression in uncompressed tier

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681305B1 (en) * 2000-05-30 2004-01-20 International Business Machines Corporation Method for operating system support for memory compression
US7093089B2 (en) 2003-08-18 2006-08-15 Hewlett-Packard Development Company, Lp. Systems and methods for storing data on computer systems
US7899917B2 (en) * 2007-02-01 2011-03-01 Microsoft Corporation Synchronization framework for occasionally connected applications
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
CN102203773B (zh) * 2008-09-19 2014-03-19 甲骨文国际公司 在具有卸载的布隆过滤器的智能存储器中利用协同并行过滤的哈希联接
US20100161909A1 (en) 2008-12-18 2010-06-24 Lsi Corporation Systems and Methods for Quota Management in a Memory Appliance
US20100161929A1 (en) 2008-12-18 2010-06-24 Lsi Corporation Flexible Memory Appliance and Methods for Using Such
US20100162065A1 (en) 2008-12-19 2010-06-24 Unity Semiconductor Corporation Protecting integrity of data in multi-layered memory with data redundancy
US8725946B2 (en) 2009-03-23 2014-05-13 Ocz Storage Solutions, Inc. Mass storage system and method of using hard disk, solid-state media, PCIe edge connector, and raid controller
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8479080B1 (en) * 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8214580B2 (en) * 2009-10-23 2012-07-03 International Business Machines Corporation Solid state drive with adjustable drive life and capacity
US9183134B2 (en) * 2010-04-22 2015-11-10 Seagate Technology Llc Data segregation in a storage device
US8489855B2 (en) * 2010-05-07 2013-07-16 Ocz Technology Group Inc. NAND flash-based solid state drive and method of operation
US8745278B2 (en) * 2010-10-13 2014-06-03 Rosemount Inc. Field device with self description
CN102135942B (zh) * 2010-12-31 2013-04-24 北京握奇数据系统有限公司 一种存储设备中实现损耗均衡的方法及存储设备
US8886990B2 (en) * 2011-01-27 2014-11-11 Apple Inc. Block management schemes in hybrid SLC/MLC memory
WO2012148828A2 (en) 2011-04-26 2012-11-01 Lsi Corporation Variable over-provisioning for non-volatile storage
US8913335B2 (en) 2011-05-23 2014-12-16 HGST Netherlands B.V. Storage device with shingled data and unshingled cache regions
US9678676B2 (en) * 2011-05-24 2017-06-13 Marvell World Trade Ltd. Method for storage devices to achieve low write amplification with low over provision
CN102521306A (zh) * 2011-12-01 2012-06-27 苏州迈科网络安全技术股份有限公司 一种数据存储系统应用方法

Also Published As

Publication number Publication date
JP2016507816A (ja) 2016-03-10
KR101937521B1 (ko) 2019-01-10
KR20150099834A (ko) 2015-09-01
EP2939119B1 (en) 2018-11-28
US20140181369A1 (en) 2014-06-26
HK1216046A1 (zh) 2016-10-07
WO2014105228A1 (en) 2014-07-03
EP2939119A4 (en) 2016-10-05
CN105009091A (zh) 2015-10-28
EP2939119A1 (en) 2015-11-04
US9141532B2 (en) 2015-09-22
JP6298475B2 (ja) 2018-03-20

Similar Documents

Publication Publication Date Title
CN105009091B (zh) 一种数据存储系统及用于数据存储系统的动态预留空间方法
US10430084B2 (en) Multi-tiered memory with different metadata levels
CN103608782B (zh) Lsb页面和msb页面中的选择性数据存储
US8046526B2 (en) Wear leveling method and controller using the same
US9292440B2 (en) Adaptive over-provisioning in memory systems
US8819336B2 (en) Nonvolatile memory system and related method of preserving stored data during power interruption
US8819334B2 (en) Solid state drive data storage system and method
CN105573681B (zh) 一种ssd盘片内部raid组建方法及系统
CN109992530A (zh) 一种固态驱动器设备及基于该固态驱动器的数据读写方法
CN107003942A (zh) 对用于增强存储设备的性能和持久性的解除映射命令的处理
US20160179403A1 (en) Storage controller, storage device, storage system, and semiconductor storage device
CN109901794A (zh) 使用主机空闲来操作垃圾收集的设备和方法
CN102043721B (zh) 闪存存储管理方法
CN106371761A (zh) 内存系统以及非易失性内存的控制方法
CN106569748A (zh) Flash文件系统的数据处理方法和装置
CN103688247A (zh) 混合slc/mlc存储器中的块管理方案
CN105074676A (zh) 数据存储系统的数据的多个流压缩和格式化
CN109240937A (zh) 数据存储装置及其操作方法
DE102021115500A1 (de) Hostverwaltete hardwarekomprimierung mit gezonten namensräumen
Bu et al. The optimization of the hierarchical storage system based on the hybrid ssd technology
US9348741B1 (en) Systems and methods for handling write data access requests in data storage devices
CN111338975A (zh) 面向多流的垃圾回收方法及其存储设备
CN114911631B (zh) 基于持久内存技术的全局资源管理方法及系统
Drossel Methodologies for calculating ssd useable life
CN112527692A (zh) 数据储存装置以及非挥发式存储器控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1216046

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1216046

Country of ref document: HK