The invention discloses a decoding system and method for SSD RAID, the RAID codec system including RAID codec module, which is composed of a first DMA module and second DMA module, RAID codec module is connected through the first DMA module and the external cache, RAID codec module in DMA module, second the first DMA module and the external cache is connected via RAID codec module and DMA module are connected by second on-chip cache. The invention can interrupt and recover RAID encoding in SSD, can be suspended and the release of hardware resources to deal with higher priority encoding requirements in any RAID encoding process, interrupt operation in any RAID encoding decoding request, priority error data, data reliability, short time, high efficiency.
【技术实现步骤摘要】
一种用于SSD的RAID编解码系统及方法
本专利技术特别涉及一种用于SSD的RAID编解码系统及方法。
技术介绍
SSD(SolidStateDrive,固态硬盘)是一种以固态电子存储器件作为存储介质,通过内嵌主控芯片实现数据访问和存储介质管理的存储设备。SSD具有响应速度快、功耗低、噪音小等特点,被广泛应用于国防、金融、消费电子等领域,具有替代传统机械硬盘的局势。NANDFlash作为当前主流SSD产品采用的存储介质,由于受到器件漂移效应、用户读写操作和恶劣工作环境等因素影响出现比特反转现象,导致用户数据丢失,影响SSD产品数据可靠性。为了解决SSD中NANDFlash中产生的数据丢失问题,现有技术中引入了用于SSD的RAID(RedundantArraysofIndependentDisks,独立磁盘冗余阵列)编解码系统,包括RAID编解码模块,其一方面可以将片外缓存中的待编码数据进行编码计算,再将编码计算结果送至片内缓存存储。更重要的一点是,当出现系统异常或磁盘暴露等原因引起的错误数据时,可以通过RAID编解码模块对错误数据进行解码,将错误数据恢复成正确数据送至片内缓存或片外缓存。现有SSD中的RAID编解码系统具有以下缺点:编码过程不能被中断,因而当在RAID编码过程中出现更高优先级别的编码需求或在用户取数据出现错误需要立刻恢复时,需要等待当前编码过程执行完成,因而重要数据无法优先编码、错误数据无法有效及时恢复,极大程度影响系统效率。
技术实现思路
现有用于SSD的RAID编解码系统无法优先编码重要数据、无法有效及时恢复错误数据,系统效率较低。本专利技 ...
【技术保护点】
一种用于SSD的RAID编解码系统,包括RAID编解码模块(1),其特征在于,还包括第一DMA模块(2)和第二DMA模块(3),RAID编解码模块(1)通过第一DMA模块(2)与片外缓存(4)相连,RAID编解码模块(1)通过第二DMA模块(3)与片外缓存(4)相连,RAID编解码模块(1)通过第二DMA模块(3)与片内缓存(5)相连;其中,第一DMA模块(2)用于向RAID编解码模块(1)发送命令,所述命令包括中断命令或恢复命令;在RAID编解码模块(1)响应中断命令时将RAID编解码模块(1)中的中间编码结果搬移至片外缓存(4),在RAID编解码模块(1)响应恢复命令时将片外缓存(4)中的中间编码结果搬移至RAID编解码模块(1);第二DMA模块(3)用于向RAID编解码模块(1)发送编码命令,并将待编码数据从片外缓存(4)搬移到RAID编解码模块(1),当RAID编解码模块(1)完成数据编码后发起校验数据输出命令,将编码结果搬移到片内缓存(5)或片外缓存(4)。
【技术特征摘要】
1.一种用于SSD的RAID编解码系统,包括RAID编解码模块(1),其特征在于,还包括第一DMA模块(2)和第二DMA模块(3),RAID编解码模块(1)通过第一DMA模块(2)与片外缓存(4)相连,RAID编解码模块(1)通过第二DMA模块(3)与片外缓存(4)相连,RAID编解码模块(1)通过第二DMA模块(3)与片内缓存(5)相连;其中,第一DMA模块(2)用于向RAID编解码模块(1)发送命令,所述命令包括中断命令或恢复命令;在RAID编解码模块(1)响应中断命令时将RAID编解码模块(1)中的中间编码结果搬移至片外缓存(4),在RAID编解码模块(1)响应恢复命令时将片外缓存(4)中的中间编码结果搬移至RAID编解码模块(1);第二DMA模块(3)用于向RAID编解码模块(1)发送编码命令,并将待编码数据从片外缓存(4)搬移到RAID编解码模块(1),当RAID编解码模块(1)完成数据编码后发起校验数据输出命令,将编码结果搬移到片内缓存(5)或片外缓存(4)。2.如权利要求1所述的用于SSD的RAID编解码系统,其特征在于,还包括第三DMA模块(6),RAID编解码模块(1)通过第三DMA模块(6)分别与片外缓存(4)和片内缓存(5)相连;其中,第三DMA模块(6)用于向RAID编解码模块(1)发送解码命令,并将SSD中的待解码数据送至RAID编解码模块(1),将RAID编解码模块(1)中的解码结果搬移至片外缓存(4)或片内缓存(5)。3.如权利要求2所述的用于SSD的RAID编解码系统,其特征在于,还包括仲裁单元(7),所述RAID编解码模块(1)通过仲裁单元(7)分别与第一DMA模块(2)和第二DMA模块(3)相连;其中,第二DMA模块(3)还用于向RAID编解码模块(1)发送命令,所述命令包括中断命令或恢复命令;在RAID编解码模块(1)响应中断命令时将RAID编解码模块(1)中的中间编码结果搬移至片外缓存(4),在RAID编解码模块(1)响应恢复命令时将片外缓存(4)中的中间编码结果搬移至RAID编解码模块(1);仲裁单元(7)用于选择由第一DMA模块(2)或第二DMA模块(3)向RAID编解码模块(1)发送命令;当仲裁单元(7)选择由第一DMA模块(2)向RAID编解码模块(1)发送命令时,由第一DMA模块(2)将RAID编解码模块(1)中的中间编码结果搬移至片外缓存(4),或者由第一DMA模块(2)将片外缓存(4)中的中间编码结果搬移至RAID编解码模块(1);当仲裁单元(7)选择由第二DMA模块(3)向RAID编解码模块(1)发送命令时,由第二DMA模块(3)将RAID编解码模块(1)中的中间编码结果搬移至片外缓存(4),或者由第二DMA模块(3)将片外缓存(4)中的中间编码结果搬移至RAID编解码模块(1)。4.如权利要求1至3任一项所述的用于SSD的RAID编解码系统,其特征在于,所述第二DMA模块(3)还用于将数据从片外缓存(4)搬移到...
【专利技术属性】
技术研发人员:王颖,刘小波,杨万云,周士兵,彭鹏,马翼,田达海,
申请(专利权)人:湖南国科微电子股份有限公司,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。