CN113396566B - 分布式存储***中基于全面i/o监测的资源分配 - Google Patents

分布式存储***中基于全面i/o监测的资源分配 Download PDF

Info

Publication number
CN113396566B
CN113396566B CN202080012819.3A CN202080012819A CN113396566B CN 113396566 B CN113396566 B CN 113396566B CN 202080012819 A CN202080012819 A CN 202080012819A CN 113396566 B CN113396566 B CN 113396566B
Authority
CN
China
Prior art keywords
storage
storage device
pending
operations
loads
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202080012819.3A
Other languages
English (en)
Other versions
CN113396566A (zh
Inventor
邱胜
刘飞
李舒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of CN113396566A publication Critical patent/CN113396566A/zh
Application granted granted Critical
Publication of CN113396566B publication Critical patent/CN113396566B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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/3433Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1012Load 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

分布式存储***中基于全面I/O监测的资源分配
技术领域
本公开总体上涉及存储管理领域。更具体地,本公开涉及用于在分布式存储***中基于全面输入/输出(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)和现在已知或以后开发的其它可编程逻辑器件。当硬件模块被激活时,硬件模块执行包括在硬件模块内的方法和处理。
仅出于说明和描述的目的而呈现本文中所描述的前述实施方式。它们不旨在是穷尽的或将本文描述的实施方式限制为所公开的形式。因此,许多修改和变化对于本领域技术人员来说是明显的。此外,上述公开内容并非旨在限制本文所述的实施方式。
相关申请的引用
本公开要求于2019年4月16日提交的名称为“Resource Allocation Based OnComprehensive I/O Monitoring In a Distributed Storage System”的申请号为16385955的美国申请的优先权,其全部内容通过引用结合到本文。

Claims (19)

1.一种存储管理方法,所述存储管理方法包括以下步骤:
在分布式存储***中的计算设备的存储装置的内部通道处监测主机操作和后台操作两者,其中,相应内部通道联接到所述存储装置的存储晶片;
基于所述内部通道的所述监测,确定所述存储装置上的未决负载集,其中,所述未决负载集包括:在所述存储装置的所述内部通道上测得的来自所述主机操作的负载集和来自所述后台操作的负载集;并且
向所述分布式存储***中的控制器节点发送指示未决负载集的信息以在所述分布式存储***中分配到来的请求,
其中,所述未决负载集指示所述存储装置上的与所述主机操作和所述后台操作相关联的未决读和写操作的输入/输出I/O字节。
2.根据权利要求1所述的存储管理方法,其中,所述存储装置包括经由内部通道彼此联接的多个存储晶片,并且
其中,确定所述存储装置上的未决负载集的步骤还包括确定所述多个存储晶片中的各个存储晶片上的来自主机操作和后台操作的负载集。
3.根据权利要求1所述的存储管理方法,其中,所述后台操作包括所述分布式存储***中的垃圾收集操作、数据同步和数据健康检查中的一项或更多项。
4.根据权利要求1所述的存储管理方法,其中,所述方法还包括:
确定在所述计算设备的第二存储装置的内部通道测得的所述第二存储装置上的第二未决负载集;以及
发送指示所述第二未决负载集的信息以基于所述未决负载集和所述第二未决负载集来在所述存储装置和所述第二存储装置之间分配到来的请求。
5.根据权利要求1所述的存储管理方法,其中,所述存储装置是开放通道固态驱动器SSD,并且其中,监测所述存储装置的步骤还包括监测由所述存储装置的装置驱动器管理的所述主机操作和所述后台操作。
6.一种存储管理方法,所述存储管理方法包括以下步骤:
从分布式存储***的一个或更多个存储节点接收指示多个存储装置的未决负载集的信息,其中,各个存储装置的未决负载集包括:在该存储装置的内部通道上测得的来自主机操作的负载集和来自后台操作的负载集,其中,相应内部通道联接到所述存储装置的存储晶片;
从所述分布式存储***的客户端节点接收对与盘操作相关联的目标资源的请求;
从所述多个存储装置中选择具有所述未决负载集中的最小未决负载集的存储装置作为所述目标资源;以及
向所述客户端节点发送所述目标资源,
其中,所述未决负载集指示所述存储装置上的与所述主机操作和所述后台操作相关联的未决读和写操作的输入/输出I/O字节。
7.根据权利要求6所述的存储管理方法,其中,选择所述存储装置的步骤还包括:
确定所述存储装置和第二存储装置具有最小未决负载集;
比较所述存储装置和所述第二存储装置的存储晶片上的相应未决负载集;以及
响应于在所述比较中检测到平局,随机选择存储装置作为所述目标资源。
8.根据权利要求6所述的存储管理方法,其中,所述后台操作包括所述分布式存储***中的垃圾收集操作、数据同步和数据健康检查中的一项或更多项。
9.根据权利要求6所述的存储管理方法,其中,所述盘操作是对数据段的读操作,并且其中,所述目标资源指示来自所述数据段的一组副本的至少一个副本在所述分布式存储***中的源位置。
10.根据权利要求6所述的存储管理方法,其中,所述盘操作是对数据段的写操作,并且其中,所述目标资源指示所述数据段的一组副本在所述分布式存储***中的目的地位置。
11.根据权利要求6所述的存储管理方法,其中,所述方法还包括根据所接收的信息来层级地确定所述分布式存储***的实体上的未决负载集。
12.根据权利要求6所述的存储管理方法,其中,所述多个存储装置中的各个存储装置包括经由内部通道彼此联接的多个存储晶片,并且
其中,所述多个存储装置的所述未决负载集包括所述多个存储晶片中的各个存储晶片上的来自主机操作和后台操作的负载集。
13.一种计算机***,所述计算机***包括:
处理器;以及
存储器,所述存储器联接到所述处理器并存储指令,所述指令在由所述处理器执行时使所述处理器执行一种方法,所述方法包括:
从分布式存储***的一个或更多个存储节点接收指示多个存储装置的未决负载集的信息,其中,各个存储装置的未决负载集包括:在该存储装置的内部通道上测得的来自主机操作的负载集和来自后台操作的负载集,其中,相应内部通道联接到所述存储装置的存储晶片;
从所述分布式存储***的客户端节点接收对与盘操作相关联的目标资源的请求;
从所述多个存储装置中选择具有所述未决负载集中的最小未决负载集的存储装置作为所述目标资源;以及
向所述客户端节点发送所述目标资源,
其中,所述未决负载集指示所述存储装置上的与所述主机操作和所述后台操作相关联的未决读和写操作的输入/输出I/O字节。
14.根据权利要求13所述的计算机***,其中,选择所述存储装置的步骤还包括:
确定所述存储装置和第二存储装置具有最小未决负载集;
比较所述存储装置和所述第二存储装置的存储晶片上的相应未决负载集;以及
响应于在所述比较中检测到平局,随机选择存储装置作为所述目标资源。
15.根据权利要求13所述的计算机***,其中,所述后台操作包括所述分布式存储***中的垃圾收集操作、数据同步和数据健康检查中的一项或更多项。
16.根据权利要求13所述的计算机***,其中,所述盘操作是对数据段的读操作,并且其中,所述目标资源指示来自所述数据段的一组副本的至少一个副本在所述分布式存储***中的源位置。
17.根据权利要求13所述的计算机***,其中,所述盘操作是对数据段的写操作,并且其中,所述目标资源指示所述数据段的一组副本在所述分布式存储***中的目的地位置。
18.根据权利要求13所述的计算机***,其中,所述方法还包括根据所接收的信息来层级地确定所述分布式存储***的实体上的未决负载集。
19.根据权利要求13所述的计算机***,其中,所述多个存储装置中的各个存储装置包括经由内部通道彼此联接的多个存储晶片,并且
其中,所述多个存储装置的所述未决负载集包括所述多个存储晶片中的各个存储晶片上的来自主机操作和后台操作的负载集。
CN202080012819.3A 2019-04-16 2020-04-07 分布式存储***中基于全面i/o监测的资源分配 Active CN113396566B (zh)

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 CN113396566A (zh) 2021-09-14
CN113396566B true 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)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
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
US12014210B2 (en) 2021-07-27 2024-06-18 Bank Of America Corporation Dynamic resource allocation in a distributed system
US12026554B2 (en) 2021-07-27 2024-07-02 Bank Of America Corporation Query-response system for identifying application priority
CN114553899A (zh) * 2022-01-30 2022-05-27 阿里巴巴(中国)有限公司 一种存储设备
CN116483290B (zh) * 2023-06-26 2024-02-09 深圳市亲邻科技有限公司 一种数据存储装置的远程监控***及其方法

Citations (2)

* Cited by examiner, † Cited by third party
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
CN104320495A (zh) * 2014-11-13 2015-01-28 许继电气股份有限公司 一种用电信息采集***的海量数据存储方法及***

Family Cites Families (251)

* Cited by examiner, † Cited by third party
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.
EP0681721B1 (en) 1993-02-01 2005-03-23 Sun Microsystems, 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
US20020010783A1 (en) 1999-12-06 2002-01-24 Leonard Primak 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
WO2002052381A2 (en) 2000-12-22 2002-07-04 Warp Solutions, Inc. System and method for intelligently distributing content over a communications network
KR100856399B1 (ko) 2002-01-23 2008-09-04 삼성전자주식회사 디코딩 방법 및 그 장치
US20030163633A1 (en) 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for achieving uniform wear levels in a flash memory device
US7533214B2 (en) 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
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
EP3321769A1 (en) 2003-05-07 2018-05-16 Conversant Intellectual Property Management Inc. Managing power on integrated circuits using power islands
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 半導体記憶装置
US9176975B2 (en) 2006-05-31 2015-11-03 International Business Machines Corporation Method and system for transformation of logical data objects for storage
US7711890B2 (en) 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
EP2038729A2 (en) 2006-06-27 2009-03-25 Koninklijke Philips Electronics N.V. A 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
US8195978B2 (en) 2008-05-16 2012-06-05 Fusion-IO. Inc. Apparatus, system, and method for detecting and replacing failed data storage
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
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
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
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
JP2010152704A (ja) 2008-12-25 2010-07-08 Hitachi Ltd 計算機システムの運用管理システム及び管理方法
CN101889313B (zh) 2008-12-30 2014-12-03 E·孔法洛涅里 具有扩展工作温度范围的非易失性存储器
EP2396742A2 (en) 2009-02-10 2011-12-21 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
US9390035B2 (en) 2009-12-21 2016-07-12 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
US8631304B2 (en) 2010-01-28 2014-01-14 Sandisk Il Ltd. Overlapping error correction operations
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
WO2012109679A2 (en) 2011-02-11 2012-08-16 Fusion-Io, Inc. Apparatus, system, and method for application direct virtual memory management
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
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 삼성전자주식회사 저장 장치 및 그것의 동작 방법
US8886781B2 (en) * 2011-12-13 2014-11-11 Microsoft Corporation Load balancing in cluster storage systems
US9088300B1 (en) 2011-12-15 2015-07-21 Marvell International Ltd. Cyclic redundancy check for out-of-order codewords
CN102546782B (zh) * 2011-12-28 2015-04-29 北京奇虎科技有限公司 一种分布式***及其数据操作方法
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
US20130227180A1 (en) * 2012-02-24 2013-08-29 Pradeep Bisht Method for input/output load balancing using varied performing storage devices
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
CN102647362B (zh) * 2012-04-27 2016-12-21 浪潮电子信息产业股份有限公司 一种多控制器存储***负载均衡的方法
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
US9280472B1 (en) 2013-03-13 2016-03-08 Western Digital Technologies, Inc. Caching data in a high performance zone of a data storage system
US8751763B1 (en) 2013-03-13 2014-06-10 Nimbus Data Systems, Inc. Low-overhead deduplication within a block-based data storage
US9747202B1 (en) 2013-03-14 2017-08-29 Sandisk Technologies Llc Storage module and method for identifying hot and cold data
US10073626B2 (en) 2013-03-15 2018-09-11 Virident Systems, Llc Managing the write performance of an asymmetric memory system
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
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
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 英特尔公司 用于分布式处理任务部分指配的技术
US20160232103A1 (en) 2013-09-26 2016-08-11 Mark A. Schmisseur 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
CN103984619A (zh) * 2014-06-06 2014-08-13 山东超越数控电子有限公司 一种网络存储***性能监测方法
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
US10656838B2 (en) 2015-07-13 2020-05-19 Samsung Electronics Co., Ltd. Automatic stream detection and assignment algorithm
US10324832B2 (en) 2016-05-25 2019-06-18 Samsung Electronics Co., Ltd. Address based multi-stream storage device access
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
CN105242881B (zh) * 2015-10-12 2018-02-16 创新科软件技术(深圳)有限公司 分布式存储***及其数据读写方法
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
JP6517684B2 (ja) * 2015-12-22 2019-05-22 東芝メモリ株式会社 メモリシステムおよび制御方法
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
US10585809B2 (en) 2016-04-01 2020-03-10 Intel Corporation Convolutional memory integrity
US20170286311A1 (en) 2016-04-01 2017-10-05 Dale J. Juenemann Repetitive address indirection in a memory
US10082983B2 (en) * 2016-04-05 2018-09-25 International Business Machines Corporation Monitoring storage systems
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
CA3097526A1 (en) 2018-05-04 2019-11-07 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
KR20190139082A (ko) 2018-06-07 2019-12-17 삼성전자주식회사 메모리 장치의 비트 에러율 균등화 방법
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
CN108900626B (zh) * 2018-07-18 2021-11-19 中国联合网络通信集团有限公司 一种云环境下数据存储方法、装置及***
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 平安科技(深圳)有限公司 一种分布式数据存储的方法及相关装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
CN104320495A (zh) * 2014-11-13 2015-01-28 许继电气股份有限公司 一种用电信息采集***的海量数据存储方法及***

Also Published As

Publication number Publication date
US20200334085A1 (en) 2020-10-22
US10908960B2 (en) 2021-02-02
WO2020211679A1 (en) 2020-10-22
CN113396566A (zh) 2021-09-14

Similar Documents

Publication Publication Date Title
CN113396566B (zh) 分布式存储***中基于全面i/o监测的资源分配
TWI700586B (zh) 計算機系統及儲存裝置之控制方法
KR101876001B1 (ko) 장치 내의 전력 관리를 위한 자원 할당 및 할당해제
JP7159069B2 (ja) メモリシステムおよび制御方法
US8417871B1 (en) System for increasing storage media performance
JP6496626B2 (ja) 異種統合メモリ部及びその拡張統合メモリスペース管理方法
US20140304452A1 (en) Method for increasing storage media performance
US11372564B2 (en) Apparatus and method for dynamically allocating data paths in response to resource usage in data processing system
CN111742291A (zh) 具有用户空间闪存转换层的用户空间存储i/o栈的方法和***
JP6222227B2 (ja) ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム
CN108806750B (zh) 存储装置、存储管理器和用于多流传输的方法
CN110134338B (zh) 一种分布式存储***及其数据冗余保护方法和相关设备
CN114372007A (zh) 存储器***及控制非易失性存储器的控制方法
US20230032639A1 (en) Hot data management in a data storage system
JP2020123038A (ja) メモリシステムおよび制御方法
CN110858162A (zh) 内存管理方法及装置、服务器
US11307768B2 (en) Namespace auto-routing data storage system
JP2020123040A (ja) メモリシステムおよび制御方法
US20210173776A1 (en) System and method for facilitating data storage with low-latency input/output and persistent data
US9753803B2 (en) Storage system and information processing apparatus
CN110119245B (zh) 用于操作nand闪存物理空间以扩展存储器容量的方法和***
WO2022252063A1 (zh) 数据存取方法、存储控制器和存储设备
US11385998B2 (en) Memory system, data processing system and operation method of the same
JP2002157091A (ja) ストレージサブシステム及びそのシステムに使用する記憶装置
EP4180939A1 (en) Storage device and method performing processing operation requested by host

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