闪存数据处理方法、装置、电子设备及可读存储介质与流程

文档序号:35359110发布日期:2023-09-08 01:19阅读:30来源:国知局
闪存数据处理方法、装置、电子设备及可读存储介质与流程

本发明涉及数据处理,特别涉及一种闪存数据处理方法、装置、电子设备及计算机可读存储介质。


背景技术:

1、闪存基本操作包括擦除erase、编程program、读取read三种,每种操作可以根据操作的数据范围不同,扩展成其他操作类型,如multi-plane erase,cache read等。

2、当闪存接收大部分操作命令后,闪存内部需要对命令进行处理,闪存此时将处在忙busy状态,不能再接收操作命令,闪存内部完成操作,恢复到就绪ready状态。不同的操作类型,busy状态持续的时间不同。闪存的这种ready/busy状态,可以通过两种方式获得,一种方式是闪存提供另一个独立的引脚r/b#,与内部的状态对应,输出低表示busy,输出高表示ready;另外一种方式是可通过特定的命令获取,如70h,78h。

3、对于闪存操作的执行是否成功,需要首先等待操作执行完成,即等待闪存退出busy状态;之后还要通过状态值,确认操作是否成功。

4、闪存控制器是根据闪存规范设计实现,能够按照规范要求的接口时序对闪存进行访问的装置。系统中的cpu通过程序控制闪存控制器的行为,通过发送命令查询闪存状态,或者通过引脚r/b#查询闪存状态。

5、当系统中存在多颗闪存时,如果每颗闪存都使用独立的引脚r/b#获取状态,则会消耗较多的引脚资源,导致系统走线复杂。实际应用中,通常使用发送命令的方式查询状态;或者命令查询与引脚r/b#查询结合起来使用。

6、以上状态查询过程中,如果是命令查询方式,由于不同操作的busy状态时间不同,cpu可能需要多次发送查询命令,直到闪存退出busy状态,cpu开销大。


技术实现思路

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、在所述第二命令传输时间不大于所述第一待执行闪存操作任务所属的所述闪存颗粒的就绪等待时间的情况下,对所述第二待执行闪存操作任务进行执行处理。

32、根据本发明第二方面实施例的闪存数据处理装置,应用于闪存应用系统,所述闪存应用系统包括闪存控制器、闪存总线和多个闪存颗粒,多个所述闪存颗粒通过所述闪存总线与所述闪存控制器连接,所述装置包括:

33、第一处理模块,用于获取处于就绪状态的所述闪存颗粒的待执行闪存操作任务;

34、第二处理模块,用于对所述待执行闪存操作任务进行分析处理得到待执行操作类型信息;

35、第三处理模块,用于对所述待执行闪存操作任务进行执行处理;并且根据所述待执行操作类型信息确定闪存操作时间信息;

36、第四处理模块,用于根据所述闪存操作时间信息将所述待执行闪存操作任务对应的状态查询任务添加至预设的状态查询任务队列中;

37、第五处理模块,用于在所述闪存操作时间信息对应的时刻到达的情况下,对所述待执行闪存操作任务对应的所述状态查询任务进行执行处理。

38、根据本发明第三方面实施例的电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的闪存数据处理方法。

39、根据本发明第四方面实施例的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被控制处理器执行时实现如上所述的闪存数据处理方法。

40、根据本发明实施例的闪存数据处理方法,至少具有如下有益效果:在闪存数据处理的过程中,首先获取处于就绪状态的闪存颗粒的待执行闪存操作任务;接着对待执行闪存操作任务进行分析处理就可以得到待执行操作类型信息;然后对待执行闪存操作任务进行执行处理并且根据待执行操作类型信息确定闪存操作时间信息;接着根据闪存操作时间信息将待执行闪存操作任务对应的状态查询任务添加到预设的状态查询任务队列中;最后在闪存操作时间信息对应的时刻到达的情况下,对待执行闪存操作任务对应的状态查询任务进行执行处理。通过上述技术方案,能够实现闪存任务执行调度与状态查询紧密配合,降低闪存状态查询的总线开销,提升任务执行的并行度。

41、本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1