用于数据存储系统的动态预留空间的制作方法

文档序号:9291648阅读:567来源:国知局
用于数据存储系统的动态预留空间的制作方法
【技术领域】
[0001]本公开涉及用于计算机系统的数据存储系统。具体而言,本公开涉及用于数据存储系统的动态预留空间(overprovis1ning)。
【背景技术】
[0002]数据存储系统执行许多系统任务和管理操作,例如其正常操作过程中的垃圾收集、损耗均衡、坏块管理等。执行系统任务和管理操作涉及实质性的开销,例如在将非易失性固态存储器用于存储数据的情况中增大的写入放大。因此,希望提供更有效的机制以便执行管理操作。
【附图说明】
[0003]将参考以下附图来说明体现本发明的各种特征的系统和方法,在附图中:
[0004]图1示出了根据本发明一个实施例的实施动态预留空间的主机系统和数据存储系统的组合。
[0005]图2示出了根据本发明一个实施例的预留空间参数。
[0006]图3示出了根据本发明一个实施例的动态预留空间。
[0007]图4示出了根据本发明一个实施例的动态预留空间过程的流程图。
【具体实施方式】
[0008]尽管说明了特定实施例,但仅是示例性地呈现这些实施例,并非旨在限定保护的范围。实际上,本文所述的创新的方法和系统可以以各种其他形式来体现。而且,在不脱离保护范围的情况下,可以在本文所述的方法和系统的形式上做出各种省略、替换、以及变化。
[0009]概述
[0010]数据存储系统执行许多管理操作,例如其正常操作过程中的垃圾收集、损耗均衡、坏块管理等。执行管理操作涉及实质性的开销,例如在将非易失性固态存储器(NVSM)用于存储数据的情况中增大的写入放大。在某些情况下,为了改进数据存储系统的效率、寿命、以及性能,分配额外的存储器以执行系统任务和/或管理操作可能是有利的。但为系统和/或管理任务分配额外的存储器典型地以减少用于用户数据的存储容量为代价来进行。而数据存储系统典型地向主机系统报告给定存储容量,这个报告的存储容量通常不能在数据存储系统的操作期间被修改。
[0011]本发明的实施例针对用于动态预留空间的系统和方法。数据存储系统可以为预留空间保留诸如NVSM缓存存储器的存储器的部分。预留空间部分可以用于有效地执行系统任务和/或管理操作。例如,预留空间部分可以用于减小例如与向NVSM缓存写入数据相关联的写入放大。数据存储系统可以通过压缩存储在NVSM缓存中的数据来恢复存储容量。取决于各种预留空间因素,恢复的存储容量的部分或全部量可以被分配用于预留空间或用于存储用户数据。例如,当由于主机系统活动,应缓存在NVSM中的用户数据量增大时,部分或全部恢复的存储容量可以被用于存储用户数据。作为另一个示例,当NVSM的磨损级别超过阈值时,整个恢复的存储容量的部分可以被用于预留空间。恢复的存储容量的这种动态分配可以改进效率和性能。
[0012]在一个实施例中,数据存储系统可以包括非易失性存储器阵列,其具有被配置为存储用户数据的用户数据部分。另外,可以保留预留空间部分。在压缩了用户数据后,可以确定恢复的存储容量的量。基于一个或多个预留空间参数,数据存储系统可以分配恢复的存储容量,用于存储用户数据和/或预留空间部分。
[0013]系统概沐
[0014]图1示出了根据本发明一个实施例的实施基于优先级的垃圾收集的主机系统和数据存储系统的组合100。如所示的,数据存储系统120 (例如混合盘驱动器)包括控制器130和非易失性存储器阵列150及磁存储设备160,其包括磁性介质164(例如传统的或叠瓦式(shingled))。非易失性存储器阵列150可以包括非易失性固态存储器(NVSM),例如闪存集成电路、硫属化合物RAM(C-RAM)、相变存储器(PC-RAM或PRAM)、可编程金属化单元RAM(PMC-RAM 或 PMCm)、0vonic Unified Memory (OUM)、电阻 RAM(RRAM)、NAND 存储器(例如单级单元(SLC)存储器、多级单元(MLC)存储器、或其任意组合)、NOR存储器、EEPR0M、铁电存储器(FeRAM)、磁阻RAM(MRAM)、其他分立NVM(非易失性存储器)芯片,或其任意组合。非易失性存储器阵列150可以包括一个或多个存储器区,例如块、页等。存储器区可以包括存储器单元。在一个实施例中,非易失性存储器阵列150可以充当用于磁存储设备160的缓存。数据存储系统120可以进一步包括其他类型的存储设备。在一个实施例中,磁存储设备160可以被配置为叠瓦式磁存储设备,非易失性存储器阵列150被配置为用作叠瓦式磁存储设备的介质缓存。
[0015]控制器130可以被配置为从主机系统110的存储接口模块112(例如设备驱动器)接收数据和/或存储访问命令。由存储接口 112传送的存储访问命令可以包括由主机系统110发出的写数据和读数据命令。读和写命令可以指定逻辑地址(例如逻辑块地址或LBA),其用于访问数据存储系统120。控制器130可以在非易失性存储器阵列150中执行接收的命令。
[0016]数据存储系统120可以存储由主机系统110传送的数据。换句话说,数据存储系统120可以充当用于主机系统110的存储器存储设备。为了便于该功能,控制器130可以实施逻辑接口。逻辑接口可以将数据存储系统的存储器作为可以存储用户数据的逻辑地址集合(例如相连的地址)而呈现给主机系统110。在内部,控制器130可以将逻辑地址映射到非易失性存储器阵列150、磁存储设备160、和/或其他存储模块中的各种物理单元或地址。物理单元可以被配置为存储数据。控制器130包括动态预留空间模块132,其被配置为执行动态预留空间,以及数据压缩模块134,其被配置为压缩数据以便存储于非易失性存储器阵列150和/或磁存储设备160中。
[0017]在其他实施例中,代替磁存储设备160,数据存储系统120可以包括另一类数据存储设备,例如第二非易失性存储器阵列。例如,非易失性存储器阵列150可以包括一类存储器,其提供比用于第二非易失性存储器阵列中的存储器类型更快的写/读性能。在一些实施例中,非易失性存储器阵列150可以充当到远端地点的数据存储设备的缓存,数据的同步可以通过一个或多个网络连接发生。
[0018]动杰预留苧间
[0019]图2示出了根据本发明一个实施例的预留空间参数200。如所示的,预留空间参数是:用户数据压缩率202、不工作的非易失性存储器阵列150单元的数量204、从非易失性存储器阵列150读取的数据量与写入非易失性存储器阵列150的数据量的比率206、写入非易失性存储器阵列150的连续数据量与写入非易失性存储器阵列150的非连续数据量的比率208、当前预留空间级别210、存储在非易失性存储器阵列150中的非冗余数据的百分比212、及非易失性存储器阵列150的磨损级别214。非冗余数据包括存储在非易失性存储器阵列150中、但没有与其他存储介质(非易失性存储器阵列150充当其缓存,例如磁存储设备160)同步的数据。可以使用额外的预留空间参数。预留空间参数可以由控制器1
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1