指令调度装置及方法与流程
- 国知局
- 2024-11-06 15:06:42
本发明涉及存储,特别涉及一种指令调度装置及方法。
背景技术:
1、当前很多存储设备,如usb闪存、 sd卡、cf卡、ssd、 emmc嵌入式存储卡、ufs设备等,均以闪存存储介质(尤其是nand型存储介质)作为主要存储介质, 且逐渐成为主流形态,相比于传统磁介质的存储器,性能有了质的飞跃。此类存储设备所应用的传统闪存接口协议(onfi 或toggle),命令/地址与数据使用同一个总线传输,随着闪存接口的数据传输速率的提高,而命令/地址传输速率却没有变化,导致命令/地址传输时间占比增大,进而导致闪存接口的数据传输带宽提升出现了瓶颈。
2、为了解决传统闪存接口数据传输带宽提升的问题,新的闪存接口协议(例如,separate command address,简称sca)协议中将命令/地址和数据传输分开,放到两个不同的传输总线,即ca指令放到命令与地址(command and address,简称ca)总线上传输,dq指令(即要写入或从闪存存储介质读取的数据)放到数据(data,也叫dq)总线上传输。
3、参考图1所示,ca总线11传输的ca指令包括ca指令a至ca指令d,dq总线12传输的数据为data1和data2(data1和data2分别对应一个dq指令),依据sca协议,在数据data1传输之前,通过ca总线11发送了数据传输开始标记sce,在data1传输结束之后,通过ca总线11发送了数据传输结束标记sct,对于数据data2也作同样处理。然而,从图上可以看出,ca指令与dq指令在实际执行中并不能做到完美的并行执行,这样会浪费一部份dq总线的带宽利用率。
技术实现思路
1、有鉴于此,本公开实施例提供一种指令调度装置及方法,以提高dq总线的带宽利用率。
2、根据本公开实施例的第一方面,提供一种指令调度装置,应用于存储设备的控制器中,所述控制器通过第一通道分别与多个闪存芯片耦接,所述第一通道包括ca总线和dq总线,所述指令调度装置包括:
3、指令缓存单元,通过多个指令队列分别缓存适配于所述多个闪存芯片的各种指令;
4、剩余时间计算单元,用于计算当前通过所述数据总线进行数据传输的dq指令的剩余执行时间;
5、仲裁单元,用于从所述多个指令队列分别取出指令,将其中的能够与所述dq指令并行的一个或多个ca指令各自的预计执行时间和所述剩余执行时间相比较,以确定经由所述ca总线优先执行的一个目标ca指令。
6、可选地,所述仲裁单元还将将其中的能够与所述dq指令并行的一个或多个ca指令各自的预计执行时间和所述剩余执行时间加上所述额外补偿时间相比较,以确定经由所述ca总线优先执行的一个目标ca指令。
7、可选地,所述仲裁单元在存在多个ca指令的预计执行时间均小于所述剩余执行时间,或者存在多个ca指令的预计执行时间均小于所述剩余执行时间加上所述额外补偿时间的情况下,根据预定的优先级逻辑选择优先级最高的ca指令作为所述目标ca指令。
8、可选地,所述仲裁单元根据当前场景是否满足一定条件决定是否将所述剩余执行时间加上额外补偿时间来进行比较。
9、可选地,所述剩余时间计算单元预存补偿时间表,通过查询所述补偿时间表确定所述额外补偿时间。
10、可选地,所述额外补偿时间针对各种dq指令分别定义;和/或,所述预计执行时间针对各种ca指令分别定义。
11、可选地,所述剩余时间计算单元通过监测当前进行数据传输的dq指令的已传输数据来计算得到所述剩余执行时间。
12、根据本公开实施例的第二方面,提供一种存储设备的控制器,包括上文所述的指令调度装置。
13、根据本公开实施例的第三方面,提供一种存储设备,包括:耦接的控制器和闪存存储介质,所述控制器上文所述的控制器。
14、根据本公开实施例的第四方面,提供一种指令调度方法,用于存储设备的控制器,所述控制器通过第一通道分别与多个闪存芯片耦接,所述第一通道包括ca总线和dq总线,所述指令调度方法包括:
15、从多个指令队列分别取出多个指令,所述多个指令队列分别对应缓存适配于所述第一通道下的多个闪存芯片的指令;
16、获取当前通过所述数据总线进行数据传输的dq指令的剩余执行时间;
17、将所述多个指令中的能够与所述dq指令并行的一个或多个ca指令各自的预计执行时间和所述剩余执行时间加上额外补偿时间相比较,以确定经由所述ca总线优先执行的一个目标ca指令。
18、本公开实施例提供的指令调度方法和装置通过优化sca接口下的ca指令与dq指令并行执行的行为来提高ca指令与dq指令并行执行的概率,从而使得dq总线获得更高的利用率和更高的数据带宽。
技术特征:1.一种指令调度装置,应用于存储设备的控制器中,所述控制器通过第一通道分别与多个闪存芯片耦接,所述第一通道包括ca总线和dq总线,所述指令调度装置包括:
2.根据权利要求1所述的指令调度装置,其中,所述仲裁单元还将其中的能够与所述dq指令并行的一个或多个ca指令各自的预计执行时间和所述剩余执行时间加上额外补偿时间相比较,以确定经由所述ca总线优先执行的一个目标ca指令。
3.根据权利要求2所述的指令调度装置,其中,所述仲裁单元在存在多个ca指令的预计执行时间均小于所述剩余执行时间,或者存在多个ca指令的预计执行时间均小于所述剩余执行时间加上所述额外补偿时间的情况下,根据预定的优先级逻辑选择优先级最高的ca指令作为所述目标ca指令。
4.根据权利要求2所述的指令调度装置,其中,所述仲裁单元根据当前场景是否满足一定条件决定是否将所述剩余执行时间加上额外补偿时间来进行比较。
5.根据权利要求2所述的指令调度装置,其中,所述剩余时间计算单元预存补偿时间表,通过查询所述补偿时间表确定所述额外补偿时间。
6.根据权利要求2所述的指令调度装置,其中,所述额外补偿时间针对各种dq指令分别定义;和/或,所述预计执行时间针对各种ca指令分别定义。
7.根据权利要求1所述的指令调度装置,其中,所述剩余时间计算单元通过监测当前进行数据传输的dq指令的已传输数据来计算得到所述剩余执行时间。
8.一种存储设备的控制器,包括如权利要求1至7任一项所述的指令调度装置。
9.一种存储设备,包括:耦接的控制器和闪存存储介质,所述控制器为如权利要求8所述的控制器。
10.一种指令调度方法,用于存储设备的控制器,所述控制器通过第一通道分别与多个闪存芯片耦接,所述第一通道包括ca总线和dq总线,所述指令调度方法包括:
技术总结本申请公开一种指令调度装置及方法。该指令调度装置用于存储设备的控制器中,控制器通过第一通道分别与多个闪存芯片耦接,该指令调度装置包括:指令缓存单元,通过多个指令队列分别缓存适配于多个闪存芯片的各种指令;剩余时间计算单元,用于计算当前通过第一通道的数据总线进行数据传输的DQ指令的剩余执行时间;仲裁单元,用于从多个指令队列分别取出指令,将其中的一个或多个CA指令各自的预计执行时间和剩余执行时间相比较,以确定通过由CA执行单元优先执行的一个CA指令。该装置通过优化SCA接口下的CA指令与DQ指令并行执行的行为来提高CA指令与DQ指令并行执行的概率,从而使得DQ总线获得更高的利用率和更高的数据带宽。技术研发人员:王英,胡民,杨志豪,张同,朱海奇,肖自铧受保护的技术使用者:联芸科技(杭州)股份有限公司技术研发日:技术公布日:2024/11/4本文地址:https://www.jishuxx.com/zhuanli/20241106/325367.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。