CN102033794A - 一种flash固态盘数据冗余保护方法 - Google Patents

一种flash固态盘数据冗余保护方法 Download PDF

Info

Publication number
CN102033794A
CN102033794A CN 201110003827 CN201110003827A CN102033794A CN 102033794 A CN102033794 A CN 102033794A CN 201110003827 CN201110003827 CN 201110003827 CN 201110003827 A CN201110003827 A CN 201110003827A CN 102033794 A CN102033794 A CN 102033794A
Authority
CN
China
Prior art keywords
data
flash
zone
passage
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.)
Pending
Application number
CN 201110003827
Other languages
English (en)
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.)
CETC 52 Research Institute
Original Assignee
CETC 52 Research Institute
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 CETC 52 Research Institute filed Critical CETC 52 Research Institute
Priority to CN 201110003827 priority Critical patent/CN102033794A/zh
Publication of CN102033794A publication Critical patent/CN102033794A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及数据存储技术领域,尤其是涉及一种FLASH固态盘数据冗余保护方法,包括数据存储过程、数据读取过程和数据恢复过程;通过数据并行操作、数据冗余保护及数据恢复的方法,解决了现有技术中存在的问题。本发明的有益效果是:本发明提供的高可靠性、高速的FLASH固态盘数据冗余保护方法,为FLASH固态盘存储数据提供了极高的可靠性,即使在同一区域内1个至m个的FLASH通道的芯片损坏,也能够保证存储数据的完整性;在保证高可靠性的同时,以m通道并行读写和“零开销”的冗余机制,极大的提高了FLASH固态盘的读写速度。

Description

一种FLASH固态盘数据冗余保护方法
技术领域
本发明涉及数据存储技术领域,尤其是涉及一种FLASH固态盘数据冗余保护方法。
背景技术
随着固态盘成本的降低,固态盘的使用范围越来越广,固态盘替代传统的硬盘已经慢慢成为趋势。传统的硬盘的数据可靠性完全依赖于盘片、磁头和电路的可靠性,基本上只要盘片损坏或者磁头损坏,则数据将很难恢复。而普通固态盘由多组FLASH芯片组组成,为了实现数据的管理,FLASH芯片都会按通道的方式进行排列,FLASH芯片分成n个通道,从接口进来的数据按数据块的方式在控制器的控制之下,经过缓存后再通过数据分配电路先把的一块数据分配到FLASH存储通道1进行存储,下一块数据再分配到FLASH存储通道2进行存储,第n块数据分配到FLASH存储通道n进行存储,依次循环往返。这些数据块在FLASH存储通道中的块地址信息将形成文件分配表。反之在进行读取操作的时候,将根据文件分配表读取所需的数据。当某一块FLASH芯片发生损坏后,则该芯片存储的信息将无法读取,数据的完整性显然收到破坏,从而造成用户数据丢失,将会给用户造成无法估量的损失。
发明内容
本发明为克服上述的不足之处,目的在于针对传统的FLASH固态盘,提供了高可靠性、高速的FLASH固态盘数据冗余保护方法,通过数据并行操作、数据冗余保护及数据恢复的方法,解决了现有技术中存在的问题。
本发明是通过以下技术方案达到上述目的:
一种FLASH固态盘数据冗余保护方法,包括数据存储过程、数据读取过程和数据恢复过程;
数据存储过程包括以下步骤:
1)将FLASH芯片分成2个对等的互为冗余的区域,每片区域各有m个FLASH通道,分别编号为0至(m-1);
2)设定FLASH通道每次读写操作的最小单元记为数据块;
3)从接口进来的数据经过控制器的数据重新组织,划分成m个数据块,分别编号为0至(m-1));
4)控制器将这m个数据块分别并行写入2个区域的m个FLASH通道:
0号数据块写入该区域的0号FLASH通道;
1号数据块写入该区域的1号FLASH通道;
……
(m-1)号数据块写入该区域的(m-1)号FLASH通道;
   在FLASH固态盘发生故障时,数据读取过程包括以下步骤:
1)控制器查询各个FLASH通道状态,判定故障点,假设是0号FLASH通道损坏;
2)控制器关闭该区域的访问;
3)控制器从另一区域的m个FLASH通道中,每个通道读取1个数据块,组成m个数据块;
4)控制器对读到的m个数据块进行数据重组,将其还原;
在FLASH固态盘替换了故障FLASH芯片、要进行数据恢复时,数据恢复过程包括以下步骤:
1)控制器根据地址,读取另一个区域中相对应的FLASH通道上存储的数据;
2)控制器将读取的数据写入该区域的原损坏的FLASH通道:
读取1号区域的1号FLASH通道,地址0x0000上存储的数据;然后将该数据写入0号区域的1号FLASH通道的0x0000地址;
读取1号区域的1号FLASH通道,地址0x0001上存储的数据;然后将该数据写入0号区域的1号FLASH通道的0x0001地址;
……
读取1号区域的1号FLASH通道,地址0xFFFF上存储的数据;然后将该数据写入0号区域的1号FLASH通道的0xFFFF地址。
作为优选,所述的m为500。
作为优选,所述的m为2000。
本发明的有益效果:本发明提供的高可靠性、高速的FLASH固态盘数据冗余保护方法,为FLASH固态盘存储数据提供了极高的可靠性,即使在同一区域内1个至m个的FLASH通道的芯片损坏,也能够保证存储数据的完整性;在保证高可靠性的同时,以m通道并行读写和“零开销”的冗余机制,极大的提高了FLASH固态盘的读写速度。
附图说明
 
图1:数据存储过程的示意图;
图2:故障时的数据读取过程的示意图;
图3:数据恢复过程的示意图。
具体实施方式
下面结合附图通过实施例对本发明作进一步阐述:
一种FLASH固态盘数据冗余保护方法,包括数据存储过程、数据读取过程和数据恢复过程。
如图1所示,数据存储过程包括以下步骤:
(一)将FLASH芯片分成2个对等的区域,每片区域各有m个FLASH通道;
(二)设定FLASH通道每次读写操作的最小单元,记为“数据块”;
(三)从接口进来的用户数据经过控制器的数据重新组织,划分成m个数据块;
(四)控制器将这m个数据块并行写入A0区域对应的m个FLASH通道,具体如下:
0号数据块写入FLASH通道A0_0;
1号数据块写入FLASH通道A0_1;
……
(m-1)号数据块写入FLASH通道A0_(m-1)。
(五)同时控制器也将这m个数据块并行写入A1区域对应的m个FLASH通道,具体如下:
0号数据块写入FLASH通道A1_0;
1号数据块写入FLASH通道A1_1;
……
(m-1)号数据块写入FLASH通道A1_(m-1)。
 
如图2所示,在FLASH固态盘发生故障时,数据读取过程包括以下步骤:
(一)控制器查询各个FLASH通道状态,判定故障点;
(二)假设是A0区域FLASH通道A0_1损坏,控制器关闭A0区域的访问;
(三)控制器从A1区域的m个FLASH通道中,轮流从每个通道读取1个数据块,并这m个数据块组织为一段有序的数据,具体如下:
从FLASH通道A1_0读取的数据为0号数据块;
从FLASH通道A1_1读取的数据为1号数据块;
……
从FLASH通道A1_(m-1)读取的数据为(m-1)号数据块。
(四)控制器对读到的m个数据块进行数据重新组织,将其还原为用户数据。
如图3所示,在FLASH固态盘替换了故障FLASH芯片、要进行数据恢复时,以0号区域的FLASH通道A0_1为例,数据恢复过程包括以下步骤:
(一)控制器根据地址,读取A1区域中相对应的FLASH通道上存储的数据,即FLASH通道A1_1上存储的数据;
(二)控制器将读取的数据写入A0区域的FLASH通道A0_1,具体如下:
读取FLASH通道A1_1、地址0x0000上存储的数据;然后将该数据写入FLASH通道A0_1的0x0000地址;
读取FLASH通道A1_1、地址0x0001上存储的数据;然后将该数据写入FLASH通道A0_1的0x0001地址;
……
读取FLASH通道A1_1、地址0xFFFF上存储的数据;然后将该数据写入FLASH通道A0_1的0xFFFF地址。
此处的m的值可为500或为2000。
为了解决FLASH固态盘中由于FLASH芯片故障造成的数据丢失问题,提高数据存储的可靠性,本发明提出了将FLASH芯片分为互为冗余的两个区域,在存储数据时同时写入两个区域,在发生故障时将完整的用户数据从其中一个完好区域读出,并能根据完好区域快速恢复损坏区域的方法。
将FLASH固态盘上的FLASH通道分为对等的2个对等的区域,每个区域各有m个FLASH通道。按照并行系数m,控制器对接口进来的用户数据进行重新组织,划分成m个数据块,然后并行写入两个区域中对应的m个FLASH通道:0号数据块写入两个区域的0号FLASH通道、1号数据块写入两个区域的1号FLASH通道、……(m-1)号数据块写入两个区域的(m-1)号FLASH通道。存储的数据在两个区域中互为冗余。
当用户读取数据时,如果此时FLASH通道均没有故障,则控制器关闭0号区域的访问,从1号区域的m个FLASH通道中并行读取数据,经控制器重新组织后输出给用户。如果此时一个区域有若干FLASH通道故障,则控制器关闭对这个区域的访问,从另一个完好区域的m个FLASH通道中并行读取数据,经控制器重新组织后输出给用户,从而保证用户数据的正确性。
当故障通道进行替换后,需要恢复完整的用户数据时,控制器从另一个区域的对应FLASH通道上,按照地址顺序读取数据,然后写入需要被恢复的FLASH通道,恢复原故障通道的数据。
本发明采用两个区域互为冗余的机制进行数据保护,能够很大限度的提高数据的可靠性,即使同个区域内的多个FLASH通道故障时也能输出正确数据;而且在实现数据恢复时基本上没有增加额外开销,是很高效的实现方式。同时采用了m通道并行读写,极大的提高了读写速度。
以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。

Claims (3)

1.一种FLASH固态盘数据冗余保护方法,其特征在于,包括数据存储过程、数据读取过程和数据恢复过程;
数据存储过程包括以下步骤:
1)将FLASH芯片分成2个对等的互为冗余的区域,每片区域各有m个FLASH通道,分别编号为0至(m-1);
2)设定FLASH通道每次读写操作的最小单元记为数据块;
3)从接口进来的数据经过控制器的数据重新组织,划分成m个数据块,分别编号为0至(m-1));
4)控制器将这m个数据块分别并行写入2个区域的m个FLASH通道:
0号数据块写入该区域的0号FLASH通道;
1号数据块写入该区域的1号FLASH通道;
……
(m-1)号数据块写入该区域的(m-1)号FLASH通道;
   在FLASH固态盘发生故障时,数据读取过程包括以下步骤:
1)控制器查询各个FLASH通道状态,判定故障点,假设是0号FLASH通道损坏;
2)控制器关闭该区域的访问;
3)控制器从另一区域的m个FLASH通道中,每个通道读取1个数据块,组成m个数据块;
4)控制器对读到的m个数据块进行数据重组,将其还原;
在FLASH固态盘替换了故障FLASH芯片、要进行数据恢复时,数据恢复过程包括以下步骤:
1)控制器根据地址,读取另一个区域中相对应的FLASH通道上存储的数据;
2)控制器将读取的数据写入该区域的原损坏的FLASH通道:
读取1号区域的1号FLASH通道,地址0x0000上存储的数据;然后将该数据写入0号区域的1号FLASH通道的0x0000地址;
读取1号区域的1号FLASH通道,地址0x0001上存储的数据;然后将该数据写入0号区域的1号FLASH通道的0x0001地址;
……
读取1号区域的1号FLASH通道,地址0xFFFF上存储的数据;然后将该数据写入0号区域的1号FLASH通道的0xFFFF地址。
2.根据权利要求1所述的一种FLASH固态盘数据冗余保护方法,其特征在于所述的m为500。
3.根据权利要求1所述的一种FLASH固态盘数据冗余保护方法,其特征在于所述的m为2000。
CN 201110003827 2011-01-10 2011-01-10 一种flash固态盘数据冗余保护方法 Pending CN102033794A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110003827 CN102033794A (zh) 2011-01-10 2011-01-10 一种flash固态盘数据冗余保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110003827 CN102033794A (zh) 2011-01-10 2011-01-10 一种flash固态盘数据冗余保护方法

Publications (1)

Publication Number Publication Date
CN102033794A true CN102033794A (zh) 2011-04-27

Family

ID=43886725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110003827 Pending CN102033794A (zh) 2011-01-10 2011-01-10 一种flash固态盘数据冗余保护方法

Country Status (1)

Country Link
CN (1) CN102033794A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591751A (zh) * 2012-01-05 2012-07-18 中国电子科技集团公司第五十二研究所 一种存储系统的自主热备保护方法
CN102629223A (zh) * 2012-02-28 2012-08-08 北京搜狐新媒体信息技术有限公司 一种数据修复方法及装置
WO2013117002A1 (zh) * 2012-02-09 2013-08-15 华为技术有限公司 一种数据重建方法、装置和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085953B1 (en) * 2002-11-01 2006-08-01 International Business Machines Corporation Method and means for tolerating multiple dependent or arbitrary double disk failures in a disk array
CN101620555A (zh) * 2009-08-10 2010-01-06 中国电子科技集团公司第五十二研究所 一种基于flash芯片的固态盘数据存储与恢复方法
CN101727298A (zh) * 2009-11-04 2010-06-09 北京东方广视科技股份有限公司 实现独立磁盘冗余阵列的方法和装置
CN101777013A (zh) * 2009-01-12 2010-07-14 成都市华为赛门铁克科技有限公司 一种固态硬盘及数据读写方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085953B1 (en) * 2002-11-01 2006-08-01 International Business Machines Corporation Method and means for tolerating multiple dependent or arbitrary double disk failures in a disk array
CN101777013A (zh) * 2009-01-12 2010-07-14 成都市华为赛门铁克科技有限公司 一种固态硬盘及数据读写方法
CN101620555A (zh) * 2009-08-10 2010-01-06 中国电子科技集团公司第五十二研究所 一种基于flash芯片的固态盘数据存储与恢复方法
CN101727298A (zh) * 2009-11-04 2010-06-09 北京东方广视科技股份有限公司 实现独立磁盘冗余阵列的方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591751A (zh) * 2012-01-05 2012-07-18 中国电子科技集团公司第五十二研究所 一种存储系统的自主热备保护方法
WO2013117002A1 (zh) * 2012-02-09 2013-08-15 华为技术有限公司 一种数据重建方法、装置和系统
CN103354923A (zh) * 2012-02-09 2013-10-16 华为技术有限公司 一种数据重建方法、装置和系统
CN103354923B (zh) * 2012-02-09 2016-03-09 华为技术有限公司 一种数据重建方法、装置和系统
US9904599B2 (en) 2012-02-09 2018-02-27 Huawei Technologies Co., Ltd. Method, device, and system for data reconstruction
CN102629223A (zh) * 2012-02-28 2012-08-08 北京搜狐新媒体信息技术有限公司 一种数据修复方法及装置

Similar Documents

Publication Publication Date Title
CN102023815B (zh) 在固态存储器中实现raid
CN102163458B (zh) 半导体存储器装置
CN102906712B (zh) Mlc自raid闪速数据保护方案
CN102194527B (zh) 半导体存储器装置
CN104035830A (zh) 一种数据恢复方法和装置
US8640006B2 (en) Preemptive memory repair based on multi-symbol, multi-scrub cycle analysis
CN102184129B (zh) 磁盘阵列的容错方法和装置
CN107247563A (zh) 一种nand flash芯片的块信息标识实现方法
CN102508620B (zh) 一种处理raid5坏扇区的方法
US20150019808A1 (en) Hybrid storage control system and method
CN102968361A (zh) 一种raid数据自修复的方法
CN103279424A (zh) 一种Nand Flash的坏列管理装置和方法
CN104484251A (zh) 一种硬盘故障的处理方法及装置
CN103455386A (zh) 一种修复出错数据的方法和设备
JP2012234254A (ja) メモリシステム
CN104063187A (zh) 适用于安防应用的硬盘文件系统及其运行方法
CN103729149A (zh) 一种存储数据的方法
CN103544082A (zh) 基于闪存芯片实现存储设备数据恢复的方法
CN102033794A (zh) 一种flash固态盘数据冗余保护方法
US20130036259A1 (en) Solid state drive and data storing method thereof
CN203311409U (zh) 一种Nand Flash的坏列管理装置
JP6524126B2 (ja) メモリ制御装置及びメモリ制御方法
CN100492323C (zh) 对缓存内容进行保护的方法和装置以及缓存控制器
CN105117172A (zh) 一种磁盘阵列历史掉盘记录的保存方法
CN101620555A (zh) 一种基于flash芯片的固态盘数据存储与恢复方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110427