CN111857552A - 存储管理方法、电子设备和计算机程序产品 - Google Patents
存储管理方法、电子设备和计算机程序产品 Download PDFInfo
- Publication number
- CN111857552A CN111857552A CN201910359618.XA CN201910359618A CN111857552A CN 111857552 A CN111857552 A CN 111857552A CN 201910359618 A CN201910359618 A CN 201910359618A CN 111857552 A CN111857552 A CN 111857552A
- Authority
- CN
- China
- Prior art keywords
- stripe
- raid
- storage
- data
- stripes
- 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.)
- Pending
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/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID 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
-
- 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开的实施例提供了一种存储管理方法、电子设备和计算机程序产品。该方法包括响应于向独立盘冗余阵列(RAID)写入数据的请求,确定组成RAID的多个存储盘中是否存在离线盘,RAID包括多个条带,一个条带包括从多个存储盘划分的相应多个存储块;响应于确定多个存储盘中存在离线盘,从多个条带中选择目标条带,目标条带中被分配用于存储校验信息的存储块来自离线盘;以及将数据写入目标条带。通过这种方式,在存在离线盘的情况下,可以改进数据写入的性能。此外,还可以潜在地改进后续数据读取的性能。
Description
技术领域
本公开的实施例一般地涉及计算机系统或存储系统,并且更特别地,涉及一种存储管理方法、电子设备和计算机程序产品。
背景技术
在基于独立盘冗余阵列(RAID)的存储系统中,如果RAID中的某个存储盘被移除或发生故障,则存储系统将会向后端发送相应的事件通知,以使后端更新存储盘信息。此后,后端可以向RAID模块发送事件通知以指示该存储盘变为离线。离线盘将无法被用于输入/输出(I/O)访问。RAID的数据冗余和恢复能力机制使得在存在离线盘的情况下仍然能够支持数据的I/O访问。然而,在传统方案中,离线盘的存在会在I/O访问的速度和资源消耗方面带来不利影响。
发明内容
本公开的实施例涉及一种存储管理方案。
在本公开的第一方面,提供了一种存储管理方法。该方法包括:响应于向独立盘冗余阵列(RAID)写入数据的请求,确定组成RAID的多个存储盘中是否存在离线盘,RAID包括多个条带,一个条带包括从多个存储盘划分的相应多个存储块;响应于确定多个存储盘中存在离线盘,从多个条带中选择目标条带,目标条带中被分配用于存储校验信息的存储块来自离线盘;以及将数据写入目标条带。
在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理器以及存储有计算机程序指令的至少一个存储器。至少一个存储器和计算机程序指令被配置为响应于向独立盘冗余阵列(RAID)写入数据的请求,确定组成RAID的多个存储盘中是否存在离线盘,RAID包括多个条带,一个条带包括从多个存储盘划分的相应多个存储块;响应于确定多个存储盘中存在离线盘,从多个条带中选择目标条带,目标条带中被分配用于存储校验信息的存储块来自离线盘;以及将数据写入目标条带。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使设备响应于向独立盘冗余阵列(RAID)写入数据的请求,确定组成RAID的多个存储盘中是否存在离线盘,RAID包括多个条带,一个条带包括从多个存储盘划分的相应多个存储块;响应于确定多个存储盘中存在离线盘,从多个条带中选择目标条带,目标条带中被分配用于存储校验信息的存储块来自离线盘;以及将数据写入目标条带。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其他特征通过以下的描述将变得容易理解。
附图说明
通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例,其中:
图1示出了本公开的实施例可以在其中被实现的示例存储系统的框图。
图2示出了根据本公开的实施例的RAID的示例结构的示意图。
图3示出了根据本公开的实施例的存储系统中示例逻辑-物理映射的示意图。
图4示出了根据本公开的实施例的RAID块中条带的布局方式的示意图。
图5A至图5D示出了根据本公开的实施例的在降级状态下RAID中的条带的数据读和写操作的示意图。
图6示出了根据本公开的实施例的存储管理方法的示意性流程图。
图7示出了根据本公开的实施例的从处于降级状态的单个RAID块中确定被分配用于存储校验信息的存储块位于离线盘的条带的示意图。
图8示出了可以被用来实施本公开的实施例的设备的示意性框图。
贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相似的组件。
具体实施方式
下面将参考附图中所示出的若干示例性实施例来描述本公开的原理和精神。应当理解,描述这些具体的实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。
在基于RAID的存储系统中,RAID的条带包括来自多个存储盘的存储块。因此,如果多个存储盘中的一个或多个存储盘由于故障或被拔出等原因变为离线,无法继续被访问,那么基于该存储盘建立的条带的一部分数据/校验信息将无法被访问。由于RAID的数据冗余和恢复能力机制,条带仍然可以被写入数据,或者其他存储的数据仍然可以被读出。然而,相比于与离线盘无关的正常条带,可能会消耗更多的计算资源、更多次的盘访问和/或更长的处理时间。为了更好地理解在盘离线时对存储系统的数据读写过程,以下将首先介绍在基于RAID的存储系统的基本架构。
图1示出了本公开的实施例可以在其中被实现的示例性存储系统100的示意图。如图1所示,存储系统100包括硬件存储池140,其包括多个存储盘142-1、142-2、142-3、……、142-N(N是大于等于1的整数)等等,以用于提供存储系统100的物理存储空间。为便于讨论,这些存储盘有时被统称为或分别称为存储盘142。存储盘142可以包括各种类型的具有存储功能的设备,包括但不限于,硬盘(HDD)、固态盘(SSD)、可移除盘、紧致盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘、串行附接小型计算机系统接口(SCSI)存储盘(SAS)、串行高级技术附接(SATA)存储盘、任何其他磁性存储设备和任何其他光学存储设备、或它们的任何组合。
存储系统100中的RAID 130建立在多个存储盘142之上,以利用RAID算法组织存储盘142的物理存储空间。RAID 130向存储空间100的映射器120提供扁平物理地址空间。映射器120被配置为管理存储系统100的物理地址与逻辑地址之间的映射。映射器120向命名空间模块110提供扁平线性逻辑地址空间。命名空间模块110利用映射器提供的逻辑地址空间,并且可以调用映射器120的应用程序接口(API)来获得逻辑到物理地址的映射。在对存储系统100执行I/O操作时,来自用户的I/O请求由命名空间模块110接收,并被发送给映射器120。映射器120查找I/O请求所针对的数据的物理(数据被写入的地址或读取数据的地址),并向RAID 130发起I/O,以由RAID 130向后端的存储盘进行实际I/O操作。
应当理解,图1仅示意性地示出了存储系统100中的与本公开的实施例相关的单元、模块或组件。图1中示出的各个组件仅是一种示例存储系统管理架构,在其他基于RAID的存储系统中,可能存在其他架构划分方式,用于其他功能的其他单元、模块或组件,等等。因此,本公开的实施例不限于图1所描绘的具体设备、单元、模块或组件,而是一般性地适用于任何基于RAID技术的存储系统。图1中示出的各个组件(除硬件存储盘142之外)可以被实现在单个或多个计算设备中。
在基于RAID的存储系统中,可以利用各种RAID算法来组织物理存储盘142,包括传统RAID算法以及当前被称为RAID 2.0的架构。为了更好地理解基于RAID的存储系统,图2示出了RAID 130的示例结构。如图2所示,存储盘142被划分为多个盘区(disk extent)或多个盘切片(disk slice)202。这样的划分可以是逻辑上的划分。盘区202的大小取决于存储盘大小和划分方式。在一些示例中,盘区202的大小可以是千兆字节(gigabyte)级别。当然,根据实际部署需要,其他盘区大小也是可能的。
RAID 130以盘区202为单位构建。在一些动态分配的存储系统中,当RAID 130初始被创建时,所有盘区是空闲的。随着数据写入,当发现RAID的容量不足时,RAID 130将以一定算法从不同存储盘142中选择多个盘区202,并将这些盘区202组成RAID 130的RAID块210。这样的RAID块210可以被认为是一个小型的RAID,因为RAID块210的I/O访问和管理类似于常规的RAID。
可以以任何适当算法,诸如轮询分发(Round-Robin)算法、加权轮询分发算法等,从多个存储盘142选择盘区202。每个RAID块210所包括的盘区的数目取决于RAID的类型,以提供不同级别的数据冗余和恢复能力。RAID的类型包括RAID 2、RAID 3、RAID 4、RAID 5、RAID 6、RAID 7、RAID 10等。在图2以及下文中,出于解释说明的目的,以RAID 5类型来讨论本公开的示例实施例。然而,应当理解,本公开的示例实施例可以类似地应用于任何其他类型的RAID。
在图2中,根据RAID 5类型,每个RAID块210包括来自不同的存储盘142的五个盘区。如以上提及的,根据数据写入的需要可以不断分配分配新的RAID块210,使得RAID 130的容量实现动态增长。图2中示出了已分配的五个RAID块210(即,RAID块0至RAID块5)。在图2中在每个盘区202中以“RAID块0”、“RAID块1”、“RAID块2”、“RAID块3”、“RAID块4”或“RAID块5”来标记该盘区被分配到的相应RAID块。各个存储盘142中未被选择用作RAID块的盘区202被认为是空闲盘区202,被标记为“空闲”。
在一些实施例中,每个存储盘142中还可以被预留一个或多个盘区202(被标记为“预留”),以在盘故障时用于数据重建。例如,如果一个存储盘142发生故障,该存储盘142的盘区202均被标注为故障,这意味着基于这些盘区202建立的RAID块210也受到影响。存储系统100可以启动重建过程,将选择预留的盘区202用于替换RAID块210中被标记为故障的盘区,并将被标记为故障的盘区中的数据/信息重建到所预留的盘区202。根据重建算法,重建过程可能是在盘故障后一段时间内被启动。本公开的实施例的范围在此方面不受限制。
如以上描述的,映射器120将逻辑存储空间提供给上层(例如,命名空间模块110),并且将逻辑存储空间映射到RAID 130的物理存储空间。图3示出了映射器120中的示例逻辑-物理映射300。如图3所示,逻辑地址空间130由多个页面组成。每个页面可以具有相同大小,例如每个页面可以是4KB大小。当然,其他页面大小也是可能的。映射器120可以利用B+树数据结构作为映射树320,以4K页面的粒度来指向逻辑地址空间中的页面。图3示出一个示例三级B+树结构的映射树320。应当理解,其他级别的树结构或者其他类型的数据结构也可以被用于实现映射。
如图所示,映射树320包括根节点321、多个中间节点322和多个叶子节点325,每个节点321、322、325具有多个条目。每个条目对应于相应指针,用于指向下一级条目。叶子节点325中的条目指向逻辑地址空间中的页面。在一个示例中,每个节点可以包括512个指针,每个指针指向下一级条目或页面。当然,此处的指针数目仅是一个示例,其他数目的指针也是可行的。在一些实现中,逻辑地址空间的多个页面组成一个更大的单位虚拟块,被称为虚拟大型块(VLB)312-0、312-1等等(有时统称为或分别称为VLB 312或虚拟块312)。每个VLB312被映射到RAID 130的单位物理块。
RAID 130的物理存储空间被划分成多个条带,每个条带可以具有相同大小。条带有时也可以被称为物理大型块(PLB)。条带的大小例如可以是2兆字节(MB),当然任何其他适当大小也是可能的。在一些示例中,条带的大小可以是VLB中单个页面大小的整数倍,例如是4KB的整数倍。
图3中示出了RAID 130中的单个RAID块210的条带划分,其中仍然以RAID 5类型为例进行说明。如图所示,RAID块210包括多个条带,即,条带0 342-0至条带M 342-M(有时统称为或分别称为条带342),其中M是大于等于1的整数。每个条带342包括跨多个存储盘142的多个盘区202(即盘区0至盘区4)的相应多个存储块302。换言之,每个条带342包括来自多个存储盘142的相应多个存储块302。这种跨存储盘分布的存储空间分配有助于防止个别存储盘故障时导致的数据丢失。映射器120将按照条带为单位进行逻辑-物理映射。每个虚拟块VLB 312被映射到一个条带342。例如,图3中示出了VLB 312-0被映射到条带342-0,VLB312-1被映射到条带342-1等等。
在执行写操作时,待写入的数据首先被缓存到高速缓存设备(未示出),再根据预定的数据冲刷机制被冲刷到映射器120。映射器120然后在映射树320中设置待写入的数据要被存储到的条带与VLB之间的映射关系,然后将数据写入RAID块210中的条带342。由于映射器120是基于逻辑的映射系统,当物理存储空间中的数据被重写时,只需要更新叶子节点325的相应条目的指针以指向新的VLB(即被映射到被重新的条带的VLB)。
将理解,本公开的实施例不限于上述具体数值和具体数据结构,在其他实施例中,上述逻辑地址空间的大小和划分粒度以及物理地址空间的大小和划分粒度均可以设置为任何适当的数值,并且映射器120可以采用其他合适的数据结构来维持逻辑地址与物理地址之间的映射。
取决于RAID的类型,RAID 130中各个RAID块210的各个条带342可以具有不同的布局方式。图4进一步示出了RAID 130的一个RAID块210中各个条带342的布局方式。每个条带342的多个存储块302分别被分配用于存储数据和校验信息。在图4中,每个条带342中被分配用于存储数据的存储块用“D”标记(条带中存储数据的存储块还被相应编号),而被分配用于存储校验信息的存储块用“P”标记。每个条带342中存储数据的存储块和存储校验信息的存储块的数目取决于RAID类型。在图4所示的基于RAID 5类型的条带342中,四个存储块302被用于存储数据,而另一个存储块302被用于存储校验信息。
在一些实施例中,RAID块210中的不同条带342中用于存储校验信息的存储块302的位置可以在不同存储盘142(即组成RAID块210的不同盘区202)之间循环旋转。例如,在图4中,条带342-0中用于存储校验信息的存储块302位于盘区0,条带342-1中用于存储校验信息的存储块302位于另一盘区1,条带342-2中用于存储校验信息的存储块302位于不同的盘区2,以此类推。随着数据的写入,条带342中的存储块以类似布局方式被用于存储数据和相应的校验信息。
应当理解,图4仅是基于RAID 5类型的条带的布局方式。其他类型的RAID的条带可能具有其他方式的布局。在一些实施例中,在基于其他RAID类型建立的RAID中,每个条带中还可以具有两个或更多存储块用于存储校验信息。例如,在基于RAID 6类型的RAID中,每个条带包括六个存储块,其中四个存储块用于存储数据,两个存储块用于存储校验信息。
在存储系统100的操作期间,如果某个存储盘142由于故障或者被拔出而变为离线,该存储盘142的所有盘区202被标记为故障。包括这些盘区的相应RAID块210将进入降级状态。在这种状态下,由于存在故障盘区,RAID块210中每个条带342的I/O访问(读和写)将受到影响。下文将参照图5A至图5D的示例来描述在降级RAID块210的情况下对条带342的读操作和写操作。在图5A至图5D的示例中,为了方便解释说明,条带342中用于数据和校验信息的存储块的布局类似于图4中条带342-0。
图5A和图5B的示例涉及读操作。在这个示例中,假设图4的RAID块210中盘区3所在的存储盘142变为离线,盘区3被标记为故障。这将影响由盘区3组成的RAID块210,特别是RAID块210中由盘区3的各个存储块302组成的条带342。因此,条带342-0中的存储数据的存储块D1处于故障状态(或者是降级状态)。在图5A中,如果存储系统100接收到针对条带342的存储块D2中的数据的读请求,由于存储块D2所在的存储盘142仍然正常操作,因此可以直接读取存储块D2中的数据513。例如,映射器120可以通过RAID130直接向存储块D2所在的盘区2发送I/O读请求。
类似地,如果读请求502是针对存储块D3和D0的请求,也可以直接获得这些存储块中的数据。然而,如图5B的示例所示,如果读请求502要读取存储块D1中的数据,则需要首先从存储块D0、D2、D3和P中分别读取数据511至513以及校验信息514,并且基于数据511至513和校验信息514来重构存储块D1中的数据515。例如,取决于条带中所使用的校验算法,可以例如利用异或运算或者其他算法来处理数据511至513和校验信息514,以确定存储块D1中的数据515。这导致了同一条带内的更多次数据读取以及计算,引起更多I/O带宽开销和计算开销。
图5C和图5D还示出了在降低RAID块210中针对条带342-0的写操作。在存储系统100中,数据的写入通常以条带为单位来执行。在图5C的示例中,假设图4的RAID块210中盘区0所在的存储盘142变为离线,盘区0被标记为故障。这将影响由盘区0组成的RAID块210,特别是RAID块210中由盘区0的各个存储块302组成的条带342。因此,条带342-0中的存储校验信息的存储块P处于故障状态。如果存储系统100接收到写入数据的请求520,并决定将数据写入条带342-0,数据将被划分成多个数据块521至524。这些数据块521至524直接被写入存储块D0至D3中。由于存储校验信息的存储块P故障,将不会生成这些数据的校验信息。
在图5D的示例中,假设离线盘影响条带中存储数据的存储块,例如与图5A和图5B的示例类似,盘区3所在的存储盘142变为离线,因此条带342-0中存储数据的存储块D1处于故障状态(或者是降级状态)。此时,需要基于要写入的数据块521至524生成校验信息525,然后将校验信息525写入存储块P,并且将数据块521、523和524分别写入未故障的存储块D0、D2和D3。这样,虽然数据块522无法被写入故障存储块D1,由于校验信息525的存在,在后续需要读取这部分数据时,仍然能够基于数据块521、523和524和校验信息525来重建数据块522。然而,在降级状态下,在写入数据之前校验信息的生成仍然需要消耗计算资源。
在传统方案中,无论是在正常状态中或者是在因为存储盘离线而进入降级状态,存储系统总是按照逻辑空间地址的顺序来将数据顺序写入RAID的条带。这将会使得在很多情况下I/O访问性能下降。
通过研究在降级状态下基于RAID的存储系统中的I/O读写,发明人认识到,如果某个条带中受到离线盘影响的存储块是用于存储校验信息的存储块,将数据写入该条带将不会引起更多的计算消耗。此外,对该条带的后续数据读取也不会引起额外的I/O带宽消耗和计算消耗。发明人还认识到,当存储系统中的一个或多个存储盘离线时,一定比例的条带中被分配用于存储校验信息的存储块是来自该离线盘。例如,图4中图示的基于RAID 5类型的RAID块中,如果一个存储盘离线,大约1/5的条带的用于存储校验信息的存储块来自离线盘。对于整个RAID而言,这个比例也大约是1/5。根据RAID类型的不同和条带中存储块的布局不同,这个比例可能会发生变化。例如,对于RAID 6类型的RAID,如果在多个盘区之间循环放置校验信息,用于存储校验信息的存储块来自离线盘的条带的比例大约是2/6,因为在每个条带的六个存储块中存在两个存储块用于存储校验信息。
至少基于上述认识,本公开提出了一种在基于RAID的存储系统中改进的存储管理方案。根据该方案,在需要向RAID写入数据时,如果用于构建RAID的多个存储盘中存在离线盘,取代于按顺序写入条带,要从RAID的多个条带中确定特定条带,该条带中被分配用于存储校验信息的存储块来自离线盘。将数据写入所确定的特定条带。通过这种方式,在存在离线盘的情况下,可以改进数据写入的性能,降低计算开销。此外,还可以潜在地改进后续数据读取的性能,包括降低计算开销和I/O带宽开销。
图6示出了根据本公开的实施例的存储管理方法600的流程图。在一些实施例中,方法600可以被实现在存储系统100处,特别是被实现在映射器120处。因此,方法600例如由实现存储系统100或者是单独实现映射器120的计算设备来实现。为便于描述,在下文中将参考图1至图4中的存储系统架构和其中RAID的详细结构。然而,应当理解,方法600可以不限于图1至图4中所图示的应用,而是可以被应用于任何其他适当类型的RAID。
在框610,响应于向RAID 130写入数据的请求(也称为“写请求”),映射器120确定组成RAID 130的多个存储盘142是否存在离线盘。RAID 130包括多个条带342。在以上图2以及类似实施例中,RAID 130可以按RAID块为单位动态增加其容量,每个RAID块包括一定数目的条带342。在一些实施例中,RAID 130可以包括预定容量,并且被划分为预定数目的条带。本公开的实施例对RAID 130的类型不做限制。无论RAID类型如何,通常RAID 130中每个条带342包括从多个存储盘142划分的相应多个存储块302。换言之,每个条带342被分配跨多个存储盘142的存储块302。
在一些实施例中,在存储系统100接收到写入数据的请求后,这些数据可能不是立即被写入物理存储空间,而是首先被缓存到高速缓存设备中。映射器120可以根据预定的数据冲刷机制决定何时将数据写入RAID 130中的条带342。映射器120可以按条带为单位执行数据写入。在一些实施例中,映射器120可以在要将待写入的数据实际写入到RAID 130时确定多个存储盘142是否存在离线盘。
在一些情况中,由于故障或被拔出等原因,组成RAID 130的一个或多个存储盘142将变为离线。这样的存储盘142也称为离线盘142。离线盘无法被用于I/O访问。因此,由离线盘142的存储块302也进入离线状态,此时,由多个条带342组成的RAID块210或者相应条带342均进入降级状态。在降级状态中,条带342仍然能够用于I/O访问,例如读和/或写数据。
在一些实施例中,在确定离线盘时,映射器120可以获得与RAID130相关的元数据,并基于元数据确定RAID 130中当前可写入的RAID块210是否处于降级状态(即一个或多个存储块302来自离线盘142的盘区202)。当前可写入的RAID块210指的是当前动态分配给RAID 130的可用存储空间。如以上提及的,RAID块210包括RAIDO 130中预定数目的条带342。在一些实施例中,元数据还可以指示具体哪个存储盘142处于离线状态。
如果确定存在离线盘,在框620,映射器120从多个条带342中选择目标条带342,该目标条带342中被分配用于存储校验信息的存储块来自离线盘142,并且在框630,映射器120将数据写入目标条带342。也就是说,根据本公开的实施例,在存在离线盘的情况下(例如,在RAID 130的降级状态下),在需要写入数据时,优先将数据写入存储校验信息的存储块位于离线盘的条带。如果将数据写入这样的目标条带,可以无需生成数据的校验信息,而是直接将数据写入目标条带中除了来自离线盘的存储块之外的其余存储块,这类似于图5C的示例所图示的场景。
由于避免的校验信息的生成,这样的数据写入可以减少计算开销。此外,这还可以潜在地改进后续对这部分数据的读取的性能。例如,在将数据写入目标条带342之后,如果接收到要读取这些数据中的至少一部分的请求,映射器120可以从目标条带直接读取所请求的数据部分。这是因为在数据写入时,所有数据均被写入分配用于存储数据的存储块,而不会被写入来自离线盘的存储块(因为该存储块在目标条带中是被分配用于存储校验信息),因此在数据读取时总是可以直接从相应存储块中获得数据的相应部分。这类似于关于图5A的示例所图示的场景。相比于在来自离线盘的存储块用于存储数据的情景(例如,关于图5B的示例所图示的场景),可以有效地降低为了重构数据所需要执行的I/O读取和数据重构计算。
下文将详细描述如何从RAID 130中确定目标条带。在基于RAID块的实施例中,可以首先确定RAID 130中可写入的RAID块210。然后,从RAID块210中确定空闲条带342,并从空闲条带342中选择目标条带。空闲条带指的是还未被用于存储数据的条带。
在一些实施例中,为了定位目标条带,映射器120可以基于RAID130的条带布局信息和所确定的离线盘142在组成RAID 130的多个存储盘142中的相对位置来确定哪些(空闲)条带来自离线盘142。RAID 130的条带布局信息用于指示条带342如何跨多个存储盘分布,特别是在单个RAID块210中如何分布。这样的条带布局信息例如可以包括RAID块210已使用的容量、单位条带的容量和条带宽度。条带宽度指的是同时可以并发读或写的条带数目,其等于RAID中的物理硬盘数目。条带宽度与RAID 130的类型相关。例如,对于RAID 5类型的RAID 130,条带342的宽度为5。
条带布局信息还包括每个条带中用于存储校验信息的存储块的分布模式。在一些实施例中,多个条带342中用于校验信息的存储块在多个存储盘142(或者在RAID块210中是在多个盘区202)之间循环旋转,如图4所示。在其他实施例中,不同条带342中用于校验信息的存储块可以以其他预定分布模式旋转。这样的分布模式只要不是随机分布,而是按照预定规则在多个存储盘142之间分布即可。
图7示出了从处于降级状态的单个RAID块210中确定被分配用于存储校验信息的存储块位于离线盘的条带的示例。在图7的示例中,按照循环旋转方式来分布多个条带中用于校验信息的存储块。假设RAID块210中盘区1所在的存储盘142处于离线状态,因此导致盘区1中的存储块均离线,无法用于数据读写。
映射器120可以基于RAID块210已使用的容量和条带342的容量以及条带宽度来确定RAID块210中第一个空闲条带中用于存储校验信息的存储块的位置。在一个示例中,该位置(被表示为“Ppos”)可以被计算为:Ppos=(Cap_b/Cap_plb)%Width,其中Cap_b表示RAID块210已使用的容量(假设按存储块为单位),Cap_plb表示单位条带的容量(假设也按存储块为单位),Width表示条带宽度,并且%表示求余运算。在图7的示例中,假设RAID块210已使用的容量为0个存储块(即该RAID块210未被写入数据),单位条带容量为五个存储块,宽度为5,那么第一个空闲条带中用于存储校验信息的存储块的位置为Ppos=(0/5)%5=0。
映射器120可以继续基于条带中用于存储校验信息的存储块的分布模式和离线盘142在组成RAID 130的多个存储盘142中的相对位置来确定RAID块210中用于存储校验信息的存储块位于离线盘142上的第一个空闲条带的索引。注意,在RAID块210中,离线盘142在组成RAID 130的多个存储盘142中的相对位置与来自离线盘的盘区在组成RAID块210的多个盘区中的相对位置一样。在一些实施例中,这个相对位置可以由对多个盘区按顺序索引后盘区的索引号来确定。在此,假设RAID块210中的条带从0开始按顺序索引,并且来自多个存储盘142的盘区也是从0开始按顺序索引。
在一个示例中,用于存储校验信息的存储块位于离线盘142上的第一个空闲条带的索引(被表示为“Pdeg”)可以被计算为:Pdeg=(Width-Ppos+I)%Width,其中I表示离线盘142在组成RAID 130的多个存储盘142中的相对位置,I的取值可以从0到条带宽度减一(例如,5-1=4)。在图7的示例中,由于盘区1所在的存储盘142离线,因此I=1。此时,用于存储校验信息的存储块位于离线盘142上的第一个空闲条带的索引Pdeg=(5-0+1)%5=1。也就是说,在RAID块210中,用于存储校验信息的存储块位于离线盘142上的第一个空闲条带是条带1(即条带342-1)。
RAID块210中用于存储校验信息的存储块位于离线盘142上的所有空闲条带的索引可以基于所确定的第一个条带、RAID块210的条带数目以及条带宽度来确定。在一个示例中,用于存储校验信息的存储块位于离线盘142上的空闲条带的索引被确定为:Pdeg_m=Pdeg+m*Width,其中m的最小取值是0,此时Pdeg_i表示用于存储校验信息的存储块位于离线盘142上的第一个空闲条带的索引,m的最大取值是M/5,其中M表示RAID块210中的条带总数。因此,如果用于存储校验信息的存储块位于离线盘142上的第一个空闲条带的索引Pdeg=1,那么用于存储校验信息的存储块位于离线盘142上的后续条带的索引是Pdeg_1=1+1*5=6,即图7中的条带342-6。类似地,最后一个条带的索引是Pdeg_max=1+M/5*5。
由此,映射器120可以从所有空闲条带中确定至少一个空闲条带,所确定的空闲条带中用于存储校验信息的存储块来自离线盘。映射器120可以从所确定的空闲条带中选择一个空闲条带用于写入当前待写入的数据。在一个示例中,映射器120可以按顺序选择第一个空闲条带作为目标条带。在其他示例中,映射器120可以随机选择一个可用条带作为目标条带。本公开的实施例在此方面不受限制。
应当理解,以上给出了对用于存储校验信息的存储块来自离线盘的条带的定位方式仅仅是一个示例。在其他实施例中,只需要确定RAID中条带的布局方式以及离线盘的具体位置,还可以以任何其他方式从RAID 130或RAID块210中确定被分配用于存储校验信息的存储块来自离线盘的一个或多个条带。本公开的实施例的范围在此方面不受限制。
虽然在上文的实施例中以RAID 5类型的存储系统为例进行讨论,并且在存在单个离线盘的情况下讨论,在另外一些情况中,取决于RAID类型,每个条带可以存在用于存储校验信息的多个存储块。在这样的实施例中,如果多个存储盘离线,可以优先写入其用于存储校验信息的多个存储块均来自离线盘的条带,以便提高读写性能。
在一些实施例中,对于后续的数据写入,映射器120均可以以类似方式不断优先写入其用于存储校验信息的存储块来自离线盘的可用条带,直到RAID 130中可用存储空间中没有任何条带的用于存储校验信息的存储块来自当前离线盘。
如果用于构建RAID 130的所有存储盘142均处于正常工作状态,或者如果在存在离线盘142的情况下其用于存储校验信息的存储块来自离线盘的条带均已经被写入数据,那么映射器120可以按顺序选择可用条带来执行数据写入。
图8示意性示出能够被用来实施本公开的实施例的设备800的框图。如图8中所示出的,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储设备(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储设备(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法600可由处理单元801来执行。例如,在一些实施例中,方法600可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM803并由CPU 801执行时,可以执行上文描述的方法600的一个或多个步骤。
如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。本文还可能包括其他明确的和隐含的定义。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。
应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。
此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
虽然已经参考若干具体实施例描述了本公开,但是应当理解,本公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。
Claims (18)
1.一种存储管理方法,包括:
响应于向独立盘冗余阵列(RAID)写入数据的请求,确定组成所述RAID的多个存储盘中是否存在离线盘,所述RAID包括多个条带,一个条带包括从所述多个存储盘划分的相应多个存储块;
响应于确定所述多个存储盘中存在离线盘,从所述多个条带中选择目标条带,所述目标条带中被分配用于存储校验信息的存储块来自所述离线盘;以及
将所述数据写入所述目标条带。
2.根据权利要求1所述的方法,其中选择所述目标条带包括:
确定所述RAID中可写入的RAID块,所述RAID块包括所述多个条带中预定数目的条带;
从所述RAID块中确定空闲条带;以及
从所述空闲条带中选择所述目标条带。
3.根据权利要求2所述的方法,其中从所述空闲条带中选择所述目标条带包括:
基于所述RAID的条带布局信息和所述离线盘在所述多个存储盘中的相对位置,从所述空闲条带中确定被分配用于存储校验信息的存储块来自所述离线盘的至少一个空闲条带;以及
从所确定的至少一个空闲条带中选择所述目标条带。
4.根据权利要求3所述的方法,其中所述条带布局信息包括基于所述RAID块已使用的容量、单位条带的容量、所述条带宽度以及各个条带中用于存储校验信息的存储块的分布模式。
5.根据权利要求1所述的方法,其中将所述数据写入所述目标条带包括:
将所述数据写入所述目标条带中除了来自所述离线盘的存储块之外的其余存储块,而不生成所述数据的校验信息。
6.根据权利要求1所述的方法,进一步包括:
响应于读取所述数据的至少一部分的另一请求,从所述目标条带直接读取所述数据的所述至少一部分。
7.一种电子设备,包括:
至少一个处理器;以及
存储有计算机程序指令的至少一个存储器,所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备执行动作,所述动作包括:
响应于向独立盘冗余阵列(RAID)写入数据的请求,确定组成所述RAID的多个存储盘中是否存在离线盘,所述RAID包括多个条带,一个条带包括从所述多个存储盘划分的相应多个存储块;
响应于确定所述多个存储盘中存在离线盘,从所述多个条带中选择目标条带,所述目标条带中被分配用于存储校验信息的存储块来自所述离线盘;以及
将所述数据写入所述目标条带。
8.根据权利要求7所述的设备,其中选择所述目标条带包括:
确定所述RAID中可写入的RAID块,所述RAID块包括所述多个条带中预定数目的条带;
从所述RAID块中确定空闲条带;以及
从所述空闲条带中选择所述目标条带。
9.根据权利要求8所述的设备,其中从所述空闲条带中选择所述目标条带包括:
基于所述RAID的条带布局信息和所述离线盘在所述多个存储盘中的相对位置,从所述空闲条带中确定被分配用于存储校验信息的存储块来自所述离线盘的至少一个空闲条带;以及
从所确定的至少一个空闲条带中选择所述目标条带。
10.根据权利要求9所述的设备,其中所述条带布局信息包括基于所述RAID块已使用的容量、单位条带的容量、所述条带宽度以及各个条带中用于存储校验信息的存储块的分布模式。
11.根据权利要求7所述的设备,其中将所述数据写入所述目标条带包括:
将所述数据写入所述目标条带中除了来自所述离线盘的存储块之外的其余存储块,而不生成所述数据的校验信息。
12.根据权利要求7所述的设备,其中所述动作进一步包括:
响应于读取所述数据的至少一部分的另一请求,从所述目标条带直接读取所述数据的所述至少一部分。
13.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使设备:
响应于向独立盘冗余阵列(RAID)写入数据的请求,确定组成所述RAID的多个存储盘中是否存在离线盘,所述RAID包括多个条带,一个条带包括从所述多个存储盘划分的相应多个存储块;
响应于确定所述多个存储盘中存在离线盘,从所述多个条带中选择目标条带,所述目标条带中被分配用于存储校验信息的存储块来自所述离线盘;以及
将所述数据写入所述目标条带。
14.根据权利要求13所述的计算机程序产品,其中所述机器可执行指令在被执行时使所述设备:
确定所述RAID中可写入的RAID块,所述RAID块包括所述多个条带中预定数目的条带;
从所述RAID块中确定空闲条带;以及
从所述空闲条带中选择所述目标条带。
15.根据权利要求14所述的计算机程序产品,其中所述机器可执行指令在被执行时使所述设备:
基于所述RAID的条带布局信息和所述离线盘在所述多个存储盘中的相对位置,从所述空闲条带中确定被分配用于存储校验信息的存储块来自所述离线盘的至少一个空闲条带;以及
从所确定的至少一个空闲条带中选择所述目标条带。
16.根据权利要求15所述的计算机程序产品,其中所述条带布局信息包括基于所述RAID块已使用的容量、单位条带的容量、所述条带宽度以及各个条带中用于存储校验信息的存储块的分布模式。
17.根据权利要求13所述的计算机程序产品,其中所述机器可执行指令在被执行时使所述设备:
将所述数据写入所述目标条带中除了来自所述离线盘的存储块之外的其余存储块,而不生成所述数据的校验信息。
18.根据权利要求13所述的计算机程序产品,其中所述机器可执行指令在被执行时进一步使所述设备:
响应于读取所述数据的至少一部分的另一请求,从所述目标条带直接读取所述数据的所述至少一部分。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910359618.XA CN111857552A (zh) | 2019-04-30 | 2019-04-30 | 存储管理方法、电子设备和计算机程序产品 |
US16/825,073 US11061788B2 (en) | 2019-04-30 | 2020-03-20 | Storage management method, electronic device, and computer program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910359618.XA CN111857552A (zh) | 2019-04-30 | 2019-04-30 | 存储管理方法、电子设备和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111857552A true CN111857552A (zh) | 2020-10-30 |
Family
ID=72966536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910359618.XA Pending CN111857552A (zh) | 2019-04-30 | 2019-04-30 | 存储管理方法、电子设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11061788B2 (zh) |
CN (1) | CN111857552A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112558876A (zh) * | 2020-12-14 | 2021-03-26 | 杭州宏杉科技股份有限公司 | Lun销毁方法及存储设备 |
CN115167787A (zh) * | 2022-09-06 | 2022-10-11 | 苏州浪潮智能科技有限公司 | 一种数据转存方法、系统、设备及计算机可读存储介质 |
CN115543871A (zh) * | 2022-11-29 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 数据存储方法及相关设备 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022100576A1 (zh) * | 2020-11-10 | 2022-05-19 | 北京灵汐科技有限公司 | 校验方法、系统、装置、计算芯片、计算机设备及介质 |
CN112395129A (zh) * | 2020-11-10 | 2021-02-23 | 北京灵汐科技有限公司 | 存储校验方法、装置、计算芯片、计算机设备及存储介质 |
CN112328182B (zh) * | 2020-11-27 | 2022-04-22 | 长沙景嘉微电子股份有限公司 | 一种raid数据管理方法、装置和计算机可读存储介质 |
CN115543216B (zh) * | 2022-11-29 | 2023-03-21 | 苏州浪潮智能科技有限公司 | 磁盘阵列分布架构、分块计算方法、系统、设备和介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060242540A1 (en) * | 2005-04-21 | 2006-10-26 | Dell Products L.P. | System and method for handling write commands to prevent corrupted parity information in a storage array |
US20070180298A1 (en) * | 2005-10-07 | 2007-08-02 | Byrne Richard J | Parity rotation in storage-device array |
CN101526885A (zh) * | 2009-04-21 | 2009-09-09 | 杭州华三通信技术有限公司 | 一种提升独立磁盘冗余阵列性能的方法及其控制器 |
CN101976176A (zh) * | 2010-08-19 | 2011-02-16 | 北京同有飞骥科技有限公司 | 一种水平型分组并行分布校验的磁盘阵列的构建方法 |
CN101976178A (zh) * | 2010-08-19 | 2011-02-16 | 北京同有飞骥科技有限公司 | 一种垂直排布集中校验的节能型磁盘阵列的构建方法 |
CN102023820A (zh) * | 2010-12-01 | 2011-04-20 | 北京同有飞骥科技股份有限公司 | 一种双磁盘容错垂直型分组并行访问磁盘阵列的构建方法 |
CN102033716A (zh) * | 2010-12-01 | 2011-04-27 | 北京同有飞骥科技股份有限公司 | 一种双磁盘容错的节能型磁盘阵列的构建方法 |
CN105404469A (zh) * | 2015-10-22 | 2016-03-16 | 浙江宇视科技有限公司 | 一种视频数据的存储方法和系统 |
CN105531677A (zh) * | 2013-08-27 | 2016-04-27 | 新加坡科技研究局 | Raid奇偶校验条带重建 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024586B2 (en) * | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
US8839028B1 (en) * | 2011-12-23 | 2014-09-16 | Emc Corporation | Managing data availability in storage systems |
US11379326B2 (en) * | 2019-04-25 | 2022-07-05 | EMC IP Holding Company LLC | Data access method, apparatus and computer program product |
-
2019
- 2019-04-30 CN CN201910359618.XA patent/CN111857552A/zh active Pending
-
2020
- 2020-03-20 US US16/825,073 patent/US11061788B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060242540A1 (en) * | 2005-04-21 | 2006-10-26 | Dell Products L.P. | System and method for handling write commands to prevent corrupted parity information in a storage array |
US20070180298A1 (en) * | 2005-10-07 | 2007-08-02 | Byrne Richard J | Parity rotation in storage-device array |
CN101526885A (zh) * | 2009-04-21 | 2009-09-09 | 杭州华三通信技术有限公司 | 一种提升独立磁盘冗余阵列性能的方法及其控制器 |
CN101976176A (zh) * | 2010-08-19 | 2011-02-16 | 北京同有飞骥科技有限公司 | 一种水平型分组并行分布校验的磁盘阵列的构建方法 |
CN101976178A (zh) * | 2010-08-19 | 2011-02-16 | 北京同有飞骥科技有限公司 | 一种垂直排布集中校验的节能型磁盘阵列的构建方法 |
CN102023820A (zh) * | 2010-12-01 | 2011-04-20 | 北京同有飞骥科技股份有限公司 | 一种双磁盘容错垂直型分组并行访问磁盘阵列的构建方法 |
CN102033716A (zh) * | 2010-12-01 | 2011-04-27 | 北京同有飞骥科技股份有限公司 | 一种双磁盘容错的节能型磁盘阵列的构建方法 |
CN105531677A (zh) * | 2013-08-27 | 2016-04-27 | 新加坡科技研究局 | Raid奇偶校验条带重建 |
CN105404469A (zh) * | 2015-10-22 | 2016-03-16 | 浙江宇视科技有限公司 | 一种视频数据的存储方法和系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112558876A (zh) * | 2020-12-14 | 2021-03-26 | 杭州宏杉科技股份有限公司 | Lun销毁方法及存储设备 |
CN112558876B (zh) * | 2020-12-14 | 2022-03-18 | 杭州宏杉科技股份有限公司 | Lun销毁方法及存储设备 |
CN115167787A (zh) * | 2022-09-06 | 2022-10-11 | 苏州浪潮智能科技有限公司 | 一种数据转存方法、系统、设备及计算机可读存储介质 |
CN115167787B (zh) * | 2022-09-06 | 2023-01-24 | 苏州浪潮智能科技有限公司 | 一种数据转存方法、系统、设备及计算机可读存储介质 |
CN115543871A (zh) * | 2022-11-29 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 数据存储方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
US20200349038A1 (en) | 2020-11-05 |
US11061788B2 (en) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111857552A (zh) | 存储管理方法、电子设备和计算机程序产品 | |
US9081690B2 (en) | Storage system and management method of control information therein | |
US10977124B2 (en) | Distributed storage system, data storage method, and software program | |
US10558383B2 (en) | Storage system | |
US20220137849A1 (en) | Fragment Management Method and Fragment Management Apparatus | |
RU2666241C2 (ru) | Перераспределение сегментов памяти для решения проблемы фрагментации | |
US9047200B2 (en) | Dynamic redundancy mapping of cache data in flash-based caching systems | |
US6647460B2 (en) | Storage device with I/O counter for partial data reallocation | |
US20080201392A1 (en) | Storage system having plural flash memory drives and method for controlling data storage | |
US11288119B2 (en) | Key value SSD | |
US10564865B2 (en) | Lockless parity management in a distributed data storage system | |
KR20150105323A (ko) | 데이터 스토리지 방법 및 시스템 | |
US10705907B1 (en) | Data protection in a heterogeneous random access storage array | |
US11449402B2 (en) | Handling of offline storage disk | |
CN111124262A (zh) | 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质 | |
CN116974458A (zh) | 用于处理数据的方法、电子设备和计算机程序产品 | |
US11481275B2 (en) | Managing reconstruction of a malfunctioning disk slice | |
US11327666B2 (en) | RAID member distribution for granular disk array growth | |
US8935488B2 (en) | Storage system and storage control method | |
KR100970537B1 (ko) | Ssd 관리 장치 및 방법 | |
US11989434B1 (en) | Optimizing protection of highly deduped data for performance and availability | |
US11797183B1 (en) | Host assisted application grouping for efficient utilization of device resources | |
US20210247934A1 (en) | Storage system and processing method | |
CN111857540B (zh) | 数据存取方法、装置和计算机程序产品 | |
KR20230011212A (ko) | 활용 인식 메모리 할당을 위한 시스템, 방법 및 장치 |
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 |