[发明专利]一种RAID的实施方法及SSD在审
申请号: | 201711171925.2 | 申请日: | 2017-11-22 |
公开(公告)号: | CN107832018A | 公开(公告)日: | 2018-03-23 |
发明(设计)人: | 肖锐 | 申请(专利权)人: | 深圳忆联信息系统有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/02;G06F12/0866 |
代理公司: | 广东广和律师事务所44298 | 代理人: | 董红海 |
地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 raid 实施 方法 ssd | ||
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种RAID的实施方法及SSD。
背景技术
SSD(固态硬盘)已经被广泛应用于各种场合,随着技术的发展,颗粒已经从2D NAND Flash发展到3D NAND FLASH,性能也已经达到3.2GBps。
基于NANDFLASH的SSD为提高可靠性,延长使用寿命都会使用纠错算法,从BCH到现在的LDPC,纠错算法也在不断发展。为构建大容量、高性能和高可靠的存储系统,SSD中还会使用磁盘冗余阵列(RAID)技术。传统SSD使用的RAID在读出错时需要固件进行大量干预。
图1是现有SSD RAID(4+1)读操作流程图,现有SSD的RAID校验信息均匀地分布在SSD上,条带号由逻辑页面LPA计算,当进行数据读取操作时,按如下流程步骤进行操作:
1)主机host通知SSD有新的命令,SSD硬件模块自动将命令信息取到本地FIFO;
2)SSD固件查询并获取新的命令;
3)SSD固件将所获取的命令提交给CM(命令管理)模块执行;
4)CM完成预处理(读写分离等),提交算法模块进一步执行;
5)算法模块分配读缓存read buffer,并发起对后端读请求;算法模块根据数据传输地址,构建数据传输请求;
6)硬件完成数据传输;
7)通知软件数据传输完成,算法模块对后端写入请求;
8)NFC收到写入请求,发起RAID操作,等待RAID完成进行NAND flash写入。
图2是现有的SSD进行垃圾回收时的流程图:
1)从NAND flash中读取原始数据PAGE0~2;
2)标记dummy page和parity page为无效页;
3)将PAGE0~PAGE2和new page组合进行RAID;
4)将new PAGE0~2、New page和new parity page写入NAND flash;
5)擦除old page0~2、dummy page、old parity page;
在整个GC(garbage collection)过程中,需要进行三个page的读操作,5个page的写操作,5个page对应block的擦操作,总耗时为3tR+5tprog+5tER。消耗时间较长,同时降低了NANDflash的寿命。
发明内容
针对以上缺陷,本发明目的是如何降低引入RAID机制后造成的写放大问题。
为了解决以上问题本发明提出了一种RAID的实施方法,其特征在于固态硬盘控制器NFC接收到写入请求后,判断写入的有效数据是否满足一个条带的有效数据长度,如果满足则计算写入数据的校验数据,并将有效数据和校验数据写入FLASH的同一个条带中;所述当前写入的有效数据不足一个条带的有效数据,则将有效数据写入NVRAM(Non-Volatile Random Access Memory)中。
所述的RAID的实施方法,其特征在于所述当前写入的有效数据不足一个条带的有效数据时先计算当前有效数据量的部分校验数据,将当前有效数据和部分校验数据写入NVRAM中,每次写入的前有效数据和部分校验数据合并为部分检验页数据。
所述的RAID的实施方法,其特征在于所述当前写入的有效数据不足一个条带的有效数据时,先检索NVRAM中是否存在数据,如果存在则查找NVRAM找到适合与当前有效数据合并为一个RAID的数据进行合并计算校验数据,将合并后的数据和校验数据写入FLASH的同一个条带中。
所述的RAID的实施方法,其特征在于NVRAM中存储的数据在垃圾回收操作中进行整理,将部分检验页数据与新写入的数据进行数据合并为一个RAID的数据进行合并计算校验数据,将合并后的数据和校验数据写入FLASH的同一个条带中。
所述的RAID的实施方法,其特征在于在向固态硬盘控制器NFC写入数据前,硬盘管理固件中的算法模块在接收到主机写入命令时,先检查NVRAM中的数据,查找是否存在可与写入命令中的数据拼接为一个条带的数据,如果存在则拼接为同一个条带的有效数据发送给固态硬盘控制器NFC;如果不存在则经过一段时间延时后再检索NVRAM中的数据,如果还是不存在,则直接将有效数据发送给固态硬盘控制器NFC;如果存在则拼接为同一个条带的有效数据发送给固态硬盘控制器NFC。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳忆联信息系统有限公司,未经深圳忆联信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711171925.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种提高地震数据存储IO性能的方法及装置
- 下一篇:优化固态硬盘写请求的方法