WO2017092596A1 - 处理写请求的方法和移动终端 - Google Patents

处理写请求的方法和移动终端 Download PDF

Info

Publication number
WO2017092596A1
WO2017092596A1 PCT/CN2016/106959 CN2016106959W WO2017092596A1 WO 2017092596 A1 WO2017092596 A1 WO 2017092596A1 CN 2016106959 W CN2016106959 W CN 2016106959W WO 2017092596 A1 WO2017092596 A1 WO 2017092596A1
Authority
WO
WIPO (PCT)
Prior art keywords
write request
synchronous write
scheduler
flash memory
request
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.)
Ceased
Application number
PCT/CN2016/106959
Other languages
English (en)
French (fr)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to KR1020187017980A priority Critical patent/KR20180088419A/ko
Priority to EP16869906.4A priority patent/EP3376359A4/en
Publication of WO2017092596A1 publication Critical patent/WO2017092596A1/zh
Priority to US15/992,516 priority patent/US10437519B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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]
    • 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/725Cordless telephones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Definitions

  • the embodiments of the present application relate to the field of mobile terminals, and in particular, to a method for processing a write request and a mobile terminal.
  • the operating system of a mobile terminal can be regarded as a hierarchical structure of a series of hardware and software.
  • the hierarchical structure for data management and maintenance in the Android operating system mainly includes: a database management system, a file system, a block device driver, and an underlying storage device.
  • the block device driver mainly uses an input and output (IO) scheduler to perform IO request scheduling.
  • the underlying storage device is usually a flash-based storage device.
  • the underlying storage device may be an Embedded Multi Media Card (eMMC) storage device, and the eMMC storage device includes a flash memory chip and an eMMC that controls the flash chip for reading operations. Controller.
  • eMMC Embedded Multi Media Card
  • IO requests include synchronous requests and asynchronous requests.
  • the IO scheduler processes the synchronization request, the requested data must all be written to the storage device or all read out from the storage device before the confirmation value can be returned to the system, so that the synchronization request can be executed. If the processing time of the synchronization request is too long or the number of synchronization requests to be processed is too large, that is, when the IO scheduling is blocked, the system may be stuck and the performance is degraded in the mobile terminal, which may affect the user experience.
  • the embodiment of the present application discloses a method for processing a write request and a mobile terminal to reduce the situation in which the system is stuck in the mobile terminal.
  • a method for processing a write request comprising: an input/output IO scheduler in a mobile terminal determines that a current IO schedule is in a blocked state, the blocked state including the IO The scheduler processes the state in which the processing time of the IO request is greater than the first preset threshold; the IO scheduler selects a target synchronous write request from the IO request to be processed, and the target synchronous write request is used to write data to the flash memory of the mobile terminal.
  • the IO scheduler adds an acceleration flag to the target synchronous write request, the acceleration flag is used to instruct the flash controller to use the free space of the flash memory to speed up the target synchronous write request; the flash controller from the IO scheduler After receiving the target synchronous write request including the acceleration flag, the flash controller determines a size of a free space of the flash memory; when the size of the free space of the flash memory is greater than a second preset threshold, the flash controller utilizes the flash memory The free space speeds up the target synchronous write request.
  • the method further includes: the IO scheduler selects a target synchronous write request from the IO request to be processed, including: the IO scheduler from the IO A synchronous write request with the highest ranking is selected in the request queue; the IO scheduler determines the highest synchronous write request of the sort as the target synchronous write request.
  • the method further includes: the IO scheduler in the mobile terminal determines that the current IO schedule is
  • the blocking state includes: the IO scheduler determines the number of IO requests to be processed in the IO request queue; when the number of the IO requests to be processed is greater than the first threshold, the IO scheduler determines that the current IO schedule is Blocking state.
  • the method further includes: the IO scheduler in the mobile terminal determines that the IO scheduling is in a blocking state
  • the method includes: determining, by the IO scheduler, a processing time of a write request or a read request currently being processed; when the processing time is greater than a second threshold, the IO scheduler determines that the current IO schedule is in a blocked state.
  • the flash controller is The target synchronous write request is accelerated, including: the flash controller allocates a fast programming page for the target synchronous write request; the flash controller uses the fast programming page to speed up the target synchronous write request.
  • the flash controller utilizes the free space of the flash memory to target the After the synchronous write request is accelerated, determining the size of the free space of the flash memory; when the size of the free space of the flash memory is less than the third threshold, the flash controller is reclaimed as the target A write page that is generated when a request is made to allocate the quick programming page.
  • a second aspect provides a mobile terminal for processing a write request, the mobile terminal comprising: a processor, configured to determine, by using an input/output IO scheduler, that a current IO schedule is in a blocking state, the blocking state including the IO scheduler processing The processing time of the IO request is greater than the state of the first preset threshold; the target synchronous write request is selected from the IO request to be processed, the target synchronous write request is used to write data to the flash memory of the mobile terminal, and the synchronous write request is performed at the target Adding an acceleration flag, the acceleration flag is used to instruct the flash controller to accelerate the target synchronous write request by using the free space of the flash memory; and the flash controller is configured to receive the target synchronous write including the acceleration flag from the processor After the request, the size of the free space of the flash memory is determined. When the size of the free space of the flash memory is greater than a second preset threshold, the target synchronous write request is accelerated by the free space of the flash memory.
  • the processor is specifically configured to: use the IO scheduler to select a top-ranked synchronous write request from an IO request queue; The previous synchronous write request determines to synchronize the write request for the target.
  • the processor is specifically configured to: determine, by using the IO scheduler, an IO request queue The number of IO requests processed; when the number of IO requests to be processed is greater than the first threshold, it is determined that the current IO scheduling is in a blocked state.
  • the processor is specifically configured to: determine, by using the IO scheduler, a write request currently being processed Or the processing time of the read request; when the processing time is greater than the second threshold, it is determined that the current IO schedule is in a blocked state.
  • the flash controller is specifically used And: assigning a quick programming page to the target synchronous write request; using the fast programming page, the target synchronous write request is accelerated.
  • the flash controller is specifically configured to: accelerate the target synchronous write request by utilizing the free space of the flash memory After processing, the size of the free space of the flash memory is determined; when the size of the free space of the flash memory is less than the third threshold, the lost page generated when the quick programming page is allocated for the target synchronous write request is recovered.
  • the IO scheduler in the mobile terminal determines that the current IO schedule is in After the blocking state, the target synchronous write request is selected from the IO request to be processed, and an acceleration flag is added in the target synchronous write request, so that the flash controller receives the target synchronous write request including the acceleration flag, and determines the flash memory. After the size of the free space is greater than the second predetermined threshold, the target synchronous write request is accelerated, so that the system jam caused by processing the synchronization request in the mobile terminal can be reduced.
  • FIG. 1 is a schematic structural diagram of a mobile terminal according to an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a method of processing a write request according to an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a mobile terminal 300 that processes a write request in accordance with an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a mobile terminal 400 that processes a write request in accordance with an embodiment of the present application.
  • the method for processing a write request in the embodiment of the present application may be applied to a mobile terminal, which may be referred to as a terminal, a mobile station ("MS" for short) or a user.
  • a mobile terminal which may be referred to as a terminal, a mobile station ("MS" for short) or a user.
  • Equipment User Equipment, referred to as "UE"
  • the mobile terminal may communicate with one or more core networks via a Radio Access Network (RAN), for example, the mobile terminal may be a mobile phone (or "cellular" phone).
  • RAN Radio Access Network
  • the mobile terminal may be a mobile phone (or "cellular" phone).
  • the mobile terminal can also be a portable, pocket, handheld, computer built-in or in-vehicle mobile device.
  • the mobile terminal in the embodiment of the present application may include a host, a flash memory, and a flash controller, and the host reads and writes data in the flash memory through the flash controller.
  • FIG. 1 shows a schematic structural diagram of a mobile terminal in an embodiment of the present application.
  • the IO scheduler in the host can control the read and write operations of the flash memory through the flash controller.
  • the IO scheduler can be connected to the flash controller through an interface, and the flash controller can be connected to the flash memory through the flash interface to implement control of the flash memory.
  • the flash memory in the embodiment of the present application may be a flash memory chip in an Embedded Multi Media Card (eMMC) storage device, and the flash controller may be an eMMC controller in an eMMC storage device. Flash memory can also be other flash-based storage devices, flash memory The controller may also be another controller capable of controlling the read and write operations of the flash memory, which is not specifically limited in this embodiment of the present application.
  • eMMC Embedded Multi Media Card
  • FIG. 2 is a schematic flowchart of a method 200 for processing a write request according to an embodiment of the present application. As shown in FIG. 2, the method 200 includes:
  • the IO scheduler in the mobile terminal determines that the current IO schedule is in a blocking state, where the blocking state includes a state in which the processing time of the IO scheduler processing the IO request is greater than a first preset threshold.
  • the IO scheduler selects a target synchronous write request from the IO request to be processed, where the target synchronous write request is used to write data to the flash memory of the mobile terminal.
  • the IO scheduler adds an acceleration flag to the target synchronous write request, where the acceleration flag is used to instruct the flash controller to use the free space of the flash memory to speed up the target synchronous write request;
  • the flash controller After the flash controller receives the target synchronous write request including the acceleration flag from the IO scheduler, the flash controller determines a size of a free space of the flash memory.
  • the flash controller utilizes the free space of the flash memory to speed up the target synchronous write request.
  • the IO scheduler in the mobile terminal selects a target synchronous write request from the IO request to be processed, and adds an acceleration flag to the target synchronous write request. So that the flash controller can accelerate the target synchronous write request after receiving the target synchronous write request including the acceleration flag and determining that the size of the free space of the flash memory is greater than a second preset threshold, thereby being capable of reducing A situation in the mobile terminal that is caused by a system stall due to processing of a synchronization request.
  • the processing time of the IO scheduler processing the IO request may include that the IO scheduler processes the IO request and returns an acknowledgement to the system after generating the IO request (including the read request and the write request). The time the value was used.
  • the processing time of processing the IO request described above may include waiting time for the IO request to be processed or execution time for executing the IO request.
  • the processing of the IO request described above may include the process of writing an IO request to or reading from the flash memory in accordance with the IO request.
  • the blocking state in the embodiment of the present application may refer to that the processing time of the IO request currently processed by the IO scheduler exceeds a first preset threshold, and may also refer to a processing time of the IO scheduler processing all IO requests in the IO request queue. Exceeding the first preset threshold.
  • the blocking state may include a case where the waiting time of the IO request to be processed in the IO scheduler exceeds a first preset threshold.
  • the value of the first preset threshold is not specifically limited in the embodiment, and may be determined according to the processing capability of the IO scheduler during actual operation, or may be determined according to experience.
  • the method used by the IO scheduler to determine that the current IO scheduling is in the blocking state is not limited, and may determine that the processing time of the current IO scheduler processing the IO request exceeds a certain threshold, thereby determining the current IO.
  • the schedule is blocked.
  • other methods defined by those skilled in the art for determining that the IO schedule is in a blocked state may be included.
  • selecting the target synchronous write request from the IO request may be selecting one or several synchronous write requests in the IO request to be processed.
  • the IO scheduler selects a target synchronous write request from the IO request to be processed. It can be understood that the IO scheduler selects at least one synchronous write request from the synchronous write request in the IO request to be processed, and the at least one A synchronous write request is determined to be a target synchronous write request.
  • the at least one target synchronous write request may be one or more of the synchronous write requests to be processed, or may be all of the synchronous write requests to be processed.
  • the method for adding an acceleration flag to the IO scheduler is not limited in the embodiment of the present application.
  • the IO scheduler may add a flag bit in the synchronous write request, and the flag bit may be 1 bit or several bits. .
  • the acceleration flag can be placed in the flag bit in the target synchronous write request.
  • adding a flag bit in the synchronous write request may also be understood as adding an acceleration flag bit parameter to the data parameter corresponding to the synchronous write request, and if the synchronous write request is determined to be the target synchronous write request, the acceleration may be performed.
  • the flag bit parameter is set to a predetermined value. For example, when the flag bit is 1 bit, the sign of the flag bit can be set to 1, indicating that the target synchronous write request is accelerated.
  • the flash controller may determine whether the acceleration flag is included in the target synchronous write request.
  • the flash controller as an eMMC controller as an example, the function of the prior art eMMC controller can be extended to enable the eMMC controller to recognize the target synchronous write request to which the acceleration flag is added in the IO scheduler. If the eMMC controller determines that the received isochronous write request does not include an acceleration flag, then the synchronous write request may be processed in the normal mode.
  • the target synchronous write request may be determined by an acceleration flag, and then the size of the free space of the flash memory is determined to determine whether to accelerate the target synchronous write request. .
  • Synchronous write request to the target if the size of the free space of the flash memory is greater than a second predetermined threshold The acceleration processing is performed. If the size of the free space of the flash memory is less than the second preset threshold, the target synchronous write request may be processed in the normal mode.
  • the flash controller accelerates the target synchronous write request, it will waste a certain amount of space on the flash memory, that is, when the flash controller accelerates the target synchronous write request, it will occupy more time than the normal processing mode. More space. Therefore, in the embodiment of the present application, when the flash controller receives the target synchronous write request including the acceleration flag, it may be determined whether the current free space size can be accelerated, when the size of the free space is greater than the second preset threshold. , indicating that the size of the free space can be accelerated. When the size of the free space is less than the second predetermined threshold, it indicates that the size of the free space cannot be accelerated.
  • the second preset threshold may be set to be slightly larger than the garbage collection threshold of the flash memory.
  • the specific method for the flash controller to accelerate the target synchronous write request is not limited in the embodiment of the present application.
  • the target synchronous write request can be accelerated using the acceleration method in the prior art.
  • the IO scheduler selects a target synchronous write request from the IO request to be processed, including: the IO scheduler is in the IO request queue. The top-ranked synchronous write request is selected; the IO scheduler determines the highest-order synchronous write request as the target synchronous write request.
  • the method for selecting a target synchronous write request by the IO scheduler is not limited in the embodiment of the present application.
  • the IO scheduler may traverse the IO request queue by using some traversal method, and select the highest ranked synchronization from the IO request queue. The request is written and the highest ranked synchronous write request is determined as the target synchronous write request.
  • the IO scheduler processes IO requests sequentially from front to back according to the ordering of the IO request queues. In other words, the higher the IO request is ranked in the IO request queue, the earlier it is processed.
  • the IO scheduling is in the blocking state, the highest synchronous write request in the IO request queue is selected as the target synchronous write request, and the acceleration flag is added in the target synchronous write request because the target synchronous write request is sorted first. Compared with the sorted synchronous write request, it can be sent to the flash controller earlier by the IO scheduler, so that the flash controller performs acceleration processing, thereby alleviating the IO blocking state and reducing the system card in a shorter time. The situation of Dunton.
  • the IO scheduler in the mobile terminal determines that the current IO schedule is in a blocked state, including: the IO The scheduler determines the number of IO requests to be processed in the IO request queue. When the number of IO requests to be processed is greater than the first threshold, the IO scheduler determines that the current IO schedule is in a blocked state.
  • the setting of the first threshold is not specifically limited.
  • the first threshold can be set according to current system requirements, or can be set according to experience.
  • the IO scheduler in the mobile terminal determines that the IO scheduling is in a blocking state, including: the IO scheduler determines a write request currently being processed. Or the processing time of the read request; when the processing time is greater than the second threshold, the IO scheduler determines that the current IO schedule is in a blocked state.
  • the current IO scheduler can learn the capability of processing the IO request, thereby determining whether the current IO scheduler is in the blocked state.
  • the write request in the embodiment of the present application may include a synchronous write request, and may also include an asynchronous write request. It should be understood that all read requests generated by the IO scheduler in the mobile terminal during the read and write operations belong to the synchronization request.
  • the setting of the second threshold is not specifically limited in the embodiment of the present application.
  • the second threshold can be set according to current system requirements, or can be set according to experience.
  • the flash controller uses the free space of the flash memory to speed up the target synchronous write request, including: the flash controller is The target synchronous write request allocates a quick programming page; the flash controller uses the fast programming page to speed up the target synchronous write request.
  • the specific method for the flash controller to use the quick programming page for the acceleration processing is not limited.
  • the flash memory is a multiple level cell (MLC) flash memory
  • each memory cell in the MLC flash memory can be programmed with two bits, which are respectively the Most Significant Bit (MSB) and the least effective.
  • the Least Significant (LSB) has MSB pages and LSB pages in the corresponding MLC flash memory.
  • the MSB pages are all composed of MSBs, and the LSB pages are all composed of LSBs.
  • the MSB page is programmed faster than the LSB page during programming.
  • a fast programming page is allocated for a target synchronous write request, it can be set to write data only to the MSB page, skipping the LSB page, thereby speeding up the flash controller processing the target synchronous write request.
  • the method further includes: after the flash controller accelerates the target synchronous write request by using the free space of the flash memory, determining a size of the free space of the flash memory; when the size of the free space of the flash memory is less than a third threshold, the flash memory The controller reclaims the loss page generated when the quick programming page is allocated for the target synchronous write request.
  • the third threshold may be a garbage collection threshold of the flash memory.
  • the flash controller needs to clean up and recover the space of the flash memory, thereby reclaiming the fast programming page when the target synchronous write request is allocated. The resulting loss page.
  • the LSB page in the flash does not write data, but occupies the storage space of the flash memory, and the LSB page allocates a quick programming page to the target synchronous write request.
  • the resulting loss page Priority recovery of the loss page can reduce the waste of flash space and improve the utilization of flash space.
  • the flash controller as the eMMC controller as an example
  • the function mechanism in the eMMC controller can be set to set the loss page as an invalid page, and in the garbage collection process, the loss page generated during the acceleration processing can be recovered. To improve the utilization of flash space.
  • FIG. 3 is a schematic diagram of a mobile terminal 300 for processing a write request according to an embodiment of the present application. It should be understood that the following and other operations and/or functions of the respective modules in the mobile terminal 300 of the embodiment of the present application are respectively implemented for For the sake of brevity, the corresponding process of each method in FIG. 2 is not described here.
  • the mobile terminal 300 includes:
  • the processor 310 is configured to determine, by using an IO scheduler, that the current IO scheduling is in a blocking state, where the blocking state includes a state in which the processing time of the IO scheduler processing the IO request is greater than a first preset threshold; from the IO request to be processed Selecting a target synchronous write request for writing data to the flash memory of the mobile terminal, and adding an acceleration flag to the target synchronous write request, the acceleration flag is used to instruct the flash controller to utilize the free space pair of the flash memory The target synchronous write request is accelerated;
  • the flash controller 320 is configured to determine a size of the free space of the flash memory after receiving the target synchronous write request including the acceleration flag, and use the size of the free space of the flash memory when the size of the free space of the flash memory is greater than a second preset threshold.
  • the free space of the flash memory speeds up the target synchronous write request.
  • the processor in the mobile terminal uses the IO scheduler to select a target synchronous write request from the IO request to be processed after determining that the current IO schedule is in a blocked state, and in the target synchronous write request. Adding an acceleration flag, so that the flash controller accelerates the target synchronous write request after receiving the target synchronous write request including the acceleration flag and determining that the size of the free space of the flash memory is greater than a second preset threshold. Thereby, it is possible to reduce the situation in the mobile terminal that the system is stuck due to the processing of the synchronization request.
  • the processor 310 and the flash controller 320 can be connected by a bus system.
  • the processor 310 may be a central processing unit (CPU), and the processor 310 may also be another general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, and the like.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the processor 310 is specifically configured to: use the IO scheduler to select a top-ranked synchronous write request from an IO request queue; determine the highest-order synchronous write request as the The target synchronizes the write request.
  • the processor 310 is specifically configured to: determine, by using the IO scheduler, the number of IO requests to be processed in the IO request queue; when the number of IO requests to be processed is greater than the first At the threshold, it is determined that the current IO schedule is in a blocked state.
  • the processor 310 is specifically configured to: determine, by using the IO scheduler, a processing time of a write request or a read request currently being processed; and when the processing time is greater than a second threshold, determine a current IO schedule. Is blocked.
  • the flash controller 320 is specifically configured to: allocate a fast programming page for the target synchronous write request; and use the fast programming page to perform acceleration processing on the target synchronous write request.
  • the flash controller 320 is specifically configured to: after the target synchronous write request is accelerated by using the free space of the flash, determine a size of the free space of the flash; when the flash is idle When the size of the space is less than the third threshold, the lost page generated when the quick programming page is allocated for the target synchronous write request is reclaimed.
  • FIG. 4 shows a schematic diagram of a mobile terminal 400 processing a write request in accordance with an embodiment of the present application.
  • the mobile terminal 400 can be a device that processes write requests. It should be understood that the following and other operations and/or functions of the respective modules in the mobile terminal 400 of the embodiment of the present application are respectively implemented in order to implement the corresponding processes of the respective methods in FIG. 2, and are not described herein again for the sake of brevity.
  • the terminal 400 can be a mobile terminal. As shown in FIG. 4, the mobile terminal 400 includes:
  • the IO scheduling module 410 is configured to determine that the current IO scheduling is in a blocking state, where the blocking state includes that the processing time of the IO scheduler processing the IO request is greater than a first preset threshold; and selecting a target synchronous write request from the IO request to be processed,
  • the target synchronous write request is used to write data to the flash memory of the mobile terminal, and an acceleration flag is added in the target synchronous write request, the acceleration flag is used to instruct the flash controller to use the free space of the flash memory to perform the target synchronous write request. Accelerate processing;
  • the flash control module 420 is configured to determine a size of the free space of the flash memory after receiving the target synchronous write request including the acceleration flag, and use the size of the free space of the flash memory when the size of the free space of the flash memory is greater than a second preset threshold.
  • the free space of the flash memory speeds up the target synchronous write request.
  • the IO scheduling module in the mobile terminal selects a target synchronous write request from the IO request to be processed, and adds an acceleration flag to the target synchronous write request. So that the flash control module accelerates the target synchronous write request after receiving the target synchronous write request including the acceleration flag and determining that the size of the free space of the flash memory is greater than a second preset threshold, thereby being capable of reducing A situation in the mobile terminal that is caused by a system stall due to processing of a synchronization request.
  • the IO scheduling module 410 is specifically configured to: select a top-ranked synchronous write request from the IO request queue; determine the highest-order synchronous write request as the target synchronous write request. .
  • the IO scheduling module 410 is specifically configured to: determine the number of IO requests to be processed in the IO request queue; when the number of the IO requests to be processed is greater than the first threshold, determine The current IO schedule is blocked.
  • the IO scheduling module 410 is specifically configured to: determine a processing time of a write request or a read request currently being processed; and when the processing time is greater than the second threshold, determine that the current IO schedule is in a blocked state.
  • the flash control module 420 is specifically configured to: allocate a fast programming page for the target synchronous write request; and use the fast programming page to perform acceleration processing on the target synchronous write request.
  • the flash control module 420 is specifically configured to: after the target synchronous write request is accelerated by using the free space of the flash, determine a size of the free space of the flash; when the flash is idle When the size of the space is less than the third threshold, the lost page generated when the quick programming page is allocated for the target synchronous write request is reclaimed.
  • the size of the sequence numbers of the foregoing processes does not mean the order of execution sequence, and the order of execution of each process should be determined by its function and internal logic, and should not be applied to the embodiment of the present application.
  • the implementation process constitutes any limitation.
  • the disclosed system, mobile terminal, and method may be implemented in other manners.
  • the mobile terminal embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined. Or it can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, mobile terminal or unit, or an electrical, mechanical or other form of connection.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present application.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or software. The form of the unit is implemented.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the storage medium includes instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

  • Engineering & Computer Science (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)
  • Databases & Information Systems (AREA)
  • Memory System (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

一种处理写请求的方法和移动终端,该方法包括:移动终端中的IO调度器确定当前的IO调度处于阻塞状态,该阻塞状态包括该IO调度器处理IO请求的处理时间大于第一预设阈值的状态(S210);该IO调度器从待处理的IO请求中选取目标同步写请求,该目标同步写请求用于向所述移动终端的闪存写入数据(S220);该IO调度器在该目标同步写请求中添加加速标志,该加速标志用于指示闪存控制器利用该闪存的空闲空间利用该闪存的空闲空间对该目标同步写请求进行加速处理(S230);该闪存控制器从该IO调度器接收包含该加速标志的该目标同步写请求之后,该闪存控制器确定该闪存的空闲空间的大小(S240);当该闪存的空闲空间的大小大于第二预设阈值时,该闪存控制器对该目标同步写请求进行加速处理(S250)。该方法能够减少移动终端中系统卡顿的情况。

Description

处理写请求的方法和移动终端
本申请要求于2015年11月30日提交中国专利局、申请号为201510856803.1、发明名称为“处理写请求的方法和移动终端”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及移动终端领域,尤其涉及处理写请求的方法和移动终端。
背景技术
近年来,移动终端已经成为人们生活中不可或缺的电子产品。移动终端的操作系统可视作一系列软硬件构成的层级结构。例如,在安卓(Android)操作系统中进行数据管理和维护的层级架构从上到下主要包括:数据库管理系统、文件系统、块设备驱动以及底层存储设备。其中,块设备驱动主要采用输入输出(Input Output,IO)调度器进行IO请求的调度。而底层存储设备通常是基于闪存的存储设备,例如,底层存储设备可以是嵌入式多媒体卡(Embedded Multi Media Card,eMMC)存储设备,eMMC存储设备包括闪存芯片以及控制闪存芯片进行读取操作的eMMC控制器。
在移动终端的文件系统从底层存储设备读写数据的过程中,IO调度器中将产生相应的IO请求。其中,IO请求包括同步请求和异步请求。当IO调度器处理同步请求时,所述请求的数据必须全部写入存储设备或者全部从存储设备读出之后才能向系统返回确认值,从而所述同步请求才能够执行完毕。如果同步请求的处理时间过长或待处理的同步请求过多,即IO调度阻塞时,会造成移动终端中的系统卡顿、性能下降等问题,影响用户体验。
发明内容
本申请实施例公开了一种处理写请求的方法和移动终端,以减少移动终端中的系统卡顿的情况。
第一方面,提供一种处理写请求的方法,所述方法包括:移动终端中的输入输出IO调度器确定当前的IO调度处于阻塞状态,该阻塞状态包括该IO 调度器处理IO请求的处理时间大于第一预设阈值的状态;该IO调度器从待处理的IO请求中选取目标同步写请求,该目标同步写请求用于向该移动终端的闪存写入数据;该IO调度器在该目标同步写请求中添加加速标志,该加速标志用于指示闪存控制器利用该闪存的空闲空间对该目标同步写请求进行加速处理;该闪存控制器从该IO调度器接收包含该加速标志的该目标同步写请求之后,该闪存控制器确定该闪存的空闲空间的大小;当该闪存的空闲空间的大小大于第二预设阈值时,该闪存控制器利用该闪存的空闲空间对该目标同步写请求进行加速处理。
结合第一方面,在第一方面的第一种可能的实现方式中,该方法还包括:该该IO调度器从待处理的IO请求中选取目标同步写请求,包括:该IO调度器从IO请求队列中选取排序最靠前的同步写请求;该IO调度器将该排序最靠前的同步写请求确定为该目标同步写请求。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,该方法还包括:该移动终端中的IO调度器确定当前的IO调度处于阻塞状态,包括:该IO调度器确定IO请求队列中的待处理的IO请求的个数;当该待处理的IO请求的个数大于第一阈值时,该IO调度器确定当前的IO调度处于阻塞状态。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,该方法还包括:该移动终端中的IO调度器确定IO调度处于阻塞状态,包括:该IO调度器确定当前正在处理的写请求或读请求的处理时间;当该处理时间大于第二阈值时,该IO调度器确定当前IO调度处于阻塞状态。
结合第一方面、第一方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,该闪存控制器对该目标同步写请求进行加速处理,包括:该闪存控制器为该目标同步写请求分配快速编程页;该闪存控制器使用该快速编程页,对该目标同步写请求进行加速处理。
结合第一方面的第四种可能的实现方式中的任一种可能的实现方式,在第一方面的第五种可能的实现方式中,在该闪存控制器利用该闪存的空闲空间对该目标同步写请求进行加速处理之后,确定该闪存的空闲空间的大小;当该闪存的空闲空间的大小小于第三阈值时,该闪存控制器回收为该目标同 步写请求分配该快速编程页时产生的损失页。
第二方面,提供了一种处理写请求的移动终端,该移动终端包括:处理器,用于利用输入输出IO调度器,确定当前的IO调度处于阻塞状态,该阻塞状态包括该IO调度器处理IO请求的处理时间大于第一预设阈值的状态;从待处理的IO请求中选取目标同步写请求,该目标同步写请求用于向该移动终端的闪存写入数据,在该目标同步写请求中添加加速标志,该加速标志用于指示闪存控制器利用该闪存的空闲空间对该目标同步写请求进行加速处理;闪存控制器,用于从该处理器接收包含该加速标志的该目标同步写请求之后,确定该闪存的空闲空间的大小,当该闪存的空闲空间的大小大于第二预设阈值时,利用该闪存的空闲空间对该目标同步写请求进行加速处理。
结合第二方面,在第二方面的第一种可能的实现方式中,该处理器具体用于:利用该IO调度器从IO请求队列中选取排序最靠前的同步写请求;将该排序最靠前的同步写请求确定为该目标同步写请求。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,该处理器具体用于:利用该IO调度器确定IO请求队列中的待处理的IO请求的个数;当该待处理的IO请求的个数大于第一阈值时,确定当前的IO调度处于阻塞状态。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,该处理器具体用于:利用该IO调度器确定当前正在处理的写请求或读请求的处理时间;当该处理时间大于第二阈值时,确定当前IO调度处于阻塞状态。
结合第二方面、第二方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第二方面的第四种可能的实现方式中,该闪存控制器具体用于:为该目标同步写请求分配快速编程页;使用该快速编程页,对该目标同步写请求进行加速处理。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,该闪存控制器具体用于:在利用该闪存的空闲空间对该目标同步写请求进行加速处理之后,确定该闪存的空闲空间的大小;当该闪存的空闲空间的大小小于第三阈值时,回收为该目标同步写请求分配该快速编程页时产生的损失页。
在本申请实施例中,移动终端中的IO调度器在确定当前的IO调度处于 阻塞状态之后,从待处理的IO请求中选取目标同步写请求,并在该目标同步写请求中添加加速标志,以使闪存控制器在接收到包含该加速标志的目标同步写请求、并确定闪存的空闲空间的大小大于第二预设阈值之后,对该目标同步写请求进行加速处理,从而能够减少移动终端中的由于处理同步请求造成的系统卡顿的情况。
附图说明
图1是根据本申请实施例的移动终端的示意性结构图。
图2是根据本申请实施例的处理写请求的方法的示意性流程图。
图3是根据本申请实施例的处理写请求的移动终端300的示意图。
图4是根据本申请实施例的处理写请求的移动终端400的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应理解,本申请实施例的处理写请求的方法可以应用于移动终端(Mobile Terminal),所述移动终端可以称之为终端(Terminal)、移动台(Mobile Station,简称为“MS”)或用户设备(User Equipment,简称为“UE”)等。所述移动终端可以经无线接入网(Radio Access Network,简称为“RAN”)与一个或多个核心网进行通信,例如,移动终端可以是移动电话(或称为“蜂窝”电话)。例如,所述移动终端还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置。
应理解,本申请实施例中的移动终端可以包括主机、闪存以及闪存控制器,主机通过闪存控制器读写闪存中的数据。例如,图1示出了本申请实施例中的移动终端的示意性结构图。如图1所示,主机中的IO调度器可以通过闪存控制器控制闪存的读写操作。其中,IO调度器可以通过接口与闪存控制器相连,闪存控制器可以通过闪存接口与闪存连接,以实现对闪存的控制。
应理解,本申请实施例中的闪存可以是嵌入式多媒体卡(Embedded Multi Media Card,eMMC)存储设备中的闪存芯片,闪存控制器可以是eMMC存储设备中的eMMC控制器。闪存也可以是其它基于闪存的存储设备,闪存 控制器也可以是其它能够实现控制闪存读写操作的控制器,本申请实施例对此不作具体限定。
图2示出了本申请实施例的处理写请求的方法200的示意性流程图,如图2所示,所述方法200包括:
S210,移动终端中的IO调度器确定当前的IO调度处于阻塞状态,该阻塞状态包括该IO调度器处理IO请求的处理时间大于第一预设阈值的状态;
S220,该IO调度器从待处理的IO请求中选取目标同步写请求,该目标同步写请求用于向该移动终端的闪存写入数据;
S230,该IO调度器在该目标同步写请求中添加加速标志,该加速标志用于指示闪存控制器利用该闪存的空闲空间对该目标同步写请求进行加速处理;
S240,该闪存控制器从该IO调度器接收包含该加速标志的该目标同步写请求之后,该闪存控制器确定该闪存的空闲空间的大小;
S250,当该闪存的空闲空间的大小大于第二预设阈值时,该闪存控制器利用该闪存的空闲空间对该目标同步写请求进行加速处理。
在本申请实施例中,移动终端中的IO调度器在确定当前的IO调度处于阻塞状态之后,从待处理的IO请求中选取目标同步写请求,并在所述目标同步写请求中添加加速标志,以使闪存控制器在接收到包含所述加速标志的目标同步写请求、并确定闪存的空闲空间的大小大于第二预设阈值之后,对所述目标同步写请求进行加速处理,从而能够减少移动终端中的由于处理同步请求造成的系统卡顿的情况。
应理解,本申请实施例中,上述IO调度器处理IO请求的处理时间,可以包括IO调度器在产生IO请求(包括读请求和写请求)之后到所述IO请求被处理并向系统返回确认值所使用的时间。或者,上述处理IO请求的处理时间,可以包括IO请求等待被处理的等待时间或执行IO请求的执行时间。另外,上述处理IO请求可以包括根据IO请求,将IO请求写入闪存或从闪存中读取出来的过程。
应理解,本申请实施例中的阻塞状态,可以指IO调度器当前处理的IO请求的处理时间超过第一预设阈值,也可以指IO调度器处理IO请求队列中的所有IO请求的处理时间超过第一预设阈值。或者,阻塞状态可以包括IO调度器中待处理的IO请求的等待时间超过第一预设阈值的情况。本申请实 施例中对第一预设阈值的取值不作具体限定,可以是根据实际操作时IO调度器的处理能力确定,也可以根据经验确定。
应理解,本申请实施例对IO调度器确定当前的IO调度处于阻塞状态所采用的方法不作限定,可以是先确定当前IO调度器处理IO请求的处理时间超过某个阈值,从而确定当前的IO调度处于阻塞状态。也可以是先确定当前IO调度器中待处理的IO请求个数超过一定个数,从而确定当前的IO调度处于阻塞状态。或者也可以包括其它本领域技术人员定义的确定IO调度处于阻塞状态的方法。
可选地,从IO请求中选取目标同步写请求,可以是选取待处理的IO请求中的一个或几个同步写请求。上述IO调度器从待处理的IO请求中选取目标同步写请求,可以理解为,IO调度器从待处理的IO请求中的同步写请求中,选出至少一个同步写请求,并将所述至少一个同步写请求确定为目标同步写请求。所述至少一个目标同步写请求可以是待处理的同步写请求中的其中一个或几个,也可以是待处理的同步写请求中的全部。
可选地,本申请实施例对IO调度器添加加速标志的方法不作限定,例如,IO调度器可以在同步写请求之中增加一个标志位,所述标志位可以为1个比特或几个比特。当IO调度器确定目标同步写请求之后,可以在目标同步写请求中的标志位放置加速标志。或者,在同步写请求中增加标志位,也可以理解为,在同步写请求所对应的数据参数中增加一个加速标志位参数,如果确定同步写请求为目标同步写请求之后,可以将所述加速标志位参数置为预先规定的数值。例如,当标志位为1个比特位时,可以设定标志位的符号为1时,表示对所述目标同步写请求进行加速处理。
可选地,作为一个实施例,闪存控制器在从IO调度器接收到目标同步写请求之后,可以确定所述目标同步写请求中是否包括加速标志。以所述闪存控制器是eMMC控制器为例,可以对现有技术中的eMMC控制器的功能进行扩展,使eMMC控制器能够识别在IO调度器中被添加加速标志的目标同步写请求。若eMMC控制器确定收到的同步写请求中不包含加速标志时,则可以按照普通模式处理所述同步写请求。可选地,当eMMC控制器接收到目标同步写请求之后,可以通过加速标志确定所述目标同步写请求,然后确定闪存的空闲空间的大小,以确定是否对所述目标同步写请求进行加速处理。若闪存的空闲空间的大小大于第二预设阈值时,对所述目标同步写请求 进行加速处理,若闪存的空闲空间的大小小于第二预设阈值时,则可以按照普通模式处理所述目标同步写请求。
应理解,闪存控制器对目标同步写请求进行加速处理时,将对闪存的空间产生一定的浪费,即跟普通处理模式相比,闪存控制器对目标同步写请求进行加速处理时,会占用更多的空间。所以在本申请实施例中,当闪存控制器接收到包含加速标志的目标同步写请求时,可以确定当前的空闲空间的大小是否能够进行加速处理,当空闲空间的大小大于第二预设阈值时,表示空闲空间的大小能够进行加速处理。当空闲空间的大小小于第二预设阈值时,表示空闲空间的大小不能够进行加速处理。应理解,对于第二预设阈值的设定,可以以不影响对闪存读写数据为准,本申请实施例对此并不作具体限定。例如,第二预设阈值可以设定为略大于闪存的垃圾回收阈值。
应理解,本申请实施例对闪存控制器对目标同步写请求进行加速处理的具体方法不作限制。例如,可以使用现有技术中的加速方法对目标同步写请求进行加速处理。
可选地,作为一个实施例,本申请实施例的处理写请求的方法200中,该IO调度器从待处理的IO请求中选取目标同步写请求,包括:该IO调度器从IO请求队列中选取排序最靠前的同步写请求;该IO调度器将该排序最靠前的同步写请求确定为该目标同步写请求。
应理解,本申请实施例对IO调度器选取目标同步写请求的方法不作限定,例如,IO调度器可以采取某种遍历的方法遍历IO请求队列,从IO请求队列中选取排序最靠前的同步写请求,并将所述排序最靠前的同步写请求确定为目标同步写请求。
应理解,通常情况下,IO调度器根据IO请求队列的排序从前至后依次处理IO请求。换句话说,IO请求在IO请求队列的排序越靠前,就越先被处理。当IO调度处于阻塞状态时,选取在IO请求队列中最靠前的同步写请求为目标同步写请求,并在所述目标同步写请求中添加加速标志,因为所述目标同步写请求排序在前,相比排序在后的同步写请求,可以更早地被IO调度器发送至闪存控制器,从而由闪存控制器执行加速处理,进而可以在更短的时间内缓解IO阻塞状态,减少系统卡顿的情况。
可选地,作为一个实施例,本申请实施例的处理写请求的方法200中,该移动终端中的IO调度器确定当前的IO调度处于阻塞状态,包括:该IO 调度器确定IO请求队列中的待处理的IO请求的个数;当该待处理的IO请求的个数大于第一阈值时,该IO调度器确定当前的IO调度处于阻塞状态。
应理解,在本申请实施例中,当IO请求队列中的待处理的IO请求的个数较多时,代表着IO请求队列中的待处理的IO请求要等待较长的时间才能被写入闪存,由此可以确定当前IO调度器处于阻塞状态。应理解,对于第一阈值的设定并不作具体限定。例如,可以根据当前系统需求来设置第一阈值,也可以根据经验设置。
可选地,作为一个实施例,本申请实施例的处理写请求的方法200中,该移动终端中的IO调度器确定IO调度处于阻塞状态,包括:该IO调度器确定当前正在处理的写请求或读请求的处理时间;当该处理时间大于第二阈值时,该IO调度器确定当前IO调度处于阻塞状态。
应理解,在本申请实施例中,根据IO调度器当前在处理的IO请求的处理时间,可以获知当前IO调度器处理IO请求的能力,进而确定当前IO调度器是否处于阻塞状态。其中,本申请实施例中的写请求可以包括同步写请求,也可以包括异步写请求。应理解,移动终端中的IO调度器在读写操作过程中产生的所有读请求都属于同步请求。本申请实施例对于第二阈值的设定并不作具体限定。例如,可以根据当前系统需求来设置第二阈值,也可以根据经验设置。
可选地,作为一个实施例,本申请实施例中的处理写请求的方法200中,该闪存控制器利用该闪存的空闲空间对该目标同步写请求进行加速处理,包括:该闪存控制器为该目标同步写请求分配快速编程页;该闪存控制器使用该快速编程页,对该目标同步写请求进行加速处理。
应理解,在本申请实施例中,对闪存控制器使用快速编程页进行加速处理的具体方法不作限制。例如,以闪存是多级存储单元(Multiple Level Cell,MLC)闪存为例,MLC闪存中的每个存储单元可以编程两个比特位,分别为最高有效位(Most Significant Bit,MSB)和最低有效位(Least Significant,LSB),对应的MLC闪存中存在MSB页和LSB页,MSB页全部由MSB组成,LSB页全部由LSB组成。在编程过程中,MSB页的编程速度要快于LSB页。在为目标同步写请求写分配快速编程页时,可以设定为数据只写入MSB页,而跳过LSB页,从而加快了闪存控制器处理目标同步写请求的速度。
可选地,作为一个实施例,本申请实施例中的处理写请求的方法200中, 还包括:在该闪存控制器利用该闪存的空闲空间对该目标同步写请求进行加速处理之后,确定该闪存的空闲空间的大小;当该闪存的空闲空间的大小小于第三阈值时,该闪存控制器回收为该目标同步写请求分配该快速编程页时产生的损失页。
应理解,本申请实施例中,对所述第三阈值的设定不作具体限定。所述第三阈值可以为所述闪存的垃圾回收阈值,当闪存的空闲空间小于垃圾回收阈值时,闪存控制器需要对闪存的空间进行清理回收,从而回收对目标同步写请求分配快速编程页时产生的损失页。
例如,前例中的MLC闪存在对目标同步写请求进行加速处理时,闪存中的LSB页并未写入数据,但是占据了闪存的存储空间,LSB页即是对目标同步写请求分配快速编程页时产生的损失页。优先回收损失页,能够及时减少对闪存空间的浪费,提高对闪存空间的利用率。以闪存控制器是eMMC控制器为例,可以对eMMC控制器的中的功能机制进行设置,将损失页设置为无效页,则在垃圾回收过程中,即可将加速处理时产生的损失页回收,以提高闪存空间的利用率。
上文结合图1和图2详细阐述了本申请实施例的处理写请求的方法的具体实施例,下文将结合图3和图4,详细阐述本申请实施例的处理写请求的移动终端。
图3示出了根据本申请实施例的处理写请求的移动终端300的示意图,应理解,本申请实施例的移动终端300中的各个模块的下述和其他操作和/或功能分别为了实现图2中的各个方法的相应流程,为了简洁,在此不再赘述,如图3所示,所述移动终端300包括:
处理器310,用于利用IO调度器,确定当前的IO调度处于阻塞状态,该阻塞状态包括该IO调度器处理IO请求的处理时间大于第一预设阈值的状态;从待处理的IO请求中选取目标同步写请求,该目标同步写请求用于向该移动终端的闪存写入数据,在该目标同步写请求中添加加速标志,该加速标志用于指示闪存控制器利用该闪存的空闲空间对该目标同步写请求进行加速处理;
闪存控制器320,用于从该处理器接收包含该加速标志的该目标同步写请求之后,确定该闪存的空闲空间的大小,当该闪存的空闲空间的大小大于第二预设阈值时,利用该闪存的空闲空间对该目标同步写请求进行加速处理。
在本申请实施例中,移动终端中的处理器利用IO调度器在确定当前的IO调度处于阻塞状态之后,从待处理的IO请求中选取目标同步写请求,并在所述目标同步写请求中添加加速标志,以使闪存控制器在接收到包含所述加速标志的目标同步写请求、并确定闪存的空闲空间的大小大于第二预设阈值之后,对所述目标同步写请求进行加速处理,从而能够减少移动终端中的由于处理同步请求造成的系统卡顿的情况。
如图3所示,处理器310和闪存控制器320之间可以通过总线系统连接。
应理解,在本申请实施例中,所述处理器310可以是中央处理单元(Central Processing Unit,CPU),所述处理器310还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器也可以是任何常规的处理器等。
可选地,作为一个实施例,该处理器310具体用于:利用该IO调度器从IO请求队列中选取排序最靠前的同步写请求;将该排序最靠前的同步写请求确定为该目标同步写请求。
可选地,作为一个实施例,该处理器310具体用于:利用该IO调度器确定IO请求队列中的待处理的IO请求的个数;当该待处理的IO请求的个数大于第一阈值时,确定当前的IO调度处于阻塞状态。
可选地,作为一个实施例,该处理器310具体用于:利用该IO调度器确定当前正在处理的写请求或读请求的处理时间;当该处理时间大于第二阈值时,确定当前IO调度处于阻塞状态。
可选地,作为一个实施例,该闪存控制器320具体用于:为该目标同步写请求分配快速编程页;使用该快速编程页,对该目标同步写请求进行加速处理。
可选地,作为一个实施例,该闪存控制器320具体用于:在利用该闪存的空闲空间对该目标同步写请求进行加速处理之后,确定该闪存的空闲空间的大小;当该闪存的空闲空间的大小小于第三阈值时,回收为该目标同步写请求分配该快速编程页时产生的损失页。
图4示出了根据本申请实施例的处理写请求的移动终端400的示意图。 所述移动终端400可以为一种处理写请求的装置。应理解,本申请实施例的移动终端400中的各个模块的下述和其他操作和/或功能分别为了实现图2中的各个方法的相应流程,为了简洁,在此不再赘述,所述移动终端400可以为移动终端,如图4所示,所述移动终端400包括:
IO调度模块410,用于确定当前的IO调度处于阻塞状态,该阻塞状态包括该IO调度器处理IO请求的处理时间大于第一预设阈值;从待处理的IO请求中选取目标同步写请求,该目标同步写请求用于向该移动终端的闪存写入数据,在该目标同步写请求中添加加速标志,该加速标志用于指示闪存控制器利用该闪存的空闲空间对该目标同步写请求进行加速处理;
闪存控制模块420,用于从该处理器接收包含该加速标志的该目标同步写请求之后,确定该闪存的空闲空间的大小,当该闪存的空闲空间的大小大于第二预设阈值时,利用该闪存的空闲空间对该目标同步写请求进行加速处理。
在本申请实施例中,移动终端中的IO调度模块在确定当前的IO调度处于阻塞状态之后,从待处理的IO请求中选取目标同步写请求,并在所述目标同步写请求中添加加速标志,以使闪存控制模块在接收到包含所述加速标志的目标同步写请求、并确定闪存的空闲空间的大小大于第二预设阈值之后,对所述目标同步写请求进行加速处理,从而能够减少移动终端中的由于处理同步请求造成的系统卡顿的情况。
可选地,作为一个实施例,该IO调度模块410具体用于:从IO请求队列中选取排序最靠前的同步写请求;将该排序最靠前的同步写请求确定为该目标同步写请求。
可选地,作为一个实施例,该IO调度模块410具体用于:确定IO请求队列中的待处理的IO请求的个数;当该待处理的IO请求的个数大于第一阈值时,确定当前的IO调度处于阻塞状态。
可选地,作为一个实施例,该IO调度模块410具体用于:确定当前正在处理的写请求或读请求的处理时间;当该处理时间大于第二阈值时,确定当前IO调度处于阻塞状态。
可选地,作为一个实施例,该闪存控制模块420具体用于:为该目标同步写请求分配快速编程页;使用该快速编程页,对该目标同步写请求进行加速处理。
可选地,作为一个实施例,该闪存控制模块420具体用于:在利用该闪存的空闲空间对该目标同步写请求进行加速处理之后,确定该闪存的空闲空间的大小;当该闪存的空闲空间的大小小于第三阈值时,回收为该目标同步写请求分配该快速编程页时产生的损失页。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应所述理解到,所揭露的系统、移动终端和方法,可以通过其它的方式实现。例如,以上所描述的移动终端实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、移动终端或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能 单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者所述技术方案的全部或部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上某一实施例中的技术特征和描述,为了使申请文件简洁清楚,可以理解适用于其他实施例,在其他实施例不再一一赘述。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (12)

  1. 一种处理写请求的方法,其特征在于,包括:
    移动终端中的输入输出IO调度器确定当前的IO调度处于阻塞状态,所述阻塞状态包括所述IO调度器处理IO请求的处理时间大于第一预设阈值的状态;
    所述IO调度器从待处理的IO请求中选取目标同步写请求,所述目标同步写请求用于向所述移动终端的闪存写入数据;
    所述IO调度器在所述目标同步写请求中添加加速标志,所述加速标志用于指示闪存控制器利用所述闪存的空闲空间对所述目标同步写请求进行加速处理;
    所述闪存控制器从所述IO调度器接收包含所述加速标志的所述目标同步写请求之后,所述闪存控制器确定所述闪存的空闲空间的大小;
    当所述闪存的空闲空间的大小大于第二预设阈值时,所述闪存控制器利用所述闪存的空闲空间对所述目标同步写请求进行加速处理。
  2. 如权利要求1所述的方法,其特征在于,所述IO调度器从待处理的IO请求中选取目标同步写请求,包括:
    所述IO调度器从IO请求队列中选取排序最靠前的同步写请求;
    所述IO调度器将所述排序最靠前的同步写请求确定为所述目标同步写请求。
  3. 如权利要求1或2所述的方法,其特征在于,所述移动终端中的IO调度器确定当前的IO调度处于阻塞状态,包括:
    所述IO调度器确定IO请求队列中的待处理的IO请求的个数;
    当所述待处理的IO请求的个数大于第一阈值时,所述IO调度器确定当前的IO调度处于阻塞状态。
  4. 如权利要求1或2所述的方法,其特征在于,所述移动终端中的IO调度器确定IO调度处于阻塞状态,包括:
    所述IO调度器确定当前正在处理的写请求或读请求的处理时间;
    当所述处理时间大于第二阈值时,所述IO调度器确定当前IO调度处于阻塞状态。
  5. 如权利要求1至4中任一项所述的方法,其特征在于,所述闪存控制器利用所述闪存的空闲空间对所述目标同步写请求进行加速处理,包括:
    所述闪存控制器为所述目标同步写请求分配快速编程页;
    所述闪存控制器使用所述快速编程页,对所述目标同步写请求进行加速处理。
  6. 如权利要求5所述的方法,其特征在于,所述方法还包括:
    在所述闪存控制器利用所述闪存的空闲空间对所述目标同步写请求进行加速处理之后,确定所述闪存的空闲空间的大小;
    当所述闪存的空闲空间的大小小于第三阈值时,所述闪存控制器回收为所述目标同步写请求分配所述快速编程页时产生的损失页。
  7. 一种处理写请求的移动终端,其特征在于,包括:
    处理器,用于利用输入输出IO调度器,确定当前的IO调度处于阻塞状态,所述阻塞状态包括所述IO调度器处理IO请求的处理时间大于第一预设阈值的状态;从待处理的IO请求中选取目标同步写请求,所述目标同步写请求用于向所述移动终端的闪存写入数据,在所述目标同步写请求中添加加速标志,所述加速标志用于指示所述闪存控制器利用所述闪存的空闲空间对所述目标同步写请求进行加速处理;
    闪存控制器,用于从所述处理器接收包含所述加速标志的所述目标同步写请求之后,确定所述闪存的空闲空间的大小,当所述闪存的空闲空间的大小大于第二预设阈值时,利用所述闪存的空闲空间对所述目标同步写请求进行加速处理。
  8. 如权利要求7所述的移动终端,其特征在于,所述处理器具体用于:利用所述IO调度器从IO请求队列中选取排序最靠前的同步写请求;将所述排序最靠前的同步写请求确定为所述目标同步写请求。
  9. 如权利要求7或8所述的移动终端,其特征在于,所述处理器具体用于:利用所述IO调度器确定IO请求队列中的待处理的IO请求的个数;当所述待处理的IO请求的个数大于第一阈值时,确定当前的IO调度处于阻塞状态。
  10. 如权利要求7或8所述的移动终端,其特征在于,所述处理器具体用于:利用所述IO调度器确定当前正在处理的写请求或读请求的处理时间;当所述处理时间大于第二阈值时,确定当前IO调度处于阻塞状态。
  11. 如权利要求7-10中任一项所述的移动终端,其特征在于,所述闪存控制器具体用于:为所述目标同步写请求分配快速编程页;使用所述快速编 程页,对所述目标同步写请求进行加速处理。
  12. 如权利要求11所述的移动终端,其特征在于,所述闪存控制器具体用于:在利用所述闪存的空闲空间对所述目标同步写请求进行加速处理之后,确定所述闪存的空闲空间的大小;当所述闪存的空闲空间的大小小于第三阈值时,回收为所述目标同步写请求分配所述快速编程页时产生的损失页。
PCT/CN2016/106959 2015-11-30 2016-11-23 处理写请求的方法和移动终端 Ceased WO2017092596A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020187017980A KR20180088419A (ko) 2015-11-30 2016-11-23 기입 요청 처리 방법 및 이동 단말기
EP16869906.4A EP3376359A4 (en) 2015-11-30 2016-11-23 Write request processing method and mobile terminal
US15/992,516 US10437519B2 (en) 2015-11-30 2018-05-30 Method and mobile terminal for processing write request

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510856803.1A CN105511806B (zh) 2015-11-30 2015-11-30 处理写请求的方法和移动终端
CN201510856803.1 2015-11-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/992,516 Continuation US10437519B2 (en) 2015-11-30 2018-05-30 Method and mobile terminal for processing write request

Publications (1)

Publication Number Publication Date
WO2017092596A1 true WO2017092596A1 (zh) 2017-06-08

Family

ID=55719826

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/106959 Ceased WO2017092596A1 (zh) 2015-11-30 2016-11-23 处理写请求的方法和移动终端

Country Status (5)

Country Link
US (1) US10437519B2 (zh)
EP (1) EP3376359A4 (zh)
KR (1) KR20180088419A (zh)
CN (1) CN105511806B (zh)
WO (1) WO2017092596A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105511806B (zh) * 2015-11-30 2018-09-07 华为技术有限公司 处理写请求的方法和移动终端
CN106325994B (zh) * 2016-08-24 2018-05-29 广东欧珀移动通信有限公司 一种控制写请求的方法及终端设备
CN108073349B (zh) * 2016-11-08 2021-02-12 北京国双科技有限公司 数据的传输方法及装置
CN109690465B (zh) * 2016-12-07 2020-10-09 华为技术有限公司 一种存储设备管理方法及用户终端
CN109726151B (zh) * 2017-10-27 2022-11-08 伊姆西Ip控股有限责任公司 用于管理输入输出栈的方法、设备和介质
CN109714476B (zh) * 2018-12-19 2021-05-07 惠州Tcl移动通信有限公司 数据处理方法、装置、移动终端及存储介质
US10901622B2 (en) * 2018-12-28 2021-01-26 Micron Technology, Inc. Adjustable NAND write performance
CN114296656B (zh) * 2021-12-31 2024-08-23 深圳大普微电子股份有限公司 平面编程方法及其闪存设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100082879A1 (en) * 2008-09-26 2010-04-01 Mckean Brian D Priority command queues for low latency solid state drives
CN103135945A (zh) * 2013-03-25 2013-06-05 中国人民解放军国防科学技术大学 用于ssd的多通道动态读写调度方法
CN103593271A (zh) * 2012-08-13 2014-02-19 中兴通讯股份有限公司 一种片上系统芯片追踪调试的方法及装置
CN104881248A (zh) * 2015-05-11 2015-09-02 中国人民解放军国防科学技术大学 面向ssd的文件系统中自适应直接io加速方法
CN105511806A (zh) * 2015-11-30 2016-04-20 华为技术有限公司 处理写请求的方法和移动终端

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206866B2 (en) 2003-08-20 2007-04-17 Microsoft Corporation Continuous media priority aware storage scheduler
CN1304957C (zh) * 2005-01-07 2007-03-14 清华大学 基于移动存储的计算机系统磁盘同步写性能提高方法
US8244958B2 (en) * 2005-05-09 2012-08-14 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system
KR100880425B1 (ko) 2007-02-13 2009-01-29 삼성전자주식회사 메모리 맵 테이블 서치 타임을 최소화 또는 줄일 수 있는방법 및 그에 따른 반도체 메모리 장치
CN101382927B (zh) * 2008-09-25 2010-06-02 杭州爱威芯科技有限公司 集成在芯片内的高速串行外围接口电路
US8347302B1 (en) * 2008-10-09 2013-01-01 Amazon Technologies, Inc. System-aware resource scheduling
US8413161B2 (en) 2009-09-29 2013-04-02 International Business Machines Corporation Work queue selection on a local processor within a multiple processor architecture
CN102866861B (zh) * 2010-01-13 2015-11-18 群联电子股份有限公司 闪存储存系统、闪存控制器与数据写入方法
US8589655B2 (en) * 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of I/O in an SSD environment
KR101824068B1 (ko) 2011-07-28 2018-03-15 삼성전자주식회사 메모리 컨트롤러 구동방법, 및 메모리 컨트롤러를 포함하는 메모리 시스템, 메모리 카드 및 휴대용 전자장치
KR102111741B1 (ko) * 2014-01-10 2020-05-15 삼성전자주식회사 임베디드 멀티미디어 카드 및 이의 동작 방법
KR102182295B1 (ko) * 2014-04-21 2020-11-24 삼성전자 주식회사 하드웨어 기반 태스크 스케쥴링 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100082879A1 (en) * 2008-09-26 2010-04-01 Mckean Brian D Priority command queues for low latency solid state drives
CN103593271A (zh) * 2012-08-13 2014-02-19 中兴通讯股份有限公司 一种片上系统芯片追踪调试的方法及装置
CN103135945A (zh) * 2013-03-25 2013-06-05 中国人民解放军国防科学技术大学 用于ssd的多通道动态读写调度方法
CN104881248A (zh) * 2015-05-11 2015-09-02 中国人民解放军国防科学技术大学 面向ssd的文件系统中自适应直接io加速方法
CN105511806A (zh) * 2015-11-30 2016-04-20 华为技术有限公司 处理写请求的方法和移动终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3376359A4 *

Also Published As

Publication number Publication date
CN105511806B (zh) 2018-09-07
US20180275925A1 (en) 2018-09-27
EP3376359A4 (en) 2018-11-07
CN105511806A (zh) 2016-04-20
EP3376359A1 (en) 2018-09-19
US10437519B2 (en) 2019-10-08
KR20180088419A (ko) 2018-08-03

Similar Documents

Publication Publication Date Title
WO2017092596A1 (zh) 处理写请求的方法和移动终端
JP6713906B2 (ja) ソリッドステートドライブ及びその動作方法
CN106610790B (zh) 一种重复数据删除方法及装置
KR20160016562A (ko) 플러시 제어 로직을 포함하는 입출력 인터셉터 로직, 및 그 입출력 인터셉터 로직을 이용하여 컴퓨터로 구현되는 방법
CN109992402B (zh) 内存处理方法和装置、电子设备、计算机可读存储介质
US10754785B2 (en) Checkpointing for DRAM-less SSD
CN108228341B (zh) 内存回收方法及装置、终端设备及计算机可读存储介质
CN108205473B (zh) 内存处理方法及装置、计算机装置及计算机可读存储介质
CN111880723B (zh) 数据储存装置与数据处理方法
CN111695672A (zh) 用于提高ai引擎mac利用率的方法
CN107122130B (zh) 一种数据重删方法及装置
WO2019076381A1 (zh) 终端内存回收处理方法及装置
US9569381B2 (en) Scheduler for memory
US20190370009A1 (en) Intelligent swap for fatigable storage mediums
CN108287760B (zh) 终端设备控制方法及装置、终端设备及计算机可读存储介质
EP2799996A1 (en) Information processing apparatus, control circuit, control program, and control method
CN108205501B (zh) 内存回收方法及装置、计算机装置及计算机可读存储介质
CN117215481A (zh) 应用于固态硬盘的垃圾回收方法、系统、设备及存储介质
CN103874987A (zh) 嵌入式多媒体卡分区存储空间调整方法和终端
CN105243031B (zh) 一种缓存分区分配空闲页的方法及装置
CN114416252A (zh) 一种窗口显示方法、装置、计算设备和存储介质
CN114153764B (zh) 进行动态资源管理的方法、记忆装置及记忆装置的控制器
US9880930B2 (en) Method for operating controller and method for operating device including the same
CN108228340B (zh) 终端控制方法及装置、终端设备及计算机可读存储介质
CN108228472B (zh) 终端设备控制方法及装置、终端设备及计算机可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16869906

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016869906

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20187017980

Country of ref document: KR

Kind code of ref document: A