CN104049907B - 动态存储设备自动配置 - Google Patents
动态存储设备自动配置 Download PDFInfo
- Publication number
- CN104049907B CN104049907B CN201410090437.9A CN201410090437A CN104049907B CN 104049907 B CN104049907 B CN 104049907B CN 201410090437 A CN201410090437 A CN 201410090437A CN 104049907 B CN104049907 B CN 104049907B
- Authority
- CN
- China
- Prior art keywords
- storage region
- medium
- dynamic mapping
- region
- cache storage
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
本申请公开了动态存储设备自动配置。提供了用于将存储介质的存储空间分配成永久分配介质高速缓存存储区域、动态映射介质高速缓存存储区域以及静态映射存储区域的方法或系统,其中所述动态映射介质高速缓存存储区域用于性能和/或可靠性增强功能。
Description
背景技术
随着对数据存储、检索和分析的要求提高,对于更廉价且更快速的数据存储设备的需求也增长。诸如磁盘驱动器、固态驱动器等数据存储设备利用诸如磁记录、光记录等不同的存储技术将数据存储在不同的记录介质上。磁盘驱动器广泛地用作计算系统中的数据存储设备。为了满足增长的需求,磁盘驱动器供应商已经增大了磁盘驱动器的容量以及磁盘驱动器上的记录密度。同时,由于用户要存储和处理大量的数据,存储设备供应商处于以更廉价成本提供存储容量的压力之下。
发明概述
提供该概述是为了以简化形式引入下文在发明详述部分中进一步说明的构思的选择。该概述不意在确定权利要求主题的关键特征或必要特征,也不意在用于限定权利要求主题的范围。权利要求主题的其它的特征、细节、用途和优点将从下面的更具体撰写的各种实施方式的详细说明以及如在附图中进一步阐明且在随附权利要求书中限定的各种实施方式中变得显然。
用于将存储介质的存储空间分配成永久分配“介质高速缓存”存储区域、动态映射介质高速缓存存储区域以及静态映射存储区域的方法或系统,其中动态映射介质高速缓存存储区域用于性能增强功能。
这些以及各种其它的特征和优点将通过阅读下面的发明详述而显然。
附图说明
通过下面的描绘了结合附图阅读的各种实施方式的发明详述能够最佳地理解所描述的技术。
图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)的存储区域用于预留空间。存储容量的另外的0.09TB(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)一个或多个计算机系统内的相互连接的机器或电路模块。实施方式是选择的问题,取决于计算机系统的性能要求。因此,构成本文所描述的实施方案的实施方案的逻辑操作不同地称为操作、步骤、对象或模块。此外,应当理解的是,逻辑操作可以任意次序执行,除非明确地做要求或者权利要求语言本质上使得特定次序成为必然。
为了清晰起见,此处没有显示和描述本文所描述的实施方式的全部的例程功能。将理解的是,为了实现开发者的具体目标,诸如与应用和商业有关的约束相符合,对任何这样的实际实施方式、多个针对具体实施方式的决策进行开发,并且那些具体目标将因不同实施方案以及因不同开发者而变化。
上述的说明书、实施例和数据提供了对示例性实施方案的结构和使用的完整描述。因为能够在不偏离本发明的精神和范围的情况下做出许多可选的实施方案,本发明在于本文中所附的权利要求。此外,不同实施方案的结构特征可组合到另外的实施方案中而不会偏离所记述的权利要求。
Claims (17)
1.一种存储设备,包括:
存储介质;以及
处理器,其配置为将所述存储介质的存储空间分配成:(i)永久分配介质高速缓存存储区域;(ii)动态映射介质高速缓存存储区域;以及(iii)静态映射存储区域,其中所述动态映射介质高速缓存存储区域用于性能增强功能,
其中所述处理器进一步配置为:
判定逻辑块地址LBA映射的不同区段的使用模式;以及
将所述LBA映射的第一区段映射到所述动态映射介质高速缓存存储区域,其中与所述LBA映射的其它区段相比较不频繁地使用所述LBA映射的所述第一区段。
2.如权利要求1所述的存储设备,其中所述处理器进一步配置为报告可用存储容量等于所述动态映射介质高速缓存存储区域的大小与所述静态映射存储区域的大小之和。
3.如权利要求1所述的存储设备,其中所述处理器进一步配置为使用所述永久分配介质高速缓存存储区域和所述动态映射介质高速缓存存储区域中的每一个用于性能增强功能。
4.如权利要求1所述的存储设备,其中所述处理器进一步配置为:
将牵制到所述动态映射介质高速缓存存储区域的写请求数据与牵制到静态映射存储区域的写请求数据分离;以及
将牵制到所述动态映射介质高速缓存存储区域的所述写请求数据动态地映射到所述动态映射介质高速缓存存储区域。
5.如权利要求1所述的存储设备,其中所述处理器进一步配置为:动态地改变所述动态分配介质高速缓存存储区域的映射区段的大小与所述动态分配介质高速缓存存储区域的非映射区段的大小的比值。
6.如权利要求5所述的存储设备,其中所述处理器进一步配置为:基于所述动态分配介质高速缓存存储区域的映射区段的大小与所述动态分配介质高速缓存存储区域的非映射区段的大小的比值来改变性能增强功能。
7.一种用于非易失性存储介质的方法,包括:
将非易失性存储介质的存储空间分配成:(i)永久分配介质高速缓存存储区域;(ii)动态映射介质高速缓存存储区域;以及(iii)静态映射存储区域,其中所述动态映射介质高速缓存存储区域用于性能增强功能,
判定逻辑块地址LBA映射的多个区段的使用模式;以及
非映射来自所述动态映射介质高速缓存存储区域的LBA的第一区段以及将LBA的第二区段映射到所述动态映射介质高速缓存存储区域,
其中LBA的所述第一区段的至少部分被判定为比LBA的所述第二区段的至少部分使用更加频繁。
8.如权利要求7所述的方法,其中所述非易失性存储介质是(1)磁盘驱动器存储介质,以及(2)混合磁盘驱动器存储介质中的至少一种。
9.如权利要求7所述的方法,还包括非映射来自所述动态映射介质高速缓存存储区域的逻辑块地址LBA的初始区段,以及将所述LBA的一个以上不同区段映射到所述动态映射介质高速缓存存储区域。
10.如权利要求9所述的方法,其中非映射来自所述动态映射介质高速缓存存储区域的LBA的初始区段以及将LBA的不同区段映射到动态映射介质高速缓存存储区域是响应于从释放LBA的初始区段的子集的主机接收到修整命令而进行的。
11.如权利要求7所述的方法,还包括:
接收写请求;
将牵制到所述动态映射介质高速缓存存储区域的写请求数据与牵制到静态映射存储区域的写请求数据分离;以及
将牵制到所述动态映射介质高速缓存存储区域的所述写请求数据动态地映射到所述动态映射介质高速缓存存储区域。
12.如权利要求11所述的方法,还包括:将牵制到静态映射存储区域的写请求数据静态地映射到所述静态映射存储区域。
13.如权利要求11所述的方法,还包括:基于所述动态映射介质高速缓存存储区域的映射区段的大小与所述动态映射介质高速缓存存储区域的非映射区段的大小的比值来改变性能增强功能。
14.如权利要求13所述的方法,还包括:
比较所述动态映射介质高速缓存存储区域的映射区段的大小与所述动态映射介质高速缓存存储区域的非映射区段的大小的比值;以及
如果所述比值在阈值之上,则利用所述动态映射介质高速缓存存储区域来终止以用于性能增强功能。
15.一种存储系统,包括:
存储介质;
处理器,其配置为判定所述存储介质的期望使用模式并且基于所述期望使用模式来判定预留空间的大小,
所述处理器进一步配置为:基于所述期望使用模式将所述存储介质的存储空间分配成:(i)永久分配介质高速缓存存储区域;(ii)动态映射介质高速缓存存储区域;以及(iii)静态映射存储区域,其中所述动态映射介质高速缓存存储区域的较大部分用于性能增强功能,
其中,动态映射介质高速缓存存储区域的极小部分用于所述预留空间。
16.如权利要求15所述的存储系统,其中所述处理器进一步配置为:报告可用存储容量等于动态映射介质高速缓存存储区域的大小与所述静态映射存储区域的大小之和。
17.如权利要求15所述的存储系统,其中所述处理器进一步配置为:使用所述永久分配介质高速缓存存储区域和所述动态映射介质高速缓存存储区域中的每一个用于性能增强功能。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/801,490 | 2013-03-13 | ||
US13/801,490 US9542306B2 (en) | 2013-03-13 | 2013-03-13 | Dynamic storage device provisioning |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104049907A CN104049907A (zh) | 2014-09-17 |
CN104049907B true CN104049907B (zh) | 2017-12-12 |
Family
ID=50486730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410090437.9A Active CN104049907B (zh) | 2013-03-13 | 2014-03-12 | 动态存储设备自动配置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9542306B2 (zh) |
EP (1) | EP2778889B1 (zh) |
JP (2) | JP5955877B2 (zh) |
KR (1) | KR101604610B1 (zh) |
CN (1) | CN104049907B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9542306B2 (en) * | 2013-03-13 | 2017-01-10 | Seagate Technology Llc | Dynamic storage device provisioning |
US9612956B2 (en) | 2013-03-15 | 2017-04-04 | Seagate Technology Llc | Multi-tiered caching for data storage management in a device |
US20160048342A1 (en) * | 2014-08-12 | 2016-02-18 | Facebook, Inc. | Reducing read/write overhead in a storage array |
US9684467B2 (en) * | 2015-05-18 | 2017-06-20 | Nimble Storage, Inc. | Management of pinned storage in flash based on flash-to-disk capacity ratio |
US9588898B1 (en) | 2015-06-02 | 2017-03-07 | Western Digital Technologies, Inc. | Fullness control for media-based cache operating in a steady state |
KR102447471B1 (ko) | 2015-06-24 | 2022-09-27 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 스토리지 장치 |
JP6403162B2 (ja) * | 2015-07-23 | 2018-10-10 | 東芝メモリ株式会社 | メモリシステム |
US9959052B1 (en) | 2015-09-17 | 2018-05-01 | Western Digital Technologies, Inc. | Media based cache for data storage device |
CN106484331B (zh) | 2015-09-29 | 2019-04-12 | 华为技术有限公司 | 一种数据处理方法、装置及闪存设备 |
CN106897231B (zh) * | 2017-02-28 | 2021-01-12 | 苏州浪潮智能科技有限公司 | 一种基于高性能存储介质的数据缓存方法及系统 |
US10821464B2 (en) | 2017-06-19 | 2020-11-03 | The Boeing Company | Common feed system for surface treatment and adhesive application |
JP2017212002A (ja) * | 2017-07-19 | 2017-11-30 | 株式会社Dnpハイパーテック | Mpu保護装置 |
US10983911B2 (en) | 2017-09-01 | 2021-04-20 | Seagate Technology Llc | Capacity swapping based on compression |
CN107861887B (zh) * | 2017-11-30 | 2021-07-20 | 科大智能电气技术有限公司 | 一种串行易失性存储器的控制方法 |
JP2020038740A (ja) | 2018-09-04 | 2020-03-12 | 株式会社東芝 | 磁気ディスク装置および制御方法 |
JP7191872B2 (ja) | 2020-01-15 | 2022-12-19 | 株式会社東芝 | 磁気ディスク装置及び記録容量の設定方法 |
KR20210130340A (ko) | 2020-04-22 | 2021-11-01 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
CN117666937A (zh) * | 2022-08-31 | 2024-03-08 | 华为技术有限公司 | 存储的方法、装置和电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929750A (zh) * | 2011-09-12 | 2013-02-13 | 微软公司 | 非易失性介质肮脏区段跟踪 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009043055A (ja) * | 2007-08-09 | 2009-02-26 | Hitachi Ltd | 計算機システム、ストレージ装置及びデータ管理方法 |
US8131927B2 (en) | 2007-11-30 | 2012-03-06 | Hitachi, Ltd. | Fast accessible compressed thin provisioning volume |
US7865658B2 (en) * | 2007-12-31 | 2011-01-04 | Sandisk Il Ltd. | Method and system for balancing host write operations and cache flushing |
US8407436B2 (en) | 2009-02-11 | 2013-03-26 | Hitachi, Ltd. | Methods and apparatus for migrating thin provisioning volumes between storage systems |
US8166232B2 (en) | 2009-04-02 | 2012-04-24 | Hitachi, Ltd. | Metrics and management for flash memory storage life |
JP2011090496A (ja) * | 2009-10-22 | 2011-05-06 | Hitachi Ltd | 半導体記憶装置および制御方法 |
JP5079841B2 (ja) | 2010-04-15 | 2012-11-21 | 株式会社日立製作所 | ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置 |
US8521978B2 (en) | 2010-04-27 | 2013-08-27 | Hitachi, Ltd. | Storage apparatus and method for controlling storage apparatus |
US8489855B2 (en) | 2010-05-07 | 2013-07-16 | Ocz Technology Group Inc. | NAND flash-based solid state drive and method of operation |
JP5520747B2 (ja) * | 2010-08-25 | 2014-06-11 | 株式会社日立製作所 | キャッシュを搭載した情報装置及びコンピュータ読み取り可能な記憶媒体 |
KR101467939B1 (ko) | 2011-04-26 | 2014-12-02 | 엘에스아이 코포레이션 | 비휘발성 저장부에 대한 가변 오버프로비저닝 |
US9063862B2 (en) * | 2011-05-17 | 2015-06-23 | Sandisk Technologies Inc. | Expandable data cache |
WO2012161933A1 (en) | 2011-05-24 | 2012-11-29 | Marvell World Trade Ltd. | Method for storage devices to achieve low write amplification with low over provision |
US9158695B2 (en) * | 2011-08-09 | 2015-10-13 | Seagate Technology Llc | System for dynamically adaptive caching |
JP2013157062A (ja) * | 2012-01-31 | 2013-08-15 | Toshiba Corp | ディスクドライブ装置およびライト制御方法 |
US9495287B2 (en) * | 2012-09-26 | 2016-11-15 | International Business Machines Corporation | Solid state memory device logical and physical partitioning |
US9542306B2 (en) * | 2013-03-13 | 2017-01-10 | Seagate Technology Llc | Dynamic storage device provisioning |
-
2013
- 2013-03-13 US US13/801,490 patent/US9542306B2/en active Active
-
2014
- 2014-02-27 KR KR1020140023435A patent/KR101604610B1/ko not_active IP Right Cessation
- 2014-03-06 JP JP2014043722A patent/JP5955877B2/ja not_active Expired - Fee Related
- 2014-03-12 CN CN201410090437.9A patent/CN104049907B/zh active Active
- 2014-03-13 EP EP14159591.8A patent/EP2778889B1/en not_active Not-in-force
-
2016
- 2016-06-15 JP JP2016118861A patent/JP6286478B2/ja not_active Expired - Fee Related
- 2016-12-01 US US15/366,389 patent/US10223010B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929750A (zh) * | 2011-09-12 | 2013-02-13 | 微软公司 | 非易失性介质肮脏区段跟踪 |
Also Published As
Publication number | Publication date |
---|---|
KR101604610B1 (ko) | 2016-03-18 |
JP6286478B2 (ja) | 2018-02-28 |
US9542306B2 (en) | 2017-01-10 |
US10223010B2 (en) | 2019-03-05 |
US20170083253A1 (en) | 2017-03-23 |
JP2016189207A (ja) | 2016-11-04 |
CN104049907A (zh) | 2014-09-17 |
EP2778889B1 (en) | 2017-09-27 |
KR20140112397A (ko) | 2014-09-23 |
JP2014179078A (ja) | 2014-09-25 |
US20140281229A1 (en) | 2014-09-18 |
JP5955877B2 (ja) | 2016-07-20 |
EP2778889A1 (en) | 2014-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104049907B (zh) | 动态存储设备自动配置 | |
US11016674B2 (en) | Method, device, and computer program product for reading data | |
US20220137849A1 (en) | Fragment Management Method and Fragment Management Apparatus | |
US7653781B2 (en) | Automatic RAID disk performance profiling for creating optimal RAID sets | |
US8065482B2 (en) | Storage system and method for striping data | |
US10365845B1 (en) | Mapped raid restripe for improved drive utilization | |
CN105159622A (zh) | 一种减小ssd读写io时延的方法与系统 | |
CN104050097A (zh) | 在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择 | |
CN103559138A (zh) | 固态硬盘及其空间管理方法 | |
US11086772B2 (en) | Memory system performing garbage collection operation and operating method of memory system | |
US10346051B2 (en) | Storage media performance management | |
CN104778018A (zh) | 基于非对称混合型磁盘镜像的宽条带磁盘阵列及存储方法 | |
US20120030435A1 (en) | Memory device, memory management device, and memory management method | |
US20070180214A1 (en) | System and method for dynamic striping in a storage array | |
US11537305B1 (en) | Dissimilar write prioritization in ZNS devices | |
US20080147970A1 (en) | Data storage system having a global cache memory distributed among non-volatile memories within system disk drives | |
CN111736764B (zh) | 一种数据库一体机的存储系统及数据请求处理方法、装置 | |
US11922019B2 (en) | Storage device read-disturb-based block read temperature utilization system | |
CN114764396A (zh) | 数据存储装置及其操作方法 | |
CN109871337B (zh) | 一种ssd存储媒介切换方法及其系统 | |
CN117149062A (zh) | 一种磁带损坏数据的处理方法以及计算装置 | |
US20090138656A1 (en) | Method of skipping synchronization process for initialization of RAID1 device | |
US20040078519A1 (en) | Data reorganization method in a RAID striping system | |
CN102023812B (zh) | 一种raid级别变换方法和变换装置 | |
US7657704B2 (en) | Method and related apparatus for verifying array of disks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |