CN107515731B - 一种基于固态盘的进化存储系统及其工作方法 - Google Patents
一种基于固态盘的进化存储系统及其工作方法 Download PDFInfo
- Publication number
- CN107515731B CN107515731B CN201710637219.6A CN201710637219A CN107515731B CN 107515731 B CN107515731 B CN 107515731B CN 201710637219 A CN201710637219 A CN 201710637219A CN 107515731 B CN107515731 B CN 107515731B
- Authority
- CN
- China
- Prior art keywords
- ssd
- working area
- pool
- data
- new
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
本发明公开了一种基于固态盘的进化存储系统,包括三个部分:工作区,第一SSD池和第二SSD池。工作区用于为用户提供存储服务,并在运行过程中,预测SSD剩余寿命并与预先设定的阈值进行比较。第一SSD池在工作区的SSD失效或是预测需要进行更换时,为其提供新的SSD。第二SSD池是那些在工作区退出的与失效的SSD。当系统中的SSD工作在健康状态时,系统正常工作并提供高性能,当出现被标示为不健康时,选择第一SSD池的新SSD,将原始SSD中的数据逐渐转移到新的SSD。完成数据传输后,原来的SSD完全被新的SSD所替代。与RAID‑5系统相比,在正常模式下,具有相同的性能,在异常模式下,超越了RAID‑5系统并具有很好的寿命预测精度。
Description
技术领域
本发明属于计算机存储领域,更具体地,涉及一种基于固态盘的进化存储系统及其工作方法。
背景技术
如今,固态盘(Solid state disk,简称SSD)由于能够提供相对于机械硬盘来说更高的I/O性能而被广泛采用。
然而,SSD在一些方面也存在着严重的局限性,其中一个方面是当前采用RAID-5架构的SSD中,当一个SSD出现故障后,同一SSD阵列中的另一个SSD由于与其具有相近的使用寿命,也很可能出现故障,从而会造成整个SSD阵列的数据无法被恢复;另一方面,在采用RAID-5或RAID-6的SSD中,当一个SSD出现故障后,同一SSD阵列中的其余SSD必须使用冗余信息将数据重构到一个新的SSD中,这个过程大大降低了SSD系统的性能。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于固态盘的进化存储系统,其目的在于,通过分析SSD中NAND闪存的属性,合理预测SSD的使用寿命,从而解决现有RAID-5架构的SSD中存在的一个SSD出现故障时,另一个SSD也出现故障所导致的整个SSD阵列的数据无法被恢复的技术问题,以及采用RAID-5或RAID-6的SSD中,当一个SSD出现故障后,同一SSD阵列中的其余SSD必须使用冗余信息将数据重构到一个新的SSD中,从而大大降低SSD系统性能的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于固态盘的进化存储系统,包括工作区、第一SSD池和第二SSD池,其中工作区包括多个SSD阵列,第一SSD池包括多个新SSD,第二SSD池包括多个到达使用寿命的旧SSD,工作区用于为用户提供存储服务,在存储过程中,预测其内部各SSD的剩余寿命,并将其与预先设定的寿命阈值进行比较,并在SSD的剩余寿命大于或等于预先设定的寿命阈值时使该SSD继续工作,第一SSD用于在工作区判断SSD的剩余寿命小于预先设定的寿命阈值时,确定该SSD为失效或是需要进行更换的SSD,并为工作区提供新的SSD,工作区还用于读取该失效或是需要进行更换的SSD中的数据,并将数据写入到新的SSD中,第二SSD池用于将失效或是需要进行更换的SSD从工作区中取出并放入其自身中。
优选地,工作区还用于通过判断其对其内部SSD的读、写、或擦除操作是否失败来确定发生物理损坏的SSD,并在确定了发生物理损坏的SSD后,启动RAID-5或RAID-6的降级模式将发生物理损坏的SSD中的数据恢复出来,从第一SSD池中获取一个新的SSD,将恢复出来的数据写入该新的SSD中,并将发生物理损坏的该SSD放入第二SSD池中。
优选地,工作区将发生物理损坏的SSD中的数据恢复出来这一过程具体为,工作区从该SSD所在的SSD阵列中取出剩余SSD中的数据,对这些数据进行异或操作,以得到恢复后的数据。
优选地,SSD阵列是RAID-5阵列或RAID-6阵列。
优选地,预测SSD的剩余寿命是使用机器学习方式,其中输入是SSD的读、写、擦除的延时,编程/擦除周期,以及SSD的比特错误率,输出是剩余寿命。
按照本发明的另一方面,提供了一种基于固态盘的进化存储系统的工作方法,包括以下步骤:
(1)工作区在工作过程中预测其内部各个SSD的剩余寿命,并将其与预先设定的寿命阈值进行比较,若前者大于或等于后者,则工作区内的该SSD继续工作,并持续本步骤的判断过程,否则说明工作区中的该SSD失效或是需要进行更换,进入步骤(2);
(2)第一SSD池为工作区提供新的SSD;
(3)工作区读取失效或是需要进行更换的该SSD中的数据,并将数据写入到第一SSD池提供的新的SSD中;
(4)第二SSD池将失效或是需要进行更换的SSD从工作区中取出并放入其自身中。
按照本发明的另一方面,提供了一种基于固态盘的进化存储系统的工作方法,包括以下步骤:
(1)工作区通过判断其对其内部SSD的读、写、或擦除操作是否失败来确定发生物理损坏的SSD;
(2)工作区启动RAID-5或RAID-6的降级模式将发生物理损坏的SSD中的数据恢复出来;
(3)工作区从第一SSD池中获取一个新的SSD,将恢复出来的数据写入该新的SSD中,并将发生物理损坏的该SSD放入第二SSD池中。
优选地,步骤(2)具体为,工作区从该SSD所在的SSD阵列中取出剩余SSD中的数据,对这些数据进行异或操作,以得到恢复后的数据。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明解决现有RAID-5架构的SSD中存在的一个SSD出现故障时,另一个SSD也出现故障所导致的整个SSD阵列的数据无法被恢复的技术问题:由于本发明采用了步骤(1)和步骤(3),在SSD出现故障之前及时对其中的数据进行转移,因此避免了同一SSD阵列中多个SSD同时出现故障造成整个阵列的数据无法恢复的情况。
(2)本发明能够解决现有采用RAID-5或RAID-6的SSD中,当一个SSD出现故障后,同一SSD阵列中的其余SSD必须使用冗余信息将数据重构到一个新的SSD中,从而大大降低SSD系统性能的技术问题:由于采用了步骤(1)和(3),在SSD出现故障前已将其中的数据进行转移,从而不需要对同阵列中的其余SSD中的数据进行读取及异或操作以对出现故障的SSD中的数据进行恢复,因此,避免了系统在进行重构的过程中,由于需要进行大量的数据读取及运算所造成的系统性能急剧下降的问题。
(3)由于本发明在操作过程中加入了新的SSD,并用其替换了旧的SSD,因此,使本发明固态盘的进化存储系统的性能和容量都有所提高。
附图说明
图1是本发明基于固态盘的进化存储系统的整体结构图;
图2是本发明基于固态盘的进化存储系统的一种工作方法的流程图;
图3是本发明基于固态盘的进化存储系统的另一种工作方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的整体思路在于,当系统中的SSD在健康状态下时,系统正常工作,如果有某个SSD被预测为不健康状态,系统就会进入进化模式。一个新的SSD从第一SSD池取出,原来的SSD的数据会逐渐转移到新的SSD上,这个过程可以在I/O的空闲时间里进行,在最好的情况下,可以达到与正常模式相同的性能。当完成数据传输后,原来的SSD完全被新的SSD所取代,并退出到第二SSD池。系统在每次的SSD的更换中得到进化,提高了性能和不降级的可靠性。
如图1所示,本发明基于固态盘的进化存储系统包括工作区、第一SSD池和第二SSD池,其中工作区包括多个SSD阵列,第一SSD池是由多个新的SSD组成,第二SSD池是由多个到达使用寿命的旧SSD组成。在本实施方式中,SSD阵列是RAID-5阵列或RAID-6阵列。
其中,工作区用于为用户提供存储服务,并在存储过程中,预测其内部各SSD的剩余寿命,并将其与预先设定的寿命阈值(该寿命阈值是根据本发明进化存储系统的需求进行设置,该值越大,则系统的可靠性越高,但SSD的使用率越低,反之则系统的可靠性越低,但SSD的使用率越高)进行比较,若前者大于或等于后者,则工作区内的该SSD继续工作,否则说明工作区中的该SSD失效或是需要进行更换,此时第一SSD池为工作区提供新的SSD,工作区读取失效或是需要进行更换的该SSD中的数据,并将数据写入到新的SSD中,并且第二SSD池将失效或是需要进行更换的SSD从工作区中取出并放入其自身中。
工作区还用于通过判断其对其内部SSD的读、写、或擦除操作是否失败来确定发生物理损坏的SSD,并在确定了发生物理损坏的SSD后,启动RAID-5或RAID-6的降级模式(Degradation mode)将发生物理损坏的SSD中的数据恢复出来,从第一SSD池中获取一个新的SSD,将恢复出来的数据写入该新的SSD中,并将发生物理损坏的该SSD放入第二SSD池中。
工作区将发生物理损坏的SSD中的数据恢复出来这一过程具体为,工作区从该SSD所在的SSD阵列中取出剩余SSD中的数据,对这些数据进行异或操作,以得到恢复后的数据。
如图2所示,上述本发明基于固态盘的进化存储系统的工作方法包括以下步骤:
(1)工作区在工作过程中预测其内部各个SSD的剩余寿命,并将其与预先设定的寿命阈值进行比较,若前者大于或等于后者,则工作区内的该SSD继续工作,并持续本步骤的判断过程,否则说明工作区中的该SSD失效或是需要进行更换,进入步骤(2);
具体而言,该寿命阈值是根据本发明进化存储系统的需求进行设置,该值越大,则系统的可靠性越高,但SSD的使用率越低,反之则系统的可靠性越低,但SSD的使用率越高。
在本步骤中,预测SSD的剩余寿命是使用机器学习方式,其中输入是SSD的读、写、擦除的延时,编程/擦除(Programming/Erase,简称P/E)周期,以及SSD的比特错误率,输出是剩余寿命。
(2)第一SSD池为工作区提供新的SSD;
(3)工作区读取失效或是需要进行更换的该SSD中的数据,并将数据写入到第一SSD池提供的新的SSD中;
(4)第二SSD池将失效或是需要进行更换的SSD从工作区中取出并放入其自身中。
如图3所示,上述本发明基于固态盘的进化存储系统的工作方法包括以下步骤:
(1)工作区通过判断其对其内部SSD的读、写、或擦除操作是否失败来确定发生物理损坏的SSD;
(2)工作区启动RAID-5或RAID-6的降级模式(Degradation mode)将发生物理损坏的SSD中的数据恢复出来;
具体而言,本步骤是工作区从该SSD所在的SSD阵列中取出剩余SSD中的数据,对这些数据进行异或操作,以得到恢复后的数据;
(3)工作区从第一SSD池中获取一个新的SSD,将恢复出来的数据写入该新的SSD中,并将发生物理损坏的该SSD放入第二SSD池中。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于固态盘的进化存储系统,包括工作区、第一SSD池和第二SSD池,其中工作区包括多个SSD阵列,第一SSD池包括多个新SSD,第二SSD池包括多个到达使用寿命的旧SSD,其特征在于,
工作区用于为用户提供存储服务,在存储过程中,预测其内部各SSD的剩余寿命,并将其与预先设定的寿命阈值进行比较,并在SSD的剩余寿命大于或等于预先设定的寿命阈值时使该SSD继续工作;
第一SSD池用于在工作区判断SSD的剩余寿命小于预先设定的寿命阈值时,确定该SSD为失效或是需要进行更换的SSD,并为工作区提供新的SSD;
工作区还用于读取该失效或是需要进行更换的SSD中的数据,并将数据写入到新的SSD中;
第二SSD池用于将失效或是需要进行更换的SSD从工作区中取出并放入其自身中。
2.根据权利要求1所述的进化存储系统,其特征在于,工作区还用于通过判断其对其内部SSD的读、写、或擦除操作是否失败来确定发生物理损坏的SSD,并在确定了发生物理损坏的SSD后,启动RAID-5或RAID-6的降级模式将发生物理损坏的SSD中的数据恢复出来,从第一SSD池中获取一个新的SSD,将恢复出来的数据写入该新的SSD中,并将发生物理损坏的该SSD放入第二SSD池中。
3.根据权利要求2所述的进化存储系统,其特征在于,工作区将发生物理损坏的SSD中的数据恢复出来这一过程具体为,工作区从该SSD所在的SSD阵列中取出剩余SSD中的数据,对这些数据进行异或操作,以得到恢复后的数据。
4.根据权利要求1所述的进化存储系统,其特征在于,SSD阵列是RAID-5阵列或RAID-6阵列。
5.根据权利要求1所述的进化存储系统,其特征在于,预测SSD的剩余寿命是使用机器学习方式,其中输入是SSD的读、写、擦除的延时,编程/擦除周期,以及SSD的比特错误率,输出是剩余寿命。
6.一种根据权利要求1至5中任意一项所述的基于固态盘的进化存储系统的工作方法,其特征在于,包括以下步骤:
(1)工作区在工作过程中预测其内部各个SSD的剩余寿命,并将其与预先设定的寿命阈值进行比较,若前者大于或等于后者,则工作区内的该SSD继续工作,并持续本步骤的判断过程,否则说明工作区中的该SSD失效或是需要进行更换,进入步骤(2);
(2)第一SSD池为工作区提供新的SSD;
(3)工作区读取失效或是需要进行更换的该SSD中的数据,并将数据写入到第一SSD池提供的新的SSD中;
(4)第二SSD池将失效或是需要进行更换的SSD从工作区中取出并放入其自身中。
7.一种根据权利要求1至5中任意一项所述的基于固态盘的进化存储系统的工作方法,其特征在于,包括以下步骤:
(1)工作区通过判断其对其内部SSD的读、写、或擦除操作是否失败来确定发生物理损坏的SSD;
(2)工作区启动RAID-5或RAID-6的降级模式将发生物理损坏的SSD中的数据恢复出来;
(3)工作区从第一SSD池中获取一个新的SSD,将恢复出来的数据写入该新的SSD中,并将发生物理损坏的该SSD放入第二SSD池中。
8.根据权利要求7所述的工作方法,其特征在于,步骤(2)具体为,工作区从该SSD所在的SSD阵列中取出剩余SSD中的数据,对这些数据进行异或操作,以得到恢复后的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710637219.6A CN107515731B (zh) | 2017-07-31 | 2017-07-31 | 一种基于固态盘的进化存储系统及其工作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710637219.6A CN107515731B (zh) | 2017-07-31 | 2017-07-31 | 一种基于固态盘的进化存储系统及其工作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107515731A CN107515731A (zh) | 2017-12-26 |
CN107515731B true CN107515731B (zh) | 2019-12-24 |
Family
ID=60722823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710637219.6A Active CN107515731B (zh) | 2017-07-31 | 2017-07-31 | 一种基于固态盘的进化存储系统及其工作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107515731B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062506B (zh) * | 2018-07-16 | 2020-04-10 | 山东大学 | Raid-5全闪存磁盘阵列及提高阵列整体寿命的方法 |
CN109634531A (zh) * | 2018-12-14 | 2019-04-16 | 郑州云海信息技术有限公司 | 一种raid 5磁盘阵列监控方法、装置、设备及介质 |
US11049570B2 (en) | 2019-06-26 | 2021-06-29 | International Business Machines Corporation | Dynamic writes-per-day adjustment for storage drives |
US11163482B2 (en) | 2019-06-26 | 2021-11-02 | International Business Machines Corporation | Dynamic performance-class adjustment for storage drives |
US11137915B2 (en) | 2019-06-27 | 2021-10-05 | International Business Machines Corporation | Dynamic logical storage capacity adjustment for storage drives |
CN111142796A (zh) * | 2019-12-20 | 2020-05-12 | 北京浪潮数据技术有限公司 | 一种ssd寿命预测方法、装置、设备及可读存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7313721B2 (en) * | 2004-06-21 | 2007-12-25 | Dot Hill Systems Corporation | Apparatus and method for performing a preemptive reconstruct of a fault-tolerant RAID array |
CN103246478B (zh) * | 2012-02-08 | 2015-11-25 | 北京同有飞骥科技股份有限公司 | 一种基于软raid支持无分组式全局热备盘的磁盘阵列系统 |
CN103116475B (zh) * | 2013-02-06 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种自动精简配置扩容的方法 |
US9965199B2 (en) * | 2013-08-22 | 2018-05-08 | Sandisk Technologies Llc | Smart dynamic wear balancing between memory pools |
TWI510916B (zh) * | 2015-02-05 | 2015-12-01 | 緯創資通股份有限公司 | 儲存裝置壽命監控系統以及其儲存裝置壽命監控方法 |
CN106293509A (zh) * | 2016-07-12 | 2017-01-04 | 乐视控股(北京)有限公司 | 数据存储方法及系统 |
CN106294065A (zh) * | 2016-07-28 | 2017-01-04 | 联想(北京)有限公司 | 硬盘故障监测方法、装置及系统 |
-
2017
- 2017-07-31 CN CN201710637219.6A patent/CN107515731B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107515731A (zh) | 2017-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107515731B (zh) | 一种基于固态盘的进化存储系统及其工作方法 | |
US8799747B2 (en) | Data hardening to compensate for loss of data retention characteristics in a non-volatile memory | |
US9733844B2 (en) | Data migration method, data migration apparatus, and storage device | |
US9443616B2 (en) | Bad memory unit detection in a solid state drive | |
US8560926B2 (en) | Data writing method, memory controller and memory storage apparatus | |
US10503606B2 (en) | Data backup method, data recovery method and storage controller | |
KR101447786B1 (ko) | 파워 인터럽트 관리 | |
EP2646919B1 (en) | Transaction log recovery | |
CN111752487B (zh) | 一种数据恢复方法、装置及固态硬盘 | |
JP2019502987A (ja) | 不揮発性メモリ・システムにおけるマルチページ障害の回復 | |
KR20110089728A (ko) | 솔리드 스테이트 드라이브의 에러 제어 방법 | |
KR20130097995A (ko) | 비휘발성 메모리 장치의 제어 방법 및 비휘발성 메모리 시스템 | |
JP6515752B2 (ja) | ストレージ制御装置、制御方法、および制御プログラム | |
US11734103B2 (en) | Behavior-driven die management on solid-state drives | |
CN110489264B (zh) | 记忆装置页可用性管理方法及系统、记忆装置及电子装置 | |
US10324648B1 (en) | Wear-based access optimization | |
TWI779707B (zh) | 用於快閃記憶體中進行故障區塊管理的方法與裝置 | |
US9378092B2 (en) | Storage control apparatus and storage control method | |
CN112083873A (zh) | 智能识别非易失存储介质不可靠块的方法与装置 | |
US9223688B2 (en) | Data storing method and memory controller and memory storage device using the same | |
US20220214970A1 (en) | Power loss protection in memory sub-systems | |
CN109388520B (zh) | 数据备份方法、数据恢复方法以及存储控制器 | |
CN111221681A (zh) | 一种存储器的修复方法及装置 | |
CN114610522A (zh) | 操作存储设备和主机设备的方法以及存储设备 | |
WO2024036473A1 (en) | Selectable error handling modes in memory systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |