CN111104056A - 存储系统中数据恢复方法、系统及装置 - Google Patents

存储系统中数据恢复方法、系统及装置 Download PDF

Info

Publication number
CN111104056A
CN111104056A CN201811560345.7A CN201811560345A CN111104056A CN 111104056 A CN111104056 A CN 111104056A CN 201811560345 A CN201811560345 A CN 201811560345A CN 111104056 A CN111104056 A CN 111104056A
Authority
CN
China
Prior art keywords
ssd
domain
failure
block
controller
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
CN201811560345.7A
Other languages
English (en)
Other versions
CN111104056B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to CN202010260823.3A priority Critical patent/CN111552435A/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210010236.8A priority patent/CN114496051A/zh
Priority to CN202010286457.9A priority patent/CN111552436B/zh
Priority to PCT/CN2019/103085 priority patent/WO2020082888A1/zh
Priority to EP19875722.1A priority patent/EP3851949A4/en
Priority to KR1020217012802A priority patent/KR102648688B1/ko
Publication of CN111104056A publication Critical patent/CN111104056A/zh
Priority to US17/233,893 priority patent/US20210240584A1/en
Application granted granted Critical
Publication of CN111104056B publication Critical patent/CN111104056B/zh
Priority to US17/883,708 priority patent/US20230076381A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/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/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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
    • 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
    • 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
    • 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
    • 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/0688Non-volatile semiconductor memory arrays
    • 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/0644Management of space entities, e.g. partitions, extents, pools

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Hardware Redundancy (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例提供一种存储系统中数据恢复方法,将固态硬盘划分为多个故障域,每一个故障域用于为一定范围的SSD的逻辑地址提供物理地址,从而固态硬盘的故障域发生故障时,不需要对整个SSD中的数据重构。

Description

存储系统中数据恢复方法、系统及装置
技术领域
本发明涉及信息技术领域,特别涉及一种存储系统中数据恢复方法、系统及装置。
背景技术
独立硬盘冗余阵列(Redundant Array of Independent Disks,RAID)技术是存储系统中广泛使用的保证数据可靠性的技术,当存储系统发生硬盘损坏时,通过未损坏硬盘上数据和校验数据,可以重新计算出损坏硬盘上的数据,这样一个过程被称为RAID的重构。
在固态硬盘(Solid State Disk,SSD)组成的基于RAID的存储系统中,如果重构速度为1太字节(Terabyte,TB)每5小时,那么一个容量为1TB的SSD发生局部故障,会消耗5小时;而如果SSD容量为100TB,那么重构时间将变为500小时。
发明内容
第一方面,提供了一种存储系统中数据恢复方法,所述存储系统包括控制器、第一固态硬盘SSD和第二SSD;其中,所述第一SSD和所述第二SSD均包含多个故障域,所述存储系统包含基于纠删码算法构成的块组,所述块组包含第一块和第二块;所述第一块的地址映射到所述第一SSD的第一故障域提供的物理地址,所述第二块的地址映射到所述第二SSD的第二故障域提供的物理地址;所述方法包括:所述控制器接收所述第一SSD的故障信息,所述故障信息用于指示所述第一故障域发生故障;响应于所述故障信息,所述控制器根据所述纠删码算法恢复所述块组中的所述第一块的逻辑地址中存储的数据。所述第一SSD和所述第二SSD均包含多个故障域,但第一SSD和所述第二SSD的故障域的数量可以不同。因此,相较于现有技术,本发明实施例存储系统不需要重构发生故障SSD的全部逻辑地址中的数据,只需要重构该SSD中部分逻辑地址中的数据,该部分逻辑地址是指映射到发生故障的故障域中的物理地址的逻辑地址,从而提高了数据重构的速度。
具体实现,所述第一块的地址映射到所述第一SSD的第一故障域提供的物理地址包括:所述第一块的地址为所述第一SSD的第一逻辑地址,所述第一逻辑地址映射到所述第一SSD的第一故障域提供的物理地址;所述第二块的地址映射到所述第二SSD的第二故障域提供的物理地址包括:所述第二块的地址为所述第二SSD的第二逻辑地址;所述第二逻辑地址映射到所述第二SSD的第二故障域提供的物理地址。在另一种实现,在支持开放通道(Open-Channel)的SSD场景中,所述第一块的地址为所述第一SSD的第一故障域提供的物理地址,所述第一块的地址映射到所述第一SSD的第一故障域提供的物理地址为所述第一块的地址直接映射到所述第一SSD的第一故障域提供的物理地址;所述第二块的地址为所述第二SSD的第二故障域提供的物理地址,所述第二块的地址直接映射到所述第二SSD的第二故障域提供的物理地址。另一种实现中,在Open-Channel的SSD场景中,本发明实施例也支持块地址与故障域提供的物理地址的间接映射。
结合第一方面,在第一方面的某些实现方式中,所述存储系统存储有所述第一块的地址与所述第一故障域的对应关系,以及所述第二块的地址与所述第二故障域的对应关系。第一块的地址即第一SSD的第一逻辑地址,第二块的地址即第二SSD的第二逻辑地址。进一步的,存储系统存储有所述块组中包含的块与故障域的对应关系,例如,所述第一块属于第一故障域,所述第二块属于第二故障域。进一步的,存储系统还存储有故障域索引表,例如,故障域索引表包含故障域与块组的对应关系,因为同一个块组中包含来自不同SSD的故障域的块,所以在故障域索引表中,不同的故障域可以对应相同的块组。当某一个SSD的故障域发生故障,控制器根据该故障域索引表可以快速查找到受该故障域影响的块组,从而快速重构这些块组中受该故障域影响的块中的数据。
可选的,所述第一SSD和所述第二SSD中一个故障域为一个通道上连接的多个颗粒封装,或者为一个或多个颗粒封装,或者为一个或多个颗粒,或者为一个或多个闪存片。
结合第一方面,在第一方面的某些实现方式中,所述响应于所述故障信息,包括:所述控制器查询所述第一故障域与所述块组的对应关系确定所述块组。
结合第一方面,在第一方面的某些实现方式中,所述存储系统存储有所述第一块的地址与所述第一故障域的对应关系,以及所述第二块的地址与所述第二故障域的对应关系。
第二方面,提供了一种固态硬盘SSD管理方法,所述SSD包含第一故障域和第二故障域,所述方法包括:为所述第一故障域分配所述SSD的第一范围的逻辑地址;为所述第二故障域分配所述SSD的第二范围的逻辑地址。
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:分别记录所述第一故障域与所述第一范围的逻辑地址的对应关系以及所述第二故障域与所述第二范围的逻辑地址的对应关系。
结合第二方面,在第二方面的某些实现方式中,所述第一范围的逻辑地址和所述第二范围的逻辑地址均为连续的逻辑地址或者,所述第一范围的逻辑地址和所述第二范围的逻辑地址为不连续的逻辑地址。
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:所述SSD向存储系统的控制器发送所述第一故障域与所述第一范围的逻辑地址的对应关系以及所述第二故障域与所述第二范围的逻辑地址的对应关系;其中,所述存储系统包括所述SSD。
第三方面,本发明实施例提供了一种应用于存储系统的控制器,包括各单元,用于实现第一方面各种方案。
第四方面,本发明实施例提供了一种SSD管理装置,包括各单元,用于实现第二方面各种方案。
第五方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,该计算机指令用于执行第一方面的各种方法。
第六方面,本发明实施例提供了一种包含计算机指令的计算机程序产品,该计算机指令用于执行第一方面的各种方法。
第七方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,该计算机指令用于执行第二方面的各种方法。
第八方面,本发明实施例提供了一种包含计算机指令的计算机程序产品,该计算机指令用于执行第二方面的各种方法。
第九方面,本发明实施例提供了一种固态硬盘SSD,该SSD包含SSD控制器、第一故障域和第二故障域;该SSD控制器用于执行第二方面各种方案。
第十方面,本发明实施例提供了一种应用于存储系统的控制器,控制器包含接口和处理器,用于实现第一方面各种方案。
第十一方面,本发明实施例提供了提供了一种存储系统中数据恢复方法,所述存储系统包括控制器、第一固态硬盘SSD和第二SSD;其中,所述第一SSD和所述第二SSD均包含多个命名空间namespace,一个命名空间对应一个故障域,所述存储系统包含基于纠删码算法构成的块组,所述块组包含第一块和第二块;所述第一块的地址为所述第一SSD的第一命名空间的第一逻辑地址,所述第二块的地址为所述第二SSD的第二命名空间的第二逻辑地址;所述第一逻辑地址映射到所述第一SSD的第一故障域提供的物理地址,所述第二逻辑地址映射到所述第二SSD的第二故障域提供的物理地址;所述方法包括:所述控制器接收所述第一SSD的故障信息,所述故障信息用于指示所述第一故障域发生故障或所述第一命名空间发生故障;响应于所述故障信息,所述控制器根据所述纠删码算法恢复所述块组中的所述第一块的逻辑地址中存储的数据。
第十二方面,提供了一种固态硬盘SSD管理方法,所述SSD包含第一故障域和第二故障域,所述方法包括:为所述第一故障域分配所述SSD的第一命名空间;为所述第二故障域分配所述SSD的第二命名空间。
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:分别记录所述第一故障域与所述命名空间的对应关系以及所述第二故障域与所述第二命名空间的对应关系。
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:所述SSD向存储系统的控制器发送所述第一故障域与所述第一命名空间的对应关系以及所述第二故障域与所述第二命名空间的对应关系;其中,所述存储系统包括所述SSD。
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:所述SSD向存储系统的控制器发送所述第一故障域与所述第一命名空间的逻辑地址对应关系以及所述第二故障域与所述第二命名空间的逻辑地址的对应关系;其中,所述存储系统包括所述SSD。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1为本发明实施例的存储系统示意图;
图2为本发明实施例的存储阵列控制器结构示意图;
图3为本发明实施例分布式存储系统示意图;
图4为本发明实施例分布式存储系统中的服务器结构示意图;
图5为本发明实施例SSD的结构示意图;
图6为本发明实施例中SSD中故障域与逻辑地址关系示意图;
图7为存储系统中块组关系示意图;
图8为故障域索引表示意图;
图9为namespace索引表示意图;
图10为控制器结构示意图;
图11为SSD管理装置结构示意图。
具体实施方式
下面对本申请实施例中的技术方案进行更详细地描述。
本发明实施例解决存储系统中SSD在出现部分组件局部故障时,基于SSD的故障域和SSD的物理空间对应的方式,将故障范围限制在故障域内,从而减少在存储系统侧的影响范围,减少重构的开销,能够对更少的存储空间花费更少的时间进行重构,从而获得可靠性的提升。
如图1所示,本发明实施例中的存储系统,可以为存储阵列(如
Figure BDA0001913055280000041
Figure BDA0001913055280000042
18000系列,
Figure BDA0001913055280000043
V3系列)。存储阵列包括控制器101和多块SSD。如图2所示,控制器101包含中央处理单元(Central Processing Unit,CPU)201、存储器202和接口203,存储器202中存储计算机指令,CPU201执行存储器202中的计算机指令对存储系统进行管理及数据访问操作、数据恢复等操作。另外,为节省CPU201的计算资原,现场可编程门阵列(Field Programmable Gate Array,FPGA)或其他硬件也可以用于执行本发明实施例中CPU201全部操作,或者,FPGA或其他硬件与CPU201分别用于执行本发明实施例CPU201的部分操作。为方便描述,本发明实施例统一用处理器来指CPU201和存储器202的组合,以及上述各种实现,处理器与接口203通信。接口203可以为网络接口卡(NetworkingInterface Card,NIC)、主机总线适配器(Host Bus Adaptor,HBA)。
进一步的,本发明实施例的存储系统还可以为分布式存储系统(如
Figure BDA0001913055280000044
Figure BDA0001913055280000045
系列)等。以
Figure BDA0001913055280000046
Figure BDA0001913055280000047
系列。示例性的如图3所示,分布式块存储系统包括多台服务器,如服务器1、服务器2、服务器3、服务器4、服务器5和服务器6,服务器间通过InfiniBand或以太网络等互相通信。在实际应用当中,分布式块存储系统中服务器的数量可以根据实际需求增加,本发明实施例对此不作限定。
分布式块存储系统的服务器中包含如图4所示的结构。如图4所示,分布式块存储系统中的每台服务器包含中央处理单元(Central Processing Unit,CPU)401、内存402、接口403、SSD 1、SSD 2和SSD 3,内存402中存储计算机指令,CPU401执行内存402中的程序指令执行相应的操作。接口403可以为硬件接口,如网络接口卡(Network Interface Card,NIC)或主机总线适配器(Host Bus Adaptor,HBA)等,也可以为程序接口模块等。另外,为节省CPU401的计算资原,现场可编程门阵列(Field Programmable Gate Array,FPGA)或其他硬件也可以代替CPU401执行上述相应的操作,或者,FPGA或其他硬件与CPU401共同执行上述相应的操作。为方便描述,本发明实施例将CPU401与内存402、FPGA及其他替代CPU401的硬件或FPGA及其他替代CPU401的硬件与CPU401的组合统称为处理器。接口403可以为网络接口卡(Networking Interface Card,NIC)、主机总线适配器(Host Bus Adaptor,HBA)。在分布式存储系统中,负责分布式存储系统中存储管理的服务器称为控制器。具体的,控制器用于执行存储空间管理,数据访问等。
SSD以页(page)为读写单元,以块(block)为擦除单元,SSD可以实现通道(channel)、颗粒封装(package)、闪存芯片、颗粒(die)、闪存片(plane)等多个级别的数据访问的并行。SSD以多通道方式组织闪存颗粒封装,每个通道上可连接多个颗粒封装,多颗粒封装之间共享传输通道,但可独立执行指令。SSD具体结构可参考图5,包含接口501、SSD控制器502、channel 503、封装504。其中,一个封装504中包含多个闪存芯片,每一个闪存芯片包含一个或多个颗粒,每一个颗粒包含多个闪存片,每一个闪存片包含多个块,每一个块包含多个页。其中,接口501可以是支持串行连接小型计算机系统接口(Serial AttachedSmall Computer System Interface,SAS)协议、非易失性内存快速(Non-Volatile MemoryExpress,NVMe)协议或者快速外设互联(Peripheral Component Interconnect Express,PCIe)协议的接口等。
SSD发生故障,通常只是SSD的部分元素发生故障,例如物理块等,而不是整个SSD发生故障。也就是说当SSD内部发生故障时,潜在的受该故障影响的范围并不是整个SSD,而是SSD的一部分,本发明实施例称这一潜在的受该故障影响的部分为故障域。根据SSD的结构,将SSD划分为多个故障域,例如,将一个通道上连接的多个颗粒封装作为一个故障域,或者将一个或多个颗粒作为一个故障域,或者将一个或多个闪存片作为一个故障域。本发明实施例中,SSD发生故障,则将故障域作为受该故障潜在影响的范围,需要对该发生故障的故障域中的数据进行恢复。实际应用场景中,SSD的故障域发生故障可以是该故障域整体发生故障,也可以是该故障域内部分发生故障。本发明实施例还可以将SSD的其他组件作为一个故障域,本发明实施例对此不作限定。SSD监控每一个故障域的状态。具体实现,SSD的控制器使用后台巡检等方式监控故障域的状态。SSD还可以根据每一个故障域内的物理块Block的擦除次数确定故障域的健康状态,即根据磨损度确定故障域的状态。
SSD对外以逻辑地址的形式提供存储空间。在SSD中,逻辑地址为逻辑块地址(Logical Block Address,LBA),SSD使用闪存转换层(Flash Translation Layer,FTL)将LBA映射到SSD的物理块上的页(page),并且建立LBA到页地址的映射关系。本发明实施例为解决在存储系统中,SSD发生故障要进行SSD全盘数据恢复的问题,SSD按照故障域配置LBA到页的映射。例如,1个SSD包含128个颗粒,SSD的可用容量为32TB,即可提供32TB的逻辑地址,或称为可提供32TB的地址空间。如果要将SSD发生故障影响的LBA范围限制在1TB大小,则故障域数量为32个,即32TB/1TB=32。本发明实施例中,SSD包含128个颗粒,则每个故障域中颗粒的数量为4个,即128/32=4个。如图6所示,SSD包含32个故障域,故障域标识分别为0-31。具体实现中,SSD可以使用数字或其他方式来标识故障域,本发明实施例对此不作限定。一种实现方式,每一个故障域对应的SSD一定范围的LBA,例如,故障域0对应的LBA范围为0~(1TB-1),故障域1对应的LBA为1TB~(2TB-1)……,故障域31对应的逻辑块地址范围为31TB~(32TB-1),即一个故障域对应的逻辑地址连续。上述也称为为故障域分配一定范围的逻辑地址,即一定范围的LBA。本发明实施例为故障域分配一定范围逻辑地址,也称为SSD基于FTL将一定范围逻辑地址映射到特定的故障域中的物理地址。本发明实施例中为故障域分配一定范围逻辑地址并不要求全部建立该一定范围的逻辑地址到该故障域中的物理地址的映射。一种实现方式,在需要建立该一定范围的逻辑地址中的特定逻辑块地址到物理地址的映射时,SSD再在该故障域中选择物理地址建立映射。本发明实施例另一种实现,仍然以上述SSD为例,每一个故障域中的LBA可以不连续,即一定范围逻辑地址可以是不连续的逻辑地址。例如将32TB的LBA划分为32份,以1吉字节(Gigabyte,GB)为粒度划分,每一个故障域为1TB的LBA提供物理地址,即故障域0对应的LBA为0~(1GB-1),故障域1对应的LBA为1~(2GB-1),故障域31对应的LBA为31GB~(32GB-1)。然后故障域0对应的LBA为0~(1GB-1),故障域31对应的LBA为32GB~(33GB-1)……,故障域31对应的LBA为63GB~(64GB-1),通过循环交错的方式建立故障域与LBA的对应关系,在这种实现方式中,一个故障域对应的LBA不连续。SSD存储上述LBA与故障域的映射关系。SSD向控制器101上报上述LBA与故障域的映射关系。
本发明实施例,以图1所示的存储阵列作为存储系统为例,其中,SSD提供固定长度的块(Chunk,CK),控制器101根据使用冗余算法,例如纠删码(Erasure Coding,EC)算法,将分别来不同的SSD的Chunk组成块组(Chunk Group,CKG),具体实现,EC算法可以为RAID算法。如图7所示,CKG由CK1、CK2和CK3组成。CK1由SSD1提供,CK2由SSD2提供,CK3由SSD3提供。CK1的地址为SSD1的LBA1,CK2的地址为SSD2的LBA2,CK3的地址为SSD3的LBA3。其中,LBA1映射到SSD1的故障域1提供的物理地址,在此,称CK1的地址映射到SSD1的故障域1的提供的物理地址;LBA2映射到SSD2的故障域2提供的物理地址,LBA3映射到SSD3的故障域3提供的物理地址。本发明实施例中,从多个SSD选择CK组成CKG时,可以考虑根据基于负载决定提供CK的SSD的故障域。负载可以为输入输出(InputOutput,IO)的类型,IO冷热度等。其中一种实现,SSD将故障域与LBA的对应关系发送给控制器101,控制器101可以根据SSD的故障域与逻辑地址的对应关系确定CKG中每一个CK的逻辑地址对应的故障域。控制器101获取SSD的状态信息,例如,SSD1的故障域1发生故障,SSD1向控制器101发送故障信息,用于指示故障域1发生故障。由于控制器101根据SSD的故障域与逻辑地址的对应关系可以确定SSD1的故障域1发生故障影响的LBA,存储阵列包含多个CKG,控制器101查找CKG中包含的CK的地址为映射到SSD1的故障域1的LBA。例如确定CKG1包含的CK1的地址为映射到SSD的故障域1的LBA。控制器101根据冗余算法,如EC算法,恢复CKG1中CK1的数据。因此,相较于现有技术,本发明实施例不需要重构SSD1所提供的全部逻辑地址对应的CK,提供了数据重构的速度。具体实现过程,可以将CK1中的数据恢复到SSD1的其他故障域或者其他SSD的中,本发明实施例对此不作限定。
进一步的,SSD向控制器101上报上述LBA与故障域的映射关系,因此存储阵列存储有CKG中包含的CK的地址与故障域的对应关系,例如,第一CK属于第一故障域,第二CK属于第二故障域。进一步的,为了快速查找CKG中包含的CK的地址为映射到SSD1的故障域的LBA,根据LBA与故障域的映射关系,存储阵列还存储有故障域索引表,例如,故障域索引表包含故障域与CKG的对应关系,例如故障域标识与CKG标识的对应关系。因为同一个CKG中包含来自不同SSD的故障域的CK,所以在故障域索引表中,不同的故障域可以对应相同的CKG。当某一个SSD的故障域发生故障,控制器101根据该故障域索引表可以快速查找到受该故障域影响的CKG,从而快速重构这些CKG中受该故障域影响的CK中的数据。具体实现中,控制器101可以在创建CKG时,根据LBA与故障域的映射关系,在故障域索引表中记录相应的表项,表项中包含故障域与CKG的对应关系。为方便故障域索引表的查询和管理,一种实现,可以建立多级故障域索引表,例如,第一级为SSD与故障域索引表,第二级为故障域与CKG索引表;另一种实现,如图8所示,故障域索引表可以根据SSD进行分区,从而方便快速查询。
在本发明实施例中,另外一种实现方式,在支持NVME接口规范的SSD中,可以根据故障域的数量为SSD分配相应的命名空间(namespace),即一个故障域对应一个namespace。因此,一个SSD的不同namespace的逻辑地址可以独立编址。例如,仍以SSD的可用容量为32TB为例,将SSD划分为32个故障域,为一个故障域分配一个namespace,每一个namespace的LBA范围均为0~(1TB-1)。一个namespace的LBA映射到该namespace对应的故障域内的物理地址。SSD向控制器101上报命名空间和故障域的映射关系。SSD存储上述namespace与故障域的映射关系。SSD向控制器101上报上述namespace与故障域的映射关系。另一种实现,也可以上报上述namespace中的LBA与故障域的映射关系。本发明实施例中,从多个SSD选择CK组成CKG时,可以考虑根据基于负载决定提供CK的SSD的namespace。负载可以为输入输出(InputOutput,IO)的类型,IO冷热度等。
相应的,如前面所述,存储阵列存储有故障域索引表。另一种实现,存储阵列存储namespace索引表,namespace索引表包含namespace与CKG的对应关系,例如namespace标识与CKG标识的对应关系。因为同一个CKG中包含来自不同SSD的namespace的CK,所以在namespace索引表中,不同namespace可以对应相同的CKG。当某一个SSD的故障域发生故障,SSD向控制器101上报故障信息,故障信息用于指示发生故障的namespace,例如,故障信息包含namespace标识。控制器101根据该namespace索引表可以快速查找到受该故障域影响的CKG,从而快速重构这些CKG中受该故障域影响的CK中的数据。具体实现中,控制器101可以在分配建立CKG时,根据namespace与故障域的映射关系,在namespace索引表中记录相应的表项,表项中包含namespace与CKG的对应关系。为方便namespace索引表的查询与管理,一种实现方式,可以建立多级namespace索引表,例如,第一级为SSD与namespace索引表,第二级为namespace与CKG索引表;另一种实现,如图9所示,namespace索引表可以根据SSD进行分区,从而方便快速查询。
本发明实施例中,SSD进行垃圾数据回收时,有效数据也写在相同的故障域的不同物理地址中。
本发明实施例中,SSD的控制器收集SSD内部各故障域的磨损信息,并将故障域的磨损信息上报给控制器101。控制器101创建CKG时,根据SSD的各故障域的磨损度和数据的修改频率选择映射到相应的故障域的物理地址的CK。
本发明实施例还可以应用于支持开放通道(Open-Channel)的SSD。支持在Open-channel的SSD中,一种实现方式,SSD划分为多个故障域,存储系统的控制器101可以直接访问SSD的物理地址。SSD建立故障域与SSD的物理地址的映射关系,则存储系统中组成CKG的CK的地址可以SSD的物理地址,即CK的地址为SSD故障域提供的物理地址,CK的物理映射到SSD故障域提供的物理地址。本发明实施例中基于支持Open-channel的SSD的实现所需的其他操作可以参考本发明其他实施例的描述,在此不再赘述。
本发明实施例中SSD执行的各种操作可以由SSD的控制器执行。
相应的,本发明实施例也提供了一种控制器,应用于存储系统,其中,存储系统包括该控制器、第一固态硬盘SSD和第二SSD;其中,所述第一SSD和所述第二SSD均包含多个故障域,所述存储系统包含基于纠删码算法构成的块组,所述块组包含第一块和第二块;所述第一块的地址映射到所述第一SSD的第一故障域提供的物理地址,所述第二块的地址映射到所述第二SSD的第二故障域提供的物理地址;该控制器,如图10所示,包括接收单元1001和恢复单元1002。其中,接收单元1001用于接收所述第一SSD的故障信息,所述故障信息用于指示所述第一故障域发生故障;恢复单元1002用于响应于所述故障信息,根据所述纠删码算法恢复所述块组中的所述第一块的地址中存储的数据。进一步的,该存储系统存储所述第一块的地址与所述第一故障域的对应关系,以及所述第二块的地址与所述第二故障域的对应关系,该控制器还包括查询单元,用于用于查询所述第一故障域与所述块组的对应关系确定所述块组。图10所示的控制器的具体实现,可以参考本发明实施例前面的实现,如图2所示控制器101的结构,在此不作赘述。另一种实现,本发明实施例图10提供的控制器还可以由软件实现。
如图11所示,本发明实施例还提供了一种SSD管理装置,其中,SSD包括第一故障域和第二故障域,该SSD管理装置包括第一分配单元1101,用于为所述第一故障域分配所述SSD的第一范围的逻辑地址;第二分配单元1102,用于为所述第二故障域分配所述SSD的第二范围的逻辑地址。进一步的,SSD管理装置还包括发送单元,用于向存储系统的控制器发送所述第一故障域与所述第一范围的逻辑地址的对应关系以及所述第二故障域与所述第二范围的逻辑地址的对应关系;其中,所述存储系统包括所述SSD。进一步的,所述SSD管理装置还包括记录单元,用于分别记录所述第一故障域与所述第一范围的逻辑地址的对应关系以及所述第二故障域与所述第二范围的逻辑地址的对应关系。本发明实施例提供的SSD管理装置其中一种硬件实现,可以参考SSD的控制器的结构,本发明实施例在此不再赘述。另一种实现,本发明实施例提供的SSD管理装置还可以由软件实现或者由SSD的控制器与软件共同实现。
本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在图1所示的控制器101或者图4所示的服务器上运行时,执行本发明实施例中的方法。
本发明实施例提供了一种包含计算机指令的计算机程序产品,当该计算机指令在图1所示的控制器101或者图4所示的服务器运行时,执行本发明实施例中的方法。
本发明实施例提供的数据恢复装置的各单元可以由处理器实现,也可以由处理器与存储器共同实现,也可以由软件实现。
本发明实施例提供了一种包含计算机指令的计算机程序产品,当该计算机指令在SSD的控制器运行时,执行本发明实施例中的SSD管理方法。
本发明实施例中的逻辑地址还可以是键值(Key-Value,KV)盘中的KV,或者日志(log)盘的log等。
本发明实施例中,对应关系与映射关系具有相同的含义。块的地址与故障域的对应关系的表述与故障域与块的地址的对应关系具有相同的含义。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干计算机指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储计算机指令的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (36)

1.一种存储系统中数据恢复方法,其特征在于,所述存储系统包括控制器、第一固态硬盘SSD和第二SSD;其中,所述第一SSD和所述第二SSD均包含多个故障域,所述存储系统包含基于纠删码算法构成的块组,所述块组包含第一块和第二块;所述第一块的地址映射到所述第一SSD的第一故障域提供的物理地址,所述第二块的地址映射到所述第二SSD的第二故障域提供的物理地址;
所述方法包括:
所述控制器接收所述第一SSD的故障信息,所述故障信息用于指示所述第一故障域发生故障;
响应于所述故障信息,所述控制器根据所述纠删码算法恢复所述块组中的所述第一块的地址中存储的数据。
2.根据权利要求1所述的方法,其特征在于,所述第一SSD和所述第二SSD中一个故障域为一个通道上连接的多个颗粒封装。
3.根据权利要求1所述的方法,其特征在于,所述第一SSD和所述第二SSD中一个故障域为一个或多个颗粒封装。
4.根据权利要求1所述的方法,其特征在于,所述第一SSD和所述第二SSD中一个故障域为一个或多个颗粒。
5.根据权利要求1所述的方法,其特征在于,所述第一SSD和所述第二SSD中一个故障域为一个或多个闪存片。
6.根据权利要求1-5任一所述的方法,其特征在于,所述存储系统存储所述第一故障域与所述块组的对应关系,以及所述第二故障域与所述块组的对应关系。
7.根据权利要求6所述的方法,其特征在于,所述响应于所述故障信息,包括:
所述控制器查询所述第一故障域与所述块组的对应关系确定所述块组。
8.根据权利要求1-5任一所述的方法,其特征在于,所述存储系统存储有所述第一块的地址与所述第一故障域的对应关系,以及所述第二块的地址与所述第二故障域的对应关系。
9.一种固态硬盘SSD管理方法,其特征在于,所述SSD包含第一故障域和第二故障域,所述方法包括:
为所述第一故障域分配所述SSD的第一范围的逻辑地址;
为所述第二故障域分配所述SSD的第二范围的逻辑地址。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
分别记录所述第一故障域与所述第一范围的逻辑地址的对应关系以及所述第二故障域与所述第二范围的逻辑地址的对应关系。
11.根据权利要求9所述的方法,其特征在于,所述第一范围的逻辑地址和所述第二范围的逻辑地址均为连续的逻辑地址。
12.根据权利要求9所述的方法,其特征在于,所述第一范围的逻辑地址和所述第二范围的逻辑地址为不连续的逻辑地址。
13.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述SSD向存储系统的控制器发送所述第一故障域与所述第一范围的逻辑地址的对应关系以及所述第二故障域与所述第二范围的逻辑地址的对应关系;其中,所述存储系统包括所述SSD。
14.根据权利要求9所述的方法,其特征在于,所述SSD的一个故障域为一个通道上连接的多个颗粒封装。
15.根据权利要求9所述的方法,其特征在于,所述SSD的一个故障域为一个或多个颗粒封装。
16.根据权利要求9所述的方法,其特征在于,所述SSD的一个故障域为一个或多个颗粒。
17.根据权利要求9所述的方法,其特征在于,所述第一SSD和所述第二SSD中一个故障域为一个或多个闪存片。
18.一种存储系统,其特征在于,所述存储系统包括控制器、第一固态硬盘SSD和第二SSD;其中,所述第一SSD和所述第二SSD均包含多个故障域,所述存储系统包含基于纠删码算法构成的块组,所述块组包含第一块和第二块;所述第一块的地址映射到所述第一SSD的第一故障域提供的物理地址,所述第二块的地址映射到所述第二SSD的第二故障域提供的物理地址;
所述控制器用于:
接收所述第一SSD的故障信息,所述故障信息用于指示所述第一故障域发生故障;
响应于所述故障信息,根据所述纠删码算法恢复所述块组中的所述第一块的地址中存储的数据。
19.根据权利要求18所述的存储系统,其特征在于,所述存储系统存储所述第一故障域与所述块组的对应关系,以及所述第二故障域与所述块组的对应关系;
所述控制器还用于查询所述第一故障域与所述块组的对应关系确定所述块组。
20.一种固态硬盘SSD,其特征在于,所述SSD包含SSD控制器、第一故障域和第二故障域;所述SSD控制器用于:
为所述第一故障域分配所述SSD的第一范围的逻辑地址;
为所述第二故障域分配所述SSD的第二范围的逻辑地址。
21.根据权利要求20所述的SSD,其特征在于,所述SSD控制器还用于:
分别记录所述第一故障域与所述第一范围的逻辑地址的对应关系以及所述第二故障域与所述第二范围的逻辑地址的对应关系。
22.根据权利要求20所述的SSD,其特征在于,所述第一范围的逻辑地址和所述第二范围的逻辑地址均为连续的逻辑地址。
23.根据权利要求20所述的SSD,其特征在于,所述第一范围的逻辑地址和所述第二范围的逻辑地址为不连续的逻辑地址。
24.根据权利要求20所述的SSD,其特征在于,所述SSD控制器还用于:
向存储系统的控制器发送所述第一故障域与所述第一范围的逻辑地址的对应关系以及所述第二故障域与所述第二范围的逻辑地址的对应关系;其中,所述存储系统包括所述SSD。
25.一种控制器,其特征在于,所述控制器应用于存储系统中,所述存储系统包括所述控制器、第一固态硬盘SSD和第二SSD;其中,所述第一SSD和所述第二SSD均包含多个故障域,所述存储系统包含基于纠删码算法构成的块组,所述块组包含第一块和第二块;所述第一块的地址映射到所述第一SSD的第一故障域提供的物理地址,所述第二块的地址映射到所述第二SSD的第二故障域提供的物理地址;
所述控制器包括:
接收单元,用于接收所述第一SSD的故障信息,所述故障信息用于指示所述第一故障域发生故障;
恢复单元,用于响应于所述故障信息,根据所述纠删码算法恢复所述块组中的所述第一块的地址中存储的数据。
26.根据权利要求25所述的控制器,其特征在于,所述存储系统存储所述第一故障域与所述块组的对应关系,以及所述第二故障域与所述块组的对应关系;
所述控制器还包括查询单元,用于查询所述第一故障域与所述块组的对应关系确定所述块组。
27.一种固态硬盘SSD管理装置,其特征在于,所述SSD包含第一故障域和第二故障域;所述SSD管理装置包括:
第一分配单元,用于为所述第一故障域分配所述SSD的第一范围的逻辑地址;
第二分配单元,用于为所述第二故障域分配所述SSD的第二范围的逻辑地址。
28.根据权利要求27所述的SSD管理装置,其特征在于,SSD管理装置还包括记录单元,用于分别记录所述第一故障域与所述第一范围的逻辑地址的对应关系以及所述第二故障域与所述第二范围的逻辑地址的对应关系。
29.根据权利要求27所述的SSD管理装置,其特征在于,所述SSD管理装置还包括发送单元,用于向存储系统的控制器发送所述第一故障域与所述第一范围的逻辑地址的对应关系以及所述第二故障域与所述第二范围的逻辑地址的对应关系;其中,所述存储系统包括所述SSD。
30.一种控制器,其特征在于,所述控制器应用于存储系统,所述存储系统包括所述控制器、第一固态硬盘SSD和第二SSD;其中,所述第一SSD和所述第二SSD均包含多个故障域,所述存储系统包含基于纠删码算法构成的块组,所述块组包含第一块和第二块;所述第一块的地址映射到所述第一SSD的第一故障域提供的物理地址,所述第二块的地址映射到所述第二SSD的第二故障域提供的物理地址;
所述控制器包含处理器和接口;
所述接口,用于接收所述第一SSD的故障信息,所述故障信息用于指示所述第一故障域发生故障;
所述处理器,用于响应于所述故障信息,根据所述纠删码算法恢复所述块组中的所述第一块的地址中存储的数据。
31.根据权利要求30所述的处理器,其特征在于,所述存储系统存储所述第一故障域与所述块组的对应关系,以及所述第二故障域与所述块组的对应关系;
所述处理器还用于查询所述第一故障域与所述块组的对应关系确定所述块组。
32.一种计算机程序产品,其特征在于,所述计算机程序产品包括应用于存储系统的计算机指令,所述存储系统包括控制器、第一固态硬盘SSD和第二SSD;其中,所述第一SSD和所述第二SSD均包含多个故障域,所述存储系统包含基于纠删码算法构成的块组,所述块组包含第一块和第二块;所述第一块的地址映射到所述第一SSD的第一故障域提供的物理地址,所述第二块的地址映射到所述第二SSD的第二故障域提供的物理地址;当所述控制器执行所述计算机指令,用于执行以下步骤:
接收所述第一SSD的故障信息,所述故障信息用于指示所述第一故障域发生故障;
响应于所述故障信息,根据所述纠删码算法恢复所述块组中的所述第一块的地址中存储的数据。
33.根据权利要求32所述的计算机程序产品,其特征在于,当所述控制器执行所述计算机指令,还用于执行以下步骤:
查询所述第一故障域与所述块组的对应关系确定所述块组。
34.一种计算机程序产品,其特征在于,所述计算机程序产品包括应用于固态硬盘SSD的SSD控制器,所述SSD包含SSD控制器、第一故障域和第二故障域;当所述SSD控制器执行所述计算机指令,用于执行以下步骤:
为所述第一故障域分配所述SSD的第一范围的逻辑地址;
为所述第二故障域分配所述SSD的第二范围的逻辑地址。
35.根据权利要求34所述的计算机程序产品,其特征在于,当所述SSD控制器执行所述计算机指令,还用于执行以下步骤:
分别记录所述第一故障域与所述第一范围的逻辑地址的对应关系以及所述第二故障域与所述第二范围的逻辑地址的对应关系。
36.根据权利要求34所述的计算机程序产品,其特征在于,当所述SSD控制器执行所述计算机指令,还用于执行以下步骤:
向存储系统的控制器发送所述第一故障域与所述第一范围的逻辑地址的对应关系以及所述第二故障域与所述第二范围的逻辑地址的对应关系;其中,所述存储系统包括所述SSD。
CN201811560345.7A 2018-10-25 2018-12-20 存储系统中数据恢复方法、系统及装置 Active CN111104056B (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN202210010236.8A CN114496051A (zh) 2018-10-25 2018-12-20 固态硬盘及固态硬盘管理方法
CN202010286457.9A CN111552436B (zh) 2018-10-25 2018-12-20 存储系统中数据恢复方法、系统及装置
CN202010260823.3A CN111552435A (zh) 2018-10-25 2018-12-20 存储系统中数据恢复方法、系统及装置
EP19875722.1A EP3851949A4 (en) 2018-10-25 2019-08-28 METHOD, SYSTEM AND APPARATUS FOR RESTORING DATA IN A STORAGE SYSTEM
PCT/CN2019/103085 WO2020082888A1 (zh) 2018-10-25 2019-08-28 存储系统中数据恢复方法、系统及装置
KR1020217012802A KR102648688B1 (ko) 2018-10-25 2019-08-28 저장 시스템에서 데이터를 복원하는 방법, 시스템 및 장치
US17/233,893 US20210240584A1 (en) 2018-10-25 2021-04-19 Data recovery method, system, and apparatus in storage system
US17/883,708 US20230076381A1 (en) 2018-10-25 2022-08-09 Data recovery method, system, and apparatus in storage system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811248415 2018-10-25
CN2018112484155 2018-10-25

Related Child Applications (3)

Application Number Title Priority Date Filing Date
CN202010260823.3A Division CN111552435A (zh) 2018-10-25 2018-12-20 存储系统中数据恢复方法、系统及装置
CN202010286457.9A Division CN111552436B (zh) 2018-10-25 2018-12-20 存储系统中数据恢复方法、系统及装置
CN202210010236.8A Division CN114496051A (zh) 2018-10-25 2018-12-20 固态硬盘及固态硬盘管理方法

Publications (2)

Publication Number Publication Date
CN111104056A true CN111104056A (zh) 2020-05-05
CN111104056B CN111104056B (zh) 2021-12-31

Family

ID=70420188

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202010286457.9A Active CN111552436B (zh) 2018-10-25 2018-12-20 存储系统中数据恢复方法、系统及装置
CN202010260823.3A Pending CN111552435A (zh) 2018-10-25 2018-12-20 存储系统中数据恢复方法、系统及装置
CN201811560345.7A Active CN111104056B (zh) 2018-10-25 2018-12-20 存储系统中数据恢复方法、系统及装置
CN202210010236.8A Pending CN114496051A (zh) 2018-10-25 2018-12-20 固态硬盘及固态硬盘管理方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202010286457.9A Active CN111552436B (zh) 2018-10-25 2018-12-20 存储系统中数据恢复方法、系统及装置
CN202010260823.3A Pending CN111552435A (zh) 2018-10-25 2018-12-20 存储系统中数据恢复方法、系统及装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210010236.8A Pending CN114496051A (zh) 2018-10-25 2018-12-20 固态硬盘及固态硬盘管理方法

Country Status (4)

Country Link
US (2) US20210240584A1 (zh)
EP (1) EP3851949A4 (zh)
KR (1) KR102648688B1 (zh)
CN (4) CN111552436B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000286A (zh) * 2020-08-13 2020-11-27 北京浪潮数据技术有限公司 一种四控全闪存储系统及其故障处理方法、装置
CN112130762A (zh) * 2020-09-07 2020-12-25 上海威固信息技术股份有限公司 一种固态硬盘数据存储与操作方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552436B (zh) * 2018-10-25 2022-02-25 华为技术有限公司 存储系统中数据恢复方法、系统及装置
US11614876B2 (en) * 2021-08-20 2023-03-28 Macronix International Co., Ltd. Memory device and method for accessing memory device with namespace management
US20240078039A1 (en) * 2022-09-06 2024-03-07 Western Digital Technologies, Inc. Data Recovery for Zoned Namespace Devices

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282045B1 (en) * 1997-09-15 2001-08-28 Texas Instruments Incorporated Server hard disk drive integrated circuit and method of operation
CN101105970A (zh) * 2006-07-12 2008-01-16 北京赫芯斯信息技术有限公司 Ata接口的ddr固态盘
US20110131472A1 (en) * 2009-11-30 2011-06-02 International Business Machines Corporation Solid-state storage system with parallel access of multiple flash/pcm devices
CN102708019A (zh) * 2012-04-28 2012-10-03 华为技术有限公司 一种硬盘数据恢复方法、装置及系统
CN102915212A (zh) * 2012-09-19 2013-02-06 记忆科技(深圳)有限公司 一种固态硬盘的raid实现方法、固态硬盘及电子设备
CN103488583A (zh) * 2013-09-09 2014-01-01 华中科技大学 一种高性能高可靠的固态盘实现方法
CN103559138A (zh) * 2013-10-09 2014-02-05 华为技术有限公司 固态硬盘及其空间管理方法
CN103713969A (zh) * 2013-12-30 2014-04-09 华为技术有限公司 提高固态硬盘可靠性方法和装置
CN104583930A (zh) * 2014-08-15 2015-04-29 华为技术有限公司 数据迁移的方法、控制器和数据迁移装置
CN105260267A (zh) * 2015-09-28 2016-01-20 联想(北京)有限公司 一种数据刷新方法及固态硬盘
CN107203328A (zh) * 2016-03-17 2017-09-26 伊姆西公司 存储管理方法和存储设备
US20180011762A1 (en) * 2016-07-08 2018-01-11 Toshiba Corporation Pool-level solid state drive error correction
CN107885457A (zh) * 2016-09-30 2018-04-06 华为技术有限公司 一种固态硬盘ssd、存储装置及数据存储方法
CN108540315A (zh) * 2018-03-28 2018-09-14 新华三技术有限公司成都分公司 分布式存储系统、方法和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934120B2 (en) * 2006-09-11 2011-04-26 International Business Machines Corporation Storing data redundantly
US10642505B1 (en) * 2013-01-28 2020-05-05 Radian Memory Systems, Inc. Techniques for data migration based on per-data metrics and memory degradation
US9442670B2 (en) * 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9582363B2 (en) * 2014-06-09 2017-02-28 International Business Machines Corporation Failure domain based storage system data stripe layout
US9524108B2 (en) * 2014-08-29 2016-12-20 Dell Products, Lp System and method for providing personality switching in a solid state drive device
US9542118B1 (en) * 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US9575853B2 (en) * 2014-12-12 2017-02-21 Intel Corporation Accelerated data recovery in a storage system
US9448887B1 (en) 2015-08-22 2016-09-20 Weka.IO Ltd. Distributed erasure coded virtual file system
CN107085546B (zh) * 2016-02-16 2020-05-01 深信服科技股份有限公司 基于故障域技术的数据管理方法和装置
JP6448571B2 (ja) * 2016-03-08 2019-01-09 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
KR102573301B1 (ko) * 2016-07-15 2023-08-31 삼성전자 주식회사 Raid 리커버리를 수행하는 메모리 시스템 및 그 동작방법
CN107193758A (zh) * 2017-05-19 2017-09-22 记忆科技(深圳)有限公司 一种固态硬盘的映射表管理方法及固态硬盘
CN107315546A (zh) * 2017-07-10 2017-11-03 郑州云海信息技术有限公司 一种固态硬盘低级格式化的方法及系统
CN107273061A (zh) * 2017-07-12 2017-10-20 郑州云海信息技术有限公司 一种固态硬盘创建多namespace的方法及系统
KR102410671B1 (ko) * 2017-11-24 2022-06-17 삼성전자주식회사 스토리지 장치, 스토리지 장치를 제어하는 호스트 장치, 및 스토리지 장치의 동작 방법
CN111552436B (zh) * 2018-10-25 2022-02-25 华为技术有限公司 存储系统中数据恢复方法、系统及装置

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282045B1 (en) * 1997-09-15 2001-08-28 Texas Instruments Incorporated Server hard disk drive integrated circuit and method of operation
CN101105970A (zh) * 2006-07-12 2008-01-16 北京赫芯斯信息技术有限公司 Ata接口的ddr固态盘
US20110131472A1 (en) * 2009-11-30 2011-06-02 International Business Machines Corporation Solid-state storage system with parallel access of multiple flash/pcm devices
CN102708019A (zh) * 2012-04-28 2012-10-03 华为技术有限公司 一种硬盘数据恢复方法、装置及系统
CN102915212A (zh) * 2012-09-19 2013-02-06 记忆科技(深圳)有限公司 一种固态硬盘的raid实现方法、固态硬盘及电子设备
CN103488583A (zh) * 2013-09-09 2014-01-01 华中科技大学 一种高性能高可靠的固态盘实现方法
CN103559138A (zh) * 2013-10-09 2014-02-05 华为技术有限公司 固态硬盘及其空间管理方法
CN103713969A (zh) * 2013-12-30 2014-04-09 华为技术有限公司 提高固态硬盘可靠性方法和装置
CN104583930A (zh) * 2014-08-15 2015-04-29 华为技术有限公司 数据迁移的方法、控制器和数据迁移装置
CN105260267A (zh) * 2015-09-28 2016-01-20 联想(北京)有限公司 一种数据刷新方法及固态硬盘
CN107203328A (zh) * 2016-03-17 2017-09-26 伊姆西公司 存储管理方法和存储设备
US20180011762A1 (en) * 2016-07-08 2018-01-11 Toshiba Corporation Pool-level solid state drive error correction
CN107885457A (zh) * 2016-09-30 2018-04-06 华为技术有限公司 一种固态硬盘ssd、存储装置及数据存储方法
CN108540315A (zh) * 2018-03-28 2018-09-14 新华三技术有限公司成都分公司 分布式存储系统、方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宋振龙: "面向超级计算的大规模并行存储系统关键技术研究", 《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000286A (zh) * 2020-08-13 2020-11-27 北京浪潮数据技术有限公司 一种四控全闪存储系统及其故障处理方法、装置
CN112130762A (zh) * 2020-09-07 2020-12-25 上海威固信息技术股份有限公司 一种固态硬盘数据存储与操作方法
CN112130762B (zh) * 2020-09-07 2024-01-26 上海威固信息技术股份有限公司 一种固态硬盘数据存储与操作方法

Also Published As

Publication number Publication date
CN114496051A (zh) 2022-05-13
CN111552436A (zh) 2020-08-18
KR20210064359A (ko) 2021-06-02
CN111552436B (zh) 2022-02-25
KR102648688B1 (ko) 2024-03-19
EP3851949A1 (en) 2021-07-21
EP3851949A4 (en) 2021-12-01
CN111104056B (zh) 2021-12-31
US20230076381A1 (en) 2023-03-09
CN111552435A (zh) 2020-08-18
US20210240584A1 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
CN111104056B (zh) 存储系统中数据恢复方法、系统及装置
EP3800554B1 (en) Storage system managing metadata, host system controlling storage system, and storage system operating method
US10037158B2 (en) Vertically integrated storage
US9846544B1 (en) Managing storage space in storage systems
US9026845B2 (en) System and method for failure protection in a storage array
US10037152B2 (en) Method and system of high-throughput high-capacity storage appliance with flash translation layer escalation and global optimization on raw NAND flash
US9875043B1 (en) Managing data migration in storage systems
US10768838B2 (en) Storage apparatus and distributed storage system
US11797387B2 (en) RAID stripe allocation based on memory device health
US10365845B1 (en) Mapped raid restripe for improved drive utilization
WO2013158817A1 (en) Lun management with distributed raid controllers
CN106873903B (zh) 数据存储方法及装置
CN111124264A (zh) 用于重建数据的方法、设备和计算机程序产品
CN116126251B (zh) 一种实现多并发写入的方法、控制器和固态存储设备
CN113641303A (zh) 用于故障弹性存储的系统、方法和设备
US20190004942A1 (en) Storage device, its controlling method, and storage system having the storage device
CN113918087A (zh) 存储装置以及用于管理存储装置中的命名空间的方法
WO2020082888A1 (zh) 存储系统中数据恢复方法、系统及装置
WO2014045329A1 (en) Storage system and storage control method
US20200042193A1 (en) Method, storage system and computer program product for managing data storage
US20210349780A1 (en) Systems, methods, and devices for data recovery with spare storage device and fault resilient storage device
WO2017127103A1 (en) Managing data in a storage array
US9620165B2 (en) Banded allocation of device address ranges in distributed parity schemes
CN113687978B (zh) 用于存储阵列控制器的数据处理方法
WO2022143741A1 (zh) 存储设备管理方法、设备及存储系统

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