操作固态驱动器的方法和固态驱动器与流程

文档序号:37556852发布日期:2024-04-09 17:48阅读:13来源:国知局
操作固态驱动器的方法和固态驱动器与流程

本公开涉及固态驱动器(ssd),更具体地涉及用于通过将主机和后台输入/输出(i/o)操作流线化到不同裸片来优化ssd中的服务质量(qos)的方法和系统。


背景技术:

1、近年来,在需要高数据访问速度的各种应用中,已经广泛采用了基于nand闪存的ssd。ssd已经将传统的读取延迟从多个毫秒降低到小于100微秒。由于ssd的速度增加,传统的硬盘驱动器(hdd)接口不再适合于ssd应用。

2、ssd是使用集成电路组件来持久地存储数据的固态存储装置,并且可使用闪存。与机电驱动器相比,ssd通常更抵抗物理冲击,更安静,并且具有更快的访问时间和更低的延迟。此外,ssd的架构包括各种部分和子部分。例如,架构可包括多个通道,其中,多个通道中的每个包括多个存储体或芯片,多个存储体中的每个包括多个平面,多个平面中的每个包括多个裸片,多个裸片中的每个包括多个块,并且多个块中的每个包括多个页。

3、ssd可包括nand闪存。闪存不具有覆写的特性,因此数据需要在新数据可被写入同一块之前被擦除。由于该特性,当存储在闪存块中的数据被改变时,新数据被写入新的闪存块。为了利用较旧的块,可执行垃圾收集(gc)操作。垃圾收集工作是通过将块的有效数据复制到新块并擦除现有块来确保闪存中的可用容量的技术。垃圾收集在ssd中创建空间。然而,当垃圾收集写入操作针对ssd的裸片正在进行并且新的主机写入操作针对同一裸片被同时调度时,在执行新的主机写入操作时发生延迟,直到垃圾收集写入操作完成为止。这是由于当主机操作和垃圾收集写入操作同时发生在ssd的同一裸片中时发生的冲突。操作中的任一个需要等待直到另一个完成为止。因此,主机写入操作与垃圾收集写入操作之间的这样的冲突导致ssd中的延迟问题,这进而影响服务质量(qos)参数。此外,空闲块列表中的空闲超块(free super block)呈序列的方式。在一些示例实施例中,超块可以是包括跨特定裸片层级的所有平面和所有存储体的特定层级的所有块的块。例如,如果存在各自包括五十个块(即块0、块1、块2……块149)的三个裸片(即裸片0、裸片1和裸片2),则裸片0的空闲超块将被顺序分配,直到裸片0的所有块耗尽为止。裸片0中的所有空闲超块一耗尽,则空闲超块的分配就利用剩余裸片(例如,裸片1和裸片2)中的空闲超块顺序继续。通过使用空闲超块的这种类型的布置,存在高概率的是:同一裸片上的主机写入操作与垃圾收集写入操作之间将存在冲突,导致延迟问题,这进而影响qos参数。因此,存在对最大程度地避免主机写入操作与垃圾收集写入操作之间的冲突的需要,以便在ssd中提供优化的qos。


技术实现思路

1、根据示例实施例的一个方面,提供了一种操作固态驱动器(ssd)的方法。所述ssd包括多个通道,所述多个通道中的每个包括多个存储体,所述多个存储体中的每个包括多个平面,所述多个平面中的每个包括多个裸片,所述多个裸片中的每个包括多个块,并且所述多个块中的每个包括多个页。所述方法包括:通过设置在所述ssd中的控制器,生成指示多个空闲超块的空闲块列表,其中,所述多个空闲超块中的邻近的空闲超块对应于所述多个裸片中的不同裸片;以及通过控制器,根据由空闲块列表指示的所述多个空闲超块的序列,针对主机写入操作和垃圾收集写入操作中的每个分配由空闲块列表指示的所述多个空闲超块之中的空闲超块。

2、根据示例实施例的一个方面,一种ssd包括:非易失性存储器,包括多个通道,其中,所述多个通道中的每个包括多个存储体,所述多个存储体中的每个包括多个平面,所述多个平面中的每个包括多个裸片,所述多个裸片中的每个包括多个块,并且所述多个块中的每个包括多个页;控制器;以及存储器,通信地结合到控制器,其中,存储器存储指令,所述指令在被执行时被配置为控制控制器:生成指示多个空闲超块的空闲块列表,其中,所述多个空闲超块中的邻近的空闲超块对应于所述多个裸片中的不同裸片;以及根据由空闲块列表指示的所述多个空闲超块的序列,针对主机写入操作和垃圾收集写入操作中的每个分配由空闲块列表指示的所述多个空闲超块之中的空闲超块。

3、根据示例实施例的一个方面,一种非暂时性计算机可读存储介质存储指令,所述指令在由固态驱动器(ssd)的处理器执行时使所述ssd:生成指示多个空闲超块的空闲块列表,其中,所述多个空闲超块中的邻近的空闲超块对应于设置在所述ssd中的多个裸片中的不同裸片;以及根据由空闲块列表指示的所述多个空闲超块的序列,针对主机写入操作和垃圾收集写入操作中的每个分配由空闲块列表指示的所述多个空闲超块之中的空闲超块。



技术特征:

1.一种操作固态驱动器的方法,其中,所述固态驱动器包括多个通道,所述多个通道中的每个包括多个存储体,所述多个存储体中的每个包括多个平面,所述多个平面中的每个包括多个裸片,所述多个裸片中的每个包括多个块,并且所述多个块中的每个包括多个页,所述方法包括:

2.如权利要求1所述的方法,其中,通过执行垃圾收集读取操作,所述多个空闲超块中的每个被附加到空闲块列表,并且

3.如权利要求1所述的方法,还包括:初始化所述固态驱动器,

4.如权利要求1所述的方法,还包括:激活所述固态驱动器的恢复模式,

5.如权利要求1至4中的任一项所述的方法,其中,所述多个空闲超块中的每个分别包括:设置在跨所述多个存储体的至少一个平面的共同层级处的裸片。

6.如权利要求5所述的方法,其中,空闲块列表顺序地指示:与第一裸片对应的第一空闲超块和与第二裸片对应的第二空闲超块,其中,第一空闲超块与第二空闲超块邻近。

7.如权利要求5所述的方法,其中,空闲块列表顺序地指示:与第一裸片对应的第一空闲超块和与第二裸片对应的第二空闲超块,其中,第一空闲超块与第二空闲超块不邻近。

8.如权利要求1所述的方法,其中,所述多个裸片包括第一裸片和第二裸片,并且

9.一种固态驱动器,包括:

10.如权利要求9所述的固态驱动器,其中,所述指令还被配置为控制控制器:

11.如权利要求9所述的固态驱动器,其中,所述指令还被配置为控制控制器:初始化所述固态驱动器并且基于所述固态驱动器被初始化而生成空闲块列表。

12.如权利要求9所述的固态驱动器,其中,所述指令还被配置为控制控制器:激活所述固态驱动器的恢复模式,并且基于恢复模式被激活而生成空闲块列表。

13.如权利要求9至12中的任一项所述的固态驱动器,其中,所述多个空闲超块中的每个分别包括:设置在跨所述多个存储体的至少一个平面的公共层级处的裸片。

14.如权利要求13所述的固态驱动器,其中,空闲块列表顺序地指示:与第一裸片对应的空闲第一超块和与第二裸片对应的第二空闲超块,其中,第一空闲超块与第二空闲超块邻近。

15.如权利要求13所述的固态驱动器,其中,空闲块列表顺序地指示:与第一裸片对应的第一空闲超块和与第二裸片对应的第二空闲超块,其中,第一空闲超块与第二空闲超块不邻近。

16.如权利要求9所述的固态驱动器,其中,所述多个裸片包括第一裸片和第二裸片,并且

17.一种存储指令的非暂时性计算机可读存储介质,所述指令在由固态驱动器的处理器执行时使所述固态驱动器:

18.如权利要求17所述的非暂时性计算机可读存储介质,其中,所述指令在由处理器执行时还被配置为使所述固态驱动器:

19.如权利要求17或18所述的非暂时性计算机可读存储介质,其中,所述指令在由处理器执行时还被配置为使所述固态驱动器:

20.如权利要求17或18所述的非暂时性计算机可读存储介质,其中,所述指令在由处理器执行时还被配置为使所述固态驱动器:


技术总结
提供了操作固态驱动器的方法和固态驱动器。所述方法包括:通过设置在所述固态驱动器中的控制器,生成指示多个空闲超块的空闲块列表,其中,所述多个空闲超块中的邻近的空闲超块对应于设置在所述固态驱动器中的多个裸片中的不同裸片;以及通过控制器,根据由空闲块列表指示的所述多个空闲超块的序列,针对主机写入操作和垃圾收集写入操作中的每个分配由空闲块列表指示的所述多个空闲超块之中的空闲超块。

技术研发人员:休曼·普拉卡什·巴拉科瑞斯南,阿南莎·夏尔马,图沙尔·图卡拉姆·帕蒂尔,拉克施·巴拉科瑞斯南
受保护的技术使用者:三星电子株式会社
技术研发日:
技术公布日:2024/4/8
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1