CN106325994B - 一种控制写请求的方法及终端设备 - Google Patents

一种控制写请求的方法及终端设备 Download PDF

Info

Publication number
CN106325994B
CN106325994B CN201610717818.4A CN201610717818A CN106325994B CN 106325994 B CN106325994 B CN 106325994B CN 201610717818 A CN201610717818 A CN 201610717818A CN 106325994 B CN106325994 B CN 106325994B
Authority
CN
China
Prior art keywords
write request
request
terminal device
object synchronization
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.)
Expired - Fee Related
Application number
CN201610717818.4A
Other languages
English (en)
Other versions
CN106325994A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201610717818.4A priority Critical patent/CN106325994B/zh
Publication of CN106325994A publication Critical patent/CN106325994A/zh
Application granted granted Critical
Publication of CN106325994B publication Critical patent/CN106325994B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种控制写请求的方法及终端设备,应用于计算机技术领域,其中方法的实现包括:终端设备判断当前的输入输出I/O请求队列是否处于阻塞状态,所述I/O请求队列中包含同步写请求;若当前的I/O请求队列处于阻塞状态,则所述终端设备从所述同步写请求中选取同步写请求作为目标同步写请求,所述目标同步写请求用于向闪存写入数据;所述终端设备向所述终端设备中的闪存控制器发送所述目标同步写请求,使所述闪存控制器在确定所述闪存的剩余空间大于第一预设阈值之后,执行所述目标同步写请求。实施本发明实施例,在I/O调度处于阻塞状态时,优先处理实时性较高的同步写请求,减少终端设备中的系统卡顿现象。

Description

一种控制写请求的方法及终端设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种控制写请求的方法及终端设备。
背景技术
近年来,手机等终端设备已经成为人们生活中不可或缺的电子产品。终端设备的操作系统可视作一系列软硬件构成的层级结构。例如,在安卓(Android)操作系统中进行数据管理和维护的层级架构从上到下主要包括:数据库管理系统、文件系统、块设备驱动以及底层存储设备。终端设备的文件系统从底层存储设备读写数据的过程中,输入输出(Input/Output,I/O)调度器中将产生相应的I/O请求,其中,I/O请求包括同步请求和异步请求。
在同步请求的过程中,若有多个I/O指令,这多个I/O指令不能立即执行,而是以队列的形式缓存起来,称之为I/O请求队列。I/O请求队列排列主要都是依据I/O数据在存储设备中扇区的先后顺序,按照从前到后的顺序从I/O请求队列中提取出I/O指令依次执行。但是,由于I/O调度器处理同步请求的数据必须全部写入存储设备或者全部从存储设备读出之后才能向系统返回确认值,同步请求才能够执行完毕,在同步请求的处理时间过长或待处理的同步请求过多时,会造成终端设备中的系统卡顿,进而降低了终端设备的性能。
发明内容
本发明实施例提供了一种控制写请求的方法及终端设备,用于在I/O调度处于阻塞状态时,优先处理实时性较高的同步写请求,减少终端设备中的系统卡顿现象。
一方面本发明实施例提供了一种控制写请求的方法,包括:
终端设备判断当前的输入输出I/O请求队列是否处于阻塞状态,所述I/O请求队列中包含同步写请求;
若当前的I/O请求队列处于阻塞状态,则所述终端设备从所述同步写请求中选取同步写请求作为目标同步写请求,所述目标同步写请求用于向闪存写入数据;
所述终端设备向所述终端设备中的闪存控制器发送所述目标同步写请求,使所述闪存控制器在确定所述闪存的剩余空间大于第一预设阈值之后,执行所述目标同步写请求。
作为一种可选的实施方式,所述终端设备判断当前的输入输出I/O请求队列是否处于阻塞状态包括:
终端设备判断当前的输入输出I/O请求队列的等待时间是否大于第二预设阈值。
作为一种可选的实施方式,所述终端设备从所述同步写请求中选取同步写请求作为目标同步写请求,包括:
所述终端设备按照所述I/O请求队列中的同步写请求的实时性需求进行排序;依据排序结果选择实时性需求较高的同步写请求作为目标同步写请求。
作为一种可选的实施方式,所述终端设备向所述终端设备中的闪存控制器发送所述目标同步写请求之前,所述方法还包括:
在所述目标同步写请求中添加加速标识,所述加速标识用于指示所述闪存控制器优先处理所述目标同步写请求。
作为一种可选的实施方式,所述在确定所述闪存的剩余空间大于第一预设阈值之后,所述方法还包括:
所述终端设备提高所述终端设备的中央处理器CPU的工作频率。
作为一种可选的实施方式,所述执行所述目标同步写请求,包括:
所述闪存控制器为所述目标同步写请求分配目标编程页,检测所述目标编程页的噪音容限,根据所述噪音容限设定数据写入的速度值;
依据所述数据写入的速度值向所述闪存内写入所述目标同步写请求请求写入的数据。
本发明实施例二方面提供了一种终端设备,包括:
第一判断单元,用于判断当前的输入输出I/O请求队列是否处于阻塞状态,所述I/O请求队列中包含同步写请求;
选取单元,用于在当前的I/O请求队列处于阻塞状态时,从所述同步写请求中选取同步写请求作为目标同步写请求,所述目标同步写请求用于向闪存写入数据;
发送单元,用于向所述终端设备中的闪存控制器发送所述目标同步写请求,使所述闪存控制器在确定所述闪存的剩余空间大于第一预设阈值之后,执行所述目标同步写请求。
作为一种可选的实施方式,所述第一判断单元,具体用于判断当前的输入输出I/O请求队列的等待时间是否大于第二预设阈值。
作为一种可选的实施方式,所述选取单元,具体用于按照所述I/O请求队列中的同步写请求的实时性需求进行排序,并依据排序结果选择实时性需求较高的同步写请求作为目标同步写请求。
作为一种可选的实施方式,所述终端设备还包括:
添加单元,用于在所述目标同步写请求中添加加速标识,所述加速标识用于指示所述闪存控制器优先处理所述目标同步写请求。
作为一种可选的实施方式,所述终端设备还包括:
CPU处理单元,用于提高所述终端设备的中央处理器CPU的工作频率。
作为一种可选的实施方式,所述终端设备还包括:
分配单元,用于利用所述闪存控制器为所述目标同步写请求分配目标编程页;
检测单元,用于检测所述目标编程页的噪音容限;
速度确定单元,用于根据所述噪音容限设定数据写入的速度值;
写请求处理单元,用于依据所述数据写入的速度值向所述闪存内写入所述目标同步写请求请求写入的数据。
三方面本发明实施例还提供了一种终端设备,包括:处理器和存储器:
所述存储器存储有可执行程序代码;
所述处理器用于调用所述存储器中存储的所述可执行程序代码,执行本发明实施例提供的任意一项所述的方法。
从以上技术方案可以看出,本发明实施例具有以下优点:在终端设备中的I/O调度处于阻塞状态时,从I/O请求队列中选取目标同步写请求,并利用终端设备中的闪存控制器在确定闪存的剩余空间大于第一预设阈值之后,对该目标同步写请求进行优先处理。利用闪存中的剩余空间对目标同步写请求进行优先处理,不需要在I/O请求队列中进行排队,等候处理,从而可以减少终端设备中的系统卡顿现象。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种控制写请求的方法的流程示意图;
图2为本发明实施例公开的另一种控制写请求的方法的流程示意图;
图3为本发明实施例公开的一种控制写请求的终端设备的结构示意图;
图4为本发明实施例公开的另一种控制写请求的终端设备的结构示意图;
图5为本发明实施例公开的一种终端设备的结构示意图;
图6为本发明实施例公开的另一种终端设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种控制写请求的方法及终端设备,用于在I/O调度处于阻塞状态时,优先处理实时性较高的同步写请求,减少终端设备中的系统卡顿现象。以下分别进行详细说明。
请参阅图1,图1为本发明实施例公开的一种控制写请求的方法的流程示意图。其中,图1所示的控制写请求的方法可以包括以下步骤:
101:终端设备判断当前的输入输出I/O请求队列是否处于阻塞状态,该I/O请求队列中包含同步写请求;
本发明实施例中,终端设备包括运行Android操作系统、iOS操作系统、Windows操作系统或其他操作系统的终端设备,例如移动电话、移动电脑、平板电脑、台式电脑、个人数字助理(Personal Digital Assistant,PDA)、智能手表、智能手环等终端设备,本发明实施例后续不作复述。
在终端设备的操作系统中,块设备驱动主要采用I/O调度器进行I/O请求的调度。在处理同步I/O请求时,是按照I/O请求队列按序依次进行处理,可以通过检测当前的I/O请求队列的等待时间来判断是否处于阻塞状态。例如,可以判断当前的I/O请求队列的等待时间是否大于第二预设阈值,若当前的I/O请求队列的等待时间大于第二预设阈值,则表明当前的I/O调度处于阻塞状态。
102:若当前的I/O请求队列处于阻塞状态,则所述终端设备从所述同步写请求中选取同步写请求作为目标同步写请求,所述目标同步写请求用于向闪存写入数据;
本发明实施例中,在I/O请求队列中包含多个同步写请求,若I/O请求队列处于阻塞状态,此时,终端设备可以通过I/O调度器从I/O请求队列中选取同步写请求作为目标同步写请求,该目标同步写请求可以是I/O请求队列中的同步写请求的实时性需求较高的同步写请求。
在终端设备中,不同I/O指令的实时性要求是不一样的。当有大量的I/O读写请求时,可能读写一般的文件中数据要求写入存储设备的实时性并不那么高,但有时也存在对某些关键数据(比如元数据,配置信息)都要求尽快实时地写入存储系统,甚至业务在确保数据实时写入存储设备之前,业务进程一直处于等待状态。因此,在选择目标同步写请求时,可以选择那些实时性需要比较高的同步写请求,该同步写请求可以有一个或者多个。
103:所述终端设备向所述终端设备中的闪存控制器发送所述目标同步写请求,使所述闪存控制器在确定所述闪存的剩余空间大于第一预设阈值之后,执行所述目标同步写请求。
本发明实施例中,终端设备操作系统中的底层存储设备通常是基于闪存的存储设备,例如,底层存储设备可以是嵌入式多媒体卡(Embedded Multi Media Card,eMMC)存储设备,eMMC存储设备包括闪存芯片以及控制闪存芯片进行读取操作的eMMC控制器。应理解,闪存也可以是其它基于闪存的存储设备,闪存控制器也可以是其它能够实现控制闪存读写操作的控制器,本发明实施例对此不作具体限定。其中,终端设备可以通过闪存控制器读写闪存中的数据。
在进行闪存数据写入的过程中,随着写入的次数越来越多,可用的存储空间将越来越少,因此需要判断闪存的剩余空间是否大于第一预设阈值,进而在闪存的剩余空间大于第一预设阈值时,执行上述目标同步写请求。应理解,对于第一预设阈值的设定,可以以不影响对闪存读写数据为准,本发明实施例对此并不作具体限定。
在图1所描述的方法中,终端设备在I/O调度处于阻塞状态时,优先处理实时性较高的同步写请求,减少终端设备中的系统卡顿现象。
请参阅图2,图2为本发明实施例公开的另一种控制写请求的方法的流程示意图。如图2所示,该方法可以包括以下步骤:
201:终端设备判断当前的输入输出I/O请求队列的等待时间是否大于第二预设阈值,上述I/O请求队列中包含同步写请求;
本发明实施例中,I/O请求按照I/O请求队列进行排序等待处理,若当前的I/O请求队列的等待时间大于第二预设阈值,则可以认为I/O调度处于阻塞状态。
作为一种可选的实施方式,还可以将I/O调度器当前处理的I/O请求的处理时间超过第二预设阈值判断为阻塞状态,或者将I/O调度器处理I/O请求队列中的所有I/O请求的处理时间超过第二预设阈值判断为阻塞状态。第二预设阈值的取值不作具体限定,可以是根据实际操作时IO调度器的处理能力确定,也可以根据经验确定。
202:若当前的I/O请求队列处于阻塞状态,则终端设备按照上述I/O请求队列中的同步写请求的实时性需求进行排序;
本发明实施例中,不同I/O指令的实时性要求是不一样的。当有大量的I/O读写请求时,可能读写一般的文件中数据要求写入存储设备的实时性并不那么高,但有时也存在对某些关键数据(比如元数据,配置信息)都要求尽快实时地写入存储系统,甚至业务在确保数据实时写入存储设备之前,业务进程一直处于等待状态。因此,在选择目标同步写请求时,可以将I/O请求队列中的同步写请求按照实时性需求进行排序,并根据排序结果选择那些实时性需要比较高的同步写请求,该同步写请求可以有一个或者多个。
203:依据排序结果选择实时性需求较高的同步写请求作为目标同步写请求,上述目标同步写请求用于向闪存写入数据;
本发明实施例中,终端设备操作系统中的底层存储设备通常是基于闪存的存储设备,例如,底层存储设备可以是嵌入式多媒体卡(Embedded Multi Media Card,eMMC)存储设备,eMMC存储设备包括闪存芯片以及控制闪存芯片进行读取操作的eMMC控制器。应理解,闪存也可以是其它基于闪存的存储设备,闪存控制器也可以是其它能够实现控制闪存读写操作的控制器,本发明实施例对此不作具体限定。其中,终端设备可以通过闪存控制器读写闪存中的数据。
204:在上述目标同步写请求中添加加速标识,该加速标识用于指示闪存控制器优先处理上述目标同步写请求;
本发明实施例中,通过IO调度器对目标同步写请求添加加速标志的方法不作限定,例如,IO调度器可以在同步写请求之中增加一个标志位,该标志位可以为1个比特或几个比特。当IO调度器确定目标同步写请求之后,可以在目标同步写请求中的标志位放置加速标志。或者,在同步写请求中增加标志位,也可以理解为,在同步写请求所对应的数据参数中增加一个加速标志位参数,如果确定同步写请求为目标同步写请求之后,可以将该加速标志位参数置为预先规定的数值。例如,当标志位为1个比特位时,可以设定标志位的符号为1时,表示对上述目标同步写请求进行优先处理,应理解,该优先处理可以包括对该目标同步写请求进行加速处理。
205:终端设备向终端设备中的闪存控制器发送上述目标同步写请求;
206:闪存控制器确定闪存的剩余空间是否大于第一预设阈值;
本发明实施例中,闪存控制器在从I/O调度器接收到目标同步写请求之后,首先确定上述目标同步写请求中是否包括加速标志。以eMMC控制器为例,可以对现有技术中的eMMC控制器的功能进行扩展,使eMMC控制器能够识别在I/O调度器中被添加加速标志的目标同步写请求。若eMMC控制器确定收到的同步写请求中不包含加速标志,则可以按照普通模式处理上述目标同步写请求。可选地,当eMMC控制器接收到目标同步写请求之后,可以通过加速标志确定上述目标同步写请求是否需要加速处理,然后确定闪存的剩余空间的大小,以确定能否对上述目标同步写请求进行加速处理。若闪存的空闲空间的大小大于第一预设阈值,则对上述目标同步写请求进行加速处理,若闪存的空闲空间的大小小于第一预设阈值,则可以按照普通模式处理上述目标同步写请求。
207:若闪存的剩余空间大于第一预设阈值,则提高终端设备的中央处理器CPU的工作频率;
本发明实施例中,在处理目标同步写请求时,若目标同步写请求中含有加速标识,并且闪存的剩余空间大于第一预设阈值,则可以对该目标同步写请求进行加速处理,此时可以同时提高中央处理器的工作频率,保证对目标同步写请求的加速处理可以顺利进行。
208:闪存控制器为上述目标同步写请求分配目标编程页,检测该目标编程页的噪音容限,根据上述噪音容限设定数据写入的速度值;
本发明实施例中,闪存中包括多个闪存芯片,闪存芯片数据读写操作以页面(page)作为基本单位,每一页面内所包含的用户数据通常为4096字节(byte)、8192字节或16384字节。一定数量(如256、512)的存储页面组成一个存储块,闪存芯片由大量同等大小的存储块以及必须的外围辅助电路构成。并且每一闪存芯片以闪存页面作为最小的存储单元,也就是说,闪存页面是写入数据或读取数据的最小单元。
在闪存中,以多级存储单元(Multiple Level Cell,MLC)闪存为例,一般存在最高有效位(Most Significant Bit,MSB)页与最低有效位(least Significant Bit,LSB)页,在编程的过程中,MSB页的编程速度要快于LSB页,在为目标同步写请求分配编程页时,可以设定为数据只写入MSB页,而跳过LSB页,从而可以加快闪存控制器处理目标同步写请求的速度。
在为目标同步写请求分配目标编程页之后,检测该目标编程页的噪音容限,也即检测该目标编程页的最差可能的噪音容限;可选地,可以通过检测当前被读出的编程页的数据中所含的错误比特数以估算该编程页的噪音容限;并根据上述最差可能的噪音容限设定该目标编程页的最大允许的数据写入速度(即编程步长)。
209:依据上述数据写入的速度值向闪存内写入上述目标同步写请求请求写入的数据。
在图2所描述的方法中,通过为目标同步写请求添加加速标识,从而在闪存控制器将该目标同步写请求写入闪存时,可以对该目标同步写请求进行加速处理,从而可以减少I/O请求队列的等待时间,减少系统卡顿现象。
请参阅图3,图3是本发明的一个实施例提供的一种控制写请求的终端设备的结构示意图。其中,该终端设备可以是智能手机、平板电脑、智能穿戴设备等终端设备。该终端设备包括:
第一判断单元301,用于判断当前的输入输出I/O请求队列是否处于阻塞状态,上述I/O请求队列中包含同步写请求;
选取单元302,用于在当前的I/O请求队列处于阻塞状态时,从上述同步写请求中选取同步写请求作为目标同步写请求,该目标同步写请求用于向闪存写入数据;
发送单元303,用于向终端设备中的闪存控制器发送上述目标同步写请求,使闪存控制器在确定闪存的剩余空间大于第一预设阈值之后,执行上述目标同步写请求。
本发明实施例中,各功能单元的具体实施方式可以参照方法实施例1中的描述,本发明实施例将不作复述。
本发明实施例中,在通过第一判断单元301判断当前的输入输出I/O请求队列处于阻塞状态时,通过选取单元302从上述I/O请求队列中的同步写请求中选取某一个或者多个同步写请求作为目标同步写请求,该目标同步写请求用于向闪存写入数据,最后通过发送单元303向终端设备中的闪存控制器发送上述目标同步写请求,使闪存控制器在确定闪存的剩余空间大于第一预设阈值之后,执行上述目标同步写请求。
作为一种可选的实施方式,上述第一判断单元301,具体用于判断当前的输入输出I/O请求队列的等待时间是否大于第二预设阈值。
作为一种可选的实施方式,上述选取单元302,具体用于按照I/O请求队列中的同步写请求的实时性需求进行排序,并依据排序结果选择实时性需求较高的同步写请求作为目标同步写请求。
请一并参阅图4,图4为本发明实施例公开的另一种控制写请求的终端设备的结构示意图。其中,图4所示的终端设备是由图3所示的终端设备进行优化得到的,与图3所示的终端设备相比,图4所示的终端设备还包括:
添加单元304,用于在上述目标同步写请求中添加加速标识,该加速标识用于指示闪存控制器优先处理上述目标同步写请求。
其中,通过添加单元304在选取单元302选取出目标通过写请求之后,为该目标同步写请求添加加速标识,从而闪存控制器可以通过识别该加速标识,进而对该目标同步写请求进行加速处理。
可选地,在图4所示的终端设备中,该终端设备还包括:
CPU处理单元305,用于提高终端设备的中央处理器CPU的工作频率。
其中,通过CPU处理单元305在确定闪存的剩余空间大于第一预设阈值之后,提高中央处理器的工作频率,从而可以保证闪存控制器对目标同步写请求的加速处理的正常执行。
可选地,在图4所示的终端设备中,该终端设备还包括:
分配单元306,用于利用闪存控制器为上述目标同步写请求分配目标编程页;
检测单元307,用于检测上述目标编程页的噪音容限;
速度确定单元308,用于根据上述噪音容限设定数据写入的速度值;
写请求处理单元309,用于依据上述数据写入的速度值向闪存内写入上述目标同步写请求请求写入的数据。
其中,通过分配单元306、检测单元307以及速度确定单元308可以确定出一个合适的数据写入速度值,通过写请求处理单元309可以采用上述确定出的速度值对上述目标同步写请求进行加速处理。
请参阅图5,图5为本发明实施例公开的一种终端设备的结构示意图。如图5所示,该终端设备包括:处理器501以及存储器502;其中存储器502可以用于处理器501执行数据处理所需要的缓存,还可以用于提供处理器501执行数据处理调用的数据以及获得的结果数据的存储空间。
在本发明实施例中,处理器501通过调用存储于存储器502中的程序代码,用于执行以下操作:
判断当前的输入输出I/O请求队列是否处于阻塞状态,上述I/O请求队列中包含同步写请求;
若当前的I/O请求队列处于阻塞状态,则从上述同步写请求中选取同步写请求作为目标同步写请求,上述目标同步写请求用于向闪存写入数据;
向终端设备中的闪存控制器发送上述目标同步写请求,使闪存控制器在确定闪存的剩余空间大于第一预设阈值之后,执行上述目标同步写请求。
作为一种可选的实施方式,处理器501通过调用存储于存储器502中的程序代码,判断当前的输入输出I/O请求队列是否处于阻塞状态包括:判断当前的输入输出I/O请求队列的等待时间是否大于第二预设阈值。
作为一种可选的实施方式,处理器501通过调用存储于存储器502中的程序代码,从上述同步写请求中选取同步写请求作为目标同步写请求,包括:按照上述I/O请求队列中的同步写请求的实时性需求进行排序;依据排序结果选择实时性需求较高的同步写请求作为目标同步写请求。
作为一种可选的实施方式,处理器501通过调用存储于存储器502中的程序代码,向终端设备中的闪存控制器发送上述目标同步写请求之前,还用以执行以下操作:
在上述目标同步写请求中添加加速标识,该加速标识用于指示闪存控制器优先处理上述目标同步写请求。
作为一种可选的实施方式,处理器501通过调用存储于存储器502中的程序代码,在确定闪存的剩余空间大于第一预设阈值之后,还用以执行以下操作:
提高终端设备的中央处理器CPU的工作频率。
作为一种可选的实施方式,处理器501通过调用存储于存储器502中的程序代码,执行上述目标同步写请求,包括:
闪存控制器为上述目标同步写请求分配目标编程页,检测上述目标编程页的噪音容限,根据上述噪音容限设定数据写入的速度值;
依据上述数据写入的速度值向闪存内写入上述目标同步写请求请求写入的数据。
请参阅图6,图6为本发明实施例公开的另一种终端设备的结构示意图。如图6所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端设备可以为包括手机、平板电脑、PDA(Personal DigitalAssistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端设备为手机为例:
图6示出的是与本发明实施例提供的终端设备相关的手机的部分结构的框图。参考图6,手机包括:射频(Radio Frequency,RF)电路601、存储器602、输入单元603、显示单元604、传感器605、音频电路606、无线保真(wireless fidelity,WiFi)模块607、处理器608、以及电源609等部件。本领域技术人员可以理解,图6中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图6对手机的各个构成部件进行具体的介绍:
RF电路601可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器608处理;另外,将设计上行的数据发送给基站。通常,RF电路601包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路601还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器602可用于存储软件程序以及模块,处理器608通过运行存储在存储器602的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元603可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元603可包括触控面板6031以及其他输入设备6032。触控面板6031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板6031上或在触控面板6031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板6031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器608,并能接收处理器608发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6031。除了触控面板6031,输入单元603还可以包括其他输入设备6032。具体地,其他输入设备6032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元604可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元604可包括显示面板6041,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板6041。进一步的,触控面板6031可覆盖显示面板6041,当触控面板6031检测到在其上或附近的触摸操作后,传送给处理器608以确定触摸事件的类型,随后处理器608根据触摸事件的类型在显示面板6041上提供相应的视觉输出。虽然在图6中,触控面板6031与显示面板6041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板6031与显示面板6041集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板6041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板6041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路606、扬声器6061,传声器6062可提供用户与手机之间的音频接口。音频电路606可将接收到的音频数据转换后的电信号,传输到扬声器6061,由扬声器6061转换为声音信号输出;另一方面,传声器6062将收集的声音信号转换为电信号,由音频电路606接收后转换为音频数据,再将音频数据输出处理器608处理后,经RF电路601以发送给比如另一手机,或者将音频数据输出至存储器602以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块607可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块607,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器608是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器608可包括一个或多个处理单元;优选的,处理器608可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器608中。
手机还包括给各个部件供电的电源609(比如电池),优选的,电源可以通过电源管理系统与处理器608逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
前述实施例中,各步骤方法流程可以基于该终端设备的结构实现。其中I/O调度器和闪存控制器均可视为处理器608的抽象化结构的组成部分。
前述图1、图2所示的实施例中,各步骤方法流程可以基于该手机的结构实现。前述图3、图4、图5所示的实施例中,各单元功能可以基于该手机的结构实现。
值得注意的是,上述控制写请求的终端设备的实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (5)

1.一种控制写请求的方法,其特征在于,包括:
终端设备判断当前的输入输出I/O请求队列是否处于阻塞状态,所述I/O请求队列中包含同步写请求,其中,所述同步写请求用于写入元数据或者配置信息;
若当前的I/O请求队列处于阻塞状态,则所述终端设备从所述同步写请求中选取同步写请求作为目标同步写请求,所述目标同步写请求用于向闪存写入数据;其中,所述终端设备从所述同步写请求中选取同步写请求作为目标同步写请求,包括:所述终端设备按照所述I/O请求队列中的同步写请求的实时性需求进行排序;依据排序结果选择实时性需求较高的同步写请求作为目标同步写请求;
在所述目标同步写请求中添加加速标识,所述加速标识用于指示闪存控制器优先处理所述目标同步写请求;
所述终端设备向所述终端设备中的闪存控制器发送所述目标同步写请求,使所述闪存控制器在确定所述闪存的剩余空间大于第一预设阈值之后,所述终端设备提高所述终端设备的中央处理器CPU的工作频率,
检测当前被读出的编程页的数据中所含的错误比特数以估算该编程页的噪音容限;
所述闪存控制器为所述目标同步写请求分配目标编程页,检测所述目标编程页的噪音容限,根据最差可能的噪音容限设定所述目标编程页的最大允许的数据写入速度,其中,所述目标编程页为最高有效位页;
依据所述数据写入的速度值向所述闪存内写入所述目标同步写请求写入的数据。
2.根据权利要求1所述方法,其特征在于,所述终端设备判断当前的输入输出I/O请求队列是否处于阻塞状态包括:
终端设备判断当前的输入输出I/O请求队列的等待时间是否大于第二预设阈值。
3.一种终端设备,其特征在于,包括:
第一判断单元,用于判断当前的输入输出I/O请求队列是否处于阻塞状态,所述I/O请求队列中包含同步写请求,其中,所述同步写请求用于写入元数据或者配置信息;
选取单元,用于在当前的I/O请求队列处于阻塞状态时,从所述同步写请求中选取同步写请求作为目标同步写请求,所述目标同步写请求用于向闪存写入数据;其中,所述选取单元,具体用于按照所述I/O请求队列中的同步写请求的实时性需求进行排序,并依据排序结果选择实时性需求较高的同步写请求作为目标同步写请求;
添加单元,用于在所述目标同步写请求中添加加速标识,所述加速标识用于指示闪存控制器优先处理所述目标同步写请求;
发送单元,用于向所述终端设备中的闪存控制器发送所述目标同步写请求,使所述闪存控制器在确定所述闪存的剩余空间大于第一预设阈值之后,令:
CPU处理单元,用于提高所述终端设备的中央处理器CPU的工作频率;
检测单元,用于检测当前被读出的编程页的数据中所含的错误比特数以估算该编程页的噪音容限;
分配单元,用于利用所述闪存控制器为所述目标同步写请求分配目标编程页,其中,所述目标编程页为最高有效位页;
检测单元,用于检测所述目标编程页的噪音容限;
速度确定单元,用于根据最差可能的噪音容限设定所述目标编程页的最大允许的数据写入速度;
写请求处理单元,用于依据所述数据写入的速度值向所述闪存内写入所述目标同步写请求请求写入的数据。
4.根据权利要求3所述终端设备,其特征在于,
所述第一判断单元,具体用于判断当前的输入输出I/O请求队列的等待时间是否大于第二预设阈值。
5.一种终端设备,包括:处理器和存储器,其特征在于,
所述存储器存储有可执行程序代码;
所述处理器用于调用所述存储器中存储的所述可执行程序代码,执行权利要求1至2任意一项所述的方法。
CN201610717818.4A 2016-08-24 2016-08-24 一种控制写请求的方法及终端设备 Expired - Fee Related CN106325994B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610717818.4A CN106325994B (zh) 2016-08-24 2016-08-24 一种控制写请求的方法及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610717818.4A CN106325994B (zh) 2016-08-24 2016-08-24 一种控制写请求的方法及终端设备

Publications (2)

Publication Number Publication Date
CN106325994A CN106325994A (zh) 2017-01-11
CN106325994B true CN106325994B (zh) 2018-05-29

Family

ID=57790595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610717818.4A Expired - Fee Related CN106325994B (zh) 2016-08-24 2016-08-24 一种控制写请求的方法及终端设备

Country Status (1)

Country Link
CN (1) CN106325994B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646069A (zh) * 2012-02-23 2012-08-22 华中科技大学 一种延长固态盘使用寿命的方法
CN104090847A (zh) * 2014-06-25 2014-10-08 华中科技大学 一种固态存储设备的地址分配方法
CN104317656A (zh) * 2014-10-14 2015-01-28 深圳市锐明视讯技术有限公司 一种块设备输入输出请求调度的方法及装置
CN105511806A (zh) * 2015-11-30 2016-04-20 华为技术有限公司 处理写请求的方法和移动终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646069A (zh) * 2012-02-23 2012-08-22 华中科技大学 一种延长固态盘使用寿命的方法
CN104090847A (zh) * 2014-06-25 2014-10-08 华中科技大学 一种固态存储设备的地址分配方法
CN104317656A (zh) * 2014-10-14 2015-01-28 深圳市锐明视讯技术有限公司 一种块设备输入输出请求调度的方法及装置
CN105511806A (zh) * 2015-11-30 2016-04-20 华为技术有限公司 处理写请求的方法和移动终端

Also Published As

Publication number Publication date
CN106325994A (zh) 2017-01-11

Similar Documents

Publication Publication Date Title
CN110324489B (zh) 一种移动终端显示多个应用窗口的方法及移动终端
CN106484562B (zh) 一种数据传输处理方法及终端设备
CN107908952B (zh) 识别真机和模拟器的方法、装置和终端
CN104852885B (zh) 一种进行验证码验证的方法、装置和系统
CN108430101A (zh) 天线关闭方法、装置、存储介质和电子设备
CN108170500A (zh) 下载进度刷新方法、终端设备及计算机可读存储介质
CN106776036A (zh) 一种资源分配方法及装置
CN106170034B (zh) 一种音效处理方法及移动终端
CN104077184B (zh) 一种应用程序的进程控制方法及计算机系统
CN108920220B (zh) 一种函数调用的方法、装置及终端
CN111966491B (zh) 统计占用内存的方法及终端设备
US11520841B2 (en) Information recommendation method, terminal device, and server
CN107766139A (zh) 应用管理方法及装置
CN107656754A (zh) 恢复设置参数的方法及其用户设备
CN106201748A (zh) 一种基于移动终端的消息处理的方法、装置及移动终端
CN107153576A (zh) 一种内存资源的分配方法及终端设备
CN106502833A (zh) 数据备份方法及装置
CN108615158B (zh) 风险检测方法、装置、移动终端和存储介质
CN107066860A (zh) 一种指纹识别方法及移动终端
US9479888B2 (en) Methods and apparatus for implementing sound events
WO2018036337A1 (zh) 卸载界面的显示方法及装置
CN112612552A (zh) 应用程序资源加载方法、装置、电子设备及可读存储介质
CN106066814B (zh) 一种应用控制方法及移动终端
CN107622234A (zh) 一种显示萌脸礼物的方法和装置
CN106383870A (zh) 一种图片播放方法及移动终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Patentee after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Patentee before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

CP01 Change in the name or title of a patent holder
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180529

CF01 Termination of patent right due to non-payment of annual fee