【技术实现步骤摘要】
多租户固态盘中实现RAID的方法、控制器及多租户固态盘
本专利技术属于存储
,更具体地,涉及一种多租户固态盘中实现RAID的方法、控制器及多租户固态盘。
技术介绍
基于NAND型闪存的固态盘(SolidStateDisk,SSD)具有高性能、低功耗和尺寸小等优点,而且其存储容量不断提高,成本也不断下降,因此在数据中心得到了广泛应用。为提供大容量和高吞吐量,固态盘采用高度并行的存储结构,即包含多个闪存晶圆(晶圆是独立执行闪存操作命令的最小存储单元),比如128个64GB的晶圆组成一个8TB固态盘。一方面,为提高存储空间利用率和成本效益,大容量固态盘被多租户共享使用的场景不断增多。租户的范围包括应用、容器、虚拟机和数据库实例等。因此,实现租户之间的性能隔离和保证它们的服务质量成为固态盘系统设计的关键要求。现有方法通常根据各租户的存储容量需求和带宽需求,为它们分配独立的闪存晶圆,因此,各租户之间的I/O干扰被消除,称之为硬件隔离,如附图1所示。另一方面,固态盘通常在闪存晶圆之间构建RAID(RedundantArrayofIndependentDisks)条带,为数据添加校验信息,以提高存储可靠性。目前,在固态盘中实现RAID的方法一般分为两类:一类是将多个连续的逻辑数据页和它们的校验页组成RAID-5条带,分散存储在多个闪存晶圆中;另一类是将多个晶圆内同一偏移位置的闪存页组成RAID-4条带,其中每个条带的校验页集中存储在一个闪存晶圆中。当向闪存写入数据页或者擦除某个闪存块上的数据时,对应的校验页需要更新。对于RAID-5方法,当一个租户的闪存晶圆中发生 ...
【技术保护点】
1.一种多租户固态盘中实现RAID的方法,所述多租户固态盘包括多个闪存晶圆和多个NVM晶圆,各闪存晶圆被独立地分配给租户,其特征在于,所述多租户固态盘中实现RAID的方法包括:条带构建步骤和写请求处理步骤;所述条带构建步骤包括:利用各闪存晶圆中同一偏移位置的闪存页组成一个RAID条带,并将每一个条带的校验信息分别存储到NVM晶圆中的一个校验页中;所述写请求处理步骤包括:(S1)判断租户写请求的类型,若请求写入新的数据页,则转入步骤(S2);若请求更新部分数据页,则转入步骤(S3);若请求更新完整数据页,则转入步骤(S5);(S2)在该租户的闪存晶圆内分配空闲闪存页,写入数据页;与此同时,更新所分配的闪存页所属RAID条带的校验页,从而将新写入的数据页加入RAID校验保护;转入步骤(S6);(S3)从闪存晶圆中读取旧数据页,与待写入数据合并得到完整的数据页;与此同时,更新该旧数据页所属RAID条带的校验页,从而将该旧数据页移出RAID校验保护;(S4)在该租户的闪存晶圆内分配空闲闪存页,写入合并所得的数据页并将旧数据页标记为无效数据页;与此同时,更新所分配的闪存页所属RAID条带的校验页 ...
【技术特征摘要】
1.一种多租户固态盘中实现RAID的方法,所述多租户固态盘包括多个闪存晶圆和多个NVM晶圆,各闪存晶圆被独立地分配给租户,其特征在于,所述多租户固态盘中实现RAID的方法包括:条带构建步骤和写请求处理步骤;所述条带构建步骤包括:利用各闪存晶圆中同一偏移位置的闪存页组成一个RAID条带,并将每一个条带的校验信息分别存储到NVM晶圆中的一个校验页中;所述写请求处理步骤包括:(S1)判断租户写请求的类型,若请求写入新的数据页,则转入步骤(S2);若请求更新部分数据页,则转入步骤(S3);若请求更新完整数据页,则转入步骤(S5);(S2)在该租户的闪存晶圆内分配空闲闪存页,写入数据页;与此同时,更新所分配的闪存页所属RAID条带的校验页,从而将新写入的数据页加入RAID校验保护;转入步骤(S6);(S3)从闪存晶圆中读取旧数据页,与待写入数据合并得到完整的数据页;与此同时,更新该旧数据页所属RAID条带的校验页,从而将该旧数据页移出RAID校验保护;(S4)在该租户的闪存晶圆内分配空闲闪存页,写入合并所得的数据页并将旧数据页标记为无效数据页;与此同时,更新所分配的闪存页所属RAID条带的校验页,从而将新写入的数据页加入RAID校验保护;转入步骤(S6);(S5)在该租户的闪存晶圆内分配空闲闪存页,写入数据页并将旧数据页标记为无效数据页;与此同时,更新所分配的闪存页所属RAID条带的校验页,从而将新写入的数据页加入RAID校验保护;转入步骤(S6);(S6)写请求处理结束。2.如权利要求1所述的多租户固态盘中实现RAID的方法,其特征在于,对于需要加入RAID校验保护或者需要移出RAID校验保护的数据页,更新更新该数据页所属RAID条带的校验页,包括:从NVM晶圆中读取该数据页所属RAID条带的校验页,利用该数据页与所读取的校验页计算新的校验信息并更新回NVM晶圆,从而完成对校验页的更新。3.如权利要求1所述的多租户固态盘中实现RAID的方法,其特征在于,更新校验页时,仅更新NVM晶圆中对应的校验页中需要更新的部分。4.如权利要求1所述的多租户固态盘中实现RAID的方法,其特征在于,还包括:维护一个状态表,并在所述状态表中为每一个RAID条带分别维护一个条目,用于实时记录各RAID条带中各闪存页是否受RAID校验保护。5.如权利要求1-4任一项所述的多租户固态盘中实现RAID的方法,其特征在于,还包括:空闲校验更新步骤;所述空闲校验更新步骤包括:持续监控各租户的I/O状态,任意一个租户的I/O空闲时间超过预设的空闲阈值,则判定该租户处于I/O空闲状态,并按照如下步骤对该租户的RAID校验信息进行更新:(T1)从该租户的闪存晶圆中获取一个受RAID校验保护的无效数据页,若获取成功,则转入步骤(T2);否则,转入步骤(T4);(T2)从闪存晶圆读取该无效数据页,并更新该无效数据页所属RAID条带的校验页,从而将该无效数据页移出RAID校验保护;(T3)若有新的I/O请求到来,则转入步骤(T4);否则,转入步骤(T1);(T4)结束当前I/O空闲周期的操作,转而处理该租户的I/O请求。6.如权利要求1-4任一项所述的多租户固态盘中实现RAID的方法,其特征在于,还包括:垃圾回收步骤;所述垃圾回收步骤包括:(W1)租户触发垃圾回收操作时,在该租户的晶圆内选取一个或多个闪存块作为回收目标块;(W2)找到并读取回收目标块中所有的有效数据页和受RAID校验保护的无效数据页,并更新这些数据页所属RAID条带的校验页,从而将目标回收块中受RAID保护的所有数据页均移出RAID校验保护;(W3)在该租户的闪存晶圆中分配空闲的闪存页,并将所读取的有效数据页迁移至所分配的闪存页中;与此同时,更新所分配的闪存页所属RAID条带的校验页,从而将迁移后的有效数据页加入RAID校验保护;(...
【专利技术属性】
技术研发人员:周游,黄维周,王顺卓,吴非,谢长生,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。