一种RAID的实施方法及SSD技术

技术编号:17541315 阅读:34 留言:0更新日期:2018-03-24 18:00
本发明专利技术公开了一种RAID的实施方法及SSD,其特征在于固态硬盘控制器NFC接收到写入请求后,判断写入的有效数据是否满足一个条带的有效数据长度,如果满足则计算写入数据的校验数据,并将有效数据和校验数据写入FLASH的同一个条带中;所述当前写入的有效数据不足一个条带的有效数据,则将有效数据写入NVRAM中。通过延迟写入校验信息策略和引入非易失性存储器NVRAM,降低垃圾回收过程中对数据写入的操作概率,实现提高对主机端响应速度和提升固态硬盘寿命的效果。

A method of implementing RAID and SSD

The invention discloses a method for implementation of RAID and SSD, which is characterized in that the SSD controller NFC receives a written request, the valid data written by a judge whether meet the effective data strip length, if meet the calculation of writing and checking data, and effective data and check data into the same FLASH band; the effective data of the current lack of a valid write data strip, the effective data is written to NVRAM. By delaying the write check information strategy and introducing the non-volatile memory NVRAM, we can reduce the operation probability of data writing in the garbage collection process, and improve the response speed to the host end and enhance the service life of SSSD.

【技术实现步骤摘要】
一种RAID的实施方法及SSD
本专利技术涉及固态硬盘控制技术,特别涉及一种RAID的实施方法及SSD。
技术介绍
SSD(固态硬盘)已经被广泛应用于各种场合,随着技术的发展,颗粒已经从2DNANDFlash发展到3DNANDFLASH,性能也已经达到3.2GBps。基于NANDFLASH的SSD为提高可靠性,延长使用寿命都会使用纠错算法,从BCH到现在的LDPC,纠错算法也在不断发展。为构建大容量、高性能和高可靠的存储系统,SSD中还会使用磁盘冗余阵列(RAID)技术。传统SSD使用的RAID在读出错时需要固件进行大量干预。图1是现有SSDRAID(4+1)读操作流程图,现有SSD的RAID校验信息均匀地分布在SSD上,条带号由逻辑页面LPA计算,当进行数据读取操作时,按如下流程步骤进行操作:1)主机host通知SSD有新的命令,SSD硬件模块自动将命令信息取到本地FIFO;2)SSD固件查询并获取新的命令;3)SSD固件将所获取的命令提交给CM(命令管理)模块执行;4)CM完成预处理(读写分离等),提交算法模块进一步执行;5)算法模块分配读缓存readbuffer,并发起对后端读请求;算法模块根据数据传输地址,构建数据传输请求;6)硬件完成数据传输;7)通知软件数据传输完成,算法模块对后端写入请求;8)NFC收到写入请求,发起RAID操作,等待RAID完成进行NANDflash写入。图2是现有的SSD进行垃圾回收时的流程图:1)从NANDflash中读取原始数据PAGE0~2;2)标记dummypage和paritypage为无效页;3)将PAGE0~PAGE2和newpage组合进行RAID;4)将newPAGE0~2、Newpage和newparitypage写入NANDflash;5)擦除oldpage0~2、dummypage、oldparitypage;在整个GC(garbagecollection)过程中,需要进行三个page的读操作,5个page的写操作,5个page对应block的擦操作,总耗时为3tR+5tprog+5tER。消耗时间较长,同时降低了NANDflash的寿命。
技术实现思路
针对以上缺陷,本专利技术目的是如何降低引入RAID机制后造成的写放大问题。为了解决以上问题本专利技术提出了一种RAID的实施方法,其特征在于固态硬盘控制器NFC接收到写入请求后,判断写入的有效数据是否满足一个条带的有效数据长度,如果满足则计算写入数据的校验数据,并将有效数据和校验数据写入FLASH的同一个条带中;所述当前写入的有效数据不足一个条带的有效数据,则将有效数据写入NVRAM(Non-VolatileRandomAccessMemory)中。所述的RAID的实施方法,其特征在于所述当前写入的有效数据不足一个条带的有效数据时先计算当前有效数据量的部分校验数据,将当前有效数据和部分校验数据写入NVRAM中,每次写入的前有效数据和部分校验数据合并为部分检验页数据。所述的RAID的实施方法,其特征在于所述当前写入的有效数据不足一个条带的有效数据时,先检索NVRAM中是否存在数据,如果存在则查找NVRAM找到适合与当前有效数据合并为一个RAID的数据进行合并计算校验数据,将合并后的数据和校验数据写入FLASH的同一个条带中。所述的RAID的实施方法,其特征在于NVRAM中存储的数据在垃圾回收操作中进行整理,将部分检验页数据与新写入的数据进行数据合并为一个RAID的数据进行合并计算校验数据,将合并后的数据和校验数据写入FLASH的同一个条带中。所述的RAID的实施方法,其特征在于在向固态硬盘控制器NFC写入数据前,硬盘管理固件中的算法模块在接收到主机写入命令时,先检查NVRAM中的数据,查找是否存在可与写入命令中的数据拼接为一个条带的数据,如果存在则拼接为同一个条带的有效数据发送给固态硬盘控制器NFC;如果不存在则经过一段时间延时后再检索NVRAM中的数据,如果还是不存在,则直接将有效数据发送给固态硬盘控制器NFC;如果存在则拼接为同一个条带的有效数据发送给固态硬盘控制器NFC。一种SSD,其特征在于增加NVRAM,用于存储部分校验页数据,固态硬盘控制器NFC接收到写入请求后,判断写入的有效数据是否满足一个条带的有效数据长度,如果满足则计算写入数据的校验数据,并将有效数据和校验数据写入FLASH的同一个条带中;所述当前写入的有效数据不足一个条带的有效数据,则将有效数据写入NVRAM中;所述当前写入的有效数据不足一个条带的有效数据时先计算当前有效数据量的部分校验数据,将当前有效数据和部分校验数据写入NVRAM中,每次写入的前有效数据和部分校验数据合并为部分检验页数据。所述的SSD,其特征在于所述当前写入的有效数据不足一个条带的有效数据时,先检索NVRAM中是否存在数据,如果存在则查找NVRAM找到适合与当前有效数据合并为一个RAID的数据进行合并计算校验数据,将合并后的数据和校验数据写入FLASH的同一个条带中。所述的SSD,其特征在于NVRAM中存储的数据在垃圾回收操作中进行整理,将部分检验页数据与新写入的数据进行数据合并为一个RAID的数据进行合并计算校验数据,将合并后的数据和校验数据写入FLASH的同一个条带中。所述的SSD,其特征在于在向固态硬盘控制器NFC写入数据前,硬盘管理固件中的算法模块在接收到主机写入命令时,先检查NVRAM中的数据,查找是否存在可与写入命令中的数据拼接为一个条带的数据,如果存在则拼接为同一个条带的有效数据发送给固态硬盘控制器NFC;如果不存在则经过一段时间延时后再检索NVRAM中的数据,如果还是不存在,则直接将有效数据发送给固态硬盘控制器NFC;如果存在则拼接为同一个条带的有效数据发送给固态硬盘控制器NFC。本专利技术的有益效果是:通过延迟写入校验信息策略和引入非易失性存储器NVRAM,降低垃圾回收过程中对数据写入的操作概率,实现提高对主机端响应速度和提升固态硬盘寿命的效果。附图说明图1是现有SSDRAID(4+1)读操作流程图;图2是现有的SSD进行垃圾回收时的流程图;图3是校验信息延迟写入的写入流程图;图4是改进后垃圾回收操作流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图3是校验信息延迟写入的写入流程图,算法模块收到写入命令时,先检查NVRAM中的数据,如果和写入命令中的数据能拼接成4page就直接向前端发起数据传输请求;否则使用T.O.机制等待一段时间,如果还是无法拼接,就发起数据传输请求,并向NFC发起写入请求。NFC收到写入请求后,如果数据量满足4page就进行RAID,等待RAID完成,将数据和parity写入NANDFLASH;否则只发起当前数据量的RAID校验,将当前数据和partialparity写入NVRAM。图4是改进后垃圾回收操作流程图,具体流程如下:1)读取NVRAM中的PAGE0~PAGE2和部分paritypa本文档来自技高网
...
一种RAID的实施方法及SSD

【技术保护点】
一种RAID的实施方法,其特征在于固态硬盘控制器NFC接收到写入请求后,判断写入的有效数据是否满足一个条带的有效数据长度,如果满足则计算写入数据的校验数据,并将有效数据和校验数据写入FLASH的同一个条带中;所述当前写入的有效数据不足一个条带的有效数据,则将有效数据写入NVRAM中。

【技术特征摘要】
1.一种RAID的实施方法,其特征在于固态硬盘控制器NFC接收到写入请求后,判断写入的有效数据是否满足一个条带的有效数据长度,如果满足则计算写入数据的校验数据,并将有效数据和校验数据写入FLASH的同一个条带中;所述当前写入的有效数据不足一个条带的有效数据,则将有效数据写入NVRAM中。2.根据权利要求1所述的RAID的实施方法,其特征在于所述当前写入的有效数据不足一个条带的有效数据时先计算当前有效数据量的部分校验数据,将当前有效数据和部分校验数据写入NVRAM中,每次写入的前有效数据和部分校验数据合并为部分检验页数据。3.根据权利要求2所述的RAID的实施方法,其特征在于所述当前写入的有效数据不足一个条带的有效数据时,先检索NVRAM中是否存在数据,如果存在则查找NVRAM找到适合与当前有效数据合并为一个RAID的数据进行合并计算校验数据,将合并后的数据和校验数据写入FLASH的同一个条带中。4.根据权利要求2所述的RAID的实施方法,其特征在于NVRAM中存储的数据在垃圾回收操作中进行整理,将部分检验页数据与新写入的数据进行数据合并为一个RAID的数据进行合并计算校验数据,将合并后的数据和校验数据写入FLASH的同一个条带中。5.根据权利要求1至4任意一项所述的RAID的实施方法,其特征在于在向固态硬盘控制器NFC写入数据前,硬盘管理固件中的算法模块在接收到主机写入命令时,先检查NVRAM中的数据,查找是否存在可与写入命令中的数据拼接为一个条带的数据,如果存在则拼接为同一个条带的有效数据发送给固态硬盘控制器NFC;如果不存在则经过一段时间延时后再检索NVRAM中的数据,如果还是不存在,则直接将有效数据发送给固态硬盘控制器NFC;如果存在则拼接为同一个条带的有效...

【专利技术属性】
技术研发人员:肖锐
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:广东,44

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

1