本发明涉及存储,尤其涉及一种管理ssd闪存资源的方法及存储设备。
背景技术:
1、ssd单盘容量需求在近些年逐渐增大,目前量产容量已达32t、64t。大容量盘在nand颗粒成倍的增加过程中,对于ssd控制器的内部资源需求也在增大,成本和竞争力的压力下,控制器的设计需尽量精简、少冗余,又需满足主流性能要求。
2、为了提高ssd中存储数据的可靠性,在ssd中采用类似raid的技术提供跨lun(或闪存die)的数据保护。为此目的,将ssd中的多个lun分组(属于相同组的多个lun也被称为raid单元)。在raid单元中构造大块(xblock),大块(xblock)包括来自多个逻辑单元(lun)的物理块。为大块提供物理块的多个逻辑单元被称为逻辑单元组(lun组)或raid单元。逻辑单元组的每个逻辑单元为大块提供例如一个物理块。在构造大块后进一步构造页条带,利用页条带的所有用户数据来计算其校验数据。计算校验数据的过程中,ssd的主控制器使用xor 缓存(xor buff)来加速校验数据的计算。
3、随着技术的发展,nand闪存的存储密度持续增加,ssd所提供的容量也进一步多样化。对于一些大容量/高性能的ssd,在ssd中同时并发操作多个页条带时,所需要的xor缓存也更大,但是对于控制器内部集成sram作为xor缓存的情况,这样的xor缓存为一个固定值,对小容量ssd有冗余,但是对于大容量ssd则供给不足,无法根据ssd存储容量的大小适应性地管理存储资源。
技术实现思路
1、为了解决现有技术因为大容量ssd供给不足而无法适应性管理存储资源的技术问题,本发明的实施例提供了一种管理ssd闪存资源的方法,包括:根据nand闪存配置和/或固态硬盘设计需求对应构造逻辑单元物理块;用所构造的逻辑单元物理块构造大块;响应于io命令来获取待写入的数据,利用构造的大块为待写入的数据分配页条带;其中nand闪存配置包括ssd中所使用的nand闪存的存储组织方式,包括逻辑单元数量、逻辑单元中平面的数量、物理块的大小、物理页的大小其中至少之一;固态硬盘设计需求包括xor缓存容量的需求、读写带宽的性能需求其中至少之一。
2、如上所述的一种管理ssd闪存资源的方法,其中,构造逻辑单元物理块,包括:根据所使用的具体nand闪存的平面数量来构造逻辑单元物理块;或根据xor缓存容量的大小以及物理页的大小确定逻辑单元物理块的物理块数量。
3、如上所述的一种管理ssd闪存资源的方法,其中,构成逻辑单元物理块的各个物理块分别来自同一逻辑单元的不同平面;和/或在各自的平面内,具有相同或不同的物理块号。
4、如上所述的一种管理ssd闪存资源的方法,其中,构造逻辑单元物理块时,构成逻辑单元物理块的物理块数量小于逻辑单元提供的平面数量。
5、如上所述的一种管理ssd闪存资源的方法,其中,构造逻辑单元物理块时,构造逻辑单元物理块中物理块所来自的平面编号具有固定差值关系;或
6、编号为奇数的逻辑单元物理块中的所有物理块都来自编号为奇数的平面,编号为偶数的逻辑单元物理块中的所有物理块都来自编号为偶数的平面;或
7、构成逻辑单元物理块的多个物理块的平面编号连续,物理块号也连续。
8、如上所述的一种管理ssd闪存资源的方法,其中,还包括:在逻辑单元物理块内构造页条带,且以大块的基本单元构造页条带;根据逻辑单元物理块的物理块数量确定条带页的大小,以及确定为页条带生成校验数据时所需要的缓存大小,其中条带页包括逻辑单元物理块的每个物理块所提供的多个物理页。
9、如上所述的一种管理ssd闪存资源的方法,其中,构成大块的各个逻辑单元物理块来自不同的逻辑单元,使用任意逻辑单元物理块构造任意大块,并记录大块与各逻辑单元物理块的对应关系。
10、如上所述的一种管理ssd闪存资源的方法,其中,响应于io命令来获取待写入的数据时,访问某一大块时,并行操作构成该大块的各物理块。
11、如上所述的一种管理ssd闪存资源的方法,其中,还包括:根据io命令对应的待写入的数据与页条带的大小,生成校验数据;将io命令对应的待写入的数据与生成的校验数据写入所分配的大块的页条带。
12、本发明还提供一种存储设备,包括:控制部件与nvm芯片,所述控制部件执行上述任一项的方法。
13、本发明实施例实现的有益效果如下:本发明的实施例根据后端nand闪存配置和/或固态硬盘设计需求能够动态地调整构造逻辑单元物理块,以此来适配不同容量的ssd或不同的nand闪存,而使得不同容量大小的ssd或使用不同的nand闪存不影响或不会显著影响对xor缓存的需求,突破在不同ssd中固定的xor缓存容量给存储性能带来的限制。通过虚拟固有的物理plane数,虚拟lun与物理lun具有不同plane的条带配置,可以让上层操作感受不到lun的形式,进而可以根据资源数性能表现灵活设计lun block的plane数;还能兼容其它算法设计,不引入额外复杂度。
1.一种管理ssd闪存资源的方法,其特征在于,包括:
2.如权利要求1所述的一种管理ssd闪存资源的方法,其特征在于,构造逻辑单元物理块,包括:
3.如权利要求2所述的一种管理ssd闪存资源的方法,其特征在于,构成逻辑单元物理块的各个物理块分别来自同一逻辑单元的不同平面;和/或
4.如权利要求2所述的一种管理ssd闪存资源的方法,其特征在于,构造逻辑单元物理块时,构成逻辑单元物理块的物理块数量小于逻辑单元提供的平面数量。
5.如权利要求2所述的一种管理ssd闪存资源的方法,其特征在于,构造逻辑单元物理块时,构造逻辑单元物理块中物理块所来自的平面编号具有固定差值关系;或
6.如权利要求2所述的一种管理ssd闪存资源的方法,其特征在于,还包括:
7.如权利要求2所述的一种管理ssd闪存资源的方法,其特征在于,构成大块的各个逻辑单元物理块来自不同的逻辑单元,使用任意逻辑单元物理块构造任意大块,并记录大块与各逻辑单元物理块的对应关系。
8.如权利要求5所述的一种管理ssd闪存资源的方法,其特征在于,响应于io命令来获取待写入的数据时,访问某一大块时,并行操作构成该大块的各物理块。
9.如权利要求1-8中任一项所述的一种管理ssd闪存资源的方法,其特征在于,还包括:
10.一种存储设备,其特征在于,包括:控制部件与nvm芯片,所述控制部件执行根据权利要求1-9中任一项的方法。