CN103019882B - 固态硬盘的raid4*** - Google Patents
固态硬盘的raid4*** Download PDFInfo
- Publication number
- CN103019882B CN103019882B CN201210450119.XA CN201210450119A CN103019882B CN 103019882 B CN103019882 B CN 103019882B CN 201210450119 A CN201210450119 A CN 201210450119A CN 103019882 B CN103019882 B CN 103019882B
- Authority
- CN
- China
- Prior art keywords
- flash disk
- disk
- flash
- raid4
- slc
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明适用于计算机技术领域,提供了一种固态硬盘的RAID4***,所述***包括至少一多层单元MLC闪存盘以及至少一单层单元SLC闪存盘,所述MLC闪存盘作为用于存储数据的数据盘,所述SLC闪存盘作为用于校验数据的校验盘。借此,本发明可以提高企业级固态存储硬盘的数据可靠性,并且克服了校验盘读写瓶颈的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种固态硬盘的RAID4***。
背景技术
NANDFlash读写性能优异,是目前主流的固态硬盘存储介质,但是有着自己的一些物理特性:1)需要先擦除再写入,数据读写单位为page,擦除的单位为block;2)擦除次数有限制;3)读写时有干扰可能会造成数据出错;4)数据保存有期限。NANDFlash按照存储单元划分,比较常见的是SLC(SingleLevelCell,单层单元)和MLC(MultiLevelCell,多层单元)两种。SLC的特点是寿命长,写入速度快,功耗低,目前主流SLC的P/E次数是MLC的10倍以上,写入速度是MLC的4倍左右,但是MLC容量大,价格便宜,所以目前广泛应用于企业级固态存储硬盘。
图1是企业级固态存储硬盘简化结构图,固态存储硬盘一般采用PCIe、SAS等接口,根据接口类型选择对应的桥接控制器;每个固态存储硬盘上有1个或多个Flash控制器,每个Flash控制器管理一组NANDFlash,Flash控制器通常有FTL、ECC校验、坏块管理等功能,将其管理的一组Flash虚拟成为一个单独的磁盘。然后在主机端实现软件RAID功能,将所有虚拟磁盘组成一个大磁盘,进一步提升数据吞吐量。大多数企业级固态存储硬盘只支持RAID0级别,以实现最高的容量和性能。但是随着制程的提高,MLC抗读写干扰能力变得更差,单靠ECC校验保护数据显得并不可靠,因此有人曾想到将RAID5技术应用到固态存储硬盘上来,增强数据的冗余性。但是RAID5把一个写变成两读两写的特性,会大幅减小NANDFlash的寿命,所以很少有企业级固态存储硬盘直接应用RAID5技术。
综上可知,现有的企业级固态存储硬盘,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种固态硬盘的RAID4***,其可以提高企业级固态存储硬盘的数据可靠性,克服了校验盘读写瓶颈的问题。
为了实现上述目的,本发明提供一种固态硬盘的RAID4***,所述***包括至少一多层单元MLC闪存盘以及至少一单层单元SLC闪存盘,所述MLC闪存盘作为用于存储数据的数据盘,所述SLC闪存盘作为用于校验数据的校验盘。
根据本发明的固态硬盘的RAID4***,所述***还包括第一闪存控制器,所述MLC闪存盘连接至少两个所述第一闪存控制器,且每个所述第一闪存控制器的可用容量相同。
根据本发明的固态硬盘的RAID4***,所述***还包括第二闪存控制器,所述SLC闪存盘连接至少一个所述第二闪存控制器,且所述第二闪存控制器的可用容量之和与所述第一闪存控制器的可用容量相同。
根据本发明的固态硬盘的RAID4***,所述***还包括RAID4控制器,其包括:
记录模块,用于记录预定义的MLC闪存盘和SLC闪存盘个数信息;
信息检测模块,用于检测闪存控制器,并上报MLC闪存盘和SLC闪存盘信息给处理模块,所述闪存盘信息包括Flash类型和容量;
处理模块,用于比对上报的MLC闪存盘和SLC闪存盘个数,如果所述各闪存盘个数与所述记录模块中记录的个数一致,则开始扫描所述闪存盘的RAID4元数据;
创建模块,用于所述MLC闪存盘和SLC闪存盘上都没有RAID4的元数据时,自动创建一个RAID4,将所述SLC闪存盘作为校验盘,所述MLC闪存盘作为数据盘,将所述RAID4元数据写入所述闪存盘的元数据区。
根据本发明的固态硬盘的RAID4***,所述MLC闪存盘为普通MLC闪存盘或企业级的MLC闪存盘,所述SLC闪存盘为普通SLC闪存盘或企业级的SLC闪存盘。
本发明通过将多个MLC闪存盘作为数据盘,将SLC闪存盘作为校验盘,将各数据盘上的各奇偶校验值存入校验盘中,若其中一个盘出现故障,则可通过其它盘计算奇偶校验恢复故障数据。具体应用中SLC比MLC寿命长,写延迟小,将本发明的RAID4技术应用到企业级固态硬盘上,避免了RAID4的校验盘写瓶颈的问题,提高了数据冗余性。
附图说明
图1是现有技术一实施例的企业级固态硬盘结构示意图;
图2是本发明一实施例的企业级固态硬盘的RAID4***结构示意图;
图3是本发明一实施例的RAID4***的原理结构示意图;
图4是本发明一实施例的RAID4***的主机端的主机控制流程图;
图5是本发明另一实施例的企业级固态硬盘的RAID4***结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图2,本发明提供了一种固态硬盘的RAID4***,本发明中的固态硬盘优选为企业级固态硬盘。本发明中的RAID4***100包括至少一多层单元MLC闪存盘10以及至少一单层单元SLC闪存盘20,该实施例中,优选将MLC闪存盘10的数量设为N,SLC闪存盘20的数量为1。在企业级固态硬盘的具体应用中,MLC闪存盘10作为用于存储数据的数据盘,SLC闪存盘20作为用于校验数据的校验盘。
本发明的RAID4***100还包括连接于桥接控制器30的第一Flash控制器11和第二Flash控制器21,每个Flash控制器管理一组相同类型的NANDFlash比如MLC闪存盘10或SLC闪存盘20。
本发明的一实施例中,MLC闪存盘10连接有第一Flash控制器11,且连接的第一Flash控制器11的数量是P,SLC闪存盘20连接有第二Flash控制器21,且连接的第二Flash控制器21的数量是Q,则P≥2,Q≥1,且Q的理想值为1,也就是说,固态硬盘至少有3个Flash控制器。具体而言,每个连接MLC闪存盘10的的第一Flash控制器11提供的可用容量相同或基本保持一致。进一步的,Q个连接SLC闪存盘20的第二Flash控制器21提供的容量之和与单个第一Flash控制器11提供的可用容量保持一致。
本发明中,Q的理想值为1,同时由于SLC闪存盘20的容量一般要比MLC闪存盘10的数量小,本发明的实施例中可以增加第二Flash控制器21下SLC闪存盘20的数量。同时,若SLC闪存盘20的数量又超出第二Flash控制器21可连接的NANDFlash个数限制,则需要增加第二Flash控制器21和SLC闪存盘20。对于Q大于1的情况,本发明需要通过主机端的驱动程序做特殊处理,在创建RAID4之前,先将Q个原生的SLC闪存盘20组建RAID0,作为一个大的SLC的虚拟磁盘,再用它作为RAID4的校验盘。优选的,本发明所采用的MLC闪存盘即可以为普通的MLC闪存盘,也可以为企业级的MLC(eMLC)闪存盘,对应的,SLC闪存盘可以为普通的SLC闪存盘,也可以为企业级的SLC(eSLC)闪存盘,借此分别对应于普通固态硬盘及企业级固态硬盘。
结合图3,RAID4***100由N个数据盘(MLC)10和1个校验盘(SLC)20组成。以条带为基础,计算N个数据盘10上条块的奇偶校验值(XOR)存入校验盘20中。比如图中A1、A2、A3、Ap分别是各个磁盘上的条块,由它们组成一个条带,它们之间的数据关系是:A1XORA2XORA3=Ap。具体应用中,如果要写入新数据A2′,则首先读取A2和Ap,然后通过公式:A2XORA2′XORAp=Ap′计算得到新的Ap′,最后写入A2′和Ap′。如果这N+1个盘中有一个出现故障,本发明可以通过剩余的N个盘计算奇偶校验值恢复故障盘的数据,达到数据保护的作用。
图4是本发明的RAID4***的主机端的主机控制流程图,主机端内预存有固态硬盘的驱动程序,其包括:
CLI命令行:提供用户命令行界面,支持固态硬盘信息查询及功能配置命令;
管理模块:与各个功能模块交互,集中管理,提供统一的接口给CLI调用;
DISK模块:向操作***注册或者注销块设备;
RAID模块:实现RAID自动创建、手动创建、删除、查询等管理功能,实现RAID4算法的IO数据通路;
HAL模块:检测固态硬盘的Flash控制器,检测到一个则上报一个虚拟磁盘给RAID模块,包括Flash类型、容量等信息;接收RAID模块下发的IO,然后转发给第一Flash控制器11或第二Flash控制器21。
当主机上电启动时,固态硬盘驱动程序正常加载的流程如下:驱动程序中记录了MLC闪存盘10和SLC闪存盘20的个数信息;HAL模块检测Flash控制器(第一Flash控制器11和第二Flash控制器21),并上报闪存盘信息给RAID模块,具体信息包括Flash类型、容量等信息;RAID模块比对上报的MLC和SLC虚拟磁盘个数,如果与驱动程序中定义的一致,然后开始扫描闪存盘的RAID4元数据;如果每个闪存盘上都有RAID4的元数据,且校验通过,则直接运行RAID4;如果所有闪存盘上都没有RAID4的元数据,则自动创建一个RAID4,将SLC闪存盘20用作校验盘,MLC闪存盘10作为数据盘,将RAID4元数据写入每个闪存盘的元数据区;RAID4运行或者创建后,通知DISK模块注册一个块设备。
图5是本发明另一实施例的RAID4***的结构示意图。该实施例中,第一Flash控制器11和/或第二Flash控制器21与桥接控制器30之间连接有RAID4控制器40。具体的,该RAID4控制器40包括:
记录模块41,用于记录预定义的MLC闪存盘10和SLC闪存盘20的个数信息。
信息检测模块42,用于检测Flash控制器,并上报闪存盘信息给处理模块43,所述闪存盘信息包括Flash类型和容量。
处理模块43,用于比对上报的MLC闪存盘10和SLC闪存盘20个数,如果各闪存盘的数量与所述记录模块41中记录的个数一致,则开始所述扫描各闪存盘中的RAID4元数据。
创建模块44,用于所述闪存盘上都没有RAID4的元数据时,自动创建一个RAID4,将所述SLC闪存盘20作为校验盘,所述MLC闪存盘10作为数据盘,将所述RAID4元数据写入所述闪存盘的元数据区。
与图4所示实施例不同,本实施例是通过RAID4控制器40实现硬RAID4,借此可以有效减少宿主主机的计算量。
综上所述,本发明通过将多个MLC闪存盘作为数据盘,将SLC闪存盘作为校验盘,将各数据盘上的各奇偶校验值存入校验盘中,若其中一个盘出现故障,则可通过其它盘计算奇偶校验恢复故障数据。具体应用中SLC比MLC寿命长,写延迟小,将本发明的RAID4技术应用到企业级固态硬盘上,避免了RAID4的校验盘写瓶颈的问题,提高了数据冗余性。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (4)
1.一种固态硬盘的RAID4***,其特征在于,所述***包括至少一多层单元MLC闪存盘以及至少一单层单元SLC闪存盘,所述MLC闪存盘作为用于存储数据的数据盘,所述SLC闪存盘作为用于校验数据的校验盘;
将每个所述数据盘的各个奇偶校验值存入所述校验盘中;若所述数据盘出现故障,通过所述校验盘计算对应的奇偶校验值恢复所述数据盘的数据;
所述***还包括RAID4控制器,其包括:
记录模块,用于记录预定义的MLC闪存盘和SLC闪存盘个数信息;
信息检测模块,用于检测闪存控制器,并上报MLC闪存盘和SLC闪存盘信息给处理模块,所述闪存盘信息包括Flash类型和容量;
处理模块,用于比对上报的MLC闪存盘和SLC闪存盘个数,如果所述各闪存盘个数与所述记录模块中记录的个数一致,则开始扫描所述闪存盘的RAID4元数据;
创建模块,用于所述MLC闪存盘和SLC闪存盘上都没有RAID4的元数据时,自动创建一个RAID4,将所述SLC闪存盘作为校验盘,所述MLC闪存盘作为数据盘,将所述RAID4元数据写入所述闪存盘的元数据区。
2.根据权利要求1所述的固态硬盘的RAID4***,其特征在于,所述***还包括第一闪存控制器,所述MLC闪存盘连接至少两个所述第一闪存控制器,且每个所述第一闪存控制器的可用容量相同。
3.根据权利要求2所述的固态硬盘的RAID4***,其特征在于,所述***还包括第二闪存控制器,所述SLC闪存盘连接至少一个所述第二闪存控制器,且所述第二闪存控制器的可用容量之和与所述第一闪存控制器的可用容量相同。
4.根据权利要求1所述的固态硬盘的RAID4***,其特征在于,所述MLC闪存盘为普通MLC闪存盘或企业级的MLC闪存盘,所述SLC闪存盘为普通SLC闪存盘或企业级的SLC闪存盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210450119.XA CN103019882B (zh) | 2012-11-12 | 2012-11-12 | 固态硬盘的raid4*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210450119.XA CN103019882B (zh) | 2012-11-12 | 2012-11-12 | 固态硬盘的raid4*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103019882A CN103019882A (zh) | 2013-04-03 |
CN103019882B true CN103019882B (zh) | 2016-02-24 |
Family
ID=47968512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210450119.XA Active CN103019882B (zh) | 2012-11-12 | 2012-11-12 | 固态硬盘的raid4*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103019882B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407813B (zh) * | 2014-11-20 | 2019-02-19 | 上海宝存信息科技有限公司 | 一种基于固态存储介质的raid***及方法 |
CN104991738B (zh) * | 2015-06-19 | 2018-04-24 | 华中科技大学 | 一种固态盘及其读写操作方法 |
US10191841B2 (en) | 2015-07-06 | 2019-01-29 | Shannon Systems Ltd. | Host device, access system, and access method |
CN106339179B (zh) * | 2015-07-06 | 2020-11-17 | 上海宝存信息科技有限公司 | 主机装置、存取***、以及存取方法 |
CN107967121B (zh) | 2017-10-25 | 2020-04-14 | 华为技术有限公司 | 数据写入方法和存储设备 |
CN110333966B (zh) * | 2019-05-30 | 2022-12-13 | 河南文正电子数据处理有限公司 | 一种固态硬盘设备 |
CN110658994B (zh) * | 2019-09-03 | 2022-08-12 | 苏州浪潮智能科技有限公司 | 一种基于hdd和ssd混合磁盘阵列的数据处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504625A (zh) * | 2009-03-04 | 2009-08-12 | 成都市华为赛门铁克科技有限公司 | 实现独立磁盘冗余阵列的方法、固态硬盘和电子设备 |
CN101853214A (zh) * | 2007-05-14 | 2010-10-06 | 巴比禄股份有限公司 | 存储装置 |
CN102122235A (zh) * | 2011-01-24 | 2011-07-13 | 武汉固捷联讯科技有限公司 | 一种raid4***及其数据读写方法 |
CN102122531A (zh) * | 2011-01-27 | 2011-07-13 | 浪潮电子信息产业股份有限公司 | 一种提高大容量固态硬盘使用稳定性的方法 |
CN102142277A (zh) * | 2010-01-28 | 2011-08-03 | 深圳市江波龙电子有限公司 | 一种存储器及存储器读写控制方法及*** |
-
2012
- 2012-11-12 CN CN201210450119.XA patent/CN103019882B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853214A (zh) * | 2007-05-14 | 2010-10-06 | 巴比禄股份有限公司 | 存储装置 |
CN101504625A (zh) * | 2009-03-04 | 2009-08-12 | 成都市华为赛门铁克科技有限公司 | 实现独立磁盘冗余阵列的方法、固态硬盘和电子设备 |
CN102142277A (zh) * | 2010-01-28 | 2011-08-03 | 深圳市江波龙电子有限公司 | 一种存储器及存储器读写控制方法及*** |
CN102122235A (zh) * | 2011-01-24 | 2011-07-13 | 武汉固捷联讯科技有限公司 | 一种raid4***及其数据读写方法 |
CN102122531A (zh) * | 2011-01-27 | 2011-07-13 | 浪潮电子信息产业股份有限公司 | 一种提高大容量固态硬盘使用稳定性的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103019882A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103019882B (zh) | 固态硬盘的raid4*** | |
US9424141B2 (en) | Hard disk data recovery method, apparatus, and system | |
CN103049222B (zh) | 一种raid5的写io优化处理方法 | |
WO2016078193A1 (zh) | 一种基于固态存储介质的raid***及方法 | |
US8589761B2 (en) | Apparatus and methods for providing data integrity | |
CN103858092B (zh) | 一种数据迁移方法和装置 | |
CN102122235B (zh) | 一种raid4***及其数据读写方法 | |
US20130024735A1 (en) | Solid-state memory-based storage method and device with low error rate | |
US8930745B2 (en) | Storage subsystem and data management method of storage subsystem | |
WO2013143273A1 (zh) | 一种降低读延时的方法及装置 | |
WO2017173623A1 (zh) | 用于处理存储设备中分条的方法和存储设备 | |
CN103488432B (zh) | 一种混合磁盘阵列及其延迟写入校验方法和数据恢复方法 | |
WO2013012673A2 (en) | Flash disk array and controller | |
CN102799533B (zh) | 一种磁盘损坏扇区屏蔽方法及装置 | |
CN103336727B (zh) | 对nand闪存存储设备进行数据操作的方法 | |
CN101916173A (zh) | 一种基于raid的数据读写方法及其*** | |
CN103049216B (zh) | 固态硬盘及其数据处理方法、*** | |
US10204003B2 (en) | Memory device and storage apparatus | |
CN105138290A (zh) | 一种高性能存储池组织方法及装置 | |
US20100262755A1 (en) | Memory systems for computing devices and systems | |
CN103019894B (zh) | 一种独立冗余磁盘阵列的重建方法 | |
US9760296B2 (en) | Storage device and method for controlling storage device | |
US10031689B2 (en) | Stream management for storage devices | |
CN102789813B (zh) | 一种控制存储设备内非最低有效位页使用的方法及装置 | |
JP2011141857A (ja) | Raidシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |