CN111414245B - 一种控制闪存读写速率的方法、装置及介质 - Google Patents

一种控制闪存读写速率的方法、装置及介质 Download PDF

Info

Publication number
CN111414245B
CN111414245B CN202010222395.5A CN202010222395A CN111414245B CN 111414245 B CN111414245 B CN 111414245B CN 202010222395 A CN202010222395 A CN 202010222395A CN 111414245 B CN111414245 B CN 111414245B
Authority
CN
China
Prior art keywords
task
limited
speed
read
write
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
CN202010222395.5A
Other languages
English (en)
Other versions
CN111414245A (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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software 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 Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN202010222395.5A priority Critical patent/CN111414245B/zh
Publication of CN111414245A publication Critical patent/CN111414245A/zh
Application granted granted Critical
Publication of CN111414245B publication Critical patent/CN111414245B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/0614Improving the reliability of storage 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开涉及一种控制闪存读写速率的方法、装置及介质,此方法包括:在内核管理层检测各读写任务的实时读写速率,选择实时读写速率大于第一设定速率的读写任务为备选任务;将所述备选任务的标识和读写速率发送至框架管理层;在框架管理层根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务;确定所述待限速任务对应的限速值;所述限速值包括限速速率或者限速比例;将所述待限速任务的标识和限速值发送至内核管理层;在内核管理层根据所述待限速任务的限速值,对所述待限速任务进行读写限速。本公开可以防止闪存读写负荷过载,避免闪存读写负荷过载导致的黑屏或死机的情况。

Description

一种控制闪存读写速率的方法、装置及介质
技术领域
本公开涉及数字信号处理技术领域,尤其涉及一种控制闪存读写速率的方法、装置及介质。
背景技术
移动终端中使用文件缓存机制用于闪存数据的读写。在读取文件数据时,先申请文件页,将数据从闪存读到文件页,在需要频繁读取相同数据时,可以直接从文件页读取数据。在写入文件数据时,先申请文件页,将数据写入文件后直接返回。在一些应用场景下,闪存芯片的读写任务在短时内剧大量堆积时,会直接影响用户的实时操作,严重时还会导致终端的黑屏和死机。
发明内容
为克服相关技术中存在的问题,本公开提供了一种控制闪存读写速率的方法、装置及介质。
根据本公开实施例的第一方面,提供了一种控制闪存读写速率的方法,包括:
在内核管理层检测各读写任务的实时读写速率,选择实时读写速率大于第一设定速率的读写任务为备选任务;
将所述备选任务的标识和读写速率发送至框架管理层;
在框架管理层根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务;确定所述待限速任务对应的限速值;所述限速值包括限速速率或者限速比例;
将所述待限速任务的标识和限速值发送至内核管理层;
在内核管理层根据所述待限速任务的限速值,对所述待限速任务进行读写限速。
在一实施方式中,所述方法还包括:在内核管理层检测闪存的整体读写速率;
所述选择实时读写速率大于第一设定速率的任务为备选任务,包括:
在所述闪存的整体读写速率大于第二设定速率时,选择实时读写速率大于第一设定速率的任务为备选任务。
在一实施方式中,所述所属进程的信息包括所属进程的类型;所属进程的类型包括属于后台进程的类型和属于前台进程的类型;
所述根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务,包括以下中的一种:
从所述备选任务中选择属于后台进程的任务作为待限速任务;
从所述备选任务中选择属于前台进程或后台进程的任务作为待限速任务。
在一实施方式中,所述确定所述待限速任务对应的限速值,包括:
所述待限速任务包括属于前台进程的任务和属于后台进程的任务时,确定属于后台进程的待限速任务对应的限速值小于属于前台进程的待限速任务对应的限速值。
在一实施方式中,所述所属进程的信息包括所属进程的优先级;
所述确定所述待限速任务对应的限速值,包括:
所述待限速任务包括属于前台进程的任务和属于后台进程的任务时,对于属于后台进程的待限速任务,根据所述后台进程的优先级确定所述待限速任务的限速值,所述优先级与所述限速值呈正相关;对于属于前台进程的待限速任务,根据所述前台进程的优先级确定所述待限速任务的限速值,所述优先级与所述限速值呈正相关;
任一后台进程的优先级小于任一前台进程的优先级。
根据本公开实施例的第二方面,提供了一种控制闪存读写速率的装置,包括:
位于内核管理层的:
第一检测模块,用于检测各读写任务的实时读写速率;
第一选择模块,用于选择实时读写速率大于第一设定速率的读写任务为备选任务;
第一发送模块,用于将所述备选任务的标识和读写速率发送至框架管理层;
位于框架管理层的:
第二选择模块,用于根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务;
第一确定模块,用于确定所述待限速任务对应的限速值;所述限速值包括限速速率或者限速比例;
第二发送模块,用于将所述待限速任务的标识和限速值发送至内核管理层;
位于内核管理层的:
限速模块,用于根据所述待限速任务的限速值,对所述待限速任务进行读写限速。
在一实施方式中,所述装置还包括:位于内核管理层的第二检测模块,用于检测闪存的整体读写速率;
所述第一选择模块,还用于在所述闪存的整体读写速率大于第二设定速率时,选择实时读写速率大于第一设定速率的任务为备选任务。
在一实施方式中,所述第二选择模块,还用于使用以下中的一种根据所述备选任务的所属进程的类型从所述备选任务中选择待限速任务:
从所述备选任务中选择属于后台进程的任务作为待限速任务;
从所述备选任务中选择属于前台进程或后台进程的任务作为待限速任务。
在一实施方式中,所述第一确定模块,还用于使用以下方法确定所述待限速任务对应的限速值:
所述待限速任务包括属于前台进程的任务和属于后台进程的任务时,确定属于后台进程的待限速任务对应的限速值小于属于前台进程的待限速任务对应的限速值。
在一实施方式中,所述第一确定模块,还用于使用以下方法确定所述待限速任务对应的限速值:所述待限速任务包括属于前台进程的任务和属于后台进程的任务时,对于属于后台进程的待限速任务,根据所述后台进程的优先级确定所述待限速任务的限速值,所述优先级与所述限速值呈正相关;对于属于前台进程的待限速任务,根据所述前台进程的优先级确定所述待限速任务的限速值,所述优先级与所述限速值呈正相关;任一后台进程的优先级小于任一前台进程的优先级。
根据本公开实施例的第三方面,提供了一种控制闪存读写速率的装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在内核管理层检测各读写任务的实时读写速率,选择实时读写速率大于第一设定速率的读写任务为备选任务;
将所述备选任务的标识和读写速率发送至框架管理层;
在框架管理层根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务;确定所述待限速任务对应的限速值;所述限速值包括限速速率或者限速比例;
将所述待限速任务的标识和限速值发送至内核管理层;
在内核管理层根据所述待限速任务的限速值,对所述待限速任务进行读写限速。
根据本公开实施例的第四方面,提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种控制闪存读写速率的方法,所述方法包括:
在内核管理层检测各读写任务的实时读写速率,选择实时读写速率大于第一设定速率的读写任务为备选任务;
将所述备选任务的标识和读写速率发送至框架管理层;
在框架管理层根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务;确定所述待限速任务对应的限速值;所述限速值包括限速速率或者限速比例;
将所述待限速任务的标识和限速值发送至内核管理层;
在内核管理层根据所述待限速任务的限速值,对所述待限速任务进行读写限速。
本公开实施例提供的技术方案可以包括以下有益效果:通过内核管理层初步筛选出读写速率较大的任务作为备选任务,利用框架管理层对进程信息的解析能力,根据备选任务所属进程的信息,对不同任务进行更精确化的读写限速,保障移动终端在闪存高处理负荷时仍能进行正常的数据处理,防止闪存读写负荷过载,避免闪存读写负荷过载导致的黑屏或死机的情况。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种控制闪存读写速率的方法的流程图;
图2是根据一示例性实施例示出的一种控制闪存读写速率的装置的结构图;
图3是根据一示例性实施例示出的一种控制闪存读写速率的装置的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供了一种控制闪存读写速率的方法。参照图1,图1是根据一示例性实施例示出的一种控制闪存读写速率的方法的流程图。如图1所示,此方法包括:
步骤S11,在内核管理层检测各读写任务的实时读写速率,选择实时读写速率大于第一设定速率的读写任务为备选任务。
步骤S12,将所述备选任务的标识和读写速率发送至框架管理层;
步骤S13,在框架管理层根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务;确定所述待限速任务对应的限速值;所述限速值包括限速速率或者限速比例;
步骤S14,将所述待限速任务的标识和限速值发送至内核管理层;
步骤S15,在内核管理层根据所述待限速任务的限速值,对所述待限速任务进行读写限速。
其中,内核管理层与框架管理层之间的数据通过套接字(Socket)机制传输。步骤S12中的备选任务的标识和读写速率以第一设定格式进行封装,步骤S14中的待限速任务的标识和限速值以第二设定格式进行封装。
通过内核管理层初步筛选出读写速率较大的任务作为备选任务,利用框架管理层对进程信息的解析能力,根据备选任务所属进程的信息,对不同任务进行更精确化的读写限速,保障移动终端在闪存高处理负荷时仍能进行正常的数据处理,防止闪存读写负荷过载,避免闪存读写负荷过载导致的黑屏或死机的情况。
本公开实施例还提供了一种控制闪存读写速率的方法。此方法包括图1所示方法,并且还包括:在内核管理层检测闪存的整体读写速率。图1示出的步骤S11中选择实时读写速率大于第一设定速率的任务为备选任务,包括:在所述闪存的整体读写速率大于第二设定速率时,选择实时读写速率大于第一设定速率的任务为备选任务。
根据闪存的整体读写速率确定开始进行限速处理的时机,可以在闪存的读写负荷大到一定程度时,才启动限速处理,相比于全程进行限速处理的方法,可以提高限速处理的有效性,并且减少数据处理量,提高处理效率。
本公开实施例还提供了一种控制闪存读写速率的方法。此方法包括图1所示方法,并且还包括:根据闪存的整体读写速率确定所述第一设定速率,所述整体读写速率与第一设定速率呈正相关。通过根据闪存在不同情况下的负荷情况,动态调整第一设定速率,可以使通过第一设定速率选择备选任务的准确度更高,为终端在不同应用场景下选择到最需要限速的任务。
本公开实施例还提供了一种控制闪存读写速率的方法。此方法包括图1所示方法,并且此方法中,所属进程的信息包括所属进程的类型;所属进程的类型包括属于后台进程的类型和属于前台进程的类型。
步骤S13中,根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务,包括以下中的一种:
方式一,从所述备选任务中选择属于后台进程的任务作为待限速任务;
方式二,从所述备选任务中选择属于前台进程或后台进程的任务作为待限速任务。
采用方式一时,只对属于后台进程的任务进行限速。利用后台进程一般不是用户当前操作对应的处理对像的特点,可以优先保证前台操作的顺利进行,对用户的当前操作提供及时的响应,保障用户当前操作的使用体验。
采用方式二时,对属于后台进程的任务和属于前台进程的任务均进行限速。在一种实施方式中,确定属于后台进程的待限速任务对应的限速值小于属于前台进程的待限速任务对应的限速值。通过对属于后台进程的任务和属于前台进程的任务进行差别化限速,重点对后台进程的相应任务进行限速,在优先保证前台操作的顺利进行的前提下,避免后台进程因为限速严重而产生异常的情况。
本公开实施例还提供了一种控制闪存读写速率的方法。此方法包括图1所示方法,并且在使用上述方式二的基础上进行,此方法中所属进程的信息包括所属进程的优先级。此优先级表示进程的紧急程度。
步骤S13中确定所述待限速任务对应的限速值包括:所述待限速任务包括属于前台进程的任务和属于后台进程的任务时,对于属于后台进程的待限速任务,根据所述后台进程的优先级确定所述待限速任务的限速值,所述优先级与所述限速值呈正相关;对于属于前台进程的待限速任务,根据所述前台进程的优先级确定所述待限速任务的限速值,所述优先级与所述限速值呈正相关;其中,任一后台进程的优先级小于任一前台进程的优先级。
对于前台进程和后台进程中的任务,分别根据进程的优先级进行相应的限速,优先级高的任务的限速速率相应的高,优先级低的任务的限速速率相应的低,通过此方法,可以依照进程的优先级情况合理设置不同任务的限速情况,使限速的分级化操作与进程优先级相匹配,有效保证系统运转时资源分配的合理性。
本公开实施例提供了一种控制闪存读写速率的装置。参照图2,图2是根据一示例性实施例示出的一种控制闪存读写速率的装置的结构图。如图2所示,此装置包括:
位于内核管理层的:
第一检测模块211,用于检测各读写任务的实时读写速率;
第一选择模块212,用于选择实时读写速率大于第一设定速率的读写任务为备选任务;
第一发送模块213,用于将所述备选任务的标识和读写速率发送至框架管理层;
位于框架管理层的:
第二选择模块221,用于根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务;
第一确定模块222,用于确定所述待限速任务对应的限速值;所述限速值包括限速速率或者限速比例;
第二发送模块223,用于将所述待限速任务的标识和限速值发送至内核管理层;
位于内核管理层的:
限速模块214,用于根据所述待限速任务的限速值,对所述待限速任务进行读写限速。
本公开实施例提供了一种控制闪存读写速率的装置。此装置包括图2出示的模块,并且还包括:位于内核管理层的第二检测模块,用于检测闪存的整体读写速率。
所述第一选择模块212,还用于在所述闪存的整体读写速率大于第二设定速率时,选择实时读写速率大于第一设定速率的任务为备选任务。
本公开实施例提供了一种控制闪存读写速率的装置。此装置包括图2出示的模块,其中,第二选择模块221,还用于使用以下中的一种根据所述备选任务的所属进程的类型从所述备选任务中选择待限速任务:
从所述备选任务中选择属于后台进程的任务作为待限速任务;
从所述备选任务中选择属于前台进程或后台进程的任务作为待限速任务。
本公开实施例提供了一种控制闪存读写速率的装置。此装置包括图2出示的模块,其中,第一确定模块222,还用于使用以下方法确定所述待限速任务对应的限速值:所述待限速任务包括属于前台进程的任务和属于后台进程的任务时,确定属于后台进程的待限速任务对应的限速值小于属于前台进程的待限速任务对应的限速值。
本公开实施例提供了一种控制闪存读写速率的装置。此装置包括图2出示的模块,其中,第一确定模块222,还用于使用以下方法确定所述待限速任务对应的限速值:所述待限速任务包括属于前台进程的任务和属于后台进程的任务时,对于属于后台进程的待限速任务,根据所述后台进程的优先级确定所述待限速任务的限速值,所述优先级与所述限速值呈正相关;对于属于前台进程的待限速任务,根据所述前台进程的优先级确定所述待限速任务的限速值,所述优先级与所述限速值呈正相关;任一后台进程的优先级小于任一前台进程的优先级。
本公开实施例提供了一种控制闪存读写速率的装置。此装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在内核管理层检测各读写任务的实时读写速率,选择实时读写速率大于第一设定速率的读写任务为备选任务;
将所述备选任务的标识和读写速率发送至框架管理层;
在框架管理层根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务;确定所述待限速任务对应的限速值;所述限速值包括限速速率或者限速比例;
将所述待限速任务的标识和限速值发送至内核管理层;
在内核管理层根据所述待限速任务的限速值,对所述待限速任务进行读写限速。
图3是根据一示例性实施例示出的一种用于确定语音增强算法的性能参数的装置300的框图。例如,装置300可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图3,装置300可以包括以下一个或多个组件:处理组件302,存储器304,电源组件306,多媒体组件308,音频组件310,输入/输出(I/O)的接口312,传感器组件314,以及通信组件316。
处理组件302通常控制装置300的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件302可以包括一个或多个处理器320来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件302可以包括一个或多个模块,便于处理组件302和其他组件之间的交互。例如,处理组件302可以包括多媒体模块,以方便多媒体组件305和处理组件302之间的交互。
存储器304被配置为存储各种类型的数据以支持在设备300的操作。这些数据的示例包括用于在装置300上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件306为装置300的各种组件提供电力。电源组件306可以包括电源管理系统,一个或多个电源,及其他与为装置300生成、管理和分配电力相关联的组件。
多媒体组件305包括在所述装置300和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件305包括一个前置摄像头和/或后置摄像头。当设备300处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件310被配置为输出和/或输入音频信号。例如,音频组件310包括一个麦克风(MIC),当装置300处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器304或经由通信组件316发送。在一些实施例中,音频组件310还包括一个扬声器,用于输出音频信号。
I/O接口312为处理组件302和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件314包括一个或多个传感器,用于为装置300提供各个方面的状态评估。例如,传感器组件314可以检测到设备300的打开/关闭状态,组件的相对定位,例如所述组件为装置300的显示器和小键盘,传感器组件314还可以检测装置300或装置300一个组件的位置改变,用户与装置300接触的存在或不存在,装置300方位或加速/减速和装置300的温度变化。传感器组件314可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件314还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件314还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件316被配置为便于装置300和其他设备之间有线或无线方式的通信。装置300可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件316经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件316还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置300可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器304,上述指令可由装置300的处理器320执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (12)

1.一种控制闪存读写速率的方法,其特征在于,包括:
在内核管理层检测各读写任务的实时读写速率,选择实时读写速率大于第一设定速率的读写任务为备选任务;
将所述备选任务的标识和读写速率发送至框架管理层;
在框架管理层根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务;确定所述待限速任务对应的限速值;所述限速值包括限速速率或者限速比例;
将所述待限速任务的标识和限速值发送至内核管理层;
在内核管理层根据所述待限速任务的限速值,对所述待限速任务进行读写限速。
2.如权利要求1所述的方法,其特征在于,
所述方法还包括:在内核管理层检测闪存的整体读写速率;
所述选择实时读写速率大于第一设定速率的任务为备选任务,包括:
在所述闪存的整体读写速率大于第二设定速率时,选择实时读写速率大于第一设定速率的任务为备选任务。
3.如权利要求1所述的方法,其特征在于,
所述所属进程的信息包括所属进程的类型;所属进程的类型包括属于后台进程的类型和属于前台进程的类型;
所述根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务,包括以下中的一种:
从所述备选任务中选择属于后台进程的任务作为待限速任务;
从所述备选任务中选择属于前台进程或后台进程的任务作为待限速任务。
4.如权利要求3所述的方法,其特征在于,
所述确定所述待限速任务对应的限速值,包括:
所述待限速任务包括属于前台进程的任务和属于后台进程的任务时,确定属于后台进程的待限速任务对应的限速值小于属于前台进程的待限速任务对应的限速值。
5.如权利要求4所述的方法,其特征在于,
所述所属进程的信息包括所属进程的优先级;
所述确定所述待限速任务对应的限速值,包括:
所述待限速任务包括属于前台进程的任务和属于后台进程的任务时,对于属于后台进程的待限速任务,根据所述后台进程的优先级确定所述待限速任务的限速值,所述优先级与所述限速值呈正相关;对于属于前台进程的待限速任务,根据所述前台进程的优先级确定所述待限速任务的限速值,所述优先级与所述限速值呈正相关;
任一后台进程的优先级小于任一前台进程的优先级。
6.一种控制闪存读写速率的装置,其特征在于,包括:
位于内核管理层的:
第一检测模块,用于检测各读写任务的实时读写速率;
第一选择模块,用于选择实时读写速率大于第一设定速率的读写任务为备选任务;
第一发送模块,用于将所述备选任务的标识和读写速率发送至框架管理层;
位于框架管理层的:
第二选择模块,用于根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务;
第一确定模块,用于确定所述待限速任务对应的限速值;所述限速值包括限速速率或者限速比例;
第二发送模块,用于将所述待限速任务的标识和限速值发送至内核管理层;
位于内核管理层的:
限速模块,用于根据所述待限速任务的限速值,对所述待限速任务进行读写限速。
7.如权利要求6所述的装置,其特征在于,
所述装置还包括:位于内核管理层的第二检测模块,用于检测闪存的整体读写速率;
所述第一选择模块,还用于在所述闪存的整体读写速率大于第二设定速率时,选择实时读写速率大于第一设定速率的任务为备选任务。
8.如权利要求6所述的装置,其特征在于,
所述第二选择模块,还用于使用以下中的一种根据所述备选任务的所属进程的类型从所述备选任务中选择待限速任务:
从所述备选任务中选择属于后台进程的任务作为待限速任务;
从所述备选任务中选择属于前台进程或后台进程的任务作为待限速任务。
9.如权利要求8所述的装置,其特征在于,
所述第一确定模块,还用于使用以下方法确定所述待限速任务对应的限速值:
所述待限速任务包括属于前台进程的任务和属于后台进程的任务时,确定属于后台进程的待限速任务对应的限速值小于属于前台进程的待限速任务对应的限速值。
10.如权利要求9所述的装置,其特征在于,
所述第一确定模块,还用于使用以下方法确定所述待限速任务对应的限速值:所述待限速任务包括属于前台进程的任务和属于后台进程的任务时,对于属于后台进程的待限速任务,根据所述后台进程的优先级确定所述待限速任务的限速值,所述优先级与所述限速值呈正相关;对于属于前台进程的待限速任务,根据所述前台进程的优先级确定所述待限速任务的限速值,所述优先级与所述限速值呈正相关;任一后台进程的优先级小于任一前台进程的优先级。
11.一种控制闪存读写速率的装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在内核管理层检测各读写任务的实时读写速率,选择实时读写速率大于第一设定速率的读写任务为备选任务;
将所述备选任务的标识和读写速率发送至框架管理层;
在框架管理层根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务;确定所述待限速任务对应的限速值;所述限速值包括限速速率或者限速比例;
将所述待限速任务的标识和限速值发送至内核管理层;
在内核管理层根据所述待限速任务的限速值,对所述待限速任务进行读写限速。
12.一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种控制闪存读写速率的方法,所述方法包括:
在内核管理层检测各读写任务的实时读写速率,选择实时读写速率大于第一设定速率的读写任务为备选任务;
将所述备选任务的标识和读写速率发送至框架管理层;
在框架管理层根据所述备选任务的所属进程的信息从所述备选任务中选择待限速任务;确定所述待限速任务对应的限速值;所述限速值包括限速速率或者限速比例;
将所述待限速任务的标识和限速值发送至内核管理层;
在内核管理层根据所述待限速任务的限速值,对所述待限速任务进行读写限速。
CN202010222395.5A 2020-03-26 2020-03-26 一种控制闪存读写速率的方法、装置及介质 Active CN111414245B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010222395.5A CN111414245B (zh) 2020-03-26 2020-03-26 一种控制闪存读写速率的方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010222395.5A CN111414245B (zh) 2020-03-26 2020-03-26 一种控制闪存读写速率的方法、装置及介质

Publications (2)

Publication Number Publication Date
CN111414245A CN111414245A (zh) 2020-07-14
CN111414245B true CN111414245B (zh) 2023-06-13

Family

ID=71491437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010222395.5A Active CN111414245B (zh) 2020-03-26 2020-03-26 一种控制闪存读写速率的方法、装置及介质

Country Status (1)

Country Link
CN (1) CN111414245B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299143A (ja) * 2006-04-28 2007-11-15 Matsushita Electric Ind Co Ltd 不揮発性記憶システム及びデータ書き込み方法
CN103414736A (zh) * 2011-05-11 2013-11-27 北京奇虎科技有限公司 一种智能限速方法和装置、一种下载系统
CN105302497A (zh) * 2015-11-24 2016-02-03 浪潮(北京)电子信息产业有限公司 一种缓存管理方法与系统
CN106066814A (zh) * 2016-05-31 2016-11-02 广东欧珀移动通信有限公司 一种应用控制方法及移动终端
CN108762665A (zh) * 2018-04-08 2018-11-06 中兴通讯股份有限公司 一种控制存储设备读写的方法及装置
CN109254849A (zh) * 2018-08-31 2019-01-22 北京小米移动软件有限公司 应用程序的运行方法及装置
CN110058786A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于控制存储系统中的写请求的方法、装置和计算机程序产品
CN110286949A (zh) * 2019-06-27 2019-09-27 深圳市网心科技有限公司 基于物理主机存储装置读写的进程挂起方法及相关设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010098908A2 (en) * 2009-02-25 2010-09-02 Eamonn Gormley Hybrid rate-limiting based on protocol data unit characteristics

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299143A (ja) * 2006-04-28 2007-11-15 Matsushita Electric Ind Co Ltd 不揮発性記憶システム及びデータ書き込み方法
CN103414736A (zh) * 2011-05-11 2013-11-27 北京奇虎科技有限公司 一种智能限速方法和装置、一种下载系统
CN105302497A (zh) * 2015-11-24 2016-02-03 浪潮(北京)电子信息产业有限公司 一种缓存管理方法与系统
CN106066814A (zh) * 2016-05-31 2016-11-02 广东欧珀移动通信有限公司 一种应用控制方法及移动终端
CN110058786A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于控制存储系统中的写请求的方法、装置和计算机程序产品
CN108762665A (zh) * 2018-04-08 2018-11-06 中兴通讯股份有限公司 一种控制存储设备读写的方法及装置
CN109254849A (zh) * 2018-08-31 2019-01-22 北京小米移动软件有限公司 应用程序的运行方法及装置
CN110286949A (zh) * 2019-06-27 2019-09-27 深圳市网心科技有限公司 基于物理主机存储装置读写的进程挂起方法及相关设备

Also Published As

Publication number Publication date
CN111414245A (zh) 2020-07-14

Similar Documents

Publication Publication Date Title
EP3188066B1 (en) A method and an apparatus for managing an application
US20180088764A1 (en) Method, apparatus, and storage medium for sharing content
EP3147802B1 (en) Method and apparatus for processing information
CN106354504B (zh) 消息显示方法及装置
CN108763104B (zh) 预读取文件页的方法、装置及存储介质
CN109214175B (zh) 基于样本特征训练分类器的方法、装置及存储介质
CN111414245B (zh) 一种控制闪存读写速率的方法、装置及介质
CN112083841B (zh) 信息输入方法、装置和存储介质
CN114666490B (zh) 对焦方法、装置、电子设备和存储介质
CN112148149A (zh) 触摸屏控制方法、触摸屏控制装置及存储介质
CN107682623B (zh) 拍照方法及装置
CN114115768A (zh) 控制方法及装置
CN110968523A (zh) 内存碎片整理的方法和装置
CN106547444B (zh) 实现截屏的方法、装置及移动终端
CN111241097B (zh) 处理对象的方法、处理对象的装置及存储介质
US20210360189A1 (en) Video processing method and apparatus, and storage medium
CN107124505B (zh) 录制方法及装置
CN106959875B (zh) 前置摄像头的打开方法、装置及设备
CN106648585B (zh) 设置网页dom元素透明度的方法及装置
CN116450218A (zh) 数据处理方法、装置及存储介质
CN115373532A (zh) 一种触控处理方法、装置及介质
CN116567411A (zh) 一种功耗控制方法、装置、设备及介质
CN116419062A (zh) 图像处理方法、装置及存储介质
CN116489498A (zh) 图像预览方法、图像预览装置、电子设备及存储介质
CN115963989A (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