一种混合存储系统技术方案

技术编号:9462606 阅读:122 留言:0更新日期:2013-12-18 23:48
一种混合存储系统,属于计算机存储领域,解决现有混合存储系统需要多个控制器且各控制器所控制的存储介质单一导致的系统复杂和成本高的问题。本发明专利技术由N个存储器和一个控制器构成,每个存储器包括控制器通信模块、存储介质和存储器信息模块;控制器包括主机通信模块、负载控制模块、阵列控制模块、地址映射模块、存储器控制模块和缓存。控制器能够识别主机到达的读写请求并判断写请求的冷热程度与大小,进行负载控制,实现多种存储器的混合存储,由于存储器为存储介质芯片和简单的信息存储芯片,降低混合存储系统替换成本;利用控制器中的阵列控制模块进行数据恢复,提高混合存储系统性能和寿命,降低混合存储系统组建以及使用的成本。

【技术实现步骤摘要】
【专利摘要】一种混合存储系统,属于计算机存储领域,解决现有混合存储系统需要多个控制器且各控制器所控制的存储介质单一导致的系统复杂和成本高的问题。本专利技术由N个存储器和一个控制器构成,每个存储器包括控制器通信模块、存储介质和存储器信息模块;控制器包括主机通信模块、负载控制模块、阵列控制模块、地址映射模块、存储器控制模块和缓存。控制器能够识别主机到达的读写请求并判断写请求的冷热程度与大小,进行负载控制,实现多种存储器的混合存储,由于存储器为存储介质芯片和简单的信息存储芯片,降低混合存储系统替换成本;利用控制器中的阵列控制模块进行数据恢复,提高混合存储系统性能和寿命,降低混合存储系统组建以及使用的成本。【专利说明】ー种混合存储系统
本专利技术属于计算机存储领域,具体涉及ー种混合存储系统。
技术介绍
存储系统是计算机系统的ー个重要组成部分。近几十年,计算机硬件技术的各个领域都在高速发展,处理器性能和内存容量都提升了近千倍,而存储器也不断地提高速度和容量,但是由于传统机械硬盘的自身局限性,使得硬盘的读写速度提升难度越来越大,存储系统的瓶颈愈显突出。闪存(FLASH Memory)是ー种电可擦除的非易失性半导体存储器,尤其与非型闪存(NAND FLASH)具有存储密度大、功耗低以及抗震性能好等优点,所以基于闪存的固态存储器(Solid State Drive, SSD)应运而生,SSD恰好弥补了机械硬盘的诸多不足,能够提供高速度、低功耗以及抗震耐摔等优良特性,是解决目前存储领域发展难题的方案之一。然而,目前SSD有三大制约因素:(1)由于闪存介质是通过对浮栅中注入或擦除电荷来存储信息,这种反复的注入和擦除电荷的操作会使其工作变得不稳定,从而使得擦除一定次数后无法继续用来存储数据。随着多层存储単元(Mult1-Level Cell, MLC)的应用以及制程的降低,虽然闪存成本逐渐下降,但闪存存储单元容许的擦除次数不断降低,目前25nmエ艺的MLC闪存的擦除次数只有3000次,这意味着闪存的使用寿命十分有限。(2)由于闪存具有页读写、块擦除,先擦除后写的特性,所以闪存的读写速度并不一致,让基于闪存的固态存储器在一些应用中性能并不理想。(3)目前闪存芯片比机械硬盘的存储单位价格要高出约ー个数量级,由于闪存的特性,为了在其成本与可靠性上进行平衡并以不损失速度为代价,SSD需要更完善的控制器。控制器成本已经占SSD成本的30%以上。随着时间推移,固态存储系统并不局限于闪存作为存储介质,也可采用相变随机存储器(PCM)等其他非易失性存储介质。PCM利用硫族化合物在不同相态下电阻率不同来存储数据,能够按位寻址,读写速率比闪存快两个数量级。这类半导体存储器没有NANDFLASH的不足,并且读写速率更高,然而由于目前エ艺问题,PCM的位存储成本比闪存更高。现场可编程门阵列(FPGA)作为ー种专用集成电路(ASIC)领域的ー种半定制电路,具有设计周期短、开发费用低、风险小等优势,并且内部有丰富的逻辑资源,可以通过编写硬件描述语言综合各种硬件功能器件。特别是基于静态随机存储器(SRAM)编程技术的FPGA,其内部全部或部分逻辑资源可以实现动态的功能变换,所谓可重构技术,能够很好的节省FPGA内部逻辑资源空间,減少能耗,同时降低产品成本。随着各类半导体存储器件的发展,存储架构将会发展为采用各类半导体存储器构成的固态存储系统与传统硬盘混合使用的混合存储系统。现有混合存储系统采用SSD与磁盘混合使用,SSD用于作为磁盘的缓存,见“混合存储系统将推动固态硬盘应用”,《电脑迷》,2010.11 ;惠普公司将全闪存阵列服务器与SAS硬盘服务器在软件层进行融合,达到高性能、高容量的分层存储,见《中国金融电脑》,2012.5。它们均需要多个控制器进行处理,且控制器对于写入数据控制不合理,不能发挥SSD的优势,在磁盘或者SSD失效时,替换成本高,存储系统的升级和功耗成本会非常不理想。PCM加入存储系统以后,异构存储介质的控制变得非常复杂,而混合存储系统失效后的替换成本居高不下,因此,市场未没有出现使用PCM等新型存储介质的混合存储产品。市场急需ー种高性能、低成本的混合存储系统。为便于理解本专利技术,以下对有关概念进行解释:闪存的层次:闪存由六个层次组成:通道(Channel)、闪存芯片(chip)、晶圆(die)、分组(plane)、块(block)、页(page);为了提升闪存的速度与容量,通常将多个闪存芯片构成一个通道(Channel),ー个或多个通道构成闪存。闪存芯片结构如图7所不,甸个闪存芯片内部有多个晶圆,甸个晶圆内部有多个分组,每个分组内部有多个块,每个块内部有多个页。RAIDO:RAID0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。RAID0没有冗余或错误修复能力,成本低,要求至少两个磁盘,一般只是在那些对数据安全性要求不高的情况下才被使用。RAID1:RAID1又称为镜像(Mirror或Mirroring),它的宗旨是最大限度的保证用户数据的可用性和可修复性。RAID1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外ー个硬盘上,成为镜像数据。由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID1提供最高的数据安全保障,但磁盘利用率为50%,故成本最高。Miiror虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如月艮务器和数据库存储等领域。RAID5:RAID5是ー种存储性能、数据安全和存储成本兼顾的存储解决方案。RAID5至少需要使用3块硬盘组建,当有数据写入吋,将数据分成两个部分,同时将两部分数据进行异或运算,形成冗余数据作为校验值,两份数据和ー份校验值交错存放在多块磁盘中,当其中1块硬盘出现损坏的时候,从另外2块硬盘上存储的数据可以计算出第3块硬盘的数据内容。RAID5可以为系统提供数据安全保障,但保障程度要比RAID1低而磁盘空间利用率要比RAID1高。RAID5具有和RAID0相近似的数据读取速度,只是多了ー个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应ー个奇偶校验信息,RAID5的磁盘空间利用率要比RAID1高,存储成本相对较低。
技术实现思路
本专利技术提供ー种混合存储系统,其包括多种存储器和单独控制器,解决现有混合存储系统需要多个控制器且各控制器所控制的存储介质单ー导致的系统复杂和成本高的间题。本专利技术所提供的ー种混合存储系统,由N个存储器和ー个控制器构成,N = 1?128,其特征在于:A.所述每个存储器包括控制器通信模块、存储介质和存储器信息模块,控制器通信模块分别与存储介质、存储器信息模块电信号连接;A1.所述控制器通信模块由高速串行总线和低速串行总线构成;高速串行总线将存储器控制模块的存储器通信子模块发送的数据包解析为控制信号,发送给存储介质;将存储介质读出的数据封装为数据包,发送至存储器控制模块;低速串行总线接收存储器通信子模块发送的读信本文档来自技高网
...

【技术保护点】
一种混合存储系统,由N个存储器和一个控制器构成,N=1~128,其特征在于:A.所述每个存储器包括控制器通信模块、存储介质和存储器信息模块,控制器通信模块分别与存储介质、存储器信息模块电信号连接;A1.所述控制器通信模块由高速串行总线和低速串行总线构成;高速串行总线将存储器控制模块的存储器通信子模块发送的数据包解析为控制信号,发送给存储介质;将存储介质读出的数据封装为数据包,发送至存储器控制模块;低速串行总线接收存储器通信子模块发送的读信号,从存储器信息模块读出存储器的基本信息发送至存储器通信子模块;接收存储器通信子模块发送的写信号和数据,将数据写入存储器通信子模块;A2.所述存储介质用于存放数据,为闪存、PCM和磁盘中的一种或多种;A3.所述存储器信息模块存放存储器的基本信息,包括存储器容量、存储介质类型和存储器状态;存储器容量表示存储器内存储介质总容量大小,存储介质类型表示存储器内存储介质类型为闪存、PCM或磁盘,存储器状态分为正常或失效,表示存储器的存储介质正常或失效;B.所述控制器包括主机通信模块、负载控制模块、阵列控制模块、地址映射模块、存储器控制模块和缓存;存储器控制模块包含通过内部总线一一对应连接的N个可编程子模块和N个存储器通信子模块,并具有一个存储器参数表,各存储器通信子模块由高速串行总线和低速串行总线构成;主机通信模块、负载控制模块、阵列控制模块和地址映射模块依次两两之间通过内部总线连接,地址映射模块与存储器控制模块的N个可编程子模块通过内部总线连接,所述缓存分别与主机通信模块、负载控制模块、阵列控制模块、地址映射模块通过内部总线连接;每个存储器通信子模块的高速串行总线和低速串行总线分别对应连接存储器的控制器通信模块的高速串行总线和低速串行总线,每个存储器通信子模块的高速串行总线将可编程子模块的控制信号封装成数据包,发送给存储器的控制器通信模块;将来自控制器通信模块的数据包按照Aurora通信协议解析成数据,发送至可编程子模块;每个存储器通信子模块的低速串行总线为IIC总线,将存储器控制模块发送的写信号和数据发送至存储器的控制器通信模块;将存储器控制模块发送的读信号发送至存储器通信模块;当存储器的存储介质类型分别为闪存、PCM和磁盘时,对应的可编程子模块分别配置为闪存控制单元、PCM控制单元或磁盘控制单元;所述存储器参数表为N×4的数组,其中N为存储器的序号,每个存储器对应4个表项:存储器通信子模块状态、存储器容量、存储介质类型和存储器状态,存储器通信子模块状态分为连接和未连接,表示存储器通信子模块是否与存储器的控制器通信模块连接,存储器容量表示存储器的存储介质总容量大小,存储介质类型表示存储器的存储介质类型为闪存、PCM或磁盘,存储器状态分为正常或失效,表示存储器的存储介质正常或失效;所述缓存为SDRAM构成的存储空间,为待写入数据、读取数据的缓冲区;B1.所述主机通信模块执行如下操作:B1?1.按照主机通信协议标准,对主机发送的请求数据包解析为写请求或读请求;所述请求数据包包括请求地址、请求长度、读写标志、内存地址;读写标志为0,执行B1?2;读写标志为1,执行B1?3;B1?2.将内存地址中请求长度的数据存放在缓存中,作为待写入数据,然后将请求数据包解析为写请求,分别将请求数据包中请求地址、请求长度、内存地址作为写请求的写数据地址、写数据长度、内存地址,将数据存放在缓存中的地址作为写请求的缓存地址,再将写请求发送至负载控制模块;B1?3.将请求数据包解析为读请求,分别将请求数据包中请求地址、请求 长度、内存地址作为读请求的读数据地址、读数据长度、内存地址;再将读请求发送至地址映射模块,等待地址映射模块发送来的读请求完成包,将其封装成请求完成数据包发送给主机;B2.所述负载控制模块执行如下操作:B2?1.定义长度为m个单元的数组M,各单元内容初始化为0,m≥1024;B2?2.当收到写请求时,其中的写数据地址,通过哈希函数集合H中的k个独立哈希函数得到k个哈希值,每个哈希值对应数组M的一个单元地址;将k个哈希值所对应数组M的k个单元内容加1,然后判断所述k个单元内容是否都大于阈值T,是则该写请求对应的写入数据为热数据,否则该写请求对应的写入数据为冷数据,T≥10;所述哈希函数集合H={h1,h2,…,hk},k<m,哈希值的值域为[0~m?1];B2?3.判断对所述写请求中写数据长度是否大于W,是则该写请求对应的写入数据为大块数据,否则该写请求对应的写入数据为小块数据,W=256KB~4MB;B2?4...

【技术特征摘要】

【专利技术属性】
技术研发人员:童薇冯丹刘景宁苏福钦张建权
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1