CN-122018805-A - Aggregation method and device of input/output (IO) addresses and electronic equipment
Abstract
The application discloses an aggregation method and device of input/output (IO) addresses and electronic equipment, and belongs to the technical field of data storage. The method comprises the steps of determining an IO address candidate set meeting aggregation availability conditions in a plurality of IO address candidate sets as an effective IO address candidate set, dividing the effective IO address candidate set based on gaps of adjacent IO addresses in the effective IO address candidate sets or based on gaps of adjacent IO addresses in the effective IO address candidate sets and a first span threshold value to obtain a plurality of IO address sets, determining the IO address sets meeting set screening conditions in the plurality of IO address sets as target IO address sets, and combining a plurality of IO requests accessing the same target IO address set into an aggregate IO request for processing.
Inventors
- ZHANG TENG
Assignees
- 维沃移动通信有限公司
Dates
- Publication Date
- 20260512
- Application Date
- 20260130
Claims (10)
- 1. The aggregation method of the input/output IO addresses is characterized by comprising the following steps: Determining an IO address candidate set meeting aggregation validity conditions in the plurality of IO address candidate sets as an effective IO address candidate set; Dividing the effective IO address candidate sets based on gaps of adjacent IO addresses in the effective IO address candidate sets or based on gaps of adjacent IO addresses in the effective IO address candidate sets and a first span threshold value to obtain a plurality of IO address sets; determining the IO address set meeting a set screening condition in the plurality of IO address sets as a target IO address set; And merging a plurality of IO requests accessing the same target IO address set into an aggregate IO request for processing.
- 2. The method of claim 1, wherein prior to determining an IO address candidate set of the plurality of IO address candidate sets that satisfies the aggregate validity condition as a valid IO address candidate set, the method further comprises: Determining an access range of IO addresses, and sequencing the IO addresses in the access range according to address values to obtain sequenced IO addresses; Traversing the ordered IO addresses, and determining that the gaps are dividing points when the gaps of adjacent IO addresses are larger than or equal to a first gap threshold value; Dividing the ordered IO addresses into a plurality of IO address candidate sets based on the dividing points.
- 3. The method according to claim 1 or 2, characterized in that the polymerization availability conditions comprise at least one of the following: A first IO address span between a minimum IO address and a maximum IO address in the IO address candidate set is greater than or equal to a second span threshold; the number of IO addresses in the IO address candidate set is greater than or equal to a number threshold; the median of the gaps determined based on the gaps of every two adjacent IO addresses in the IO address candidate set is less than a median threshold.
- 4. The method of claim 1, wherein the partitioning the valid IO address candidate sets based on the gaps of the neighboring IO addresses in the valid IO address candidate sets or based on the gaps of the neighboring IO addresses in the valid IO address candidate sets and a first span threshold value, to obtain a plurality of IO address sets, comprises: When the gap of adjacent IO addresses in the effective IO address candidate set is greater than or equal to a corresponding second gap threshold, determining the gap as a partition point, wherein the second gap threshold is determined based on the gap median of the effective IO address candidate set, and the gap median is determined based on the gap of every two adjacent IO addresses in the effective IO address candidate set; and dividing the effective IO address candidate set based on the dividing points to obtain a plurality of IO address sets.
- 5. The method of claim 4, wherein partitioning the valid IO address candidate set based on the partitioning point results in a plurality of IO address sets, comprising: dividing the effective IO address candidate set based on the dividing points to obtain a plurality of effective IO address candidate sub-sets; and dividing the effective IO address candidate subset with the second IO address span between the minimum IO address and the maximum IO address being larger than the first span threshold according to the first span threshold to obtain a plurality of IO address sets.
- 6. The method of claim 1 or 4 or 5, wherein the aggregate screening conditions comprise: the IO address density of the IO address set is greater than or equal to a density threshold, wherein the IO address density is obtained based on the number of IO addresses in the IO address set and a third IO address span between a minimum IO address and a maximum IO address in the IO address set.
- 7. The method of claim 1, wherein the merging the plurality of IO requests accessing the same set of target IO addresses into an aggregate IO request for processing comprises: Merging a plurality of IO requests accessing the same target IO address set into an aggregate IO request; preloading corresponding data to a volatile memory based on the aggregate IO request; under the condition that the residence time of the data corresponding to the aggregate IO request in the volatile memory exceeds a first duration, the data corresponding to the aggregate IO request is transferred from the volatile memory to a nonvolatile memory; And under the condition that the residence time of the data corresponding to the aggregate IO request in the nonvolatile memory exceeds a second duration, transferring the data corresponding to the aggregate IO request from the nonvolatile memory to a flash memory.
- 8. An aggregation apparatus for input/output IO addresses, comprising: the determining module is used for determining an IO address candidate set meeting the aggregation validity condition in the plurality of IO address candidate sets as an effective IO address candidate set; The segmentation module is used for segmenting the effective IO address candidate sets based on gaps of adjacent IO addresses in the effective IO address candidate sets or based on gaps of adjacent IO addresses in the effective IO address candidate sets and a first span threshold value to obtain a plurality of IO address sets; The determining module is further configured to determine, as a target IO address set, the IO address set satisfying a set screening condition in the plurality of IO address sets; And the processing module is used for merging a plurality of IO requests accessing the same target IO address set into an aggregate IO request for processing.
- 9. An electronic device comprising a processor and a memory storing a program or instructions executable on the processor, which when executed by the processor, implement the steps of the method of aggregating input-output IO addresses of any one of claims 1-7.
- 10. A chip comprising a processor and a communication interface, the communication interface and the processor being coupled, the processor being configured to execute a program or instruction to implement the steps of the method for aggregating input-output IO addresses according to any one of claims 1-7.
Description
Aggregation method and device of input/output (IO) addresses and electronic equipment Technical Field The application belongs to the technical field of data storage, and particularly relates to an aggregation method and device of input/output (IO) addresses and electronic equipment. Background Input/Output (IO) performance of modern electronic devices is a key bottleneck that constrains the user experience. Through analyzing a large amount of user katon data, the problem that the data is not in the memory and the IO request needs to be initiated to read the data into the memory is found that the user interface katon accounts for about 22%, and the source of the user interface katon can be traced to the problem of IO efficiency. The core of the challenge is that the electronic device applies a complex software stack, namely, an application runs with IO requests from a plurality of concurrent sources such as a main program, a function library, user Interface (UI) resources and the like, and the requests finally appear as highly discrete and fragmented address access sequences at a physical storage level, so that a sliding clamping phenomenon perceived by a User is caused when a plurality of fragmented IOs are accumulated into one piece of processing. Disclosure of Invention The embodiment of the application aims to provide an aggregation method and device of input/output (IO) addresses and electronic equipment, which can ensure that a user cannot cause clamping due to IO reading and writing in the application process. In a first aspect, an embodiment of the present application provides a method for aggregating input/output IO addresses, including: Determining an IO address candidate set meeting aggregation validity conditions in the plurality of IO address candidate sets as an effective IO address candidate set; Dividing the effective IO address candidate sets based on gaps of adjacent IO addresses in the effective IO address candidate sets or based on gaps of adjacent IO addresses in the effective IO address candidate sets and a first span threshold value to obtain a plurality of IO address sets; determining the IO address set meeting a set screening condition in the plurality of IO address sets as a target IO address set; And merging a plurality of IO requests accessing the same target IO address set into an aggregate IO request for processing. In a second aspect, an embodiment of the present application provides an aggregation apparatus for input/output IO addresses, including: the determining module is used for determining an IO address candidate set meeting the aggregation validity condition in the plurality of IO address candidate sets as an effective IO address candidate set; The segmentation module is used for segmenting the effective IO address candidate sets based on gaps of adjacent IO addresses in the effective IO address candidate sets or based on gaps of adjacent IO addresses in the effective IO address candidate sets and a first span threshold value to obtain a plurality of IO address sets; The determining module is further configured to determine, as a target IO address set, the IO address set satisfying a set screening condition in the plurality of IO address sets; And the processing module is used for merging a plurality of IO requests accessing the same target IO address set into an aggregate IO request for processing. In a third aspect, an embodiment of the present application provides an electronic device comprising a processor and a memory storing a program or instructions executable on the processor, which when executed by the processor, implement the steps of the method as described in the first aspect. In a fourth aspect, embodiments of the present application provide a readable storage medium having stored thereon a program or instructions which when executed by a processor perform the steps of the method according to the first aspect. In a fifth aspect, an embodiment of the present application provides a chip, where the chip includes a processor and a communication interface, where the communication interface is coupled to the processor, and where the processor is configured to execute a program or instructions to implement a method according to the first aspect. In a sixth aspect, embodiments of the present application provide a computer program product stored in a storage medium, the program product being executable by at least one processor to implement the method according to the first aspect. In the embodiment of the application, the IO address is coarsely segmented by determining the IO address candidate set meeting the aggregation validity condition in the plurality of IO address candidate sets as the valid IO address candidate set. And dividing the effective IO address candidate sets based on gaps of adjacent IO addresses in the effective IO address candidate sets or based on gaps of adjacent IO addresses in the effective IO address candidate sets and a first span threshold