System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 预读取的确定方法和装置、存储介质及电子设备制造方法及图纸_技高网

预读取的确定方法和装置、存储介质及电子设备制造方法及图纸

技术编号:40307340 阅读:5 留言:0更新日期:2024-02-07 20:51
本申请实施例提供了一种预读取的确定方法和装置、存储介质及电子设备,其中,该预读取的确定方法包括:在预测读取功能开启的情况下,确定接收到的第一读取指令所携带的第一指令信息,其中,所述第一指令信息包括:第一读取指令对应的第一标志位、第一读取指令对应的第一读取地址,所述第一标志位用于指示所述第一读取指令的第一指令类别;根据所述第一读取地址确定预测缓存区的第一命中结果,其中,所述预测缓存区用于存放历史预测读取指令对应的历史读取地址,所述第一命中结果用于指示所述历史读取地址中是否存有所述第一读取地址;根据所述第一指令类别和所述第一命中结果确定是否允许后端继续使用预测读取功能。

【技术实现步骤摘要】

本申请实施例涉及存储,具体而言,涉及一种预读取的确定方法和装置、存储介质及电子设备


技术介绍

1、近年来固态硬盘(solid state drive,简称为ssd)逐渐成为计算机领域的热门话题。随着科技的不断进步,传统机械硬盘已经逐渐被ssd所取代,成为现代存储解决方案的主流之一。当固态硬盘读nand数据时,nand收到读命令后,需要一个微秒(us)级别的数据准备时间,用于将数据从nand中拿出并传输到缓存中。对于固态硬盘,有很多用到低压力顺序读的场景,该场景下,为了降低时延,提升性能,会用到预读功能,即每笔host读会带一笔预测读,将nand中的数据取出存到buffer中,host并不感知这笔预测读,下一笔host读的时候会优先判断是否命中上一笔预读,若命中,直接将buffer中的数据返回,节省了数据从nand到buffer的传输时间,从而降低读时延,提升性能。

2、具体地,相关技术中,存在如下方案。方案1,预读数据从nand取出后先存入后端管理的buffer,当buffer不足时,返回内存不足的提示并启动集中清理。该方案的缺陷是内存不足启动清理时可能会将未取走的预读数据也清理掉。因为ftl(闪存转换层,flashtranslation layer)模块有多个核,并不能严格保证host读-预读-host读-预读的下发顺序,实测发现会有预读连续下发的情况发生,所以buffer不足时可能有多个预读数据还没有被取走就被清理掉了,这些预读就会白白消耗了闪存的使用寿命,并且会导致预读命中率下降,降低了预读功能,以及减小读时延的效果。

3、方案2,每个plane管理4个buffer,对应4个4k大小的数据,该方案的缺陷是会发生大量的数据替换,因为每个plane内有多个page,每个page都有4个4k数据,该plane内的所有page的第一个4k大小的数据都要存入第一个buffer,第二个4k大小的数据都要存入第二个buffer。另外,现有方案对于后端模块对预读命令的处理也没有给出合理方案。

4、针对现有技术中,在执行硬盘预读操作时,若预测缓存区未及时清理,会触发预测缓存区集中清理,导致尚未读取的数据也被清除的问题,尚未得到有效解决。


技术实现思路

1、本申请实施例提供了一种预读取的确定方法和装置、存储介质及电子设备,以至少解决现有技术中在执行硬盘预读操作时,若缓存区未及时清理,会触发缓存区集中清理,导致尚未读取的数据也被清除的问题。

2、根据本申请的一个实施例,提供了一种预读取的确定方法,包括:在预测读取功能开启的情况下,确定接收到的第一读取指令所携带的第一指令信息,其中,所述第一指令信息包括:第一读取指令对应的第一标志位、第一读取指令对应的第一读取地址,所述第一标志位用于指示所述第一读取指令的第一指令类别;根据所述第一读取地址确定预测缓存区的第一命中结果,其中,所述预测缓存区用于存放历史预测读取指令对应的历史读取地址,所述第一命中结果用于指示所述历史读取地址中是否存有所述第一读取地址;根据所述第一指令类别和所述第一命中结果确定是否允许后端继续使用预测读取功能。

3、在一个示例性实施例中,根据所述指令类别和所述命中结果确定是否允许后端继续使用预测读取功能,包括: 在所述第一指令类别为主机读取指令,且所述命中结果指示所述历史读取地址中存有所述第一读取地址的情况下,提取所述第一读取地址对应的第一读取数据 ;在使用所述第一读取数据响应所述主机读取指令的情况下, 确定使用所述历史预测读取指令进行预测成功,并生成所述预测成功对应的第一预测信息;将所述第一读取地址和所述第一读取数据从所述预测缓存区移除,并记录第一移除信息;根据所述第一预测信息和所述第一移除信息确定是否允许后端继续使用预测读取功能。

4、在一个示例性实施例中,根据所述指令类别和所述命中结果确定是否允许后端继续使用预测读取功能,包括:在所述第一指令类别为主机读取指令且所述第一命中结果指示所述历史读取地址中未存有所述第一读取地址的情况下,确定历史预测读取指令预测失败,记录第二预测信息;获取第一读取指令对应的第一读取地址,根据所述第一读取地址从闪存提取第一读取数据以响应所述主机读取指令;根据所述第二预测信息确定是否允许后端继续使用预测读取功能。

5、在一个示例性实施例中,根据所述第二预测信息确定是否允许后端继续使用预测读取功能,包括:确定所述第二预测信息中记录的所述历史预测读取指令预测失败的失败次数;在所述失败次数大于第一阈值的情况下,确定不允许后端继续使用预测读取功能;在所述失败次数小于等于第一阈值的情况下,允许后端继续使用预测读取功能。

6、在一个示例性实施例中,根据所述指令类别和所述命中结果确定是否允许后端继续使用预测读取功能,包括:在所述第一指令类别为预测读取指令且所述第一命中结果指示所述历史读取地址中存有所述第一读取地址的情况下,确定所述历史预测读取指令为未命中指令,记录所述未命中指令对应的未命中次数; 根据所述未命中次数确定是否允许后端继续使用预测读取功能。

7、在一个示例性实施例中,根据所述未命中次数确定是否允许后端继续使用预测读取功能,包括:在所述未命中次数大于第二阈值的情况下,确定所述历史预测读取指令为无效预测读取指令,不允许后端继续使用预测读取功能;在所述未命中次数小于或等于第二阈值的情况下,确定所述历史预测读取指令不为无效预测读取指令,允许后端继续使用预测读取功能。

8、在一个示例性实施例中,根据所述指令类别和所述命中结果确定是否允许后端继续使用预测读取功能,包括:在所述第一指令类别为预测读取指令且所述命中结果指示所述历史读取地址中未存有所述第一读取地址的情况下,确定所述预测读取指令为新预测读取指令;在确定所述新预测读取指令对应的第二读取地址的情况下,根据所述第二读取地址从闪存中获取所述新预测读取指令对应的第二读取数据;将所述第二读取数据和所述第二读取地址记录在所述预测缓存区;确定所述预测缓存区反馈的读取信息,其中,所述读取信息用于指示所述第二读取数据和所述第二读取地址记录是否被主机读取指令读取;根据所述读取信息确定是否允许后端继续使用预测读取功能。

9、在一个示例性实施例中,根据所述指令类别和所述命中结果确定是否允许后端继续使用预测读取功能之后,所述方法还包括:在根据所述指令类别和所述命中结果确定不允许所述后端继续使用预测读取功能的情况下,确定接收到的第二读取指令所携带的第二指令信息,其中,所述第二指令信息包括:第二读取指令对应的第二标志位、第二读取指令对应的第三读取地址,所述第二标志位用于指示所述第二读取指令的第二指令类别;根据所述第三读取地址确定所述预测缓存区的第二命中结果,其中,所述第二命中结果用于指示所述历史读取地址中是否存有所述第三读取地址;根据所述第二指令类别和所述第二命中结果确定是否允许后端再次启用预测读取功能。

10、在一个示例性实施例中,根据所述第二指令类别和所述第二命中结果确定是否允本文档来自技高网...

【技术保护点】

1.一种预读取的确定方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,根据所述第一指令类别和所述第一命中结果确定是否允许后端继续使用预测读取功能,包括:

3.根据权利要求1所述的方法,其特征在于,根据所述第一指令类别和所述第一命中结果确定是否允许后端继续使用预测读取功能,包括:

4.根据权利要求3所述的方法,其特征在于,根据所述第二预测信息确定是否允许后端继续使用预测读取功能,包括:

5.根据权利要求1所述的方法,其特征在于,根据所述第一指令类别和所述第一命中结果确定是否允许后端继续使用预测读取功能,包括:

6.根据权利要求5所述的方法,其特征在于,根据所述未命中次数确定是否允许后端继续使用预测读取功能,包括:

7.根据权利要求1所述的方法,其特征在于,根据所述指令类别和所述命中结果确定是否允许后端继续使用预测读取功能,包括:

8.根据权利要求1所述的方法,其特征在于,根据所述指令类别和所述命中结果确定是否允许后端继续使用预测读取功能之后,所述方法还包括:

9.根据权利要求8所述的方法,其特征在于,根据所述第二指令类别和所述第二命中结果确定是否允许后端再次启用预测读取功能,包括:

10.根据权利要求8所述的方法,其特征在于,根据所述第二指令类别和所述第二命中结果确定是否允许后端再次启用预测读取功能,包括:

11.根据权利要求8所述的方法,其特征在于,根据所述第二指令类别和所述第二命中结果确定是否允许后端再次启用预测读取功能,包括:

12.根据权利要求11所述的方法,其特征在于,根据所述未命中次数确定是否允许后端再次启用预测读取功能,包括:

13.根据权利要求8所述的方法,其特征在于,根据所述第二指令类别和所述第二命中结果确定是否允许后端再次启用预测读取功能,包括:

14.根据权利要求1所述的方法,其特征在于,根据所述第一指令类别和所述第一命中结果确定是否允许后端继续使用预测读取功能之后,所述方法还包括:

15.一种预读取的确定装置,其特征在于,包括:

16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至14任一项中所述的方法的步骤。

17.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至14任一项中所述的方法的步骤。

...

【技术特征摘要】

1.一种预读取的确定方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,根据所述第一指令类别和所述第一命中结果确定是否允许后端继续使用预测读取功能,包括:

3.根据权利要求1所述的方法,其特征在于,根据所述第一指令类别和所述第一命中结果确定是否允许后端继续使用预测读取功能,包括:

4.根据权利要求3所述的方法,其特征在于,根据所述第二预测信息确定是否允许后端继续使用预测读取功能,包括:

5.根据权利要求1所述的方法,其特征在于,根据所述第一指令类别和所述第一命中结果确定是否允许后端继续使用预测读取功能,包括:

6.根据权利要求5所述的方法,其特征在于,根据所述未命中次数确定是否允许后端继续使用预测读取功能,包括:

7.根据权利要求1所述的方法,其特征在于,根据所述指令类别和所述命中结果确定是否允许后端继续使用预测读取功能,包括:

8.根据权利要求1所述的方法,其特征在于,根据所述指令类别和所述命中结果确定是否允许后端继续使用预测读取功能之后,所述方法还包括:

9.根据权利要求8所述的方法,其特征在于,根据所述第二指令类别和所述第二命中结果确定是否允许后端再次启用预测读取功能,包括:

1...

【专利技术属性】
技术研发人员:方超李栋苏军
申请(专利权)人:苏州元脑智能科技有限公司
类型:发明
国别省市:

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

1