一种用于SSD的RAID编解码系统及方法技术方案

技术编号:15540492 阅读:252 留言:0更新日期:2017-06-05 10:20
本发明专利技术公开了一种用于SSD的RAID编解码系统及方法,其中RAID编解码系统包括RAID编解码模块,其结构特点是还包括第一DMA模块和第二DMA模块,RAID编解码模块通过第一DMA模块与片外缓存相连,RAID编解码模块依次通过第二DMA模块、第一DMA模块与片外缓存相连,RAID编解码模块通过第二DMA模块与片内缓存相连。本发明专利技术能够在SSD中实现RAID编码的中断和恢复,能够在任意RAID编码过程中暂停并且释放硬件资源处理更高优先级别的编码需求,在任意RAID解码请求时中断编码操作,优先恢复错误数据,数据可靠性高,耗时短,效率高。

RAID encoding and decoding system and method for SSD

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编解码系统及方法,能够在SSD中实现RAID编码的中断和恢复,能够在任意RAID编码过程中暂停并且释放硬件资源处理更高优先级别的编码需求,在任意RAID解码请求时中断编码操作,优先解码重要数据,有效及时恢复错误数据,提高数据可靠性和系统响应速度。为解决上述技术问题,本专利技术所采用的技术方案是:一种用于SSD的RAID编解码系统,包括RAID编解码模块,其结构特点是还包括第一DMA(DirectMemoryAccess,直接内存存取)模块和第二DMA模块,RAID编解码模块通过第一DMA模块与片外缓存相连,RAID编解码模块通过第二DMA模块与片内缓存或片外缓存相连;其中,第一DMA模块用于向RAID编解码模块发送命令,所述命令包括中断命令和恢复命令;在RAID编解码模块响应中断命令时将RAID编解码模块中正在处理的编码命令的中间编码结果搬移至片外缓存,在RAID编解码模块响应恢复命令时将片外缓存中的中间编码结果搬移至RAID编解码模块;第二DMA模块用于向RAID编解码模块发送命令,包括编码命令和编码输出命令;并在RAID编解码模块响应编码命令时将待编码数据从片外缓存搬移到RAID编解码模块中,在RAID编解码模块响应编码输出命令时将编码结果从RAID编解码模块搬移到片内缓存或片外缓存。借由上述结构,当在RAID编码过程中出现更高优先级别的编码需求时,可以中断当前编码过程,将高优先级别的编码需求优先编码,最后再继续编码执行中断了的编码过程,优先编码重要数据,数据可靠性高,耗时短,效率高。进一步地,还包括第三DMA模块,RAID编解码模块通过第三DMA模块分别与片外缓存和片内缓存相连;其中,第三DMA模块用于向RAID编解码模块发送解码命令,并将SSD中的待解码数据送至RAID编解码模块,将RAID编解码模块中的解码结果搬移至片外缓存或片内缓存。借由上述结构,当在RAID编码过程中出现数据错误需要立刻恢复时,可以中断当前编码过程,立即执行解码操作,最后再继续编码执行中断了的编码过程,有效及时恢复地错误数据,数据可靠性高,耗时短,效率高。进一步地,还包括仲裁单元,所述RAID编解码模块通过仲裁单元分别与第一DMA模块和第二DMA模块相连;其中,第二DMA模块还用于向RAID编解码模块发送命令,所述命令包括中断命令或恢复命令;在RAID编解码模块响应中断命令时将RAID编解码模块中的中间编码结果搬移至片外缓存,在RAID编解码模块响应恢复命令时将片外缓存中的中间编码结果搬移至RAID编解码模块;仲裁单元用于选择由第一DMA模块或第二DMA模块向RAID编解码模块发送命令;当仲裁单元选择由第一DMA模块向RAID编解码模块发送命令时,由第一DMA模块将RAID编解码模块中的中间编码结果搬移至片外缓存,或者由第一DMA模块将片外缓存中的中间编码结果搬移至RAID编解码模块;当仲裁单元选择由第二DMA模块向RAID编解码模块发送命令时,由第二DMA模块将RAID编解码模块中的中间编码结果搬移至片外缓存,或者由第二DMA模块将片外缓存中的中间编码结果搬移至RAID编解码模块。仲裁单元可以选择由第一DMA模块或第二DMA模块发送命令或搬移数据,第二DMA模块同样可以发起中断和恢复命令,数据搬移方向与第一DMA模块相同,增加了系统的灵活性。进一步地,所述第二DMA模块还用于将数据从片外缓存搬移到片内缓存中。第二DMA模块能够根据需要实现RAID旁路功能,即用户数据不需要进行RAID编码时,可以旁路RAID编解码模块,直接将数据从片外缓存搬移到片内缓存中。基于同一个专利技术构思,本专利技术还提供了一种用于SSD的RAID编解码方法,采用所述的RAID编解码系统,包括以下方法:若第二DMA模块中待编码数据的优先级别高于RAID编解码模块中正在编码的数据,通过第一DMA模块向RAID编解码模块发送中断命令,RAID编解码模块响应中断命令后,由第一DMA模块将RAID编解码模块中的中间编码结果搬移至片外缓存;在RAID编解码模块将第二DMA模块中高优先级别的待编码数据编码完成后,首先通过第二DMA模块将RAID编解码模块中的编码结果搬移至片内缓存或片外缓存,再通过第一DMA模块向RAID编解码模块发送恢复命令,RAID编解码模块响应恢复命令后,由第一DMA模块将片外缓存中的中间编码结果搬移至RAID编解码模块;最后RAID编解码模块继续编码中间编码结果。进一步地,还包括以下方法:当第三DMA模块向RAID编解码模块发送解码命令时,若此时RAID编解码模块正在执行编码操作,则通过第一DMA模块向RAID编解码模块发送中断命令,RAID编解码模块响应中断命令后,由第一DMA模块将RAID编解码模块中的中间编码结果搬移至片外缓存,最后RAID编解码模块对第三DMA模块中的待解码数据进行解码操作;在RAID编解码模块将第三DMA模块中的待解码数据解码完成后,首先通过第三DMA模块将RAID编解码模块中的编码结果搬移至片外缓存或片内缓存;再通过第一DMA模块向RAID编解码模块发送恢复命令,RAID编解码模块响应恢复命令后,由第一DMA模块将片外缓存中的中间编码结果搬移至RAID编解码模块;最后RAID编解码模块继续编码中间编码结果。进一步地,还包括利用仲裁单元选择由第一DMA模块或第二DMA模块向RAID编解码模块发送命令;当仲裁单元选择由第一DMA模块向RAID编解码模块发送命令时,由第一DMA模块将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

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

1