System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 在存储器中进行存储块分组的方法、控制器和存储器技术_技高网

在存储器中进行存储块分组的方法、控制器和存储器技术

技术编号:44110073 阅读:1 留言:0更新日期:2025-01-24 22:35
公开一种在存储器中进行存储块分组的方法、控制器和存储器。该方法包括:基于存储器,计算单个通道下的管芯组合的最大性能大于或等于单个通道的预设性能时需要包含的最少管芯数量;以及判断最少管芯数量是否小于存储器的单个通道所联通的管芯数量的一半,如果是,则基于最少管芯数量对存储块进行分组。该方法在不影响性能的基础上通过构建较小的超级块来提高存储器的稳定性。

【技术实现步骤摘要】

本公开实施例涉及存储,特别涉及一种在存储器中进行存储块分组的方法、控制器和存储器


技术介绍

1、固态硬盘(ssd,solid state drives)是用固态电子存储芯片制作的存储硬盘,存储硬盘包括控制器和存储介质。目前最主流的固态硬盘采用闪存芯片(nand flash)作为存储介质来存储数据。

2、随着nand flash的容量变得越来越大,其包含的管芯(die)变得越来越多。一般在ssd中,当读写操作时,对归属于同一超级块(super block)的多个管芯上的多个不同存储块(block)进行并行处理,但垃圾回收(garbage collection)时,是对整个超级块进行垃圾回收(garbage collection),因此超级块的组织方式需要兼顾系统整体性能(包括读写操作和垃圾回收的性能)。同时超级块的组织方式对ssd的稳定性也有很大影响,具体而言,当向某个超级块中的各个存储块写入数据,只有超级块中的所有存储块都写完,才会关闭超级块,由于关闭后的超级块比关闭前的超级块更加稳定,因此如果超级块包含过多数量的存储块,则对该超级块进行写操作需要花费很长时间,在这段时间内,该超级块中的各个存储块都处于不稳定状态。


技术实现思路

1、本公开实施例的目的在于提供一种在存储器中进行存储块分组的方法、控制器和存储器,在不影响性能的基础上通过构建较小的超级块来提高存储器的稳定性。

2、根据本公开实施例的第一方面,提供一种在存储器中进行存储块分组的方法,所述存储器包括存储介质和控制器,所述存储介质由多个管芯组成,每个管芯被划分为多个平面,每个平面被划为多个存储块,所述控制器通过多个通道联通所述多个管芯,所述方法由所述控制器执行,并且,所述方法包括将所述多个存储块进行分组以形成超级块,所述分组包括:

3、基于所述存储器,计算单个通道下的管芯组合的最大性能大于或等于单个通道的预设性能时需要包含的最少管芯数量;以及

4、判断所述最少管芯数量是否小于或等于所述存储器的单个通道所联通的管芯数量的一半,如果是,则基于所述最少管芯数量对存储块进行分组。

5、可选地,还包括:如果所述最少管芯数量大于单个通道所联通的管芯数量的一半,则按照每个通道下的管芯数量对存储块进行分组以形成超级块。

6、可选地,每个通道的预设性能等于所述存储器的预设性能指标除以所述多个通道的数量。

7、可选地,所述计算单个通道下的管芯组合的最大性能大于或等于单个通道的预设性能时需要包含的最少管芯数量包括:

8、将单个管芯传输数据的传输时间与该数据从所述单个管芯写入存储块的写入时间之和与所述单个通道的预设性能进行乘法计算,将得到的乘积除以单个管芯的总传输数据量得到目标管芯数量;

9、对所述目标管芯数量向上取整,得到所述最少管芯数量。

10、可选地,所述控制器基于所述超级块对所述存储介质进行写操作、读操作或垃圾回收。

11、可选地,根据所述最少管芯数量从每个通道所联通的管芯中并行选择相同数量的管芯以形成超级块。

12、可选地,所述基于所述最少管芯数量对存储块进行分组包括:如果单个通道所联通的管芯数量是所述最少管芯数量的整数倍,则以所述最少管芯数量的多个管芯所包含的同一行存储块数量进行均分。

13、可选地,所述基于所述最少管芯数量对存储块进行分组包括:如果同一通道所联通的管芯数量不是所述最少管芯数量的整数倍,则先所述最少管芯数量的多个管芯所包含的同一行存储块数量进行均分,然后剩余的存储块添加到任一分组中。

14、根据本公开实施例的第二方面,提供一种存储器的控制器,所述存储器包括存储介质和所述控制器,所述存储介质由多个管芯组成,每个管芯被划分为多个平面,每个平面被划为多个存储块,所述控制器通过多个通道联通所述多个管芯,所述控制器执行第一方面所述的方法对存储块进行分组,以形成超级块。

15、根据本公开实施例的第三方面,提供一种存储器,包括上述的控制器和存储介质。

16、本公开实施例提供的对存储块分组的方法,在保证性能无损失的前提下构建较小的超级块,从而能够减小例如垃圾回收的单位时间和系统启动的恢复时间,能够节省系统占用的闪存容量,以及提高闪存芯片的稳定性。

本文档来自技高网...

【技术保护点】

1.一种在存储器中进行存储块分组的方法,所述存储器包括存储介质和控制器,所述存储介质由多个管芯组成,每个管芯被划分为多个平面,每个平面被划为多个存储块,所述控制器通过多个通道联通所述多个管芯,所述方法由所述控制器执行,并且,所述方法包括将所述多个存储块进行分组以形成超级块,所述分组包括:

2.根据权利要求1所述的方法,还包括:如果所述最少管芯数量大于单个通道所联通的管芯数量的一半,则按照每个通道下的管芯数量对存储块进行分组以形成超级块。

3.根据权利要求1所述的方法,其中,每个通道的预设性能等于所述存储器的预设性能指标除以所述多个通道的数量。

4.根据权利要求1所述的方法,所述计算单个通道下的管芯组合的最大性能大于或等于单个通道的预设性能时需要包含的最少管芯数量包括:

5.根据权利要求1所述的方法,其中,所述控制器基于所述超级块对所述存储介质进行写操作、读操作或垃圾回收。

6.根据权利要求1所述的方法,其中,根据所述最少管芯数量从每个通道所联通的管芯中并行选择相同数量的管芯以形成超级块。

7.根据权利要求6所述的方法,其中,所述基于所述最少管芯数量对存储块进行分组包括:如果单个通道所联通的管芯数量是所述最少管芯数量的整数倍,则以所述最少管芯数量的多个管芯所包含的同一行存储块数量进行均分。

8.根据权利要求6所述的方法,其中,所述基于所述最少管芯数量对存储块进行分组包括:如果同一通道所联通的管芯数量不是所述最少管芯数量的整数倍,则先按照所述最少管芯数量的多个管芯所包含的同一行存储块数量进行均分,然后将剩余的存储块添加到任一分组中。

9.一种存储器的控制器,所述存储器包括存储介质和所述控制器,所述存储介质由多个管芯组成,每个管芯被划分为多个平面,每个平面被划为多个存储块,所述控制器通过多个通道联通所述多个管芯,所述控制器执行权利要求1至8中任一项所述的方法对存储块进行分组,以形成超级块。

10.一种存储器,包括权利要求9所述的控制器和存储介质。

...

【技术特征摘要】

1.一种在存储器中进行存储块分组的方法,所述存储器包括存储介质和控制器,所述存储介质由多个管芯组成,每个管芯被划分为多个平面,每个平面被划为多个存储块,所述控制器通过多个通道联通所述多个管芯,所述方法由所述控制器执行,并且,所述方法包括将所述多个存储块进行分组以形成超级块,所述分组包括:

2.根据权利要求1所述的方法,还包括:如果所述最少管芯数量大于单个通道所联通的管芯数量的一半,则按照每个通道下的管芯数量对存储块进行分组以形成超级块。

3.根据权利要求1所述的方法,其中,每个通道的预设性能等于所述存储器的预设性能指标除以所述多个通道的数量。

4.根据权利要求1所述的方法,所述计算单个通道下的管芯组合的最大性能大于或等于单个通道的预设性能时需要包含的最少管芯数量包括:

5.根据权利要求1所述的方法,其中,所述控制器基于所述超级块对所述存储介质进行写操作、读操作或垃圾回收。

6.根据权利要求1所述的方法,其中,根据所述...

【专利技术属性】
技术研发人员:邹左衡盛栋梁王琛銮蔡全
申请(专利权)人:联芸科技杭州股份有限公司
类型:发明
国别省市:

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

1