CN116529695A - 使用存储系统优化的增强的应用性能 - Google Patents
使用存储系统优化的增强的应用性能 Download PDFInfo
- Publication number
- CN116529695A CN116529695A CN202180077367.1A CN202180077367A CN116529695A CN 116529695 A CN116529695 A CN 116529695A CN 202180077367 A CN202180077367 A CN 202180077367A CN 116529695 A CN116529695 A CN 116529695A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- computer
- heat map
- access
- 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.)
- Pending
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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
-
- 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/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- 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/0653—Monitoring storage devices or 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
提供了用于存储系统优化的分层迁移的方法、计算机系统和计算机程序产品。该方法可以包括基于访问计数器确定移动数据以平衡存储驱动器与存储层之间的工作负荷(302)。该方法可以包括与互连应用程序接口建立连接(304)。该方法可以包括收集和转换物理访问计数器(306)。该方法可以包括收集热图数据(308)。该方法可以包括计算内部映射改变事件的分层迁移计划(310)。
Description
背景技术
本发明总体上涉及计算领域,并且更具体地涉及存储系统。多层存储方法可以用于主要基于访问标准、使用频率、安全性和数据恢复要求将数据存储在不同类型的存储设备上。存储分层可以包括跨位置透明地重定位不同类型的盘以获得更好的系统性能的特征。
发明内容
本发明的实施例公开了用于存储系统优化的分层迁移的方法、计算机系统和计算机程序产品。本发明的实施例可以包括基于访问计数器确定移动数据以平衡存储驱动器与存储层之间的工作负荷。本发明的实施例可包括基于确定移动数据来建立与互连应用程序接口的连接。本发明的实施例可包括基于与互连应用程序接口建立连接来收集和转换物理访问计数器。本发明的实施例可包括基于收集和转换物理访问计数器来收集热图数据。本发明的实施例可包含基于收集热图数据来计算内部映射改变事件(internal map changeevent)的分层迁移计划。
附图说明
从以下将结合附图阅读的对本发明的示范性实施例的详细描述中,本发明的这些和其他目的、特征和优点将变得清晰。附图的各个特征不是按比例的,因为图示是为了便于本领域技术人员结合具体实施方式理解本发明而清楚起见。在附图中:
图1示出了根据至少一个实施例的联网计算机环境;
图2是根据至少一个实施例的用于存储系统优化的系统架构的框图示例;
图3是示出了根据至少一个实施例的使用存储系统优化在分层迁移期间用于增强的应用性能的过程的操作流程图;
图4是示出了根据至少一个实施例的使用存储系统优化在内部映射改变事件期间用于增强的应用性能的过程的操作流程图;
图5是根据至少一个实施例的在图1中示出的计算机和服务器的内部和外部组件的框图;
图6是根据本公开的实施例的包括图1中示出的计算机系统的说明性云计算环境的框图;以及
图7是根据本公开的实施例的图6的说明性云计算环境的功能层的框图。
具体实施方式
本文中公开了所要求保护的结构和方法的详细实施方式,然而,应当理解的是,所公开的实施例仅仅是可以以各种形式体现的所要求保护的结构和方法的说明。然而,本发明可以以许多不同的形式体现并且不应被解释为局限于在此阐述的示例性实施例。相反,提供这些示例性实施例是为了使本公开全面且完整,并且将本发明的范围充分传达给本领域技术人员。在说明书中,可省略众所周知的特征和技术的细节以避免不必要地使所呈现的实施例费解。
如前所述,多层存储方法可以用于主要基于访问标准、使用频率、安全性和数据恢复要求将数据存储在不同类型的存储设备上。存储分层可以包括跨位置透明地重定位不同类型的盘以获得更好的系统性能的特征。最初为硬盘驱动器(HDD)和近线存储盘(诸如磁带和硬盘驱动器(HDD)盘系统)设计存储分层。硬盘驱动器(HDD)和近线存储盘使用与闪存驱动器不同的技术,并且用于硬盘驱动器(HDD)和近线存储盘的现有分层机制被调谐成与闪存驱动器一起工作以用于重新平衡和层间迁移。目前对现有分层机构的一个主要限制是对闪存驱动器的热测量和对硬盘的热测量以相同的方式执行。硬盘驱动器(HDD)和近线存储盘的热测量不像闪存驱动器那样操作。因此,尤其有利的是,创建对系统资源利用率的改进以减少用于热图维护的中央处理单元(CPU)的消耗以及使用存储系统中的闪存输入-输出(IO)优化来改进应用性能。
以下描述的示例性实施例提供了用于存储优化的系统、方法和程序产品。照此,本发明的实施例具有通过优化存储系统中的闪存输入输出(IO)操作以改进应用性能来改进存储优化技术领域的能力。更具体地,可以使用用于存储系统优化的更新的系统架构在分层迁移期间和内部映射改变事件期间获得增强的应用性能。创建多层架构和扩展平衡功能以处理分层迁移。在所提供的系统架构上的分层迁移提供了许多优点。
优点包括对系统资源利用的改进,使得针对存储虚拟化系统处的热图维护减少了中央处理单元(CPU)消耗。在存储虚拟化系统处的热图维护可以被用于其他输入-输出(IO)服务和目的,因此,性能益处在系统级出现。另外,通过在分层迁移决策之前跳过闪存层上存在的扩展的热图更新并直接从闪存中的闪存转换层(flash translation laver,FTL)获取热图信息,在存储分层环境中使用闪存输入-输出(IO)优化来增强和优化应用性能。
另一优点包括从闪存驱动器收集集成在存储分层中的关于闪存驱动器访问统计的信息。所收集的信息可包括关于降低分层展示(demon)(即,在计算操作系统中作为后台进程运行的分层)处的计算要求的信息和可释放闪存扩展的内联热图更新所消耗的存储器资源的信息,这导致改进的存储器优化。
另一优点包括用于管理较快层中的扩展的改进方法,该较快层是成本高并且性能是重要因素的空间。扩展可包括文件系统中的预留存储区域。另一优点包括与现有存储产品简单实施和集成,并且没有异乎寻常的硬件或软件设备。另一优点包括在可用资源变得可用之后通过调整或移动扩展或预留存储区域来满足期望的性能预期的应用性能。许多优点为计算服务和基于云的服务提供了重要的块级和文件系统存储解决方案。
根据实施例,创建多层存储架构以基于数据访问、数据使用频率以及数据安全和数据恢复要求将数据存储在多种类型的存储设备上。作为示例,由响应时间敏感的应用频繁访问的数据可以被存储在固态驱动器(SSD)上。较不频繁或不频繁访问的其他数据可以存储在高容量每分钟7.2K转(revolutions per minute,RPM)驱动器上。访问较不频繁的数据可具有较高或较长的响应时间,然而,由于访问较不频繁的数据,所以可容忍较长的响应时间。用于将频繁访问的数据存储在固态驱动器(SSD)上的每千兆字节的存储的成本显著大于用于将不频繁访问的其他数据存储在7.2K RPM驱动器上的成本。
多层存储架构可例如基于可访问性、频率和恢复要求来识别将数据存储在哪里。多层存储优化程序可识别可受益于较高成本和较高性能存储层的数据,且随着时间的推移,针对一些数据最佳层可改变。识别数据和数据到适当层的移动可以是基于数据的访问和数据被访问的频率随时间调整的持续的过程。
访问热温度可用于虚拟化多种类型的后端盘并且用于跨层自主地移动扩展。闪存可以位于较高层,例如顶部三层或者顶部三种类型的层,以处理热扩展的执行。热扩展可包括可由主机应用高度访问的数据。闪存驱动器可能能够比硬盘驱动器(HDD)和近线存储盘更快地服务于输入-输出(IO)操作。因此,闪存驱动器可以放置在分层架构的最上层。闪存驱动器也可能成本更高,因此可能包含具有高性能特性的有限量的空间。对数据的存储进行分层可以基于访问热计数来移动扩展,访问热计数可以由每个输入-输出(IO)操作来更新。
另外,扩展的热度可由输入-输出(IO)监测展示来收集,该输入-输出(IO)监测展示保留分层系统中的每个区间的计数器。热扩展或冷扩展可以是与后端输入-输出(IO)活动有关的度量。例如,基于输入-输出(IO)活动,热扩展(即,高活动扩展)可迁移到较高层,而冷扩展(即,低活动扩展)可降级或向下迁移到较低层。监测扩展可用于扩展平衡。监测热和冷扩展可使用基于热图数据的热图来完成。热图可以是每个扩展的基于工作负荷活动的度量。扩展降级和将扩展保持在闪存中可以取决于扩展的热度。扩展降级可包括将扩展从较快层移动到较慢层。当较快层中的数据不经常被访问(例如,按照最后定义的周期不经常被访问)从而移动到较慢层时,降级通常可以发生。当接收到任何读取或写入输入-输出(IO)请求时,可对扩展的访问计数器进行更新。
存储控制器中的分层模型的示例可以包括基于参考性能的每千兆字节的成本的存储能力的层级。例如,低成本和低性能驱动可以包括近线驱动。比近线驱动器稍高的成本和执行驱动器可以包括高性能企业驱动器。比企业驱动器更高的成本和执行驱动器可以包括高容量闪存驱动器。比高容量闪存驱动器更高的成本和执行驱动器可以包括高性能闪存或固态驱动器(SSD)。
根据实施例,创建扩展平衡功能以处理扩展迁移。扩展平衡功能可处理在同一存储层或不同类型的存储层内的扩展迁移,并且可作为具有分层特征的捆绑解决方案来提供。例如,如果扩展迁移在相同的层逻辑单元(logical unit,LUN)之间,那么对于平衡功能,可发生层内迁移。而且,如果盘被高度利用且同层上的其他盘被较少利用,则如果被低利用的盘在迁移之后不违反性能限制的话,一些热扩展可被移动到被低利用的盘。
在不同类型的存储层之间或在相同类型的存储层之间操作的扩展平衡功能可改进性能,因为更热的扩展跨多个磁盘分布或重新分布。扩展平衡功能可有助于过载场景,并且扩展迁移过程大量地改善性能,因此提供性能增益。
设备堆栈中的分层的示例可以包括网络服务器、交换机、闪存系统、和不同层的独立磁盘冗余阵列(RAID)存储装置。该设备堆叠可以具有连接至存储装置的服务器,这些存储装置通过直接附接或在单个机架内的交换结构连接以优化分析处理。例如,层1可以包括RAID 10并且是写入密集型企业软件即解决方案(SaaS)固态驱动器(SSD)(400GB SLC),并且是最昂贵的。层2可以包括RAID 5,并且可以是读密集型企业SAS SSD(1.6TB MLC)。层3可以包括RAID 6HDD(15K、10K、7.2K)。数据分析可以被递送、传输和用于数据仓储和分析操作。分析和数据的组合可以在设备堆叠中并且可以被提供用于客户使用。
示例系统可以使用和受益于存储优化程序,其可以包括IBM(IBMPureData和所有基于IBM PureData的商标和标志是国际商业机器公司和/或其关联公司的商标或注册商标)、/>(Netezza和所有基于Netezza的商标和标志是国际商业机器公司和/或其关联公司的商标或注册商标)、以及许多其他存储单元。IBM是一种用于分析的系统,其使用/>技术来交付用于数据仓储和对数据进行分析操作的机制。系统允许应用数据的存储管理和集群级的存储分层的内部使用,以获得跨驱动器的最佳性能。
被占用作为闪存驱动器中的闪存空间的扩展可能需要重新平衡以基于访问热计数跨闪存驱动器移动数据。闪存驱动器中的目标盘和过载识别可以取决于在虚拟化级别维持的访问计数器,使得阵列可以将访问统计保持在虚拟化级别,并且可以执行基于所收集的数据的扩展移动。
由于在现有的分层解决方案、热测量和闪存驱动器的迁移中扩展平衡受到限制,现在可以讨论当前的典型场景。固态驱动器(SSD)闪存控制器或闪存驱动器中的存储虚拟化控制器包含闪存转换层(FTL),该闪存转换层管理固态驱动器(SSD)操作并且监测在闪存驱动器逻辑块寻址(LBA)上执行的输入-输出(IO)操作。闪存转换层(FTL)模块可以提取输入-输出(IO)操作,并且可以维护驱动器的输入-输出(IO)计数器和逻辑块寻址(LBA)位置块的表。由闪存转换层(FTL)模块获得的数据表可以用于计算每天的驱动写入(drivewrites per day,DWPD)、损耗均衡预测和应用数据。
存储虚拟化控制器还可基于扩展(例如,映射到逻辑块寻址(LBA)单元的扩展)来保持输入-输出(IO)计数器,并且可用于跨层的分层移动。可以在传输至存储系统的每个输入-输出(IO)操作上执行输入-输出(IO)计数器更新。当扩展存在于更快执行的层中时,存储系统可期望对相关联扩展的更多输入-输出(IO)请求。每个输入-输出(IO)操作可以在闪存驱动器的两个位置处被计数,并且当在系统中传递高度可访问的数据时,双计数可以在整个系统架构中产生低效率。在两个位置处的双计数可以包括在存储层级处的一个计数和在闪存转换层(FTL)层级处的另一计数。基于物理位置的驱动级别映射来更新输入-输出(IO)计数器,并且更新输入-输出(IO)计数器以监测闪存驱动器中的闪存转换层(FTL)处的访问计数器处的损耗均衡和其他闪存功能。
许多复杂性与从闪存驱动器上的访问计数器获得保留的数据以及使用该数据提取从闪存控制单元到存储虚拟化系统的信息相关联。一个复杂性包括当映射在驱动器级别改变并且驱动器级别不知道存储虚拟化引擎的上层时,将物理逻辑块地址(LBA)映射到虚拟化的逻辑块地址(LBA)。在映射改变期间,计数器消失并且针对新的物理位置重新开始。另一复杂性包括基于扩展对存储系统级的输入-输出(IO)统计计数,并且当固件在逻辑物理逻辑块寻址(LBA)级工作时,可能不存在对驱动器固件的扩展可见性。本文呈现的实施例提高了输入-输出(IO)性能(即,更快执行闪存层),降低了输入-输出等待时间并且提高了操作效率。
参照图1,示出了根据一个实施例的示例性联网计算机环境100。联网计算机环境100可以包括具有处理器104和数据存储设备106的计算机102,其能够运行软件程序108和存储优化程序110a。联网计算机环境100还可以包括服务器112,其能够运行可以与数据库114和通信网络116交互的存储优化程序110b。计算机102还可以称为客户端计算机,并且服务器112还可以称为服务器计算机。联网计算机环境100可以包括多个计算机102和服务器112,仅示出其中之一。通信网络116可包括不同类型的通信网络,诸如广域网(WAN)、局域网(LAN)、电信网络、无线网络、公共交换网络和/或卫星网络。应当理解,图1仅提供一个实现方式的图示并且不暗示关于其中可以实现不同实施例的环境的任何限制。可以基于设计和实现要求对所示出的环境做出许多修改。
计算机102可以经由通信网络116与服务器112通信。通信网络116可以包括连接,例如有线、无线通信链路、或光纤电缆。如将参考图5讨论的,服务器112可以分别包括内部组件902a和外部组件904a,并且计算机102可以分别包括内部组件902b和外部组件904b。服务器112还可在云计算服务模型中操作,诸如软件即服务(SaaS)、分析即服务(AaaS)、区块链即服务(BaaS)、平台即服务(PaaS)、或基础设施即服务(IaaS)。服务器112还可以位于云计算部署模型中,诸如私有云、社区云、公共云或混合云。计算机102可以是例如移动设备、电话、个人数字助理、上网本、膝上型计算机、平板计算机、台式计算机、或能够运行程序、访问网络和访问数据库114的任何类型的计算设备。根据本实施例的不同实现,存储优化程序110a、110b可以与数据库114交互,数据库114可以嵌入在不同存储设备中,诸如但不限于计算机/移动设备102、服务器112、或云存储服务。
根据本实施例,操作计算机102或服务器112(例如,服务器计算机)的用户可以使用存储优化程序110a、110b(分别)来使用存储系统优化来增强应用性能。下面参照图2至图4更详细地说明存储优化方法。
现在参见图2,示出了根据至少一个实施例的由存储优化程序110a、110b使用的存储系统优化的系统架构200的框图示例。用于系统存储优化的系统架构200可以与现有的存储层特征一起工作,可以从用于存储池中的可用层的虚拟化映射收集信息,并且可以实现针对系统中的闪存驱动器的优化的输入-输出(IO)统计收集。
存储优化程序110a、110b可以与系统存储优化系统的系统架构200通信。在用于存储系统优化的系统架构200内,主机202可以包括连接到服务网络的计算机或服务器,并且主机202可以向虚拟化系统204发送信息。虚拟化系统可以从主机202接收或获得数据,并且可以包含热图更新206模块或组件、热图监测器208、层数据重定位器210模块或组件、扩展虚拟化映射212和用于组件的互连应用程序接口(API)214模块。
热图更新206模块可处理和维护存储池中的每个扩展的输入-输出(IO)计数器。当任何输入-输出(IO)到达或传输到系统时,热图更新206还可以维护访问计数器。热图监测器208可出于执行负载平衡和额外的分层迁移过程以改善性能的目的而在范围上处理监测器工作负载。层数据重定位器210模块可跟踪哪些扩展位于什么层处,并且可跟踪工作负荷以使扩展基于工作负荷在相同层级上可用。层数据重定位器210可用于选择升级或降级情况或哪些扩展可被升级或降级。
扩展虚拟化映射212可包含扩展和数据物理上位于的目标驱动器。扩展虚拟化映射212可用于获得与存储系统中的数据的本地或物理映射有关的信息。互连应用程序接口(API)214可以允许外部实体通过认证来执行内部操作,使得可以在外部控制内部参数设置。
闪存驱动器216可包括闪存转换层(FTL)218、访问计数器更新220和数据块222。闪存固态驱动器(SSD)盘控制器中的闪存转换层(FTL)218可以在分层迁移决定之前从闪存转换层(FTL)218获取逻辑块寻址(LBA)(例如,数据块222)的访问映射。硬盘驱动器(HDD)224可以包括硬盘控制器226以及轨道(tracs)和扇区地址228。轨道和扇区地址228可以是保存数据的硬盘驱动器(HDD)中的硬件位置地址。
可以调谐现有分层特征中的数据收集展示,以直接从闪存转换层(FTL)218获得与闪存驱动器216相对应的逻辑块地址(LBA)(例如,数据块222)的信息。例如,分层功能中的特征支持映射可以表示在表1中。
一旦在闪存转换层(FTL)218处收集了闪存逻辑块地址(LBA),就可以通过遍历在存储级处维护的虚拟化映射来将信息转换成在扩展虚拟化映射212模块处的扩展映射。例如,逻辑块地址(LBA)到扩展的映射可在表2中示出以用于虚拟化层(例如,虚拟化系统204)。
在存储分层中,可在表3中示出扩展热图示例。
可以针对对分层有贡献的相应闪存扩展更新所收集的输入-输出统计。逻辑块地址(LBA)的改变可以在闪存转换层(FTL)218级处通过使用基于消息的通信主动地向上层或水平存储系统(例如,虚拟化系统204)发信号,以在数据由于内部移动而丢失之前收集数据。应用程序接口(API)214可以在存储系统(例如,虚拟化系统204)与驱动闪存转换层(FTL)218之间通信,这与作为更新访问计数器映射的后台进程运行的垃圾收集方法相反。
由存储优化程序110a、110b创建的通信协议可以包括到分层数据收集展示的数据转储(dumping)信号。为了交换信息的目的,数据转储信号可包括实体之间的专用通信消息。响应于数据收集展示,可分配和保存数据结构(例如,数据块222),并且可更新用于固态驱动器(例如,闪存驱动器216)扩展的扩展级热图。存储优化程序110a、110b通过维持到存储分层的闪存的内部操作(例如,垃圾收集)的识别来保持用于相应逻辑块地址(LBA)位置的正确访问计数器。访问计数器可以维持在分层级别并且物理访问计数器可以维持在驱动器级别(例如,逻辑块地址(LBA)位置的访问计数器)。作为示例,访问计数器用于确定是否应当进行分层迁移或触发分层迁移。物理访问计数器可以用于驱动器级疏导,诸如固态驱动器(SSD)的垃圾收集和内部分页(paging)。
一些现代闪存驱动器可以提供内部输入-输出(IO)监测能力,其可以与应用程序接口(API)一起使用和利用。存储优化程序110a、110b中的存储分层数据收集器展示可以区分池中扩展的所支持的闪存和其他非闪存存储位置。该区别特征,存储分层数据收集器展示,可以仅针对闪存定位扩展激活,因为存储优化程序110a、110b可以在闪存和非闪存存储位置之间进行区分。
存储分层展示和闪存转换层(FTL)218之间的通信传输可以使用入站(in bound)和出站(out-of-bound)来执行。入站实现可使用协议,诸如小型计算机系统接口(SCSI)命令描述符块(CDB)或非易失性存储器快速(NVMeTM)(NVMe以及所有基于NVMe的商标和标志是NVM快速公司和/或其关联机构的商标或注册商标)数据描述符。出站协议可使用主机或计算实体来传输元件之间(诸如发起者和目标设备之间)的通信。
当外部存储装置(例如,闪存驱动器216或硬盘驱动器(HDD)224)被存储虚拟化引擎(例如,虚拟化系统204)虚拟化时,存储优化程序110a、110b可以识别、使用驱动器(例如,闪存驱动器216)的闪存转换层(FTL)218信息并将其发送到前端存储集群(例如,存储系统或虚拟化系统204)。所获得的信息可以由分层特征(例如,分层数据重定位器210)使用以优化整个系统(例如,虚拟化系统204)的热计数测量。此步骤可移除输入-输出(IO)处理中的不必要步骤,使得中央处理单元(CPU)消耗减少。另外,由于大多数输入-输出(IO)操作是从较快执行的层提供服务的,因此对于较快的层获得对输入-输出(IO)性能的效率的显著改进。例如,读取工作负荷的量在数据分析应用中比在存储系统上的写入工作负荷在计算上更加密集,因此,可以对由于闪存转换层(FTL)218中的逻辑块寻址(LBA)映射变化而需要的中间热更新进行更少的改变(即,更多的性能增益)。
例如,主机202正从存储系统(例如,虚拟化系统204)(诸如1,10,000)读取数据。由主机202访问的总读数据是1,00,000个输入-输出(IO)操作,并且在过去24小时的两个分层循环之间是在闪存层上在容易的层中执行,更易访问的块位于一个或多个闪存驱动器(例如,闪存驱动器216)上。一旦输入-输出(IO)到达存储系统(例如,虚拟化系统204),就更新扩展的热图更新206。由此,在分层中的热图管理器(例如,热图监测器208)处完成1,00,000个热图更新。因此,在闪存转换层(FTL)218处发生1,00,000个输入-输出(IO)计数器更新,用于计算每天的驱动器写入(DWPD)、用于读取干扰监测并且用于驱动器的其他健康检查。
继续同一示例,总共在访问历史管理中对2,00,000+10,000=2,10,000次操作进行计数,近似是每个输入-输出(IO)2+操作。为了解决这一现有限制,可以在存储分层级执行用于非闪存位置的10,000次输入-输出(IO)操作的访问计数器更新220和热图更新206模块(例如,热图更新206)。
对于所有闪存输入-输出(IO)操作,跳过分层监测器的热图更新模块206。该信息可以通过在做出分层决策之前查询驱动闪存转换层(FTL)218来收集。由此,需要1,00,000+10,000=1,10,000操作来维持热统计。保持或维持热图所需的操作的清楚数目允许资源优化。
现在参考图3,描述了示出根据至少一个实施例的由存储优化程序110a、110b使用的分层迁移过程300期间的示例性增强的应用性能的操作流程图。存储优化程序110a、110b可以被利用来通过使用用于系统存储器优化200的系统架构来在分层迁移期间优化存储系统中的闪存输入-输出(IO)操作。该更新的系统架构是用于平衡扩展功能和处理分层迁移以实现存储驱动器和存储层之间的工作量平衡的多层架构。
在302,基于访问计数器来确定移动数据。层数据重定位器210可以基于访问计数器来确定移动数据。基于在最后的分层循环中的扩展上的输入-输出(10)工作负载进行确定。做出基于访问计数器移动数据的确定,以便平衡驱动器和层之间的工作负荷。输入输出(IO)工作负荷可以包括工作负荷的基于驱动阈值的迁移。例如,分层展示保持静态阈值,并且如果扩展不停留在扩展所在的当前驱动器的限制内,则做出迁移决策。
在304处,调用互连API 214以建立连接。互连API被调用,并且互连API与后端驱动子系统(诸如后端固态驱动器(SSD))建立连接。存储优化程序110a、110b可以基于根据访问计数器移动数据的确定来请求互连API来传输数据集合。
在306处,收集并转换物理访问计数器。可以收集驱动器的访问计数器的集合以用于分层迁移。物理访问计数器可以被收集并且转换成闪存驱动器216数据块222中的虚拟逻辑块地址(LBA)。闪存驱动器216可以被视为热数据,并且数据块222可以保持物理地址。包含虚拟地址和热数据的访问表可以被传送到存储系统(例如,虚拟化系统204)。
在308处,收集热图数据。可在热图更新206模块处收集热图数据。热图更新206模块可包含每一输入-输出(IO)操作的热图。从驱动器(例如,闪存驱动器216)收集的热图数据可被解析以获得扩展级映射。可提供数据结构,并且可在热图更新206模块处更新针对相应扩展的热图。
在310处,计算分层迁移计划。层数据重定位器210可以计算分层迁移计划,并且将步骤308处的扩展级映射处识别的扩展移动到相应的存储层。可以例如使用分层管理器来计算分层迁移计划的计算。分层管理器可以在存储池中为每个支持的驱动器类型保持最小和最大阈值。当新的输入输出(IO)被传输到存储设备或由存储设备接收时,分层管理器跟踪工作负荷。在分层循环时,计数器可以与参考计数器匹配,以保持或从当前驱动器移动扩展。例如,如果在最后分层循环上该扩展接收到大量减少的输入-输出(IO),则这种匹配建议由于接收到显著较少量的输入-输出(IO)而降低该扩展,该显著较少量的输入-输出(IO)可以更低并且然后保持该阈值。
现在参考图4,描述了示出根据至少一个实施例的由存储优化程序110a、110b使用的内部映射改变事件过程400期间的示例性增强的应用性能的操作流程图。
在402处,确定将数据块移动到新位置。闪存驱动器216中的闪存转换层218可检测一个或多个数据块222需要移动到新位置。移动数据块的确定可包括识别当前位置处的热值并移动数据块。热值可以由存储系统定义为静态文件。可以基于所支持的驱动器类型和驱动器输入输出(IO)服务能力来分配这些值。例如,Easy/>(IBM Easy Tier和所有基于IBM Easy Tier的商标和标志是国际商业机器公司和/或其关联公司的商标或注册商标)可以存储电子表格或xml文件,其中参考值被硬编码或用固定参数存储。
在404处,向存储系统发送信号以收集数据。基于将数据块移动到新位置的确定,信号被传输到存储系统(例如,虚拟化系统204)。闪存转换层218可以在内部逻辑块地址(LBA)移动开始之前向存储系统(例如,虚拟化系统204)发送信号以从访问热计数器收集数据。
在406处,发起数据收集。基于从访问热计数器传送的用于收集数据的信号来发起数据收集。数据收集可以由互连API 214发起。互连API 214可以从驱动器(例如,闪存驱动器216)接收信号并发起数据收集。
在408处,将物理地址转换成逻辑地址。响应于发起的数据收集,闪存转换层218可以将物理地址转换成逻辑块地址(LBA),然后将元组传输到存储系统。元组可以包含逻辑块地址(LBA)和热计数。可以在表4中提供闪存转换层218内部的逻辑到物理地址转换映射的示例。
在410处,将热数据复制到存储系统。闪存转换层218可以将热数据复制到存储系统。一旦热数据或热信息被复制到存储系统,就允许块移动操作进行处理。
在412处,解析热图数据。热图更新206可解析从驱动器收集的热图,并且可解析热图以获得扩展级映射。可以提供数据结构,并且可以针对相应扩展更新热图。
可以理解,图2-4仅提供了一个实施例的图示并且不暗示关于可以如何实现不同实施例的任何限制。可以基于设计和实现要求对所描绘的实施例进行许多修改。
图5是根据本发明的说明性实施例的图1中示出的计算机的内部和外部组件的框图900。应当理解,图5仅提供一个实现方式的图示并且不暗示关于其中可以实现不同实施例的环境的任何限制。可以基于设计和实现要求对所描绘的环境做出许多修改。
数据处理系统902、904表示能够执行机器可读程序指令的任何电子设备。数据处理系统902、904可以表示智能电话、计算机系统、PDA或其他电子设备。可由数据处理系统902、904表示的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、网络PC、小型计算机系统、和包括以上系统或设备中的任一个的分布式云计算环境。
计算机102和服务器112可包括图5中示出的内部组件902a、902b和外部组件904a、904b的相应组合。每组内部组件902a、902b包括一个或多个处理器906、一个或多个计算机可读RAM 908和一个或多个计算机可读ROM 910以及一个或多个总线912,以及一个或多个操作系统914,具有一个或多个应用程序915和一个或多个计算机可读存储介质915。客户端计算机102中的一个或多个操作系统914、软件程序108和中断恢复预测程序110a、以及网络服务器112中的中断恢复预测程序110b可以存储在一个或多个计算机可读存储介质915上,用于由一个或多个处理器906经由一个或多个RAM 908(其通常包括高速缓存存储器)执行。在图5所示的实施例中,计算机可读存储介质915中的每一个为内部硬盘驱动器的磁盘存储设备。或者,计算机可读存储介质915中的每一者为半导体存储装置,例如ROM 910、EPROM、快闪存储器或可存储计算机程序和数字信息的任何其他计算机可读有形存储装置。
每组内部组件902a、902b还包括R/W驱动器或接口918,用于从诸如CD-ROM、DVD、记忆棒、磁带、磁盘、光盘或半导体存储设备的一个或多个便携式计算机可读有形存储设备920读取和向其写入。软件程序(诸如软件程序108和存储优化程序110a、110b)可以存储在一个或多个相应的便携式计算机可读有形存储设备920上,通过相应的R/W驱动器或接口918读取并加载到相应的硬盘驱动器916中。
每组内部组件902a、902b还可以包括网络适配器(或交换机端口卡)或接口922,如TCP/IP适配器卡、无线wi-fi接口卡或3G/4G/5G无线接口卡或其他有线或无线通信链路。计算机102中的软件程序108和存储优化程序110a以及网络服务器112中的存储优化程序110b可以经由网络(例如,互联网、局域网或其他广域网)和相应的网络适配器或接口922从外部计算机(例如,服务器)下载。从网络适配器(或交换机端口适配器)或接口922,将计算机102中的软件程序108和存储优化程序110a以及网络服务器计算机112中的存储优化程序110b加载到相应的硬盘驱动器916中。网络可以包括铜线、光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。
每组外部组件904a、904b可以包括计算机显示监视器924、键盘926和计算机鼠标928。外部组件904a、904b还可包括触摸屏、虚拟键盘、触摸板、指点设备和其他人机接口设备。每组内部组件902a、902b还包括连接到计算机显示监视器924、键盘926和计算机鼠标928的设备驱动器930。设备驱动器930、R/W驱动器或接口918和网络适配器或接口922包括硬件和软件(存储在存储设备916和/或ROM 910中)。
提前理解的是,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,能够结合现在已知的或以后开发的任何其他类型的计算环境来实现本发明的实施例。
云计算是一种服务交付模型,用于使得能够方便地、按需地访问可配置计算资源(例如,可配置计算资源的共享池)的共享池。网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务),其能够以最小的管理努力或与服务的提供商的交互快速地供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人工交互。
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施或混合云基础设施上运行的提供者的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
分析即服务(AaaS):提供给消费者的能力是使用基于网络(web)或基于云的网络(即,基础设施)来访问分析平台。分析平台可以包括对分析软件资源的访问或者可以包括对相关数据库、语料库、服务器、操作系统或存储的访问。消费者不管理或控制底层的基于网络的或基于云的基础架构(包括数据库、语料库、服务器、操作系统或存储),但是对所部署的应用和可能的应用托管环境配置具有控制。
基础设施即服务(IaaS):提供给消费者的能力是提供消费者能够部署和运行任意软件的处理、存储、网络和其他基本计算资源,软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
部署模型如下:
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图6,示出了说明性云计算环境1000。如图所示,云计算环境1000包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点1050,本地计算设备诸如例如个人数字助理(PDA)或蜂窝电话1000A、台式计算机1000B、膝上型计算机1000C和/或汽车计算机系统1000N。云计算节点1050可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境1000提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图6中所示的计算设备1000A-N的类型旨在仅是说明性的,并且计算节点1050和云计算环境1000可以通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
现在参考图7,示出了由云计算环境1000提供的一组功能抽象层1100。应提前理解,图7中所示的组件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如所描述,提供以下层和对应功能:
硬件和软件层1102包括硬件和软件组件。硬件组件的示例包括:大型机1104;基于RISC(精简指令集计算机)架构的服务器1106;服务器1108;刀片式服务器1110;存储设备1112;以及网络和联网组件1114。在一些实施例中,软件组件包括网络应用服务器软件1116和数据库软件1118。
虚拟化层1120提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器1122;虚拟存储1124;虚拟网络1126,包括虚拟专用网络;虚拟应用和操作系统1128;以及虚拟客户端1130。
在一个示例中,管理层1132可以提供以下描述的功能。资源供应1134提供计算资源和用于在云计算环境内执行任务的其他资源的动态采购。计量和定价1136在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户1138为消费者和系统管理员提供对云计算环境的访问。服务水平管理1140提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行1142为根据SLA预测的对云计算资源未来需求提供预安排和供应。
工作负载层1144提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航1146;软件开发和生命周期管理1148;虚拟教室教育传送1150;数据分析处理1152;事务处理1154;以及存储优化1156。存储优化程序110a、110b提供使用存储系统优化来增强分层迁移期间和内部映射改变事件期间的应用性能的方式。
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器906执行本发明的各方面的计算机可读程序指令的计算机可读存储介质915(或介质)。
计算机可读存储介质915可以是可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质915可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质915的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)908、只读存储器(ROM)910、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、具有记录在其上的指令的诸如穿孔卡或槽中的凸出结构之类的机械编码设备、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质915不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质915下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口922从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质915中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言、python程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器906以产生机器,使得经由计算机或其他可编程数据处理装置的处理器906执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质915中,该计算机可读存储介质可以指引计算机、可编程数据处理装置、和/或其他设备以特定方式工作,使得具有存储在其中的指令的计算机可读存储介质915包括包含实现流程图和/或框图的或多个框中所指定的功能/动作的各方面的指令的制品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
已经出于说明的目的呈现了本发明的各个实施例的描述,但并不旨在是详尽的或者限于所公开的实施例。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员来说是清晰的。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。
Claims (20)
1.一种用于存储系统优化的分层迁移的方法,所述方法包括:
基于访问计数器确定移动数据以平衡存储驱动器与存储层之间的工作负荷;
基于确定移动数据,建立与互连应用程序接口的连接;
基于建立与互连应用程序接口的连接,收集和转换物理访问计数器;
基于收集和转换物理访问计数器,收集热图数据;以及
基于收集热图数据,计算内部映射改变事件的分层迁移计划。
2.根据权利要求1所述的方法,进一步包括:
确定将数据块移动到新位置;
将信号传输到存储系统以从访问热计数器收集数据;
启动从所述访问热计数器收集所述数据;
将物理地址转换成逻辑地址;
将所述热图数据复制到所述存储系统;以及
解析所述热图数据。
3.根据权利要求1所述的方法,其中,确定移动所述数据是基于在最后分层循环中的扩展上的输入输出工作负荷做出的。
4.根据权利要求1所述的方法,其中,所述物理访问计数器被转换成虚拟逻辑块地址。
5.根据权利要求1所述的方法,其中,所述热图数据包含每个输入-输出操作的热图。
6.根据权利要求1所述的方法,其中所述分层迁移计划包括移动在映射到存储层的扩展级别识别的扩展。
7.根据权利要求2所述的方法,其中,所述热图数据被解析以获得扩展级别映射。
8.一种用于存储系统优化的分层迁移的计算机系统,包括:
一个或多个处理器、一个或多个计算机可读存储器、一个或多个计算机可读有形存储介质、以及存储在所述一个或多个计算机可读有形存储介质中的至少一个上的用于由所述一个或多个处理器中的至少一个经由所述一个或多个计算机可读存储器中的至少一个执行的程序指令,其中所述计算机系统能够执行包括以下步骤的方法:
基于访问计数器确定移动数据以平衡存储驱动器与存储层之间的工作负荷;
基于确定移动数据,建立与互连应用程序接口的连接;
基于建立与互连应用程序接口的连接,收集和转换物理访问计数器;
基于收集和转换所述物理访问计数器,收集热图数据;以及
基于收集热图数据,计算内部映射改变事件的分层迁移计划。
9.根据权利要求8所述的计算机系统,进一步包括:
确定将数据块移动到新位置;
将信号传输到存储系统以从访问热计数器收集数据;
启动从所述访问热计数器收集所述数据;
将物理地址转换成逻辑地址;
将所述热图数据复制到所述存储系统;以及
解析所述热图数据。
10.根据权利要求8所述的计算机系统,其中,确定移动所述数据是基于在最后分层循环中的扩展上的输入输出工作负荷做出的。
11.根据权利要求8所述的计算机系统,其中,所述物理访问计数器被转换成虚拟逻辑块地址。
12.根据权利要求8所述的计算机系统,其中,所述热图数据包含每个输入-输出操作的热图。
13.根据权利要求8所述的计算机系统,其中所述分层迁移计划包括移动在映射到存储层的扩展级别识别的扩展。
14.根据权利要求9所述的计算机系统,其中,所述热图数据被解析以获得扩展级别映射。
15.一种用于存储系统优化的分层迁移的计算机程序产品,包括:
一个或多个计算机可读有形存储介质以及存储在所述一个或多个计算机可读有形存储介质中的至少一个上的程序指令,所述程序指令可由处理器执行以使所述处理器执行一种方法,所述方法包括:
基于访问计数器确定移动数据以平衡存储驱动器与存储层之间的工作负荷;
基于确定移动数据,建立与互连应用程序接口的连接;
基于建立与互连应用程序接口的连接,收集和转换物理访问计数器;
基于收集和转换物理访问计数器,收集热图数据;以及
基于收集热图数据,计算内部映射改变事件的分层迁移计划。
16.根据权利要求15所述的计算机程序产品,进一步包括:
确定将数据块移动到新位置;
将信号传输到存储系统以从访问热计数器收集数据;
启动从所述访问热计数器收集所述数据;
将物理地址转换成逻辑地址;
将所述热图数据复制到所述存储系统;以及
解析所述热图数据。
17.根据权利要求15所述的计算机程序产品,其中,确定移动所述数据是基于在最后分层循环中的扩展上的输入输出工作负荷做出的。
18.根据权利要求15所述的计算机程序产品,其中,所述物理访问计数器被转换成虚拟逻辑块地址。
19.根据权利要求15所述的计算机程序产品,其中,所述热图数据包含每个输入-输出操作的热图。
20.根据权利要求15所述的计算机程序产品,其中,所述分层迁移计划包括移动在映射到存储层的扩展级别识别的扩展。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/109,180 US11726692B2 (en) | 2020-12-02 | 2020-12-02 | Enhanced application performance using storage system optimization |
US17/109,180 | 2020-12-02 | ||
PCT/CN2021/129429 WO2022116778A1 (en) | 2020-12-02 | 2021-11-09 | Enhanced application performance using storage system optimization |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116529695A true CN116529695A (zh) | 2023-08-01 |
Family
ID=81752614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180077367.1A Pending CN116529695A (zh) | 2020-12-02 | 2021-11-09 | 使用存储系统优化的增强的应用性能 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11726692B2 (zh) |
JP (1) | JP2023553316A (zh) |
CN (1) | CN116529695A (zh) |
DE (1) | DE112021005233T5 (zh) |
GB (1) | GB2616789A (zh) |
WO (1) | WO2022116778A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115202563A (zh) * | 2021-04-14 | 2022-10-18 | 戴尔产品有限公司 | 基于预测数据访问频率趋势模式在集群存储系统的存储层级之间的数据移动 |
US11868223B2 (en) | 2022-01-19 | 2024-01-09 | Dell Products L.P. | Read-disturb-based read temperature information utilization system |
US11914494B2 (en) * | 2022-01-20 | 2024-02-27 | Dell Products L.P. | Storage device read-disturb-based read temperature map utilization system |
CN118051190B (zh) * | 2024-04-16 | 2024-08-09 | 深圳市领德创科技有限公司 | 一种固态硬盘的数据保护方法及系统 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6237021B1 (en) | 1998-09-25 | 2001-05-22 | Complex Data Technologies, Inc. | Method and apparatus for the efficient processing of data-intensive applications |
US20050071560A1 (en) | 2003-09-30 | 2005-03-31 | International Business Machines Corp. | Autonomic block-level hierarchical storage management for storage networks |
US8924675B1 (en) | 2010-09-24 | 2014-12-30 | Emc Corporation | Selective migration of physical data |
US8972694B1 (en) * | 2012-03-26 | 2015-03-03 | Emc Corporation | Dynamic storage allocation with virtually provisioned devices |
US9047017B1 (en) * | 2011-12-20 | 2015-06-02 | Emc Corporation | Techniques for automated evaluation and movement of data between storage tiers |
US8935493B1 (en) * | 2011-06-30 | 2015-01-13 | Emc Corporation | Performing data storage optimizations across multiple data storage systems |
US8930778B2 (en) | 2012-11-15 | 2015-01-06 | Seagate Technology Llc | Read disturb effect determination |
US9552288B2 (en) | 2013-02-08 | 2017-01-24 | Seagate Technology Llc | Multi-tiered memory with different metadata levels |
US9280300B2 (en) | 2013-06-28 | 2016-03-08 | Vmware, Inc. | Techniques for dynamically relocating virtual disk file blocks between flash storage and HDD-based storage |
CN103605483A (zh) | 2013-11-21 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种分级存储系统中块级数据特征处理方法 |
US9448924B2 (en) | 2014-01-08 | 2016-09-20 | Netapp, Inc. | Flash optimized, log-structured layer of a file system |
JP6403162B2 (ja) * | 2015-07-23 | 2018-10-10 | 東芝メモリ株式会社 | メモリシステム |
US10222984B1 (en) | 2015-12-31 | 2019-03-05 | EMC IP Holding Company LLC | Managing multi-granularity flash translation layers in solid state drives |
US10042578B2 (en) * | 2016-11-08 | 2018-08-07 | International Business Machines Corporation | Extent migration in multi-tier storage systems |
US10510374B2 (en) * | 2017-07-05 | 2019-12-17 | Seagate Technology Llc | Self-healing in a storage system |
US20190050163A1 (en) * | 2017-08-14 | 2019-02-14 | Seagate Technology Llc | Using snap space knowledge in tiering decisions |
CN107844269B (zh) | 2017-10-17 | 2020-06-02 | 华中科技大学 | 一种基于一致性哈希的分层混合存储系统 |
US11074011B2 (en) * | 2019-03-20 | 2021-07-27 | Western Digital Technologies, Inc. | Solid state drive latency estimation interface for host performance tuning |
US11188461B2 (en) * | 2019-06-19 | 2021-11-30 | Micron Technology, Inc. | Garbage collection adapted to memory device life expectancy |
CN111506262B (zh) | 2020-03-25 | 2021-12-28 | 华为技术有限公司 | 一种存储系统、文件存储和读取方法及终端设备 |
-
2020
- 2020-12-02 US US17/109,180 patent/US11726692B2/en active Active
-
2021
- 2021-11-09 GB GB2309843.7A patent/GB2616789A/en active Pending
- 2021-11-09 DE DE112021005233.0T patent/DE112021005233T5/de active Pending
- 2021-11-09 CN CN202180077367.1A patent/CN116529695A/zh active Pending
- 2021-11-09 WO PCT/CN2021/129429 patent/WO2022116778A1/en active Application Filing
- 2021-11-09 JP JP2023531583A patent/JP2023553316A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
GB202309843D0 (en) | 2023-08-16 |
GB2616789A (en) | 2023-09-20 |
JP2023553316A (ja) | 2023-12-21 |
WO2022116778A1 (en) | 2022-06-09 |
US20220171560A1 (en) | 2022-06-02 |
DE112021005233T5 (de) | 2023-09-07 |
US11726692B2 (en) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019213340B2 (en) | Dynamic configuration of data volumes | |
CN107077301B (zh) | 用于存储客户端文件系统的存储卷的动态缩放 | |
US10831398B2 (en) | Storage device efficiency during data replication | |
US9703500B2 (en) | Reducing power consumption by migration of data within a tiered storage system | |
CN116529695A (zh) | 使用存储系统优化的增强的应用性能 | |
US9189387B1 (en) | Combined memory and storage tiering | |
US20140359245A1 (en) | I/o latency and iops performance in thin provisioned volumes | |
US9501313B2 (en) | Resource management and allocation using history information stored in application's commit signature log | |
US10754556B2 (en) | Prioritization of virtual volumes to take offline in a thin provisioning system | |
US10809941B2 (en) | Multi-tiered storage | |
US10268419B1 (en) | Quality of service for storage system resources | |
JP7431490B2 (ja) | 階層型ストレージ管理システムにおけるデータ・マイグレーション | |
US10956084B2 (en) | Drive utilization in multi-tiered systems with read-intensive flash | |
US11030100B1 (en) | Expansion of HBA write cache using NVDIMM | |
US20200272352A1 (en) | Increasing the speed of data migration | |
US11797208B2 (en) | Backend deduplication awareness | |
US11782641B2 (en) | Backend aware virtualized storage | |
US20200387319A1 (en) | Block input/output (i/o) accesses in the presence of a storage class memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |