命令调度方法、闪存控制器、闪存设备及存储介质与流程

文档序号:34379392发布日期:2023-06-08 00:58阅读:27来源:国知局
命令调度方法、闪存控制器、闪存设备及存储介质与流程

本申请涉及存储设备应用领域,特别是涉及一种命令调度方法、闪存控制器、闪存设备及存储介质。


背景技术:

1、闪存设备,例如:固态硬盘(solid state drives,ssd),是一种以半导体闪存(nand flash)作为介质的存储设备,其主要组成部分包括闪存介质、闪存控制器、动态随机存储器(dram)等。闪存控制器的一个重要功能就是作为闪存芯片的驱动器进行存储操作,其主要操作包括擦除、写入和读取。

2、随着闪存的功能越来越复杂,固化的闪存控制器越来越难以满足闪存的灵活控制需求,部分闪存控制器开始增加协处理器(coprocessing center process unit,s-cpu),通过软硬件结合的方式优化闪存操作的灵活性。

3、然而在考虑成本和功耗的情况下,闪存控制器使用的协处理器会尽量少,所以协处理器的算力通常较为紧张,协处理器会尽量去填满硬件先入先出队列(fifo),然而当有新的读命令过来时,需要硬件先入先出队列中的已下发指令完成后才能开始处理新的读指令,这样就会导致读命令的延迟较大。


技术实现思路

1、本申请实施例提供一种命令调度方法、闪存控制器、闪存设备及存储介质,能够在维持总带宽的情况下,使得后下发的读指令优先于早下发的写指令执行,从而减小读命令的延迟。

2、本申请实施例提供以下技术方案:

3、第一方面,本申请实施例提供一种命令调度方法,应用于闪存控制器,闪存控制器包括高优先级先入先出队列和低优先级先入先出队列,其中,低优先级先入先出队列用于存放写命令;

4、命令调度方法包括:

5、获取读命令,并将读命令下发至高优先级先入先出队列,其中,读命令包括至少一个指令;

6、执行高优先级先入先出队列中的每一指令。

7、在一些实施例中,在获取读命令之前,方法包括:

8、确定高优先级先入先出队列与低优先级先入先出队列。

9、在一些实施例中,方法还包括:

10、获取写命令,并将写命令下发至低优先级先入先出队列,其中,写命令包括至少一个指令。

11、在一些实施例中,闪存控制器还包括仲裁模块,仲裁模块用于决策执行先入先出队列中的指令;

12、方法还包括:

13、控制仲裁模块在高优先级先入先出队列与低优先级先入先出队列中选择一个先入先出队列,并执行所选择的先入先出队列中的指令。

14、在一些实施例中,控制仲裁模块在高优先级先入先出队列与低优先级先入先出队列中选择一个先入先出队列,并执行所选择的先入先出队列中的指令,包括:

15、优先执行高优先级先入先出队列中的指令;

16、若在预设时间内未执行低优先级先入先出队列中的指令,则执行低优先级先入先出队列中的一个指令;

17、继续执行高优先级先入先出队列中的指令。

18、在一些实施例中,方法还包括:

19、在高优先级先入先出队列中的所有指令均执行完毕时,执行低优先级先入先出队列中的指令;

20、若高优先级先入先出队列中有新的指令,则继续执行高优先级先入先出队列中的指令。

21、在一些实施例中,每一指令均为原子性指令,每一原子性指令在执行过程中连续执行。

22、在一些实施例中,闪存控制器包括至少一个通道,每一通道均包括一个高优先级先入先出队列与一个低优先级先入先出队列。

23、第二方面,本申请实施例提供一种闪存控制器,应用第一方面的命令调度方法,该闪存控制器包括:

24、高优先级先入先出队列,用于存放读命令,其中,读命令包括至少一个指令;

25、低优先级先入先出队列,用于存放写命令,其中,写命令包括至少一个指令;

26、仲裁模块,用于决策执行先入先出队列中的指令。

27、第三方面,本申请实施例提供一种闪存设备,包括:

28、如第二方面的闪存控制器;

29、至少一个闪存介质,与闪存控制器通信连接。

30、第四方面,本申请实施例还提供了一种非易失性计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,当计算机可执行指令被处理器所执行时,使处理器执行如第一方面的命令调度方法。

31、本申请实施例的有益效果是:区别于现有技术的情况下,本申请实施例提供的一种命令调度方法,应用于闪存控制器,闪存控制器包括高优先级先入先出队列和低优先级先入先出队列,其中,低优先级先入先出队列用于存放写命令,该命令调度方法包括:获取读命令,并将读命令下发至高优先级先入先出队列,其中,读命令包括至少一个指令;执行高优先级先入先出队列中的每一指令。通过低优先级先入先出队列存放写命令,将获取的读命令下发至高优先级先入先出队列,并执行高优先级先入先出队列中的每一指令,本申请能够在维持总带宽的情况下,使得后下发的读命令优先于早下发的写命令执行,从而减小读命令的延迟。



技术特征:

1.一种命令调度方法,其特征在于,所述方法应用于闪存控制器,所述闪存控制器包括高优先级先入先出队列和低优先级先入先出队列,其中,所述低优先级先入先出队列用于存放写命令;

2.根据权利要求1所述的方法,其特征在于,在所述获取读命令之前,所述方法包括:

3.根据权利要求1或2所述的方法,其特征在于,所述闪存控制器还包括仲裁模块,所述仲裁模块用于决策执行先入先出队列中的指令;

4.根据权利要求3所述的方法,其特征在于,所述控制所述仲裁模块在所述高优先级先入先出队列与所述低优先级先入先出队列中选择一个先入先出队列,并执行所选择的先入先出队列中的指令,包括:

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1-2或4-5任一项所述的方法,其特征在于,每一所述指令均为原子性指令,每一所述原子性指令在执行过程中连续执行。

7.根据权利要求1-2或4-5任一项所述的方法,其特征在于,所述闪存控制器包括至少一个通道,每一所述通道均包括一个所述高优先级先入先出队列与一个所述低优先级先入先出队列。

8.一种闪存控制器,其特征在于,应用权利要求1-7任一项所述的方法,所述闪存控制器包括:

9.一种闪存设备,其特征在于,包括:

10.一种非易失性计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被处理器所执行时,使所述处理器执行如权利要求1-7任一项所述的命令调度方法。


技术总结
本申请实施例涉及存储设备应用领域,公开了一种命令调度方法、闪存控制器、闪存设备及存储介质,该方法应用于闪存控制器,闪存控制器包括高优先级先入先出队列和低优先级先入先出队列,其中,低优先级先入先出队列用于存放写命令,该命令调度方法包括:获取读命令,并将读命令下发至高优先级先入先出队列,其中,读命令包括至少一个指令;执行高优先级先入先出队列中的每一指令。通过低优先级先入先出队列存放写命令,将获取的读命令下发至高优先级先入先出队列,并执行高优先级先入先出队列中的每一指令,本申请能够在维持总带宽的情况下,使得后下发的读命令优先于早下发的写命令执行,从而减小读命令的延迟。

技术研发人员:印中举,黄运新,杨亚飞
受保护的技术使用者:深圳大普微电子科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1