动态存储设备自动配置.pdf

上传人:32 文档编号:177124 上传时间:2018-01-31 格式:PDF 页数:14 大小:1.41MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410090437.9

申请日:

2014.03.12

公开号:

CN104049907A

公开日:

2014.09.17

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 3/06申请日:20140312|||公开

IPC分类号:

G06F3/06

主分类号:

G06F3/06

申请人:

希捷科技有限公司

发明人:

A·M·考勒斯

地址:

美国加利福尼亚州

优先权:

2013.03.13 US 13/801,490

专利代理机构:

上海专利商标事务所有限公司 31100

代理人:

何焜

PDF下载: PDF下载
内容摘要

本申请公开了动态存储设备自动配置。提供了用于将存储介质的存储空间分配成永久分配介质高速缓存存储区域、动态映射介质高速缓存存储区域以及静态映射存储区域的方法或系统,其中所述动态映射介质高速缓存存储区域用于性能和/或可靠性增强功能。

权利要求书

1.  一种存储设备,包括:
存储介质;以及
处理器,其配置为将所述存储介质的存储空间分配成:(i)永久分配介质高速缓存存储区域;(ii)动态映射介质高速缓存存储区域;以及(iii)静态映射存储区域。

2.
  如权利要求1所述的存储设备,其中所述处理器进一步配置为报告可用存储容量等于所述动态映射介质高速缓存存储区域的大小与所述静态映射存储区域的大小之和。

3.
  如权利要求1所述的存储设备,其中所述处理器进一步配置为使用所述永久分配介质高速缓存存储区域和所述动态映射介质高速缓存存储区域中的每一个用于性能增强功能。

4.
  如权利要求1所述的存储设备,其中所述处理器进一步配置为:
判定逻辑块地址(LBA)映射的不同区段的使用模式;以及
将所述LBA映射的第一区段映射到所述动态映射介质高速缓存存储区域,其中与所述LBA映射的其它区段相比较不频繁地使用所述LBA映射的所述第一区段。

5.
  如权利要求1所述的存储设备,其中所述处理器进一步配置为:
将牵制到所述动态映射介质高速缓存存储区域的写请求数据与牵制到晶体映射存储区域的写请求数据分离;以及
将牵制到所述动态映射介质高速缓存存储区域的所述写请求数据动态地映射到所述动态映射介质高速缓存存储区域。

6.
  如权利要求1所述的存储设备,其中所述处理器进一步配置为:动态地改变所述动态分配介质高速缓存存储区域的映射区段的大小与所述动态分配介质高速缓存存储区域的非映射区段的大小的比值。

7.
  如权利要求6所述的存储设备,其中所述处理器进一步配置为:基于所述动态分配介质高速缓存存储区域的映射区段的大小与所述动态分配介质高速缓存存储区域的非映射区段的大小的比值来改变性能增强功能。

8.
  一种方法,包括:
将非易失性存储介质的存储空间分配成:(i)永久分配介质高速缓存存储区域;(ii)动态映射介质高速缓存存储区域;以及(iii)静态映射存储区域,其中所述动态映射介质高速缓存存储区域用于性能增强功能。

9.
  如权利要求8所述的方法,其中所述非易失性存储介质是(1)磁盘驱动器存储介质,以及(2)混合磁盘驱动器存储介质中的至少一种。

10.
  如权利要求8所述的方法,还包括非映射来自所述动态映射介质高速缓存存储区域的逻辑块地址(LBA)的初始区段,以及将所述LBA的一个以上不同区段映射到所述动态映射介质高速缓存存储区域。

11.
  如权利要求10所述的方法,其中非映射来自所述动态映射介质高速缓存存储区域的LBA的初始区段以及将LBA的不同区段映射到动态映射介质高速缓存存储区域是响应于从释放LBA的初始区段的子集的主机接收到修整命令而进行的。

12.
  如权利要求8所述的方法,还包括:
判定LBA映射的多个区段的使用模式;以及
非映射来自所述动态映射介质高速缓存存储区域的LBA的第一区段以及将LBA的第二区段映射到所述动态映射介质高速缓存存储区域,
其中LBA的所述第一区段的至少部分被判定为比LBA的所述第二区段的至少部分使用更加频繁。

13.
  如权利要求8所述的方法,还包括:
接收写请求;
将牵制到所述动态映射介质高速缓存存储区域的写请求数据与牵制到静态映射存储区域的写请求数据分离;以及
将牵制到所述动态映射介质高速缓存存储区域的所述写请求数据动态地映射到所述动态映射介质高速缓存存储区域。

14.
  如权利要求13所述的方法,还包括:将牵制到静态映射存储区域的写请求数据静态地映射到所述静态映射存储区域。

15.
  如权利要求13所述的方法,还包括:基于所述动态映射介质高速缓存存储区域的映射区段的大小与所述动态映射介质高速缓存存储区域的非映 射区段的大小的比值来改变性能增强功能。

16.
  如权利要求15所述的方法,还包括:
比较所述动态映射介质高速缓存存储区域的映射区段的大小与所述动态映射介质高速缓存存储区域的非映射区段的大小的比值;以及
如果所述比值在阈值之上,则利用所述动态映射介质高速缓存存储区域来终止以用于性能增强功能。

17.
  一种存储系统,包括:
存储介质;
处理器,其配置为判定所述存储介质的期望使用模式并且基于所述期望使用模式来判定预留空间的大小。

18.
  如权利要求17所述的存储设备,其中所述处理器进一步配置为:基于所述期望使用模式将所述存储介质的存储空间分配成:(i)永久分配介质高速缓存存储区域;(ii)动态映射介质高速缓存存储区域;以及(iii)静态映射存储区域。

19.
  如权利要求18所述的存储设备,其中所述处理器进一步配置为:报告可用存储容量等于动态映射介质高速缓存存储区域的大小与所述静态映射存储区域的大小之和。

20.
  如权利要求18所述的存储设备,其中所述处理器进一步配置为:使用所述永久分配介质高速缓存存储区域和所述动态映射介质高速缓存存储区域中的每一个用于性能增强功能。

说明书

动态存储设备自动配置
背景技术
随着对数据存储、检索和分析的要求提高,对于更廉价且更快速的数据存储设备的需求也增长。诸如磁盘驱动器、固态驱动器等数据存储设备利用诸如磁记录、光记录等不同的存储技术将数据存储在不同的记录介质上。磁盘驱动器广泛地用作计算系统中的数据存储设备。为了满足增长的需求,磁盘驱动器供应商已经增大了磁盘驱动器的容量以及磁盘驱动器上的记录密度。同时,由于用户要存储和处理大量的数据,存储设备供应商处于以更廉价成本提供存储容量的压力之下。
发明概述
提供该概述是为了以简化形式引入下文在发明详述部分中进一步说明的构思的选择。该概述不意在确定权利要求主题的关键特征或必要特征,也不意在用于限定权利要求主题的范围。权利要求主题的其它的特征、细节、用途和优点将从下面的更具体撰写的各种实施方式的详细说明以及如在附图中进一步阐明且在随附权利要求书中限定的各种实施方式中变得显然。
用于将存储介质的存储空间分配成永久分配“介质高速缓存”存储区域、动态映射介质高速缓存存储区域以及静态映射存储区域的方法或系统,其中动态映射介质高速缓存存储区域用于性能增强功能。
这些以及各种其它的特征和优点将通过阅读下面的发明详述而显然。
附图说明
通过下面的描绘了结合附图阅读的各种实施方式的发明详述能够最佳地理解所描述的技术。
图1示出了用于介质的动态预留空间的系统的实现方案的框图。
图2示出了用于介质的动态预留空间的可选实施方案的框图。
图3示出了用于介质的动态预留空间的可选实施方案的框图。
图4示出了用于在数据存储系统中提供介质的动态预留空间的操作的实施例。
图5示出了用于在数据存储系统中提供介质的动态预留空间的操作的另一实施例。
图6示出了显示出用于性能增强功能的到动态映射存储区域的目标写的效果的实施例曲线图。
发明详述
在下面的说明中,为了说明的目的,阐述了多方面的具体细节是为了提供对本文所描述的各个实施方案的全面理解。虽然各个特征属于特定实施方案,但是应当理解的是结合一个实施方案所描述的特征同样可与其它实施方案合并。然而,出于同样的原因,任何所描述的实施方案的单个特征或多个特征都不应被视为必要的,因为其它实施方案可省去这些特征。
随着对数据存储、检索和分析的要求增长,对于更廉价且更快速的数据存储设备的需求也增长。磁盘驱动器广泛地用作数据存储设备计算系统。这种数据存储设备包括将数据存储在磁性介质、光学介质等上的磁盘驱动器。为了满足增长的需求,数据存储供应商已经增大了存储设备的尺寸以及存储设备的密度。基本上存储供应商提供给其客户的每一个字节的存储容量都附有成本。例如,该成本可按每太字节几美元等来规定。一般地,对于磁盘驱动器供应商和其它存储容量供应商,产生更大的存储容量成本更高。然而,由于存储行业的竞争本质,存储供应商能够从其客户提取的价格受市场力量限制。因此,存储供应商有动机降低出售给其客户的存储的成本以提高其利润率和/或保持有竞争力。
增加存储供应商每存储容量成本或者降低出售给其客户的每存储容量收益的因素之一是存储容量的预留空间,其中存储供应商提供比所出售的或报告给其客户的更多的物理存储容量。当从都宣传相同容量的两个不同制造商购买两个不同设备时,会遇到这种情况的实施例。能够观察到,设 备报告略不同的容量。在该背景下,预留空间涉及到生产和运送比所出售或宣传给客户或市场的更多的实际存储容量。因此,例如,如果1TB的存储容量出售给客户,则存储供应商实际上生产了多百分之一的容量,这样1.1TB的存储容量提供给客户。在这种情况下,虽然存储供应商能够获得实质上仅1TB的收益,这招致用于生产和提供1.1TB存储容量的成本。
服务供应商使用预留空间存在多方面原因。例如,对于NAND驱动器形式的存储,预留空间确保了,即使在存储介质最终耗损(NAND闪存耗尽)之后,客户仍具有出售给客户的某最小存储。对于磁盘驱动器形式的存储,普通术语‘预留空间’因多方面原因而被使用。此处讨论的预留空间用于提升磁盘驱动器的性能度量,诸如平均访问时间等。磁盘驱动器存储供应商有动机增大预留空间的大小以进一步提高磁盘驱动器的性能。然而,无论何时增大预留空间的量,每单位存储容量的成本也增加。因此,对于出售为具有1TB存储容量的磁盘驱动器,如果预留空间从10%增加到20%,则每TB存储容量的成本也增加了20%,而供应商不能从客户回收该成本。这样,在提供增加的预留空间方面,在预留空间成本和预留空间所获得的性能受益之间存在权衡。
本文所提供的实施方式动态地映射用于预留空间的存储空间的至少部分。例如,对于具有1.1TB(1100GB)的总存储容量的磁盘驱动器,其中0.1TB(100GB)用于预留空间,动态地映射0.1TB的预留存储空间的至少部分。例如,对于具有1.1TB总容量的磁盘驱动器,不是提供0.1TB存储区域用于预留空间,实质上仅提供0.01TB(10GB)的存储区域用于预留空间。存储容量的另外的1.9TB(90GB)被动态地映射并且其用于性能增强功能。在该实施方式中,动态地映射存储设备的非频繁使用或很少使用的区域。例如,给定0.01TB的非映射区域用于预留空间以及1.09TB的映射存储区域,动态地映射0.09TB的映射存储区域,并且该动态映射的存储区域用于一般使用预留的存储区域来执行的性能提高功能。
图1公开了用于存储介质的动态预留空间的系统100。具体地,系统100包括计算设备102,计算设备具有处理器104,处理器与存储设备110可通信地连接。虽然系统100被图示为具有在计算设备102之外的存储设 备110,在可选的实施方式中,存储设备110可在计算设备102之内。存储设备110可以是例如磁盘驱动器、光盘驱动器、闪存驱动器等。存储设备110包括存储控制器112和存储介质114。存储控制器112配置为接收来自计算设备102的存储命令且处理存储命令以从存储介质114读取数据,将数据写入存储介质114,控制读/写头的移动(如果需要),等等。
在一种实施方式中,存储介质114被分成多个存储区域。例如,在存储设备110是磁盘驱动器的情况下,存储介质114被分成多个区域,每个区域由磁盘驱动器上的一个以上的扇区构成。系统100通过存储区域120图示出存储介质114的整体存储容量。如系统100中所示,存储区域120包括多个不同的存储区域122、124、126等。在一种实施方式中,存储控制器112通过保持存储介质114上的磁道和扇区到存储区域120中指定的各存储区域的内部映射来保持存储介质114划分成各个存储区域。例如,对于磁盘驱动器存储设备,磁盘上的一些扇区可分配给存储区域122,而磁盘的其它扇区可分配给存储区域126。
在一种实施方式中,存储控制器112还生成存储区域122、124、126的映射并且将存储区域122、124、126的映射存储到逻辑块地址(LBA)。具体地,存储介质114的可用存储区域映射到LBA。在该实施方式中,存储区域120也划分成多个块,并且每个块被赋予逻辑块地址(LBA)。例如,存储区域122-126中的每一个可以包括多个块,这些块中的每个都映射到LBA。
此外,存储控制器112还可以实现LBA到可用于处理器104或可用于需要访问存储介质114的其它设备的存储区域的映射。另外可选地,存储控制器112还可以将存储介质114的存储容量传送到这些外部设备。由于数据被写到存储介质114上,所以存储控制器了解哪些存储区域已经使用以及哪些存储区域仍可用于额外存储。响应于将额外数据写到存储介质114的请求,存储控制器112判定存储区域122、124、126中的一个或多个上存储的可用性,并且判定用于存储该额外数据的目的地存储区域。例如,如果存储控制器112判定出存储区域126已经用于存储数据,则存储额外数据的新请求被引导至存储区域122、124等。
在一种实施方式中,存储区域122、124、126等被指定为静态映射或动态映射存储区域。在该实施方式中,LBA到存储区域的映射取决于既定区域是否是静态分配的还是动态分配的。在静态分配的存储区域中,一旦既定的物理存储地址被映射到LBA,该映射在未来不会改变。另一方面,在动态映射区域,存储控制器112可动态地改变LBA到物理地址的映射。
存储区域120划分成静态和动态分配的区域允许存储控制器112动态地改变存储介质114的预留空间。例如,假定存储区域120的总存储容量是1.1TB,存储控制器112可以报告1.09TB作为可用存储容量,同时仍提供最小0.1TB的性能提高介质高速缓存用于存储设备110的整体寿命。存储控制器112通过动态映射存储区域120的至少部分里实现这种预留空间。在图1所示的实施例中,其中存储区域120的总存储容量是1.1TB,有1.0TB的存储区域122被指定为静态映射的。有0.09TB容量的存储区域124以及有0.01TB容量的存储区域126被动态映射。此外,存储控制器112将存储区域122和124(在图1中称为130)的组合容量报告为用于存储设备110的总的可用容量。在这种情况下,区域124和126(在图1中称为140)的组合存储区域用作用于各种性能增强目的的介质高速缓存,诸如数据的临时复制、错误校验、数据分类等。介质高速缓存的其它用途包括提高越来越难管理的一些主机工作负荷中提高随机写性能。可选地,介质高速缓存还可通过存储用于所存储的主机数据的额外奇偶性(错误校正信息)而用于提高可靠性。另外可选地,介质高速缓存还可通过在特定主机工作负荷对于驱动可靠性尤其差的情况下使得所谓“工作放大”效应最小化而用于满足保证要求。结果是,动态映射存储区域124既被报告为可用的,同时又用作介质高速缓存,用于性能增强以及其它的功能。
在该实施方式中,虽然动态映射存储区域124用于一种或多种性能或可靠性增强功能,但是存储区域124的存储容量还作为可用空间被报告给主机。换言之,存储区域124既用于存储数据,又用于性能增强功能。在另外的实施方式中,用于性能增强功能的动态映射存储区域124被映射到存储介质的不频繁使用或最少使用的存储区域上。在这种实施方式中,更可能使用的LBA空间的区段被映射到静态映射存储区域122。将主机可寻 址LBA空间的较不频繁访问的区段映射到动态映射存储区域124确保了动态映射存储区域124可用于存储设备110的寿命期间大部分的性能增强功能。
在实施方式中,动态预留空间的量可以基于使用存储设备110的客户的类型、使用存储设备110的市场,等等。例如,如果存储设备110由消费者在家中个人使用,极可能的是LBA空间的大部分区段极不可能被使用或者极不频繁使用。在这种情况下,存储区域120的较大部分被动态映射为动态映射存储区域124的部分,并且极小部分被指定为预留存储区域126。换言之,在这种存储设备的目标使用中,报告给客户的总存储空间120的百分比极高。另一方面,如果存储设备110在LBA空间的大部分极可能极频繁使用的工业中,则指定的预留存储区域126须较大以保持性能水平。结果,在这种情况下,报告给客户的总存储空间120的百分比比存储设备100由消费者使用的情况较低。
图2图示出存储设备的全部容量的映射200。具体地,图2图示出LBA映射210和存储设备的实际物理容量220之间的映射。在图示的实施方式中,存储控制器判定LBA映射210的各个区域的使用模式。这样,例如,在图2中,区域212被判定为具有平均使用,区域214被判定为极少使用,而区域216和218被判定为频繁使用或超出平均使用。在一种实施方式中,个区域的初始使用模式是基于根据对现有产品的工作负荷的监控的历史使用模式来判定的。在可选的实施方式中,使用模式以及因此一些LBA到动态区域的映射是在存储设备的生命周期内动态地判定的,但是映射的初始状态可基于如上所述的历史使用数据。
如LBA映射210所报告的存储设备的存储容量略低于存储介质的物理容量220。例如,如果物理容量220是1.10TB,则按照LBA映射210报告的存储容量被设定成1.09TB。0.01TB的物理存储容量的差值用作最小介质高速缓存大小,用于各种功能,包括性能增强和系统资源管理。图2图示出这种0.01TB的最小介质高速缓存226。介质高速缓存226的存储空间被动态地映射,并且不报告为可用存储容量。此外,存储容量220的其余部分被分成静态映射区域222以及动态映射区域224。存储控制器将LBA 映射210的极少使用的区域214映射到动态映射区域224,如240所图示的。例如,动态映射区域224的大小可以是0.09TB,指定为介质高速缓存的存储区域226的大小等于0.01TB,并且静态映射区域222的大小等于1.0TB。在这种情况下,当存储设备首次投入使用(用户数据尚未写入设备中)时,存储区域222和224的组合容量等于1.09TB,能够作为容量报告给主机/用户。同时,存储区域224和226的组合容量等于0.1TB,能够用作介质高速缓存,用于性能增强和/或可靠性增强功能。
在主机使用的各种操作系统中,主机可以使用“主机修整命令”或等同命令(其表示主机可对一些LBA进行写操作),然后对其进行“修整”以使主机设备不再需要将那些LBA看作“有效”或“已写”。例如,在图2中,操作系统可初始地频繁将数据写入LBA空间218。在该情况下,LBA空间218不映射到动态映射区域224。随着LBA空间210在设备的生命周期内使用,极少使用的区域214会越来越多地使用,而使得越来越少的动态使用的区域可用于各种介质高速缓存或性能增强功能。在这种方案中,如果主机发出修整命令以释放被视为频繁使用的LBA空间218中的一些空间,则控制器可以动态地改变LBA空间210到物理存储容量220的映射,而使得现在新释放的LBA空间218被映射(如242所图示)到动态映射存储区域224,而不是之前的LBA空间214到动态映射存储区域224的映射240。而且,这种LBA空间210的各个区段到物理存储容量220的映射的动态改变可响应于LBA空间210的使用模式的其它变化而进行。
在可选的实施方式中,LBA空间210的各个区段到物理存储容量220的这种动态映射可以不基于主机对LBA空间210的一个或多个区段的释放。相反,系统可以监控LBA空间210的使用并且基于对于这些区段的使用模式的变化来判定这种重新映射。这样,例如,如果控制器判定出被映射到动态映射存储区域224的第一LBA空间在使用模式上发生变化,则控制器可以动态地将第一LBA空间重新映射到物理存储容量220的其它一些区段,然后将来自LBA空间210的第二LBA空间映射到动态映射存储区域224。以此方式,被映射到动态映射存储区域224的LBA本身被动态地映射。这使得系统可以适应如下情形:预期极少使用且因此被映射到动态 映射存储区域224的LBA空间不可预期地大量使用。由于这种动态分配,在这种非可预期的情形下保持了提供动态映射存储区域224的性能增强以及其它优势。此外,来自动态映射区域224的LBA空间210的一些区段的动态非映射以及随后LBA空间210的一些其它区段到动态映射区域224的映射可在存储设备的使用生命周期内继续。这种继续的非映射和重新映射提供了对动态映射区域224的持续使用,用于各种性能增强功能、可靠性增强功能等等。
当用户开始使用存储介质时,除非且直到用户/主机将1.0TB的整个静态映射存储容量视为有效,否则动态映射区域224和226两者一起用于各种性能增强功能。这样,只要1.0TB的整个静态映射容量不被视为有效,0.1TB的存储容量就可用于性能增强功能,尽管提供了实质上仅0.01TB的空间作为永久介质高速缓存226。因此,用户或主机设备不会觉察到性能水平的任何下降,即使是最小尺寸的永久分配介质高速缓存226。假设大部分时候,用户(尤其是消费者市场的用户)最终不使用其存储设备的整个容量,在存储设备的生命周期的大部分时间内存储设备的性能不会受损。
当用户以特定方式将数据写入存储设备时,在数据从这些区域移至其最终目的地之前,动态映射区域224以及介质高速缓存226能够用于临时存储数据,处理数据,对数据进行分类,等等,该最终目的地可能在静态映射区域222中。结果是,假设总的动态映射容量的大小比介质高速缓存226的大小大得多,用户所觉察到的存储设备的性能不会下降。同时,存储设备制造商能够将较大的可用容量报告给用户,从而降低提供存储的有效成本。
随着诸如主机设备的用户开始使用越来越来的存储容量且保持越来越来的存储容量有效,极可能的是,即使当LBA映射的不频繁使用区段214被映射到动态映射存储区域224时,动态映射区域224的一些使用可能会发生以用于存储。例如,主机设备可能唯一地请求写到LBA区段214中的LBA,这使得写到动态自动配置的存储区域224。在这种情况下,由主机提供的数据“被牵制”到动态映射区域224中的某个区域230。结果是,动态映射区域224中的可用于性能增强功能的存储空间的量减小了区域230中 的“牵制”在介质高速缓存中的数据大小。牵制意味着数据永久地驻留在介质高速缓存中。随着越来越多的数据被牵制到动态映射区域224中,存储设备使用动态映射存储区域224提供性能增强功能的能力下降,导致一些可能的性能下降。
在一种实施方式中,当数据被牵制到动态映射区域224内的任何位置时,控制器管理该数据在动态映射区域224中的最终停靠位置。例如,写到区域230的数据可移至动态映射区域224中的某可选位置。牵制到动态映射区域224的数据的这种动态映射使得能够更高效地使用动态映射区域224以用于性能增强功能。注意的是,如果控制器仍在管理牵制数据,则这种牵制数据仍必须从该最终停靠位置移开。
图3图示出能够用于性能增强功能的动态映射区域300的扩大视图的实施例。具体地,动态映射区域300已经接收到到多个不同位置302、304、306等的主机写。如图所示,主机写定位在动态映射区域300内的全异位置上。结果,用于诸如对数据分类、预处理数据等性能提高功能的动态映射区域300的使用受到不利影响。在一种实施方式中,从主机写请求到位置302、304、306的数据被动态映射到位置302a、302b、302c,如动态映射区域320所图示。由于这种动态映射,动态映射区域320的较大区段330仍可用于性能增强功能。结果是,区段330连同预留且指定为介质高速缓存的存储区域一起能够用于各种性能和可靠性增强功能。关于动态映射区域320的映射的信息可存储在被指定为介质高速缓存的预留存储区域中,以及存储设备上的其它个位置上。
动态映射的性能/可靠性增强能力可基于动态映射区域300的映射部分与动态映射区域300的非映射区域之比来判定。由于主机到动态映射区域300的目标写而使得被映射的动态映射区域300的量越高,映射与非映射之比越高,动态映射区域300的性能增强能力越低。另一方面,映射与非映射之比越低表明动态映射区域300的大部分可用于性能增强操作。任意数据既被映射又不被映射也是可能的。
当动态映射区域300映射到不频繁使用或不使用的LBA空间时,动态映射区域300的映射区域与非映射区域之比能够保持得足够低以使由动态 映射区域300提供的性能增强功能基本恒定。同时,通过提供动态映射区域300,存储设备供应商能够减小预留作为介质高速缓存的存储区域的大小,从而提供较低成本来产生较高容量。此外,通过提供动态映射区域300,存储供应商能够基本上将介质高速缓存大小与实现鳗鱼的介质性能和可靠性所需的预留空间之间的关系解耦。
图4图示出确定用于性能增强功能的动态分配存储区域的大小的方法的实施例流程图400。操作402判定存储设备的目标使用。例如,存储设备的目标使用可能在消费者的个人计算机中,如光纤通道网络存储设备等。根据目标用户类型,存储设备可以不同方式使用。操作404判定目标用户的使用模式。例如,作为使用存储设备用于个人用途的消费者的终端用户不大可能使用基本上全部所提供的存储空间。另一方面,使用存储设备作为数据服务器的公司终端用户会极频繁地对大部分存储空间进行存取。此外,操作404还判定终端用户的性能增强要求。
操作406基于目标用户的使用模式、性能增强要求等来判定将为存储设备提供的预留空间的量。例如,对于要求更快性能的目标用户,操作406可判定为提供比其它用户更多的预留空间,等等。随后,操作408判定存储空间的哪部分被配置为动态映射存储区域。操作408可基于目标用户的使用模式等做出这样的判定。
操作410判定LBA空间的不频繁使用的区段。例如,该不频繁使用的空间可以基于历史使用模式数据。可选地,可在存储设备已处于现场且暴露于用户存取模式之后在运行时动态地确定不频繁使用或不使用的空间。另外可选地,“不频繁使用的”区域对于每个用户/主机可能不同。操作412将LBA空间的不频繁使用的区段映射到动态映射存储区域。由于LBA空间的这些区段不频繁使用,所以存储空间的动态映射区域不大可能具有频繁的存取请求。这使得更高效地使用动态分配的存储区域用于性能增强功能。操作414监控动态映射存储区域的使用。具体地,操作414可以监控动态映射存储区域的映射部分与非映射部分之比。在一种实施方式中,操作416基于动态映射存储区域的非映射部分的大小与动态映射存储区域的映射部分的大小之比来改变一种或多种性能增强操作。例如,基于该比值, 操作416可以开始使映射到极少使用区域的数据进行非映射并且将其与映射到经常使用区域的数据进行交换,使得来自经常使用区域的数据被映射到介质高速缓存并且来自极少使用区域的数据被映射到其最终停靠位置。例如,如果该比值被判定为超过阈值,则动态映射存储区域不再用于任何性能增强功能。
图5图示出用于在数据存储系统中提供介质的动态预留空间的操作的实施例流程图500。具体地,操作502接收到存储介质的写请求。操作504对写请求进行评估以判定该请求是否是用于到还用于性能增强操作的存储介质的动态映射存储区域的目标写。如果写请求不包含任何到存储介质的动态映射存储区域的这种目标写,那么该写请求被使用,并且在进行必要的初始预处理之后,操作506将数据存储在存储介质的静态映射区域中的其最终停靠位置上。
然而,如果操作504判定出写请求的至少部分包含到存储介质的动态映射存储区域的目标写,则操作508将待写入到存储介质的动态映射存储区域的数据与其它数据分离。随后,静态牵制数据被存储在静态映射存储区域中的其最终停靠位置上。操作510评估作为待存储于动态牵制存储区域中的数据的动态牵制数据,以判定这些数据的动态映射。操作510可以判定为将这些动态牵制数据映射到动态映射存储区域的起始区段、到动态映射存储区域的结束区段,等等。在一种实施方式中,操作512存储关于动态映射的信息。随后,存储操作514按照在操作510中判定的动态映射将数据存储在动态映射存储区域中。
图6图示出说明可用于性能增强功能的总介质高速缓存的大小与写到介质高速缓存的动态映射部分的LBA之间的可能的关系的曲线图600。在该实施方式中,假设0.01TB的介质高速缓存被预留并且动态映射区域一旦填满就不能必然地排空。另外的0.09TB的存储空间被动态映射且当可供使用时用于性能增强功能。如线610所图示的,当不存在写到介质高速缓存的动态映射部分的LBA时,基本上0.1TB(0.01TB+0.09TB)的介质高速缓存的全部都可用于性能增强功能。随着介质高速缓存的越来越多的动态映射部分被写入,越来越少的总介质高速缓存可用于性能增强。曲线图600 还通过线612显示出驱动器的性能水平。如图所示,随着介质高速缓存的越来越多的动态映射部分被写入,不利地影响存储设备的性能。
本文所描述的实施方式可实现为一个或多个计算机系统中的逻辑步骤。本文所描述的各种实施方式的逻辑操作实现为:(1)在一个或多个计算机系统中执行的处理器实现的步骤序列;以及(2)一个或多个计算机系统内的相互连接的机器或电路模块。实施方式是选择的问题,取决于计算机系统的性能要求。因此,构成本文所描述的实施方案的实施方案的逻辑操作不同地称为操作、步骤、对象或模块。此外,应当理解的是,逻辑操作可以任意次序执行,除非明确地做要求或者权利要求语言本质上使得特定次序成为必然。
为了清晰起见,此处没有显示和描述本文所描述的实施方式的全部的例程功能。将理解的是,为了实现开发者的具体目标,诸如与应用和商业有关的约束相符合,对任何这样的实际实施方式、多个针对具体实施方式的决策进行开发,并且那些具体目标将因不同实施方案以及因不同开发者而变化。
上述的说明书、实施例和数据提供了对示例性实施方案的结构和使用的完整描述。因为能够在不偏离本发明的精神和范围的情况下做出许多可选的实施方案,本发明在于本文中所附的权利要求。此外,不同实施方案的结构特征可组合到另外的实施方案中而不会偏离所记述的权利要求。

动态存储设备自动配置.pdf_第1页
第1页 / 共14页
动态存储设备自动配置.pdf_第2页
第2页 / 共14页
动态存储设备自动配置.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《动态存储设备自动配置.pdf》由会员分享,可在线阅读,更多相关《动态存储设备自动配置.pdf(14页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104049907A43申请公布日20140917CN104049907A21申请号201410090437922申请日2014031213/801,49020130313USG06F3/0620060171申请人希捷科技有限公司地址美国加利福尼亚州72发明人AM考勒斯74专利代理机构上海专利商标事务所有限公司31100代理人何焜54发明名称动态存储设备自动配置57摘要本申请公开了动态存储设备自动配置。提供了用于将存储介质的存储空间分配成永久分配介质高速缓存存储区域、动态映射介质高速缓存存储区域以及静态映射存储区域的方法或系统,其中所述动态映射介质高速缓存存储区域用于性能和/。

2、或可靠性增强功能。30优先权数据51INTCL权利要求书2页说明书8页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书8页附图3页10申请公布号CN104049907ACN104049907A1/2页21一种存储设备,包括存储介质;以及处理器,其配置为将所述存储介质的存储空间分配成(I)永久分配介质高速缓存存储区域;(II)动态映射介质高速缓存存储区域;以及(III)静态映射存储区域。2如权利要求1所述的存储设备,其中所述处理器进一步配置为报告可用存储容量等于所述动态映射介质高速缓存存储区域的大小与所述静态映射存储区域的大小之和。3如权利要求1所述的存储设备,其中所。

3、述处理器进一步配置为使用所述永久分配介质高速缓存存储区域和所述动态映射介质高速缓存存储区域中的每一个用于性能增强功能。4如权利要求1所述的存储设备,其中所述处理器进一步配置为判定逻辑块地址(LBA)映射的不同区段的使用模式;以及将所述LBA映射的第一区段映射到所述动态映射介质高速缓存存储区域,其中与所述LBA映射的其它区段相比较不频繁地使用所述LBA映射的所述第一区段。5如权利要求1所述的存储设备,其中所述处理器进一步配置为将牵制到所述动态映射介质高速缓存存储区域的写请求数据与牵制到晶体映射存储区域的写请求数据分离;以及将牵制到所述动态映射介质高速缓存存储区域的所述写请求数据动态地映射到所述动。

4、态映射介质高速缓存存储区域。6如权利要求1所述的存储设备,其中所述处理器进一步配置为动态地改变所述动态分配介质高速缓存存储区域的映射区段的大小与所述动态分配介质高速缓存存储区域的非映射区段的大小的比值。7如权利要求6所述的存储设备,其中所述处理器进一步配置为基于所述动态分配介质高速缓存存储区域的映射区段的大小与所述动态分配介质高速缓存存储区域的非映射区段的大小的比值来改变性能增强功能。8一种方法,包括将非易失性存储介质的存储空间分配成(I)永久分配介质高速缓存存储区域;(II)动态映射介质高速缓存存储区域;以及(III)静态映射存储区域,其中所述动态映射介质高速缓存存储区域用于性能增强功能。9。

5、如权利要求8所述的方法,其中所述非易失性存储介质是(1)磁盘驱动器存储介质,以及(2)混合磁盘驱动器存储介质中的至少一种。10如权利要求8所述的方法,还包括非映射来自所述动态映射介质高速缓存存储区域的逻辑块地址(LBA)的初始区段,以及将所述LBA的一个以上不同区段映射到所述动态映射介质高速缓存存储区域。11如权利要求10所述的方法,其中非映射来自所述动态映射介质高速缓存存储区域的LBA的初始区段以及将LBA的不同区段映射到动态映射介质高速缓存存储区域是响应于从释放LBA的初始区段的子集的主机接收到修整命令而进行的。12如权利要求8所述的方法,还包括判定LBA映射的多个区段的使用模式;以及非映。

6、射来自所述动态映射介质高速缓存存储区域的LBA的第一区段以及将LBA的第二权利要求书CN104049907A2/2页3区段映射到所述动态映射介质高速缓存存储区域,其中LBA的所述第一区段的至少部分被判定为比LBA的所述第二区段的至少部分使用更加频繁。13如权利要求8所述的方法,还包括接收写请求;将牵制到所述动态映射介质高速缓存存储区域的写请求数据与牵制到静态映射存储区域的写请求数据分离;以及将牵制到所述动态映射介质高速缓存存储区域的所述写请求数据动态地映射到所述动态映射介质高速缓存存储区域。14如权利要求13所述的方法,还包括将牵制到静态映射存储区域的写请求数据静态地映射到所述静态映射存储区域。

7、。15如权利要求13所述的方法,还包括基于所述动态映射介质高速缓存存储区域的映射区段的大小与所述动态映射介质高速缓存存储区域的非映射区段的大小的比值来改变性能增强功能。16如权利要求15所述的方法,还包括比较所述动态映射介质高速缓存存储区域的映射区段的大小与所述动态映射介质高速缓存存储区域的非映射区段的大小的比值;以及如果所述比值在阈值之上,则利用所述动态映射介质高速缓存存储区域来终止以用于性能增强功能。17一种存储系统,包括存储介质;处理器,其配置为判定所述存储介质的期望使用模式并且基于所述期望使用模式来判定预留空间的大小。18如权利要求17所述的存储设备,其中所述处理器进一步配置为基于所述。

8、期望使用模式将所述存储介质的存储空间分配成(I)永久分配介质高速缓存存储区域;(II)动态映射介质高速缓存存储区域;以及(III)静态映射存储区域。19如权利要求18所述的存储设备,其中所述处理器进一步配置为报告可用存储容量等于动态映射介质高速缓存存储区域的大小与所述静态映射存储区域的大小之和。20如权利要求18所述的存储设备,其中所述处理器进一步配置为使用所述永久分配介质高速缓存存储区域和所述动态映射介质高速缓存存储区域中的每一个用于性能增强功能。权利要求书CN104049907A1/8页4动态存储设备自动配置背景技术0001随着对数据存储、检索和分析的要求提高,对于更廉价且更快速的数据存储。

9、设备的需求也增长。诸如磁盘驱动器、固态驱动器等数据存储设备利用诸如磁记录、光记录等不同的存储技术将数据存储在不同的记录介质上。磁盘驱动器广泛地用作计算系统中的数据存储设备。为了满足增长的需求,磁盘驱动器供应商已经增大了磁盘驱动器的容量以及磁盘驱动器上的记录密度。同时,由于用户要存储和处理大量的数据,存储设备供应商处于以更廉价成本提供存储容量的压力之下。0002发明概述0003提供该概述是为了以简化形式引入下文在发明详述部分中进一步说明的构思的选择。该概述不意在确定权利要求主题的关键特征或必要特征,也不意在用于限定权利要求主题的范围。权利要求主题的其它的特征、细节、用途和优点将从下面的更具体撰写。

10、的各种实施方式的详细说明以及如在附图中进一步阐明且在随附权利要求书中限定的各种实施方式中变得显然。0004用于将存储介质的存储空间分配成永久分配“介质高速缓存”存储区域、动态映射介质高速缓存存储区域以及静态映射存储区域的方法或系统,其中动态映射介质高速缓存存储区域用于性能增强功能。0005这些以及各种其它的特征和优点将通过阅读下面的发明详述而显然。附图说明0006通过下面的描绘了结合附图阅读的各种实施方式的发明详述能够最佳地理解所描述的技术。0007图1示出了用于介质的动态预留空间的系统的实现方案的框图。0008图2示出了用于介质的动态预留空间的可选实施方案的框图。0009图3示出了用于介质的。

11、动态预留空间的可选实施方案的框图。0010图4示出了用于在数据存储系统中提供介质的动态预留空间的操作的实施例。0011图5示出了用于在数据存储系统中提供介质的动态预留空间的操作的另一实施例。0012图6示出了显示出用于性能增强功能的到动态映射存储区域的目标写的效果的实施例曲线图。0013发明详述0014在下面的说明中,为了说明的目的,阐述了多方面的具体细节是为了提供对本文所描述的各个实施方案的全面理解。虽然各个特征属于特定实施方案,但是应当理解的是结合一个实施方案所描述的特征同样可与其它实施方案合并。然而,出于同样的原因,任何所描述的实施方案的单个特征或多个特征都不应被视为必要的,因为其它实施。

12、方案可省去这些特征。0015随着对数据存储、检索和分析的要求增长,对于更廉价且更快速的数据存储设备说明书CN104049907A2/8页5的需求也增长。磁盘驱动器广泛地用作数据存储设备计算系统。这种数据存储设备包括将数据存储在磁性介质、光学介质等上的磁盘驱动器。为了满足增长的需求,数据存储供应商已经增大了存储设备的尺寸以及存储设备的密度。基本上存储供应商提供给其客户的每一个字节的存储容量都附有成本。例如,该成本可按每太字节几美元等来规定。一般地,对于磁盘驱动器供应商和其它存储容量供应商,产生更大的存储容量成本更高。然而,由于存储行业的竞争本质,存储供应商能够从其客户提取的价格受市场力量限制。因。

13、此,存储供应商有动机降低出售给其客户的存储的成本以提高其利润率和/或保持有竞争力。0016增加存储供应商每存储容量成本或者降低出售给其客户的每存储容量收益的因素之一是存储容量的预留空间,其中存储供应商提供比所出售的或报告给其客户的更多的物理存储容量。当从都宣传相同容量的两个不同制造商购买两个不同设备时,会遇到这种情况的实施例。能够观察到,设备报告略不同的容量。在该背景下,预留空间涉及到生产和运送比所出售或宣传给客户或市场的更多的实际存储容量。因此,例如,如果1TB的存储容量出售给客户,则存储供应商实际上生产了多百分之一的容量,这样11TB的存储容量提供给客户。在这种情况下,虽然存储供应商能够获。

14、得实质上仅1TB的收益,这招致用于生产和提供11TB存储容量的成本。0017服务供应商使用预留空间存在多方面原因。例如,对于NAND驱动器形式的存储,预留空间确保了,即使在存储介质最终耗损(NAND闪存耗尽)之后,客户仍具有出售给客户的某最小存储。对于磁盘驱动器形式的存储,普通术语预留空间因多方面原因而被使用。此处讨论的预留空间用于提升磁盘驱动器的性能度量,诸如平均访问时间等。磁盘驱动器存储供应商有动机增大预留空间的大小以进一步提高磁盘驱动器的性能。然而,无论何时增大预留空间的量,每单位存储容量的成本也增加。因此,对于出售为具有1TB存储容量的磁盘驱动器,如果预留空间从10增加到20,则每TB。

15、存储容量的成本也增加了20,而供应商不能从客户回收该成本。这样,在提供增加的预留空间方面,在预留空间成本和预留空间所获得的性能受益之间存在权衡。0018本文所提供的实施方式动态地映射用于预留空间的存储空间的至少部分。例如,对于具有11TB(1100GB)的总存储容量的磁盘驱动器,其中01TB(100GB)用于预留空间,动态地映射01TB的预留存储空间的至少部分。例如,对于具有11TB总容量的磁盘驱动器,不是提供01TB存储区域用于预留空间,实质上仅提供001TB(10GB)的存储区域用于预留空间。存储容量的另外的19TB(90GB)被动态地映射并且其用于性能增强功能。在该实施方式中,动态地映射。

16、存储设备的非频繁使用或很少使用的区域。例如,给定001TB的非映射区域用于预留空间以及109TB的映射存储区域,动态地映射009TB的映射存储区域,并且该动态映射的存储区域用于一般使用预留的存储区域来执行的性能提高功能。0019图1公开了用于存储介质的动态预留空间的系统100。具体地,系统100包括计算设备102,计算设备具有处理器104,处理器与存储设备110可通信地连接。虽然系统100被图示为具有在计算设备102之外的存储设备110,在可选的实施方式中,存储设备110可在计算设备102之内。存储设备110可以是例如磁盘驱动器、光盘驱动器、闪存驱动器等。存储设备110包括存储控制器112和存。

17、储介质114。存储控制器112配置为接收来自计算设备102的存储命令且处理存储命令以从存储介质114读取数据,将数据写入存储介质114,控制读/写头的移动(如果需要),等等。说明书CN104049907A3/8页60020在一种实施方式中,存储介质114被分成多个存储区域。例如,在存储设备110是磁盘驱动器的情况下,存储介质114被分成多个区域,每个区域由磁盘驱动器上的一个以上的扇区构成。系统100通过存储区域120图示出存储介质114的整体存储容量。如系统100中所示,存储区域120包括多个不同的存储区域122、124、126等。在一种实施方式中,存储控制器112通过保持存储介质114上的磁。

18、道和扇区到存储区域120中指定的各存储区域的内部映射来保持存储介质114划分成各个存储区域。例如,对于磁盘驱动器存储设备,磁盘上的一些扇区可分配给存储区域122,而磁盘的其它扇区可分配给存储区域126。0021在一种实施方式中,存储控制器112还生成存储区域122、124、126的映射并且将存储区域122、124、126的映射存储到逻辑块地址(LBA)。具体地,存储介质114的可用存储区域映射到LBA。在该实施方式中,存储区域120也划分成多个块,并且每个块被赋予逻辑块地址(LBA)。例如,存储区域122126中的每一个可以包括多个块,这些块中的每个都映射到LBA。0022此外,存储控制器11。

19、2还可以实现LBA到可用于处理器104或可用于需要访问存储介质114的其它设备的存储区域的映射。另外可选地,存储控制器112还可以将存储介质114的存储容量传送到这些外部设备。由于数据被写到存储介质114上,所以存储控制器了解哪些存储区域已经使用以及哪些存储区域仍可用于额外存储。响应于将额外数据写到存储介质114的请求,存储控制器112判定存储区域122、124、126中的一个或多个上存储的可用性,并且判定用于存储该额外数据的目的地存储区域。例如,如果存储控制器112判定出存储区域126已经用于存储数据,则存储额外数据的新请求被引导至存储区域122、124等。0023在一种实施方式中,存储区域。

20、122、124、126等被指定为静态映射或动态映射存储区域。在该实施方式中,LBA到存储区域的映射取决于既定区域是否是静态分配的还是动态分配的。在静态分配的存储区域中,一旦既定的物理存储地址被映射到LBA,该映射在未来不会改变。另一方面,在动态映射区域,存储控制器112可动态地改变LBA到物理地址的映射。0024存储区域120划分成静态和动态分配的区域允许存储控制器112动态地改变存储介质114的预留空间。例如,假定存储区域120的总存储容量是11TB,存储控制器112可以报告109TB作为可用存储容量,同时仍提供最小01TB的性能提高介质高速缓存用于存储设备110的整体寿命。存储控制器112。

21、通过动态映射存储区域120的至少部分里实现这种预留空间。在图1所示的实施例中,其中存储区域120的总存储容量是11TB,有10TB的存储区域122被指定为静态映射的。有009TB容量的存储区域124以及有001TB容量的存储区域126被动态映射。此外,存储控制器112将存储区域122和124(在图1中称为130)的组合容量报告为用于存储设备110的总的可用容量。在这种情况下,区域124和126(在图1中称为140)的组合存储区域用作用于各种性能增强目的的介质高速缓存,诸如数据的临时复制、错误校验、数据分类等。介质高速缓存的其它用途包括提高越来越难管理的一些主机工作负荷中提高随机写性能。可选地,。

22、介质高速缓存还可通过存储用于所存储的主机数据的额外奇偶性(错误校正信息)而用于提高可靠性。另外可选地,介质高速缓存还可通过在特定主机工作负荷对于驱动可靠性尤其差的情况下使得所谓“工作放大”效应最小化而用于满足保证要求。结果是,动态映射存储区域124既被报告为可用的,同时又说明书CN104049907A4/8页7用作介质高速缓存,用于性能增强以及其它的功能。0025在该实施方式中,虽然动态映射存储区域124用于一种或多种性能或可靠性增强功能,但是存储区域124的存储容量还作为可用空间被报告给主机。换言之,存储区域124既用于存储数据,又用于性能增强功能。在另外的实施方式中,用于性能增强功能的动态。

23、映射存储区域124被映射到存储介质的不频繁使用或最少使用的存储区域上。在这种实施方式中,更可能使用的LBA空间的区段被映射到静态映射存储区域122。将主机可寻址LBA空间的较不频繁访问的区段映射到动态映射存储区域124确保了动态映射存储区域124可用于存储设备110的寿命期间大部分的性能增强功能。0026在实施方式中,动态预留空间的量可以基于使用存储设备110的客户的类型、使用存储设备110的市场,等等。例如,如果存储设备110由消费者在家中个人使用,极可能的是LBA空间的大部分区段极不可能被使用或者极不频繁使用。在这种情况下,存储区域120的较大部分被动态映射为动态映射存储区域124的部分,。

24、并且极小部分被指定为预留存储区域126。换言之,在这种存储设备的目标使用中,报告给客户的总存储空间120的百分比极高。另一方面,如果存储设备110在LBA空间的大部分极可能极频繁使用的工业中,则指定的预留存储区域126须较大以保持性能水平。结果,在这种情况下,报告给客户的总存储空间120的百分比比存储设备100由消费者使用的情况较低。0027图2图示出存储设备的全部容量的映射200。具体地,图2图示出LBA映射210和存储设备的实际物理容量220之间的映射。在图示的实施方式中,存储控制器判定LBA映射210的各个区域的使用模式。这样,例如,在图2中,区域212被判定为具有平均使用,区域214被。

25、判定为极少使用,而区域216和218被判定为频繁使用或超出平均使用。在一种实施方式中,个区域的初始使用模式是基于根据对现有产品的工作负荷的监控的历史使用模式来判定的。在可选的实施方式中,使用模式以及因此一些LBA到动态区域的映射是在存储设备的生命周期内动态地判定的,但是映射的初始状态可基于如上所述的历史使用数据。0028如LBA映射210所报告的存储设备的存储容量略低于存储介质的物理容量220。例如,如果物理容量220是110TB,则按照LBA映射210报告的存储容量被设定成109TB。001TB的物理存储容量的差值用作最小介质高速缓存大小,用于各种功能,包括性能增强和系统资源管理。图2图示出。

26、这种001TB的最小介质高速缓存226。介质高速缓存226的存储空间被动态地映射,并且不报告为可用存储容量。此外,存储容量220的其余部分被分成静态映射区域222以及动态映射区域224。存储控制器将LBA映射210的极少使用的区域214映射到动态映射区域224,如240所图示的。例如,动态映射区域224的大小可以是009TB,指定为介质高速缓存的存储区域226的大小等于001TB,并且静态映射区域222的大小等于10TB。在这种情况下,当存储设备首次投入使用(用户数据尚未写入设备中)时,存储区域222和224的组合容量等于109TB,能够作为容量报告给主机/用户。同时,存储区域224和226的。

27、组合容量等于01TB,能够用作介质高速缓存,用于性能增强和/或可靠性增强功能。0029在主机使用的各种操作系统中,主机可以使用“主机修整命令”或等同命令(其表示主机可对一些LBA进行写操作),然后对其进行“修整”以使主机设备不再需要将那些LBA看作“有效”或“已写”。例如,在图2中,操作系统可初始地频繁将数据写入LBA空间218。说明书CN104049907A5/8页8在该情况下,LBA空间218不映射到动态映射区域224。随着LBA空间210在设备的生命周期内使用,极少使用的区域214会越来越多地使用,而使得越来越少的动态使用的区域可用于各种介质高速缓存或性能增强功能。在这种方案中,如果主机。

28、发出修整命令以释放被视为频繁使用的LBA空间218中的一些空间,则控制器可以动态地改变LBA空间210到物理存储容量220的映射,而使得现在新释放的LBA空间218被映射(如242所图示)到动态映射存储区域224,而不是之前的LBA空间214到动态映射存储区域224的映射240。而且,这种LBA空间210的各个区段到物理存储容量220的映射的动态改变可响应于LBA空间210的使用模式的其它变化而进行。0030在可选的实施方式中,LBA空间210的各个区段到物理存储容量220的这种动态映射可以不基于主机对LBA空间210的一个或多个区段的释放。相反,系统可以监控LBA空间210的使用并且基于对于。

29、这些区段的使用模式的变化来判定这种重新映射。这样,例如,如果控制器判定出被映射到动态映射存储区域224的第一LBA空间在使用模式上发生变化,则控制器可以动态地将第一LBA空间重新映射到物理存储容量220的其它一些区段,然后将来自LBA空间210的第二LBA空间映射到动态映射存储区域224。以此方式,被映射到动态映射存储区域224的LBA本身被动态地映射。这使得系统可以适应如下情形预期极少使用且因此被映射到动态映射存储区域224的LBA空间不可预期地大量使用。由于这种动态分配,在这种非可预期的情形下保持了提供动态映射存储区域224的性能增强以及其它优势。此外,来自动态映射区域224的LBA空间2。

30、10的一些区段的动态非映射以及随后LBA空间210的一些其它区段到动态映射区域224的映射可在存储设备的使用生命周期内继续。这种继续的非映射和重新映射提供了对动态映射区域224的持续使用,用于各种性能增强功能、可靠性增强功能等等。0031当用户开始使用存储介质时,除非且直到用户/主机将10TB的整个静态映射存储容量视为有效,否则动态映射区域224和226两者一起用于各种性能增强功能。这样,只要10TB的整个静态映射容量不被视为有效,01TB的存储容量就可用于性能增强功能,尽管提供了实质上仅001TB的空间作为永久介质高速缓存226。因此,用户或主机设备不会觉察到性能水平的任何下降,即使是最小尺。

31、寸的永久分配介质高速缓存226。假设大部分时候,用户(尤其是消费者市场的用户)最终不使用其存储设备的整个容量,在存储设备的生命周期的大部分时间内存储设备的性能不会受损。0032当用户以特定方式将数据写入存储设备时,在数据从这些区域移至其最终目的地之前,动态映射区域224以及介质高速缓存226能够用于临时存储数据,处理数据,对数据进行分类,等等,该最终目的地可能在静态映射区域222中。结果是,假设总的动态映射容量的大小比介质高速缓存226的大小大得多,用户所觉察到的存储设备的性能不会下降。同时,存储设备制造商能够将较大的可用容量报告给用户,从而降低提供存储的有效成本。0033随着诸如主机设备的用。

32、户开始使用越来越来的存储容量且保持越来越来的存储容量有效,极可能的是,即使当LBA映射的不频繁使用区段214被映射到动态映射存储区域224时,动态映射区域224的一些使用可能会发生以用于存储。例如,主机设备可能唯一地请求写到LBA区段214中的LBA,这使得写到动态自动配置的存储区域224。在这种情况下,由主机提供的数据“被牵制”到动态映射区域224中的某个区域230。结果是,动态映射区域224中的可用于性能增强功能的存储空间的量减小了区域230中的“牵制”在介质高速说明书CN104049907A6/8页9缓存中的数据大小。牵制意味着数据永久地驻留在介质高速缓存中。随着越来越多的数据被牵制到动。

33、态映射区域224中,存储设备使用动态映射存储区域224提供性能增强功能的能力下降,导致一些可能的性能下降。0034在一种实施方式中,当数据被牵制到动态映射区域224内的任何位置时,控制器管理该数据在动态映射区域224中的最终停靠位置。例如,写到区域230的数据可移至动态映射区域224中的某可选位置。牵制到动态映射区域224的数据的这种动态映射使得能够更高效地使用动态映射区域224以用于性能增强功能。注意的是,如果控制器仍在管理牵制数据,则这种牵制数据仍必须从该最终停靠位置移开。0035图3图示出能够用于性能增强功能的动态映射区域300的扩大视图的实施例。具体地,动态映射区域300已经接收到到多。

34、个不同位置302、304、306等的主机写。如图所示,主机写定位在动态映射区域300内的全异位置上。结果,用于诸如对数据分类、预处理数据等性能提高功能的动态映射区域300的使用受到不利影响。在一种实施方式中,从主机写请求到位置302、304、306的数据被动态映射到位置302A、302B、302C,如动态映射区域320所图示。由于这种动态映射,动态映射区域320的较大区段330仍可用于性能增强功能。结果是,区段330连同预留且指定为介质高速缓存的存储区域一起能够用于各种性能和可靠性增强功能。关于动态映射区域320的映射的信息可存储在被指定为介质高速缓存的预留存储区域中,以及存储设备上的其它个位。

35、置上。0036动态映射的性能/可靠性增强能力可基于动态映射区域300的映射部分与动态映射区域300的非映射区域之比来判定。由于主机到动态映射区域300的目标写而使得被映射的动态映射区域300的量越高,映射与非映射之比越高,动态映射区域300的性能增强能力越低。另一方面,映射与非映射之比越低表明动态映射区域300的大部分可用于性能增强操作。任意数据既被映射又不被映射也是可能的。0037当动态映射区域300映射到不频繁使用或不使用的LBA空间时,动态映射区域300的映射区域与非映射区域之比能够保持得足够低以使由动态映射区域300提供的性能增强功能基本恒定。同时,通过提供动态映射区域300,存储设备。

36、供应商能够减小预留作为介质高速缓存的存储区域的大小,从而提供较低成本来产生较高容量。此外,通过提供动态映射区域300,存储供应商能够基本上将介质高速缓存大小与实现鳗鱼的介质性能和可靠性所需的预留空间之间的关系解耦。0038图4图示出确定用于性能增强功能的动态分配存储区域的大小的方法的实施例流程图400。操作402判定存储设备的目标使用。例如,存储设备的目标使用可能在消费者的个人计算机中,如光纤通道网络存储设备等。根据目标用户类型,存储设备可以不同方式使用。操作404判定目标用户的使用模式。例如,作为使用存储设备用于个人用途的消费者的终端用户不大可能使用基本上全部所提供的存储空间。另一方面,使用。

37、存储设备作为数据服务器的公司终端用户会极频繁地对大部分存储空间进行存取。此外,操作404还判定终端用户的性能增强要求。0039操作406基于目标用户的使用模式、性能增强要求等来判定将为存储设备提供的预留空间的量。例如,对于要求更快性能的目标用户,操作406可判定为提供比其它用户更多的预留空间,等等。随后,操作408判定存储空间的哪部分被配置为动态映射存储区域。操作408可基于目标用户的使用模式等做出这样的判定。说明书CN104049907A7/8页100040操作410判定LBA空间的不频繁使用的区段。例如,该不频繁使用的空间可以基于历史使用模式数据。可选地,可在存储设备已处于现场且暴露于用户。

38、存取模式之后在运行时动态地确定不频繁使用或不使用的空间。另外可选地,“不频繁使用的”区域对于每个用户/主机可能不同。操作412将LBA空间的不频繁使用的区段映射到动态映射存储区域。由于LBA空间的这些区段不频繁使用,所以存储空间的动态映射区域不大可能具有频繁的存取请求。这使得更高效地使用动态分配的存储区域用于性能增强功能。操作414监控动态映射存储区域的使用。具体地,操作414可以监控动态映射存储区域的映射部分与非映射部分之比。在一种实施方式中,操作416基于动态映射存储区域的非映射部分的大小与动态映射存储区域的映射部分的大小之比来改变一种或多种性能增强操作。例如,基于该比值,操作416可以开。

39、始使映射到极少使用区域的数据进行非映射并且将其与映射到经常使用区域的数据进行交换,使得来自经常使用区域的数据被映射到介质高速缓存并且来自极少使用区域的数据被映射到其最终停靠位置。例如,如果该比值被判定为超过阈值,则动态映射存储区域不再用于任何性能增强功能。0041图5图示出用于在数据存储系统中提供介质的动态预留空间的操作的实施例流程图500。具体地,操作502接收到存储介质的写请求。操作504对写请求进行评估以判定该请求是否是用于到还用于性能增强操作的存储介质的动态映射存储区域的目标写。如果写请求不包含任何到存储介质的动态映射存储区域的这种目标写,那么该写请求被使用,并且在进行必要的初始预处理。

40、之后,操作506将数据存储在存储介质的静态映射区域中的其最终停靠位置上。0042然而,如果操作504判定出写请求的至少部分包含到存储介质的动态映射存储区域的目标写,则操作508将待写入到存储介质的动态映射存储区域的数据与其它数据分离。随后,静态牵制数据被存储在静态映射存储区域中的其最终停靠位置上。操作510评估作为待存储于动态牵制存储区域中的数据的动态牵制数据,以判定这些数据的动态映射。操作510可以判定为将这些动态牵制数据映射到动态映射存储区域的起始区段、到动态映射存储区域的结束区段,等等。在一种实施方式中,操作512存储关于动态映射的信息。随后,存储操作514按照在操作510中判定的动态映。

41、射将数据存储在动态映射存储区域中。0043图6图示出说明可用于性能增强功能的总介质高速缓存的大小与写到介质高速缓存的动态映射部分的LBA之间的可能的关系的曲线图600。在该实施方式中,假设001TB的介质高速缓存被预留并且动态映射区域一旦填满就不能必然地排空。另外的009TB的存储空间被动态映射且当可供使用时用于性能增强功能。如线610所图示的,当不存在写到介质高速缓存的动态映射部分的LBA时,基本上01TB(001TB009TB)的介质高速缓存的全部都可用于性能增强功能。随着介质高速缓存的越来越多的动态映射部分被写入,越来越少的总介质高速缓存可用于性能增强。曲线图600还通过线612显示出驱。

42、动器的性能水平。如图所示,随着介质高速缓存的越来越多的动态映射部分被写入,不利地影响存储设备的性能。0044本文所描述的实施方式可实现为一个或多个计算机系统中的逻辑步骤。本文所描述的各种实施方式的逻辑操作实现为(1)在一个或多个计算机系统中执行的处理器实现的步骤序列;以及(2)一个或多个计算机系统内的相互连接的机器或电路模块。实施方式是选择的问题,取决于计算机系统的性能要求。因此,构成本文所描述的实施方案的实施方说明书CN104049907A108/8页11案的逻辑操作不同地称为操作、步骤、对象或模块。此外,应当理解的是,逻辑操作可以任意次序执行,除非明确地做要求或者权利要求语言本质上使得特定。

43、次序成为必然。0045为了清晰起见,此处没有显示和描述本文所描述的实施方式的全部的例程功能。将理解的是,为了实现开发者的具体目标,诸如与应用和商业有关的约束相符合,对任何这样的实际实施方式、多个针对具体实施方式的决策进行开发,并且那些具体目标将因不同实施方案以及因不同开发者而变化。0046上述的说明书、实施例和数据提供了对示例性实施方案的结构和使用的完整描述。因为能够在不偏离本发明的精神和范围的情况下做出许多可选的实施方案,本发明在于本文中所附的权利要求。此外,不同实施方案的结构特征可组合到另外的实施方案中而不会偏离所记述的权利要求。说明书CN104049907A111/3页12图1图2说明书附图CN104049907A122/3页13图3图4说明书附图CN104049907A133/3页14图5图6说明书附图CN104049907A14。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1