一种具有raid功能的固态硬盘的制作方法

文档序号:6526727阅读:346来源:国知局
一种具有raid功能的固态硬盘的制作方法
【专利摘要】本发明提供一种固态硬盘(SSD),其包括一个SSD控制器,其通过接口连接主机以实现信息收发,所述SSD控制器包含一个嵌入RAID控制器;和多个非易失性存储模块(NVMs),该模块连接SSD控制器,在嵌入RAID控制器的控制下,所述SSD控制器发起与NVMs间的信息收发和存储。
【专利说明】—种具有RAID功能的固态硬盘
【技术领域】
[0001]本发明涉及计算机数据存储领域,尤其涉及一种具有RAID功能的固态硬盘。
【背景技术】
[0002]现有技术中,有关独立磁盘冗余阵列(redundant array of independent disks,简称RAID)的体现形式多种多样。
[0003][3]RAID是将多个磁盘驱动组件组织到一个逻辑单元的存储技术。根据冗余和性能的需求不同,数据可按不同等级(RAID level)在驱动器之间散布。
[0004]目前,RAID普遍用于计算机数据保护存储,通过多个物理驱动器对数据进行隔离和备份。RAID的一个应用实例是将存储器阵列作为一个虚拟驱动器,被操作系统读写和访问。不同的实现方案和架构是可靠性、可用性、性能和容量等主要性能指标的平衡,并用RAID加上数字来命名(比如RAIDO,RAID1)。等级大于RAIDO的RAID级别可以避免单个磁盘不可恢复的读错误而引起整个磁盘失败。
[0005]以RAID6为例,它针对数据块级别的条带化分布进行双奇偶校验,提供最多两个驱动故障的容错能力。在高可用的系统中,这种能力让RAID组更实用。大容量驱动从单个驱动失败中恢复的时间加长,容错能力显得越发重要。单个驱动失败降低整个阵列的性能,直到这个失败的驱动被替换和相关数据得到重建。
[0006]一个RAID系统由多个熟知的硬盘(Hard Disk Drive,简称HDD)和固态硬盘驱动(solid state drives,简称SSD)组成。HDD是以内置磁带为介质,以电机驱动的磁盘。SSD 则由闪存组成。他们都有如 SCSI (Small Computer System Interface,简称 SCSI)、IDE (Integrated Device Electronics,简称 IDE)、SATA (Serial Advanced TechnologyAttachment,简称 SATA)、PCI (Peripheral Component Interconnect,简称 PCI)和 PCIE(PC1-Express)的接口。
[0007]但是,独立的HDD和SSD使得RAID系统功耗变大,体积增大。
[0008]因此,需要从功耗、价格和体积方面改进RAID系统。

【发明内容】

[0009]介于上述需求,本发明的目的在于提供一种固态驱动器(SSD),它具有一个包含嵌入RAID控制器的SSD控制器,和多个非易失性存储模块(NVMs),所述多个非易失性存储模块(NVMs)连接SSD控制器。所述SSD控制器通过接口与主机连接以完成信息收发。进一步的,所述SSD控制器在嵌入RAID控制器的控制下,所述SSD控制器发起与NVMs间的信息收发和存储。简言之,在内嵌RAID控制器控制下,所述SSD控制器对NVMs进行存储和读取数据。
[0010]作为本发明的一个优选实施例,所述存储模块是安全数字卡(SD)。
[0011]作为本发明的一个优选实施例,所述存储模块是多媒体卡(MMC)。
[0012]作为本发明的一个优选实施例,所述存储模块是嵌入多媒体卡(eMMC)。[0013]作为本发明的一个优选实施例,SD模块通过SD总线连接RAID控制器。
[0014]作为本发明的一个优选实施例,MMC模块通过MMC总线连接RAID控制器。
[0015]作为本发明的一个优选实施例,eMMC模块通过eMMC总线连接RAID控制器。
[0016]作为本发明的一个优选实施例,数据传输接口可以是SCS1、IDE、ΑΤΑ、SATA、PC1、PCIE、SD、MMC、或 eMMC。
[0017]作为本发明的一个优选实施例,RAID控制器的功能是多种RAID模式(级别)之一,所述RAID模式(级别)包括RAIDl、RAID5和RAID6。
[0018]作为本发明的一个优选实施例,所述RAID控制器包含与多个存储模块相连的RAID控制逻辑。
[0019]作为本发明的一个优选实施例,RAID控制逻辑通过SD主机或MMC/eMMC主机与多个存储模块连接。
[0020]作为本发明的一个优选实施例,所述NVMs是NAND闪存或是NOR闪存。
[0021]作为本发明的一个优选实施例,NVMs是相变存储器(PCM)、铁电存储器(F-RAM)或磁阻存储器(MRAM)。
[0022]为进一步理解所述驱动器的实质和优点,下面结合附图对本发明作进一步详细的描述。
【专利附图】

【附图说明】
[0023]图1示出了本发明的RAM系统实例;
[0024]图2示出了本发明的图1中RA頂系统中的RAID控制器实例;
[0025]图3 (a)-3 (C)分别示出了 SD卡、eMMC模块和MMC卡示意图,上述模块都包含在RAIM系统2中;
[0026]图4示出了本发明的另一个实例,该例中RAID控制器具有RAID5的功能。
[0027]图5示出了图4中每个模块24中的存储数据实例;
[0028]图6示出了本发明的的另一实例:在该实施例中,所述RAID控制器具有RAIDl功倉泛;
[0029]图7示出了图6中的独立SD模块I和SD模块2的数据存储实例;
[0030]图8示出了本发明的一个系统实例;
[0031]图9示出了本发明的另一个系统实例;
[0032]图10示出了本发明的再一个系统实例。
【具体实施方式】
[0033]此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
[0034]本发明体现了冗余阵列独立模块(RAM)的特色和原理,它有独立磁盘冗余阵列(RAID)的功能。但是,RAID由独立硬盘驱动(HDD)或是固态硬盘驱动(SSD)单元组成,RAIM则是由一组独立的存储模块:安全数据卡(SD),多媒体卡(MMC)或内嵌MMC(eMMC)构成。RAIM的这些存储模块具有低功耗,性价比高和体积小的特点。[0035]图1示出了一个本发明的一个实例RAID系统2,其包括一个RAID控制器20、I到N个模块24,其中N是整数。RAID控制器20通过总线23连接每一个模块24。另外,RAID控制器还通过接口 21连接主机。
[0036]每一个模块24可以是安全数据卡(SD),多媒体卡(MMC)或嵌入MMC (eMMC)。在一个具体的实施例中,所述总线23是SD总线,MMC总线,或eMMC总线,模块24的类型决定于相匹配的总线。类似的,接口 21 是 SCSI,IDE,ATA,SATA,PCI,PCIE,SD,MMC 或 eMMC 接口。
[0037]系统运行过程中,RAM系统2的RAID控制器20与主机I间相互进行信息收发。信息的接收以命令和数据的形式,数据将通过RAID控制器20存储在模块24中。业内数据显示,RAID控制器20能高效地管理N个模块。例如,RAID系统2是RAIDO系统,RAID控制器在两个或是更多的驱动器(如图1的模块24)间执行条带化数据功能。再如,RAIM系统2具有RAIDl功能,RAID控制器在两个驱动器(模块24)间镜像数据。详情请分别参照图6和图7,这里只是示例,RAID控制器何种功能取决于RAM系统采用的技术相关。
[0038]传统的RAID系统由独立磁盘(HDD或SSD)阵列构成,系统2由独立存储模块阵列组成,结合RAID控制器,在价格、体积和功耗上具有明显的优势。这些模块24由SD、MMC或eMMC组成:SD应符合SD相关标准;MMC和eMMC应符合MMC及电子元件工业联合会(JEDEC)相关标准。
[0039]RAID控制器将模块24分组管理,使得RAID系统2功耗尺寸减小,并因此使性价比有所提高。例如,在图4和5中,RAID控制器拥有RAID5的功能,数据包按照512byte大小被分成Al,A2,A3,BI,B2,B3……序列,而模块4用来存放奇偶校验值,用于恢复模块间损坏的任意数据包。数据包的分组大小也可以是IK byte, 2K byte或其他长度。相比RAID系统,每个存储模块24可被看作独立的虚拟驱动器(virtual independent disk,简称VID),这使得RAIM系统2具有更高的可靠性。例如,该系统有热插拔和内建自动数据恢复机制,维修工程师可以用新模块替换 掉老化的eMMC或SD模块。例如,假如图6的模块2被拔出并用新的SD模块替换,RAID控制器拷贝模块I的全部信息到新模块,然后恢复整个RAIM系统到模块2被移除前的状态。这种单个驱动器也能用作创建一个高效的RAID2。
[0040]图2示出了与本发明的图1中RA頂系统中的RAID控制器实例。所述RAID控制器20包括了一个接口协议(IP) 201,微处理器200,RAID控制逻辑203,和N个SD、MMC、eMMC主机205。所述IP连接总线21和数据缓冲器202,以响应来自所述微处理器200的信息。所述数据缓冲器202用以接收微处理器200发来的消息,并进一步连接到所述RAID控制逻辑203。所述RAID控制逻辑203连接每个主机205,并通过总线23与模块24进行通信。
[0041]微处理器200执行软件,通知IP201去接收或发送信息到主机I和数据缓冲器202。微处理器200控制IP201和数据缓冲器202开始数据传输,数据缓冲器202缓存写入存储模块24到或者从存储模块24读出的数据。连接在数据缓冲器202与SD主机205之间的RAID控制逻辑203,通过微处理器200控制数据数据缓冲器202与SD主机205之间的数据交换。每个主机205通过总线23发送命令给予其相连的存储模块24,读取状态并数据传输。从模块的角度看,主机205就是SD或MMC、eMMC读卡器。
[0042]图3 (a)-3 (C)分别示出了包含在RAM系统2中的SD卡,eMMC模块和MMC卡。
[0043]图4示出了 RAID控制器的另一实例。图4中的RAID控制器类似图2和图4中的控制器,RAID控制逻辑203 '是RAID5类型的控制逻辑。[0044]图5示出了图4中模块24存储数据的例子。为了清楚,模块24标为24_1,24_2,24-3和24-4。数据在24-1到24_3中以块的形式存在,24_4作为校验模块,用于存储24_1到24-3数据的奇偶校验值。图5的502-508四个块存储在模块24_1,24_2,和24_3,模块24-4存储每个相应块的奇偶校验值。例如,块502由Al,A2和A3构成,存储在模块24_1,A2存在24-2,A3存在24_3。校验的一种形式是对Al、A2和A3执行ORing操作,并把结果存于模块24-4的校验模块A(Ap)里面。同理,B1、B2和B3分别放于24_1,24_2,24_3,执行操作,结果放于24-4的校验模块B (Bp)中,B1-B3组成了块504。这同样应用于块506和508。
[0045]图6示出了 RAID控制器的另一实例。除了控制逻辑203"部分,图中RAID控制器20其他部分的和RAID控制器202’相似。控制逻辑203"通过总线23连接主机205和SD模块24是RAIDl类型。
[0046]图7示出了图6中SD模块I和SD模块2的数据存储实例。RAID控制逻辑203"是RAIM系统的一部分,其数据块的内容被镜像了。例如,在RAIDl等级中,作为块或是块的一部分SD模块I的Al,和SD模块2的A2相等。同理,SD模块I的BI和SD模块2的B2相等,以此类推。
[0047]图8出示了本发明的一个系统实例,它是一个通过接口 802与主机通信的SSD2,所述接口 802类似于接口 21,所述SSD2也可以通过中间设备连接主机。SSD2则通过非易失性模块接口(NVM busses)822连接η个非易失性存储模块(NVMs)823,η为整数,所述NVMs对应通道O到η-1。
[0048]所述SSD2包括SSD控制器821,所述SSD控制器821包括一个CPU815、一个缓冲器813、一个直接存储器访问(direct memory access,简称DMA)814、一个嵌入RAID控制器816、和η个非易失性控制器模块811,所述模块811通过总线822连接NVMs823。简言之,每个非易失性模块811通过单独的NVM总线连接一个NVM。
[0049]控制器816嵌入到SSD2中,具有RAID的各种功能,其实际应用中的表现形式是单个的集成芯片,或一个集成多个芯片的电路板。所述控制器支持RAID0,I, 2,3,4,5,6中的一个,多个等级或是其组合模式,并根据相应等级或模式所定义的规则和方法,对非易失性存储控制器模块811进行数据读写。
[0050]RAID控制器82包含至少一个非易失性存储器控制器811,通常地,所述非易失性存储器控制器811多于一个,用于管理一组非易失存储器芯片。所述非易失性存储器控制器811含有均衡损耗算法、纠错算法(Error Correction Code,简称ECC)、扰码产生器等子模块或功能。所述RAID控制器82中的NVMs821通常是NAND闪存,也可以是NOR闪存,或是相变存储器(PCM),铁电存储器(F-RAM),磁阻存储器(MRAM)。
[0051]所述系统至少包含一个非易失性存储器总线822,实际应用中通常是多于一个,非易失性存储器控制器模块811通过该总线822存取数据。
[0052]所述系统运行时,CPU815控制驱动接口 812通过接口 802接收信息(以命令和数据的形式),并临时存储在SATA内部缓冲器813中。然后,RAID控制器816控制DMA(DirectMemory Access,简称DMA)模块814,从缓冲器813传送数据到RAID控制器816,分发到闪存控制器811,最终完成主机保存数据到NVMs823的操作。
[0053]所述RAID控制器816可配置以支持多种RAID等级,在一个具体实例中,所述CPU815将控RAID制器816配置成某一个等级。
[0054]图9示出了本发明的另一系统实例,其中,RAID控制器816配置成RAIDl等级。与图5描述相似,所述RAID控制器816通过非易失性控制器811往3个NVMs823分发数据,第4个NVM用于存储奇偶校验值。图9中的RAID控制器816,非易失性控制器811,NVMs823与图8相应部分一致。
[0055]图10示出了本发明的再一系统实例,此时RAID控制器816配置为另一等级RAID3。图中NVMs823只包含NVMl和NVM2,所述控制器816在NVMl分发数据,在NVM2镜像数据。
[0056]本发明已经在一定程度上被充分详细的描述。本领域技术人员可以理解,目前实施例所揭露的只是示例而已,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。因此,本发明的范围定义为其保护范围而不是以上实施例的说明。
【权利要求】
1.一种固态硬盘(SSD),其特征在于:其包括: 一个SSD控制器,其通过接口连接主机以实现信息收发,所述SSD控制器包含一个嵌入RAID控制器;和 多个非易失性存储模块(NVMs),该模块连接SSD控制器,在嵌入RAID控制器的控制下,所述SSD控制器发起与NVMs间的信息收发和存储。
2.根据权利要求1所述的SSD,其特征在于:所述存储模块是安全数字卡(SD)。
3.根据权利要求1所述的SSD,其特征在于:所述存储模块是多媒体卡(MMC)。
4.根据权利要求1所述的SSD,其特征在于:所述存储模块是嵌入多媒体卡(eMMC)。
5.根据权利要求2所述的SSD,其特征在于:SD模块通过SD总线连接RAID控制器。
6.根据权利要求3所述的SSD,其特征在于:MMC模块通过MMC总线连接RAID控制器。
7.根据权利要求4所述的SSD,其特征在于:eMMC模块通过eMMC总线连接RAID控制器。
8.根据权利要求1所述的SSD,其特征在于:数据传输接口可以是SCS1、IDE、ΑΤΑ、SATA、PC1、PCIE、SD、MMC、或 eMMC。
9.根据权利要求1所述的SSD,其特征在于:RAID控制器的功能是多种RAID模式(级另Ij)之一,所述RAID模式(级别)包括RAIDl、RAID5和RAID6。
10.根据权利要求1所述的SSD,其特征在于:所述RAID控制器包含与多个存储模块相连的RAID控制逻辑。
11.根据权利要求10所述的SSD,其特征在于:RAID控制逻辑通过SD主机或MMC/eMMC主机与多个存储模块连接。
12.根据权利要求1所述的SSD,其特征在于:所述NVMs是NAND闪存或是NOR闪存。
13.根据权利要求1所述的SSD,其特征在于:NVMs是相变存储器(PCM)、铁电存储器(F-RAM)或磁阻存储器(MRAM)。
【文档编号】G06F3/06GK103729148SQ201310746661
【公开日】2014年4月16日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】骆建军, 楚传仁 申请人:华澜微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1