CN104008017A - 向主机服务质量指标分配权重 - Google Patents

向主机服务质量指标分配权重 Download PDF

Info

Publication number
CN104008017A
CN104008017A CN201410065323.9A CN201410065323A CN104008017A CN 104008017 A CN104008017 A CN 104008017A CN 201410065323 A CN201410065323 A CN 201410065323A CN 104008017 A CN104008017 A CN 104008017A
Authority
CN
China
Prior art keywords
data
service quality
main frame
quality metrics
index
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
CN201410065323.9A
Other languages
English (en)
Other versions
CN104008017B (zh
Inventor
R·J·高斯
M·J·斯坦纳
M·A·盖尔特纳
D·S·艾布森
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.)
Seagate Technology LLC
Original Assignee
Seagate Technology LLC
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 Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of CN104008017A publication Critical patent/CN104008017A/zh
Application granted granted Critical
Publication of CN104008017B publication Critical patent/CN104008017B/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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0631Configuration or reconfiguration of storage systems by allocating resources to 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/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
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management

Abstract

本申请公开了向主机服务质量指标分配权重。经由主机接口接收从主机提供的服务质量指标。所述服务质量指标涉及通过所述主机存储在非易失性数据存储器中的数据。测量涉及到所述服务质量指标的工作量指标,以及响应于服务质量指标和所测量的工作量指标之间的相关性,分配权重给主机。当响应来自主机的数据访问请求时,向所述服务质量指标应用权重。

Description

向主机服务质量指标分配权重
发明概述
本发明涉及向主机服务质量指标分配权重。在一个示例中,方法和装置便于经由主机接口接收所述服务质量指标,所述服务质量指标通过主机从涉及在非易失性数据存储器中存储的数据的主机提供。测定有关服务质量指标的工作量指标,以及响应于服务质量指标和所测量的工作量指标之间的相关性向主机分配权重。当从主机响应数据访问请求时,权重应用到服务质量指标。
在另一个示例中,一种装置包括两个或更多的非分层存储器单元。每个单元具有不同类型的非易失性存储器,并且类型的非易失性存储器的至少一个包括基于电阻的存储器。控制器耦合到所述两个或更多的存储器单元。所述控制器经配置以至少执行通过主机从装置上存储数据相关的主机所提供的的服务质量指标。测量和所存储服务质量指标相关的工作量指标,以及响应于所存储的服务质量指标和所测量的工作量指标之间的相关性,向主机分配权重。响应于随后的主机数据访问请求,当存储后续数据时,加权被应用到随后的服务质量指标用于在两个或多个存储器单元之间进行选择。
鉴于如下的详细讨论和附图,可以理解各种实施例的这些和其他特征以及各方面。
附图简述
在下面的图中,相同的附图标记可以被用于识别在多个附图中类似/相同的部件。
图1是根据示例实施例的装置的方框图;
图2是示出根据示例实施例的主机和工作量指标数据的方框图;
图3是表示根据示例实施例当比较工作量指标和主机所提供的指标时如何调整权重的表格;
图4是表示根据示例性实施例如何鉴于多个工作量指标调整权重的表格;
图5-7是根据示例实施例的方法的流程图。
发明详述
在各种示例实施例的以下描述中,参考了形成其一部分的附图,并且在附图中通过图示示出各种示例实施例的方式。但是应当理解的是:当做出结构和操作上的改变而不背离所附的权利要求的范围时,可以利用其他实施例,。
本发明大体上涉及到持久性数据存储设备,诸如使用固态存储器的那些设备。固态存储器的存储设备可以包括(但不限于)磁盘、闪存(例如,NAND或NOR型存储器)、基于电阻的存储器(例如,电阻式随机存取存储器,相变存储器)和旋转移扭矩的随机存取存储器。虽然这些类型的存储器可以具有不同的特征和优点,有效地利用使用不同存储器类型的存储设备可涉及有效表征和设备中存储的主机数据相关的工作量属性/指标。
术语“工作量属性”或“工作量指标”是指在正常操作期间和所测量的特定数据单元相关联的基于时间和位置的特征。例如,可基于读取数据的频率、写入/改变数据的频率、保留时间、数据被顺序或随机访问的任意组合将指标分配到数据单元,指标不仅可通过针对数据单元的操作,而且通过针对相邻数据单元的操作进行确定。
属性涉及的数据单元可基于计算体系的哪一层正管理数据存储而有所不同。例如,主机应用程序可在文件或文件系统元数据的方面浏览数据单元。较低等级的主机驱动程序可以在逻辑块地址(LBNA)的范围浏览数据单元。该设备的内部处理器可以在逻辑和物理地址范围浏览数据单元。
本发明涉及到表征和管理持久性数据存储设备中的工作量属性。类似的指标也可以从主机设备传送并与工作量属性/指标进行比较。本发明可用于数据存储设备,诸如图1所示的设备100。
在图1中,框图示出了根据示例实施例的数据存储设备100。该设备100可经配置为利用固态存储器的任意组合的固态驱动器(SSD)(或它们的子部件)。该设备100的特征可以适用于其它类型的硬盘驱动器设备,诸如使用固态存储器和磁盘组合的混合驱动器。该设备100的特征也可以适用于不利用标准硬盘驱动器数据接口的特殊用途的固态和/或盘数据存储设备(或子组件体)。例如,设备100可经配置为主机主电路板的基础设施的一部分,例如,与主机114的中央处理单元(CPU)和存储器控制器紧密集成。
该设备100包括两个或多个存储单元102、103,该存储单元102、103包含设备100的非易失性存储器中的一个或全部。存储器单元102、103可包括一个或多个相应的分离物理单元104、105(例如,存储器芯片)。在这个示例中,存储器单元102和103都是非分层单位,以及相应的物理单元104、105各包含来自不同类型的非易失性存储器的存储介质。在每个物理单元104、105中,存储器可以被分成更小的块106、107。因为该物理单位104的底层介质105是不同的,块106、107的存储器容量可有所不同。而设备100的一些特征也适用于非分层混合介质存储器,该理念也可用于使用单个存储介质类型的设备中,但具有单元102、103之间的不同配置,将导致相对于内存大小、读取延迟、写入延迟、功耗、停留时间、可靠性等中一个或多个的不同性能属性。
该设备100可以包括一个或多个控制器110,其便于服务通过主机接口112从主机114接收的请求。主机接口112可以包括硬盘驱动器接口、或其他类型的计算机接口(例如,存储控制器接口,外围总线接口)。控制器110通常可以从引用逻辑地址的主机114接收读取或写入请求。控制器110将逻辑地址转换为物理地址,并对存储器单元102、103的相应物理地址执行相应的读或写操作。
存储器单元102、103可包括单独的控制器(未示出),该控制器至少进行编码、解码、以及其他将信号应用于介质,以执行适合于特定存储器类型的读/写操作。该独立的控制器也可以执行适用于特定的存储器架构的其自己的逻辑到物理映射。在这种情况下,主控制器110可将逻辑主机地址转换为由存储器单元102、103可以使用的内部逻辑地址。
该设备100可以包括非易失性随机存取存储器(RAM)116,其可用于非易失性存储器单元102、103的易失性高速缓冲存储器118,等等。一般情况下,易失性缓存118是镜像非易失性存储器102、103的部分的分层存储器结构,但可以比所述非易失性存储器102、103更快速地读出从和/或写入。对于某些情况,例如,在一段短期间内该数据认为重复读/写活动,易失性缓存118将提高性能。
正如前面提到的,存储器单元102和103包含不同类型的存储器存储介质的非分层单位。例如,存储器单元102、103各自可以是不同的闪速存储器,电阻RAM(ReRAM)、自旋力矩RAM(STRAM),或相变存储器(PSM)的单元。控制器110可以根据与数据相关联的工作量属性选择数据用于存储在单元102、103中特定的一个。例如,存储单元102、103可在内存大小、读/写延迟,读/写吞吐量,功耗,停留时间,可靠性等方面具有不同表现。主机114也可以根据相对于所存储数据的所期望性能属性针对特定数据用于存储在单元102和103。所需的数据属性包括需要快速访问、写入/更新频率、需要可靠性、较长的停留时间、顺序或随机存取等。
一般而言,配合所需的数据属性和其中存储数据的存储器单元102、103的特性是有用的。例如,被频繁写入的数据可最好存储在高持久性的存储器类型中。需要快速访问的数据可最好存储在低读取延迟的存储器类型中。不频繁写入但需要高可靠性的数据最好存储在具有良好可靠性和保留特性的相对高延迟存储器类型中。数据可更好或更容易地与特定存储器大小一致。例如,请求大小可匹配到存储器页面大小,或者未一致的请求可匹配到最好适用于读-修改-写操作(例如,低读取时延,高耐力)的存储器。
因为存储器单元102、103是非分层的,没有必要像在分层缓存配置一样同步单元之间的冗余数据102、103。通常,一旦单元102、103被选择用于存储数据(例如,数据的逻辑地址被映射到所选存储器单元102、103中的物理地址),只要需要该数据,所述数据可保持在该单元中。有可能有如下实例:当数据属性被重新评估并且基于所述重新评估该数据从一个单元102、103移动到另一个。再评价可能是或可能不是定期调度过程,例如,当设备根据用户请求经受重要活动、变得更充分、经历增加的误比特率等,这种情况会发生,如果在重新评价期间,基于数据初始分类,影响数据的当前活动脱离预期活性,该数据可以被移动。
在所示实施例中,主机114可向设备100报告所需的存储属性,例如,通过经由主机接口114发送信号。当数据正在传输或在其他时间可出现该信令。为了本公开的目的,在在该信令所需属性中使用的数据将被称为服务质量(QoS)指标。
该QoS指标可用来指示本文所述的所需存储属性的任意组合,诸如需要快速接入、写入/更新频率、需要可靠性、长的停留时间、顺序或随机存取等。QoS指标可以明确描述目标属性,例如访问速度、可靠性、随机性等。QoS指标可以是隐含的,例如,来自不涉及工作量指标的其他主机元数据,但从中可以导出QoS要求。该隐含的服务质量指标可以包括(但不限于)文件标识符、主机标识符、逻辑黑色的地址范围、应用程序名等。这些隐含指标可从历史分析、带外信令等确定。主机114可关联QoS指标与存储的数据,诸如逻辑块地址(LBA)范围、文件、目录、应用程序等。主机114可在主机请求影响逻辑地址之前、之间或之后通过关联QoS指标与逻辑地址而向设备100通信该指标。
如图所示。如图1所示,设备100包括存储器的保留部分120,功能模块可操作地通过控制器110和数据库122用于存储由设备内部使用的持久性数据。例如,主机属性模块124可以在设备100的操作期间监控从主机114接收的QoS指标。主机属性模块124还可以在数据库122中存储QoS数据。可以使用单独的逻辑地址或地址范围作为索引将QoS数据存储在数据库中。
如果该主机提供的QoS指标关于数据的工作量需求总是正确的,则有可能没有必要存储QoS指标。在这样的情况下,使用主机提供的QoS指标决定是否存储数据,以及所述QoS指标然后可以安全地丢弃。然而,可能存在主机提供的指标是不正确的情况。例如,主机程序或操作系统可作出不正确的假设,可依靠不正确或次优的默认值,等等。
即使当数据首先写入时主机提供的QoS数据是正确的情况下,主机信协议可没有更新QoS的规定,例如,在随后的读取或更新所存储数据的期间。作为结果,当首先存储数据时,被最佳地置备在存储器单元102、103之一的某些数据量可优化后置备,稍后当数据随时间变化时使用。
为了有效地管理主机提供的QoS数据,该设备100包括工作量属性模块126,用于随时间跟踪数据的工作量活动,并在数据库122中存储活动的指标。可以通过监控传入的写入数据并测量后续读取确定工作量。也可以通过对空间位置监测时间上相关联的命令来确定工作量。
时间位置涉及到在一个时间点引用或访问并可能会在不久的将来再次引用的信息。空间位置涉及如下理念:如果附近的数据被最近访问过,则数据更可能被访问。当多个命令具有适合一定空间位置的时间位置时,确定顺序数据。当两个或多个不同组的LBA范围(或文件)作为集合一起访问(例如,所有的inode,文件和inode,键加值等)时,可能发生这种情况。工作量属性可以被配置为:通过比较在时间上相关联的命令和分组具有共同时间联系的命令来确定工作量相关数据集。
工作量数据提供给分辨率/加权模块128,该模块128比较来自工作量属性模块126和主机属性模块124的数据。分辨率/加权模块128解析主机114为特定数据单元提供的QoS指标和为这些数据单元实际测量的工作量活动之间的差异。这可以被用来创建主机QoS指标的权重。
选择在哪里将数据存储在存储器单元102、103时,该权重可以由数据分配部130应用。该权重可导致QoS指标被认为是由测量的工作量属性补充的“提示”。在另一个示例中,QoS指标可以根据来自主机114的之前QoS指标准确性进行缩放。单一权重可应用于特定主机114的所有指标,或者多个权重可用于不同的粒度级别,例如,QoS指标类型、主机命令类型、存储器范围、主机命令或数据的上下文,等。
该权重可通过主机接口112传送回给主机114,以帮助主机114在不同的存储类型之间更好的数据迁移/分配。权重可被应用于其它的提示(诸如数据修剪),其中由于预测的数据变化不进行映射数据状态的变化,或其中一旦修剪数据集则清除之前的内部跟踪数据。可以响应于存储器单元102、103之间的数据的背景再分配,进行加权。后台进程可偶尔重新检查现有数据的QoS值,并如果它导致更好地利用资源则重新分配数据。例如,如果主机提供的QoS建议将被频繁访问,但工作量指标表明它没有用于长时间访问,该过程可导致数据降级。
本文所描述实施例的方面在于:可不需要不同层的抽象(主机文件、设备、LBA、控制器、物理地址)。例如,设备100和控制器110可以与文件或对象的更抽象概念合作,从而减少系统中层的数目。主机114和存储设备100之间的该通信类型的概念可以是:设备100实际上看作是主机114的一部分,例如,操作系统和/或内核级访问直接由设备控制器110(例如,类似于智能DRAM控制器)理解。在这种情况下,服务质量指标的通信可以由请求性质来暗示。例如,操作系统分页可得到高速存储,应用程序分页得到低速存储,动态链接库(DLL)加载得到中等速度等。
现在参照图2,框图示出了根据示例实施例的属性数据集200的比较。块202-205代表为四个不同的地址(例如,LBA)收集的元数据。在块202-205中的元数据可描述与单独地址和/或地址块相关联的活动。每个块202-205中的数据被划分成两大类,例如,如块202所示的主机指标202A和工作量指标202B。
主机指标202A包括由主机提供的QoS指标,其在本示例中涉及速度(例如,延迟,吞吐量)、保留时间以及该数据是否是随机的。这些指标的前2个由2位数字(0-3)指定,并且随机性是单个位,‘1’为随机,以及‘0’为顺序。在这个示例中,期望该主机指标将使用最少的字大小,以减少主机和存储设备之间的通信开销。然而,本实施例并不局限于主机或工作量指标任何特定形式或字长。
工作量指标202B由存储设备测定。工作量指标202B也显示为两位数字,便于与主机指标202A比较。在实践中,工作量指标202B可以使用更高精度(例如8位的数字或更高)来表示,因为工作量指标可以在数学上由相对大的数据集导出。在这种情况下,工作量指标202B可分为匹配主机指标202A的可用值的范围。
在本例中通过该设备测量的工作量指标包括“读取热度”和“写入热度”,其一般是读取/写入数量和/或读取/写入在时间上接近程度的测量。读取热度和读取热度的高值表示受到显著活动量的数据块,而它们可能会或可能不会根据活动发生在多久以前进行加权。这可能不同于读取缓存或写入缓存如何跟踪活动,因为缓存通常需要只跟踪最近的读或写活动。但是,出于性能的目的,即使活动发生相对较少(例如,仅在系统启动期间),也可期望提供快速访问体验活动反复爆发的某些数据单元。
在图2的示例中的设备还测量读取到地址范围以相同顺序发生的频率,由随机工作量指标所指示。顺序数据单元(例如,介质文件)通常会以可预见顺序读回。其他数据,诸如硬盘驱动元数据(例如,日志,文件分配表)可以被写入,读取和/或随机顺序更新。某些数据存储类型和相关存取算法可以使用随机数据相对较好执行,以及其他使用连续数据。
分析模块(诸如图1中的分辨率/加权模块128)经配置以关联主机指标202A与工作量指标202B。例如,如果遇到频繁或不频繁活动突发的数据被放置在更快的存储介质中,系统性能通常可以改善。因此,速度QoS指标可以关联到读取/写入热度工作量指标。指标202A、202B之间可能具有负相关关系。例如,QoS指标202A的保留时间可负相关工作量指标202B的写入热度,因为长期保留可不是经常重复写入数据的优先级。这方面的示例是虚拟内存,它可以在只有很短一段时间被依赖。
在块202,一些主机指标202A似乎没有很好地关联某些所测量的工作量指标202B。例如,主机已表示速度的最高指标,但因为它是首次存储,读取热度和写入热度表明数据还没有看到显著的读/写访问。然而,虽然该参数可能对性能的影响较小,因为在这种情况下数据很少使用,数据的随机性似乎关联由主机表示的指标,。
块203和204中的相关主机指标看上去与被测量的工作量指标密切相关,如高/低速的QoS指标匹配于高/低读取/写入热度工作量指标。在块205,读取和写入热度指标看上去对于速度和保留时间与主机指标是矛盾的。结果,可以得出结论:对于这个小样本,主机似乎很好分类随机/顺序数据,但也可以高估需要的存取速度,低估需要进行数据保留时间。正因为如此,存储系统可倾向于在未来当分配数据到不同存储单元时给予主机提供的速度和保留指标较小的权重。
现在参照如图3,表格300示出权重根据示例实施例如何应用在系统中。表格300可以适用于由主机向存储设备提供的、可由存储设备独立评估的任何度量或者指标。纵轴表示主机提供指标,而横轴表示所测量的工作量指标。在这个示例中,如横轴和纵轴上标签“低”和“高”所看出的,指标可以具有值的范围。
在图中四个区域302-305示出了取决于主机提供指标如何比较于所测量的工作量指而如何对主机指标加权。区域303和304指示所测量的工作量指标与主机提供指标一致的位置。区域302表示主机指标和所测量的工作量指标相比较高的位置,区域304表示主机指标和所测量的工作量指标相比较低的位置。
虽然区域302-305可以提供主机提供指标精度的一般指标,权重相应增加或减少不需要被均匀地施加于各区域302-305。例如,如果绝大多数的主机提供指标在区域304和305之间平均划分,这可表示主机主要推定为低。如果由区域304和305所指示的权重变化被同样适用,则主机将具有中性权重。然而,区域304中的正确指标可由于随机机会,并且因此区域304中的指标对于权重具有较小影响(或没有影响)是理想的。类似的分析可应用于区域303和区域302中的指标。
如果主机一致估计低或高,则可也提供了当映射QoS指标到不同存储单元时主机指标如何被解释和应用的指示。利用图2的示例速度指标,如果主机是相当准确的,并有不同速度属性的两个存储单元类型,则具有主机提供速度0或1的数据将被映射到较慢的存储器单元。具有主机提供度量2或3的数据将被映射到较快的存储器单元。
基于主机加权可调整上述映射。例如,如果主机指标一致地位于区域302和303(主机被高估需要速度)中,则具有主机提供度量0-2的数据将被施加到较慢的存储器单元,并且具有主机提供度量3的数据将被施加到较快的存储器单元。在另一方面,如果主机的指标一致地位于区域304和305(主机被低估需要速度)中,则具有主机提供度量0的数据将被施加到较慢的存储器单元,以及具有主机提供度量1-3的数据将被施加到较快的存储器单元。
应当理解的是,如果主机提供一个以上的QoS指标,对主机提供指标的加权和纠正不用隔离地对待每个指标。使用图2的度量作为示例,每当速度指标较低,主机可以提供准确的保留指标,但每当速度指标较高,可能提供不准确的保留指标。结果,是否存储数据的决定可以使用共同决定表(诸如图4中的),图4显示根据一个示例实施例的共同决定表400。
在图4中,用于在两个或更多的存储器单元类型中存储单元的决定可以取决于两个主机提供指标,I1和I2。可以使用Q=W*(C*I1+C2*I2)寻找QoS值Q,其中C1和C2是比例常数。当Q≥QT时,其中QT为阈值,则该数据可被放置在一个存储单元中,以及当Q<QT时,则数据可以被放置在另一个存储单元中。这可通过使用多个阈值QT扩展到任何数量的存储器单元。权重W可以取决于主机指标落在表400的哪个象限402-405进行调整。这可进一步通过设置Q=W1*C1*I1+W2*C2*I2加以完善。在这种情况下,可根据主机指标落在的表400的象限402-405独立确定/调整每个W1和W2。
应当理解的是:表格300和400可以被修改以包括另外的划分,这种划分可以是相对于彼此线性或非线性的调整尺寸。表格300和400还可以用于二进制的主机提供或工作量指标,标签“低”/“高”用“0”/“1”,“真”/“假”等取代。这种二元指标也可以用在一个或两个轴上,并且可以与之前情况下的多值轴一起使用。
现在参照图5,流程图示出了根据示例实施例的过程。该流程图由从影响存储位置的主机接收500的请求(例如,读,写,更新)触发。存储单元可以包括一个或多个地址(例如,连续范围内)。该请求可以包括或不包括QoS指标,如由判定框502所示。一些请求(诸如读取)可不包括QoS指标,虽然对于跟踪内部度量仍然是重要的。如果请求确实具有QoS指标,它被添加504到数据库,以及递增506度量计数器。
该度量计数器用于偶然触发主机提供的QoS指标的权重的更新,尽管也可以使用其它触发器(诸如经过时间)。如果如在判定框508测试的,度量计数器超过阈值,则使用图6更详细描述的功能510调整该权重。在调整510权重之后,计数器被复位512,以便不重复调整510,直到所需数量的操作再次发生。
无论在方框502是否发现QoS指标,该请求可仍用于更新514有关存储位置的内部工作量指标。例如,如果QoS指标仅用于第一次的数据写入,则随后的读或更新操作不具有QoS指标,但仍用于更新514工作量指标。更新的工作量指标可以比较于数据被写入时和提供的地址相关的QoS指标。工作量指标也可用于其他操作,诸如缓存和碎片收集。
如果在判定框516确定该事件需要定义新的存储位置(例如,写入新数据),则根据服务指标质量的权重值确定518其中存储数据的相应的存储单元。在其中即使对于请求写入新数据QoS指标是可选的配置中,可在518使用诸如工作量指标(例如,涉及和时间或地址的当前数据的其他数据相关的指标)或默认值的其他数据,以代替加权QoS。即使在提供QoS的配置,如果主机权重足够低,该设备可利用工作量指标或一些其他属性,而不是QoS指标。
在退出程序之前完成520该请求。完成520请求可涉及读取目标地址或地址的写入、更新,等等。但应理解,这些操作的顺序可以改变,并且某些操作并行执行。例如,可在例程的开始完成520该请求,并在以后的时间并行地执行或排队其他操作。
现在参照图6,流程图示出用于根据示例性实施例调整主机权重的图5的调整功能510的示例。该过程包括通过循环具有主机提供属性的所有地址,如循环限制块600所指示的。例如,如果主机提供的QoS属性存储在由LBA索引的数据库中(例如,图1中的数据库122),则查询由LBA分类的所有记录可用来遍历循环600。
对于循环600中的每个地址,寻找602主机提供的QoS指标。对于同一个地址,寻找604所测量的工作量指标。根据和工作量指标的比较,确定606主机提供的QoS指标的准确定。这种比较可以根据查找表的数值,或使用本领域中已知的任何其他相关功能。基于所述比较,调整608主机的权重。权重可作为整体应用于主机,或者可以包括用于不同主机提供QoS指标和/或QoS指标的组合的多个单独权重。在循环600退出之后,存储610所述一个或多个经调整的或新的权重。
权重的调整608可涉及修改现有的权重,或创建全新的权重。例如,每次迭代执行循环600可以增加或减少累加器。在退出循环之后但存储610权重之前,累加器可以被平均化,并调整为适当的值,例如,0和1之间。这个比例值可以与先前的权重(如果存在)合并(例如,平均值),或可取代任何先前的权重。
现在参照图7,流程图示出了根据示例实施例的方法。该方法包括接收702(例如,通过主机接口)从主机提供的服务质量指标。服务质量指标涉及到通过主机存储在非易失性数据存储器中的数据。
测量702涉及服务质量指标的工作量属性,以及响应该属性与所监视的工作量属性之间的相关性向主机分配704权重。所测量的工作量指标和服务质量指标可以描述如下的至少一个:a)相关数据是否是随机或顺序;b)相关数据是否有望体验显著读取活动和显著写活动中的至少一种;以及c)相关数据是否预计需要长时间的数据保留时间。
当响应后续主机数据访问请求时,权重被应用706到服务质量指标。例如,响应于加权的后续服务指标质量,可从非易失性数据存储的两种或更多种类型的非分级存储器选择其上存储后续数据的存储器。两种或多种类型的非分级存储可被选择,例如,基于相对于存储器大小、读取延迟、写入延时、功耗、保留时间和可靠性中至少之一具有不同属性,可选择两种或多种类型的非体系存储器。权重可被传回给主机,例如以帮助主机随后分类数据和使用QoS指标。
在另一种配置中,服务质量测量可以包括两个以上的值的范围。在这种情况下,向随后服务质量指标应用权重涉及调整范围和两种或多种类型的非分层存储器之间的映射关系。两种或更多种类型的非分级存储器中至少之一可以包括电阻式存储器(例如,ReRAM、PCM)。
上述各种实施例可使用交互以提供特定结果的电路和/或软件模块来实现。计算领域的技术人员采用本领域技术人员的公知常识,可以容易地实现这样描述的功能,无论以模块级或作为整体。例如,本文中所示的流程图可被用于创建由处理器执行的计算机可读指令/代码。这样的指令可以存储在计算机可读介质上,并传送到处理器,如在本领域已知的用于执行。上面所示的结构和程序仅是可用于促进如上所述的数据存储设备中的管理缓的实施例的代表性示例。
已经出于说明和描述的目的提出示例性实施例。它不旨在穷尽或限制本发明概念所公开的精确形式。根据上述教导,许多修改和变化是可能的。所公开的实施例的任何或所有特征都可以单独或以任何组合应用,并不意味着是限制性的,而纯粹是说明性的。它意在范围不受本详细说明的限制,而是由所附的权利要求确定。

Claims (20)

1.一种装置,包括:
能耦合到非易失性数据存储器和主机接口的控制器,所述控制器经配置以至少执行:
经由所述主机接口接收从主机提供的服务质量指标,所述服务质量指标涉及通过所述主机存储在非易失性数据存储器中的数据;
测量涉及到所述服务质量指标的工作量指标;
响应于服务质量指标和所测量的工作量指标之间的相关性,分配权重给主机,以及
当响应来自主机的数据访问请求时,向所述服务质量指标应用权重。
2.如权利要求1所述的装置,其中,响应数据访问请求包括:根据所述权重,从其上存储主机数据的非易失性数据器的两种或多种类型的非体系存储器选择存储器。
3.如权利要求2所述的装置,其中,基于相对于存储器大小、读取延迟、写入延时、功耗、保留时间和可靠性中至少之一具有不同属性,可选择两种或多种类型的非体系存储器。
4.如权利要求2所述的装置,其中,所述服务质量指标包括两个以上的值的范围,并且其中向所述服务质量指标应用权重包括调整范围和两种或多种类型的非分层存储器之间的映射关系。
5.如权利要求2所述的装置,其中,所述类型的非分层存储器中的至少一种包括电阻式存储器或自旋力矩存储器。
6.如权利要求1所述的装置,其中,所测量的工作量指标和服务质量指标描述相关联的数据是否是随机的或连续的。
7.如权利要求1所述的装置,其中,所测量的工作量指标和所述服务质量指标描述相关联的数据是否预期经历的显著读取活动和显著写入活动中的至少之一。
8.如权利要求1所述的装置,其中,所测量的工作量指标和所述服务质量指标描述相关联的数据是否预期需要很长的数据保留时间。
9.如权利要求1所述的装置,其中,所述服务质量指标是不直接涉及工作量指标的隐含的通过主机提供元数据。
10.如权利要求9所述的装置,其中,所述主机提供元数据包括一个或多个主机标识符,逻辑块地址范围和文件标识符。
11.一种方法,包括:
经由所述主机接口接收从主机提供的服务质量指标,所述服务质量指标涉及通过所述主机存储在非易失性数据存储器中的数据;
测量涉及到所述服务质量指标的工作量指标;
响应于服务质量指标和所测量的工作量指标之间的相关性,分配权重给主机,以及
当响应来自主机的数据访问请求时,向所述服务质量指标应用权重。
12.如权利要求11所述的方法,其中,响应数据访问请求包括:根据所述权重,从其上存储主机数据的非易失性数据器的两种或多种类型的非体系存储器选择存储器。
13.如权利要求12所述的方法,其中,基于相对于存储器大小、读取延迟、写入延时、功耗、保留时间和可靠性中至少之一具有不同属性,可选择两种或多种类型的非体系存储器。
14.如权利要求12所述的方法,其中,所述服务质量指标包括两个以上的值的范围,并且其中向所述服务质量指标应用权重包括调整范围和两种或多种类型的非分层存储器之间的映射关系。
15.如权利要求11所述的方法,其中,所测量的工作量指标和所述服务质量指标描述如下的至少一个:
相关数据是否是随机或顺序;
相关数据是否有望经历显著读取活动和显著写入活动的至少一种;和
相关数据是否预计需要长时间的数据保留时间。
16.如权利要求11所述的方法,还包括通信权重回所述主机。
17.一种存储由处理器可操作以执行根据权利要求11的方法的指令的非临时性计算机可读介质。
18.一种装置,包括:
两个或更多的非分层存储器单元,每个具有不同类型的非易失性存储器,其中非易失性存储器的类型的至少一个包括电阻式存储器;
耦合到所述两个或多个存储单元的控制器,所述控制器被配置为至少执行:
存储从主机提供的涉及通过主机存储在所述装置上的数据的服务质量指标;
测量涉及服务质量指标的工作量指标;
响应所存储的服务指标质量和所测量的工作量指标之间的相关性,分配权重给主机以,以及
响应于随后的主机的数据访问请求,向随后的服务质量指标应用权重,用于当存储后续数据时从所述两个或更多存储器单元之间选择。
19.如权利要求18所述的装置,其中,所述两个或更多存储器单元具有相对于数据的存取速度、功耗、保留时间和可靠性中至少一个的不同属性。
20.如权利要求18所述的装置,其中,所测量的工作量指标和所述服务质量指标描述如下的至少一个:
相关数据是否是随机或顺序;
相关数据是否有望经历显著读取活动和显著写入活动的至少一种;和
相关数据是否预计需要长时间的数据保留时间。
CN201410065323.9A 2013-02-26 2014-02-25 向主机服务质量指标分配权重 Active CN104008017B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/776,896 2013-02-26
US13/776,896 US9367262B2 (en) 2013-02-26 2013-02-26 Assigning a weighting to host quality of service indicators

Publications (2)

Publication Number Publication Date
CN104008017A true CN104008017A (zh) 2014-08-27
CN104008017B CN104008017B (zh) 2018-07-31

Family

ID=51368681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410065323.9A Active CN104008017B (zh) 2013-02-26 2014-02-25 向主机服务质量指标分配权重

Country Status (3)

Country Link
US (1) US9367262B2 (zh)
JP (1) JP6313993B2 (zh)
CN (1) CN104008017B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484628A (zh) * 2015-08-27 2017-03-08 三星电子株式会社 基于事务的混合存储器模块
CN111294247A (zh) * 2020-05-13 2020-06-16 广东睿江云计算股份有限公司 一种存储区域的QoS分配方法及系统
WO2021120218A1 (zh) * 2019-12-20 2021-06-24 华为技术有限公司 一种提升ssd利用率的方法、存储装置及ssd控制器
US20210286641A1 (en) * 2020-03-13 2021-09-16 Fujitsu Limited Management device, information processing system, and non-transitory computer-readable storage medium for storing management program
CN114518838A (zh) * 2020-11-20 2022-05-20 西部数据技术公司 通过PCIe TLP合并的有效PCIe利用

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016194175A1 (ja) * 2015-06-03 2016-12-08 株式会社日立製作所 ストレージシステム
US20170052713A1 (en) 2015-08-20 2017-02-23 Netapp, Inc. System and method to read cache data on hybrid aggregates based on physical context of the data
US9852786B2 (en) 2015-10-21 2017-12-26 Toshiba Memory Corporation Semiconductor memory device that varies voltage levels depending on which of different memory regions thereof is accessed
KR102517129B1 (ko) * 2015-11-19 2023-04-04 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
US10445143B2 (en) * 2017-06-14 2019-10-15 Vmware, Inc. Device replacement for hyper-converged infrastructure computing environments
US10558392B2 (en) 2017-06-30 2020-02-11 Seagate Technology Llc Enhancing quality of service of a storage device
US10223231B1 (en) 2017-08-09 2019-03-05 Seagate Technology Llc Data storage management
US11630579B2 (en) * 2020-02-14 2023-04-18 Micron Technology, Inc. Memory sub-system performance shaping including adding a delay to particular data traffic

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1445657A (zh) * 2002-03-13 2003-10-01 佳能株式会社 控制系统、记录装置和电子设备
US20050038833A1 (en) * 2003-08-14 2005-02-17 Oracle International Corporation Managing workload by service
CN1985239A (zh) * 2004-07-07 2007-06-20 皇家飞利浦电子股份有限公司 分配数据文件的方法以及用于存储数据文件的存储器系统
CN102272745A (zh) * 2009-01-08 2011-12-07 美光科技公司 存储器系统控制器
US20120297121A1 (en) * 2011-05-17 2012-11-22 Sergey Anatolievich Gorobets Non-Volatile Memory and Method with Small Logical Groups Distributed Among Active SLC and MLC Memory Partitions

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260115B1 (en) 1999-05-13 2001-07-10 Storage Technology Corporation Sequential detection and prestaging methods for a disk storage subsystem
US6965930B1 (en) * 2000-10-20 2005-11-15 International Business Machines Corporation Methods, systems and computer program products for workload distribution based on end-to-end quality of service
US6963917B1 (en) * 2000-10-20 2005-11-08 International Business Machines Corporation Methods, systems and computer program products for policy based distribution of workload to subsets of potential servers
US7441033B2 (en) * 2003-08-14 2008-10-21 Oracle International Corporation On demand node and server instance allocation and de-allocation
US7552171B2 (en) * 2003-08-14 2009-06-23 Oracle International Corporation Incremental run-time session balancing in a multi-node system
US7437460B2 (en) * 2003-08-14 2008-10-14 Oracle International Corporation Service placement for enforcing performance and availability levels in a multi-node system
US7437459B2 (en) * 2003-08-14 2008-10-14 Oracle International Corporation Calculation of service performance grades in a multi-node environment that hosts the services
CN100547583C (zh) * 2003-08-14 2009-10-07 甲骨文国际公司 数据库的自动和动态提供的方法
US7953860B2 (en) * 2003-08-14 2011-05-31 Oracle International Corporation Fast reorganization of connections in response to an event in a clustered computing system
US7747717B2 (en) * 2003-08-14 2010-06-29 Oracle International Corporation Fast application notification in a clustered computing system
US7516221B2 (en) * 2003-08-14 2009-04-07 Oracle International Corporation Hierarchical management of the dynamic allocation of resources in a multi-node system
US7107403B2 (en) * 2003-09-30 2006-09-12 International Business Machines Corporation System and method for dynamically allocating cache space among different workload classes that can have different quality of service (QoS) requirements where the system and method may maintain a history of recently evicted pages for each class and may determine a future cache size for the class based on the history and the QoS requirements
JP2005228278A (ja) * 2004-01-14 2005-08-25 Hitachi Ltd 記憶領域の管理方法、管理装置及び管理プログラム
US8428983B2 (en) * 2007-12-28 2013-04-23 International Business Machines Corporation Facilitating availability of information technology resources based on pattern system environments
US8275933B2 (en) * 2008-11-10 2012-09-25 Fusion-10, Inc Apparatus, system, and method for managing physical regions in a solid-state storage device
US8464255B2 (en) * 2010-03-12 2013-06-11 Microsoft Corporation Managing performance interference effects on cloud computing servers
US8478879B2 (en) * 2010-07-13 2013-07-02 International Business Machines Corporation Optimizing it infrastructure configuration
US8862845B2 (en) 2010-12-06 2014-10-14 Xiotech Corporation Application profiling in a data storage array
US20120239860A1 (en) 2010-12-17 2012-09-20 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US9417794B2 (en) * 2011-07-26 2016-08-16 Apple Inc. Including performance-related hints in requests to composite memory
US8463633B2 (en) * 2011-07-27 2013-06-11 Xerox Corporation Methods and systems for deploying a service workflow in a hybrid cloud environment
US8732291B2 (en) * 2012-01-13 2014-05-20 Accenture Global Services Limited Performance interference model for managing consolidated workloads in QOS-aware clouds

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1445657A (zh) * 2002-03-13 2003-10-01 佳能株式会社 控制系统、记录装置和电子设备
US20050038833A1 (en) * 2003-08-14 2005-02-17 Oracle International Corporation Managing workload by service
CN1985239A (zh) * 2004-07-07 2007-06-20 皇家飞利浦电子股份有限公司 分配数据文件的方法以及用于存储数据文件的存储器系统
CN102272745A (zh) * 2009-01-08 2011-12-07 美光科技公司 存储器系统控制器
US20120297121A1 (en) * 2011-05-17 2012-11-22 Sergey Anatolievich Gorobets Non-Volatile Memory and Method with Small Logical Groups Distributed Among Active SLC and MLC Memory Partitions

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484628A (zh) * 2015-08-27 2017-03-08 三星电子株式会社 基于事务的混合存储器模块
WO2021120218A1 (zh) * 2019-12-20 2021-06-24 华为技术有限公司 一种提升ssd利用率的方法、存储装置及ssd控制器
US20210286641A1 (en) * 2020-03-13 2021-09-16 Fujitsu Limited Management device, information processing system, and non-transitory computer-readable storage medium for storing management program
US11593146B2 (en) * 2020-03-13 2023-02-28 Fujitsu Limited Management device, information processing system, and non-transitory computer-readable storage medium for storing management program
CN111294247A (zh) * 2020-05-13 2020-06-16 广东睿江云计算股份有限公司 一种存储区域的QoS分配方法及系统
CN111294247B (zh) * 2020-05-13 2020-09-18 广东睿江云计算股份有限公司 一种存储区域的QoS分配方法及系统
CN114518838A (zh) * 2020-11-20 2022-05-20 西部数据技术公司 通过PCIe TLP合并的有效PCIe利用

Also Published As

Publication number Publication date
US9367262B2 (en) 2016-06-14
JP2014164769A (ja) 2014-09-08
CN104008017B (zh) 2018-07-31
JP6313993B2 (ja) 2018-04-18
US20140244892A1 (en) 2014-08-28

Similar Documents

Publication Publication Date Title
CN104008017A (zh) 向主机服务质量指标分配权重
CN110245093B (zh) 固态存储驱动器阵列中的工作负荷自适应超额配置
US11150836B2 (en) Deterministic optimization via performance tracking in a data storage system
US10275162B2 (en) Methods and systems for managing data migration in solid state non-volatile memory
US8943266B2 (en) Storage system and method of control for storage system
US20170262223A1 (en) Optimized auto-tiering
US10338825B2 (en) Managing SSD wear rate in hybrid storage arrays
US9846641B2 (en) Variability aware wear leveling
US9298534B2 (en) Memory system and constructing method of logical block
US9665630B1 (en) Techniques for providing storage hints for use in connection with data movement optimizations
CN103559138B (zh) 固态硬盘及其空间管理方法
US8775723B2 (en) Storage system and control method of storage system
US20200004455A1 (en) Data storage system with improved time-to-ready
US10289317B2 (en) Memory apparatus and methods thereof for write amplification aware wear leveling
US10809931B1 (en) Techniques for use with physical media types having varying allowable write quotas
WO2012148828A2 (en) Variable over-provisioning for non-volatile storage
US10997080B1 (en) Method and system for address table cache management based on correlation metric of first logical address and second logical address, wherein the correlation metric is incremented and decremented based on receive order of the first logical address and the second logical address
US11663133B2 (en) Memory tiering using PCIe connected far memory
US20220147279A1 (en) Heat management solid-state data storage system
KR102302649B1 (ko) 고체-상태 드라이브들에 대한 동적 대역폭 리포팅
CN107526533B (zh) 存储管理方法及设备
CN113874942A (zh) 一种数据读取方法、存储控制器及电子设备
JP2021121901A (ja) メモリシステムおよび制御方法
Wang et al. Write amplification trade-off analysis in hybrid mapping solid state drives
CN111913650B (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
GR01 Patent grant
GR01 Patent grant