CN114442903A - 管理存储系统的方法、电子设备和计算机程序产品 - Google Patents

管理存储系统的方法、电子设备和计算机程序产品 Download PDF

Info

Publication number
CN114442903A
CN114442903A CN202011189490.6A CN202011189490A CN114442903A CN 114442903 A CN114442903 A CN 114442903A CN 202011189490 A CN202011189490 A CN 202011189490A CN 114442903 A CN114442903 A CN 114442903A
Authority
CN
China
Prior art keywords
storage unit
hidden file
storage system
data block
storage
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
Application number
CN202011189490.6A
Other languages
English (en)
Other versions
CN114442903B (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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN202011189490.6A priority Critical patent/CN114442903B/zh
Priority to US17/121,643 priority patent/US11429287B2/en
Publication of CN114442903A publication Critical patent/CN114442903A/zh
Application granted granted Critical
Publication of CN114442903B publication Critical patent/CN114442903B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1489Generic software techniques for error detection or fault masking through recovery blocks
    • 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
    • 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/062Securing 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
    • 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
    • G06F3/064Management of blocks
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

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)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例涉及管理存储系统的方法、电子设备和计算机程序产品。该方法包括,如果确定存储系统的第一存储单元发生故障,将第一存储单元中存储的数据块写入存储系统的隐藏文件中,其中隐藏文件至少跨存储系统的第二存储单元和第三存储单元而分布,第二存储单元和第三存储单元不同于第一存储单元。本公开的实施例能够更好的保护存储系统里的数据,并且提高存储系统的性能表现,特别是有利于提高对于对时延敏感的工作流的性能表现。

Description

管理存储系统的方法、电子设备和计算机程序产品
技术领域
本公开的实施例总体涉及数据存储领域,并且具体涉及用于管理存储系统的方法、电子设备和计算机程序产品。
背景技术
在存储系统中,通常具有一个或多个存储单元用于提供数据存储能力。例如,存储系统可以包括一个或多个节点,每个节点可以包括一个或多个盘。存储单元可以是存储系统中的一个或多个盘或者一个或多个节点,当某个存储单元发生故障时,例如当某个节点上的某个盘发生故障时,需要将该发生故障的盘上存储的数据进行重建并将重建的数据存储到存储系统中的其他存储单元中,以保证存储系统内的所有数据都能受到保护。
发明内容
本公开的实施例提供了管理存储系统的方法、电子设备和计算机程序产品。
在本公开的第一方面,提供了一种管理存储系统的方法。该方法包括如果确定存储系统的第一存储单元发生故障,将第一存储单元中存储的数据块写入存储系统的隐藏文件中,其中隐藏文件至少跨存储系统的第二存储单元和第三存储单元而分布,第二存储单元和第三存储单元不同于第一存储单元。
在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时使得电子设备执行动作,该动作包括如果确定存储系统的第一存储单元发生故障,将第一存储单元中存储的数据块写入存储系统的隐藏文件中,其中隐藏文件至少跨存储系统的第二存储单元和第三存储单元而分布,第二存储单元和第三存储单元不同于第一存储单元。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令。该机器可执行指令在由设备执行时使该设备执行根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了本公开的实施例能够在其中被实施的示例环境的框图;
图2示出了将发生故障的存储单元中存储的数据进行存储的常规方案的示意图;
图3示出了根据本公开的一个实施例的将发生故障的存储单元中存储的数据进行存储的示例方法的流程图;
图4示出了根据本公开的一个实施例的将发生故障的存储单元中存储的数据进行存储的示例方法示意图;
图5示出了根据本公开的一个实施例的数据块的地址转换的示意图;
图6示出了根据本公开的一个实施例的冗余数据块的地址转换的示意图;
图7示出了根据本公开的一个实施例的将发生故障的存储单元中存储的数据存储到其他存储单元的示意图;
图8示出了根据本公开的另一实施例的将数据存储回经更新的原故障存储单元的示例方法的流程图;
图9示出了根据本公开的另一个实施例的将数据存储回经更新的原故障存储单元的示例方法的示意图;以及
图10示出了可以用来实施本公开内容的实施例的示例设备的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
图1示出了本公开的实施例可以在其中被实现的存储系统100的示意图。存储系统100包括一个或多个存储单元,用于提供数据存储能力。在一些实施例中,存储系统100可以包括节点102-1、102-2、102-3……102-M(统称为或单独称为“节点102”)。每个节点102可以包括一个或多个盘。例如,节点102-1可以包括盘111-1、111-2……111-N(统称为或单独称为“盘111”)。存储单元可以是存储系统100中的一个或多个盘111或者一个或多个节点102。
图1中示出的存储系统100中具有M个节点,每个节点具有N个盘,其中M和N可以是任意自然数。例如,M可以是4,N可以是9,但这仅仅是示意性的,不以任何方式限制本发明。应当理解,节点的数量可以是任意的,节点上盘的数量可以是任意的,不同节点上的盘数量可以不相同。
在一些实施例中,存储系统100中的盘还被划分为不同的盘小组。例如,图1中节点102-1上的盘111-2、盘111-5与盘111-8与节点102-2、102-3……102-M上的相应序号的盘被划分为第一盘小组,存储系统100中剩余的其他盘按照类似的方式被划分为其他的盘小组。应当理解,对盘进行分组的方式可以是任意的,存储系统100中的盘可以按不同的方式被划分到不同的盘小组。
存储系统100可以利用多种存储技术来提供数据存储能力。在一些实施例中,盘的示例可以包括但不限于数字通用盘(DVD)、蓝光盘(BD)、光盘(CD)、软盘、硬盘设备、磁带驱动、光学驱动、硬盘设备驱动(HDD)、固态存储器设备(SSD)、盘冗余阵列(RAID)或其他硬盘设备。
存储系统100还包括前端网络接口120,以提供一个或多个节点102与一个或多个客户端140之间的通信。前端网络接口120可以使用多种通信协议。存储系统100还包括后端网络接口130,以提供一个或多个节点102-1、102-2、102-3……102-M之间的通信,用于内部数据传输。
在存储系统100的使用过程中,存储系统100的存储单元可能会发生故障。例如,某个节点102上的某个盘发生故障。当某个存储单元发生故障时,为了保证存储系统内存储的所有数据都能受到保护,需要将发生故障的存储单元中所存储的数据进行重建并将重建的数据存储到存储系统100中的其他存储单元中。
图2示出了将发生故障的存储单元中的数据进行重建和存储的常规方案。如图2所示,存储系统200中具有多个节点202-1、202-2、202-3……202-M(统称为或单独称为“节点202”)。每个节点202可以包括一个或多个盘。例如,节点202-1可以包括盘211-1、211-2……211-N(统称为或单独称为“盘211”)。存储系统200中的盘还被划分为不同的盘小组。例如,存储系统200中节点202-1上的盘211-2、盘211-5与盘211-8与节点202-2、202-3……202-M上如图2中所示的盘212-2、212-5、212-8、213-2、213-5、213-8、214-2、214-5、214-8等被划分为第一盘小组,存储系统200中剩余的其他盘按照类似的方式被划分为其他的盘小组。
当存储系统200中的某个存储单元发生故障时,例如,如图2所示,当节点202-1上的盘211-2发生故障时,在常规方案中,为了保证故障盘211-2中存储的数据能够被保护,存储系统200将故障盘211-2中存储的数据进行重建,并且使重建的数据存储到与故障盘211-2处于同一节点202-1并且处于同一盘小组的盘上,而不会将这些数据存储到存储系统200的其他存储单元中。常规方案这样处理的原因是,在存储系统200中,通常采用纠删码或者镜像等技术来对数据进行保护,通过这种保护方式,当节点202-1上的盘211-2发生故障时,可以使用除202-1节点以外的节点202上的数据来重建出202-1节点上盘211-2的数据。因此,如果将故障盘211-2的数据重建后存储到202-1节点以外的节点,例如节点202-2,那么节点202-2一旦发生故障就会造成实际丢失两个节点202的数据(即,节点202-2上存储的重建的节点202-1的数据和原有的节点202-2的数据),这会造成原有的纠删码或镜像保护无法获取足够的数据块来重建原有数据。因此,常规方案中,将重建的数据存储到与故障盘211-2处于同一节点202-1并且处于同一盘小组的盘上,而不会将这些数据存储到存储系统200的其他存储单元中。即,如图2所示,将故障盘211-2中的数据重建并存储到盘211-5和盘211-8中,而不会将故障盘211-2中的数据存储到存储系统200的其他存储单元中。
在常规方案中,当故障盘211-2中存储的数据量非常大时,需要将非常大量的重建的数据存储到盘211-5和盘211-8中,即需要对盘211-5和盘211-8进行大量的写入I/O操作,这会造成盘211-5和盘211-8非常繁忙,会因此引起盘211-5和盘211-8上的工作流的时延,并且会影响整个存储系统200的性能表现,特别是对于对时延敏感的工作流,会造成严重的影响。此外,这种常规方案也会造成盘211-5和盘211-8中存储了大量的数据,这会进一步造成存储系统200中各个盘中存储的数据量的不平衡,影响整个存储系统200的性能。
本公开的实施例提出了一种管理存储系统的方案,以解决上述问题和其他潜在问题中的一个或多个。在该方案中,如果确定存储系统100中的第一存储单元发生故障,则将第一存储单元中存储的数据块写入存储系统中的隐藏文件,隐藏文件中能够至少跨存储系统中不同于该发生故障的第一存储单元的其他多个存储单元而分布。以此方式,将第一存储单元中存储的数据块重建并存储到了存储系统100中的其他存储单元中,确保了数据能够得到保护。
以此方式,该方案能够避免对某一个或某几个存储单元的因数据写入I/O操作过多而造成的过度繁忙,因而有利于存储系统100的性能表现,特别是有利于对于对时延敏感的工作流的性能表现。此外,该方案能够使得存储系统100中各个盘中存储的数据量平衡,从而进一步优化整个存储系统的性能。
此外,该方案能够在发生故障的第一存储单元被修复或被替换后,将原本存储在该第一存储单元上的数据重新存储到被修复或被替换的第一存储单元中。
以下将参考附图来详细描述本公开的实施例。图3示出了根据本公开的一个实施例的用于管理存储系统100的示例方法300的流程图。方法300例如可以由如图1所示的存储系统100来执行。应当理解,方法300还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。以下结合图1来详细描述方法300。
如图3所示,在310处,如果确定存储系统100中的第一存储单元发生故障,这意味着需要对该第一存储单元中存储的数据块进行存储以保护数据。
可选地,在一些实施例中,还包括将第一存储单元中存储的数据块进行重建。例如,可以利用存储系统100中的纠删码或镜像来对该数据块进行重建。
在320处,将第一存储单元中存储的数据块写入存储系统100的隐藏文件中。隐藏文件是存储系统100中的一类特殊的文件,是用户不可见的,隐藏文件能够跨存储系统100中的不同于发生故障的第一存储单元的其他多个存储单元而分布。存储系统中的隐藏文件具有很多种功能。例如,存储系统中某些文件中可能存在大量的重复的数据,为了避免大量重复的数据被重复性地多次存储,可以将该数据单次地存储在隐藏文件中,避免存储空间的多次占用。另外,对于某些过小的文件,也可以将多个过小的文件组合到一起存储到隐藏文件中。
在一些实施例中,如果存储系统100中不具有隐藏文件,则还需要对隐藏文件进行创建和初始化。
在一些实施例中,由于隐藏文件能够跨存储系统100中的不同于发生故障的第一存储单元的其他多个存储单元而分布,因此在隐藏文件中存储的数据块可以位于存储系统100中除了发生故障的第一存储单元之外的其他多个存储单元中,因此存储系统100还可以对隐藏文件中各个数据块在存储系统100中的存储进行自动的分配。以这样的方式,能够更好的平衡存储系统100中的存储资源分配,进一步改善了存储系统100的性能表现。
图4示出了根据本公开的一个实施例的将发生故障的第一存储单元中存储的数据进行重建并存储的示意图。为便于讨论,结合图3中的过程300来描述图4。如图4所示,存储系统100可以包括多个节点102,每个节点102可以包括多个盘。存储系统100中还具有隐藏文件410和映射表420。虽然图4中示出了一个隐藏文件410和一个映射表420,但这仅仅是示意性的而无意限制本公开的范围。应当理解,存储系统100中可以具有多个隐藏文件410以及多个映射表420。
在一些实施例中,当存储系统100中的某个存储单元发生故障,例如,节点102-1上的盘111-2(为便于讨论,也称为第一存储单元)发生故障,则需要对盘111-2中所存储的数据块进行重建并且将所重建的数据块存储到隐藏文件410中。在一些实施例中,存储系统100可以包括多个隐藏文件410。可以使用多个隐藏文件410来对上述经重建的发生故障的第一存储单元的数据块进行存储。在一些实施例中,对数据块的重建是使用存储系统100中所存储的纠删码或镜像进行的。应当理解,也可以使用其他方式对数据块进行重建。在一些实施例中,被存储到隐藏文件410中的数据块在存储系统100中的第一物理地址可以位于存储系统100中除了故障盘111-2以外的其他盘上的某个物理地址。例如,如图4所示,数据块的第一物理地址可以位于节点102-1上的盘111-1上的某个物理地址、或者节点102-2上的盘412-3上的某个物理地址、或者节点102-3上的盘413-6上的某个物理地址、或者节点102-M上的盘414-5上的某个物理地址等。虽然图4中示出了隐藏文件410中的数据块可以存储在例如盘111-1、盘412-3、盘413-6、盘414-5上,但这仅仅是示意性的,应当理解,隐藏文件410中的数据块可以存储在存储系统100中除了故障盘111-2以外的任意盘上。
在一些实施例中,在将数据块存储到隐藏文件410中时,还为隐藏文件410创建对应于该数据块的索引信息项,该索引信息项指示被写入隐藏文件410的数据块的第一物理地址。
在一些实施例中,在将数据块存储到隐藏文件410中之后,将该数据块在原故障盘111-2中存储位置的原物理地址(为便于讨论,也称为第二物理地址)替换为在隐藏文件410中与该数据块对应的索引信息项。如下文参考图5和图6详细描述的。
此外,图4还示出了存储系统100中的映射表420,在将数据块写入隐藏文件410中之后,在映射表420中相关联地存储了隐藏文件410中保存的索引信息项与发生故障的第一存储单元的标识。例如,在映射表中相关联地存储隐藏文件410中保存的索引信息项和故障盘111-2的标识,其中故障盘111-2的标识可以是,例如,节点102-1在存储系统100中的标识号1以及盘111-2在节点102-1上的序号2。
图5示出了根据本公开的一个实施例的数据块地址转换的示意图。如图5中所示,框501中示出了在盘111-2发生故障前,存储系统100中记录的某几个数据块的物理地址,每一行信息代表一个数据块的物理地址信息。例如,框501中第一行1,2,439312384:8192#16代表该数据块的第二物理地址,其中第一个“,”之前的数字“1”代表该数据块位于存储系统100中的节点102-1,两个“,”之间的数字“2”代表该数据块位于该节点102-1上的盘111-2,其后的数字串表示该数据块在节点102-1上的盘111-2上的具体的物理地址偏移信息。当节点102-1上的盘111-2发生了故障,框501中第一行所对应的数据块需要被存储到隐藏文件410中。
在该数据块已经被存储到隐藏文件410中之后,存储系统100中与其对应的第二物理地址也发生了变化。如图5所示,框502示出了故障盘111-2中的数据块已经被存储到隐藏文件410中之后,存储系统100中存储的更新的物理地址。如图5所示,框501中的第一行信息变为了框502中的第一行,即该数据块的第二物理地址变为了框502中第一行的信息。框502中第一行信息表示了与框501中第一行所对应的数据块在隐藏文件410中的相对应的索引信息项。“@”之前的信息表示了该数据块所被写入的隐藏文件410的标识信息,“@”之后的信息表示了该数据块在对应于该标识的隐藏文件410中的偏移位置信息。在下文中,将结合图7更详细的描述。
图6示出了根据本公开的一个实施例的冗余数据块的地址转换的示意图。在一些实施例中,为了更好的保护数据,存储系统100还对在存储系统100中各个存储单元所存储的数据提供了冗余保护。冗余保护可采取不同的冗余保护方式,包括但不限于奇偶校验保护或者镜像保护等。在对发生故障的第一存储单元中存储的数据块进行重建和存储的过程中,发生故障的第一存储单元中存储的冗余数据块也被重建并且存储到了隐藏文件410中。例如,与图5类似,图6中的框601和框602分别示出了存储系统100中某几个冗余数据块的物理地址信息的转换。框601的第五行和框602的第五行分别示出了发生故障前节点102-1的盘111-2上的冗余数据块的第二物理地址,和被存储到隐藏文件410之后的与该冗余数据块相对应的索引信息项。
在一些实施例中,存储系统100对隐藏文件410中所存储的数据块也提供了冗余保护。例如,这可以通过采用自身对应的纠删码或者镜像的方式来实现。也就是说,对存储在隐藏文件410中的数据块和冗余数据块都进行了冗余保护,这为发生故障的第一存储单元中的数据提供了二次冗余保护。以此方式,能够对数据提供保护级别不低于所存储的故障数据块原有的保护级别的保护。即使存储系统100中保存的某些数据块被不慎损坏,存储系统100也能通过冗余块对其进行恢复。
图7示出了根据本公开的一个实施例的将发生故障的第一存储单元中存储的数据块存储到隐藏文件410的示意图。
如图7所示,框701示出了发生故障的盘111-2中所保存的多个数据块在盘111-2中的第二物理地址。在一些实施例中,存储系统100中可以包括多个隐藏文件410-1、410-2……410-P(统称为或单独称为“隐藏文件410”)。P可以是任意自然数,例如,P可以是16,但这仅仅是示意性的,不以任何方式限制本发明。在盘111-2发生故障后,111-2中所保存的多个数据块被存储到了某一个隐藏文件410中。例如,框701中第一行所对应的数据块被保存到了隐藏文件410-1中,框701中第三行对应的数据块被保存到了隐藏文件410-2中……框701中倒数第二行对应的数据块被保存到了隐藏文件410-P中,不同的隐藏文件410具有如图中隐藏文件410中的文字所示的标识信息。应当理解,每一个隐藏文件410中可以存储多个数据块。隐藏文件410中所示的隐藏文件410的标识信息结合数据块在该隐藏文件410中的偏移位置信息,可以共同构成如图5和图6中所示出的存储在隐藏文件410中的数据块的索引信息项。
框703示出了隐藏文件410-2中存储的多个数据块在存储系统100中的地址位置的信息。从框703中可以看出,这些数据块被存储在了存储系统100中除了故障盘111-2之外的多个其他的盘上,例如第一行所表示的节点102-4上的序号为4的盘等。
框704示出了隐藏文件410中存储的其他属性信息,其中下方的框714中存储了发生故障的盘111-2的标识信息,例如图中所示的节点号1可以标识节点102-1,盘号2可以标识节点102-1上的盘111-2。
图8示出了根据本公开的另一实施例的将数据存储回经更新的原故障存储单元的示例方法的流程图。
在810处,确定发生故障的第一存储单元的数据块已经被写入隐藏文件410。如果数据块已经被写入隐藏文件410中,则数据块已经被存储系统100保护。随后,可以对第一存储单元进行更新。
在一些实施例中,当发生故障的第一存储单元被更新后,例如,修复了发生故障的第一存储单元或者用新的第一存储单元替换了发生故障的第一存储单元,存储在隐藏文件410中的原第一存储单元中的数据块可以被存储回到经更新的第一存储单元中。
返回到图8,在820处,确定发生故障的第一存储单元已经被更新。如果第一存储单元已经被更新,然后在830处,在存储系统100中的映射表420中查找发生故障的第一存储单元的标识。
在840处,对于在映射表420中查找到的发生故障的第一存储单元的标识,获取与该标识相关联的索引信息项,在该索引信息项所指示的第一物理地址处获取数据块,将该数据块存储回经更新的原故障存储单元中。
图9示出了根据本公开的另一个实施例的将数据存储回经更新的原第一存储单元的示例方法的示意图。为便于讨论,结合图8中的过程800来描述图9。
如图9所示,节点102-1上的盘111-2已经被更新了。
结合上述图4,原故障盘111-2中的数据块被存储到了隐藏文件410中,而被存储到隐藏文件410中的数据块在存储系统100中的第一物理地址可以位于存储系统100中除了故障盘111-2以外的其他盘上的某个物理地址,例如,如图4所示的节点102-1上的盘111-2上的某个物理地址、或者节点102-2上的盘412-3上的某个物理地址、或者节点102-3上的盘413-6上的某个物理地址、或者节点102-M上的盘414-5上的某个物理地址等。
返回到图9,在映射表420中查找节点102-1上的盘111-2的标识,获取与该标识相关联的索引信息项,将该索引信息项指示了,例如,如图4所示的节点102-1上的盘111-2上的某个物理地址、或者节点102-2上的盘412-3上的某个物理地址、或者节点102-3上的盘413-6上的某个物理地址、或者节点102-M上的盘414-5上的某个物理地址等。
在上述索引信息项所指示的上述第一物理地址处获取数据块,并将该数据块存储回到经更新的盘111-2中,如图9中的箭头所表示的。
以这样的方式,存储在隐藏文件410中的数据块可以存储回到经更新的第一存储单元中,这样避免了存储系统100对存储资源的重新分配计算,节省了存储系统100的计算工作,有利于存储系统100的性能表现。
在一些实施例中,如果发生故障的第一存储单元长时间的没有被更新,在这段时间中,用户可能已经对存储系统100中存储的数据进行了大量的修改,存储在隐藏文件410中的很多原第一存储单元中的数据可能已经被用户删除了。在这种情况下,如果第一存储单元被更新了,则存储在隐藏文件410中的剩余的数据块还是会存储回到经更新的第一存储单元中。在这种情况下,由于存储回到经更新的第一存储单元中的数据块减少了很多,可能会造成存储系统100中各个存储单元的存储空间分配的不平衡,因此,在一些实施例中,存储系统100还需要进行额外的自动平衡计算来平衡存储系统100中的存储资源分配。以这种方式,能够更好的平衡存储系统100的存储资源分配。
在一些实施例中,在将存储在隐藏文件410中的数据块存储回到经更新的第一存储单元中的过程中,会有大量的数据块需要被写入第一存储单元中,为了防止该第一存储单元因被写入的数据量过大而过忙,从而影响正常的读写I/O操作,需要将第一存储单元设置为暂时暂停状态,停止其他的读写I/O操作,直到数据块存储回第一存储单元的过程结束,再恢复第一存储单元的正常使用。以这种方式,能够确保存储系统100中的数据受到更好的保护。
图10示出了可以用来实施本公开内容的实施例的示例设备1000的示意性框图。例如,如图1所示的存储系统100可以由设备1000实施。如图10所示,设备1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序指令或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法300和/或800,可由处理单元1001执行。例如,在一些实施例中,方法300和/或800可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序被加载到RAM 1003并由CPU 1001执行时,可以执行上文描述的方法300和/或800的一个或多个动作。
本公开可以是方法、设备、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (17)

1.一种管理存储系统的方法,包括:
如果确定所述存储系统的第一存储单元发生故障,将所述第一存储单元中存储的数据块写入所述存储系统的隐藏文件中,
其中所述隐藏文件至少跨所述存储系统的第二存储单元和第三存储单元而分布,所述第二存储单元和所述第三存储单元不同于所述第一存储单元。
2.根据权利要求1所述的方法,其中将所述数据块写入所述隐藏文件中包括:
在所述存储系统中创建所述隐藏文件;
为所述隐藏文件创建对应于所述数据块的索引信息项,所述索引信息项指示被写入所述隐藏文件的所述数据块在所述存储系统中的第一物理地址。
3.根据权利要求2所述的方法,还包括:
在所述存储系统中的映射表中,相关联地存储所述索引信息项和所述第一存储单元的标识。
4.根据权利要求3所述的方法,还包括:
如果确定所述数据块已经被写入所述隐藏文件中,
响应于所述第一存储单元的更新,在所述映射表中查找所述第一存储单元的所述标识;以及
基于所述映射表中的与所述标识相关联的所述索引信息项,将所述索引信息项所指示的所述第一物理地址处的数据块写入经更新的所述第一存储单元。
5.根据权利要求4所述的方法,其中所述第一存储单元的更新包括以下至少一项:
所述第一存储单元的修复,
所述第一存储单元的替换。
6.根据权利要求1所述的方法,其中将所述第一存储单元中存储的数据块写入所述隐藏文件中包括:
对所述第一存储单元中存储的数据块进行重建;以及
将经重建的所述数据块写入所述隐藏文件中。
7.根据权利要求1所述的方法,还包括以下至少一项:
使所述数据块的冗余数据块写入所述隐藏文件,
在所述隐藏文件中存储所述第一存储单元的所述标识。
8.根据权利要求2所述的方法,还包括:
在所述数据块被写入所述隐藏文件后,将所述存储系统中记录的所述数据块在所述第一存储单元中的第二物理地址替换为与所述数据块对应的所述索引信息项。
9.一种电子设备,包括:
至少一个处理器;以及
存储有计算机程序指令的至少一个存储器,所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备执行动作,所述动作包括:
如果确定存储系统的第一存储单元发生故障,将所述第一存储单元中存储的数据块写入所述存储系统的隐藏文件中,
其中所述隐藏文件至少跨所述存储系统的第二存储单元和第三存储单元而分布,所述第二存储单元和所述第三存储单元不同于所述第一存储单元。
10.根据权利要求9所述的设备,其中将所述数据块写入所述隐藏文件中包括:
在所述存储系统中创建所述隐藏文件;
为所述隐藏文件创建对应于所述数据块的索引信息项,所述索引信息项指示被写入所述隐藏文件的所述数据块在所述存储系统中的第一物理地址。
11.根据权利要求10所述的设备,其中所述动作进一步包括:
在所述存储系统中的映射表中,相关联地存储所述索引信息项和所述第一存储单元的标识。
12.根据权利要求11所述的设备,其中所述动作进一步包括:
如果确定所述数据块已经被写入所述隐藏文件中,
响应于所述第一存储单元的更新,在所述映射表中查找所述第一存储单元的所述标识;以及
基于所述映射表中的与所述标识相关联的所述索引信息项,将所述索引信息项所指示的所述第一物理地址处的数据块写入经更新的所述第一存储单元。
13.根据权利要求12所述的设备,其中所述第一存储单元的更新包括以下至少一项:
所述第一存储单元的修复,
所述第一存储单元的替换。
14.根据权利要求9所述的设备,其中将所述第一存储单元中存储的数据块写入所述隐藏文件中包括:
对所述第一存储单元中存储的数据块进行重建;以及
将经重建的所述数据块写入所述隐藏文件中。
15.根据权利要求9所述的设备,其中所述动作进一步包括以下至少一项:
使所述数据块的冗余数据块写入所述隐藏文件,
在所述隐藏文件中存储所述第一存储单元的所述标识。
16.根据权利要求10所述的设备,其中所述动作进一步包括:
在所述数据块被写入所述隐藏文件后,将所述存储系统中记录的所述数据块在所述第一存储单元中的第二物理地址替换为与所述数据块对应的所述索引信息项。
17.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行根据权利要求1-8中的任一项所述的方法。
CN202011189490.6A 2020-10-30 2020-10-30 管理存储系统的方法、电子设备和计算机程序产品 Active CN114442903B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011189490.6A CN114442903B (zh) 2020-10-30 2020-10-30 管理存储系统的方法、电子设备和计算机程序产品
US17/121,643 US11429287B2 (en) 2020-10-30 2020-12-14 Method, electronic device, and computer program product for managing storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011189490.6A CN114442903B (zh) 2020-10-30 2020-10-30 管理存储系统的方法、电子设备和计算机程序产品

Publications (2)

Publication Number Publication Date
CN114442903A true CN114442903A (zh) 2022-05-06
CN114442903B CN114442903B (zh) 2024-07-05

Family

ID=81357803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011189490.6A Active CN114442903B (zh) 2020-10-30 2020-10-30 管理存储系统的方法、电子设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11429287B2 (zh)
CN (1) CN114442903B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120030411A1 (en) * 2010-07-29 2012-02-02 Phison Electronics Corp. Data protecting method, memory controller and portable memory storage apparatus
CN102455879A (zh) * 2010-10-21 2012-05-16 群联电子股份有限公司 存储器存储装置、存储器控制器与自动产生填充文件方法
US20160019114A1 (en) * 2014-07-15 2016-01-21 Nimble Storage, Inc. Methods and systems for storing data in a redundant manner on a plurality of storage units of a storage system
US20160132394A1 (en) * 2014-11-11 2016-05-12 Facebook. Inc. Storage drive remediation in a raid system
US20170337212A1 (en) * 2015-01-13 2017-11-23 Hitachi Data Systems Engineering UK Limited Computer program product, method, apparatus and data storage system for managing defragmentation in file systems
US20180300508A1 (en) * 2017-04-17 2018-10-18 EMC IP Holding Company LLC Method and device for managing storage system
CN109408403A (zh) * 2018-10-12 2019-03-01 深圳市硅格半导体有限公司 基于存储设备底层的映射方法、装置、系统及存储介质
US20190286373A1 (en) * 2018-03-15 2019-09-19 Pure Storage, Inc. Servicing i/o operations in a cloud-based storage system
CN110413208A (zh) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280752A (ja) * 2003-03-19 2004-10-07 Sony Corp データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
US8832394B2 (en) * 2011-03-31 2014-09-09 Emc Corporation System and method for maintaining consistent points in file systems
KR20130075018A (ko) * 2011-12-27 2013-07-05 한국전자통신연구원 플래시 메모리 파일 시스템에 적용 가능한 데이터 업데이트 장치 및 방법
WO2015135574A1 (en) * 2014-03-11 2015-09-17 Hitachi Data Systems Engineering UK Limited Computer program product, method, apparatus and data storage system for controlling write operations in the data storage system
WO2017044595A1 (en) * 2015-09-08 2017-03-16 OverNest, Inc. Systems and methods for storing data blocks using a set of generated logical memory identifiers
TWI613652B (zh) * 2017-03-27 2018-02-01 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
JP6443572B1 (ja) * 2018-02-02 2018-12-26 富士通株式会社 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
CN110851401B (zh) * 2018-08-03 2023-09-08 伊姆西Ip控股有限责任公司 用于管理数据存储的方法、装置和计算机可读介质
JP6860037B2 (ja) * 2019-05-20 2021-04-14 日本電気株式会社 重複排除記憶方法、重複排除記憶制御装置、重複排除ストレージシステム、プログラム
US20210397711A1 (en) * 2019-11-22 2021-12-23 Pure Storage, Inc. Detection of Writing to a Non-header Portion of a File as an Indicator of a Possible Ransomware Attack Against a Storage System
US20210303523A1 (en) * 2020-03-30 2021-09-30 Pure Storage, Inc. Replicating a File System

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120030411A1 (en) * 2010-07-29 2012-02-02 Phison Electronics Corp. Data protecting method, memory controller and portable memory storage apparatus
CN102455879A (zh) * 2010-10-21 2012-05-16 群联电子股份有限公司 存储器存储装置、存储器控制器与自动产生填充文件方法
US20160019114A1 (en) * 2014-07-15 2016-01-21 Nimble Storage, Inc. Methods and systems for storing data in a redundant manner on a plurality of storage units of a storage system
US20160132394A1 (en) * 2014-11-11 2016-05-12 Facebook. Inc. Storage drive remediation in a raid system
US20170337212A1 (en) * 2015-01-13 2017-11-23 Hitachi Data Systems Engineering UK Limited Computer program product, method, apparatus and data storage system for managing defragmentation in file systems
US20180300508A1 (en) * 2017-04-17 2018-10-18 EMC IP Holding Company LLC Method and device for managing storage system
US20190286373A1 (en) * 2018-03-15 2019-09-19 Pure Storage, Inc. Servicing i/o operations in a cloud-based storage system
CN110413208A (zh) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN109408403A (zh) * 2018-10-12 2019-03-01 深圳市硅格半导体有限公司 基于存储设备底层的映射方法、装置、系统及存储介质

Also Published As

Publication number Publication date
US20220137833A1 (en) 2022-05-05
CN114442903B (zh) 2024-07-05
US11429287B2 (en) 2022-08-30

Similar Documents

Publication Publication Date Title
US11281536B2 (en) Method, device and computer program product for managing storage system
CN108733314B (zh) 用于独立冗余阵列(raid)重建的方法、设备和计算机可读存储介质
CN109725822B (zh) 用于管理存储系统的方法、设备和计算机程序产品
US10719407B1 (en) Backing up availability group databases configured on multi-node virtual servers
US10949314B2 (en) Method and apparatus for failure recovery of storage device
US11449400B2 (en) Method, device and program product for managing data of storage device
CN110413208B (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN109725823B (zh) 用于管理混合存储盘阵列的方法和设备
US11074146B2 (en) Method, device and computer program product for managing redundant arrays of independent drives
US11320988B2 (en) Method, apparatus and computer program product for managing disk array
US11385823B2 (en) Method, electronic device and computer program product for rebuilding disk array
US11093357B2 (en) Method for managing disks, electronic device and computer program product
CN113590019B (zh) 用于存储管理的方法、电子设备和计算机程序产品
CN113377569B (zh) 用于恢复数据的方法、设备和计算机程序产品
CN112748849B (zh) 用于存储数据的方法、设备和计算机程序产品
CN108733307B (zh) 存储管理方法、设备以及计算机可读介质
CN113391945A (zh) 用于存储管理的方法、电子设备以及计算机程序产品
US10289326B2 (en) Optimized data layout for object store system
CN113535073A (zh) 管理存储单元的方法、电子设备和计算机程序产品
CN113391937A (zh) 用于存储管理的方法、电子设备以及计算机程序产品
CN112783698A (zh) 一种存储系统中的元数据的管理方法及装置
CN114442903B (zh) 管理存储系统的方法、电子设备和计算机程序产品
CN111104047A (zh) 管理冗余磁盘阵列的方法、设备和计算机可读存储介质
US20220091769A1 (en) Method, device and computer program product for managing storage pool
US11620080B2 (en) Data storage method, device and computer program product

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