CN113396566A - 分布式存储系统中基于全面i/o监测的资源分配 - Google Patents
分布式存储系统中基于全面i/o监测的资源分配 Download PDFInfo
- Publication number
- CN113396566A CN113396566A CN202080012819.3A CN202080012819A CN113396566A CN 113396566 A CN113396566 A CN 113396566A CN 202080012819 A CN202080012819 A CN 202080012819A CN 113396566 A CN113396566 A CN 113396566A
- Authority
- CN
- China
- Prior art keywords
- storage
- operations
- pending
- storage device
- target resource
- 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
- 238000012544 monitoring process Methods 0.000 title claims description 52
- 238000013468 resource allocation Methods 0.000 title description 15
- 238000000034 method Methods 0.000 claims description 41
- 235000012431 wafers Nutrition 0.000 claims description 12
- 230000036541 health Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 239000007787 solid Substances 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 20
- 238000013403 standard screening design Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
- 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/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- 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/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- 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
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2206/00—Indexing scheme related to dedicated interfaces for computers
- G06F2206/10—Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
- G06F2206/1012—Load balancing
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)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本文描述的实施方式提供了一种存储管理系统。在工作期间,系统从分布式存储系统的一个或更多个存储节点接收指示多个存储装置的未决负载集的信息。各个的未决负载集包括该存储装置上的来自主机操作的负载集和来自后台操作的负载集。系统可以从分布式存储系统的客户端节点接收对与盘操作相关联的目标资源的请求。系统然后基于未决负载集从多个存储装置中选择具有最小未决负载集的存储装置作为目标资源,并向客户端节点发送该目标资源。
Description
相关申请的引用
本公开要求于2019年4月16日提交的名称为“Resource Allocation Based OnComprehensive I/O Monitoring In a Distributed Storage System”的申请号为16385955的美国申请的优先权,其全部内容通过引用结合到本文。
背景技术
本公开总体上涉及存储管理领域。更具体地,本公开涉及用于在分布式存储系统中基于全面输入/输出(I/O)监测来分配资源的系统和方法。
相关技术
在物理和虚拟装置上运行的各种应用带来了其对计算资源的需求增加。结果,设备厂商竞争以构建具有通用能力的更大和更快的计算设备(例如,处理器、存储器、存储装置等)。然而,一个计算设备的能力不能无限地增长。其受到物理空间、功耗和设计复杂性的限制(仅举几个因素)。此外,具有较高容量的计算设备通常更复杂和昂贵。更重要的是,因为过大且复杂的系统通常不能提供规模经济性,所以简单地增加计算设备的大小和能力以适应较高的计算需求在经济上是不合适的。
随着对计算的需求的增加,对高容量存储装置的需求也在增加。这种存储装置通常需要能够提供大存储容量以及高效存储/取得数据的存储技术。一种这样的存储技术可以是固态驱动器(SSD),其通常是与非(NAND)闪存存储器装置(或闪存装置)。SSD可以以低成本提供高容量存储。因此,SSD已经成为作为持久存储解决方案的传统硬盘驱动器(HDD)的主要竞争者。
因此,由于SSD的增强性能,SSD广泛用于分布式存储系统,例如数据中心。然而,SSD可能面临不稳定的性能并且可能招致长的尾延迟。特别地,如果SSD的后台I/O操作(例如垃圾收集操作)与主机装置的I/O操作竞争,则SSD的性能会受到损害。此外,SSD的后台I/O操作可能不能由主机装置访问。结果,主机装置可能不能确定SSD的整体I/O操作。
即使SSD给分布式存储系统带来了许多期望的特性,但在分布式存储系统中的有效资源分配上仍有许多问题未解决。
发明内容
本文描述的实施方式提供了一种存储管理系统。在工作期间,所述系统监测分布式存储系统中的计算设备的存储装置。所述系统可以基于所述监测确定所述存储装置上的未决负载集。所述未决负载集可以包括所述存储装置上的来自主机操作的负载集和来自后台操作的负载集。所述系统然后发送指示未决负载集的信息以在分布式存储系统中分配所到来的请求。
在该实施方式的变型中,所述存储装置包括经由内部通道彼此联接的多个存储晶片。所述系统确定所述多个存储晶片中的各个存储晶片上的来自主机操作和后台操作的负载集。
在该实施方式的变型中,所述未决负载集指示所述存储装置上的未决读和写操作的输入/输出(I/O)字节。
在该实施方式的变型中,所述后台操作包括所述分布式存储系统中的垃圾收集操作、数据同步和数据健康检查中的一项或更多项。
在该实施方式的变型中,所述系统确定所述计算设备的第二存储装置上的第二未决负载集;以及发送指示第二未决负载集的信息以在分布式存储系统中分配所到来的请求。
在该实施方式的变型中,所述存储装置是开放通道固态驱动器(SSD)。监测所述存储装置可以包括监测由所述存储装置的装置驱动器管理的主机操作和后台操作。
本文描述的实施方式提供了一种存储管理系统。在工作期间,所述系统从分布式存储系统的一个或更多个存储节点接收指示多个存储装置的未决负载集的信息。各个的未决负载集包括所述存储装置上的来自主机操作的负载集和后台操作的负载集。所述系统可以从所述分布式存储系统的客户端节点接收对与盘操作相关联的目标资源的请求。所述系统然后从所述多个存储装置中选择具有所述未决负载集中的最小未决负载集的存储装置作为所述目标资源;并且向所述客户端节点发送所述目标资源。
在该实施方式的变型中,所述系统通过以下处理选择所述存储装置:确定所述存储装置和第二存储装置具有最小未决负载集;比较所述存储装置和所述第二存储装置的存储晶片的未决负载集;以及响应于在所述比较中检测到平局,随机选择存储装置作为所述目标资源。
在该实施方式的变型中,所述后台操作包括所述分布式存储系统中的垃圾收集操作、数据同步和数据健康检查中的一项或更多项。
在该实施方式的变型中,所述盘操作是对数据段的读操作。所述目标资源可以则指示所述数据段的至少一个副本在所述分布式存储系统中的源位置。
在该实施方式的变型中,所述盘操作是对数据段的写操作。所述目标资源可以则指示所述数据段的至少一个副本在所述分布式存储系统中的目的地位置。
在该实施方式的变型中,所述系统根据所述多个存储装置的未决负载集层级地确定所述分布式存储系统的实体上的未决负载集。
在该实施方式的变型中,所述多个存储装置中的各个包括经由内部通道彼此联接的多个存储晶片。所述多个存储装置的所述未决负载集可以则包括所述多个存储晶片中的各个存储晶片上的来自主机操作和后台操作的负载集。
附图说明
图1A例示根据本申请的实施方式的促进分布式存储系统中的基于全面I/O监测的有效资源分配的示例基础设施。
图1B例示根据本申请的实施方式的支持全面I/O监测的示例存储装置。
图2A例示根据本申请的实施方式的促进在分布式存储系统中的基于全面I/O监测的有效资源分配的示例元件。
图2B例示根据本申请的实施方式的在分布式存储系统中的基于全面I/O监测的资源分配的示例通信。
图3例示根据本申请的实施方式的存储分布式存储系统中的全面资源统计的示例资源映射表。
图4例示根据本申请的实施方式的在分布式存储系统中的全面资源统计的示例层级分配。
图5A呈现了例示根据本申请的实施方式的客户端节点在分布式存储系统中进行写操作的方法的流程图。
图5B呈现了例示根据本申请的实施方式的一个或更多个控制器节点在分布式存储系统中基于全面I/O监测来为写操作分配资源的方法的流程图。
图6A呈现了例示根据本申请的实施方式的客户端节点在分布式存储系统中进行读操作的方法的流程图。
图6B呈现了例示根据本申请的实施方式的一个或更多个控制器节点在分布式存储系统中基于全面I/O监测来为读操作分配资源的方法的流程图。
图7例示根据本申请的实施方式的促进分布式存储系统中基于全面I/O监测的高效资源分配的示例计算机系统。
图8例示根据本申请的实施方式的促进分布式存储系统中基于全面I/O监测的高效资源分配的示例设备。
在附图中,类似的附图标记表示类似的附图元件。
具体实施方式
提供以下描述以使所属领域的技术人员能够实施和使用所述实施方式,并且描述是在特定应用及其要求的上下文中提供的。所属领域的技术人员将容易明白对所揭示实施方式的各种修改,且本文所界定的一般原理可在不脱离本公开的精神和范围的情况下应用于其它实施方式和应用。因此,本文描述的实施方式不限于所示的实施方式,而是与符合本文公开的原理和特征的最宽范围一致。
概述
本文描述的实施方式通过以下内容解决了在分布式存储系统中为I/O操作有效地分配资源的问题:(i)在SSD的内部通道处全面监测主机操作和后台I/O操作两者;以及(ii)定期通知一个或更多个控制器节点关于所监测的信息。定期通知允许控制器节点在分布式存储系统中维护资源统计(例如,未决的I/O操作和相关联的字节)的全面记录。存储装置的资源统计可以指示在该存储装置上的当前运行时资源消耗。
通常,系统的架构包括多个客户端节点(或计算节点)、存储节点和控制器节点。客户端节点接收客户端数据和相应的请求。另一方面,存储节点存储数据。为了促进高可用性和高可靠性,可以将各条数据存储在多个存储节点和/或存储装置中。控制器节点可以存储和组织与存储操作以及所存储的数据相关联的元数据。术语“存储装置”可以指具有被配置成在电力循环(例如,如果存储装置的主机装置关闭且随后再次开启)期间存储数据的非易失性存储器的装置。对于也可以被称为计算节点的客户端节点,存储装置可以是任何非易失性介质。在另一方面,对于存储节点,存储装置可以是包括多个存储单元的固态驱动器(SSD)。例如,SSD的单电平单元(SLC)可以存储1比特,而四电平单元(QLC)可以存储4比特。
利用现有技术,系统可以监测系统的存储装置(例如SSD)上的I/O负载以分配资源,使得客户端节点可以进行读操作和/或写操作。通常,这种监测限于从主机装置向存储装置发出的I/O操作。这样的I/O操作可称为主机I/O操作。主机I/O操作响应于客户端节点的读请求/写请求(例如,来自在客户端节点上运行的应用/虚拟机)而发出。然而,主机I/O操作不能表示存储装置的性能,例如长的尾延迟。例如,如果存储装置的后台I/O操作可能与主机I/O操作竞争存储装置中的资源,则会损害存储装置的性能。后台I/O操作可以包括以下个项中的一项或更多项:垃圾收集操作、数据同步、健康检查(例如,在副本间比较数据)。
垃圾收集是当存储装置的空闲块的数量降到阈值以下时触发的后台处理。垃圾收集处理选择候选数据块,将所选块的有效页迁移到空闲块,并擦除候选块以释放该块。因此,垃圾收集处理招致附加的后台I/O并且会与主机I/O操作竞争资源。由于应用级监测不能提供关于存储装置的后台I/O操作的信息,现有的监测服务可能不能确定存储装置的整体I/O负载集。
为了解决这些问题,本文描述的实施方式提供了对存储装置的主机I/O操作和后台I/O操作的全面I/O监测。系统中的各个存储节点可以运行监测器,这可以促进对该存储节点的存储装置的全面监测。在一些实施方式中,监测器可以确定存储装置的内部通道处的I/O操作促进于全面监测。存储装置的相应内部通道可以对应于存储装置的闪存晶片。监测器可以定期地向系统的控制器节点通知关于存储节点的各个的资源统计,其包括未决主机I/O操作和未决后台I/O操作。控制器节点可以获得该信息并将该信息存储在资源统计表中。
控制器节点可以从所获得的信息中分级地确定系统的相应存储节点和相应机架的包括未决I/O操作和相关字节在内的资源统计。客户端节点可以运行客户端库,该客户端库允许客户端节点从控制器节点请求资源。在工作期间,客户端节点可以向控制器节点发送对用于盘操作(例如,读操作或写操作)的目标资源进行请求的查询。请求目标可以是写操作的目的地位置或读操作的源位置。控制器节点可运行全局监测器,该全局监测器通过基于表中的资源统计在系统中的所有存储装置上分配I/O请求可确定目标资源。全局监测器可以评估系统的各个的资源统计。全局监测器接着选择可有效地作为目标资源工作的存储装置(例如,具有最小未决I/O负载集的最空闲存储装置)。
控制器节点然后将目标资源返回客户端节点。然后,客户端库可以向托管目标资源的存储节点发送该I/O请求。这允许系统为系统中的读操作/写操作有效地分配资源,从而避免系统中的热点并减少存储装置的尾延迟。在一些实施方式中,存储装置是开放通道SSD,其允许存储节点管理SSD内的数据布置并控制主机I/O操作和后台I/O操作两者的I/O调度。由于开放通道SSD可促进使用SSD到主机的内部并行性(即,到SSD内的闪存晶片的通道),所以存储节点上的监测器可收集资源统计,从而确定未决主机I/O操作和未决后台I/O操作。
在一些实施方式中,系统可以由提供数据存储/取得操作的管理服务来管理。该服务可以由服务应用编程接口(API)来促进。服务API可以是文件、块和/或对象接口。该服务可负责将I/O请求分配到存储节点,管理虚拟页地址与物理页地址之间的映射(例如,指示所存储数据的位置的信息),监测存储节点和客户端节点的健康状态,以及恢复任何故障存储节点的数据。
示例系统
图1A例示根据本申请的实施方式的促进分布式存储系统中基于全面I/O监测的有效资源分配的示例基础设施。在该示例中,基础设施100可以包括分布式存储系统110。系统110可以包括多个客户端节点(或客户端-服务器)102、104和106,以及多个存储节点112、114和116。客户端节点102、104和106以及存储节点112、114和116可以经由网络120(例如,局域网或广域网,例如因特网)彼此通信。系统110还可以包括一个或更多个控制器节点150,其可以存储和组织与存储操作以及所存储的数据相关联的元数据。
存储节点还可以包括一个或更多个存储装置。例如,存储节点116可以包括组件,组件例如多个中央处理单元(CPU)内核141、系统存储器装置142、网络接口卡143和多个存储装置/盘144、146和148。这些存储装置可以是高密度非易失性存储装置,例如基于NAND的SSD。系统110可以由在控制器节点150上运行的管理服务来管理。该服务可负责将I/O请求分配到存储节点112、114和116,管理虚拟页地址与物理页地址之间的映射(例如,指示所存储数据的位置的信息),监测存储节点和客户端节点的健康状态,以及恢复任何故障存储节点的数据。
存储装置148可以包括多个闪存晶片(例如,诸如NAND晶片的存储晶片)162、163、164、165、166、167、168和169。存储装置148还可以包括促进存储操作和取得操作(例如,加密、压缩、循环冗余校验、纠错编码、调制等)的控制器140。控制器140可以包括缓冲器130,缓冲器130累积数据直到数据达到阈值,并且控制器140接着将数据从缓冲器130传送到多个闪存晶片中的一个。控制器140和闪存晶片162、163、164、165、166、167、168和169可经由内部通道161彼此互连。存储装置148的相应内部通道可以对应于存储装置148的闪存晶片。举例来说,这些闪存晶片中的每一个可联接到内部通道,该内部通道又联接到到达其它闪存晶片和/或控制器140的通道。
通过现有技术,控制器节点150可支持对系统110的存储装置的存储装置上的I/O监测并分配资源,使得客户端节点102、104和106可执行读操作和/或写操作。通常,这种监测限于从诸如存储节点116的主机装置向诸如存储装置148的存储装置发出的I/O操作。这些主机I/O操作是响应于来自客户端节点102、104和/或106(例如,来自在这些客户端节点上运行的应用或虚拟机)的读/写请求而发出的。然而,主机I/O操作不能表示存储装置148的性能,诸如长的尾延迟。例如,如果存储装置148的后台I/O操作(例如垃圾收集操作)与主机I/O操作竞争存储装置148中的资源,则会损害存储装置148的性能。由于应用级监测不能提供关于存储装置148的后台I/O操作的信息,现有的监测服务不能确定存储装置148的总I/O负载集。
为了解决这些问题,系统110可促进全面I/O监测,其允许控制器节点150有效地为客户端节点102、104和/或106分配目标资源。全面I/O监测包括系统110的各个的主机I/O操作和后台I/O操作。存储节点116可以运行监测器170,监测器170可以促进存储装置144、146和148的全面监测。在一些实施方式中,监测器170可以确定与存储装置148的内部通道161处的I/O操作相关联的资源消耗,以促进全面监测。监测器170可以定期地向控制器节点150通知关于存储装置144、146和148的包括主机I/O操作和后台I/O操作在内的资源统计。
控制器节点150可以获得该信息并将该信息存储在资源统计表190中。在工作期间,客户端节点102可向控制器节点150发送对用于盘操作的目标资源进行请求的查询。目标资源可以是写操作的目的地位置或读操作的源位置。控制器节点150可运行全局监测器180,全局监测器180通过基于表190中的资源统计在系统中的所有存储装置上分配I/O请求可以确定目标资源。全局监测器180可评估诸如系统110的存储装置144、146和148等存储装置的资源统计(例如,未决I/O操作和相关联的字节)。全局监测器180接着选择可有效地作为目标资源工作的存储装置(例如,具有最小未决I/O负载集的最空闲存储装置)。这样,控制器节点150可以基于主机I/O操作和后台I/O操作来促进系统110中的有效资源分配。
图1B例示根据本申请的实施方式的支持全面I/O监测的示例存储装置。存储装置148可以是开放通道SSD,其允许存储节点116管理存储装置148内的数据布置,并控制主机I/O操作和后台I/O操作两者的I/O调度。因为开放通道SSD可促进对存储节点116上的内部通道161的访问,所以存储节点116上的监测器170可收集资源统计,借此确定与存储装置148的相应闪存晶片相关联的未决主机I/O操作和未决后台I/O操作。这允许监测器170确定存储装置148的资源统计181,其可以包括主机I/O操作和后台I/O操作。
由于监测器170可以访问内部通道161(例如,经由存储装置148的装置驱动器172),所以监测器170可以分别确定闪存晶片162、163、164、165、166、167、168和169的资源统计182、183、184、185、186、187、188和189。这种资源统计可以包括未决I/O操作的数量和与操作中的相应一个操作相关联的字节。例如,存储节点116可分别在闪存晶片162、164、166和168上发出主机I/O操作152、154、156和158。类似地,存储节点116可以分别调度闪存晶片162、164、166和168上的后台I/O操作192、194、196和198。由于这些操作的执行是经由驱动器172来进行的,所以监测器170可以确定资源统计182、184、186和188分别包括主机I/O操作152、154、156和158,以及分别包括后台I/O操作192、194、196和198。这样,监测器170通过并入主机I/O操作和后台I/O操作两者可以进行对存储装置148的全面I/O监测。
全面监测和资源分配
图2A例示根据本申请的实施方式的促进分布式存储系统中基于全面I/O监测的有效资源分配的示例元件。促进系统110中的全面I/O监测的元件可以包括客户端节点上的客户端库、存储节点上的监测器、和全局监测监测器、以及控制器节点上的资源统计表。例如,客户端节点102可以运行客户端库220,客户端库220允许客户端节点102从控制器节点150请求资源。客户端库220可与计算节点150通信以确定目标资源并向与该目标资源相关联的一个或更多个存储节点发出读请求或写请求。
在工作期间,客户端库220可以向控制器节点150发送对目标资源进行请求的查询。目标资源可以是写操作的目的地位置或读操作的源位置。控制器节点150可以运行全局监测器180,全局监测器180通过基于表190中的资源统计在系统110中的所有存储装置上分配I/O请求可以确定目标资源。为此,全局监测器180可以收集系统110的相应盘上的资源统计。在存储节点112上运行的监测器202可以收集存储节点112的存储装置204、206和208的资源统计。类似地,在存储节点114上运行的监测器212可以收集存储节点114的存储装置214、216和218的资源统计。监测器202、212和170然后定期地向控制器节点150报告所收集的资源统计,控制器节点150转而向全局监测器180提供所收集的资源统计。
该报告可以包括生成消息,将所收集的资源统计包括在该消息中,以及将该消息发送到控制器节点150。在接收到资源统计后,全局监测器180可评估系统110的各个的资源统计(例如,未决I/O操作和相关联字节)。例如,全局监测器180可以评估存储装置204、206、208、214、216、218、144、146和148的资源统计。全局监测器180然后为来自客户端库220的查询选择可有效地作为目标资源操作的存储装置(例如,具有最小未决I/O负载集的最空闲存储装置)。
如果查询是针对数据段的读操作,则全局监测器180可选择存储该段数据的多个副本中的一个副本并且具有最小未决I/O负载集(例如,最小数量的未决I/O操作、未决I/O字节的量、或其加权负载)的存储装置。如果查询是针对数据段的写操作,则全局监测器180可确定针对该段数据应存储多少个副本(例如,基于查询中的指示符)。全局监测器180然后选择对应于副本数量的具有最小未决I/O负载集的存储装置集。控制器节点150然后将目标资源返回给客户端节点102,客户端节点102转而将目标资源提供给客户端库220。
客户端库220然后生成对应于该查询的I/O请求。例如,如果查询是针对读请求,则I/O请求可以是读请求。客户端节点102然后可以向托管目标资源的存储节点发送该I/O请求。这允许系统110为系统110中的读操作/写操作有效地分配资源,从而避免系统110中的热点并减少存储装置的尾延迟。在一些实施方式中,系统110可以由提供数据存储/取得操作的管理服务来管理。该服务可由服务API促进。客户端库220和驱动器172可由服务API促进。服务API可以是文件、块和/或对象接口。该服务可以负责管理系统110中的I/O操作。
图2B例示根据本申请的实施方式的分布式存储系统中的基于全面I/O监测的资源分配的示例通信。在工作期间,监测器170定期地从闪存晶片162-169取得闪存晶片级资源统计(例如,未决I/O操作)(操作262)。通过组合闪存晶片级资源统计,监测器170取得存储装置148的盘级资源统计(操作264)。类似地,监测器170还可以取得存储装置144和存储装置146的盘级资源统计。然后,监测器170向控制器节点150报告资源统计(例如,通过发送包括资源统计的消息)(操作266)。以相同的方式,监测器202和监测器212还向控制器节点150报告它们各自的资源统计。
控制器节点150上的全局监测器180然后可以根据所接收的资源统计层级地构造资源信息(操作268)。例如,根据盘级资源统计,全局监测器180可以构造节点级资源统计,并且根据节点级统计,全局监测器180可以构造机架级资源统计。全局监测器180可以在表190中存储不同级别(例如,从机架级到闪存晶片级)的资源统计(操作270)。为了发出针对I/O操作的请求,客户端节点102的客户端库220可向控制器节点150发送针对目标资源的查询(操作272)。全局监测器180可以基于表190的资源统计来确定目标资源(操作274)。
全局监测器180可以确定具有最小I/O负载集的盘和/或闪存晶片作为目标资源。在一些实施方式中,全局监测器180通过计算加权负载来确定盘和/或闪存晶片的I/O负载。例如,加权负载L可以计算为:
L=HW×HWW+HR×HRW+BW×BWW+BR×BRW。
这里,HW表示未决主机写操作,HWW表示未决主机写操作的权重,HR表示未决主机读操作,HRW表示未决主机读操作的权重。类似地,BW表示未决后台写操作,BWW表示未决后台写操作的权重,BR表示未决后台读操作,并且BRW表示未决后台读操作的权重。这里,可以为每种类型的I/O操作分配不同的权重以反映不同的资源消耗量。此外,全局监测器180可以为主机操作分配(例如,基于用户配置)比后台操作更高的权重。
全局监测器180然后向客户端节点102提供目标资源(操作276)。全局监测器180可指定用于读操作的目标位置(例如,直至数据页及/或块级)或对应于用于写操作的多个副本的多个目标位置。假设了目标资源指示存储装置148上的位置。在接收到目标资源后,客户端节点102可向存储节点116发送与目标资源相关联的请求(例如,针对读操作或写操作的请求)(操作278)。存储节点116可以在目标资源上执行操作(操作280)。存储节点116然后完成该请求(操作282)。完成可以包括针对读操作从目标资源向客户端节点102发送取得的数据、对写操作成功的确认、或指示操作执行中的错误的错误消息。
未决负载集
图3例示了根据本申请的实施方式的在分布式存储系统中存储全面资源统计的示例资源映射表。控制器节点150可维护资源统计表190,其指示系统110的各个的未决I/O负载集。表190可以是资源数据库300(例如,关系数据库或任何其它数据结构)中的表。表190可以包括多个列:机架302、节点304、存储装置306和资源统计308。这些列可以在系统110的这些实体间建立映射关系。映射关系允许全局监测器180在表190中存储不同级别的资源统计。
在该示例中,表190可以为可在系统110的机架312中的存储节点112的存储装置204存储主机写/读(W/R)负载集322和后台W/R负载集324。类似地,表190可以为存储节点112的存储装置206和208存储主机写/读负载集和后台W/R负载集。表190还可以为存储节点114的存储装置214存储主机W/R负载集326和后台W/R负载集328,存储装置214也可以在系统110的机架312中。类似地,表190可以为存储节点114的存储装置216和存储装置218存储主机W/R负载集和后台W/R负载集。机架312可以包括其它存储节点。
此外,表190还可以为可以在系统110的机架314中的存储节点116的存储装置144存储主机W/R负载集341和后台W/R负载集342。表190还可存储用于存储装置146的主机W/R负载集343和后台W/R负载集344,以及用于存储装置148的主机W/R负载集345和后台W/R负载集346。例如,主机W/R负载集341可以包括分别用于写的16兆字节(MB)和用于读的32MB;并且该后台W/R负载集342可以包括分别用于写的128MB和用于读的128MB。在另一方面,主机W/R负载集343可以分别包括用于写的64MB和用于读的64MB;并且该后台W/R负载集344可以包括分别用于写的32MB和用于读的16MB。
这里,即使存储装置146具有比存储装置144高的主机I/O负载集,存储装置146的总I/O负载集也低于存储装置144的总I/O负载集。基于表190中的信息,全局监测器180可以基于存储装置的总I/O负载集来选择目标资源。应当注意,即使表190示出了盘级的未决I/O操作/字节,表190还可以包括闪存晶片级的未决I/O操作/字节。举例来说,可进一步划分主机W/R负载集345和后台W/R负载集346以分别在表190中并入闪存晶片162、163、164、165、166、167、168和169的未决I/O操作/字节182、183、184、185、186、187、188和189。这可允许全局监测器180基于表190确定可具有最小未决I/O负载集(即,最空闲闪存晶片)闪存晶片作为目标资源。
图4例示根据本申请的实施方式的分布式存储系统中的全面未决I/O操作的示例层级分配。在工作期间,全局监测器180可以根据晶片级和/或盘级资源统计分级地确定系统110的相应存储节点和相应机架的资源统计(例如,计算出未决I/O操作)。全局监测器180通过分别组合存储装置144、146和148的主机W/R负载集341、343和345可以确定存储节点116的主机W/R负载集415。类似地,全局监测器180通过分别组合存储装置144、146和148的后台W/R负载集342、344和346可以确定存储节点116的后台W/R负载集416。
同样地,全局监测器180通过分别组合存储装置204、206和208的主机W/R负载集和后台W/R负载集,可以分别确定存储节点112的主机W/R负载集411和后台W/R负载集412。全局监测器180通过分别组合存储装置214、216和218的主机W/R负载集和后台W/R负载集,还可以分别确定存储节点114的主机W/R负载集413和后台W/R负载集414。全局监测器180可以将主机W/R负载集411、413和415以及后台W/R负载集412、414和416存储在资源数据库300中。
继续关于资源统计的层级确定,全局监测器180通过分别组合存储节点112、114以及机架312的其它存储节点(如果有的话)的主机W/R负载集和后台W/R负载集,可以分别确定机架312的主机W/R负载集431和后台W/R负载集432。全局监测器180通过分别组合存储节点116和机架314的其它存储节点(如果有的话)的主机负载集和后台负载集,还可以分别确定机架314的主机负载集433和后台负载集434。全局监测器180可以在资源数据库300中存储主机W/R负载集431和413以及后台W/R负载集432和434。以此方式,全局监测器180可根据从存储节点上的监测器收集的晶片级和/或盘级资源统计来层级地确定系统110的资源统计。
操作
图5A呈现了例示根据本申请的实施方式的客户端节点在分布式存储系统中进行写操作的方法的流程图500。该方法的一个或更多个操作可以由在客户端节点上运行的客户端库来执行。在工作期间,客户端节点向控制器节点发送包括对写操作的目标资源的请求和副本数量的消息(操作502)。客户端节点然后接收包括针对相应副本的目标资源信息的消息(操作504)。目标资源信息可以包括指示存储节点的存储装置的用于相应副本的目标物理数据页和/或块的位置。客户端节点然后向相应的目标资源发出针对相应副本的写请求(操作506)。
图5B呈现了例示根据本申请的实施方式的在分布式存储系统中一个或更多个控制器节点基于全面I/O监测为写操作分配资源的方法的流程图550。该方法的一个或更多个操作可以由在控制器节点上运行的全局监测器执行。在工作期间,控制器节点接收包括对与写操作相关联的目标资源的请求和针对该写操作的副本数量的消息(操作552)。然后,控制器节点选择具有最小未决I/O负载集(例如,数量最少的未决I/O操作和/或相关字节)的机架(操作554),并从所选机架中选择具有最小未决I/O负载集的存储装置(操作556)。
控制器节点可指定所选存储装置上的字节级目标资源(即,资源位置)(操作558)。控制器节点可确定是否已分配所有副本(操作560)。如果尚未分配所有副本,则控制器节点继续为下一副本选择具有最小未决I/O负载集的机架(操作554)。另一方面,如果已分配了所有副本,则控制器节点发送包括针对相应副本的目标资源信息的消息(操作562)。
图6A呈现了例示根据本申请的实施方式的客户端节点在分布式存储系统中进行读操作的方法的流程图600。该方法的一个或更多个操作可以由在客户端节点上运行的客户端库来执行。在工作期间,客户端节点向控制器节点发送包括对读操作的目标资源的请求的消息(操作602)。客户端节点然后接收包括针对读操作的目标资源信息的消息(操作604)。目标资源信息可以包括指示存储由读操作请求的数据段的副本的存储节点的存储装置的物理数据页和/或块的位置。客户端节点然后向对应的目标资源发出读请求(操作606)。
图6B呈现了例示根据本申请的实施方式的一个或更多个控制器节点在分布式存储系统中基于全面I/O监测为读操作分配资源的方法的流程图650。该方法的一个或更多个操作可以由在控制器节点上运行的全局监测器执行。在工作期间,控制器节点接收包括对与读操作相关联的目标资源的请求的消息(操作652)。控制器节点识别读操作所请求的数据段的相应副本的位置(操作654)。控制器节点然后通过直至闪存晶片级地比较所选目标资源来确定具有最小未决I/O负载集的位置(操作656)。
控制器节点确定在选择中是否检测到平局(操作658)。平局可指示存储副本的至少两个闪存晶片、存储装置、存储节点和/或机架具有相同的最小未决I/O负载集。如果检测到平局,则控制器节点可从具有最小未决I/O负载集的位置中随机选择一个位置作为目标资源(操作660)。如果未检测到平局(操作658)或在随机选择位置时(操作660),控制器节点还可确定所调度的后台操作是否会干扰读(操作662)。如果检测到干扰,则控制器节点可禁用所选位置的后台操作(操作664)。如果没有检测到干扰(操作662)或者在禁用后台操作后(操作664),控制器节点向客户端节点发送包括目标资源的消息(操作666)。
示例计算机系统和装置
图7例示了根据本申请的实施方式的促进分布式存储系统中基于全面I/O监测的高效资源分配的示例计算机系统。计算机系统700包括处理器702、存储器装置704和存储装置708。存储器装置704可以包括易失性存储器(例如,双列直插存储器模块(DIMM))。此外,计算机系统700可以联接到显示设备710、键盘712和指点设备714。存储装置708可以存储操作系统716、存储管理系统718和数据736。存储管理系统718可促进客户端节点102、存储节点116和控制器节点150中的一个或更多个的操作。存储管理系统718可以包括促进这些操作的电路。
存储管理系统718还可以包括指令,所述指令在由计算机系统700执行时可以使计算机系统700执行本公开中描述的方法和/或过程。具体地,存储管理系统718可以包括用于监测存储装置中的资源统计(例如,未决I/O操作和相关联的字节)的指令(监测模块720)。存储管理系统718还可以包括用于向控制器节点报告资源统计的指令(监测模块720)。此外,存储管理系统718包括用于将所获得的资源统计存储在资源数据库中的指令(分析模块722)。存储管理系统718还可以包括用于根据所获得的资源统计来层级地确定分布式存储系统的相应存储节点和相应机架的资源统计的指令(分析模块722)。
此外,存储管理系统718包括用于通过确定与最小未决I/O负载集相关联的位置并存储副本(读模块724)来确定读操作的目标资源的指令。存储管理系统718还包括用于通过为相应副本确定具有最小未决I/O负载集的位置来确定写操作的目标资源的指令(写模块726)。存储管理系统718还可以包括用于通过基于未决主机和后台读和写负载集计算加权负载集来确定未决I/O负载集的指令(加权模块728)。存储管理系统718还可以包括用于发送和接收消息的指令(通信模块730)。数据736可以包括可促进存储管理系统718的操作的任何数据,诸如资源统计181和资源统计表190。
图8例示了根据本申请的实施方式的促进分布式存储系统中基于全面I/O监测的高效资源分配的示例设备。存储管理设备800可以包括可经由有线、无线、量子光或电通信信道彼此通信的多个单元或设备。设备800可以使用一个或更多个集成电路来实现,并且可以包括比图8所示的单元或设备少或多的单元或设备。此外,设备800可以集成在计算机系统中,或者实现为能够与其它计算机系统和/或设备通信的单独设备。具体地,设备800可以包括执行类似于图7的计算机系统700的模块720-730的功能或操作的单元802-812,包括:监测单元802、分析单元804、读单元806、单元808、加权单元810、以及通信单元812。
在本详细描述中描述的数据结构和代码通常存储在计算机可读存储介质上,该计算机可读存储介质可以是能够存储供计算机系统使用的代码和/或数据的任何设备或介质。计算机可读存储介质包括但不限于易失性存储器,非易失性存储器,磁和光存储装置,诸如磁盘、磁带、CD(致密盘)、DVD(数字通用盘或数字视频盘)或现在已知或以后开发的能够存储计算机可读介质的其它介质。
在具体实施方式部分中描述的方法和处理可以实现为代码和/或数据,其可以存储在如上所述的计算机可读存储介质中。当计算机系统读并执行存储在计算机可读存储介质上的代码和/或数据时,计算机系统执行实现为数据结构和代码并存储在计算机可读存储介质内的方法和处理。
此外,上述方法和处理可以被包括在硬件模块中。例如,硬件模块可以包括但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)和现在已知或以后开发的其它可编程逻辑器件。当硬件模块被激活时,硬件模块执行包括在硬件模块内的方法和处理。
仅出于说明和描述的目的而呈现本文中所描述的前述实施方式。它们不旨在是穷尽的或将本文描述的实施方式限制为所公开的形式。因此,许多修改和变化对于本领域技术人员来说是明显的。此外,上述公开内容并非旨在限制本文所述的实施方式。本文描述的实施方式的范围由所附权利要求限定。
Claims (20)
1.一种方法,所述方法包括以下步骤:
监测分布式存储系统中的计算设备的存储装置;
基于所述监测确定所述存储装置上的未决负载集,其中,所述未决负载集包括所述存储装置上的来自主机操作的负载集和来自后台操作的负载集;并且
发送指示未决负载集的信息以在所述分布式存储系统中分配到来的请求。
2.根据权利要求1所述的方法,其中,所述存储装置包括经由内部通道彼此联接的多个存储晶片,并且
其中,所述方法还包括确定所述多个存储晶片中的各个存储晶片上的来自主机操作和后台操作的负载集。
3.根据权利要求1所述的方法,其中,所述未决负载集指示所述存储装置上的未决读和写操作的输入/输出I/O字节。
4.根据权利要求1所述的方法,其中,所述后台操作包括所述分布式存储系统中的垃圾收集操作、数据同步和数据健康检查中的一项或更多项。
5.根据权利要求1所述的方法,其中,所述方法还包括:
确定所述计算设备的第二存储装置上的第二未决负载集;以及
发送指示所述第二未决负载集的信息以在所述分布式存储系统中分配到来的请求。
6.根据权利要求1所述的方法,其中,所述存储装置是开放通道固态驱动器SSD,并且其中,监测所述存储装置的步骤包括监测由所述存储装置的装置驱动器管理的主机操作和后台操作。
7.一种方法,所述方法包括以下步骤:
从分布式存储系统的一个或更多个存储节点接收指示多个存储装置的未决负载集的信息,其中,各个存储装置的未决负载集包括该存储装置上的来自主机操作的负载集和来自后台操作的负载集;
从所述分布式存储系统的客户端节点接收对与盘操作相关联的目标资源的请求;
从所述多个存储装置中选择具有所述未决负载集中的最小未决负载集的存储装置作为所述目标资源;以及向所述客户端节点发送所述目标资源。
8.根据权利要求7所述的方法,其中,选择所述存储装置的步骤还包括:
确定所述存储装置和第二存储装置具有最小未决负载集;
比较所述存储装置和所述第二存储装置的存储晶片的未决负载集;以及
响应于在所述比较中检测到平局,随机选择存储装置作为所述目标资源。
9.根据权利要求7所述的方法,其中,所述后台操作包括所述分布式存储系统中的垃圾收集操作、数据同步和数据健康检查中的一项或更多项。
10.根据权利要求7所述的方法,其中,所述盘操作是对数据段的读操作,并且其中,所述目标资源指示所述数据段的至少一个副本在所述分布式存储系统中的源位置。
11.根据权利要求7所述的方法,其中,所述盘操作是对数据段的写操作,并且其中,所述目标资源指示所述数据段的至少一个副本在所述分布式存储系统中的目的地位置。
12.根据权利要求7所述的方法,其中,所述方法还包括根据所接收的指示所述多个存储装置的未决负载集的信息层级地确定所述分布式存储系统的实体上的未决负载集。
13.根据权利要求7所述的方法,其中,所述多个存储装置中的各个存储装置包括经由内部通道彼此联接的多个存储晶片,并且
其中,所述多个存储装置的所述未决负载集包括所述多个存储晶片中的各个存储晶片上的来自主机操作和后台操作的负载集。
14.一种计算机系统,所述计算机系统包括:
处理器;以及
存储器,所述存储器联接到所述处理器并存储指令,所述指令在由所述处理器执行时使所述处理器执行一种方法,所述方法包括:
从分布式存储系统的一个或更多个存储节点接收指示多个存储装置的未决负载集的信息,其中,各个存储装置的未决负载集包括该存储装置上的来自主机操作的负载集和来自后台操作的负载集;
从所述分布式存储系统的客户端节点接收对与盘操作相关联的目标资源的请求;
从所述多个存储装置中选择具有所述未决负载集中的最小未决负载集的存储装置作为所述目标资源;以及
向所述客户端节点发送所述目标资源。
15.根据权利要求14所述的计算机系统,其中,选择所述存储装置的步骤还包括:
确定所述存储装置和第二存储装置具有最小未决负载集;
比较所述存储装置和所述第二存储装置的存储晶片的未决负载集;以及
响应于在所述比较中检测到平局,随机选择存储装置作为所述目标资源。
16.根据权利要求14所述的计算机系统,其中,所述后台操作包括所述分布式存储系统中的垃圾收集操作、数据3同步和数据健康检查中的一项或更多项。
17.根据权利要求14所述的计算机系统,其中,所述盘操作是对数据段的读操作,并且其中,所述目标资源指示所述数据段的至少一个副本在所述分布式存储系统中的源位置。
18.根据权利要求14所述的计算机系统,其中,所述盘操作是对数据段的写操作,并且其中,所述目标资源指示所述数据段的至少一个副本在所述分布式存储系统中的目的地位置。
19.根据权利要求14所述的计算机系统,其中,所述方法还包括根据所述多个存储装置的未决负载集层级地确定所述分布式存储系统的实体上的未决负载集。
20.根据权利要求14所述的计算机系统,其中,所述多个存储装置中的各个存储装置包括经由内部通道彼此联接的多个存储晶片,并且
其中,所述多个存储装置的所述未决负载集包括所述多个存储晶片中的各个存储晶片上的来自主机操作和后台操作的负载集。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/385,955 | 2019-04-16 | ||
US16/385,955 US10908960B2 (en) | 2019-04-16 | 2019-04-16 | Resource allocation based on comprehensive I/O monitoring in a distributed storage system |
PCT/CN2020/083447 WO2020211679A1 (en) | 2019-04-16 | 2020-04-07 | Resource allocation based on comprehensive i/o monitoring in a distributed storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113396566A true CN113396566A (zh) | 2021-09-14 |
CN113396566B CN113396566B (zh) | 2024-06-18 |
Family
ID=72832417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080012819.3A Active CN113396566B (zh) | 2019-04-16 | 2020-04-07 | 分布式存储系统中基于全面i/o监测的资源分配 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10908960B2 (zh) |
CN (1) | CN113396566B (zh) |
WO (1) | WO2020211679A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553899A (zh) * | 2022-01-30 | 2022-05-27 | 阿里巴巴(中国)有限公司 | 一种存储设备 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11252036B1 (en) | 2021-06-10 | 2022-02-15 | Bank Of America Corporation | System for evaluating and tuning resources for anticipated demands |
US11704609B2 (en) | 2021-06-10 | 2023-07-18 | Bank Of America Corporation | System for automatically balancing anticipated infrastructure demands |
US12026554B2 (en) | 2021-07-27 | 2024-07-02 | Bank Of America Corporation | Query-response system for identifying application priority |
US12014210B2 (en) | 2021-07-27 | 2024-06-18 | Bank Of America Corporation | Dynamic resource allocation in a distributed system |
CN116483290B (zh) * | 2023-06-26 | 2024-02-09 | 深圳市亲邻科技有限公司 | 一种数据存储装置的远程监控系统及其方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754897B1 (en) * | 1999-11-12 | 2004-06-22 | Emc Corporation | Operation prioritization and selection in a probability-based job scheduler |
CN102546782A (zh) * | 2011-12-28 | 2012-07-04 | 北京奇虎科技有限公司 | 一种分布式系统及其数据操作方法 |
CN102647362A (zh) * | 2012-04-27 | 2012-08-22 | 浪潮电子信息产业股份有限公司 | 一种多控制器存储系统负载均衡的方法 |
CN103095804A (zh) * | 2011-12-13 | 2013-05-08 | 微软公司 | 集群存储系统中的负载平衡 |
US20130227180A1 (en) * | 2012-02-24 | 2013-08-29 | Pradeep Bisht | Method for input/output load balancing using varied performing storage devices |
CN103984619A (zh) * | 2014-06-06 | 2014-08-13 | 山东超越数控电子有限公司 | 一种网络存储系统性能监测方法 |
CN104320495A (zh) * | 2014-11-13 | 2015-01-28 | 许继电气股份有限公司 | 一种用电信息采集系统的海量数据存储方法及系统 |
CN105242881A (zh) * | 2015-10-12 | 2016-01-13 | 创新科软件技术(深圳)有限公司 | 分布式存储系统及其数据读写方法 |
US20170177217A1 (en) * | 2015-12-22 | 2017-06-22 | Kabushiki Kaisha Toshiba | Memory system and method for controlling nonvolatile memory |
US20170286011A1 (en) * | 2016-04-05 | 2017-10-05 | International Business Machines Corporation | Monitoring storage systems |
CN108900626A (zh) * | 2018-07-18 | 2018-11-27 | 中国联合网络通信集团有限公司 | 一种云环境下数据存储方法、装置及系统 |
Family Cites Families (242)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3893071A (en) | 1974-08-19 | 1975-07-01 | Ibm | Multi level error correction system for high density memory |
US4775932A (en) | 1984-07-31 | 1988-10-04 | Texas Instruments Incorporated | Computer memory system with parallel garbage collection independent from an associated user processor |
NL8402411A (nl) | 1984-08-02 | 1986-03-03 | Philips Nv | Inrichting voor het korrigeren en maskeren van fouten in een informatiestroom, en weergeeftoestel voor het weergeven van beeld en/of geluid voorzien van zo een inrichting. |
WO1994018634A1 (en) | 1993-02-01 | 1994-08-18 | Lsc, Inc. | Archiving file system for data servers in a distributed network environment |
US5394382A (en) | 1993-02-11 | 1995-02-28 | International Business Machines Corporation | Method for the organization of data on a CD-ROM |
JP3215237B2 (ja) | 1993-10-01 | 2001-10-02 | 富士通株式会社 | 記憶装置および記憶装置の書き込み/消去方法 |
US5732093A (en) | 1996-02-08 | 1998-03-24 | United Microelectronics Corporation | Error correction method and apparatus on optical disc system |
US6148377A (en) | 1996-11-22 | 2000-11-14 | Mangosoft Corporation | Shared memory computer networks |
US5930167A (en) | 1997-07-30 | 1999-07-27 | Sandisk Corporation | Multi-state non-volatile flash memory capable of being its own two state write cache |
US6098185A (en) | 1997-10-31 | 2000-08-01 | Stmicroelectronics, N.V. | Header-formatted defective sector management system |
US7200623B2 (en) | 1998-11-24 | 2007-04-03 | Oracle International Corp. | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
US6421787B1 (en) | 1998-05-12 | 2002-07-16 | Sun Microsystems, Inc. | Highly available cluster message passing facility |
US6226650B1 (en) | 1998-09-17 | 2001-05-01 | Synchrologic, Inc. | Database synchronization and organization system and method |
US7966462B2 (en) | 1999-08-04 | 2011-06-21 | Super Talent Electronics, Inc. | Multi-channel flash module with plane-interleaved sequential ECC writes and background recycling to restricted-write flash chips |
WO2001040903A2 (en) | 1999-12-06 | 2001-06-07 | Warp Solutions, Inc. | System and method for enhancing operation of a web server cluster |
US6457104B1 (en) | 2000-03-20 | 2002-09-24 | International Business Machines Corporation | System and method for recycling stale memory content in compressed memory systems |
US6658478B1 (en) | 2000-08-04 | 2003-12-02 | 3Pardata, Inc. | Data storage system |
US6981005B1 (en) | 2000-08-24 | 2005-12-27 | Microsoft Corporation | Partial migration of an object to another storage location in a computer system |
US7228441B2 (en) | 2000-09-27 | 2007-06-05 | Huron Ip Llc | Multi-server and multi-CPU power management system and method |
US6694451B2 (en) | 2000-12-07 | 2004-02-17 | Hewlett-Packard Development Company, L.P. | Method for redundant suspend to RAM |
US20020161890A1 (en) | 2000-12-22 | 2002-10-31 | Kailai Chen | System and method for intelligently distributing content over a communicatons network |
KR100856399B1 (ko) | 2002-01-23 | 2008-09-04 | 삼성전자주식회사 | 디코딩 방법 및 그 장치 |
US7533214B2 (en) | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
US20030163633A1 (en) | 2002-02-27 | 2003-08-28 | Aasheim Jered Donald | System and method for achieving uniform wear levels in a flash memory device |
US6988165B2 (en) | 2002-05-20 | 2006-01-17 | Pervasive Software, Inc. | System and method for intelligent write management of disk pages in cache checkpoint operations |
US8005966B2 (en) | 2002-06-11 | 2011-08-23 | Pandya Ashish A | Data processing system using internet protocols |
US7953899B1 (en) | 2002-08-21 | 2011-05-31 | 3Par Inc. | Universal diagnostic hardware space access system for firmware |
US7239605B2 (en) | 2002-09-23 | 2007-07-03 | Sun Microsystems, Inc. | Item and method for performing a cluster topology self-healing process in a distributed data system cluster |
US7003620B2 (en) | 2002-11-26 | 2006-02-21 | M-Systems Flash Disk Pioneers Ltd. | Appliance, including a flash memory, that is robust under power failure |
TWI471714B (zh) | 2003-05-07 | 2015-02-01 | 考文森智財管理公司 | 具有功率管理之系統及用於管理功率之方法 |
US20050038954A1 (en) | 2003-06-04 | 2005-02-17 | Quantum Corporation | Storage drive having universal format across media types |
US7051215B2 (en) | 2003-06-13 | 2006-05-23 | Intel Corporation | Power management for clustered computing platforms |
US7565454B2 (en) | 2003-07-18 | 2009-07-21 | Microsoft Corporation | State migration in multiple NIC RDMA enabled devices |
JP4371739B2 (ja) | 2003-09-02 | 2009-11-25 | 株式会社東芝 | シリアルataインタフェースを持つ電子機器及びシリアルataバスのパワーセーブ方法 |
US7173863B2 (en) | 2004-03-08 | 2007-02-06 | Sandisk Corporation | Flash controller cache architecture |
US7130957B2 (en) | 2004-02-10 | 2006-10-31 | Sun Microsystems, Inc. | Storage system structure for storing relational cache metadata |
US7676603B2 (en) | 2004-04-20 | 2010-03-09 | Intel Corporation | Write combining protocol between processors and chipsets |
JP4401895B2 (ja) | 2004-08-09 | 2010-01-20 | 株式会社日立製作所 | 計算機システム、計算機及びそのプログラム。 |
US7490239B2 (en) | 2005-01-07 | 2009-02-10 | First Data Corporation | Facilitating digital signature based on ephemeral private key |
DE102005032061B4 (de) | 2005-07-08 | 2009-07-30 | Qimonda Ag | Speichermodul, und Speichermodul-System |
US7480766B2 (en) | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7752382B2 (en) | 2005-09-09 | 2010-07-06 | Sandisk Il Ltd | Flash memory storage system and method |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US8260924B2 (en) | 2006-05-03 | 2012-09-04 | Bluetie, Inc. | User load balancing systems and methods thereof |
JP2007305210A (ja) | 2006-05-10 | 2007-11-22 | Toshiba Corp | 半導体記憶装置 |
EP2030115A4 (en) | 2006-05-31 | 2012-08-22 | Ibm | METHOD AND SYSTEM FOR TRANSFORMING LOGICAL DATA OBJECTS FOR STORAGE |
US7711890B2 (en) | 2006-06-06 | 2010-05-04 | Sandisk Il Ltd | Cache control in a non-volatile memory device |
US8132030B2 (en) | 2006-06-27 | 2012-03-06 | Koninklijke Philips Electronics N.V. | Device and a method for managing power consumption of a plurality of data processing units |
US20080065805A1 (en) | 2006-09-11 | 2008-03-13 | Cameo Communications, Inc. | PCI-Express multimode expansion card and communication device having the same |
JP2008077810A (ja) | 2006-09-25 | 2008-04-03 | Toshiba Corp | 不揮発性半導体記憶装置 |
US7761623B2 (en) | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
KR100858241B1 (ko) | 2006-10-25 | 2008-09-12 | 삼성전자주식회사 | 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법 |
US8344475B2 (en) | 2006-11-29 | 2013-01-01 | Rambus Inc. | Integrated circuit heating to effect in-situ annealing |
US7958433B1 (en) | 2006-11-30 | 2011-06-07 | Marvell International Ltd. | Methods and systems for storing data in memory using zoning |
US7852654B2 (en) | 2006-12-28 | 2010-12-14 | Hynix Semiconductor Inc. | Semiconductor memory device, and multi-chip package and method of operating the same |
US7599139B1 (en) | 2007-06-22 | 2009-10-06 | Western Digital Technologies, Inc. | Disk drive having a high performance access mode and a lower performance archive mode |
US7917574B2 (en) | 2007-10-01 | 2011-03-29 | Accenture Global Services Limited | Infrastructure for parallel programming of clusters of machines |
IL187041A0 (en) | 2007-10-30 | 2008-02-09 | Sandisk Il Ltd | Optimized hierarchical integrity protection for stored data |
US8281061B2 (en) | 2008-03-31 | 2012-10-02 | Micron Technology, Inc. | Data conditioning to improve flash memory reliability |
KR20110050404A (ko) | 2008-05-16 | 2011-05-13 | 퓨전-아이오, 인크. | 결함 있는 데이터 저장소를 검출하고 교체하는 장치, 시스템 및 프로그램 제품 |
KR101497074B1 (ko) | 2008-06-17 | 2015-03-05 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 |
US8954654B2 (en) | 2008-06-18 | 2015-02-10 | Super Talent Technology, Corp. | Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance |
US8959280B2 (en) | 2008-06-18 | 2015-02-17 | Super Talent Technology, Corp. | Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear |
US9123422B2 (en) | 2012-07-02 | 2015-09-01 | Super Talent Technology, Corp. | Endurance and retention flash controller with programmable binary-levels-per-cell bits identifying pages or blocks as having triple, multi, or single-level flash-memory cells |
US9547589B2 (en) | 2008-06-18 | 2017-01-17 | Super Talent Technology, Corp. | Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive |
JP2010152704A (ja) | 2008-12-25 | 2010-07-08 | Hitachi Ltd | 計算機システムの運用管理システム及び管理方法 |
WO2010076828A1 (en) | 2008-12-30 | 2010-07-08 | Emanuele Confalonieri | Non-volatile memory with extended operating temperature range |
WO2010093683A2 (en) | 2009-02-10 | 2010-08-19 | Uniloc Usa, Inc. | Web content access using a client device identifier |
US20100217952A1 (en) | 2009-02-26 | 2010-08-26 | Iyer Rahul N | Remapping of Data Addresses for a Large Capacity Victim Cache |
US8166233B2 (en) | 2009-07-24 | 2012-04-24 | Lsi Corporation | Garbage collection for solid state disks |
US8996812B2 (en) | 2009-06-19 | 2015-03-31 | International Business Machines Corporation | Write-back coherency data cache for resolving read/write conflicts |
US8918365B2 (en) | 2009-06-19 | 2014-12-23 | Blekko, Inc. | Dedicating disks to reading or writing |
US20100332922A1 (en) | 2009-06-30 | 2010-12-30 | Mediatek Inc. | Method for managing device and solid state disk drive utilizing the same |
US20110055471A1 (en) | 2009-08-28 | 2011-03-03 | Jonathan Thatcher | Apparatus, system, and method for improved data deduplication |
US8688894B2 (en) | 2009-09-03 | 2014-04-01 | Pioneer Chip Technology Ltd. | Page based management of flash storage |
US8214700B2 (en) | 2009-10-28 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
US8144512B2 (en) | 2009-12-18 | 2012-03-27 | Sandisk Technologies Inc. | Data transfer flows for on-chip folding |
WO2011087820A2 (en) | 2009-12-21 | 2011-07-21 | Sanmina-Sci Corporation | Method and apparatus for supporting storage modules in standard memory and/or hybrid memory bus architectures |
US8443263B2 (en) | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
KR20120137354A (ko) | 2010-01-28 | 2012-12-20 | 샌디스크 아이엘 엘티디 | 슬라이딩-윈도우 에러 정정 |
TWI409633B (zh) | 2010-02-04 | 2013-09-21 | Phison Electronics Corp | 快閃記憶體儲存裝置、其控制器與資料寫入方法 |
US8370297B2 (en) | 2010-03-08 | 2013-02-05 | International Business Machines Corporation | Approach for optimizing restores of deduplicated data |
JP2011198133A (ja) | 2010-03-19 | 2011-10-06 | Toshiba Corp | メモリシステムおよびコントローラ |
US8688897B2 (en) | 2010-05-28 | 2014-04-01 | International Business Machines Corporation | Cache memory management in a flash cache architecture |
JP4886877B2 (ja) | 2010-05-31 | 2012-02-29 | 株式会社東芝 | 記録媒体制御装置、及びその方法 |
US9401967B2 (en) | 2010-06-09 | 2016-07-26 | Brocade Communications Systems, Inc. | Inline wire speed deduplication system |
US8725934B2 (en) | 2011-12-22 | 2014-05-13 | Fusion-Io, Inc. | Methods and appratuses for atomic storage operations |
US8938624B2 (en) | 2010-09-15 | 2015-01-20 | Lsi Corporation | Encryption key destruction for secure data erasure |
US9244779B2 (en) | 2010-09-30 | 2016-01-26 | Commvault Systems, Inc. | Data recovery operations, such as recovery from modified network data management protocol data |
US20120089774A1 (en) | 2010-10-12 | 2012-04-12 | International Business Machines Corporation | Method and system for mitigating adjacent track erasure in hard disk drives |
US8429495B2 (en) | 2010-10-19 | 2013-04-23 | Mosaid Technologies Incorporated | Error detection and correction codes for channels and memories with incomplete error characteristics |
US8516284B2 (en) | 2010-11-04 | 2013-08-20 | International Business Machines Corporation | Saving power by placing inactive computing devices in optimized configuration corresponding to a specific constraint |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
US9176794B2 (en) | 2010-12-13 | 2015-11-03 | Advanced Micro Devices, Inc. | Graphics compute process scheduling |
US8793328B2 (en) | 2010-12-17 | 2014-07-29 | Facebook, Inc. | Distributed storage system |
US8826098B2 (en) | 2010-12-20 | 2014-09-02 | Lsi Corporation | Data signatures to determine successful completion of memory backup |
US8819328B2 (en) * | 2010-12-30 | 2014-08-26 | Sandisk Technologies Inc. | Controller and method for performing background operations |
US9612978B2 (en) | 2010-12-31 | 2017-04-04 | International Business Machines Corporation | Encrypted flash-based data storage system with confidentiality mode |
US9251087B2 (en) | 2011-02-11 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for virtual memory management |
US9141527B2 (en) | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
CN102693168B (zh) | 2011-03-22 | 2014-12-31 | 中兴通讯股份有限公司 | 一种数据备份恢复的方法、系统和服务节点 |
US8452819B1 (en) | 2011-03-22 | 2013-05-28 | Amazon Technologies, Inc. | Methods and apparatus for optimizing resource utilization in distributed storage systems |
KR101717081B1 (ko) | 2011-03-23 | 2017-03-28 | 삼성전자주식회사 | 비휘발성 램과 휘발성 램을 버퍼 메모리로 사용하는 저장 장치 |
US20180107591A1 (en) | 2011-04-06 | 2018-04-19 | P4tents1, LLC | System, method and computer program product for fetching data between an execution of a plurality of threads |
US8832402B2 (en) | 2011-04-29 | 2014-09-09 | Seagate Technology Llc | Self-initiated secure erasure responsive to an unauthorized power down event |
WO2012161659A1 (en) | 2011-05-24 | 2012-11-29 | Agency For Science, Technology And Research | A memory storage device, and a related zone-based block management and mapping method |
US9344494B2 (en) | 2011-08-30 | 2016-05-17 | Oracle International Corporation | Failover data replication with colocation of session state data |
US8904158B2 (en) | 2011-09-02 | 2014-12-02 | Lsi Corporation | Storage system with boot appliance for improving reliability/availability/serviceability in high density server environments |
KR20130031046A (ko) | 2011-09-20 | 2013-03-28 | 삼성전자주식회사 | 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법 |
US8843451B2 (en) | 2011-09-23 | 2014-09-23 | International Business Machines Corporation | Block level backup and restore |
KR20130064518A (ko) | 2011-12-08 | 2013-06-18 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
US9088300B1 (en) | 2011-12-15 | 2015-07-21 | Marvell International Ltd. | Cyclic redundancy check for out-of-order codewords |
US9213645B2 (en) | 2011-12-29 | 2015-12-15 | Sandisk Technologies Inc. | Command aware partial page programming |
US8904061B1 (en) | 2011-12-30 | 2014-12-02 | Emc Corporation | Managing storage operations in a server cache |
US9043545B2 (en) | 2012-01-06 | 2015-05-26 | Netapp, Inc. | Distributing capacity slices across storage system nodes |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US8880815B2 (en) | 2012-02-20 | 2014-11-04 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Low access time indirect memory accesses |
US9362003B2 (en) | 2012-03-09 | 2016-06-07 | Sandisk Technologies Inc. | System and method to decode data subject to a disturb condition |
US9336340B1 (en) | 2012-03-30 | 2016-05-10 | Emc Corporation | Evaluating management operations |
US9645917B2 (en) | 2012-05-22 | 2017-05-09 | Netapp, Inc. | Specializing I/O access patterns for flash storage |
US9092223B1 (en) | 2012-05-31 | 2015-07-28 | Google Inc. | Systems and methods to save power in data-center networks |
US9208820B2 (en) | 2012-06-29 | 2015-12-08 | International Business Machines Corporation | Optimized data placement for individual file accesses on deduplication-enabled sequential storage systems |
US20140019650A1 (en) | 2012-07-10 | 2014-01-16 | Zhi Bin Li | Multi-Write Bit-Fill FIFO |
US9009402B2 (en) | 2012-09-20 | 2015-04-14 | Emc Corporation | Content addressable storage in legacy systems |
US8756237B2 (en) | 2012-10-12 | 2014-06-17 | Architecture Technology Corporation | Scalable distributed processing of RDF data |
US9405621B2 (en) | 2012-12-28 | 2016-08-02 | Super Talent Technology, Corp. | Green eMMC device (GeD) controller with DRAM data persistence, data-type splitting, meta-page grouping, and diversion of temp files for enhanced flash endurance |
US9141554B1 (en) | 2013-01-18 | 2015-09-22 | Cisco Technology, Inc. | Methods and apparatus for data processing using data compression, linked lists and de-duplication techniques |
US9432755B2 (en) | 2013-02-15 | 2016-08-30 | Futurewei Technologies, Inc. | Downstream burst transmission in passive optical networks |
US8984171B2 (en) | 2013-03-01 | 2015-03-17 | Silicon Motion, Inc. | Data storage device and flash memory control method |
US8751763B1 (en) | 2013-03-13 | 2014-06-10 | Nimbus Data Systems, Inc. | Low-overhead deduplication within a block-based data storage |
US9280472B1 (en) | 2013-03-13 | 2016-03-08 | Western Digital Technologies, Inc. | Caching data in a high performance zone of a data storage system |
US9747202B1 (en) | 2013-03-14 | 2017-08-29 | Sandisk Technologies Llc | Storage module and method for identifying hot and cold data |
US9436595B1 (en) | 2013-03-15 | 2016-09-06 | Google Inc. | Use of application data and garbage-collected data to improve write efficiency of a data storage device |
KR102039537B1 (ko) | 2013-03-15 | 2019-11-01 | 삼성전자주식회사 | 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법 |
US9195673B2 (en) | 2013-03-15 | 2015-11-24 | International Business Machines Corporation | Scalable graph modeling of metadata for deduplicated storage systems |
US10073626B2 (en) | 2013-03-15 | 2018-09-11 | Virident Systems, Llc | Managing the write performance of an asymmetric memory system |
US20140304452A1 (en) | 2013-04-03 | 2014-10-09 | Violin Memory Inc. | Method for increasing storage media performance |
KR101478168B1 (ko) | 2013-04-17 | 2014-12-31 | 주식회사 디에이아이오 | 스토리지 시스템 및 스토리지 시스템의 쓰기 데이터 처리 방법 |
US9183103B2 (en) | 2013-05-31 | 2015-11-10 | Vmware, Inc. | Lightweight remote replication of a local write-back cache |
US9785545B2 (en) | 2013-07-15 | 2017-10-10 | Cnex Labs, Inc. | Method and apparatus for providing dual memory access to non-volatile memory |
CN105453044B (zh) | 2013-09-19 | 2020-06-12 | 英特尔公司 | 用于分布式处理任务部分指配的技术 |
WO2015047266A1 (en) | 2013-09-26 | 2015-04-02 | Intel Corporation | Block storage apertures to persistent memory |
US9405467B2 (en) | 2013-10-25 | 2016-08-02 | Seagate Technology Llc | Adaptive guard band for improved data storage capacity |
US9251154B2 (en) | 2013-11-15 | 2016-02-02 | International Business Machines Corporation | Priority based reliability mechanism for archived data |
US9619155B2 (en) | 2014-02-07 | 2017-04-11 | Coho Data Inc. | Methods, systems and devices relating to data storage interfaces for managing data address spaces in data storage devices |
US9542404B2 (en) | 2014-02-17 | 2017-01-10 | Netapp, Inc. | Subpartitioning of a namespace region |
US20150301964A1 (en) | 2014-02-18 | 2015-10-22 | Alistair Mark Brinicombe | Methods and systems of multi-memory, control and data plane architecture |
US9263088B2 (en) | 2014-03-21 | 2016-02-16 | Western Digital Technologies, Inc. | Data management for a data storage device using a last resort zone |
US9880859B2 (en) | 2014-03-26 | 2018-01-30 | Intel Corporation | Boot image discovery and delivery |
US9383926B2 (en) | 2014-05-27 | 2016-07-05 | Kabushiki Kaisha Toshiba | Host-controlled garbage collection |
US9015561B1 (en) | 2014-06-11 | 2015-04-21 | Sandisk Technologies Inc. | Adaptive redundancy in three dimensional memory |
GB2527296A (en) | 2014-06-16 | 2015-12-23 | Ibm | A method for restoring data in a HSM system |
US9240722B2 (en) | 2014-06-19 | 2016-01-19 | Dell Products Lp | Methods and systems for improving light load efficiency for power stages of multi-phase voltage regulator circuits |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US10044795B2 (en) | 2014-07-11 | 2018-08-07 | Vmware Inc. | Methods and apparatus for rack deployments for virtual computing environments |
US9542327B2 (en) | 2014-07-22 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Selective mirroring in caches for logical volumes |
US20160041760A1 (en) | 2014-08-08 | 2016-02-11 | International Business Machines Corporation | Multi-Level Cell Flash Memory Control Mechanisms |
US10430328B2 (en) | 2014-09-16 | 2019-10-01 | Sandisk Technologies Llc | Non-volatile cache and non-volatile storage medium using single bit and multi bit flash memory cells or different programming parameters |
US9588977B1 (en) | 2014-09-30 | 2017-03-07 | EMC IP Holding Company LLC | Data and metadata structures for use in tiering data to cloud storage |
US9626286B2 (en) | 2014-10-03 | 2017-04-18 | Sandisk Technologies Llc | Hardware and firmware paths for performing memory read processes |
US10127157B2 (en) | 2014-10-06 | 2018-11-13 | SK Hynix Inc. | Sizing a cache while taking into account a total bytes written requirement |
US9710330B2 (en) | 2014-10-15 | 2017-07-18 | Empire Technology Development Llc | Partial cloud data storage |
US9129628B1 (en) | 2014-10-23 | 2015-09-08 | Western Digital Technologies, Inc. | Data management for data storage device with different track density regions |
CN105701028B (zh) | 2014-11-28 | 2018-10-09 | 国际商业机器公司 | 分布式存储系统中的磁盘管理方法和设备 |
US9852076B1 (en) | 2014-12-18 | 2017-12-26 | Violin Systems Llc | Caching of metadata for deduplicated LUNs |
US10013169B2 (en) | 2014-12-19 | 2018-07-03 | International Business Machines Corporation | Cooperative data deduplication in a solid state storage array |
US20160179399A1 (en) | 2014-12-23 | 2016-06-23 | Sandisk Technologies Inc. | System and Method for Selecting Blocks for Garbage Collection Based on Block Health |
US9569118B2 (en) | 2014-12-30 | 2017-02-14 | International Business Machines Corporation | Promoting consistent response times in a data storage system having multiple data retrieval mechanisms |
US10282211B2 (en) | 2015-01-09 | 2019-05-07 | Avago Technologies International Sales Pte. Limited | Operating system software install and boot up from a storage area network device |
US10234930B2 (en) | 2015-02-13 | 2019-03-19 | Intel Corporation | Performing power management in a multicore processor |
US9734051B2 (en) | 2015-02-16 | 2017-08-15 | Quantum Corporation | Garbage collection and defragmentation for solid state drives (SSD) and shingled magnetic recording (SMR) drives |
US9916275B2 (en) * | 2015-03-09 | 2018-03-13 | International Business Machines Corporation | Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system |
KR101927233B1 (ko) | 2015-03-16 | 2018-12-12 | 한국전자통신연구원 | 이기종 멀티-코어 시스템의 gpu 전력 측정 방법 |
US9911487B2 (en) | 2015-05-19 | 2018-03-06 | EMC IP Holding Company LLC | Method and system for storing and recovering data from flash memory |
US9639282B2 (en) | 2015-05-20 | 2017-05-02 | Sandisk Technologies Llc | Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices |
US10102173B2 (en) * | 2015-05-21 | 2018-10-16 | Qualcomm Innovation Center, Inc. | Pending load based frequency scaling |
WO2016191620A1 (en) | 2015-05-26 | 2016-12-01 | Gluent Inc. | System and method for transparent context aware filtering of data requests |
US20160350002A1 (en) | 2015-05-29 | 2016-12-01 | Intel Corporation | Memory device specific self refresh entry and exit |
US9875053B2 (en) * | 2015-06-05 | 2018-01-23 | Western Digital Technologies, Inc. | Scheduling scheme(s) for a multi-die storage device |
US9696931B2 (en) | 2015-06-12 | 2017-07-04 | International Business Machines Corporation | Region-based storage for volume data and metadata |
US9588571B2 (en) | 2015-07-08 | 2017-03-07 | Quanta Computer Inc. | Dynamic power supply management |
US10324832B2 (en) | 2016-05-25 | 2019-06-18 | Samsung Electronics Co., Ltd. | Address based multi-stream storage device access |
US10656838B2 (en) | 2015-07-13 | 2020-05-19 | Samsung Electronics Co., Ltd. | Automatic stream detection and assignment algorithm |
US9529601B1 (en) | 2015-07-15 | 2016-12-27 | Dell Products L.P. | Multi-processor startup system |
WO2017039702A1 (en) | 2015-09-04 | 2017-03-09 | Hewlett Packard Enterprise Development Lp | Secure login information |
US9952769B2 (en) | 2015-09-14 | 2018-04-24 | Microsoft Technology Licensing, Llc. | Data storage system with data storage devices operative to manage storage device functions specific to a particular data storage device |
CN105278876B (zh) | 2015-09-23 | 2018-12-14 | 华为技术有限公司 | 一种固态硬盘的数据擦除方法及装置 |
US10120811B2 (en) | 2015-09-29 | 2018-11-06 | International Business Machines Corporation | Considering a frequency of access to groups of tracks and density of the groups to select groups of tracks to destage |
US10031774B2 (en) | 2015-10-15 | 2018-07-24 | Red Hat, Inc. | Scheduling multi-phase computing jobs |
KR20170045806A (ko) | 2015-10-20 | 2017-04-28 | 삼성전자주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
US20170147499A1 (en) | 2015-11-25 | 2017-05-25 | Sandisk Technologies Llc | Multi-Level Logical to Physical Address Mapping Using Distributed Processors in Non-Volatile Storage Device |
US20170162235A1 (en) | 2015-12-02 | 2017-06-08 | Qualcomm Incorporated | System and method for memory management using dynamic partial channel interleaving |
US20170161202A1 (en) | 2015-12-02 | 2017-06-08 | Samsung Electronics Co., Ltd. | Flash memory device including address mapping for deduplication, and related methods |
US9965441B2 (en) | 2015-12-10 | 2018-05-08 | Cisco Technology, Inc. | Adaptive coalescing of remote direct memory access acknowledgements based on I/O characteristics |
US20170177259A1 (en) | 2015-12-18 | 2017-06-22 | Intel Corporation | Techniques to Use Open Bit Line Information for a Memory System |
US10649681B2 (en) | 2016-01-25 | 2020-05-12 | Samsung Electronics Co., Ltd. | Dynamic garbage collection P/E policies for redundant storage blocks and distributed software stacks |
CN107037976B (zh) | 2016-02-03 | 2020-03-20 | 株式会社东芝 | 存储装置及其工作方法 |
US10235198B2 (en) | 2016-02-24 | 2019-03-19 | Samsung Electronics Co., Ltd. | VM-aware FTL design for SR-IOV NVME SSD |
US20170249162A1 (en) | 2016-02-25 | 2017-08-31 | Red Hat Israel, Ltd. | Safe transmit packet processing for network function virtualization applications |
JP6448570B2 (ja) | 2016-03-08 | 2019-01-09 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
US10101939B2 (en) | 2016-03-09 | 2018-10-16 | Toshiba Memory Corporation | Storage system having a host that manages physical data locations of a storage device |
US10452490B2 (en) | 2016-03-09 | 2019-10-22 | Commvault Systems, Inc. | Data management and backup of distributed storage environment |
US20170286311A1 (en) | 2016-04-01 | 2017-10-05 | Dale J. Juenemann | Repetitive address indirection in a memory |
US10585809B2 (en) | 2016-04-01 | 2020-03-10 | Intel Corporation | Convolutional memory integrity |
US10866905B2 (en) | 2016-05-25 | 2020-12-15 | Samsung Electronics Co., Ltd. | Access parameter based multi-stream storage device access |
US10389839B2 (en) | 2016-06-01 | 2019-08-20 | Intel Corporation | Method and apparatus for generating data prefetches specifying various sizes to prefetch data from a remote computing node |
US10514862B2 (en) | 2016-07-21 | 2019-12-24 | Micron Technology, Inc. | Memory device including concurrent suspend states for different operations |
US10684795B2 (en) | 2016-07-25 | 2020-06-16 | Toshiba Memory Corporation | Storage device and storage control method |
US10283215B2 (en) | 2016-07-28 | 2019-05-07 | Ip Gem Group, Llc | Nonvolatile memory system with background reference positioning and local reference positioning |
JP6274589B1 (ja) | 2016-09-28 | 2018-02-07 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置および連続読出し方法 |
US11644992B2 (en) | 2016-11-23 | 2023-05-09 | Samsung Electronics Co., Ltd. | Storage system performing data deduplication, method of operating storage system, and method of operating data processing system |
US10374885B2 (en) | 2016-12-13 | 2019-08-06 | Amazon Technologies, Inc. | Reconfigurable server including a reconfigurable adapter device |
US10496544B2 (en) | 2016-12-29 | 2019-12-03 | Intel Corporation | Aggregated write back in a direct mapped two level memory |
US10740042B2 (en) * | 2016-12-30 | 2020-08-11 | Western Digital Technologies, Inc. | Scheduling access commands for data storage devices |
US10516760B2 (en) | 2017-03-17 | 2019-12-24 | Verizon Patent And Licensing Inc. | Automatic bootstrapping and dynamic configuration of data center nodes |
US10275170B2 (en) | 2017-04-10 | 2019-04-30 | Sandisk Technologies Llc | Folding operations in memory systems with single address updates |
US10613944B2 (en) | 2017-04-18 | 2020-04-07 | Netapp, Inc. | Systems and methods for backup and restore of distributed master-slave database clusters |
TWI625620B (zh) | 2017-05-12 | 2018-06-01 | 威盛電子股份有限公司 | 非揮發性記憶體裝置及其讀取方法 |
US10474397B2 (en) | 2017-06-13 | 2019-11-12 | Western Digital Technologies, Inc | Unified indirection in a multi-device hybrid storage unit |
US10521375B2 (en) * | 2017-06-22 | 2019-12-31 | Macronix International Co., Ltd. | Controller for a memory system |
US10275162B2 (en) | 2017-06-23 | 2019-04-30 | Dell Products L.P. | Methods and systems for managing data migration in solid state non-volatile memory |
US10838902B2 (en) | 2017-06-23 | 2020-11-17 | Facebook, Inc. | Apparatus, system, and method for performing hardware acceleration via expansion cards |
US10564856B2 (en) | 2017-07-06 | 2020-02-18 | Alibaba Group Holding Limited | Method and system for mitigating write amplification in a phase change memory-based storage device |
TWI631570B (zh) | 2017-09-04 | 2018-08-01 | 威盛電子股份有限公司 | 錯誤檢查糾正解碼方法與裝置 |
US10642522B2 (en) | 2017-09-15 | 2020-05-05 | Alibaba Group Holding Limited | Method and system for in-line deduplication in a storage drive based on a non-collision hash |
US10956279B2 (en) | 2017-12-04 | 2021-03-23 | International Business Machines Corporation | Managing big data on document based NoSQL databases |
US10229735B1 (en) | 2017-12-22 | 2019-03-12 | Intel Corporation | Block management for dynamic single-level cell buffers in storage devices |
US10606693B2 (en) | 2017-12-28 | 2020-03-31 | Micron Technology, Inc. | Memory controller implemented error correction code memory |
CN110058794B (zh) | 2018-01-19 | 2022-11-01 | 上海宝存信息科技有限公司 | 用于动态执行垃圾回收数据储存装置与操作方法 |
US10199066B1 (en) | 2018-03-01 | 2019-02-05 | Seagate Technology Llc | Write management of physically coupled storage areas |
US10585819B2 (en) | 2018-03-05 | 2020-03-10 | Samsung Electronics Co., Ltd. | SSD architecture for FPGA based acceleration |
US10649657B2 (en) | 2018-03-22 | 2020-05-12 | Western Digital Technologies, Inc. | Log-based storage for different data types in non-volatile memory |
US11036525B2 (en) | 2018-05-04 | 2021-06-15 | Citrix Systems, Inc. | Computer system providing hierarchical display remoting optimized with user and system hints and related methods |
US10437670B1 (en) | 2018-05-24 | 2019-10-08 | International Business Machines Corporation | Metadata hardening and parity accumulation for log-structured arrays |
KR102717097B1 (ko) | 2018-06-07 | 2024-10-15 | 삼성전자주식회사 | 메모리 장치의 비트 에러율 균등화 방법 |
US11599557B2 (en) | 2018-06-12 | 2023-03-07 | Open Text Corporation | System and method for persistence and replication of changes to a data store |
US10921992B2 (en) | 2018-06-25 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency |
US10776263B2 (en) * | 2018-06-27 | 2020-09-15 | Seagate Technology Llc | Non-deterministic window scheduling for data storage systems |
US11150836B2 (en) * | 2018-06-28 | 2021-10-19 | Seagate Technology Llc | Deterministic optimization via performance tracking in a data storage system |
US11086529B2 (en) | 2018-09-26 | 2021-08-10 | Western Digital Technologies, Inc. | Data storage systems and methods for improved data relocation based on read-level voltages associated with error recovery |
CN109388351A (zh) * | 2018-12-18 | 2019-02-26 | 平安科技(深圳)有限公司 | 一种分布式数据存储的方法及相关装置 |
-
2019
- 2019-04-16 US US16/385,955 patent/US10908960B2/en active Active
-
2020
- 2020-04-07 CN CN202080012819.3A patent/CN113396566B/zh active Active
- 2020-04-07 WO PCT/CN2020/083447 patent/WO2020211679A1/en active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754897B1 (en) * | 1999-11-12 | 2004-06-22 | Emc Corporation | Operation prioritization and selection in a probability-based job scheduler |
CN103095804A (zh) * | 2011-12-13 | 2013-05-08 | 微软公司 | 集群存储系统中的负载平衡 |
CN102546782A (zh) * | 2011-12-28 | 2012-07-04 | 北京奇虎科技有限公司 | 一种分布式系统及其数据操作方法 |
US20130227180A1 (en) * | 2012-02-24 | 2013-08-29 | Pradeep Bisht | Method for input/output load balancing using varied performing storage devices |
CN102647362A (zh) * | 2012-04-27 | 2012-08-22 | 浪潮电子信息产业股份有限公司 | 一种多控制器存储系统负载均衡的方法 |
CN103984619A (zh) * | 2014-06-06 | 2014-08-13 | 山东超越数控电子有限公司 | 一种网络存储系统性能监测方法 |
CN104320495A (zh) * | 2014-11-13 | 2015-01-28 | 许继电气股份有限公司 | 一种用电信息采集系统的海量数据存储方法及系统 |
CN105242881A (zh) * | 2015-10-12 | 2016-01-13 | 创新科软件技术(深圳)有限公司 | 分布式存储系统及其数据读写方法 |
US20170177217A1 (en) * | 2015-12-22 | 2017-06-22 | Kabushiki Kaisha Toshiba | Memory system and method for controlling nonvolatile memory |
US20170286011A1 (en) * | 2016-04-05 | 2017-10-05 | International Business Machines Corporation | Monitoring storage systems |
CN108900626A (zh) * | 2018-07-18 | 2018-11-27 | 中国联合网络通信集团有限公司 | 一种云环境下数据存储方法、装置及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553899A (zh) * | 2022-01-30 | 2022-05-27 | 阿里巴巴(中国)有限公司 | 一种存储设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2020211679A1 (en) | 2020-10-22 |
US10908960B2 (en) | 2021-02-02 |
CN113396566B (zh) | 2024-06-18 |
US20200334085A1 (en) | 2020-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113396566B (zh) | 分布式存储系统中基于全面i/o监测的资源分配 | |
US10055161B1 (en) | Data reduction techniques in a flash-based key/value cluster storage | |
US11899952B2 (en) | Lossless namespace metadata management system | |
CN110658990A (zh) | 具有改善的准备时间的数据存储系统 | |
US11372564B2 (en) | Apparatus and method for dynamically allocating data paths in response to resource usage in data processing system | |
CN108806750B (zh) | 存储装置、存储管理器和用于多流传输的方法 | |
JP2020123041A (ja) | メモリシステムおよび制御方法 | |
CN110134338B (zh) | 一种分布式存储系统及其数据冗余保护方法和相关设备 | |
US12135895B2 (en) | Hot data management in a data storage system | |
CN114780018A (zh) | 用于促进多流顺序读取性能改进并减少阅读放大的方法和系统 | |
US20190347165A1 (en) | Apparatus and method for recovering distributed file system | |
US11822426B2 (en) | Memory system, data processing system and operation method of the same | |
US11169873B2 (en) | Method and system for extending lifespan and enhancing throughput in a high-density solid state drive | |
US11829270B2 (en) | Semiconductor die failure recovery in a data storage device | |
US9753803B2 (en) | Storage system and information processing apparatus | |
WO2022252063A1 (zh) | 数据存取方法、存储控制器和存储设备 | |
US11385998B2 (en) | Memory system, data processing system and operation method of the same | |
US11500720B2 (en) | Apparatus and method for controlling input/output throughput of a memory system | |
CN115981559A (zh) | 分布式数据存储方法、装置、电子设备和可读介质 | |
US10970212B2 (en) | Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones | |
JP2002157091A (ja) | ストレージサブシステム及びそのシステムに使用する記憶装置 | |
US20230153023A1 (en) | Storage device and method performing processing operation requested by host | |
CN118502683B (zh) | 一种存储芯片的任务处理方法及系统 | |
US11797183B1 (en) | Host assisted application grouping for efficient utilization of device resources | |
US11922035B2 (en) | Read-disturb-based read temperature adjustment system |
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 |