CN110737398A - 协调访问操作的方法、设备和计算机程序产品 - Google Patents
协调访问操作的方法、设备和计算机程序产品 Download PDFInfo
- Publication number
- CN110737398A CN110737398A CN201810803262.XA CN201810803262A CN110737398A CN 110737398 A CN110737398 A CN 110737398A CN 201810803262 A CN201810803262 A CN 201810803262A CN 110737398 A CN110737398 A CN 110737398A
- Authority
- CN
- China
- Prior art keywords
- access operations
- access operation
- background
- background access
- memory
- 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
Links
Images
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/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/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/0604—Improving or facilitating administration, e.g. storage 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/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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例涉及一种用于协调访问操作的方法、设备和计算机程序产品。根据本公开的示例性实现,获取与独立磁盘冗余阵列(RAID)中的第一存储资源池相关联的第一访问操作集合的第一统计数据和与RAID中的第二存储资源池相关联的第二访问操作集合的第二统计数据,第一访问操作集合包括后台访问操作和用户访问操作,第二访问操作集合至少包括用户访问操作;基于第一统计数据和第二统计数据,确定第一存储资源池和第二存储资源池共享的存储器的可用性;以及基于存储器的可用性,调节第一访问操作集合中的后台访问操作,以控制后台访问操作所占用的存储器的容量。由此,可以进一步缩短存储系统对用户访问操作的响应时间,改善用户体验。
Description
技术领域
本公开的实施例总体涉及数据存储领域,具体涉及用于协调访问操作的方法、设备和计算机程序产品。
背景技术
随着数据存储技术的发展,各种数据存储设备已经能够向用户提供越来越高的数据存储能力,并且数据访问速度也有了很大程度的提高。在提高数据存储能力的同时,用户对于存储系统的响应时间等性能也提出了越来越高的需求。
目前已经开发出了独立磁盘冗余阵列(RAID)。在RAID中,存储盘是一个逻辑概念并且可以包括多个区段(extent)。一个逻辑存储盘中包括的多个区段可以分布在不同物理存储设备上。物理存储设备根据其性能等级被分组,形成多个存储资源池。所有的存储资源池共享相同的存储器。针对RAID的访问操作包括用户访问操作和后台访问操作。总体而言,期望用户访问操作比后台访问操作具有更高的优先级,以改善用户体验。传统地,当用户访问操作负载较重时,在相同的存储资源池内,抑制后台的重建操作。然而,该机制无法探查在各存储资源池之间共享信息。如果一些存储资源池的后台访问操作占用了存储器容量,那么其他存储资源池的用户访问操作仍然需要在队列中等待。
发明内容
本公开的实施例提供了用于协调访问操作的方法、设备和计算机程序产品。
在本公开的第一方面,提供了一种用于协调针对RAID的访问操作的方法。该方法包括:获取与RAID中的第一存储资源池相关联的第一访问操作集合的第一统计数据和与RAID中的第二存储资源池相关联的第二访问操作集合的第二统计数据,第一访问操作集合包括后台访问操作和用户访问操作,第二访问操作集合至少包括用户访问操作;基于第一统计数据和第二统计数据,确定第一存储资源池和第二存储资源池共享的存储器的可用性;以及基于存储器的可用性,调节第一访问操作集合中的后台访问操作,以控制后台访问操作所占用的存储器的容量。
在本公开的第二方面,提供了一种用于协调针对RAID的访问操作的设备。该设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时使得设备执行动作,该动作包括:获取与RAID中的第一存储资源池相关联的第一访问操作集合的第一统计数据和与RAID中的第二存储资源池相关联的第二访问操作集合的第二统计数据,第一访问操作集合包括后台访问操作和用户访问操作,第二访问操作集合至少包括用户访问操作;基于第一统计数据和第二统计数据,确定第一存储资源池和第二存储资源池共享的存储器的可用性;以及基于存储器的可用性,调节第一访问操作集合中的后台访问操作,以控制后台访问操作所占用的存储器的容量。
在本公开的第三方面,提供了一种计算机程序产品。计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器实现根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本公开的实施例的存储系统的架构的示意图;
图2示出了根据本公开的实施例的包括RAID和多个服务模块的存储系统的示意图;
图3示出了根据本公开的实施例的用于协调针对RAID的访问操作的方法的示例的流程图;
图4示出了根据本公开的实施例的用于获取统计数据的示意图;
图5示出了根据本公开的实施例的在重建过程中的多线程并行和粒度的示意图;
图6示出了根据本公开实施例的用于调节后台访问操作的示例性方法的流程图;以及
图7示出了可以用来实施本公开内容的实施例的示例设备的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
图1示出了根据本公开的实施例的存储系统100的架构的示意图。应当理解,如图1所示的存储系统100的结构和功能仅用于示例的目的,而不暗示对于本公开的范围的任何限制。本公开的实施例可以被体现在不同的结构和/或功能中。
在本公开的上下文中,存储系统100可以是基于RAID的存储系统。基于RAID的存储系统100可以将多个存储盘组合起来,成为一个存储盘阵列。通过提供冗余的存储设备,可以使得整个存储盘阵列的可靠性大大超过单一的存储设备。RAID可以提供优于单一的存储设备的各种优势,例如,增强数据整合度,增强容错功能,增加吞吐量或容量,等等。应当理解,在以下讨论中,可以以RAID为例来讨论存储系统,但这是示例性的而非限制性的。根据本公开的实施例存储系统也可以实现为其他适当的形式。
如图1所示,存储系统100具有两个存储资源池140和150,存储资源池140和150各自包括多个存储盘:160-1、160-2、……、160-N,以及160-N+1、160-N+2、……、160-N+M(统称为“存储盘160”,其中N、M为正整数)。在此所述的“存储盘”可以指代任何目前已知或者将来开发的非易失性存储介质,例如磁盘、光盘或固态盘(SSD)等等。在本文的描述中,将以磁盘作为存储盘的示例。然而,应当理解,这仅仅是出于便于描述的目的,而不暗示对本公开的范围的任何限制。还应当理解,虽然图1中仅示出两个存储资源池,但是可以存在更多的存储资源池,其数目是示例性的而非限制性的。
每个存储盘160可以被划分为多个区段,例如,每个区段大小为10GB。例如,可以将多个区段中的至少部分区段组织成盘阵列120和130。盘阵列120和130例如可以是映射RAID。映射RAID是RAID的一种实现,其中盘阵列120和130基于存储盘160的区段而构建。根据所要求的冗余度和性能的级别,其可以具有不同的类型,诸如RAID 0、RAID 1、……、RAID5等。
盘阵列120和130可以包括一个或多个盘阵列组,每个盘阵列组可以由多个RAID条带组成,诸如RAID条带170-1、170-2(统称为“RAID条带170”)。RAID条带可以包括用于存储用户数据的数据区段和用于存储校验信息的校验区段。以具有4D+1P布局的RAID5为例,其中每个RE可以包括4个数据区段(即“4D”)和1个校验区段(即“1P”)。
利用RAID,存储资源池140和150可以响应对存储盘160的区段的分配和释放的请求,并且响应存储盘160的状态改变的事件。例如,假设一个存储盘出现了故障,那么该存储盘所在的存储资源池将接收到关于这个存储盘的事件的通知,并相应地更新存储盘的区段的状态。
存储资源池140和150共享同一存储器110,存储器110由多个存储器单元180形成。存储器110的容量是在系统预设时所分配的。当对存储系统100的访问操作需要存储器容量时,该访问操作向存储器110请求容量。在容量用尽的情况下,该访问操作在访问操作的队列中等待。访问操作包括后台访问操作和用户访问操作。由于后台访问操作并不总是存在,为了不浪费存储器容量,针对存储器110,所预留的最大存储器容量应当仅满足最大的用户访问操作的吞吐量。
此外,后台访问操作通常比用户访问操作消耗更多的存储器容量。这是因为对于用户访问操作的请求,仅需要存储器来存储校验数据,而将用户数据存储在RAID的存储器外部的其他存储器中。然而,对于后台访问请求,例如重建或校验操作,存储器需要分配容量来存储操作中涉及的数据以及校验数据。
在图1所示的架构下,为了将对用户访问操作的响应时间控制为较短,传统上将抑制与用户访问操作所在的池相同的存储资源池(例如140和150)中的后台访问操作。然而,由于存储资源池140和150共享存储器110,例如当存储资源池140中的后台访问操作速度过高,占用了太多存储器110的容量时,存储资源池150的用户访问操作必须在队列中等待,直到存储资源池140的后台访问操作结束并释放存储器110的容量。因此,传统上,由于各存储资源池(例如140和150)之间的信息不共享,无法获知一个资源池中用户访问操作的缓慢是由其他哪个资源池引起的,也就无法进行相应地调节。
本公开的实施例提出了一种用于协调针对RAID的访问操作的方案,该方案针对每个存储资源池(例如140和150)来分别收集关于访问操作的统计数据。根据统计数据可以发现多个存储资源池(例如140和150)中的用户访问操作情况和后台访问操作情况,从而对后台访问操作进行相应地调节。利用该方案,可以更灵活地并且可配置地对后台访问操作进行全局的动态调节。例如,在用户访问操作负载较重的情况下,抑制后台访问操作,以改善用户体验。在用户访问操作负载较小的情况下,加速后台访问操作,以更好地维护系统。
图2示出了根据本公开的实施例的包括RAID和多个服务模块的存储系统100的示意图。如图所示,存储系统100包括RAID拓扑205和其他多个服务模块,例如调度器服务模块210、客户端移动交互服务220、持续化服务220、元数据服务240、拓扑服务250、通知服务260、数据库服务270和存储器服务280。为了从存储资源池140和150获取统计数据,可以向存储系统100添加控制器290。控制器290可以在存储资源池140和150外,并且存储资源池140和150均在控制器290中注册。在一些实施例中,控制器290例如是后台服务(BGS)控制器。控制器290评估存储资源池140和150中用户的访问操作如何受后台访问操作的影响,从而可以发送控制请求,以调节存储资源池140和150的后台操作的速度。
图3示出了根据本公开的实施例的用于协调针对RAID的访问操作的方法300的示例的流程图。例如,方法300可以由如图2所示的控制器290来执行。以下结合如图1和图2所示的存储系统100来描述方法300中所涉及的动作。应当理解,方法300还可以包括未示出的附加动作和/或可以省略所示出的动作,并且本公开的范围在此方面不受限制。
在框310处,控制器290获取与存储资源池140相关联的第一访问操作集合的第一统计数据和与存储资源池150相关联的第二访问操作集合的第二统计数据。第一访问操作集合可以包括后台访问操作和用户访问操作,第二访问操作集合至少包括用户访问操作,例如,第二访问操作集合可以仅包括用户访问操作。备选地,第二访问操作集合可以包括用户访问操作和后台访问操作二者。应当理解,第一访问操作集合和第二访问操作集合可以互换,例如与存储资源池140相关联的是第二访问操作集合,与存储资源池150相关联的是第一访问操作集合。
后台访问操作在存储资源池140和150使用后台服务来对池进行维护时产生。后台服务通过后台线程来修复或者优化存储资源池。由于每个RAID条带由若干区段组成,因而后台访问操作可以以多个线程来并行执行,以提高速度。后台访问操作的I/O大小也是可配置的。由后台服务发起的后台访问操作可以包括:例如,重建、校验和复制。
对于重建,如果在存储资源池140和150中的一个存储盘出现故障,例如约5分钟后,存储资源池140和150触发热备盘,并针对被降级的RAID将数据重建到新的存储盘区段中。对于校验,如果RAID发现错误,RAID可以提出校验请求,RAID将在后台服务中进行校验。对于复制,如果一个存储盘160被设置寿命终止(EOL)的属性,那么存储资源池140和150将数据复制到正常的存储盘中。附加地,如果存储资源池140和150的扩展,在扩展后,存储盘区段的分配在存储资源池的所有存储盘中并不均匀,因此后台服务将通过复制来移动数据。
后台访问操作可以具有不同的优先级,从高到低排列为:重建、校验和复制。该顺序是基于后果的严重性。例如,在重建过程完成前,如果另一个存储盘出现故障,将出现数据丢失的风险。重建过程的持续时间越长,该风险就越大。因此,重建具有最高的优先级。
根据本公开的实施例,统计数据可以通过多种方式来获取。图4示出了根据本公开的实施例的用于获取统计数据的示意图。如图4所示,控制器290可以分别与存储器110和存储资源池140和150进行交互。由于存储资源池140或150与存储器110的交互已经关于图1进行了描述,因而简洁起见,该交互未在图4中示出。结合图1和图2,当启动存储系统100时,可以启动控制器290来收集与存储资源池140和150相关联的访问操作的统计数据,以相应地确定如何调节存储资源池140和150中的后台操作。控制器290可以维持存储资源池列表420。当创建新的存储资源池时,该新的存储资源池可以在控制器290中注册,以被添加到存储资源池列表420中。
控制器290可以从存储器110中分别为存储资源池140和150分配存储统计数据的存储器缓冲区410-1和410-2,并向存储资源池140和150传送缓冲区410-1和410-2的地址。当存储资源池140或150接收到访问操作的请求时,存储资源池140或150相应地记录和更新统计数据。在更新时,可以仅更新部分的统计数据,而不必每次都更新全部的统计数据。
在一些实施例中,针对存储资源池140和150,可以利用预先定义的数据结构来记录第一统计数据和第二统计数据。数据结构的一个示例如表1所示,应当理解,该示例仅是说明性的,还可以利用其他数据结构来记录统计数据。第一统计数据和第二统计数据可以具有相同或不同的形式。
表1
在表1中,user_outstanding_io_count表示在一定时间窗内用户I/O的数目;
user_average_response_time表示在该时间窗内所有用户I/O的平均响应时间;
user_min_response_time表示在该时间窗内所有用户I/O的最小响应时间;
user_max_response_time表示在该时间窗内所有用户I/O的最大响应时间;
last_io_timestamp表示最后一个用户I/O的时间戳,控制器290例如在该时间戳距当前时间超过阈值的情况下清空相应资源池(例如140或150)中的用户统计数据,释放统计数据所占用的存储器110的资源,并防止该统计数据影响控制器290对当前用户访问操作的情况的评估。
以上定义的针对用户访问操作的统计数据可以有效地反映当前用户访问操作的情况,例如多快得到响应等。
以下结合图5进一步说明表1中针对后台访问操作的统计数据。图5示出了根据本公开的实施例的在重建过程中的多线程并行和粒度的示意图。
在表1中,bg_op_type表示当前后台访问操作的类型,包括:重建、校验和复制。如果其值为invalid,表示当前没有后台访问操作。
bg_parallel_count表示后台访问操作的并行线程数目,也被称为后台I/O并发度。可以存在多个线程来同时执行重建/校验/复制的操作,以得到更好的性能。在图5中,盘阵列120包括多个RAID条带170,例如170-1等,条带170包括若干区段530。因此,重建可以以多个线程510-1、510-2、……、510-N(N为正整数,统称为线程510)来并行执行。
bg_chunk_count表示针对每个线程510,各后台访问操作的I/O的大小,也被称为I/O粒度。I/O粒度通常为2的次幂,默认值是4MB,并且其范围可以是从1MB到16MB。例如,在图5中,区段530的大小可以为例如10GB,区段530的部分520表示在重建操作中一次重建的部分,其大小即为I/O粒度。
bg_reschedule_frequency表示调度后台访问操作的频率。由于后台操作按周期执行,调度频率反映了一个周期与另一个周期之间的间隔。例如,针对一个RAID条带,每执行100个重建操作,等待200ms再开始下一个重建周期。bg_reschedule_time表示后台访问操作的持续时间,即上述周期的持续时间。
以上定义的后台访问操作的统计数据可以有效反映当前后台访问操作的情况,并为后续的调节提供了基础。
继续参考图3,在框320处,控制器290基于第一统计数据和第二统计数据来确定存储资源池140和150共享的存储器110的可用性。控制器290可以具有检查存储资源池140和150的统计数据的后台线程。控制器290可以基于用户访问操作的数目来确定存储器110的可用性。附加地,控制器290可以基于用户访问操作的响应时间来确定存储器110的可用性。应当理解,以上所描述的方式仅是示意性而非限制性的,可以存在确定可用性的其他方式。
在一些实施例中,控制器290每隔一段时间(例如,1秒)检查第一统计数据和第二统计数据中的用户访问操作的数目user_outstanding_io_count,并根据当前用户访问操作的数目来计算用户访问操作需要消耗的存储器110的容量,存储器110的剩余容量即为可用容量。存储器110的可用性可以由可用容量与存储器的总容量的容量比值来量度。当容量比值低于第一容量阈值时,例如第一容量阈值为20%,存储器110的可用性被确定为较低。当容量比值高于第二容量阈值时,例如第二容量阈值为50%(第二容量阈值大于第一容量阈值),存储器110的可用性被确定为较高。以此方式,可以较准确地评估存储器110的可用性。
在一些实施例中,控制器290每隔一段时间(例如,1秒)检查第一统计数据中的user_average_response_time、user_min_response_time和user_min_response_time中的任一项,以下统称为响应时间。对于存储资源池140和150,可以基于其对用户I/O的响应时间来预先定义标准响应时间。应当理解,由于不同的存储资源池(例如,140和150)具有不同的性能,标准响应时间可能相差较大。存储器110的可用性可以基于所检查到响应时间和标准响应时间来量度。当检查到的响应时间大于第一参考响应时间(例如,标准响应时间的2倍)时,存储器110的可用性被确定为较低。当检查到的响应时间小于第二参考响应时间(例如,标准响应时间,第二参考响应时间小于第一参考响应时间)时,存储器110的可用性被确定为较高。以此方式,可以较直观地评估存储器110的可用性。
在一些实施例中,存储器110的可用性还可以通过如下方式确定。首先,控制器290检查用户访问操作的数目,然后再检查用户访问操作的响应时间。这是因为用户访问操作的响应时间可能受到其他因素的影响,因而用户访问操作的数目比响应时间更能准确反应存储器110的可使用性。
在框330处,基于存储器110的可用性,控制器290调节第一访问操作集合中的后台访问操作,以控制后台访问操作所占用的存储器110的容量。在一些实施例中,控制器290可以调用由存储资源池140和150提供的接口来调节相应资源池中后台访问操作的参数,这些参数可以是针对背景操作的统计数据,例如并行线程数目、粒度、调度频率和持续时间。
在一些实施例中,如果控制器290确定容量比值高于第二容量阈值,例如第二容量阈值为50%,即确定存储器110的可用性较高,则可以通过增加后台访问操作的粒度来加速后台访问操作。附加地或备选地,控制器290可以通过提高后台访问操作的调度频率来加速后台访问操作。附加地或备选地,控制器290可以通过增加后台访问操作的并行线程数目来加速后台访问操作。附加地或备选地,控制器290还可以通过增加后台访问操作的持续时间来加速后台访问操作。
如果控制器290确定容量比值低于第一容量阈值,例如第一容量阈值为20%,即确定存储器110的可用性较低,则可以通过减少后台访问操作的粒度来抑制后台访问操作。附加地或备选地,控制器290可以通过降低后台访问操作的调度频率来抑制后台访问操作。附加地或备选地,控制器290可以通过减少后台访问操作的并行线程数目来抑制后台访问操作。附加地或备选地,控制器290还可以通过缩短后台访问操作的持续时间来抑制后台访问操作。
在一些实施例中,如果控制器290确定检查到的响应时间小于第二参考响应时间(例如,标准响应时间),即确定存储器110的可用性较高,则可以按照以上描述的方式来加速后台访问操作。如果控制器290确定检查到的响应时间大于第一参考响应时间(例如,标准响应时间的2倍),即确定存储器110的可用性较高,则可以按照以上描述的方式来抑制后台访问操作。应当理解,由于存储资源池140和150具有不同的标准响应时间,因此响应时间的比较仅在相同的存储资源池内比较,相应的调节也仅在相同的存储资源池内进行。
通过以上描述能够看出,根据本公开的实施例的用于协调针对RAID的访问操作的方案能够跨多个存储资源池来动态地并且全局地调节后台访问操作,以使得针对RAID的用户访问操作获得更短的响应时间,从而改善用户体验。此外,利用本方案,可以在用户访问操作负载较小时加速后台访问操作,使得存储系统整体性能更优。
图6示出了根据本公开实施例的用于调节后台访问操作的示例方法600的流程图。方法600可以作为方法300的框320和330一种具体的示例性实现方式。例如,方法600可以由如图2所示的控制器290来执行。应当理解,方法600还可以包括未示出的附加动作和/或可以省略所示出的动作,并且本公开的范围在此方面不受限制。
在框610处,控制器290根据第一统计数据和第二统计数据对用户I/O的数目求和,然后在框615处,计算用户I/O将消耗的存储器110的容量。
在框620处,如果控制器290检查到可用存储器容量低于存储器总容量的20%,则在框625处降低存储资源池140和150中后台访问操作的速度,否则行进到框630处。在框625处,具体步骤为,控制器290基于第一统计数据和第二统计数据发现存储资源池140和150中优先级最低的后台访问操作,并且可以通过执行以下操作来调节该后台访问操作,例如减少粒度,降低调度频率,减少并行线程数目,以及缩短持续时间。
在进行调节时,该后台访问操作并不完全停止,而仅是将各参数逐渐调节到最小的值,例如,粒度最小为1MB,线程数目最小为1。调节的方式可以为,例如将粒度以一定步长减少到1MB后再接着调节调度频率。如果对于该优先级最低的后台访问操作,所有的参数都已经被调节到最小值,但可用存储器容量仍然低于存储器总容量的20%,则开始调节优先级比它高一级的后台访问操作。根据优先级来调节后台访问操作确保优先级低的访问操作被首先抑制,从而使得存储资源池140和150处于一个更健康的状态,例如,丢失数据的风险较小。
在框630处,如果控制器290检查到响应时间高于标准响应时间的2倍,则在框635处降低存储资源池140或150中后台访问操作的速度,否则行进到框640处。在框635处,控制器290检查到例如存储资源池140的响应时间高于存储资源池140的标准响应时间的2倍,则降低存储资源池140中后台访问操作的速度。降低后台访问操作的速度的方式与框625处所描述的方式相同,此处不再赘述。
在框640处,如果控制器290检查到可用存储器容量高于存储器总容量的50%,则在框645处提高存储资源池140和150中后台访问操作的速度,否则行进到框650处。在框645处,具体步骤为,控制器290基于第一统计数据和第二统计数据发现存储资源池140和150中优先级最高的后台访问操作,并且可以通过执行以下操作来调节该后台访问操作,例如增加粒度,提高调度频率,增加并行线程数目,以及增加持续时间。
在进行调节时,针对该后台访问操作,将各参数逐渐调节到最大的值。调节的方式可以为,例如,将粒度以一定步长增加到粒度的最大值(例如16MB)后再接着调节调度频率。如果对于该优先级最高的后台访问操作,所有的参数都已经被调节到最大值,但可用存储器容量仍然高于存储器总容量的50%,则开始调节优先级比它低一级的后台访问操作。根据优先级来调节后台访问操作确保优先级高的访问操作被首先加速,从而使得存储资源池140和150处于一个更健康的状态,例如,丢失数据的风险较小。
在框650处,如果控制器290检查到例如存储资源池140的响应时间低于存储资源池140的标准响应时间,则在框655处提高存储资源池140中后台访问操作的速度,否则行进到框660处。在框655处,与框635处相同,该调节在相同的存储资源池中执行。并且,提高后台访问操作的速度的方式与框645处所描述的方式相同,此处不再赘述。
在框660处,方法600等待调度时间。方法600在控制器290中以一定时间间隔(例如1秒)不断重复。利用方法600,可以有效避免对一个存储资源池的用户访问操作在队列中等待其他存储资源池的后台访问操作释放资源的情况。
图7示出了可以用来实施本公开内容的实施例的示例设备700的示意性框图。如图所示,设备700包括中央处理单元(CPU)710,其可以根据存储在只读存储器(ROM)720中的计算机程序指令或者从存储单元780加载到随机访问存储器(RAM)730中的计算机程序指令,来执行各种适当的动作和处理。在RAM 730中,还可存储设备700操作所需的各种程序和数据。CPU 710、ROM 720以及RAM 730通过总线740彼此相连。输入/输出(I/O)接口750也连接至总线740。
设备700中的多个部件连接至I/O接口750,包括:输入单元760,例如键盘、鼠标等;输出单元770,例如各种类型的显示器、扬声器等;存储单元780,例如磁盘、光盘等;以及通信单元790,例如网卡、调制解调器、无线通信收发机等。通信单元790允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法300或600,可由处理单元710执行。例如,在一些实施例中,方法300或600可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元780。在一些实施例中,计算机程序的部分或者全部可以经由ROM 720和/或通信单元790而被载入和/或安装到设备700上。当计算机程序被加载到RAM 730并由CPU 710执行时,可以执行上文描述的方法300或600的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (17)
1.一种用于协调针对独立磁盘冗余阵列(RAID)的访问操作的方法,包括:
获取与所述RAID中的第一存储资源池相关联的第一访问操作集合的第一统计数据和与所述RAID中的第二存储资源池相关联的第二访问操作集合的第二统计数据,所述第一访问操作集合包括后台访问操作和用户访问操作,所述第二访问操作集合至少包括用户访问操作;
基于所述第一统计数据和所述第二统计数据,确定所述第一存储资源池和所述第二存储资源池共享的存储器的可用性;以及
基于所述存储器的所述可用性,调节所述第一访问操作集合中的所述后台访问操作,以控制所述后台访问操作所占用的所述存储器的容量。
2.根据权利要求1所述的方法,其中获取所述第一统计数据包括以下至少一项:
获取所述第一访问操作集合中的后台访问操作的类型、粒度、调度频率、并行线程数目和持续时间中的至少一项;以及
获取所述第一访问操作集合中的用户访问操作的数目、针对用户访问操作的响应时间和最后一个用户访问操作的时间戳中的至少一项。
3.根据权利要求1所述的方法,其中获取所述第二统计数据包括:
获取所述第二访问操作集合中的用户访问操作的数目、针对用户访问操作的响应时间和最后一个用户访问操作的时间戳中的至少一项。
4.根据权利要求1所述的方法,其中确定所述存储器的所述可用性包括:
基于所述第一统计数据和所述第二统计数据中的用户访问操作的数目,确定所述存储器的可用容量;以及
确定所述可用容量与所述存储器的总容量的容量比值。
5.根据权利要求4所述的方法,其中调节所述后台访问操作包括:
响应于所述容量比值低于第一容量阈值,执行以下至少一项:
减少所述后台访问操作的粒度,
降低所述后台访问操作的调度频率,
减少所述后台访问操作的并行线程数目,以及
缩短所述后台访问操作的持续时间;以及
响应于所述容量比值高于第二容量阈值,所述第二容量阈值大于所述第一容量阈值,执行以下至少一项:
增加所述后台访问操作的粒度,
提高所述后台访问操作的调度频率,
增加所述后台访问操作的并行线程数目,以及
增加所述后台访问操作的持续时间。
6.根据权利要求1所述的方法,其中确定所述存储器的所述可用性包括:
从所述第一统计数据确定针对所述第一访问操作集合中的用户访问操作的响应时间;以及
基于所确定的响应时间和所述第一存储资源池的第一参考响应时间,确定所述存储器的可用性。
7.根据权利要求6所述的方法,其中调节所述后台访问操作包括:
响应于所确定的响应时间大于所述第一参考响应时间,执行以下至少一项:
减少所述后台访问操作的粒度,
降低所述后台访问操作的调度频率,
减少所述后台访问操作的并行线程数目,以及
缩短所述后台访问操作的持续时间;以及
响应于所确定的响应时间小于所述第一存储资源池的第二参考响应时间,所述第二参考响应时间小于所述第一参考响应时间,执行以下至少一项:
增加所述后台访问操作的粒度,
提高所述后台访问操作的调度频率,
增加所述后台访问操作的并行线程数目,以及
增加所述后台访问操作的持续时间。
8.根据权利要求5或7所述的方法,其中调节所述后台访问操作是基于所述后台访问操作的优先级来进行的。
9.一种用于协调针对独立磁盘冗余阵列(RAID)的访问操作的设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
获取与所述RAID中的第一存储资源池相关联的第一访问操作集合的第一统计数据和与所述RAID中的第二存储资源池相关联的第二访问操作集合的第二统计数据,所述第一访问操作集合包括后台访问操作和用户访问操作,所述第二访问操作集合至少包括用户访问操作;
基于所述第一统计数据和所述第二统计数据,确定所述第一存储资源池和所述第二存储资源池共享的存储器的可用性;以及
基于所述存储器的所述可用性,调节所述第一访问操作集合中的所述后台访问操作,以控制所述后台访问操作所占用的所述存储器的容量。
10.根据权利要求9所述的设备,其中获取所述第一统计数据包括以下至少一项:
获取所述第一访问操作集合中的后台访问操作的类型、粒度、调度频率、并行线程数目和持续时间中的至少一项;以及
获取所述第一访问操作集合中的用户访问操作的数目、针对用户访问操作的响应时间和最后一个用户访问操作的时间戳中的至少一项。
11.根据权利要求9所述的设备,其中获取所述第二统计数据包括:
获取所述第二访问操作集合中的用户访问操作的数目、针对用户访问操作的响应时间和最后一个用户访问操作的时间戳中的至少一项。
12.根据权利要求9所述的设备,其中确定所述存储器的所述可用性包括:
基于所述第一统计数据和所述第二统计数据中的用户访问操作的数目,确定所述存储器的可用容量;以及
确定所述可用容量与所述存储器的总容量的容量比值。
13.根据权利要求12所述的设备,其中调节所述后台访问操作包括:
响应于所述容量比值低于第一容量阈值,执行以下至少一项:
减少所述后台访问操作的粒度,
降低所述后台访问操作的调度频率,
减少所述后台访问操作的并行线程数目,以及
缩短所述后台访问操作的持续时间;以及
响应于所述容量比值高于第二容量阈值,所述第二容量阈值大于所述第一容量阈值,执行以下至少一项:
增加所述后台访问操作的粒度,
提高所述后台访问操作的调度频率,
增加所述后台访问操作的并行线程数目,以及
增加所述后台访问操作的持续时间。
14.根据权利要求9所述的方法,其中确定所述存储器的所述可用性包括:
从所述第一统计数据确定针对所述第一访问操作集合中的用户访问操作的响应时间;以及
基于所确定的响应时间和所述第一存储资源池的第一参考响应时间,确定所述存储器的可用性。
15.根据权利要求14所述的方法,其中调节所述后台访问操作包括:
响应于所确定的响应时间大于所述第一参考响应时间,执行以下至少一项:
减少所述后台访问操作的粒度,
降低所述后台访问操作的调度频率,
减少所述后台访问操作的并行线程数目,以及
缩短所述后台访问操作的持续时间;以及
响应于所确定的响应时间小于所述第一存储资源池的第二参考响应时间,所述第二参考响应时间小于所述第一参考响应时间,执行以下至少一项:
增加所述后台访问操作的粒度,
提高所述后台访问操作的调度频率,
增加所述后台访问操作的并行线程数目,以及
增加所述后台访问操作的持续时间。
16.根据权利要求13或15所述的方法,其中调节所述后台访问操作是基于所述后台访问操作的优先级来进行的。
17.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至8任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810803262.XA CN110737398B (zh) | 2018-07-20 | 2018-07-20 | 协调访问操作的方法、设备和计算机程序产品 |
US16/447,129 US10929065B2 (en) | 2018-07-20 | 2019-06-20 | Method, device and computer program product for coordinating access operations |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810803262.XA CN110737398B (zh) | 2018-07-20 | 2018-07-20 | 协调访问操作的方法、设备和计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110737398A true CN110737398A (zh) | 2020-01-31 |
CN110737398B CN110737398B (zh) | 2023-09-01 |
Family
ID=69162974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810803262.XA Active CN110737398B (zh) | 2018-07-20 | 2018-07-20 | 协调访问操作的方法、设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10929065B2 (zh) |
CN (1) | CN110737398B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11487473B2 (en) * | 2018-07-23 | 2022-11-01 | SK Hynix Inc. | Memory system |
US11288012B2 (en) | 2018-07-23 | 2022-03-29 | SK Hynix Inc. | Memory system |
KR102513919B1 (ko) | 2018-11-05 | 2023-03-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
KR102516584B1 (ko) | 2018-11-21 | 2023-04-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
US10915470B2 (en) * | 2018-07-23 | 2021-02-09 | SK Hynix Inc. | Memory system |
CN111104047B (zh) * | 2018-10-25 | 2023-08-25 | 伊姆西Ip控股有限责任公司 | 管理冗余磁盘阵列的方法、设备和计算机可读存储介质 |
CN111857554B (zh) * | 2019-04-30 | 2024-04-05 | 伊姆西Ip控股有限责任公司 | Raid冗余级别的自适应改变 |
KR20220165980A (ko) * | 2021-06-09 | 2022-12-16 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160188424A1 (en) * | 2014-12-30 | 2016-06-30 | International Business Machines Corporation | Data storage system employing a hot spare to store and service accesses to data having lower associated wear |
CN106021142A (zh) * | 2015-03-24 | 2016-10-12 | 国际商业机器公司 | 用于在客户机之间共享存储器的方法和系统 |
CN107870877A (zh) * | 2016-09-23 | 2018-04-03 | 伊姆西Ip控股有限责任公司 | 用于在存储系统中管理数据访问的方法和系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6122713A (en) * | 1998-06-01 | 2000-09-19 | National Instruments Corporation | Dual port shared memory system including semaphores for high priority and low priority requestors |
US20050234961A1 (en) * | 2004-04-16 | 2005-10-20 | Pinnacle Systems, Inc. | Systems and Methods for providing a proxy for a shared file system |
US8429652B2 (en) * | 2009-06-22 | 2013-04-23 | Citrix Systems, Inc. | Systems and methods for spillover in a multi-core system |
US9400741B1 (en) | 2014-06-30 | 2016-07-26 | Emc Corporation | Reclaiming space from file system hosting many primary storage objects and their snapshots |
US9779023B1 (en) | 2015-06-30 | 2017-10-03 | EMC IP Holding Company LLC | Storing inline-compressed data in segments of contiguous physical blocks |
US10496491B1 (en) | 2015-09-30 | 2019-12-03 | EMC IP Holding Company LLC | Cloning a volume drawn from different storage tiers with consistent performance |
US10409776B1 (en) | 2016-03-30 | 2019-09-10 | EMC IP Holding Company LLC | Space-efficient persistent block reservation |
US10013425B1 (en) | 2016-03-31 | 2018-07-03 | EMC IP Holding Company LLC | Space-efficient persistent block reservation optimized for compression |
US10521398B1 (en) | 2016-06-29 | 2019-12-31 | EMC IP Holding Company LLC | Tracking version families in a file system |
US9916102B1 (en) | 2016-06-29 | 2018-03-13 | EMC IP Holding Company LLC | Managing data storage reservations on a per-family basis |
US10592469B1 (en) | 2016-06-29 | 2020-03-17 | EMC IP Holding Company, LLC | Converting files between thinly and thickly provisioned states |
US9933945B1 (en) | 2016-09-30 | 2018-04-03 | EMC IP Holding Company LLC | Efficiently shrinking a dynamically-sized volume |
US10445295B1 (en) | 2017-07-28 | 2019-10-15 | EMC IP Holding Company LLC | Task-based framework for synchronization of event handling between nodes in an active/active data storage system |
CN109726033B (zh) | 2017-10-31 | 2022-05-06 | 伊姆西Ip控股有限责任公司 | 提供raid数据保护的方法、数据存储系统和计算机可读介质 |
US10592165B1 (en) | 2018-02-02 | 2020-03-17 | EMC IP Holding Company LLC | Method, apparatus and computer program product for queueing I/O requests on mapped RAID |
US10387066B1 (en) | 2018-04-18 | 2019-08-20 | EMC IP Holding Company LLC | Providing data deduplication in a data storage system with parallelized computation of crypto-digests for blocks of host I/O data |
US10733051B2 (en) | 2018-10-31 | 2020-08-04 | EMC IP Holding Company LLC | Redistributing data across drives of a storage array based on drive health metrics |
-
2018
- 2018-07-20 CN CN201810803262.XA patent/CN110737398B/zh active Active
-
2019
- 2019-06-20 US US16/447,129 patent/US10929065B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160188424A1 (en) * | 2014-12-30 | 2016-06-30 | International Business Machines Corporation | Data storage system employing a hot spare to store and service accesses to data having lower associated wear |
CN106021142A (zh) * | 2015-03-24 | 2016-10-12 | 国际商业机器公司 | 用于在客户机之间共享存储器的方法和系统 |
CN107870877A (zh) * | 2016-09-23 | 2018-04-03 | 伊姆西Ip控股有限责任公司 | 用于在存储系统中管理数据访问的方法和系统 |
Non-Patent Citations (1)
Title |
---|
石峰: "RAID技术在FTP服务器上的应用", 《太原大学学报》 * |
Also Published As
Publication number | Publication date |
---|---|
US20200026469A1 (en) | 2020-01-23 |
US10929065B2 (en) | 2021-02-23 |
CN110737398B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737398A (zh) | 协调访问操作的方法、设备和计算机程序产品 | |
US11200164B2 (en) | Coordinated garbage collection in distributed systems | |
US10936419B2 (en) | Method, device and computer readable medium for managing a storage system | |
US10778765B2 (en) | Bid/ask protocol in scale-out NVMe storage | |
US9292448B2 (en) | Dynamic sizing of memory caches | |
US20190324814A1 (en) | Resource release method, resource allocation method, devices, and computer program products | |
CN111104055B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN110413203B (zh) | 用于管理存储系统的方法、设备和计算机可读介质 | |
US20180300066A1 (en) | Method and device for managing disk pool | |
US10324635B1 (en) | Adaptive compression for data replication in a storage system | |
US11188229B2 (en) | Adaptive storage reclamation | |
US10891150B2 (en) | Storage control method and storage controller for user individual service environment | |
CN112764661A (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US11500577B2 (en) | Method, electronic device, and computer program product for data processing | |
US9069621B2 (en) | Submitting operations to a shared resource based on busy-to-success ratios | |
US9135064B2 (en) | Fine grained adaptive throttling of background processes | |
US11403026B2 (en) | Method, device and computer program product for managing storage system | |
CN111858188A (zh) | 存储管理的方法、设备和计算机程序产品 | |
CN110413197B (zh) | 管理存储系统的方法、设备和计算机程序产品 | |
CN111124253B (zh) | 管理存储设备的方法、装置和计算机程序产品 | |
US11765099B2 (en) | Resource allocation using distributed segment processing credits | |
CN112764665B (zh) | 存储管理的方法、设备和计算机程序产品 | |
US11663127B2 (en) | Method, electronic device and computer program product for managing storage system | |
US20150370503A1 (en) | Effectively limitless apparent free space on storage device | |
CN107273188B (zh) | 一种虚拟机中央处理单元cpu绑定方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |