CN110737393A - 数据读取方法、设备和计算机程序产品 - Google Patents
数据读取方法、设备和计算机程序产品 Download PDFInfo
- Publication number
- CN110737393A CN110737393A CN201810801912.7A CN201810801912A CN110737393A CN 110737393 A CN110737393 A CN 110737393A CN 201810801912 A CN201810801912 A CN 201810801912A CN 110737393 A CN110737393 A CN 110737393A
- Authority
- CN
- China
- Prior art keywords
- storage device
- reliability
- determining
- target
- threshold
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本公开的实施例提供了数据读取方法、设备和计算机程序产品。该方法包括响应于接收到针对目标数据的读请求,确定所述目标数据被存储在第一存储设备和第二存储设备两者中。该方法还包括确定第一存储设备和第二存储设备中的每个存储设备的可靠性和访问负载中的至少一项。该方法进一步包括基于可靠性和访问负载中的至少一项,将第一存储设备和第二存储设备中的一个存储设备确定为目标存储设备,以响应读请求。利用本公开的实施例,能够平衡存储设备间的访问负载和使用寿命中的至少一项,以提高数据读取效率和存储系统的整体性能。
Description
技术领域
本公开的实施例涉及数据存储领域,并且更具体地,涉及数据读取方法、设备和计算机程序产品。
背景技术
随着数据存储技术的发展,各种数据存储设备已经能够向用户提供越来越高的数据存储能力,并且数据访问速度也有了很大程度的提高。在提高数据存储能力的同时,用户对于存储系统的响应时间等性能也提出了越来越高的需求。已经开发出了基于独立磁盘冗余阵列(RAID)的多种数据存储系统来提高存储系统的性能。
举例而言,目前已经开发出了映射独立磁盘冗余阵列(映射RAID)。与常规RAID算法不同的是,映射RAID算法操作的是硬盘区段(extent),而不是整个硬盘。在映射RAID中,磁盘是一个逻辑概念并且可以包括多个区段。一个逻辑磁盘中包括的多个区段可以分布在不同物理存储设备上。存储系统可以包括多个逻辑磁盘,即包括多个映射RAID。这些映射RAID可以共享资源池中的存储设备。对于为镜像RAID的存储设备或者其中的区段为镜像RAID的存储设备,以常规的循环(round robin)方式从这样的存储设备中读取数据将带来问题。
发明内容
本公开的实施例提供了一种数据读取方案。
在本公开的第一方面中,提供了一种数据读取方法。该方法包括响应于接收到针对目标数据的读请求,确定所述目标数据被存储在第一存储设备和第二存储设备两者中。该方法还包括确定第一存储设备和第二存储设备中的每个存储设备的可靠性和访问负载中的至少一项。该方法还包括:基于可靠性和访问负载中的至少一项,将第一存储设备和第二存储设备中的一个存储设备确定为目标存储设备,以响应读请求。
在本公开的第二方面中,提供了一种电子设备。该电子设备包括处理器以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使设备执行动作。动作包括响应于接收到针对目标数据的读请求,确定所述目标数据被存储在第一存储设备和第二存储设备两者中。动作还包括确定第一存储设备和第二存储设备中的每个存储设备的可靠性和访问负载中的至少一项。动作还包括基于可靠性和访问负载中的至少一项,将第一存储设备和第二存储设备中的一个存储设备确定为目标存储设备,以响应读请求。
在本公开的第三方面中,提供了一种计算机程序产品,计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行根据第一方面的方法。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。在附图中:
图1示出了根据本公开的实施例可以在其中被实现的存储系统的示意图;
图2示出了根据本公开的实施例的数据读取过程的流程图;
图3示出了根据本公开的一些实施例的确定可靠性的示意图;
图4示出了根据本公开的一些实施例的确定目标存储设备的过程的流程图;
图5示出了根据本公开的一些实施例的确定目标存储设备的过程的流程图;
图6示出了根据本公开的一些实施例的确定目标存储设备的过程的流程图;
图7是描绘了根据本公开的一些实施例的对区段执行复制操作的示意图;以及
图8示出了可以用来实施本公开的实施例的示例设备的框图。
具体实施方式
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在本公开的上下文中,存储系统可以是基于RAID的存储系统。基于RAID的存储系统可以将多个存储设备组合起来,成为一个磁盘阵列。通过提供冗余的存储设备,可以使得整个磁盘组的可靠性大大超过单一的存储设备。RAID可以提供优于单一的存储设备的各种优势,例如,增强数据整合度,增强容错功能,增加吞吐量或容量,等等。RAID存在多个标准,例如RAID-1,RAID-2,RAID-3,RAID-4,RAID-5,RAID-6,RAID-10,RAID-50等等。关于RAID级别的更多细节,本领域技术人员例如可以参见https://en.wikipedia.org/wiki/Standard_RAID_levels、以及https://en.wikipedia.org/wiki/Nested_RAID_levels等。
图1示意性地示出了根据本公开的实施例可以在其中被实现的存储系统100的示意图。在存储系统100中,资源池110中存在六个存储设备111-116。每个存储设备都使用相同大小的区段(例如,分别位于存储设备111和116中的区段141和146)进行划分,并且资源池110逻辑上由这样的区段构成。资源池110维护磁盘映射表、区段状态,并且响应区段分配/释放请求和磁盘状态更改事件。假设存在存储设备死机,资源池110将接收到关于该存储设备的事件并且更新该存储设备的区段的状态。
应当注意,尽管在图1中示出了六个存储设备111-116,但是资源池110还可以包括更多或更少的存储设备。还应当注意,本文中描述的存储设备可以是任何持久性数据存储装置,诸如硬盘驱动器(HDD)、固态盘(SSD)等。
可以利用资源池110中的区段建立至少一个映射RAID,诸如RAID 120和130。在图示的存储系统100中,映射RAID 120被示出为RAID 5(4D+1P,其中4D表示包括用于存储数据的四个区段,1P表示包括用于存储P校验的一个存储区段)。映射RAID 120包括多个条带,每个条带(例如条带121)中的对应区段跨越多个存储设备。举例而言,条带121中的区段可以分别位于多个存储设备111-116中的一些存储设备中,例如位于存储设备111-115中。
基于资源池110还可以形成另一映射RAID 130,其在图1中被示出为RAID 1类型。应当注意,尽管图1中示出了映射RAID 120和映射RAID 130,但是基于资源池110还可以形成其他适当的映射RAID。还应当注意,存储系统100还可以包括基于其他存储设备的另一资源池、以及基于该另一资源池形成的其他映射RAID。
在这样的存储系统110中,可能出现如下的情况,即不同的存储设备(例如,存储设备111和存储设备116)中存储有相同的数据。特别地,区段141和146中可以存储有相同的数据。例如,区段141和146可以由映射RAID 130消耗,并且作为镜像区段,诸如区段146中存储的数据是区段141中存储的数据的副本。替代地,区段141和146可以由映射RAID 120消耗,并且区段141中的数据可以正在被复制到区段146中。
与利用传统RAID的存储系统相比,在诸如存储系统110的架构中,数据复制操作(以下简称为复制操作)更为频繁。与资源池110有关的许多操作都可能触发区段之间的数据复制。
例如,当用新的存储设备来代替资源池中现有的存储设备时,需要将数据从现有的存储设备复制到新的存储设备。当资源池中的一个存储设备被设置为寿命终止(EOL)时,将启动主动复制以将数据从EOL存储设备移动到其他正常存储设备。当利用新的存储设备来扩展资源池时,也可能触发数据到新的存储设备的复制。此外,映射RAID的创建以及平衡输出/输出(I/O)负载和存储设备磨损水平也可以触发数据复制。
在本文中,用于从存储相同数据的不同存储设备或不同区段(即,这样的存储设备或区段互为镜像)读取数据的算法被称为镜像RAID读算法。在上述数据复制操作期间,两个存储设备中的区段被组成镜像,并且使用镜像RAID读算法来读取数据。这意味着,在这样的新架构中,更多的读请求将使用镜像RAID读算法。
传统上,只有镜像RAID类型的存储设备和主动复制需要使用镜像RAID读算法。除镜像RAID和主动复制外,几乎没有机会使用镜像RAID读算法来读取数据。在传统的镜像RAID算法中,对于来自用户的写请求,需要在处于复制状态中的两个区段中都写入数据。对于来自用户的读请求,通常使用循环的方式从两个区段中选择一个区段来读取数据。
然而,发明人已经认识到这种实现中存在若干问题。在诸如图1所示的具有新架构的存储系统100中,每个存储设备被分为多个磁盘区段。同一个存储设备可以服务于来自若干映射RAID的I/O请求,这与其中同一个存储设备仅由一个RAID组消耗的传统RAID不同。因此,在映射RAID的架构中,两个磁盘区段所在的存储设备之间的访问负载可能会有很大不同。
由于常规的镜像RAID算法没有考虑存储设备的健康状态(或可靠性)和访问负载,可能导致从可靠性很低的存储设备中读取数据。也可能从原本访问负载已经较重的存储设备中读取数据。这两种情况都可能降低数据读取的速度和效率,从而影响存储系统的性能。另外,如上文所提及的,在诸如图1的新架构中,复制操作变为更为频繁,这意味着来自用户的访问将比在常规架构中受到更大的影响。
本公开提供了一种改进的数据读取方案。在本公开的实施例中,当待读取数据被存储在不同的存储设备中时,基于存储设备的可靠性和访问负载中的至少一项来选择其中一个存储设备作为目标存储设备,以读取数据。以此方式,可以平衡存储设备间的访问负载和使用寿命中的至少一项,从而提高存储系统的访问效率和整体性能。
以下将参考附图来详细描述本公开的实施例。图2示出了根据本公开的实施例的数据读取过程200的流程图。为了便于讨论,在以下讨论中,以图1所示的存储系统100为例来说明根据本公开的实施例。然而应当理解的是,根据本公开的实施例也可以在其他类型的存储系统中被实现。
在210,响应于接收到针对目标数据(又被称为待读取数据)的读请求,确定目标数据被存储在第一存储设备和第二存储设备两者中。例如,存储系统100可以确定目标数据被存储在存储设备111和116中。具体而言,存储系统100可以确定目标数据被存储在区段141和146中。在这种情况下,区段141和146可以是由诸如映射RAID 130使用的镜像区段;也可以是由映射RAID 120使用的区段,并且在区段141与146之间存在复制操作,例如正在将区段141中的数据复制到区段146中。
在220,确定第一存储设备和第二存储设备中的每个存储设备的可靠性和访问负载中的至少一项。在一些实施例中,存储系统100可以确定存储设备111和存储设备116的可靠性或访问负载。在一些实施例中,存储系统100可以确定可靠性和访问负载两者。在本文中,存储设备的可靠性是指存储设备正确提供数据的读出或写入的能力,而存储设备的访问负载用于描述存储设备中当前正在执行或历史上已经执行的与读出和写入有关的操作的量。可以使用各种预定义指示来表示存储设备的可靠性和访问负载。下文详细描述可以用于确定可靠性和访问负载的方式。
在230,基于可靠性和访问负载中的至少一项,将第一存储设备和第二存储设备中的一个存储设备确定为目标存储设备,以响应读请求。例如,可以将存储设备111确定为目标存储设备,以读取目标数据。
在一些实施例中,可以比较第一存储设备的第一访问负载和第二存储设备的第二访问负载。如果第一访问负载低于第二访问负载,则可以将第一存储设备确定为目标存储设备。例如,可以比较存储设备111和116的访问负载。例如,如果存储设备111的访问负载低于存储设备116的访问负载,则可以将存储设备111确定为目标存储设备。
在一些实施例中,可以比较第一存储设备的第一可靠性和所述第二存储设备的第二可靠性。如果第一可靠性高于第二可靠性,则可以将第一存储设备确定为目标存储设备。例如,可以比较存储设备111和116的可靠性。如果存储设备111的可靠性高于存储设备116的可靠性,则可以将存储设备111确定为目标存储设备。
在一些实施例中,除了考虑存储设备的可靠性的相对高低,还可以基于存储设备的可靠性相对于一个或多个阈值可靠性的高低来确定目标存储设备。在一些实施例中,还可以将可靠性与访问负载相结合来确定目标存储设备。下文将参考图4、图5和图6来详细描述这样的实施例。
以上参考图2描述了根据本公开的实施例的确定目标存储设备的过程200。在这样的实施中,通过考虑访问负载,可以使不同存储设备的访问负载更加平衡;通过考虑可靠性,可以减缓可靠性较差的存储设备的劣化,以均衡不同存储设备的使用寿命。以这种方式,可以提高存储系统的数据读取效率和整体性能。
如上文所提及的,可以以各种方式来确定存储设备的可靠性和访问负载。在一些实施例中,可以利用存储系统100中的错误处理机制来确定可靠性。下面参考图3来描述如何确定利用错误处理机制来确定可靠性。图3示出了根据本公开的实施例的确定可靠性的示意图300。
如图3所示,在物理层310中,在每个物理磁盘(未示出)上创建相应的物理磁盘对象(PDO),如PDO 311-316。PDO 311-316接收I/O请求并将I/O请求转换为SCSI请求,以及反之亦然。PDO 311-316实现磁盘错误处理机制(DIEH)来维护磁盘的健康状况。DIEH定义了若干种错误类型,诸如硬媒体错误、软媒体错误(可以修复的错误)和端口错误等。
如果软媒体错误增加并超过阈值,则DIEH可以向资源池110发送该磁盘接近寿命终止的事件。该事件可以触发资源池110开始主动复制。如果错误足够严重,资源池110可以直接关断该磁盘。资源池110可以触发重建,并在重建完成之后用另一健康的磁盘来代替出错的磁盘。在DIEH机制中,维持针对每个磁盘的软媒体错误计数。一旦错误计数超过预定阈值,就可以取决于错误严重程度而采用相关动作,诸如重置该磁盘、将该磁盘设置为EOL或将该磁盘设置为“故障”。因此,在这样的存储系统中,可以通过获取对应的物理磁盘的DIEH数据来确定存储设备的可靠性。
如图3所示,在资源池110中,为每个存储设备111-116维护对应的虚拟驱动器(PVD)301-306。PVD 301-306用于维护可以由资源池110使用的存储设备信息。资源池110中的PVD 301-306分别对应于物理层310中的PDO 311-316。因此,可以将从PDO 311-316中获取的物理磁盘的可靠性数据作为对应的存储设备111-116的可靠性指示。
例如,可以将出现错误的I/O计数占总I/O计数的比例作为可靠性指示。备选地或附加地,可以根据将可靠性划分等级,诸如高可靠性、中等可靠性或低可靠性。例如,没有出现I/O错误的存储设备具有高可靠性等级,被设置为EOL的存储设备具有低可靠性等级。划分可靠性等级也可以基于出现错误的I/O计数占总I/O计数的比例。
当存储系统启动时,PVD 301-306将与PDO 311-316连接,并且资源池110将收集和初始化针对每个存储设备111-116的可靠性指示。此后,当PDO 311-316中维护的可靠性指示改变时,关于该改变的消息将被发送给PVD 301-306,并且PVD 301-306中维护的针对每个存储设备111-116的可靠性指示将被更新。
在这样的实施例中,存储系统100可以利用与每个存储设备对应的PVD中的可靠性指示来确定相应存储设备的可靠性。例如,可以利用PVD 301和306中的可靠性指示来分别确定存储设备111和116的可靠性。
应当注意,以上参考图3所描述的确定可靠性的方式仅是示例性的。在其他的一些实施例中,还可以使用其他适当的方式来确定存储设备的可靠性。例如,可以通过存储设备的智能诊断功能来确定可靠性。
在一些实施例中,可以使用存储设备的当前访问数目作为访问负载。在如图1所示的资源池中,一个存储设备被拆分为多个磁盘区段。同一存储设备(来自它的所有区段)将被同一映射RAID中的许多条带(诸如条带121)使用,或者由多个映射RAID(诸如映射RAID120和130)使用。因此,基于这样的映射RAID访问模式,不同存储设备111-116上的访问负载可能有很大差异。
为此,存储系统100需要为每个存储设备111-116维护其访问负载情况。在一些实施例中,可以在诸如图3所示的PVD 301-306中记录对应存储设备的当前访问负载或历史访问负载。例如,可以设置参数IO_per_driver来记录存储设备的当前访问负载。
具体地,当映射RAID中的条带向资源池110发送访问请求(读请求或写请求)时,与该请求有关的存储设备的参数IO_per_driver将递增。当该访问结束时,参数IO_per_driver将递减。以此方式,参数IO_per_driver可以用作相应存储设备的当前访问负载。在这样的实施例中,可以将参数IO_per_driver确定为相应存储设备的访问负载。例如,可以将PVD 301中存储的参数IO_per_driver的值用作存储设备111的访问负载的值。
在一些实施例中,还可以将存储设备在一段时间内的总访问次数确定为访问负载。例如,可以将自存储系统启动以来存储设备的总访问次数作为访问负载。
在这样的实施例中,资源池110可以提供用于映射RAID的接口以获得与可靠性和访问负载有关的数据。例如,可以通过资源池的标识和存储设备的索引等来获取与存储设备的可靠性和访问负载有关的数据。
应当注意,以上描述的确定可靠性和访问负载的方式仅是示例性的。在本公开的实施例中,可以以任何适当的方式预先定义和确定与存储设备的可靠性和访问负载有关的参数。本公开的范围在此方面不受限制。
如上文所提及的,还可以基于存储设备的可靠性相对于预先定义的阈值可靠性的高低来确定目标存储设备。图4示出了根据本公开的一些实施例的确定目标存储设备的过程400的流程图。过程400可以被视为图2中所示的框230的具体实现。
在410,将第一存储设备的第一可靠性和第二存储设备的第二可靠性与第一阈值可靠性进行比较。第一阈值可靠性可以指示存储设备的较低的可靠性。可靠性低于第一阈值可靠性的存储设备可能处于不健康的状态或者处于低可靠性等级,这意味着该存储设备已经不再适合于数据读取。例如,可靠性低于第一阈值可靠性的存储设备可以是被设置为EOL的存储设备。
在420,确定第一可靠性和第二可靠性是否均高于第一阈值可靠性。如果第一可靠性和第二可靠性均高于第一阈值可靠性,则在430,基于第一可靠性、第二可靠性、第一存储设备的第一访问负载和第二存储设备的第二访问负载,确定目标存储设备。
在一些情况下,在420确定第一可靠性和第二可靠性并非均高于第一阈值可靠性,例如确定第一可靠性高于第一阈值可靠性并且第二可靠性低于第一阈值可靠性。在这种情况下,可以将第一存储设备确定为目标存储设备。举例而言,存储设备111的可靠性高于第一阈值可靠性而存储设备116的可靠性低于第一阈值可靠性,则可以将存储设备111确定为用于读取目标数据的目标存储设备。
在一些情况下,在420可能确定的是,第一可靠性和第二可靠性均低于第一阈值可靠性。在这样的情况下,可以例如采用传统的循环方式来从第一存储设备和第二存储设备中读取数据。循环方式是指如下的方式,即,从成序列的相关存储设备中依次地选择一个存储设备。下文将参考图5详细描述这种循环方式。
在这样的实施例中,通过将存储设备的可靠性与阈值可靠性进行比较,可以确定性能差的存储设备,以避免从这样的存储设备中读取数据。
如上文参考图4所提及的,在一些实施例中,可以将可靠性和访问负载相结合地确定目标存储设备。图5示出了根据本公开的一些实施例的确定目标存储设备的过程500的流程图。过程500描述了如何基于第一可靠性、第二可靠性、第一访问负载和第二访问负载来确定目标存储设备。过程500可以被视为图4中所示的框430的具体实现。
在510,将第一可靠性和第二可靠性与第二阈值可靠性进行比较,第二阈值可靠性高于第一阈值可靠性。高于第一阈值可靠性且低于第二阈值可靠性的可靠性可以指示存储设备处于中等可靠性水平。
在520,确定第一可靠性是否高于第二阈值可靠性并且第二可靠性是否低于第二阈值可靠性。例如,可以确定存储设备111的可靠性高于第二阈值可靠性,并且存储设备116的可靠性低于第二阈值可靠性。在这种情况下,存储设备111和116的可靠性均不足够低(例如,均不处于EOL状态)但处于不同的可靠性等级,那么可以进一步结合这两个存储设备的访问负载来确定目标存储设备。
如果第一可靠性高于第二阈值可靠性并且第二可靠性低于第二阈值可靠性,则在530基于第一访问负载和第二访问负载,确定第一存储设备和第二存储设备的负载差。负载差可以是第一访问负载与第二访问负载相差的百分比。例如,可以在530确定存储设备111与存储设备116的负载差为A%(其中A大于等于0且小于等于100)。应当注意,将负载差表示为A%仅是示例性的,而不以任何方式限制本公开的范围。
在540,确定负载差是否小于第一阈值差。第一阈值差可以是例如30%。如果负载差小于第一阈值差,则在550将第一存储设备确定为目标存储设备,即将具有较高可靠性的存储设备确定为目标存储设备。举例而言,如果存储设备111和存储设备116的负载差为10%,则在上述示例中可以将存储设备111(其可靠性高于存储设备116)确定为目标存储设备。应当注意,以上百分比数字仅是示例性的,而不以任何方式限制本公开的范围。
如果负载差不小于第一阈值差,则在560利用传统的循环方式确定目标存储设备。即,在560从第一存储设备和第二存储设备中确定目标存储设备,所确定的目标存储设备不同于与对目标数据的前一次读操作相对应的存储设备。举例而言,在前一次读取区段141和146中的数据时,如果数据是从区段141中读取的,则可以在560将存储设备116确定为目标存储设备;如果数据是从区段146中读取的,则可以在560将存储设备111确定为目标存储设备。应当注意,对于负载差等于第一阈值差的情况,也可以将具有较高可靠性的存储设备确定为目标存储设备。
在这样的实施例中,存储设备的可靠性处于不同的等级,通过与访问负载的结合,可以避免可靠性较差的存储设备承受过多负载而加速性能的劣化。以这种方式,存储系统的性能可以得到进一步改进。
图6示出了根据本公开的一些实施例的确定目标存储设备的过程600的流程图。过程600描述了如何基于第一可靠性、第二可靠性、第一访问负载和第二访问负载来确定目标存储设备。过程600可以被视为图4中所示的框430的另一具体实现。
在610,将第一可靠性和第二可靠性与第二阈值可靠性进行比较,第二阈值可靠性高于第一阈值可靠性。框610与参考图5描述的框510相似。在620,确定第一可靠性和第二可靠性是否均高于或均低于第二阈值可靠性。例如,在620,可以确定存储设备111和116的可靠性均高于第二阈值可靠性,或者确定存储设备111和116的可靠性均低于第二阈值可靠性。在这种情况下,存储设备111和116的可靠性处于相同的可靠性等级,那么可以进一步结合这两个存储设备的访问负载来确定目标存储设备。
如果第一可靠性和第二可靠性均高于或均低于第二阈值可靠性,则在630基于第一访问负载和第二访问负载,确定第一存储设备和第二存储设备的负载差。框630与参考图5描述的框530相似。例如,可以在630确定存储设备111与存储设备116的负载差为B%(其中B大于等于0且小于等于100)。应当注意,将负载差表示为B%仅是示例性的,而不以任何方式限制本公开的范围。
在640,确定负载差是否小于第二阈值差。第二阈值差可以是例如20%。如果负载差小于第二阈值差,则在650,从第一存储设备和第二存储设备中确定目标存储设备,该目标存储设备不同于与对目标数据的前一次读操作相对应的存储设备。即,利用传统的循环方式确定目标存储设备。在此情况下,所确定的目标存储设备不同于与对目标数据的前一次读操作相对应的存储设备。框650与参考图5描述的框560相似。应当注意,以上百分比数字仅是示例性的,而不以任何方式限制本公开的范围。
如果在640确定负载差不小于第二阈值差,则在660,将第一存储设备和第二存储设备中具有低访问负载的存储设备确定为目标存储设备。举例而言,如果存储设备111的访问负载小于存储设备116的访问负载,则可以将存储设备111确定为目标存储设备。应当注意,对于负载差等于第二阈值差的情况,也可以采用如上文所描述的循环方式来确定目标存储设备。
在这样的实施例中,存储设备的可靠性处于相似的等级,通过与访问负载的结合,可以平衡存储设备间的负载,从而有利于数据读取效率的整体提升。以这种方式,存储系统的性能可以得到进一步改进。
在上文参考图5和图6所描述的实施例中,通过与第二阈值可靠性的比较,可以确定第一存储设备和第二存储设备的可靠性是否处于相同或相似的可靠性等级。然后可以基于这一确定针对负载差采用不同的策略来确定目标存储设备。这种将可靠性与访问负载相结合的方式更有利于提升存储系统的整体性能。
应当理解,上文所提及的第一阈值可靠性、第二阈值可靠性、第一阈值差和第二阈值差可以基于存储系统的具体配置而确定。本公开的范围在此方面不受限制。
如上文关于图1所提及的,在存储系统100中数据复制操作是频繁的。区段141和区段146可能由于数据复制操作而被形成为镜像。图7是描绘了根据本公开的一些实施例的对区段141执行复制操作的示意图700。在图7的示例中,存储设备111被设置为EOL,因此需要将其中的数据复制到其他处于健康状态的存储设备中。具体而言,可以将存储设备111的每个区段中的数据复制到其他存储设备的区段中。例如,如图7所图示的,将区段141中的数据复制到区段146中。
为了管理复制操作,可以在RAID映射表(诸如映射表710)的每个条带(诸如条带711)的末尾处增加元素702以表示复制目的地。在图7中,映射表710中的元素701表示区段141,而元素702表示区段146。存储系统可以执行复制操作712,以将区段141中的数据复制到区段146中。对于这种复制操作,在本文中将区段141称为源存储区,将区段146称为目的存储区。应当理解,在这种情况下源存储区和目的存储区位于不同的存储设备中。
在这样的实施例中,当接收到的读请求所针对的目标数据被存储在区段141时,需要首先确定目标数据是否已经从源存储区被复制到目的存储区,即,是否已经从区段141被复制到区段146。在一些实施例中,可以设置用于描述复制操作进度的元数据,这样的元数据在本文中又被检查点。检查点可以用于标识已经被复制的数据在源存储区中的结束位置。例如,检查点可以是最近一次被复制的最小数据操作单元(诸如,数据块)在存储设备中的地址。
在源存储区中的位置(诸如通过逻辑块地址LBA来确定)位于检查点之后的目标数据尚未被复制到目的存储区中。因此,对于这样的目的数据,只能选择源存储区所在的存储设备作为目标存储设备。
在源存储区中的位置位于检查点之前的目标数据已经被复制到目的存储区中。例如,在图7的示例中,如果目标数据在区段141中的位置位于检查点之前,则可以确定区段141和区段146两者中均存储有该目标数据。也就是说,目标数据被存储在存储设备111和存储设备116两者中。在这种情况下,可以使用参考图2、图4、图5和图6所描述的方法来确定从哪个存储设备来读取目标数据。
应当理解,参考图7所描述的复制操作仅是示例性的。本公开的实施例可以应用于由于各种复制操作而处于镜像的存储设备。在复制操作频繁的存储系统中应用本公开的实施例可以降低复制操作对存储系统读性能的影响。
图8示出了可以用来实现本公开的实施例的示例设备800的示意性框图。如图所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(访问)接口805也连接至总线804。
设备800中的多个部件连接至访问接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元801执行上文所描述的各个方法和处理,例如过程200、400、500和600中的任一个。例如,在一些实施例中,过程200、400、500和600中的任一个可以被实现为计算机软件程序或计算机程序产品,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM803并由CPU 801执行时,可以执行上文描述的过程200、400、500和600中的任一个的一个或多个步骤。备选地,在其他实施例中,CPU801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程200、400、500和600中的任一个。
根据本公开的一些实施例,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的方法。
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。
Claims (19)
1.一种数据读取方法,包括:
响应于接收到针对目标数据的读请求,确定所述目标数据被存储在第一存储设备和第二存储设备两者中;
确定所述第一存储设备和所述第二存储设备中的每个存储设备的可靠性和访问负载中的至少一项;以及
基于所述可靠性和所述访问负载中的所述至少一项,将所述第一存储设备和所述第二存储设备中的一个存储设备确定为目标存储设备,以响应所述读请求。
2.根据权利要求1所述的方法,其中确定所述目标存储设备包括:
比较所述第一存储设备的第一访问负载和所述第二存储设备的第二访问负载;以及
响应于所述第一访问负载低于所述第二访问负载,将所述第一存储设备确定为所述目标存储设备。
3.根据权利要求1所述的方法,其中确定所述目标存储设备包括:
比较所述第一存储设备的第一可靠性和所述第二存储设备的第二可靠性;以及
响应于所述第一可靠性高于所述第二可靠性,将所述第一存储设备确定为所述目标存储设备。
4.根据权利要求1所述的方法,其中确定所述目标存储设备包括:
将所述第一存储设备的第一可靠性和所述第二存储设备的第二可靠性与第一阈值可靠性进行比较;以及
响应于所述第一可靠性高于所述第一阈值可靠性并且所述第二可靠性低于所述第一阈值可靠性,将所述第一存储设备确定为所述目标存储设备。
5.根据权利要求1所述的方法,其中确定所述目标存储设备包括:
将所述第一存储设备的第一可靠性和所述第二存储设备的第二可靠性与第一阈值可靠性进行比较;以及
响应于所述第一可靠性和所述第二可靠性均高于第一阈值可靠性,基于所述第一可靠性、所述第二可靠性、所述第一存储设备的第一访问负载和所述第二存储设备的第二访问负载,确定所述目标存储设备。
6.根据权利要求5所述的方法,其中基于所述第一可靠性、所述第二可靠性、所述第一访问负载和所述第二访问负载确定所述目标存储设备包括:
将所述第一可靠性和所述第二可靠性与第二阈值可靠性进行比较,所述第二阈值可靠性高于所述第一阈值可靠性;
响应于所述第一可靠性高于所述第二阈值可靠性并且所述第二可靠性低于所述第二阈值可靠性:
基于所述第一访问负载和所述第二访问负载,确定所述第一存储设备和所述第二存储设备的负载差;
响应于所述负载差小于第一阈值差,将所述第一存储设备确定为所述目标存储设备;以及
响应于所述负载差大于所述第一阈值差,从所述第一存储设备和所述第二存储设备中确定所述目标存储设备,所述目标存储设备不同于与对所述目标数据的前一次读操作相对应的存储设备。
7.根据权利要求5所述的方法,其中基于所述第一可靠性指示、所述第二可靠性指示、所述第一访问负载和所述第二访问负载确定所述目标存储设备包括:
将所述第一可靠性和所述第二可靠性与第二阈值可靠性进行比较,所述第二阈值可靠性高于所述第一阈值可靠性;
响应于所述第一可靠性和所述第二可靠性均高于或均低于所述第二阈值可靠性:
基于所述第一访问负载和所述第二访问负载,确定所述第一存储设备和所述第二存储设备的负载差;
响应于所述负载差大于第二阈值差,将所述第一存储设备和
所述第二存储设备中具有低访问负载的存储设备确定为所述目标存储设备;以及
响应于所述负载差小于所述第二阈值差,从所述第一存储设备和所述第二存储设备中确定所述目标存储设备,所述目标存储设备不同于与对所述目标数据的前一次读操作相对应的存储设备。
8.根据权利要求1所述的方法,还包括:
在从所述第一存储设备的源存储区向所述第二存储设备的目的存储区复制数据期间,接收针对所述目标数据的所述读请求,
其中确定所述目标数据被存储在所述第一存储设备和所述第二存储设备两者中包括:
确定所述目标数据已经从所述源存储区被复制到所述目的存储区中。
9.根据权利要求8所述的方法,其中确定所述目标数据已经从所述源存储区被复制到所述目的存储区中包括:
确定已经被复制的数据在所述源存储区中的结束位置;以及
响应于所述目标数据在所述源存储区中的结束位置位于所述已经被复制的数据的结束位置之前,确定所述目标数据已经被复制到所述目的存储区中。
10.一种电子设备,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述设备执行动作,所述动作包括:
响应于接收到针对目标数据的读请求,确定所述目标数据被存储在第一存储设备和第二存储设备两者中;
确定所述第一存储设备和所述第二存储设备中的每个存储设备的可靠性和访问负载中的至少一项;以及
基于所述可靠性和所述访问负载中的所述至少一项,将所述第一存储设备和所述第二存储设备中的一个存储设备确定为目标存储设备,以响应所述读请求。
11.根据权利要求10所述的设备,其中确定所述目标存储设备包括:
比较所述第一存储设备的第一访问负载和所述第二存储设备的第二访问负载;以及
响应于所述第一访问负载低于所述第二访问负载,将所述第一存储设备确定为所述目标存储设备。
12.根据权利要求10所述的设备,其中确定所述目标存储设备包括:
比较所述第一存储设备的第一可靠性和所述第二存储设备的第二可靠性;以及
响应于所述第一可靠性高于所述第二可靠性,将所述第一存储设备确定为所述目标存储设备。
13.根据权利要求10所述的设备,其中确定所述目标存储设备包括:
将所述第一存储设备的第一可靠性和所述第二存储设备的第二可靠性与第一阈值可靠性进行比较;以及
响应于所述第一可靠性高于所述第一阈值可靠性并且所述第二可靠性低于所述第一阈值可靠性,将所述第一存储设备确定为所述目标存储设备。
14.根据权利要求10所述的设备,其中确定所述目标存储设备包括:
将所述第一存储设备的第一可靠性和所述第二存储设备的第二可靠性与第一阈值可靠性进行比较;以及
响应于所述第一可靠性和所述第二可靠性均高于第一阈值可靠性,基于所述第一可靠性、所述第二可靠性、所述第一存储设备的第一访问负载和所述第二存储设备的第二访问负载,确定所述目标存储设备。
15.根据权利要求14所述的设备,其中基于所述第一可靠性、所述第二可靠性、所述第一访问负载和所述第二访问负载确定所述目标存储设备包括:
将所述第一可靠性和所述第二可靠性与第二阈值可靠性进行比较,所述第二阈值可靠性高于所述第一阈值可靠性;
响应于所述第一可靠性高于所述第二阈值可靠性并且所述第二可靠性低于所述第二阈值可靠性:
基于所述第一访问负载和所述第二访问负载,确定所述第一存储设备和所述第二存储设备的负载差;
响应于所述负载差小于第一阈值差,将所述第一存储设备确定为所述目标存储设备;以及
响应于所述负载差大于所述第一阈值差,从所述第一存储设备和所述第二存储设备中确定所述目标存储设备,所述目标存储设备不同于与对所述目标数据的前一次读操作相对应的存储设备。
16.根据权利要求14所述的设备,其中基于所述第一可靠性指示、所述第二可靠性指示、所述第一访问负载和所述第二访问负载确定所述目标存储设备包括:
将所述第一可靠性和所述第二可靠性与第二阈值可靠性进行比较,所述第二阈值可靠性高于所述第一阈值可靠性;
响应于所述第一可靠性和所述第二可靠性均高于或均低于所述第二阈值可靠性:
基于所述第一访问负载和所述第二访问负载,确定所述第一存储设备和所述第二存储设备的负载差;
响应于所述负载差大于第二阈值差,将所述第一存储设备和
所述第二存储设备中具有低访问负载的存储设备确定为所述目标存储设备;以及
响应于所述负载差小于所述第二阈值差,从所述第一存储设备和所述第二存储设备中确定所述目标存储设备,所述目标存储设备不同于与对所述目标数据的前一次读操作相对应的存储设备。
17.根据权利要求10所述的设备,其中所述动作还包括:
在从所述第一存储设备的源存储区向所述第二存储设备的目的存储区复制数据期间,接收针对所述目标数据的所述读请求,
其中确定所述目标数据被存储在所述第一存储设备和所述第二存储设备两者中包括:
确定所述目标数据已经从所述源存储区被复制到所述目的存储区中。
18.根据权利要求17所述的设备,其中确定所述目标数据已经从所述源存储区被复制到所述目的存储区中包括:
确定已经被复制的数据在所述源存储区中的结束位置;以及
响应于所述目标数据在所述源存储区中的结束位置位于所述已经被复制的数据的结束位置之前,确定所述目标数据已经被复制到所述目的存储区中。
19.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至9中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810801912.7A CN110737393B (zh) | 2018-07-20 | 2018-07-20 | 数据读取方法、设备和计算机程序产品 |
US16/506,033 US11016674B2 (en) | 2018-07-20 | 2019-07-09 | Method, device, and computer program product for reading data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810801912.7A CN110737393B (zh) | 2018-07-20 | 2018-07-20 | 数据读取方法、设备和计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110737393A true CN110737393A (zh) | 2020-01-31 |
CN110737393B CN110737393B (zh) | 2023-08-11 |
Family
ID=69162939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810801912.7A Active CN110737393B (zh) | 2018-07-20 | 2018-07-20 | 数据读取方法、设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11016674B2 (zh) |
CN (1) | CN110737393B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113114481A (zh) * | 2021-02-22 | 2021-07-13 | 广东电网有限责任公司广州供电局 | 数据操作方法、装置、计算机设备和存储介质 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11442642B2 (en) | 2019-01-29 | 2022-09-13 | Dell Products L.P. | Method and system for inline deduplication using erasure coding to minimize read and write operations |
US20200241781A1 (en) | 2019-01-29 | 2020-07-30 | Dell Products L.P. | Method and system for inline deduplication using erasure coding |
US11609820B2 (en) | 2019-07-31 | 2023-03-21 | Dell Products L.P. | Method and system for redundant distribution and reconstruction of storage metadata |
US11328071B2 (en) | 2019-07-31 | 2022-05-10 | Dell Products L.P. | Method and system for identifying actor of a fraudulent action during legal hold and litigation |
US11372730B2 (en) | 2019-07-31 | 2022-06-28 | Dell Products L.P. | Method and system for offloading a continuous health-check and reconstruction of data in a non-accelerator pool |
US11775193B2 (en) | 2019-08-01 | 2023-10-03 | Dell Products L.P. | System and method for indirect data classification in a storage system operations |
US11301327B2 (en) * | 2020-03-06 | 2022-04-12 | Dell Products L.P. | Method and system for managing a spare persistent storage device and a spare node in a multi-node data cluster |
US11281535B2 (en) | 2020-03-06 | 2022-03-22 | Dell Products L.P. | Method and system for performing a checkpoint zone operation for a spare persistent storage |
US11416357B2 (en) | 2020-03-06 | 2022-08-16 | Dell Products L.P. | Method and system for managing a spare fault domain in a multi-fault domain data cluster |
US11418326B2 (en) | 2020-05-21 | 2022-08-16 | Dell Products L.P. | Method and system for performing secure data transactions in a data cluster |
US11567673B1 (en) * | 2021-08-18 | 2023-01-31 | International Business Machines Corporation | Adaptive, proactive raid rebuild |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080991A1 (en) * | 2003-10-09 | 2005-04-14 | International Business Machines Corporation | Method and apparatus for providing hardware aware logical volum mirrors |
CN102096556A (zh) * | 2010-12-03 | 2011-06-15 | 成都市华为赛门铁克科技有限公司 | 拷贝数据的方法、读取数据的方法和装置及系统 |
US20130212349A1 (en) * | 2012-02-13 | 2013-08-15 | Fujitsu Limited | Load threshold calculating apparatus and load threshold calculating method |
US8688643B1 (en) * | 2010-08-16 | 2014-04-01 | Symantec Corporation | Systems and methods for adaptively preferring mirrors for read operations |
CN106909312A (zh) * | 2015-12-23 | 2017-06-30 | 伊姆西公司 | 用于控制从存储系统读取数据的方法和装置 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7173929B1 (en) * | 2001-12-10 | 2007-02-06 | Incipient, Inc. | Fast path for performing data operations |
US6959373B2 (en) * | 2001-12-10 | 2005-10-25 | Incipient, Inc. | Dynamic and variable length extents |
US7228395B2 (en) * | 2003-10-09 | 2007-06-05 | International Business Machines Corporation | System and method of servicing read requests from a common mirror |
US7472221B1 (en) * | 2004-03-29 | 2008-12-30 | Emc Corporation | Mirrored memory |
JP2006227964A (ja) * | 2005-02-18 | 2006-08-31 | Fujitsu Ltd | ストレージシステム、処理方法及びプログラム |
JP4333846B2 (ja) * | 2005-06-10 | 2009-09-16 | 富士通株式会社 | 磁気ディスク装置、その制御方法並びに制御プログラム |
US20070028064A1 (en) | 2005-07-28 | 2007-02-01 | Mcbrearty Gerald F | Method for suspending mirrored writes during large data transfers |
US20070057956A1 (en) | 2005-09-13 | 2007-03-15 | International Business Machines Corporation | Method, apparatus, and computer program product for implementing self-modeling computer systems componentry |
US9170897B2 (en) * | 2012-05-29 | 2015-10-27 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing solid-state storage reliability |
US9141295B2 (en) * | 2010-05-06 | 2015-09-22 | International Business Machines Corporation | Load balancing of data reads in storage environments |
US8589625B2 (en) * | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
JP6005566B2 (ja) * | 2013-03-18 | 2016-10-12 | 株式会社東芝 | 情報処理システム、制御プログラムおよび情報処理装置 |
US20140304469A1 (en) * | 2013-04-05 | 2014-10-09 | Hewlett-Packard Development Company, L. P. | Data storage |
US9368147B2 (en) * | 2013-09-27 | 2016-06-14 | Oracle International Corporation | Media and drive validation in a storage library |
KR20180031853A (ko) * | 2016-09-19 | 2018-03-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20180031851A (ko) * | 2016-09-19 | 2018-03-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN108228396B (zh) * | 2016-12-21 | 2021-03-23 | 伊姆西Ip控股有限责任公司 | 用于处理驱动器的错误的方法和设备 |
US10642879B2 (en) * | 2017-01-06 | 2020-05-05 | Oracle International Corporation | Guaranteed file system hierarchy data integrity in cloud object stores |
US10168948B2 (en) | 2017-02-20 | 2019-01-01 | International Business Machines Corporation | Replicating data in a data storage system |
KR20190032104A (ko) * | 2017-09-19 | 2019-03-27 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치, 비휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법 |
US10740181B2 (en) | 2018-03-06 | 2020-08-11 | Western Digital Technologies, Inc. | Failed storage device rebuild method |
US10860446B2 (en) | 2018-04-26 | 2020-12-08 | Western Digital Technologiies, Inc. | Failed storage device rebuild using dynamically selected locations in overprovisioned space |
US10824526B2 (en) | 2018-08-03 | 2020-11-03 | Western Digital Technologies, Inc. | Using failed storage device in peer-to-peer storage system to perform storage-centric task |
US10901848B2 (en) | 2018-08-03 | 2021-01-26 | Western Digital Technologies, Inc. | Storage systems with peer data recovery |
US10831603B2 (en) | 2018-08-03 | 2020-11-10 | Western Digital Technologies, Inc. | Rebuild assist using failed storage device |
US10664189B2 (en) | 2018-08-27 | 2020-05-26 | International Business Machines Corporation | Performance in synchronous data replication environments |
-
2018
- 2018-07-20 CN CN201810801912.7A patent/CN110737393B/zh active Active
-
2019
- 2019-07-09 US US16/506,033 patent/US11016674B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080991A1 (en) * | 2003-10-09 | 2005-04-14 | International Business Machines Corporation | Method and apparatus for providing hardware aware logical volum mirrors |
US8688643B1 (en) * | 2010-08-16 | 2014-04-01 | Symantec Corporation | Systems and methods for adaptively preferring mirrors for read operations |
CN102096556A (zh) * | 2010-12-03 | 2011-06-15 | 成都市华为赛门铁克科技有限公司 | 拷贝数据的方法、读取数据的方法和装置及系统 |
US20130212349A1 (en) * | 2012-02-13 | 2013-08-15 | Fujitsu Limited | Load threshold calculating apparatus and load threshold calculating method |
CN106909312A (zh) * | 2015-12-23 | 2017-06-30 | 伊姆西公司 | 用于控制从存储系统读取数据的方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113114481A (zh) * | 2021-02-22 | 2021-07-13 | 广东电网有限责任公司广州供电局 | 数据操作方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110737393B (zh) | 2023-08-11 |
US11016674B2 (en) | 2021-05-25 |
US20200026439A1 (en) | 2020-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737393A (zh) | 数据读取方法、设备和计算机程序产品 | |
US10459814B2 (en) | Drive extent based end of life detection and proactive copying in a mapped RAID (redundant array of independent disks) data storage system | |
US10126988B1 (en) | Assigning RAID extents and changing drive extent allocations within RAID extents when splitting a group of storage drives into partnership groups in a data storage system | |
CN109725837B (zh) | 管理存储系统的方法、系统和计算机程序产品 | |
US10318169B2 (en) | Load balancing of I/O by moving logical unit (LUN) slices between non-volatile storage represented by different rotation groups of RAID (Redundant Array of Independent Disks) extent entries in a RAID extent table of a mapped RAID data storage system | |
JP6560759B2 (ja) | ストレージシステム | |
US8019728B2 (en) | Dynamically quantifying and improving the reliability of distributed data storage systems | |
US8285952B2 (en) | Method and apparatus to utilize large capacity disk drives | |
US20150286531A1 (en) | Raid storage processing | |
CN109725831B (zh) | 管理存储系统的方法、系统和计算机可读介质 | |
US7093069B2 (en) | Integration of a RAID controller with a disk drive module | |
US8812779B2 (en) | Storage system comprising RAID group | |
CN110413203B (zh) | 用于管理存储系统的方法、设备和计算机可读介质 | |
CN111104055B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN110096218B (zh) | 用于为存储对象提供raid数据保护的方法、系统和介质 | |
CN110413198B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN111104051B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN110737391A (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN111124269A (zh) | 用于存储管理的方法、电子设备和计算机可读存储介质 | |
CN113552998B (zh) | 用于管理存储系统中的条带的方法、设备和程序产品 | |
US10977130B2 (en) | Method, apparatus and computer program product for managing raid storage in data storage systems | |
US11340816B2 (en) | Deallocation of drive extents for mapped raid (redundant array of independent disks) extents | |
CN111857535A (zh) | 用于存储管理的方法、电子设备和计算机可读存储介质 | |
JP2021064283A (ja) | ストレージ制御装置およびプログラム | |
US11321000B2 (en) | System and method for variable sparing in RAID groups based on drive failure probability |
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 |