闪存状态查询方法及闪存控制器技术

技术编号:39300714 阅读:8 留言:0更新日期:2023-11-12 15:52
本申请公开了一种闪存状态查询方法及闪存控制器,涉及存储技术领域,包括:通过操作状态查询模块判断是否满足闪存操作状态查询请求的条件;当满足闪存操作状态查询请求的条件,操作状态查询模块通过中断方式向处理器发送判断结果;根据判断结果,通过处理器执行缓存中的程序,以通过总线与寄存器模块设置闪存操作状态查询请求,并通过总线时序模块发送闪存操作状态查询请求至对应的闪存;根据总线时序模块接收闪存发送的状态值;根据停止策略,当操作状态查询模块判断状态值满足第一停止条件,且当闪存完成预设的操作命令,通过中断方式向处理器发送操作成功的结果。本申请能够降低CPU的开销。降低CPU的开销。降低CPU的开销。

【技术实现步骤摘要】
闪存状态查询方法及闪存控制器


[0001]本申请涉及存储
,尤其涉及一种闪存状态查询方法及闪存控制器。

技术介绍

[0002]相关技术中,闪存基本操作包括擦除erase、编程program、读取read三种,每种操作可以根据操作的数据范围不同,扩展成其他操作类型,如multi

plane erase,cache read等。当闪存接收大部分操作命令后,闪存内部需要对命令进行处理,闪存此时将处在忙busy状态,不能再接收操作命令,闪存内部完成操作,恢复到就绪ready状态。不同的操作类型,busy状态持续的时间不同。闪存的这种ready/busy状态,通常可以通过特定的命令获取,如70h,78h。
[0003]闪存控制器是根据闪存规范设计实现,能够按照规范要求的接口时序对闪存进行访问的装置。系统中的中央处理器(CPU)可以通过程序控制闪存控制器的行为,通过发送命令查询闪存状态查询闪存状态。
[0004]当系统中存在多颗闪存时,如果军通过CPU进行控制处理,会导致系统复杂化加剧,也就是说,通过命令查询的方式,由于不同操作的busy状态时间不同,CPU可能需要多次发送查询命令,直到闪存退出busy状态,CPU开销大。因此,如何在闪存状态查询时降低CPU的开销,成为了亟待解决的技术问题。

技术实现思路

[0005]本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出了一种闪存状态查询方法及闪存控制器,能够在闪存状态查询时降低CPU的开销。
[0006]根据本申请的第一方面实施例的闪存状态查询方法,应用于闪存控制器,所述闪存控制器包括:
[0007]缓存;
[0008]处理器;
[0009]总线与寄存器模块;
[0010]操作状态查询模块;
[0011]总线时序模块;
[0012]所述闪存状态查询方法包括:
[0013]进行初始化配置;
[0014]根据初始化配置后得到的状态查询命令发送策略,通过所述操作状态查询模块判断是否满足闪存操作状态查询请求的条件;
[0015]当满足闪存操作状态查询请求的条件,所述操作状态查询模块通过中断方式向所述处理器发送判断结果;
[0016]根据所述处理器获取的所述判断结果,通过所述处理器执行所述缓存中的程序,以通过所述总线与寄存器模块设置闪存操作状态查询请求,并通过所述总线时序模块发送
闪存操作状态查询请求至对应的闪存;
[0017]根据所述总线时序模块接收所述闪存发送的状态值;
[0018]根据初始化配置后得到的停止策略,通过所述操作状态查询模块判断所述状态值是否满足停止策略中的第一停止条件;
[0019]当满足停止策略中的第一停止条件,通过所述操作状态查询模块判断所述闪存是否完成预设的操作命令;
[0020]当完成预设的操作命令,所述操作状态查询模块通过中断方式向所述处理器发送操作成功的结果。
[0021]根据本申请实施例的闪存状态查询方法,至少具有如下有益效果:第一步,进行初始化配置;第二步,根据初始化配置后得到的状态查询命令发送策略,通过操作状态查询模块判断是否满足闪存操作状态查询请求的条件;第三步,当满足闪存操作状态查询请求的条件,操作状态查询模块通过中断方式向处理器发送判断结果;第四步,根据处理器获取的判断结果,通过处理器执行缓存中的程序,以通过总线与寄存器模块设置闪存操作状态查询请求,并通过总线时序模块发送闪存操作状态查询请求至对应的闪存;第五步,根据总线时序模块接收闪存发送的状态值;第六步,根据初始化配置后得到的停止策略,通过操作状态查询模块判断状态值是否满足停止策略中的第一停止条件;第七步,当满足停止策略中的第一停止条件,通过操作状态查询模块判断闪存是否完成预设的操作命令;第八步,当完成预设的操作命令,操作状态查询模块通过中断方式向处理器发送操作成功的结果。本申请的闪存状态查询方法,闪存操作状态查询请求均通过处理器执行对应的程序来完成,同时,通过操作状态查询模块来进行闪存不同状态的查询判断,并进行相应处理,无需CPU多次发送查询命令,降低了CPU的开销。因此,本申请的闪存状态查询方法,能够在闪存状态查询时降低CPU的开销。
[0022]根据本申请的一些实施例,所述进行初始化配置,包括:
[0023]配置所述处理器执行程序设置闪存操作状态查询请求中状态查询命令的内容,其中,所述状态查询命令包括命令码、命令发送地址、接收状态数据长度;
[0024]配置所述处理器执行程序设置状态查询命令的时间参数,其中,所述时间参数包括初次命令发送时间点、重新发送状态查询命令的时间间隔;
[0025]配置所述停止策略;
[0026]配置操作成功判定条件,其中,所述操作成功判定条件为操作成功标志位有效。
[0027]根据本申请的一些实施例,所述闪存控制器还包括引脚检测模块;
[0028]所述通过所述操作状态查询模块判断是否满足闪存操作状态查询请求的条件,包括:
[0029]通过所述引脚检测模块获取R/B#引脚的状态,并通过所述操作状态查询模块判断R/B#引脚的状态是否满足闪存操作状态查询请求的条件。
[0030]根据本申请的一些实施例,在所述根据所述处理器获取的所述判断结果,通过所述处理器执行所述缓存中的程序之前,所述闪存状态查询方法还包括:
[0031]当未满足闪存操作状态查询请求的条件,等待R/B#引脚拉至高电平;
[0032]当等待时间满足停止策略中的第三停止条件,所述操作状态查询模块通过中断方式向所述处理器发送操作失败的结果,其中,所述第三停止条件为等待R/B#引脚拉至高电
平的时间超过第一时间阀值。
[0033]根据本申请的一些实施例,所述闪存状态查询方法还包括:
[0034]当等待时间未满足停止策略中的第三停止条件,重新发送状态查询命令。
[0035]根据本申请的一些实施例,R/B#引脚的状态包括低电平、高电平;
[0036]所述当满足闪存操作状态查询请求的条件,包括:
[0037]当R/B#引脚的状态为高电平,且符合状态查询命令的初次命令发送时间点,则满足闪存操作状态查询请求的条件;
[0038]或,
[0039]当符合状态查询命令的初次命令发送时间点,则满足闪存操作状态查询请求的条件。
[0040]根据本申请的一些实施例,所述当满足停止策略中的第一停止条件,包括:
[0041]当满足准备标志位有效,则满足停止策略中的第一停止条件。
[0042]根据本申请的一些实施例,所述闪存状态查询方法还包括:
[0043]当未满足停止策略中的第一停止条件,判断是否满足停止策略中的第二停止条件,其中,所述第二停止条件为重复发送状态查询命令的次数阈值或第二时间阈值;
[0044]当满足停止策略中的第二停止条件,所述操作状态查询模块通过中断方式本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.闪存状态查询方法,其特征在于,应用于闪存控制器,所述闪存控制器包括:缓存;处理器;总线与寄存器模块;操作状态查询模块;总线时序模块;所述闪存状态查询方法包括:进行初始化配置;根据初始化配置后得到的状态查询命令发送策略,通过所述操作状态查询模块判断是否满足闪存操作状态查询请求的条件;当满足闪存操作状态查询请求的条件,所述操作状态查询模块通过中断方式向所述处理器发送判断结果;根据所述处理器获取的所述判断结果,通过所述处理器执行所述缓存中的程序,以通过所述总线与寄存器模块设置闪存操作状态查询请求,并通过所述总线时序模块发送闪存操作状态查询请求至对应的闪存;根据所述总线时序模块接收所述闪存发送的状态值;根据初始化配置后得到的停止策略,通过所述操作状态查询模块判断所述状态值是否满足停止策略中的第一停止条件;当满足停止策略中的第一停止条件,通过所述操作状态查询模块判断所述闪存是否完成预设的操作命令;当完成预设的操作命令,所述操作状态查询模块通过中断方式向所述处理器发送操作成功的结果。2.根据权利要求1所述的闪存状态查询方法,其特征在于,所述进行初始化配置,包括:配置所述处理器执行程序设置闪存操作状态查询请求中状态查询命令的内容,其中,所述状态查询命令包括命令码、命令发送地址、接收状态数据长度;配置所述处理器执行程序设置状态查询命令的时间参数,其中,所述时间参数包括初次命令发送时间点、重新发送状态查询命令的时间间隔;配置所述停止策略;配置操作成功判定条件,其中,所述操作成功判定条件为操作成功标志位有效。3.根据权利要求1所述的闪存状态查询方法,其特征在于,所述闪存控制器还包括引脚检测模块;所述通过所述操作状态查询模块判断是否满足闪存操作状态查询请求的条件,包括:通过所述引脚检测模块获取R/B#引脚的状态,并通过所述操作状态查询模块判断R/B#引脚的状态是否满足闪存操作状态查询请求的条件。4.根据权利要求3所述的闪存状态查询方法,其特征在于,在所述根据所述处理器获取的所述判断结果,通过所述处理器执行所述缓存中的程序之前,所述闪存状态查询方法还包括:当未满足闪存操作状态查询请求的条件,等待R/B#引脚拉至高电平;当等待时间满足停止策略中的第三停止条件,所述操作状态查询模块通过中断方式向
所述处理器发送操作失败的结果,其中,所述第三停止条件为等待R/B#引脚拉至高电平的时间超过第一时间阀值。5.根据权利要求4所述的闪存状态查询方法,其特征在于,所述闪存状态查询方法还包括:当等待时间未满足停止策略中...

【专利技术属性】
技术研发人员:温佳强付本涛赖鼐龚晖
申请(专利权)人:珠海妙存科技有限公司
类型:发明
国别省市:

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

1