CN109445698B - 查询多片flash状态的方法、装置及计算机可读存储介质 - Google Patents

查询多片flash状态的方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN109445698B
CN109445698B CN201811233367.2A CN201811233367A CN109445698B CN 109445698 B CN109445698 B CN 109445698B CN 201811233367 A CN201811233367 A CN 201811233367A CN 109445698 B CN109445698 B CN 109445698B
Authority
CN
China
Prior art keywords
flash
state
target
query
data register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811233367.2A
Other languages
English (en)
Other versions
CN109445698A (zh
Inventor
龚乐
吴大畏
李晓强
黄慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN SILICONGO MICROELECTRONICS CO Ltd
Original Assignee
SHENZHEN SILICONGO MICROELECTRONICS CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN SILICONGO MICROELECTRONICS CO Ltd filed Critical SHENZHEN SILICONGO MICROELECTRONICS CO Ltd
Priority to CN201811233367.2A priority Critical patent/CN109445698B/zh
Publication of CN109445698A publication Critical patent/CN109445698A/zh
Application granted granted Critical
Publication of CN109445698B publication Critical patent/CN109445698B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种查询多片flash状态的方法,包括:在检测到flash状态查询指令时,获取基于所述flash状态查询指令的目标数据寄存器状态参数;在确认当前FIO在空闲应用状态时,执行flash轮询操作;基于当前的flash轮询操作确认目标flash,并根据目标flash状态寄存器的状态参数确认flash状态查询指令是否查询成功;在确认所述目标flash的数据寄存器状态参数与已获取到的目标数据寄存器状态参数一致时,确认flash状态查询指令查询成功。本发明还公开了一种查询多片flash状态的装置及计算机可读存储介质。本发明将查询多片flash状态的操作穿插到FIO空闲时刻。根据查询到的flash状态直接操作查询到的flash,节省了查询时间,进而实现了提高flash应用状态查询效率的有益效果。

Description

查询多片flash状态的方法、装置及计算机可读存储介质
技术领域
本发明涉及flash应用领域,尤其涉及一种查询多片flash状态的方法、装置、计算机可读存储介质。
背景技术
在根据当前应用需求确认需要操作操作哪片flash(Flash_N)之前,控制HW对Flash_N发送查询命令,然后一直对该flash发读脉冲读取该flash的状态,直到该flash的状态为Ready状态,才可以对该flash进行下一步操作。而通过此种方式在查询flash状态时,会需要额外花时间来查询flash状态,降低了FIO性能,且查询效率低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种查询多片flash状态的方法,旨在解决现有技术在查询应用flash状态时,通过发读脉冲指令读取flash应用状态时查询效率低的技术问题。
为实现上述目的,本发明提供一种查询多片flash状态的方法,包括以下内容:
在检测到flash状态查询指令时,获取基于所述flash状态查询指令的目标数据寄存器状态参数;
在确认当前FIO在空闲应用状态时,执行flash轮询操作;
基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功;
在确认所述目标flash的数据寄存器状态参数与已获取到的目标数据寄存器状态参数一致时,确认所述flash状态查询指令查询成功。
优选地,所述在检测到flash状态查询指令时,获取基于所述flash状态查询指令的目标数据寄存器状态参数的步骤之前,还包括:
通过预设的mcu配置目标数据寄存器状态参数,并发起flash状态查询指令。
优选地,所述基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功的步骤,还包括:
轮询当前已登记的各flash配置寄存器的状态参数,并根据所述状态参数确认目标flash;
在根据所述状态参数确认当前轮询到的flash为目标flash时,执行读取所述目标flash状态寄存器的状态参数的步骤。
优选地,所述基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功步骤,还包括:
读取当前轮询到的flash配置寄存器的状态参数,并根据读取结果确认所述flash是否已执行查询操作;
在确认所述flash未执行查询操作时,确认所述flash为目标flash。
优选地,所述基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功的步骤之后,还包括:
在确认所述目标flash的数据寄存器状态参数与已获取到的目标数据寄存器状态参数不一致时,以当前的轮询操作重新查询下一flash的数据寄存器状态参数。
优选地,所述查询多片flash状态的方法,还包括:
在检测到有flash读写传输请求时,暂停当前的flash轮询操作;
在确认所述flash读写操作完成后,恢复当前的flash轮询操作。
此外,为实现上述目的,本发明还提供一种查询多片flash状态的装置,所述查询多片flash状态的装置包括:存储器、处理器以及存储在所述存储器上并可以在所述处理器上运行的多片flash状态的查询程序,所述多片flash状态的查询程序被处理器执行时实现如上所述的查询多片flash状态的方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质包括:存储器、处理器以及存储在所述存储器上并可以在所述处理器上运行的多片flash状态的查询程序,所述多片flash状态的查询程序被处理器执行时实现如上所述的查询多片flash状态的方法的步骤。
本发明提出的一种查询多片flash状态的方法,在检测到flash状态查询指令时,获取基于所述flash状态查询指令的目标数据寄存器状态参数;在确认当前FIO在空闲应用状态时,执行flash轮询操作;基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功;在确认所述目标flash的数据寄存器状态参数与已获取到的目标数据寄存器状态参数一致时,确认所述flash状态查询指令查询成功。将查询多片flash状态的操作穿插到FIO空闲时刻。当需要使用该flash时,极有可能已经查询到需要的flash状态了,这时候就可以直接操作该flash,节省了查询的时间,提高了FIO利用率和flash controller的性能,进而实现了提高flash应用状态查询效率的有益效果。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端\装置结构示意图;
图2为本发明查询多片flash状态的方法第一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:在检测到flash状态查询指令时,获取基于所述flash状态查询指令的目标数据寄存器状态参数;在确认当前FIO在空闲应用状态时,执行flash轮询操作;基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功;在确认所述目标flash的数据寄存器状态参数与已获取到的目标数据寄存器状态参数一致时,确认所述flash状态查询指令查询成功。
由于现有技术在根据当前应用需求确认需要操作操作哪片flash(Flash_N)之前,控制HW对Flash_N发送查询命令,然后一直对该flash发读脉冲读取该flash的状态,直至读到该flash的状态为Ready状态时,才可以对该flash进行下一步操作。而通过此种方式在查询flash状态时,会需要额外花时间来查询flash状态,降低了FIO性能,且查询效率低。
本发明提供一种解决方案,将查询flash状态的操作穿插到FIO空闲时刻。当需要使用该flash时,极有可能已经查询到需要的flash状态了,这时候就可以直接操作该flash,节省了查询的时间,提高了FIO利用率和flash controller的性能,进而实现了提高flash应用状态查询效率的有益效果。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端可以是PC,也可以是智能手机、平板电脑、电子书阅读器,便携计算机等可移动式或不可移动式终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及多片flash状态的查询程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的多片flash状态的查询程序,并执行以下操作:
在检测到flash状态查询指令时,获取基于所述flash状态查询指令的目标数据寄存器状态参数;
在确认当前FIO在空闲应用状态时,执行flash轮询操作;
基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功;
在确认所述目标flash的数据寄存器状态参数与已获取到的目标数据寄存器状态参数一致时,确认所述flash状态查询指令查询成功。
进一步地,处理器1001可以调用存储器1005中存储的多片flash状态的查询程序,还执行以下操作:
通过预设的mcu配置目标数据寄存器状态参数,并发起flash状态查询指令。
进一步地,处理器1001可以调用存储器1005中存储的多片flash状态的查询程序,还执行以下操作:
轮询当前已登记的各flash配置寄存器的状态参数,并根据所述状态参数确认目标flash;
在根据所述状态参数确认当前轮询到的flash为目标flash时,执行读取所述目标flash状态寄存器的状态参数的步骤。
进一步地,处理器1001可以调用存储器1005中存储的多片flash状态的查询程序,还执行以下操作:
读取当前轮询到的flash配置寄存器的状态参数,并根据读取结果确认所述flash是否已执行查询操作;
在确认所述flash未执行查询操作时,确认所述flash为目标flash。
进一步地,处理器1001可以调用存储器1005中存储的多片flash状态的查询程序,还执行以下操作:
在确认所述目标flash的数据寄存器状态参数与已获取到的目标数据寄存器状态参数不一致时,以当前的轮询操作重新查询下一flash的数据寄存器状态参数。
进一步地,处理器1001可以调用存储器1005中存储的多片flash状态的查询程序,还执行以下操作:
在检测到有flash读写传输请求时,暂停当前的flash轮询操作;
在确认所述flash读写操作完成后,恢复当前的flash轮询操作。
参照图2,图2为本发明查询多片flash状态的方法第一实施例的流程示意图,所述查询多片flash状态的方法包括:
步骤S10,在检测到flash状态查询指令时,获取基于所述flash状态查询指令的目标数据寄存器状态参数;
基于当前应用的FIO,在所述FIO上登记多个flash以应用所述flash。因此,根据当前应用的FIO并已登记的flash,发起flash状态查询指令,所述flash状态查询指令可通过已设定的flash状态查询机制发起,或者由用户在检测到当前是FIO在空闲状态时,自动发起所述flash状态查询机制。所述FIO,为flash的数据传输线,在实际应用中,一个flashcontroller可挂载的多个flash共用一组FIO,而在应用中,每片flash单独有一根CE线用来被flash controller选中操作。如上所述,基于已检测到的flash状态查询指令,获取基于当前flash状态查询指令的目标数据寄存器状态参数,在实际应用中,所述寄存器状态参数为单片flash的配置信息,定义为CHK_DATA_N。而所述目标数据寄存器状态参数为基于当前的flash需求发起的,因此,基于当前的flash状态查询需求,设定对应的目标数据寄存器状态参数,即所述在检测到flash状态查询指令时,获取基于所述flash状态查询指令的目标数据寄存器状态参数的步骤之前,还包括:
通过预设的mcu配置目标数据寄存器状态参数,并发起flash状态查询指令。
基于当前的flash查询需求,通过预设的mcu配置目标数据寄存器状态参数,即需查询CHK_DATA_N为目标数据寄存器状态参数的对应flash。根据已设定的目标数据寄存器状态参数启动硬件查询进程。
步骤S20,在确认当前FIO在空闲应用状态时,执行flash轮询操作;
为提高查询效率,只在当前应用的FIO在空闲状态下执行flash轮询操作。因此,基于当前应用的FIO,检测所述FIO的应用状态,所述FIO的应用状态根据当前的使用情况确定,包括空闲与非空闲两种,其非空闲状态可能包括但不限于读取状态、写入状态等基于所述FIO所应用时的数据传输类型相关,在此不多赘述。在确认当前的FIO在空闲应用状态时,基于接收到的flash状态查询指令,执行flash轮询操作,所述flash轮询操作定义为根据当前登记的flash顺序,按顺序轮流查询所述flash的状态。
步骤S30,基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功;
根据当前的flash轮询操作,确认目标flash,所述目标flash定义为配置寄存器状态参数为目标数值的flash。因此,确认所述目标flash的操作,即所述基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功的步骤,还包括:
轮询当前已登记的各flash配置寄存器的状态参数,并根据所述状态参数确认目标flash;
在根据所述状态参数确认当前轮询到的flash为目标flash时,执行读取所述目标flash状态寄存器的状态参数的步骤。
根据当前的flash轮询操作,查询当前已登记的各flash,并读取各flash的配置寄存器状态参数的参数数值,在实际应用中,每个flash在登记在FIO时,为方便应用及标识应用情况,各flash都具备配置寄存器状态参数(CHK_STS_N)及数据寄存器状态参数(CHK_DATA_N),通过所述flash的配置寄存器状态参数的参数数值确定当前flash是否已被读取及应用。根据flash状态参数的类型,一般通过数字定义所述flash是否已被读取及应用。且相关的状态参数数值由相关的管理员设定,因此,所述基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功步骤,还包括:
读取当前轮询到的flash配置寄存器的状态参数,并根据读取结果确认所述flash是否已执行查询操作;
在确认所述flash未执行查询操作时,确认所述flash为目标flash。
根据当前的flash轮询操作,读取当前轮询到的flash配置寄存器的状态参数,并根据读取到的状态参数的参数数值确认所述flash是否已被读取应用。一般来说,技术人员通过设定固定数值对应所述flash的应用情况,例如参数数值为1时,为确认所述flash已被读取应用如此,根据读取到的flash配置寄存器状态参数的参数数值,在根据所述参数数值确认当前轮询到的flash为执行查询操作时,确认所述flash为目标flash。如上所述,基于当前的flash状态查询指令,根据已确认的所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否执行成功。
步骤S40,在确认所述目标flash的数据寄存器状态参数与已获取到的目标数据寄存器状态参数一致时,确认所述flash状态查询指令查询成功。
根据当前flash轮询操作确认的目标flash,读取所述目标flash的数据寄存器状态参数的参数数据,并将读取到的所述参数数据与获取到的目标数据寄存器状态参数比对,在确认所述目标flash的数据寄存器状态参数的参数数据与获取到的所述目标数据寄存器状态参数的参数数值一致时,确认所述目标flash为基于所述flash状态查询指令对应的应用flash,基于此种情况,确认所述flash状态查询指令执行成功。并标记当前所述目标flash,以便在需要应用flash时,直接调用已标记的所述目标flash即可实现flash应用,无需再次执行查询操作。
另外,所述基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功的步骤之后,还包括:
在确认所述目标flash的数据寄存器状态参数与已获取到的目标数据寄存器状态参数不一致时,以当前的轮询操作重新查询下一flash的数据寄存器状态参数。
将读取到的所述参数数据与获取到的目标数据寄存器状态参数比对,在确认所述目标flash的数据寄存器状态参数的参数数据与获取到的所述目标数据寄存器状态参数的参数数值不一致时,确认所述目标flash不是基于所述flash状态查询指令对应的应用flash,基于此种情况,确认所述flash状态查询指令执行失败,如此,基于所述flash状态查询指令,以当前的轮询操作重新查询下一flash的数据寄存器状态参数,以查询到的所述flash的数据寄存器状态参数确认下一目标flash,直至找到下一对应的目标flash为止。进一步的,在基于当前执行的flash轮询操作,当前可查询的所有flash都不为对应的目标flash时,停止所述flash轮询操作。重新执行确认FIO应用状态,并在确认当前FIO在空闲应用状态时,重新执行flash轮询操作。
另外,当前应用的FIO还承担着数据读写的传输责任,基于当前的flash查询指令,为不影响所述FIO的数据读写操作,所述查询多片flash状态的方法,还包括:
在检测到有flash读写传输请求时,暂停当前的flash轮询操作;
在确认所述flash读写操作完成后,恢复当前的flash轮询操作。
基于当前的flash状态查询指令发起的flash轮询操作,在检测到所述FIO有flash读写传输请求时,暂停当前的flash轮询操作。并检测当前接收到的所述flash读写传输请求的执行情况,在确认所述flash读写操作完成之后,当前暂停的flash轮询操作,以避免影响所述FIO的正常读写传输应用,所述FIO的读写传输应用,为基于所述FIO所承担的数据存储或者数据应用功能所提供的操作指令,其具体的指令内容由相关的技术人员设定。
本实施例中,将查询flash状态的操作穿插到FIO空闲时刻。当需要使用该flash时,极有可能已经查询到需要的flash状态了,这时候就可以直接操作该flash,节省了查询的时间,提高了FIO利用率和flash controller的性能,进而实现了提高flash应用状态查询效率的有益效果。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有多片flash状态的查询程序,所述多片flash状态的查询程序被处理器执行时实现如下操作:
在检测到flash状态查询指令时,获取基于所述flash状态查询指令的目标数据寄存器状态参数;
在确认当前FIO在空闲应用状态时,执行flash轮询操作;
基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功;
在确认所述目标flash的数据寄存器状态参数与已获取到的目标数据寄存器状态参数一致时,确认所述flash状态查询指令查询成功。
进一步地,所述多片flash状态的查询程序被处理器执行时还实现如下操作:
通过预设的mcu配置目标数据寄存器状态参数,并发起flash状态查询指令。
进一步地,所述多片flash状态的查询程序被处理器执行时还实现如下操作:
轮询当前已登记的各flash配置寄存器的状态参数,并根据所述状态参数确认目标flash;
在根据所述状态参数确认当前轮询到的flash为目标flash时,执行读取所述目标flash状态寄存器的状态参数的步骤。
进一步地,所述多片flash状态的查询程序被处理器执行时还实现如下操作:
读取当前轮询到的flash配置寄存器的状态参数,并根据读取结果确认所述flash是否已执行查询操作;
在确认所述flash未执行查询操作时,确认所述flash为目标flash。
进一步地,所述多片flash状态的查询程序被处理器执行时还实现如下操作:
在确认所述目标flash的数据寄存器状态参数与已获取到的目标数据寄存器状态参数不一致时,以当前的轮询操作重新查询下一flash的数据寄存器状态参数。
进一步地,所述多片flash状态的查询程序被处理器执行时还实现如下操作:
在检测到有flash读写传输请求时,暂停当前的flash轮询操作;
在确认所述flash读写操作完成后,恢复当前的flash轮询操作。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、药品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、药品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、药品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种查询多片flash状态的方法,其特征在于,所述查询多片flash状态的方法包括以下步骤:
通过预设的mcu配置目标数据寄存器状态参数,并发起flash状态查询指令;
在检测到flash状态查询指令时,获取基于所述flash状态查询指令的目标数据寄存器状态参数;
在确认当前FIO在空闲应用状态时,执行flash轮询操作,其中,所述FIO为flash的数据传输线,登记有多个可应用的flash;
基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功;
在确认所述目标flash的数据寄存器状态参数与已获取到的目标数据寄存器状态参数一致时,确认所述flash状态查询指令查询成功。
2.如权利要求1所述的查询多片flash状态的方法,其特征在于,所述基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功的步骤,还包括:
轮询当前已登记的各flash配置寄存器的状态参数,并根据所述状态参数确认目标flash;
在根据所述状态参数确认当前轮询到的flash为目标flash时,执行读取所述目标flash状态寄存器的状态参数的步骤。
3.如权利要求1所述的查询多片flash状态的方法,其特征在于,所述基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功步骤,还包括:
读取当前轮询到的flash配置寄存器的状态参数,并根据读取结果确认所述flash是否已执行查询操作;
在确认所述flash未执行查询操作时,确认所述flash为目标flash。
4.如权利要求1所述的查询多片flash状态的方法,其特征在于,所述基于当前的flash轮询操作确认目标flash,并根据所述目标flash的数据寄存器状态参数确认所述flash状态查询指令是否查询成功的步骤之后,还包括:
在确认所述目标flash的数据寄存器状态参数与已获取到的目标数据寄存器状态参数不一致时,以当前的轮询操作重新查询下一flash的数据寄存器状态参数。
5.如权利要求1至4任一项所述的查询多片flash状态的方法,其特征在于,所述查询多片flash状态的方法,还包括:
在检测到有flash读写传输请求时,暂停当前的flash轮询操作;
在确认所述flash读写操作完成后,恢复当前的flash轮询操作。
6.一种查询多片flash状态的装置,其特征在于,所述查询多片flash状态的装置包括:存储器、处理器以及存储在所述存储器上并可以在所述处理器上运行的多片flash状态的查询程序,所述多片flash状态的查询程序被处理器执行时实现如权利要求1至5任一项所述的查询多片flash状态的方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括:存储器、处理器以及存储在所述存储器上并可以在所述处理器上运行的多片flash状态的查询程序,所述多片flash状态的查询程序被处理器执行时实现如权利要求1至5任一项所述的查询多片flash状态的方法的步骤。
CN201811233367.2A 2018-10-22 2018-10-22 查询多片flash状态的方法、装置及计算机可读存储介质 Active CN109445698B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811233367.2A CN109445698B (zh) 2018-10-22 2018-10-22 查询多片flash状态的方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811233367.2A CN109445698B (zh) 2018-10-22 2018-10-22 查询多片flash状态的方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109445698A CN109445698A (zh) 2019-03-08
CN109445698B true CN109445698B (zh) 2022-04-05

Family

ID=65548473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811233367.2A Active CN109445698B (zh) 2018-10-22 2018-10-22 查询多片flash状态的方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109445698B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459419B (zh) * 2020-06-17 2021-12-21 芯天下技术股份有限公司 用于flash的无感扩容方法、系统、存储介质和终端
CN114816571B (zh) * 2022-04-15 2023-06-16 西安广和通无线通信有限公司 外挂闪存的方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539895A (zh) * 2009-05-07 2009-09-23 成都市华为赛门铁克科技有限公司 一种基于Flash的状态查询方法、装置及系统
CN101572123A (zh) * 2009-05-31 2009-11-04 成都市华为赛门铁克科技有限公司 非易失性存储器控制装置、其数据调度方法及系统
CN101719098A (zh) * 2009-05-26 2010-06-02 苏州国芯科技有限公司 Nandflash芯片组存储控制器
CN108156823A (zh) * 2016-08-31 2018-06-12 华为技术有限公司 一种闪存介质的访问方法及控制器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100888261B1 (ko) * 2007-02-22 2009-03-11 삼성전자주식회사 뱅크 id를 이용할 수 있는 메모리 서브 시스템과 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539895A (zh) * 2009-05-07 2009-09-23 成都市华为赛门铁克科技有限公司 一种基于Flash的状态查询方法、装置及系统
CN101719098A (zh) * 2009-05-26 2010-06-02 苏州国芯科技有限公司 Nandflash芯片组存储控制器
CN101572123A (zh) * 2009-05-31 2009-11-04 成都市华为赛门铁克科技有限公司 非易失性存储器控制装置、其数据调度方法及系统
CN108156823A (zh) * 2016-08-31 2018-06-12 华为技术有限公司 一种闪存介质的访问方法及控制器

Also Published As

Publication number Publication date
CN109445698A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
EP3007062A1 (en) Firmware upgrade method and apparatus, and communication device
WO2019140656A1 (zh) 一种固件升级方法、装置、电子设备及控制设备
CN109445698B (zh) 查询多片flash状态的方法、装置及计算机可读存储介质
CN105512033A (zh) 一种移动终端的自动化测试方法、装置及移动终端
CN110750285A (zh) 固件升级方法、装置、计算机设备和存储介质
CN111538515A (zh) 一种电能表程序的升级方法、装置和设备
WO2015168855A1 (zh) 焊接电源管理系统及其管理方法
CN107659933B (zh) 一种无线设备双向配对连接方法、无线设备及存储介质
WO2024103583A1 (zh) Bios选项修改的生效方法和装置、非易失性可读存储介质及电子装置
CN108112052B (zh) 终端的网络共享方法、装置、空气调节器及存储介质
JP2007034987A (ja) 非接触送受信システム及び携帯情報端末
CN111176591B (zh) 基于cups系统的打印审计方法、装置、设备及介质
CN111417908A (zh) 一种ecu识别器及其识别方法、系统、设备、介质
CN110673942B (zh) 一种云平台的异步进程结束方法、装置及云平台服务器
CN110618794B (zh) 一种SSD固件访问NandFlash的方法和系统
CN110071921B (zh) 物联网平台接入方法、装置、计算机可读存储介质及系统
CN112950370A (zh) 业务处理方法、装置、设备及存储介质
CN113194448A (zh) 蓝牙设备的测试方法、测试终端及可读存储介质
CN115576612B (zh) 外部设备适配方法、装置、智能终端及可读存储介质
CN114327574A (zh) 一种差分升级方法、电子设备及存储介质
CN112417012A (zh) 数据处理方法及系统
CN110602655B (zh) 基于短信的设备通讯地址修改方法、装置及可读存储介质
CN109144589A (zh) 一种硬盘加载方法及相关装置
CN112613081B (zh) 一种存储芯片序列码生成方法、装置、电子设备及存储介质
CN108269091B (zh) 待机处理方法、装置、系统及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant