CN105094685A - 进行存储控制的方法和设备 - Google Patents

进行存储控制的方法和设备 Download PDF

Info

Publication number
CN105094685A
CN105094685A CN201410178087.1A CN201410178087A CN105094685A CN 105094685 A CN105094685 A CN 105094685A CN 201410178087 A CN201410178087 A CN 201410178087A CN 105094685 A CN105094685 A CN 105094685A
Authority
CN
China
Prior art keywords
hard disk
data
data segments
hot spare
write
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
CN201410178087.1A
Other languages
English (en)
Other versions
CN105094685B (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201410178087.1A priority Critical patent/CN105094685B/zh
Priority to US14/685,630 priority patent/US9996433B2/en
Publication of CN105094685A publication Critical patent/CN105094685A/zh
Priority to US15/622,108 priority patent/US10296426B2/en
Application granted granted Critical
Publication of CN105094685B publication Critical patent/CN105094685B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/202Error 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 processing functionality is redundant
    • G06F11/2038Error 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 processing functionality is redundant with a single idle spare processing component
    • 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
    • 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/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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/2069Management of state, configuration or failover
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了用于进行存储控制的方法和设备。所述进行存储控制的方法包括:识别存储系统中的成员硬盘和热备份硬盘,其中所述成员硬盘是硬盘阵列的成员,并且所述热备份硬盘用于在成员硬盘故障时加入到磁盘阵列中;将具有写放大效应的成员硬盘上的数据迁移到热备份硬盘上;以及在所述具有写放大效应的成员硬盘中,对被迁移数据所在的存储介质进行擦除操作。采用根据本发明的技术方案,可以减小写放大效应所带来的不利影响。

Description

进行存储控制的方法和设备
技术领域
本发明涉及计算机技术,更具体地说,涉及进行存储控制的方法和设备。
背景技术
与传统的硬盘驱动器(HDD)相比,基于闪存技术的固态硬盘(SSD)具有速度快的优势。但是,由于SSD的特性,使得其存在写放大(WriteAmplification)的问题。这一问题影响了SSD的使用寿命。
在SSD中,如果需要向一个已经存储过数据的存储介质位置写入新的数据,那么必须先对这个存储介质位置进行擦除(erase)操作使其变为空闲状态,然后才能向这个存储介质位置写入新的数据。所述擦除操作必须以存储介质块(block)为单位进行。一个典型的例子,所述存储介质块的大小为256K字节。另一方面,在SSD中,分配存储介质的最小单位称为存储介质页(page)。典型地,所属存储介质页的大小为4K字节。也就是说,在上面的例子中,一个存储介质块包括64个存储介质页。
假设SSD中的一个存储介质块被写满了数据,现在要对这个存储介质块中的某个目标存储介质页所存储的数据进行修改。根据上面的描述,要写入修改后的数据,必须要先进行擦除;而擦除只能对整个存储介质块进行。也就是说,需要先把整个存储介质块的数据读到缓存中;然后对整个存储介质块进行擦除操作;然后在缓存中对数据进行修改,并且把修改后的数据写回到擦除以后的存储介质块中。由此可见,为了对一个存储介质页(4K字节)的数据进行修改,不仅需要对该存储介质页进行擦除和写入,还需要对该存储介质页所在的整个存储介质块(256K字节)中的其他63个存储介质页也都进行一次擦除和写入。这就是所谓的“写放大”。由于SSD中的存储介质能够被擦除和写入的次数是有限的,而写放大导致对存储介质进行了不必要的擦除和写入操作,从而浪费了存储介质的擦除和写入次数。
因此,需要采取措施尽可能地减少SSD中的写放大。
发明内容
本发明提供了用于进行存储控制的方法和设备。
根据本发明的一个方面,提供了一种进行存储控制的方法,包括:识别存储系统中的成员硬盘和热备份硬盘,其中所述成员硬盘是硬盘阵列的成员,并且所述热备份硬盘用于在成员硬盘故障时加入到磁盘阵列中;将具有写放大效应的成员硬盘上的数据迁移到热备份硬盘上;以及在所述具有写放大效应的成员硬盘中,对被迁移数据所在的存储介质进行擦除操作。
根据本发明的另一个方面,提供了一种进行存储控制的设备,包括:识别装置,配置为识别存储系统中的成员硬盘和热备份硬盘,其中所述成员硬盘是硬盘阵列的成员,并且所述热备份硬盘用于在成员硬盘故障时加入到磁盘阵列中;迁移装置,配置为将具有写放大效应的成员硬盘上的数据迁移到热备份硬盘上;以及擦除装置,配置为在所述具有写放大效应的成员硬盘中,对被迁移数据所在的存储介质进行擦除操作。
采用根据本发明的技术方案,可以减小写放大效应所带来的不利影响。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
图2示出根据本发明实施例的进行存储控制的方法的流程图。
图3A和图3B是存储系统示意图。
图4示出根据本发明实施例的进行存储控制的方法在数据重构时的流程图。
图5A、图5B和图5C是存储系统示意图。
图6是根据本发明实施例的进行存储控制的设备的方框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器,,)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
一种可以有效减少写放大的方法是,提供额外的存储介质,用于直接存储修改后的数据,而将原始数据所在的存储介质页标记为无效。这样就不需要对之前的存储介质页及其所在的存储介质块进行擦除和写入操作了。
在下面的讨论中,逻辑地址指的是操作系统所处理的地址,而物理地址指的是存储介质上具体的位置。进一步假设一个逻辑地址和一个物理地址都对应于一个存储介质页。物理地址对操作系统是透明的,由SSD的控制器负责逻辑地址与物理地址的对应。
在操作系统对一个逻辑地址进行第一次写入操作以写入第一数据时,SSD向该逻辑地址分配第一物理地址以存储所述第一数据,从而使得所述逻辑地址对应于第一物理地址。在对该逻辑地址进行第二次写入操作以写入第二数据时,SSD向该逻辑地址分配第二物理地址以存储所述第二数据,而并不是先将第一数据从第一物理地址擦除然后将第二数据写入到第一物理地址。这样,与所述逻辑地址对应的物理地址从第一物理地址变为第二物理地址。此外,第一物理地址被标识为无效状态。被标识为无效状态的第一物理地址虽然不再对应于所述逻辑地址,但是仍然不能用于存储新的数据。
处于无效状态的存储介质页仍然需要先被擦除,即从无效状态变为空闲状态,然后才能向该存储介质页写入新的数据。但是,通过以上的方法,可以避免每次需要修改一个存储介质页就对整个存储介质块进行擦除操作。在该存储介质块中的大部分存储介质页都变为无效状态后,再进行一次擦除操作,这样就大大减少了擦除操作的次数,从而减轻了写放大效应。
如果在SSD中不再存在空闲状态的存储介质页的情况下对SSD中的数据进行修改,就会引发写放大的问题。对于操作系统而言,期望SSD能够存储达到其标称容量的数据。例如,如果SSD的标称容量是400G字节,那么操作系统就可能向SSD写入400G字节的数据。在实践中,为了使得在SSD中所存储的数据达到SSD的标称容量时,仍然有处于空闲状态的存储介质页从而不会由于数据修改而引发写放大,SSD的实际容量往往大于其标称容量。
可以理解,SSD的实际容量大于其标称容量越多,就越有助于推迟进行擦除操作的时间,从而越有利于减轻该SSD中的写放大效应。一个极端的例子是,如果SSD的实际容量是无限大,那么处于空闲状态的存储介质页的数量也是无限大;每次修改存储介质页的数据都使用处于空闲状态的存储介质页,从而对处于无效状态的存储介质页进行擦除操作可以被一直推迟下去,从而也不会引发写放大效应。
下面参照图2描述根据本发明实施例的进行存储控制的方法。
步骤201,识别存储系统中的成员硬盘(memberdisk)和热备份硬盘(hotsparedisk),其中所述成员硬盘是硬盘阵列(array)的成员,并且所述热备份硬盘用于在成员硬盘故障时加入到磁盘阵列中。
在现代的存储系统中,通常采用硬盘阵列来存储数据。硬盘阵列包括多块成员硬盘。在硬盘阵列中,数据被切割成许多区段(strip),分别存放在各个成员硬盘上。这样,不同的数据区段可以从不同的成员硬盘上并行地读取/写入,从而提高了存储系统的吞吐量。这是硬盘阵列的基本功能。
此外,可以将分别来自不同成员硬盘的数据区段组合成数据条带(stride),并且使得同一条带的区段之间能进行互相校验。这样,在数组中任意一块成员硬盘故障时,可以通过所述校验从非故障成员硬盘上的数据恢复出故障成员硬盘上的数据。这一过程称为数据重构(rebuild)。具有数据重构功能的硬盘阵列往往还设置有热备份硬盘,以便对成员硬盘故障进行快速地响应。当所述硬盘阵列中的各成员硬盘均正常工作时,热备份硬盘不用于存储数据。当所述故障发生时,
硬盘阵列的完整性被破坏。作为响应,热备份硬盘加入到磁盘阵列中。通过数据重构过程所恢复出的数据被写入到热备份硬盘中。这样,热备份硬盘代替故障成员硬盘,与非故障成员硬盘再次构成完整的阵列。这之后,用新的硬盘替换故障硬盘作为新的热备份硬盘。
实践中常见的既能实现吞吐量提高又能实现数据冗余的磁盘阵列结构包括RAID01/10,RAID2,RAID3,RAID4,RAID5,RAID6,RAID7,RAID5E,RAID5EE,RAID50及其各种组合。需要说明的是,虽然在以下的描述中可能结合一种具体的磁盘阵列结构来描述根据本发明实施例的技术方案,但是本发明并不限于特定的磁盘阵列结构。只要在存储系统中既存在成员硬盘,又存在热备份硬盘,就可以采取根据本发明实施例的方案。
步骤202,将具有写放大效应的成员硬盘上的数据迁移到热备份硬盘上。
是否具有写放大效应是由硬盘中存储介质的特性决定的。如前所述,如果一个硬盘的存储介质在存有数据的情况下,需要先进行擦除然后才能写入新的数据,并且擦除的最小单位大于分配存储介质的最小单位,那么就会发生写放大效应。SSD是典型地具有写放大效应的存储介质。在下面的描述中,以SSD为例进行说明。
将成员硬盘上的数据迁移到热备份硬盘上后,如果需要访问被迁移的数据,那么就会访问热备份硬盘上的存储介质,而不再访问成员硬盘上原本存储被迁移数据的存储介质。
步骤203,在所述具有写放大效应的成员硬盘中,对被迁移数据所在的存储介质进行擦除操作。
在所述具有写放大效应的成员硬盘中,进行擦除操作以后,原先存放被迁移数据的存储介质变成处于空闲状态的存储介质。在对该成员硬盘中的剩余数据进行修改时,可以利用这部分处于空闲状态的存储介质,从而减轻该成员硬盘中的写放大效应。
下面结合图3A描述根据本发明实施例的进行存储控制的示例。在图3A中,使用特定的磁盘阵列结构来描述根据本发明实施例的是RAID5。但是,如之前所述,本发明并不限于特定的磁盘阵列结构。只要在存储系统中既存在成员硬盘,又存在热备份硬盘,就可以采取根据本发明实施例的方案。
如图3A所示,存储系统包括硬盘阵列和热备份硬盘。硬盘阵列包括三个硬盘,形成RAID5的结构。根据RAID5的规范,分别来自三个硬盘的三份数据区段,组合成一个数据条带。例如,数据区段1-1,数据区段2-1,数据区段3-1组合成第一数据条带;数据区段1-2,数据区段2-2,数据区段3-2组合成第二数据条带。每个数据条带中的数据区段具备冗余度,即如果任意一个数据区段丢失,可以从其他的数据区段恢复出该丢失的数据区段。例如,如果第一成员硬盘故障,那么数据区段1-1,1-2,1-3和1-4丢失。在这种情况下,可以从数据区段2-1和3-1可以恢复出数据区段1-1,从数据区段2-2和3-2可以恢复出数据区段1-2,从数据区段2-3和3-3可以恢复出数据区段1-3,从数据区段2-4和3-4可以恢复出数据区段1-4。恢复出的数据被放入热备份硬盘,从而热备份硬盘和第二成员硬盘、第三成员硬盘一起构成新的硬盘阵列。
根据本发明实施例,如图3A中的箭头所示,将成员硬盘上的数据区段1-1,2-2,3-3和3-4迁移到热备份硬盘中。一般来说,一个数据区段包括多个存储介质块。因此,在数据区段被迁移到热备份硬盘以后,可以对成员硬盘中对应的存储介质块进行擦除操作,从而形成处于空闲状态的存储介质。迁移操作后的存储系统如图3B所示。如图3B所示,第一数据条带只包括第二成员硬盘、第三成员硬盘和热备份硬盘上的数据区段,第二数据条带只包括第一成员硬盘、第三成员硬盘和热备份硬盘上的数据区段,等等。
根据本发明实施例,从各个成员硬盘中所迁移的数据量具有较小的方差。例如,可以设置方差阈值,并且确保在进行所述迁移时,从各个成员硬盘中所迁移的数据量的方差小于所述方差阈值。这样做的进一步好处是,各个成员硬盘都能够得到处于空闲状态的存储介质。
根据本发明一个实施例,在将具有写放大效应的成员硬盘上的数据迁移到热备份硬盘上时,先识别所述硬盘阵列中的数据条带。如前所述,数据条带包括分别来自不同成员硬盘的数据区段,并且属于同一条带的数据区段之间能进行互相校验。在识别出哪些数据区段属于数据条带之后,根据该硬盘阵列结构所具备的数据冗余度,确定该数据条带中最多能够被迁移到热备份硬盘的数据区段的数目。这样做的进一步好处是,在增加成员硬盘上的空闲存储介质的同时,还保持了硬盘阵列的数据恢复能力。对于RAID5而言,组成一个数据条带的任意一个数据区段丢失,可以从其他的数据区段恢复出该丢失的数据区段。但是,如果组成一个数据条带的两个或两个以上的数据区段丢失,那么就无法从该数据条带中的剩余数据区段恢复出丢失的数据区段。如果同一数据条带中有两个或两个以上的数据区段被迁移到热备份硬盘,那么一旦热备份硬盘故障,则同一数据条带中有两个或两个以上的数据丢失,从而影响了硬盘阵列的数据恢复能力。在有的硬盘阵列结构中,数据条带中的数据区段具有更大的数据冗余度,从而使得即使同一数据条带中有两个数据区段丢失的情况下,也能从剩余数据区段恢复出丢失的数据区段。例如在RAID6中,组成一个数据条带的任意两个数据区段丢失,可以从其他的数据区段恢复出该丢失的两个数据区段。对于这种硬盘阵列结构,理论上同一数据条带中可以最多有两个数据区段被迁移到热备份硬盘。
一般来说,在实际的存储系统中,一个热备份硬盘往往同时对应于多个硬盘阵列。例如,存储系统中可能有四个硬盘阵列,但是只有两个热备份硬盘。每一个热备份硬盘都分别于四个硬盘阵列组成硬盘阵列-热备份硬盘的组合。如果对于每个硬盘阵列-热备份硬盘的组合,都采用根据本发明实施例的方法,将硬盘阵列中的一部分数据区段迁移到热备份硬盘中,那么就可能过分地增加对热备份硬盘的访问次数,从而使得热备份硬盘的寿命缩短。如果热备份硬盘的寿命变得和成员硬盘一样,就无法起到热备份硬盘所应该起到的作用。根据本发明的一个实施例,优先将冷数据区段迁移到热备份硬盘中,其中冷数据区段指的是该数据区段被访问的次数比较少。本领域技术人员可以采用各种方法来确定冷数据区段,包括检测当前的冷数据区段和预测未来的冷数据区段,在此不再赘述这些方法。优先将冷数据区段迁移到热备份硬盘中的好处是,可以减少对热备份硬盘的访问。根据本发明的另一个实施例,优先将冷数据条带中的数据区段迁移到热备份硬盘中。冷数据条带指的是该数据条带所包括的所有数据区段都是冷数据区段。可以理解,这样可以进一步减少对热备份硬盘的访问。
如前所述,在传统的硬盘阵列-热备份硬盘结构中,热备份硬盘中不存储数据。如果硬盘阵列的成员硬盘故障,那么从其他成员硬盘中恢复出原本存储在故障成员硬盘上的数据;被恢复的数据存储在热备份硬盘中;热备份硬盘与其他成员硬盘一起,构成新的硬盘阵列。在根据本发明实施例将成员硬盘上的一部分数据迁移到热备份硬盘后,热备份硬盘也存储一部分数据。下面描述在这种情况下如何处理硬盘故障。
图4是根据本发明实施例的进行存储控制的方法在数据重构时的流程图。
步骤401,确定由于硬盘故障而丢失的数据区段。
假设在图3B所示的进行数据迁移后的存储系统中,第一成员硬盘发生故障。存储系统的示意图如图5A所示。数据区段1-1已经迁移到热备份硬盘上,因此该数据区段并未丢失。数据区段1-2,1-3和1-4并未迁移,则这些数据区段丢失。
步骤402,利用与所述丢失的数据区段处于同一数据条带中的其他数据区段,恢复丢失的数据区段。
第二数据条带中剩下数据区段2-2和3-2,第三数据条带中剩下数据区段2-3和3-3,第四数据条带中剩下数据区段2-4和3-4。由于同一数据条带中的数据区段具有冗余度,因此可以从数据区段2-2和3-2恢复出数据区段1-2,从数据区段2-3和3-3恢复出数据区段1-3,从数据区段2-4和3-4恢复出数据区段1-4。
步骤403,存储恢复的数据区段。
根据本发明的一个实施例,将恢复出的数据区段存储在与用于恢复该数据的数据区段所在的硬盘不同的硬盘。相应地,数据冗余度没有受到影响。
如果存在与该硬盘阵列对应的额外热备份硬盘,并且在数据重构前该额外热备份硬盘中没有存储来自该硬盘阵列的数据,那么恢复出的数据区段可以存储在该额外热备份硬盘中。进行数据重构后的存储系统如图5B所示。
如果不存在与该硬盘阵列对应的额外热备份硬盘,那么对于每一个进行了数据恢复的条带来说,恢复出的数据区段可以存储在未参与该条带的数据恢复的硬盘中。进行数据重构后的存储系统如图5C所示。例如,对于第二条带来说,参与该条带的数据恢复的硬盘是第三成员硬盘和热备份硬盘,未参与该条带的数据恢复的硬盘是第二成员硬盘,则恢复出的数据区段1-2被存储在第二成员硬盘上。
在上面的描述中,没有区分发生故障的是成员硬盘还是热备份硬盘。参照图3B可以理解,在热备份硬盘只对应于一个硬盘阵列的情况下,无论是硬盘阵列的成员硬盘发生故障,还是热备份硬盘发生故障,都可以按照步骤401到403进行处理。
在热备份硬盘对应于多个硬盘阵列的情况下,热备份硬盘上可能存储有来自多个硬盘阵列的数据。这种情况下,如果是所述热备份硬盘发生故障,那么针对每一个在该热备份硬盘上有数据的硬盘阵列,都需要执行步骤401到403。如果是某一个硬盘阵列中的成员硬盘发生故障,那么只需要对该硬盘阵列和热备份硬盘的组合执行步骤401到403。
可选地,如果一个热备份硬盘存储了来自多个硬盘阵列的数据,可以将来自没有成员硬盘发生故障的硬盘阵列的数据区段反向迁移到其来源成员硬盘。这样做的好处是可以减少对热备份硬盘的访问。例如,对于上述存在额外热备份硬盘的情况,该额外热备份硬盘中可能在执行上述数据重构之前就存储有来自其他数据阵列的数据。在执行上述数据重构之后,该额外热备份硬盘中增加了来自有成员硬盘发生故障的硬盘阵列的数据区段。相应地,对该额外热备份硬盘的访问进一步增加了,从而可能缩短其寿命。进行上述反向迁移可以对冲所述增加。
根据本发明实施例的设备典型地可以通过运行于图1所示的示例性计算机系统上的计算机程序来实现。虽然图1所示的是通用的计算机系统的硬件结构,但是由于该计算机系统运行了所述计算机程序,实现了根据本发明实施例的方案,从而使得该计算机系统/服务器从通用计算机系统/服务器转变成根据本发明实施例的设备。
此外,虽然根据本发明实施例的设备从整体上看是由同一通用计算机系统来实现的,但是组成该设备的各个装置或模块在本质上是由分立的硬件实现的。这是因为,所述通用计算机在运行所述计算机程序时,往往采用诸如分时或分处理器核的共享方式来实现各个装置或模块。以分时实现为例,在特定的时刻,该通用计算机系统作为专用于实现特定装置或模块的硬件;在不同时刻,该通用计算机系统作为专用于实现不同的装置或模块的不同硬件。因此,根据本发明实施例的设备是一系列由硬件方式实现的装置或模块的组合,从而并非仅仅是功能模块构架。相反,根据本发明实施例的设备也可以被理解为主要通过硬件方式实现根据本发明实施例解决方案的实体设备。
图6示出了根据本发明实施例的进行存储控制的设备的方框图。所述设备包括:
识别装置,配置为识别存储系统中的成员硬盘和热备份硬盘,其中所述成员硬盘是硬盘阵列的成员,并且所述热备份硬盘用于在成员硬盘故障时加入到磁盘阵列中;
迁移装置,配置为将具有写放大效应的成员硬盘上的数据迁移到热备份硬盘上;以及
擦除装置,配置为在所述具有写放大效应的成员硬盘中,对被迁移数据所在的存储介质进行擦除操作。
其中从各个具有写放大效应的成员硬盘中迁移的数据量具有较小的方差。
其中优先将具有写放大效应的成员硬盘中的冷数据迁移到所述热备份硬盘。
其中所述迁移装置包括:
配置为识别所述硬盘阵列中的数据条带的模块,其中所述数据条带由分别来自各个成员硬盘的数据区段组成,并且所述数据区段之间能进行互相校验;
配置为根据该硬盘阵列结构所具备的数据冗余度,确定该数据条带中最多能够被迁移到热备份硬盘的数据区段的数目的模块;以及
配置为将所确定数目的数据区段迁移到热备份硬盘上的模块。
所述的设备进一步包括:
确定装置,配置为响应于检测到硬盘故障,确定由于硬盘故障而丢失的数据区段;
恢复装置,配置为利用与所述丢失的数据区段处于同一数据条带中的其他数据区段,恢复丢失的数据区段;以及
存储装置,配置为存储恢复出的数据区段。
其中所述存储装置包括:
配置为将恢复出的数据区段存储在与用于恢复该数据的数据区段所在的硬盘不同的硬盘的模块。
所述的设备进一步包括:
反向迁移装置,配置为响应于热备份硬盘存储了来自多个硬盘阵列的成员硬盘的数据,将来自没有成员硬盘发生故障的硬盘阵列的数据区段反向迁移到其来源成员硬盘。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如Java、Smalltalk、C++等,以及常规的过程式编程语言-诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (14)

1.一种进行存储控制的方法,包括:
识别存储系统中的成员硬盘和热备份硬盘,其中所述成员硬盘是硬盘阵列的成员,并且所述热备份硬盘用于在成员硬盘故障时加入到磁盘阵列中;
将具有写放大效应的成员硬盘上的数据迁移到热备份硬盘上;以及
在所述具有写放大效应的成员硬盘中,对被迁移数据所在的存储介质进行擦除操作。
2.根据权利要求1所述的方法,其中从各个具有写放大效应的成员硬盘中迁移的数据量的方差小于方差阈值。
3.根据权利要求1所述的方法,其中优先将具有写放大效应的成员硬盘中的冷数据迁移到所述热备份硬盘。
4.根据权利要求1到3中任意一项所述的方法,其中将具有写放大效应的成员硬盘上的数据迁移到热备份硬盘上包括:
识别所述硬盘阵列中的数据条带,其中所述数据条带由分别来自各个成员硬盘的数据区段组成,并且所述数据区段之间能进行互相校验;
根据该硬盘阵列结构所具备的数据冗余度,确定该数据条带中最多能够被迁移到热备份硬盘的数据区段的数目;以及
将不大于所确定数目的数据区段迁移到热备份硬盘上。
5.根据权利要求4所述的方法,进一步包括:
响应于检测到硬盘故障,确定由于硬盘故障而丢失的数据区段;
利用与所述丢失的数据区段处于同一数据条带中的其他数据区段,恢复丢失的数据区段;以及
存储恢复出的数据区段。
6.根据权利要求5所述的方法,其中存储恢复的数据区段包括:
将恢复出的数据区段存储在与用于恢复该数据的数据区段所在的硬盘不同的硬盘。
7.根据权利要求5所述的方法,进一步包括:
响应于热备份硬盘存储了来自多个硬盘阵列的成员硬盘的数据,将来自没有成员硬盘发生故障的硬盘阵列的数据区段反向迁移到其来源成员硬盘。
8.一种进行存储控制的设备,包括:
识别装置,配置为识别存储系统中的成员硬盘和热备份硬盘,其中所述成员硬盘是硬盘阵列的成员,并且所述热备份硬盘用于在成员硬盘故障时加入到磁盘阵列中;
迁移装置,配置为将具有写放大效应的成员硬盘上的数据迁移到热备份硬盘上;以及
擦除装置,配置为在所述具有写放大效应的成员硬盘中,对被迁移数据所在的存储介质进行擦除操作。
9.根据权利要求8所述的设备,其中从各个具有写放大效应的成员硬盘中迁移的数据量的方差小于方差阈值。
10.根据权利要求8所述的设备,其中优先将具有写放大效应的成员硬盘中的冷数据迁移到所述热备份硬盘。
11.根据权利要求8到10中任意一项所述的设备,其中所述迁移装置包括:
配置为识别所述硬盘阵列中的数据条带的模块,其中所述数据条带由分别来自各个成员硬盘的数据区段组成,并且所述数据区段之间能进行互相校验;
配置为根据该硬盘阵列结构所具备的数据冗余度,确定该数据条带中最多能够被迁移到热备份硬盘的数据区段的数目的模块;以及
配置为将不大于所确定数目的数据区段迁移到热备份硬盘上的模块。
12.根据权利要求11所述的设备,进一步包括:
确定装置,配置为响应于检测到硬盘故障,确定由于硬盘故障而丢失的数据区段;
恢复装置,配置为利用与所述丢失的数据区段处于同一数据条带中的其他数据区段,恢复丢失的数据区段;以及
存储装置,配置为存储恢复出的数据区段。
13.根据权利要求12所述的设备,其中所述存储装置包括:
配置为将恢复出的数据区段存储在与用于恢复该数据的数据区段所在的硬盘不同的硬盘的模块。
14.根据权利要求12所述的设备,进一步包括:
反向迁移装置,配置为响应于热备份硬盘存储了来自多个硬盘阵列的成员硬盘的数据,将来自没有成员硬盘发生故障的硬盘阵列的数据区段反向迁移到其来源成员硬盘。
CN201410178087.1A 2014-04-29 2014-04-29 进行存储控制的方法和设备 Active CN105094685B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410178087.1A CN105094685B (zh) 2014-04-29 2014-04-29 进行存储控制的方法和设备
US14/685,630 US9996433B2 (en) 2014-04-29 2015-04-14 Storage control of storage media subject to write amplification effects
US15/622,108 US10296426B2 (en) 2014-04-29 2017-06-14 Storage control of storage media subject to write amplification effects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410178087.1A CN105094685B (zh) 2014-04-29 2014-04-29 进行存储控制的方法和设备

Publications (2)

Publication Number Publication Date
CN105094685A true CN105094685A (zh) 2015-11-25
CN105094685B CN105094685B (zh) 2018-02-06

Family

ID=54334897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410178087.1A Active CN105094685B (zh) 2014-04-29 2014-04-29 进行存储控制的方法和设备

Country Status (2)

Country Link
US (2) US9996433B2 (zh)
CN (1) CN105094685B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106371771A (zh) * 2016-09-13 2017-02-01 郑州云海信息技术有限公司 一种存储系统中磁盘管理方法及系统
CN107209719A (zh) * 2015-12-03 2017-09-26 华为技术有限公司 一种阵列控制器、固态硬盘和控制固态硬盘写数据的方法
CN107562368A (zh) * 2016-06-30 2018-01-09 杭州海康威视数字技术股份有限公司 一种数据处理方法及装置
CN107562576A (zh) * 2017-09-14 2018-01-09 郑州云海信息技术有限公司 一种数据保护的方法
CN107562569A (zh) * 2016-06-30 2018-01-09 杭州海康威视数字技术股份有限公司 一种数据重构方法及装置
CN109213430A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 存储管理方法和系统
US10296426B2 (en) 2014-04-29 2019-05-21 International Business Machines Corporation Storage control of storage media subject to write amplification effects
CN111736771A (zh) * 2020-06-12 2020-10-02 广东浪潮大数据研究有限公司 一种数据迁移方法、装置、设备及计算机可读存储介质
CN111833919A (zh) * 2020-07-09 2020-10-27 南京暴走团电子商务有限公司 一种便于系统传输的网络软件开发用传输装置
CN114328281A (zh) * 2021-11-30 2022-04-12 苏州浪潮智能科技有限公司 固态硬盘异常掉电处理方法、装置、电子设备及介质
CN116661708A (zh) * 2023-07-31 2023-08-29 苏州浪潮智能科技有限公司 基于硬盘阵列的读写任务的处理方法和电子设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10175888B2 (en) * 2016-10-12 2019-01-08 International Business Machines Corporation Performance-balanced heterogeneous raid
US10936453B2 (en) * 2017-09-19 2021-03-02 Seagate Technology Llc Data storage systems using elastic spares
CN108255425A (zh) * 2017-12-29 2018-07-06 北京联想核芯科技有限公司 一种ssd硬盘的数据处理方法和装置
US10877671B2 (en) 2018-12-03 2020-12-29 Vast Data Ltd. Techniques for prolonging lifespan of storage drives
US11403034B1 (en) 2021-06-11 2022-08-02 International Business Machines Corporation Non-volatile storage class memory data flow with mismatched block sizes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101419842A (zh) * 2008-11-07 2009-04-29 成都市华为赛门铁克科技有限公司 硬盘的损耗均衡方法、装置及系统
US20090300277A1 (en) * 2008-05-27 2009-12-03 Micron Technology, Inc. Devices and methods for operating a solid state drive
CN101719050A (zh) * 2009-11-25 2010-06-02 成都市华为赛门铁克科技有限公司 一种数据存储方法及设备
CN102473135A (zh) * 2009-07-29 2012-05-23 国际商业机器公司 存储设备的写入擦除耐久寿命
CN102662606A (zh) * 2012-03-12 2012-09-12 记忆科技(深圳)有限公司 Raid配置信息的处理方法和raid控制器

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223252B1 (en) 1998-05-04 2001-04-24 International Business Machines Corporation Hot spare light weight mirror for raid system
US20060041793A1 (en) 2004-08-17 2006-02-23 Dell Products L.P. System, method and software for enhanced raid rebuild
US20100017650A1 (en) * 2008-07-19 2010-01-21 Nanostar Corporation, U.S.A Non-volatile memory data storage system with reliability management
JP5138530B2 (ja) 2008-10-08 2013-02-06 株式会社日立製作所 ストレージ容量仮想化技術における障害管理方式
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
WO2011061724A1 (en) 2009-11-23 2011-05-26 Amir Ban Memory controller and methods for enhancing write performance of a flash device
EP2577470A4 (en) 2010-06-04 2013-12-25 Sandisk Entpr Ip Llc CACHE ADMINISTRATION AND ACCELERATION IN STORAGE MEDIA
US8386714B2 (en) * 2010-06-29 2013-02-26 International Business Machines Corporation Reducing write amplification in a cache with flash memory used as a write cache
US8601311B2 (en) 2010-12-14 2013-12-03 Western Digital Technologies, Inc. System and method for using over-provisioned data capacity to maintain a data redundancy scheme in a solid state memory
KR101467939B1 (ko) 2011-04-26 2014-12-02 엘에스아이 코포레이션 비휘발성 저장부에 대한 가변 오버­프로비저닝
US8793463B2 (en) 2011-09-12 2014-07-29 Microsoft Corporation Allocation strategies for storage device sets
US8856440B2 (en) 2011-09-12 2014-10-07 Microsoft Corporation Volatile memory representation of nonvolatile storage device set
US8812901B2 (en) 2011-09-23 2014-08-19 Lsi Corporation Methods and apparatus for marking writes on a write-protected failed device to avoid reading stale data in a RAID storage system
TWI450087B (zh) 2011-12-01 2014-08-21 Wistron Corp 複數個磁碟陣列系統之資料儲存方法及資料儲存系統
US8799705B2 (en) 2012-01-04 2014-08-05 Emc Corporation Data protection in a random access disk array
US8909859B2 (en) 2012-03-01 2014-12-09 HGST Netherlands B.V. Implementing large block random write hot spare SSD for SMR RAID
US8892811B2 (en) 2012-03-01 2014-11-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Reducing write amplification in a flash memory
US8868877B2 (en) 2012-04-11 2014-10-21 Dell Products, Lp Creating encrypted storage volumes based on thin-provisioning mode information
KR101925383B1 (ko) 2012-07-23 2018-12-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 데이터 관리 방법
US9141532B2 (en) 2012-12-26 2015-09-22 Western Digital Technologies, Inc. Dynamic overprovisioning for data storage systems
US9135173B2 (en) 2013-01-22 2015-09-15 International Business Machines Corporation Thinly provisioned flash cache with shared storage pool
CN103617006A (zh) 2013-11-28 2014-03-05 曙光信息产业股份有限公司 存储资源的管理方法与装置
US9240235B2 (en) * 2013-12-19 2016-01-19 Sandisk Technologies Inc. Mitigating disturb effects for non-volatile memory
CN105094685B (zh) 2014-04-29 2018-02-06 国际商业机器公司 进行存储控制的方法和设备
KR20160075229A (ko) * 2014-12-19 2016-06-29 삼성전자주식회사 가비지 컬렉션 동작 방법 및 이를 적용하는 레이드 스토리지 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300277A1 (en) * 2008-05-27 2009-12-03 Micron Technology, Inc. Devices and methods for operating a solid state drive
CN101419842A (zh) * 2008-11-07 2009-04-29 成都市华为赛门铁克科技有限公司 硬盘的损耗均衡方法、装置及系统
CN102473135A (zh) * 2009-07-29 2012-05-23 国际商业机器公司 存储设备的写入擦除耐久寿命
CN101719050A (zh) * 2009-11-25 2010-06-02 成都市华为赛门铁克科技有限公司 一种数据存储方法及设备
CN102662606A (zh) * 2012-03-12 2012-09-12 记忆科技(深圳)有限公司 Raid配置信息的处理方法和raid控制器

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10296426B2 (en) 2014-04-29 2019-05-21 International Business Machines Corporation Storage control of storage media subject to write amplification effects
CN107209719B (zh) * 2015-12-03 2018-10-09 华为技术有限公司 一种阵列控制器、固态硬盘和控制固态硬盘写数据的方法
CN107209719A (zh) * 2015-12-03 2017-09-26 华为技术有限公司 一种阵列控制器、固态硬盘和控制固态硬盘写数据的方法
US10761731B2 (en) 2015-12-03 2020-09-01 Huawei Technologies Co., Ltd. Array controller, solid state disk, and method for controlling solid state disk to write data
CN107562368B (zh) * 2016-06-30 2019-11-22 杭州海康威视数字技术股份有限公司 一种数据处理方法及装置
CN107562368A (zh) * 2016-06-30 2018-01-09 杭州海康威视数字技术股份有限公司 一种数据处理方法及装置
CN107562569A (zh) * 2016-06-30 2018-01-09 杭州海康威视数字技术股份有限公司 一种数据重构方法及装置
CN106371771A (zh) * 2016-09-13 2017-02-01 郑州云海信息技术有限公司 一种存储系统中磁盘管理方法及系统
CN106371771B (zh) * 2016-09-13 2020-03-06 苏州浪潮智能科技有限公司 一种存储系统中磁盘管理方法及系统
CN109213430B (zh) * 2017-06-30 2021-09-10 伊姆西Ip控股有限责任公司 存储管理方法和系统
CN109213430A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 存储管理方法和系统
CN107562576A (zh) * 2017-09-14 2018-01-09 郑州云海信息技术有限公司 一种数据保护的方法
CN111736771A (zh) * 2020-06-12 2020-10-02 广东浪潮大数据研究有限公司 一种数据迁移方法、装置、设备及计算机可读存储介质
CN111736771B (zh) * 2020-06-12 2024-02-23 广东浪潮大数据研究有限公司 一种数据迁移方法、装置、设备及计算机可读存储介质
CN111833919A (zh) * 2020-07-09 2020-10-27 南京暴走团电子商务有限公司 一种便于系统传输的网络软件开发用传输装置
CN114328281A (zh) * 2021-11-30 2022-04-12 苏州浪潮智能科技有限公司 固态硬盘异常掉电处理方法、装置、电子设备及介质
CN114328281B (zh) * 2021-11-30 2023-11-14 苏州浪潮智能科技有限公司 固态硬盘异常掉电处理方法、装置、电子设备及介质
CN116661708A (zh) * 2023-07-31 2023-08-29 苏州浪潮智能科技有限公司 基于硬盘阵列的读写任务的处理方法和电子设备
CN116661708B (zh) * 2023-07-31 2023-11-03 苏州浪潮智能科技有限公司 基于硬盘阵列的读写任务的处理方法和电子设备

Also Published As

Publication number Publication date
US20170277608A1 (en) 2017-09-28
US20150309898A1 (en) 2015-10-29
CN105094685B (zh) 2018-02-06
US10296426B2 (en) 2019-05-21
US9996433B2 (en) 2018-06-12

Similar Documents

Publication Publication Date Title
CN105094685A (zh) 进行存储控制的方法和设备
US9189311B2 (en) Rebuilding a storage array
US9009526B2 (en) Rebuilding drive data
CN104471546B (zh) 用于提高固态硬盘可靠性的有效的磁盘冗余阵列技法
TWI442225B (zh) 用於回復固態磁碟資料的系統與方法
JP2005122338A (ja) スペアディスクドライブをもつディスクアレイ装置及びデータスペアリング方法
US9977626B2 (en) Implementing scattered atomic I/O writes
JP2013156977A (ja) 冗長キャッシュデータのエラスティックキャッシュ
CN103984642A (zh) 冗余辅助储存器缓存的重建
CN115098021A (zh) 用于写入数据的方法、设备和计算机程序产品
US7627725B2 (en) Stored data processing apparatus, storage apparatus, and stored data processing program
US20150347224A1 (en) Storage control apparatus and method therefor
US10013171B2 (en) Reducing stress on RAIDS under rebuild
JP5218147B2 (ja) ストレージ制御装置,ストレージ制御方法およびストレージ制御プログラム
CN104035886A (zh) 磁盘重映射方法、装置及电子设备
JP6171616B2 (ja) ストレージ制御装置、及びストレージ制御プログラム
US9104598B2 (en) Systems and methods for medium error reporting and handling in storage devices
CN105744200A (zh) 视频监控录像的存储方法及装置
JP6175771B2 (ja) ディスクアレイ装置、バッドセクタ修復方法および修復プログラム
CN109582237B (zh) 一种基于机械硬盘的坏扇区映射方法
CN108255426B (zh) 一种ssd硬盘的数据处理方法和装置
JP6957845B2 (ja) ストレージ制御装置及びストレージ装置
JP2012185575A (ja) ストレージシステム及びリビルド処理高速化方法
JP2012203437A (ja) ストレージ装置、方法及びプログラム
JP2013061814A (ja) データ記憶装置、メモリ制御装置及び方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant