CN103729148A - 一种具有raid功能的固态硬盘 - Google Patents

一种具有raid功能的固态硬盘 Download PDF

Info

Publication number
CN103729148A
CN103729148A CN201310746661.4A CN201310746661A CN103729148A CN 103729148 A CN103729148 A CN 103729148A CN 201310746661 A CN201310746661 A CN 201310746661A CN 103729148 A CN103729148 A CN 103729148A
Authority
CN
China
Prior art keywords
raid
ssd
controller
module
mmc
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
CN201310746661.4A
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.)
SAGE MICROELECTRONICS Corp
Original Assignee
SAGE MICROELECTRONICS Corp
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 SAGE MICROELECTRONICS Corp filed Critical SAGE MICROELECTRONICS Corp
Priority to CN201310746661.4A priority Critical patent/CN103729148A/zh
Publication of CN103729148A publication Critical patent/CN103729148A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种固态硬盘(SSD),其包括一个SSD控制器,其通过接口连接主机以实现信息收发,所述SSD控制器包含一个嵌入RAID控制器;和多个非易失性存储模块(NVMs),该模块连接SSD控制器,在嵌入RAID控制器的控制下,所述SSD控制器发起与NVMs间的信息收发和存储。

Description

一种具有RAID功能的固态硬盘
技术领域
本发明涉及计算机数据存储领域,尤其涉及一种具有RAID功能的固态硬盘。
背景技术
现有技术中,有关独立磁盘冗余阵列(redundant array of independentdisks,简称RAID)的体现形式多种多样。
[3]RAID是将多个磁盘驱动组件组织到一个逻辑单元的存储技术。根据冗余和性能的需求不同,数据可按不同等级(RAID level)在驱动器之间散布。
目前,RAID普遍用于计算机数据保护存储,通过多个物理驱动器对数据进行隔离和备份。RAID的一个应用实例是将存储器阵列作为一个虚拟驱动器,***作***读写和访问。不同的实现方案和架构是可靠性、可用性、性能和容量等主要性能指标的平衡,并用RAID加上数字来命名(比如RAID0,RAID1)。等级大于RAID0的RAID级别可以避免单个磁盘不可恢复的读错误而引起整个磁盘失败。
以RAID6为例,它针对数据块级别的条带化分布进行双奇偶校验,提供最多两个驱动故障的容错能力。在高可用的***中,这种能力让RAID组更实用。大容量驱动从单个驱动失败中恢复的时间加长,容错能力显得越发重要。单个驱动失败降低整个阵列的性能,直到这个失败的驱动被替换和相关数据得到重建。
一个RAID***由多个熟知的硬盘(Hard Disk Drive,简称HDD)和固态硬盘驱动(solid state drives,简称SSD)组成。HDD是以内置磁带为介质,以电机驱动的磁盘。SSD则由闪存组成。他们都有如SCSI(Small Computer SystemInterface,简称SCSI)、IDE(Integrated Device Electronics,简称IDE)、SATA(Serial Advanced Technology Attachment,简称SATA)、PCI(PeripheralComponent Interconnect,简称PCI)和PCIE(PCI-Express)的接口。
但是,独立的HDD和SSD使得RAID***功耗变大,体积增大。
因此,需要从功耗、价格和体积方面改进RAID***。
发明内容
介于上述需求,本发明的目的在于提供一种固态驱动器(SSD),它具有一个包含嵌入RAID控制器的SSD控制器,和多个非易失性存储模块(NVMs),所述多个非易失性存储模块(NVMs)连接SSD控制器。所述SSD控制器通过接口与主机连接以完成信息收发。进一步的,所述SSD控制器在嵌入RAID控制器的控制下,所述SSD控制器发起与NVMs间的信息收发和存储。简言之,在内嵌RAID控制器控制下,所述SSD控制器对NVMs进行存储和读取数据。
作为本发明的一个优选实施例,所述存储模块是安全数字卡(SD)。
作为本发明的一个优选实施例,所述存储模块是多媒体卡(MMC)。
作为本发明的一个优选实施例,所述存储模块是嵌入多媒体卡(eMMC)。
作为本发明的一个优选实施例,SD模块通过SD总线连接RAID控制器。
作为本发明的一个优选实施例,MMC模块通过MMC总线连接RAID控制器。
作为本发明的一个优选实施例,eMMC模块通过eMMC总线连接RAID控制器。
作为本发明的一个优选实施例,数据传输接口可以是SCSI、IDE、ATA、SATA、PCI、PCIE、SD、MMC、或eMMC。
作为本发明的一个优选实施例,RAID控制器的功能是多种RAID模式(级别)之一,所述RAID模式(级别)包括RAID1、RAID5和RAID6。
作为本发明的一个优选实施例,所述RAID控制器包含与多个存储模块相连的RAID控制逻辑。
作为本发明的一个优选实施例,RAID控制逻辑通过SD主机或MMC/eMMC主机与多个存储模块连接。
作为本发明的一个优选实施例,所述NVMs是NAND闪存或是NOR闪存。
作为本发明的一个优选实施例,NVMs是相变存储器(PCM)、铁电存储器(F-RAM)或磁阻存储器(MRAM)。
为进一步理解所述驱动器的实质和优点,下面结合附图对本发明作进一步详细的描述。
附图说明
图1示出了本发明的RAIM***实例;
图2示出了本发明的图1中RAIM***中的RAID控制器实例;
图3(a)-3(c)分别示出了SD卡、eMMC模块和MMC卡示意图,上述模块都包含在RAIM***2中;
图4示出了本发明的另一个实例,该例中RAID控制器具有RAID5的功能。
图5示出了图4中每个模块24中的存储数据实例;
图6示出了本发明的的另一实例:在该实施例中,所述RAID控制器具有RAID1功能;
图7示出了图6中的独立SD模块1和SD模块2的数据存储实例;
图8示出了本发明的一个***实例;
图9示出了本发明的另一个***实例;
图10示出了本发明的再一个***实例。
具体实施方式
此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明体现了冗余阵列独立模块(RAIM)的特色和原理,它有独立磁盘冗余阵列(RAID)的功能。但是,RAID由独立硬盘驱动(HDD)或是固态硬盘驱动(SSD)单元组成,RAIM则是由一组独立的存储模块:安全数据卡(SD),多媒体卡(MMC)或内嵌MMC(eMMC)构成。RAIM的这些存储模块具有低功耗,性价比高和体积小的特点。
图1示出了一个本发明的一个实例RAID***2,其包括一个RAID控制器20、1到N个模块24,其中N是整数。RAID控制器20通过总线23连接每一个模块24。另外,RAID控制器还通过接口21连接主机。
每一个模块24可以是安全数据卡(SD),多媒体卡(MMC)或嵌入MMC(eMMC)。在一个具体的实施例中,所述总线23是SD总线,MMC总线,或eMMC总线,模块24的类型决定于相匹配的总线。类似的,接口21是SCSI,IDE,ATA,SATA,PCI,PCIE,SD,MMC或eMMC接口。
***运行过程中,RAIM***2的RAID控制器20与主机1间相互进行信息收发。信息的接收以命令和数据的形式,数据将通过RAID控制器20存储在模块24中。业内数据显示,RAID控制器20能高效地管理N个模块。例如,RAID***2是RAID0***,RAID控制器在两个或是更多的驱动器(如图1的模块24)间执行条带化数据功能。再如,RAIM***2具有RAID1功能,RAID控制器在两个驱动器(模块24)间镜像数据。详情请分别参照图6和图7,这里只是示例,RAID控制器何种功能取决于RAIM***采用的技术相关。
传统的RAID***由独立磁盘(HDD或SSD)阵列构成,***2由独立存储模块阵列组成,结合RAID控制器,在价格、体积和功耗上具有明显的优势。这些模块24由SD、MMC或eMMC组成:SD应符合SD相关标准;MMC和eMMC应符合MMC及电子元件工业联合会(JEDEC)相关标准。
RAID控制器将模块24分组管理,使得RAID***2功耗尺寸减小,并因此使性价比有所提高。例如,在图4和5中,RAID控制器拥有RAID5的功能,数据包按照512byte大小被分成A1,A2,A3,B1,B2,B3……序列,而模块4用来存放奇偶校验值,用于恢复模块间损坏的任意数据包。数据包的分组大小也可以是1K byte,2K byte或其他长度。相比RAID***,每个存储模块24可被看作独立的虚拟驱动器(virtual independent disk,简称VID),这使得RAIM***2具有更高的可靠性。例如,该***有热插拔和内建自动数据恢复机制,维修工程师可以用新模块替换掉老化的eMMC或SD模块。例如,假如图6的模块2被拔出并用新的SD模块替换,RAID控制器拷贝模块1的全部信息到新模块,然后恢复整个RAIM***到模块2被移除前的状态。这种单个驱动器也能用作创建一个高效的RAID2。
图2示出了与本发明的图1中RAIM***中的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进行通信。
微处理器200执行软件,通知IP201去接收或发送信息到主机1和数据缓冲器202。微处理器200控制IP201和数据缓冲器202开始数据传输,数据缓冲器202缓存写入存储模块24到或者从存储模块24读出的数据。连接在数据缓冲器202与SD主机205之间的RAID控制逻辑203,通过微处理器200控制数据数据缓冲器202与SD主机205之间的数据交换。每个主机205通过总线23发送命令给予其相连的存储模块24,读取状态并数据传输。从模块的角度看,主机205就是SD或MMC、eMMC读卡器。
图3(a)-3(c)分别示出了包含在RAIM***2中的SD卡,eMMC模块和MMC卡。
图4示出了RAID控制器的另一实例。图4中的RAID控制器类似图2和图4中的控制器,RAID控制逻辑203ˊ是RAID5类型的控制逻辑。
图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由A1,A2和A3构成,存储在模块24-1,A2存在24-2,A3存在24-3。校验的一种形式是对A1、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。
图6示出了RAID控制器的另一实例。除了控制逻辑203〞部分,图中RAID控制器20其他部分的和RAID控制器202’相似。控制逻辑203〞通过总线23连接主机205和SD模块24是RAID1类型。
图7示出了图6中SD模块1和SD模块2的数据存储实例。RAID控制逻辑203〞是RAIM***的一部分,其数据块的内容被镜像了。例如,在RAID1等级中,作为块或是块的一部分SD模块1的A1,和SD模块2的A2相等。同理,SD模块1的B1和SD模块2的B2相等,以此类推。
图8出示了本发明的一个***实例,它是一个通过接口802与主机通信的SSD2,所述接口802类似于接口21,所述SSD2也可以通过中间设备连接主机。SSD2则通过非易失性模块接口(NVM busses)822连接n个非易失性存储模块(NVMs)823,n为整数,所述NVMs对应通道0到n-1。
所述SSD2包括SSD控制器821,所述SSD控制器821包括一个CPU815、一个缓冲器813、一个直接存储器访问(direct memory access,简称DMA)814、一个嵌入RAID控制器816、和n个非易失性控制器模块811,所述模块811通过总线822连接NVMs823。简言之,每个非易失性模块811通过单独的NVM总线连接一个NVM。
控制器816嵌入到SSD2中,具有RAID的各种功能,其实际应用中的表现形式是单个的集成芯片,或一个集成多个芯片的电路板。所述控制器支持RAID0,1,2,3,4,5,6中的一个,多个等级或是其组合模式,并根据相应等级或模式所定义的规则和方法,对非易失性存储控制器模块811进行数据读写。
RAID控制器82包含至少一个非易失性存储器控制器811,通常地,所述非易失性存储器控制器811多于一个,用于管理一组非易失存储器芯片。所述非易失性存储器控制器811含有均衡损耗算法、纠错算法(Error Correction Code,简称ECC)、扰码产生器等子模块或功能。所述RAID控制器82中的NVMs821通常是NAND闪存,也可以是NOR闪存,或是相变存储器(PCM),铁电存储器(F-RAM),磁阻存储器(MRAM)。
所述***至少包含一个非易失性存储器总线822,实际应用中通常是多于一个,非易失性存储器控制器模块811通过该总线822存取数据。
所述***运行时,CPU815控制驱动接口812通过接口802接收信息(以命令和数据的形式),并临时存储在SATA内部缓冲器813中。然后,RAID控制器816控制DMA(Direct Memory Access,简称DMA)模块814,从缓冲器813传送数据到RAID控制器816,分发到闪存控制器811,最终完成主机保存数据到NVMs823的操作。
所述RAID控制器816可配置以支持多种RAID等级,在一个具体实例中,所述CPU815将控RAID制器816配置成某一个等级。
图9示出了本发明的另一***实例,其中,RAID控制器816配置成RAID1等级。与图5描述相似,所述RAID控制器816通过非易失性控制器811往3个NVMs823分发数据,第4个NVM用于存储奇偶校验值。图9中的RAID控制器816,非易失性控制器811,NVMs823与图8相应部分一致。
图10示出了本发明的再一***实例,此时RAID控制器816配置为另一等级RAID3。图中NVMs823只包含NVM1和NVM2,所述控制器816在NVM1分发数据,在NVM2镜像数据。
本发明已经在一定程度上被充分详细的描述。本领域技术人员可以理解,目前实施例所揭露的只是示例而已,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。因此,本发明的范围定义为其保护范围而不是以上实施例的说明。

Claims (13)

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,其特征在于:数据传输接口可以是SCSI、IDE、ATA、SATA、PCI、PCIE、SD、MMC、或eMMC。
9.根据权利要求1所述的SSD,其特征在于:RAID控制器的功能是多种RAID模式(级别)之一,所述RAID模式(级别)包括RAID1、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)。
CN201310746661.4A 2013-12-30 2013-12-30 一种具有raid功能的固态硬盘 Pending CN103729148A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310746661.4A CN103729148A (zh) 2013-12-30 2013-12-30 一种具有raid功能的固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310746661.4A CN103729148A (zh) 2013-12-30 2013-12-30 一种具有raid功能的固态硬盘

Publications (1)

Publication Number Publication Date
CN103729148A true CN103729148A (zh) 2014-04-16

Family

ID=50453239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310746661.4A Pending CN103729148A (zh) 2013-12-30 2013-12-30 一种具有raid功能的固态硬盘

Country Status (1)

Country Link
CN (1) CN103729148A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199685A (zh) * 2014-08-13 2014-12-10 上海新储集成电路有限公司 一种i/o设备及具有该i/o设备的计算机***
CN104601729A (zh) * 2015-02-06 2015-05-06 浪潮集团有限公司 一种采用NVMe实现高性能云存储的方法
TWI569152B (zh) * 2014-10-29 2017-02-01 惠普發展公司有限責任合夥企業 透過通訊媒介之部分進行通訊之技術
CN106776110A (zh) * 2016-12-29 2017-05-31 忆正科技(武汉)有限公司 一种用于固态存储读策略的控制方法
CN106933513A (zh) * 2017-03-06 2017-07-07 联想(北京)有限公司 具有raid功能的单盘存储***及电子设备
WO2018059495A1 (zh) * 2016-09-30 2018-04-05 华为技术有限公司 一种固态硬盘ssd、存储装置及数据存储方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1924786A (zh) * 2006-09-29 2007-03-07 我想科技股份有限公司 独立磁盘冗余阵列***
US20080052459A1 (en) * 2006-08-25 2008-02-28 Icreate Technologies Corporation Redundant array of independent disks system
US20120044771A1 (en) * 2010-08-18 2012-02-23 Samsung Electronics Co., Ltd. Method of programming non-volatile memory device and apparatuses for performing the method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052459A1 (en) * 2006-08-25 2008-02-28 Icreate Technologies Corporation Redundant array of independent disks system
CN1924786A (zh) * 2006-09-29 2007-03-07 我想科技股份有限公司 独立磁盘冗余阵列***
US20120044771A1 (en) * 2010-08-18 2012-02-23 Samsung Electronics Co., Ltd. Method of programming non-volatile memory device and apparatuses for performing the method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199685A (zh) * 2014-08-13 2014-12-10 上海新储集成电路有限公司 一种i/o设备及具有该i/o设备的计算机***
TWI569152B (zh) * 2014-10-29 2017-02-01 惠普發展公司有限責任合夥企業 透過通訊媒介之部分進行通訊之技術
US11157200B2 (en) 2014-10-29 2021-10-26 Hewlett-Packard Development Company, L.P. Communicating over portions of a communication medium
CN104601729A (zh) * 2015-02-06 2015-05-06 浪潮集团有限公司 一种采用NVMe实现高性能云存储的方法
WO2018059495A1 (zh) * 2016-09-30 2018-04-05 华为技术有限公司 一种固态硬盘ssd、存储装置及数据存储方法
CN107885457A (zh) * 2016-09-30 2018-04-06 华为技术有限公司 一种固态硬盘ssd、存储装置及数据存储方法
CN106776110A (zh) * 2016-12-29 2017-05-31 忆正科技(武汉)有限公司 一种用于固态存储读策略的控制方法
CN106933513A (zh) * 2017-03-06 2017-07-07 联想(北京)有限公司 具有raid功能的单盘存储***及电子设备
CN106933513B (zh) * 2017-03-06 2020-08-25 联想(北京)有限公司 具有raid功能的单盘存储***及电子设备

Similar Documents

Publication Publication Date Title
US20150143027A1 (en) Solid state drive with raid functions
US8266367B2 (en) Multi-level striping and truncation channel-equalization for flash-memory system
EP2825960B1 (en) Physical page, logical page, and codeword correspondence
CN101727976B (zh) 一种多层闪存装置、固态硬盘和分割非易失性存储器***
CN103793182B (zh) 用于可扩展存储保护的***和方法
US9471484B2 (en) Flash memory controller having dual mode pin-out
CN103729148A (zh) 一种具有raid功能的固态硬盘
EP2811392B1 (en) Method and device for reducing read delay
US20150254016A1 (en) Storage system and data management method
WO2016135872A1 (ja) ストレージ装置及び記憶デバイス
US20090172335A1 (en) Flash devices with raid
US20100241793A1 (en) Storage system and method for controlling storage system
CN106445724A (zh) 与受保护数据分开存储奇偶校验数据
CN103455283A (zh) 一种混合存储***
US20090113235A1 (en) Raid with redundant parity
US11157356B2 (en) System and method for supporting data protection across FPGA SSDs
CN103488432B (zh) 一种混合磁盘阵列及其延迟写入校验方法和数据恢复方法
CN110609659A (zh) 用于执行读取命令的NVMeoF RAID实现方法
KR101475113B1 (ko) 컴퓨터 시스템 및 복수 배열 독립 디스크(raid) 기록 캐시 서브-어셈블리
US20150143024A1 (en) Redundant array of independent modules
CN103729147A (zh) 一种独立模块的冗余阵列
CN101539894B (zh) 一种将计算机外部设备接入计算机***的方法和装置
CN102147714B (zh) 一种网络存储***的管理方法及装置
US7757130B2 (en) Computer system having raid control function and raid control method
CN102385542B (zh) 一种raid0数据备份的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140416